From 6318464f0658d7656cc73d0d1b75d16c06f05b67 Mon Sep 17 00:00:00 2001 From: ariaworld <143797359+ariaworld@users.noreply.github.com> Date: Sat, 2 Mar 2024 18:26:56 +0100 Subject: [PATCH 1/3] Fix mecha mobs + add a chocolate box and letter to Hilbert's hotel --- _maps/splurt_maps/templates/hilbertshotel.dmm | 2 ++ .../hilbertshotel_templates/apartment_1.dmm | 2 ++ .../hilbertshotel_templates/apartment_2.dmm | 8 +++++++- .../hilbertshotel_templates/apartment_3.dmm | 8 +++++++- .../hilbertshotel_templates/apartment_4.dmm | 2 ++ .../hilbertshotel_templates/apartment_bar.dmm | 17 +++++++++++++---- .../apartment_garden.dmm | 2 ++ .../hilbertshotel_templates/apartment_sauna.dmm | 2 ++ code/modules/vehicles/_vehicle.dm | 13 +++++++------ code/modules/vehicles/cars/car.dm | 4 ++-- code/modules/vehicles/mecha/_mecha.dm | 17 +++++++++-------- code/modules/vehicles/mecha/combat/durand.dm | 2 +- .../vehicles/mecha/equipment/mecha_equipment.dm | 2 +- .../mecha/equipment/tools/mining_tools.dm | 2 +- code/modules/vehicles/mecha/mecha_defense.dm | 2 +- code/modules/vehicles/sealed.dm | 13 +++++++------ code/modules/vehicles/vehicle_actions.dm | 10 +++++----- .../code/game/objects/items/fleshlight.dm | 2 +- .../ruins/spaceruin_code/hilbertshotel.dm | 14 ++++++++++++++ 19 files changed, 86 insertions(+), 38 deletions(-) diff --git a/_maps/splurt_maps/templates/hilbertshotel.dmm b/_maps/splurt_maps/templates/hilbertshotel.dmm index dbf63764b152..4e44fa23616d 100644 --- a/_maps/splurt_maps/templates/hilbertshotel.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel.dmm @@ -245,6 +245,8 @@ /area/hilbertshotel) "MA" = ( /obj/structure/table/wood/fancy, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/indestructible/hotelwood, /area/hilbertshotel) "MZ" = ( diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_1.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_1.dmm index 4ec13e9d136a..72b860f4c426 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_1.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_1.dmm @@ -572,6 +572,8 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/wood/wood_tiled, /area/hilbertshotel) "WX" = ( diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_2.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_2.dmm index fb9f41af27ee..17d46b4bd651 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_2.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_2.dmm @@ -402,6 +402,12 @@ }, /turf/open/floor/wood/wood_tiled, /area/hilbertshotel) +"gq" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, +/turf/open/floor/carpet, +/area/hilbertshotel) "jn" = ( /turf/closed/wall, /area/hilbertshotel) @@ -613,7 +619,7 @@ ab ax no aD -bB +gq bs bB aD diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_3.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_3.dmm index 5602bc1103bc..720b4bf1ec8d 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_3.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_3.dmm @@ -165,6 +165,8 @@ /area/hilbertshotel) "bl" = ( /obj/structure/table/wood, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/carpet, /area/hilbertshotel) "bn" = ( @@ -356,6 +358,10 @@ }, /turf/open/floor/mineral/plastitanium, /area/hilbertshotel) +"nA" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/hilbertshotel) "nE" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -753,7 +759,7 @@ aU YE bh kt -bl +nA ax LU XP diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_4.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_4.dmm index 48007a5e99f4..6ec6b9a4a0c6 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_4.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_4.dmm @@ -277,6 +277,8 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/carpet/royalblue, /area/hilbertshotel) "yJ" = ( diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm index 8ff37e469676..b8bf3ddfe0fa 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm @@ -14,6 +14,8 @@ dir = 1 }, /obj/structure/table/wood/fancy/royalblack, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/wood/wood_tiled, /area/hilbertshotel) "ee" = ( @@ -102,6 +104,13 @@ /obj/structure/table/wood/poker/shadow, /turf/open/floor/carpet/royalblack, /area/hilbertshotel) +"nQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood/fancy/royalblack, +/turf/open/floor/wood/wood_tiled, +/area/hilbertshotel) "oH" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/beer{ @@ -479,7 +488,7 @@ nj Wg yz dy -dR +nQ TA Pz li @@ -497,7 +506,7 @@ nj cK yz dy -dR +nQ af af lS @@ -533,7 +542,7 @@ sm cK yz dy -dR +nQ af af fo @@ -551,7 +560,7 @@ sm cK yz dy -dR +nQ af af af diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm index 32e5ec86b6a6..aefb0d2f4336 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm @@ -487,6 +487,8 @@ "Xj" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/ppflowers, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/grass/fairy/purple, /area/hilbertshotel) "XX" = ( diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm index 5e655b153c9c..f4e9589ad2bf 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm @@ -206,6 +206,8 @@ /area/hilbertshotel) "qm" = ( /obj/structure/table/wood, +/obj/item/storage/fancy/heart_box, +/obj/item/paper/fluff/hilbertshotel/welcomeletter, /turf/open/floor/wood, /area/hilbertshotel) "qv" = ( diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm index a968d42073b9..4925cf40e700 100644 --- a/code/modules/vehicles/_vehicle.dm +++ b/code/modules/vehicles/_vehicle.dm @@ -54,7 +54,7 @@ return occupants /obj/vehicle/proc/occupant_amount() - return length(occupants) + return LAZYLEN(occupants) /obj/vehicle/proc/return_amount_of_controllers_with_flag(flag) . = 0 @@ -82,9 +82,10 @@ return !isnull(occupants[M]) /obj/vehicle/proc/add_occupant(mob/M, control_flags) - if(!istype(M) || occupants[M]) + if(!istype(M) || is_occupant(M)) return FALSE - occupants[M] = NONE + + LAZYSET(occupants, M, NONE) add_control_flags(M, control_flags) after_add_occupant(M) grant_passenger_actions(M) @@ -102,7 +103,7 @@ return FALSE remove_control_flags(M, ALL) remove_passenger_actions(M) - occupants -= M + LAZYREMOVE(occupants, M) cleanup_actions_for_mob(M) after_remove_occupant(M) return TRUE @@ -140,7 +141,7 @@ return /obj/vehicle/proc/add_control_flags(mob/controller, flags) - if(!istype(controller) || !flags) + if(!is_occupant(controller) || !flags) return FALSE occupants[controller] |= flags for(var/i in GLOB.bitflags) @@ -149,7 +150,7 @@ return TRUE /obj/vehicle/proc/remove_control_flags(mob/controller, flags) - if(!istype(controller) || !flags) + if(!is_occupant(controller) || !flags) return FALSE occupants[controller] &= ~flags for(var/i in GLOB.bitflags) diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm index e024718f4c9d..b041ad8e79c8 100644 --- a/code/modules/vehicles/cars/car.dm +++ b/code/modules/vehicles/cars/car.dm @@ -45,7 +45,7 @@ return ..() /obj/vehicle/sealed/car/mob_try_exit(mob/M, mob/user, silent = FALSE) - if(M == user && (occupants[M] & VEHICLE_CONTROL_KIDNAPPED)) + if(M == user && (LAZYACCESS(occupants, M) & VEHICLE_CONTROL_KIDNAPPED)) to_chat(user, "You push against the back of [src] trunk to try and get out.") if(!do_after(user, escape_time, target = src)) return FALSE @@ -73,7 +73,7 @@ if(do_after(user, 30)) if(return_amount_of_controllers_with_flag(VEHICLE_CONTROL_KIDNAPPED)) to_chat(user, "The people stuck in [src]'s trunk all come tumbling out.") - DumpSpecificMobs(VEHICLE_CONTROL_KIDNAPPED) + dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED) else to_chat(user, "It seems [src]'s trunk was empty.") diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 8d6abb23c96b..18c7a96cd8f1 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -459,7 +459,7 @@ transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION) cabin_air.transfer_to(t_air, transfer_moles) - if(occupants) + if(LAZYLEN(occupants)) for(var/i in occupants) var/mob/living/occupant = i if(cell) @@ -908,13 +908,14 @@ ///Handles an actual AI (simple_animal mecha pilot) entering the mech /obj/vehicle/sealed/mecha/proc/aimob_enter_mech(mob/living/simple_animal/hostile/syndicate/mecha_pilot/pilot_mob) - if(pilot_mob && pilot_mob.Adjacent(src)) - if(LAZYLEN(occupants)) - return - LAZYADD(occupants, pilot_mob) - pilot_mob.mecha = src - pilot_mob.forceMove(src) - update_icon() + if(!pilot_mob?.Adjacent(src)) + return + if(LAZYLEN(occupants)) + return + LAZYSET(occupants, pilot_mob, NONE) + pilot_mob.mecha = src + pilot_mob.forceMove(src) + update_icon() ///Handles an actual AI (simple_animal mecha pilot) exiting the mech /obj/vehicle/sealed/mecha/proc/aimob_exit_mech(mob/living/simple_animal/hostile/syndicate/mecha_pilot/pilot_mob) diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index 36c5f75984b7..52ab3560d761 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -177,7 +177,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe /obj/durand_shield/proc/activate(datum/source, mob/owner, list/signal_args) SIGNAL_HANDLER currentuser = owner - if(!chassis?.occupants) + if(!LAZYLEN(chassis?.occupants)) return if(switching && !signal_args[1]) return diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index 1d104291f3f4..97568057ec3c 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -41,7 +41,7 @@ chassis.selected = null update_chassis_page() log_message("[src] is destroyed.", LOG_MECHA) - if(chassis.occupants) + if(!LAZYLEN(chassis?.occupants)) to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] is destroyed!") playsound(chassis, destroy_sound, 50) if(!detachable) //If we're a built-in nondetachable equipment, let's lock up the slot that we were in. diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index c781fa3736ff..9a2b69dbebfc 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -198,7 +198,7 @@ qdel(src) if(istype(loc, /obj/vehicle/sealed/mecha/working) && scanning_time <= world.time) var/obj/vehicle/sealed/mecha/working/mecha = loc - if(!mecha.occupants) + if(!LAZYLEN(mecha.occupants)) return scanning_time = world.time + equip_cooldown mineral_scan_pulse(get_turf(src)) diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 7208fdaa1521..dcda7c5fab75 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -156,7 +156,7 @@ for(var/occus in occupants) var/mob/living/occupant = occus occupant.update_mouse_pointer() - if(!equipment_disabled && occupants) //prevent spamming this message with back-to-back EMPs + if(!equipment_disabled && LAZYLEN(occupants)) //prevent spamming this message with back-to-back EMPs to_chat(occupants, "Error -- Connection to equipment control unit has been lost.") addtimer(CALLBACK(src, /obj/vehicle/sealed/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) equipment_disabled = 1 diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index b5023f972959..189261306214 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -98,13 +98,14 @@ var/mob/living/carbon/Carbon = i Carbon.DefaultCombatKnockdown(40) -/obj/vehicle/sealed/proc/DumpSpecificMobs(flag, randomstep = TRUE) +/obj/vehicle/sealed/proc/dump_specific_mobs(flag, randomstep = TRUE) for(var/i in occupants) - if((occupants[i] & flag)) - mob_exit(i, null, randomstep) - if(iscarbon(i)) - var/mob/living/carbon/C = i - C.DefaultCombatKnockdown(40) + if(!(occupants[i] & flag)) + continue + mob_exit(i, null, randomstep) + if(iscarbon(i)) + var/mob/living/carbon/C = i + C.Paralyze(40) /obj/vehicle/sealed/AllowDrop() diff --git a/code/modules/vehicles/vehicle_actions.dm b/code/modules/vehicles/vehicle_actions.dm index 8b2c72008c52..96c24b9adcde 100644 --- a/code/modules/vehicles/vehicle_actions.dm +++ b/code/modules/vehicles/vehicle_actions.dm @@ -21,7 +21,7 @@ grant_controller_actions(i) //refresh /obj/vehicle/proc/grant_action_type_to_mob(actiontype, mob/m) - if(isnull(occupants[m]) || !actiontype) + if(isnull(LAZYACCESS(occupants, m)) || !actiontype) return FALSE LAZYINITLIST(occupant_actions[m]) if(occupant_actions[m][actiontype]) @@ -32,7 +32,7 @@ return TRUE /obj/vehicle/proc/remove_action_type_from_mob(actiontype, mob/m) - if(isnull(occupants[m]) || !actiontype) + if(isnull(LAZYACCESS(occupants, m)) || !actiontype) return FALSE LAZYINITLIST(occupant_actions[m]) if(occupant_actions[m][actiontype]) @@ -50,7 +50,7 @@ remove_action_type_from_mob(v, M) /obj/vehicle/proc/grant_controller_actions(mob/M) - if(!istype(M) || isnull(occupants[M])) + if(!istype(M) || isnull(LAZYACCESS(occupants, M))) return FALSE for(var/i in GLOB.bitflags) if(occupants[M] & i) @@ -58,7 +58,7 @@ return TRUE /obj/vehicle/proc/remove_controller_actions(mob/M) - if(!istype(M) || isnull(occupants[M])) + if(!istype(M) || isnull(LAZYACCESS(occupants, M))) return FALSE for(var/i in GLOB.bitflags) remove_controller_actions_by_flag(M, i) @@ -145,7 +145,7 @@ /datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger() vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] starts dumping the people inside of it.")) - vehicle_entered_target.DumpSpecificMobs(VEHICLE_CONTROL_KIDNAPPED) + vehicle_entered_target.dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED) /datum/action/vehicle/sealed/roll_the_dice diff --git a/modular_sand/code/game/objects/items/fleshlight.dm b/modular_sand/code/game/objects/items/fleshlight.dm index a09f5490dd14..0b6ace77c0b0 100644 --- a/modular_sand/code/game/objects/items/fleshlight.dm +++ b/modular_sand/code/game/objects/items/fleshlight.dm @@ -763,7 +763,7 @@ /obj/item/paper/fluff/portallight name = "Portal Fleshlight Instructions" info = "Thank you for purchasing the Silver Love Portal Fleshlight!
\ - To use, simply register your new portal fleshlight with the provided underwear to link them together. The ask your lover to wear the underwear.
\ + To use, simply register your new portal fleshlight with the provided underwear to link them together. Then ask your lover to wear the underwear.
\ Have fun lovers,
\
\ Wilhelmina Steiner." diff --git a/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm index 699d0f0fb080..179b66c1e0f2 100644 --- a/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm +++ b/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm @@ -47,3 +47,17 @@ /datum/map_template/hilbertshotel/apartment/sauna name = "Apartment_sauna" mappath = '_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm' + +// Fluff - Misc +/obj/item/paper/fluff/hilbertshotel/welcomeletter + name = "Welcome Letter" + info = "Welcome to Hilbert's Hotel!
\ +
\ + We're delighted to have you here. Each room in our hotel is an unique pocket dimension. You can choose up to 5 rooms per shift, each room you select will remember your actions and belongings, allowing you to create your own personal space.
\ + Inside the complementary guest box, you'll find chocolates, each one as unique and delightful as our rooms. Enjoy them as you explore and relax.
\ + Remember, your rooms are always available for you to return to.
\ +
\ + Enjoy your stay∼!
\ +
\ + With love,
\ + Aniya" From 8f67f42d57e60e62bc1f8bc554bc733cfe15c707 Mon Sep 17 00:00:00 2001 From: ariaworld <143797359+ariaworld@users.noreply.github.com> Date: Sun, 3 Mar 2024 00:58:51 +0100 Subject: [PATCH 2/3] Add plushies to bar, garden, and sauna apartment + change letter text --- .../templates/hilbertshotel_templates/apartment_bar.dmm | 8 +++++++- .../hilbertshotel_templates/apartment_garden.dmm | 7 ++++++- .../templates/hilbertshotel_templates/apartment_sauna.dmm | 1 + .../code/modules/ruins/spaceruin_code/hilbertshotel.dm | 6 +++--- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm index b8bf3ddfe0fa..20d3346269e4 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_bar.dmm @@ -215,6 +215,12 @@ "yz" = ( /turf/open/floor/glass/reinforced, /area/hilbertshotel) +"yO" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/table/wood/poker/shadow, +/obj/item/choice_beacon/box/plushie, +/turf/open/floor/carpet/royalblack, +/area/hilbertshotel) "BL" = ( /obj/machinery/light{ dir = 8 @@ -484,7 +490,7 @@ rY ee ee pr -nj +yO Wg yz dy diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm index aefb0d2f4336..d443a0b75b6d 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_garden.dmm @@ -345,6 +345,11 @@ /obj/structure/flora/ausbushes/brflowers, /turf/open/floor/grass/fairy/purple, /area/hilbertshotel) +"JW" = ( +/obj/structure/chair/pew, +/obj/item/choice_beacon/box/plushie, +/turf/open/floor/wood/wood_tiled, +/area/hilbertshotel) "Kc" = ( /obj/structure/flora/rock, /obj/structure/flora/ausbushes/brflowers, @@ -663,7 +668,7 @@ Dd uV qq Qc -Gj +JW Kj tY YG diff --git a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm index f4e9589ad2bf..1c9c2a0458ae 100644 --- a/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm +++ b/_maps/splurt_maps/templates/hilbertshotel_templates/apartment_sauna.dmm @@ -521,6 +521,7 @@ pixel_x = 5; pixel_y = 3 }, +/obj/item/choice_beacon/box/plushie, /turf/open/floor/carpet/red, /area/hilbertshotel) "ND" = ( diff --git a/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm index 179b66c1e0f2..e4358b250fce 100644 --- a/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm +++ b/modular_splurt/code/modules/ruins/spaceruin_code/hilbertshotel.dm @@ -53,11 +53,11 @@ name = "Welcome Letter" info = "Welcome to Hilbert's Hotel!
\
\ - We're delighted to have you here. Each room in our hotel is an unique pocket dimension. You can choose up to 5 rooms per shift, each room you select will remember your actions and belongings, allowing you to create your own personal space.
\ - Inside the complementary guest box, you'll find chocolates, each one as unique and delightful as our rooms. Enjoy them as you explore and relax.
\ + Each room in the hotel is an unique pocket dimension: You can choose up to 5 rooms per shift, each room you select will remember your actions and belongings, allowing you to create your own personal space.
\ + Inside the complementary guest box you'll find some sweets, each one as unique and delightful as our rooms. Savour them as you relax∼
\ Remember, your rooms are always available for you to return to.
\
\ Enjoy your stay∼!
\
\ With love,
\ - Aniya" + Aniya ♥" From 75672164fbbef97d48ac93b3a833c53ad268da27 Mon Sep 17 00:00:00 2001 From: ariaworld <143797359+ariaworld@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:08:09 +0100 Subject: [PATCH 3/3] Tweak human size 4 penis erect icon state --- icons/obj/genitals/penis_onmob.dmi | Bin 14766 -> 14777 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/genitals/penis_onmob.dmi b/icons/obj/genitals/penis_onmob.dmi index 780e982f9ec625a380797bc061c20c7d19c1d8e8..6aacb27dd43ca69ac74f02b75a61a64c2b5259f7 100644 GIT binary patch delta 12963 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 A!~g&Q delta 13003 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