[s] Fixes singularity pulls duping rods out of engine floors.

This commit is contained in:
Ghommie
2019-12-25 03:34:42 +01:00
parent c50c1ee4df
commit 60134ea8ae
3 changed files with 22 additions and 24 deletions

View File

@@ -177,7 +177,7 @@
I.play_tool_sound(src, 80)
return remove_tile(user, silent)
/turf/open/floor/proc/remove_tile(mob/user, silent = FALSE, make_tile = TRUE)
/turf/open/floor/proc/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
if(broken || burnt)
broken = 0
burnt = 0
@@ -191,24 +191,20 @@
return make_plating()
/turf/open/floor/singularity_pull(S, current_size)
..()
if(current_size == STAGE_THREE)
if(prob(30))
. = ..()
switch(current_size)
if(STAGE_THREE)
if(floor_tile && prob(30))
remove_tile()
if(STAGE_FOUR)
if(floor_tile && prob(50))
remove_tile()
if(STAGE_FIVE to INFINITY)
if(floor_tile)
new floor_tile(src)
make_plating()
else if(current_size == STAGE_FOUR)
if(prob(50))
if(floor_tile)
new floor_tile(src)
make_plating()
else if(current_size >= STAGE_FIVE)
if(floor_tile)
if(prob(70))
new floor_tile(src)
make_plating()
else if(prob(50))
ReplaceWithLattice()
if(prob(70))
remove_tile()
else if(prob(50))
ReplaceWithLattice()
/turf/open/floor/narsie_act(force, ignore_mobs, probability = 20)
. = ..()

View File

@@ -44,7 +44,7 @@
C.play_tool_sound(src, 80)
return remove_tile(user, silent, (C.tool_behaviour == TOOL_SCREWDRIVER))
/turf/open/floor/wood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE)
/turf/open/floor/wood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
if(broken || burnt)
broken = 0
burnt = 0

View File

@@ -76,14 +76,16 @@
/turf/open/floor/engine/singularity_pull(S, current_size)
..()
if(current_size >= STAGE_FIVE)
if(current_size >= STAGE_FIVE && prob(30))
if(floor_tile)
if(prob(30))
new floor_tile(src)
make_plating()
else if(prob(30))
remove_tile(forced = TRUE)
else
ReplaceWithLattice()
/turf/open/floor/engine/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
if(forced)
return ..()
/turf/open/floor/engine/attack_paw(mob/user)
return attack_hand(user)