mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Changeling Rapid Regen buff (#32717)
* fixes * tags * Update rapidregen.dm * Update rapidregen.dm * Update rapidregen.dm * Update rapidregen.dm * Update rapidregen.dm * Update rapidregen.dm
This commit is contained in:
@@ -558,6 +558,11 @@ Thanks.
|
|||||||
locked_to.unbuckle()
|
locked_to.unbuckle()
|
||||||
locked_to = initial(src.locked_to)
|
locked_to = initial(src.locked_to)
|
||||||
*/
|
*/
|
||||||
|
if(istype(src, /mob/living/carbon))
|
||||||
|
var/mob/living/carbon/C = src
|
||||||
|
dead_mob_list -= C
|
||||||
|
living_mob_list |= list(C)
|
||||||
|
|
||||||
if(istype(src, /mob/living/carbon/human))
|
if(istype(src, /mob/living/carbon/human))
|
||||||
var/mob/living/carbon/human/H = src
|
var/mob/living/carbon/human/H = src
|
||||||
H.timeofdeath = 0
|
H.timeofdeath = 0
|
||||||
|
|||||||
@@ -1,26 +1,41 @@
|
|||||||
/spell/changeling/rapidregen
|
/spell/changeling/rapidregen
|
||||||
name = "Rapid Regeneration (30)"
|
name = "Rapid Regeneration (40)"
|
||||||
desc = "We evolve the ability to rapidly regenerate, negating the need for stasis."
|
desc = "We evolve the ability to rapidly regenerate, negating the need for stasis."
|
||||||
abbreviation = "RR"
|
abbreviation = "RR"
|
||||||
hud_state = "rapidregen"
|
hud_state = "rapidregen"
|
||||||
|
|
||||||
spell_flags = NEEDSHUMAN
|
spell_flags = NEEDSHUMAN | STATALLOWED
|
||||||
|
|
||||||
chemcost = 30
|
charge_max = 100 SECONDS
|
||||||
|
cooldown_min = 100 SECONDS
|
||||||
|
|
||||||
/spell/changeling/rapidregen/cast(var/list/targets, var/mob/living/carbon/human/user)
|
chemcost = 40
|
||||||
|
|
||||||
var/mob/living/carbon/human/C = user
|
/spell/changeling/rapidregen/cast_check(skipcharge = 0, var/mob/user = usr)
|
||||||
..()
|
. = ..()
|
||||||
|
if (!.)
|
||||||
|
return FALSE
|
||||||
|
if(user.mind && user.mind.suiciding) //no reviving from suicides
|
||||||
|
to_chat(user, "<span class='warning'>Why would we wish to regenerate if we have already committed suicide?</span>")
|
||||||
|
return FALSE
|
||||||
|
if(M_HUSK in user.mutations)
|
||||||
|
to_chat(user, "<span class='warning'>We can not regenerate from this. There is not enough left to regenerate.</span>")
|
||||||
|
return FALSE
|
||||||
|
if(inuse)
|
||||||
|
return FALSE
|
||||||
|
if(!istype(usr, /mob/living/carbon/))
|
||||||
|
return
|
||||||
|
|
||||||
|
/spell/changeling/rapidregen/cast(var/list/targets, var/mob/living/carbon/C)
|
||||||
for(var/i = 0, i<10,i++)
|
for(var/i = 0, i<10,i++)
|
||||||
if(C)
|
if(C)
|
||||||
C.adjustBruteLoss(-10)
|
C.adjustBruteLoss(-5)
|
||||||
C.adjustToxLoss(-10)
|
C.adjustToxLoss(-5)
|
||||||
C.adjustOxyLoss(-10)
|
C.adjustOxyLoss(-5)
|
||||||
C.adjustFireLoss(-10)
|
C.adjustFireLoss(-5)
|
||||||
sleep(10)
|
sleep(10)
|
||||||
|
C.rejuvenate(0)
|
||||||
feedback_add_details("changeling_powers","RR")
|
feedback_add_details("changeling_powers","RR")
|
||||||
|
..()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
if (!.)
|
if (!.)
|
||||||
return FALSE
|
return FALSE
|
||||||
if(user.mind && user.mind.suiciding) //no reviving from suicides
|
if(user.mind && user.mind.suiciding) //no reviving from suicides
|
||||||
to_chat(user, "<span class='warning'>Why would we wish to regenerate if we have already committed suicide?")
|
to_chat(user, "<span class='warning'>Why would we wish to regenerate if we have already committed suicide?</span>")
|
||||||
return FALSE
|
return FALSE
|
||||||
if(M_HUSK in user.mutations)
|
if(M_HUSK in user.mutations)
|
||||||
to_chat(user, "<span class='warning'>We can not regenerate from this. There is not enough left to regenerate.</span>")
|
to_chat(user, "<span class='warning'>We can not regenerate from this. There is not enough left to regenerate.</span>")
|
||||||
@@ -47,6 +47,8 @@
|
|||||||
|
|
||||||
feedback_add_details("changeling_powers","FD")
|
feedback_add_details("changeling_powers","FD")
|
||||||
|
|
||||||
|
..()
|
||||||
|
|
||||||
/datum/action/lingrevive
|
/datum/action/lingrevive
|
||||||
name = "Return to Life"
|
name = "Return to Life"
|
||||||
desc = "Regenerate your body and continue to spread."
|
desc = "Regenerate your body and continue to spread."
|
||||||
@@ -57,19 +59,12 @@
|
|||||||
var/datum/role/changeling/changeling = owner.mind.GetRole(CHANGELING)
|
var/datum/role/changeling/changeling = owner.mind.GetRole(CHANGELING)
|
||||||
var/mob/living/carbon/C = owner
|
var/mob/living/carbon/C = owner
|
||||||
|
|
||||||
dead_mob_list -= C
|
|
||||||
living_mob_list |= list(C)
|
|
||||||
C.stat = CONSCIOUS
|
|
||||||
C.tod = null
|
|
||||||
C.rejuvenate(0)
|
C.rejuvenate(0)
|
||||||
C.visible_message("<span class='warning'>[owner] appears to wake from the dead, having healed all wounds.</span>")
|
C.visible_message("<span class='warning'>[owner] appears to wake from the dead, having healed all wounds.</span>")
|
||||||
C.status_flags &= ~(FAKEDEATH)
|
|
||||||
C.update_canmove()
|
|
||||||
if(M_HUSK in C.mutations) //Yes you can regenerate from being husked if you played dead beforehand, but unless you find a new body, you can not regenerate again.
|
if(M_HUSK in C.mutations) //Yes you can regenerate from being husked if you played dead beforehand, but unless you find a new body, you can not regenerate again.
|
||||||
to_chat(C, "<span class='notice'>This host body has become corrupted, either through a mishap, or betrayal by a member of the hivemind. We must find a new form, lest we lose ourselves to the void and become dust.</span>")
|
to_chat(C, "<span class='notice'>This host body has become corrupted, either through a mishap, or betrayal by a member of the hivemind. We must find a new form, lest we lose ourselves to the void and become dust.</span>")
|
||||||
if(C.dna in changeling.absorbed_dna)
|
if(C.dna in changeling.absorbed_dna)
|
||||||
changeling.absorbed_dna.Remove(C.dna)
|
changeling.absorbed_dna.Remove(C.dna)
|
||||||
C.regenerate_icons()
|
|
||||||
feedback_add_details("changeling_powers","RJ")
|
feedback_add_details("changeling_powers","RJ")
|
||||||
Remove(owner)
|
Remove(owner)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user