Prefixed all disability defines with DISABILITY_ to fix a name collision

This commit is contained in:
Jordan Brown
2017-12-24 11:45:45 -05:00
committed by CitadelStationBot
parent 2378235f51
commit 164db7ae9b
83 changed files with 957 additions and 9 deletions
+25
View File
@@ -10,6 +10,7 @@
//mob disabilities stat
<<<<<<< HEAD
#define BLIND 1
#define MUTE 2
#define DEAF 4
@@ -21,6 +22,30 @@
#define DUMB 512
#define MONKEYLIKE 1024 //sets IsAdvancedToolUser to FALSE
#define PACIFISM 2048
=======
#define DISABILITY_BLIND "blind"
#define DISABILITY_MUTE "mute"
#define DISABILITY_DEAF "deaf"
#define DISABILITY_NEARSIGHT "nearsighted"
#define DISABILITY_FAT "fat"
#define DISABILITY_HUSK "husk"
#define DISABILITY_NOCLONE "noclone"
#define DISABILITY_CLUMSY "clumsy"
#define DISABILITY_DUMB "dumb"
#define DISABILITY_MONKEYLIKE "monkeylike" //sets IsAdvancedToolUser to FALSE
#define DISABILITY_PACIFISM "pacifism"
// common disability sources
#define EYE_DAMAGE "eye_damage"
#define GENETIC_MUTATION "genetic"
#define STATUE_MUTE "statue"
#define CHANGELING_DRAIN "drain"
#define OBESITY "obesity"
#define MAGIC_DISABILITY "magic"
#define STASIS_MUTE "stasis"
#define GENETICS_SPELL "genetics_spell"
#define TRAUMA_DISABILITY "trauma"
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
// bitflags for machine stat variable
#define BROKEN 1
+4
View File
@@ -58,7 +58,11 @@
SendSignal(COMSIG_ITEM_ATTACK, M, user)
if(flags_1 & NOBLUDGEON_1)
return
<<<<<<< HEAD
if(user.disabilities & PACIFISM)
=======
if(user.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return
if(!force)
playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1)
+4
View File
@@ -223,7 +223,11 @@
if(verbose)
to_chat(user, "<span class='warning'>[target] is not compatible with our biology.</span>")
return
<<<<<<< HEAD
if((target.disabilities & NOCLONE) || (target.disabilities & HUSK))
=======
if((target.has_disability(DISABILITY_NOCLONE)) || (target.has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(verbose)
to_chat(user, "<span class='warning'>DNA of [target] is ruined beyond usability!</span>")
return
+8
View File
@@ -42,7 +42,11 @@
lose_text = "<span class='notice'>You feel smart again.</span>"
/datum/brain_trauma/mild/dumbness/on_gain()
<<<<<<< HEAD
owner.disabilities |= DUMB
=======
owner.add_disability(DISABILITY_DUMB, TRAUMA_DISABILITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
..()
/datum/brain_trauma/mild/dumbness/on_life()
@@ -54,7 +58,11 @@
..()
/datum/brain_trauma/mild/dumbness/on_lose()
<<<<<<< HEAD
owner.disabilities &= ~DUMB
=======
owner.remove_disability(DISABILITY_DUMB, TRAUMA_DISABILITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
owner.derpspeech = 0
..()
+4
View File
@@ -68,7 +68,11 @@
return
/datum/brain_trauma/mild/phobia/on_hear(message, speaker, message_language, raw_message, radio_freq)
<<<<<<< HEAD
if(owner.disabilities & DEAF || world.time < next_scare) //words can't trigger you if you can't hear them *taps head*
=======
if(owner.has_disability(DISABILITY_DEAF) || world.time < next_scare) //words can't trigger you if you can't hear them *taps head*
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return message
for(var/word in trigger_words)
if(findtext(message, word))
+28
View File
@@ -12,6 +12,7 @@
lose_text = "<span class='notice'>You suddenly remember how to speak.</span>"
/datum/brain_trauma/severe/mute/on_gain()
<<<<<<< HEAD
owner.disabilities |= MUTE
..()
@@ -23,6 +24,13 @@
/datum/brain_trauma/severe/mute/on_lose()
owner.disabilities &= ~MUTE
=======
owner.add_disability(DISABILITY_MUTE, TRAUMA_DISABILITY)
..()
/datum/brain_trauma/severe/mute/on_lose()
owner.remove_disability(DISABILITY_MUTE, TRAUMA_DISABILITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
..()
/datum/brain_trauma/severe/aphasia
@@ -132,7 +140,11 @@
stress -= 4
/datum/brain_trauma/severe/monophobia/proc/check_alone()
<<<<<<< HEAD
if(owner.disabilities & BLIND)
=======
if(owner.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return TRUE
for(var/mob/M in oview(owner, 7))
if(!isliving(M)) //ghosts ain't people
@@ -194,11 +206,19 @@
lose_text = "<span class='notice'>You feel in control of your hands again.</span>"
/datum/brain_trauma/severe/discoordination/on_gain()
<<<<<<< HEAD
owner.disabilities |= MONKEYLIKE
..()
/datum/brain_trauma/severe/discoordination/on_lose()
owner.disabilities &= ~MONKEYLIKE
=======
owner.add_disability(DISABILITY_MONKEYLIKE, TRAUMA_DISABILITY)
..()
/datum/brain_trauma/severe/discoordination/on_lose()
owner.remove_disability(DISABILITY_MONKEYLIKE, TRAUMA_DISABILITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
..()
/datum/brain_trauma/severe/pacifism
@@ -209,9 +229,17 @@
lose_text = "<span class='notice'>You no longer feel compelled to not harm.</span>"
/datum/brain_trauma/severe/pacifism/on_gain()
<<<<<<< HEAD
owner.disabilities |= PACIFISM
..()
/datum/brain_trauma/severe/pacifism/on_lose()
owner.disabilities &= ~PACIFISM
=======
owner.add_disability(DISABILITY_PACIFISM, TRAUMA_DISABILITY)
..()
/datum/brain_trauma/severe/pacifism/on_lose()
owner.remove_disability(DISABILITY_PACIFISM, TRAUMA_DISABILITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
..()
@@ -192,7 +192,11 @@
return //no random switching
/datum/brain_trauma/severe/split_personality/brainwashing/on_hear(message, speaker, message_language, raw_message, radio_freq)
<<<<<<< HEAD
if(owner.disabilities & DEAF || owner == speaker)
=======
if(owner.has_disability(DISABILITY_DEAF) || owner == speaker)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return message
if(findtext(message, codeword))
message = replacetext(message, codeword, "<span class='warning'>[codeword]</span>")
@@ -61,7 +61,11 @@ Bonus
M.become_nearsighted()
if(prob(eyes.eye_damage - 10 + 1))
if(!remove_eyes)
<<<<<<< HEAD
if(M.become_blind())
=======
if(!M.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='userdanger'>You go blind!</span>")
else
M.visible_message("<span class='warning'>[M]'s eyes fall off their sockets!</span>", "<span class='userdanger'>Your eyes fall off their sockets!</span>")
@@ -111,14 +115,22 @@ Bonus
return
switch(A.stage)
if(4, 5) //basically oculine
<<<<<<< HEAD
if(M.disabilities & BLIND)
=======
if(M.has_disability(DISABILITY_BLIND, EYE_DAMAGE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(prob(20))
to_chat(M, "<span class='warning'>Your vision slowly returns...</span>")
M.cure_blind()
M.cure_nearsighted()
M.blur_eyes(35)
<<<<<<< HEAD
else if(M.disabilities & NEARSIGHT)
=======
else if(M.has_disability(DISABILITY_NEARSIGHT, EYE_DAMAGE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='warning'>The blackness in your peripheral vision fades.</span>")
M.cure_nearsighted()
M.blur_eyes(10)
+4
View File
@@ -197,7 +197,11 @@
/obj/item/twohanded/bostaff/attack(mob/target, mob/living/user)
add_fingerprint(user)
<<<<<<< HEAD
if((CLUMSY in user.disabilities) && prob(50))
=======
if((user.has_disability(DISABILITY_CLUMSY)) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class ='warning'>You club yourself over the head with [src].</span>")
user.Knockdown(60)
if(ishuman(user))
+16
View File
@@ -85,12 +85,20 @@
/datum/mutation/human/clumsy/on_acquiring(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities |= CLUMSY
=======
owner.add_disability(DISABILITY_CLUMSY, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/datum/mutation/human/clumsy/on_losing(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities &= ~CLUMSY
=======
owner.remove_disability(DISABILITY_CLUMSY, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
//Tourettes causes you to randomly stand in place and shout.
@@ -124,12 +132,20 @@
/datum/mutation/human/deaf/on_acquiring(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities |= DEAF
=======
owner.add_disability(DISABILITY_DEAF, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/datum/mutation/human/deaf/on_losing(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities &= ~DEAF
=======
owner.remove_disability(DISABILITY_DEAF, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
//Monified turns you into a monkey.
+8
View File
@@ -30,12 +30,20 @@
/datum/mutation/human/mute/on_acquiring(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities |= MUTE
=======
owner.add_disability(DISABILITY_MUTE, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/datum/mutation/human/mute/on_losing(mob/living/carbon/human/owner)
if(..())
return
<<<<<<< HEAD
owner.disabilities &= ~MUTE
=======
owner.remove_disability(DISABILITY_MUTE, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/datum/mutation/human/smile
@@ -90,7 +90,11 @@
/obj/effect/proc_holder/changeling/sting/transformation/can_sting(mob/user, mob/living/carbon/target)
if(!..())
return
<<<<<<< HEAD
if((target.disabilities & HUSK) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits))
=======
if((target.has_disability(DISABILITY_HUSK)) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return 0
return 1
@@ -129,9 +133,17 @@
/obj/effect/proc_holder/changeling/sting/false_armblade/can_sting(mob/user, mob/target)
if(!..())
return
<<<<<<< HEAD
if((target.disabilities & HUSK) || !target.has_dna())
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return 0
=======
if(isliving(target))
var/mob/living/L = target
if((L.has_disability(DISABILITY_HUSK)) || !L.has_dna())
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return 0
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return 1
/obj/effect/proc_holder/changeling/sting/false_armblade/sting_action(mob/user, mob/target)
@@ -32,7 +32,11 @@
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
if(src == H.glasses && !up)
<<<<<<< HEAD
if(H.disabilities & BLIND)
=======
if(H.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(H, "<span class='heavy_brass'>\"You're blind, idiot. Stop embarrassing yourself.\"</span>")
return
if(blind_cultist(H))
@@ -76,7 +80,11 @@
..()
if(slot != slot_glasses || up)
return
<<<<<<< HEAD
if(user.disabilities & BLIND)
=======
if(user.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='heavy_brass'>\"You're blind, idiot. Stop embarrassing yourself.\"</span>" )
return
if(blind_cultist(user)) //Cultists instantly go blind
@@ -115,11 +123,19 @@
var/obj/item/clothing/glasses/wraith_spectacles/WS = L.glasses
desc = "[glasses_right && !WS.up ? "<font color=#DAAA18><b>":""]You are [glasses_right ? "":"not "]wearing wraith spectacles[glasses_right && !WS.up ? "!</b></font>":"."]<br>\
You have taken <font color=#DAAA18><b>[W.eye_damage_done]</b></font> eye damage from them.<br>"
<<<<<<< HEAD
if(L.disabilities & NEARSIGHT)
desc += "<font color=#DAAA18><b>You are nearsighted!</b></font><br>"
else if(glasses_right && !WS.up)
desc += "You will become nearsighted at <font color=#DAAA18><b>[W.nearsight_breakpoint]</b></font> eye damage.<br>"
if(L.disabilities & BLIND)
=======
if(L.has_disability(DISABILITY_NEARSIGHT))
desc += "<font color=#DAAA18><b>You are nearsighted!</b></font><br>"
else if(glasses_right && !WS.up)
desc += "You will become nearsighted at <font color=#DAAA18><b>[W.nearsight_breakpoint]</b></font> eye damage.<br>"
if(L.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
desc += "<font color=#DAAA18><b>You are blind!</b></font>"
else if(glasses_right && !WS.up)
desc += "You will become blind at <font color=#DAAA18><b>[W.blind_breakpoint]</b></font> eye damage."
@@ -153,17 +169,29 @@
qdel(src)
/datum/status_effect/wraith_spectacles/proc/apply_eye_damage(mob/living/carbon/human/H)
<<<<<<< HEAD
if(H.disabilities & BLIND)
=======
if(H.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return
H.adjust_eye_damage(0.5)
eye_damage_done += 0.5
if(eye_damage_done >= 20)
H.adjust_blurriness(2)
if(eye_damage_done >= nearsight_breakpoint)
<<<<<<< HEAD
if(H.become_nearsighted())
to_chat(H, "<span class='nzcrentr'>Your vision doubles, then trebles. Darkness begins to close in. You can't keep this up!</span>")
if(eye_damage_done >= blind_breakpoint)
if(H.become_blind())
=======
if(!H.has_disability(DISABILITY_NEARSIGHT))
to_chat(H, "<span class='nzcrentr'>Your vision doubles, then trembles. Darkness begins to close in. You can't keep this up!</span>")
H.become_nearsighted(EYE_DAMAGE)
if(eye_damage_done >= blind_breakpoint)
if(!H.has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(H, "<span class='nzcrentr_large'>A piercing white light floods your vision. Suddenly, all goes dark!</span>")
if(prob(min(20, 5 + eye_damage_done)))
to_chat(H, "<span class='nzcrentr_small'><i>Your eyes continue to burn.</i></span>")
@@ -110,7 +110,11 @@
if(!(BI.resistance_flags & ON_FIRE))
BI.fire_act()
continue
<<<<<<< HEAD
if(is_servant_of_ratvar(L) || (L.disabilities & BLIND) || L.null_rod_check())
=======
if(is_servant_of_ratvar(L) || (L.has_disability(DISABILITY_BLIND)) || L.null_rod_check())
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
continue
if(L.stat || L.restrained() || L.buckled || L.lying)
continue
+4
View File
@@ -115,7 +115,11 @@ structure_check() searches for nearby cultist structures required for the invoca
continue
if(ishuman(L))
var/mob/living/carbon/human/H = L
<<<<<<< HEAD
if((H.disabilities & MUTE) || H.silent)
=======
if((H.has_disability(DISABILITY_MUTE)) || H.silent)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
continue
if(L.stat)
continue
+4
View File
@@ -449,7 +449,11 @@
scantemp = "<font class='bad'>Subject's brain is not responding to scanning stimuli.</font>"
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
return
<<<<<<< HEAD
if((mob_occupant.disabilities & NOCLONE) && (src.scanner.scan_level < 2))
=======
if((mob_occupant.has_disability(DISABILITY_NOCLONE)) && (src.scanner.scan_level < 2))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
scantemp = "<font class='bad'>Subject no longer contains the fundamental materials required to create a living clone.</font>"
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
return
@@ -81,7 +81,11 @@
if(connected && connected.is_operational())
if(connected.occupant) //set occupant_status message
viable_occupant = connected.occupant
<<<<<<< HEAD
if(viable_occupant.has_dna() && (!(RADIMMUNE in viable_occupant.dna.species.species_traits)) && (!(viable_occupant.disabilities & NOCLONE) || (connected.scan_level == 3))) //occupant is viable for dna modification
=======
if(viable_occupant.has_dna() && (!(RADIMMUNE in viable_occupant.dna.species.species_traits)) && (!(viable_occupant.has_disability(DISABILITY_NOCLONE)) || (connected.scan_level == 3))) //occupant is viable for dna modification
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
occupant_status += "[viable_occupant.name] => "
switch(viable_occupant.stat)
if(CONSCIOUS)
@@ -528,7 +532,11 @@
var/mob/living/carbon/viable_occupant = null
if(connected)
viable_occupant = connected.occupant
<<<<<<< HEAD
if(!istype(viable_occupant) || !viable_occupant.dna || (viable_occupant.disabilities & NOCLONE))
=======
if(!istype(viable_occupant) || !viable_occupant.dna || (viable_occupant.has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
viable_occupant = null
return viable_occupant
+4
View File
@@ -100,7 +100,11 @@
var/mob/living/mob_occupant = get_mob_or_brainmob(occupant)
if(istype(mob_occupant))
if(locate_computer(/obj/machinery/computer/cloning))
<<<<<<< HEAD
if(!mob_occupant.suiciding && !(mob_occupant.disabilities & NOCLONE) && !mob_occupant.hellbound)
=======
if(!mob_occupant.suiciding && !(mob_occupant.has_disability(DISABILITY_NOCLONE)) && !mob_occupant.hellbound)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
mob_occupant.notify_ghost_cloning("Your corpse has been placed into a cloning scanner. Re-enter your corpse if you want to be cloned!", source = src)
// DNA manipulators cannot operate on severed heads or brains
+4
View File
@@ -680,7 +680,11 @@
if(ishuman(user) && prob(40) && src.density)
var/mob/living/carbon/human/H = user
<<<<<<< HEAD
if((H.disabilities & DUMB) && Adjacent(user))
=======
if((H.has_disability(DISABILITY_DUMB)) && Adjacent(user))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
if(!istype(H.head, /obj/item/clothing/head/helmet))
H.visible_message("<span class='danger'>[user] headbutts the airlock.</span>", \
+6
View File
@@ -539,9 +539,15 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
M.adjust_blurriness(15)
if(M.stat != DEAD)
to_chat(M, "<span class='danger'>Your eyes start to bleed profusely!</span>")
<<<<<<< HEAD
if(!(M.disabilities & (NEARSIGHT | BLIND)))
if(M.become_nearsighted())
to_chat(M, "<span class='danger'>You become nearsighted!</span>")
=======
if(!(M.has_disability(DISABILITY_BLIND) || M.has_disability(DISABILITY_NEARSIGHT)))
to_chat(M, "<span class='danger'>You become nearsighted!</span>")
M.become_nearsighted(EYE_DAMAGE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(prob(50))
if(M.stat != DEAD)
if(M.drop_all_held_items())
+8
View File
@@ -393,7 +393,11 @@
/obj/item/twohanded/shockpaddles/proc/can_defib(mob/living/carbon/human/H)
var/obj/item/organ/brain/BR = H.getorgan(/obj/item/organ/brain)
<<<<<<< HEAD
return (!H.suiciding && !(H.disabilities & NOCLONE) && !H.hellbound && ((world.time - H.timeofdeath) < tlimit) && (H.getBruteLoss() < 180) && (H.getFireLoss() < 180) && H.getorgan(/obj/item/organ/heart) && BR && !BR.damaged_brain)
=======
return (!H.suiciding && !(H.has_disability(DISABILITY_NOCLONE)) && !H.hellbound && ((world.time - H.timeofdeath) < tlimit) && (H.getBruteLoss() < 180) && (H.getFireLoss() < 180) && H.getorgan(/obj/item/organ/heart) && BR && !BR.damaged_brain)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H)
if(isliving(H.pulledby)) //CLEAR!
@@ -514,7 +518,11 @@
shock_touching(30, H)
var/failed
<<<<<<< HEAD
if (H.suiciding || (H.disabilities & NOCLONE))
=======
if (H.suiciding || (H.has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
failed = "<span class='warning'>[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Recovery of patient impossible. Further attempts futile.</span>"
else if (H.hellbound)
failed = "<span class='warning'>[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Patient's soul appears to be on another plane of existence. Further attempts futile.</span>"
@@ -48,7 +48,11 @@
add_fingerprint(user)
if(istype(M) && on && user.zone_selected in list("eyes", "mouth"))
<<<<<<< HEAD
if((user.disabilities & (CLUMSY | DUMB)) && prob(50)) //too dumb to use flashlight properly
=======
if((user.has_disability(DISABILITY_CLUMSY) || user.has_disability(DISABILITY_DUMB)) && prob(50)) //too dumb to use flashlight properly
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return ..() //just hit them in the head
if(!user.IsAdvancedToolUser())
@@ -82,7 +86,11 @@
else
user.visible_message("<span class='warning'>[user] directs [src] to [M]'s eyes.</span>", \
"<span class='danger'>You direct [src] to [M]'s eyes.</span>")
<<<<<<< HEAD
if(M.stat == DEAD || (M.disabilities & BLIND) || !M.flash_act(visual = 1)) //mob is dead or fully blind
=======
if(M.stat == DEAD || (M.has_disability(DISABILITY_BLIND)) || !M.flash_act(visual = 1)) //mob is dead or fully blind
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>[M]'s pupils don't react to the light!</span>")
else if(M.dna && M.dna.check_mutation(XRAY)) //mob has X-RAY vision
to_chat(user, "<span class='danger'>[M]'s pupils give an eerie glow!</span>")
@@ -85,7 +85,11 @@ GAS ANALYZER
/obj/item/device/healthanalyzer/attack(mob/living/M, mob/living/carbon/human/user)
// Clumsiness/brain damage check
<<<<<<< HEAD
if ((user.disabilities & (CLUMSY | DUMB)) && prob(50))
=======
if ((user.has_disability(DISABILITY_CLUMSY) || user.has_disability(DISABILITY_DUMB)) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='notice'>You stupidly try to analyze the floor's vitals!</span>")
user.visible_message("<span class='warning'>[user] has analyzed the floor's vitals!</span>")
to_chat(user, "<span class='info'>Analyzing results for The floor:\n\tOverall status: <b>Healthy</b>")
@@ -181,9 +185,18 @@ GAS ANALYZER
to_chat(user, "\t<span class='info'><b>==EAR STATUS==</b></span>")
if(istype(ears))
var/healthy = TRUE
<<<<<<< HEAD
if(C.disabilities & DEAF)
healthy = FALSE
to_chat(user, "\t<span class='alert'>Subject is genetically deaf.</span>")
=======
if(C.has_disability(DISABILITY_DEAF, GENETIC_MUTATION))
healthy = FALSE
to_chat(user, "\t<span class='alert'>Subject is genetically deaf.</span>")
else if(C.has_disability(DISABILITY_DEAF))
healthy = FALSE
to_chat(user, "\t<span class='alert'>Subject is deaf.</span>")
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
else
if(ears.ear_damage)
to_chat(user, "\t<span class='alert'>Subject has [ears.ear_damage > UNHEALING_EAR_DAMAGE? "permanent ": "temporary "]hearing damage.</span>")
@@ -199,10 +212,17 @@ GAS ANALYZER
to_chat(user, "\t<span class='info'><b>==EYE STATUS==</b></span>")
if(istype(eyes))
var/healthy = TRUE
<<<<<<< HEAD
if(C.disabilities & BLIND)
to_chat(user, "\t<span class='alert'>Subject is blind.</span>")
healthy = FALSE
if(C.disabilities & NEARSIGHT)
=======
if(C.has_disability(DISABILITY_BLIND))
to_chat(user, "\t<span class='alert'>Subject is blind.</span>")
healthy = FALSE
if(C.has_disability(DISABILITY_NEARSIGHT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "\t<span class='alert'>Subject is nearsighted.</span>")
healthy = FALSE
if(eyes.eye_damage > 30)
+8
View File
@@ -31,7 +31,11 @@
/obj/item/dnainjector/proc/inject(mob/living/carbon/M, mob/user)
prepare()
<<<<<<< HEAD
if(M.has_dna() && !(RADIMMUNE in M.dna.species.species_traits) && !(M.disabilities & NOCLONE))
=======
if(M.has_dna() && !(RADIMMUNE in M.dna.species.species_traits) && !(M.has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
for(var/datum/mutation/human/HM in remove_mutations)
@@ -313,7 +317,11 @@
to_chat(user, "<span class='notice'>You can't modify [M]'s DNA while [M.p_theyre()] dead.</span>")
return FALSE
<<<<<<< HEAD
if(M.has_dna() && !(M.disabilities & NOCLONE))
=======
if(M.has_dna() && !(M.has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
var/endtime = world.time+duration
@@ -24,7 +24,11 @@
qdel(src)
/obj/item/grenade/proc/clown_check(mob/living/carbon/human/user)
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>Huh? How does this thing work?</span>")
preprime(user, 5, FALSE)
return FALSE
+4
View File
@@ -26,7 +26,11 @@
/obj/item/restraints/handcuffs/attack(mob/living/carbon/C, mob/living/carbon/human/user)
if(!istype(C))
return
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>Uh... how do those things work?!</span>")
apply_cuffs(user,user)
return
+8
View File
@@ -44,7 +44,11 @@
forkload = null
else if(user.zone_selected == "eyes")
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M = user
return eyestab(M,user)
else
@@ -70,7 +74,11 @@
/obj/item/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user)
if(user.zone_selected == "eyes")
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M = user
return eyestab(M,user)
else
+4
View File
@@ -99,7 +99,11 @@
return ..()
add_fingerprint(user)
<<<<<<< HEAD
if((CLUMSY in user.disabilities) && prob(50))
=======
if((user.has_disability(DISABILITY_CLUMSY)) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class ='danger'>You club yourself over the head.</span>")
user.Knockdown(60 * force)
if(ishuman(user))
@@ -72,6 +72,10 @@
to_chat(user, "<span class='notice'>[src] [active ? "is now active":"can now be concealed"].</span>")
/obj/item/melee/transforming/proc/clumsy_transform_effect(mob/living/user)
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>")
user.take_bodypart_damage(5,5)
@@ -147,9 +147,16 @@
if(tank && !tank.air_contents.remove(gasPerThrow * pressureSetting))
to_chat(user, "<span class='warning'>\The [src] lets out a weak hiss and doesn't react!</span>")
return
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(75) && clumsyCheck)
user.visible_message("<span class='warning'>[user] loses their grip on [src], causing it to go off!</span>", "<span class='userdanger'>[src] slips out of your hands and goes off!</span>")
user.dropItemToGround(src, TRUE)
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(75) && clumsyCheck && iscarbon(user))
var/mob/living/carbon/C = user
C.visible_message("<span class='warning'>[C] loses their grip on [src], causing it to go off!</span>", "<span class='userdanger'>[src] slips out of your hands and goes off!</span>")
C.dropItemToGround(src, TRUE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(prob(10))
target = get_turf(user)
else
+145
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
/obj/item/shield
name = "shield"
block_chance = 50
@@ -140,3 +141,147 @@
slot_flags = null
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
add_fingerprint(user)
=======
/obj/item/shield
name = "shield"
block_chance = 50
armor = list(melee = 50, bullet = 50, laser = 50, energy = 0, bomb = 30, bio = 0, rad = 0, fire = 80, acid = 70)
/obj/item/shield/riot
name = "riot shield"
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "riot"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
slot_flags = SLOT_BACK
force = 10
throwforce = 5
throw_speed = 2
throw_range = 3
w_class = WEIGHT_CLASS_BULKY
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
/obj/item/shield/riot/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/melee/baton))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
return ..()
/obj/item/shield/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(attack_type == THROWN_PROJECTILE_ATTACK)
final_block_chance += 30
if(attack_type == LEAP_ATTACK)
final_block_chance = 100
return ..()
/obj/item/shield/riot/roman
name = "roman shield"
desc = "Bears an inscription on the inside: <i>\"Romanes venio domus\"</i>."
icon_state = "roman_shield"
item_state = "roman_shield"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
/obj/item/shield/riot/buckler
name = "wooden buckler"
desc = "A medieval wooden buckler."
icon_state = "buckler"
item_state = "buckler"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
materials = list()
resistance_flags = FLAMMABLE
block_chance = 30
/obj/item/shield/energy
name = "energy combat shield"
desc = "A shield capable of stopping most melee attacks. Protects user from almost all energy projectiles. It can be retracted, expanded, and stored anywhere."
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "eshield0" // eshield1 for expanded
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
force = 3
throwforce = 3
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_TINY
attack_verb = list("shoved", "bashed")
var/active = 0
/obj/item/shield/energy/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
return 0
/obj/item/shield/energy/IsReflect()
return (active)
/obj/item/shield/energy/attack_self(mob/living/carbon/human/user)
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
to_chat(user, "<span class='warning'>You beat yourself in the head with [src].</span>")
user.take_bodypart_damage(5)
active = !active
icon_state = "eshield[active]"
if(active)
force = 10
throwforce = 8
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
to_chat(user, "<span class='notice'>[src] is now active.</span>")
else
force = 3
throwforce = 3
throw_speed = 3
w_class = WEIGHT_CLASS_TINY
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
add_fingerprint(user)
/obj/item/shield/riot/tele
name = "telescopic shield"
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "teleriot0"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
slot_flags = null
force = 3
throwforce = 3
throw_speed = 3
throw_range = 4
w_class = WEIGHT_CLASS_NORMAL
var/active = 0
/obj/item/shield/riot/tele/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(active)
return ..()
return 0
/obj/item/shield/riot/tele/attack_self(mob/living/user)
active = !active
icon_state = "teleriot[active]"
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
if(active)
force = 8
throwforce = 5
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK
to_chat(user, "<span class='notice'>You extend \the [src].</span>")
else
force = 3
throwforce = 3
throw_speed = 3
w_class = WEIGHT_CLASS_NORMAL
slot_flags = null
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
add_fingerprint(user)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
+4
View File
@@ -94,7 +94,11 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
<<<<<<< HEAD
if (user.disabilities & CLUMSY && prob(50))
=======
if (user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='danger'>[src] slips out of your hand and hits your head.</span>")
user.take_bodypart_damage(10)
user.Unconscious(400)
+4
View File
@@ -108,7 +108,11 @@
add_fingerprint(user)
/obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user)
<<<<<<< HEAD
if(status && user.disabilities & CLUMSY && prob(50))
=======
if(status && user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
user.visible_message("<span class='danger'>[user] accidentally hits themself with [src]!</span>", \
"<span class='userdanger'>You accidentally hit yourself with [src]!</span>")
user.Knockdown(stunforce*3)
+4
View File
@@ -8,7 +8,11 @@
/obj/item/melee/baton/cattleprod/teleprod/attack(mob/living/carbon/M, mob/living/carbon/user)//handles making things teleport when hit
..()
<<<<<<< HEAD
if(status && user.disabilities & CLUMSY && prob(50))
=======
if(status && user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
user.visible_message("<span class='danger'>[user] accidentally hits themself with [src]!</span>", \
"<span class='userdanger'>You accidentally hit yourself with [src]!</span>")
if(do_teleport(user, get_turf(user), 50))//honk honk
@@ -75,7 +75,11 @@
return ..()
if(user.zone_selected != "eyes" && user.zone_selected != "head")
return ..()
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M = user
return eyestab(M,user)
+4
View File
@@ -302,7 +302,11 @@
unwield()
return
..()
<<<<<<< HEAD
if(user.disabilities & CLUMSY && (wielded) && prob(40))
=======
if(user.has_disability(DISABILITY_CLUMSY) && (wielded) && prob(40))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
impale(user)
return
if((wielded) && prob(50))
@@ -17,7 +17,11 @@
L.buckled.unbuckle_mob(L,force=1)
L.visible_message("<span class='warning'>[L]'s skin rapidly turns to marble!</span>", "<span class='userdanger'>Your body freezes up! Can't... move... can't... think...</span>")
L.forceMove(src)
<<<<<<< HEAD
L.disabilities |= MUTE
=======
L.add_disability(DISABILITY_MUTE, STATUE_MUTE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
L.faction += "mimic" //Stops mimics from instaqdeling people in statues
L.status_flags |= GODMODE
obj_integrity = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
@@ -59,7 +63,11 @@
if(petrified_mob)
petrified_mob.status_flags &= ~GODMODE
petrified_mob.forceMove(loc)
<<<<<<< HEAD
petrified_mob.disabilities &= ~MUTE
=======
petrified_mob.remove_disability(DISABILITY_MUTE, STATUE_MUTE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
petrified_mob.take_overall_damage((petrified_mob.health - obj_integrity + 100)) //any new damage the statue incurred is transfered to the mob
petrified_mob.faction -= "mimic"
petrified_mob = null
+4
View File
@@ -30,7 +30,11 @@
holder.update_icon()
/obj/item/device/assembly/flash/proc/clown_check(mob/living/carbon/human/user)
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
flash_carbon(user, user, 15, 0)
return 0
return 1
+145
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
/obj/item/device/assembly/mousetrap
name = "mousetrap"
desc = "A handy little spring-loaded trap for catching pesty rodents."
@@ -140,3 +141,147 @@
/obj/item/device/assembly/mousetrap/armed
icon_state = "mousetraparmed"
armed = TRUE
=======
/obj/item/device/assembly/mousetrap
name = "mousetrap"
desc = "A handy little spring-loaded trap for catching pesty rodents."
icon_state = "mousetrap"
materials = list(MAT_METAL=100)
attachable = 1
var/armed = 0
/obj/item/device/assembly/mousetrap/examine(mob/user)
..()
if(armed)
to_chat(user, "The mousetrap is armed!")
else
to_chat(user, "The mousetrap is not armed.")
/obj/item/device/assembly/mousetrap/activate()
if(..())
armed = !armed
if(!armed)
if(ishuman(usr))
var/mob/living/carbon/human/user = usr
if((user.has_disability(DISABILITY_DUMB) || user.has_disability(DISABILITY_CLUMSY)) && prob(50))
to_chat(user, "<span class='warning'>Your hand slips, setting off the trigger!</span>")
pulse(0)
update_icon()
if(usr)
playsound(usr.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
/obj/item/device/assembly/mousetrap/describe()
return "The pressure switch is [armed?"primed":"safe"]."
/obj/item/device/assembly/mousetrap/update_icon()
if(armed)
icon_state = "mousetraparmed"
else
icon_state = "mousetrap"
if(holder)
holder.update_icon()
/obj/item/device/assembly/mousetrap/proc/triggered(mob/target, type = "feet")
if(!armed)
return
var/obj/item/bodypart/affecting = null
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(PIERCEIMMUNE in H.dna.species.species_traits)
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
armed = 0
update_icon()
pulse(0)
return 0
switch(type)
if("feet")
if(!H.shoes)
affecting = H.get_bodypart(pick("l_leg", "r_leg"))
H.Knockdown(60)
if("l_hand", "r_hand")
if(!H.gloves)
affecting = H.get_bodypart(type)
H.Stun(60)
if(affecting)
if(affecting.receive_damage(1, 0))
H.update_damage_overlays()
else if(ismouse(target))
var/mob/living/simple_animal/mouse/M = target
visible_message("<span class='boldannounce'>SPLAT!</span>")
M.splat()
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
armed = 0
update_icon()
pulse(0)
/obj/item/device/assembly/mousetrap/attack_self(mob/living/carbon/human/user)
if(!armed)
to_chat(user, "<span class='notice'>You arm [src].</span>")
else
if((user.has_disability(DISABILITY_DUMB) || user.has_disability(DISABILITY_CLUMSY)) && prob(50))
var/which_hand = "l_hand"
if(!(user.active_hand_index % 2))
which_hand = "r_hand"
triggered(user, which_hand)
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking their fingers.</span>", \
"<span class='warning'>You accidentally trigger [src]!</span>")
return
to_chat(user, "<span class='notice'>You disarm [src].</span>")
armed = !armed
update_icon()
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
/obj/item/device/assembly/mousetrap/attack_hand(mob/living/carbon/human/user)
if(armed)
if((user.has_disability(DISABILITY_DUMB) || user.has_disability(DISABILITY_CLUMSY)) && prob(50))
var/which_hand = "l_hand"
if(!(user.active_hand_index % 2))
which_hand = "r_hand"
triggered(user, which_hand)
user.visible_message("<span class='warning'>[user] accidentally sets off [src], breaking their fingers.</span>", \
"<span class='warning'>You accidentally trigger [src]!</span>")
return
..()
/obj/item/device/assembly/mousetrap/Crossed(atom/movable/AM as mob|obj)
if(armed)
if(ismob(AM))
var/mob/MM = AM
if(!(MM.movement_type & FLYING))
if(ishuman(AM))
var/mob/living/carbon/H = AM
if(H.m_intent == MOVE_INTENT_RUN)
triggered(H)
H.visible_message("<span class='warning'>[H] accidentally steps on [src].</span>", \
"<span class='warning'>You accidentally step on [src]</span>")
else if(ismouse(MM))
triggered(MM)
else if(AM.density) // For mousetrap grenades, set off by anything heavy
triggered(AM)
..()
/obj/item/device/assembly/mousetrap/on_found(mob/finder)
if(armed)
finder.visible_message("<span class='warning'>[finder] accidentally sets off [src], breaking their fingers.</span>", \
"<span class='warning'>You accidentally trigger [src]!</span>")
triggered(finder, (finder.active_hand_index % 2 == 0) ? "r_hand" : "l_hand")
return 1 //end the search!
return 0
/obj/item/device/assembly/mousetrap/hitby(A as mob|obj)
if(!armed)
return ..()
visible_message("<span class='warning'>[src] is triggered by [A].</span>")
triggered(null)
/obj/item/device/assembly/mousetrap/armed
icon_state = "mousetraparmed"
armed = 1
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
@@ -41,7 +41,11 @@
/obj/item/clothing/glasses/proc/thermal_overload()
if(ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
<<<<<<< HEAD
if(!(H.disabilities & BLIND))
=======
if(!(H.has_disability(DISABILITY_BLIND)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(H.glasses == src)
to_chat(H, "<span class='danger'>[src] overloads and blinds you!</span>")
H.flash_act(visual = 1)
+4
View File
@@ -51,7 +51,11 @@
var/datum/disease/D
if(!advanced_virus)
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
<<<<<<< HEAD
if(!H.dna || (H.disabilities & BLIND)) //A blindness disease would be the worst.
=======
if(!H.dna || (H.has_disability(DISABILITY_BLIND))) //A blindness disease would be the worst.
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
continue
D = new virus_type()
var/datum/disease/dnaspread/DS = D
+1 -1
View File
@@ -45,7 +45,7 @@
min_wrate = FLOOR(10-wratemod,1) // 7,5,2,0 Clamps at 0 and 10 You want this low
min_wchance = 67-(ML.rating*16) // 48,35,19,3 Clamps at 0 and 67 You want this low
for(var/obj/item/circuitboard/machine/plantgenes/vaultcheck in component_parts)
if(istype(vaultcheck, /obj/item/circuitboard/machine/plantgenes/vault)) // DUMB BOTANY TUTS
if(istype(vaultcheck, /obj/item/circuitboard/machine/plantgenes/vault)) // DISABILITY_DUMB BOTANY TUTS
max_potency = 100
max_yield = 10
min_production = 1
@@ -656,7 +656,11 @@
playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000))
/obj/item/melee/transforming/cleaving_saw/clumsy_transform_effect(mob/living/user)
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(50))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(50))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>")
user.take_bodypart_damage(10)
+16
View File
@@ -16,7 +16,11 @@
/mob/living/carbon/monkey/handle_blood()
<<<<<<< HEAD
if(bodytemperature >= 225 && !(disabilities & NOCLONE)) //cryosleep or husked people do not pump the blood.
=======
if(bodytemperature >= 225 && !(has_disability(DISABILITY_NOCLONE))) //cryosleep or husked people do not pump the blood.
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
//Blood regeneration if there is some space
if(blood_volume < BLOOD_VOLUME_NORMAL)
blood_volume += 0.1 // regenerate blood VERY slowly
@@ -28,7 +32,11 @@
bleed_rate = 0
return
<<<<<<< HEAD
if(bodytemperature >= 225 && !(disabilities & NOCLONE)) //cryosleep or husked people do not pump the blood.
=======
if(bodytemperature >= 225 && !(has_disability(DISABILITY_NOCLONE))) //cryosleep or husked people do not pump the blood.
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
//Blood regeneration if there is some space
if(blood_volume < BLOOD_VOLUME_NORMAL && !(NOHUNGER in dna.species.species_traits))
@@ -201,13 +209,21 @@
return "blood"
/mob/living/carbon/monkey/get_blood_id()
<<<<<<< HEAD
if(!(disabilities & NOCLONE))
=======
if(!(has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return "blood"
/mob/living/carbon/human/get_blood_id()
if(dna.species.exotic_blood)
return dna.species.exotic_blood
<<<<<<< HEAD
else if((NOBLOOD in dna.species.species_traits) || (disabilities & NOCLONE))
=======
else if((NOBLOOD in dna.species.species_traits) || (has_disability(DISABILITY_NOCLONE)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return
return "blood"
@@ -79,8 +79,13 @@
if(!brainmob.stored_dna)
brainmob.stored_dna = new /datum/dna/stored(brainmob)
C.dna.copy_dna(brainmob.stored_dna)
<<<<<<< HEAD
if(L.disabilities & NOCLONE)
brainmob.disabilities |= NOCLONE //This is so you can't just decapitate a husked guy and clone them without needing to get a new body
=======
if(L.has_disability(DISABILITY_NOCLONE))
brainmob.disabilities[DISABILITY_NOCLONE] = L.disabilities[DISABILITY_NOCLONE]
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
var/obj/item/organ/zombie_infection/ZI = L.getorganslot(ORGAN_SLOT_ZOMBIE)
if(ZI)
brainmob.set_species(ZI.old_species) //For if the brain is cloned
@@ -1,6 +1,6 @@
//Here are the procs used to modify status effects of a mob.
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness
// eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability.
// eye damage, eye_blind, eye_blurry, druggy, DISABILITY_BLIND disability, and DISABILITY_NEARSIGHT disability.
/////////////////////////////////// EYE_BLIND ////////////////////////////////////
@@ -1,6 +1,6 @@
//Here are the procs used to modify status effects of a mob.
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness, ear damage,
// eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability.
// eye damage, eye_blind, eye_blurry, druggy, DISABILITY_BLIND disability, and DISABILITY_NEARSIGHT disability.
/////////////////////////////////// STUN ////////////////////////////////////
+13 -1
View File
@@ -157,7 +157,11 @@
if(!throwable_mob.buckled)
thrown_thing = throwable_mob
stop_pulling()
<<<<<<< HEAD
if(disabilities & PACIFISM)
=======
if(has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='notice'>You gently let go of [throwable_mob].</span>")
var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
var/turf/end_T = get_turf(target)
@@ -170,7 +174,11 @@
thrown_thing = I
dropItemToGround(I)
<<<<<<< HEAD
if(disabilities & PACIFISM && I.throwforce)
=======
if(has_disability(DISABILITY_PACIFISM) && I.throwforce)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='notice'>You set [I] down gently on the ground.</span>")
return
@@ -409,7 +417,11 @@
dropItemToGround(I)
var/modifier = 0
<<<<<<< HEAD
if(disabilities & CLUMSY)
=======
if(has_disability(DISABILITY_CLUMSY))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
modifier -= 40 //Clumsy people are more likely to hit themselves -Honk!
switch(rand(1,100)+modifier) //91-100=Nothing special happens
@@ -774,7 +786,7 @@
reagents.addiction_list = list()
cure_all_traumas(TRUE, TRUE)
..()
// heal ears after healing disabilities, since ears check DEAF disability
// heal ears after healing disabilities, since ears check DISABILITY_DEAF disability
// when healing.
restoreEars()
@@ -306,10 +306,18 @@
if(eyes.eye_damage > 20)
if(prob(eyes.eye_damage - 20))
<<<<<<< HEAD
if(become_nearsighted())
=======
if(!has_disability(DISABILITY_NEARSIGHT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='warning'>Your eyes start to burn badly!</span>")
else if(prob(eyes.eye_damage - 25))
<<<<<<< HEAD
if(become_blind())
=======
if(!has_disability(DISABILITY_BLIND))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='warning'>You can't see anything!</span>")
else
to_chat(src, "<span class='warning'>Your eyes are really starting to hurt. This can't be good for you!</span>")
@@ -70,7 +70,11 @@
else
msg += "<b>[t_He] [t_is] severely deformed!</b>\n"
<<<<<<< HEAD
if(disabilities & DUMB)
=======
if(has_disability(DISABILITY_DUMB))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
msg += "[t_He] seem[p_s()] to be clumsy and unable to think.\n"
if(fire_stacks > 0)
@@ -48,7 +48,12 @@
/mob/living/carbon/proc/Drain()
<<<<<<< HEAD
become_husk()
disabilities |= NOCLONE
=======
become_husk(CHANGELING_DRAIN)
add_disability(DISABILITY_NOCLONE, CHANGELING_DRAIN)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
blood_volume = 0
return 1
@@ -285,7 +285,11 @@
if(stat == UNCONSCIOUS)
msg += "[t_He] [t_is]n't responding to anything around [t_him] and seem[p_s()] to be asleep.\n"
else
<<<<<<< HEAD
if(disabilities & DUMB)
=======
if(has_disability(DISABILITY_DUMB))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n"
if(InCritical())
msg += "[t_He] [t_is] barely conscious.\n"
@@ -140,8 +140,13 @@
return ..()
/mob/living/carbon/human/grabbedby(mob/living/carbon/user, supress_message = 0)
<<<<<<< HEAD
if(user == src && pulling && !pulling.anchored && grab_state >= GRAB_AGGRESSIVE && isliving(pulling))
vore_attack(user, pulling)
=======
if(user == src && pulling && !pulling.anchored && grab_state >= GRAB_AGGRESSIVE && (has_disability(DISABILITY_FAT)) && ismonkey(pulling))
devour_mob(pulling)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
else
..()
@@ -103,7 +103,11 @@
/mob/living/carbon/human/IsAdvancedToolUser()
<<<<<<< HEAD
if(disabilities & MONKEYLIKE)
=======
if(has_disability(DISABILITY_MONKEYLIKE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return FALSE
return TRUE//Humans can use guns and such
@@ -339,7 +339,11 @@
if(TRAITS & TRAIT_SMART)
smartness = 75
else if(TRAITS & TRAIT_DUMB)
<<<<<<< HEAD
disabilities |= CLUMSY
=======
add_disability(DISABILITY_CLUMSY, GENETIC_MUTATION)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
smartness = 25
if(TRAITS & TRAIT_MEAN)
@@ -187,7 +187,11 @@
if(G.tint)
update_tint()
if(G.vision_correction)
<<<<<<< HEAD
if(disabilities & NEARSIGHT)
=======
if(has_disability(DISABILITY_NEARSIGHT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1)
adjust_eye_damage(0)
if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha))
@@ -312,7 +312,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!HD) //Decapitated
return
<<<<<<< HEAD
if(H.disabilities & HUSK)
=======
if(H.has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return
var/datum/sprite_accessory/S
var/list/standing = list()
@@ -453,7 +457,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/obj/item/bodypart/head/HD = H.get_bodypart("head")
<<<<<<< HEAD
if(HD && !(H.disabilities & HUSK))
=======
if(HD && !(H.has_disability(DISABILITY_HUSK)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
// lipstick
if(H.lip_style && (LIPS in species_traits))
var/mutable_appearance/lip_overlay = mutable_appearance('icons/mob/human_face.dmi', "lips_[H.lip_style]", -BODY_LAYER)
@@ -724,7 +732,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(S.center)
accessory_overlay = center_image(accessory_overlay, S.dimension_x, S.dimension_y)
<<<<<<< HEAD
if(!(H.disabilities & HUSK))
=======
if(!(H.has_disability(DISABILITY_HUSK)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(!forced_colour)
switch(S.color_src)
if(MUTCOLORS)
@@ -1102,17 +1114,29 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/handle_digestion(mob/living/carbon/human/H)
<<<<<<< HEAD
//The fucking FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(H.disabilities & FAT)//I share your pain, past coder.
if(H.overeatduration < 100)
to_chat(H, "<span class='notice'>You feel fit again!</span>")
H.disabilities &= ~FAT
=======
//The fucking DISABILITY_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(H.has_disability(DISABILITY_FAT))//I share your pain, past coder.
if(H.overeatduration < 100)
to_chat(H, "<span class='notice'>You feel fit again!</span>")
H.remove_disability(DISABILITY_FAT, OBESITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
H.update_inv_w_uniform()
H.update_inv_wear_suit()
else
if(H.overeatduration > 500)
to_chat(H, "<span class='danger'>You suddenly feel blubbery!</span>")
<<<<<<< HEAD
H.disabilities |= FAT
=======
H.add_disability(DISABILITY_FAT, OBESITY)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
H.update_inv_w_uniform()
H.update_inv_wear_suit()
@@ -1269,7 +1293,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
. += (health_deficiency / 25)
if((hungry >= 70) && !flight) //Being hungry won't stop you from using flightpack controls/flapping your wings although it probably will in the wing case but who cares.
. += hungry / 50
<<<<<<< HEAD
if(H.disabilities & FAT)
=======
if(H.has_disability(DISABILITY_FAT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
. += (1.5 - flight)
if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
. += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR
@@ -1315,7 +1343,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
<<<<<<< HEAD
if(user.disabilities & PACIFISM)
=======
if(user.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='warning'>You don't want to harm [target]!</span>")
return FALSE
if(target.check_block())
@@ -1388,7 +1420,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
return 1
else
user.do_attack_animation(target, ATTACK_EFFECT_DISARM)
if(target.w_uniform)
target.w_uniform.add_fingerprint(user)
var/randomized_zone = ran_zone(user.zone_selected)
@@ -725,7 +725,11 @@
/obj/structure/cloth_pile/proc/revive()
if(QDELETED(src) || QDELETED(cloth_golem)) //QDELETED also checks for null, so if no cloth golem is set this won't runtime
return
<<<<<<< HEAD
if(cloth_golem.suiciding || cloth_golem.disabilities & NOCLONE)
=======
if(cloth_golem.suiciding || cloth_golem.has_disability(DISABILITY_NOCLONE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
QDEL_NULL(cloth_golem)
return
@@ -609,7 +609,11 @@ generate/load female uniform sprites matching all previously decided variables
if(BP.dmg_overlay_type)
. += "-[BP.dmg_overlay_type]"
<<<<<<< HEAD
if(disabilities & HUSK)
=======
if(has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
. += "-husk"
/mob/living/carbon/human/load_limb_from_cache()
@@ -122,7 +122,11 @@
if(L == src)
return FALSE
<<<<<<< HEAD
if(disabilities & PACIFISM)
=======
if(has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return FALSE
if(enemies[L])
@@ -19,7 +19,11 @@
if(!HD) //Decapitated
return
<<<<<<< HEAD
if(disabilities & HUSK)
=======
if(has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return
var/hair_hidden = 0
@@ -1,6 +1,6 @@
//Here are the procs used to modify status effects of a mob.
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness, ear damage,
// eye damage, eye_blind, eye_blurry, druggy, BLIND disability, NEARSIGHT disability, and HUSK disability.
// eye damage, eye_blind, eye_blurry, druggy, DISABILITY_BLIND disability, DISABILITY_NEARSIGHT disability, and DISABILITY_HUSK disability.
/mob/living/carbon/damage_eyes(amount)
var/obj/item/organ/eyes/eyes = getorganslot(ORGAN_SLOT_EYES)
@@ -290,7 +290,11 @@
else
. += "-robotic"
<<<<<<< HEAD
if(disabilities & HUSK)
=======
if(has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
. += "-husk"
+8
View File
@@ -126,7 +126,11 @@
/mob/living/proc/handle_disabilities()
//Eyes
if(eye_blind) //blindness, heals slowly over time
<<<<<<< HEAD
if(!stat && !(disabilities & BLIND))
=======
if(!stat && !(has_disability(DISABILITY_BLIND)))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
eye_blind = max(eye_blind-1,0)
if(client && !eye_blind)
clear_alert("blind")
@@ -137,7 +141,11 @@
eye_blurry = max(eye_blurry-1, 0)
if(client && !eye_blurry)
clear_fullscreen("blurry")
<<<<<<< HEAD
if(disabilities & PACIFISM && a_intent == INTENT_HARM)
=======
if(has_disability(DISABILITY_PACIFISM) && a_intent == INTENT_HARM)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='notice'>You don't feel like harming anybody.</span>")
a_intent_change(INTENT_HELP)
+4
View File
@@ -819,7 +819,11 @@
if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser())
to_chat(src, "<span class='warning'>You don't have the dexterity to do this!</span>")
return FALSE
<<<<<<< HEAD
if(disabilities & PACIFISM)
=======
if(has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(src, "<span class='notice'>You don't want to risk harming anyone!</span>")
return FALSE
return TRUE
+28
View File
@@ -136,7 +136,11 @@
to_chat(user, "<span class='warning'>[src] can't be grabbed more aggressively!</span>")
return FALSE
<<<<<<< HEAD
if(user.disabilities & PACIFISM)
=======
if(user.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='notice'>You don't want to risk hurting [src]!</span>")
return FALSE
@@ -193,7 +197,11 @@
M.Feedstop()
return // can't attack while eating!
<<<<<<< HEAD
if(disabilities & PACIFISM)
=======
if(has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
return FALSE
@@ -210,7 +218,11 @@
M.visible_message("<span class='notice'>\The [M] [M.friendly] [src]!</span>")
return FALSE
else
<<<<<<< HEAD
if(M.disabilities & PACIFISM)
=======
if(M.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
return FALSE
@@ -229,7 +241,11 @@
return FALSE
if (M.a_intent == INTENT_HARM)
<<<<<<< HEAD
if(M.disabilities & PACIFISM)
=======
if(M.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
return FALSE
@@ -255,7 +271,11 @@
return FALSE
else
<<<<<<< HEAD
if(L.disabilities & PACIFISM)
=======
if(L.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(L, "<span class='notice'>You don't want to hurt anyone!</span>")
return
@@ -280,7 +300,11 @@
grabbedby(M)
return FALSE
if("harm")
<<<<<<< HEAD
if(M.disabilities & PACIFISM)
=======
if(M.has_disability(DISABILITY_PACIFISM))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
return FALSE
M.do_attack_animation(src)
@@ -370,7 +394,11 @@
//called when the mob receives a bright flash
/mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
<<<<<<< HEAD
if(get_eye_protection() < intensity && (override_blindness_check || !(disabilities & BLIND)))
=======
if(get_eye_protection() < intensity && (override_blindness_check || !(has_disability(DISABILITY_BLIND))))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
overlay_fullscreen("flash", type)
addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25)
return 1
+10
View File
@@ -135,11 +135,17 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
// AIs use inherent channels for the holopad. Most inherent channels
// ignore the language argument however.
<<<<<<< HEAD
var/datum/saymode/SM = SSradio.saymodes[key]
if(key && SM)
if(!SM.handle_message(src, message, language) && !message_mode)
return
=======
var/datum/saymode/SM = SSradio.saymodes[talk_key]
if(SM && !SM.handle_message(src, message, language))
return
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(!can_speak_vocal(message))
to_chat(src, "<span class='warning'>You find yourself unable to speak!</span>")
@@ -285,7 +291,11 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
return 1
/mob/living/proc/can_speak_vocal(message) //Check AFTER handling of xeno and ling channels
<<<<<<< HEAD
if(disabilities & MUTE)
=======
if(has_disability(DISABILITY_MUTE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return 0
if(is_muzzled())
@@ -558,7 +558,11 @@ Difficulty: Very Hard
H.regenerate_limbs()
H.regenerate_organs()
H.revive(1,0)
<<<<<<< HEAD
H.disabilities |= NOCLONE //Free revives, but significantly limits your options for reviving except via the crystal
=======
H.add_disability(DISABILITY_NOCLONE, MAGIC_DISABILITY) //Free revives, but significantly limits your options for reviving except via the crystal
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
H.grab_ghost(force = TRUE)
/obj/machinery/anomalous_crystal/helpers //Lets ghost spawn as helpful creatures that can only heal people slightly. Incredibly fragile and they can't converse with humans
@@ -719,7 +723,11 @@ Difficulty: Very Hard
if(isliving(A) && holder_animal)
var/mob/living/L = A
L.notransform = 1
<<<<<<< HEAD
L.disabilities |= MUTE
=======
L.add_disability(DISABILITY_MUTE, STASIS_MUTE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
L.status_flags |= GODMODE
L.mind.transfer_to(holder_animal)
var/obj/effect/proc_holder/spell/targeted/exit_possession/P = new /obj/effect/proc_holder/spell/targeted/exit_possession
@@ -729,7 +737,11 @@ Difficulty: Very Hard
/obj/structure/closet/stasis/dump_contents(var/kill = 1)
STOP_PROCESSING(SSobj, src)
for(var/mob/living/L in src)
<<<<<<< HEAD
L.disabilities &= ~MUTE
=======
L.remove_disability(DISABILITY_MUTE, STASIS_MUTE)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
L.status_flags &= ~GODMODE
L.notransform = 0
if(holder_animal)
+80 -1
View File
@@ -1,6 +1,6 @@
//Here are the procs used to modify status effects of a mob.
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness,
// eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability.
// eye damage, eye_blind, eye_blurry, druggy, DISABILITY_BLIND disability, and DISABILITY_NEARSIGHT disability.
////////////////////////////// STUN ////////////////////////////////////
@@ -137,3 +137,82 @@
to_chat(src, "<span class='boldwarning'>[priority_absorb_key["self_message"]]</span>")
priority_absorb_key["stuns_absorbed"] += amount
return TRUE
<<<<<<< HEAD
=======
/////////////////////////////////// DISABILITIES ////////////////////////////////////
/mob/living/proc/add_disability(disability, source)
if(!disabilities[disability])
disabilities[disability] = list(source)
else
disabilities[disability] |= list(source)
/mob/living/proc/remove_disability(disability, list/sources)
if(!disabilities[disability])
return
if(!islist(sources))
sources = list(sources)
if(LAZYLEN(sources))
for(var/S in sources)
if(S in disabilities[disability])
disabilities[disability] -= S
else
disabilities[disability] = list()
if(!LAZYLEN(disabilities[disability]))
disabilities -= disability
/mob/living/proc/has_disability(disability, list/sources)
if(!disabilities[disability])
return FALSE
. = FALSE
if(LAZYLEN(sources))
for(var/S in sources)
if(S in disabilities[disability])
return TRUE
else
if(LAZYLEN(disabilities[disability]))
return TRUE
/mob/living/proc/remove_all_disabilities()
disabilities = list()
/////////////////////////////////// DISABILITY PROCS ////////////////////////////////////
/mob/living/proc/cure_blind(list/sources)
remove_disability(DISABILITY_BLIND, sources)
if(!has_disability(DISABILITY_BLIND))
adjust_blindness(-1)
/mob/living/proc/become_blind(source)
if(!has_disability(DISABILITY_BLIND))
blind_eyes(1)
add_disability(DISABILITY_BLIND, source)
/mob/living/proc/cure_nearsighted(list/sources)
remove_disability(DISABILITY_NEARSIGHT, sources)
if(!has_disability(DISABILITY_NEARSIGHT))
clear_fullscreen("nearsighted")
/mob/living/proc/become_nearsighted(source)
if(!has_disability(DISABILITY_NEARSIGHT))
overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1)
add_disability(DISABILITY_NEARSIGHT, source)
/mob/living/proc/cure_husk(list/sources)
remove_disability(DISABILITY_HUSK, sources)
if(!has_disability(DISABILITY_HUSK))
status_flags &= ~DISFIGURED
update_body()
/mob/living/proc/become_husk(source)
if(!has_disability(DISABILITY_HUSK))
status_flags |= DISFIGURED //makes them unknown
update_body()
add_disability(DISABILITY_HUSK, source)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
+15 -1
View File
@@ -1,7 +1,7 @@
//Here are the procs used to modify status effects of a mob.
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness, ear damage,
// eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability.
// eye damage, eye_blind, eye_blurry, druggy, DISABILITY_BLIND disability, and DISABILITY_NEARSIGHT disability.
/////////////////////////////////// STUN ////////////////////////////////////
@@ -162,6 +162,13 @@
var/blind_minimum = 0
if((stat != CONSCIOUS && stat != SOFT_CRIT) || (disabilities & BLIND))
blind_minimum = 1
<<<<<<< HEAD
=======
if(isliving(src))
var/mob/living/L = src
if(L.has_disability(DISABILITY_BLIND))
blind_minimum = 1
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
eye_blind = max(eye_blind+amount, blind_minimum)
if(!eye_blind)
clear_alert("blind")
@@ -179,6 +186,13 @@
var/blind_minimum = 0
if((stat != CONSCIOUS && stat != SOFT_CRIT) || (disabilities & BLIND))
blind_minimum = 1
<<<<<<< HEAD
=======
if(isliving(src))
var/mob/living/L = src
if(L.has_disability(DISABILITY_BLIND))
blind_minimum = 1
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
eye_blind = blind_minimum
if(!eye_blind)
clear_alert("blind")
+4
View File
@@ -202,7 +202,11 @@
if(!user.mind.hasSoul)
to_chat(user, "<span class='notice'>You do not possess a soul.</span>")
return 0
<<<<<<< HEAD
if(user.disabilities & DUMB)
=======
if(user.has_disability(DISABILITY_DUMB))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='notice'>You quickly scrawl 'your name' on the contract.</span>")
signIncorrectly()
return 0
+8
View File
@@ -93,7 +93,11 @@
return
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
<<<<<<< HEAD
if(H.disabilities & CLUMSY && prob(25))
=======
if(H.has_disability(DISABILITY_CLUMSY) && prob(25))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(H, "<span class='warning'>You cut yourself on the paper! Ahhhh! Ahhhhh!</span>")
H.damageoverlaytemp = 9001
H.update_damage_hud()
@@ -317,7 +321,11 @@
to_chat(user, "<span class='notice'>You stamp the paper with your rubber stamp.</span>")
if(P.is_hot())
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(10))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(10))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
user.visible_message("<span class='warning'>[user] accidentally ignites themselves!</span>", \
"<span class='userdanger'>You miss the paper and accidentally light yourself on fire!</span>")
user.dropItemToGround(P)
+4
View File
@@ -65,7 +65,11 @@
update_icon()
else if(P.is_hot())
<<<<<<< HEAD
if(user.disabilities & CLUMSY && prob(10))
=======
if(user.has_disability(DISABILITY_CLUMSY) && prob(10))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
user.visible_message("<span class='warning'>[user] accidentally ignites themselves!</span>", \
"<span class='userdanger'>You miss [src] and accidentally light yourself on fire!</span>")
user.dropItemToGround(P)
+5 -1
View File
@@ -155,10 +155,14 @@
return
//Exclude lasertag guns from the CLUMSY check.
//Exclude lasertag guns from the DISABILITY_CLUMSY check.
if(clumsy_check)
if(istype(user))
<<<<<<< HEAD
if (user.disabilities & CLUMSY && prob(40))
=======
if (user.has_disability(DISABILITY_CLUMSY) && prob(40))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(user, "<span class='userdanger'>You shoot yourself in the foot with [src]!</span>")
var/shot_leg = pick("l_leg", "r_leg")
process_fire(user,user,0,params, zone_override = shot_leg)
@@ -349,7 +349,11 @@
clumsy_check = 0
/obj/item/gun/ballistic/revolver/reverse/can_trigger_gun(mob/living/user)
<<<<<<< HEAD
if((user.disabilities & CLUMSY) || (user.mind && user.mind.assigned_role == "Clown"))
=======
if((user.has_disability(DISABILITY_CLUMSY)) || (user.mind && user.mind.assigned_role == "Clown"))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return ..()
if(process_fire(user, user, 0, zone_override = "head"))
user.visible_message("<span class='warning'>[user] somehow manages to shoot [user.p_them()]self in the face!</span>", "<span class='userdanger'>You somehow shoot yourself in the face! How the hell?!</span>")
+4
View File
@@ -129,7 +129,11 @@
// A gun with ultra-honk pin is useful for clown and useless for everyone else.
/obj/item/device/firing_pin/clown/ultra/pin_auth(mob/living/user)
playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1)
<<<<<<< HEAD
if(!(user.disabilities & CLUMSY) && !(user.mind && user.mind.assigned_role == "Clown"))
=======
if(!(user.has_disability(DISABILITY_CLUMSY)) && !(user.mind && user.mind.assigned_role == "Clown"))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return 0
return 1
@@ -667,14 +667,22 @@
var/obj/item/organ/eyes/eyes = M.getorganslot(ORGAN_SLOT_EYES)
if (!eyes)
return
<<<<<<< HEAD
if(M.disabilities & BLIND)
=======
if(M.has_disability(DISABILITY_BLIND, EYE_DAMAGE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(prob(20))
to_chat(M, "<span class='warning'>Your vision slowly returns...</span>")
M.cure_blind()
M.cure_nearsighted()
M.blur_eyes(35)
<<<<<<< HEAD
else if(M.disabilities & NEARSIGHT)
=======
else if(M.has_disability(DISABILITY_NEARSIGHT, EYE_DAMAGE))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
to_chat(M, "<span class='warning'>The blackness in your peripheral vision fades.</span>")
M.cure_nearsighted()
M.blur_eyes(10)
@@ -765,7 +773,11 @@
M.visible_message("<span class='warning'>[M]'s body convulses a bit, and then falls still once more.</span>")
return
M.visible_message("<span class='warning'>[M]'s body convulses a bit.</span>")
<<<<<<< HEAD
if(!M.suiciding && !(M.disabilities & NOCLONE) && !M.hellbound)
=======
if(!M.suiciding && !(M.has_disability(DISABILITY_NOCLONE)) && !M.hellbound)
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
if(!M)
return
if(M.notify_ghost_cloning(source = M))
@@ -141,7 +141,11 @@
taste_description = "mint"
/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/M)
<<<<<<< HEAD
if(M.disabilities & FAT)
=======
if(M.has_disability(DISABILITY_FAT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
M.gib()
return ..()
@@ -214,7 +214,13 @@
target.bodytemperature -= 200
/obj/effect/proc_holder/spell/targeted/abyssal_gaze/proc/cure_blindness(mob/target)
<<<<<<< HEAD
target.adjust_blindness(-5)
=======
if(isliving(target))
var/mob/living/L = target
L.cure_blind(DISABILITY_BLIND, "abyssal_gaze")
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
/obj/effect/proc_holder/spell/targeted/dominate
name = "Dominate"
@@ -217,7 +217,11 @@
C = owner
no_update = 0
<<<<<<< HEAD
if(C.disabilities & HUSK)
=======
if(C.has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
species_id = "husk" //overrides species_id
dmg_overlay_type = "" //no damage overlay shown when husked
should_draw_gender = FALSE
+4
View File
@@ -61,7 +61,11 @@
C = owner
real_name = C.real_name
<<<<<<< HEAD
if(C.disabilities & HUSK)
=======
if(C.has_disability(DISABILITY_HUSK))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
real_name = "Unknown"
hair_style = "Bald"
facial_hair_style = "Shaved"
+4
View File
@@ -4,7 +4,11 @@
possible_locs = list("chest")
/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target)
<<<<<<< HEAD
if(target.disabilities & FAT)
=======
if(target.has_disability(DISABILITY_FAT))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
return 1
return 0
+8
View File
@@ -25,7 +25,11 @@
return
var/mob/living/carbon/C = owner
// genetic deafness prevents the body from using the ears, even if healthy
<<<<<<< HEAD
if(C.disabilities & DEAF)
=======
if(C.has_disability(DISABILITY_DEAF))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
deaf = max(deaf, 1)
else
if(C.ears && (C.ears.flags_2 & HEALS_EARS_2))
@@ -42,7 +46,11 @@
var/mob/living/carbon/C = owner
<<<<<<< HEAD
if(iscarbon(owner) && C.disabilities & DEAF)
=======
if(iscarbon(owner) && C.has_disability(DISABILITY_DEAF))
>>>>>>> bc20a75... Merge pull request #33783 from Cruix/fix_blind
deaf = 1
/obj/item/organ/ears/proc/adjustEarDamage(ddmg, ddeaf)