Merge pull request #9888 from Fox-McCloud/spark-refactor

Refactors Spark Spread Activation
This commit is contained in:
Mark Mak
2018-10-19 08:41:03 +08:00
committed by GitHub
77 changed files with 135 additions and 348 deletions
@@ -42,9 +42,7 @@
hgibs(loc, dna)
else
new /obj/effect/decal/cleanable/blood/gibs/robot(loc)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
QDEL_IN(animation, 15)
QDEL_IN(src, 0)
return TRUE
@@ -107,12 +107,7 @@
custom_emote(1, "drops what [p_they()] [p_were()] holding, [p_their()] [E.name] malfunctioning!")
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
spark_system.start()
spawn(10)
qdel(spark_system)
do_sparks(5, 0, src)
/mob/living/carbon/human/proc/becomeSlim()
to_chat(src, "<span class='notice'>You feel fit again!</span>")
+2 -6
View File
@@ -709,14 +709,10 @@
adjustToxLoss(0.1)
else //stuff only for synthetics
if(alcohol_strength >= spark_start && prob(25))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
if(alcohol_strength >= collapse_start && prob(10))
emote("collapse")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
if(alcohol_strength >= braindamage_start && prob(10))
adjustBrainLoss(1)
+1 -3
View File
@@ -286,9 +286,7 @@
visible_message("<span class='danger'>The [M.name] has shocked [src]!</span>", \
"<span class='userdanger'>The [M.name] has shocked [src]!</span>")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
do_sparks(5, 1, src)
return 1
add_attack_logs(src, M, "Slime'd")
return
@@ -275,6 +275,7 @@ var/list/robot_verbs_default = list(
QDEL_NULL(camera)
QDEL_NULL(cell)
QDEL_NULL(robot_suit)
QDEL_NULL(spark_system)
return ..()
/mob/living/silicon/robot/proc/pick_module()
@@ -373,17 +373,13 @@
to_chat(user, "<span class='warning'>The welder must be on for this task!</span>")
else
if(W.force) //if force is non-zero
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
do_sparks(5, 1, src)
..()
/mob/living/simple_animal/bot/bullet_act(obj/item/projectile/Proj)
if(Proj && (Proj.damage_type == BRUTE || Proj.damage_type == BURN))
if(prob(75) && Proj.damage > 0)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
do_sparks(5, 1, src)
return ..()
/mob/living/simple_animal/bot/emp_act(severity)
@@ -187,9 +187,7 @@
if(prob(50))
new /obj/item/robot_parts/l_arm(Tsec)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
..()
/obj/machinery/bot_core/cleanbot
@@ -406,9 +406,7 @@
if(lasercolor == "r")
new /obj/item/clothing/suit/redtag(Tsec)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/blood/oil(loc)
..()
@@ -407,9 +407,7 @@
T.amount = amount
amount = 0
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
..()
/obj/machinery/bot_core/floorbot
@@ -595,9 +595,7 @@
if(emagged && prob(25))
playsound(loc, 'sound/voice/minsult.ogg', 50, 0)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
..()
/mob/living/simple_animal/bot/medbot/proc/declare(crit_patient)
@@ -847,9 +847,7 @@
cell.update_icon()
cell = null
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/blood/oil(loc)
..()
@@ -439,9 +439,7 @@ Auto Patrol: []"},
if(prob(50))
new /obj/item/robot_parts/l_arm(Tsec)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/blood/oil(loc)
..()
@@ -165,9 +165,7 @@
depotarea.list_remove(src, depotarea.guard_list)
walk_to(src,0)
visible_message("<span class='userdanger'>[src] blows apart!</span>")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/blood/oil(loc)
var/obj/effect/decal/mecha_wreckage/gygax/dark/wreck = new /obj/effect/decal/mecha_wreckage/gygax/dark(loc)
wreck.name = "sentry bot wreckage"
@@ -613,15 +613,11 @@
//spark for no reason
if(prob(5))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
/mob/living/simple_animal/pet/corgi/Ian/borgi/death(gibbed)
// Only execute the below if we successfully died
. = ..(gibbed)
if(!.)
return FALSE
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
@@ -52,9 +52,7 @@
. = ..(gibbed)
if(!.)
return FALSE
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
/mob/living/simple_animal/hostile/hivebot/tele//this still needs work
name = "Beacon"
@@ -80,16 +80,12 @@
//repair a bit of damage
if(prob(1))
src.visible_message("<span class='warning'>[bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.</span>")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
health += rand(25,100)
//spark for no reason
if(prob(5))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
//sometimes our targetting sensors malfunction, and we attack anyone nearby
if(prob(disabled ? 0 : 1))
@@ -129,9 +125,7 @@
src.visible_message("<span class='warning'>[bicon(src)] [src] begins to spark and shake violenty!</span>")
else
src.visible_message("<span class='warning'>[bicon(src)] [src] sparks and shakes like it's about to explode!</span>")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
if(!exploding && !disabled && prob(explode_chance))
exploding = 1
@@ -154,9 +148,7 @@
/mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy() //Seriously, what the actual hell.
//some random debris left behind
if(has_loot)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
do_sparks(3, 1, src)
var/obj/O
//shards