Skip to content

Commit

Permalink
Merge pull request #68 from Superlagg/hudberts-hudtel
Browse files Browse the repository at this point in the history
Pool's open
  • Loading branch information
Tk420634 committed Aug 24, 2024
2 parents 85d1572 + 7792e7f commit 4e917c8
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 27 deletions.
6 changes: 3 additions & 3 deletions code/game/objects/effects/sound_emitter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,13 @@
/datum/looping_sound/soundrock/foxybar/hottub
chance = 100 //% to play per time passing on the sound loop entry, in this case every 1 seconds. If it doesn't get a true then it still uses the last played sounds time.
vary = TRUE //wink wonk versus wInK wOnK
extra_range = SOUND_DISTANCE(9) //flat out, this is 15 tiles from the sound rock itself
volume = SOUND_LOOP_VOL_RANGE(10, 20)
extra_range = SOUND_DISTANCE(11) //flat out, this is 15 tiles from the sound rock itself
volume = SOUND_LOOP_VOL_RANGE(25, 25)
direct = FALSE
managed = FALSE //true = sound dies when you leave the area, must be direct to use.
loop_delay = 0
mid_sounds = list(
SOUND_LOOP_ENTRY('sound/hottub.ogg', 4 SECONDS, 1), //sound, how long it plays, weighted play
SOUND_LOOP_ENTRY('sound/hottub.ogg', 3 SECONDS, 1), //sound, how long it plays, weighted play
)

/obj/effect/sound_emitter/foxybar/computer
Expand Down
13 changes: 7 additions & 6 deletions code/game/objects/items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -533,13 +533,14 @@
if(!..())
pop_burst()

/obj/item/toy/snappop/proc/on_entered(H as mob|obj)
/obj/item/toy/snappop/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
SIGNAL_HANDLER
if(ishuman(H) || issilicon(H)) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H
if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN)
to_chat(M, span_danger("I step on the snap pop!"))
pop_burst(2, 0)
if(!isliving(arrived)) //i guess carp and shit shouldn't set them off
return
var/mob/living/L = arrived
if(L.m_intent == MOVE_INTENT_RUN)
to_chat(L, span_danger("I stepped on the snap pop! Wow!"))
pop_burst(2, 0)

/obj/item/toy/snappop/phoenix
name = "phoenix snap pop"
Expand Down
49 changes: 32 additions & 17 deletions code/modules/pool/pool_controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
var/draining = FALSE
/// Reagent blacklisting
var/respect_reagent_blacklist = TRUE
/// FORMAT: list("ckey" = time_in_deciseconds)
var/list/temptext_cd = list()

/obj/machinery/pool/controller/examine(mob/user)
. = ..()
Expand Down Expand Up @@ -231,29 +233,42 @@
if(drained)
return
for(var/mob/living/M in mobs_in_pool)
if(!M.client)
continue
if(isnum(temptext_cd["[M.ckey]"]) && temptext_cd["[M.ckey]"] > world.time)
continue
temptext_cd["[M.ckey]"] = world.time + (1 MINUTES)
if(prob(50))
continue
switch(temperature) //Apply different effects based on what the temperature is set to.
if(POOL_SCALDING) //Scalding
M.adjust_bodytemperature(50,0,500)
to_chat(M, span_danger("The water feels scalding hot!"))
// M.adjust_bodytemperature(50,0,500)
if(POOL_WARM) //Warm
M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up
to_chat(M, span_notice("The water feels nice and warm."))
// M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up
//Normal temp does nothing, because it's just room temperature water.
if(POOL_NORMAL)
to_chat(M, span_notice("The water feels fine."))
if(POOL_COOL)
M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up
to_chat(M, span_notice("The water feels pleasantly cool."))
// M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up
if(POOL_FRIGID) //Freezing
M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough.
if(M.bodytemperature <= 50 && !M.stat)
M.apply_status_effect(/datum/status_effect/freon)
if(ishuman(M))
var/mob/living/carbon/human/drownee = M
if(!drownee || drownee.stat == DEAD)
return
if(drownee.resting && !drownee.internal)
if(drownee.stat != CONSCIOUS)
drownee.adjustOxyLoss(9)
else
drownee.adjustOxyLoss(4)
if(prob(35))
to_chat(drownee, span_danger("You're drowning!"))
to_chat(M, span_danger("The water feels freezing cold!"))
// M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough.
// if(M.bodytemperature <= 50 && !M.stat)
// M.apply_status_effect(/datum/status_effect/freon)
// if(ishuman(M))
// var/mob/living/carbon/human/drownee = M
// if(!drownee || drownee.stat == DEAD)
// return
// if(drownee.resting && !drownee.internal)
// if(drownee.stat != CONSCIOUS)
// drownee.adjustOxyLoss(9)
// else
// drownee.adjustOxyLoss(4)
// if(prob(35))
// to_chat(drownee, span_danger("You're drowning!"))

/obj/machinery/pool/controller/proc/set_bloody(state)
if(bloody == state)
Expand Down
3 changes: 2 additions & 1 deletion code/modules/pool/pool_main.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
return ..()

// Exit check
/turf/open/pool/Exit(atom/movable/AM, atom/newloc)
/turf/open/pool/Exit(atom/movable/AM, direction)
if(!AM.has_gravity(src))
return ..()
if(isliving(AM) || isstructure(AM))
Expand All @@ -85,6 +85,7 @@
return ..() //human weak, monkey (and anyone else) ook ook eek eek strong
if(isliving(AM) && (locate(/obj/structure/pool/ladder) in src))
return ..() //climbing out
var/atom/newloc = get_step(src, direction)
return istype(newloc, /turf/open/pool)
return ..()

Expand Down
Binary file modified sound/hottub.ogg
Binary file not shown.

0 comments on commit 4e917c8

Please sign in to comment.