Assimilation Update (#40769)

* new objectives + qol

* beep

* oof

* one line

* prevent kill objectives from having the same target as assimilate objectives

* Free objectivev

* code review

* fix

* yes
This commit is contained in:
Kierany9
2018-10-16 15:14:33 +02:00
committed by AnturK
parent 05030efd5d
commit 5ef054e605
7 changed files with 78 additions and 15 deletions
+5 -7
View File
@@ -166,7 +166,6 @@
else
power *= 3
if(power > 50 && user.z == target.z)
to_chat(target, "<span class='userdanger'>You feel a sharp pain, and a foreign presence in your mind!!</span>")
to_chat(user, "<span class='notice'>We have overloaded the vessel for a short time!</span>")
target.Jitter(round(power/10))
target.Unconscious(power)
@@ -194,7 +193,6 @@
if(!hive)
return
var/iterations = 0
var/power = 5
if(!user.getBruteLoss() && !user.getFireLoss() && !user.getCloneLoss() && !user.getBrainLoss())
to_chat(user, "<span class='notice'>We cannot heal ourselves any more with this power!</span>")
@@ -202,17 +200,17 @@
to_chat(user, "<span class='notice'>We begin siphoning power from our many vessels!</span>")
while(iterations < 7)
var/mob/living/carbon/human/target = pick(hive.hivemembers)
if(!target)
break
if(!do_mob(user,user,15))
to_chat(user, "<span class='warning'>Our concentration has been broken!</span>")
break
if(!target)
to_chat(user, "<span class='warning'>We have run out of vessels to drain.</span>")
break
target.adjustBrainLoss(5)
power = max(5-(round(get_dist(user, target)/40)),2)
if(user.getBruteLoss() > user.getFireLoss())
user.heal_ordered_damage(power, list(CLONE, BRUTE, BURN))
user.heal_ordered_damage(5, list(CLONE, BRUTE, BURN))
else
user.heal_ordered_damage(power, list(CLONE, BURN, BRUTE))
user.heal_ordered_damage(5, list(CLONE, BURN, BRUTE))
if(!user.getBruteLoss() && !user.getFireLoss() && !user.getCloneLoss()) //If we don't have any of these, stop looping
to_chat(user, "<span class='warning'>We finish our healing</span>")
break