Blob Expansion Update (#6718)

The blob now expands into the asteroid again and can expand through rock.
This commit is contained in:
Werner
2019-07-17 00:24:47 +02:00
committed by GitHub
parent f33e7a3eab
commit 27828d9e3a
2 changed files with 56 additions and 1 deletions

View File

@@ -156,12 +156,21 @@
update_icon()
/obj/effect/blob/proc/expand(var/turf/T)
if(istype(T, /turf/unsimulated/) || (istype(T, /turf/simulated/mineral) && T.density))
//Dont epxand over unsimulated unless its astroid trufs
if(istype(T, /turf/unsimulated/) && !istype(T, /turf/unsimulated/floor/asteroid/))
return
//Dont expand over space or holes, unless there´s a lattice
if((istype(T, /turf/simulated/open) || istype(T, /turf/space)) && !(locate(/obj/structure/lattice) in T))
return
//If its rock, mine it
if(istype(T,/turf/simulated/mineral))
var/turf/simulated/mineral/M = T
M.kinetic_hit(8,get_dir(src,M)) //8 so its destroyed in 2 or 3 hits (mineral health is randomized between 10 and 20)
return
//If its a wall, destroy it
if(istype(T, /turf/simulated/wall))
var/turf/simulated/wall/SW = T
SW.ex_act(2)
@@ -191,6 +200,10 @@
health = maxHealth
return
//If its a astroid turf, ignore it with a 50% chance (so the expansion mostly focuses on the station)
if(istype(T,/turf/unsimulated/floor/asteroid/) && prob(50))
return
if(parent_core)
if(parent_core.blob_count < parent_core.blob_limit)
if(!(locate(/obj/effect/blob/core/) in range(T, 2)) && prob(secondary_core_growth_chance) && (parent_core.core_count < parent_core.core_limit))