mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
* Ports baby watcher from TG* * ah. I see. Alphabetical. Should have seen that coming. * here comes the better mapped boi 🎵 * removes recursive_loc_check, uses get. also removes the debug always place WHOOPS * fixes arguments, need to update and edit map * adds bombable turfs * Apply suggestions from code review Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * changes * /// * R-R-R-RUN IT BACK * Update code/modules/awaymissions/mob_spawn.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * oops spacing * part 1/2 * Update code/modules/awaymissions/mission_code/ruins/watcher_grave.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * 2 / 2 * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --------- Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
271 lines
9.9 KiB
Plaintext
271 lines
9.9 KiB
Plaintext
/turf/simulated/wall/indestructible
|
|
name = "wall"
|
|
desc = "Effectively impervious to conventional methods of destruction."
|
|
explosion_block = 50
|
|
|
|
/turf/simulated/wall/indestructible/dismantle_wall(devastated = 0, explode = 0)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/take_damage(dam)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/welder_act()
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/thermitemelt(mob/user, speed)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/ex_act(severity)
|
|
SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, severity)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/blob_act(obj/structure/blob/B)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/singularity_act()
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/singularity_pull(S, current_size)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/narsie_act()
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/burn_down()
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/attackby(obj/item/I, mob/user, params)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/attack_hand(mob/user)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/attack_hulk(mob/user, does_attack_animation = FALSE)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/attack_animal(mob/living/simple_animal/M)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/mech_melee_attack(obj/mecha/M)
|
|
return
|
|
|
|
/turf/simulated/wall/indestructible/necropolis
|
|
name = "necropolis wall"
|
|
desc = "A seemingly impenetrable wall."
|
|
icon = 'icons/turf/walls.dmi'
|
|
icon_state = "necro"
|
|
base_icon_state = "necro"
|
|
baseturf = /turf/simulated/wall/indestructible/necropolis
|
|
smoothing_flags = null
|
|
smoothing_groups = null
|
|
canSmoothWith = null
|
|
|
|
/turf/simulated/wall/indestructible/boss
|
|
name = "necropolis wall"
|
|
desc = "A thick, seemingly indestructible stone wall."
|
|
icon = 'icons/turf/walls/boss_wall.dmi'
|
|
icon_state = "boss_wall-0"
|
|
base_icon_state = "boss_wall"
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BOSS_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS)
|
|
baseturf = /turf/simulated/floor/plating/asteroid/basalt
|
|
|
|
/turf/simulated/wall/indestructible/boss/see_through
|
|
opacity = FALSE
|
|
|
|
/turf/simulated/wall/indestructible/hierophant
|
|
name = "wall"
|
|
desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern."
|
|
icon = 'icons/turf/walls/hierophant_wall.dmi'
|
|
icon_state = "wall"
|
|
smoothing_flags = SMOOTH_CORNERS
|
|
baseturf = /turf/simulated/floor/indestructible/hierophant/two
|
|
|
|
/turf/simulated/wall/indestructible/hierophant/Initialize(mapload)
|
|
. = ..()
|
|
GLOB.hierophant_walls += src
|
|
|
|
/turf/simulated/wall/indestructible/hierophant/BeforeChange()
|
|
GLOB.hierophant_walls -= src
|
|
return ..()
|
|
|
|
|
|
/turf/simulated/wall/indestructible/hierophant/proc/collapse()
|
|
if(prob(15))
|
|
visible_message("<span class='warning'>[src] starts to rumble and groan as the lights fade on it, and it begins to collapse to rubble!</span>",\
|
|
"<span class='warning'>You hear metal groaning and tearing!</span>")
|
|
ChangeTurf(/turf/simulated/floor/indestructible/hierophant/two)
|
|
return
|
|
addtimer(CALLBACK(src, PROC_REF(collapse)), 10 SECONDS)
|
|
|
|
/turf/simulated/wall/indestructible/sandstone
|
|
icon = 'icons/turf/walls/sandstone_wall.dmi'
|
|
icon_state = "sandstone_wall-0"
|
|
base_icon_state = "sandstone_wall"
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
|
|
|
|
GLOBAL_DATUM(title_splash, /turf/simulated/wall/indestructible/splashscreen)
|
|
|
|
/turf/simulated/wall/indestructible/splashscreen
|
|
name = "Space Station 13"
|
|
icon = 'config/title_screens/images/blank.png'
|
|
icon_state = ""
|
|
layer = FLY_LAYER
|
|
flags = NO_SCREENTIPS
|
|
// Pixel shifts below are needed to centrally position the black placeholder icon within the start area at compile-time. This is overridden when a "real" lobby art image is chosen by SStitlescreen
|
|
pixel_x = -288
|
|
pixel_y = -224
|
|
|
|
// This needs to load immediately. I am sad I cant Initialize() this.
|
|
/turf/simulated/wall/indestructible/splashscreen/New(loc)
|
|
..()
|
|
GLOB.title_splash = src
|
|
|
|
// GC cleanup because some silly bugger will delete this
|
|
/turf/simulated/wall/indestructible/splashscreen/Destroy()
|
|
GLOB.title_splash = null
|
|
return ..()
|
|
|
|
/turf/simulated/wall/indestructible/uranium
|
|
icon = 'icons/turf/walls/uranium_wall.dmi'
|
|
icon_state = "uranium_wall-0"
|
|
base_icon_state = "uranium_wall"
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/wood
|
|
icon = 'icons/turf/walls/wood_wall.dmi'
|
|
icon_state = "wood_wall-0"
|
|
base_icon_state = "wood_wall"
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/alien
|
|
name = "alien wall"
|
|
desc = "A wall with alien alloy plating."
|
|
icon = 'icons/turf/walls/abductor_wall.dmi'
|
|
icon_state = "abductor_wall-0"
|
|
base_icon_state = "abductor_wall"
|
|
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/abductor
|
|
icon = 'icons/turf/walls/abductor_wall.dmi'
|
|
icon_state = "abductor_wall-0"
|
|
base_icon_state = "abductor_wall"
|
|
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/fakedoor
|
|
name = "CentCom Access"
|
|
icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'
|
|
icon_state = "fake_door"
|
|
smoothing_flags = null
|
|
smoothing_groups = null
|
|
canSmoothWith = null
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass
|
|
name = "window"
|
|
icon = 'icons/obj/smooth_structures/windows/reinforced_window.dmi'
|
|
icon_state = "fake_window"
|
|
base_icon_state = "reinforced_window"
|
|
opacity = FALSE
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_REGULAR_WALLS, SMOOTH_GROUP_REINFORCED_WALLS) //they are not walls but this lets walls smooth with them
|
|
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
|
|
/// Used to define what file the edging sprite is contained within
|
|
var/edge_overlay_file = 'icons/obj/smooth_structures/windows/reinforced_window_edges.dmi'
|
|
/// Tracks the edging appearence sprite
|
|
var/mutable_appearance/edge_overlay
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass/Initialize(mapload)
|
|
. = ..()
|
|
icon_state = null
|
|
underlays += mutable_appearance('icons/obj/structures.dmi', "grille") //add a grille underlay
|
|
underlays += mutable_appearance('icons/turf/floors.dmi', "plating") //add the plating underlay, below the grille
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass/smooth_icon()
|
|
..()
|
|
update_icon(UPDATE_OVERLAYS)
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass/update_icon_state()
|
|
. = ..()
|
|
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))
|
|
QUEUE_SMOOTH(src)
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass/update_overlays()
|
|
if(!edge_overlay_file)
|
|
return
|
|
|
|
edge_overlay = mutable_appearance(edge_overlay_file, "[smoothing_junction]", layer + 0.1, appearance_flags = RESET_COLOR)
|
|
return list(edge_overlay)
|
|
|
|
/turf/simulated/wall/indestructible/fakeglass/brass
|
|
icon = 'icons/obj/smooth_structures/windows/clockwork_window.dmi'
|
|
icon_state = "clockwork_window-0"
|
|
base_icon_state = "clockwork_window"
|
|
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE_BRASS)
|
|
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_BRASS)
|
|
edge_overlay_file = null
|
|
|
|
/turf/simulated/wall/indestructible/opsglass
|
|
name = "window"
|
|
icon = 'icons/obj/smooth_structures/windows/plastitanium_window.dmi'
|
|
icon_state = "plastitanium_window-0"
|
|
base_icon_state = "plastitanium_window"
|
|
opacity = FALSE
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM, SMOOTH_GROUP_PLASTITANIUM_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM, SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/opsglass/Initialize(mapload)
|
|
. = ..()
|
|
icon_state = null
|
|
underlays += mutable_appearance('icons/obj/structures.dmi', "grille")
|
|
underlays += mutable_appearance('icons/turf/floors.dmi', "plating")
|
|
|
|
/turf/simulated/wall/indestructible/opsglass/limited_smooth
|
|
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM)
|
|
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM)
|
|
|
|
/turf/simulated/wall/indestructible/rock
|
|
name = "dense rock"
|
|
desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this."
|
|
icon = 'icons/turf/walls/smoothrocks.dmi'
|
|
icon_state = "smoothrocks-0"
|
|
base_icon_state = "smoothrocks"
|
|
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_MINERAL_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS)
|
|
color = COLOR_ROCK
|
|
|
|
/turf/simulated/wall/indestructible/rock/snow
|
|
name = "mountainside"
|
|
desc = "An extremely densely-packed rock, sheeted over with centuries worth of ice and snow."
|
|
icon = 'icons/turf/walls.dmi'
|
|
icon_state = "snowrock"
|
|
smoothing_flags = null
|
|
smoothing_groups = null
|
|
canSmoothWith = null
|
|
|
|
/turf/simulated/wall/indestructible/riveted
|
|
icon = 'icons/turf/walls/reinforced_wall.dmi'
|
|
icon_state = "reinforced_wall-0"
|
|
base_icon_state = "reinforced_wall"
|
|
smoothing_flags = SMOOTH_BITMASK
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_REINFORCED_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_REGULAR_WALLS, SMOOTH_GROUP_REINFORCED_WALLS)
|
|
|
|
/turf/simulated/wall/indestructible/syndicate
|
|
icon = 'icons/turf/walls/plastitanium_wall.dmi'
|
|
icon_state = "plastitanium_wall-0"
|
|
base_icon_state = "plastitanium_wall"
|
|
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
|
|
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS)
|
|
canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
|