mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
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:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user