Converted robots over to current blood system/paths, updated various files to work with update.

This commit is contained in:
Zuhayr
2013-12-29 02:48:20 +10:30
parent 5d902525cf
commit 5313851da9
5 changed files with 13 additions and 19 deletions

View File

@@ -194,7 +194,7 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
if(!src.target || src.target == null) if(!src.target || src.target == null)
for (var/obj/effect/decal/cleanable/D in view(7,src)) for (var/obj/effect/decal/cleanable/D in view(7,src))
for(var/T in src.target_types) for(var/T in src.target_types)
if(!(D in cleanbottargets) && (D.type == T || D.parent_type == T) && D != src.oldtarget) if(!(D in cleanbottargets) && istype(D,T) && D != src.oldtarget)
src.oldtarget = D src.oldtarget = D
src.target = D src.target = D
return return
@@ -293,17 +293,12 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
/obj/machinery/bot/cleanbot/proc/get_targets() /obj/machinery/bot/cleanbot/proc/get_targets()
src.target_types = new/list() src.target_types = new/list()
target_types += /obj/effect/decal/cleanable/blood/oil target_types += /obj/effect/decal/cleanable/blood
target_types += /obj/effect/decal/cleanable/vomit target_types += /obj/effect/decal/cleanable/vomit
target_types += /obj/effect/decal/cleanable/blood/robot
target_types += /obj/effect/decal/cleanable/crayon target_types += /obj/effect/decal/cleanable/crayon
target_types += /obj/effect/decal/cleanable/liquid_fuel target_types += /obj/effect/decal/cleanable/liquid_fuel
target_types += /obj/effect/decal/cleanable/mucus target_types += /obj/effect/decal/cleanable/mucus
target_types += /obj/effect/decal/cleanable/dirt
if(src.blood)
target_types += /obj/effect/decal/cleanable/blood/
target_types += /obj/effect/decal/cleanable/blood/gibs/
target_types += /obj/effect/decal/cleanable/dirt
/obj/machinery/bot/cleanbot/proc/clean(var/obj/effect/decal/cleanable/target) /obj/machinery/bot/cleanbot/proc/clean(var/obj/effect/decal/cleanable/target)
src.anchored = 1 src.anchored = 1

View File

@@ -1,6 +1,6 @@
// Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code. // Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code.
/obj/effect/decal/cleanable/blood/robot /obj/effect/decal/cleanable/blood/gibs/robot
name = "robot debris" name = "robot debris"
desc = "It's a useless heap of junk... <i>or is it?</i>" desc = "It's a useless heap of junk... <i>or is it?</i>"
icon = 'icons/mob/robots.dmi' icon = 'icons/mob/robots.dmi'
@@ -8,20 +8,19 @@
basecolor="#2B2B2B" basecolor="#2B2B2B"
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7")
/obj/effect/decal/cleanable/blood/robot/dry() //pieces of robots do not dry up like /obj/effect/decal/cleanable/blood/gibs/robot/dry() //pieces of robots do not dry up like
return return
/obj/effect/decal/cleanable/blood/robot/update_icon() /obj/effect/decal/cleanable/blood/gibs/robot/update_icon()
return return
/obj/effect/decal/cleanable/blood/robot/proc/streak(var/list/directions) /obj/effect/decal/cleanable/blood/gibs/robot/streak(var/list/directions)
spawn (0) spawn (0)
var/direction = pick(directions) var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3) sleep(3)
if (i > 0) if (i > 0)
if (prob(40)) if (prob(40))
/*var/obj/effect/decal/cleanable/oil/o =*/
new /obj/effect/decal/cleanable/blood/oil/streak(src.loc) new /obj/effect/decal/cleanable/blood/oil/streak(src.loc)
else if (prob(10)) else if (prob(10))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
@@ -30,13 +29,13 @@
if (step_to(src, get_step(src, direction), 0)) if (step_to(src, get_step(src, direction), 0))
break break
/obj/effect/decal/cleanable/blood/robot/limb /obj/effect/decal/cleanable/blood/gibs/robot/limb
random_icon_states = list("gibarm", "gibleg") random_icon_states = list("gibarm", "gibleg")
/obj/effect/decal/cleanable/blood/robot/up /obj/effect/decal/cleanable/blood/gibs/robot/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") //2:7 is close enough to 1:4 random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") //2:7 is close enough to 1:4
/obj/effect/decal/cleanable/blood/robot/down /obj/effect/decal/cleanable/blood/gibs/robot/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") //2:7 is close enough to 1:4 random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") //2:7 is close enough to 1:4
/obj/effect/decal/cleanable/blood/oil /obj/effect/decal/cleanable/blood/oil

View File

@@ -27,7 +27,7 @@
robot robot
sparks = 1 sparks = 1
gibtypes = list(/obj/effect/decal/cleanable/blood/robot/up,/obj/effect/decal/cleanable/blood/robot/down,/obj/effect/decal/cleanable/blood/robot,/obj/effect/decal/cleanable/blood/robot,/obj/effect/decal/cleanable/blood/robot,/obj/effect/decal/cleanable/blood/robot/limb) gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/robot/up,/obj/effect/decal/cleanable/blood/gibs/robot/down,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot/limb)
gibamounts = list(1,1,1,1,1,1) gibamounts = list(1,1,1,1,1,1)
New() New()

View File

@@ -47,7 +47,7 @@
/mob/living/simple_animal/hostile/hivebot/Die() /mob/living/simple_animal/hostile/hivebot/Die()
..() ..()
visible_message("<b>[src]</b> blows apart!") visible_message("<b>[src]</b> blows apart!")
new /obj/effect/decal/cleanable/blood/robot(src.loc) new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src) s.set_up(3, 1, src)
s.start() s.start()

View File

@@ -1325,7 +1325,7 @@
src.streak(dirs) src.streak(dirs)
/obj/effect/decal/cleanable/blood/robot/gib/pipe_eject(var/direction) /obj/effect/decal/cleanable/blood/gibs/robot/pipe_eject(var/direction)
var/list/dirs var/list/dirs
if(direction) if(direction)
dirs = list( direction, turn(direction, -45), turn(direction, 45)) dirs = list( direction, turn(direction, -45), turn(direction, 45))