diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm index 04c4fae9fb6..ecaff8ad075 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm @@ -196,7 +196,7 @@ /turf/open/floor/plasteel/asteroid, /area/ruin/powered/beach) "aO" = ( -/obj/structure/stacklifter, +/obj/structure/weightmachine/stacklifter, /turf/open/floor/plating/beach/sand, /area/ruin/powered/beach) "aP" = ( @@ -249,7 +249,7 @@ /turf/open/floor/plating/beach/sand, /area/ruin/powered/beach) "bb" = ( -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plating/beach/sand, /area/ruin/powered/beach) "bc" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index cc320196ff1..8822c407de5 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -15348,7 +15348,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -59730,7 +59730,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) "czj" = ( @@ -59746,7 +59746,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, -/obj/structure/stacklifter, +/obj/structure/weightmachine/stacklifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) "czl" = ( @@ -61917,7 +61917,7 @@ }, /area/crew_quarters/fitness/recreation) "cDK" = ( -/obj/structure/stacklifter, +/obj/structure/weightmachine/stacklifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) "cDL" = ( @@ -61928,7 +61928,7 @@ /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) "cDN" = ( -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) "cDO" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index ac4e19272dc..63213acdd6b 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -9108,7 +9108,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/obj/structure/stacklifter, +/obj/structure/weightmachine/stacklifter, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "ayw" = ( @@ -9611,7 +9611,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "azE" = ( @@ -44190,7 +44190,7 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/main) "cnT" = ( -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/showroomfloor, /area/security/main) "cnV" = ( @@ -50229,7 +50229,7 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "lGp" = ( -/obj/structure/weightlifter, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/dark, /area/security/prison) "lGv" = ( diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 4c814697b43..42b3083c68b 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -77,7 +77,7 @@ var/datum/mood_event/event = mood_events[i] msg += event.description else - msg += "Nothing special has happened to me lately!\n" + msg += "I don't have much of a reaction to anything right now.\n" to_chat(user || parent, msg) /datum/component/mood/proc/update_mood() //Called whenever a mood event is added or removed diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 3ee3e9b0481..04be096439d 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -1,5 +1,5 @@ /datum/mood_event/handcuffed - description = "I guess my antics have finally caught up with me..\n" + description = "I guess my antics have finally caught up with me.\n" mood_change = -1 /datum/mood_event/broken_vow //Used for when mimes break their vow of silence diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 54eb74f10f7..61bb29c5403 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -18,6 +18,11 @@ mood_change = 3 timeout = 3000 +/datum/mood_event/exercise + description = "Working out releases those endorphins!\n" + mood_change = 3 + timeout = 3000 + /datum/mood_event/pet_corgi description = "Corgis are adorable! I can't stop petting them!\n" mood_change = 3 diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 6d0ac427695..82b69f58b95 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -39,12 +39,12 @@ timeout = 2400 /datum/mood_event/gross_food - description = "I really didn't like that food.\n" + description = "I really didn't like that food.\n" mood_change = -2 timeout = 2400 /datum/mood_event/disgusting_food - description = "That food was disgusting!\n" + description = "That food was disgusting!\n" mood_change = -4 timeout = 2400 diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm index 634c2df859f..1c535fd9ab1 100644 --- a/code/modules/mining/lavaland/ruins/gym.dm +++ b/code/modules/mining/lavaland/ruins/gym.dm @@ -16,17 +16,20 @@ playsound(loc, pick(hit_sounds), 25, 1, -1) if(isliving(user)) var/mob/living/L = user + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) L.apply_status_effect(STATUS_EFFECT_EXERCISED) -/obj/structure/stacklifter +/obj/structure/weightmachine name = "Weight Machine" desc = "Just looking at this thing makes you feel tired." - icon = 'goon/icons/obj/fitness.dmi' - icon_state = "fitnesslifter" density = TRUE anchored = TRUE + var/icon_state_inuse -/obj/structure/stacklifter/attack_hand(mob/living/user) +/obj/structure/weightmachine/proc/AnimateMachine(mob/living/user) + return + +/obj/structure/weightmachine/attack_hand(mob/living/user) . = ..() if(.) return @@ -35,76 +38,58 @@ return else obj_flags |= IN_USE - icon_state = "fitnesslifter2" + icon_state = icon_state_inuse user.setDir(SOUTH) user.Stun(80) user.forceMove(src.loc) var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped") user.visible_message("[user] is [bragmessage]!") - var/lifts = 0 - while (lifts++ < 6) - if (user.loc != src.loc) - break - sleep(3) - animate(user, pixel_y = -2, time = 3) - sleep(3) - animate(user, pixel_y = -4, time = 3) - sleep(3) - playsound(user, 'goon/sound/effects/spring.ogg', 60, 1) + AnimateMachine(user) playsound(user, 'sound/machines/click.ogg', 60, 1) obj_flags &= ~IN_USE user.pixel_y = 0 var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!") - icon_state = "fitnesslifter" + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) + icon_state = initial(icon_state) to_chat(user, finishmessage) user.apply_status_effect(STATUS_EFFECT_EXERCISED) -/obj/structure/weightlifter - name = "Weight Machine" - desc = "Just looking at this thing makes you feel tired." +/obj/structure/weightmachine/stacklifter + icon = 'goon/icons/obj/fitness.dmi' + icon_state = "fitnesslifter" + icon_state_inuse = "fitnesslifter2" + +/obj/structure/weightmachine/stacklifter/AnimateMachine(mob/living/user) + var/lifts = 0 + while (lifts++ < 6) + if (user.loc != src.loc) + break + sleep(3) + animate(user, pixel_y = -2, time = 3) + sleep(3) + animate(user, pixel_y = -4, time = 3) + sleep(3) + playsound(user, 'goon/sound/effects/spring.ogg', 60, 1) + +/obj/structure/weightmachine/weightlifter icon = 'goon/icons/obj/fitness.dmi' icon_state = "fitnessweight" - density = TRUE - anchored = TRUE + icon_state_inuse = "fitnessweight-c" -/obj/structure/weightlifter/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(obj_flags & IN_USE) - to_chat(user, "It's already in use - wait a bit.") - return - else - obj_flags |= IN_USE - icon_state = "fitnessweight-c" - user.setDir(SOUTH) - user.Stun(80) - user.forceMove(src.loc) - var/mutable_appearance/swole_overlay = mutable_appearance(icon, "fitnessweight-w", WALL_OBJ_LAYER) - add_overlay(swole_overlay) - var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped") - user.visible_message("[user] is [bragmessage]!") - var/reps = 0 - user.pixel_y = 5 - while (reps++ < 6) - if (user.loc != src.loc) - break - - for (var/innerReps = max(reps, 1), innerReps > 0, innerReps--) - sleep(3) - animate(user, pixel_y = (user.pixel_y == 3) ? 5 : 3, time = 3) - - playsound(user, 'goon/sound/effects/spring.ogg', 60, 1) - - sleep(3) - animate(user, pixel_y = 2, time = 3) - sleep(3) - playsound(user, 'sound/machines/click.ogg', 60, 1) - obj_flags &= ~IN_USE - animate(user, pixel_y = 0, time = 3) - var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!") - icon_state = "fitnessweight" - cut_overlay(swole_overlay) - to_chat(user, "[finishmessage]") - user.apply_status_effect(STATUS_EFFECT_EXERCISED) \ No newline at end of file +/obj/structure/weightmachine/weightlifter/AnimateMachine(mob/living/user) + var/mutable_appearance/swole_overlay = mutable_appearance(icon, "fitnessweight-w", WALL_OBJ_LAYER) + add_overlay(swole_overlay) + var/reps = 0 + user.pixel_y = 5 + while (reps++ < 6) + if (user.loc != src.loc) + break + for (var/innerReps = max(reps, 1), innerReps > 0, innerReps--) + sleep(3) + animate(user, pixel_y = (user.pixel_y == 3) ? 5 : 3, time = 3) + playsound(user, 'goon/sound/effects/spring.ogg', 60, 1) + sleep(3) + animate(user, pixel_y = 2, time = 3) + sleep(3) + cut_overlay(swole_overlay) \ No newline at end of file