Smart Kudzu is now a mutation, instead of standard behavior

This commit is contained in:
Crazylemon64
2017-02-15 07:17:21 -08:00
parent 9f342be1a5
commit 5c0e2a43b3
+15 -2
View File
@@ -66,6 +66,9 @@
/datum/spacevine_mutation/proc/on_explosion(severity, obj/effect/spacevine/holder)
return
/datum/spacevine_mutation/proc/on_search(severity, obj/effect/spacevine/holder)
return
/datum/spacevine_mutation/space_covering
name = "space protective"
@@ -294,6 +297,14 @@
holder.entangle(crosser)
/datum/spacevine_mutation/virulent_spread
name = "virulently spreading"
hue = "#FF8080"
quality = MINOR_NEGATIVE
/datum/spacevine_mutation/virulent_spread/on_search(obj/effect/spacevine/holder)
return 1
// SPACE VINES (Note that this code is very similar to Biomass code)
/obj/effect/spacevine
name = "space vines"
@@ -536,6 +547,9 @@
/obj/effect/spacevine/proc/spread()
var/list/dir_list = cardinal.Copy()
var/spread_search = FALSE // Whether to exhaustive search all 4 cardinal dirs for an open direction
for(var/datum/spacevine_mutation/SM in mutations)
spread_search |= SM.on_search(src)
while(dir_list.len)
var/direction = pick(dir_list)
dir_list -= direction
@@ -543,13 +557,12 @@
var/spread_success = FALSE
for(var/datum/spacevine_mutation/SM in mutations)
spread_success |= SM.on_spread(src, stepturf) // If this returns 1, spreading succeeded
stepturf = get_step(src,direction) //in case turf changes, to make sure no runtimes happen
if(!locate(/obj/effect/spacevine, stepturf))
if(stepturf.Enter(src))
if(master)
master.spawn_spacevine_piece(stepturf, src)
spread_success = TRUE
if(spread_success)
if(spread_success || !spread_search)
break
/obj/effect/spacevine/ex_act(severity)