mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Add Beach biodome ruin and other fixes
This commit is contained in:
@@ -449,6 +449,13 @@
|
||||
flavour_text = "<span class='big bold'>You are a space bartender!</span><b> Time to mix drinks and change lives.</b>"
|
||||
assignedrole = "Space Bartender"
|
||||
|
||||
/obj/effect/mob_spawn/human/beach/alive/lifeguard
|
||||
flavour_text = "<span class='big bold'>You're a spunky lifeguard!</span><b> It's up to you to make sure nobody drowns or gets eaten by sharks and stuff.</b>"
|
||||
mob_gender = "female"
|
||||
name = "lifeguard sleeper"
|
||||
id_job = "Lifeguard"
|
||||
uniform = /obj/item/clothing/under/shorts/red
|
||||
|
||||
/datum/outfit/spacebartender
|
||||
name = "Space Bartender"
|
||||
uniform = /obj/item/clothing/under/rank/bartender
|
||||
|
||||
@@ -362,6 +362,16 @@
|
||||
icon_regular_floor = "podfloor"
|
||||
floor_tile = /obj/item/stack/tile/pod
|
||||
|
||||
/turf/simulated/floor/pod/light
|
||||
icon_state = "podfloor_light"
|
||||
icon_regular_floor = "podfloor_light"
|
||||
floor_tile = /obj/item/stack/tile/pod/light
|
||||
|
||||
/turf/simulated/floor/pod/dark
|
||||
icon_state = "podfloor_dark"
|
||||
icon_regular_floor = "podfloor_dark"
|
||||
floor_tile = /obj/item/stack/tile/pod/dark
|
||||
|
||||
//Door
|
||||
/obj/machinery/door/airlock/survival_pod
|
||||
icon = 'icons/obj/doors/airlocks/survival/survival.dmi'
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/datum/mapGenerator/lavaland
|
||||
var/start_z
|
||||
var/min_x = 0
|
||||
var/min_y = 0
|
||||
var/max_x = 0
|
||||
var/max_y = 0
|
||||
modules = list(/datum/mapGeneratorModule/river)
|
||||
|
||||
/datum/mapGenerator/lavaland/defineRegion(turf/Start, turf/End, replace = 0)
|
||||
start_z = Start.z
|
||||
min_x = min(Start.x,End.x)
|
||||
min_y = min(Start.y,End.y)
|
||||
max_x = max(Start.x,End.x)
|
||||
max_y = max(Start.y,End.y)
|
||||
..()
|
||||
|
||||
/datum/mapGeneratorModule/river
|
||||
var/river_type = /turf/simulated/floor/plating/lava/smooth
|
||||
var/river_nodes = 4
|
||||
|
||||
/datum/mapGeneratorModule/river/generate()
|
||||
var/datum/mapGenerator/lavaland/L = mother
|
||||
if(!istype(L))
|
||||
return
|
||||
spawn_rivers(L.start_z, river_nodes, river_type, min_x = L.min_x, min_y = L.min_y, max_x = L.max_x, max_y = L.max_y)
|
||||
@@ -0,0 +1,95 @@
|
||||
/obj/structure/punching_bag
|
||||
name = "punching bag"
|
||||
desc = "A punching bag. Can you get to speed level 4???"
|
||||
icon = 'icons/goonstation/objects/fitness.dmi'
|
||||
icon_state = "punchingbag"
|
||||
anchored = TRUE
|
||||
layer = WALL_OBJ_LAYER
|
||||
var/list/hit_sounds = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg',\
|
||||
'sound/weapons/punch1.ogg', 'sound/weapons/punch2.ogg', 'sound/weapons/punch3.ogg', 'sound/weapons/punch4.ogg')
|
||||
|
||||
/obj/structure/punching_bag/attack_hand(mob/user as mob)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
flick("[icon_state]2", src)
|
||||
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/weightmachine
|
||||
name = "weight machine"
|
||||
desc = "Just looking at this thing makes you feel tired."
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
var/icon_state_inuse
|
||||
|
||||
/obj/structure/weightmachine/proc/AnimateMachine(mob/living/user)
|
||||
return
|
||||
|
||||
/obj/structure/weightmachine/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 = 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("<B>[user] is [bragmessage]!</B>")
|
||||
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!")
|
||||
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/weightmachine/stacklifter
|
||||
icon = 'icons/goonstation/objects/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, 'sound/goonstation/effects/spring.ogg', 60, 1)
|
||||
|
||||
/obj/structure/weightmachine/weightlifter
|
||||
icon = 'icons/goonstation/objects/fitness.dmi'
|
||||
icon_state = "fitnessweight"
|
||||
icon_state_inuse = "fitnessweight-c"
|
||||
|
||||
/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, 'sound/goonstation/effects/spring.ogg', 60, 1)
|
||||
sleep(3)
|
||||
animate(user, pixel_y = 2, time = 3)
|
||||
sleep(3)
|
||||
cut_overlay(swole_overlay)
|
||||
Reference in New Issue
Block a user