From 14cfc90ff9e507cb70eaeec9c279388987871c68 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 7 Jul 2016 21:17:03 -0400 Subject: [PATCH 1/5] TG Hit Reaction Port+Armor Fixes --- code/__DEFINES/combat.dm | 7 ++ code/__DEFINES/flags.dm | 7 +- .../gamemodes/changeling/powers/mutations.dm | 7 +- .../miniantags/abduction/abduction_gear.dm | 4 +- .../machinery/computer/HolodeckControl.dm | 10 +- code/game/objects/items.dm | 12 +- code/game/objects/items/toys.dm | 3 +- .../objects/items/weapons/alien_specific.dm | 1 - .../objects/items/weapons/flamethrower.dm | 14 ++- .../items/weapons/grenades/chem_grenade.dm | 5 + .../objects/items/weapons/holy_weapons.dm | 21 ++-- .../objects/items/weapons/melee/energy.dm | 11 +- code/game/objects/items/weapons/shields.dm | 24 ++-- code/game/objects/items/weapons/staff.dm | 4 +- code/game/objects/items/weapons/stunbaton.dm | 2 +- .../objects/items/weapons/swords_axes_etc.dm | 2 +- code/game/objects/items/weapons/twohanded.dm | 19 +-- code/game/objects/items/weapons/weaponry.dm | 14 +-- code/modules/clothing/suits/armor.dm | 107 ++++++++++++++--- code/modules/clothing/under/jobs/civilian.dm | 3 + code/modules/customitems/item_defines.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 3 +- code/modules/martial_arts/martial.dm | 9 +- .../carbon/alien/humanoid/caste/hunter.dm | 26 ++-- code/modules/mob/living/carbon/human/human.dm | 23 ++-- .../living/carbon/human/human_attackhand.dm | 5 +- .../mob/living/carbon/human/human_defense.dm | 113 +++++++----------- code/modules/mob/living/living_defense.dm | 51 ++++---- .../living/simple_animal/hostile/illusion.dm | 75 ++++++++++++ .../living/simple_animal/hostile/syndicate.dm | 1 + .../mob/living/simple_animal/simple_animal.dm | 1 + icons/effects/effects.dmi | Bin 322480 -> 332388 bytes paradise.dme | 1 + 33 files changed, 356 insertions(+), 231 deletions(-) create mode 100644 code/modules/mob/living/simple_animal/hostile/illusion.dm diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index ca293307099..a05575f575d 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -54,6 +54,13 @@ #define AI_IDLE 2 #define AI_OFF 3 +//Attack types for checking shields/hit reactions + +#define MELEE_ATTACK 1 +#define UNARMED_ATTACK 2 +#define PROJECTILE_ATTACK 3 +#define THROWN_PROJECTILE_ATTACK 4 + //Gun Stuff #define SAWN_INTACT 0 #define SAWN_OFF 1 diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e79d40f7176..0562d7086ab 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -4,10 +4,9 @@ #define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler #define AIRTIGHT 8 // mask allows internals #define HANDSLOW 16 // If an item has this flag, it will slow you to carry it -#define NOSHIELD 32 // weapon not affected by shield -#define CONDUCT 64 // conducts electricity (metal etc.) -#define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way -#define ON_BORDER 256 // item has priority to check when entering or leaving +#define CONDUCT 32 // conducts electricity (metal etc.) +#define ABSTRACT 64 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way +#define ON_BORDER 128 // item has priority to check when entering or leaving #define GLASSESCOVERSEYES 1024 #define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index f4d628deebd..765fbd0a5e1 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -206,6 +206,7 @@ flags = NODROP icon = 'icons/obj/weapons.dmi' icon_state = "ling_shield" + block_chance = 50 var/remaining_uses //Set by the changeling ability. @@ -217,17 +218,17 @@ /obj/item/weapon/shield/changeling/dropped() qdel(src) -/obj/item/weapon/shield/changeling/IsShield() +/obj/item/weapon/shield/changeling/hit_reaction() if(remaining_uses < 1) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - H.visible_message("With a sickening crunch, [H] reforms his shield into an arm!", "We assimilate our shield into our body", "With a sickening crunch, [H] reforms his shield into an arm!", "We assimilate our shield into our body", "[owner] blocks [attack_text] with [src]!") + return 1 + return 0 + /obj/item/proc/talk_into(mob/M as mob, var/text, var/channel=null) return @@ -374,9 +383,6 @@ /obj/item/proc/ui_action_click() attack_self(usr) -/obj/item/proc/IsShield() - return 0 - /obj/item/proc/IsReflect(var/def_zone) //This proc determines if and at what% an object will reflect energy projectiles if it's in l_hand,r_hand or wear_suit return 0 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6c0cf78de6e..52fa28f58eb 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -141,7 +141,6 @@ item_state = "sword0" var/active = 0.0 w_class = 2.0 - flags = NOSHIELD attack_verb = list("attacked", "struck", "hit") /obj/item/toy/sword/attack_self(mob/user as mob) @@ -199,7 +198,7 @@ origin_tech = null attack_verb = list("attacked", "struck", "hit") -/obj/item/weapon/twohanded/dualsaber/toy/IsShield() +/obj/item/weapon/twohanded/dualsaber/toy/hit_reaction() return 0 /obj/item/weapon/twohanded/dualsaber/toy/IsReflect()//Stops Toy Dualsabers from reflecting energy projectiles diff --git a/code/game/objects/items/weapons/alien_specific.dm b/code/game/objects/items/weapons/alien_specific.dm index e4f6bcd7a75..c487af03cd6 100644 --- a/code/game/objects/items/weapons/alien_specific.dm +++ b/code/game/objects/items/weapons/alien_specific.dm @@ -14,7 +14,6 @@ throw_range = 5 w_class = 2 w_class_on = 2 - flags = NOSHIELD attack_verb = list("attacked", "slashed", "gored", "sliced", "torn", "ripped", "butchered", "cut") attack_verb_on = list() diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 75c1b030ed4..10394b2e236 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -191,10 +191,10 @@ return -/obj/item/weapon/flamethrower/proc/ignite_turf(turf/target) +/obj/item/weapon/flamethrower/proc/ignite_turf(turf/target, release_amount = 0.05) //TODO: DEFERRED Consider checking to make sure tank pressure is high enough before doing this... //Transfer 5% of current tank air contents to turf - var/datum/gas_mixture/air_transfer = ptank.air_contents.remove_ratio(0.05) + var/datum/gas_mixture/air_transfer = ptank.air_contents.remove_ratio(release_amount) air_transfer.toxins = air_transfer.toxins * 5 // This is me not comprehending the air system. I realize this is retarded and I could probably make it work without fucking it up like this, but there you have it. -- TLE target.assume_air(air_transfer) //Burn it based on transfered gas @@ -218,4 +218,12 @@ /obj/item/weapon/flamethrower/full/tank/New(var/loc) ..() ptank = new /obj/item/weapon/tank/plasma/full(src) - update_icon() \ No newline at end of file + update_icon() + +/obj/item/weapon/flamethrower/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type) + if(ptank && damage && attack_type == PROJECTILE_ATTACK && prob(15)) + owner.visible_message("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!") + var/target_turf = get_turf(owner) + ignite_turf(target_turf, 100) + qdel(ptank) + return 1 //It hit the flamethrower, not them \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index a951f1ade8f..f130f61b7a8 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -102,6 +102,11 @@ spawn(det_time) prime() +/obj/item/weapon/grenade/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type) + if(damage && attack_type == PROJECTILE_ATTACK && prob(15)) + owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") + prime() + return 1 //It hit the grenade, not them /obj/item/weapon/grenade/chem_grenade/attackby(obj/item/I, mob/user, params) if(istype(I,/obj/item/weapon/hand_labeler)) diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index b56e103233e..ada15a3b108 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -76,9 +76,7 @@ w_class = 5 force = 5 slot_flags = SLOT_BACK - -/obj/item/weapon/nullrod/staff/IsShield() - return 1 + block_chance = 50 /obj/item/weapon/nullrod/staff/blue name = "blue holy staff" @@ -92,16 +90,16 @@ desc = "A weapon fit for a crusade!" w_class = 4 slot_flags = SLOT_BACK|SLOT_BELT + block_chance = 30 sharp = 1 edge = 1 hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") -/obj/item/weapon/nullrod/claymore/IsShield() - if(prob(30)) - return 1 - else - return 0 +/obj/item/weapon/nullrod/claymore/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type) + if(attack_type == PROJECTILE_ATTACK) + final_block_chance = 0 //Don't bring a sword to a gunfight + return ..() /obj/item/weapon/nullrod/claymore/darkblade icon_state = "cultblade" @@ -333,6 +331,7 @@ desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, now used to harass the clown." w_class = 4 force = 15 + block_chance = 40 slot_flags = SLOT_BACK sharp = 0 edge = 0 @@ -342,12 +341,6 @@ icon_state = "bostaff0" item_state = "bostaff0" -/obj/item/weapon/nullrod/claymore/bostaff/IsShield() - if(prob(40)) - return 1 - else - return 0 - /obj/item/weapon/nullrod/tribal_knife icon_state = "crysknife" item_state = "crysknife" diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 45b2f1f7452..79cad015653 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -62,7 +62,7 @@ w_class = 3 w_class_on = 5 hitsound = "swing_hit" - flags = CONDUCT | NOSHIELD + flags = CONDUCT armour_penetration = 100 origin_tech = "combat=3" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") @@ -83,9 +83,9 @@ throw_speed = 3 throw_range = 5 hitsound = "swing_hit" - flags = NOSHIELD armour_penetration = 35 origin_tech = "magnets=3;syndicate=4" + block_chance = 50 sharp = 1 edge = 1 var/hacked = 0 @@ -95,9 +95,9 @@ if(item_color == null) item_color = pick("red", "blue", "green", "purple") -/obj/item/weapon/melee/energy/sword/IsShield() +/obj/item/weapon/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) if(active) - return 1 + return ..() return 0 /obj/item/weapon/melee/energy/sword/cyborg @@ -133,7 +133,7 @@ ..() item_color = null -/obj/item/weapon/melee/energy/sword/cyborg/saw/IsShield() +/obj/item/weapon/melee/energy/sword/cyborg/saw/hit_reaction() return 0 /obj/item/weapon/melee/energy/sword/saber @@ -206,7 +206,6 @@ throw_speed = 3 throw_range = 1 w_class = 4//So you can't hide it in your pocket or some such. - flags = NOSHIELD armour_penetration = 50 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/datum/effect/system/spark_spread/spark_system diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index a161755c285..809bf0d298d 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -1,5 +1,6 @@ /obj/item/weapon/shield name = "shield" + block_chance = 50 /obj/item/weapon/shield/riot name = "riot shield" @@ -17,8 +18,10 @@ attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time -/obj/item/weapon/shield/riot/IsShield() - return 1 +/obj/item/weapon/shield/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type) + if(attack_type == THROWN_PROJECTILE_ATTACK) + final_block_chance += 30 + return ..() /obj/item/weapon/shield/riot/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/melee/baton)) @@ -41,12 +44,7 @@ icon_state = "buckler" item_state = "buckler" materials = list() - -/obj/item/weapon/shield/riot/buckler/IsShield() - if(prob(60)) - return 1 - else - return 0 + block_chance = 30 /obj/item/weapon/shield/energy name = "energy combat shield" @@ -62,8 +60,8 @@ attack_verb = list("shoved", "bashed") var/active = 0 -/obj/item/weapon/shield/energy/IsShield() - return (active) +/obj/item/weapon/shield/energy/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) + return 0 /obj/item/weapon/shield/energy/IsReflect() return (active) @@ -109,8 +107,10 @@ w_class = 3 var/active = 0 -/obj/item/weapon/shield/riot/tele/IsShield() - return (active) +/obj/item/weapon/shield/riot/tele/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) + if(active) + return ..() + return 0 /obj/item/weapon/shield/riot/tele/attack_self(mob/living/user) active = !active diff --git a/code/game/objects/items/weapons/staff.dm b/code/game/objects/items/weapons/staff.dm index 049339a1b01..793f384126e 100644 --- a/code/game/objects/items/weapons/staff.dm +++ b/code/game/objects/items/weapons/staff.dm @@ -8,7 +8,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = NOSHIELD armour_penetration = 100 attack_verb = list("bludgeoned", "whacked", "disciplined") @@ -73,5 +72,4 @@ throwforce = 5.0 throw_speed = 1 throw_range = 5 - w_class = 2.0 - flags = NOSHIELD \ No newline at end of file + w_class = 2.0 \ No newline at end of file diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 0f2fd65475e..6ab787e519f 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -134,7 +134,7 @@ /obj/item/weapon/melee/baton/proc/baton_stun(mob/living/L, mob/user) if(ishuman(L)) var/mob/living/carbon/human/H = L - if(H.check_shields(0, "[user]'s [name]")) //No message; check_shields() handles that + if(H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK)) //No message; check_shields() handles that playsound(L, 'sound/weapons/Genhit.ogg', 50, 1) return user.lastattacked = L diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 6af34367d75..844a6f68d54 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -53,7 +53,7 @@ if(cooldown <= 0) if(ishuman(target)) var/mob/living/carbon/human/H = target - if(H.check_shields(0, "[user]'s [name]")) + if(H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK)) return 0 playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1) target.Weaken(3) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 1f808939f17..cf43a0b7bf4 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -120,14 +120,6 @@ /obj/item/weapon/twohanded/offhand/wield() qdel(src) -/obj/item/weapon/twohanded/offhand/IsShield()//if the actual twohanded weapon is a shield, we count as a shield too! - var/mob/user = loc - if(!istype(user)) return 0 - var/obj/item/I = user.get_active_hand() - if(I == src) I = user.get_inactive_hand() - if(!I) return 0 - return I.IsShield() - ///////////Two hand required objects/////////////// //This is for objects that require two hands to even pick up /obj/item/weapon/twohanded/required/ @@ -205,10 +197,10 @@ force_wielded = 34 wieldsound = 'sound/weapons/saberon.ogg' unwieldsound = 'sound/weapons/saberoff.ogg' - flags = NOSHIELD armour_penetration = 35 origin_tech = "magnets=3;syndicate=4" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + block_chance = 75 sharp = 1 edge = 1 no_embed = 1 // Like with the single-handed esword, this shouldn't be embedding in people. @@ -238,11 +230,10 @@ user.dir = i sleep(1) -/obj/item/weapon/twohanded/dualsaber/IsShield() +/obj/item/weapon/twohanded/dualsaber/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) if(wielded) - return 1 - else - return 0 + return ..() + return 0 /obj/item/weapon/twohanded/dualsaber/green/New() blade_color = "green" @@ -296,7 +287,6 @@ throw_speed = 3 armour_penetration = 10 no_spin_thrown = 1 // Thrown spears that spin look dumb. -Fox - flags = NOSHIELD attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") /obj/item/weapon/twohanded/spear/update_icon() @@ -371,7 +361,6 @@ force_wielded = 40 //you'll gouge their eye out! Or a limb...maybe even their entire body! wieldsound = 'sound/weapons/chainsawstart.ogg' hitsound = null - flags = NOSHIELD armour_penetration = 35 origin_tech = "materials=6;syndicate=4" attack_verb = list("sawed", "cut", "hacked", "carved", "cleaved", "butchered", "felled", "timbered") diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 8ff2f931159..908cc1e2d80 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -50,13 +50,11 @@ edge = 1 w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + block_chance = 50 - IsShield() - return 1 - - suicide_act(mob/user) - to_chat(viewers(user), "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.") - return(BRUTELOSS) +/obj/item/weapon/claymore/suicide_act(mob/user) + user.visible_message("[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.") + return(BRUTELOSS) /obj/item/weapon/claymore/ceremonial name = "ceremonial claymore" @@ -77,6 +75,7 @@ w_class = 3 hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + block_chance = 50 /obj/item/weapon/katana/cursed slot_flags = null @@ -85,9 +84,6 @@ user.visible_message("[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") return(BRUTELOSS) -/obj/item/weapon/katana/IsShield() - return 1 - /obj/item/weapon/harpoon name = "harpoon" sharp = 1 diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index ea811f68be6..f99837df127 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -222,30 +222,27 @@ //Reactive armor -//When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) /obj/item/clothing/suit/armor/reactive - name = "Reactive Teleport Armor" - desc = "Someone seperated our Research Director from his own head!" - var/active = 0.0 + name = "reactive armor" + desc = "Doesn't seem to do much for some reason." + var/active = 0 icon_state = "reactiveoff" item_state = "reactiveoff" blood_overlay_type = "armor" - action_button_name = "Toggle Reactive Armor" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + action_button_name = "Toggle Reactive Armor" + unacidable = 1 + hit_reaction_chance = 50 -/obj/item/clothing/suit/armor/reactive/IsShield() - if(active) - return 1 - return 0 -/obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob) +/obj/item/clothing/suit/armor/reactive/attack_self(mob/user) active = !(active) if(active) - to_chat(user, "The reactive armor is now active.") + to_chat(user, "[src] is now active.") icon_state = "reactive" item_state = "reactive" else - to_chat(user, "The reactive armor is now inactive.") + to_chat(user, "[src] is now inactive.") icon_state = "reactiveoff" item_state = "reactiveoff" add_fingerprint(user) @@ -255,11 +252,91 @@ active = 0 icon_state = "reactiveoff" item_state = "reactiveoff" - - var/mob/living/carbon/human/user = usr - user.update_inv_wear_suit() ..() +//When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) +/obj/item/clothing/suit/armor/reactive/teleport + name = "reactive teleport armor" + desc = "Someone seperated our Research Director from his own head!" + var/tele_range = 6 + +/obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) + if(!active) + return 0 + if(prob(hit_reaction_chance)) + var/mob/living/carbon/human/H = owner + owner.visible_message("The reactive teleport system flings [H] clear of [attack_text], shutting itself off in the process!") + var/list/turfs = new/list() + for(var/turf/T in orange(tele_range, H)) + if(istype(T, /turf/space)) + continue + if(T.density) + continue + if(T.x>world.maxx-tele_range || T.xworld.maxy-tele_range || T.yThe [src] blocks the [attack_text], sending out jets of flame!") + for(var/mob/living/carbon/C in range(6, owner)) + if(C != owner) + C.fire_stacks += 8 + C.IgniteMob() + owner.fire_stacks = -20 + return 1 + return 0 + + +/obj/item/clothing/suit/armor/reactive/stealth + name = "reactive stealth armor" + +/obj/item/clothing/suit/armor/reactive/stealth/hit_reaction(mob/living/carbon/human/owner, attack_text) + if(!active) + return 0 + if(prob(hit_reaction_chance)) + var/mob/living/simple_animal/hostile/illusion/escape/E = new(owner.loc) + E.Copy_Parent(owner, 50) + E.GiveTarget(owner) //so it starts running right away + E.Goto(owner, E.move_to_delay, E.minimum_distance) + owner.alpha = 0 + owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise + spawn(40) + owner.alpha = initial(owner.alpha) + return 1 + +/obj/item/clothing/suit/armor/reactive/tesla + name = "reactive tesla armor" + +/obj/item/clothing/suit/armor/reactive/tesla/hit_reaction(mob/living/carbon/human/owner, attack_text) + if(!active) + return 0 + if(prob(hit_reaction_chance)) + owner.visible_message("The [src] blocks the [attack_text], sending out arcs of lightning!") + for(var/mob/living/M in view(6, owner)) + if(M == owner) + continue + owner.Beam(M,icon_state="lightning[rand(1, 12)]",icon='icons/effects/effects.dmi',time=5) + M.adjustFireLoss(25) + playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1) + return 1 //All of the armor below is mostly unused diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 5a7017b353a..68307875b1b 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -70,6 +70,9 @@ item_color = "clown" flags_size = ONESIZEFITSALL +/obj/item/clothing/under/rank/clown/hit_reaction() + playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) + return 0 /obj/item/clothing/under/rank/head_of_personnel desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"." diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index fd4864b7900..86b3728be3c 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -92,7 +92,7 @@ sharp = 0 edge = 0 -/obj/item/weapon/claymore/fluff/IsShield() +/obj/item/weapon/claymore/fluff/hit_reaction() return 0 /obj/item/weapon/crowbar/fluff/zelda_creedy_1 // Zomgponies: Griffin Rowley diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 9cb59b4f296..3fae45bea2e 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -313,7 +313,7 @@ throw_range = 3 w_class = 4 var/extend = 1 - flags = NOSHIELD | CONDUCT + flags = CONDUCT armour_penetration = 20 slot_flags = SLOT_BACK origin_tech = "materials=2;combat=2" @@ -339,7 +339,6 @@ throw_range = 3 w_class = 2.0 extend = 0 - flags = NOSHIELD armour_penetration = 20 slot_flags = SLOT_BELT origin_tech = "materials=3;combat=3" diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index d128e22c0f6..0ca98c921d8 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -181,7 +181,7 @@ attack_verb = list("smashed", "slammed", "whacked", "thwacked") icon = 'icons/obj/weapons.dmi' icon_state = "bostaff0" - + block_chance = 50 /obj/item/weapon/twohanded/bostaff/update_icon() icon_state = "bostaff[wielded]" @@ -239,8 +239,7 @@ return ..() return ..() -/obj/item/weapon/twohanded/bostaff/IsShield() +/obj/item/weapon/twohanded/bostaff/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) if(wielded) - return 1 - else - return 0 \ No newline at end of file + return ..() + return 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index a5e72059ab8..aff7b82bd03 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -85,7 +85,7 @@ leaping = 0 update_icons() -/mob/living/carbon/alien/humanoid/hunter/throw_impact(A) +/mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/A) if(!leaping) return ..() @@ -93,20 +93,26 @@ if(A) if(istype(A, /mob/living)) var/mob/living/L = A - L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") - if(ishuman(L)) - var/mob/living/carbon/human/H = L - H.apply_effect(5, WEAKEN, H.run_armor_check(null, "melee")) - else - L.Weaken(5) - sleep(2)//Runtime prevention (infinite bump() calls on hulks) - step_towards(src,L) + var/blocked = 0 + if(ishuman(A)) + var/mob/living/carbon/human/H = A + if(H.check_shields(90, "the [name]", src, attack_type = THROWN_PROJECTILE_ATTACK)) + blocked = 1 + if(!blocked) + L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") + if(ishuman(L)) + var/mob/living/carbon/human/H = L + H.apply_effect(5, WEAKEN, H.run_armor_check(null, "melee")) + else + L.Weaken(5) + sleep(2)//Runtime prevention (infinite bump() calls on hulks) + step_towards(src,L) toggle_leap(0) pounce_cooldown = !pounce_cooldown spawn(pounce_cooldown_time) //3s by default pounce_cooldown = !pounce_cooldown - else + else if(A.density && !A.CanPass(src)) visible_message("[src] smashes into [A]!", "[src] smashes into [A]!") weakened = 2 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1bc79c16242..bbaa9e40da0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -203,15 +203,14 @@ now_pushing = 0 return - if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot)) - if(prob(99)) - now_pushing = 0 - return - if(tmob.l_hand && istype(tmob.l_hand, /obj/item/weapon/shield/riot)) - if(prob(99)) - now_pushing = 0 - return + //anti-riot equipment is also anti-push + if(tmob.r_hand && (prob(tmob.r_hand.block_chance * 2)) && !istype(tmob.r_hand, /obj/item/clothing)) + now_pushing = 0 + return + if(tmob.l_hand && (prob(tmob.l_hand.block_chance * 2)) && !istype(tmob.l_hand, /obj/item/clothing)) + now_pushing = 0 + return if(!(tmob.status_flags & CANPUSH)) now_pushing = 0 @@ -414,16 +413,16 @@ M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - if(check_shields(damage, "the [M.name]")) + if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK, M.armour_penetration)) return 0 var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) - var/armor = run_armor_check(affecting, "melee") + var/armor = run_armor_check(affecting, "melee", armour_penetration = M.armour_penetration) var/obj/item/organ/external/affected = src.get_organ(dam_zone) if(affected) affected.add_autopsy_data(M.name, damage) // Add the mob's name to the autopsy data - apply_damage(damage,M.melee_damage_type, affecting, armor, M.name) + apply_damage(damage, M.melee_damage_type, affecting, armor) updatehealth() /mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L as mob) @@ -461,7 +460,7 @@ else damage = rand(5, 25) - if(check_shields(damage, "the [M.name]")) + if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK)) return 0 var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 33cb567ba4a..f7839568a03 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -18,10 +18,9 @@ ..() - if((M != src) && check_shields(0, M.name)) + if((M != src) && M.a_intent != "help" && check_shields(0, M.name, attack_type = UNARMED_ATTACK)) add_logs(src, M, "attempted to touch") - M.do_attack_animation(src) - visible_message("\red [M] attempted to touch [src]!") + visible_message("[M] attempted to touch [src]!") return 0 if(istype(M.gloves , /obj/item/clothing/gloves/boxing/hologlove)) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 3a935e5e449..c8bc136103c 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -32,7 +32,7 @@ emp_act return -1 // complete projectile permutation //Shields - if(check_shields(P.damage, "the [P.name]", P)) + if(check_shields(P.damage, "the [P.name]", P, PROJECTILE_ATTACK, P.armour_penetration)) P.on_hit(src, 100, def_zone) return 2 @@ -132,40 +132,24 @@ emp_act //End Here -/mob/living/carbon/human/proc/check_shields(var/damage = 0, var/attack_text = "the attack", var/obj/item/O) - if(O) - if(O.flags & NOSHIELD) //weapon ignores shields altogether - return 0 - if(l_hand && istype(l_hand, /obj/item/weapon))//Current base is the prob(50-d/3) - var/obj/item/weapon/I = l_hand - if(I.IsShield() && (prob(50 - round(damage / 3)))) - visible_message("[src] blocks [attack_text] with [l_hand]!", \ - "[src] blocks [attack_text] with [l_hand]!") +/mob/living/carbon/human/proc/check_shields(damage = 0, attack_text = "the attack", atom/movable/AM, attack_type = MELEE_ATTACK, armour_penetration = 0) + var/block_chance_modifier = round(damage / -3) + + if(l_hand && !istype(l_hand, /obj/item/clothing)) + var/final_block_chance = l_hand.block_chance - (Clamp((armour_penetration-l_hand.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example + if(l_hand.hit_reaction(src, attack_text, final_block_chance, damage, attack_type)) return 1 - if(r_hand && istype(r_hand, /obj/item/weapon)) - var/obj/item/weapon/I = r_hand - if(I.IsShield() && (prob(50 - round(damage / 3)))) - visible_message("[src] blocks [attack_text] with [r_hand]!", \ - "[src] blocks [attack_text] with [r_hand]!") + if(r_hand && !istype(r_hand, /obj/item/clothing)) + var/final_block_chance = r_hand.block_chance - (Clamp((armour_penetration-r_hand.armour_penetration)/2,0,100)) + block_chance_modifier //Need to reset the var so it doesn't carry over modifications between attempts + if(r_hand.hit_reaction(src, attack_text, final_block_chance, damage, attack_type)) return 1 - if(wear_suit && istype(wear_suit, /obj/item/)) - var/obj/item/I = wear_suit - if(I.IsShield() && (prob(50))) - visible_message("The reactive teleport system flings [src] clear of [attack_text]!", \ - "The reactive teleport system flings [src] clear of [attack_text]!") - var/list/turfs = new/list() - for(var/turf/T in orange(6, src)) - if(istype(T,/turf/space)) continue - if(T.density) continue - if(T.x>world.maxx-6 || T.x<6) continue - if(T.y>world.maxy-6 || T.y<6) continue - turfs += T - if(!turfs.len) turfs += pick(/turf in orange(6, src)) - var/turf/picked = pick(turfs) - if(!isturf(picked)) return - if(buckled) - buckled.unbuckle_mob() - src.loc = picked + if(wear_suit) + var/final_block_chance = wear_suit.block_chance - (Clamp((armour_penetration-wear_suit.armour_penetration)/2,0,100)) + block_chance_modifier + if(wear_suit.hit_reaction(src, attack_text, final_block_chance, damage, attack_type)) + return 1 + if(w_uniform) + var/final_block_chance = w_uniform.block_chance - (Clamp((armour_penetration-w_uniform.armour_penetration)/2,0,100)) + block_chance_modifier + if(w_uniform.hit_reaction(src, attack_text, final_block_chance, damage, attack_type)) return 1 return 0 @@ -221,7 +205,7 @@ emp_act if(user != src) user.do_attack_animation(src) - if(check_shields(I.force, "the [I.name]", I)) + if(check_shields(I.force, "the [I.name]", I, MELEE_ATTACK, I.armour_penetration)) return 0 if(istype(I,/obj/item/weapon/card/emag)) @@ -315,59 +299,52 @@ emp_act //this proc handles being hit by a thrown atom /mob/living/carbon/human/hitby(atom/movable/AM as mob|obj,var/speed = 5) - if(istype(AM,/obj/)) - var/obj/O = AM + if(istype(AM, /obj/item)) + var/obj/item/I = AM if(in_throw_mode && !get_active_hand() && speed <= 5) //empty active hand and we're in throw mode if(canmove && !restrained()) - if(isturf(O.loc)) - put_in_active_hand(O) - visible_message("[src] catches [O]!") + if(isturf(I.loc)) + put_in_active_hand(I) + visible_message("[src] catches [I]!") throw_mode_off() return var/zone = ran_zone("chest", 65) var/dtype = BRUTE - if(istype(O,/obj/item/weapon)) - var/obj/item/weapon/W = O + if(istype(I, /obj/item/weapon)) + var/obj/item/weapon/W = I dtype = W.damtype - var/throw_damage = O.throwforce*(speed/5) + var/throw_damage = I.throwforce*(speed/5) - /* - if(!zone) - visible_message("\blue \The [O] misses [src] narrowly!") - return - */ - O.throwing = 0 //it hit, so stop moving + I.throwing = 0 //it hit, so stop moving - if ((O.thrower != src) && check_shields(throw_damage, "[O]")) + if((I.thrower != src) && check_shields(throw_damage, "\the [I.name]", I, THROWN_PROJECTILE_ATTACK)) return var/obj/item/organ/external/affecting = get_organ(zone) if(!affecting) - var/missverb = (O.gender == PLURAL) ? "whizz" : "whizzes" - visible_message("\The [O] [missverb] past [src]'s missing [parse_zone(zone)]!", - "\The [O] [missverb] past your missing [parse_zone(zone)]!") + var/missverb = (I.gender == PLURAL) ? "whizz" : "whizzes" + visible_message("\The [I] [missverb] past [src]'s missing [parse_zone(zone)]!", + "\The [I] [missverb] past your missing [parse_zone(zone)]!") return var/hit_area = affecting.name - src.visible_message("\red [src] has been hit in the [hit_area] by [O].") - var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") //I guess "melee" is the best fit here + src.visible_message("\red [src] has been hit in the [hit_area] by [I].") + var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", I.armour_penetration) //I guess "melee" is the best fit here + apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) - apply_damage(throw_damage, dtype, zone, armor, is_sharp(O), has_edge(O), O) - - if(ismob(O.thrower)) - var/mob/M = O.thrower + if(ismob(I.thrower)) + var/mob/M = I.thrower if(M) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [key_name(M)]") - M.attack_log += text("\[[time_stamp()]\] Hit [key_name(src)] with a thrown [O]") + src.attack_log += text("\[[time_stamp()]\] Has been hit with a [I], thrown by [key_name(M)]") + M.attack_log += text("\[[time_stamp()]\] Hit [key_name(src)] with a thrown [I]") if(!istype(src,/mob/living/simple_animal/mouse)) - msg_admin_attack("[key_name_admin(src)] was hit by a [O], thrown by [key_name_admin(M)]") + msg_admin_attack("[key_name_admin(src)] was hit by a [I], thrown by [key_name_admin(M)]") //thrown weapon embedded object code. - if(dtype == BRUTE && istype(O,/obj/item)) - var/obj/item/I = O + if(dtype == BRUTE && istype(I)) if (!I.is_robot_module()) var/sharp = is_sharp(I) var/damage = throw_damage @@ -384,10 +361,10 @@ emp_act affecting.embed(I) // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= 15) - var/obj/item/weapon/W = O + if(I.throw_source && speed >= 15) + var/obj/item/weapon/W = I var/momentum = speed/2 - var/dir = get_dir(O.throw_source, src) + var/dir = get_dir(I.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) @@ -399,9 +376,9 @@ emp_act if(T) src.loc = T - visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") + visible_message("[src] is pinned to the wall by [I]!","You are pinned to the wall by [I]!") src.anchored = 1 - src.pinned += O + src.pinned += I /mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index cc50408148e..2df5b32409b 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -62,49 +62,40 @@ //this proc handles being hit by a thrown atom /mob/living/hitby(atom/movable/AM as mob|obj,var/speed = 5)//Standardization and logging -Sieve - if(istype(AM,/obj/)) - var/obj/O = AM + if(istype(AM, /obj/item)) + var/obj/item/I = AM var/zone = ran_zone("chest", 65)//Hits a random part of the body, geared towards the chest var/dtype = BRUTE - if(istype(O,/obj/item/weapon)) - var/obj/item/weapon/W = O + if(istype(I, /obj/item/weapon)) + var/obj/item/weapon/W = I dtype = W.damtype if (W.hitsound && W.throwforce > 0) playsound(loc, W.hitsound, 30, 1, -1) //run to-hit check here - var/throw_damage = O.throwforce*(speed/5) + var/throw_damage = I.throwforce*(speed/5) - //var/miss_chance = 15 - //if (O.throw_source) - //var/distance = get_dist(O.throw_source, loc) - //miss_chance = min(15*(distance-2), 0) - /* - if (prob(miss_chance)) - visible_message("\blue \The [O] misses [src] narrowly!") - return - */ - src.visible_message("\red [src] has been hit by [O].") - var/armor = run_armor_check(zone, "melee") + src.visible_message("\red [src] has been hit by [I].") + var/armor = run_armor_check(zone, "melee", "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", I.armour_penetration) - apply_damage(throw_damage, dtype, zone, armor, is_sharp(O), has_edge(O), O) + apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) - O.throwing = 0 //it hit, so stop moving + I.throwing = 0 //it hit, so stop moving - if(ismob(O.thrower)) - var/mob/M = O.thrower + if(ismob(I.thrower)) + var/mob/M = I.thrower if(M) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [key_name(M)]") - M.attack_log += text("\[[time_stamp()]\] Hit [key_name(src)] with a thrown [O]") + attack_log += text("\[[time_stamp()]\] Has been hit with a [I], thrown by [key_name(M)]") + M.attack_log += text("\[[time_stamp()]\] Hit [key_name(src)] with a thrown [I]") if(!istype(src,/mob/living/simple_animal/mouse)) - msg_admin_attack("[key_name_admin(src)] was hit by a [O], thrown by [key_name_admin(M)]") + msg_admin_attack("[key_name_admin(src)] was hit by a [I], thrown by [key_name_admin(M)]") // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= 15) - var/obj/item/weapon/W = O + if(I.throw_source && speed >= 15) + var/obj/item/weapon/W = I var/momentum = speed/2 - var/dir = get_dir(O.throw_source, src) + var/dir = get_dir(I.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) @@ -113,16 +104,16 @@ if(W.sharp) //Projectile is suitable for pinning. //Handles embedding for non-humans and simple_animals. - O.loc = src - src.embedded += O + I.loc = src + embedded += I var/turf/T = near_wall(dir,2) if(T) src.loc = T - visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") + visible_message("[src] is pinned to the wall by [I]!","You are pinned to the wall by [I]!") src.anchored = 1 - src.pinned += O + src.pinned += I /mob/living/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == I_HARM) diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm new file mode 100644 index 00000000000..c4a71cca618 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm @@ -0,0 +1,75 @@ +/mob/living/simple_animal/hostile/illusion + name = "illusion" + desc = "It's a fake!" + icon = 'icons/effects/effects.dmi' + icon_state = "static" + icon_living = "static" + icon_dead = "null" + melee_damage_lower = 5 + melee_damage_upper = 5 + a_intent = "harm" + attacktext = "gores" + maxHealth = 100 + health = 100 + speed = 0 + faction = list("illusion") + var/life_span = INFINITY //how long until they despawn + var/mob/living/parent_mob + var/multiply_chance = 0 //if we multiply on hit + + +/mob/living/simple_animal/hostile/illusion/Life() + ..() + if(world.time > life_span) + death() + +/mob/living/simple_animal/hostile/illusion/death(gibbed) + ..() + visible_message("\The [src] vanishes into thin air! It was a fake!") + ghostize() + qdel(src) + +/mob/living/simple_animal/hostile/illusion/proc/Copy_Parent(mob/living/original, life = 50, health = 100, damage = 0, replicate = 0 ) + appearance = original.appearance + parent_mob = original + dir = original.dir + life_span = world.time+life + melee_damage_lower = damage + melee_damage_upper = damage + multiply_chance = replicate + faction -= "neutral" + transform = initial(transform) + pixel_y = initial(pixel_y) + pixel_x = initial(pixel_x) + +/mob/living/simple_animal/hostile/illusion/examine(mob/user) + if(parent_mob) + parent_mob.examine(user) + else + return ..() + + +/mob/living/simple_animal/hostile/illusion/AttackingTarget() + ..() + if(istype(target, /mob/living) && prob(multiply_chance)) + var/mob/living/L = target + if(L.stat == DEAD) + return + var/mob/living/simple_animal/hostile/illusion/M = new(loc) + M.faction = faction.Copy() + M.Copy_Parent(parent_mob, 80, health/2, melee_damage_upper, multiply_chance/2) + M.GiveTarget(L) + +///////Actual Types///////// + +/mob/living/simple_animal/hostile/illusion/escape + retreat_distance = 10 + minimum_distance = 10 + melee_damage_lower = 0 + melee_damage_upper = 0 + speed = -1 + environment_smash = 0 + + +/mob/living/simple_animal/hostile/illusion/escape/AttackingTarget() + return diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 32bdf5fc772..fe04470c60c 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -39,6 +39,7 @@ icon_living = "syndicatemelee" attacktext = "slashes" attack_sound = 'sound/weapons/bladeslice.ogg' + armour_penetration = 28 status_flags = 0 loot = list(/obj/effect/landmark/mobcorpse/syndicatesoldier, /obj/item/weapon/melee/energy/sword/saber/red, /obj/item/weapon/shield/energy) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 93e72a96707..f1818153974 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -49,6 +49,7 @@ //LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly var/melee_damage_lower = 0 var/melee_damage_upper = 0 + var/armour_penetration = 0 //How much armour they ignore, as a flat reduction from the targets armour value var/melee_damage_type = BRUTE //Damage type of a simple mob's melee attack, should it do damage. var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) // 1 for full damage , 0 for none , -1 for 1:1 heal from that source var/attacktext = "attacks" diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 695d701dba35bd337c733c0e37fd10d5c365122f..725d97ce21bc24dca242f19132fdcc63aadebf09 100644 GIT binary patch delta 24084 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 diff --git a/paradise.dme b/paradise.dme index 3f06e7152d2..9817e7c4db0 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1628,6 +1628,7 @@ #include "code\modules\mob\living\simple_animal\hostile\headcrab.dm" #include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" +#include "code\modules\mob\living\simple_animal\hostile\illusion.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" #include "code\modules\mob\living\simple_animal\hostile\killertomato.dm" #include "code\modules\mob\living\simple_animal\hostile\mimic.dm" From 17be7813b819a87c7ca2331f9de1c9d133423603 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 7 Jul 2016 22:39:40 -0400 Subject: [PATCH 2/5] shielded hardsuits --- code/modules/clothing/spacesuits/rig.dm | 96 ++++++++++++++++++++++++ code/modules/clothing/suits/armor.dm | 3 + icons/mob/head.dmi | Bin 261897 -> 263727 bytes icons/mob/suit.dmi | Bin 470459 -> 472515 bytes icons/obj/clothing/hats.dmi | Bin 123888 -> 124748 bytes icons/obj/clothing/suits.dmi | Bin 157356 -> 158157 bytes sound/magic/Charge.ogg | Bin 0 -> 25948 bytes 7 files changed, 99 insertions(+) create mode 100644 sound/magic/Charge.ogg diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index d4a0fec12bc..38d1416cd71 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -511,3 +511,99 @@ item_state = "singuloth_hardsuit" flags = STOPSPRESSUREDMAGE armor = list(melee = 40, bullet = 5, laser = 20, energy = 5, bomb = 25, bio = 100, rad = 100) + + +/obj/item/clothing/head/helmet/space/rig/security/hos + name = "head of security's hardsuit helmet" + desc = "a special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." + icon_state = "hardsuit0-hos" + item_color = "hos" + armor = list(melee = 45, bullet = 25, laser = 30,energy = 10, bomb = 25, bio = 100, rad = 50) + sprite_sheets = null + + +/obj/item/clothing/suit/space/rig/security/hos + icon_state = "hardsuit-hos" + name = "head of security's hardsuit" + desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor." + armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50) + sprite_sheets = null + + +/////////////SHIELDED////////////////////////////////// + +/obj/item/clothing/suit/space/rig/shielded + name = "shielded hardsuit" + desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire." + icon_state = "hardsuit-hos" + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank, /obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) + armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) + var/current_charges = 3 + var/max_charges = 3 //How many charges total the shielding has + var/recharge_delay = 200 //How long after we've been shot before we can start recharging. 20 seconds here + var/recharge_cooldown = 0 //Time since we've last been shot + var/recharge_rate = 1 //How quickly the shield recharges once it starts charging + var/shield_state = "shield-old" + var/shield_on = "shield-old" + sprite_sheets = null + +/obj/item/clothing/suit/space/rig/shielded/hit_reaction(mob/living/carbon/human/owner, attack_text) + if(current_charges > 0) + var/datum/effect/system/spark_spread/s = new + s.set_up(2, 1, src) + s.start() + owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") + current_charges-- + recharge_cooldown = world.time + recharge_delay + processing_objects |= src + if(current_charges <= 0) + owner.visible_message("[owner]'s shield overloads!") + shield_state = "broken" + owner.update_inv_wear_suit() + return 1 + return 0 + + +/obj/item/clothing/suit/space/rig/shielded/Destroy() + processing_objects.Remove(src) + return ..() + +/obj/item/clothing/suit/space/rig/shielded/process() + if(world.time > recharge_cooldown && current_charges < max_charges) + current_charges = Clamp((current_charges + recharge_rate), 0, max_charges) + playsound(loc, 'sound/magic/Charge.ogg', 50, 1) + if(current_charges == max_charges) + playsound(loc, 'sound/machines/ding.ogg', 50, 1) + processing_objects.Remove(src) + shield_state = "[shield_on]" + if(istype(loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/C = loc + C.update_inv_wear_suit() + +//////Syndicate Version + +/obj/item/clothing/suit/space/rig/shielded/syndi + name = "blood-red hardsuit" + desc = "An advanced hardsuit with built in energy shielding." + icon_state = "hardsuit1-syndi" + item_state = "syndie_hardsuit" + item_color = "syndi" + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank) + slowdown = 0 + sprite_sheets = list( + "Unathi" = 'icons/mob/species/unathi/helmet.dmi', + "Tajaran" = 'icons/mob/species/tajaran/helmet.dmi', + "Skrell" = 'icons/mob/species/skrell/helmet.dmi', + "Vox" = 'icons/mob/species/vox/helmet.dmi', + "Vulpkanin" = 'icons/mob/species/vulpkanin/helmet.dmi', + "Drask" = 'icons/mob/species/drask/helmet.dmi' + ) + +/obj/item/clothing/head/helmet/space/rig/shielded/syndi + name = "blood-red hardsuit helmet" + desc = "An advanced hardsuit helmet with built in energy shielding." + icon_state = "hardsuit1-syndi" + item_state = "syndie_helm" + item_color = "syndi" + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) \ No newline at end of file diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f99837df127..3715a134e16 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -252,6 +252,9 @@ active = 0 icon_state = "reactiveoff" item_state = "reactiveoff" + if(istype(loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/C = loc + C.update_inv_wear_suit() ..() //When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 6703c61b1b73c31f9861337a096ccad77f65d30a..89719ebca26affafae4888d8ecfca05824701364 100644 GIT binary patch delta 14853 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�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 E17@=OW&i*H diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index e162c42a5311e234754e68eed98f0ea4cf13c1d8..ea31b07c4cb375fcd0e0bfe3ba6869c50638dfbb 100644 GIT binary patch delta 16956 zcmZ9z1y~f_A2z&zfGD9NAPtJ3bT>;%BS@)$fOMBg!+?}Zr=$x?cS|GE-Cfe%UAyn$ z`9IJ5z1PRZGBeDXncZ`KdEfWeOi?s#QiRi?*%Uw3yiKF9ha%wLN?#C~E4!*a+dIEr zxXujwg~D8yc#2C(&8zDhb2~8RHX3-LgBJ#P-2yMnUop3_YB!-J&ZsYRy-P2n>FDN( z-?LjN7U^gWcvJlKwyqoQD$YMqNhiuHC$cU_*D@o(-XE7#w#?68zAYM|p10uNOe5

K5#Uz%qAMv8X!1+2fm1u z`JDfkE4w%qA96cCPuWb5dnV08d)T+_^fNyn?=CU(?=H56-~er{w4Ox1#gi%9z`5PP zw#9h^2@?p;_f}p`&Zlkhy3?AbfnHn~IrCS$s;(b6!C~j>}=s=%iJXza z%*1!QO}O$jnYg|m931EuzfrIA;-o^OVP(aa{(1lBnopxtK{``@Ul97=t9Lu%w3$LHsl@S+5D=8_t z@F05l@b~WNhk@6v9PTGpNkY!}A6B{>!L`Nir#2?-=Ih*Zr-cQPvCMD378I}sEA&CXJEAI54jGgu*;z#}-o1PGro`y^Y(usD z$Rka}3|;--46BAx=5KNf}gS}~ZF9Jq2KP3>@ypyiPX5IP` z6SKX$yY=Rt<^6yB)Gflj!1w~DXTQU|uAZj4gGjW9&nF%ob%R-Un$Vo zrpAa`LfB84E^YeE^z`}iG2N!_c&`0P%R*Wn9wHdK#qhHcrQiE~FC!zPqUN1y&|p7h z!b}8@c)*EZGM+oI%7k#i{KT9ug8_SEa)qugDDNfnFtq!R`?fHgyLQinJ{(F22=%NJH*#L8d~iU^^lZ zZ?nF>4)Z=bax}U1ptd`uvs1pgxtSf~VYpIuMFnqpI;*_4wzdk7u7m`-fq{X_+qc=( zn!p=@^D;6q#dq9>h0um&=jHiLSmC<`CtQ@5m$Q?F&`3tMcXmp+xe0PX%fq7#CKFaE zoeG?^Uq(kYcj)P^S)Yk|JUNWW5jUN%!l?c8m-f)~j~~vK+iD*o47lZV%_?nnQPI7_ z)jrc=#W;3x4MN%M-F=sPy>Q-{e#(Wj=Qz`$sk$~qiZ zvtEQKH6|uz9Jl!c=N`!JoM0sF@-a%U?n)WiGnQ6T;^0vMiC+1@zPnvLx!RAxI`J`; zlDfsowR|dq6oVnQ=fc345k}ffq*JK6j*j1PgKk)CEOB#NThl%AK#qukM_eYju-{<+ z?99bQB>xR+^Y|Gn>w*@}TOFNd8&eaLC(_hG&dy$VkViW7-rF=A+kCJ(ur-aI54q}S zK2c(vHGVAUfy7S|pbp|!V{Mgc-^B!fOekPySClvBVp+5^w4NI6uaGLvO)U5bz=;h* zILvm}&|y-cq#?zvkKz^$?R#fhk6bk+ShXvHXTC=!-}y;PMo3Tcq&HeTNiKLa7CU!H_%;$MbMQQuAxO{iAP? z@lAR(d8)M}%E=QSZ!J)$!6nJe$@4bqDhfK!;uh=hqxfh`@0%Z32-~O=*P&Qm9>GN12Z!{iUl!DuO%YspggVe zuOb;WHHoA?7K!hV+#>0UU3RKB3*c^!-}#c0lW)9<(_^=KlXa)sdCrrsCVy=6{{8zt zy}d7CSA`-R91-z$uCA{9;mIMjwZbMIugEJV%gW0+79+YvIcwI0G{h5nOl$&Z*3tCs zRdm3}gtB>Lm1)nq*7_t`Q8}a%gvS(__Li3%_{+Sb;ElloCo@6!8Xvl2#Z4ApF|;ma zZ2T0sNK?V>nWD#X)ul3`A|lE0;lP)~u^g?fS%#FAm1V$~9d&WUn~75V=dhi!3A@am z)*Pzjmke2tUorhLSJQbO9x@oi_|6@qCVIsH`d1PE|n^&o|G#?c}avWwGhM zBC3N6yr}2O*~#&5>GdUuRP#0;e{PKHL~GC$H3+QTJa{_argFyS#=iuG1l5DyUl&4S zKY#wjSncI$+KdqOpgoM(bJLo)69fs_2l!QCf>Y(2QIwlV!d9a{)o%T&*xMKAd^0{~ zB~x#8EQSUq{J*{{TuiFLW66hCilEv;nHq$&h0V;5IS9i;bH!T<#s+2wFl9=~SEmo= zoFWWAt;!%i{7Rj*$KR%OsI3LQ1PL-a)rD4P{GF53&L^Uz^hMQtP$3E*b~Be(G>DOb z?F|W`@PaDxe_L~$;t6^;I%s!$zA3ZD^m1EmK!fErb3Uan)>Pyfcj_XhEH9g#QuD-u zE#h&sU$!zEu|@<^8?nCqTx;9?$Hi9%ZQfzre)pQ7D0U(h--PCRa8Ok-336irDa<5I znjlN`iAKSvB>rP9P+HC-zE^N z7Gi2I9>*i*Azf4cG%;RiJt%k}FOOL>;*pK^z4BKU#>U1Rr5dE#oiB73gCs76Cbyj^ zgq(sYPcN_c-0B=gBF4I~d|cNO{5W3E zO-}fukQk^2)a4T$#U}p~A*>Xkvc)|avS=aXUQA1hT!<)e|clg1&?TGnOBg%dS zj-b-&D6z?|^3d_UbBOG&mqi^#%EYQxv{oB_Wc$Wji&9hLi19WvCb*%{mf}(4SFYWA zn`UKPT&%p%?B^xXX}3K(#~#;Z#93wSCk@Zg26_xJ6j8e)6|6NFQf2Uq7$qPf@TU1` zo5qy#oVZ+RERf3Wwr(Mbj~EQBl~C2QdW3D%sQ1f1&WNRDFX!KsWRz;<+woJVR7hbsbd@&EdyiPO_yl%2T4+i}X3Ji55?f^skq&=S zx-inr!Ko`4yrP={Pl8+iAq;By6U@g6@A#}?dFS9Op3^(C7Yy5tSynBY6}m%I!Oe)$ z(m-KSt!!obXXRvS$4}N@5gBP}YKET+PEBecyc($a2eC#ISN9(X|XJ$6SiF+Hzdy%L|3?8{B3W~EvVv{(PK ze0s@~>-`f2#c1dsH6kWK1rEhP{}ffuj*fr-_}_(j-yOts5-vkmbwz^198v=#53H8q z9jGmi!_a8azWb45*=0lj;cyB_2R&bf12rWqzNpqzrTYirOw11W-xYyg>#AINl4_x4 z3q#_Oe-a!eeHf`?$}k1*37BwC3RVBJLH8^ang%zi`+4_dWfqa&FW=tCnRQ3j?WeM} z56mtrhb;5uSO@)52#PmPzy7vp9rTKqS~{;CV#Ne z?CF%J?02s#6s{v4sfU3uYOTV|!^HG)_|B!hYfJcPn%YLP&SdKEs zDbmCAq0jP>kY50nYeVA2g`3kBSeO2FN6;6<@mLb`+Rh3yU*F&bmU@?DQ*$cW%9Dc0 zp&G~m*YYFD2s#`9E9eszkubmc&B$d=>GDMG!O)#s=x>Vj(VVu%eZYl=z|M1CiwjbC z29muZ=k@kFrNlk0O}(e}Hp{B9x2x-}MI+T3u49C@Aaa(*W_n|kMCRAgj$G#x6L2$XMYYi6uk822e5 z%ATCQXH-;U!oy<^&sT#q&k3wQu3XouNQe%jFNsjgf%3$6reXYWSid`tL-wV-goEnt zW!^13Mm@<_7OKJ)`Bjnqnx?aTca8HnGUg18B=CYOeu+V^`nu0jM7}>E7UB2+C)HD-uJsu!(7z* zx}$i{6nk5Y~uRM?;jubWLrE!qp^m-fJh}(ephJo0sdtfbCxB@DV zut2@Ku*=;B2M}GU!+Y{nB!e>QoI|2=@dyhWLMc%_t*Ady=Ax!eZZKHWIJs-lg`d_% zs*VVpP#blE75diF4mv(llnSf=wEkToDg-u*LW;&Df8F8!5PmYU$hAMX>lL;rlgn-| zUvJ^YfXIt2G|cf3y*$s3q?23Q*=hB`z=pM(L_65Zo>0IV;xDd>j+C#r;;yvL>n_B0 zb)!HQ2Nn&&_r@g!(NWVrfWENJm$oLKqW$H(`Y9T%)d2PA{k*hBlEFOa^#c<~L49s! zZjQqVi`gFQT+Moq^y5;?8dP=_o&Mlbrmq(Bbf#e&`X>7_Gpg%o-p2rDgmJWsx}Xnw z(X%N6qGzZs8yrqWeWLzE^_W(}lkrs7Q7}0rdz?GZILqYGx|;FR76WdwrUD*HhQ+~c zr(CTFNVfPHgUyh&vG5I==At1Uu<}{}EwSKRMpN#6NdQIRQwlcQ{3ptQ8GkWf<_D$-VMTE{rRW|JS1s}c!JxJbQ)j#e>8HIupdoy#;dgQb!hy0UNJ z$j&CRxxTb)%%G)xjJoRQMBO)R{o6eu=meo8O!>A#=>ZhAHuTBbnY*|x*;XX*Fn{$P zhoWS+8F#0NplyNaUdZ&S`{PoWhJG#x#Y*8AKDf9@Yav9$|bDfY+StUOJ;|zuUxl2z-nOL3YZVx%Pal~ zO)h!4T-^6o*hoSp*g{oR_0u)>5}&Y<&9lPSq(Oa~#zdAzgM0mYbtlF;1IsPcDD8q^ zx0NcAs&%IO=MCHkdX5%+J6cbn#JkQ!CW|w#p)kP+i1=qh{{>{a87>z+}3tXO3xh5I6rbQf*{75d*!fU+U97H5I(PnJ82nV z6POT2;*PXCmismt79*)YJc|0k@%%J(_!DSHEBcJhtSk}>j95V}UHYC)eLK^tj$Tce zi7BYuG2bPZP`~ zY7-lLx8y0*9HlBiLTi)*`my?bq!6p_*J{lrV7fPsi5d^IvfCHn%UaE z))0-(%6cY@xK`iYG{q1-U*+05RqCRpBV>4a3zipO1PSuXv<*+4vg;sYIQ&{4?g&_H z1YKDsqBdki@3?Izee_qA&$&WVH@jQW5&gL}pp?HjN22_gt-;ov+7rebZ1 zHPQ3&$8?()cepjK7*VOb$>6q`^(`fW(N&u>|G78_PLruLevGH{UDz)AsiO zFL~tViv}lz3ZttA4DJY_Q?LB(wINgDG60A zd}VqgRMBD}uBAn0Q+KRM!EXoS;NSoVVZwT#?=LUt%mWS@n*|U%R}0GZ8_~C>t4jM4 z+4E%;6^$fSDDZE3kT*nWTGnG2;u%jg#8r=f#!Bi(hj$S5-dkxoKV0R>tyBaEg{38v z<#{@z*s_;xr@Rp4~ynDJ_>6@aL}^+|39X zIiX;ZOWb4|t%6y7P){r+EnQ+ky$o*#1_nAKF(bM;k;*2G%7Hz+{88^RS-yuXIeXG~ zA|Uqsi0+1xMY?Iv@1V4N&zty4PcMvVaVho?Ky>d!?47P%u|^rAkkla-%GFUHpr}v*Bo?aVy^8rg)5 z`7TR1RJ9S;iK>yD+-I|0TjQk+3k$=hT4ZmVnd1Z{z*54u ztE6L;h37mNpL>=2ZGXt52rfRhwM{ul4XbKqzfMm~S0aakZkh`oGL4jS=)AV_6p4Kk z5WI@6?o)WYxqc+Ag}8T4a^663IJXxPH5lV|PAD^Wj`CeiB8YeeI*7CTJkmDeC!jCg z*^$~1< zb=vF6glG3)g{!8ht(lwIN&ShN zaH2rFyG&&+e8_eWG~Pa9lvvhc=)Z5g40fx$*4$X)Sr2wPFN~E)G!4f)UL=il(n&t! z9!z5lOo8NmFl*SXh${?l+lVO7$q%!uK7HFV?qbMchFRuBdt|{~Guu;p4w#IV-j_k# zbeGBAUyzxFSO8fH@T-Ecc*|5P? zX;fNtbhOv0=+@4TG+-LY$jPfn?c)2CVx_~V@S-|~8A5kD*iq9{lq{t31}s(2mmS&6wS()Ra!)JXOb$-yYLS^is!>+g>x0xPzezaJE~Y6c9`S2Xx<> zdU0WD1`kF>P!xAe_NF`pqd$=n=eZ*VOoX2;&ig;-zyY~v>}4WWT_fyU6BL>d6C?Po ziOMl)>>k!&W}%Ab#e%@CPyZO;^Z~WJ`|q&lfrUf)x|f_hpX;d zlmLB~lJ1Dw)k<;@`bvBOyLbdyub$h&spO~5i7SXxIrhaO>0~2sCBG!$zIt&ka>Q%< zEHsExEvVmeF`MU}{7gTjvlpBVNNN@qmTr%{@8SNWyySrP)zZ?6qjjoEO+UZgZZalY z_LwY08gRtwnwkc&JpmN3Qmcv-Myc=5PIc&5mbop+ZZ!pA5PVyYw(d1@(_$uOB^z?i-~qa(NGeCaDz^6nM-VnQJoDUqf12Ux70g9lUa-F5^Xf zyF3~J%$^L0)mFUZ21kwLe_Pk^iYBa{J%8TVDf2Ct>MovV${1cI^^Se*KXa6HaO0%n zwgnzLv)8Px=_mM4ZYGISb#8UP_K3kl@a?bVa!N&V7|Au#VBh)O-=~NEuUdZ}R%08` z1@k9EFEhWa6X#?br3JtK`gEFXFZgGAx_`OuDr^lFj-emWgB946+VQa8ZU})b*n8Lb zcu`h-GS%JS;4v#}fnHR^$%`et^(azOHxIggx7*#a=Kp+L8kIoWkVy5Ns)~&-3eJ#vgLYrp+8k}{I8Q?OOrG0EXACff7a@c!aOha zjm3hg3D@)DjSYf_cQr&UM!b}?Dn9k4RUESXjuCUOp&;31lubutkbB?(r>=&otHRDHGaTq?3vPJVJ0(lqCG3M z;_YvH`CQ~wR9*PxUC+S}g2@SMOsP2vooMCamP%&0T1wI+|AY{B;Q)2Cb0FI=*qoaM z$=e%nT7l_ZJN;#tgUe8n;d+VC4F@*@?NHzN?uQn;<3KQ4@u*)X3zHf}$AAqA|S_sqC)aM$ujwh`DYCZ3A4 zF7%@ZHu;FrzzWCiBKiUWag^jyqBS-$;x9(?8@k3TYMK`VEkUg=+vUNz2SArW-5l67 z|JR~5qGQdWN({qZR=G=VI_<^&qY!Cc%B0Nu@@fSi+;+mMB}g0*rw;)fUA?WzyonhYW~?!fZrq0E9&R$NhFIh}u%U%H=ro{;Y0+>bh zGzs(IXhR(uOgsRWtzxF+#kb2(FMiNcrxKZc%(S?%ESpXC!3%jQi>=46`9Qgv_d|{V+#;4I6(HMrq66VaYJIK5+WZj%lu;|qoP~Pm1 z?d9LHvdU_@Mj^Q^o2cb(vKT1E_byQ$WSt%37Lr2*BK+>@*OH0lUNbBtt&{Q&i67O%&A8 zkkL$MaqVO7tnaRx!WDrg~0TyNqGCukFVs@XVVUi{$p-Io%u>t75!Ties!OA z6qbjdrgp?Rq{80x$Cy$U(H+=-eZtvln%cAa!rVNY{@hMQ_WZxw|96*44!1OnfB$*L$?mzR`21+RaoOGRNoszK4WwhS|KCVfYsY-@ttPMg zT>;q-VCn_@f3Cy&oFhdeZLBY}sFNEQJfA@`CWw}IkmXh{+!p>h{rh>s)xHvkS-LX^ zYq`rU^zYMU#x@8D1Md3QQ_1TjW>U*sH&}s#{(JwiSI-AL_*W4;u_c7f;ny$0tiIv| zg<~W}j!JXg`+K*qb7!q*JJAIVNH+j9SL(0=;Yn(J{r8!< zU$zK(`svZ}Ic3*%G)h6I|OB?~R`SFuUKEuT7!=q-*^43sP^Q7Bg5rq$ed& zaP#oYC#O%The>AJa+3iv+P=(9AVYDsedll(d&!cUEClAgv}D8$@$fWmJB7vFf3dH^ z46AJUki87KNuu+5S;J$YGD2*%L>W5NVpvG4(9f_CGo#|l(HcL<3Oj_I zc~H^O(_@l)Vfj+w2U5CuGOyWNB-p3vq3L^uX&M+5+Do58OUJ3I6{@OrBXwtI)?g@x|WaZ=U4>qj3ki4755sB)Y%VTbzO;G>V?UM zwaj@V5VQUSM+{(DOFiSypkl2GwQ$o=QM;^C8X82f6d-DX_0P`Yf9qU3z{6ILdoLA5#1ZnS-P?9loxZ}?bOlb=r2j?f@mVSM1tDs5N_ zdmf0MJ2J0b-OWX|v!IONUP3nLUMe0>cw@F(HuF(N^l7o@dN|IKz?L9|MZ{}WRsXo#TyE-~&>zboG{ zm2nz>zUC;n@6=-MDBb)72qL_7&be%+`GML6G{<>wk10J=-}+L%t{dCc4e@<%x%F~A zs*@~Fw;saP(9n4H?3ozAQ~^jq0K37ofPfBQYA{&tH?}5*7#@rrA_1KnD*<8)7)&9S zSsW(InVm8}2R?&E zH-Z1JU$a>m5|euIqWDht!oot)rCLsllJ<)H&4qn^fk4=#t`0q9%ZAq$ZG;JOQa3F( zT#ym)9o}E-X#k>LdwULD+iM1S=dr)XqtK7a%16>aUmaelEicNhpfIlGbRA%@sE%NU zD|njG%YeRB@mB-Kva+&b1_lo<<-ryl?wt$Eb|iH(VvNx6@ewE=J+g!&uwf}8q{PI);9&dr*vJ26`&*KnG?Lkt7B{k^SH+tjd30Gn1AT}=PtI;idOGIF z$cRg+&a7iHZaaVn&aShQg z*|OWtvW&0j!}I6Q#plpc24;VE7i|z0zSrCj(-=~|9D{C=rp((xg2}RAKP!WptZO)t zOT}}6M;+mU=RNI&*G^C4xz5@2njx94Cg+S)-t z)1!o2400(foQcNr^(U=}^~%`rbDVb9+wVxIhDS$BlA`YC5)t9xVXQPfPEAFa=3uWY z!zqIz%XAds5M|d<`ATjQ#5tqG$`D!5+Z6X%7Utcf8F=P`@!-LO@z)-;XuR5#FnvWS zI&j*zYndYUzVrnT&nOKS7cDIsSWp%g0ModYmAT9xx`u~`|E4nJjDMwOxNOkO!^cyqQnEt_12h6**ReE@A?8(!o{@O%z=8O}ywXj#ozPZq_T9h3J zUSN7bw(97wwuPxV&qz`m;Ds3Qz~0wjCFYPjQSBEeZka|@1F4_mS(ZO2{mAGG2~>}l_Hqs_uZWRj8;q-(g= zb$*-=QDvG=$gM;DP=z*wR`kw=%a4Bk_z~xI%tK{0SxhoA<`P%WiLzKH>=fZ$fAntG zN-tyO9I@Sn`&FDYG2xsqzPkvr@o%DCo!mTbG|82GH$%$J$M>^f2iK}XkT<$@-t5!$ zhg=JyaQY}x)^CIZhHAj)9>ZsU_dZu@0}Fd}@kT04$){^s9a2J=+1Qw1A-a~OY;35u z5ZV*2fDJ?RHI*NPpLnU`!%85V7d8b}X92DMw-Wc`WX32d$o8M9;H%N#qXlpM@8NmM z(E4AX0S4SYP;7!=EG6AZbpJ++wGTu)uq97YZ7r=o^(*?RnwxeiJVsgPPGGIlpv=tN zAJp<-olbUUF8vo4LsZ>&XX|nj!<+S)Hiip+U;Z#b42G*E?yr)hc941RhU*=VY2KZq z6-~%P3l?oyTOgpK14-~fc_J?lPijui9e^H!kZxvSVZf4F#`c)N6PA^eBjMn{IrU+1 z-SM%2K>Rjd7m)Xr5$Hu|+dyCPb8;30KQBdL&yIoXFwFy|Ff>@q&Vr29BBag{9)i49 zNCrfx@%b++#>lThL4nrjk;t1U8vQ!w({~R+;-}x`;ykpFG{K?TyhL)tIe8U0a#59X zO;)^y2kURH_&*TSBSJ@*QSwTq6WyZ>0s?Q#E#Z|OVFh5dxKI#2{H)?-VOUFNLQF;^O~=SH8JER|GPa!$5e2|2FuKj3os zXRx}@TQx%sW93%guG2N($7>4aHXFyqcKlmg7nw?l?Ja(3b<}dcC)0FhJ?jd&KK%do zS)bS-5=mZ~s0YDYPSOs-oRN$71x(5q#qR@hhy4*Q079^VfJ}9Y2lfw$h%L8qojA37 z`h=4+k~Ff3R#dd1uNd&pCz!W>NuY^=tSFSpYj1BK$7f3gxYf4M<)tON0kYfa^eu$d z_)Y02#~;i}@bh!>JIKVgH&^S2FRr1+&5wb;#2ldWgSUPg^jmy~CbwPSeKp@+`Xyal z!?yEKOVuV%!pjT(nkyWnIgq$ys*1nX5PPRoEc{s+rdbSHpq0!k65!c793ITPx-o*s zsc3zPvobFvFmjvKR}eBn-0{1es3>?pqPbAn>+_0)ugSSBEBD_q22osS62&1ZitxOb zf;Eh8%^B|_#^f-ncqx&g)tg`*ImWb$CNNFBH9ajHr)W|p*n5+v2D29t#h%Y7@r5pb zTr((BqHu@!dZV={P4zkBBN7uczmoFb^rY3MgJm5?(mpi3PD@)uNTH-9sLhL+Zc^yk2UTQT;3tuYO=q!aEYWnBP9*oh?!C_c|F=TP{` z1*c6%Vl>|E?XsHZva0~Y<9bR!Dd=}{;^YMJ|HBOy14_Vz9S}pH=YzLK(MMPORvT zF@t?2=1+ck!nNyEb6GYO(8{m#GKs%Yu@&?SK2Zm{;b^A27q96meW)a@D%c1?m>e&& z;5iDBesU*KZQnyvipqOo`^+v&(w|r0$T% zM5@XiA{gPOj)5w5UP{Sqa@a4>QHXlsf=uTDS8kYNc$su7CrQ0Rmf$t@T5`oZ-FmjH zi^5tDY9ZzA4iJ~isEy5tmi8ChVC_Wla73WxWvOb@>fztBeZ&4u!}siKuhfPP+P5l%tB{vF6h& zwI3EToHR8xH5}lJCV+MQv+ZPfvdWipvf`X=>eX*K@I4d=v#vGy1K=`BK;mfMwC{0p z!AC=lc$r5QA@4h^UNyNEuy`&=u`5!~bHe=11!=oK_7SmAG;C(8FTFVMQ>FHyw&>PoH=Ex4CfTs7RtqI_dwEmiN${3x3qN0RS z2+^oUjHFFt24j15H5c%sHiJh1G2?Ulu9e^3)6?@gbhK%XYhJsGz|f3>!OKDR7z)B? zo%`AKmP_f5bC0^cyh;A}|HZ5NsX?LWsv)c!4BQ9;e&bT7>r&?+qyi-NfK3N->Q9qJ zu8}b@{$cQo&q^4W!_nj%f5qxT79) zcg8LNF|{r29W)rh3$%yZ7)j0Q zmPBBp7iC*m9~F}7VlI#jVEr&B}#qZX**!?mDTgp!8Pf4L<#cjMQJ@c6eWzCi~9Zh&x^pr6r7n%>xV_ph33) zP5Czc1%TEqEG$5E@JXxOHPtGg>WlKl4LX(8=>Xa=2uGx;Dn_l^^$>tjrBkMceOPTx z5dgec*b&-Y|1fREy9jm~5y&e>n3wHu*`V9`=tDmq95@dm(rzLT?C(%V;8RX1@I{LX z+quy4i9Wl_r*9IkgLn3~bJL^K)B$UiMwh;zMiFb1Rj(;iygx|aenq~1r#T|aWy|&f z#9RK{@-3Ro$`HvH`>fhh$Hbk{{Gjxk_Lt=Q#m^l+k�Go@_H#MUyavti1({I;+;1 z>tV8)&X02uIfeVULb1rB4(}(?D+nO|dX|eDgS92Qs`oY`dj%U!9TNw3V~%{+&UfkR z;KVpMIH1_Vzj$df{RKfWxSU@q3$cFt&^{7|u^tu@*0#SW1M}8^2~s$v87sF`#S&9^ z>{*{A&2KQR*C8K`?of#EV!CX)K59enW7$# z`q&~-lz>89roy-dX_vQ|CN~to9qMKfpSKs1B;8U`>bG4w7@wQ z_jlp1AZKp5fO;47oQ)kD${IY^67k3y%m?WCpA{&u>uB*q@Jz!a1@YmwOdutDXYuc> zOdW-AJ@u3*Jhx$QZhZB+NvpwC8IdtB2EuVT6c=%~@YgT$KV#F}X4jQO9-{33!PPoi zSwa9 zpXSOF8bz6>T7~|a(%&LMGY(p?$D7|R_cvdQN`ac>UO4t(N}ER>AYBvWdm%}LqV&aY z-+H#UC4RYZaiZU8034mTWswiQr+3rdH^n_8X7R#T)`afB#3f%|c~J}X5~8Z4d5JDN zv+UbtgE6X&4hQu6o0ct>s4!^AJ&k_z@*(`^c846-6u>;4UBk~3`WAA&JK1qKO8;vU zdoL;tZZP!vXOKy0yv9|;#0&bg0}5qNv03a_*`mgs(J6WU3B(0f54eAiIh=l<0iPY!QQg)P5v>E~rHi)qx9s8|DIUN?5aJ zL7;SUETbAm=JA5+$|%1Lz`J0*imp$_fF8hfoa%FD+rHmXOjM@1h>PV=0wE8NWEUgc`;$8g;B6Q48nFNgy;o<)nobK*_ypuK6k9d;g^)p? zJ4a}1B}nX2%wpmqpZh|mV788a{SghheQip|s8<64Xrh*UMcirJ>flb_`5eJ_P|~B6 zQbr#Pa>sWw)0YPz|9g0S_2)aXjo+{`hbDHzeSLbfvqh5*Ek2yJ)8=`tJXhk00h{dm z+4T=~zDGwx(KMo>qFFQFa_-$=cB-m>G(;H~Oy8`I1Zbtod<95)Pq#9_qLV>i5CgqV z@0e22iHU8=*{jv1{v|>~0J7ZAI{HHSu1~0>X`5})vCkj|ghvXzh!S~(=6aUgwQQ8} zq;C@+dl?-TWJrf~fb%b_Q19`XmK)UnmicejEJ^^!P9G_QjaDN|Nl)e7#ggg+XlZHM2Ss$XEYh^lcg_ zu$}an7S+CRQhQH-6?sUgj+=V_e-m0+dyi%O6C0jUh5w)t9&EHeKVFaLI%1IgGjddl zMkUdwTZ9EGMW*176JvO&A8$M~e3F}%(fW1G40(Ca1f(~tXQ|v`<=zERIry#> z$*17^_l6fB8YkpIb^j7jf4jl}|D<>4A~$a+XTc`zSVq23lr@GQ@OrPQIVb*XJ7V>Ui3g`` z_eg8Y68Vxa86wA!gtp-zVEdlE-Fm#1;r-=xeagohfMgB5(NcU8qy?!Q_W$@WJ-8I+ z|8DR#Bbdq4h|1rqw7{tp62Colj2 delta 14884 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 Q6$U=9q!cB~UK)P*KWd~xGXMYp diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 3c2ea5a09906c3a1c5cb6081f855a3e510231183..195d6137fcac46b4730a61d74ea77ab7bdebb409 100644 GIT binary patch delta 14427 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 diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 378de746198bc322e06c1ebbc2647696fea3baf3..9d6207aa2c3420f7b788d5894359bc7573067bb2 100644 GIT binary patch delta 8042 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 delta 7234 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 Id9%>}1LutL#{d8T diff --git a/sound/magic/Charge.ogg b/sound/magic/Charge.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bf27fb9ae99d742636dbc83fae5fa34bdf89afda GIT binary patch literal 25948 zcmagG1y~%<(l^^;CCe^3ljh5r75$b;+9iQ?O)>hlL@7aj>${HL-oJf)OtI zR})8=zlBOgVH~C&P|@`hQ(LaQ`rR1*Ly7`D*<3qm2={xrwgIU-sk@ zGezjFHu=r|aqhrnu<-++E0(r~K4kCjx5f)Gq;bmcluro5VGqOOGSeUt4Sh$%v z8JXX4Gc&^={4*wyppXg-fDCO9ktXkS9}ZUr0BivGLJh)$)IM+%f*=0a(^c%x^T zTbXNSIS8Ub#!y25pbF;~r|`j7c+PbFDSU~bnIEZ5H$`5u4J!C&x+f}2H@TNI%T9Kb zEcedOtWfS=cY^_b zs4o9llm4-$7Ez%7W5a;-SHs-^)TaCj44pP?Vzz95YJ+E8E|vtd`Y<(;yXnS!d~StI}F%i}LzpcA1;F^n~JM`jJz`KuOpC|jZo zWFho_BtaYaXRMPa4kw-saA78Hr03%&jkN|SCDGR9$0z-@p!p#28q}7c-h|HdgyBTn zK?(H4oPSErxJgLG`J>P};;m%NE@B;MJCo5wr2Lsr(7tNJiJL#`@S&xE=p@>zI;DU3 z{R5y(vHd#ohsARsEoB}azj-BV zA)jCP{%>IYkLLhTr}6&llhL}tkUz;@vVti882I0wV~zhOg0v@sTB?FtW|U#zlU!GwdsOtpbVjjLMqzZ~Wtw^^F9|1ZyZb`eUh z&^7T$`2ToLI$h{0XDF3KB(+-P8|PS~fW-WS)SdiH)c@r<#({b9fqDLcTmGSR0kI|l zi3N3;=Dj6*_5auOKb|9ILk&$(&k?bq{x8pIfshJ8y{Uph=Ioz2@{T|iYA5pIzYPEY zE#c@=f7cOt1;z;l_6Y?>WhLJKv&TTG6KpbLY*59<001!nP(h9CjU8wcE@;X72^q3U zjgY~Gn9)Jxorlee&V@l~7cM}{TN}yMj()bRKt~`f?G-}vE|eUjEmu=wgA*CL?7;)_ z0N@VkhIA0w3`+E*3lBn2Qlh)LXmg@QB|wa^M64j1TwJ}iRmcLRDMX^cY(@5co4B;D0;mJ(Junn-W z%PT4O;VDljDbEqgC|A?S;K|6GD=FiNC=)1;#mXpGSq!lm%qS@@5Gqep8_W^@P>r=; zVwF*Y-cCZP_EWL0pC>J};{U};2LCTB4&|w8c6mExd1V7NC1o`S1GOt<)k#+=C{
rRxgOGv}!Zdni?B(mT`(Zn?K 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 IIJmAV0F$?Tv;Y7A literal 0 HcmV?d00001 From 20a741646c446ec6222a9e4d5f614647f335eae4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 7 Jul 2016 22:58:51 -0400 Subject: [PATCH 3/5] oh ffs --- paradise.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/paradise.dme b/paradise.dme index be01d4ca8c8..9817e7c4db0 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1532,6 +1532,7 @@ #include "code\modules\mob\living\silicon\death.dm" #include "code\modules\mob\living\silicon\emote.dm" #include "code\modules\mob\living\silicon\laws.dm" +#include "code\modules\mob\living\silicon\login.dm" #include "code\modules\mob\living\silicon\say.dm" #include "code\modules\mob\living\silicon\silicon.dm" #include "code\modules\mob\living\silicon\subsystems.dm" From 9c3843092dc457d8145e6b6deb912b4b61bac264 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 8 Jul 2016 00:34:56 -0400 Subject: [PATCH 4/5] fixes --- code/modules/clothing/spacesuits/rig.dm | 12 ++++++------ code/modules/clothing/under/color.dm | 8 ++++++++ .../modules/mob/living/carbon/human/human_defense.dm | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 38d1416cd71..a656feeb08f 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -592,12 +592,12 @@ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank) slowdown = 0 sprite_sheets = list( - "Unathi" = 'icons/mob/species/unathi/helmet.dmi', - "Tajaran" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi', - "Vox" = 'icons/mob/species/vox/helmet.dmi', - "Vulpkanin" = 'icons/mob/species/vulpkanin/helmet.dmi', - "Drask" = 'icons/mob/species/drask/helmet.dmi' + "Unathi" = 'icons/mob/species/unathi/suit.dmi', + "Tajaran" = 'icons/mob/species/tajaran/suit.dmi', + "Skrell" = 'icons/mob/species/skrell/suit.dmi', + "Vox" = 'icons/mob/species/vox/suit.dmi', + "Vulpkanin" = 'icons/mob/species/vulpkanin/suit.dmi', + "Drask" = 'icons/mob/species/drask/suit.dmi' ) /obj/item/clothing/head/helmet/space/rig/shielded/syndi diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 2b8a1643aba..886d48932aa 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -55,6 +55,14 @@ flags = NODROP flags_size = ONESIZEFITSALL +/obj/item/clothing/under/color/grey/glorf + name = "ancient jumpsuit" + desc = "A terribly ragged and frayed grey jumpsuit. It looks like it hasn't been washed in over a decade." + +/obj/item/clothing/under/color/grey/glorf/hit_reaction(mob/living/carbon/human/owner) + owner.forcesay(hit_appends) + return 0 + /obj/item/clothing/under/color/orange name = "orange jumpsuit" desc = "Don't wear this near paranoid security officers" diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 956cc829e66..55fd52ada9e 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -345,7 +345,7 @@ emp_act //thrown weapon embedded object code. if(dtype == BRUTE && istype(I)) - if (!I.is_robot_module()) + if(!I.is_robot_module()) var/sharp = is_sharp(I) var/damage = throw_damage if(armor) From 6a45502dd9e41dc3519fac5c563a50d743c73039 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 9 Jul 2016 18:18:52 -0400 Subject: [PATCH 5/5] proper RD armor --- code/game/gamemodes/steal_items.dm | 2 +- .../structures/crates_lockers/closets/secure/scientist.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm index d81b50c1922..9c6989cb1b9 100644 --- a/code/game/gamemodes/steal_items.dm +++ b/code/game/gamemodes/steal_items.dm @@ -102,7 +102,7 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C) /datum/theft_objective/reactive name = "the reactive teleport armor" - typepath = /obj/item/clothing/suit/armor/reactive + typepath = /obj/item/clothing/suit/armor/reactive/teleport protected_jobs = list("Research Director") /datum/theft_objective/steal/documents diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 488a422af86..cfecee359d6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -46,7 +46,7 @@ new /obj/item/device/radio/headset/heads/rd(src) new /obj/item/weapon/tank/air(src) new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/armor/reactive(src) + new /obj/item/clothing/suit/armor/reactive/teleport(src) new /obj/item/device/flash(src) new /obj/item/device/laser_pointer(src) new /obj/item/weapon/door_remote/research_director(src)