Removes british spelling of armor from armor_penetration vars (#30104)

* spelling

* manually rename last armour pen

* Update code/game/objects/obj_defense.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com>

* Update goldgrub.dm

---------

Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
kyunkyunkyun
2025-09-01 09:27:52 +05:00
committed by GitHub
parent 3216ab1c00
commit 626eaaeb79
65 changed files with 152 additions and 152 deletions
+6 -6
View File
@@ -101,18 +101,18 @@
if(time_since_parry > parry_time_out_time)
return
var/armour_penetration_percentage = 0
var/armour_penetration_flat = 0
var/armor_penetration_percentage = 0
var/armor_penetration_flat = 0
if(isitem(hitby))
var/obj/item/I = hitby
armour_penetration_percentage = I.armour_penetration_percentage
armour_penetration_flat = I.armour_penetration_flat
armor_penetration_percentage = I.armor_penetration_percentage
armor_penetration_flat = I.armor_penetration_flat
if(armour_penetration_flat + armour_penetration_percentage >= 100)
if(armor_penetration_flat + armor_penetration_percentage >= 100)
return
var/stamina_damage = stamina_coefficient * (((time_since_parry / parry_time_out_time) + armour_penetration_percentage / 100) * (damage + armour_penetration_flat)) + stamina_constant
var/stamina_damage = stamina_coefficient * (((time_since_parry / parry_time_out_time) + armor_penetration_percentage / 100) * (damage + armor_penetration_flat)) + stamina_constant
if(!no_parry_sound)
var/sound_to_play
+1 -1
View File
@@ -562,7 +562,7 @@
icon_state = "bloodspear0"
force = 17
throwforce = 30
armour_penetration_percentage = 50
armor_penetration_percentage = 50
attack_verb = list("attacked", "impaled", "stabbed", "torn", "gored")
sharp = TRUE
no_spin_thrown = TRUE
+1 -1
View File
@@ -9,7 +9,7 @@
w_class = WEIGHT_CLASS_SMALL
force = 15
throwforce = 25
armour_penetration_flat = 35
armor_penetration_flat = 35
sprite_sheets_inhand = null // Override parent
var/drawing_rune = FALSE
var/scribe_multiplier = 1 // Lower is faster
@@ -55,7 +55,7 @@
if(toggle)
melee_damage_lower = initial(melee_damage_lower)
melee_damage_upper = initial(melee_damage_upper)
armour_penetration_percentage = initial(armour_penetration_percentage)
armor_penetration_percentage = initial(armor_penetration_percentage)
obj_damage = initial(obj_damage)
environment_smash = initial(environment_smash)
alpha = initial(alpha)
@@ -73,7 +73,7 @@
return
melee_damage_lower = 50
melee_damage_upper = 50
armour_penetration_percentage = 100
armor_penetration_percentage = 100
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
alpha = 10
@@ -2,7 +2,7 @@
name = "crystal spray"
icon_state = "guardian"
damage = 20
armour_penetration_percentage = 100
armor_penetration_percentage = 100
/mob/living/simple_animal/hostile/guardian/ranged
friendly = "quietly assesses"
@@ -364,7 +364,7 @@
throw_speed = 1
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
armour_penetration_percentage = 50
armor_penetration_percentage = 50
var/active = FALSE
/obj/item/holo/esword/Initialize(mapload)
+2 -2
View File
@@ -520,8 +520,8 @@
enabled = TRUE //turns it back on. The cover pop_up() pop_down() are automatically called in process(), no need to define it here
return TRUE
/obj/machinery/porta_turret/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0)
damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration_flat, armour_penetration_percentage)
/obj/machinery/porta_turret/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armor_penetration_flat = 0, armor_penetration_percentage = 0)
damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armor_penetration_flat, armor_penetration_percentage)
if(!raised && !raising)
damage_amount = damage_amount / 8
if(damage_amount < 5)
@@ -468,7 +468,7 @@
/obj/item/kinetic_crusher/mecha
/// Since this one doesn't have the two_handed component it will always use the value in force
force = 30
armour_penetration_flat = 15
armor_penetration_flat = 15
detonation_damage = 90
backstab_bonus = 50
+2 -2
View File
@@ -92,9 +92,9 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/// How much clothing is slowing you down. Negative values speeds you up.
var/slowdown = 0
/// Flat armour reduction, occurs after percentage armour penetration.
var/armour_penetration_flat = 0
var/armor_penetration_flat = 0
/// Percentage armour reduction, happens before flat armour reduction.
var/armour_penetration_percentage = 0
var/armor_penetration_percentage = 0
/// For what suits can store. IE. secuirty vest holding stunbatons, disablers, cuffs.
var/list/allowed = list()
/// All items can have an uplink hidden inside, just remember to add the triggers.
+1 -1
View File
@@ -10,7 +10,7 @@
throw_speed = 1
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
armour_penetration_percentage = 100
armor_penetration_percentage = 100
attack_verb = list("bludgeoned", "whacked", "disciplined")
resistance_flags = FLAMMABLE
+2 -2
View File
@@ -19,7 +19,7 @@
/// The amount of stamina damage the baton does per swing
var/stamina_damage = 30
/// How much melee armour is ignored by the stamina damage
var/stamina_armour_pen = 0
var/stamina_armor_pen = 0
/// The stun time (in seconds) for non-silicons
var/knockdown_duration = 6 SECONDS
/// The stun time (in seconds) for silicons
@@ -122,7 +122,7 @@
* * user - The attacking user
*/
/obj/item/melee/classic_baton/proc/on_non_silicon_stun(mob/living/target, mob/living/user)
var/armour = target.run_armor_check("chest", armour_penetration_percentage = stamina_armour_pen) // returns their chest melee armour
var/armour = target.run_armor_check("chest", armor_penetration_percentage = stamina_armor_pen) // returns their chest melee armour
var/percentage_reduction = 0
if(ishuman(target))
percentage_reduction = (100 - ARMOUR_VALUE_TO_PERCENTAGE(armour)) / 100
@@ -248,7 +248,7 @@
item_state = "scythe0"
desc = "Ask not for whom the bell tolls..."
w_class = WEIGHT_CLASS_BULKY
armour_penetration_flat = 30
armor_penetration_flat = 30
slot_flags = ITEM_SLOT_BACK
sharp = TRUE
attack_verb = list("chopped", "sliced", "cut", "reaped")
@@ -181,7 +181,7 @@
w_class_on = WEIGHT_CLASS_HUGE
hitsound = 'sound/weapons/bladeslice.ogg'
flags = CONDUCT
armour_penetration_percentage = 100
armor_penetration_percentage = 100
origin_tech = "combat=4;magnets=3"
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
attack_verb_on = list()
@@ -207,8 +207,8 @@
hitsound = "swing_hit"
embed_chance = 75
embedded_impact_pain_multiplier = 10
armour_penetration_percentage = 50
armour_penetration_flat = 10
armor_penetration_percentage = 50
armor_penetration_flat = 10
origin_tech = "combat=3;magnets=4;syndicate=4"
sharp = TRUE
var/hacked = FALSE
@@ -345,8 +345,8 @@
throwforce_on = 10 // No PvP shenanigans, this is main weapon in PvE explorer gameplay and can be obtained very easy
embed_chance = 45
embedded_impact_pain_multiplier = 4
armour_penetration_percentage = 0
armour_penetration_flat = 0
armor_penetration_percentage = 0
armor_penetration_flat = 0
icon_state = "cutlass0"
icon_state_on = "cutlass1"
light_color = LIGHT_COLOR_RED
@@ -14,7 +14,7 @@
force = 15
throwforce = 10
w_class = WEIGHT_CLASS_BULKY
armour_penetration_percentage = 75
armor_penetration_percentage = 75
sharp = TRUE
origin_tech = null
attack_verb = list("lunged at", "stabbed")
@@ -112,7 +112,7 @@
flags = CONDUCT
force = 5
throwforce = 5
armour_penetration_flat = 30
armor_penetration_flat = 30
w_class = WEIGHT_CLASS_BULKY
sharp = TRUE
origin_tech = "combat=6;syndicate=5"
@@ -280,8 +280,8 @@
force_on = 40
throw_speed = 1
throw_range = 5
armour_penetration_percentage = 50
armour_penetration_flat = 10
armor_penetration_percentage = 50
armor_penetration_flat = 10
/obj/item/chainsaw/syndie/Initialize(mapload)
. = ..()
@@ -310,7 +310,7 @@
/obj/item/chainsaw/doomslayer
name = "OOOH BABY"
desc = "<span class='warning'>VRRRRRRR!!!</span>"
armour_penetration_percentage = 100
armor_penetration_percentage = 100
force_on = 30
/obj/item/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
@@ -9,7 +9,7 @@
resistance_flags = LAVA_PROOF | FIRE_PROOF
w_class = WEIGHT_CLASS_BULKY
force = 25
armour_penetration_flat = 50
armor_penetration_flat = 50
sharp = TRUE
new_attack_chain = TRUE
///enchantment holder, gives it unique on hit effects.
+7 -7
View File
@@ -55,8 +55,8 @@
/obj/item/fireaxe/energized
desc = "Someone with a love for fire axes decided to turn this one into a high-powered energy weapon. Seems excessive."
force_wielded = 35
armour_penetration_flat = 10
armour_penetration_percentage = 30
armor_penetration_flat = 10
armor_penetration_percentage = 30
var/charge = 20
var/max_charge = 20
@@ -106,8 +106,8 @@
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
var/w_class_on = WEIGHT_CLASS_BULKY
armour_penetration_flat = 10
armour_penetration_percentage = 50
armor_penetration_flat = 10
armor_penetration_percentage = 50
origin_tech = "magnets=4;syndicate=5"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 70)
@@ -279,7 +279,7 @@
var/force_wielded = 18
throwforce = 20
throw_speed = 4
armour_penetration_flat = 5
armor_penetration_flat = 5
materials = list(MAT_METAL = 1150, MAT_GLASS = 2075)
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
@@ -350,7 +350,7 @@
force_unwielded = 11
force_wielded = 20 //I have no idea how to balance
throwforce = 22
armour_penetration_percentage = 15 //Enhanced armor piercing
armor_penetration_percentage = 15 //Enhanced armor piercing
//Blatant imitation of spear, but all natural. Also not valid for explosive modification.
/obj/item/spear/bamboo
@@ -627,7 +627,7 @@
flags = ABSTRACT | NODROP | DROPDEL
force = 22
damtype = BURN
armour_penetration_percentage = 50
armor_penetration_percentage = 50
sharp = TRUE
attack_effect_override = ATTACK_EFFECT_CLAW
hitsound = 'sound/weapons/bladeslice.ogg'
+13 -13
View File
@@ -1,5 +1,5 @@
//the essential proc to call when an obj must receive damage of any kind.
/obj/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0)
/obj/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armor_penetration_flat = 0, armor_penetration_percentage = 0)
if(QDELETED(src))
stack_trace("[src] taking damage after deletion")
return
@@ -7,7 +7,7 @@
play_attack_sound(damage_amount, damage_type, damage_flag)
if((resistance_flags & INDESTRUCTIBLE) || obj_integrity <= 0)
return
damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration_flat, armour_penetration_percentage)
damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armor_penetration_flat, armor_penetration_percentage)
if(damage_amount < DAMAGE_PRECISION)
return
. = damage_amount
@@ -20,7 +20,7 @@
obj_destruction(damage_flag)
///returns the damage value of the attack after processing the obj's various armor protections
/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0)
/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armor_penetration_flat = 0, armor_penetration_percentage = 0)
if(damage_flag == MELEE && damage_amount < damage_deflection)
return 0
if(damage_type != BRUTE && damage_type != BURN)
@@ -29,12 +29,12 @@
if(damage_flag)
armor_protection = armor.getRating(damage_flag)
if(armor_protection) //Only apply weak-against-armor/hollowpoint effects if there actually IS armor.
armor_protection = clamp((armor_protection * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat, min(armor_protection, 0), 100)
armor_protection = clamp((armor_protection * ((100 - armor_penetration_percentage) / 100)) - armor_penetration_flat, min(armor_protection, 0), 100)
var/damage_multiplier = (100 - armor_protection) / 100
return round(damage_amount * damage_multiplier, DAMAGE_PRECISION)
/// returns the amount of damage required to destroy this object in a single hit.
/obj/proc/calculate_oneshot_damage(damage_type, damage_flag = 0, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0)
/obj/proc/calculate_oneshot_damage(damage_type, damage_flag = 0, attack_dir, armor_penetration_flat = 0, armor_penetration_percentage = 0)
if(obj_integrity <= 0)
return 0
if(resistance_flags & INDESTRUCTIBLE)
@@ -46,7 +46,7 @@
if(damage_flag)
armor_protection = armor.getRating(damage_flag)
if(armor_protection) // Only apply weak-against-armor/hollowpoint effects if there actually IS armor.
armor_protection = clamp((armor_protection * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat, min(armor_protection, 0), 100)
armor_protection = clamp((armor_protection * ((100 - armor_penetration_percentage) / 100)) - armor_penetration_flat, min(armor_protection, 0), 100)
var/damage_multiplier = (100 - armor_protection) / 100
if(damage_multiplier <= 0)
@@ -91,7 +91,7 @@
playsound(src, P.hitsound, 50, TRUE)
visible_message("<span class='danger'>[src] is hit by \a [P]!</span>")
if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object
take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration_flat, P.armour_penetration_percentage)
take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armor_penetration_flat, P.armor_penetration_percentage)
///Called to get the damage that hulks will deal to the obj.
/obj/proc/hulk_damage()
@@ -117,10 +117,10 @@
return
take_damage(400, BRUTE, MELEE, 0, get_dir(src, B))
/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armour_penetration_flat = 0, armour_penetration_percentage = 0) //used by attack_alien, attack_animal, and attack_slime
/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration_flat = 0, armor_penetration_percentage = 0) // used by attack_alien, attack_animal, and attack_slime
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armour_penetration_flat, armour_penetration_percentage)
return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration_flat, armor_penetration_percentage)
/obj/attack_alien(mob/living/carbon/alien/humanoid/user)
if(attack_generic(user, 60, BRUTE, MELEE, 0))
@@ -136,9 +136,9 @@
play_soundeffect = 0
var/obj_turf = get_turf(src) // play from the turf in case the object gets deleted mid attack
if(M.obj_damage)
. = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration_flat, M.armour_penetration_percentage)
. = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armor_penetration_flat, M.armor_penetration_percentage)
else
. = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration_flat, M.armour_penetration_percentage)
. = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armor_penetration_flat, M.armor_penetration_percentage)
if(. && !play_soundeffect)
playsound(QDELETED(src) ? obj_turf : src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
@@ -152,9 +152,9 @@
play_soundeffect = FALSE
var/obj_turf = get_turf(src) // play from the turf in case the object gets deleted mid attack
if(attacker.obj_damage)
. = attack_generic(attacker, attacker.obj_damage, attacker.melee_damage_type, MELEE, play_soundeffect, attacker.armour_penetration_flat, attacker.armour_penetration_percentage)
. = attack_generic(attacker, attacker.obj_damage, attacker.melee_damage_type, MELEE, play_soundeffect, attacker.armor_penetration_flat, attacker.armor_penetration_percentage)
else
. = attack_generic(attacker, rand(attacker.melee_damage_lower, attacker.melee_damage_upper), attacker.melee_damage_type, MELEE, play_soundeffect, attacker.armour_penetration_flat, attacker.armour_penetration_percentage)
. = attack_generic(attacker, rand(attacker.melee_damage_lower, attacker.melee_damage_upper), attacker.melee_damage_type, MELEE, play_soundeffect, attacker.armor_penetration_flat, attacker.armor_penetration_percentage)
if(. && !play_soundeffect)
playsound(QDELETED(src) ? obj_turf : src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
return TRUE
+1 -1
View File
@@ -287,7 +287,7 @@
. = ..()
if(. && receive_ricochet_damage_coeff)
// pass along receive_ricochet_damage_coeff damage to the structure for the ricochet
take_damage(P.damage * receive_ricochet_damage_coeff, P.damage_type, P.flag, 0, REVERSE_DIR(P.dir), P.armour_penetration_flat, P.armour_penetration_percentage)
take_damage(P.damage * receive_ricochet_damage_coeff, P.damage_type, P.flag, 0, REVERSE_DIR(P.dir), P.armor_penetration_flat, P.armor_penetration_percentage)
/obj/proc/return_obj_air()
RETURN_TYPE(/datum/gas_mixture)
@@ -7,7 +7,7 @@
knockdown_duration = 4 SECONDS
cooldown = 2.5 SECONDS
stamina_damage = 70
stamina_armour_pen = 100
stamina_armor_pen = 100
force_off = 5
force_on = 15
item_state_on = "contractor_baton"
@@ -46,7 +46,7 @@
w_class = WEIGHT_CLASS_BULKY
flags = ABSTRACT | NODROP | DROPDEL
force = 10
armour_penetration_flat = 20
armor_penetration_flat = 20
sharp = TRUE
attack_effect_override = ATTACK_EFFECT_CLAW
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -58,7 +58,7 @@
flags = ABSTRACT | NODROP | DROPDEL
gender = PLURAL
force = 21 // allows them to break down doors aka NOT FUCKING AROUND
armour_penetration_percentage = -20
armor_penetration_percentage = -20
attack_effect_override = ATTACK_EFFECT_CLAW
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("slashed", "sliced", "torn", "ripped", "mauled", "cut", "savaged", "clawed")
@@ -180,7 +180,7 @@
/obj/item/zombie_claw/plague_claw
name = "Plague Claws"
desc = "Claws extend from your rotting hands, oozing a putrid ichor. Perfect for rending bone and flesh for your master."
armour_penetration_flat = 15
armor_penetration_flat = 15
force = 13
/obj/item/zombie_claw/plague_claw/Initialize(mapload, new_parent_spell, disease)
@@ -50,7 +50,7 @@
var/atom/throw_target = get_edge_target_turf(L, get_dir(src, get_step_away(L, src)))
L.throw_at(throw_target, 4, 4)
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
var/armor = L.run_armor_check(def_zone = limb_to_hit, attack_flag = MELEE, armour_penetration_percentage = 50)
var/armor = L.run_armor_check(def_zone = limb_to_hit, attack_flag = MELEE, armor_penetration_percentage = 50)
L.apply_damage(40, BRUTE, limb_to_hit, armor)
// Below here is edited from Bubblegum
+1 -1
View File
@@ -182,7 +182,7 @@
SSticker.mode.incursion_portals -= src
return ..()
/obj/structure/spawner/nether/demon_incursion/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armour_penetration_flat, armour_penetration_percentage)
/obj/structure/spawner/nether/demon_incursion/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armor_penetration_flat, armor_penetration_percentage)
. = ..()
COOLDOWN_START(src, portal_repair, portal_repair_cooldown)
@@ -75,7 +75,7 @@
var/mob/living/carbon/human/H = target
var/headarmor = 0 // Target's head armor
armor_block = H.run_armor_check(affecting, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage) // For normal attack damage
armor_block = H.run_armor_check(affecting, MELEE, null, null, armor_penetration_flat, armor_penetration_percentage) // For normal attack damage
//If they have a hat/helmet and the user is targeting their head.
if(istype(H.head, /obj/item/clothing/head) && affecting == "head")
+1 -1
View File
@@ -137,7 +137,7 @@
throw_range = 3
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
armour_penetration_flat = 20
armor_penetration_flat = 20
slot_flags = ITEM_SLOT_BACK
origin_tech = "materials=3;combat=2"
attack_verb = list("chopped", "sliced", "cut", "reaped")
@@ -13,7 +13,7 @@
slot_flags = ITEM_SLOT_BACK
throwforce = 5
throw_speed = 4
armour_penetration_flat = 10
armor_penetration_flat = 10
materials = list(MAT_METAL = 1150, MAT_GLASS = 2075)
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped")
@@ -355,7 +355,7 @@
icon_state = "hook"
icon = 'icons/obj/lavaland/artefacts.dmi'
damage = 25
armour_penetration_percentage = 100
armor_penetration_percentage = 100
hitsound = 'sound/effects/splat.ogg'
weaken = 1 SECONDS
knockdown = 6 SECONDS
@@ -523,8 +523,8 @@
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
force = 15
armour_penetration_percentage = 40
armour_penetration_flat = 10
armor_penetration_percentage = 40
armor_penetration_flat = 10
sharp = TRUE
w_class = WEIGHT_CLASS_HUGE
attack_verb = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")
+2 -2
View File
@@ -135,9 +135,9 @@ RESTRICT_TYPE(/mob/living/basic)
/// What can this mob break?
var/environment_smash = ENVIRONMENT_SMASH_NONE
/// Flat armour reduction, occurs after percentage armour penetration.
var/armour_penetration_flat = 0
var/armor_penetration_flat = 0
/// Percentage armour reduction, happens before flat armour reduction.
var/armour_penetration_percentage = 0
var/armor_penetration_percentage = 0
/// Damage type of a simple mob's melee attack, should it do damage.
var/melee_damage_type = BRUTE
/// Lower bound for melee attack cooldown
@@ -49,6 +49,6 @@
ore.forceMove(loc)
/mob/living/basic/mining/goldgrub/bullet_act(obj/item/projectile/P)
if(P.armour_penetration_flat + P.armour_penetration_percentage >= 100)
if(P.armor_penetration_flat + P.armor_penetration_percentage >= 100)
return ..()
visible_message("<span class='danger'>[P.name] was repelled by [name]'s girth!</span>")
@@ -304,7 +304,7 @@
var/atom/throw_target = get_edge_target_turf(L, get_dir(src, get_step_away(L, src)))
L.throw_at(throw_target, 4, 4)
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
var/armor = L.run_armor_check(def_zone = limb_to_hit, attack_flag = MELEE, armour_penetration_percentage = 50)
var/armor = L.run_armor_check(def_zone = limb_to_hit, attack_flag = MELEE, armor_penetration_percentage = 50)
L.apply_damage(40, BRUTE, limb_to_hit, armor)
// Tendril-spawned Legion remains, the charred skeletons of those whose bodies sank into laval or fell into chasms.
@@ -110,8 +110,8 @@
update_icon(UPDATE_NAME)
throwforce = possessed_item.throwforce
armour_penetration_flat = possessed_item.armour_penetration_flat
armour_penetration_percentage = possessed_item.armour_penetration_percentage
armor_penetration_flat = possessed_item.armor_penetration_flat
armor_penetration_percentage = possessed_item.armor_penetration_percentage
melee_damage_lower = max(0, possessed_item.force - 5)
melee_damage_upper = possessed_item.force + 5
@@ -485,7 +485,7 @@ emp_act
if(!I.force)
return //item force is zero
var/armor = run_armor_check(affecting, MELEE, "<span class='warning'>Your armour has protected your [hit_area].</span>", "<span class='warning'>Your armour has softened hit to your [hit_area].</span>", armour_penetration_flat = I.armour_penetration_flat, armour_penetration_percentage = I.armour_penetration_percentage)
var/armor = run_armor_check(affecting, MELEE, "<span class='warning'>Your armour has protected your [hit_area].</span>", "<span class='warning'>Your armour has softened hit to your [hit_area].</span>", armor_penetration_flat = I.armor_penetration_flat, armor_penetration_percentage = I.armor_penetration_percentage)
if(armor == INFINITY)
return
@@ -681,7 +681,7 @@ emp_act
if(w_uniform)
w_uniform.add_fingerprint(M)
var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected))
var/armor_block = run_armor_check(affecting, MELEE, armour_penetration_flat = 10)
var/armor_block = run_armor_check(affecting, MELEE, armor_penetration_flat = 10)
playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1)
visible_message("<span class='danger'>[M] has slashed at [src]!</span>", \
@@ -715,7 +715,7 @@ emp_act
if(!affecting)
affecting = get_organ("chest")
affecting.add_autopsy_data(M.name, damage) // Add the mob's name to the autopsy data
var/armor = run_armor_check(affecting, MELEE, armour_penetration_flat = M.armour_penetration_flat, armour_penetration_percentage = M.armour_penetration_percentage)
var/armor = run_armor_check(affecting, MELEE, armor_penetration_flat = M.armor_penetration_flat, armor_penetration_percentage = M.armor_penetration_percentage)
apply_damage(damage, M.melee_damage_type, affecting, armor)
updatehealth("animal attack")
@@ -730,7 +730,7 @@ emp_act
if(!affecting)
affecting = get_organ("chest")
affecting.add_autopsy_data(attacker.name, damage) // Add the mob's name to the autopsy data
var/armor = run_armor_check(affecting, MELEE, armour_penetration_flat = attacker.armour_penetration_flat, armour_penetration_percentage = attacker.armour_penetration_percentage)
var/armor = run_armor_check(affecting, MELEE, armor_penetration_flat = attacker.armor_penetration_flat, armor_penetration_percentage = attacker.armor_penetration_percentage)
apply_damage(damage, attacker.melee_damage_type, affecting, armor)
updatehealth("basicmob attack")
@@ -385,7 +385,7 @@
/datum/species/golem/sand/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H)
if(!(P.original == H && P.firer == H))
if((P.flag == BULLET || P.flag == BOMB) && P.armour_penetration_percentage < 100)
if((P.flag == BULLET || P.flag == BOMB) && P.armor_penetration_percentage < 100)
playsound(H, 'sound/effects/shovel_dig.ogg', 70, 1)
H.visible_message("<span class='danger'>[P] sinks harmlessly in [H]'s sandy body!</span>", \
"<span class='userdanger'>[P] sinks harmlessly in [H]'s sandy body!</span>")
+5 -5
View File
@@ -10,7 +10,7 @@
1 - halfblock
2 - fullblock
*/
/mob/living/proc/run_armor_check(def_zone = null, attack_flag = MELEE, absorb_text = "Your armor absorbs the blow!", soften_text = "Your armor softens the blow!", armour_penetration_flat = 0, penetrated_text = "Your armor was penetrated!", armour_penetration_percentage = 0)
/mob/living/proc/run_armor_check(def_zone = null, attack_flag = MELEE, absorb_text = "Your armor absorbs the blow!", soften_text = "Your armor softens the blow!", armor_penetration_flat = 0, penetrated_text = "Your armor was penetrated!", armor_penetration_percentage = 0)
var/armor = getarmor(def_zone, attack_flag)
if(armor == INFINITY)
@@ -18,12 +18,12 @@
return armor
if(armor <= 0)
return armor
if(!armour_penetration_flat && !armour_penetration_percentage)
if(!armor_penetration_flat && !armor_penetration_percentage)
to_chat(src, "<span class='userdanger'>[soften_text]</span>")
return armor
var/armor_original = armor
armor = max(0, (armor * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat)
armor = max(0, (armor * ((100 - armor_penetration_percentage) / 100)) - armor_penetration_flat)
if(armor_original <= armor)
to_chat(src, "<span class='userdanger'>[soften_text]</span>")
else
@@ -44,7 +44,7 @@
/mob/living/bullet_act(obj/item/projectile/P, def_zone)
SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, P, def_zone)
//Armor
var/armor = run_armor_check(def_zone, P.flag, armour_penetration_flat = P.armour_penetration_flat, armour_penetration_percentage = P.armour_penetration_percentage)
var/armor = run_armor_check(def_zone, P.flag, armor_penetration_flat = P.armor_penetration_flat, armor_penetration_percentage = P.armor_penetration_percentage)
if(!P.nodamage)
apply_damage(P.damage, P.damage_type, def_zone, armor)
if(P.dismemberment)
@@ -140,7 +140,7 @@
visible_message("<span class='danger'>[src] is hit by [thrown_item]!</span>", "<span class='userdanger'>You're hit by [thrown_item]!</span>")
if(!thrown_item.throwforce)
return
var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration_flat, armour_penetration_percentage = thrown_item.armour_penetration_percentage)
var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armor_penetration_flat, armor_penetration_percentage = thrown_item.armor_penetration_percentage)
apply_damage(thrown_item.throwforce, thrown_item.damtype, zone, armor, thrown_item.sharp, thrown_item)
if(QDELETED(src)) //Damage can delete the mob.
return
@@ -23,7 +23,7 @@
. = ..()
if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
damage = run_armor(damage, M.melee_damage_type, MELEE, 0, M.armour_penetration_flat, M.armour_penetration_percentage)
damage = run_armor(damage, M.melee_damage_type, MELEE, 0, M.armor_penetration_flat, M.armor_penetration_percentage)
switch(M.melee_damage_type)
if(BRUTE)
adjustBruteLoss(damage)
@@ -74,7 +74,7 @@
. = ..()
if(.)
var/damage = rand(attacker.melee_damage_lower, attacker.melee_damage_upper)
damage = run_armor(damage, attacker.melee_damage_type, MELEE, 0, attacker.armour_penetration_flat, attacker.armour_penetration_percentage)
damage = run_armor(damage, attacker.melee_damage_type, MELEE, 0, attacker.armor_penetration_flat, attacker.armor_penetration_percentage)
switch(attacker.melee_damage_type)
if(BRUTE)
adjustBruteLoss(damage)
@@ -280,7 +280,7 @@
/mob/living/silicon/bullet_act(obj/item/projectile/Proj)
if(!Proj.nodamage)
var/damage = run_armor(Proj.damage, Proj.damage_type, Proj.flag, 0, Proj.armour_penetration_flat, Proj.armour_penetration_percentage)
var/damage = run_armor(Proj.damage, Proj.damage_type, Proj.flag, 0, Proj.armor_penetration_flat, Proj.armor_penetration_percentage)
switch(Proj.damage_type)
if(BRUTE)
adjustBruteLoss(damage)
@@ -305,18 +305,18 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
bonus_damage = H.physiology.melee_bonus
var/damage = run_armor(I.force + bonus_damage, I.damtype, MELEE, 0, I.armour_penetration_flat, I.armour_penetration_percentage)
var/damage = run_armor(I.force + bonus_damage, I.damtype, MELEE, 0, I.armor_penetration_flat, I.armor_penetration_percentage)
apply_damage(damage, I.damtype, def_zone)
///returns the damage value of the attack after processing the silicons's various armor protections
/mob/living/silicon/proc/run_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0)
/mob/living/silicon/proc/run_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armor_penetration_flat = 0, armor_penetration_percentage = 0)
if(damage_type != BRUTE && damage_type != BURN)
return 0
var/armor_protection = 0
if(damage_flag)
armor_protection = armor.getRating(damage_flag)
if(armor_protection) //Only apply weak-against-armor/hollowpoint effects if there actually IS armor.
armor_protection = clamp((armor_protection * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat, min(armor_protection, 0), 100)
armor_protection = clamp((armor_protection * ((100 - armor_penetration_percentage) / 100)) - armor_penetration_flat, min(armor_protection, 0), 100)
return round(damage_amount * (100 - armor_protection) * 0.01, DAMAGE_PRECISION)
/mob/living/silicon/apply_effect(effect = 0, effecttype = STUN, blocked = 0)
@@ -16,7 +16,7 @@
attacktext = "slices"
attack_sound = 'sound/weapons/bladeslice.ogg'
armour_penetration_percentage = 40
armor_penetration_percentage = 40
melee_damage_lower = 10
melee_damage_upper = 100
environment_smash = ENVIRONMENT_SMASH_RWALLS
@@ -43,6 +43,6 @@
maxHealth = 200
health = 200
speed = 3
armour_penetration_flat = 5
armor_penetration_flat = 5
melee_damage_upper = 20
environment_smash = 2
@@ -60,7 +60,7 @@ Difficulty: Hard
friendly = "stares down"
speak_emote = list("BUZZES")
universal_speak = TRUE
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 20
melee_damage_upper = 20
melee_damage_type = BURN //Legs do the stomping, this is just a shock
@@ -210,19 +210,19 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/ancient_robot/enrage()
. = ..()
armour_penetration_percentage = 66
TL.armour_penetration_percentage = 66
TR.armour_penetration_percentage = 66
BL.armour_penetration_percentage = 66
BR.armour_penetration_percentage = 66
armor_penetration_percentage = 66
TL.armor_penetration_percentage = 66
TR.armor_penetration_percentage = 66
BL.armor_penetration_percentage = 66
BR.armor_penetration_percentage = 66
/mob/living/simple_animal/hostile/megafauna/ancient_robot/unrage()
. = ..()
armour_penetration_percentage = 50
TL.armour_penetration_percentage = 50
TR.armour_penetration_percentage = 50
BL.armour_penetration_percentage = 50
BR.armour_penetration_percentage = 50
armor_penetration_percentage = 50
TL.armor_penetration_percentage = 50
TR.armor_penetration_percentage = 50
BL.armor_penetration_percentage = 50
BR.armor_penetration_percentage = 50
/mob/living/simple_animal/hostile/megafauna/ancient_robot/OpenFire()
@@ -338,7 +338,7 @@ Difficulty: Hard
L.visible_message("<span class='danger'>[src] slams into [L]!</span>", "<span class='userdanger'>[src] tramples you into the ground!</span>")
forceMove(get_turf(L))
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage))
L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armor_penetration_flat, armor_penetration_percentage))
playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE)
shake_camera(L, 4, 3)
shake_camera(src, 2, 3)
@@ -664,7 +664,7 @@ Difficulty: Hard
projectilesound = 'sound/weapons/gunshots/gunshot.ogg'
projectiletype = /obj/item/projectile/bullet/ancient_robot_bullet
attacktext = "stomps on"
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 15
melee_damage_upper = 15
obj_damage = 400
@@ -767,7 +767,7 @@ Difficulty: Hard
L.visible_message("<span class='danger'>[src] slams into [L]!</span>", "<span class='userdanger'>[src] tramples you into the ground!</span>")
forceMove(get_turf(L))
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
L.apply_damage(12.5, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage))
L.apply_damage(12.5, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armor_penetration_flat, armor_penetration_percentage))
playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE)
shake_camera(L, 4, 3)
shake_camera(src, 2, 3)
@@ -41,7 +41,7 @@ Difficulty: Hard
friendly = "stares down"
icon = 'icons/mob/lavaland/96x96megafauna.dmi'
speak_emote = list("gurgles")
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 40
melee_damage_upper = 40
speed = 5
@@ -321,7 +321,7 @@ Difficulty: Hard
to_chat(L, "<span class='userdanger'>[src] rends you!</span>")
playsound(T, attack_sound, 100, TRUE, -1)
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
L.apply_damage(second_life ? 20 : 10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage))
L.apply_damage(second_life ? 20 : 10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armor_penetration_flat, armor_penetration_percentage))
SLEEP_CHECK_DEATH(3)
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodgrab(turf/T, handedness)
@@ -650,7 +650,7 @@ Difficulty: Hard
desc = "Oh they are PISSED. And quite injured too..."
health = 750
maxHealth = 750
armour_penetration_percentage = 75
armor_penetration_percentage = 75
second_life = TRUE
enraged = TRUE
rapid_melee = 12
@@ -38,7 +38,7 @@ Difficulty: Very Hard
friendly = "stares down"
icon = 'icons/mob/lavaland/96x96megafauna.dmi'
speak_emote = list("roars")
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 40
melee_damage_upper = 40
speed = 10
@@ -360,7 +360,7 @@ Difficulty: Very Hard
name ="death bolt"
icon_state= "chronobolt"
damage = 25
armour_penetration_percentage = 100
armor_penetration_percentage = 100
speed = 2
/obj/item/projectile/colossus/on_hit(atom/target, blocked = 0)
@@ -43,7 +43,7 @@ Difficulty: Medium
icon_dead = "dragon_dead"
friendly = "stares down"
speak_emote = list("roars")
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 40
melee_damage_upper = 40
speed = 5
@@ -48,7 +48,7 @@ Difficulty: Hard
icon = 'icons/mob/lavaland/hierophant_new.dmi'
faction = list("boss") //asteroid mobs? get that shit out of my beautiful square house
speak_emote = list("preaches")
armour_penetration_percentage = 100 //It does 15 damage / only attacks when enraged
armor_penetration_percentage = 100 // It does 15 damage / only attacks when enraged
melee_damage_lower = 15
melee_damage_upper = 15
speed = 10
@@ -28,7 +28,7 @@ Difficulty: Medium
attacktext = "chomps"
attack_sound = 'sound/misc/demon_attack1.ogg'
speak_emote = list("echoes")
armour_penetration_percentage = 50
armor_penetration_percentage = 50
melee_damage_lower = 40
melee_damage_upper = 40
wander = FALSE
@@ -29,7 +29,7 @@
health = 1000
melee_damage_lower = 30
melee_damage_upper = 30
armour_penetration_percentage = 50
armor_penetration_percentage = 50
attacktext = "beats down on"
attack_sound = 'sound/weapons/punch1.ogg'
throw_message = "does nothing to the rocky hide of the"
@@ -178,7 +178,7 @@
health = 50
melee_damage_lower = 12.5
melee_damage_upper = 12.5
armour_penetration_percentage = 50
armor_penetration_percentage = 50
attacktext = "bashes against"
attack_sound = 'sound/weapons/punch1.ogg'
throw_message = "does nothing to the rocky hide of the"
@@ -28,7 +28,7 @@
health = 1000
melee_damage_lower = 20
melee_damage_upper = 20
armour_penetration_percentage = 50
armor_penetration_percentage = 50
light_power = 5
light_range = 2
light_color = "#FF0000"
@@ -226,7 +226,7 @@
name = "death bolt"
icon_state = "chronobolt"
damage = 15
armour_penetration_percentage = 50
armor_penetration_percentage = 50
speed = 2
/obj/item/projectile/herald/teleshot
@@ -28,7 +28,7 @@
health = 1000
melee_damage_lower = 35
melee_damage_upper = 35
armour_penetration_percentage = 50
armor_penetration_percentage = 50
attacktext = "slashes its arms at"
attack_sound = 'sound/weapons/bladeslice.ogg'
throw_message = "doesn't affect the sturdiness of"
@@ -30,7 +30,7 @@
health = 1000
melee_damage_lower = 15
melee_damage_upper = 15
armour_penetration_percentage = 50
armor_penetration_percentage = 50
attacktext = "smashes into the side of"
attack_sound = 'sound/weapons/sonic_jackhammer.ogg'
throw_message = "merely dinks off of the"
@@ -70,7 +70,7 @@
damage_coeff = list(BRUTE = 0.9, BURN = 0.9, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) // Imitates our armor
melee_damage_lower = 30
melee_damage_upper = 30
armour_penetration_percentage = 50
armor_penetration_percentage = 50
loot = list(
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
@@ -66,9 +66,9 @@
/// How much damage this simple animal does to objects, if any
var/obj_damage = 0
/// Flat armour reduction, occurs after percentage armour penetration.
var/armour_penetration_flat = 0
var/armor_penetration_flat = 0
/// Percentage armour reduction, happens before flat armour reduction.
var/armour_penetration_percentage = 0
var/armor_penetration_percentage = 0
/// Damage type of a simple mob's melee attack, should it do damage.
var/melee_damage_type = BRUTE
/// 1 for full damage , 0 for none , -1 for 1:1 heal from that source
+2 -2
View File
@@ -5,8 +5,8 @@
icon_state = "energy_katana"
item_state = "energy_katana"
throwforce = 20
armour_penetration_percentage = 50
armour_penetration_flat = 10
armor_penetration_percentage = 50
armor_penetration_flat = 10
var/cooldown = 0 // Because spam aint cool, yo.
var/datum/effect_system/spark_spread/spark_system
+1 -1
View File
@@ -209,7 +209,7 @@
light_color = LIGHT_COLOR_RED
var/backstab_sound = 'sound/items/unsheath.ogg'
var/backstab_damage = 12
armour_penetration_flat = 20
armor_penetration_flat = 20
throw_speed = 4
/obj/item/pen/edagger/attack__legacy__attackchain(mob/living/M, mob/living/user, def_zone)
@@ -460,7 +460,7 @@
M.gets_drilled(K.firer)
if(modifier)
for(var/mob/living/L in range(1, target_turf) - K.firer - target)
var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration_flat, K.armour_penetration_percentage)
var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armor_penetration_flat, K.armor_penetration_percentage)
L.apply_damage(K.damage * modifier, K.damage_type, K.def_zone, armor)
to_chat(L, "<span class='userdanger'>You're struck by a [K.name]!</span>")
@@ -564,7 +564,7 @@
var/kill_modifier = 1
if(K.pressure_decrease_active)
kill_modifier *= K.pressure_decrease
var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration_flat, K.armour_penetration_percentage)
var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armor_penetration_flat, K.armor_penetration_percentage)
L.apply_damage(bounties_reaped[L.type]*kill_modifier, K.damage_type, K.def_zone, armor)
/obj/item/borg/upgrade/modkit/bounty/proc/get_kill(mob/living/L)
@@ -1095,7 +1095,7 @@
desc = "It's about a foot of weird silvery metal with a wicked point."
damage = 25
knockdown = 2
armour_penetration_flat = 30
armor_penetration_flat = 30
icon_state = "magspear"
/obj/item/projectile/bullet/spike/on_hit(atom/target, blocked = 0)
@@ -69,11 +69,11 @@
/obj/item/projectile/bullet/saw
damage = 45
armour_penetration_flat = 5
armor_penetration_flat = 5
/obj/item/projectile/bullet/saw/bleeding
damage = 20
armour_penetration_flat = 0
armor_penetration_flat = 0
/obj/item/projectile/bullet/saw/bleeding/on_hit(atom/target, blocked = 0, hit_zone)
. = ..()
@@ -83,15 +83,15 @@
/obj/item/projectile/bullet/saw/hollow
damage = 60
armour_penetration_flat = -30
armor_penetration_flat = -30
/obj/item/projectile/bullet/saw/ap
damage = 40
armour_penetration_percentage = 100
armor_penetration_percentage = 100
/obj/item/projectile/bullet/saw/incen
damage = 7
armour_penetration_flat = 0
armor_penetration_flat = 0
immolate = 3
/obj/item/projectile/bullet/saw/incen/Move()
@@ -68,7 +68,7 @@
/obj/item/projectile/bullet/sniper
damage = 70
weaken = 10 SECONDS
armour_penetration_flat = 70
armor_penetration_flat = 70
forced_accuracy = TRUE
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSGIRDER
speed = 0.5
@@ -116,7 +116,7 @@
harmful = FALSE
/obj/item/projectile/bullet/sniper/soporific
armour_penetration_flat = 0
armor_penetration_flat = 0
nodamage = 1
weaken = 0
@@ -143,7 +143,7 @@
projectile_type = /obj/item/projectile/bullet/sniper/haemorrhage
/obj/item/projectile/bullet/sniper/haemorrhage
armour_penetration_flat = 25
armor_penetration_flat = 25
damage = 45
weaken = 6 SECONDS
+2 -2
View File
@@ -107,7 +107,7 @@
/obj/item/projectile/beam/disabler/weak
name = "weakened disabler beam"
damage = 15
armour_penetration_flat = -10
armor_penetration_flat = -10
light_color = LIGHT_COLOR_BLUE
/obj/item/projectile/beam/disabler/fake
@@ -252,7 +252,7 @@
name = "instagib laser"
icon_state = "purple_laser"
damage = 200
armour_penetration_percentage = 100
armor_penetration_percentage = 100
impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser
light_color = LIGHT_COLOR_PURPLE
@@ -66,26 +66,26 @@
/obj/item/projectile/bullet/armourpiercing
damage = 17
armour_penetration_flat = 10
armor_penetration_flat = 10
/obj/item/projectile/bullet/armourpiercing/wt550
damage = 15
armour_penetration_percentage = 50
armour_penetration_flat = 25
armor_penetration_percentage = 50
armor_penetration_flat = 25
/obj/item/projectile/bullet/pellet
name = "pellet"
damage = 12.5
tile_dropoff = 0.75
tile_dropoff_s = 1.25
armour_penetration_flat = -20
armor_penetration_flat = -20
/obj/item/projectile/bullet/pellet/rubber
name = "rubber pellet"
damage = 3
stamina = 12.5
icon_state = "bullet-r"
armour_penetration_flat = -10
armor_penetration_flat = -10
/obj/item/projectile/bullet/pellet/rubber/on_hit(atom/target, blocked = 0)
. = ..()
@@ -125,11 +125,11 @@
/obj/item/projectile/bullet/midbullet3/hp
damage = 40
armour_penetration_flat = -40
armor_penetration_flat = -40
/obj/item/projectile/bullet/midbullet3/ap
damage = 27
armour_penetration_flat = 40
armor_penetration_flat = 40
/obj/item/projectile/bullet/midbullet3/fire
immolate = 1
@@ -62,7 +62,7 @@
icon_state = "bluespace"
impact_effect_type = /obj/effect/temp_visual/bsg_kaboom
damage = BSG_BASE_DAMAGE
armour_penetration_flat = 50
armor_penetration_flat = 50
range = 9
knockdown = 4 SECONDS //This is going to knock you off your feet
eyeblur = 10 SECONDS
@@ -133,7 +133,7 @@
damage = 45
damage_type = BURN
flag = "energy"
armour_penetration_flat = 10 // It can have a little armor pen, as a treat. Bigger than it looks, energy armor is often low.
armor_penetration_flat = 10 // It can have a little armor pen, as a treat. Bigger than it looks, energy armor is often low.
shield_buster = TRUE
var/reached_target = FALSE
@@ -27,7 +27,7 @@
damage = 0
damage_type = OXY
nodamage = 1
armour_penetration_percentage = 100
armor_penetration_percentage = 100
flag = MAGIC
antimagic_flags = MAGIC_RESISTANCE
antimagic_charge_cost = 1
@@ -4,7 +4,7 @@
damage = 0
damage_type = OXY
nodamage = 1
armour_penetration_percentage = 100
armor_penetration_percentage = 100
flag = MAGIC
antimagic_flags = MAGIC_RESISTANCE
antimagic_charge_cost = 1
@@ -292,6 +292,6 @@
force_unwielded = 12
force_wielded = 22
throwforce = 25
armour_penetration_percentage = 15
armor_penetration_percentage = 15
embed_chance = 0 // would suck to lose this after one throw
var/bonus_burn = 5 // currently does nothing
@@ -77,7 +77,7 @@
return FALSE
target.visible_message("<span class='danger'>[user] pushes [target]'s head into [src]!</span>", \
"<span class='userdanger'>[user] pushes your head into [src]! The heat is agonizing!</span>")
var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, attack_flag = MELEE, armour_penetration_percentage = 50)
var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, attack_flag = MELEE, armor_penetration_percentage = 50)
target.apply_damage(40, BURN, BODY_ZONE_HEAD, armor)
target.adjust_fire_stacks(5)
target.IgniteMob()
@@ -94,7 +94,7 @@
return FALSE
target.visible_message("<span class='danger'>[user] hammers [target]'s head with [src]!</span>", \
"<span class='userdanger'>[user] hammers your head with [src]! Did somebody get the license plate on that car?</span>")
var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, attack_flag = MELEE, armour_penetration_percentage = 50)
var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, attack_flag = MELEE, armor_penetration_percentage = 50)
target.apply_damage(40, BRUTE, BODY_ZONE_HEAD, armor)
target.Weaken(4 SECONDS)
target.emote("scream")
+2 -2
View File
@@ -525,7 +525,7 @@
w_class = WEIGHT_CLASS_BULKY
sharp = TRUE
force = 18
armour_penetration_percentage = -100 //This means that armor twice as effective against it
armor_penetration_percentage = -100 //This means that armor twice as effective against it
reach = 2
hitsound = 'sound/weapons/whip.ogg'
attack_verb = list("slashes", "whips", "lashes", "lacerates")
@@ -925,7 +925,7 @@
icon_state = "syndie_mantis"
item_state = "syndie_mantis"
force = 15
armour_penetration_percentage = 30
armor_penetration_percentage = 30
/obj/item/melee/mantis_blade/syndicate/Initialize(mapload)
. = ..()