Smoothing groups optimization, save 265ms with configs, more on production & w/ space ruins (#71989)

This one is fun.

On every /turf/Initialize and /atom/Initialize, we try to set
`smoothing_groups` and `canSmoothWith` to a cached list of bitfields. At
the type level, these are specified as lists of IDs, which are then
`Join`ed in Initialize, and retrieved from the cache (or built from
there).

The problem is that the cache only misses about 60 times, but the cache
hits more than a hundred thousand times. This means we eat the cost of
`Join` (which is very very slow, because strings + BYOND), as well as
the preliminary `length` checks, for every single atom.

Furthermore, as you might remember, if you have any list variable set on
a type, it'll create a hidden `(init)` proc to create the list. On
turfs, that costs us about 60ms.

This PR does a cool trick where we can completely eliminate the `Join`
*and* the lists at the cost of a little more work when building the
cache.

The trick is that we replace the current type definitions with this:

```patch
- smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_ASH)
- canSmoothWith = list(SMOOTH_GROUP_FLOOR_ASH, SMOOTH_GROUP_CLOSED_TURFS)
+ smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_ASH
+ canSmoothWith = SMOOTH_GROUP_FLOOR_ASH + SMOOTH_GROUP_CLOSED_TURFS
```

These defines, instead of being numbers, are now segments of a string,
delimited by commas.

For instance, if ASH used to be 13, and CLOSED_TURFS used to be 37, this
used to equal `list(13, 37)`. Now, it equals `"13,37,"`.

Then, when the cache misses, we take that string, and treat it as part
of a JSON list, and decode it from there. Meaning:

```java
// Starting value
"13,37,"

// We have a trailing comma, so add a dummy value
"13,37,0"

// Make it an array
"[13,37,0]"

// Decode
list(13, 37, 0)

// Chop off the dummy value
list(13, 37) // Done!
```

This on its own eliminates 265ms *without space ruins*, with the
combined savings of turf/Initialize, atom/Initialize, and the hidden
(init) procs that no longer exist.

Furthermore, there's some other fun stuff we gain from this approach
emergently.

We previously had a difference between `S_TURF` and `S_OBJ`. The idea is
that if you have any smoothing groups with `S_OBJ`, then you will gain
the `SMOOTH_OBJ` bitflag (though note to self, I need to check that the
cost of adding this is actually worth it). This is achieved by the fact
that `S_OBJ` simply takes the last turf, and adds onto that, meaning
that if the biggest value in the sorting groups is greater than that,
then we know we're going to be smoothing to objects.

This new method provides a limitation here. BYOND has no way of
converting a number to a string at compile time, meaning that we can't
evaluate `MAX_S_TURF + offset` into a string. Instead, in order to
preserve the nice UX, `S_OBJ` now instead opts to make the numbers
negative. This means that what used to be something like:

```dm
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN, SMOOTH_GROUP_ALIEN_WEEDS)
```

...which may have been represented as

```dm
smoothing_groups = list(15, MAX_S_TURF + 3)
```

...will now become, at compile time:

```dm
smoothing_groups = "15,-3,"
```

Except! Because we guarantee smoothing groups are sorted through unit
testing, this is actually going to look like:

```dm
smoothing_groups = "-3,15,"
```

Meaning that we can now check if we're smoothing with objects just by
checking if `smoothing_groups[1] == "-"`, as that's the only way that is
possible. Neat!

Furthermore, though much simpler, what used to be `if
(length(smoothing_groups))` (and canSmoothWith) on every single
atom/Initialize and turf/Initialize can now be `if (smoothing_groups)`,
since empty strings are falsy. `length` is about 15% slower than doing
nothing, so in procs as hot as this, this gives some nice gains just on
its own.

For developers, very little changes. Instead of using `list`, you now
use `+`. The order might change, as `S_OBJ` now needs to come first, but
unit tests will catch you if you mess up. Also, you will notice that all
`S_OBJ` have been increased by one. This is because we used to have
`S_TURF(0)` and `S_OBJ(0)`, but with this new trick, -0 == 0, and so
they conflicted and needed to be changed.
This commit is contained in:
Mothblocks
2022-12-17 02:34:31 -08:00
committed by GitHub
parent b241d6dd43
commit 75439c71f2
40 changed files with 391 additions and 383 deletions
+75 -47
View File
@@ -34,7 +34,8 @@ DEFINE_BITFIELD(smoothing_flags, list(
* * Matched with the `list/canSmoothWith` variable to check whether smoothing is possible or not.
*/
#define S_TURF(num) ((24 * 0) + num) //Not any different from the number itself, but kept this way in case someone wants to expand it by adding stuff before it.
#define S_TURF(num) (#num + ",")
/* /turf only */
#define SMOOTH_GROUP_TURF_OPEN S_TURF(0) ///turf/open
@@ -102,65 +103,92 @@ DEFINE_BITFIELD(smoothing_flags, list(
#define SMOOTH_GROUP_BOSS_WALLS S_TURF(58) ///turf/closed/indestructible/riveted/boss
#define SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS S_TURF(59) ///turf/closed/wall/mineral/titanium/survival
#define MAX_S_TURF SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS //Always match this value with the one above it.
#define MAX_S_TURF 59 //Always match this value with the one above it.
#define S_OBJ(num) (MAX_S_TURF + 1 + num)
#define S_OBJ(num) ("-" + #num + ",")
/* /obj included */
#define SMOOTH_GROUP_WALLS S_OBJ(0) ///turf/closed/wall, /obj/structure/falsewall
#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(1) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium
#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(2) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold
#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(3) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver
#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(4) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond
#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(5) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma
#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(6) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium
#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(7) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone
#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(8) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood
#define SMOOTH_GROUP_IRON_WALLS S_OBJ(9) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron
#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(10) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor
#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_TITANIUM_POD S_OBJ(14) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/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_BAMBOO_WALLS S_TURF(16) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo]
#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(17) //![turf/closed/indestructible/riveted/plastinum]
#define SMOOTH_GROUP_WALLS S_OBJ(1) ///turf/closed/wall, /obj/structure/falsewall
#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(2) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium
#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(3) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold
#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(4) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver
#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(5) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond
#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(6) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma
#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(7) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium
#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(8) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone
#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(9) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood
#define SMOOTH_GROUP_IRON_WALLS S_OBJ(10) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron
#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(11) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor
#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(12) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium
#define SMOOTH_GROUP_PLASTITANIUM_WALLS S_OBJ(14) ///turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
#define SMOOTH_GROUP_SURVIVAL_TITANIUM_POD S_OBJ(15) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod
#define SMOOTH_GROUP_HIERO_WALL S_OBJ(16) ///obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
#define SMOOTH_GROUP_BAMBOO_WALLS S_TURF(17) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo]
#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(18) //![turf/closed/indestructible/riveted/plastinum]
#define SMOOTH_GROUP_PAPERFRAME S_OBJ(20) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
#define SMOOTH_GROUP_PAPERFRAME S_OBJ(21) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(21) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(22) ///obj/structure/window/bronze/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(23) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(24) ///obj/structure/window/reinforced/shuttle
#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(22) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(23) ///obj/structure/window/bronze/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(24) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(25) ///obj/structure/window/reinforced/shuttle
#define SMOOTH_GROUP_LATTICE S_OBJ(30) ///obj/structure/lattice
#define SMOOTH_GROUP_CATWALK S_OBJ(31) ///obj/structure/lattice/catwalk
#define SMOOTH_GROUP_LATTICE S_OBJ(31) ///obj/structure/lattice
#define SMOOTH_GROUP_CATWALK S_OBJ(32) ///obj/structure/lattice/catwalk
#define SMOOTH_GROUP_AIRLOCK S_OBJ(40) ///obj/machinery/door/airlock
#define SMOOTH_GROUP_AIRLOCK S_OBJ(41) ///obj/machinery/door/airlock
#define SMOOTH_GROUP_TABLES S_OBJ(50) ///obj/structure/table
#define SMOOTH_GROUP_WOOD_TABLES S_OBJ(51) ///obj/structure/table/wood
#define SMOOTH_GROUP_FANCY_WOOD_TABLES S_OBJ(52) ///obj/structure/table/wood/fancy
#define SMOOTH_GROUP_BRONZE_TABLES S_OBJ(53) ///obj/structure/table/bronze
#define SMOOTH_GROUP_ABDUCTOR_TABLES S_OBJ(54) ///obj/structure/table/abductor
#define SMOOTH_GROUP_GLASS_TABLES S_OBJ(55) ///obj/structure/table/glass
#define SMOOTH_GROUP_TABLES S_OBJ(51) ///obj/structure/table
#define SMOOTH_GROUP_WOOD_TABLES S_OBJ(52) ///obj/structure/table/wood
#define SMOOTH_GROUP_FANCY_WOOD_TABLES S_OBJ(53) ///obj/structure/table/wood/fancy
#define SMOOTH_GROUP_BRONZE_TABLES S_OBJ(54) ///obj/structure/table/bronze
#define SMOOTH_GROUP_ABDUCTOR_TABLES S_OBJ(55) ///obj/structure/table/abductor
#define SMOOTH_GROUP_GLASS_TABLES S_OBJ(56) ///obj/structure/table/glass
#define SMOOTH_GROUP_ALIEN_NEST S_OBJ(59) ///obj/structure/bed/nest
#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(60) ///obj/structure/alien/resin
#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(61) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(62) ///obj/structure/alien/weeds
#define SMOOTH_GROUP_ALIEN_NEST S_OBJ(60) ///obj/structure/bed/nest
#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(61) ///obj/structure/alien/resin
#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(62) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(63) ///obj/structure/alien/weeds
#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(63) ///obj/structure/barricade/security
#define SMOOTH_GROUP_SANDBAGS S_OBJ(64) ///obj/structure/barricade/sandbags
#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(64) ///obj/structure/barricade/security
#define SMOOTH_GROUP_SANDBAGS S_OBJ(65) ///obj/structure/barricade/sandbags
#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(65) ///obj/structure/hedge
#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(66) ///obj/structure/hedge
#define SMOOTH_GROUP_SHUTTLE_PARTS S_OBJ(66) ///obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine
#define SMOOTH_GROUP_SHUTTLE_PARTS S_OBJ(67) ///obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine
#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(67) ///obj/effect/decal/cleanable/dirt
#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(68) ///obj/effect/decal/cleanable/dirt
#define SMOOTH_GROUP_INDUSTRIAL_LIFT S_OBJ(70) ///obj/structure/industrial_lift
#define SMOOTH_GROUP_INDUSTRIAL_LIFT S_OBJ(71) ///obj/structure/industrial_lift
#define SMOOTH_GROUP_GAS_TANK S_OBJ(71)
#define SMOOTH_GROUP_GAS_TANK S_OBJ(72)
#define MAX_S_OBJ SMOOTH_GROUP_GAS_TANK //Always match this value with the one above it.
/// Performs the work to set smoothing_groups and canSmoothWith.
/// An inlined function used in both turf/Initialize and atom/Initialize.
#define SETUP_SMOOTHING(...) \
if (smoothing_groups) { \
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_groups); \
} \
SET_SMOOTHING_GROUPS(smoothing_groups); \
} \
\
if (canSmoothWith) { \
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
ASSERT_SORTED_SMOOTHING_GROUPS(canSmoothWith); \
} \
/* S_OBJ is always negative, and we are guaranteed to be sorted. */ \
if (canSmoothWith[1] == "-") { \
smoothing_flags |= SMOOTH_OBJ; \
} \
SET_SMOOTHING_GROUPS(canSmoothWith); \
}
/// Given a smoothing groups variable, will set out to the actual numbers inside it
#define UNWRAP_SMOOTHING_GROUPS(smoothing_groups, out) \
json_decode("\[[##smoothing_groups]0\]"); \
##out.len--;
#define ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_group_variable) \
var/list/unwrapped = UNWRAP_SMOOTHING_GROUPS(smoothing_group_variable, unwrapped); \
assert_sorted(unwrapped, "[#smoothing_group_variable] ([type])"); \
+9 -6
View File
@@ -11,15 +11,18 @@ GLOBAL_LIST_EMPTY(bitflag_lists)
* Arguments:
* * target - List of integers.
*/
#define SET_BITFLAG_LIST(target) \
#define SET_SMOOTHING_GROUPS(target) \
do { \
var/txt_signature = target.Join("-"); \
if(!GLOB.bitflag_lists[txt_signature]) { \
var/txt_signature = target; \
if(isnull((target = GLOB.bitflag_lists[txt_signature]))) { \
var/list/new_bitflag_list = list(); \
for(var/value in target) { \
var/list/decoded = UNWRAP_SMOOTHING_GROUPS(txt_signature, decoded); \
for(var/value in decoded) { \
if (value < 0) { \
value = MAX_S_TURF + 1 + abs(value); \
} \
new_bitflag_list["[round(value / 24)]"] |= (1 << (value % 24)); \
}; \
GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
target = GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
}; \
target = GLOB.bitflag_lists[txt_signature]; \
} while (FALSE)
+1 -14
View File
@@ -258,20 +258,7 @@
if (light_system == STATIC_LIGHT && light_power && light_range)
update_light()
if (length(smoothing_groups))
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups))
assert_sorted(smoothing_groups, "[type].smoothing_groups")
SET_BITFLAG_LIST(smoothing_groups)
if (length(canSmoothWith))
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups))
assert_sorted(canSmoothWith, "[type].canSmoothWith")
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)
SETUP_SMOOTHING()
if(uses_integrity)
if (islist(armor))
+2 -2
View File
@@ -122,8 +122,8 @@
pass_flags_self = LETPASSTHROW
bar_material = SAND
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_SANDBAGS)
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SECURITY_BARRICADE, SMOOTH_GROUP_SANDBAGS)
smoothing_groups = SMOOTH_GROUP_SANDBAGS
canSmoothWith = SMOOTH_GROUP_SANDBAGS + SMOOTH_GROUP_SECURITY_BARRICADE + SMOOTH_GROUP_WALLS
/obj/structure/barricade/sandbags/Initialize(mapload)
. = ..()
+1 -1
View File
@@ -96,7 +96,7 @@
autoclose = TRUE
explosion_block = 1
hud_possible = list(DIAG_AIRLOCK_HUD)
smoothing_groups = list(SMOOTH_GROUP_AIRLOCK)
smoothing_groups = SMOOTH_GROUP_AIRLOCK
interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN
blocks_emissive = NONE // Custom emissive blocker. We don't want the normal behavior.
@@ -66,8 +66,8 @@
icon_state = "dirt"
base_icon_state = "dirt"
smoothing_flags = NONE
smoothing_groups = list(SMOOTH_GROUP_CLEANABLE_DIRT)
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CLEANABLE_DIRT)
smoothing_groups = SMOOTH_GROUP_CLEANABLE_DIRT
canSmoothWith = SMOOTH_GROUP_CLEANABLE_DIRT + SMOOTH_GROUP_WALLS
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
beauty = -75
+8 -8
View File
@@ -59,8 +59,8 @@
opacity = TRUE
anchored = TRUE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN)
canSmoothWith = list(SMOOTH_GROUP_ALIEN_RESIN)
smoothing_groups = SMOOTH_GROUP_ALIEN_RESIN
canSmoothWith = SMOOTH_GROUP_ALIEN_RESIN
max_integrity = 200
var/resintype = null
can_atmos_pass = ATMOS_PASS_DENSITY
@@ -86,8 +86,8 @@
icon_state = "resin_wall-0"
base_icon_state = "resin_wall"
resintype = "wall"
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN, SMOOTH_GROUP_ALIEN_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ALIEN_WALLS)
smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN
canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS
/obj/structure/alien/resin/wall/block_superconductivity()
return 1
@@ -111,8 +111,8 @@
opacity = FALSE
max_integrity = 160
resintype = "membrane"
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN, SMOOTH_GROUP_ALIEN_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ALIEN_WALLS)
smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN
canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS
/obj/structure/alien/resin/attack_paw(mob/user, list/modifiers)
return attack_hand(user, modifiers)
@@ -142,8 +142,8 @@
base_icon_state = "weeds1"
max_integrity = 15
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN, SMOOTH_GROUP_ALIEN_WEEDS)
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ALIEN_WEEDS)
smoothing_groups = SMOOTH_GROUP_ALIEN_WEEDS + SMOOTH_GROUP_ALIEN_RESIN
canSmoothWith = SMOOTH_GROUP_ALIEN_WEEDS + SMOOTH_GROUP_WALLS
///the range of the weeds going to be affected by the node
var/node_range = NODERANGE
///the parent node that will determine if we grow or die
@@ -9,8 +9,8 @@
max_integrity = 120
can_be_unanchored = FALSE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_ALIEN_NEST)
canSmoothWith = list(SMOOTH_GROUP_ALIEN_NEST)
smoothing_groups = SMOOTH_GROUP_ALIEN_NEST
canSmoothWith = SMOOTH_GROUP_ALIEN_NEST
buildstacktype = null
flags_1 = NODECONSTRUCT_1
bolts = FALSE
+30 -30
View File
@@ -13,8 +13,8 @@
opacity = TRUE
max_integrity = 100
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
can_be_unanchored = FALSE
can_atmos_pass = ATMOS_PASS_DENSITY
rad_insulation = RAD_MEDIUM_INSULATION
@@ -177,8 +177,8 @@
mineral = /obj/item/stack/sheet/mineral/uranium
walltype = /turf/closed/wall/mineral/uranium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_URANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS
/// Mutex to prevent infinite recursion when propagating radiation pulses
var/active = null
@@ -228,8 +228,8 @@
mineral = /obj/item/stack/sheet/mineral/gold
walltype = /turf/closed/wall/mineral/gold
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_GOLD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_GOLD_WALLS)
smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_GOLD_WALLS
/obj/structure/falsewall/silver
name = "silver wall"
@@ -240,8 +240,8 @@
mineral = /obj/item/stack/sheet/mineral/silver
walltype = /turf/closed/wall/mineral/silver
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SILVER_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SILVER_WALLS)
smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SILVER_WALLS
/obj/structure/falsewall/diamond
name = "diamond wall"
@@ -252,8 +252,8 @@
mineral = /obj/item/stack/sheet/mineral/diamond
walltype = /turf/closed/wall/mineral/diamond
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS)
canSmoothWith = list(SMOOTH_GROUP_DIAMOND_WALLS)
smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS
max_integrity = 800
/obj/structure/falsewall/plasma
@@ -265,8 +265,8 @@
mineral = /obj/item/stack/sheet/mineral/plasma
walltype = /turf/closed/wall/mineral/plasma
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS
/obj/structure/falsewall/bananium
name = "bananium wall"
@@ -277,8 +277,8 @@
mineral = /obj/item/stack/sheet/mineral/bananium
walltype = /turf/closed/wall/mineral/bananium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BANANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BANANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS
/obj/structure/falsewall/sandstone
@@ -290,8 +290,8 @@
mineral = /obj/item/stack/sheet/mineral/sandstone
walltype = /turf/closed/wall/mineral/sandstone
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SANDSTONE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SANDSTONE_WALLS)
smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS
/obj/structure/falsewall/wood
name = "wooden wall"
@@ -302,8 +302,8 @@
mineral = /obj/item/stack/sheet/mineral/wood
walltype = /turf/closed/wall/mineral/wood
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_WOOD_WALLS
/obj/structure/falsewall/bamboo
name = "bamboo wall"
@@ -312,8 +312,8 @@
mineral = /obj/item/stack/sheet/mineral/bamboo
walltype = /turf/closed/wall/mineral/bamboo
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_BAMBOO_WALLS, SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BAMBOO_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS
/obj/structure/falsewall/iron
name = "rough iron wall"
@@ -326,8 +326,8 @@
walltype = /turf/closed/wall/mineral/iron
base_icon_state = "iron_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_IRON_WALLS
/obj/structure/falsewall/abductor
name = "alien wall"
@@ -338,8 +338,8 @@
mineral = /obj/item/stack/sheet/mineral/abductor
walltype = /turf/closed/wall/mineral/abductor
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS
/obj/structure/falsewall/titanium
name = "wall"
@@ -350,8 +350,8 @@
mineral = /obj/item/stack/sheet/mineral/titanium
walltype = /turf/closed/wall/mineral/titanium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS
/obj/structure/falsewall/plastitanium
name = "wall"
@@ -362,8 +362,8 @@
mineral = /obj/item/stack/sheet/mineral/plastitanium
walltype = /turf/closed/wall/mineral/plastitanium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS
/obj/structure/falsewall/material
name = "wall"
@@ -373,8 +373,8 @@
base_icon_state = "materialwall"
walltype = /turf/closed/wall/material
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MATERIAL_WALLS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MATERIAL_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS
canSmoothWith = SMOOTH_GROUP_MATERIAL_WALLS
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
/obj/structure/falsewall/material/deconstruct(disassembled = TRUE)
+6 -6
View File
@@ -12,8 +12,8 @@
plane = FLOOR_PLANE
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_LATTICE)
canSmoothWith = list(SMOOTH_GROUP_OPEN_FLOOR, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_LATTICE)
smoothing_groups = SMOOTH_GROUP_LATTICE
canSmoothWith = SMOOTH_GROUP_LATTICE + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_OPEN_FLOOR
var/number_of_mats = 1
var/build_material = /obj/item/stack/rods
@@ -77,8 +77,8 @@
base_icon_state = "catwalk"
number_of_mats = 2
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_OPEN_FLOOR, SMOOTH_GROUP_LATTICE, SMOOTH_GROUP_CATWALK)
canSmoothWith = list(SMOOTH_GROUP_CATWALK)
smoothing_groups = SMOOTH_GROUP_CATWALK + SMOOTH_GROUP_LATTICE + SMOOTH_GROUP_OPEN_FLOOR
canSmoothWith = SMOOTH_GROUP_CATWALK
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP
/obj/structure/lattice/catwalk/deconstruction_hints(mob/user)
@@ -113,8 +113,8 @@
number_of_mats = 1
color = "#5286b9ff"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_OPEN_FLOOR, SMOOTH_GROUP_LATTICE)
canSmoothWith = list(SMOOTH_GROUP_LATTICE)
smoothing_groups = SMOOTH_GROUP_LATTICE + SMOOTH_GROUP_OPEN_FLOOR
canSmoothWith = SMOOTH_GROUP_LATTICE
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP
resistance_flags = FIRE_PROOF | LAVA_PROOF
+10 -10
View File
@@ -34,8 +34,8 @@
max_integrity = 100
integrity_failure = 0.33
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TABLES)
canSmoothWith = list(SMOOTH_GROUP_TABLES)
smoothing_groups = SMOOTH_GROUP_TABLES
canSmoothWith = SMOOTH_GROUP_TABLES
/obj/structure/table/Initialize(mapload, _buildstack)
. = ..()
@@ -387,8 +387,8 @@
base_icon_state = "glass_table"
custom_materials = list(/datum/material/glass = 2000)
buildstack = /obj/item/stack/sheet/glass
smoothing_groups = list(SMOOTH_GROUP_GLASS_TABLES)
canSmoothWith = list(SMOOTH_GROUP_GLASS_TABLES)
smoothing_groups = SMOOTH_GROUP_GLASS_TABLES
canSmoothWith = SMOOTH_GROUP_GLASS_TABLES
max_integrity = 70
resistance_flags = ACID_PROOF
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100)
@@ -477,8 +477,8 @@
buildstack = /obj/item/stack/sheet/mineral/wood
resistance_flags = FLAMMABLE
max_integrity = 70
smoothing_groups = list(SMOOTH_GROUP_WOOD_TABLES) //Don't smooth with SMOOTH_GROUP_TABLES
canSmoothWith = list(SMOOTH_GROUP_WOOD_TABLES)
smoothing_groups = SMOOTH_GROUP_WOOD_TABLES //Don't smooth with SMOOTH_GROUP_TABLES
canSmoothWith = SMOOTH_GROUP_WOOD_TABLES
/obj/structure/table/wood/narsie_act(total_override = TRUE)
if(!total_override)
@@ -504,8 +504,8 @@
frame = /obj/structure/table_frame
framestack = /obj/item/stack/rods
buildstack = /obj/item/stack/tile/carpet
smoothing_groups = list(SMOOTH_GROUP_FANCY_WOOD_TABLES) //Don't smooth with SMOOTH_GROUP_TABLES or SMOOTH_GROUP_WOOD_TABLES
canSmoothWith = list(SMOOTH_GROUP_FANCY_WOOD_TABLES)
smoothing_groups = SMOOTH_GROUP_FANCY_WOOD_TABLES //Don't smooth with SMOOTH_GROUP_TABLES or SMOOTH_GROUP_WOOD_TABLES
canSmoothWith = SMOOTH_GROUP_FANCY_WOOD_TABLES
var/smooth_icon = 'icons/obj/smooth_structures/fancy_table.dmi' // see Initialize()
/obj/structure/table/wood/fancy/Initialize(mapload)
@@ -629,8 +629,8 @@
base_icon_state = "brass_table"
resistance_flags = FIRE_PROOF | ACID_PROOF
buildstack = /obj/item/stack/sheet/bronze
smoothing_groups = list(SMOOTH_GROUP_BRONZE_TABLES) //Don't smooth with SMOOTH_GROUP_TABLES
canSmoothWith = list(SMOOTH_GROUP_BRONZE_TABLES)
smoothing_groups = SMOOTH_GROUP_BRONZE_TABLES //Don't smooth with SMOOTH_GROUP_TABLES
canSmoothWith = SMOOTH_GROUP_BRONZE_TABLES
/obj/structure/table/bronze/tablepush(mob/living/user, mob/living/pushed_mob)
..()
+18 -18
View File
@@ -641,8 +641,8 @@
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
glass_amount = 2
/obj/structure/window/fulltile/unanchored
@@ -656,8 +656,8 @@
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
glass_amount = 2
/obj/structure/window/plasma/fulltile/unanchored
@@ -672,8 +672,8 @@
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
glass_amount = 2
/obj/structure/window/reinforced/plasma/fulltile/unanchored
@@ -689,8 +689,8 @@
flags_1 = PREVENT_CLICK_UNDER_1
state = RWINDOW_SECURE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
glass_amount = 2
/obj/structure/window/reinforced/fulltile/unanchored
@@ -704,8 +704,8 @@
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
glass_amount = 2
/obj/structure/window/reinforced/fulltile/ice
@@ -731,8 +731,8 @@
heat_resistance = 1600
armor = list(MELEE = 90, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 0, FIRE = 80, ACID = 100)
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE, SMOOTH_GROUP_SHUTTLE_PARTS)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE)
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE
explosion_block = 3
glass_type = /obj/item/stack/sheet/titaniumglass
glass_amount = 2
@@ -771,8 +771,8 @@
heat_resistance = 1600
armor = list(MELEE = 95, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 0, FIRE = 80, ACID = 100)
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM, SMOOTH_GROUP_SHUTTLE_PARTS)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM)
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
explosion_block = 3
damage_deflection = 21 //The same as reinforced plasma windows.3
glass_type = /obj/item/stack/sheet/plastitaniumglass
@@ -803,8 +803,8 @@
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_PAPERFRAME)
canSmoothWith = list(SMOOTH_GROUP_PAPERFRAME)
smoothing_groups = SMOOTH_GROUP_PAPERFRAME
canSmoothWith = SMOOTH_GROUP_PAPERFRAME
glass_amount = 2
glass_type = /obj/item/stack/sheet/paperframes
heat_resistance = 233
@@ -887,8 +887,8 @@
icon_state = "clockwork_window-0"
base_icon_state = "clockwork_window"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
max_integrity = 50
+1 -1
View File
@@ -9,7 +9,7 @@
desc = "A bluespace engine used to make shuttles move."
icon = 'icons/turf/shuttle.dmi'
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS
armor = list(MELEE = 100, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) //default + ignores melee
can_atmos_pass = ATMOS_PASS_DENSITY
max_integrity = 500
+27 -27
View File
@@ -50,8 +50,8 @@
icon_state = "paperframes-0"
base_icon_state = "paperframes"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_PAPERFRAME)
canSmoothWith = list(SMOOTH_GROUP_PAPERFRAME)
smoothing_groups = SMOOTH_GROUP_PAPERFRAME
canSmoothWith = SMOOTH_GROUP_PAPERFRAME
var/static/mutable_appearance/indestructible_paper = mutable_appearance('icons/obj/smooth_structures/paperframes.dmi',icon_state = "paper", layer = CLOSED_TURF_LAYER - 0.1)
/turf/closed/indestructible/weeb/Initialize(mapload)
@@ -125,8 +125,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "reinforced_wall-0"
base_icon_state = "reinforced_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
/turf/closed/indestructible/riveted
@@ -134,16 +134,16 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
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)
smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = 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)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS
/turf/closed/indestructible/riveted/uranium
icon = 'icons/turf/walls/uranium_wall.dmi'
@@ -158,8 +158,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "plastinum_wall-0"
base_icon_state = "plastinum_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
smoothing_groups = list(SMOOTH_GROUP_PLASTINUM_WALLS, SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASTINUM_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_PLASTINUM_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_PLASTINUM_WALLS
/turf/closed/indestructible/riveted/plastinum/nodiagonal
icon_state = "map-shuttle_nd"
@@ -170,8 +170,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "wood_wall-0"
base_icon_state = "wood_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WOOD_WALLS
/turf/closed/indestructible/alien
@@ -181,8 +181,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "abductor_wall-0"
base_icon_state = "abductor_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS
/turf/closed/indestructible/cult
@@ -192,8 +192,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "cult_wall-0"
base_icon_state = "cult_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
/turf/closed/indestructible/abductor
@@ -210,8 +210,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
base_icon_state = "reinforced_window"
opacity = FALSE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE)
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE
/turf/closed/indestructible/fakeglass/Initialize(mapload)
. = ..()
@@ -225,8 +225,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
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)
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
/turf/closed/indestructible/opsglass/Initialize(mapload)
. = ..()
@@ -264,7 +264,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "icerock_wall-0"
base_icon_state = "icerock_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS
pixel_x = -4
pixel_y = -4
@@ -295,8 +295,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
icon_state = "iron_wall-0"
base_icon_state = "iron_wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_IRON_WALLS
opacity = FALSE
/turf/closed/indestructible/riveted/boss
@@ -306,8 +306,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
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)
smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_BOSS_WALLS
canSmoothWith = SMOOTH_GROUP_BOSS_WALLS
explosion_block = 50
baseturfs = /turf/closed/indestructible/riveted/boss
@@ -325,5 +325,5 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
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)
smoothing_groups = SMOOTH_GROUP_HIERO_WALL
canSmoothWith = SMOOTH_GROUP_HIERO_WALL
+6 -6
View File
@@ -35,8 +35,8 @@
/turf/closed/mineral/Initialize(mapload)
var/static/list/smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS)
var/static/list/canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS)
var/static/list/smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MINERAL_WALLS
var/static/list/canSmoothWith = SMOOTH_GROUP_MINERAL_WALLS
// The cost of the list() being in the type def is very large for something as common as minerals
src.smoothing_groups = smoothing_groups
@@ -334,7 +334,7 @@
icon_state = "mountainrock"
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS
defer_change = TRUE
turf_type = /turf/open/misc/asteroid/snow/icemoon
baseturfs = /turf/open/misc/asteroid/snow/icemoon
@@ -435,7 +435,7 @@
icon_state = "mountainrock"
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS
defer_change = TRUE
turf_type = /turf/open/misc/asteroid/snow/icemoon
baseturfs = /turf/open/misc/asteroid/snow/icemoon
@@ -565,7 +565,7 @@
icon_state = "rock2"
base_icon_state = "rock_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS
baseturfs = /turf/open/misc/ashplanet/wateryrock
initial_gas_mix = OPENTURF_LOW_PRESSURE
turf_type = /turf/open/misc/ashplanet/rocky
@@ -577,7 +577,7 @@
icon_state = "mountainrock"
base_icon_state = "mountain_wall"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS)
canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS
baseturfs = /turf/open/misc/asteroid/snow
initial_gas_mix = FROZEN_ATMOS
turf_type = /turf/open/misc/asteroid/snow
@@ -5,8 +5,8 @@
icon_state = "materialwall-0"
base_icon_state = "materialwall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MATERIAL_WALLS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MATERIAL_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS
canSmoothWith = SMOOTH_GROUP_MATERIAL_WALLS
rcd_memory = null
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
+29 -29
View File
@@ -16,8 +16,8 @@
sheet_type = /obj/item/stack/sheet/mineral/gold
hardness = 65 //gold is soft
explosion_block = 0 //gold is a soft metal you dingus.
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_GOLD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_GOLD_WALLS)
smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_GOLD_WALLS
custom_materials = list(/datum/material/gold = 4000)
/turf/closed/wall/mineral/silver
@@ -29,8 +29,8 @@
sheet_type = /obj/item/stack/sheet/mineral/silver
hardness = 65 //silver is also soft according to moh's scale
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SILVER_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SILVER_WALLS)
smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SILVER_WALLS
custom_materials = list(/datum/material/silver = 4000)
/turf/closed/wall/mineral/diamond
@@ -44,8 +44,8 @@
slicing_duration = 200 //diamond wall takes twice as much time to slice
explosion_block = 3
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS)
canSmoothWith = list(SMOOTH_GROUP_DIAMOND_WALLS)
smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS
custom_materials = list(/datum/material/diamond = 4000)
/turf/closed/wall/mineral/diamond/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 41)
@@ -60,8 +60,8 @@
sheet_type = /obj/item/stack/sheet/mineral/bananium
hardness = 70 //it's banana
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BANANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BANANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS
custom_materials = list(/datum/material/bananium = 4000)
/turf/closed/wall/mineral/sandstone
@@ -74,8 +74,8 @@
hardness = 50 //moh says this is apparently 6-7 on it's scale
explosion_block = 0
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SANDSTONE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SANDSTONE_WALLS)
smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS
custom_materials = list(/datum/material/sandstone = 4000)
/turf/closed/wall/mineral/uranium
@@ -88,8 +88,8 @@
sheet_type = /obj/item/stack/sheet/mineral/uranium
hardness = 40 //uranium is a 6 on moh's scale
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_URANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS
custom_materials = list(/datum/material/uranium = 4000)
/// Mutex to prevent infinite recursion when propagating radiation pulses
@@ -145,8 +145,8 @@
hardness = 70 // I'll tentatively compare it to Bismuth
thermal_conductivity = 0.04
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS
custom_materials = list(/datum/material/plasma = 4000)
/turf/closed/wall/mineral/wood
@@ -160,8 +160,8 @@
turf_flags = IS_SOLID
explosion_block = 0
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WOOD_WALLS
custom_materials = list(/datum/material/wood = 4000)
/turf/closed/wall/mineral/wood/attackby(obj/item/W, mob/user)
@@ -188,8 +188,8 @@
icon = 'icons/turf/walls/bamboo_wall.dmi'
icon_state = "wall-0"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_BAMBOO_WALLS, SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BAMBOO_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS
sheet_type = /obj/item/stack/sheet/mineral/bamboo
hardness = 80 //it's not a mineral...
@@ -203,8 +203,8 @@
hardness = 60
sheet_amount = 5
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_IRON_WALLS
custom_materials = list(/datum/material/iron = 5000)
/turf/closed/wall/mineral/snow
@@ -238,8 +238,8 @@
slicing_duration = 200 //alien wall takes twice as much time to slice
explosion_block = 3
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS
custom_materials = list(/datum/material/alloy/alien = 4000)
/////////////////////Titanium walls/////////////////////
@@ -256,8 +256,8 @@
sheet_type = /obj/item/stack/sheet/mineral/titanium
hardness = 40 //6 on moh's scale
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
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)
smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS
custom_materials = list(/datum/material/titanium = 4000)
/turf/closed/wall/mineral/titanium/rust_heretic_act()
@@ -294,7 +294,7 @@
icon_state = "survival_pod_walls-0"
base_icon_state = "survival_pod_walls"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_TITANIUM_WALLS
/turf/closed/wall/mineral/titanium/survival/nodiagonal
icon = 'icons/turf/walls/survival_pod_walls.dmi'
@@ -303,8 +303,8 @@
smoothing_flags = SMOOTH_BITMASK
/turf/closed/wall/mineral/titanium/survival/pod
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_SURVIVAL_TITANIUM_POD)
canSmoothWith = list(SMOOTH_GROUP_SURVIVAL_TITANIUM_POD)
smoothing_groups = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
/////////////////////Plastitanium walls/////////////////////
@@ -318,8 +318,8 @@
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
hardness = 25 //upgrade on titanium
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS
custom_materials = list(/datum/material/alloy/plastitanium = 4000)
/turf/closed/wall/mineral/plastitanium/rust_heretic_act()
+2 -2
View File
@@ -237,8 +237,8 @@
hardness = 25 //plastitanium
turf_flags = IS_SOLID
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
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)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS
/turf/closed/wall/r_wall/syndicate/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
return FALSE
+2 -2
View File
@@ -16,8 +16,8 @@
flags_ricochet = RICOCHET_HARD
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
rcd_memory = RCD_MEMORY_WALL
///bool on whether this wall can be chiselled into
+4 -4
View File
@@ -34,8 +34,8 @@
return
/turf/open/misc/ashplanet/ash
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_ASH)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_ASH, SMOOTH_GROUP_CLOSED_TURFS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_ASH
canSmoothWith = SMOOTH_GROUP_FLOOR_ASH + SMOOTH_GROUP_CLOSED_TURFS
layer = HIGH_TURF_LAYER
slowdown = 1
@@ -46,8 +46,8 @@
base_icon_state = "rocky_ash"
smooth_icon = 'icons/turf/floors/rocky_ash.dmi'
layer = MID_TURF_LAYER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_ASH_ROCKY)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_ASH_ROCKY, SMOOTH_GROUP_CLOSED_TURFS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_ASH_ROCKY
canSmoothWith = SMOOTH_GROUP_FLOOR_ASH_ROCKY + SMOOTH_GROUP_CLOSED_TURFS
footstep = FOOTSTEP_FLOOR
barefootstep = FOOTSTEP_HARD_BAREFOOT
clawfootstep = FOOTSTEP_HARD_CLAW
+2 -2
View File
@@ -7,8 +7,8 @@
icon_state = "chasms-255"
base_icon_state = "chasms"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_TURF_CHASM)
canSmoothWith = list(SMOOTH_GROUP_TURF_CHASM)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_TURF_CHASM
canSmoothWith = SMOOTH_GROUP_TURF_CHASM
density = TRUE //This will prevent hostile mobs from pathing into chasms, while the canpass override will still let it function like an open turf
bullet_bounce_sound = null //abandon all hope ye who enter
+2 -2
View File
@@ -11,8 +11,8 @@
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
flags_1 = NO_SCREENTIPS_1
turf_flags = CAN_BE_DIRTY_1 | IS_SOLID
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_OPEN_FLOOR)
canSmoothWith = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_OPEN_FLOOR)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR
canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR
thermal_conductivity = 0.04
heat_capacity = 10000
+88 -88
View File
@@ -102,8 +102,8 @@
base_icon_state = "mat"
floor_tile = /obj/item/stack/tile/bamboo
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_BAMBOO_FLOOR)
canSmoothWith = list(SMOOTH_GROUP_BAMBOO_FLOOR)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_BAMBOO_FLOOR
canSmoothWith = SMOOTH_GROUP_BAMBOO_FLOOR
flags_1 = NONE
footstep = FOOTSTEP_WOOD
barefootstep = FOOTSTEP_WOOD_BAREFOOT
@@ -228,8 +228,8 @@
base_icon_state = "carpet"
floor_tile = /obj/item/stack/tile/carpet
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET)
canSmoothWith = list(SMOOTH_GROUP_CARPET)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET
canSmoothWith = SMOOTH_GROUP_CARPET
flags_1 = NONE
bullet_bounce_sound = null
footstep = FOOTSTEP_CARPET
@@ -272,72 +272,72 @@
icon_state = "carpet_black-255"
base_icon_state = "carpet_black"
floor_tile = /obj/item/stack/tile/carpet/black
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_BLACK)
canSmoothWith = list(SMOOTH_GROUP_CARPET_BLACK)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_BLACK
canSmoothWith = SMOOTH_GROUP_CARPET_BLACK
/turf/open/floor/carpet/blue
icon = 'icons/turf/floors/carpet_blue.dmi'
icon_state = "carpet_blue-255"
base_icon_state = "carpet_blue"
floor_tile = /obj/item/stack/tile/carpet/blue
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_BLUE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_BLUE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_BLUE
canSmoothWith = SMOOTH_GROUP_CARPET_BLUE
/turf/open/floor/carpet/cyan
icon = 'icons/turf/floors/carpet_cyan.dmi'
icon_state = "carpet_cyan-255"
base_icon_state = "carpet_cyan"
floor_tile = /obj/item/stack/tile/carpet/cyan
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_CYAN)
canSmoothWith = list(SMOOTH_GROUP_CARPET_CYAN)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_CYAN
canSmoothWith = SMOOTH_GROUP_CARPET_CYAN
/turf/open/floor/carpet/green
icon = 'icons/turf/floors/carpet_green.dmi'
icon_state = "carpet_green-255"
base_icon_state = "carpet_green"
floor_tile = /obj/item/stack/tile/carpet/green
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_GREEN)
canSmoothWith = list(SMOOTH_GROUP_CARPET_GREEN)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_GREEN
canSmoothWith = SMOOTH_GROUP_CARPET_GREEN
/turf/open/floor/carpet/orange
icon = 'icons/turf/floors/carpet_orange.dmi'
icon_state = "carpet_orange-255"
base_icon_state = "carpet_orange"
floor_tile = /obj/item/stack/tile/carpet/orange
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_ORANGE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_ORANGE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_ORANGE
canSmoothWith = SMOOTH_GROUP_CARPET_ORANGE
/turf/open/floor/carpet/purple
icon = 'icons/turf/floors/carpet_purple.dmi'
icon_state = "carpet_purple-255"
base_icon_state = "carpet_purple"
floor_tile = /obj/item/stack/tile/carpet/purple
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_PURPLE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_PURPLE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_PURPLE
canSmoothWith = SMOOTH_GROUP_CARPET_PURPLE
/turf/open/floor/carpet/red
icon = 'icons/turf/floors/carpet_red.dmi'
icon_state = "carpet_red-255"
base_icon_state = "carpet_red"
floor_tile = /obj/item/stack/tile/carpet/red
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_RED)
canSmoothWith = list(SMOOTH_GROUP_CARPET_RED)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_RED
canSmoothWith = SMOOTH_GROUP_CARPET_RED
/turf/open/floor/carpet/royalblack
icon = 'icons/turf/floors/carpet_royalblack.dmi'
icon_state = "carpet_royalblack-255"
base_icon_state = "carpet_royalblack"
floor_tile = /obj/item/stack/tile/carpet/royalblack
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_ROYAL_BLACK)
canSmoothWith = list(SMOOTH_GROUP_CARPET_ROYAL_BLACK)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_ROYAL_BLACK
canSmoothWith = SMOOTH_GROUP_CARPET_ROYAL_BLACK
/turf/open/floor/carpet/royalblue
icon = 'icons/turf/floors/carpet_royalblue.dmi'
icon_state = "carpet_royalblue-255"
base_icon_state = "carpet_royalblue"
floor_tile = /obj/item/stack/tile/carpet/royalblue
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_ROYAL_BLUE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_ROYAL_BLUE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_ROYAL_BLUE
canSmoothWith = SMOOTH_GROUP_CARPET_ROYAL_BLUE
/turf/open/floor/carpet/executive
name = "executive carpet"
@@ -345,8 +345,8 @@
icon_state = "executive_carpet-255"
base_icon_state = "executive_carpet"
floor_tile = /obj/item/stack/tile/carpet/executive
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_EXECUTIVE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_EXECUTIVE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_EXECUTIVE
canSmoothWith = SMOOTH_GROUP_CARPET_EXECUTIVE
/turf/open/floor/carpet/stellar
name = "stellar carpet"
@@ -354,8 +354,8 @@
icon_state = "stellar_carpet-255"
base_icon_state = "stellar_carpet"
floor_tile = /obj/item/stack/tile/carpet/stellar
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_STELLAR)
canSmoothWith = list(SMOOTH_GROUP_CARPET_STELLAR)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_STELLAR
canSmoothWith = SMOOTH_GROUP_CARPET_STELLAR
/turf/open/floor/carpet/donk
name = "Donk Co. carpet"
@@ -363,8 +363,8 @@
icon_state = "donk_carpet-255"
base_icon_state = "donk_carpet"
floor_tile = /obj/item/stack/tile/carpet/donk
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_DONK)
canSmoothWith = list(SMOOTH_GROUP_CARPET_DONK)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_DONK
canSmoothWith = SMOOTH_GROUP_CARPET_DONK
//*****Airless versions of all of the above.*****
/turf/open/floor/carpet/airless
@@ -438,8 +438,8 @@
icon = 'icons/turf/floors/carpet_black.dmi'
icon_state = "carpet_black-255"
base_icon_state = "carpet_black"
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_NEON)
canSmoothWith = list(SMOOTH_GROUP_CARPET_NEON)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_NEON
canSmoothWith = SMOOTH_GROUP_CARPET_NEON
smoothing_junction = 255
/// The icon used for the neon decal.
@@ -463,32 +463,32 @@
base_icon_state = "base"
neon_icon_state = "light"
floor_tile = /obj/item/stack/tile/carpet/neon/simple
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON
/turf/open/floor/carpet/neon/simple/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS
/turf/open/floor/carpet/neon/simple/white
name = "simple white neon carpet"
desc = "A rubbery mat with a inset pattern of white phosphorescent dye."
neon_color = COLOR_WHITE
floor_tile = /obj/item/stack/tile/carpet/neon/simple/white
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE
/turf/open/floor/carpet/neon/simple/white/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/white/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS
/turf/open/floor/carpet/neon/simple/black
name = "simple black neon carpet"
@@ -496,8 +496,8 @@
neon_icon_state = "glow" // This one also lights up the edges of the lines.
neon_color = COLOR_BLACK
floor_tile = /obj/item/stack/tile/carpet/neon/simple/black
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK
/turf/open/floor/carpet/neon/simple/black/nodots
icon_state = "base-nodots-255"
@@ -505,184 +505,184 @@
neon_icon_state = "glow-nodots"
neon_color = COLOR_BLACK
floor_tile = /obj/item/stack/tile/carpet/neon/simple/black/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS
/turf/open/floor/carpet/neon/simple/red
name = "simple red neon carpet"
desc = "A rubbery mat with a inset pattern of red phosphorescent dye."
neon_color = COLOR_RED
floor_tile = /obj/item/stack/tile/carpet/neon/simple/red
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED
/turf/open/floor/carpet/neon/simple/red/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/red/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS
/turf/open/floor/carpet/neon/simple/orange
name = "simple orange neon carpet"
desc = "A rubbery mat with a inset pattern of orange phosphorescent dye."
neon_color = COLOR_ORANGE
floor_tile = /obj/item/stack/tile/carpet/neon/simple/orange
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE
/turf/open/floor/carpet/neon/simple/orange/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/orange/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS
/turf/open/floor/carpet/neon/simple/yellow
name = "simple yellow neon carpet"
desc = "A rubbery mat with a inset pattern of yellow phosphorescent dye."
neon_color = COLOR_YELLOW
floor_tile = /obj/item/stack/tile/carpet/neon/simple/yellow
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW
/turf/open/floor/carpet/neon/simple/yellow/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/yellow/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS
/turf/open/floor/carpet/neon/simple/lime
name = "simple lime neon carpet"
desc = "A rubbery mat with a inset pattern of lime phosphorescent dye."
neon_color = COLOR_LIME
floor_tile = /obj/item/stack/tile/carpet/neon/simple/lime
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME
/turf/open/floor/carpet/neon/simple/lime/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/lime/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS
/turf/open/floor/carpet/neon/simple/green
name = "simple green neon carpet"
desc = "A rubbery mat with a inset pattern of green phosphorescent dye."
neon_color = COLOR_GREEN
floor_tile = /obj/item/stack/tile/carpet/neon/simple/green
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN
/turf/open/floor/carpet/neon/simple/green/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/green/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS
/turf/open/floor/carpet/neon/simple/teal
name = "simple teal neon carpet"
desc = "A rubbery mat with a inset pattern of teal phosphorescent dye."
neon_color = COLOR_TEAL
floor_tile = /obj/item/stack/tile/carpet/neon/simple/teal
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL
/turf/open/floor/carpet/neon/simple/teal/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/teal/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS
/turf/open/floor/carpet/neon/simple/cyan
name = "simple cyan neon carpet"
desc = "A rubbery mat with a inset pattern of cyan phosphorescent dye."
neon_color = COLOR_CYAN
floor_tile = /obj/item/stack/tile/carpet/neon/simple/cyan
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN
/turf/open/floor/carpet/neon/simple/cyan/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/cyan/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS
/turf/open/floor/carpet/neon/simple/blue
name = "simple blue neon carpet"
desc = "A rubbery mat with a inset pattern of blue phosphorescent dye."
neon_color = COLOR_BLUE
floor_tile = /obj/item/stack/tile/carpet/neon/simple/blue
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE
/turf/open/floor/carpet/neon/simple/blue/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/blue/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS
/turf/open/floor/carpet/neon/simple/purple
name = "simple purple neon carpet"
desc = "A rubbery mat with a inset pattern of purple phosphorescent dye."
neon_color = COLOR_PURPLE
floor_tile = /obj/item/stack/tile/carpet/neon/simple/purple
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE
/turf/open/floor/carpet/neon/simple/purple/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/purple/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS
/turf/open/floor/carpet/neon/simple/violet
name = "simple violet neon carpet"
desc = "A rubbery mat with a inset pattern of violet phosphorescent dye."
neon_color = COLOR_VIOLET
floor_tile = /obj/item/stack/tile/carpet/neon/simple/violet
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET
/turf/open/floor/carpet/neon/simple/violet/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/violet/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS
/turf/open/floor/carpet/neon/simple/pink
name = "simple pink neon carpet"
desc = "A rubbery mat with a inset pattern of pink phosphorescent dye."
neon_color = COLOR_LIGHT_PINK
floor_tile = /obj/item/stack/tile/carpet/neon/simple/pink
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK
/turf/open/floor/carpet/neon/simple/pink/nodots
icon_state = "base-nodots-255"
base_icon_state = "base-nodots"
neon_icon_state = "light-nodots"
floor_tile = /obj/item/stack/tile/carpet/neon/simple/pink/nodots
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS)
canSmoothWith = list(SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS
canSmoothWith = SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS
/turf/open/floor/carpet/neon/airless
initial_gas_mix = AIRLESS_ATMOS
@@ -778,8 +778,8 @@
floor_tile = /obj/item/stack/tile/fakepit
base_icon_state = "chasms"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_TURF_CHASM)
canSmoothWith = list(SMOOTH_GROUP_TURF_CHASM)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_TURF_CHASM
canSmoothWith = SMOOTH_GROUP_TURF_CHASM
tiled_dirt = FALSE
/turf/open/floor/fakepit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
+2 -2
View File
@@ -7,8 +7,8 @@
baseturfs = /turf/baseturf_bottom
underfloor_accessibility = UNDERFLOOR_INTERACTABLE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS
canSmoothWith = SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS
footstep = FOOTSTEP_PLATING
barefootstep = FOOTSTEP_HARD_BAREFOOT
clawfootstep = FOOTSTEP_HARD_CLAW
@@ -64,8 +64,8 @@
icon_state = "snow_turf-0"
base_icon_state = "snow_turf"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_SNOWED)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_SNOWED)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_SNOWED
canSmoothWith = SMOOTH_GROUP_FLOOR_SNOWED
planetary_atmos = TRUE
/turf/open/floor/plating/snowed/temperatre
+2 -2
View File
@@ -11,8 +11,8 @@
clawfootstep = FOOTSTEP_GRASS
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_GRASS)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_GRASS, SMOOTH_GROUP_CLOSED_TURFS)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_GRASS
canSmoothWith = SMOOTH_GROUP_FLOOR_GRASS + SMOOTH_GROUP_CLOSED_TURFS
layer = HIGH_TURF_LAYER
var/damaged_dmi = 'icons/turf/floors/grass.dmi'
var/smooth_icon = 'icons/turf/floors/grass.dmi'
+2 -2
View File
@@ -29,8 +29,8 @@
icon_state = "ice_turf-255"
base_icon_state = "ice_turf"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_ICE)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_ICE)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_ICE
canSmoothWith = SMOOTH_GROUP_FLOOR_ICE
/turf/open/misc/ice/icemoon
baseturfs = /turf/open/openspace/icemoon
+2 -2
View File
@@ -253,8 +253,8 @@
icon_state = "lava-255"
base_icon_state = "lava"
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_LAVA)
canSmoothWith = list(SMOOTH_GROUP_FLOOR_LAVA)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_LAVA
canSmoothWith = SMOOTH_GROUP_FLOOR_LAVA
underfloor_accessibility = 2 //This avoids strangeness when routing pipes / wires along catwalks over lava
/turf/open/lava/smooth/lava_land_surface
+2 -2
View File
@@ -15,8 +15,8 @@
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
underfloor_accessibility = UNDERFLOOR_INTERACTABLE
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN)
canSmoothWith = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_OPEN_FLOOR)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN
canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR
thermal_conductivity = 0.04
heat_capacity = 10000
+1 -11
View File
@@ -133,18 +133,8 @@ GLOBAL_LIST_EMPTY(station_turfs)
levelupdate()
if (length(smoothing_groups))
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups))
assert_sorted(smoothing_groups, "[type].smoothing_groups")
SETUP_SMOOTHING()
SET_BITFLAG_LIST(smoothing_groups)
if (length(canSmoothWith))
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups))
assert_sorted(canSmoothWith, "[type].canSmoothWith")
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 & (SMOOTH_CORNERS|SMOOTH_BITMASK))
QUEUE_SMOOTH(src)
@@ -807,8 +807,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
framestack = /obj/item/stack/sheet/mineral/abductor
buildstackamount = 1
framestackamount = 1
smoothing_groups = list(SMOOTH_GROUP_ABDUCTOR_TABLES)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_TABLES)
smoothing_groups = SMOOTH_GROUP_ABDUCTOR_TABLES
canSmoothWith = SMOOTH_GROUP_ABDUCTOR_TABLES
frame = /obj/structure/table_frame/abductor
custom_materials = list(/datum/material/silver = 2000)
@@ -21,8 +21,8 @@
custom_reconcilation = TRUE
smoothing_flags = SMOOTH_CORNERS | SMOOTH_OBJ
smoothing_groups = list(SMOOTH_GROUP_GAS_TANK)
canSmoothWith = list(SMOOTH_GROUP_GAS_TANK)
smoothing_groups = SMOOTH_GROUP_GAS_TANK
canSmoothWith = SMOOTH_GROUP_GAS_TANK
appearance_flags = KEEP_TOGETHER|LONG_GLIDE
greyscale_config = /datum/greyscale_config/stationary_canister
+2 -2
View File
@@ -138,8 +138,8 @@
base_icon_state = "carpet"
floor_tile = /obj/item/stack/tile/carpet
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_CARPET)
canSmoothWith = list(SMOOTH_GROUP_CARPET)
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_CARPET
canSmoothWith = SMOOTH_GROUP_CARPET
bullet_bounce_sound = null
tiled_dirt = FALSE
+2 -2
View File
@@ -38,8 +38,8 @@
icon_state = "hedge-0"
base_icon_state = "hedge"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_HEDGE_FLUFF)
canSmoothWith = list(SMOOTH_GROUP_HEDGE_FLUFF)
smoothing_groups = SMOOTH_GROUP_HEDGE_FLUFF
canSmoothWith = SMOOTH_GROUP_HEDGE_FLUFF
density = TRUE
anchored = TRUE
opacity = FALSE
@@ -13,8 +13,8 @@ GLOBAL_LIST_EMPTY(lifts)
layer = LATTICE_LAYER //under pipes
plane = FLOOR_PLANE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_INDUSTRIAL_LIFT)
canSmoothWith = list(SMOOTH_GROUP_INDUSTRIAL_LIFT)
smoothing_groups = SMOOTH_GROUP_INDUSTRIAL_LIFT
canSmoothWith = SMOOTH_GROUP_INDUSTRIAL_LIFT
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN
appearance_flags = PIXEL_SCALE|KEEP_TOGETHER //no TILE_BOUND since we're potentially multitile
// If we don't do this, we'll build our overlays early, and fuck up how we're rendered
+30 -30
View File
@@ -13,8 +13,8 @@
opacity = FALSE
max_integrity = 100
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
can_be_unanchored = FALSE
can_atmos_pass = ATMOS_PASS_DENSITY
rad_insulation = RAD_MEDIUM_INSULATION
@@ -82,8 +82,8 @@
mineral = /obj/item/stack/sheet/mineral/titanium
tram_wall_type = /obj/structure/tramwall/titanium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS
/obj/structure/tramwall/plastitanium
name = "wall"
@@ -94,8 +94,8 @@
mineral = /obj/item/stack/sheet/mineral/plastitanium
tram_wall_type = /obj/structure/tramwall/plastitanium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS)
smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS
/obj/structure/tramwall/gold
name = "gold wall"
@@ -106,8 +106,8 @@
mineral = /obj/item/stack/sheet/mineral/gold
tram_wall_type = /obj/structure/tramwall/gold
explosion_block = 0 //gold is a soft metal you dingus.
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_GOLD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_GOLD_WALLS)
smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_GOLD_WALLS
custom_materials = list(/datum/material/gold = 4000)
/obj/structure/tramwall/silver
@@ -119,8 +119,8 @@
mineral = /obj/item/stack/sheet/mineral/silver
tram_wall_type = /obj/structure/tramwall/silver
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SILVER_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SILVER_WALLS)
smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SILVER_WALLS
custom_materials = list(/datum/material/silver = 4000)
/obj/structure/tramwall/diamond
@@ -135,8 +135,8 @@
max_integrity = 800
explosion_block = 3
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS)
canSmoothWith = list(SMOOTH_GROUP_DIAMOND_WALLS)
smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS
custom_materials = list(/datum/material/diamond = 4000)
/obj/structure/tramwall/bananium
@@ -148,8 +148,8 @@
mineral = /obj/item/stack/sheet/mineral/bananium
tram_wall_type = /obj/structure/tramwall/bananium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BANANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BANANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS
custom_materials = list(/datum/material/bananium = 4000)
/obj/structure/tramwall/sandstone
@@ -162,8 +162,8 @@
tram_wall_type = /obj/structure/tramwall/sandstone
explosion_block = 0
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SANDSTONE_WALLS)
canSmoothWith = list(SMOOTH_GROUP_SANDSTONE_WALLS)
smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS
custom_materials = list(/datum/material/sandstone = 4000)
/obj/structure/tramwall/uranium
@@ -176,8 +176,8 @@
mineral = /obj/item/stack/sheet/mineral/uranium
tram_wall_type = /obj/structure/tramwall/uranium
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_URANIUM_WALLS)
canSmoothWith = list(SMOOTH_GROUP_URANIUM_WALLS)
smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS
custom_materials = list(/datum/material/uranium = 4000)
/// Mutex to prevent infinite recursion when propagating radiation pulses
@@ -221,8 +221,8 @@
mineral = /obj/item/stack/sheet/mineral/plasma
tram_wall_type = /obj/structure/tramwall/plasma
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS
custom_materials = list(/datum/material/plasma = 4000)
/obj/structure/tramwall/wood
@@ -235,8 +235,8 @@
tram_wall_type = /obj/structure/tramwall/wood
explosion_block = 0
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WOOD_WALLS
custom_materials = list(/datum/material/wood = 4000)
/obj/structure/tramwall/wood/attackby(obj/item/W, mob/user)
@@ -254,8 +254,8 @@
desc = "A wall with a bamboo finish."
icon = 'icons/turf/walls/bamboo_wall.dmi'
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_BAMBOO_WALLS, SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BAMBOO_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS
mineral = /obj/item/stack/sheet/mineral/bamboo
tram_wall_type = /obj/structure/tramwall/bamboo
@@ -269,8 +269,8 @@
mineral_amount = 5
tram_wall_type = /obj/structure/tramwall/iron
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_IRON_WALLS)
canSmoothWith = list(SMOOTH_GROUP_IRON_WALLS)
smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_IRON_WALLS
custom_materials = list(/datum/material/iron = 5000)
/obj/structure/tramwall/abductor
@@ -284,8 +284,8 @@
slicing_duration = 200 //alien wall takes twice as much time to slice
explosion_block = 3
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS)
smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS
custom_materials = list(/datum/material/alloy/alien = 4000)
/obj/structure/tramwall/material
@@ -295,8 +295,8 @@
icon_state = "materialwall-0"
base_icon_state = "materialwall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MATERIAL_WALLS, SMOOTH_GROUP_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MATERIAL_WALLS)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS
canSmoothWith = SMOOTH_GROUP_MATERIAL_WALLS
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
/obj/structure/tramwall/material/deconstruct(disassembled = TRUE)
@@ -228,8 +228,8 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
name = "hotel wall"
desc = "A wall designed to protect the security of the hotel's guests."
icon_state = "hotelwall"
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_HOTEL_WALLS)
canSmoothWith = list(SMOOTH_GROUP_HOTEL_WALLS)
smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_HOTEL_WALLS
canSmoothWith = SMOOTH_GROUP_HOTEL_WALLS
explosion_block = INFINITY
/turf/open/indestructible/hotelwood
@@ -88,8 +88,8 @@
icon_state = "pod_window-0"
base_icon_state = "pod_window"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_SURVIVAL_TITANIUM_POD, SMOOTH_GROUP_SHUTTLE_PARTS)
canSmoothWith = list(SMOOTH_GROUP_SURVIVAL_TITANIUM_POD)
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
/obj/structure/window/reinforced/survival_pod
name = "pod window"
@@ -111,7 +111,7 @@
icon = 'icons/obj/doors/airlocks/survival/survival.dmi'
overlays_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi'
assemblytype = /obj/structure/door_assembly/door_assembly_pod
smoothing_groups = list(SMOOTH_GROUP_SURVIVAL_TITANIUM_POD, SMOOTH_GROUP_AIRLOCK)
smoothing_groups = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
/obj/machinery/door/airlock/survival_pod/glass
opacity = FALSE
@@ -534,8 +534,8 @@ Difficulty: Hard
icon_state = "hierophant_wall_temp-0"
base_icon_state = "hierophant_wall_temp"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL)
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
smoothing_groups = SMOOTH_GROUP_HIERO_WALL
canSmoothWith = SMOOTH_GROUP_HIERO_WALL
light_range = MINIMUM_USEFUL_LIGHT_RANGE
duration = 100
@@ -380,8 +380,8 @@ While using this makes the system rely on OnFire, it still gives options for tim
icon_state = "hierophant_wall_temp-0"
base_icon_state = "hierophant_wall_temp"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL)
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
smoothing_groups = SMOOTH_GROUP_HIERO_WALL
canSmoothWith = SMOOTH_GROUP_HIERO_WALL
duration = 50
layer = BELOW_MOB_LAYER
plane = GAME_PLANE