From 21a2c2d21eccd62394113a0ac6395397aa9d80a8 Mon Sep 17 00:00:00 2001 From: Razharas Date: Sun, 14 Dec 2014 08:04:48 +0300 Subject: [PATCH] Made clumsiness into disability I really dont want to make clumsy_act() --- code/__DEFINES/stat.dm | 2 +- code/datums/mutations.dm | 8 ++++++++ code/game/objects/items/devices/flash.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/weapons/grenades/grenade.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 2 +- code/game/objects/items/weapons/kitchen.dm | 4 ++-- code/game/objects/items/weapons/melee/energy.dm | 2 +- code/game/objects/items/weapons/melee/misc.dm | 4 ++-- code/game/objects/items/weapons/shields.dm | 2 +- code/game/objects/items/weapons/storage/book.dm | 2 +- code/game/objects/items/weapons/stunbaton.dm | 2 +- code/game/objects/items/weapons/tools.dm | 2 +- code/game/objects/items/weapons/twohanded.dm | 2 +- code/modules/assembly/mousetrap.dm | 6 +++--- code/modules/paperwork/paper.dm | 4 ++-- code/modules/projectiles/gun.dm | 2 +- 18 files changed, 30 insertions(+), 22 deletions(-) diff --git a/code/__DEFINES/stat.dm b/code/__DEFINES/stat.dm index 28255c629e7..f7e519336d0 100644 --- a/code/__DEFINES/stat.dm +++ b/code/__DEFINES/stat.dm @@ -13,10 +13,10 @@ #define MUTE 2 #define DEAF 4 #define NEARSIGHT 8 -#define VISIONBLOCK 16 #define FAT 32 #define HUSK 64 #define NOCLONE 128 +#define CLUMSY 256 // bitflags for machine stat variable #define BROKEN 1 diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm index c8611eaca17..4aae3b23a5f 100644 --- a/code/datums/mutations.dm +++ b/code/datums/mutations.dm @@ -238,6 +238,14 @@ name = "Clumsiness" quality = MINOR_NEGATIVE +/datum/mutation/human/clumsy/on_acquiring(mob/living/carbon/human/owner) + if(..()) return + owner.disabilities |= CLUMSY + +/datum/mutation/human/clumsy/on_losing(mob/living/carbon/human/owner) + if(..()) return + owner.disabilities &= ~CLUMSY + /datum/mutation/human/tourettes name = "Tourettes Syndrome" diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 0e702530e52..14cadcc0a74 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -16,7 +16,7 @@ /obj/item/device/flash/proc/clown_check(mob/living/carbon/human/user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) flash_carbon(user, user, 15, 0) return 0 return 1 diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 98988594c9b..1fa51989190 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -49,7 +49,7 @@ add_fingerprint(user) if(on && user.zone_sel.selecting == "eyes") - if(((istype(user) && user.dna.check_mutation("Clumsiness", user)) || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly + if((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly return ..() //just hit them in the head if(!user.IsAdvancedToolUser()) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 0a473316417..9762cf10c60 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -80,7 +80,7 @@ MASS SPECTROMETER /obj/item/device/healthanalyzer/attack(mob/living/M as mob, mob/living/carbon/human/user as mob) // Clumsiness/brain damage check - if ((istype(user) && user.dna.check_mutation("Clumsiness", user) || user.getBrainLoss() >= 60) && prob(50)) + if ((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50)) user << "You stupidly try to analyze the floor's vitals!" user.visible_message("[user] has analyzed the floor's vitals!") user.show_message("Analyzing Results for The floor:\n\t Overall Status: Healthy", 1) diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index be4a824bdc6..dcc30b68420 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -14,7 +14,7 @@ var/display_timer = 1 /obj/item/weapon/grenade/proc/clown_check(var/mob/living/carbon/human/user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) user << "Huh? How does this thing work?" active = 1 icon_state = initial(icon_state) + "_active" diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index a49c35e914f..3020a6d1acc 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -19,7 +19,7 @@ var/trashtype = null //for disposable cuffs /obj/item/weapon/restraints/handcuffs/attack(mob/living/carbon/C, mob/living/carbon/human/user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) user << "Uh... how do those things work?!" apply_cuffs(user,user) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 6fc541cce87..f125a82f284 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -66,7 +66,7 @@ src.icon_state = "fork" return else - if(ishuman(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) M = user return eyestab(M,user) @@ -87,7 +87,7 @@ return (BRUTELOSS) /obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/carbon/human/user) - if (istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if (user.disabilities & CLUMSY && prob(50)) user << " You accidentally cut yourself with the [src]." user.take_organ_damage(20) return diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index ce4b1a4c1b2..498c4b334f9 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -68,7 +68,7 @@ return 0 /obj/item/weapon/melee/energy/sword/attack_self(mob/living/carbon/human/user) - if (istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if (user.disabilities & CLUMSY && prob(50)) user << "You accidentally cut yourself with [src], like a doofus!" user.take_organ_damage(5,5) active = !active diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 1abc877974e..389db4ffa97 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -29,7 +29,7 @@ /obj/item/weapon/melee/classic_baton/attack(mob/M, mob/living/carbon/human/user) add_fingerprint(user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) user << "You club yourself over the head!" user.Weaken(3 * force) if(ishuman(user)) @@ -103,7 +103,7 @@ /obj/item/weapon/melee/telebaton/attack(mob/target, mob/living/carbon/human/user) if(on) add_fingerprint(user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) user << "You club yourself over the head." user.Weaken(3 * force) if(ishuman(user)) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 370dabb90ab..75b11750c8f 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -57,7 +57,7 @@ return (active) /obj/item/weapon/shield/energy/attack_self(mob/living/carbon/human/user) - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) user << "You beat yourself in the head with [src]." user.take_organ_damage(5) active = !active diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index 25fce9f4b68..f8bca96b67f 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -60,7 +60,7 @@ user.take_organ_damage(0,10) return - if (istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if (user.disabilities & CLUMSY && prob(50)) user << "The [src] slips out of your hand and hits your head." user.take_organ_damage(10) user.Paralyse(20) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index e6dd1c91ff3..c13cf8dac62 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -101,7 +101,7 @@ add_fingerprint(user) /obj/item/weapon/melee/baton/attack(mob/M, mob/living/carbon/human/user) - if(status && istype(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(status && user.disabilities & CLUMSY && prob(50)) user.visible_message("[user] accidentally hits themself with [src]!", \ "You accidentally hit yourself with [src]!") user.Weaken(stunforce*3) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 97b92f15666..b985c8928b0 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -86,7 +86,7 @@ if(!istype(M)) return ..() if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") return ..() - if(ishuman(user) && user.dna.check_mutation("Clumsiness", user) && prob(50)) + if(user.disabilities & CLUMSY && prob(50)) M = user return eyestab(M,user) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 43f04ea8cd8..53b6b72ad9d 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -214,7 +214,7 @@ obj/item/weapon/twohanded/ /obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/carbon/human/user as mob) ..() - if(istype(user) && user.dna.check_mutation("Clumsiness", user) && (wielded) && prob(40)) + if(user.disabilities & CLUMSY && (wielded) && prob(40)) impale(user) return if((wielded) && prob(50)) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index acd005c4aec..c1dcfa30e92 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -18,7 +18,7 @@ if(!armed) if(ishuman(usr)) var/mob/living/carbon/human/user = usr - if((user.getBrainLoss() >= 60) || (ishuman(user) && user.dna.check_mutation("Clumsiness", user)) && prob(50)) + if((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY && prob(50)) user << "Your hand slips, setting off the trigger." pulse(0) update_icon() @@ -69,7 +69,7 @@ if(!armed) user << "You arm [src]." else - if(((user.getBrainLoss() >= 60) || (istype(user) && user.dna.check_mutation("Clumsiness", user))) && prob(50)) + if(((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY) && prob(50)) var/which_hand = "l_hand" if(!user.hand) which_hand = "r_hand" @@ -85,7 +85,7 @@ /obj/item/device/assembly/mousetrap/attack_hand(mob/living/carbon/human/user as mob) if(armed) - if(((user.getBrainLoss() >= 60) || (istype(user) && user.dna.check_mutation("Clumsiness", user))) && prob(50)) + if(((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY) && prob(50)) var/which_hand = "l_hand" if(!user.hand) which_hand = "r_hand" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index ca0d4c866d3..df41e44c61f 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -72,7 +72,7 @@ if(!ishuman(usr)) return var/mob/living/carbon/human/H = usr - if(H.dna.check_mutation("Clumsiness", H) && prob(25)) + if(H.disabilities & CLUMSY && prob(25)) H << "You cut yourself on the paper! Ahhhh! Ahhhhh!" H.damageoverlaytemp = 9001 return @@ -274,7 +274,7 @@ return var/clown = 0 - if(istype(user) && user.dna.check_mutation("Clumsiness", user)) + if(user.disabilities & CLUMSY) clown = 1 if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon)) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index a87a40b233d..905768d542e 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -63,7 +63,7 @@ //Exclude lasertag guns from the CLUMSY check. if(clumsy_check) - if((istype(user) && user.dna.check_mutation("Clumsiness", user)) && prob(40)) + if(user.disabilities & CLUMSY && prob(40)) user << "You shoot yourself in the foot with \the [src]!" afterattack(user, user) user.drop_item()