[MIRROR] Seethrough component for shipping containers, big bones, ratvar wreck and necropolis gate [MDB IGNORE] (#17562)

* Seethrough component for shipping containers, big bones, ratvar wreck and necropolis gate (#71212)

Big sprite, easy conversion. Let's you see through a bunch of stuff with
big sprites

🆑
qol: you can look behind shipping containers, ratvars wreck, through the
necropolis gate and behind the big bones
/🆑

Behind a container

https://user-images.githubusercontent.com/7501474/201395747-4843b2df-d3ad-4047-b4af-66310d1d0472.mp4

Through the necropolis gate

https://user-images.githubusercontent.com/7501474/201416066-9f69399d-f757-4132-941d-5cf3b98ced5d.mp4

* Seethrough component for shipping containers, big bones, ratvar wreck and necropolis gate

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
This commit is contained in:
SkyratBot
2022-11-21 23:33:51 +01:00
committed by GitHub
parent 03b216292a
commit 556e70fc25
5 changed files with 56 additions and 10 deletions
+24 -3
View File
@@ -10,6 +10,10 @@
#define SEE_THROUGH_MAP_THREE_X_TWO "3x2"
///One row of three tiles above the atom, but offset one tile to the left because of how billboards work
#define SEE_THROUGH_MAP_BILLBOARD "billboard"
///Two rows of three wide, but offset one tile to the left because thats how shipping containers work
#define SEE_THROUGH_MAP_SHIPPING_CONTAINER "shipping_container"
///Seethrough component for the ratvar wreck, in shape of the ratvar wreck
#define SEE_THROUGH_MAP_RATVAR_WRECK "ratvar"
/**global statics for the see_through_component coordinate maps
@@ -22,7 +26,8 @@ GLOBAL_LIST_INIT(see_through_maps, list(
// X
// A
SEE_THROUGH_MAP_DEFAULT = list(
/*----------------*/list(0, 1, 0)
/*----------------*/list(0, 1, 0),
/*----------------*/list(0, 0, 0)
),
// XXX
@@ -40,7 +45,8 @@ GLOBAL_LIST_INIT(see_through_maps, list(
// A
SEE_THROUGH_MAP_DEFAULT_TWO_TALL = list(
/*----------------*/list(0, 2, 0),
/*----------------*/list(0, 1, 0)
/*----------------*/list(0, 1, 0),
/*----------------*/list(0, 0, 0)
),
// XXX
@@ -52,9 +58,24 @@ GLOBAL_LIST_INIT(see_through_maps, list(
),
/// XXX
/// OAO
/// AOO
SEE_THROUGH_MAP_BILLBOARD = list(
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0)
),
/// XXX
/// AXX
SEE_THROUGH_MAP_SHIPPING_CONTAINER = list(
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0),
list(0, 0, 0), list(1, 0, 0), list(2, 0, 0)
),
//No
SEE_THROUGH_MAP_RATVAR_WRECK = list(
list(3, 5, 0), list(4, 5, 0), list(5, 5, 0), list(6, 5, 0),
list(3, 4, 0), list(4, 4, 0), list(5, 4, 0), list(6, 4, 0), list(7, 4, 0), list(9, 4, 0),
list(3, 3, 0), list(4, 3, 0), list(5, 3, 0), list(6, 3, 0), /* the neck */ list(8, 3, 0), list(9, 3, 0),
list(0, 2, 0), list(1, 2, 0), list(2, 2, 0), list(3, 2, 0), list(4, 2, 0), list(5, 2, 0), list(6, 2, 0), list(7, 2, 0), list(8, 2, 0), list(9, 2, 0), list(10, 2, 0), list(11, 2, 0), list(12, 2, 0),
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0), list(3, 1, 0), list(4, 1, 0), list(5, 1, 0), list(6, 1, 0), list(7, 1, 0), list(8, 1, 0), list(9, 1, 0), list(10, 1, 0), list(11, 1, 0), list(12, 1, 0),
list(0, 0, 0), list(1, 0, 0), list(2, 0, 0), list(3, 0, 0), list(4, 0, 0), list(5, 0, 0), list(6, 0, 0), list(7, 0, 0), list(8, 0, 0), list(9, 0, 0), list(10, 0, 0), list(11, 0, 0), list(12, 0, 0), list(13, 0, 0)
)
))
+6 -1
View File
@@ -5,10 +5,15 @@
icon_state = "container_blank"
max_integrity = 1000
bound_width = 96
bound_height = 64
bound_height = 32
density = TRUE
anchored = TRUE
/obj/structure/shipping_container/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seethrough, SEE_THROUGH_MAP_SHIPPING_CONTAINER)
/obj/structure/shipping_container/nanotrasen
name = "\improper Nanotrasen shipping container"
desc = "A standard-measure shipping container for bulk transport of goods. This one prominently features Nanotrasen's logo, and so presumably could be carrying anything."
@@ -9,6 +9,11 @@
custom_materials = list(/datum/material/bone=MINERAL_MATERIAL_AMOUNT*5)
abstract_type = /obj/structure/statue/bone
/obj/structure/statue/bone/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seethrough, SEE_THROUGH_MAP_DEFAULT)
/obj/structure/statue/bone/rib
name = "colossal rib"
desc = "It's staggering to think that something this big could have lived, let alone died."
@@ -21,3 +21,7 @@
bound_height = 64
pixel_y = -10
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/structure/dead_ratvar/Initialize(mapload)
. = ..()
AddComponent(/datum/component/seethrough, SEE_THROUGH_MAP_RATVAR_WRECK)
@@ -6,7 +6,8 @@
icon_state = "gate_full"
flags_1 = ON_BORDER_1
appearance_flags = 0
layer = TABLE_LAYER
layer = FLY_LAYER
plane = ABOVE_GAME_PLANE
anchored = TRUE
density = TRUE
pixel_x = -32
@@ -19,7 +20,6 @@
var/locked = FALSE
var/static/mutable_appearance/top_overlay
var/static/mutable_appearance/door_overlay
var/static/mutable_appearance/dais_overlay
var/obj/structure/opacity_blocker/sight_blocker
var/sight_blocker_distance = 1
@@ -42,15 +42,15 @@
door_overlay = mutable_appearance('icons/effects/96x96.dmi', "door")
door_overlay.layer = EDGED_TURF_LAYER
add_overlay(door_overlay)
dais_overlay = mutable_appearance('icons/effects/96x96.dmi', "gate_dais")
dais_overlay.layer = CLOSED_TURF_LAYER
add_overlay(dais_overlay)
new /obj/effect/decal/necropolis_gate_decal(loc)
var/static/list/loc_connections = list(
COMSIG_ATOM_EXIT = PROC_REF(on_exit),
)
AddElement(/datum/element/connect_loc, loc_connections)
AddComponent(/datum/component/seethrough, SEE_THROUGH_MAP_DEFAULT_TWO_TALL)
/obj/structure/necropolis_gate/Destroy(force)
qdel(sight_blocker)
@@ -192,6 +192,14 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
var/mutable_appearance/release_overlay = mutable_appearance('icons/effects/effects.dmi', "legiondoor")
notify_ghosts("Legion has been released in the [get_area(src)]!", source = src, alert_overlay = release_overlay, action = NOTIFY_JUMP, flashwindow = FALSE)
/obj/effect/decal/necropolis_gate_decal
icon = 'icons/effects/96x96.dmi'
icon_state = "gate_dais"
flags_1 = ON_BORDER_1
appearance_flags = 0
pixel_x = -32
pixel_y = -32
/obj/effect/temp_visual/necropolis
icon = 'icons/effects/96x96.dmi'
icon_state = "door_closing"
@@ -211,7 +219,8 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
icon = 'icons/effects/160x160.dmi'
icon_state = "arch_full"
appearance_flags = 0
layer = TABLE_LAYER
layer = FLY_LAYER
plane = ABOVE_GAME_PLANE
anchored = TRUE
pixel_x = -64
pixel_y = -40
@@ -226,6 +235,8 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
top_overlay.layer = EDGED_TURF_LAYER
add_overlay(top_overlay)
AddComponent(/datum/component/seethrough, SEE_THROUGH_MAP_DEFAULT_TWO_TALL)
/obj/structure/necropolis_arch/singularity_pull()
return 0