This commit is contained in:
L
2020-09-22 15:35:35 -03:00
parent 6812d9a2f2
commit e461d7b777
63 changed files with 416 additions and 248 deletions
+14 -7
View File
@@ -1,15 +1,21 @@
/* smoothing_flags */
#define SMOOTH_CORNERS (1<<0) //Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
#define SMOOTH_BLOB (1<<1) //Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by the blob tileset pattern.
#define SMOOTH_DIAGONAL (1<<2) //if atom should smooth diagonally, this should be present in 'smoothing_flags' var
#define SMOOTH_BORDER (1<<3) //atom will smooth with the borders of the map
#define SMOOTH_QUEUED (1<<4) //atom is currently queued to smooth.
#define SMOOTH_OBJ (1<<5) //smooths with objects, and will thus need to scan turfs for contents.
/// Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
#define SMOOTH_CORNERS (1<<0)
/// Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by the blob tileset pattern.
#define SMOOTH_BLOB (1<<1)
/// Atom has diagonal corners, with underlays under them.
#define SMOOTH_DIAGONAL (1<<2)
/// Atom will smooth with the borders of the map.
#define SMOOTH_BORDER (1<<3)
/// Atom is currently queued to smooth.
#define SMOOTH_QUEUED (1<<4)
/// Smooths with objects, and will thus need to scan turfs for contents.
#define SMOOTH_OBJ (1<<5)
/*smoothing macros*/
#define QUEUE_SMOOTH(thing_to_queue) if(thing_to_queue.smoothing_flags) {SSicon_smooth.add_to_queue(thing_to_queue)}
#define QUEUE_SMOOTH(thing_to_queue) if(thing_to_queue.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB)) {SSicon_smooth.add_to_queue(thing_to_queue)}
#define QUEUE_SMOOTH_NEIGHBORS(thing_to_queue) for(var/neighbor in orange(1, thing_to_queue)) {var/atom/atom_neighbor = neighbor; QUEUE_SMOOTH(atom_neighbor)}
@@ -75,6 +81,7 @@
#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(11) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium
#define SMOOTH_GROUP_PLASTITANIUM_WALLS S_OBJ(13) ///turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
#define SMOOTH_GROUP_SURVIVAL_TIANIUM_POD S_OBJ(14) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod
#define SMOOTH_GROUP_HIERO_WALL S_OBJ(15) ///obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
#define SMOOTH_GROUP_PAPERFRAME S_OBJ(20) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
+128 -119
View File
@@ -25,14 +25,14 @@
*/
//Redefinitions of the diagonal directions so they can be stored in one var without conflicts
#define N_NORTH NORTH //(1<<0)
#define N_SOUTH SOUTH //(1<<1)
#define N_EAST EAST //(1<<2)
#define N_WEST WEST //(1<<3)
#define N_NORTHEAST (1<<4)
#define N_NORTHWEST (1<<5)
#define N_SOUTHEAST (1<<6)
#define N_SOUTHWEST (1<<7)
#define NORTH_JUNCTION NORTH //(1<<0)
#define SOUTH_JUNCTION SOUTH //(1<<1)
#define EAST_JUNCTION EAST //(1<<2)
#define WEST_JUNCTION WEST //(1<<3)
#define NORTHEAST_JUNCTION (1<<4)
#define SOUTHEAST_JUNCTION (1<<5)
#define SOUTHWEST_JUNCTION (1<<6)
#define NORTHWEST_JUNCTION (1<<7)
#define NO_ADJ_FOUND 0
#define ADJ_FOUND 1
@@ -42,6 +42,27 @@
#define DEFAULT_UNDERLAY_ICON_STATE "plating"
DEFINE_BITFIELD(smoothing_flags, list(
"SMOOTH_CORNERS" = SMOOTH_CORNERS,
"SMOOTH_BLOB" = SMOOTH_BLOB,
"SMOOTH_DIAGONAL" = SMOOTH_DIAGONAL,
"SMOOTH_BORDER" = SMOOTH_BORDER,
"SMOOTH_QUEUED" = SMOOTH_QUEUED,
"SMOOTH_OBJ" = SMOOTH_OBJ,
))
DEFINE_BITFIELD(smoothing_junction, list(
"NORTH_JUNCTION" = NORTH_JUNCTION,
"SOUTH_JUNCTION" = SOUTH_JUNCTION,
"EAST_JUNCTION" = EAST_JUNCTION,
"WEST_JUNCTION" = WEST_JUNCTION,
"NORTHEAST_JUNCTION" = NORTHEAST_JUNCTION,
"SOUTHEAST_JUNCTION" = SOUTHEAST_JUNCTION,
"SOUTHWEST_JUNCTION" = SOUTHWEST_JUNCTION,
"NORTHWEST_JUNCTION" = NORTHWEST_JUNCTION,
))
#define SET_ADJ_IN_DIR(source, junction, direction, direction_flag) \
do { \
var/turf/neighbor = get_step(source, direction); \
@@ -96,39 +117,39 @@
if(ADJ_FOUND)
. |= direction //BYOND and smooth dirs are the same for cardinals
if(. & N_NORTH)
if(. & N_WEST)
if(. & NORTH_JUNCTION)
if(. & WEST_JUNCTION)
switch(find_type_in_direction(NORTHWEST))
if(NULLTURF_BORDER)
if((smoothing_flags & SMOOTH_BORDER))
. |= N_NORTHWEST
. |= NORTHWEST_JUNCTION
if(ADJ_FOUND)
. |= N_NORTHWEST
. |= NORTHWEST_JUNCTION
if(. & N_EAST)
if(. & EAST_JUNCTION)
switch(find_type_in_direction(NORTHEAST))
if(NULLTURF_BORDER)
if((smoothing_flags & SMOOTH_BORDER))
. |= N_NORTHEAST
. |= NORTHEAST_JUNCTION
if(ADJ_FOUND)
. |= N_NORTHEAST
. |= NORTHEAST_JUNCTION
if(. & N_SOUTH)
if(. & N_WEST)
if(. & SOUTH_JUNCTION)
if(. & WEST_JUNCTION)
switch(find_type_in_direction(SOUTHWEST))
if(NULLTURF_BORDER)
if((smoothing_flags & SMOOTH_BORDER))
. |= N_SOUTHWEST
. |= SOUTHWEST_JUNCTION
if(ADJ_FOUND)
. |= N_SOUTHWEST
. |= SOUTHWEST_JUNCTION
if(. & N_EAST)
if(. & EAST_JUNCTION)
switch(find_type_in_direction(SOUTHEAST))
if(NULLTURF_BORDER)
if((smoothing_flags & SMOOTH_BORDER))
. |= N_SOUTHEAST
. |= SOUTHEAST_JUNCTION
if(ADJ_FOUND)
. |= N_SOUTHEAST
. |= SOUTHEAST_JUNCTION
/atom/movable/calculate_adjacencies()
@@ -155,22 +176,22 @@
/atom/proc/corners_diagonal_smooth(adjacencies)
switch(adjacencies)
if(N_NORTH|N_WEST)
if(NORTH_JUNCTION|WEST_JUNCTION)
replace_smooth_overlays("d-se","d-se-0")
if(N_NORTH|N_EAST)
if(NORTH_JUNCTION|EAST_JUNCTION)
replace_smooth_overlays("d-sw","d-sw-0")
if(N_SOUTH|N_WEST)
if(SOUTH_JUNCTION|WEST_JUNCTION)
replace_smooth_overlays("d-ne","d-ne-0")
if(N_SOUTH|N_EAST)
if(SOUTH_JUNCTION|EAST_JUNCTION)
replace_smooth_overlays("d-nw","d-nw-0")
if(N_NORTH|N_WEST|N_NORTHWEST)
if(NORTH_JUNCTION|WEST_JUNCTION|NORTHWEST_JUNCTION)
replace_smooth_overlays("d-se","d-se-1")
if(N_NORTH|N_EAST|N_NORTHEAST)
if(NORTH_JUNCTION|EAST_JUNCTION|NORTHEAST_JUNCTION)
replace_smooth_overlays("d-sw","d-sw-1")
if(N_SOUTH|N_WEST|N_SOUTHWEST)
if(SOUTH_JUNCTION|WEST_JUNCTION|SOUTHWEST_JUNCTION)
replace_smooth_overlays("d-ne","d-ne-1")
if(N_SOUTH|N_EAST|N_SOUTHEAST)
if(SOUTH_JUNCTION|EAST_JUNCTION|SOUTHEAST_JUNCTION)
replace_smooth_overlays("d-nw","d-nw-1")
else
@@ -181,93 +202,57 @@
return TRUE
//only walls should have a need to handle underlays
/turf/closed/wall/corners_diagonal_smooth(adjacencies)
. = ..()
if(!.)
return
adjacencies = reverse_ndir(adjacencies)
if(adjacencies == NONE)
return
var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE)
var/list/U = list(underlay_appearance)
if(fixed_underlay)
if(fixed_underlay["space"])
underlay_appearance.icon = 'icons/turf/space.dmi'
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
else
underlay_appearance.icon = fixed_underlay["icon"]
underlay_appearance.icon_state = fixed_underlay["icon_state"]
else
var/turned_adjacency = turn(adjacencies, 180)
var/turf/neighbor_turf = get_step(src, turned_adjacency)
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
neighbor_turf = get_step(src, turn(adjacencies, 135))
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
neighbor_turf = get_step(src, turn(adjacencies, 225))
//if all else fails, ask our own turf
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) && !get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
underlay_appearance.icon = DEFAULT_UNDERLAY_ICON
underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE
underlays = U
// Drop posters which were previously placed on this wall.
for(var/obj/structure/sign/poster/wall_poster in src)
wall_poster.roll_and_drop(src)
/atom/proc/corners_cardinal_smooth(adjacencies)
//NW CORNER
var/nw = "1-i"
if((adjacencies & N_NORTH) && (adjacencies & N_WEST))
if(adjacencies & N_NORTHWEST)
if((adjacencies & NORTH_JUNCTION) && (adjacencies & WEST_JUNCTION))
if(adjacencies & NORTHWEST_JUNCTION)
nw = "1-f"
else
nw = "1-nw"
else
if(adjacencies & N_NORTH)
if(adjacencies & NORTH_JUNCTION)
nw = "1-n"
else if(adjacencies & N_WEST)
else if(adjacencies & WEST_JUNCTION)
nw = "1-w"
//NE CORNER
var/ne = "2-i"
if((adjacencies & N_NORTH) && (adjacencies & N_EAST))
if(adjacencies & N_NORTHEAST)
if((adjacencies & NORTH_JUNCTION) && (adjacencies & EAST_JUNCTION))
if(adjacencies & NORTHEAST_JUNCTION)
ne = "2-f"
else
ne = "2-ne"
else
if(adjacencies & N_NORTH)
if(adjacencies & NORTH_JUNCTION)
ne = "2-n"
else if(adjacencies & N_EAST)
else if(adjacencies & EAST_JUNCTION)
ne = "2-e"
//SW CORNER
var/sw = "3-i"
if((adjacencies & N_SOUTH) && (adjacencies & N_WEST))
if(adjacencies & N_SOUTHWEST)
if((adjacencies & SOUTH_JUNCTION) && (adjacencies & WEST_JUNCTION))
if(adjacencies & SOUTHWEST_JUNCTION)
sw = "3-f"
else
sw = "3-sw"
else
if(adjacencies & N_SOUTH)
if(adjacencies & SOUTH_JUNCTION)
sw = "3-s"
else if(adjacencies & N_WEST)
else if(adjacencies & WEST_JUNCTION)
sw = "3-w"
//SE CORNER
var/se = "4-i"
if((adjacencies & N_SOUTH) && (adjacencies & N_EAST))
if(adjacencies & N_SOUTHEAST)
if((adjacencies & SOUTH_JUNCTION) && (adjacencies & EAST_JUNCTION))
if(adjacencies & SOUTHEAST_JUNCTION)
se = "4-f"
else
se = "4-se"
else
if(adjacencies & N_SOUTH)
if(adjacencies & SOUTH_JUNCTION)
se = "4-s"
else if(adjacencies & N_EAST)
else if(adjacencies & EAST_JUNCTION)
se = "4-e"
var/list/new_overlays
@@ -332,46 +317,70 @@
return NO_ADJ_FOUND
///Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.
/atom/proc/blob_smooth()
. = NONE //junction
for(var/direction in GLOB.cardinals) //Cardinal case first.
SET_ADJ_IN_DIR(src, ., direction, direction)
if(!(smoothing_flags & SMOOTH_DIAGONAL) || !(. & (NORTH|SOUTH)) || !(. & (EAST|WEST)))
if(!(. & (NORTH|SOUTH)) || !(. & (EAST|WEST)))
smoothing_junction = .
icon_state = "[base_icon_state]-[.]"
return
if(. & N_NORTH)
if(. & N_WEST)
SET_ADJ_IN_DIR(src, ., NORTHWEST, N_NORTHWEST)
if(. & NORTH_JUNCTION)
if(. & WEST_JUNCTION)
SET_ADJ_IN_DIR(src, ., NORTHWEST, NORTHWEST_JUNCTION)
if(. & N_EAST)
SET_ADJ_IN_DIR(src, ., NORTHEAST, N_NORTHEAST)
if(. & EAST_JUNCTION)
SET_ADJ_IN_DIR(src, ., NORTHEAST, NORTHEAST_JUNCTION)
if(. & N_SOUTH)
if(. & N_WEST)
SET_ADJ_IN_DIR(src, ., SOUTHWEST, N_SOUTHWEST)
if(. & SOUTH_JUNCTION)
if(. & WEST_JUNCTION)
SET_ADJ_IN_DIR(src, ., SOUTHWEST, SOUTHWEST_JUNCTION)
if(. & N_EAST)
SET_ADJ_IN_DIR(src, ., SOUTHEAST, N_SOUTHEAST)
if(. & EAST_JUNCTION)
SET_ADJ_IN_DIR(src, ., SOUTHEAST, SOUTHEAST_JUNCTION)
smoothing_junction = .
icon_state = "[base_icon_state]-[.]"
/turf/closed/blob_smooth()
. = ..()
if(!(smoothing_flags & SMOOTH_DIAGONAL) || fixed_underlay)
return
switch(smoothing_junction)
if(NORTH_JUNCTION|WEST_JUNCTION, NORTH_JUNCTION|EAST_JUNCTION, SOUTH_JUNCTION|WEST_JUNCTION, SOUTH_JUNCTION|EAST_JUNCTION, NORTH_JUNCTION|WEST_JUNCTION|NORTHWEST_JUNCTION, NORTH_JUNCTION|EAST_JUNCTION|NORTHEAST_JUNCTION, SOUTH_JUNCTION|WEST_JUNCTION|SOUTHWEST_JUNCTION, SOUTH_JUNCTION|EAST_JUNCTION|SOUTHEAST_JUNCTION)
var/junction_dir = reverse_ndir(smoothing_junction)
var/turned_adjacency = REVERSE_DIR(junction_dir)
var/turf/neighbor_turf = get_step(src, turned_adjacency & (NORTH|SOUTH))
var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE)
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
neighbor_turf = get_step(src, turned_adjacency & (EAST|WEST))
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
neighbor_turf = get_step(src, turned_adjacency)
if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
if(!get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) //if all else fails, ask our own turf
underlay_appearance.icon = DEFAULT_UNDERLAY_ICON
underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE
underlays = list(underlay_appearance)
//Icon smoothing helpers
/proc/smooth_zlevel(zlevel, now = FALSE)
var/list/away_turfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel))
for(var/V in away_turfs)
var/turf/T = V
if(T.smoothing_flags)
if(T.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
if(now)
T.smooth_icon()
else
QUEUE_SMOOTH(T)
for(var/R in T)
var/atom/A = R
if(A.smoothing_flags)
if(A.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
if(now)
A.smooth_icon()
else
@@ -405,37 +414,37 @@
/proc/reverse_ndir(ndir)
switch(ndir)
if(N_NORTH)
if(NORTH_JUNCTION)
return NORTH
if(N_SOUTH)
if(SOUTH_JUNCTION)
return SOUTH
if(N_WEST)
if(WEST_JUNCTION)
return WEST
if(N_EAST)
if(EAST_JUNCTION)
return EAST
if(N_NORTHWEST)
if(NORTHWEST_JUNCTION)
return NORTHWEST
if(N_NORTHEAST)
if(NORTHEAST_JUNCTION)
return NORTHEAST
if(N_SOUTHEAST)
if(SOUTHEAST_JUNCTION)
return SOUTHEAST
if(N_SOUTHWEST)
if(SOUTHWEST_JUNCTION)
return SOUTHWEST
if(N_NORTH|N_WEST)
if(NORTH_JUNCTION | WEST_JUNCTION)
return NORTHWEST
if(N_NORTH|N_EAST)
if(NORTH_JUNCTION | EAST_JUNCTION)
return NORTHEAST
if(N_SOUTH|N_WEST)
if(SOUTH_JUNCTION | WEST_JUNCTION)
return SOUTHWEST
if(N_SOUTH|N_EAST)
if(SOUTH_JUNCTION | EAST_JUNCTION)
return SOUTHEAST
if(N_NORTH|N_WEST|N_NORTHWEST)
if(NORTH_JUNCTION | WEST_JUNCTION | NORTHWEST_JUNCTION)
return NORTHWEST
if(N_NORTH|N_EAST|N_NORTHEAST)
if(NORTH_JUNCTION | EAST_JUNCTION | NORTHEAST_JUNCTION)
return NORTHEAST
if(N_SOUTH|N_WEST|N_SOUTHWEST)
if(SOUTH_JUNCTION | WEST_JUNCTION | SOUTHWEST_JUNCTION)
return SOUTHWEST
if(N_SOUTH|N_EAST|N_SOUTHEAST)
if(SOUTH_JUNCTION | EAST_JUNCTION | SOUTHEAST_JUNCTION)
return SOUTHEAST
else
return NONE
@@ -450,14 +459,14 @@
smoothing_groups = null
canSmoothWith = null
#undef N_NORTH
#undef N_SOUTH
#undef N_EAST
#undef N_WEST
#undef N_NORTHEAST
#undef N_NORTHWEST
#undef N_SOUTHEAST
#undef N_SOUTHWEST
#undef NORTH_JUNCTION
#undef SOUTH_JUNCTION
#undef EAST_JUNCTION
#undef WEST_JUNCTION
#undef NORTHEAST_JUNCTION
#undef NORTHWEST_JUNCTION
#undef SOUTHEAST_JUNCTION
#undef SOUTHWEST_JUNCTION
#undef NO_ADJ_FOUND
#undef ADJ_FOUND
-7
View File
@@ -260,13 +260,6 @@ DEFINE_BITFIELD(sight, list(
"SEE_TURFS" = SEE_TURFS,
))
DEFINE_BITFIELD(smooth, list(
"SMOOTH_CORNERS" = SMOOTH_CORNERS,
"SMOOTH_DIAGONAL" = SMOOTH_DIAGONAL,
"SMOOTH_BORDER" = SMOOTH_BORDER,
"SMOOTH_QUEUED" = SMOOTH_QUEUED,
))
DEFINE_BITFIELD(vis_flags, list(
"VIS_HIDE" = VIS_HIDE,
"VIS_INHERIT_DIR" = VIS_INHERIT_DIR,
+2
View File
@@ -124,6 +124,8 @@
///Icon-smoothing behavior.
var/smoothing_flags = NONE
///What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.
var/smoothing_junction = NONE
///Smoothing variable
var/top_left_corner
///Smoothing variable
@@ -67,10 +67,12 @@
icon = 'icons/effects/dirt.dmi'
icon_state = ""
QUEUE_SMOOTH(src)
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
/obj/effect/decal/cleanable/dirt/Destroy()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
return ..()
/obj/effect/decal/cleanable/dirt/dust
+4 -3
View File
@@ -18,15 +18,16 @@
if (!armor)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50)
. = ..()
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
QUEUE_SMOOTH_NEIGHBORS(src)
icon_state = ""
if(smoothing_flags & SMOOTH_CORNERS)
icon_state = ""
GLOB.cameranet.updateVisibility(src)
/obj/structure/Destroy()
GLOB.cameranet.updateVisibility(src)
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
return ..()
+48 -22
View File
@@ -6,12 +6,13 @@
desc = "A huge chunk of metal used to separate rooms."
anchored = TRUE
icon = 'icons/turf/walls/wall.dmi'
icon_state = "wall"
icon_state = "wall-0"
base_icon_state = "wall"
layer = LOW_OBJ_LAYER
density = TRUE
opacity = TRUE
max_integrity = 100
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
can_be_unanchored = FALSE
@@ -63,8 +64,8 @@
icon_state = "fwall_closing"
else
if(density)
icon_state = initial(icon_state)
smoothing_flags = SMOOTH_CORNERS
icon_state = "[base_icon_state]-[smoothing_junction]"
smoothing_flags = SMOOTH_BLOB
QUEUE_SMOOTH(src)
else
icon_state = "fwall_open"
@@ -133,9 +134,11 @@
name = "reinforced wall"
desc = "A huge chunk of reinforced metal used to separate rooms."
icon = 'icons/turf/walls/reinforced_wall.dmi'
icon_state = "r_wall"
icon_state = "reinforced_wall-0"
base_icon_state = "reinforced_wall"
walltype = /turf/closed/wall/r_wall
mineral = /obj/item/stack/sheet/plasteel
smoothing_flags = SMOOTH_BLOB
/obj/structure/falsewall/reinforced/examine_status(mob/user)
to_chat(user, "<span class='notice'>The outer <b>grille</b> is fully intact.</span>")
@@ -154,9 +157,11 @@
name = "uranium wall"
desc = "A wall with uranium plating. This is probably a bad idea."
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium"
icon_state = "uranium_wall-0"
base_icon_state = "uranium_wall"
mineral = /obj/item/stack/sheet/mineral/uranium
walltype = /turf/closed/wall/mineral/uranium
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_URANIUM_WALLS)
var/active = null
@@ -189,9 +194,11 @@
name = "gold wall"
desc = "A wall with gold plating. Swag!"
icon = 'icons/turf/walls/gold_wall.dmi'
icon_state = "gold"
icon_state = "gold_wall-0"
base_icon_state = "gold_wall"
mineral = /obj/item/stack/sheet/mineral/gold
walltype = /turf/closed/wall/mineral/gold
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_GOLD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_GOLD_WALLS)
@@ -199,9 +206,11 @@
name = "silver wall"
desc = "A wall with silver plating. Shiny."
icon = 'icons/turf/walls/silver_wall.dmi'
icon_state = "silver"
icon_state = "silver_wall-0"
base_icon_state = "silver_wall"
mineral = /obj/item/stack/sheet/mineral/silver
walltype = /turf/closed/wall/mineral/silver
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SILVER_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SILVER_WALLS)
@@ -209,9 +218,11 @@
name = "diamond wall"
desc = "A wall with diamond plating. You monster."
icon = 'icons/turf/walls/diamond_wall.dmi'
icon_state = "diamond"
icon_state = "diamond_wall-0"
base_icon_state = "diamond_wall"
mineral = /obj/item/stack/sheet/mineral/diamond
walltype = /turf/closed/wall/mineral/diamond
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS)
canSmoothWith = list(SMOOTH_GROUP_DIAMOND_WALLS)
max_integrity = 800
@@ -220,9 +231,11 @@
name = "plasma wall"
desc = "A wall with plasma plating. This is definitely a bad idea."
icon = 'icons/turf/walls/plasma_wall.dmi'
icon_state = "plasma"
icon_state = "plasma_wall-0"
base_icon_state = "plasma_wall"
mineral = /obj/item/stack/sheet/mineral/plasma
walltype = /turf/closed/wall/mineral/plasma
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
@@ -249,9 +262,11 @@
name = "bananium wall"
desc = "A wall with bananium plating. Honk!"
icon = 'icons/turf/walls/bananium_wall.dmi'
icon_state = "bananium"
icon_state = "bananium_wall-0"
base_icon_state = "bananium_wall"
mineral = /obj/item/stack/sheet/mineral/bananium
walltype = /turf/closed/wall/mineral/bananium
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BANANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BANANIUM_WALLS)
@@ -260,9 +275,11 @@
name = "sandstone wall"
desc = "A wall with sandstone plating. Rough."
icon = 'icons/turf/walls/sandstone_wall.dmi'
icon_state = "sandstone"
icon_state = "sandstone_wall-0"
base_icon_state = "sandstone_wall"
mineral = /obj/item/stack/sheet/mineral/sandstone
walltype = /turf/closed/wall/mineral/sandstone
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SANDSTONE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SANDSTONE_WALLS)
@@ -270,9 +287,11 @@
name = "wooden wall"
desc = "A wall with wooden plating. Stiff."
icon = 'icons/turf/walls/wood_wall.dmi'
icon_state = "wood"
icon_state = "wood_wall-0"
base_icon_state = "wood_wall"
mineral = /obj/item/stack/sheet/mineral/wood
walltype = /turf/closed/wall/mineral/wood
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
@@ -280,41 +299,48 @@
name = "rough metal wall"
desc = "A wall with rough metal plating."
icon = 'icons/turf/walls/iron_wall.dmi'
icon_state = "iron"
icon_state = "iron_wall-0"
base_icon_state = "iron_wall"
mineral = /obj/item/stack/rods
mineral_amount = 5
walltype = /turf/closed/wall/mineral/iron
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
/obj/structure/falsewall/abductor
name = "alien wall"
desc = "A wall with alien alloy plating."
icon = 'icons/turf/walls/abductor_wall.dmi'
icon_state = "abductor"
icon = 'icons/turf/walls/abductor_nodiag_wall.dmi'
icon_state = "abductor_nodiag_wall-0"
base_icon_state = "abductor_nodiag_wall"
mineral = /obj/item/stack/sheet/mineral/abductor
walltype = /turf/closed/wall/mineral/abductor
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
/obj/structure/falsewall/titanium
name = "wall"
desc = "A light-weight titanium wall used in shuttles."
icon = 'icons/turf/walls/shuttle_wall.dmi'
icon_state = "shuttle"
icon = 'icons/turf/walls/shuttle_nodiag_wall.dmi'
icon_state = "shuttle_nodiag_wall-0"
base_icon_state = "shuttle_nodiag_wall"
mineral = /obj/item/stack/sheet/mineral/titanium
walltype = /turf/closed/wall/mineral/titanium
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
/obj/structure/falsewall/plastitanium
name = "wall"
desc = "An evil wall of plasma and titanium."
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "shuttle"
icon = 'icons/turf/walls/plastitanium_nodiag_wall.dmi'
icon_state = "plastitanium_nodiag_wall-0"
base_icon_state = "plastitanium_nodiag_wall"
mineral = /obj/item/stack/sheet/mineral/plastitanium
walltype = /turf/closed/wall/mineral/plastitanium
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
+1 -1
View File
@@ -31,7 +31,7 @@
var/ratio = obj_integrity / max_integrity
ratio = CEILING(ratio*4, 1) * 25
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
if(ratio > 50)
@@ -311,7 +311,8 @@
/obj/structure/mineral_door/paperframe/Initialize()
. = ..()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
/obj/structure/mineral_door/paperframe/examine(mob/user)
. = ..()
@@ -346,5 +347,6 @@
return
/obj/structure/mineral_door/paperframe/Destroy()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
return ..()
+1 -1
View File
@@ -44,7 +44,7 @@
return "<span class='notice'>The top is <b>screwed</b> on, but the main <b>bolts</b> are also visible.</span>"
/obj/structure/table/update_icon()
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
QUEUE_SMOOTH_NEIGHBORS(src)
+4 -3
View File
@@ -317,7 +317,7 @@
//This proc is used to update the icons of nearby windows.
/obj/structure/window/proc/update_nearby_icons()
update_icon()
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
//merges adjacent full-tile windows into one
@@ -330,7 +330,7 @@
var/ratio = obj_integrity / max_integrity
ratio = CEILING(ratio*4, 1) * 25
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
cut_overlay(crack_overlay)
@@ -791,7 +791,8 @@
cut_overlay(torn)
add_overlay(paper)
set_opacity(TRUE)
QUEUE_SMOOTH(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
/obj/structure/window/paperframe/attackby(obj/item/W, mob/user)
+2 -1
View File
@@ -285,7 +285,8 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
for(var/obj/machinery/door/firedoor/FD in T)
FD.CalculateAffectingAreas()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
HandleTurfChange(src)
+27 -13
View File
@@ -48,9 +48,10 @@
name = "sandstone wall"
desc = "A wall with sandstone plating. Rough."
icon = 'icons/turf/walls/sandstone_wall.dmi'
icon_state = "sandstone"
icon_state = "sandstone_wall-0"
base_icon_state = "sandstone_wall"
baseturfs = /turf/closed/indestructible/sandstone
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB
/turf/closed/indestructible/oldshuttle/corner
icon_state = "corner"
@@ -78,30 +79,39 @@
/turf/closed/indestructible/riveted
icon = 'icons/turf/walls/riveted.dmi'
icon_state = "riveted"
smoothing_flags = SMOOTH_CORNERS
icon_state = "riveted-0"
base_icon_state = "riveted"
smoothing_flags = SMOOTH_BLOB
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 = "map-shuttle"
smoothing_flags = SMOOTH_CORNERS
icon_state = "plastitanium_wall-0"
base_icon_state = "plastitanium_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_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"
icon_state = "uranium_wall-0"
base_icon_state = "uranium_wall"
smoothing_flags = SMOOTH_BLOB
/turf/closed/indestructible/riveted/plastinum
name = "plastinum wall"
desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction."
icon = 'icons/turf/walls/plastinum_wall.dmi'
icon_state = "shuttle"
icon_state = "plastinum_wall-0"
base_icon_state = "plastinum_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
/turf/closed/indestructible/wood
icon = 'icons/turf/walls/wood_wall.dmi'
icon_state = "wood"
smoothing_flags = SMOOTH_CORNERS
icon_state = "wood_wall-0"
base_icon_state = "wood_wall"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
@@ -166,8 +176,9 @@
/turf/closed/indestructible/rock/snow/ice/ore
icon = 'icons/turf/walls/icerock_wall.dmi'
icon_state = "icerock"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
icon_state = "icerock_wall-0"
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
pixel_x = -4
pixel_y = -4
@@ -196,7 +207,9 @@
name = "necropolis wall"
desc = "A thick, seemingly indestructible stone wall."
icon = 'icons/turf/walls/boss_wall.dmi'
icon_state = "wall"
icon_state = "boss_wall-0"
base_icon_state = "boss_wall"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS)
explosion_block = 50
@@ -215,3 +228,4 @@
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
+38 -7
View File
@@ -4,8 +4,7 @@
name = "rock"
icon = 'icons/turf/mining.dmi'
icon_state = "rock"
var/smooth_icon = 'icons/turf/smoothrocks.dmi'
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS)
baseturfs = /turf/open/floor/plating/asteroid/airless
@@ -14,6 +13,8 @@
density = TRUE
layer = EDGED_TURF_LAYER
temperature = TCMB
base_icon_state = "smoothrocks"
var/smooth_icon = 'icons/turf/smoothrocks.dmi'
var/environment_type = "asteroid"
var/turf/open/floor/plating/turf_type = /turf/open/floor/plating/asteroid/airless
var/obj/item/stack/ore/mineralType = null
@@ -254,7 +255,8 @@
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/mountain_wall.dmi'
icon_state = "mountainrock"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
defer_change = TRUE
environment_type = "snow_cavern"
@@ -273,6 +275,9 @@
if(mineralType)
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
icon = 'icons/turf/walls/icerock_wall.dmi'
icon_state = "icerock_wall-0"
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
/turf/closed/mineral/random/snow/more_caves
mineralSpawnChanceList = list(
@@ -324,7 +329,8 @@
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/mountain_wall.dmi'
icon_state = "mountainrock"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
defer_change = TRUE
environment_type = "snow"
@@ -353,6 +359,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_iron"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -378,6 +386,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_Uranium"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -403,6 +413,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_diamond"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -428,6 +440,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_gold"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -453,6 +467,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_silver"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -478,6 +494,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_titanium"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -503,6 +521,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_plasma"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -522,6 +542,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_Bananium"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -548,6 +570,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_BScrystal"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -575,7 +599,8 @@
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/rock_wall.dmi'
icon_state = "rock2"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
base_icon_state = "rock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
baseturfs = /turf/open/floor/plating/ashplanet/wateryrock
initial_gas_mix = OPENTURF_LOW_PRESSURE
@@ -588,7 +613,8 @@
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/mountain_wall.dmi'
icon_state = "mountainrock"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
baseturfs = /turf/open/floor/plating/asteroid/snow
initial_gas_mix = FROZEN_ATMOS
@@ -606,7 +632,8 @@
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
icon_state = "icerock"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_BORDER
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
environment_type = "snow_cavern"
turf_type = /turf/open/floor/plating/asteroid/snow/ice
@@ -716,6 +743,8 @@
environment_type = "snow_cavern"
icon_state = "icerock_Gibtonite"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = FROZEN_ATMOS
@@ -735,6 +764,8 @@
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
defer_change = 1
smooth_icon = 'icons/turf/walls/rock_wall.dmi'
base_icon_state = "rock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
/turf/closed/mineral/strong/attackby(obj/item/I, mob/user, params)
if(!ishuman(user))
@@ -2,8 +2,9 @@
name = "wall"
desc = "A huge chunk of material used to separate rooms."
icon = 'icons/turf/walls/materialwall.dmi'
icon_state = "wall"
smoothing_flags = SMOOTH_CORNERS
icon_state = "materialwall-0"
base_icon_state = "materialwall"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_MATERIAL_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MATERIAL_WALLS)
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
+54 -22
View File
@@ -21,8 +21,10 @@
name = "silver wall"
desc = "A wall with silver plating. Shiny!"
icon = 'icons/turf/walls/silver_wall.dmi'
icon_state = "silver"
icon_state = "silver_wall-0"
base_icon_state = "silver_wall"
sheet_type = /obj/item/stack/sheet/mineral/silver
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SILVER_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SILVER_WALLS)
@@ -30,10 +32,12 @@
name = "diamond wall"
desc = "A wall with diamond plating. You monster."
icon = 'icons/turf/walls/diamond_wall.dmi'
icon_state = "diamond"
icon_state = "diamond_wall-0"
base_icon_state = "diamond_wall"
sheet_type = /obj/item/stack/sheet/mineral/diamond
slicing_duration = 200 //diamond wall takes twice as much time to slice
explosion_block = 3
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS)
canSmoothWith = list(SMOOTH_GROUP_DIAMOND_WALLS)
@@ -44,8 +48,10 @@
name = "bananium wall"
desc = "A wall with bananium plating. Honk!"
icon = 'icons/turf/walls/bananium_wall.dmi'
icon_state = "bananium"
icon_state = "bananium_wall-0"
base_icon_state = "bananium_wall"
sheet_type = /obj/item/stack/sheet/mineral/bananium
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BANANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BANANIUM_WALLS)
@@ -53,9 +59,11 @@
name = "sandstone wall"
desc = "A wall with sandstone plating. Rough."
icon = 'icons/turf/walls/sandstone_wall.dmi'
icon_state = "sandstone"
icon_state = "sandstone_wall-0"
base_icon_state = "sandstone_wall"
sheet_type = /obj/item/stack/sheet/mineral/sandstone
explosion_block = 0
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SANDSTONE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SANDSTONE_WALLS)
@@ -64,8 +72,10 @@
name = "uranium wall"
desc = "A wall with uranium plating. This is probably a bad idea."
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium"
icon_state = "uranium_wall-0"
base_icon_state = "uranium_wall"
sheet_type = /obj/item/stack/sheet/mineral/uranium
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_URANIUM_WALLS)
@@ -100,9 +110,11 @@
name = "plasma wall"
desc = "A wall with plasma plating. This is definitely a bad idea."
icon = 'icons/turf/walls/plasma_wall.dmi'
icon_state = "plasma"
icon_state = "plasma_wall-0"
base_icon_state = "plasma_wall"
sheet_type = /obj/item/stack/sheet/mineral/plasma
thermal_conductivity = 0.04
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
@@ -139,10 +151,12 @@
name = "wooden wall"
desc = "A wall with wooden plating. Stiff."
icon = 'icons/turf/walls/wood_wall.dmi'
icon_state = "wood"
icon_state = "wood_wall-0"
base_icon_state = "wood_wall"
sheet_type = /obj/item/stack/sheet/mineral/wood
hardness = 70
explosion_block = 0
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
@@ -168,8 +182,10 @@
name = "rough metal wall"
desc = "A wall with rough metal plating."
icon = 'icons/turf/walls/iron_wall.dmi'
icon_state = "iron"
icon_state = "iron_wall-0"
base_icon_state = "iron_wall"
sheet_type = /obj/item/stack/rods
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
@@ -177,7 +193,9 @@
name = "packed snow wall"
desc = "A wall made of densely packed snow blocks."
icon = 'icons/turf/walls/snow_wall.dmi'
icon_state = "snow"
icon_state = "snow_wall-0"
base_icon_state = "snow_wall"
smoothing_flags = SMOOTH_BLOB
hardness = 80
explosion_block = 0
slicing_duration = 30
@@ -194,11 +212,12 @@
name = "alien wall"
desc = "A wall with alien alloy plating."
icon = 'icons/turf/walls/abductor_wall.dmi'
icon_state = "abductor"
icon_state = "abductor_wall-0"
base_icon_state = "abductor_wall"
sheet_type = /obj/item/stack/sheet/mineral/abductor
slicing_duration = 200 //alien wall takes twice as much time to slice
explosion_block = 3
smoothing_flags = SMOOTH_CORNERS|SMOOTH_DIAGONAL
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
@@ -208,12 +227,13 @@
name = "wall"
desc = "A light-weight titanium wall used in shuttles."
icon = 'icons/turf/walls/shuttle_wall.dmi'
icon_state = "map-shuttle"
icon_state = "shuttle_wall-0"
base_icon_state = "shuttle_wall"
explosion_block = 3
flags_1 = CAN_BE_DIRTY_1
flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD
sheet_type = /obj/item/stack/sheet/mineral/titanium
smoothing_flags = SMOOTH_CORNERS | SMOOTH_DIAGONAL
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
@@ -221,8 +241,10 @@
return // titanium does not rust
/turf/closed/wall/mineral/titanium/nodiagonal
smoothing_flags = SMOOTH_CORNERS
icon = 'icons/turf/walls/shuttle_nodiag_wall.dmi'
icon_state = "map-shuttle_nd"
base_icon_state = "shuttle_nodiag_wall"
smoothing_flags = SMOOTH_BLOB
/turf/closed/wall/mineral/titanium/nosmooth
icon = 'icons/turf/shuttle.dmi'
@@ -231,7 +253,8 @@
/turf/closed/wall/mineral/titanium/overspace
icon_state = "map-overspace"
fixed_underlay = list("space"=1)
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
fixed_underlay = list("space" = TRUE)
//sub-type to be used for interior shuttle walls
//won't get an underlay of the destination turf on shuttle move
@@ -260,12 +283,16 @@
name = "pod wall"
desc = "An easily-compressable wall used for temporary shelter."
icon = 'icons/turf/walls/survival_pod_walls.dmi'
icon_state = "smooth"
smoothing_flags = SMOOTH_CORNERS | SMOOTH_DIAGONAL
icon_state = "survival_pod_walls-0"
base_icon_state = "survival_pod_walls"
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_SHUTTLE_PARTS)
/turf/closed/wall/mineral/titanium/survival/nodiagonal
smoothing_flags = SMOOTH_CORNERS
icon = 'icons/turf/walls/survival_pod_nodiag_walls.dmi'
icon_state = "survival_pod_nodiag_walls-0"
base_icon_state = "survival_pod_nodiag_walls"
smoothing_flags = SMOOTH_BLOB
/turf/closed/wall/mineral/titanium/survival/pod
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_SURVIVAL_TIANIUM_POD)
@@ -277,10 +304,11 @@
name = "wall"
desc = "A durable wall made of an alloy of plasma and titanium."
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "map-shuttle"
icon_state = "plastitanium_wall-0"
base_icon_state = "plastitanium_wall"
explosion_block = 4
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
smoothing_flags = SMOOTH_CORNERS | SMOOTH_DIAGONAL
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
@@ -288,8 +316,10 @@
return // plastitanium does not rust
/turf/closed/wall/mineral/plastitanium/nodiagonal
smoothing_flags = SMOOTH_CORNERS
icon = 'icons/turf/walls/plastitanium_nodiag_wall.dmi'
icon_state = "map-shuttle_nd"
base_icon_state = "plastitanium_nodiag_wall"
smoothing_flags = SMOOTH_BLOB
/turf/closed/wall/mineral/plastitanium/nosmooth
icon = 'icons/turf/shuttle.dmi'
@@ -298,7 +328,9 @@
/turf/closed/wall/mineral/plastitanium/overspace
icon_state = "map-overspace"
fixed_underlay = list("space"=1)
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
fixed_underlay = list("space" = TRUE)
/turf/closed/wall/mineral/plastitanium/explosive/ex_act(severity)
var/obj/item/bombcore/large/bombcore = new(get_turf(src))
+15 -4
View File
@@ -2,8 +2,9 @@
name = "runed metal wall"
desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound."
icon = 'icons/turf/walls/cult_wall.dmi'
icon_state = "cult"
smoothing_flags = SMOOTH_CORNERS
icon_state = "cult_wall-0"
base_icon_state = "cult_wall"
smoothing_flags = SMOOTH_BLOB
canSmoothWith = null
sheet_type = /obj/item/stack/sheet/runed_metal
sheet_amount = 1
@@ -43,8 +44,10 @@
/turf/closed/wall/ice
icon = 'icons/turf/walls/icedmetal_wall.dmi'
icon_state = "iced"
icon_state = "icedmetal_wall-0"
base_icon_state = "icedmetal_wall"
desc = "A wall covered in a thick sheet of ice."
smoothing_flags = SMOOTH_BLOB
canSmoothWith = null
hardness = 35
slicing_duration = 150 //welding through the ice+metal
@@ -54,6 +57,9 @@
name = "rusted wall"
desc = "A rusted metal wall."
icon = 'icons/turf/walls/rusty_wall.dmi'
icon_state = "rusty_wall-0"
base_icon_state = "rusty_wall"
smoothing_flags = SMOOTH_BLOB
hardness = 45
/turf/closed/wall/rust/rust_heretic_act()
@@ -63,6 +69,9 @@
name = "rusted reinforced wall"
desc = "A huge chunk of rusted reinforced metal."
icon = 'icons/turf/walls/rusty_reinforced_wall.dmi'
icon_state = "rusty_reinforced_wall-0"
base_icon_state = "rusty_reinforced_wall"
smoothing_flags = SMOOTH_BLOB
hardness = 15
/turf/closed/wall/r_wall/rust/rust_heretic_act()
@@ -74,7 +83,9 @@
name = "clockwork wall"
desc = "A huge chunk of bronze, decorated like gears and cogs."
icon = 'icons/turf/walls/clockwork_wall.dmi'
icon_state = "clockwork_wall"
icon_state = "clockwork_wall-0"
base_icon_state = "clockwork_wall"
smoothing_flags = SMOOTH_BLOB
sheet_type = /obj/item/stack/tile/bronze
sheet_amount = 2
girder_type = /obj/structure/girder/bronze
+16 -12
View File
@@ -2,17 +2,20 @@
name = "reinforced wall"
desc = "A huge chunk of reinforced metal used to separate rooms."
icon = 'icons/turf/walls/reinforced_wall.dmi'
icon_state = "r_wall"
icon_state = "reinforced_wall-0"
base_icon_state = "reinforced_wall"
opacity = TRUE
density = TRUE
var/d_state = INTACT
smoothing_flags = SMOOTH_BLOB
hardness = 10
sheet_type = /obj/item/stack/sheet/plasteel
sheet_amount = 1
girder_type = /obj/structure/girder/reinforced
explosion_block = 2
rad_insulation = RAD_HEAVY_INSULATION
///Dismantled state, related to deconstruction.
var/d_state = INTACT
/turf/closed/wall/r_wall/deconstruction_hints(mob/user)
switch(d_state)
@@ -197,9 +200,8 @@
. = ..()
if(d_state != INTACT)
smoothing_flags = NONE
clear_smooth_overlays()
else
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB
QUEUE_SMOOTH_NEIGHBORS(src)
QUEUE_SMOOTH(src)
@@ -207,7 +209,7 @@
if(d_state != INTACT)
icon_state = "r_wall-[d_state]"
else
icon_state = "r_wall"
icon_state = "[base_icon_state]-[smoothing_junction]"
/turf/closed/wall/r_wall/wall_singularity_pull(current_size)
if(current_size >= STAGE_FIVE)
@@ -234,10 +236,11 @@
name = "hull"
desc = "The armored hull of an ominous looking ship."
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "map-shuttle"
icon_state = "plastitanium_wall-0"
base_icon_state = "plastitanium_wall"
explosion_block = 20
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
smoothing_flags = SMOOTH_CORNERS | SMOOTH_DIAGONAL
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
@@ -245,8 +248,10 @@
return FALSE
/turf/closed/wall/r_wall/syndicate/nodiagonal
smoothing_flags = SMOOTH_CORNERS
icon = 'icons/turf/walls/plastitanium_nodiag_wall.dmi'
icon_state = "map-shuttle_nd"
base_icon_state = "plastitanium_nodiag_wall"
smoothing_flags = SMOOTH_BLOB
/turf/closed/wall/r_wall/syndicate/nosmooth
icon = 'icons/turf/shuttle.dmi'
@@ -255,6 +260,5 @@
/turf/closed/wall/r_wall/syndicate/overspace
icon_state = "map-overspace"
fixed_underlay = list("space"=1)
smoothing_flags = SMOOTH_BLOB | SMOOTH_DIAGONAL
fixed_underlay = list("space" = TRUE)
+17 -2
View File
@@ -4,7 +4,8 @@
name = "wall"
desc = "A huge chunk of metal used to separate rooms."
icon = 'icons/turf/walls/wall.dmi'
icon_state = "wall"
icon_state = "wall-0"
base_icon_state = "wall"
explosion_block = 1
thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
@@ -14,7 +15,7 @@
flags_ricochet = RICOCHET_HARD
smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
@@ -27,16 +28,30 @@
var/list/dent_decals
/turf/closed/wall/Initialize(mapload)
. = ..()
if(is_station_level(z))
GLOB.station_turfs += src
if(smoothing_flags & SMOOTH_DIAGONAL && fixed_underlay) //Set underlays for the diagonal walls.
var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE)
if(fixed_underlay["space"])
underlay_appearance.icon = 'icons/turf/space.dmi'
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
else
underlay_appearance.icon = fixed_underlay["icon"]
underlay_appearance.icon_state = fixed_underlay["icon_state"]
fixed_underlay = string_assoc_list(fixed_underlay)
underlays += underlay_appearance
/turf/closed/wall/Destroy()
if(is_station_level(z))
GLOB.station_turfs -= src
return ..()
/turf/closed/wall/examine(mob/user)
. += ..()
. += deconstruction_hints(user)
+2 -2
View File
@@ -206,11 +206,11 @@
if(!.)
return
if(!broken && !burnt)
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
else
make_plating()
if(smoothing_flags)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
/turf/open/floor/carpet/black
+1 -1
View File
@@ -89,7 +89,7 @@ GLOBAL_LIST_EMPTY(station_turfs)
if(canSmoothWith[length(canSmoothWith)] > MAX_S_TURF) //If the last element is higher than the maximum turf-only value, then it must scan turf contents for smoothing targets.
smoothing_flags |= SMOOTH_OBJ
SET_BITFLAG_LIST(canSmoothWith)
if (smoothing_flags)
if (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
visibilityChanged()
+1 -1
View File
@@ -120,7 +120,7 @@
/turf/open/floor/holofloor/carpet/update_icon()
. = ..()
if(intact)
if(intact && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
/turf/open/floor/holofloor/wood
@@ -93,7 +93,7 @@ Difficulty: Hard
/datum/action/innate/megafauna_attack/hallucination_surround
name = "Surround Target"
icon_icon = 'icons/turf/walls/wall.dmi'
button_icon_state = "wall"
button_icon_state = "wall-0"
chosen_message = "<span class='colossus'>You are now surrounding the target you click on with hallucinations.</span>"
chosen_attack_num = 3
@@ -516,18 +516,23 @@ Difficulty: Hard
/obj/effect/temp_visual/hierophant/wall //smoothing and pooling were not friends, but pooling is dead.
name = "vortex wall"
icon = 'icons/turf/walls/hierophant_wall_temp.dmi'
icon_state = "wall"
icon_state = "hierophant_wall_temp-0"
base_icon_state = "hierophant_wall_temp"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL)
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
light_range = MINIMUM_USEFUL_LIGHT_RANGE
duration = 100
smoothing_flags = SMOOTH_CORNERS
/obj/effect/temp_visual/hierophant/wall/Initialize(mapload, new_caster)
. = ..()
QUEUE_SMOOTH_NEIGHBORS(src)
QUEUE_SMOOTH(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
QUEUE_SMOOTH(src)
/obj/effect/temp_visual/hierophant/wall/Destroy()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
return ..()
/obj/effect/temp_visual/hierophant/wall/CanAllowThrough(atom/movable/mover, turf/target)
@@ -73,7 +73,7 @@ Difficulty: Hard
/datum/action/innate/megafauna_attack/disorienting_scream
name = "Disorienting Scream"
icon_icon = 'icons/turf/walls/wall.dmi'
button_icon_state = "wall"
button_icon_state = "wall-0"
chosen_message = "<span class='colossus'>You are now screeching, disorienting targets around you.</span>"
chosen_attack_num = 3
@@ -302,9 +302,12 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/effect/temp_visual/elite_tumor_wall
name = "magic wall"
icon = 'icons/turf/walls/hierophant_wall_temp.dmi'
icon_state = "wall"
icon_state = "hierophant_wall_temp-0"
base_icon_state = "hierophant_wall_temp"
smoothing_flags = SMOOTH_BLOB
smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL)
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
duration = 50
smoothing_flags = SMOOTH_CORNERS
layer = BELOW_MOB_LAYER
color = rgb(255,0,0)
light_range = MINIMUM_USEFUL_LIGHT_RANGE
@@ -314,11 +317,13 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/effect/temp_visual/elite_tumor_wall/Initialize(mapload, new_caster)
. = ..()
QUEUE_SMOOTH_NEIGHBORS(src)
QUEUE_SMOOTH(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
QUEUE_SMOOTH(src)
/obj/effect/temp_visual/elite_tumor_wall/Destroy()
QUEUE_SMOOTH_NEIGHBORS(src)
if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH_NEIGHBORS(src)
activator = null
ourelite = null
return ..()
@@ -52,6 +52,8 @@
turf_type = /turf/open/floor/plating/asteroid/basalt/wasteland
baseturfs = /turf/open/floor/plating/asteroid/basalt/wasteland
smooth_icon = 'icons/turf/walls/rock_wall.dmi'
base_icon_state = "rock_wall"
smoothing_flags = SMOOTH_BLOB | SMOOTH_BORDER
/turf/closed/mineral/strong/wasteland/drop_ores()
if(prob(10))
+2 -2
View File
@@ -12,7 +12,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate
setDir(angle2dir(rotation+dir2angle(dir)))
//resmooth if need be.
if(smoothing_flags && (params & ROTATE_SMOOTH))
if(params & ROTATE_SMOOTH && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BLOB))
QUEUE_SMOOTH(src)
//rotate the pixel offsets too.
@@ -30,7 +30,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate
/atom/movable/shuttleRotate(rotation, params)
. = ..()
//rotate the physical bounds and offsets for multitile atoms too. Owerride base "rotate the pixel offsets" for multitile atoms.
//Owerride non zero bound_x, bound_y, pixel_x, pixel_y to zero.
//Owerride non zero bound_x, bound_y, pixel_x, pixel_y to zero.
//Dont take in account starting bound_x, bound_y, pixel_x, pixel_y.
//So it can unintentionally shift physical bounds of things that starts with non zero bound_x, bound_y.
if(((bound_height != world.icon_size) || (bound_width != world.icon_size)) && (bound_x==0) && (bound_y==0)) //Dont shift things that have non zero bound_x and bound_y, or it move somewhere. Now it BSA and Gateway.
@@ -0,0 +1,4 @@
/atom/movable/vis_obj
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
move_resist = INFINITY
vis_flags = VIS_INHERIT_PLANE
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 507 B

After

Width:  |  Height:  |  Size: 960 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1016 B

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB