From db86910a8e94b4860c47d80d5e757587f66f9811 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 27 Apr 2024 00:41:38 +0100 Subject: [PATCH] Seed Randomisation, Map, Refactoring, Bug Fixes * Added seeded randomisation w/ cache * Updated help menu hotkeys section * Decoupled map from the desk (New map artwork to be added) * Removed old desk menu * Removed old desk images * Removed/Fixed door_randomobj and map_randomobj causing pickling issues --- game/interface/desk/_hands_.webp | 3 - game/interface/desk/_night_overlay_.webp | 3 - game/interface/desk/book.webp | 3 - game/interface/desk/book_hover.webp | 3 - game/interface/desk/cards.webp | 3 - game/interface/desk/cards_hover.webp | 3 - game/interface/desk/crystal_ball.webp | 3 - game/interface/desk/exit.webp | 3 - game/interface/desk/exit_mask.webp | 3 - game/interface/desk/hints/attic.webp | 3 - game/interface/desk/hints/book.webp | 3 - game/interface/desk/hints/cards.webp | 3 - game/interface/desk/hints/clothing_store.webp | 3 - .../interface/desk/hints/dorm_gryffindor.webp | 3 - .../interface/desk/hints/dorm_hufflepuff.webp | 3 - game/interface/desk/hints/dorm_ravenclaw.webp | 3 - game/interface/desk/hints/dorm_slytherin.webp | 3 - game/interface/desk/hints/doze_off.webp | 3 - game/interface/desk/hints/exit.webp | 3 - game/interface/desk/hints/forest.webp | 3 - game/interface/desk/hints/glow.webp | 3 - game/interface/desk/hints/jerk_off.webp | 3 - game/interface/desk/hints/lake.webp | 3 - game/interface/desk/hints/office.webp | 3 - game/interface/desk/hints/potions.webp | 3 - game/interface/desk/hints/room_of_req.webp | 3 - game/interface/desk/hints/sleep.webp | 3 - game/interface/desk/hints/summon_astoria.webp | 3 - game/interface/desk/hints/summon_cho.webp | 3 - .../interface/desk/hints/summon_hermione.webp | 3 - game/interface/desk/hints/summon_luna.webp | 3 - game/interface/desk/hints/summon_snape.webp | 3 - game/interface/desk/hints/summon_susan.webp | 3 - game/interface/desk/hints/summon_tonks.webp | 3 - game/interface/desk/hints/weasley_store.webp | 3 - game/interface/desk/hints/work.webp | 3 - game/interface/desk/tissues.webp | 3 - game/interface/desk/tissues_hover.webp | 3 - game/interface/desk/watch.webp | 3 - game/interface/desk/watch/day.webp | 3 - game/interface/desk/watch/moon.webp | 3 - game/interface/desk/watch/night.webp | 3 - game/interface/desk/watch/rain.webp | 3 - game/interface/desk/watch/snow.webp | 3 - game/interface/desk/watch/storm.webp | 3 - game/interface/desk/watch/sun.webp | 3 - game/interface/desk/watch_hover.webp | 3 - game/interface/desk/work.webp | 3 - game/interface/desk/work_hover.webp | 3 - game/interface/{desk/_bg_.webp => wood.webp} | 0 game/scripts/events/DayNight.rpy | 4 - game/scripts/events/map.rpy | 6 +- game/scripts/gui/help.rpy | 4 +- game/scripts/interface/door.rpy | 196 ------------- game/scripts/interface/hotkeys.rpy | 2 +- game/scripts/interface/map.rpy | 115 +++----- .../minigames/cardgame/_deck_builder_.rpy | 2 +- game/scripts/rooms/main_room/init.rpy | 5 +- game/scripts/rooms/main_room/objects/desk.rpy | 267 ------------------ game/scripts/variables.rpy | 20 +- 60 files changed, 65 insertions(+), 703 deletions(-) delete mode 100644 game/interface/desk/_hands_.webp delete mode 100644 game/interface/desk/_night_overlay_.webp delete mode 100644 game/interface/desk/book.webp delete mode 100644 game/interface/desk/book_hover.webp delete mode 100644 game/interface/desk/cards.webp delete mode 100644 game/interface/desk/cards_hover.webp delete mode 100644 game/interface/desk/crystal_ball.webp delete mode 100644 game/interface/desk/exit.webp delete mode 100644 game/interface/desk/exit_mask.webp delete mode 100644 game/interface/desk/hints/attic.webp delete mode 100644 game/interface/desk/hints/book.webp delete mode 100644 game/interface/desk/hints/cards.webp delete mode 100644 game/interface/desk/hints/clothing_store.webp delete mode 100644 game/interface/desk/hints/dorm_gryffindor.webp delete mode 100644 game/interface/desk/hints/dorm_hufflepuff.webp delete mode 100644 game/interface/desk/hints/dorm_ravenclaw.webp delete mode 100644 game/interface/desk/hints/dorm_slytherin.webp delete mode 100644 game/interface/desk/hints/doze_off.webp delete mode 100644 game/interface/desk/hints/exit.webp delete mode 100644 game/interface/desk/hints/forest.webp delete mode 100644 game/interface/desk/hints/glow.webp delete mode 100644 game/interface/desk/hints/jerk_off.webp delete mode 100644 game/interface/desk/hints/lake.webp delete mode 100644 game/interface/desk/hints/office.webp delete mode 100644 game/interface/desk/hints/potions.webp delete mode 100644 game/interface/desk/hints/room_of_req.webp delete mode 100644 game/interface/desk/hints/sleep.webp delete mode 100644 game/interface/desk/hints/summon_astoria.webp delete mode 100644 game/interface/desk/hints/summon_cho.webp delete mode 100644 game/interface/desk/hints/summon_hermione.webp delete mode 100644 game/interface/desk/hints/summon_luna.webp delete mode 100644 game/interface/desk/hints/summon_snape.webp delete mode 100644 game/interface/desk/hints/summon_susan.webp delete mode 100644 game/interface/desk/hints/summon_tonks.webp delete mode 100644 game/interface/desk/hints/weasley_store.webp delete mode 100644 game/interface/desk/hints/work.webp delete mode 100644 game/interface/desk/tissues.webp delete mode 100644 game/interface/desk/tissues_hover.webp delete mode 100644 game/interface/desk/watch.webp delete mode 100644 game/interface/desk/watch/day.webp delete mode 100644 game/interface/desk/watch/moon.webp delete mode 100644 game/interface/desk/watch/night.webp delete mode 100644 game/interface/desk/watch/rain.webp delete mode 100644 game/interface/desk/watch/snow.webp delete mode 100644 game/interface/desk/watch/storm.webp delete mode 100644 game/interface/desk/watch/sun.webp delete mode 100644 game/interface/desk/watch_hover.webp delete mode 100644 game/interface/desk/work.webp delete mode 100644 game/interface/desk/work_hover.webp rename game/interface/{desk/_bg_.webp => wood.webp} (100%) delete mode 100644 game/scripts/interface/door.rpy diff --git a/game/interface/desk/_hands_.webp b/game/interface/desk/_hands_.webp deleted file mode 100644 index e838841f..00000000 --- a/game/interface/desk/_hands_.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c23db42cf9236fd0c7986c793dfe6285abb6b90d83498c6ac79747b3666e8f4 -size 26042 diff --git a/game/interface/desk/_night_overlay_.webp b/game/interface/desk/_night_overlay_.webp deleted file mode 100644 index 6f43cc8c..00000000 --- a/game/interface/desk/_night_overlay_.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5faead09c618103d533b30fe8c3e0778d0e3676329814f6eb211da4a1cda89f3 -size 53616 diff --git a/game/interface/desk/book.webp b/game/interface/desk/book.webp deleted file mode 100644 index 0d9c758a..00000000 --- a/game/interface/desk/book.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e81e3c6d2bd61216318a381d2d8e6dd8d6c5afa081bf7e5141e41826a09e7021 -size 29014 diff --git a/game/interface/desk/book_hover.webp b/game/interface/desk/book_hover.webp deleted file mode 100644 index cefcd11a..00000000 --- a/game/interface/desk/book_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60e1f43e53b9ccd627f52d9bebcfc5ff0841bb419d631c9fc80ee98bb41553fb -size 35714 diff --git a/game/interface/desk/cards.webp b/game/interface/desk/cards.webp deleted file mode 100644 index 570a4eae..00000000 --- a/game/interface/desk/cards.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ccdaf18043512c0caa3a54a7982dfc0612a7ab05c3d300e13378868ee260098 -size 12250 diff --git a/game/interface/desk/cards_hover.webp b/game/interface/desk/cards_hover.webp deleted file mode 100644 index 1fc7e005..00000000 --- a/game/interface/desk/cards_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17914737e3bbce507d27452575c67199478be6635a34c1e77a3cb0d7a3df1b82 -size 15896 diff --git a/game/interface/desk/crystal_ball.webp b/game/interface/desk/crystal_ball.webp deleted file mode 100644 index c56194f2..00000000 --- a/game/interface/desk/crystal_ball.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3942c00cb7f447b06619b79edced5ecbd95dfe159bba9fcd5c9bd878b55a2d60 -size 13460 diff --git a/game/interface/desk/exit.webp b/game/interface/desk/exit.webp deleted file mode 100644 index 80f7fc8f..00000000 --- a/game/interface/desk/exit.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07755c6d160c468bc7f371a46a709d3ead72133ddd0d4dddd711ce26439d8a09 -size 2146 diff --git a/game/interface/desk/exit_mask.webp b/game/interface/desk/exit_mask.webp deleted file mode 100644 index 57539a0e..00000000 --- a/game/interface/desk/exit_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76295a10ccd2e35131aa3aa648af298dd60b06950b6d1e04368b9505f942b791 -size 34 diff --git a/game/interface/desk/hints/attic.webp b/game/interface/desk/hints/attic.webp deleted file mode 100644 index c0fe46a6..00000000 --- a/game/interface/desk/hints/attic.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e78acfaba42400683af9fd31e8fdb6c14120409bd7936b4319fca169f292f6e6 -size 1192 diff --git a/game/interface/desk/hints/book.webp b/game/interface/desk/hints/book.webp deleted file mode 100644 index 0f34109d..00000000 --- a/game/interface/desk/hints/book.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:292124fc2f28afdb5830f276aaa9810408fd13b0fe18d5d2296bfa9dac2a5d67 -size 6270 diff --git a/game/interface/desk/hints/cards.webp b/game/interface/desk/hints/cards.webp deleted file mode 100644 index 833cb997..00000000 --- a/game/interface/desk/hints/cards.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49fba9a53e5bff54e04cee32fe6d31ffee96a497ccbe79c638cd9fb51ab0a669 -size 9998 diff --git a/game/interface/desk/hints/clothing_store.webp b/game/interface/desk/hints/clothing_store.webp deleted file mode 100644 index e2b48fbc..00000000 --- a/game/interface/desk/hints/clothing_store.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:80f12bfeadae6bb55a6b3bb94010831c5fcf238982197dc4148e216f5659e026 -size 3104 diff --git a/game/interface/desk/hints/dorm_gryffindor.webp b/game/interface/desk/hints/dorm_gryffindor.webp deleted file mode 100644 index 9b5a36ec..00000000 --- a/game/interface/desk/hints/dorm_gryffindor.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6802c43f95c2eb88714d201df22f61c265c9b65c09cbff568be735be2afd709 -size 3146 diff --git a/game/interface/desk/hints/dorm_hufflepuff.webp b/game/interface/desk/hints/dorm_hufflepuff.webp deleted file mode 100644 index c8550f8d..00000000 --- a/game/interface/desk/hints/dorm_hufflepuff.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d55c5b820f74996f08ae597e0e91a7008cd0d1258a6604ed35bec49f1ef08db6 -size 3030 diff --git a/game/interface/desk/hints/dorm_ravenclaw.webp b/game/interface/desk/hints/dorm_ravenclaw.webp deleted file mode 100644 index 961d6e9d..00000000 --- a/game/interface/desk/hints/dorm_ravenclaw.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa74549dab601e32dacdf79eb050762629f1bb6dc59a509019690624abddc269 -size 3072 diff --git a/game/interface/desk/hints/dorm_slytherin.webp b/game/interface/desk/hints/dorm_slytherin.webp deleted file mode 100644 index 20f7272e..00000000 --- a/game/interface/desk/hints/dorm_slytherin.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a79d6189585334324180cc916be7dfb007c451dc320031ad59692f77e27ccec -size 2968 diff --git a/game/interface/desk/hints/doze_off.webp b/game/interface/desk/hints/doze_off.webp deleted file mode 100644 index c3298d59..00000000 --- a/game/interface/desk/hints/doze_off.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06538d8cfeadba4341f6080c84c0fffb48e1ed46a7d9f01d62505665d23d70db -size 10346 diff --git a/game/interface/desk/hints/exit.webp b/game/interface/desk/hints/exit.webp deleted file mode 100644 index e381a538..00000000 --- a/game/interface/desk/hints/exit.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f9129550ca9836cd2acda4feef755cf29f813c51631baf13373c5d15753466 -size 1616 diff --git a/game/interface/desk/hints/forest.webp b/game/interface/desk/hints/forest.webp deleted file mode 100644 index 25da8c27..00000000 --- a/game/interface/desk/hints/forest.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29f7246c8c8aa904c8385591f93ca8a6e2d53a01b65b274c1bb06b6776869a44 -size 1566 diff --git a/game/interface/desk/hints/glow.webp b/game/interface/desk/hints/glow.webp deleted file mode 100644 index af340c1b..00000000 --- a/game/interface/desk/hints/glow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9589dcc38e5e856e57b25c9b9692e312049a87fded74235b1badaa1356eb6cff -size 3382 diff --git a/game/interface/desk/hints/jerk_off.webp b/game/interface/desk/hints/jerk_off.webp deleted file mode 100644 index 144b124a..00000000 --- a/game/interface/desk/hints/jerk_off.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c3f136434f27add4956d26a0df4a6b8bf4212a27a67ff8200d158379f6b524a -size 9566 diff --git a/game/interface/desk/hints/lake.webp b/game/interface/desk/hints/lake.webp deleted file mode 100644 index 8271302a..00000000 --- a/game/interface/desk/hints/lake.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f377d87143275333c500b7efdeabfc8276216e0dd8fe547e03908c4845a5a3d -size 1190 diff --git a/game/interface/desk/hints/office.webp b/game/interface/desk/hints/office.webp deleted file mode 100644 index 38d14a0b..00000000 --- a/game/interface/desk/hints/office.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ed43f8542c919f3fcceaef0ec11f5d9bbcd4d9ae61ba05c3717e950a3b03c34 -size 1396 diff --git a/game/interface/desk/hints/potions.webp b/game/interface/desk/hints/potions.webp deleted file mode 100644 index c5d10287..00000000 --- a/game/interface/desk/hints/potions.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3447ada9d63d568a75b1ab6709b5b0eaa3f9710682cc9519cf703ea9af1d7dc4 -size 2982 diff --git a/game/interface/desk/hints/room_of_req.webp b/game/interface/desk/hints/room_of_req.webp deleted file mode 100644 index e149fd44..00000000 --- a/game/interface/desk/hints/room_of_req.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e1bc8f48e6e20d10d6a9ca6b7c0f74a9a55bfd2f43720d8795758f63d3b388f -size 3216 diff --git a/game/interface/desk/hints/sleep.webp b/game/interface/desk/hints/sleep.webp deleted file mode 100644 index 2420cc9d..00000000 --- a/game/interface/desk/hints/sleep.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bea5857c5ee77f2a9a602ecde06e7769451fba2f03077d068894961ab434de62 -size 9662 diff --git a/game/interface/desk/hints/summon_astoria.webp b/game/interface/desk/hints/summon_astoria.webp deleted file mode 100644 index 8ce97c4a..00000000 --- a/game/interface/desk/hints/summon_astoria.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a6f3bca7e01d33dfbe81f5cafad392938515e8382ef75e10d56b5c661c13d20d -size 6192 diff --git a/game/interface/desk/hints/summon_cho.webp b/game/interface/desk/hints/summon_cho.webp deleted file mode 100644 index 0ddc3213..00000000 --- a/game/interface/desk/hints/summon_cho.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba5cf9190d8f57f126ef7ab67e54d0122f7c3c2d95cfa8e7fbed5c712816e10a -size 6850 diff --git a/game/interface/desk/hints/summon_hermione.webp b/game/interface/desk/hints/summon_hermione.webp deleted file mode 100644 index e9cfa586..00000000 --- a/game/interface/desk/hints/summon_hermione.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e30944ea83c89d1a4ae8992f7499b20d5e7e3235ca75c8a538c9547a5f62a7b4 -size 7328 diff --git a/game/interface/desk/hints/summon_luna.webp b/game/interface/desk/hints/summon_luna.webp deleted file mode 100644 index f5ba2ce4..00000000 --- a/game/interface/desk/hints/summon_luna.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51a99aa287d98941c66b61cc4c9919a3836af9d5387492f5d089a68c8f610135 -size 8598 diff --git a/game/interface/desk/hints/summon_snape.webp b/game/interface/desk/hints/summon_snape.webp deleted file mode 100644 index 68a42d26..00000000 --- a/game/interface/desk/hints/summon_snape.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e4447159474394a74c1251e7e07ebc697e2a41136380d4402ac247509b658c4 -size 6232 diff --git a/game/interface/desk/hints/summon_susan.webp b/game/interface/desk/hints/summon_susan.webp deleted file mode 100644 index 80457496..00000000 --- a/game/interface/desk/hints/summon_susan.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:312859e0850ef0b30ac48064c68bb604766e95bae9a178c024a68383f69faf2b -size 7058 diff --git a/game/interface/desk/hints/summon_tonks.webp b/game/interface/desk/hints/summon_tonks.webp deleted file mode 100644 index 8ce97c4a..00000000 --- a/game/interface/desk/hints/summon_tonks.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a6f3bca7e01d33dfbe81f5cafad392938515e8382ef75e10d56b5c661c13d20d -size 6192 diff --git a/game/interface/desk/hints/weasley_store.webp b/game/interface/desk/hints/weasley_store.webp deleted file mode 100644 index defe51e5..00000000 --- a/game/interface/desk/hints/weasley_store.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8684a862a16f04c0ecc7e2880465f0583fc30e48e41d68411032270587dc3c8 -size 3260 diff --git a/game/interface/desk/hints/work.webp b/game/interface/desk/hints/work.webp deleted file mode 100644 index 253a558c..00000000 --- a/game/interface/desk/hints/work.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92a2d38a48cefaa743fef2ca7778c5882f8428fc6036b0f1e8dc026c6f5bb41d -size 8344 diff --git a/game/interface/desk/tissues.webp b/game/interface/desk/tissues.webp deleted file mode 100644 index d8471cfc..00000000 --- a/game/interface/desk/tissues.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d8b299f6824b7f96d6b075cd4d0ef71176ea609a11bc73835e2b7399de0a0fe -size 7864 diff --git a/game/interface/desk/tissues_hover.webp b/game/interface/desk/tissues_hover.webp deleted file mode 100644 index 1e626971..00000000 --- a/game/interface/desk/tissues_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dcd4b0ffe6ead3b5bb74b1c06982fd28f416e85b89ae95e03a0907f9bbfa8891 -size 10682 diff --git a/game/interface/desk/watch.webp b/game/interface/desk/watch.webp deleted file mode 100644 index cdb79d52..00000000 --- a/game/interface/desk/watch.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8aa70bf512ddd71d59f6ab826629e4dca03c2439129383192a2b722258548f26 -size 14020 diff --git a/game/interface/desk/watch/day.webp b/game/interface/desk/watch/day.webp deleted file mode 100644 index 29aa52f9..00000000 --- a/game/interface/desk/watch/day.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a317696eceb3e0a498c99691aecfcfe346ead41dfa79a002e25149b3e0215a0c -size 270 diff --git a/game/interface/desk/watch/moon.webp b/game/interface/desk/watch/moon.webp deleted file mode 100644 index 6c8b7206..00000000 --- a/game/interface/desk/watch/moon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4845d40a8c3346e5ea7c7ce62d698431ad02717b10c42b8e9c6082903290d244 -size 1444 diff --git a/game/interface/desk/watch/night.webp b/game/interface/desk/watch/night.webp deleted file mode 100644 index e4bed700..00000000 --- a/game/interface/desk/watch/night.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e004a31020e875e81834db2940c566e96f0874237ea7117de31f134352d75a58 -size 378 diff --git a/game/interface/desk/watch/rain.webp b/game/interface/desk/watch/rain.webp deleted file mode 100644 index 2f3136d5..00000000 --- a/game/interface/desk/watch/rain.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f0f773b3f3da549accb3c4554b46886a4069133eb3010b6f4b57d483057214a5 -size 1894 diff --git a/game/interface/desk/watch/snow.webp b/game/interface/desk/watch/snow.webp deleted file mode 100644 index 2b045ce8..00000000 --- a/game/interface/desk/watch/snow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf0d63edaa6817d215be47365520c7da97216c34cb0dc8774ba74dda79134ea8 -size 2580 diff --git a/game/interface/desk/watch/storm.webp b/game/interface/desk/watch/storm.webp deleted file mode 100644 index 9c7c1772..00000000 --- a/game/interface/desk/watch/storm.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:42a08f8990bc5b20d9e82761e7c3c7dba613f10042c860853bf6959ab0397ba9 -size 2220 diff --git a/game/interface/desk/watch/sun.webp b/game/interface/desk/watch/sun.webp deleted file mode 100644 index 5038a684..00000000 --- a/game/interface/desk/watch/sun.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dbcd3d281c6dc16547eca9ecef238a01718cb561d52cb570614370a48a932964 -size 3292 diff --git a/game/interface/desk/watch_hover.webp b/game/interface/desk/watch_hover.webp deleted file mode 100644 index 98cd243e..00000000 --- a/game/interface/desk/watch_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4949b07e84434725314f603b610e0874906e1e8a4de587fc95156a0af53fa94c -size 23314 diff --git a/game/interface/desk/work.webp b/game/interface/desk/work.webp deleted file mode 100644 index 265d6b57..00000000 --- a/game/interface/desk/work.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:00079dd27dd81e16357a46d87fbe126220b0ad9b4b92dced9f71ae8847d0cd80 -size 69282 diff --git a/game/interface/desk/work_hover.webp b/game/interface/desk/work_hover.webp deleted file mode 100644 index 09403aca..00000000 --- a/game/interface/desk/work_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a78d54e5a897a9642a20cd41261b37739b57683682d5fd411078e8b2ca93a45 -size 74228 diff --git a/game/interface/desk/_bg_.webp b/game/interface/wood.webp similarity index 100% rename from game/interface/desk/_bg_.webp rename to game/interface/wood.webp diff --git a/game/scripts/events/DayNight.rpy b/game/scripts/events/DayNight.rpy index 84532207..9032fecd 100644 --- a/game/scripts/events/DayNight.rpy +++ b/game/scripts/events/DayNight.rpy @@ -88,8 +88,6 @@ label day_start: # Randomisers random_gold = renpy.random.randint(8, 40) - map_randomobj.seed() - door_randomobj.seed() # Send salary every 7th day if states.env.day % 7 == 0: @@ -198,8 +196,6 @@ label night_start: # Randomisers random_gold = renpy.random.randint(8, 40) - map_randomobj.seed() - door_randomobj.seed() # Update map locations call set_all_map_locations diff --git a/game/scripts/events/map.rpy b/game/scripts/events/map.rpy index 71863eab..b46813ed 100644 --- a/game/scripts/events/map.rpy +++ b/game/scripts/events/map.rpy @@ -3,7 +3,7 @@ label map_attic: if states.her.ev.sealed_scroll.sample: gen "(I have no reason to go there anymore.)" ("base", xpos="far_left", ypos="head") - jump desk + jump map else: $ states.her.ev.sealed_scroll.sample = True @@ -91,7 +91,7 @@ label map_attic: label map_forest: if states.env.daytime: gen "I shouldn't be leaving the castle during the day. It's too risky..." ("base", xpos="far_left", ypos="head") - jump desk + jump map call outskirts_of_hogwarts @@ -130,7 +130,7 @@ label map_forest: label map_lake: if states.env.daytime: gen "I shouldn't be leaving the castle during the day. It's too risky..." ("base", xpos="far_left", ypos="head") - jump desk + jump map call outskirts_of_hogwarts diff --git a/game/scripts/gui/help.rpy b/game/scripts/gui/help.rpy index d16aa823..fcfb4ba8 100644 --- a/game/scripts/gui/help.rpy +++ b/game/scripts/gui/help.rpy @@ -109,8 +109,8 @@ screen controls_help(): text _("f") hbox: - label "Summon" - text _("d") + label "Highlight Interactive Objects" + text _("Space") screen gamepad_help(): diff --git a/game/scripts/interface/door.rpy b/game/scripts/interface/door.rpy deleted file mode 100644 index 34b5728e..00000000 --- a/game/scripts/interface/door.rpy +++ /dev/null @@ -1,196 +0,0 @@ -#################################### -############# Menu ################# -#################################### - -default summon_show_busy = True -default door_randomobj = renpy.random.Random() - -init python: - def __choice(seq): - seed = door_randomobj.getstate() - rv = door_randomobj.choice(seq) - door_randomobj.setstate(seed) - return rv - -define map_transcript_loc = dict( - 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 = functools.partial(__choice, ( - "Classroom", - "Bathroom", - "Hagrid's Hut", - "Weasley's Store", - "Mafkin's Store", - "Broom Cupboard", - "Attic")), - randomsnape = functools.partial(__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 = functools.partial(__choice, ( - "Classroom", - "Bathroom", - "Hall", - "Gryffindor Dormitory", - "Slytherin Dormitory", - "Hufflepuff Dormitory", - "Ravenclaw Dormitory", - "Training Grounds", - "Tonks's Room", - "Quidditch Pitch", - "Infirmary", - "Sex Dungeon", - "Hospital Wing", - "Forest", - "Lake", - "Greenhouse", - "Mafkin's Store")), -) - -label summon: - $ gui.in_context("summon_menu") - jump main_room_menu - -label summon_menu(xx=723, yy=90): - - $ renpy.dynamic( - # Door dictionary - summon_dict = { - # the order will be the one in the menu - "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} - #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" - }, - ) - - call screen summon(xx, yy) - - return - -label .summon(char): - $ enable_game_menu() - $ renpy.jump_out_of_context("summon_"+char.lower()) - - return - -label .summon_busy(char): - if states.env.daytime or char in ["Tonks", "Snape"]: - nar "[char] is currently busy. Try again later." - else: - nar "[char] is currently asleep. Try again tomorrow." - - return - -screen summon(xx, yy): - tag summon - zorder 15 - modal True - - add "gui_fade" - - if renpy.mobile: - use close_button_background - use close_button(key=["summon", "game_menu"]) - - fixed: - pos (xx, yy) - if settings.get("animations"): - at gui_animation - use summon_menu - -screen summon_menu(): - tag summon_menu - modal True - zorder 15 - - window: - style "empty" - xysize (207, 454) - - use invisible_button() - - add gui.format("interface/achievements/{}/panel_left.webp") - - vbox: - pos (6, 384) - spacing 32 - - null - frame: - style "empty" - textbutton "Show Busy:": - style gui.theme("overlay_button") - xsize 195 ysize 32 - text_align (0.4, 0.5) - text_size 12 - action ToggleVariable("summon_show_busy", True, False) - add gui.theme("check_{}").format(str(summon_show_busy).lower()) xalign 0.7 ypos 4 - - vbox: - pos (6, 6) - $ allbusy = True - for char, char_dict in summon_dict.items(): - if char_dict["flag"]: - if summon_show_busy or not char_dict["busy"]: - $ allbusy = False - frame: - style "empty" - xsize 195 - ysize 50 - vbox: - textbutton char: - style "empty" - xsize 195 ysize 46 - hover_background gui.format("interface/achievements/{}/highlight_left_b.webp") - text_xalign 0.6 text_yalign 0.5 - text_xanchor 0.5 - text_size 20 - if not char_dict["busy"]: - action Call("summon_menu.summon", char, from_current=True) - else: - text_color "#8C8C70" - action Call("summon_menu.summon_busy", char, from_current=True) - - add gui.format("interface/achievements/{}/spacer_left.webp") - - button: - style gui.theme("overlay_button") - background gui.format("interface/achievements/{}/iconbox.webp") - foreground "interface/achievements/glass_iconbox.webp" - xysize (48, 48) - add crop_image_zoom("interface/icons/head/"+char_dict["ico"]+".webp", 42, 42, char_dict["busy"]) align (0.5, 0.5) - - $ loc = map_transcript_loc[char_dict["loc"]] - text (loc() if callable(loc) else loc) size 10 xcenter 0.6 yalign 0.9 - - if not states.sna.unlocked: - text "You don't know anyone" size 12 at truecenter - elif allbusy: - text "All characters are busy" size 12 at truecenter \ No newline at end of file diff --git a/game/scripts/interface/hotkeys.rpy b/game/scripts/interface/hotkeys.rpy index 39fa509a..058cc8ce 100644 --- a/game/scripts/interface/hotkeys.rpy +++ b/game/scripts/interface/hotkeys.rpy @@ -164,7 +164,7 @@ screen hotkeys_main(): if states.room == "main_room": if states.map.unlocked: - key "map" action Jump("desk") + key "map" action Jump("map") if states.paperwork_unlocked: key "work" action Jump("paperwork") diff --git a/game/scripts/interface/map.rpy b/game/scripts/interface/map.rpy index 7c0e0f03..f088eeb2 100644 --- a/game/scripts/interface/map.rpy +++ b/game/scripts/interface/map.rpy @@ -1,15 +1,8 @@ +# NOTE: This entire file will be scrapped once the new map is added. default map_animated = "once" define map_scale = 0.35 -define map_ani_time = 1.5 - -default map_randomobj = renpy.random.Random() -init python: - def __choice(seq): - seed = map_randomobj.getstate() - rv = map_randomobj.choice(seq) - map_randomobj.setstate(seed) - return rv +define map_ani_time = 0.8 transform map_fadein: alpha 0 @@ -27,10 +20,27 @@ image map_unfold: pause 1 "interface/map/map.webp" -screen map_screen(): +label map: + call update_character_map_locations + call screen map + + $ renpy.dynamic(__choice = _return) + + if __choice == "Close": + jump main_room_menu + else: + call gen_chibi("stand", "desk", "base") + with d3 + call gen_walk(action="leave", speed=1.5) + + jump expression __choice + +screen map(): tag map zorder 4 + use close_button_background(keysym="game_menu") + # Default avoids changing the screen if the animation is toggled quickly default unfold = map_animated @@ -39,7 +49,8 @@ screen map_screen(): timer map_ani_time+1 action SetVariable("map_animated", False) fixed: - pos (230, 150) + fit_first True + align (0.5, 0.5) if unfold: add "map_unfold" zoom map_scale # 588x420 @@ -61,8 +72,6 @@ screen map_buttons(): ypos 234 idle "interface/map/room_office_idle.webp" hover "interface/map/room_office_hover.webp" - hovered SetScreenVariable("ball_hint", "office") - unhovered SetScreenVariable("ball_hint", None) action Return("main_room_menu") #Gryffindor @@ -70,40 +79,24 @@ screen map_buttons(): xpos 148 ypos 214 idle "interface/map/room_gryffindor_idle.webp" - # hover "interface/map/room_gryffindor_hover.webp" - # hovered SetScreenVariable("ball_hint", "dorm_gryffindor") - # unhovered SetScreenVariable("ball_hint", None) - # action Return("gryffindor_dormitories") #Ravenclaw imagebutton: xpos 286 ypos 256 idle "interface/map/room_ravenclaw_idle.webp" - # hover "interface/map/room_ravenclaw_hover.webp" - # hovered SetScreenVariable("ball_hint", "dorm_ravenclaw") - # unhovered SetScreenVariable("ball_hint", None) - # action Return("ravenclaw_dormitories") #Hufflepuff imagebutton: xpos 76 ypos 295 idle "interface/map/room_hufflepuff_idle.webp" - #hovered SetScreenVariable("ball_hint", "dorm_hufflepuff") - #unhovered SetScreenVariable("ball_hint", None) - #hover "interface/map/room_hufflepuff_hover.webp" - #action Return("hufflepuff_dormitories") #Slytherin imagebutton: xpos 214 ypos 136 idle "interface/map/room_slytherin_idle.webp" - #hovered SetScreenVariable("ball_hint", "dorm_slytherin") - #unhovered SetScreenVariable("ball_hint", None) - #hover "interface/map/room_slytherin_hover.webp" - #action Return("slytherin_dormitories") #Weasley Store 15 x 15 if not item_store_intro_done: @@ -113,9 +106,8 @@ screen map_buttons(): ypos 231 idle "interface/map/room_weasley_store_idle.webp" hover "interface/map/room_weasley_store_hover.webp" - hovered SetScreenVariable("ball_hint", "weasley_store") - unhovered SetScreenVariable("ball_hint", None) action Return("item_store") + tooltip "Weasley's Store" #Clothing Store if not clothing_store_intro_done: @@ -125,9 +117,8 @@ screen map_buttons(): ypos 231 idle "interface/map/room_clothing_store_idle.webp" hover "interface/map/room_clothing_store_hover.webp" - hovered SetScreenVariable("ball_hint", "clothing_store") - unhovered SetScreenVariable("ball_hint", None) action Return("clothing_store") + tooltip "Mafkin's Emporium" # Snape's Office if not states.map.snape_office.visited: @@ -137,9 +128,8 @@ screen map_buttons(): ypos 331 idle "interface/map/room_potions_idle.webp" hover "interface/map/room_potions_hover.webp" - hovered SetScreenVariable("ball_hint", "potions") - unhovered SetScreenVariable("ball_hint", None) action Return("snape_office") + tooltip "Snape's Office" #Room of Requirement if states.map.seventh_floor.unlocked: @@ -148,8 +138,6 @@ screen map_buttons(): imagebutton: xpos 116 ypos 160 - unhovered SetScreenVariable("ball_hint", None) - hovered SetScreenVariable("ball_hint", "room_of_req") action Return("seventh_floor") if not states.map.seventh_floor.visited: idle "interface/map/room_ror_empty_idle.webp" @@ -157,26 +145,19 @@ screen map_buttons(): else: idle "interface/map/room_ror_idle.webp" hover "interface/map/room_ror_hover.webp" + tooltip "Seventh Floor" #Lake imagebutton: xpos 131 ypos 367 idle "interface/map/room_boat_house_idle.webp" - # hover "interface/map/room_boat_house_hover.webp" - # hovered SetScreenVariable("ball_hint", "lake") - # unhovered SetScreenVariable("ball_hint", None) - # action Return("map_lake") #Forest imagebutton: xpos 103 ypos 12 idle "interface/map/room_north_courtyard_idle.webp" - # hover "interface/map/room_north_courtyard_hover.webp" - # hovered SetScreenVariable("ball_hint", "forest") - # unhovered SetScreenVariable("ball_hint", None) - # action Return("map_forest") #Attic if states.her.ev.sealed_scroll.examined: @@ -187,18 +168,16 @@ screen map_buttons(): ypos 226 idle "interface/map/room_attic_closed_idle.webp" hover "interface/map/room_attic_closed_hover.webp" - hovered SetScreenVariable("ball_hint", "attic") - unhovered SetScreenVariable("ball_hint", None) action Return("map_attic") + tooltip "???" else: imagebutton: xpos 340 ypos 226 idle "interface/map/room_attic_open_idle.webp" hover "interface/map/room_attic_open_hover.webp" - hovered SetScreenVariable("ball_hint", "attic") - unhovered SetScreenVariable("ball_hint", None) action Return("map_attic") + tooltip Attic # Map animation toggle textbutton "Animation": @@ -214,8 +193,6 @@ label set_all_map_locations: call set_cho_map_location() call set_ast_map_location() call set_sus_map_location() - #TODO: Add Tonks map location - #TODO: Add Snape map location call update_character_map_locations return @@ -236,15 +213,15 @@ label set_her_map_location(location=""): else: #Random if states.her.level < 11: - $ states.her.map_location = __choice(("library", "library", "great_hall", "room_g", "room_g")) + $ states.her.map_location = states.env.random.choice(("library", "library", "great_hall", "room_g", "room_g")) else: if states.her.status.blowjob == True and states.env.weather in ("clear", "cloudy") and not states.env.daytime and not states.her.busy: $ states.her.map_location = "forest" elif states.her.public_level < 12: - $ states.her.map_location = __choice(("great_hall", "courtyard", "room_g", "room_g", "room_g")) + $ states.her.map_location = states.env.random.choice(("great_hall", "courtyard", "room_g", "room_g", "room_g")) else: - $ states.her.map_location = __choice(("room_s", "courtyard", "room_g", "room_g", "room_g")) + $ states.her.map_location = states.env.random.choice(("room_s", "courtyard", "room_g", "room_g", "room_g")) if location: call update_character_map_locations @@ -262,7 +239,7 @@ label set_lun_map_location(location = ""): $ states.lun.map_location = "room_r" else: #Random - $ states.lun.map_location = __choice(("greenhouse", "forest", "forest", "room_r", "room_r")) + $ states.lun.map_location = states.env.random.choice(("greenhouse", "forest", "forest", "room_r", "room_r")) if location: call update_character_map_locations @@ -279,7 +256,7 @@ label set_ast_map_location(location = ""): $ states.ast.map_location = "defense" else: #Random - $ states.ast.map_location = __choice(("courtyard", "courtyard", "room_s", "room_s", "room_s")) + $ states.ast.map_location = states.env.random.choice(("courtyard", "courtyard", "room_s", "room_s", "room_s")) if location: call update_character_map_locations @@ -294,7 +271,7 @@ label set_sus_map_location(location = ""): $ states.sus.map_location = "room_r" else: #Random - $ states.sus.map_location = __choice(("great_hall", "great_hall", "room_h", "room_h", "room_h")) + $ states.sus.map_location = states.env.random.choice(("great_hall", "great_hall", "room_h", "room_h", "room_h")) if location: call update_character_map_locations @@ -309,7 +286,7 @@ label set_cho_map_location(location = ""): $ states.cho.map_location = "room_r" else: #Random - $ states.cho.map_location = __choice(("training_grounds", "training_grounds", "room_r", "room_r", "room_r")) + $ states.cho.map_location = states.env.random.choice(("training_grounds", "training_grounds", "room_r", "room_r", "room_r")) if location: call update_character_map_locations @@ -401,9 +378,7 @@ screen map_screen_characters(): ycenter her_map_ypos idle "interface/map/name_hermione.webp" hover "interface/map/name_hermione_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_hermione") - unhovered SetScreenVariable("ball_hint", None) - action Return("hermione") + action (Return("hermione_map_BJ") if states.her.map_location else None) #Luna if states.lun.unlocked: @@ -412,9 +387,6 @@ screen map_screen_characters(): ycenter lun_map_ypos idle "interface/map/name_luna.webp" hover "interface/map/name_luna_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_luna") - unhovered SetScreenVariable("ball_hint", None) - action Return("luna") #Astoria if states.ast.unlocked: @@ -423,9 +395,6 @@ screen map_screen_characters(): ycenter ast_map_ypos idle "interface/map/name_astoria.webp" hover "interface/map/name_astoria_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_astoria") - unhovered SetScreenVariable("ball_hint", None) - action Return("astoria") #Susan if states.sus.unlocked: @@ -434,9 +403,6 @@ screen map_screen_characters(): ycenter sus_map_ypos idle "interface/map/name_susan.webp" hover "interface/map/name_susan_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_susan") - unhovered SetScreenVariable("ball_hint", None) - action Return("susan") #Cho if states.cho.unlocked: @@ -445,9 +411,6 @@ screen map_screen_characters(): ycenter cho_map_ypos idle "interface/map/name_cho.webp" hover "interface/map/name_cho_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_cho") - unhovered SetScreenVariable("ball_hint", None) - action Return("cho") #Snape if states.sna.unlocked: @@ -456,9 +419,6 @@ screen map_screen_characters(): ycenter sna_map_ypos idle "interface/map/name_snape.webp" hover "interface/map/name_snape_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_snape") - unhovered SetScreenVariable("ball_hint", None) - action Return("snape") #Tonks if states.ton.unlocked: @@ -467,6 +427,3 @@ screen map_screen_characters(): ycenter ton_map_ypos idle "interface/map/name_tonks.webp" hover "interface/map/name_tonks_hover.webp" - hovered SetScreenVariable("ball_hint", "summon_tonks") - unhovered SetScreenVariable("ball_hint", None) - action Return("tonks") diff --git a/game/scripts/minigames/cardgame/_deck_builder_.rpy b/game/scripts/minigames/cardgame/_deck_builder_.rpy index 0ac595e1..326d926d 100644 --- a/game/scripts/minigames/cardgame/_deck_builder_.rpy +++ b/game/scripts/minigames/cardgame/_deck_builder_.rpy @@ -149,7 +149,7 @@ screen deck_builder_screen(): screen deck_builder_gallery(): zorder 8 - imagebutton idle "interface/desk/_bg_.webp" action NullAction() + imagebutton idle "interface/wood.webp" action NullAction() text "{size=+15}Gallery{/size}" ypos 15 xalign 0.5 diff --git a/game/scripts/rooms/main_room/init.rpy b/game/scripts/rooms/main_room/init.rpy index 9c06a406..0d4ea25a 100644 --- a/game/scripts/rooms/main_room/init.rpy +++ b/game/scripts/rooms/main_room/init.rpy @@ -40,14 +40,15 @@ default door_OBJ = RoomObject( "Summon Luna": (Transform("wheelmenu_luna", align=(0.5, 0.5), xysize=(32, 32)), IfExpr("states.lun.busy", None, Jump("summon_luna")), "states.lun.unlocked"), "Summon Astoria": (Transform("wheelmenu_astoria", align=(0.5, 0.5), xysize=(32, 32)), IfExpr("states.ast.busy", None, Jump("summon_astoria")), "states.ast.unlocked"), "Summon Susan": (Transform("wheelmenu_susan", align=(0.5, 0.5), xysize=(32, 32)), IfExpr("states.sus.busy", None, Jump("summon_susan")), "states.sus.unlocked"), - "Exit": (Text("🚪", align=(0.5, 0.5)), IfExpr("states.map.unlocked", Jump("desk"), Jump("door")), "True"), + "Exit": (Text("🚪", align=(0.5, 0.5)), IfExpr("states.map.unlocked", Jump("map"), Jump("door")), "True"), }, tooltip="Door" ) default candleL_OBJ = RoomObject(main_room, "candle_left", pos=(350, 160), idle="candle_left", foreground=None, action=ToggleVariable("candleL_OBJ.foreground", "candle_fire", None), zorder=3) default candleR_OBJ = RoomObject(main_room, "candle_right", pos=(833, 225), idle="candle_right", foreground=None, action=ToggleVariable("candleR_OBJ.foreground", "candle_fire", None), zorder=3) default desk_OBJ = RoomObject( - main_room, "desk", + main_room, + "desk", pos=(370, 336), idle="ch_gen sit_behind_desk", hover="ch_gen sit_behind_desk_hover", diff --git a/game/scripts/rooms/main_room/objects/desk.rpy b/game/scripts/rooms/main_room/objects/desk.rpy index d52a9186..0870a7e5 100644 --- a/game/scripts/rooms/main_room/objects/desk.rpy +++ b/game/scripts/rooms/main_room/objects/desk.rpy @@ -1,270 +1,3 @@ - -label desk: - if states.env.day == 1: - 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") - gen "And a letter..." ("base", xpos="far_left", ypos="head") - gen "Mailed to a certain \"Albus Dumbledore\"." ("base", xpos="far_left", ypos="head") - - menu: - gen "Should I open it?" ("base", xpos="far_left", ypos="head") - "-Read the letter-": - call bld - gen "Of course I will!" ("grin", xpos="far_left", ypos="head") - "-Leave it be-": - call bld - gen "Hell no!" ("angry", xpos="far_left", ypos="head") - gen "Of course I will read it!" ("grin", xpos="far_left", ypos="head") - - # First letter from Hermione - $ desk_OBJ.foreground = None - $ letter_hg_1.open() - - gen "*Ehm*........." ("base", xpos="far_left", ypos="head") - gen "What?" ("base", xpos="far_left", ypos="head") - gen "................................." ("base", xpos="far_left", ypos="head") - else: - gen "I've already checked the desk." ("base", xpos="far_left", ypos="head") - - 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 - - # TODO: Refactor. Low priority. - - call update_character_map_locations - - - #Screens - play sound "sounds/scroll.ogg" - call screen desk_menu(_with_none=False) with d1 - #Do NOT add a transition here! - - $ renpy.dynamic(__choice = _return) - - #Hermione - if __choice == "hermione": - if states.her.busy: - if states.env.daytime: - nar "Hermione is taking classes." - else: - nar "Hermione is already asleep." - jump main_room_menu - else: - 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 - "-No, summon her to your office-": - pass - - jump summon_hermione - - #Luna - elif states.lun.unlocked and __choice == "luna": - if states.lun.busy: - if states.env.daytime: - nar "Luna is taking classes." - else: - nar "Luna is already asleep." - jump main_room_menu - else: - jump summon_luna - - #Astoria - elif __choice == "astoria": - if states.ast.busy: - if states.env.daytime: - nar "Astoria is taking classes." - else: - nar "Astoria is already asleep." - jump main_room_menu - else: #Summoning after intro events done. - jump summon_astoria - - #Susan - elif __choice == "susan": - if states.sus.busy: - if states.env.daytime: - nar "Susan is taking classes." - else: - nar "Susan is already asleep." - jump main_room_menu - else: - jump summon_susan - - #Cho - elif __choice == "cho": - if states.cho.busy: - if states.env.daytime: - nar "Cho is taking classes." - else: - nar "Cho is already asleep." - jump main_room_menu - else: - jump summon_cho - - #Snape - elif __choice == "snape": - if states.sna.busy: - nar "Professor Snape is unavailable." - jump main_room_menu - else: - jump summon_snape - - #Tonks - elif __choice == "tonks": - if states.ton.busy: - nar "Tonks is unavailable." - jump main_room_menu - else: - jump summon_tonks - - #Close - elif __choice == "Close": - jump main_room_menu - elif __choice in {"snape_office", "seventh_floor", "map_lake", "map_forest", "map_attic", "clothing_store", "item_store", "ravenclaw_dormitories", "gryffindor_dormitories"}: - call gen_chibi("stand", "desk", "base") - with d3 - call gen_walk(action="leave", speed=1.5) - - jump expression __choice - -screen desk_menu(): - tag desk_interface - - zorder 5 - - default ball_hint = None - - #Background - add "interface/desk/_bg_.webp" - - if states.map.unlocked: - use map_screen - - # Ugly hands - # add "interface/desk/_hands_.webp" xpos 0 ypos -30 - - use crystal_ball(ball_hint) - use watch - - #Book - if item_store_intro_done: - add "interface/desk/book.webp" xalign 1.0 ypos 0 - imagebutton: - ypos 0 - xalign 1.0 - idle "interface/desk/book.webp" - hover "interface/desk/book_hover.webp" - hovered SetScreenVariable("ball_hint", "book") - keysym "inventory" - unhovered SetScreenVariable("ball_hint", None) - action Return("inventory") - - #Tissue Box - add "interface/desk/tissues.webp" xalign 1.0 ypos 320 - imagebutton: - ypos 320 - xalign 1.0 - idle "interface/desk/tissues.webp" - hover "interface/desk/tissues_hover.webp" - hovered SetScreenVariable("ball_hint", "jerk_off") - keysym "fap" - unhovered SetScreenVariable("ball_hint", None) - action Return("jerk_off") - - #Work - if states.paperwork_unlocked: - imagebutton: - xpos -10 - ypos 0 - xanchor 0.0 - idle "interface/desk/work.webp" - hover "interface/desk/work_hover.webp" - hovered SetScreenVariable("ball_hint", "work") - keysym "work" - unhovered SetScreenVariable("ball_hint", None) - action Return("paperwork") - - #Cards - if states.cardgame.unlocked: #Or letter_cards_unlock.read #Day 26+ - imagebutton: - xalign 0.0 - yalign 1.0 - idle "interface/desk/cards.webp" - hover "interface/desk/cards_hover.webp" - hovered SetScreenVariable("ball_hint", "cards") - unhovered SetScreenVariable("ball_hint", None) - action Return("deck_builder") - - #exit - imagebutton: - xanchor 0.5 - yanchor 1.0 - xpos 510 - ypos 600 - idle "interface/desk/exit_mask.webp" - hover "interface/desk/exit.webp" - hovered SetScreenVariable("ball_hint", "exit") - unhovered SetScreenVariable("ball_hint", None) - action Return("Close") - - #Night Overlay - if not states.env.daytime: - add "interface/desk/_night_overlay_.webp" - - use close_button - - -screen crystal_ball(ball_hint): - tag desk_interface - - zorder 8 - - add "interface/desk/crystal_ball.webp" xpos 268 ypos 0 - if ball_hint is not None: - add "interface/desk/hints/glow.webp" xpos 268+40 - add "interface/desk/hints/"+str(ball_hint)+ ".webp" xpos 268+125 xanchor 0.5 - -screen watch(): - #Day/Night Clock - add "interface/desk/watch.webp" xpos 603 ypos 0 - imagebutton: - xpos 603 - ypos 0 - idle "interface/desk/watch.webp" - hover "interface/desk/watch_hover.webp" - unhovered SetScreenVariable("ball_hint", None) - keysym "sleep" - hovered If(states.env.daytime, SetScreenVariable("ball_hint", "doze_off"), SetScreenVariable("ball_hint", "sleep")) - action If(states.env.daytime, Return("night_start"), Return("day_start")) - - $ watch_x = 603 +67 - $ watch_y = 35 - - if states.env.weather == "rain": - add "interface/desk/watch/rain.webp" xpos watch_x ypos watch_y - elif states.env.weather in ("snow", "blizzard"): - add "interface/desk/watch/snow.webp" xpos watch_x ypos watch_y - elif states.env.weather == "storm": - add "interface/desk/watch/storm.webp" xpos watch_x ypos watch_y - else: - if states.env.daytime: - add "interface/desk/watch/sun.webp" xpos watch_x ypos watch_y - else: - add "interface/desk/watch/moon.webp" xpos watch_x ypos watch_y - - if states.env.daytime: - add "interface/desk/watch/day.webp" xpos watch_x+40 ypos watch_y+6 xanchor 0.5 - else: - add "interface/desk/watch/night.webp" xpos watch_x+40 ypos watch_y+6 xanchor 0.5 - label examine_desk: if not states.gen.ev.intro.desk_examined: $ states.gen.ev.intro.desk_examined = True diff --git a/game/scripts/variables.rpy b/game/scripts/variables.rpy index 8975646d..4819a1da 100644 --- a/game/scripts/variables.rpy +++ b/game/scripts/variables.rpy @@ -30,11 +30,16 @@ default nxpos = 0 default nypos = 0 init python: + import functools + class Environment(object): """Encapsulation for special variables and flags.""" def __init__(self): - # Protected values + # Pseudo-constants + self._seed = renpy.random.randint(0, 999999) + + # Protected self._gold = 0 self._tokens = 0 self._day = 0 @@ -92,4 +97,17 @@ init python: def weather(self, value): self._weather = Weather.set_weather(value) + @property + def seed(self): + return self._seed + + @functools.lru_cache(maxsize=35) + def _random(self, day): + seed = self.seed + day + return renpy.random.Random(seed) + + @property + def random(self): + return self._random(self.day) + default states.env = Environment()