mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 08:01:06 +00:00
Reworks armor damage reduction + armor components + more goodies. (#11106)
Ports Baystation12/Baystation12#27254 and Baystation12/Baystation12#24787 and everything inbetween I guess. Note that this PR makes guns and armor overall stronger. Lasers also once again do organ damage.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "code\__defines\_macros.dm"
|
||||
#include "code\__defines\admin.dm"
|
||||
#include "code\__defines\antagonist.dm"
|
||||
#include "code\__defines\armor.dm"
|
||||
#include "code\__defines\atmos.dm"
|
||||
#include "code\__defines\battle_monsters.dm"
|
||||
#include "code\__defines\callback.dm"
|
||||
@@ -288,6 +289,7 @@
|
||||
#include "code\datums\brain_damage\severe.dm"
|
||||
#include "code\datums\brain_damage\special_ed.dm"
|
||||
#include "code\datums\components\_component.dm"
|
||||
#include "code\datums\components\armor\armor.dm"
|
||||
#include "code\datums\components\multitool\_multitool.dm"
|
||||
#include "code\datums\components\multitool\multitool.dm"
|
||||
#include "code\datums\components\multitool\circuitboards\circuitboards.dm"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
Contains helper procs for airflow, handled in /connection_group.
|
||||
*/
|
||||
|
||||
mob/var/tmp/last_airflow_stun = 0
|
||||
mob/proc/airflow_stun()
|
||||
/mob/var/tmp/last_airflow_stun = 0
|
||||
/mob/proc/airflow_stun()
|
||||
if(stat == 2)
|
||||
return 0
|
||||
if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0
|
||||
@@ -19,18 +19,18 @@ mob/proc/airflow_stun()
|
||||
Weaken(5)
|
||||
last_airflow_stun = world.time
|
||||
|
||||
mob/living/silicon/airflow_stun()
|
||||
/mob/living/silicon/airflow_stun()
|
||||
return
|
||||
|
||||
mob/living/carbon/slime/airflow_stun()
|
||||
/mob/living/carbon/slime/airflow_stun()
|
||||
return
|
||||
|
||||
mob/living/carbon/human/airflow_stun()
|
||||
/mob/living/carbon/human/airflow_stun()
|
||||
if(shoes)
|
||||
if(shoes.item_flags & NOSLIP) return 0
|
||||
..()
|
||||
|
||||
atom/movable/proc/check_airflow_movable(n)
|
||||
/atom/movable/proc/check_airflow_movable(n)
|
||||
|
||||
if(anchored && !ismob(src)) return 0
|
||||
|
||||
@@ -38,19 +38,19 @@ atom/movable/proc/check_airflow_movable(n)
|
||||
|
||||
return 1
|
||||
|
||||
mob/check_airflow_movable(n)
|
||||
/mob/check_airflow_movable(n)
|
||||
if(n < vsc.airflow_heavy_pressure)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
mob/abstract/observer/check_airflow_movable()
|
||||
/mob/abstract/observer/check_airflow_movable()
|
||||
return 0
|
||||
|
||||
mob/living/silicon/check_airflow_movable()
|
||||
/mob/living/silicon/check_airflow_movable()
|
||||
return 0
|
||||
|
||||
|
||||
obj/item/check_airflow_movable(n)
|
||||
/obj/item/check_airflow_movable(n)
|
||||
. = ..()
|
||||
switch(w_class)
|
||||
if(2)
|
||||
@@ -117,14 +117,9 @@ obj/item/check_airflow_movable(n)
|
||||
bloody_body(src)
|
||||
var/b_loss = airflow_speed * vsc.airflow_damage
|
||||
|
||||
var/blocked = run_armor_check(BP_HEAD,"melee")
|
||||
apply_damage(b_loss/3, BRUTE, BP_HEAD, blocked, "Airflow")
|
||||
|
||||
blocked = run_armor_check(BP_CHEST,"melee")
|
||||
apply_damage(b_loss/3, BRUTE, BP_CHEST, blocked, "Airflow")
|
||||
|
||||
blocked = run_armor_check(BP_GROIN,"melee")
|
||||
apply_damage(b_loss/3, BRUTE, BP_GROIN, blocked, "Airflow")
|
||||
apply_damage(b_loss/3, BRUTE, BP_HEAD, used_weapon = "Airflow")
|
||||
apply_damage(b_loss/3, BRUTE, BP_CHEST, used_weapon = "Airflow")
|
||||
apply_damage(b_loss/3, BRUTE, BP_GROIN, used_weapon = "Airflow")
|
||||
|
||||
if(airflow_speed > 10)
|
||||
Paralyse(round(airflow_speed * vsc.airflow_stun))
|
||||
|
||||
@@ -452,13 +452,13 @@ datum/gas_mixture/proc/check_recombustability(list/fuel_objs)
|
||||
|
||||
//Always check these damage procs first if fire damage isn't working. They're probably what's wrong.
|
||||
|
||||
apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, 0, "Fire")
|
||||
apply_damage(2.5*mx*chest_exposure, BURN, BP_CHEST, 0, "Fire")
|
||||
apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, 0, "Fire")
|
||||
apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, 0, "Fire")
|
||||
apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, 0, "Fire")
|
||||
apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, 0, "Fire")
|
||||
apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, 0, "Fire")
|
||||
apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, used_weapon = "Fire")
|
||||
apply_damage(2.5*mx*chest_exposure, BURN, BP_CHEST, used_weapon = "Fire")
|
||||
apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, used_weapon = "Fire")
|
||||
apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, used_weapon = "Fire")
|
||||
apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, used_weapon = "Fire")
|
||||
apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, used_weapon = "Fire")
|
||||
apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, used_weapon = "Fire")
|
||||
|
||||
|
||||
#undef FIRE_LIGHT_1
|
||||
|
||||
49
code/__defines/armor.dm
Normal file
49
code/__defines/armor.dm
Normal file
@@ -0,0 +1,49 @@
|
||||
// Armor will turn attacks into less dangerous (e.g. turning cut into bruise), so keep that in mind when decided what armor value to use.
|
||||
// Some levels are marked with what they intend to block in such way.
|
||||
#define ARMOR_TYPE_STANDARD 1
|
||||
#define ARMOR_TYPE_EXOSUIT 2
|
||||
|
||||
#define ARMOR_BALLISTIC_MINOR 10
|
||||
#define ARMOR_BALLISTIC_SMALL 25
|
||||
#define ARMOR_BALLISTIC_PISTOL 50 //Blocks holdout and normal pistol ammo
|
||||
#define ARMOR_BALLISTIC_RESISTANT 65
|
||||
#define ARMOR_BALLISTIC_RIFLE 80 //Blocks rifle rounds
|
||||
#define ARMOR_BALLISTIC_AP 95
|
||||
#define ARMOR_BALLISTIC_HEAVY 110
|
||||
|
||||
#define ARMOR_LASER_MINOR 10
|
||||
#define ARMOR_LASER_SMALL 25 //Blocks small e-guns
|
||||
#define ARMOR_LASER_HANDGUNS 40 //Blocks normal e-guns
|
||||
#define ARMOR_LASER_MAJOR 50
|
||||
#define ARMOR_LASER_RIFLES 70 //Blocks laser rifles
|
||||
#define ARMOR_LASER_HEAVY 100
|
||||
|
||||
#define ARMOR_MELEE_MINOR 5
|
||||
#define ARMOR_MELEE_SMALL 10
|
||||
#define ARMOR_MELEE_KNIVES 15 //Blocks most knives
|
||||
#define ARMOR_MELEE_RESISTANT 30 //Blocks large weapons like swords and toolboxes
|
||||
#define ARMOR_MELEE_MAJOR 50
|
||||
#define ARMOR_MELEE_VERY_HIGH 70
|
||||
#define ARMOR_MELEE_SHIELDED 100
|
||||
|
||||
#define ARMOR_BIO_MINOR 10
|
||||
#define ARMOR_BIO_SMALL 25
|
||||
#define ARMOR_BIO_RESISTANT 50
|
||||
#define ARMOR_BIO_STRONG 75
|
||||
#define ARMOR_BIO_SHIELDED 100
|
||||
|
||||
#define ARMOR_RAD_MINOR 10
|
||||
#define ARMOR_RAD_SMALL 25
|
||||
#define ARMOR_RAD_RESISTANT 40
|
||||
#define ARMOR_RAD_SHIELDED 100
|
||||
|
||||
#define ARMOR_BOMB_MINOR 10
|
||||
#define ARMOR_BOMB_PADDED 30
|
||||
#define ARMOR_BOMB_RESISTANT 60
|
||||
#define ARMOR_BOMB_SHIELDED 100
|
||||
|
||||
#define ARMOR_ENERGY_MINOR 10
|
||||
#define ARMOR_ENERGY_SMALL 25
|
||||
#define ARMOR_ENERGY_RESISTANT 40
|
||||
#define ARMOR_ENERGY_STRONG 75
|
||||
#define ARMOR_ENERGY_SHIELDED 100
|
||||
@@ -12,10 +12,13 @@
|
||||
#define PIERCE "pierce"
|
||||
#define LASER "laser"
|
||||
|
||||
#define DAM_EDGE 1
|
||||
#define DAM_SHARP 2
|
||||
#define DAM_LASER 4
|
||||
#define DAM_BULLET 8
|
||||
#define DAM_EDGE 1
|
||||
#define DAM_SHARP 2
|
||||
#define DAM_LASER 4
|
||||
#define DAM_BULLET 8
|
||||
#define DAM_EXPLODE 16
|
||||
#define DAM_DISPERSED 32 // Makes apply_damage calls without specified zone distribute damage rather than randomly choose organ (for humans)
|
||||
#define DAM_BIO 64
|
||||
|
||||
#define STUN "stun"
|
||||
#define WEAKEN "weaken"
|
||||
|
||||
@@ -122,7 +122,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
|
||||
|
||||
return 1
|
||||
|
||||
//Called when a weapon is used to make a successful melee attack on a mob. Returns the blocked result
|
||||
//Called when a weapon is used to make a successful melee attack on a mob. Returns whether damage was dealt.
|
||||
/obj/item/proc/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
|
||||
var/power = force
|
||||
if(HULK in user.mutations)
|
||||
|
||||
111
code/datums/components/armor/armor.dm
Normal file
111
code/datums/components/armor/armor.dm
Normal file
@@ -0,0 +1,111 @@
|
||||
/datum/component/armor
|
||||
var/list/armor_values
|
||||
var/full_block_message = "Your armor absorbs the blow!"
|
||||
var/partial_block_message = "Your armor softens the blow!"
|
||||
|
||||
// This controls how some armor types such as mech armor work.
|
||||
var/armor_flags = ARMOR_TYPE_STANDARD
|
||||
|
||||
// Armor 'works' for damages in range from 0 to [armor_range_mult * armor].
|
||||
// The lower the damage, the harder it gets blocked, tapering to 0 mitigation at [armor_range_mult * armor]
|
||||
var/armor_range_mult = 2
|
||||
// [under_armor_mult] multiplies how strongly damage that is <= armor value is blocked.
|
||||
// E.g. setting it to 0 will flat out block all damage below armor
|
||||
var/under_armor_mult = 0.7
|
||||
// [over_armor_mult] multiplies how strongly damage that is > armor value is blocked.
|
||||
// E.g. setting it to more than 1 will make mitigation drop off faster, effectively reducing the range of damage mitigation
|
||||
var/over_armor_mult = 1
|
||||
|
||||
/datum/component/armor/Initialize(list/armor)
|
||||
..()
|
||||
if(armor)
|
||||
armor_values = armor.Copy()
|
||||
|
||||
// Takes in incoming damage value
|
||||
// Applies state changes to self, holder, and whatever else caused by damage mitigation
|
||||
// Returns modified damage, a list to allow for flag modification or damage conversion, in the same format as the arguments.
|
||||
/datum/component/armor/proc/apply_damage_modifications(damage, damage_type, damage_flags, mob/living/victim, armor_pen, silent = FALSE)
|
||||
if(armor_flags & ARMOR_TYPE_EXOSUIT)
|
||||
if(prob(get_blocked(damage_type, damage_flags, armor_pen) * 100)) //extra removal of sharp and edge on account of us being big robots
|
||||
damage_flags &= ~(DAM_SHARP | DAM_EDGE)
|
||||
|
||||
if(damage <= 0)
|
||||
return args.Copy()
|
||||
|
||||
var/blocked = get_blocked(damage_type, damage_flags, armor_pen, damage)
|
||||
on_blocking(damage, damage_type, damage_flags, armor_pen, blocked)
|
||||
|
||||
// Blocking values that mean the damage was under armor, so all dangerous flags are removed (edge/sharp)
|
||||
var/armor_border_blocking = 1 - (under_armor_mult * 1/armor_range_mult)
|
||||
if(blocked >= armor_border_blocking)
|
||||
if(damage_flags & DAM_LASER)
|
||||
damage *= FLUIDLOSS_CONC_BURN/FLUIDLOSS_WIDE_BURN
|
||||
damage_flags &= ~(DAM_SHARP | DAM_EDGE | DAM_LASER)
|
||||
if(damage_type == IRRADIATE)
|
||||
damage = max(0, damage - 100 * blocked)
|
||||
silent = TRUE
|
||||
damage *= 1 - blocked
|
||||
|
||||
if(!silent)
|
||||
if(blocked > 0.7)
|
||||
to_chat(victim, SPAN_NOTICE(full_block_message))
|
||||
else if(blocked > 0.2)
|
||||
to_chat(victim, SPAN_NOTICE(partial_block_message))
|
||||
return args.Copy()
|
||||
|
||||
/datum/component/armor/proc/on_blocking(damage, damage_type, damage_flags, armor_pen, blocked)
|
||||
|
||||
// A simpler proc used as a helper for above but can also be used externally. Does not modify state.
|
||||
/datum/component/armor/proc/get_blocked(damage_type, damage_flags, armor_pen = 0, damage = 5)
|
||||
var/key = get_armor_key(damage_type, damage_flags)
|
||||
if(!key)
|
||||
return 0
|
||||
|
||||
var/armor = max(0, get_value(key) - armor_pen)
|
||||
if(!armor)
|
||||
return 0
|
||||
var/efficiency = min(damage / (armor_range_mult * armor), 1)
|
||||
var/coef = damage <= armor ? under_armor_mult : over_armor_mult
|
||||
return max(1 - coef * efficiency, 0)
|
||||
|
||||
/datum/component/armor/proc/get_value(key)
|
||||
if(isnull(armor_values[key]))
|
||||
return 0
|
||||
return min(armor_values[key], 100)
|
||||
|
||||
/datum/component/armor/proc/set_value(key, newval)
|
||||
armor_values[key] = Clamp(newval, 0, 100)
|
||||
|
||||
// There is a disconnect between legacy damage and armor code. This here helps bridge the gap.
|
||||
/proc/get_armor_key(damage_type, damage_flags)
|
||||
var/key
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
if(damage_flags & DAM_BULLET)
|
||||
key = "bullet"
|
||||
else if(damage_flags & DAM_EXPLODE)
|
||||
key = "bomb"
|
||||
else
|
||||
key = "melee"
|
||||
if(BURN)
|
||||
if(damage_flags & DAM_LASER)
|
||||
key = "laser"
|
||||
else if(damage_flags & DAM_EXPLODE)
|
||||
key = "bomb"
|
||||
else
|
||||
key = "energy"
|
||||
if(TOX)
|
||||
if(damage_flags & DAM_BIO)
|
||||
key = "bio" // Otherwise just not blocked by default.
|
||||
if(IRRADIATE)
|
||||
key = "rad"
|
||||
return key
|
||||
|
||||
/datum/component/armor/toggle
|
||||
var/active = TRUE
|
||||
|
||||
/datum/component/armor/toggle/proc/toggle(new_state)
|
||||
active = new_state
|
||||
|
||||
/datum/component/armor/toggle/get_value(key)
|
||||
return active ? ..() : 0
|
||||
@@ -40,7 +40,7 @@
|
||||
item_cost = 5
|
||||
path = /obj/item/clothing/ring/reagent/sleepy
|
||||
|
||||
/datum/uplink_item/item/stealthy_weapons/sharpened_trap
|
||||
/datum/uplink_item/item/stealthy_weapons/bear_trap
|
||||
name = "Sharpened Bear Trap"
|
||||
item_cost = 4
|
||||
item_cost = 5
|
||||
path = /obj/item/trap/sharpened
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
if (targetIsHuman)
|
||||
var/mob/living/carbon/human/targethuman = target
|
||||
armorpercent = targethuman.run_armor_check(target_zone,"melee")
|
||||
armorpercent = targethuman.get_blocked_ratio(target_zone, BRUTE, damage = force)*100
|
||||
wasblocked = targethuman.check_shields(force, src, user, target_zone, null) //returns 1 if it's a block
|
||||
|
||||
var/damageamount = force
|
||||
|
||||
@@ -454,7 +454,7 @@
|
||||
else
|
||||
randmuti(src.connected.occupant)
|
||||
|
||||
src.connected.occupant.apply_effect(((src.radiation_intensity*3)+src.radiation_duration*3), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage(((src.radiation_intensity*3)+src.radiation_duration*3), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
src.connected.locked = lock_state
|
||||
return 1 // return 1 forces an update to all Nano uis attached to src
|
||||
|
||||
@@ -548,7 +548,7 @@
|
||||
block = miniscrambletarget(num2text(selected_ui_target), src.radiation_intensity, src.radiation_duration)
|
||||
src.connected.occupant.dna.SetUISubBlock(src.selected_ui_block,src.selected_ui_subblock,block)
|
||||
src.connected.occupant.UpdateAppearance()
|
||||
src.connected.occupant.apply_effect((src.radiation_intensity+src.radiation_duration), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage((src.radiation_intensity+src.radiation_duration), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
else
|
||||
if (prob(20+src.radiation_intensity))
|
||||
randmutb(src.connected.occupant)
|
||||
@@ -556,7 +556,7 @@
|
||||
else
|
||||
randmuti(src.connected.occupant)
|
||||
src.connected.occupant.UpdateAppearance()
|
||||
src.connected.occupant.apply_effect(((src.radiation_intensity*2)+src.radiation_duration), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage(((src.radiation_intensity*2)+src.radiation_duration), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
src.connected.locked = lock_state
|
||||
return 1 // return 1 forces an update to all Nano uis attached to src
|
||||
|
||||
@@ -613,10 +613,10 @@
|
||||
|
||||
//testing("Irradiated SE block [real_SE_block]:[src.selected_se_subblock] ([original_block] now [block]) [(real_SE_block!=selected_se_block) ? "(SHIFTED)":""]!")
|
||||
connected.occupant.dna.SetSESubBlock(real_SE_block,selected_se_subblock,block)
|
||||
src.connected.occupant.apply_effect((src.radiation_intensity+src.radiation_duration), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage((src.radiation_intensity+src.radiation_duration), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
domutcheck(src.connected.occupant,src.connected)
|
||||
else
|
||||
src.connected.occupant.apply_effect(((src.radiation_intensity*2)+src.radiation_duration), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage(((src.radiation_intensity*2)+src.radiation_duration), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
if (prob(80-src.radiation_duration))
|
||||
//testing("Random bad mut!")
|
||||
randmutb(src.connected.occupant)
|
||||
@@ -738,7 +738,7 @@
|
||||
src.connected.occupant.dna.SE = buf.dna.SE
|
||||
src.connected.occupant.dna.UpdateSE()
|
||||
domutcheck(src.connected.occupant,src.connected)
|
||||
src.connected.occupant.apply_effect(rand(20,50), IRRADIATE, blocked = 0)
|
||||
src.connected.occupant.apply_damage(rand(20,50), damage_flags = DAM_DISPERSED)
|
||||
return 1
|
||||
|
||||
if (bufferOption == "createInjector")
|
||||
|
||||
@@ -17,7 +17,14 @@
|
||||
name = "eldritch voidsuit helmet"
|
||||
desc = "A bulky armored voidsuit helmet, bristling with menacing spikes. It looks space proof."
|
||||
icon_state = "cult_helmet"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0
|
||||
light_overlay = "helmet_light_dual_red"
|
||||
light_color = COLOR_RED_LIGHT
|
||||
@@ -33,7 +40,14 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
allowed = list(/obj/item/book/tome, /obj/item/melee/cultblade, /obj/item/gun/energy/rifle/cult, /obj/item/tank, /obj/item/device/suit_cooling_unit)
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
|
||||
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL|HIDESHOES
|
||||
|
||||
@@ -5,7 +5,13 @@
|
||||
description_cult = "This can be reforged to become an eldritch voidsuit helmet."
|
||||
flags_inv = HIDEFACE|HIDEEARS|HIDEEYES
|
||||
body_parts_covered = HEAD|EYES
|
||||
armor = list(melee = 50, bullet = 30, laser = 50, energy = 20, bomb = 25, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL
|
||||
)
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
@@ -26,7 +32,13 @@
|
||||
item_state = "cultrobes"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
allowed = list(/obj/item/book/tome, /obj/item/melee/cultblade)
|
||||
armor = list(melee = 50, bullet = 30, laser = 50, energy = 20, bomb = 25, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL
|
||||
)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
siemens_coefficient = 0
|
||||
|
||||
@@ -47,8 +59,13 @@
|
||||
force = 5
|
||||
silent = 1
|
||||
siemens_coefficient = 0.35 //antags don't get exceptions, it's just heavy armor by magical standards
|
||||
armor = list(melee = 50, bullet = 30, laser = 50, energy = 20, bomb = 25, bio = 10, rad = 0)
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL
|
||||
)
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
heat_protection = FEET
|
||||
|
||||
@@ -10,9 +10,9 @@ var/hadevent = 0
|
||||
if(isNotStationLevel(T.z))
|
||||
continue
|
||||
|
||||
H.apply_effect((rand(15,75)),IRRADIATE, blocked = H.getarmor(null, "rad"))
|
||||
H.apply_damage((rand(15,75)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
if (prob(5))
|
||||
H.apply_effect((rand(90,150)),IRRADIATE, blocked = H.getarmor(null, "rad"))
|
||||
H.apply_damage((rand(90,150)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
if (prob(25))
|
||||
if (prob(75))
|
||||
randmutb(H)
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
/obj/effect/meteor/irradiated/meteor_effect()
|
||||
new /obj/effect/decal/cleanable/greenglow(get_turf(src))
|
||||
for(var/mob/living/L in view(5, src))
|
||||
L.apply_effect(40, IRRADIATE, blocked = L.getarmor(null, "rad"))
|
||||
L.apply_damage(40, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
|
||||
/obj/effect/meteor/golden
|
||||
name = "golden meteor"
|
||||
|
||||
@@ -544,7 +544,7 @@ obj/machinery/door/airlock/glass_centcom/attackby(obj/item/I, mob/user)
|
||||
|
||||
/obj/machinery/door/airlock/uranium/proc/radiate()
|
||||
for(var/mob/living/L in range (3,src))
|
||||
L.apply_effect(15,IRRADIATE, blocked = L.getarmor(null, "rad"))
|
||||
L.apply_damage(15, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
return
|
||||
|
||||
//---Phoron door
|
||||
@@ -1485,7 +1485,8 @@ About the new airlock wires panel:
|
||||
/mob/living/airlock_crush(var/crush_damage)
|
||||
. = ..()
|
||||
for(var/i = 1, i <= AIRLOCK_CRUSH_DIVISOR, i++)
|
||||
adjustBruteLoss(round(crush_damage / AIRLOCK_CRUSH_DIVISOR))
|
||||
apply_damage((crush_damage / AIRLOCK_CRUSH_DIVISOR), BRUTE)
|
||||
|
||||
SetStunned(5)
|
||||
SetWeakened(5)
|
||||
visible_message(SPAN_DANGER("[src] is crushed in the airlock!"), SPAN_DANGER("You are crushed in the airlock!"), SPAN_NOTICE("You hear airlock actuators momentarily struggle."))
|
||||
|
||||
@@ -399,11 +399,11 @@
|
||||
if(src.health <= 0 && initialhealth > 0)
|
||||
src.set_broken()
|
||||
else if(src.health < src.maxhealth / 4 && initialhealth >= src.maxhealth / 4)
|
||||
visible_message("\The [src] looks like it's about to break!" )
|
||||
visible_message(SPAN_WARNING("\The [src] looks like it's about to break!"))
|
||||
else if(src.health < src.maxhealth / 2 && initialhealth >= src.maxhealth / 2)
|
||||
visible_message("\The [src] looks seriously damaged!" )
|
||||
visible_message(SPAN_WARNING("\The [src] looks seriously damaged!"))
|
||||
else if(src.health < src.maxhealth * 3/4 && initialhealth >= src.maxhealth * 3/4)
|
||||
visible_message("\The [src] shows signs of damage!" )
|
||||
visible_message(SPAN_WARNING("\The [src] shows signs of damage!"))
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -411,11 +411,11 @@
|
||||
/obj/machinery/door/examine(mob/user)
|
||||
. = ..()
|
||||
if(src.health < src.maxhealth / 4)
|
||||
to_chat(user, "\The [src] looks like it's about to break!")
|
||||
to_chat(user, SPAN_WARNING("\The [src] looks like it's about to break!"))
|
||||
else if(src.health < src.maxhealth / 2)
|
||||
to_chat(user, "\The [src] looks seriously damaged!")
|
||||
to_chat(user, SPAN_WARNING("\The [src] looks seriously damaged!"))
|
||||
else if(src.health < src.maxhealth * 3/4)
|
||||
to_chat(user, "\The [src] shows signs of damage!")
|
||||
to_chat(user, SPAN_WARNING("\The [src] shows signs of damage!"))
|
||||
|
||||
|
||||
/obj/machinery/door/proc/set_broken()
|
||||
|
||||
@@ -509,7 +509,7 @@
|
||||
occupant.take_organ_damage(0, radiation_level * 2 + rand(1, 3))
|
||||
if(radiation_level > 1)
|
||||
occupant.take_organ_damage(0, radiation_level + rand(1, 3))
|
||||
occupant.apply_effect(radiation_level * 10, IRRADIATE)
|
||||
occupant.apply_damage(radiation_level * 10, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
|
||||
/obj/machinery/suit_cycler/proc/finished_job()
|
||||
visible_message("[icon2html(src, viewers(get_turf(src)))] <span class='notice'>\The [src] pings loudly.</span>")
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up
|
||||
var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N
|
||||
var/can_embed = 1//If zero, this item/weapon cannot become embedded in people when you hit them with it
|
||||
var/list/armor //= list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) If null, object has 0 armor.
|
||||
var/list/allowed = null //suit storage stuff.
|
||||
var/obj/item/device/uplink/hidden/hidden_uplink // All items can have an uplink hidden inside, just remember to add the triggers.
|
||||
var/zoomdevicename //name used for message when binoculars/scope is used
|
||||
@@ -57,6 +56,9 @@
|
||||
///Sound uses when dropping the item, or when its thrown.
|
||||
var/drop_sound = /decl/sound_category/generic_drop_sound // drop sound - this is the default
|
||||
|
||||
var/list/armor
|
||||
var/armor_degradation_speed //How fast armor will degrade, multiplier to blocked damage to get armor damage value.
|
||||
|
||||
//Item_state definition moved to /obj
|
||||
//var/item_state = null // Used to specify the item state for the on-mob overlays.
|
||||
var/item_state_slots //overrides the default item_state for particular slots.
|
||||
@@ -95,6 +97,14 @@
|
||||
var/lock_picking_level = 0 //used to determine whether something can pick a lock, and how well.
|
||||
// Its vital that if you make new power tools or new recipies that you include this
|
||||
|
||||
/obj/item/Initialize()
|
||||
. = ..()
|
||||
if(islist(armor))
|
||||
for(var/type in armor)
|
||||
if(armor[type])
|
||||
AddComponent(/datum/component/armor, armor, armor_degradation_speed)
|
||||
break
|
||||
|
||||
/obj/item/Destroy()
|
||||
if(ismob(loc))
|
||||
var/mob/m = loc
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
to_chat(user, SPAN_WARNING("You break \the [src] apart, spilling its contents everywhere!"))
|
||||
fuel = 0
|
||||
new /obj/effect/decal/cleanable/greenglow(get_turf(user))
|
||||
user.apply_effect((rand(15,30)),IRRADIATE,blocked = user.getarmor(null, "rad"))
|
||||
user.apply_damage(rand(15,30), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -49,9 +49,7 @@
|
||||
damage_coef -= 0.2
|
||||
return
|
||||
|
||||
var/armor_block = H.run_armor_check(affecting, "melee")
|
||||
|
||||
if(H.apply_damage(25 * damage_coef, BRUTE, affecting, armor_block))
|
||||
if(H.apply_damage(25 * damage_coef, BRUTE, affecting))
|
||||
H.updatehealth()
|
||||
|
||||
if(H.can_feel_pain())
|
||||
|
||||
@@ -32,7 +32,9 @@ Protectiveness | Armor %
|
||||
icon_state = "material_armor"
|
||||
item_state = "material_armor"
|
||||
contained_sprite = 1
|
||||
armor = list(melee = 5, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
pocket_slots = 1
|
||||
|
||||
/obj/item/clothing/suit/armor/material/makeshift/plasteel
|
||||
@@ -96,7 +98,9 @@ Protectiveness | Armor %
|
||||
)
|
||||
icon_state = "bucket"
|
||||
item_state = "bucket"
|
||||
armor = list(melee = 5, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
contained_sprite = 1
|
||||
|
||||
/obj/item/clothing/head/helmet/bucket/wood
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
return 0
|
||||
|
||||
/obj/item/material/sword/perform_technique(var/mob/living/carbon/human/target, var/mob/living/carbon/human/user, var/target_zone)
|
||||
var/armor_reduction = target.run_armor_check(target_zone,"melee")
|
||||
var/armor_reduction = target.get_blocked_ratio(target_zone, BRUTE, DAM_EDGE|DAM_SHARP, damage = force)*100
|
||||
var/obj/item/organ/external/affecting = target.get_organ(target_zone)
|
||||
if(!affecting)
|
||||
return
|
||||
|
||||
@@ -195,10 +195,6 @@
|
||||
if(status)
|
||||
deductcharge(hitcost)
|
||||
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
H.forcesay(hit_appends)
|
||||
|
||||
return 1
|
||||
|
||||
/obj/item/melee/baton/emp_act(severity)
|
||||
|
||||
@@ -102,9 +102,7 @@
|
||||
if(user.a_intent == I_DISARM)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/T = target
|
||||
var/armor = T.run_armor_check(target_zone,"melee")
|
||||
|
||||
T.apply_damage(40, PAIN, target_zone, armor)
|
||||
T.apply_damage(40, PAIN, target_zone)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 18750)
|
||||
var/deployed = FALSE
|
||||
var/time_to_escape = 60
|
||||
var/ignore_armor = FALSE
|
||||
var/activated_armor_penetration = 0
|
||||
|
||||
/obj/item/trap/proc/can_use(mob/user)
|
||||
return (user.IsAdvancedToolUser() && !issilicon(user) && !user.stat && !user.restrained())
|
||||
@@ -98,18 +98,9 @@
|
||||
else
|
||||
target_zone = pick(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG)
|
||||
|
||||
if(!ignore_armor)
|
||||
//armor
|
||||
var/blocked = L.run_armor_check(target_zone, "melee")
|
||||
if(blocked >= 100)
|
||||
return
|
||||
var/success = L.apply_damage(30, BRUTE, target_zone, blocked, src)
|
||||
if(!success)
|
||||
return FALSE
|
||||
else
|
||||
var/success = L.apply_damage(30, BRUTE, target_zone, 0, src)
|
||||
if(!success)
|
||||
return FALSE
|
||||
var/success = L.apply_damage(30, BRUTE, target_zone, used_weapon = src, armor_pen = activated_armor_penetration)
|
||||
if(!success)
|
||||
return FALSE
|
||||
|
||||
var/did_trap = TRUE
|
||||
if(ishuman(L))
|
||||
@@ -156,7 +147,7 @@
|
||||
/obj/item/trap/sharpened
|
||||
name = "sharpened mechanical trap"
|
||||
desc_antag = "This device has an even higher chance of penetrating armor and locking foes in place."
|
||||
ignore_armor = TRUE
|
||||
activated_armor_penetration = 100
|
||||
|
||||
/obj/item/trap/animal
|
||||
name = "small trap"
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
species_restricted = list(BODYTYPE_VAURCA,BODYTYPE_VAURCA_WARFORM)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_WARFORM = 'icons/mob/species/warriorform/shoes.dmi'
|
||||
)
|
||||
)
|
||||
|
||||
action_button_name = "Toggle the magclaws"
|
||||
|
||||
@@ -257,8 +257,13 @@
|
||||
slowdown = -1
|
||||
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
armor = list(melee = 50, bullet = 20, laser = 50, energy = 30, bomb = 45, bio = 100, rad = 10)
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED
|
||||
)
|
||||
/obj/item/clothing/head/helmet/space/void/scout
|
||||
name = "scout helmet"
|
||||
desc = "A helmet designed for K'laxan scouts, made of lightweight sturdy material that does not restrict movement."
|
||||
@@ -268,8 +273,13 @@
|
||||
item_state = "helm_scout"
|
||||
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
armor = list(melee = 40, bullet = 20, laser = 40, energy = 30, bomb = 45, bio = 100, rad = 10)
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED
|
||||
)
|
||||
light_overlay = "helmet_light_dual_green"
|
||||
light_color = "#3e7c3e"
|
||||
|
||||
@@ -282,8 +292,14 @@
|
||||
desc = "A design perfected by the Zo'ra, this helmet is commonly used by frontline warriors of a hive. Ablative design deflects lasers away from the body while providing moderate physical protection."
|
||||
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
armor = list(melee = 40, bullet = 40, laser = 60, energy = 50, bomb = 45, bio = 100, rad = 10)
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
/obj/item/clothing/head/helmet/space/void/commando
|
||||
name = "commando helmet"
|
||||
desc = "A design perfected by the Zo'ra, this helmet is commonly used by frontline warriors of a hive. Ablative design deflects lasers away from the body while providing moderate physical protection."
|
||||
@@ -293,7 +309,14 @@
|
||||
item_state = "helm_commando"
|
||||
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
armor = list(melee = 30, bullet = 30, laser = 60, energy = 50, bomb = 45, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
|
||||
light_overlay = "helmet_light_dual_green"
|
||||
light_color = "#3e7c3e"
|
||||
@@ -307,7 +330,13 @@
|
||||
gas_filter_strength = 3
|
||||
w_class = ITEMSIZE_SMALL
|
||||
filtered_gases = list(GAS_NITROGEN, GAS_N2O)
|
||||
armor = list(melee = 25, bullet = 10, laser = 25, energy = 25, bomb = 0, bio = 50, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bio = ARMOR_BIO_STRONG,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
icon = 'icons/obj/vaurca_items.dmi'
|
||||
icon_state = "m_metalg"
|
||||
item_state = "m_metalg"
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
if(!material.radioactivity)
|
||||
return
|
||||
for(var/mob/living/L in range(1,src))
|
||||
L.apply_effect(round(material.radioactivity/3),IRRADIATE,0)
|
||||
L.apply_damage(round(material.radioactivity/3),IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
|
||||
/obj/structure/simple_door/iron/New(var/newloc,var/material_name, var/complexity)
|
||||
..(newloc, MATERIAL_IRON, complexity)
|
||||
|
||||
@@ -157,21 +157,19 @@
|
||||
var/mob/living/occupant = unbuckle_mob()
|
||||
|
||||
var/def_zone = ran_zone()
|
||||
var/blocked = occupant.run_armor_check(def_zone, "melee")
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
occupant.apply_effect(6, STUN, blocked)
|
||||
occupant.apply_effect(6, WEAKEN, blocked)
|
||||
occupant.apply_effect(6, STUTTER, blocked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
occupant.apply_effect(6, STUN)
|
||||
occupant.apply_effect(6, WEAKEN)
|
||||
occupant.apply_effect(6, STUTTER)
|
||||
occupant.apply_damage(10, BRUTE, def_zone)
|
||||
playsound(src.loc, "punch", 50, 1, -1)
|
||||
if(istype(A, /mob/living))
|
||||
if(isliving(A))
|
||||
var/mob/living/victim = A
|
||||
def_zone = ran_zone()
|
||||
blocked = victim.run_armor_check(def_zone, "melee")
|
||||
victim.apply_effect(6, STUN, blocked)
|
||||
victim.apply_effect(6, WEAKEN, blocked)
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
victim.apply_effect(6, STUN)
|
||||
victim.apply_effect(6, WEAKEN)
|
||||
victim.apply_effect(6, STUTTER)
|
||||
victim.apply_damage(10, BRUTE, def_zone)
|
||||
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||
|
||||
/obj/structure/bed/chair/office/light
|
||||
|
||||
@@ -115,8 +115,8 @@
|
||||
dismantle()
|
||||
qdel(src)
|
||||
|
||||
var/blocked = target.run_armor_check(hit_zone, "melee")
|
||||
target.Weaken(10 * BLOCKED_MULT(blocked))
|
||||
var/blocked = target.get_blocked_ratio(hit_zone, BRUTE)
|
||||
target.Weaken(10 * (1 - blocked))
|
||||
target.apply_damage(20, BRUTE, hit_zone, blocked, src)
|
||||
return
|
||||
|
||||
|
||||
@@ -150,21 +150,19 @@
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
|
||||
var/def_zone = ran_zone()
|
||||
var/blocked = occupant.run_armor_check(def_zone, "melee")
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
occupant.apply_effect(6, STUN, blocked)
|
||||
occupant.apply_effect(6, WEAKEN, blocked)
|
||||
occupant.apply_effect(6, STUTTER, blocked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
occupant.apply_effect(6, STUN)
|
||||
occupant.apply_effect(6, WEAKEN)
|
||||
occupant.apply_effect(6, STUTTER)
|
||||
occupant.apply_damage(10, BRUTE, def_zone)
|
||||
playsound(src.loc, "punch", 50, 1, -1)
|
||||
if(istype(A, /mob/living))
|
||||
if(isliving(A))
|
||||
var/mob/living/victim = A
|
||||
def_zone = ran_zone()
|
||||
blocked = victim.run_armor_check(def_zone, "melee")
|
||||
victim.apply_effect(6, STUN, blocked)
|
||||
victim.apply_effect(6, WEAKEN, blocked)
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
victim.apply_effect(6, STUN)
|
||||
victim.apply_effect(6, WEAKEN)
|
||||
victim.apply_effect(6, STUTTER)
|
||||
victim.apply_damage(10, BRUTE, def_zone)
|
||||
if(pulling)
|
||||
occupant.visible_message("<span class='danger'>[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!</span>")
|
||||
|
||||
|
||||
@@ -119,8 +119,7 @@
|
||||
to_chat(user, SPAN_NOTICE("[GM.name] needs to be on the urinal."))
|
||||
return
|
||||
user.visible_message(SPAN_DANGER("[user] slams [GM.name] into the [src]!"), SPAN_NOTICE("You slam [GM.name] into the [src]!"))
|
||||
var/blocked = GM.run_armor_check("melee")
|
||||
GM.apply_damage(8, def_zone = BP_HEAD, blocked = blocked, used_weapon = "blunt force")
|
||||
GM.apply_damage(8, def_zone = BP_HEAD, used_weapon = "blunt force")
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN * 1.5)
|
||||
else
|
||||
to_chat(user, SPAN_NOTICE("You need a tighter grip."))
|
||||
|
||||
@@ -278,22 +278,21 @@
|
||||
qdel(G) //gotta delete it here because if window breaks, it won't get deleted
|
||||
|
||||
var/def_zone = ran_zone(BP_HEAD, 20)
|
||||
var/blocked = M.run_armor_check(def_zone, "melee")
|
||||
switch (state)
|
||||
if(1)
|
||||
M.visible_message(SPAN_WARNING("[user] slams [M] against \the [src]!"))
|
||||
M.apply_damage(7, damtype, def_zone, blocked, src)
|
||||
M.apply_damage(7, damtype, def_zone, used_weapon = src)
|
||||
hit(10)
|
||||
if(2)
|
||||
M.visible_message(SPAN_DANGER("[user] bashes [M] against \the [src]!"))
|
||||
if (prob(50))
|
||||
M.Weaken(1)
|
||||
M.apply_damage(10, damtype, def_zone, blocked, src)
|
||||
M.apply_damage(10, damtype, def_zone, used_weapon = src)
|
||||
hit(25)
|
||||
if(3)
|
||||
M.visible_message(SPAN_DANGER("<big>[user] crushes [M] against \the [src]!</big>"))
|
||||
M.Weaken(5)
|
||||
M.apply_damage(20, damtype, def_zone, blocked, src)
|
||||
M.apply_damage(20, damtype, def_zone, used_weapon = src)
|
||||
hit(50)
|
||||
|
||||
/obj/structure/window/proc/hit(var/damage, var/sound_effect = 1)
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
return
|
||||
|
||||
for(var/mob/living/L in range(3,src))
|
||||
L.apply_effect(total_radiation, IRRADIATE, blocked = L.getarmor(null, "rad"))
|
||||
L.apply_damage(total_radiation, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
return total_radiation
|
||||
|
||||
/turf/simulated/wall/proc/burn(temperature)
|
||||
|
||||
@@ -20,9 +20,6 @@ var/global/datum/universal_state/universe = new
|
||||
|
||||
var/global/list/global_map = null
|
||||
|
||||
// Noises made when hit while typing.
|
||||
var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
|
||||
|
||||
var/diary = null
|
||||
var/diary_runtime = null
|
||||
var/diary_date_string = null
|
||||
|
||||
@@ -3,7 +3,13 @@
|
||||
desc = "These arm guards will protect your hands and arms."
|
||||
icon_state = "arm_guards_riot"
|
||||
body_parts_covered = HANDS|ARMS
|
||||
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_MINOR
|
||||
)
|
||||
punch_force = 3
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
siemens_coefficient = 0.35
|
||||
@@ -23,18 +29,33 @@
|
||||
desc = "These arm guards will protect your hands and arms from energy weapons."
|
||||
icon_state = "arm_guards_laser"
|
||||
siemens_coefficient = 0
|
||||
armor = list(melee = 25, bullet = 25, laser = 80, energy = 40, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/gloves/arm_guard/bulletproof
|
||||
name = "ballistic arm guards"
|
||||
desc = "These arm guards will protect your hands and arms from ballistic weapons."
|
||||
icon_state = "arm_guards_bullet"
|
||||
armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/gloves/arm_guard/riot
|
||||
name = "riot arm guards"
|
||||
desc = "These arm guards will protect your hands and arms from close combat weapons."
|
||||
armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/gloves/arm_guard/mercs
|
||||
name = "heavy arm guards"
|
||||
@@ -43,5 +64,11 @@
|
||||
item_state = "armguards"
|
||||
icon_state = "armguards"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
species_restricted = null
|
||||
|
||||
@@ -219,7 +219,13 @@
|
||||
icon_state = "warping_claws"
|
||||
item_state = "warping_claws"
|
||||
attack_verb = list("ripped", "torn", "cut")
|
||||
armor = list(melee = 50, bullet = 15, laser = 15, energy = 10, bomb = 10, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_MINOR
|
||||
)
|
||||
siemens_coefficient = 1
|
||||
force = 5
|
||||
punch_force = 10
|
||||
|
||||
@@ -5,7 +5,15 @@
|
||||
action_button_name = "Toggle Headlamp"
|
||||
brightness_on = 4 //luminosity when on
|
||||
light_overlay = "hardhat_light"
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_MINOR,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
flags_inv = 0
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
siemens_coefficient = 0.9
|
||||
@@ -45,4 +53,3 @@
|
||||
icon_state = "helmet_paramed"
|
||||
item_state = "helmet_paramed"
|
||||
light_overlay = "EMS_light"
|
||||
armor = list(melee = 30, bullet = 15, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20)
|
||||
|
||||
@@ -7,7 +7,13 @@
|
||||
slot_r_hand_str = "helmet"
|
||||
)
|
||||
item_flags = THICKMATERIAL
|
||||
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
flags_inv = HIDEEARS|BLOCKHEADHAIR
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
@@ -61,7 +67,6 @@
|
||||
desc_fluff = "What the heck did you just hecking say about me, you little honker? I'll have you know I graduated top of my class in the Sol Army, and I've been involved in numerous secret raids on the Jargon Federation, and I have over 300 confirmed kills. I am trained in gorilla warfare and I'm the top sniper in the entire Sol armed forces. You are nothing to me but just another target. I will wipe you the heck out with precision the likes of which has never been seen before on Biesel, mark my hecking words."
|
||||
icon_state = "hoshelmet"
|
||||
item_state = "hoshelmet"
|
||||
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 armor patch"
|
||||
@@ -86,7 +91,10 @@
|
||||
desc = "It's a helmet specifically designed to protect against close range attacks."
|
||||
icon_state = "riot"
|
||||
body_parts_covered = HEAD|FACE|EYES //face shield
|
||||
armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
flags_inv = HIDEEARS
|
||||
action_button_name = "Toggle Visor"
|
||||
@@ -109,14 +117,24 @@
|
||||
name = "ablative helmet"
|
||||
desc = "A helmet made from advanced materials which protects against concentrated energy weapons."
|
||||
icon_state = "helmet_reflect"
|
||||
armor = list(melee = 25, bullet = 25, laser = 80, energy = 40, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/clothing/head/helmet/ballistic
|
||||
name = "ballistic helmet"
|
||||
desc = "A helmet with reinforced plating to protect against ballistic projectiles."
|
||||
icon_state = "helmet_bulletproof"
|
||||
armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR,
|
||||
bullet = ARMOR_BALLISTIC_AP,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/head/helmet/merc
|
||||
@@ -126,7 +144,13 @@
|
||||
item_state = "helmet"
|
||||
icon_state = "helmet"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/head/helmet/swat
|
||||
@@ -134,7 +158,13 @@
|
||||
desc = "They're often used by highly trained Swat Members."
|
||||
icon_state = "swat"
|
||||
item_state = "swat"
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
@@ -167,7 +197,13 @@
|
||||
name = "\improper Thunderdome helmet"
|
||||
desc = "<i>'Let the battle commence!'</i>"
|
||||
icon_state = "thunderdome"
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 1
|
||||
@@ -188,8 +224,14 @@
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_TAJARA = 'icons/mob/species/tajaran/helmet.dmi',
|
||||
BODYTYPE_UNATHI = 'icons/mob/species/unathi/helmet.dmi'
|
||||
)
|
||||
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
|
||||
@@ -197,7 +239,13 @@
|
||||
name = "augment array"
|
||||
desc = "A helmet with optical and cranial augments coupled to it."
|
||||
icon_state = "v62"
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
body_parts_covered = HEAD|EYES
|
||||
cold_protection = HEAD
|
||||
@@ -208,7 +256,12 @@
|
||||
name = "IAC helmet"
|
||||
desc = "This helmet is meant to protect the wearer from light debris, scrapes and bumps in a disaster situation, this lightweight helmet doesn't offer any significant protection from attacks or severe accidents. It's not recommended for use as armor and it's definitely not spaceworthy."
|
||||
icon_state = "iac_helmet"
|
||||
armor = list(melee = 6, bullet = 10, laser = 10, energy = 3, bomb = 5, bio = 15, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
flags_inv = HIDEEARS
|
||||
|
||||
/obj/item/clothing/head/helmet/unathi
|
||||
@@ -219,7 +272,13 @@
|
||||
item_state = "unathi_helmet"
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/head/helmet/unathi/hegemony
|
||||
@@ -227,7 +286,14 @@
|
||||
desc = "A highly armored helmet designated to be worn by an Unathi, a newer variant commonly worn by the Hegemony Levies."
|
||||
icon_state = "hegemony_helmet"
|
||||
item_state = "hegemony_helmet"
|
||||
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/helmet/unathi/klax
|
||||
name = "klaxan hopeful helmet"
|
||||
@@ -236,7 +302,14 @@
|
||||
icon_state = "klax_hopeful_helmet"
|
||||
item_state = "klax_hopeful_helmet"
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/head/helmet/tank
|
||||
@@ -245,7 +318,9 @@
|
||||
icon_state = "tank"
|
||||
flags_inv = BLOCKHEADHAIR
|
||||
color = "#5f5f5f"
|
||||
armor = list(melee = 25, bullet = 5, laser = 5, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/head/helmet/tank/olive
|
||||
@@ -265,8 +340,14 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "syndicate-helm-green",
|
||||
slot_r_hand_str = "syndicate-helm-green"
|
||||
)
|
||||
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BIO_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
//Commander
|
||||
@@ -298,13 +379,19 @@
|
||||
icon_state = "legion_helmet"
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
flags_inv = HIDEEARS|HIDEEYES|BLOCKHEADHAIR
|
||||
armor = list(melee = 50, bullet = 30, laser = 30, energy = 15, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
sprite_sheets = list(
|
||||
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi',
|
||||
"Unathi" = 'icons/mob/species/unathi/helmet.dmi',
|
||||
"Machine" = 'icons/mob/species/machine/helmet.dmi'
|
||||
)
|
||||
)
|
||||
|
||||
action_button_name = "Toggle Helmet Light"
|
||||
light_overlay = "helmet_light_dual"
|
||||
@@ -319,7 +406,13 @@
|
||||
icon_state = "legion_pilot_up"
|
||||
body_parts_covered = null
|
||||
flags_inv = BLOCKHEADHAIR
|
||||
armor = list(melee = 40, bullet = 20, laser = 20, energy = 10, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
camera = /obj/machinery/camera/network/tcfl
|
||||
siemens_coefficient = 0.35
|
||||
action_button_name = "Flip Pilot Visor"
|
||||
|
||||
@@ -59,7 +59,11 @@
|
||||
slot_r_hand_str = "det_hat"
|
||||
)
|
||||
allowed = list(/obj/item/reagent_containers/food/snacks/candy_corn, /obj/item/pen)
|
||||
armor = list(melee = 50, bullet = 5, laser = 25,energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/head/det/grey
|
||||
|
||||
@@ -535,8 +535,9 @@
|
||||
icon_state = "greyutility"
|
||||
item_state = "greyutility"
|
||||
contained_sprite = 1
|
||||
armor = list(melee = 10, bullet = 10, laser = 10,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
/obj/item/clothing/head/navy/marine
|
||||
name = "sol marine utility cover"
|
||||
desc = "An eight pointed cover issued to Sol Alliance marines as part of their field uniform."
|
||||
@@ -591,7 +592,13 @@
|
||||
icon = 'icons/obj/sol_uniform.dmi'
|
||||
icon_state = "helmet_tac_sol"
|
||||
item_state = "helmet_tac_sol"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
contained_sprite = 1
|
||||
|
||||
/obj/item/clothing/head/nonla
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 1000)
|
||||
var/up = 0
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
action_button_name = "Flip Welding Mask"
|
||||
|
||||
@@ -93,7 +93,12 @@
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
armor = list(melee = 60, bullet = 50, laser = 20, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
allow_hair_covering = FALSE
|
||||
desc_fluff = "The Feudal Era of Amohda is famous for the steel swords which became common. Many renowned swordsmen and famous warriors would travel the land fighting duels of \
|
||||
single combat in their quests to become the greatest swordsman. Modern Amohda is a mix between loyalists to the NKA and to the DPRA, with almost universal praise for a return to \
|
||||
@@ -108,4 +113,9 @@
|
||||
icon_state = "kettle"
|
||||
item_state = "kettle"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 50, bullet = 50, laser = 20, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
icon_state = "balaclava_blue"
|
||||
item_state = "balaclava_blue"
|
||||
germ_level = 0
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_STRONG
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/luchador
|
||||
name = "luchador mask"
|
||||
|
||||
@@ -12,7 +12,9 @@
|
||||
siemens_coefficient = 0.9
|
||||
var/gas_filter_strength = 1 //For gas mask filters
|
||||
var/list/filtered_gases = list(GAS_PHORON, GAS_N2O)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_STRONG
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/gas/filter_air(datum/gas_mixture/air)
|
||||
var/datum/gas_mixture/filtered = new
|
||||
@@ -45,7 +47,9 @@
|
||||
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply."
|
||||
icon_state = "plaguedoctor"
|
||||
item_state = "plaguedoctor"
|
||||
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_SHIELDED
|
||||
)
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
|
||||
/obj/item/clothing/mask/gas/swat
|
||||
@@ -112,4 +116,9 @@
|
||||
icon_state = "fullgas"
|
||||
item_state = "fullgas"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
armor = list(melee = 25, bullet = 10, laser = 25, energy = 25, bomb = 0, bio = 50, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bio = ARMOR_BIO_STRONG
|
||||
)
|
||||
@@ -37,7 +37,9 @@
|
||||
item_flags = FLEXIBLEMATERIAL
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
down_gas_transfer_coefficient = 1
|
||||
down_body_parts_covered = null
|
||||
adjustable = TRUE
|
||||
@@ -57,7 +59,9 @@
|
||||
item_flags = FLEXIBLEMATERIAL
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 15, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
down_gas_transfer_coefficient = 1
|
||||
down_body_parts_covered = null
|
||||
adjustable = TRUE
|
||||
@@ -72,7 +76,9 @@
|
||||
item_flags = FLEXIBLEMATERIAL
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 15, rad = 10)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
down_gas_transfer_coefficient = 1
|
||||
down_body_parts_covered = null
|
||||
adjustable = TRUE
|
||||
|
||||
@@ -99,7 +99,9 @@
|
||||
desc = "A pair of green and white shoes intended for safety around patients."
|
||||
icon_state = "doctor"
|
||||
item_state = "green"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 80, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/science
|
||||
name = "scientist shoes"
|
||||
@@ -115,7 +117,9 @@
|
||||
icon_state = "chemist"
|
||||
item_state = "orange"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/biochem
|
||||
name = "protective shoes"
|
||||
@@ -123,7 +127,9 @@
|
||||
icon_state = "biochem"
|
||||
item_state = "red"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/psych
|
||||
name = "psychologist shoes"
|
||||
@@ -131,7 +137,9 @@
|
||||
icon_state = "psych"
|
||||
item_state = "blue"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/surgeon
|
||||
name = "surgeon shoes"
|
||||
@@ -139,7 +147,9 @@
|
||||
icon_state = "surgeon"
|
||||
item_state = "blue"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/trauma
|
||||
name = "trauma physician shoes"
|
||||
@@ -147,7 +157,9 @@
|
||||
icon_state = "trauma"
|
||||
item_state = "black"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/flats
|
||||
desc = "A pair of black, low-heeled women's flats."
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
icon_state = "jackboots"
|
||||
item_state = "jackboots"
|
||||
force = 3
|
||||
armor = list(melee = 20, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
can_hold_knife = TRUE
|
||||
build_from_parts = TRUE
|
||||
@@ -59,7 +61,12 @@
|
||||
icon_state = "workboots"
|
||||
item_state = "workboots"
|
||||
force = 3
|
||||
armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
can_hold_knife = TRUE
|
||||
build_from_parts = TRUE
|
||||
|
||||
@@ -5,7 +5,13 @@
|
||||
item_state = "jackboots"
|
||||
body_parts_covered = LEGS|FEET
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
force = 3
|
||||
drop_sound = 'sound/items/drop/boots.ogg'
|
||||
@@ -24,18 +30,36 @@
|
||||
desc = "These will protect your legs and feet from energy weapons."
|
||||
icon_state = "leg_guards_laser"
|
||||
siemens_coefficient = 0
|
||||
armor = list(melee = 25, bullet = 25, laser = 80, energy = 40, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/leg_guard/bulletproof
|
||||
name = "ballistic leg guards"
|
||||
desc = "These will protect your legs and feet from ballistic weapons."
|
||||
icon_state = "leg_guards_bullet"
|
||||
armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/leg_guard/riot
|
||||
name = "riot leg guards"
|
||||
desc = "These will protect your legs and feet from close combat weapons."
|
||||
armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/leg_guard/merc
|
||||
name = "heavy leg guards"
|
||||
@@ -44,5 +68,11 @@
|
||||
item_state = "legguards"
|
||||
icon_state = "legguards"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
species_restricted = null
|
||||
|
||||
@@ -23,7 +23,14 @@
|
||||
icon_state = "swat"
|
||||
item_state = "swat"
|
||||
force = 5
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
item_flags = NOSLIP
|
||||
siemens_coefficient = 0.5
|
||||
can_hold_knife = TRUE
|
||||
@@ -38,7 +45,14 @@
|
||||
icon_state = "jungle"
|
||||
item_state = "jungle"
|
||||
force = 5
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
item_flags = NOSLIP
|
||||
siemens_coefficient = 0.35
|
||||
can_hold_knife = TRUE
|
||||
@@ -208,7 +222,10 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
heat_protection = FEET|LEGS
|
||||
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR,
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
can_hold_knife = TRUE
|
||||
build_from_parts = TRUE
|
||||
@@ -227,7 +244,9 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
icon_state = "caligae"
|
||||
item_state = "caligae"
|
||||
force = 5
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
body_parts_covered = FEET|LEGS
|
||||
species_restricted = null
|
||||
sprite_sheets = list(
|
||||
@@ -254,7 +273,9 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
desc = "The standard Unathi marching footwear. These are made for heavier conditions, featuring tough and waterproof eel-leather covering, offering far greater protection."
|
||||
desc_fluff = "These traditional Unathi footwear have remained relatively unchanged in principle, with improved materials and construction being the only notable change. This pair is reinforced with leather of the Zazehal, a Moghesian species of eel that can grow up to twenty five feet long. Typically, Zazehal Festivals are thrown every month of the warm season in which Unathi strew freshly killed birds across the shoreline and collect these creatures with baskets. The fungi that grow on their skin is harvested and used as an exotic seasoning, and their skin is used for its' incredibly durable, shark-like leather."
|
||||
icon_state = "eelcaligae"
|
||||
armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/shoes/carp
|
||||
@@ -274,4 +295,6 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
icon_state = "surgeon"
|
||||
item_state = "blue"
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 90, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
icon = 'icons/obj/vaurca_items.dmi'
|
||||
icon_state = "vaurca_shoes"
|
||||
item_state = "vaurca_shoes"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
body_parts_covered = FEET
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
contained_sprite = TRUE
|
||||
|
||||
@@ -8,7 +8,15 @@
|
||||
slot_l_hand_str = "syndicate-helm-black-red",
|
||||
slot_r_hand_str = "syndicate-helm-black-red"
|
||||
)
|
||||
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
|
||||
flags_inv = BLOCKHAIR
|
||||
siemens_coefficient = 0.6
|
||||
@@ -21,7 +29,11 @@
|
||||
icon_state = "beret_sec"
|
||||
item_state = "beret_sec"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR
|
||||
)
|
||||
item_flags = STOPPRESSUREDAMAGE
|
||||
flags_inv = BLOCKHAIR
|
||||
siemens_coefficient = 0.9
|
||||
@@ -51,7 +63,15 @@
|
||||
desc = "Yarr."
|
||||
icon_state = "pirate"
|
||||
item_state = "pirate"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
item_flags = STOPPRESSUREDAMAGE
|
||||
flags_inv = BLOCKHAIR
|
||||
body_parts_covered = 0
|
||||
@@ -65,7 +85,15 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
||||
slowdown = 0
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.4
|
||||
body_parts_covered = UPPER_TORSO|ARMS
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
/obj/item/rig
|
||||
|
||||
name = "hardsuit control module"
|
||||
icon = 'icons/obj/rig_modules.dmi'
|
||||
desc = "A back-mounted hardsuit deployment and control mechanism."
|
||||
@@ -17,7 +16,15 @@
|
||||
w_class = ITEMSIZE_LARGE
|
||||
|
||||
// These values are passed on to all component pieces.
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
@@ -3,7 +3,15 @@
|
||||
desc = "A cheap NT knock-off of an Unathi battle-hardsuit. Looks like a fish, moves like a fish, steers like a cow."
|
||||
suit_type = "NT breacher"
|
||||
icon_state = "breacher_rig_cheap"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 70, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
emp_protection = -20
|
||||
slowdown = 6
|
||||
@@ -22,7 +30,15 @@
|
||||
desc = "An authentic Unathi breacher chassis. Huge, bulky and absurdly heavy. It must be like wearing a tank."
|
||||
suit_type = "breacher chassis"
|
||||
icon_state = "breacher_rig"
|
||||
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 80) //Takes TEN TIMES as much damage to stop someone in a breacher. In exchange, it's slow.
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_AP,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_STRONG,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
vision_restriction = 0
|
||||
slowdown = 4
|
||||
@@ -46,7 +62,15 @@
|
||||
desc = "An ancient piece of equipment from a bygone age, This highly advanced Vaurcan technology rarely sees use outside of a battlefield."
|
||||
suit_type = "combat exoskeleton"
|
||||
icon_state = "vaurca_rig"
|
||||
armor = list(melee = 65, bullet = 65, laser = 100, energy = 100, bomb = 90, bio = 100, rad = 80)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HEAVY,
|
||||
energy = ARMOR_ENERGY_SHIELDED,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
vision_restriction = 0
|
||||
slowdown = 2
|
||||
@@ -88,7 +112,15 @@
|
||||
special unit designated to withstand the numerical disadvantages and prolonged engagements special forces of the Republic often faces."
|
||||
suit_type = "tesla suit"
|
||||
icon_state = "tesla_rig"
|
||||
armor = list(melee = 70, bullet = 50, laser = 35, energy = 15, bomb = 55, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
vision_restriction = 0
|
||||
slowdown = 2
|
||||
|
||||
@@ -3,7 +3,15 @@
|
||||
desc = "A sleek and dangerous hardsuit for active combat."
|
||||
icon_state = "combat_rig"
|
||||
suit_type = "combat hardsuit"
|
||||
armor = list(melee = 70, bullet = 55, laser = 45, energy = 15, bomb = 75, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -35,7 +43,15 @@
|
||||
desc = "A powerful hardsuit designed for military operations."
|
||||
icon_state = "military_rig"
|
||||
suit_type = "military hardsuit"
|
||||
armor = list(melee = 80, bullet = 75, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -87,7 +103,15 @@
|
||||
desc = "An old repurposed construction exoskeleton redesigned for combat. Its colors and insignias match those of the Tau Ceti Foreign Legion."
|
||||
icon_state = "legion_rig"
|
||||
suit_type = "retrofitted military hardsuit"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 40, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
slowdown = 2
|
||||
offline_slowdown = 4
|
||||
@@ -131,7 +155,15 @@
|
||||
desc = "A favorite of Coalition rangers, the Gunslinger suit is a sturdy hardsuit meant to provide the user absolute situational awareness."
|
||||
icon_state = "gunslinger"
|
||||
suit_type = "gunslinger hardsuit"
|
||||
armor = list(melee = 50, bullet = 60, laser = 40, energy = 30, bomb = 30, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 2
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -171,7 +203,15 @@
|
||||
desc = "An expensive hardsuit utilized by Eridani security contractors to field heavy weapons and coordinate non-lethal takedowns directly. Usually seen spearheading police raids."
|
||||
icon_state = "strikesuit"
|
||||
suit_type = "strike hardsuit"
|
||||
armor = list(melee = 80, bullet = 45, laser = 45, energy = 25, bomb = 25, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 2
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -213,7 +253,15 @@
|
||||
desc = "An advanced Elyran hardsuit specialized in scorched earth tactics."
|
||||
icon_state = "elyran_rig"
|
||||
suit_type = "elyran battlesuit"
|
||||
armor = list(melee = 60, bullet = 40, laser = 60, energy = 60, bomb = 25, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 2
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -255,7 +303,15 @@
|
||||
desc = "A powerful niche-function hardsuit utilized by Ceres' Lance to apprehend synthetics. Unstoppable in the right circumstances, and nothing more than a burden anywhere else."
|
||||
icon_state = "bunker"
|
||||
suit_type = "bunker suit"
|
||||
armor = list(melee = 80, bullet = 80, laser = 80, energy = 80, bomb = 25, bio = 25, rad = 25)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_SHIELDED,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
emp_protection = -30
|
||||
slowdown = 8
|
||||
@@ -284,7 +340,15 @@
|
||||
desc = "An off-shoot of the core Bunker Suit design, utilized by the Imperial Dominian military and painted accordingly. This is a powerful suit specializing in melee confrontations."
|
||||
icon_state = "jinxiang"
|
||||
suit_type = "jinxiang combat suit"
|
||||
armor = list(melee = 80, bullet = 40, laser = 30, energy = 20, bomb = 15, bio = 100, rad = 25)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
offline_slowdown = 10
|
||||
|
||||
|
||||
@@ -10,7 +10,15 @@
|
||||
emp_protection = 35
|
||||
helm_type = /obj/item/clothing/head/helmet/space/rig/ert
|
||||
req_access = list(access_cent_specops)
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
allowed = list(
|
||||
/obj/item/device/flashlight, /obj/item/tank, /obj/item/device/t_scanner, /obj/item/rfd/construction, /obj/item/crowbar, \
|
||||
@@ -33,7 +41,15 @@
|
||||
suit_type = "ERT engineer"
|
||||
icon_state = "ert_engineer_rig"
|
||||
emp_protection = 30
|
||||
armor = list(melee = 55, bullet = 45, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
glove_type = /obj/item/clothing/gloves/rig/eva
|
||||
initial_modules = list(
|
||||
/obj/item/rig_module/ai_container,
|
||||
@@ -51,7 +67,15 @@
|
||||
suit_type = "ERT medic"
|
||||
icon_state = "ert_medical_rig"
|
||||
emp_protection = 30
|
||||
armor = list(melee = 55, bullet = 45, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
initial_modules = list(
|
||||
/obj/item/rig_module/ai_container,
|
||||
/obj/item/rig_module/vision/medhud,
|
||||
@@ -69,7 +93,15 @@
|
||||
suit_type = "ERT security"
|
||||
icon_state = "ert_security_rig"
|
||||
emp_protection = 30
|
||||
armor = list(melee = 65, bullet = 55, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 80)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
initial_modules = list(
|
||||
/obj/item/rig_module/ai_container,
|
||||
/obj/item/rig_module/vision/sechud,
|
||||
@@ -93,7 +125,15 @@
|
||||
/obj/item/rig_module/device/decompiler,
|
||||
/obj/item/rig_module/actuators
|
||||
)
|
||||
armor = list(melee = 55, bullet = 45, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL
|
||||
|
||||
/obj/item/rig/ert/assetprotection
|
||||
@@ -101,7 +141,15 @@
|
||||
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)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SHIELDED,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_STRONG,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
slowdown = 0
|
||||
emp_protection = 50
|
||||
|
||||
|
||||
@@ -5,7 +5,13 @@
|
||||
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)
|
||||
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_MELEE_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
emp_protection = 10
|
||||
slowdown = 0
|
||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
|
||||
@@ -92,7 +98,15 @@
|
||||
suit_type = "stealth suit"
|
||||
desc = "A unique, vacuum-proof suit of nano-enhanced armor designed specifically for stealth operations."
|
||||
icon_state = "ninja_rig"
|
||||
armor = list(melee = 50, bullet = 45, laser = 45, energy = 30, bomb = 35, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
emp_protection = 40
|
||||
slowdown = 0
|
||||
|
||||
@@ -158,7 +172,15 @@
|
||||
suit_type = "stealth"
|
||||
desc = "A highly advanced and expensive suit designed for covert operations."
|
||||
icon_state = "stealth_rig"
|
||||
armor = list(melee = 45, bullet = 20, laser = 50, energy = 10, bomb = 25, bio = 30, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
|
||||
req_access = list(access_syndicate)
|
||||
|
||||
@@ -175,7 +197,10 @@
|
||||
desc = "A compact exoskeleton that hugs the body tightly and has various inbuilt utilities for life support."
|
||||
icon_state = "offworlder_rig"
|
||||
allowed = list(/obj/item/tank, /obj/item/device/flashlight)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 5, rad = 5)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
airtight = 0
|
||||
seal_delay = 5
|
||||
helm_type = /obj/item/clothing/head/lightrig/offworlder
|
||||
@@ -207,7 +232,15 @@
|
||||
desc = "A sleek hardsuit used by the Coalition forces of the Techno-Conglomerate."
|
||||
icon_state = "techno_rig"
|
||||
suit_type = "techno-conglomerate mobility hardsuit"
|
||||
armor = list(melee = 40, bullet = 20, laser = 30, energy = 15, bomb = 40, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
|
||||
slowdown = -1
|
||||
offline_slowdown = 0
|
||||
|
||||
@@ -8,7 +8,15 @@
|
||||
desc = "A blood-red hardsuit featuring some fairly illegal technology."
|
||||
icon_state = "merc_rig"
|
||||
suit_type = "crimson hardsuit"
|
||||
armor = list(melee = 80, bullet = 65, laser = 50, energy = 15, bomb = 80, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -64,7 +72,15 @@
|
||||
desc = "A combat hardsuit utilized by many private military companies, packing some seriously heavy plating."
|
||||
icon_state = "rhino"
|
||||
suit_type = "rhino hardsuit"
|
||||
armor = list(melee = 80, bullet = 75, laser = 30, energy = 15, bomb = 80, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
|
||||
@@ -65,7 +65,15 @@
|
||||
suit_type = "industrial hardsuit"
|
||||
desc = "A heavy, powerful hardsuit used by construction crews and mining corporations."
|
||||
icon_state = "industrial_rig"
|
||||
armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
slowdown = 2
|
||||
offline_slowdown = 7
|
||||
@@ -104,7 +112,15 @@
|
||||
suit_type = "EVA hardsuit"
|
||||
desc = "A light hardsuit for repairs and maintenance to the outside of habitats and vessels."
|
||||
icon_state = "eva_rig"
|
||||
armor = list(melee = 30, bullet = 10, laser = 20, energy = 25, bomb = 20, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
slowdown = 0
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
@@ -140,12 +156,19 @@
|
||||
camera = /obj/machinery/camera/network/mercenary
|
||||
|
||||
/obj/item/rig/ce
|
||||
|
||||
name = "advanced voidsuit control module"
|
||||
suit_type = "advanced voidsuit"
|
||||
desc = "An advanced voidsuit that protects against hazardous, low pressure environments. Shines with a high polish."
|
||||
icon_state = "ce_rig"
|
||||
armor = list(melee = 40, bullet = 10, laser = 30,energy = 25, bomb = 40, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
slowdown = 0
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = 0
|
||||
@@ -177,12 +200,19 @@
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/rig/hazmat
|
||||
|
||||
name = "AMI control module"
|
||||
suit_type = "hazmat hardsuit"
|
||||
desc = "An Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
|
||||
icon_state = "hazmat_rig"
|
||||
armor = list(melee = 45, bullet = 5, laser = 40, energy = 65, bomb = 60, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_STRONG,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.50
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
emp_protection = 40
|
||||
@@ -211,7 +241,15 @@
|
||||
suit_type = "rescue hardsuit"
|
||||
desc = "A durable suit designed for medical rescue in high risk areas."
|
||||
icon_state = "medical_rig"
|
||||
armor = list(melee = 30, bullet = 15, laser = 20, energy = 60, bomb = 30, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.50
|
||||
slowdown = 0
|
||||
offline_slowdown = 2
|
||||
@@ -243,7 +281,15 @@
|
||||
suit_type = "hazard hardsuit"
|
||||
desc = "A security hardsuit designed for prolonged EVA in dangerous environments."
|
||||
icon_state = "hazard_rig"
|
||||
armor = list(melee = 60, bullet = 45, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 45)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
|
||||
@@ -279,7 +325,15 @@
|
||||
suit_type = "diving suit"
|
||||
desc = "A heavy hardsuit designated for operations under the water, you are not sure what it is doing here however."
|
||||
icon_state = "diving_rig"
|
||||
armor = list(melee = 30, bullet = 10, laser = 20, energy = 25, bomb = 20, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
slowdown = 3
|
||||
offline_slowdown = 4
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
|
||||
@@ -3,8 +3,16 @@
|
||||
desc = "A robust synth exoskeleton outfitted with state of the art infiltration tools. Creepy."
|
||||
icon_state = "terminator_rig"
|
||||
suit_type = "synthetic exoskeleton"
|
||||
armor = list(melee = 80, bullet = 75, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 30)
|
||||
siemens_coefficient = 0.0 // Ok this is the only exception. Got it? Good.
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_MELEE_MINOR,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0 // Ok this is the only exception. Got it? Good.
|
||||
offline_slowdown = 3
|
||||
offline_vision_restriction = TINT_HEAVY
|
||||
has_sealed_state = TRUE
|
||||
|
||||
@@ -12,7 +12,10 @@
|
||||
slot_r_hand_str = "s_helmet"
|
||||
)
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
cold_protection = HEAD
|
||||
@@ -41,8 +44,11 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit)
|
||||
slowdown = 3
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
||||
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
@@ -4,7 +4,15 @@
|
||||
icon_state = "syndicate"
|
||||
item_state = "syndicate"
|
||||
desc = "A crimson helmet sporting clean lines and durable plating. Engineered to look menacing."
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.5
|
||||
brightness_on = 6
|
||||
|
||||
@@ -16,7 +24,15 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
/obj/item/clothing/head/helmet/space/void/skrell
|
||||
name = "skrellian helmet"
|
||||
desc = "Smoothly contoured and polished to a shine. Still looks like a fishbowl."
|
||||
armor = list(melee = 20, bullet = 10, laser = 20,energy = 50, bomb = 50, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
species_restricted = list(BODYTYPE_SKRELL,BODYTYPE_HUMAN)
|
||||
siemens_coefficient = 0.5
|
||||
@@ -16,7 +24,15 @@
|
||||
/obj/item/clothing/suit/space/void/skrell
|
||||
name = "skrellian voidsuit"
|
||||
desc = "Seems like a wetsuit with reinforced plating seamlessly attached to it. Very chic."
|
||||
armor = list(melee = 20, bullet = 10, laser = 20,energy = 50, bomb = 50, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/pickaxe, /obj/item/rfd/construction)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
@@ -38,7 +54,15 @@
|
||||
desc = "A tajaran helmet used by the crew of the Republican Orbital Fleet."
|
||||
icon_state = "cosmo_suit"
|
||||
item_state = "cosmo_suit"
|
||||
armor = list(melee = 50, bullet = 50, laser = 30, energy = 15, bomb = 40, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
refittable = FALSE
|
||||
desc_fluff = "The People's Republic of Adhomai enjoys having the only militarized spaceships of all the factions on Adhomai. Initially they relied on contracting outside \
|
||||
@@ -51,7 +75,15 @@
|
||||
desc = "A tajaran voidsuit used by the crew of the Republican Orbital Fleet."
|
||||
icon_state = "cosmo_suit"
|
||||
item_state = "cosmo_suit"
|
||||
armor = list(melee = 50, bullet = 50, laser = 30, energy = 15, bomb = 40, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/tank,/obj/item/device/flashlight,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
refittable = FALSE
|
||||
|
||||
@@ -4,7 +4,15 @@
|
||||
icon_state = "capspace"
|
||||
item_state = "capspace"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Only for the most fashionable of military figureheads."
|
||||
armor = list(melee = 65, bullet = 50, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/suit/space/void/captain
|
||||
@@ -19,5 +27,13 @@
|
||||
w_class = ITEMSIZE_LARGE
|
||||
allowed = list(/obj/item/tank, /obj/item/device/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/handcuffs)
|
||||
slowdown = 1.5
|
||||
armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
@@ -8,7 +8,15 @@
|
||||
slot_l_hand_str = "syndie_helm",
|
||||
slot_r_hand_str = "syndie_helm"
|
||||
)
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
light_overlay = "merc_voidsuit_lights"
|
||||
@@ -27,7 +35,15 @@
|
||||
)
|
||||
slowdown = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_SKRELL, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
|
||||
@@ -3,7 +3,15 @@
|
||||
desc = "A sleek black space helmet designed for combat. Looks to be uniform with Sol Alliance colors."
|
||||
icon_state = "sol_helmet"
|
||||
item_state = "sol_helmet"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
|
||||
@@ -16,7 +24,15 @@
|
||||
icon_state = "sol_suit"
|
||||
item_state = "sol_suit"
|
||||
slowdown = 1
|
||||
armor = list(melee = 70, bullet = 55, laser = 45, energy = 15, bomb = 40, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -27,7 +43,15 @@
|
||||
desc = "A helmet resembling an avian, built for the Human head. Heavy and plated with plasteel across its faces."
|
||||
icon_state = "vulture"
|
||||
item_state = "vulture"
|
||||
armor = list(melee = 80, bullet = 70, laser = 20, energy = 5, bomb = 5, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
|
||||
@@ -40,7 +64,15 @@
|
||||
icon_state = "vulture"
|
||||
item_state = "vulture"
|
||||
slowdown = 3
|
||||
armor = list(melee = 80, bullet = 70, laser = 20, energy = 5, bomb = 5, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -52,7 +84,15 @@
|
||||
desc = "A silvery chrome, single visor space helmet with built-in peripherals and very bright fore lighting. A favorite of bounty hunters."
|
||||
icon_state = "eridani_suit"
|
||||
item_state = "eridani_suit"
|
||||
armor = list(melee = 50, bullet = 50, laser = 40, energy = 50, bomb = 50, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
@@ -64,7 +104,15 @@
|
||||
desc = "A silvery chrome voidsuit with neon highlights. Utilized by Eridani private military and police."
|
||||
icon_state = "eridani_suit"
|
||||
item_state = "eridani_suit"
|
||||
armor = list(melee = 50, bullet = 50, laser = 40, energy = 40, bomb = 50, bio = 100, rad = 30)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BOMB_RESISTANT,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/tank,/obj/item/device/flashlight,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -75,7 +123,15 @@
|
||||
desc = "A slot-eyed space helmet, sleek and designed for military purposes. Colored in Elyran military camouflage."
|
||||
icon_state = "valkyrie"
|
||||
item_state = "valkyrie"
|
||||
armor = list(melee = 60, bullet = 30, laser = 50, energy = 40, bomb = 60, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE + 10000
|
||||
@@ -87,7 +143,15 @@
|
||||
desc = "A pricey specialist voidsuit designed for atmospheric long jumping and combat. Colored in Elyran military camouflage."
|
||||
icon_state = "valkyrie"
|
||||
item_state = "valkyrie"
|
||||
armor = list(melee = 60, bullet = 30, laser = 50, energy = 40, bomb = 60, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
allowed = list(/obj/item/tank,/obj/item/device/flashlight,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -99,7 +163,15 @@
|
||||
desc = "A sleek helmet with a bright yellow visor, expertly made in and colored in the iconic branding of Ceres' Lance."
|
||||
icon_state = "lancer_suit"
|
||||
item_state = "lancer_suit"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
refittable = FALSE
|
||||
@@ -111,7 +183,15 @@
|
||||
item_state = "lancer_suit"
|
||||
slowdown = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -126,7 +206,15 @@
|
||||
item_state = "bansheehelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(melee = 35, bullet = 35, laser = 75,energy = 55, bomb = 25, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
light_overlay = "helmet_light_banshee"
|
||||
@@ -144,7 +232,15 @@
|
||||
contained_sprite = 1
|
||||
|
||||
slowdown = 1
|
||||
armor = list(melee = 35, bullet = 35, laser = 75,energy = 55, bomb = 25, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
@@ -160,7 +256,15 @@
|
||||
item_state = "dragonhelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(melee = 45, bullet = 15, laser = 35,energy = 25, bomb = 55, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
light_overlay = "helmet_light_dragon"
|
||||
@@ -178,7 +282,15 @@
|
||||
contained_sprite = 1
|
||||
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 15, laser = 35,energy = 25, bomb = 55, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
@@ -194,7 +306,15 @@
|
||||
item_state = "caimanhelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(melee = 75, bullet = 45, laser = 15,energy = 25, bomb = 75, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
light_overlay = "helmet_light_caiman"
|
||||
@@ -212,7 +332,15 @@
|
||||
contained_sprite = 1
|
||||
|
||||
slowdown = 2
|
||||
armor = list(melee = 75, bullet = 45, laser = 15,energy = 25, bomb = 75, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -228,7 +356,15 @@
|
||||
item_state = "revenanthelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(melee = 25, bullet = 65, laser = 35,energy = 25, bomb = 15, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
light_overlay = "helmet_light_revenant"
|
||||
@@ -245,7 +381,15 @@
|
||||
contained_sprite = 1
|
||||
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 25, bullet = 65, laser = 35,energy = 25, bomb = 15, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
@@ -257,7 +401,15 @@
|
||||
desc = "An older design of special operations voidsuit helmet utilized by private military corporations."
|
||||
icon_state = "rig0-freelancer"
|
||||
|
||||
armor = list(melee = 65, bullet = 55, laser = 20,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
light_overlay = "freelancer_light"
|
||||
@@ -272,7 +424,15 @@
|
||||
|
||||
slowdown = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 65, bullet = 55, laser = 20, energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_SKRELL, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
@@ -284,7 +444,15 @@
|
||||
icon_override = 'icons/mob/species/unathi/helmet.dmi'
|
||||
icon_state = "rig0-kataphract"
|
||||
item_state = "rig0-kataphract"
|
||||
armor = list(melee = 75, bullet = 45, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 80)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
refittable = FALSE
|
||||
@@ -298,7 +466,15 @@
|
||||
item_state = "rig-kataphract"
|
||||
slowdown = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 75, bullet = 45, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 80)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
@@ -336,7 +512,15 @@
|
||||
item_state = "prejoroubhelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(melee = 65, bullet = 55, laser = 25,energy = 25, bomb = 15, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
brightness_on = 6
|
||||
@@ -350,7 +534,15 @@
|
||||
contained_sprite = 1
|
||||
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(melee = 65, bullet = 55, laser = 25,energy = 25, bomb = 15, bio = 100, rad = 15)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
|
||||
@@ -7,8 +7,15 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "eng_helm",
|
||||
slot_r_hand_str = "eng_helm"
|
||||
)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
light_overlay = "helmet_light_dual_low"
|
||||
brightness_on = 6
|
||||
|
||||
@@ -22,7 +29,14 @@
|
||||
slot_l_hand_str = "eng_hardsuit",
|
||||
slot_r_hand_str = "eng_hardsuit"
|
||||
)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/pickaxe,/obj/item/material/twohanded/fireaxe,/obj/item/rfd/construction)
|
||||
|
||||
//Mining rig
|
||||
@@ -33,8 +47,15 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "mining_helm",
|
||||
slot_r_hand_str = "mining_helm"
|
||||
)
|
||||
armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
light_overlay = "merc_voidsuit_lights"
|
||||
brightness_on = 6
|
||||
|
||||
@@ -47,7 +68,14 @@
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating."
|
||||
item_state = "rig-mining"
|
||||
icon_state = "rig-mining"
|
||||
armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/pickaxe, /obj/item/gun/custom_ka, /obj/item/gun/energy/vaurca/thermaldrill,/obj/item/rfd/mining)
|
||||
|
||||
//Medical Rig
|
||||
@@ -58,8 +86,14 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "medical_helm",
|
||||
slot_r_hand_str = "medical_helm"
|
||||
)
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
light_overlay = "helmet_light_dual_low"
|
||||
brightness_on = 6
|
||||
|
||||
@@ -72,8 +106,14 @@
|
||||
slot_l_hand_str = "medical_hardsuit",
|
||||
slot_r_hand_str = "medical_hardsuit"
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/device/breath_analyzer,/obj/item/material/twohanded/fireaxe)
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50)
|
||||
|
||||
//Security
|
||||
/obj/item/clothing/head/helmet/space/void/security
|
||||
@@ -83,8 +123,15 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "sec_helm",
|
||||
slot_r_hand_str = "sec_helm"
|
||||
)
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
light_overlay = "helmet_light_dual_low"
|
||||
brightness_on = 6
|
||||
|
||||
@@ -97,10 +144,17 @@
|
||||
slot_l_hand_str = "sec_hardsuit",
|
||||
slot_r_hand_str = "sec_hardsuit"
|
||||
)
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/melee/baton)
|
||||
|
||||
//Atmospherics Rig (BS12)
|
||||
//Atmospherics Rig
|
||||
/obj/item/clothing/head/helmet/space/void/atmos
|
||||
desc = "A special helmet designed for work in a hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding."
|
||||
name = "atmospherics voidsuit helmet"
|
||||
@@ -108,8 +162,15 @@
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "atmos_helm",
|
||||
slot_r_hand_str = "atmos_helm"
|
||||
)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE + 10000 // It is a suit designed for fire, enclosed
|
||||
light_overlay = "helmet_light_dual_low"
|
||||
brightness_on = 6
|
||||
@@ -123,7 +184,14 @@
|
||||
slot_l_hand_str = "atmos_hardsuit",
|
||||
slot_r_hand_str = "atmos_hardsuit"
|
||||
)
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/pickaxe,/obj/item/material/twohanded/fireaxe,/obj/item/rfd/construction)
|
||||
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE + 10000 // It is a suit designed for fire, enclosed
|
||||
|
||||
@@ -136,7 +204,14 @@
|
||||
slot_l_hand_str = "sec_helm",
|
||||
slot_r_hand_str = "sec_helm"
|
||||
)
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
light_overlay = "helmet_light_dual"
|
||||
|
||||
/obj/item/clothing/suit/space/void/hos
|
||||
@@ -148,7 +223,14 @@
|
||||
slot_l_hand_str = "sec_hardsuit",
|
||||
slot_r_hand_str = "sec_hardsuit"
|
||||
)
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/melee/baton)
|
||||
|
||||
//Science
|
||||
@@ -157,7 +239,13 @@
|
||||
desc = "A special helmet designed for usage by NanoTrasen research personnel in hazardous, low pressure environments."
|
||||
icon_state = "rig0-sci"
|
||||
item_state = "research_voidsuit_helmet"
|
||||
armor = list(melee = 20, bullet = 5, laser = 30, energy = 45, bomb = 25, bio = 100, rad = 75)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/space/void/sci
|
||||
name = "research voidsuit"
|
||||
@@ -165,4 +253,10 @@
|
||||
item_state = "rig-sci"
|
||||
icon_state = "rig-sci"
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit)
|
||||
armor = list(melee = 20, bullet = 5, laser = 30, energy = 45, bomb = 25, bio = 100, rad = 75)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
@@ -5,7 +5,15 @@
|
||||
icon_state = "void"
|
||||
|
||||
heat_protection = HEAD
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
@@ -17,14 +25,14 @@
|
||||
BODYTYPE_SKRELL = 'icons/mob/species/skrell/helmet.dmi',
|
||||
BODYTYPE_VAURCA = 'icons/mob/species/vaurca/helmet.dmi',
|
||||
BODYTYPE_IPC = 'icons/mob/species/machine/helmet.dmi'
|
||||
)
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
BODYTYPE_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi',
|
||||
BODYTYPE_TAJARA = 'icons/obj/clothing/species/tajaran/hats.dmi',
|
||||
BODYTYPE_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi',
|
||||
BODYTYPE_VAURCA = 'icons/obj/clothing/species/vaurca/hats.dmi',
|
||||
BODYTYPE_IPC = 'icons/obj/clothing/species/machine/hats.dmi'
|
||||
)
|
||||
)
|
||||
|
||||
light_overlay = "helmet_light"
|
||||
|
||||
@@ -34,7 +42,15 @@
|
||||
item_state = "void"
|
||||
desc = "A high-tech dark red space suit. Used for AI satellite maintenance."
|
||||
slowdown = 1
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
@@ -47,14 +63,14 @@
|
||||
BODYTYPE_SKRELL = 'icons/mob/species/skrell/suit.dmi',
|
||||
BODYTYPE_VAURCA = 'icons/mob/species/vaurca/suit.dmi',
|
||||
BODYTYPE_IPC = 'icons/mob/species/machine/suit.dmi'
|
||||
)
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
BODYTYPE_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi',
|
||||
BODYTYPE_TAJARA = 'icons/obj/clothing/species/tajaran/suits.dmi',
|
||||
BODYTYPE_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi',
|
||||
BODYTYPE_VAURCA = 'icons/obj/clothing/species/vaurca/suits.dmi',
|
||||
BODYTYPE_IPC= 'icons/obj/clothing/species/machine/suits.dmi'
|
||||
)
|
||||
)
|
||||
|
||||
action_button_name = "Toggle Helmet"
|
||||
var/helmet_deploy_sound = 'sound/items/helmet_close.ogg'
|
||||
|
||||
@@ -63,7 +63,13 @@
|
||||
icon_state = "armor"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/fib
|
||||
name = "\improper FIB armored vest"
|
||||
@@ -77,7 +83,13 @@
|
||||
icon_state = "jensencoat"
|
||||
item_state = "jensencoat"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 65, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/handcuffs, /obj/item/device/flashlight)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/armor/hos/Initialize()
|
||||
@@ -93,7 +105,13 @@
|
||||
icon_state = "riot_vest"
|
||||
item_state = "riot_vest"
|
||||
slowdown = 1
|
||||
armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
pocket_slots = 4
|
||||
|
||||
@@ -103,7 +121,13 @@
|
||||
icon_state = "bulletproof_armor"
|
||||
item_state = "bulletproof_armor"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_AP,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
pocket_slots = 4
|
||||
|
||||
@@ -113,7 +137,12 @@
|
||||
icon_state = "armor_reflec"
|
||||
item_state = "armor_reflec"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 25, bullet = 25, laser = 80, energy = 40, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_RIFLES,
|
||||
energy = ARMOR_ENERGY_RESISTANT
|
||||
)
|
||||
siemens_coefficient = 0
|
||||
pocket_slots = 4
|
||||
|
||||
@@ -148,8 +177,16 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
||||
slowdown = 1
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 100)
|
||||
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.35
|
||||
@@ -175,7 +212,7 @@
|
||||
item_state = "reactiveoff"
|
||||
blood_overlay_type = "armor"
|
||||
slowdown = 1
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = null
|
||||
|
||||
/obj/item/clothing/suit/armor/reactive/handle_shield(mob/user, var/on_back, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
|
||||
if(prob(50))
|
||||
@@ -225,7 +262,13 @@
|
||||
var/obj/item/gun/holstered = null
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
var/obj/item/clothing/accessory/holster/holster
|
||||
|
||||
@@ -278,7 +321,13 @@
|
||||
icon_state = "ertarmor_cmd"
|
||||
item_state = "armor"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
//Commander
|
||||
@@ -310,9 +359,15 @@
|
||||
desc = "A simple kevlar plate carrier."
|
||||
icon_state = "kvest"
|
||||
item_state = "kvest"
|
||||
armor = list(melee = 50, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
||||
siemens_coefficient = 0.5
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/Initialize()
|
||||
. = ..()
|
||||
@@ -341,8 +396,6 @@
|
||||
item_state = "hosvest_nobadge"
|
||||
icon_badge = "hosvest_badge"
|
||||
icon_nobadge = "hosvest_nobadge"
|
||||
armor = list(melee = 65, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/pcrc
|
||||
name = "PCRC armor vest"
|
||||
desc = "A simple kevlar plate carrier belonging to Proxima Centauri Risk Control. This one has a PCRC crest clipped to the chest."
|
||||
@@ -373,15 +426,25 @@
|
||||
icon_state = "hazard_cadet"
|
||||
item_state = "hazard_cadet"
|
||||
allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
||||
armor = list(melee = 10, bullet = 0, laser = 10, energy = 10, bomb = 10, bio = 0, rad = 0)
|
||||
siemens_coefficient = 0.5
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/heavy
|
||||
name = "heavy armor vest"
|
||||
desc = "A heavy kevlar plate carrier with webbing attached."
|
||||
icon_state = "webvest"
|
||||
item_state = "webvest"
|
||||
armor = list(melee = 50, bullet = 40, laser = 50, energy = 25, bomb = 30, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
)
|
||||
slowdown = 1
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
@@ -408,7 +471,13 @@
|
||||
item_state = "hoswebvest_nobadge"
|
||||
icon_badge = "hoswebvest_badge"
|
||||
icon_nobadge = "hoswebvest_nobadge"
|
||||
armor = list(melee = 65, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_BALLISTIC_PISTOL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/heavy/pcrc
|
||||
name = "PCRC heavy armor vest"
|
||||
@@ -426,7 +495,13 @@
|
||||
item_state = "vest"
|
||||
icon_state = "vest"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
//ert related armor
|
||||
@@ -437,7 +512,13 @@
|
||||
icon_state = "ert_soldier"
|
||||
item_state = "ert_soldier"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_RIFLE,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
slowdown = 0
|
||||
|
||||
@@ -483,7 +564,13 @@
|
||||
item_state = "unathi_armor"
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/suit/armor/unathi/hegemony
|
||||
@@ -491,7 +578,13 @@
|
||||
desc = "A highly armored chestplate designated to be worn by an Unathi, a newer variant commonly worn by the Hegemony Levies."
|
||||
icon_state = "hegemony_armor"
|
||||
item_state = "hegemony_armor"
|
||||
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
|
||||
// Vaurca version of Unathi armor
|
||||
/obj/item/clothing/suit/armor/unathi/klax
|
||||
@@ -503,8 +596,15 @@
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
allowed = list(/obj/item/gun/projectile, /obj/item/gun/energy, /obj/item/gun/launcher, /obj/item/melee, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/handcuffs, /obj/item/device/flashlight)
|
||||
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
||||
siemens_coefficient = 0.35
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/legion
|
||||
name = "foreign legion armored suit"
|
||||
@@ -512,7 +612,6 @@
|
||||
icon_state = "legion_armor"
|
||||
item_state = "legion_armor"
|
||||
body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS
|
||||
armor = list(melee = 50, bullet = 30, laser = 30, energy = 15, bomb = 40, bio = 0, rad = 0)
|
||||
siemens_coefficient = 0.35
|
||||
allowed = list(
|
||||
/obj/item/gun,
|
||||
@@ -523,7 +622,14 @@
|
||||
/obj/item/handcuffs,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/material/twohanded/pike/flag
|
||||
)
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/vest/legion/legate
|
||||
name = "foreign legion legate coat"
|
||||
@@ -544,7 +650,13 @@
|
||||
icon = 'icons/obj/sol_uniform.dmi'
|
||||
icon_state = "solwebvest"
|
||||
item_state = "solwebvest"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_MAJOR,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
contained_sprite = 1
|
||||
|
||||
//All of the armor below is mostly unused
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
)
|
||||
desc = "A hood that protects the head and face from biological comtaminants."
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
siemens_coefficient = 0.75
|
||||
@@ -26,7 +29,10 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
slowdown = 1.0
|
||||
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/device/flashlight/pen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
|
||||
@@ -90,7 +90,9 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
hoodtype = /obj/item/clothing/head/winterhood
|
||||
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
blood_overlay_type = "coat"
|
||||
body_parts_covered = UPPER_TORSO|ARMS
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper, /obj/item/device/breath_analyzer)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
opened = TRUE // spawns opened
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/cmo
|
||||
@@ -14,19 +16,25 @@
|
||||
desc = "Bluer than the standard model."
|
||||
icon_state = "labcoat_cmo"
|
||||
item_state = "labcoat_cmo"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt
|
||||
name = "chief medical officer labcoat"
|
||||
desc = "A labcoat with command blue highlights."
|
||||
icon_state = "labcoat_cmoalt"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt2
|
||||
name = "chief medical officer labcoat"
|
||||
desc = "A labcoat with command gold highlights."
|
||||
icon_state = "labcoat_cmoalt2"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/genetics
|
||||
name = "geneticist labcoat"
|
||||
@@ -37,37 +45,31 @@
|
||||
name = "medical labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder."
|
||||
icon_state = "labcoat_med"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/pharmacist
|
||||
name = "pharmacist labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has an orange stripe on the shoulder."
|
||||
icon_state = "labcoat_chem"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/biochemist
|
||||
name = "protective labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a red stripe on the shoulder."
|
||||
icon_state = "labcoat_vir"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/psych
|
||||
name = "psychiatrist labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a teal stripe on the shoulder."
|
||||
icon_state = "labcoat_psych"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/surgeon
|
||||
name = "surgeon labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a light blue stripe on the shoulder."
|
||||
icon_state = "labcoat_surgeon"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/trauma
|
||||
name = "trauma physician labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a black stripe on the shoulder."
|
||||
icon_state = "labcoat_trauma"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/science
|
||||
name = "scientist labcoat"
|
||||
@@ -80,22 +82,21 @@
|
||||
icon_state = "iac_vest"
|
||||
item_state = "iac_vest"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 5, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/zeng
|
||||
name = "zeng-hu labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Zeng-Hu colours."
|
||||
icon_state = "labcoat_zeng"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi
|
||||
name = "Zavodskoi Interstellar labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Zavodskoi Interstellar colours."
|
||||
icon_state = "labcoat_necro"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/heph
|
||||
name = "hephaestus labcoat"
|
||||
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Hephaestus colours."
|
||||
icon_state = "labcoat_heph"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
|
||||
|
||||
@@ -259,12 +259,20 @@
|
||||
desc = "A Tau Ceti Foreign Legion pilot's jacket. This is the more common, less durable variety, which typically finds itself percolating amongst all ranks of the TCFL."
|
||||
icon_state = "lflight"
|
||||
item_state = "lflight"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/leather_jacket/flight/legion/alt
|
||||
desc = "A Tau Ceti Foreign Legion pilot's jacket made from a silky, shiny nanonylon material and lined with tough, protective synthfabrics."
|
||||
armor = list(melee = 40, bullet = 10, laser = 20, energy = 10, bomb = 30, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/leather_jacket/military
|
||||
|
||||
@@ -59,7 +59,13 @@
|
||||
icon_state = "bombsuit"
|
||||
w_class = ITEMSIZE_HUGE//Too large to fit in a backpack
|
||||
item_flags = STOPPRESSUREDAMAGE|THICKMATERIAL|BLOCK_GAS_SMOKE_EFFECT
|
||||
armor = list(melee = 30, bullet = 20, laser = 25,energy = 30, bomb = 100, bio = 60, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
@@ -81,7 +87,13 @@
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
slowdown = 8
|
||||
armor = list(melee = 55, bullet = 55, laser = 55,energy = 60, bomb = 100, bio = 60, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_RESISTANT,
|
||||
bomb = ARMOR_BOMB_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.1
|
||||
item_flags = STOPPRESSUREDAMAGE|THICKMATERIAL
|
||||
flags_inv = HIDEJUMPSUIT|HIDETAIL
|
||||
@@ -177,7 +189,10 @@
|
||||
desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
|
||||
flags_inv = BLOCKHAIR
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
|
||||
|
||||
@@ -192,7 +207,10 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS|FEET
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas)
|
||||
slowdown = 1.5
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_RESISTANT,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
flags_inv = HIDEJUMPSUIT|HIDETAIL
|
||||
|
||||
|
||||
@@ -64,7 +64,15 @@
|
||||
item_state = "wizrobe"
|
||||
gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_MINOR,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/teleportation_scroll,/obj/item/scrying,/obj/item/spellbook,/obj/item/device/soulstone,/obj/item/material/knife/ritual)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
siemens_coefficient = 0.75
|
||||
@@ -109,7 +117,6 @@
|
||||
item_state = "gentlecoat"
|
||||
gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20)
|
||||
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/teleportation_scroll,/obj/item/scrying,/obj/item/spellbook,/obj/item/device/soulstone,/obj/item/material/knife/ritual)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
@@ -148,7 +148,12 @@
|
||||
allowed = list(/obj/item/gun,/obj/item/material/sword)
|
||||
flags_inv = HIDEJUMPSUIT|HIDETAIL
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
armor = list(melee = 60, bullet = 50, laser = 20, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
desc_fluff = "The Feudal Era of Amohda is famous for the steel swords which became common. Many renowned swordsmen and famous warriors would travel the land fighting duels of \
|
||||
single combat in their quests to become the greatest swordsman. Modern Amohda is a mix between loyalists to the NKA and to the DPRA, with almost universal praise for a return to \
|
||||
@@ -162,7 +167,12 @@
|
||||
icon_state = "cuirass"
|
||||
item_state = "cuirass"
|
||||
contained_sprite = TRUE
|
||||
armor = list(melee = 50, bullet = 50, laser = 20, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/tajaran/pra_jacket
|
||||
name = "republican service jacket"
|
||||
@@ -170,5 +180,10 @@
|
||||
icon_state = "greenservice"
|
||||
item_state = "greenservice"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
armor = list(melee = 30, bullet = 20, laser = 20, energy = 10, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_KNIVES,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR,
|
||||
energy = ARMOR_ENERGY_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.50
|
||||
@@ -83,7 +83,9 @@
|
||||
icon_state = "janitor"
|
||||
worn_state = "janitor"
|
||||
item_state = "janitor"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/lawyer
|
||||
desc = "Slick threads."
|
||||
@@ -139,7 +141,9 @@
|
||||
desc = "A uniform worn by Hephaestus Industries engineers."
|
||||
icon_state = "heph_engineer"
|
||||
worn_state = "heph_engineer"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
armor = list(
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/hephaestus/tech
|
||||
@@ -154,8 +158,9 @@
|
||||
icon_state = "heph_research"
|
||||
worn_state = "heph_research"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 10)
|
||||
|
||||
armor = list(
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
/obj/item/clothing/under/rank/zavodskoi
|
||||
name = "Zavodskoi Interstellar uniform"
|
||||
desc = "A uniform worn by Zavodskoi Interstellar employees and contractors."
|
||||
@@ -168,8 +173,9 @@
|
||||
icon_state = "necro_research"
|
||||
worn_state = "necro_research"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
|
||||
armor = list(
|
||||
bomb = ARMOR_BOMB_MINOR
|
||||
)
|
||||
/obj/item/clothing/under/rank/zavodskoi/research/alt
|
||||
icon_state = "necro_research_alt"
|
||||
worn_state = "necro_research_alt"
|
||||
@@ -193,7 +199,9 @@
|
||||
desc = "A uniform worn by Einstein Engines Incorporated employees and contractors."
|
||||
icon_state = "einstein"
|
||||
worn_state = "einstein"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
armor = list(
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/zeng
|
||||
@@ -202,7 +210,9 @@
|
||||
icon_state = "zeng_research"
|
||||
worn_state = "zeng_research"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/zeng/alt
|
||||
icon_state = "zeng_research_alt"
|
||||
@@ -220,4 +230,6 @@
|
||||
icon_state = "eridani_medic"
|
||||
worn_state = "eridani_medic"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
@@ -5,7 +5,9 @@
|
||||
icon_state = "chiefengineer"
|
||||
item_state = "g_suit"
|
||||
worn_state = "chief"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
armor = list(
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/atmospheric_technician
|
||||
@@ -22,7 +24,9 @@
|
||||
icon_state = "engine"
|
||||
item_state = "engi_suit"
|
||||
worn_state = "engine"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
armor = list(
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/engineer/apprentice
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
icon_state = "rd"
|
||||
item_state = "lb_suit"
|
||||
worn_state = "rd"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/research_director/rdalt
|
||||
desc = "A dress suit and slacks stained with hard work and dedication to science. Perhaps other things as well, but mostly hard work and dedication."
|
||||
@@ -15,7 +17,9 @@
|
||||
icon_state = "rdalt"
|
||||
item_state = "lb_suit"
|
||||
worn_state = "rdalt"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/research_director/dress_rd
|
||||
name = "research director dress uniform"
|
||||
@@ -23,7 +27,9 @@
|
||||
icon_state = "dress_rd"
|
||||
item_state = "lb_suit"
|
||||
worn_state = "dress_rd"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
|
||||
/obj/item/clothing/under/rank/scientist
|
||||
@@ -33,8 +39,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "science"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
/obj/item/clothing/under/rank/scientist/xenoarcheologist
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist."
|
||||
name = "xenoarcheologist's jumpsuit"
|
||||
@@ -42,7 +49,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "xenoarcheology"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/scientist/science_alt
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist."
|
||||
@@ -51,13 +60,17 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "science_alt"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/scientist/botany
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. Its colour denotes the wearer as a xenobotanist."
|
||||
icon_state = "botany"
|
||||
worn_state = "botany"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 5, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/scientist/intern
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a laboratory assistant."
|
||||
@@ -72,7 +85,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "chemistry"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/xenoarcheologist
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a xenoarcheologist."
|
||||
@@ -81,7 +96,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "xenoarcheology"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
bomb = ARMOR_BOMB_MINOR
|
||||
)
|
||||
|
||||
/*
|
||||
* Medical
|
||||
@@ -93,7 +110,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "cmo"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/geneticist
|
||||
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
|
||||
@@ -102,7 +121,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "geneticswhite"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/virologist
|
||||
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
|
||||
@@ -111,7 +132,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "virology"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/iacjumpsuit
|
||||
desc = "It's a blue and white jumpsuit, the IAC logo plastered across the back."
|
||||
@@ -119,7 +142,9 @@
|
||||
icon_state = "iacuniform"
|
||||
item_state = "iacuniform"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 15, rad = 5)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/medical
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It denotes that the wearer is trained medical personnel."
|
||||
@@ -128,7 +153,9 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "medical"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/medical/intern
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. It denotes that the wearer is still a medical intern."
|
||||
@@ -186,4 +213,6 @@
|
||||
item_state = "w_suit"
|
||||
worn_state = "virology"
|
||||
permeability_coefficient = 0.50
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
armor = list(
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
|
||||
icon_state = "officer_standard"
|
||||
worn_state = "officer_standard"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/security/corp
|
||||
@@ -30,7 +32,9 @@
|
||||
desc = "It's made of a slightly sturdier material, to allow for robust protection."
|
||||
icon_state = "cadet_standard"
|
||||
worn_state = "cadet_standard"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/warden
|
||||
@@ -38,7 +42,9 @@
|
||||
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders."
|
||||
icon_state = "warden_standard"
|
||||
worn_state = "warden_standard"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/warden/corp
|
||||
@@ -67,7 +73,9 @@
|
||||
desc = "Someone who wears this means business."
|
||||
icon_state = "detective_standard"
|
||||
worn_state = "detective_standard"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/det/black
|
||||
@@ -93,7 +101,9 @@
|
||||
name = "head of security's uniform"
|
||||
icon_state = "hos_standard"
|
||||
worn_state = "hos_standard"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/rank/head_of_security/corp
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
icon_state = "sol_uniform"
|
||||
item_state = "sol_uniform"
|
||||
contained_sprite = 1
|
||||
armor = list(melee = 10, bullet = 10, laser = 10,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_SMALL,
|
||||
bullet = ARMOR_BALLISTIC_MINOR,
|
||||
laser = ARMOR_LASER_MINOR
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/fatigues/marine //regular sol navy marine fatigues
|
||||
name = "sol marine fatigues"
|
||||
|
||||
@@ -127,7 +127,15 @@
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_AP,
|
||||
laser = ARMOR_LASER_HEAVY,
|
||||
energy = ARMOR_ENERGY_SHIELDED,
|
||||
bomb = ARMOR_BOMB_SHIELDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
@@ -514,7 +522,9 @@
|
||||
icon_state = "swatunder"
|
||||
//item_state = "swatunder"
|
||||
worn_state = "swatunder"
|
||||
armor = list(melee = 10, bullet = 5, laser = 5,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/under/lance
|
||||
@@ -524,7 +534,9 @@
|
||||
item_state = "lance_fatigues"
|
||||
worn_state = "lance_fatigues"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/under/dress/lance_dress
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
item_state = "bl_suit"
|
||||
worn_state = "syndicate"
|
||||
has_sensor = 0
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
|
||||
/obj/item/clothing/under/syndicate/combat
|
||||
|
||||
@@ -1,27 +1,57 @@
|
||||
/*/datum/extension/armor/exosuit/apply_damage_modifications(damage, damage_type, damage_flags, mob/living/victim, armor_pen, silent = TRUE)
|
||||
if(prob(get_blocked(damage_type, damage_flags, armor_pen) * 100)) //extra removal of sharp and edge on account of us being big robots
|
||||
damage_flags &= ~(DAM_SHARP | DAM_EDGE)
|
||||
. = ..()*/
|
||||
|
||||
/obj/item/robot_parts/robot_component/armor/mech
|
||||
name = "exosuit armor plating"
|
||||
armor = list(melee = 75, bullet = 33, laser = 50, energy = 10, bomb = 25, bio = 100, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
|
||||
/obj/item/robot_parts/robot_component/armor/mech/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/armor, armor, ARMOR_TYPE_EXOSUIT)
|
||||
|
||||
/obj/item/robot_parts/robot_component/armor/mech/radproof
|
||||
name = "radiation-proof armor plating"
|
||||
desc = "A fully enclosed radiation hardened shell designed to protect the pilot from radiation."
|
||||
armor = list(melee = 75, bullet = 33, laser = 50, energy = 25, bomb = 25, bio = 100, rad = 100)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SHIELDED
|
||||
)
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
|
||||
/obj/item/robot_parts/robot_component/armor/mech/em
|
||||
name = "EM-shielded armor plating"
|
||||
desc = "A shielded plating that sorrounds the eletronics and protects them from electromagnetic radiation."
|
||||
armor = list(melee = 65, bullet = 20, laser = 25, energy = 100, bomb = 10, bio = 100, rad = 60)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT ,
|
||||
bullet = ARMOR_BALLISTIC_SMALL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_SHIELDED,
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
|
||||
/obj/item/robot_parts/robot_component/armor/mech/combat
|
||||
name = "heavy combat plating"
|
||||
desc = "Plating designed to deflect incoming attacks and explosions."
|
||||
armor = list(melee = 85, bullet = 70, laser = 60, energy = 10, bomb = 70, bio = 100, rad = 0)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_RESISTANT,
|
||||
laser = ARMOR_LASER_HANDGUNS,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED
|
||||
)
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
@@ -28,10 +28,12 @@
|
||||
return pilot.hitby(AM, speed)
|
||||
. = ..()
|
||||
|
||||
/mob/living/heavy_vehicle/getarmor(var/def_zone, var/type)
|
||||
/mob/living/heavy_vehicle/get_armors_by_zone(def_zone, damage_type, damage_flags)
|
||||
. = ..()
|
||||
if(body && body.mech_armor)
|
||||
return isnull(body.mech_armor.armor[type]) ? 0 : body.mech_armor.armor[type]
|
||||
return 0
|
||||
var/body_armor = body.mech_armor.GetComponent(/datum/component/armor)
|
||||
if(body_armor)
|
||||
. += body_armor
|
||||
|
||||
/mob/living/heavy_vehicle/updatehealth()
|
||||
maxHealth = body.mech_health
|
||||
@@ -72,10 +74,14 @@
|
||||
else
|
||||
return body
|
||||
|
||||
/mob/living/heavy_vehicle/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/used_weapon = null, var/damage_flags)
|
||||
/mob/living/heavy_vehicle/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/used_weapon = null, var/damage_flags, var/armor_pen, var/silent = FALSE)
|
||||
if(!damage)
|
||||
return 0
|
||||
|
||||
var/list/after_armor = modify_damage_by_armor(def_zone, damage, damagetype, damage_flags, src, armor_pen, TRUE)
|
||||
damage = after_armor[1]
|
||||
damagetype = after_armor[2]
|
||||
|
||||
var/target = zoneToComponent(def_zone)
|
||||
//Only 2 types of damage concern mechs and vehicles
|
||||
switch(damagetype)
|
||||
@@ -129,3 +135,6 @@
|
||||
playsound(loc, "sound/effects/bang.ogg", 100, 1)
|
||||
playsound(loc, "sound/effects/bamf.ogg", 100, 1)
|
||||
return TRUE
|
||||
|
||||
/mob/living/heavy_vehicle/get_bullet_impact_effect_type(var/def_zone)
|
||||
return BULLET_IMPACT_METAL
|
||||
|
||||
@@ -127,11 +127,9 @@
|
||||
var/obj/item/clothing/gloves/force/X = A.gloves
|
||||
real_damage *= X.amplification
|
||||
|
||||
var/armor = D.run_armor_check(hit_zone, "melee")
|
||||
attack.apply_effects(A, D, rand_damage, hit_zone)
|
||||
|
||||
attack.apply_effects(A, D, armor, rand_damage, hit_zone)
|
||||
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, armor, damage_flags = damage_flags)
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -36,8 +36,7 @@
|
||||
A.visible_message("<span class='warning'>[A] strikes [D] with their open palm!</span>")
|
||||
playsound(get_turf(A), /decl/sound_category/punch_sound, 50, 1, -1)
|
||||
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
|
||||
var/armor_block = D.run_armor_check(affecting, "melee")
|
||||
D.apply_damage(25, PAIN, affecting, armor_block)
|
||||
D.apply_damage(25, PAIN, affecting)
|
||||
return 1
|
||||
|
||||
/datum/martial_art/karak_virul/proc/dislocating_strike(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
|
||||
var/obj/item/organ/internal/eyes/eyes = D.get_eyes()
|
||||
eyes.take_damage(rand(3,4), 1)
|
||||
var/armor = D.getarmor_organ(affecting,"melee")
|
||||
D.apply_damage(10,BRUTE, BP_HEAD, armor, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
D.apply_damage(10,BRUTE, BP_HEAD, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -58,8 +57,7 @@
|
||||
A.visible_message("<span class='danger'>[A] lunges forwards and strikes [D] with their claws!</span>")
|
||||
playsound(get_turf(A), 'sound/weapons/slice.ogg', 50, 1, -1)
|
||||
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
|
||||
var/armor_block = D.run_armor_check(affecting, "melee")
|
||||
D.apply_damage(20, BRUTE, affecting, armor_block, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
D.apply_damage(20, BRUTE, affecting, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
if(prob(20))
|
||||
D.apply_effect(4, WEAKEN)
|
||||
return 1
|
||||
@@ -69,9 +67,8 @@
|
||||
return 0
|
||||
A.do_attack_animation(D)
|
||||
var/obj/item/organ/external/organ = D.get_organ(A.zone_sel.selecting)
|
||||
var/armor = D.getarmor_organ(organ,"melee")
|
||||
A.visible_message("<span class='danger'>[A] stabs [D]'s [organ.name] with their claws!</span>")
|
||||
D.apply_damage(organ.brute_dam, BRUTE, organ, armor, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
D.apply_damage(organ.brute_dam, BRUTE, organ, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
return 1
|
||||
|
||||
/datum/martial_art/baghrar/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
|
||||
@@ -73,10 +73,9 @@
|
||||
if(istype(A.get_active_hand(),/obj/item/grab))
|
||||
var/obj/item/grab/G = A.get_active_hand()
|
||||
if(G && G.affecting == D)
|
||||
var/armor_block = D.run_armor_check(null, "melee")
|
||||
A.visible_message("<span class='warning'>[A] crushes [D] with its mandibles!</span>")
|
||||
D.apply_damage(30, BRUTE, null, armor_block)
|
||||
D.apply_effect(6, WEAKEN, armor_block)
|
||||
D.apply_damage(30, BRUTE)
|
||||
D.apply_effect(6, WEAKEN)
|
||||
qdel(G)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -22,17 +22,15 @@
|
||||
|
||||
D.visible_message("<span class='danger'>[A] suplexes [D]!</span>")
|
||||
D.forceMove(A.loc)
|
||||
var/armor_block = D.run_armor_check(null, "melee")
|
||||
D.apply_damage(30, BRUTE, null, armor_block)
|
||||
D.apply_effect(6, WEAKEN, armor_block)
|
||||
D.apply_damage(30, BRUTE)
|
||||
D.apply_effect(6, WEAKEN)
|
||||
add_logs(A, D, "suplexed")
|
||||
|
||||
A.SpinAnimation(10,1)
|
||||
|
||||
D.SpinAnimation(10,1)
|
||||
spawn(3)
|
||||
armor_block = A.run_armor_check(null, "melee")
|
||||
A.apply_effect(4, WEAKEN, armor_block)
|
||||
A.apply_effect(4, WEAKEN)
|
||||
return
|
||||
|
||||
/datum/martial_art/wrestling/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
@@ -48,8 +46,7 @@
|
||||
D.grabbedby(A,1)
|
||||
D.visible_message("<span class='danger'>[A] holds [D] down!</span>")
|
||||
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
|
||||
var/armor_block = D.run_armor_check(affecting, "melee")
|
||||
D.apply_damage(40, PAIN, affecting, armor_block)
|
||||
D.apply_damage(40, PAIN, affecting)
|
||||
return 1
|
||||
|
||||
/datum/martial_art/wrestling/proc/wrestling_help()
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
sleeping = 0
|
||||
willfully_sleeping = FALSE
|
||||
|
||||
/mob/living/carbon/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone)
|
||||
/mob/living/carbon/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/hit_zone)
|
||||
var/t_him = "it"
|
||||
if (src.gender == MALE)
|
||||
t_him = "him"
|
||||
@@ -85,12 +85,12 @@
|
||||
"<span class='danger'>You attack [src] with [I], but they do not respond... Maybe they have S.S.D?</span>")
|
||||
else if(client && willfully_sleeping)
|
||||
user.visible_message("<span class='danger'>[user] attacked [src] with [I] waking [t_him] up!</span>", \
|
||||
"<span class='danger'>You attack [src] with [I], waking [t_him] up!</span>")
|
||||
"<span class='danger'>You attack [src] with [I], waking [t_him] up!</span>")
|
||||
sleeping = 0
|
||||
willfully_sleeping = FALSE
|
||||
|
||||
|
||||
if(!effective_force || blocked >= 100)
|
||||
if(!effective_force)
|
||||
return 0
|
||||
|
||||
//Hulk modifier
|
||||
@@ -99,19 +99,14 @@
|
||||
|
||||
//Apply weapon damage
|
||||
var/damage_flags = I.damage_flags()
|
||||
if(prob(blocked)) //armor provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
damage_flags &= ~DAM_SHARP
|
||||
damage_flags &= ~DAM_EDGE
|
||||
|
||||
apply_damage(effective_force, I.damtype, hit_zone, blocked, used_weapon=I, damage_flags = damage_flags)
|
||||
apply_damage(effective_force, I.damtype, hit_zone, I, damage_flags)
|
||||
|
||||
//Melee weapon embedded object code.
|
||||
if (I && I.damtype == BRUTE && !I.anchored && !is_robot_module(I))
|
||||
var/damage = effective_force //just the effective damage used for sorting out embedding, no further damage is applied here
|
||||
if (blocked)
|
||||
damage *= BLOCKED_MULT(blocked)
|
||||
damage *= 1 - get_blocked_ratio(hit_zone, I.damtype, I.damage_flags(), I.armor_penetration, I.force)
|
||||
|
||||
if (I.can_embed)//If this weapon is allowed to embed in people
|
||||
if(I.can_embed)//If this weapon is allowed to embed in people
|
||||
//blunt objects should really not be embedding in things unless a huge amount of force is involved
|
||||
var/sharp = damage_flags & DAM_SHARP
|
||||
var/edge = damage_flags & DAM_EDGE
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
if (severity)
|
||||
damage_factor = (1 / severity)
|
||||
|
||||
var/armorval = getarmor(null, "bomb")
|
||||
var/armorval = get_blocked_ratio(BP_CHEST, BRUTE, DAM_DISPERSED, damage = damage)
|
||||
if (armorval)
|
||||
damage_factor *= (1 - (armorval * 0.01))
|
||||
|
||||
|
||||
@@ -233,15 +233,8 @@
|
||||
if (1.0)
|
||||
b_loss += 500
|
||||
f_loss = 100
|
||||
if (!prob(getarmor(null, "bomb")))
|
||||
gib()
|
||||
return
|
||||
else
|
||||
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
|
||||
throw_at(target, 200, 4)
|
||||
//return
|
||||
// var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src)))
|
||||
//user.throw_at(target, 200, 4)
|
||||
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
|
||||
throw_at(target, 200, 4)
|
||||
|
||||
if (2.0)
|
||||
b_loss = 60
|
||||
@@ -261,46 +254,15 @@
|
||||
if (prob(50))
|
||||
Paralyse(10)
|
||||
|
||||
// factor in armor
|
||||
var/protection = BLOCKED_MULT(getarmor(null, "bomb"))
|
||||
b_loss *= protection
|
||||
f_loss *= protection
|
||||
|
||||
var/update = 0
|
||||
|
||||
// focus most of the blast on one organ
|
||||
var/obj/item/organ/external/take_blast = pick(organs)
|
||||
update |= take_blast.take_damage(b_loss * 0.7, f_loss * 0.7, used_weapon = "Explosive blast")
|
||||
apply_damage(0.7 * b_loss, BRUTE, null, DAM_EXPLODE, used_weapon = "Explosive blast")
|
||||
apply_damage(0.7 * f_loss, BURN, null, DAM_EXPLODE, used_weapon = "Explosive blast")
|
||||
|
||||
// distribute the remaining 30% on all limbs equally (including the one already dealt damage)
|
||||
b_loss *= 0.3
|
||||
f_loss *= 0.3
|
||||
apply_damage(0.3 * b_loss, BRUTE, null, DAM_EXPLODE | DAM_DISPERSED, used_weapon = "Explosive blast")
|
||||
apply_damage(0.3 * f_loss, BURN, null, DAM_EXPLODE | DAM_DISPERSED, used_weapon = "Explosive blast")
|
||||
|
||||
var/weapon_message = "Explosive Blast"
|
||||
|
||||
for(var/obj/item/organ/external/temp in organs)
|
||||
switch(temp.name)
|
||||
if(BP_HEAD)
|
||||
update |= temp.take_damage(b_loss * 0.2, f_loss * 0.2, used_weapon = weapon_message)
|
||||
if(BP_CHEST)
|
||||
update |= temp.take_damage(b_loss * 0.4, f_loss * 0.4, used_weapon = weapon_message)
|
||||
if(BP_L_ARM)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_R_ARM)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_L_LEG)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_R_LEG)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_R_FOOT)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_L_FOOT)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_R_ARM)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(BP_L_ARM)
|
||||
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message)
|
||||
if(update) UpdateDamageIcon()
|
||||
UpdateDamageIcon()
|
||||
|
||||
/mob/living/carbon/human/proc/implant_loyalty(mob/living/carbon/human/M, override = FALSE) // Won't override by default.
|
||||
if(!config.use_loyalty_implants && !override) return // Nuh-uh.
|
||||
@@ -1988,15 +1950,17 @@
|
||||
return BULLET_IMPACT_METAL
|
||||
return BULLET_IMPACT_MEAT
|
||||
|
||||
/mob/living/carbon/human/bullet_impact_visuals(var/obj/item/projectile/P, var/def_zone, var/damage)
|
||||
/mob/living/carbon/human/bullet_impact_visuals(var/obj/item/projectile/P, var/def_zone, var/damage, var/blocked_ratio)
|
||||
..()
|
||||
if(blocked_ratio > 0.7)
|
||||
return
|
||||
switch(get_bullet_impact_effect_type(def_zone))
|
||||
if(BULLET_IMPACT_MEAT)
|
||||
if(P.damage_type == BRUTE)
|
||||
var/hit_dir = get_dir(P.starting, src)
|
||||
var/obj/effect/decal/cleanable/blood/B = blood_splatter(get_step(src, hit_dir), src, 1, hit_dir)
|
||||
B.icon_state = pick("dir_splatter_1","dir_splatter_2")
|
||||
var/scale = min(1, round(P.damage / 50, 0.2))
|
||||
var/scale = min(1, round(damage / 50, 0.2))
|
||||
var/matrix/M = new()
|
||||
B.transform = M.Scale(scale)
|
||||
|
||||
@@ -2011,9 +1975,9 @@
|
||||
src.adjustToxLoss(-damage)
|
||||
to_chat(src, SPAN_NOTICE("You can feel flow of energy which makes you regenerate."))
|
||||
|
||||
src.apply_effect((rand(15,30)),IRRADIATE,blocked = src.getarmor(null, "rad"))
|
||||
apply_damage((rand(15,30)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
if(prob(4))
|
||||
src.apply_effect((rand(20,60)),IRRADIATE,blocked = src.getarmor(null, "rad"))
|
||||
apply_damage((rand(20,60)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
if (prob(75))
|
||||
randmutb(src) // Applies bad mutation
|
||||
domutcheck(src,null,MUTCHK_FORCED)
|
||||
|
||||
@@ -52,9 +52,8 @@
|
||||
|
||||
msg_admin_attack("[key_name_admin(M)] stungloved [src.name] ([src.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[M.x];Y=[M.y];Z=[M.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
var/armorblock = run_armor_check(M.zone_sel.selecting, "energy")
|
||||
apply_effects(5,5,0,0,5,0,0,0,0,armorblock)
|
||||
apply_damage(rand(5,25), BURN, M.zone_sel.selecting,armorblock)
|
||||
apply_effects(5,5,0,0,5,0,0,0,0)
|
||||
apply_damage(rand(5,25), BURN, M.zone_sel.selecting)
|
||||
|
||||
if(prob(15))
|
||||
playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1)
|
||||
@@ -84,7 +83,6 @@
|
||||
visible_message("<span class='danger'>[H] has attempted to punch [src]!</span>")
|
||||
return 0
|
||||
var/obj/item/organ/external/affecting = get_organ(ran_zone(H.zone_sel.selecting))
|
||||
var/armor_block = run_armor_check(affecting, "melee")
|
||||
|
||||
if(HULK in H.mutations)
|
||||
damage += 5
|
||||
@@ -93,10 +91,10 @@
|
||||
|
||||
visible_message("<span class='danger'>[H] has punched [src]!</span>")
|
||||
|
||||
apply_damage(damage, PAIN, affecting, armor_block)
|
||||
apply_damage(damage, PAIN, affecting)
|
||||
if(damage >= 9)
|
||||
visible_message("<span class='danger'>[H] has weakened [src]!</span>")
|
||||
apply_effect(4, WEAKEN, armor_block)
|
||||
apply_effect(4, WEAKEN)
|
||||
|
||||
return
|
||||
|
||||
@@ -284,12 +282,11 @@
|
||||
var/obj/item/clothing/gloves/force/X = H.gloves
|
||||
real_damage *= X.amplification
|
||||
|
||||
var/armor = run_armor_check(hit_zone, "melee")
|
||||
// Apply additional unarmed effects.
|
||||
attack.apply_effects(H, src, armor, rand_damage, hit_zone)
|
||||
attack.apply_effects(H, src, rand_damage, hit_zone)
|
||||
|
||||
// Finally, apply damage to target
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, armor, damage_flags = damage_flags)
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags)
|
||||
|
||||
|
||||
if(M.resting && src.help_up_offer)
|
||||
@@ -375,7 +372,7 @@
|
||||
var/randn = rand(1, 100)
|
||||
if(randn <= 25)
|
||||
if(H.gloves && istype(H.gloves,/obj/item/clothing/gloves/force))
|
||||
apply_effect(6, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
apply_effect(6, WEAKEN)
|
||||
playsound(loc, 'sound/weapons/push_connect.ogg', 50, 1, -1)
|
||||
visible_message("<span class='danger'>[M] hurls [src] to the floor!</span>")
|
||||
step_away(src,M,15)
|
||||
@@ -384,7 +381,7 @@
|
||||
return
|
||||
|
||||
else
|
||||
var/armor_check = run_armor_check(affecting, "melee")
|
||||
var/armor_check = 100 * get_blocked_ratio(affecting, BRUTE, damage = 20)
|
||||
apply_effect(3, WEAKEN, armor_check)
|
||||
if(armor_check < 100)
|
||||
visible_message("<span class='danger'>[M] has pushed [src]!</span>")
|
||||
@@ -406,7 +403,7 @@
|
||||
sleep(1)
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
apply_effect(1, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
apply_effect(1, WEAKEN, get_blocked_ratio(M.zone_sel.selecting, BRUTE, damage = 20)*100)
|
||||
return
|
||||
|
||||
//See about breaking grips or pulls
|
||||
@@ -506,8 +503,7 @@
|
||||
if(!dam_zone)
|
||||
dam_zone = pick(organs)
|
||||
var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone))
|
||||
var/armor_block = run_armor_check(affecting, "melee")
|
||||
apply_damage(damage, BRUTE, affecting, armor_block)
|
||||
apply_damage(damage, BRUTE, affecting)
|
||||
updatehealth()
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
ChangeToHusk()
|
||||
|
||||
UpdateDamageIcon() // to fix that darn overlay bug
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/proc/get_total_health()
|
||||
var/amount = maxHealth - getFireLoss() - getBruteLoss() - getOxyLoss() - getToxLoss() - getBrainLoss()
|
||||
@@ -323,7 +322,8 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t
|
||||
updatehealth()
|
||||
BITSET(hud_updateflag, HEALTH_HUD)
|
||||
speech_problem_flag = 1
|
||||
if(update) UpdateDamageIcon()
|
||||
if(update)
|
||||
UpdateDamageIcon()
|
||||
|
||||
// damage MANY external organs, in random order
|
||||
/mob/living/carbon/human/take_overall_damage(var/brute, var/burn, var/damage_flags, var/used_weapon = null)
|
||||
@@ -383,63 +383,76 @@ This function restores all organs.
|
||||
zone = BP_HEAD
|
||||
return organs_by_name[zone]
|
||||
|
||||
/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/obj/used_weapon = null, var/damage_flags)
|
||||
//visible_message("Hit debug. [damage] | [damagetype] | [def_zone] | [blocked] | [sharp] | [used_weapon]")
|
||||
/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone, var/obj/used_weapon, var/damage_flags, var/armor_pen, var/silent = FALSE)
|
||||
if (invisibility == INVISIBILITY_LEVEL_TWO && back && (istype(back, /obj/item/rig)))
|
||||
if(damage > 0)
|
||||
to_chat(src, "<span class='danger'>You are now visible.</span>")
|
||||
src.invisibility = 0
|
||||
|
||||
var/obj/item/organ/external/organ = get_organ(def_zone)
|
||||
if(!organ)
|
||||
if(isorgan(def_zone))
|
||||
organ = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
if(damage_flags & DAM_DISPERSED)
|
||||
var/old_damage = damage
|
||||
var/tally
|
||||
silent = TRUE // Will damage a lot of organs, probably, so avoid spam.
|
||||
for(var/zone in organ_rel_size)
|
||||
tally += organ_rel_size[zone]
|
||||
for(var/zone in organ_rel_size)
|
||||
damage = old_damage * organ_rel_size[zone]/tally
|
||||
def_zone = zone
|
||||
. = .() || .
|
||||
return
|
||||
def_zone = ran_zone(def_zone)
|
||||
organ = get_organ(check_zone(def_zone))
|
||||
|
||||
//Handle other types of damage
|
||||
if(damagetype != BRUTE && damagetype != BURN)
|
||||
if(!(damagetype in list(BRUTE, BURN, PAIN, CLONE)))
|
||||
if(!stat && damagetype == PAIN)
|
||||
if((damage > 25 && prob(20)) || (damage > 50 && prob(60)))
|
||||
emote("scream")
|
||||
return ..()
|
||||
|
||||
..(damage, damagetype, def_zone, blocked)
|
||||
return 1
|
||||
if(!organ)
|
||||
return FALSE
|
||||
|
||||
//Handle BRUTE and BURN damage
|
||||
handle_suit_punctures(damagetype, damage, def_zone)
|
||||
|
||||
if(blocked >= 100)
|
||||
return 0
|
||||
|
||||
var/obj/item/organ/external/organ = null
|
||||
if(isorgan(def_zone))
|
||||
organ = def_zone
|
||||
else
|
||||
if(!def_zone) def_zone = ran_zone(def_zone)
|
||||
organ = get_organ(check_zone(def_zone))
|
||||
if(!organ)
|
||||
return 0
|
||||
|
||||
if(blocked)
|
||||
damage *= BLOCKED_MULT(blocked)
|
||||
var/list/after_armor = modify_damage_by_armor(def_zone, damage, damagetype, damage_flags, src, armor_pen, silent)
|
||||
damage = after_armor[1]
|
||||
damagetype = after_armor[2]
|
||||
damage_flags = after_armor[3]
|
||||
if(!damage)
|
||||
return FALSE
|
||||
|
||||
if(damage > 15 && prob(damage*4) && organ.can_feel_pain())
|
||||
make_adrenaline(round(damage/10))
|
||||
|
||||
switch(damagetype)
|
||||
|
||||
if(BRUTE)
|
||||
damageoverlaytemp = 20
|
||||
if(damage > 0)
|
||||
damage *= species.brute_mod
|
||||
if(organ.take_damage(damage, 0, damage_flags, used_weapon))
|
||||
UpdateDamageIcon()
|
||||
|
||||
organ.take_damage(damage, 0, damage_flags, used_weapon)
|
||||
UpdateDamageIcon()
|
||||
if(BURN)
|
||||
damageoverlaytemp = 20
|
||||
if(damage > 0)
|
||||
damage *= species.burn_mod
|
||||
if(organ.take_damage(0, damage, damage_flags, used_weapon))
|
||||
UpdateDamageIcon()
|
||||
organ.take_damage(0, damage, damage_flags, used_weapon)
|
||||
UpdateDamageIcon()
|
||||
if(PAIN)
|
||||
organ.add_pain(damage)
|
||||
if(CLONE)
|
||||
organ.add_genetic_damage(damage)
|
||||
|
||||
// Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life().
|
||||
updatehealth()
|
||||
BITSET(hud_updateflag, HEALTH_HUD)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/human/apply_radiation(var/rads)
|
||||
if(species && rads > 0)
|
||||
|
||||
@@ -43,11 +43,13 @@ emp_act
|
||||
|
||||
//Shrapnel
|
||||
if(!(species.flags & NO_EMBED) && P.can_embed())
|
||||
var/armor = getarmor_organ(organ, "bullet")
|
||||
var/armor = get_blocked_ratio(def_zone, BRUTE, P.damage_flags(), armor_pen = P.armor_penetration, damage = P.damage)*100
|
||||
if(prob(20 + max(P.damage + P.embed_chance - armor, -10)))
|
||||
P.do_embed(organ)
|
||||
|
||||
return (..(P , def_zone))
|
||||
var/blocked = ..(P, def_zone)
|
||||
|
||||
return blocked
|
||||
|
||||
/mob/living/carbon/human/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone)
|
||||
var/obj/item/organ/external/affected = get_organ(check_zone(def_zone))
|
||||
@@ -78,27 +80,37 @@ emp_act
|
||||
|
||||
..(stun_amount, agony_amount, def_zone)
|
||||
|
||||
/mob/living/carbon/human/getarmor(var/def_zone, var/type)
|
||||
var/armorval = 0
|
||||
var/total = 0
|
||||
/mob/living/carbon/human/get_blocked_ratio(def_zone, damage_type, damage_flags, armor_pen, damage)
|
||||
if(!def_zone && (damage_flags & DAM_DISPERSED))
|
||||
var/tally
|
||||
for(var/zone in organ_rel_size)
|
||||
tally += organ_rel_size[zone]
|
||||
for(var/zone in organ_rel_size)
|
||||
def_zone = zone
|
||||
. += .() * organ_rel_size/tally
|
||||
return
|
||||
return ..()
|
||||
|
||||
if(def_zone)
|
||||
if(isorgan(def_zone))
|
||||
return getarmor_organ(def_zone, type)
|
||||
var/obj/item/organ/external/affecting = get_organ(def_zone)
|
||||
if(affecting)
|
||||
return getarmor_organ(affecting, type)
|
||||
//If a specific bodypart is targetted, check how that bodypart is protected and return the value.
|
||||
|
||||
//If you don't specify a bodypart, it checks ALL your bodyparts for protection, and averages out the values
|
||||
for(var/organ_name in organs_by_name)
|
||||
if (organ_name in organ_rel_size)
|
||||
var/obj/item/organ/external/organ = organs_by_name[organ_name]
|
||||
if(organ)
|
||||
var/weight = organ_rel_size[organ_name]
|
||||
armorval += getarmor_organ(organ, type) * weight
|
||||
total += weight
|
||||
return (armorval/max(total, 1))
|
||||
/mob/living/carbon/human/get_armors_by_zone(obj/item/organ/external/def_zone, damage_type, damage_flags)
|
||||
. = ..()
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone()
|
||||
if(!istype(def_zone))
|
||||
def_zone = get_organ(check_zone(def_zone))
|
||||
if(!def_zone)
|
||||
return
|
||||
var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes)
|
||||
for(var/obj/item/clothing/gear in protective_gear)
|
||||
if(gear.accessories && length(gear.accessories))
|
||||
for(var/obj/item/clothing/accessory/bling in gear.accessories)
|
||||
if(bling.body_parts_covered & def_zone.body_part)
|
||||
var/armor = bling.GetComponent(/datum/component/armor)
|
||||
if(armor)
|
||||
. += armor
|
||||
if(gear.body_parts_covered & def_zone.body_part)
|
||||
var/armor = gear.GetComponent(/datum/component/armor)
|
||||
if(armor)
|
||||
. += armor
|
||||
|
||||
//this proc returns the Siemens coefficient of electrical resistivity for a particular external organ.
|
||||
/mob/living/carbon/human/proc/get_siemens_coefficient_organ(var/obj/item/organ/external/def_zone)
|
||||
@@ -123,30 +135,16 @@ emp_act
|
||||
results.Add(C)
|
||||
return results
|
||||
|
||||
//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
|
||||
var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes)
|
||||
for(var/obj/item/clothing/gear in protective_gear)
|
||||
if(!isnull(gear.armor) && gear.body_parts_covered & def_zone.body_part)
|
||||
protection = add_armor(protection, gear.armor[type])
|
||||
for(var/obj/item/clothing/accessory/A in gear.accessories)
|
||||
if(!isnull(A.armor) && A.body_parts_covered & def_zone.body_part)
|
||||
protection = add_armor(protection, A.armor[type])
|
||||
|
||||
return protection
|
||||
|
||||
/mob/living/carbon/human/proc/check_head_coverage()
|
||||
|
||||
var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform)
|
||||
for(var/bp in body_parts)
|
||||
if(!bp) continue
|
||||
if(!bp)
|
||||
continue
|
||||
if(bp && istype(bp ,/obj/item/clothing))
|
||||
var/obj/item/clothing/C = bp
|
||||
if(C.body_parts_covered & HEAD)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/human/proc/check_head_airtight_coverage()
|
||||
var/list/clothing = list(head, wear_mask, wear_suit)
|
||||
@@ -231,19 +229,18 @@ emp_act
|
||||
|
||||
if(user == src) // Attacking yourself can't miss
|
||||
target_zone = user.zone_sel.selecting
|
||||
if(!target_zone)
|
||||
visible_message("<span class='danger'>[user] misses [src] with \the [I]!</span>")
|
||||
return 0
|
||||
|
||||
//var/obj/item/organ/external/affecting = get_organ(target_zone)
|
||||
if(!hit_zone)
|
||||
visible_message("<span class='danger'>[user] misses [src] with \the [I]!</span>")
|
||||
return
|
||||
|
||||
if(check_shields(I.force, I, user, target_zone, "the [I.name]"))
|
||||
return null
|
||||
return
|
||||
|
||||
var/obj/item/organ/external/affecting = get_organ(hit_zone)
|
||||
if (!affecting || affecting.is_stump())
|
||||
to_chat(user, "<span class='danger'>They are missing that limb!</span>")
|
||||
return null
|
||||
return
|
||||
|
||||
return hit_zone
|
||||
|
||||
@@ -253,13 +250,9 @@ emp_act
|
||||
return //should be prevented by attacked_with_item() but for sanity.
|
||||
|
||||
visible_message("<span class='danger'>[src] has been [LAZYPICK(I.attack_verb, "attacked")] in the [affecting.name] with [I] by [user]!</span>")
|
||||
return standard_weapon_hit_effects(I, user, effective_force, hit_zone)
|
||||
|
||||
var/blocked = run_armor_check(hit_zone, "melee", I.armor_penetration, "Your armor has protected your [affecting.name].", "Your armor has softened the blow to your [affecting.name].")
|
||||
standard_weapon_hit_effects(I, user, effective_force, blocked, hit_zone)
|
||||
|
||||
return blocked
|
||||
|
||||
/mob/living/carbon/human/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone)
|
||||
/mob/living/carbon/human/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/hit_zone)
|
||||
var/obj/item/organ/external/affecting = get_organ(hit_zone)
|
||||
if(!affecting)
|
||||
return 0
|
||||
@@ -273,23 +266,21 @@ emp_act
|
||||
// Handle striking to cripple.
|
||||
if(user.a_intent == I_DISARM)
|
||||
effective_force /= 2 //half the effective force
|
||||
if(!..(I, user, effective_force, blocked, hit_zone))
|
||||
return 0
|
||||
if(!..(I, user, effective_force, hit_zone))
|
||||
return FALSE
|
||||
|
||||
attack_joint(affecting, I, blocked) //but can dislocate joints
|
||||
|
||||
else if(!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// forceglove amplification
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/X = user
|
||||
if(X.gloves && istype(X.gloves,/obj/item/clothing/gloves/force))
|
||||
var/obj/item/clothing/gloves/force/G = X.gloves
|
||||
effective_force *= G.amplification
|
||||
|
||||
if(effective_force > 10 || effective_force >= 5 && prob(33))
|
||||
forcesay(hit_appends) //forcesay checks stat already
|
||||
|
||||
if((I.damtype == BRUTE || I.damtype == PAIN) && prob(25 + (effective_force * 2)))
|
||||
if(!stat)
|
||||
if(headcheck(hit_zone))
|
||||
@@ -326,7 +317,7 @@ emp_act
|
||||
if(BP_CHEST)
|
||||
bloody_body(src)
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/human/proc/attack_joint(var/obj/item/organ/external/organ, var/obj/item/W, var/blocked)
|
||||
if(!organ || (organ.dislocated == 2) || (organ.dislocated == -1) || blocked >= 100)
|
||||
@@ -396,12 +387,8 @@ emp_act
|
||||
var/obj/item/organ/external/affecting = get_organ(zone)
|
||||
var/hit_area = affecting.name
|
||||
|
||||
src.visible_message("<span class='warning'>[src] has been hit in the [hit_area] by [O].</span>", "<span class='warning'><font size='2'>You're hit in the [hit_area] by [O]!</font></span>")
|
||||
var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened the hit to your [hit_area].") //I guess "melee" is the best fit here
|
||||
|
||||
if(armor < 100)
|
||||
var/damage_flags = O.damage_flags()
|
||||
apply_damage(throw_damage, dtype, zone, armor, O, damage_flags = damage_flags)
|
||||
src.visible_message("<span class='warning'>[src] has been hit in the [hit_area] by [O].</span>", "<span class='warning'><font size=2>You're hit in the [hit_area] by [O]!</font></span>")
|
||||
apply_damage(throw_damage, dtype, zone, used_weapon = O, damage_flags = O.damage_flags(), armor_pen = O.armor_penetration)
|
||||
|
||||
if(ismob(O.thrower))
|
||||
var/mob/M = O.thrower
|
||||
@@ -418,12 +405,11 @@ emp_act
|
||||
if (!is_robot_module(I))
|
||||
var/sharp = is_sharp(I)
|
||||
var/damage = throw_damage
|
||||
if (armor)
|
||||
damage *= BLOCKED_MULT(armor)
|
||||
damage *= (1 - get_blocked_ratio(zone, BRUTE, O.damage_flags(), O.armor_penetration, damage))
|
||||
|
||||
//blunt objects should really not be embedding in things unless a huge amount of force is involved
|
||||
var/embed_chance = sharp? damage/I.w_class : damage/(I.w_class*3)
|
||||
var/embed_threshold = sharp? 5*I.w_class : 15*I.w_class
|
||||
var/embed_chance = sharp ? damage/I.w_class : damage/(I.w_class*3)
|
||||
var/embed_threshold = sharp ? 5*I.w_class : 15*I.w_class
|
||||
|
||||
//Sharp objects will always embed if they do enough damage.
|
||||
//Thrown sharp objects have some momentum already and have a small chance to embed even if the damage is below the threshold
|
||||
@@ -432,7 +418,7 @@ emp_act
|
||||
|
||||
// Begin BS12 momentum-transfer code.
|
||||
var/mass = 1.5
|
||||
if(istype(O, /obj/item))
|
||||
if(isitem(O))
|
||||
var/obj/item/I = O
|
||||
mass = I.w_class/THROWNOBJ_KNOCKBACK_DIVISOR
|
||||
var/momentum = speed*mass
|
||||
|
||||
@@ -1018,11 +1018,11 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
|
||||
last_special = world.time + 20
|
||||
|
||||
src.drop_from_inventory(O)
|
||||
drop_from_inventory(O)
|
||||
O.replaced(src)
|
||||
src.update_body()
|
||||
src.updatehealth()
|
||||
src.UpdateDamageIcon()
|
||||
update_body()
|
||||
updatehealth()
|
||||
UpdateDamageIcon()
|
||||
|
||||
update_body()
|
||||
updatehealth()
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
attack_verb = list("bit", "chomped on")
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
shredding = 0
|
||||
sharp = 1
|
||||
edge = 1
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
damage = 5
|
||||
attack_name = "sharp bite"
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
eye_attack_text_victim = "sharp claws"
|
||||
attack_sound = 'sound/weapons/slice.ogg'
|
||||
miss_sound = 'sound/weapons/slashmiss.ogg'
|
||||
sharp = 1
|
||||
edge = 1
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
damage = 5
|
||||
attack_name = "claws"
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
/datum/unarmed_attack/claws/strong
|
||||
attack_verb = list("slashed")
|
||||
damage = 10
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
attack_name = "strong claws"
|
||||
|
||||
/datum/unarmed_attack/bite/strong
|
||||
attack_verb = list("mauled")
|
||||
damage = 10
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
attack_name = "strong bite"
|
||||
|
||||
/datum/unarmed_attack/slime_glomp
|
||||
@@ -110,7 +110,7 @@
|
||||
damage = 7
|
||||
attack_sound = 'sound/weapons/smash.ogg'
|
||||
attack_name = "heavy fist"
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
|
||||
/datum/unarmed_attack/industrial/heavy
|
||||
damage = 9
|
||||
@@ -125,7 +125,7 @@
|
||||
damage = 12
|
||||
attack_sound = 'sound/weapons/beartrap_shut.ogg'
|
||||
attack_name = "power fist"
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
|
||||
/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)
|
||||
..()
|
||||
@@ -148,10 +148,10 @@
|
||||
attack_verb = list("cleaved", "plowed", "swiped")
|
||||
attack_noun = list("massive claws")
|
||||
damage = 25
|
||||
sharp = 1
|
||||
edge = 1
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
attack_name = "massive claws"
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
|
||||
/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)
|
||||
..()
|
||||
@@ -172,9 +172,9 @@
|
||||
attack_verb = list("mauled","gored","perforated")
|
||||
attack_noun = list("mandibles")
|
||||
damage = 35
|
||||
shredding = 1
|
||||
sharp = 1
|
||||
edge = 1
|
||||
shredding = TRUE
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
attack_name = "mandibles"
|
||||
|
||||
/datum/unarmed_attack/bite/infectious
|
||||
@@ -188,7 +188,7 @@
|
||||
to_chat(user, SPAN_WARNING("You feel that \the [target] has been already infected!"))
|
||||
|
||||
var/infection_chance = 80
|
||||
infection_chance -= target.run_armor_check(zone,"melee")
|
||||
infection_chance -= target.get_blocked_ratio(zone, BRUTE, damage_flags = DAM_SHARP|DAM_EDGE, damage = damage)*100
|
||||
if(prob(infection_chance))
|
||||
if(target.reagents)
|
||||
var/trioxin_amount = REAGENT_VOLUME(target.reagents, /decl/reagent/toxin/trioxin)
|
||||
@@ -200,7 +200,7 @@
|
||||
damage = 15
|
||||
attack_sound = 'sound/weapons/heavysmash.ogg'
|
||||
attack_name = "crushing fist"
|
||||
shredding = 1
|
||||
shredding = TRUE
|
||||
|
||||
/datum/unarmed_attack/shocking
|
||||
attack_verb = list("prodded", "touched")
|
||||
|
||||
@@ -766,7 +766,7 @@ var/global/list/golem_types = list(SPECIES_GOLEM_COAL,
|
||||
/datum/species/golem/uranium/handle_environment_special(var/mob/living/carbon/human/H)
|
||||
if(prob(25))
|
||||
for(var/mob/living/L in view(7, H))
|
||||
L.apply_effect(150, IRRADIATE, blocked = L.getarmor(null, "rad"))
|
||||
L.apply_damage(150, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
|
||||
/datum/species/golem/homunculus
|
||||
name = SPECIES_GOLEM_MEAT
|
||||
|
||||
@@ -43,18 +43,19 @@ 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/armor,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/attack_damage,var/zone)
|
||||
|
||||
if(target.stat == DEAD)
|
||||
return
|
||||
|
||||
var/stun_chance = rand(0, 100)
|
||||
var/armor = target.get_blocked_ratio(zone, BRUTE)
|
||||
var/pain_message = TRUE
|
||||
|
||||
if(!target.can_feel_pain())
|
||||
pain_message = FALSE
|
||||
|
||||
if(attack_damage >= 5 && armor < 100 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance
|
||||
if(attack_damage >= 5 && armor < 1 && !(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
|
||||
@@ -92,12 +93,12 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] gives way slightly.</span>")
|
||||
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)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armor < 1) // 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, armor)
|
||||
target.apply_effect(3, WEAKEN, armor*100)
|
||||
|
||||
/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)
|
||||
|
||||
@@ -183,7 +183,7 @@ There are several things that need to be remembered:
|
||||
|
||||
//DAMAGE OVERLAYS
|
||||
//constructs damage icon for each organ from mask * damage field and saves it in our overlays_raw list (as a list of icons).
|
||||
/mob/living/carbon/human/UpdateDamageIcon(var/update_icons=1)
|
||||
/mob/living/carbon/human/UpdateDamageIcon(var/update_icons = 1)
|
||||
// first check whether something actually changed about damage appearance
|
||||
var/damage_appearance = ""
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user