mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Changelings absorbed by other changelings can no longer rejuvenate back to life. This means changelings can no longer absorb eachother and rejuvenate to share genomes and absorbedcounts.
Fixed the transform to initial appearance adminverb. I'm assuming it got broken when DNA was changed. Made the cloaked-xeno sprite slightly more visible. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4656 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
+4
-4
@@ -649,10 +649,10 @@ datum/mind
|
||||
if( !changeling || !changeling.absorbed_dna.len )
|
||||
usr << "\red Resetting DNA failed!"
|
||||
else
|
||||
usr.dna = changeling.absorbed_dna[changeling.absorbed_dna[1]]
|
||||
usr.real_name = changeling.absorbed_dna[1]
|
||||
updateappearance(usr, usr.dna.uni_identity)
|
||||
domutcheck(usr, null)
|
||||
current.dna = changeling.absorbed_dna[1]
|
||||
current.real_name = current.dna.real_name
|
||||
updateappearance(current, current.dna.uni_identity)
|
||||
domutcheck(current, null)
|
||||
|
||||
else if (href_list["nuclear"])
|
||||
switch(href_list["nuclear"])
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
if(!(P in src.verbs))
|
||||
src.verbs += P.verbpath
|
||||
|
||||
if(!mind.changeling.absorbed_dna.len)
|
||||
mind.changeling.absorbed_dna += dna
|
||||
mind.changeling.absorbed_dna |= dna
|
||||
return 1
|
||||
|
||||
//removes our changeling verbs
|
||||
@@ -110,17 +109,19 @@
|
||||
T << "<span class='danger'>You have been absorbed by the changeling!</span>"
|
||||
|
||||
T.dna.real_name = T.real_name //Set this again, just to be sure that it's properly set.
|
||||
changeling.absorbed_dna += T.dna
|
||||
changeling.absorbed_dna |= T.dna
|
||||
if(usr.nutrition < 400) usr.nutrition = min((usr.nutrition + T.nutrition), 400)
|
||||
changeling.chem_charges += 10
|
||||
changeling.geneticpoints += 2
|
||||
|
||||
if(T.mind && T.mind.changeling)
|
||||
if(T.mind.changeling.absorbed_dna)
|
||||
changeling.absorbed_dna |= T.mind.changeling.absorbed_dna //steal all their loot
|
||||
changeling.absorbedcount += T.mind.changeling.absorbedcount
|
||||
|
||||
T.mind.changeling.absorbed_dna = list(T.dna)
|
||||
for(var/dna_data in T.mind.changeling.absorbed_dna) //steal all their loot
|
||||
if(dna_data in changeling.absorbed_dna)
|
||||
continue
|
||||
changeling.absorbed_dna += dna_data
|
||||
changeling.absorbedcount++
|
||||
T.mind.changeling.absorbed_dna.len = 1
|
||||
|
||||
if(T.mind.changeling.purchasedpowers)
|
||||
for(var/datum/power/changeling/Tp in T.mind.changeling.purchasedpowers)
|
||||
@@ -137,6 +138,8 @@
|
||||
changeling.chem_charges += T.mind.changeling.chem_charges
|
||||
changeling.geneticpoints += T.mind.changeling.geneticpoints
|
||||
T.mind.changeling.chem_charges = 0
|
||||
T.mind.changeling.geneticpoints = 0
|
||||
T.mind.changeling.absorbedcount = 0
|
||||
|
||||
changeling.absorbedcount++
|
||||
changeling.isabsorbing = 0
|
||||
@@ -344,12 +347,11 @@
|
||||
set category = "Changeling"
|
||||
set name = "Regenerative Stasis (20)"
|
||||
|
||||
var/datum/changeling/changeling = changeling_power(20,0,100,DEAD)
|
||||
var/datum/changeling/changeling = changeling_power(20,1,100,DEAD)
|
||||
if(!changeling) return
|
||||
|
||||
changeling.chem_charges -= 20
|
||||
var/mob/living/carbon/C = usr
|
||||
C << "<span class='notice'>We will regenerate our form.</span>"
|
||||
C << "<span class='notice'>We will attempt to regenerate our form.</span>"
|
||||
|
||||
C.status_flags |= FAKEDEATH //play dead
|
||||
C.update_canmove()
|
||||
@@ -359,26 +361,28 @@
|
||||
C.tod = worldtime2text()
|
||||
|
||||
spawn(rand(800,2000))
|
||||
if(C.stat == DEAD)
|
||||
dead_mob_list -= C
|
||||
living_mob_list += C
|
||||
C.stat = CONSCIOUS
|
||||
C.tod = null
|
||||
C.setToxLoss(0)
|
||||
C.setOxyLoss(0)
|
||||
C.setCloneLoss(0)
|
||||
C.SetParalysis(0)
|
||||
C.SetStunned(0)
|
||||
C.SetWeakened(0)
|
||||
C.radiation = 0
|
||||
C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss())
|
||||
C.reagents.clear_reagents()
|
||||
C << "<span class='notice'>We have regenerated.</span>"
|
||||
C.visible_message("<span class='warning'>[usr] appears to wake from the dead, having healed all wounds.</span>")
|
||||
if(changeling_power(20,1,100,DEAD))
|
||||
changeling.chem_charges -= 20
|
||||
if(C.stat == DEAD)
|
||||
dead_mob_list -= C
|
||||
living_mob_list += C
|
||||
C.stat = CONSCIOUS
|
||||
C.tod = null
|
||||
C.setToxLoss(0)
|
||||
C.setOxyLoss(0)
|
||||
C.setCloneLoss(0)
|
||||
C.SetParalysis(0)
|
||||
C.SetStunned(0)
|
||||
C.SetWeakened(0)
|
||||
C.radiation = 0
|
||||
C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss())
|
||||
C.reagents.clear_reagents()
|
||||
C << "<span class='notice'>We have regenerated.</span>"
|
||||
C.visible_message("<span class='warning'>[usr] appears to wake from the dead, having healed all wounds.</span>")
|
||||
|
||||
C.status_flags &= ~(FAKEDEATH)
|
||||
C.update_canmove()
|
||||
C.make_changeling()
|
||||
C.status_flags &= ~(FAKEDEATH)
|
||||
C.update_canmove()
|
||||
C.make_changeling()
|
||||
feedback_add_details("changeling_powers","FD")
|
||||
return 1
|
||||
|
||||
|
||||
@@ -49,6 +49,15 @@ should be listed in the changelog upon commit tho. Thanks. -->
|
||||
|
||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">8 September 2012</h2>
|
||||
<h3 class="author">Carn updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Added an additional check to stop changelings sharing powers/becomming un-absorbable/etc by absorbing eachother and then rejuvinating from death.</li>
|
||||
<li class="tweak">Cloaked Aliens are now slightly easier to see, so they should avoid strongly lit areas when possible. They can still lay down to become even stealthier though. Let me know what you think, it's only a minor sprite change.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">6 September 2012</h2>
|
||||
<h3 class="author">Cheridan updated:</h3>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Reference in New Issue
Block a user