Merge pull request #20103 from Shadowlight213/radstormfixes

A couple of radstorm fixes.
This commit is contained in:
Jordie
2016-08-27 13:47:49 +10:00
committed by GitHub
7 changed files with 24 additions and 23 deletions
+1
View File
@@ -321,6 +321,7 @@ mob/living/carbon/human/updateappearance(icon_update=1, mutcolor_update=0, mutat
var/num = rand(1, DNA_UNI_IDENTITY_BLOCKS)
var/newdna = setblock(M.dna.uni_identity, num, random_string(DNA_BLOCK_SIZE, hex_characters))
M.dna.uni_identity = newdna
M.updateappearance(mutations_overlay_update=1)
return
/proc/clean_dna(mob/living/carbon/M)
+2 -6
View File
@@ -119,18 +119,14 @@
desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."
telegraph_duration = 300
//telegraph_sound = 'sound/lavaland/ash_storm_windup.ogg' //TODO: Get sounds and sprite overlays
//telegraph_overlay = "light_ash"
telegraph_message = "<span class='warning'>The air begins to grow warm.</span>"
weather_message = "<span class='userdanger'><i>You feel waves of heat wash over you! Find shelter!</i></span>"
weather_duration_lower = 600
weather_duration_upper = 1500
//weather_sound = 'sound/lavaland/ash_storm_start.ogg'
//weather_overlay = "ash_storm"
end_duration = 100
//end_sound = 'sound/lavaland/ash_storm_end.ogg'
//end_overlay = "light_ash"
end_message = "<span class='notice'>The air seems to be cooling off again.</span>"
area_type = /area
protected_areas = list(/area/maintenance, /area/turret_protected/ai_upload, /area/turret_protected/ai_upload_foyer, /area/turret_protected/ai)
@@ -45,10 +45,11 @@
m_type = 2
if ("collapse","collapses")
Paralyse(2)
adjustStaminaLoss(100) // Hampers abuse against simple mobs, but still leaves it a viable option.
message = "<B>[src]</B> collapses!"
m_type = 2
if(status_flags & CANPARALYSE) //You can't collapse if you can't actually collapse.
Paralyse(2)
adjustStaminaLoss(100) // Hampers abuse against simple mobs, but still leaves it a viable option.
message = "<B>[src]</B> collapses!"
m_type = 2
if ("cough","coughs")
if (miming)
@@ -804,17 +804,18 @@
if(!(RADIMMUNE in specflags))
if(H.radiation)
if (H.radiation > 100)
if(!H.weakened)
H.emote("collapse")
H.Weaken(10)
H << "<span class='danger'>You feel weak.</span>"
H.emote("collapse")
switch(H.radiation)
if(50 to 75)
if(prob(5))
if(!H.weakened)
H.emote("collapse")
H.Weaken(3)
H << "<span class='danger'>You feel weak.</span>"
H.emote("collapse")
if(prob(15))
if(!( H.hair_style == "Shaved") || !(H.hair_style == "Bald") || (HAIR in specflags))
H << "<span class='danger'>Your hair starts to \
@@ -22,17 +22,19 @@
if (radiation)
if (radiation > 100)
if(!weakened)
emote("collapse")
Weaken(10)
src << "<span class='danger'>You feel weak.</span>"
emote("collapse")
switch(radiation)
if(50 to 75)
if(prob(5))
if(!weakened)
emote("collapse")
Weaken(3)
src << "<span class='danger'>You feel weak.</span>"
emote("collapse")
if(75 to 100)
if(prob(1))
+1 -1
View File
@@ -84,7 +84,7 @@
//this updates all special effects: stunned, sleeping, weakened, druggy, stuttering, etc..
/mob/living/proc/handle_status_effects()
if(paralysis)
AdjustParalysis(-1)
AdjustParalysis(-1, 1, 1)
if(stunned)
AdjustStunned(-1, 1, 1)
if(weakened)
+6 -6
View File
@@ -46,24 +46,24 @@
/////////////////////////////////// PARALYSIS ////////////////////////////////////
/mob/proc/Paralyse(amount, updating = 1)
if(status_flags & CANPARALYSE)
/mob/proc/Paralyse(amount, updating = 1, ignore_canparalyse = 0)
if(status_flags & CANPARALYSE || ignore_canparalyse)
var/old_paralysis = paralysis
paralysis = max(max(paralysis,amount),0)
if((!old_paralysis && paralysis) || (old_paralysis && !paralysis))
if(updating)
update_stat()
/mob/proc/SetParalysis(amount, updating = 1)
if(status_flags & CANPARALYSE)
/mob/proc/SetParalysis(amount, updating = 1, ignore_canparalyse = 0)
if(status_flags & CANPARALYSE || ignore_canparalyse)
var/old_paralysis = paralysis
paralysis = max(amount,0)
if((!old_paralysis && paralysis) || (old_paralysis && !paralysis))
if(updating)
update_stat()
/mob/proc/AdjustParalysis(amount, updating = 1)
if(status_flags & CANPARALYSE)
/mob/proc/AdjustParalysis(amount, updating = 1, ignore_canparalyse = 0)
if(status_flags & CANPARALYSE || ignore_canparalyse)
var/old_paralysis = paralysis
paralysis = max(paralysis + amount,0)
if((!old_paralysis && paralysis) || (old_paralysis && !paralysis))