Skip to content

Commit

Permalink
New walls and girders (now with smoothing!) + spare fixes (BeeStation…
Browse files Browse the repository at this point in the history
…#11427)

* new walls pt1

* and now girders

* wooden and silver walls now regained their transparency

* accidental note leftover

* NOW silver walls are no longer transparent

* the clockcult, bloodcult girder have been unsmoothed for now

and unwrenched girders have been permanenetly unsmoothed

* New Rwall Icons

---------

Co-authored-by: PigeonVerde322 <[email protected]>
  • Loading branch information
2 people authored and mystery3525 committed Sep 25, 2024
1 parent 89b9b6d commit bee490d
Show file tree
Hide file tree
Showing 13 changed files with 283 additions and 248 deletions.
1 change: 1 addition & 0 deletions beestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1719,6 +1719,7 @@
#include "code\game\turfs\turf_integrity.dm"
#include "code\game\turfs\turf_texture.dm"
#include "code\game\turfs\closed\_closed.dm"
#include "code\game\turfs\closed\indestructible.dm"
#include "code\game\turfs\closed\minerals.dm"
#include "code\game\turfs\closed\walls.dm"
#include "code\game\turfs\closed\wall\material_walls.dm"
Expand Down
6 changes: 5 additions & 1 deletion code/__DEFINES/icon_smoothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,11 @@ DEFINE_BITFIELD(smoothing_flags, list(
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(23) ///turf/closed/indestructible/opsglass, /obj/structure/window/plasma/reinforced/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(24) ///obj/structure/window/shuttle

#define SMOOTH_GROUP_LATTICE S_OBJ(30) ///obj/structure/lattice
#define SMOOTH_GROUP_LATTICE S_OBJ(30) ///obj/structure/lattice
#define SMOOTH_GROUP_GIRDER S_OBJ(31) ///obj/structure/girder
//their icon will be implemented in a future update
//#define SMOOTH_GROUP_BLOOD_GIRDER S_OBJ(32) ///obj/structure/girder/cult
//#define SMOOTH_GROUP_CLOCK_GRIDER S_OBJ(33) ///obj/structure/girder/bronze

#define SMOOTH_GROUP_AIRLOCK S_OBJ(40) ///obj/machinery/door/airlock
#define SMOOTH_GROUP_TABLES S_OBJ(50) ///obj/structure/table
Expand Down
47 changes: 35 additions & 12 deletions code/game/objects/structures/girders.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
/obj/structure/girder
name = "girder"
icon_state = "girder"
desc = "A large structural assembly made out of iron; It requires a layer of iron before it can be considered a wall."
desc = "A large structural frame made out of iron; It requires a layer of materials before it can be considered a wall."
icon = 'icons/obj/smooth_structures/girders/girder.dmi'
icon_state = "girder-0"
base_icon_state = "girder"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_GIRDER)
canSmoothWith = list(SMOOTH_GROUP_GIRDER)

anchored = TRUE
density = TRUE
z_flags = Z_BLOCK_IN_DOWN | Z_BLOCK_IN_UP
Expand Down Expand Up @@ -312,30 +318,43 @@
new /obj/structure/girder/cult(loc)
qdel(src)

// Displaced girder
/obj/structure/girder/displaced
name = "displaced girder"
icon_state = "displaced"
desc = "A large structural frame made out of iron; It requires a layer of materials before it can be considered a wall. This one has unachored from the ground."
icon = 'icons/obj/structures.dmi'
icon_state = "displaced_girder"
base_icon_state = null
smoothing_flags = NONE
smoothing_groups = null
canSmoothWith = null
anchored = FALSE
state = GIRDER_DISPLACED
girderpasschance = 25
max_integrity = 120

// Reinforced girder
/obj/structure/girder/reinforced
name = "reinforced girder"
icon_state = "reinforced"
desc = "A large structural frame made out of iron; This one has been reinforced and It requires a layer of plasteel before it can be considered a reinforced wall."
icon = 'icons/obj/smooth_structures/girders/reinforced_girder.dmi'
icon_state = "reinforced_girder-0"
base_icon_state = "reinforced_girder"
state = GIRDER_REINF
girderpasschance = 0
max_integrity = 350



//////////////////////////////////////////// cult girder //////////////////////////////////////////////

//////////////////////////////////////////// cult girders //////////////////////////////////////////////
///they will get a proper smoothing icon later :D, but not today, courier pigeon's word! 4/09/24
/obj/structure/girder/cult
name = "runed girder"
desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts."
icon = 'icons/obj/cult.dmi'
icon_state= "cultgirder"
icon = 'icons/obj/structures.dmi'
icon_state = "bloodcult_girder"
base_icon_state = null
smoothing_flags = NONE
smoothing_groups = null
canSmoothWith = null
can_displace = FALSE

/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params)
Expand Down Expand Up @@ -425,8 +444,12 @@
/obj/structure/girder/bronze
name = "wall gear"
desc = "A girder made out of sturdy bronze, made to resemble a gear."
icon = 'icons/obj/clockwork_objects.dmi'
icon_state = "wall_gear"
icon = 'icons/obj/structures.dmi'
icon_state = "clockcult_girder"
base_icon_state = null
smoothing_flags = NONE
smoothing_groups = null
canSmoothWith = null
can_displace = FALSE

/obj/structure/girder/bronze/attackby(obj/item/W, mob/living/user, params)
Expand Down
209 changes: 0 additions & 209 deletions code/game/turfs/closed/_closed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,212 +18,3 @@ CREATION_TEST_IGNORE_SELF(/turf/closed)

/turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
return FALSE

/turf/closed/indestructible
name = "wall"
icon = 'icons/turf/walls.dmi'
explosion_block = 50
resistance_flags = INDESTRUCTIBLE

/turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE)
return

/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id)
return 0

/turf/closed/indestructible/Melt()
to_be_destroyed = FALSE
return src

/turf/closed/indestructible/singularity_act()
return

/turf/closed/indestructible/rust_heretic_act()
return

/turf/closed/indestructible/turf_destruction(damage_flag, additional_damage)
return

/turf/closed/indestructible/oldshuttle
name = "strange shuttle wall"
icon = 'icons/turf/shuttleold.dmi'
icon_state = "block"

/turf/closed/indestructible/sandstone
name = "sandstone wall"
desc = "A wall with sandstone plating. Rough."
icon = 'icons/turf/walls/sandstone_wall.dmi'
icon_state = "sandstone_wall-0"
base_icon_state = "sandstone_wall"
smoothing_flags = SMOOTH_BITMASK
baseturfs = /turf/closed/indestructible/sandstone

/turf/closed/indestructible/oldshuttle/corner
icon_state = "corner"

/turf/closed/indestructible/splashscreen
name = "Space Station 13"
icon = 'icons/blank_title.png'
icon_state = ""
layer = FLY_LAYER
bullet_bounce_sound = null

INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)

/turf/closed/indestructible/splashscreen/Initialize(mapload)
. = ..()
SStitle.splash_turf = src
if(SStitle.icon)
icon = SStitle.icon

/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value)
. = ..()
if(.)
switch(var_name)
if(NAMEOF(src, icon))
SStitle.icon = icon

/turf/closed/indestructible/splashscreen/examine(mob/user)
desc = pick(strings(SPLASH_DESC_FILE, "splashes"))
. = ..()

/turf/closed/indestructible/riveted
icon = 'icons/turf/walls/riveted.dmi'
icon_state = "riveted-0"
base_icon_state = "riveted"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)

/turf/closed/indestructible/syndicate
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "plastitanium_wall-0"
base_icon_state = "plastitanium_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)

/turf/closed/indestructible/riveted/uranium
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium_wall-0"
base_icon_state = "uranium_wall"
smoothing_flags = SMOOTH_BITMASK

/turf/closed/indestructible/abductor
icon_state = "alien1"

/turf/closed/indestructible/opshuttle
icon_state = "wall3"

/turf/closed/indestructible/fakeglass
name = "window"
icon_state = "reinforced_window-0"
base_icon_state = "reinforced_window"
opacity = FALSE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
opacity = FALSE
icon = 'icons/obj/smooth_structures/windows/reinforced_window.dmi'

/turf/closed/indestructible/fakeglass/Initialize(mapload)
. = ..()
icon_state = null //set the icon state to null, so our base state isn't visible
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/closed/indestructible/opsglass
name = "window"
icon_state = "plastitanium_window-0"
base_icon_state = "plastitanium_window"
opacity = FALSE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM, SMOOTH_GROUP_SHUTTLE_PARTS)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM)
opacity = FALSE
icon = 'icons/obj/smooth_structures/windows/plastitanium_window.dmi'

/turf/closed/indestructible/opsglass/Initialize(mapload)
. = ..()
icon_state = null
underlays += mutable_appearance('icons/obj/structures.dmi', "grille")
underlays += mutable_appearance('icons/turf/floors.dmi', "plating")

/turf/closed/indestructible/fakedoor
name = "CentCom Access"
icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'
icon_state = "fake_door"

/turf/closed/indestructible/rock
name = "dense rock"
desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this."
icon = 'icons/turf/mining.dmi'
icon_state = "rock"

/turf/closed/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"
bullet_sizzle = TRUE
bullet_bounce_sound = null

/turf/closed/indestructible/rock/snow/ice
name = "iced rock"
desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold."
icon = 'icons/turf/walls.dmi'
icon_state = "icerock"

/turf/closed/indestructible/rock/bedrock
name = "bedrock rock"
desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this."
icon = 'icons/turf/mining.dmi'
icon_state = "rock_dense"

/turf/closed/indestructible/paper
name = "thick paper wall"
desc = "A wall layered with impenetrable sheets of paper."
icon = 'icons/turf/walls.dmi'
icon_state = "paperwall"

/turf/closed/indestructible/necropolis
name = "necropolis wall"
desc = "A seemingly impenetrable wall."
icon = 'icons/turf/walls.dmi'
icon_state = "necro"
explosion_block = 50
baseturfs = /turf/closed/indestructible/necropolis

/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "necro1"
return TRUE

/turf/closed/indestructible/riveted/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_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS)
explosion_block = 50
baseturfs = /turf/closed/indestructible/riveted/boss

/turf/closed/indestructible/riveted/boss/see_through
opacity = FALSE

/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "basalt"
return TRUE

/turf/closed/indestructible/riveted/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
smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL)
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
Loading

0 comments on commit bee490d

Please sign in to comment.