mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 16:38:22 +01:00
Replaced all instances of armour/armoury with armor/armory (#9593)
This commit is contained in:
@@ -187,7 +187,7 @@ proc/admin_notice(var/message, var/rights)
|
||||
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
|
||||
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
|
||||
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A> |
|
||||
\[ Construct: <A href='?src=\ref[src];simplemake=constructarmoured;mob=\ref[M]'>Armoured</A> ,
|
||||
\[ Construct: <A href='?src=\ref[src];simplemake=constructarmored;mob=\ref[M]'>Armored</A> ,
|
||||
<A href='?src=\ref[src];simplemake=constructbuilder;mob=\ref[M]'>Builder</A> ,
|
||||
<A href='?src=\ref[src];simplemake=constructwraith;mob=\ref[M]'>Wraith</A> \]
|
||||
<A href='?src=\ref[src];simplemake=shade;mob=\ref[M]'>Shade</A>
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
if("coffee") M.change_mob_type( /mob/living/simple_animal/crab/Coffee , null, null, delmob )
|
||||
if("parrot") M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob )
|
||||
if("polyparrot") M.change_mob_type( /mob/living/simple_animal/parrot/Poly , null, null, delmob )
|
||||
if("constructarmoured") M.change_mob_type( /mob/living/simple_animal/construct/armoured , null, null, delmob )
|
||||
if("constructarmored") M.change_mob_type( /mob/living/simple_animal/construct/armored , null, null, delmob )
|
||||
if("constructbuilder") M.change_mob_type( /mob/living/simple_animal/construct/builder , null, null, delmob )
|
||||
if("constructwraith") M.change_mob_type( /mob/living/simple_animal/construct/wraith , null, null, delmob )
|
||||
if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob )
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
armor = list(melee = 62, bullet = 50, laser = 50, energy = 35, bomb = 10, bio = 2, rad = 0)
|
||||
|
||||
/obj/item/clothing/head/helmet/hos/dermal
|
||||
name = "dermal armour patch"
|
||||
name = "dermal armor patch"
|
||||
desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
|
||||
icon_state = "dermal"
|
||||
allow_hair_covering = FALSE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Vox space gear (vaccuum suit, low pressure armour)
|
||||
// Vox space gear (vaccuum suit, low pressure armor)
|
||||
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
||||
/obj/item/clothing/suit/space/vox
|
||||
w_class = 3
|
||||
@@ -35,7 +35,7 @@
|
||||
name = "alien pressure suit"
|
||||
icon_state = "vox-pressure"
|
||||
item_state = "vox-pressure"
|
||||
desc = "A huge, armoured, pressurized suit, designed for distinctly nonhuman proportions."
|
||||
desc = "A huge, armored, pressurized suit, designed for distinctly nonhuman proportions."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/carapace
|
||||
name = "alien visor"
|
||||
@@ -44,10 +44,10 @@
|
||||
desc = "A glowing visor, perhaps stolen from a depressed Cylon."
|
||||
|
||||
/obj/item/clothing/suit/space/vox/carapace
|
||||
name = "alien carapace armour"
|
||||
name = "alien carapace armor"
|
||||
icon_state = "vox-carapace"
|
||||
item_state = "vox-carapace"
|
||||
desc = "An armoured, segmented carapace with glowing purple lights. It looks pretty run-down."
|
||||
desc = "An armored, segmented carapace with glowing purple lights. It looks pretty run-down."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/stealth
|
||||
name = "alien stealth helmet"
|
||||
@@ -68,7 +68,7 @@
|
||||
desc = "An alien helmet with enormous goggled lenses."
|
||||
|
||||
/obj/item/clothing/suit/space/vox/medic
|
||||
name = "alien armour"
|
||||
name = "alien armor"
|
||||
icon_state = "vox-medic"
|
||||
item_state = "vox-medic"
|
||||
desc = "An almost organic looking nonhuman pressure suit."
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox
|
||||
|
||||
desc = "A pair of heavy, jagged armoured foot pieces, seemingly suitable for a velociraptor."
|
||||
desc = "A pair of heavy, jagged armored foot pieces, seemingly suitable for a velociraptor."
|
||||
name = "vox magclaws"
|
||||
item_state = "boots-vox"
|
||||
icon_state = "boots-vox"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//A 'wound' system for space suits.
|
||||
//Breaches greatly increase the amount of lost gas and decrease the armour rating of the suit.
|
||||
//Breaches greatly increase the amount of lost gas and decrease the armor rating of the suit.
|
||||
//They can be healed with plastic or metal sheeting.
|
||||
|
||||
/datum/breach
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#define SEAL_DELAY 30
|
||||
|
||||
/*
|
||||
* Defines the behavior of hardsuits/rigs/power armour.
|
||||
* Defines the behavior of hardsuits/rigs/power armor.
|
||||
*/
|
||||
|
||||
/obj/item/rig
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
/obj/item/rig_assembly/combat/illegal/hacker
|
||||
name = "cybersuit control module assembly"
|
||||
desc = "An assembly for an advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
desc = "An assembly for an advanced powered armor suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
icon_base = "hacker"
|
||||
icon_state = "hacker1"
|
||||
rig_type = /obj/item/rig/light/hacker
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
/obj/item/rig/ert/engineer
|
||||
name = "ERT-E suit control module"
|
||||
desc = "A suit worn by the engineering division of an Emergency Response Team. Has orange highlights. Less armoured than the security variant, but offers full radiation protection."
|
||||
desc = "A suit worn by the engineering division of an Emergency Response Team. Has orange highlights. Less armored than the security variant, but offers full radiation protection."
|
||||
suit_type = "ERT engineer"
|
||||
icon_state = "ert_engineer_rig"
|
||||
emp_protection = 30
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/obj/item/rig/ert/medical
|
||||
name = "ERT-M suit control module"
|
||||
desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Less armoured than the security variant, but offers full radiation protection."
|
||||
desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Less armored than the security variant, but offers full radiation protection."
|
||||
suit_type = "ERT medic"
|
||||
icon_state = "ert_medical_rig"
|
||||
emp_protection = 30
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
/obj/item/rig/ert/security
|
||||
name = "ERT-S suit control module"
|
||||
desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Trades full radiation protection for a slightly better armour."
|
||||
desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Trades full radiation protection for a slightly better armor."
|
||||
suit_type = "ERT security"
|
||||
icon_state = "ert_security_rig"
|
||||
emp_protection = 30
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
/obj/item/rig/ert/janitor
|
||||
name = "ERT-J suit control module"
|
||||
desc = "A suit worn by the janitoral division of an Emergency Response Team. Has purple highlights. Less armoured than security the variant, but offers full radiation protection."
|
||||
desc = "A suit worn by the janitoral division of an Emergency Response Team. Has purple highlights. Less armored than security the variant, but offers full radiation protection."
|
||||
suit_type = "ERT janitor"
|
||||
icon_state = "ert_janitor_rig"
|
||||
initial_modules = list(
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
/obj/item/rig/ert/assetprotection
|
||||
name = "heavy asset protection suit control module"
|
||||
desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armoured and space ready."
|
||||
desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armored and space ready."
|
||||
suit_type = "heavy asset protection"
|
||||
icon_state = "asset_protection_rig"
|
||||
armor = list(melee = 80, bullet = 75, laser = 60, energy = 40, bomb = 80, bio = 100, rad =100)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Light rigs are not space-capable, but don't suffer excessive slowdown or sight issues when depowered.
|
||||
/obj/item/rig/light
|
||||
name = "light suit control module"
|
||||
desc = "A lighter, less armoured hardsuit."
|
||||
desc = "A lighter, less armored hardsuit."
|
||||
icon_state = "ninja_rig"
|
||||
suit_type = "light suit"
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/cell,/obj/item/material/twohanded/fireaxe)
|
||||
@@ -33,7 +33,7 @@
|
||||
/obj/item/rig/light/hacker
|
||||
name = "cybersuit control module"
|
||||
suit_type = "cyber"
|
||||
desc = "An advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
desc = "An advanced powered armor suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
icon_state = "hacker_rig"
|
||||
|
||||
req_access = list(access_syndicate)
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
|
||||
/obj/item/clothing/suit/space/void/kataphract
|
||||
name = "kataphract voidsuit"
|
||||
desc = "A large suit of spaceproof armour, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony."
|
||||
desc = "A large suit of spaceproof armor, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony."
|
||||
icon = 'icons/obj/clothing/species/unathi/suits.dmi'
|
||||
icon_override = 'icons/mob/species/unathi/suit.dmi'
|
||||
icon_state = "rig-kataphract"
|
||||
@@ -312,7 +312,7 @@
|
||||
|
||||
/obj/item/clothing/suit/space/void/kataphract/spec
|
||||
name = "kataphract specialist voidsuit"
|
||||
desc = "A large suit of spaceproof armour, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony. This one has the markings of a Specialist."
|
||||
desc = "A large suit of spaceproof armor, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony. This one has the markings of a Specialist."
|
||||
icon_state = "rig-kataphract-spec"
|
||||
item_state = "rig-kataphract-spec"
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
|
||||
/obj/item/clothing/suit/space/void/kataphract/lead
|
||||
name = "kataphract knight voidsuit"
|
||||
desc = "A large suit of spaceproof armour, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony. This one has the markings of a Knight."
|
||||
desc = "A large suit of spaceproof armor, segmented and worked together expertly. Tabs on the shoulders indicate it belongs to the Kataphracts of the Unathi Izweski Hegemony. This one has the markings of a Knight."
|
||||
icon_state = "rig-kataphract-lead"
|
||||
item_state = "rig-kataphract-lead"
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/warden
|
||||
name = "warden's jacket"
|
||||
desc = "An armoured jacket with silver rank pips and livery."
|
||||
desc = "An armored jacket with silver rank pips and livery."
|
||||
icon_state = "warden_jacket"
|
||||
item_state = "warden_jacket"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
/obj/item/clothing/suit/armor/hos
|
||||
name = "head of security's jacket"
|
||||
desc = "An armoured jacket with golden rank pips and livery."
|
||||
desc = "An armored jacket with golden rank pips and livery."
|
||||
icon_state = "hos"
|
||||
item_state = "hos"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
@@ -275,7 +275,7 @@
|
||||
holster = new()
|
||||
holster.icon_state = null
|
||||
holster.on_attached(src) //its inside a suit, we set this so it can be drawn from
|
||||
QDEL_NULL(pockets) //Tactical armour has internal holster instead of pockets, so we null this out
|
||||
QDEL_NULL(pockets) //Tactical armor has internal holster instead of pockets, so we null this out
|
||||
cut_overlays() // Remove the holster's overlay.
|
||||
|
||||
/obj/item/clothing/suit/armor/tactical/attackby(obj/item/W as obj, mob/user as mob)
|
||||
@@ -536,7 +536,7 @@
|
||||
item_state = "hegemony_armor"
|
||||
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
||||
|
||||
// Vaurca version of Unathi armour
|
||||
// Vaurca version of Unathi armor
|
||||
/obj/item/clothing/suit/armor/unathi/klax
|
||||
name = "klaxan hopeful body armor"
|
||||
desc = "An armored chestplate designated to be worn by a K'lax hopeful. The retrofit is only a bit shoddy."
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Lasertag
|
||||
*/
|
||||
/obj/item/clothing/suit/bluetag
|
||||
name = "blue laser tag armour"
|
||||
name = "blue laser tag armor"
|
||||
desc = "Blue Pride, Station Wide."
|
||||
icon_state = "bluetag"
|
||||
item_state = "bluetag"
|
||||
@@ -19,7 +19,7 @@
|
||||
siemens_coefficient = 1.0
|
||||
|
||||
/obj/item/clothing/suit/redtag
|
||||
name = "red laser tag armour"
|
||||
name = "red laser tag armor"
|
||||
desc = "Reputed to go faster."
|
||||
icon_state = "redtag"
|
||||
item_state = "redtag"
|
||||
|
||||
@@ -84,14 +84,14 @@
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/magusblue
|
||||
name = "magus robe"
|
||||
desc = "A set of armoured robes that seem to radiate a dark power"
|
||||
desc = "A set of armored robes that seem to radiate a dark power"
|
||||
icon_state = "magusblue"
|
||||
item_state = "magusblue"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/magusred
|
||||
name = "magus robe"
|
||||
desc = "A set of armoured robes that seem to radiate a dark power"
|
||||
desc = "A set of armored robes that seem to radiate a dark power"
|
||||
icon_state = "magusred"
|
||||
item_state = "magusred"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = null
|
||||
damage = 0 //Base damage handled elsewhere.
|
||||
damage_type = BRUTE
|
||||
check_armour = "bomb"
|
||||
check_armor = "bomb"
|
||||
range = 5
|
||||
var/pressure_decrease = 0.25
|
||||
var/base_damage = 0
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
if(!body)
|
||||
switch(event_type)
|
||||
if(RIOTS)
|
||||
body = "[pick("Riots have","Unrest has")] broken out on planet [affected_dest.name]. Authorities call for calm, as [pick("various parties","rebellious elements","peacekeeping forces","\'REDACTED\'")] begin stockpiling weaponry and armour. Meanwhile, food and mineral prices are dropping as local industries attempt empty their stocks in expectation of looting."
|
||||
body = "[pick("Riots have","Unrest has")] broken out on planet [affected_dest.name]. Authorities call for calm, as [pick("various parties","rebellious elements","peacekeeping forces","\'REDACTED\'")] begin stockpiling weaponry and armor. Meanwhile, food and mineral prices are dropping as local industries attempt empty their stocks in expectation of looting."
|
||||
if(WILD_ANIMAL_ATTACK)
|
||||
body = "Local [pick("wildlife","animal life","fauna")] on planet [affected_dest.name] has been increasing in agression and raiding outlying settlements for food. Big game hunters have been called in to help alleviate the problem, but numerous injuries have already occurred."
|
||||
if(INDUSTRIAL_ACCIDENT)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
name = "sealed exosuit chassis"
|
||||
hatch_descriptor = "canopy"
|
||||
pilot_coverage = 100
|
||||
exosuit_desc_string = "an armoured chassis"
|
||||
exosuit_desc_string = "an armored chassis"
|
||||
icon_state = "combat_body"
|
||||
power_use = 2500
|
||||
transparent_cabin = TRUE
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/obj/item/mech_component/propulsion/heavy
|
||||
name = "heavy legs"
|
||||
exosuit_desc_string = "heavy hydraulic legs"
|
||||
desc = "Oversized actuators struggle to move these armoured legs."
|
||||
desc = "Oversized actuators struggle to move these armored legs."
|
||||
icon_state = "heavy_legs"
|
||||
move_delay = 5
|
||||
max_damage = 200
|
||||
@@ -37,7 +37,7 @@
|
||||
/obj/item/mech_component/sensors/heavy
|
||||
name = "heavy sensors"
|
||||
exosuit_desc_string = "a reinforced monoeye"
|
||||
desc = "A solitary sensor moves inside a recessed slit in the armour plates."
|
||||
desc = "A solitary sensor moves inside a recessed slit in the armor plates."
|
||||
icon_state = "heavy_head"
|
||||
max_damage = 240
|
||||
power_use = 0
|
||||
@@ -52,7 +52,7 @@
|
||||
hatch_descriptor = "hatch"
|
||||
desc = "The HI-Koloss chassis is a veritable juggernaut, capable of protecting a pilot even in the most hostile of environments. It handles like a battlecruiser, however."
|
||||
pilot_coverage = 100
|
||||
exosuit_desc_string = "a heavily armoured chassis"
|
||||
exosuit_desc_string = "a heavily armored chassis"
|
||||
icon_state = "heavy_body"
|
||||
max_damage = 300
|
||||
mech_health = 1000
|
||||
@@ -68,7 +68,7 @@
|
||||
hatch_descriptor = "hatch"
|
||||
desc = "The HI-Koloss chassis is a veritable juggernaut, capable of protecting a pilot even in the most hostile of environments. It handles like a battlecruiser, however."
|
||||
pilot_coverage = 100
|
||||
exosuit_desc_string = "a heavily armoured chassis"
|
||||
exosuit_desc_string = "a heavily armored chassis"
|
||||
icon_state = "heavy_body"
|
||||
max_damage = 450
|
||||
mech_health = 1250
|
||||
|
||||
@@ -128,11 +128,11 @@
|
||||
var/obj/item/clothing/gloves/force/X = A.gloves
|
||||
real_damage *= X.amplification
|
||||
|
||||
var/armour = D.run_armor_check(hit_zone, "melee")
|
||||
var/armor = D.run_armor_check(hit_zone, "melee")
|
||||
|
||||
attack.apply_effects(A, D, armour, rand_damage, hit_zone)
|
||||
attack.apply_effects(A, D, armor, rand_damage, hit_zone)
|
||||
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, armour, damage_flags = damage_flags)
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, armor, damage_flags = damage_flags)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
//Apply weapon damage
|
||||
var/damage_flags = I.damage_flags()
|
||||
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
if(prob(blocked)) //armor provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
damage_flags &= ~DAM_SHARP
|
||||
damage_flags &= ~DAM_EDGE
|
||||
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
|
||||
|
||||
//This is called when a gestalt is hit by an explosion. Nymphs will take damage too
|
||||
//Damage to nymphs depends on the severity of the blast, and on explosive-resistant armour worn by the gestalt
|
||||
//A severity 1 explosion without armour will usually kill all nymphs in the gestalt
|
||||
//Damage to nymphs depends on the severity of the blast, and on explosive-resistant armor worn by the gestalt
|
||||
//A severity 1 explosion without armor will usually kill all nymphs in the gestalt
|
||||
//Damage is randomised for each nymph, often some will survive and others wont
|
||||
//Nymphs have 100 health, so without armour there is a small possibility for each nymph to survive a severity 1 blast
|
||||
//Nymphs have 100 health, so without armor there is a small possibility for each nymph to survive a severity 1 blast
|
||||
/mob/living/carbon/human/proc/diona_contained_explosion_damage(var/severity)
|
||||
var/damage = 0
|
||||
var/damage_factor = 0.1 //Safety value
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[head] <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>\a [head]</a> on [T.his] head.\n"
|
||||
|
||||
//suit/armour
|
||||
//suit/armor
|
||||
if(wear_suit)
|
||||
var/tie_msg
|
||||
var/tie_msg_warn
|
||||
@@ -97,7 +97,7 @@
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_suit] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>\a [wear_suit]</a>[tie_msg].\n"
|
||||
|
||||
//suit/armour storage
|
||||
//suit/armor storage
|
||||
if(s_store && !skipsuitstorage)
|
||||
if(s_store.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [T.his] [wear_suit.name]!</span>\n"
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
if (prob(50))
|
||||
Paralyse(10)
|
||||
|
||||
// factor in armour
|
||||
// factor in armor
|
||||
var/protection = BLOCKED_MULT(getarmor(null, "bomb"))
|
||||
b_loss *= protection
|
||||
f_loss *= protection
|
||||
|
||||
@@ -329,12 +329,12 @@
|
||||
var/obj/item/clothing/gloves/force/X = H.gloves
|
||||
real_damage *= X.amplification
|
||||
|
||||
var/armour = run_armor_check(hit_zone, "melee")
|
||||
var/armor = run_armor_check(hit_zone, "melee")
|
||||
// Apply additional unarmed effects.
|
||||
attack.apply_effects(H, src, armour, rand_damage, hit_zone)
|
||||
attack.apply_effects(H, src, armor, rand_damage, hit_zone)
|
||||
|
||||
// Finally, apply damage to target
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, armour, damage_flags = damage_flags)
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, armor, damage_flags = damage_flags)
|
||||
|
||||
|
||||
if(M.resting && src.help_up_offer)
|
||||
|
||||
@@ -286,7 +286,7 @@
|
||||
|
||||
|
||||
/*
|
||||
In most cases it makes more sense to use apply_damage() instead! And make sure to check armour if applicable.
|
||||
In most cases it makes more sense to use apply_damage() instead! And make sure to check armor if applicable.
|
||||
*/
|
||||
//Damages ONE external organ, organ gets randomly selected from damagable ones.
|
||||
//It automatically updates damage overlays if necesary
|
||||
|
||||
@@ -127,7 +127,7 @@ emp_act
|
||||
results.Add(C)
|
||||
return results
|
||||
|
||||
//this proc returns the armour value for a particular external organ.
|
||||
//this proc returns the armor value for a particular external organ.
|
||||
/mob/living/carbon/human/proc/getarmor_organ(var/obj/item/organ/external/def_zone, var/type)
|
||||
if(!type || !def_zone) return 0
|
||||
var/protection = 0
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
attack_name = "power fist"
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/terminator/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/terminator/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25) && target.mob_size <= 30)
|
||||
playsound(user, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
@@ -138,7 +138,7 @@
|
||||
sleep(1)
|
||||
step_away(target,user,15)
|
||||
sleep(1)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armour)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armor)
|
||||
|
||||
/datum/unarmed_attack/claws/cleave
|
||||
attack_verb = list("cleaved", "plowed", "swiped")
|
||||
@@ -149,7 +149,7 @@
|
||||
attack_name = "massive claws"
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/claws/cleave/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/claws/cleave/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
var/hit_mobs = 0
|
||||
for(var/mob/living/L in orange(1,user))
|
||||
@@ -157,7 +157,7 @@
|
||||
continue
|
||||
if(L == target)
|
||||
continue
|
||||
L.apply_damage(rand(5,20), BRUTE, zone, armour)
|
||||
L.apply_damage(rand(5,20), BRUTE, zone, armor)
|
||||
to_chat(L, "<span class='danger'>\The [user] [pick(attack_verb)] you with its [attack_noun]!</span>")
|
||||
hit_mobs++
|
||||
if(hit_mobs)
|
||||
@@ -176,7 +176,7 @@
|
||||
/datum/unarmed_attack/bite/infectious
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/bite/infectious/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/bite/infectious/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(target && target.stat == DEAD)
|
||||
return
|
||||
@@ -184,8 +184,7 @@
|
||||
to_chat(user, "<span class='danger'>You feel that \the [target] has been already infected!</span>")
|
||||
|
||||
var/infection_chance = 80
|
||||
var/armor = target.run_armor_check(zone,"melee")
|
||||
infection_chance -= armor
|
||||
infection_chance -= target.run_armor_check(zone,"melee")
|
||||
if(prob(infection_chance))
|
||||
if(target.reagents)
|
||||
target.reagents.add_reagent(/datum/reagent/toxin/trioxin, 10)
|
||||
@@ -206,7 +205,7 @@
|
||||
attack_sound = 'sound/effects/sparks4.ogg'
|
||||
attack_name = "electrifying touch"
|
||||
|
||||
/datum/unarmed_attack/shocking/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/shocking/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25))
|
||||
target.electrocute_act(20, user, def_zone = zone)
|
||||
@@ -219,7 +218,7 @@
|
||||
attack_name = "flaming touch"
|
||||
damage_type = BURN
|
||||
|
||||
/datum/unarmed_attack/flame/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/flame/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25))
|
||||
target.apply_effect(1, INCINERATE, 0)
|
||||
@@ -43,7 +43,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
/datum/unarmed_attack/proc/get_unarmed_damage()
|
||||
return damage
|
||||
|
||||
/datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
|
||||
if(target.stat == DEAD)
|
||||
return
|
||||
@@ -54,13 +54,13 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(!target.can_feel_pain())
|
||||
pain_message = FALSE
|
||||
|
||||
if(attack_damage >= 5 && armour < 100 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance
|
||||
if(attack_damage >= 5 && armor < 100 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance
|
||||
switch(zone) // strong punches can have effects depending on where they hit
|
||||
if(BP_HEAD, BP_MOUTH, BP_EYES)
|
||||
// Induce blurriness
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='danger'>[target] looks momentarily disoriented.</span>", "<span class='danger'>You see stars.</span>")
|
||||
target.apply_effect(attack_damage*2, EYE_BLUR, armour)
|
||||
target.apply_effect(attack_damage*2, EYE_BLUR, armor)
|
||||
if(BP_L_ARM, BP_L_HAND)
|
||||
if (target.l_hand)
|
||||
// Disarm left hand
|
||||
@@ -82,22 +82,22 @@ var/global/list/sparring_attack_cache = list()
|
||||
target.visible_message("<span class='danger'>[target] slams into [T]!</span>")
|
||||
if(prob(50))
|
||||
target.set_dir(reverse_dir[target.dir])
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armour)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armor)
|
||||
if(BP_GROIN)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] looks like \he [gender_datums[target.gender].is] in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour)
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armor)
|
||||
if(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT)
|
||||
if(!target.lying)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] gives way slightly.</span>")
|
||||
target.apply_effect(attack_damage*3, PAIN, armour)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armour < 100) // Chance to get the usual throwdown as well (25% standard chance)
|
||||
target.apply_effect(attack_damage*3, PAIN, armor)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armor < 100) // Chance to get the usual throwdown as well (25% standard chance)
|
||||
if(!target.lying)
|
||||
target.visible_message("<span class='danger'>[target] [pick("slumps", "falls", "drops")] down to the ground!</span>")
|
||||
else
|
||||
target.visible_message("<span class='danger'>[target] has been weakened!</span>")
|
||||
target.apply_effect(3, WEAKEN, armour)
|
||||
target.apply_effect(3, WEAKEN, armor)
|
||||
|
||||
/datum/unarmed_attack/proc/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
var/obj/item/organ/external/affecting = target.get_organ(zone)
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/*
|
||||
run_armor_check() args
|
||||
def_zone - What part is getting hit, if null will check entire body
|
||||
attack_flag - The type of armour to be checked
|
||||
armour_pen - reduces the effectiveness of armour
|
||||
attack_flag - The type of armor to be checked
|
||||
armor_pen - reduces the effectiveness of armor
|
||||
absorb_text - shown if the armor check is 100% successful
|
||||
soften_text - shown if the armor check is more than 0% successful and less than 100%
|
||||
Returns
|
||||
@@ -12,16 +12,16 @@
|
||||
#define MOB_FIRE_LIGHT_RANGE 3 //These control the intensity and range of light given off by a mob which is on fire
|
||||
#define MOB_FIRE_LIGHT_POWER 2
|
||||
|
||||
/mob/living/proc/run_armor_check(var/def_zone = null, var/attack_flag = "melee", var/armour_pen = 0, var/absorb_text = null, var/soften_text = null)
|
||||
if(armour_pen >= 100)
|
||||
/mob/living/proc/run_armor_check(var/def_zone = null, var/attack_flag = "melee", var/armor_pen = 0, var/absorb_text = null, var/soften_text = null)
|
||||
if(armor_pen >= 100)
|
||||
return 0 //might as well just skip the processing
|
||||
|
||||
var/armor = getarmor(def_zone, attack_flag)
|
||||
|
||||
if(armour_pen >= armor)
|
||||
if(armor_pen >= armor)
|
||||
return 0 //effective_armor is going to be 0, fullblock is going to be 0, blocked is going to 0, let's save ourselves the trouble
|
||||
|
||||
var/effective_armor = (armor - armour_pen)/100
|
||||
var/effective_armor = (armor - armor_pen)/100
|
||||
var/fullblock = (effective_armor*effective_armor) * ARMOR_BLOCK_CHANCE_MULT
|
||||
|
||||
if(fullblock >= 1 || prob(fullblock*100))
|
||||
@@ -31,7 +31,7 @@
|
||||
show_message("<span class='warning'>Your armor absorbs the blow!</span>")
|
||||
return 100
|
||||
|
||||
//this makes it so that X armour blocks X% damage, when including the chance of hard block.
|
||||
//this makes it so that X armor blocks X% damage, when including the chance of hard block.
|
||||
//I double checked and this formula will also ensure that a higher effective_armor
|
||||
//will always result in higher (non-fullblock) damage absorption too, which is also a nice property
|
||||
//In particular, blocked will increase from 0 to 50 as effective_armor increases from 0 to 0.999 (if it is 1 then we never get here because ofc)
|
||||
@@ -88,7 +88,7 @@
|
||||
return
|
||||
|
||||
//Armor
|
||||
var/absorb = run_armor_check(def_zone, P.check_armour, P.armor_penetration)
|
||||
var/absorb = run_armor_check(def_zone, P.check_armor, P.armor_penetration)
|
||||
var/damaged
|
||||
if(prob(absorb))
|
||||
if(P.damage_flags & DAM_SHARP || P.damage_flags & DAM_SHARP || P.damage_flags & DAM_LASER)
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
//Apply weapon damage
|
||||
var/damage_flags = I.damage_flags()
|
||||
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
if(prob(blocked)) //armor provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
damage_flags &= ~DAM_SHARP
|
||||
damage_flags &= ~DAM_EDGE
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
// Protects the cyborg from damage. Usually first module to be hit
|
||||
// No power usage
|
||||
/datum/robot_component/armor
|
||||
name = "armour plating"
|
||||
name = "armor plating"
|
||||
external_type = /obj/item/robot_parts/robot_component/armor
|
||||
max_damage = 60
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
components["diagnosis unit"] = new /datum/robot_component/diagnosis_unit(src)
|
||||
components["camera"] = new /datum/robot_component/camera(src)
|
||||
components["comms"] = new /datum/robot_component/binary_communication(src)
|
||||
components["armour"] = new /datum/robot_component/armor(src)
|
||||
components["armor"] = new /datum/robot_component/armor(src)
|
||||
components["jetpack"] = new /datum/robot_component/jetpack(src)
|
||||
components["surge"] = new /datum/robot_component/surge(src)
|
||||
jetpackComponent = components["jetpack"]
|
||||
|
||||
@@ -54,10 +54,10 @@
|
||||
if(C.installed == 1) rval += C
|
||||
return rval
|
||||
|
||||
/mob/living/silicon/robot/proc/get_armour()
|
||||
/mob/living/silicon/robot/proc/get_armor()
|
||||
if(!length(components))
|
||||
return FALSE
|
||||
var/datum/robot_component/C = components["armour"]
|
||||
var/datum/robot_component/C = components["armor"]
|
||||
if(C?.installed == TRUE)
|
||||
return C
|
||||
return FALSE
|
||||
@@ -92,7 +92,7 @@
|
||||
to_chat(src, SPAN_WARNING("Your shield absorbs some of the impact!"))
|
||||
|
||||
if(!emp)
|
||||
var/datum/robot_component/armor/A = get_armour()
|
||||
var/datum/robot_component/armor/A = get_armor()
|
||||
if(A)
|
||||
A.take_damage(brute, burn, damage_flags)
|
||||
return
|
||||
@@ -138,7 +138,7 @@
|
||||
burn -= absorb_burn
|
||||
to_chat(src, SPAN_WARNING("Your shield absorbs some of the impact!"))
|
||||
|
||||
var/datum/robot_component/armor/A = get_armour()
|
||||
var/datum/robot_component/armor/A = get_armor()
|
||||
if(A)
|
||||
A.take_damage(brute, burn, damage_flags)
|
||||
return
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
//can't inject synths
|
||||
/mob/living/silicon/can_inject(mob/user, error_msg)
|
||||
if(error_msg)
|
||||
to_chat(user, SPAN_ALERT("The armoured plating is too tough."))
|
||||
to_chat(user, SPAN_ALERT("The armored plating is too tough."))
|
||||
return FALSE
|
||||
|
||||
//Silicon mob language procs
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/simple_animal/construct/armoured
|
||||
/mob/living/simple_animal/construct/armored
|
||||
name = "Juggernaut"
|
||||
real_name = "Juggernaut"
|
||||
desc = "A possessed suit of armour driven by the will of the restless dead."
|
||||
desc = "A possessed suit of armor driven by the will of the restless dead."
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
icon_state = "behemoth"
|
||||
icon_living = "behemoth"
|
||||
@@ -11,7 +11,7 @@
|
||||
harm_intent_damage = 0
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
attacktext = "smashed their armoured gauntlet into"
|
||||
attacktext = "smashed their armored gauntlet into"
|
||||
mob_size = MOB_LARGE
|
||||
speed = 3
|
||||
environment_smash = 2
|
||||
@@ -20,7 +20,7 @@
|
||||
resistance = 10
|
||||
construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser)
|
||||
|
||||
/mob/living/simple_animal/construct/armoured/bullet_act(var/obj/item/projectile/P)
|
||||
/mob/living/simple_animal/construct/armored/bullet_act(var/obj/item/projectile/P)
|
||||
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
|
||||
var/reflectchance = 80 - round(P.damage / 3)
|
||||
if(prob(reflectchance))
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
var/construct_class = alert(U, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer")
|
||||
switch(construct_class)
|
||||
if("Juggernaut")
|
||||
var/mob/living/simple_animal/construct/armoured/Z = new /mob/living/simple_animal/construct/armoured (get_turf(T.loc))
|
||||
var/mob/living/simple_animal/construct/armored/Z = new /mob/living/simple_animal/construct/armored (get_turf(T.loc))
|
||||
Z.key = A.key
|
||||
if(iscultist(U))
|
||||
cult.add_antagonist(Z.mind)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
// Xenoarch aliens.
|
||||
/mob/living/simple_animal/hostile/samak
|
||||
name = "samak"
|
||||
desc = "A fast, armoured predator accustomed to hiding and ambushing in cold terrain."
|
||||
desc = "A fast, armored predator accustomed to hiding and ambushing in cold terrain."
|
||||
faction = "samak"
|
||||
icon_state = "samak"
|
||||
icon_living = "samak"
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
name = "electrical discharge"
|
||||
icon_state = "stun"
|
||||
damage_type = BURN
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
damage = 5
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
nodamage = 1
|
||||
taser_effect = 1
|
||||
agony = 20
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
var/list/thoughts = list(
|
||||
"You hear a cacophany of alien sounds.",
|
||||
|
||||
@@ -219,7 +219,7 @@ var/list/global/base_miss_chance = list(
|
||||
)
|
||||
|
||||
//Used to weight organs when an organ is hit randomly (i.e. not a directed, aimed attack).
|
||||
//Also used to weight the protection value that armour provides for covering that body part when calculating protection from full-body effects.
|
||||
//Also used to weight the protection value that armor provides for covering that body part when calculating protection from full-body effects.
|
||||
var/list/global/organ_rel_size = list(
|
||||
BP_HEAD = 25,
|
||||
BP_CHEST = 70,
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
if(ispath(MP, /mob/living/simple_animal/space_worm))
|
||||
return 0 //Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/armoured))
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/armored))
|
||||
return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/wraith))
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
icon_state = "particle"
|
||||
damage = 60
|
||||
damage_type = BRUTE
|
||||
check_armour = "bullet"
|
||||
check_armor = "bullet"
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
|
||||
embed = 0
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
icon_state = "omnilaser"
|
||||
damage = 20
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
range = 5
|
||||
pass_flags = PASSTABLE
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
/obj/item/gun/projectile/automatic/rifle/l6_saw
|
||||
name = "light machine gun"
|
||||
desc = "A rather traditionally made L6 SAW with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armoury- 2431' engraved on the receiver"
|
||||
desc = "A rather traditionally made L6 SAW with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armory- 2431' engraved on the receiver"
|
||||
icon = 'icons/obj/guns/l6.dmi'
|
||||
icon_state = "l6closed100"
|
||||
item_state = "l6closedmag"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/item/gun/projectile/heavysniper
|
||||
name = "anti-materiel rifle"
|
||||
desc = "A portable anti-armour rifle fitted with a scope, the PTR-7 is capable of punching through windows and non-reinforced walls with ease. Fires armor piercing 14.5mm shells."
|
||||
desc = "A portable anti-armor rifle fitted with a scope, the PTR-7 is capable of punching through windows and non-reinforced walls with ease. Fires armor piercing 14.5mm shells."
|
||||
desc_info = "This is a ballistic weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
|
||||
then click where you want to fire. The gun's chamber can be opened or closed by using it in your hand. To reload, open the chamber, add a new bullet \
|
||||
then close it. To use the scope, use the appropriate verb in the object tab."
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE, PAIN are the only things that should be in here
|
||||
var/damage_flags = DAM_BULLET
|
||||
var/nodamage = FALSE //Determines if the projectile will skip any damage inflictions
|
||||
var/check_armour = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid
|
||||
var/check_armor = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid
|
||||
var/list/impact_sounds //for different categories, IMPACT_MEAT etc
|
||||
|
||||
var/stun = 0
|
||||
@@ -121,7 +121,7 @@
|
||||
new hit_effect(target.loc)
|
||||
|
||||
L.apply_effects(stun, weaken, paralyze, 0, stutter, eyeblur, drowsy, agony, incinerate, blocked)
|
||||
L.apply_effect(irradiate, IRRADIATE, L.getarmor(null, "rad")) //radiation protection is handled separately from other armour types.
|
||||
L.apply_effect(irradiate, IRRADIATE, L.getarmor(null, "rad")) //radiation protection is handled separately from other armor types.
|
||||
return 1
|
||||
|
||||
//called when the projectile stops flying because it collided with something
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
|
||||
/obj/item/projectile/animate/Collide(atom/change)
|
||||
if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects))
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
damage = 30
|
||||
damage_type = BURN
|
||||
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_LASER_MEAT, BULLET_IMPACT_METAL = SOUNDS_LASER_METAL)
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
eyeblur = 4
|
||||
damage_flags = DAM_LASER
|
||||
var/frequency = 1
|
||||
@@ -23,7 +23,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
no_attack_log = 1
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
eyeblur = 2
|
||||
|
||||
/obj/item/projectile/beam/pistol
|
||||
@@ -105,7 +105,7 @@
|
||||
damage = 0
|
||||
no_attack_log = 1
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser/blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser/blue
|
||||
@@ -125,7 +125,7 @@
|
||||
damage = 0
|
||||
no_attack_log = 1
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
|
||||
/obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
@@ -140,7 +140,7 @@
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/disabler
|
||||
tracer_type = /obj/effect/projectile/tracer/disabler
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
damage_type = BRUTE
|
||||
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_BULLET_MEAT, BULLET_IMPACT_METAL = SOUNDS_BULLET_METAL)
|
||||
nodamage = FALSE
|
||||
check_armour = "bullet"
|
||||
check_armor = "bullet"
|
||||
embed = TRUE
|
||||
sharp = TRUE
|
||||
shrapnel_type = /obj/item/material/shard/shrapnel
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/pistol/rubber //"rubber" bullets
|
||||
name = "rubber bullet"
|
||||
check_armour = "melee"
|
||||
check_armor = "melee"
|
||||
damage = 5
|
||||
agony = 40
|
||||
embed = 0
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/shotgun/beanbag //because beanbags are not bullets
|
||||
name = "beanbag"
|
||||
check_armour = "melee"
|
||||
check_armor = "melee"
|
||||
damage = 10
|
||||
agony = 60
|
||||
embed = 0
|
||||
@@ -157,7 +157,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/shotgun/incendiary
|
||||
name = "incendiary"
|
||||
check_armour = "melee"
|
||||
check_armor = "melee"
|
||||
damage = 5
|
||||
agony = 0
|
||||
embed = 0
|
||||
@@ -324,7 +324,7 @@
|
||||
icon_state = "flechette_bullet"
|
||||
damage = 40
|
||||
damage_type = BRUTE
|
||||
check_armour = "bullet"
|
||||
check_armor = "bullet"
|
||||
embed = 1
|
||||
sharp = 1
|
||||
penetrating = 1
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
|
||||
/obj/item/projectile/change/on_hit(var/atom/change)
|
||||
wabbajack(change)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon_state = "spark"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
|
||||
//releases a burst of light on impact or after travelling a distance
|
||||
/obj/item/projectile/energy/flash
|
||||
@@ -108,7 +108,7 @@
|
||||
name = "distortion"
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "bfg"
|
||||
check_armour = "bomb"
|
||||
check_armor = "bomb"
|
||||
damage = 60
|
||||
damage_type = BRUTE
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
@@ -205,7 +205,7 @@
|
||||
name = "bees"
|
||||
icon = 'icons/obj/apiary_bees_etc.dmi'
|
||||
icon_state = "beegun"
|
||||
check_armour = "bio"
|
||||
check_armor = "bio"
|
||||
damage = 5
|
||||
damage_type = BRUTE
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
@@ -227,7 +227,7 @@
|
||||
name = "blaster bolt"
|
||||
icon_state = "heavybolt"
|
||||
damage = 30
|
||||
check_armour = "laser"
|
||||
check_armor = "laser"
|
||||
damage_type = BURN
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
muzzle_type = /obj/effect/projectile/muzzle/bolt
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "bluespace"
|
||||
damage = 40
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
embed = 1
|
||||
|
||||
/obj/item/projectile/forcebolt/strong
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
var/pulse_range = 1
|
||||
|
||||
/obj/item/projectile/ion/on_impact(var/atom/A)
|
||||
@@ -69,7 +69,7 @@
|
||||
name ="explosive bolt"
|
||||
icon_state= "bolter"
|
||||
damage = 50
|
||||
check_armour = "bullet"
|
||||
check_armor = "bullet"
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
//var/temperature = 300
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
damage = 0
|
||||
damage_type = BRUTE
|
||||
nodamage = 1
|
||||
check_armour = "bullet"
|
||||
check_armor = "bullet"
|
||||
|
||||
/obj/item/projectile/meteor/Collide(atom/A)
|
||||
if(A == firer)
|
||||
@@ -142,7 +142,7 @@
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
|
||||
/obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/living/M = target
|
||||
@@ -181,7 +181,7 @@
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
|
||||
/obj/item/projectile/energy/florayield/on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/M = target
|
||||
@@ -208,7 +208,7 @@
|
||||
name ="tungsten rod"
|
||||
icon_state= "gauss"
|
||||
damage = 75
|
||||
check_armour = "bomb"
|
||||
check_armor = "bomb"
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "spell"
|
||||
damage = 0
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
embed = 0
|
||||
damage_type = PAIN
|
||||
|
||||
@@ -280,7 +280,7 @@
|
||||
icon_state = "plasma_bolt"
|
||||
damage = 25
|
||||
damage_type = BRUTE
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
incinerate = 10
|
||||
armor_penetration = 20
|
||||
penetrating = 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
var/announced = FALSE // Whether or not we have been announced to our holder yet.
|
||||
var/suppressed = TRUE // Whether or not we are suppressing our psi powers.
|
||||
var/use_psi_armour = TRUE // Whether or not we should automatically deflect/block incoming damage.
|
||||
var/use_psi_armor = TRUE // Whether or not we should automatically deflect/block incoming damage.
|
||||
var/rebuild_power_cache = TRUE // Whether or not we need to rebuild our cache of psi powers.
|
||||
|
||||
var/rating = 0 // Overall psi rating.
|
||||
@@ -17,7 +17,7 @@
|
||||
var/list/base_ranks // Assoc list of psi faculties to base rank, in case reset is needed
|
||||
var/list/manifested_items // List of atoms manifested/maintained by psychic power.
|
||||
var/next_latency_trigger = 0 // world.time minimum before a trigger can be attempted again.
|
||||
var/last_armor_check // world.time of last armour check.
|
||||
var/last_armor_check // world.time of last armor check.
|
||||
var/last_aura_size
|
||||
var/last_aura_alpha
|
||||
var/last_aura_color
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
ui.update_icon()
|
||||
cancel()
|
||||
|
||||
/datum/psi_complexus/proc/get_armour(var/armourtype)
|
||||
/datum/psi_complexus/proc/get_armor(var/armortype)
|
||||
if(can_use_passive())
|
||||
last_armor_check = world.time
|
||||
return round(Clamp(Clamp(4 * rating, 0, 20) * get_rank(SSpsi.armour_faculty_by_type[armourtype]), 0, 100) * (stamina/max_stamina))
|
||||
return round(Clamp(Clamp(4 * rating, 0, 20) * get_rank(SSpsi.armor_faculty_by_type[armortype]), 0, 100) * (stamina/max_stamina))
|
||||
else
|
||||
last_armor_check = 0
|
||||
return 0
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
var/id
|
||||
var/name
|
||||
var/associated_intent
|
||||
var/list/armour_types = list()
|
||||
var/list/armor_types = list()
|
||||
var/list/powers = list()
|
||||
|
||||
/datum/psionic_faculty/New()
|
||||
..()
|
||||
for(var/atype in armour_types)
|
||||
SSpsi.armour_faculty_by_type[atype] = id
|
||||
for(var/atype in armor_types)
|
||||
SSpsi.armor_faculty_by_type[atype] = id
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id = PSI_ENERGISTICS
|
||||
name = "Energistics"
|
||||
associated_intent = I_HURT
|
||||
armour_types = list("bomb", "laser", "energy")
|
||||
armor_types = list("bomb", "laser", "energy")
|
||||
|
||||
/datum/psionic_power/energistics
|
||||
faculty = PSI_ENERGISTICS
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id = PSI_PSYCHOKINESIS
|
||||
name = "Psychokinesis"
|
||||
associated_intent = I_GRAB
|
||||
armour_types = list("melee", "bullet")
|
||||
armor_types = list("melee", "bullet")
|
||||
|
||||
/datum/psionic_power/psychokinesis
|
||||
faculty = PSI_PSYCHOKINESIS
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id = PSI_REDACTION
|
||||
name = "Redaction"
|
||||
associated_intent = I_HELP
|
||||
armour_types = list("bio", "rad")
|
||||
armor_types = list("bio", "rad")
|
||||
|
||||
/datum/psionic_power/redaction
|
||||
faculty = PSI_REDACTION
|
||||
|
||||
@@ -100,10 +100,10 @@ var/global/list/datum/supply_drop_loot/supply_drop
|
||||
/obj/item/reagent_containers/food/snacks/meat,
|
||||
/obj/item/reagent_containers/food/snacks/meat)
|
||||
|
||||
/datum/supply_drop_loot/armour
|
||||
name = "Armour"
|
||||
/datum/supply_drop_loot/armor
|
||||
name = "Armor"
|
||||
container = /obj/structure/largecrate
|
||||
/datum/supply_drop_loot/armour/New()
|
||||
/datum/supply_drop_loot/armor/New()
|
||||
..()
|
||||
contents = list(
|
||||
/obj/item/clothing/head/helmet/riot,
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/datum/design/rig/hacker
|
||||
name = "Cybersuit Control Module Assembly"
|
||||
desc = "An assembly for an advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
desc = "An assembly for an advanced powered armor suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
build_path = /obj/item/rig_assembly/combat/illegal/hacker
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 12500, MATERIAL_GOLD = 2500, MATERIAL_SILVER = 3500, MATERIAL_URANIUM = 5550)
|
||||
@@ -5,27 +5,27 @@
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
category = "Exosuit (Body)"
|
||||
|
||||
/datum/design/item/mechfab/exosuit/basic_armour
|
||||
/datum/design/item/mechfab/exosuit/basic_armor
|
||||
name = "Basic Exosuit Armor"
|
||||
build_path = /obj/item/robot_parts/robot_component/armor/mech
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 6000)
|
||||
|
||||
/datum/design/item/mechfab/exosuit/radproof_armour
|
||||
/datum/design/item/mechfab/exosuit/radproof_armor
|
||||
name = "Radiation-proof Exosuit Armor"
|
||||
build_path = /obj/item/robot_parts/robot_component/armor/mech/radproof
|
||||
time = 50
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 12500)
|
||||
|
||||
/datum/design/item/mechfab/exosuit/em_armour
|
||||
/datum/design/item/mechfab/exosuit/em_armor
|
||||
name = "EM-shielded Exosuit Armor"
|
||||
build_path = /obj/item/robot_parts/robot_component/armor/mech/em
|
||||
time = 50
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 12500, MATERIAL_SILVER = 1000)
|
||||
|
||||
/datum/design/item/mechfab/exosuit/combat_armour
|
||||
/datum/design/item/mechfab/exosuit/combat_armor
|
||||
name = "Combat Exosuit Armor"
|
||||
build_path = /obj/item/robot_parts/robot_component/armor/mech/combat
|
||||
time = 50
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
data["recharge_time"] = initial(E.recharge_time)
|
||||
data["damage"] = initial(P.damage)
|
||||
data["damage_type"] = initial(P.damage_type)
|
||||
data["check_armor"] = initial(P.check_armour)
|
||||
data["check_armor"] = initial(P.check_armor)
|
||||
data["stun"] = initial(P.stun) ? "stuns" : "does not stun"
|
||||
data["shrapnel_type"] = initial(P.shrapnel_type) ? initial(P.shrapnel_type) : "none"
|
||||
data["armor_penetration"] = initial(P.armor_penetration)
|
||||
@@ -205,7 +205,7 @@
|
||||
var/obj/item/projectile/P_second = E.secondary_projectile_type
|
||||
data["secondary_damage"] = initial(P_second.damage)
|
||||
data["secondary_damage_type"] = initial(P_second.damage_type)
|
||||
data["secondary_check_armor"] = initial(P_second.check_armour)
|
||||
data["secondary_check_armor"] = initial(P_second.check_armor)
|
||||
data["secondary_stun"] = initial(P_second.stun) ? "stuns" : "does not stun"
|
||||
data["secondary_shrapnel_type"] = initial(P_second.shrapnel_type) ? initial(P_second.shrapnel_type) : "none"
|
||||
data["secondary_armor_penetration"] = initial(P_second.armor_penetration)
|
||||
@@ -217,7 +217,7 @@
|
||||
data["max_shots"] = P_gun.max_shells
|
||||
data["damage"] = initial(P.damage)
|
||||
data["damage_type"] = initial(P.damage_type)
|
||||
data["check_armor"] = initial(P.check_armour)
|
||||
data["check_armor"] = initial(P.check_armor)
|
||||
data["stun"] = initial(P.stun) ? "stuns" : "does not stun"
|
||||
data["shrapnel_type"] = initial(P.shrapnel_type) ? initial(P.shrapnel_type) : "none"
|
||||
data["burst"] = gun.burst
|
||||
|
||||
Reference in New Issue
Block a user