mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Merge pull request #20103 from Shadowlight213/radstormfixes
A couple of radstorm fixes.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user