mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
Mining armor and suit storage cleanup/generalization/modernization (#83437)
## About The Pull Request ### Suit Storage Makes the suit storage of the various suits consistent across one another. Now, all the mining suits use a single list which is easier to maintain. **The affected suit list is as follows;** Explorer Suits (and therefore Syndicate Explorer Suits), Goliath Cloaks, Bone Armor, Drake Armor, Godslayer Armor, Berserker Armor, Mining MODsuits, H.E.C.K. Suit. **The list of holdable items is as follows;** Flashlights, Proto-Kinetic Accelerators, Advanced Mining Scanners / Mining Scanners, Pickaxes, Upgraded Resonators / Resonators, Ore Bags, Air Tanks, Spears, special monster organs like Regenerative Cores, Knives, Proto-Kinetic Crushers, Cleaving Saws (the one that Blood-Drunk Miners drop), Grappling Guns and Climbing Hooks. ~~It probably doesn't matter too terribly much because you know only air tanks are going in that slot 95% of the time~~ ### Bone Armor and Goliath Cloaks Bone armor and goliath cloaks both have the same armor values, environmental protections and coverage as the explorer suit (bone armor includes the feet due to the sprite physically covering the feet, which is not a terribly significant balancing point but worth mentioning). They use the armor plate component to improve the parts of bone armor. However, they use bone talismans instead of goliath hide to be upgraded. Goliath cloaks come fully upgraded. You'll see why in a second. Their recipes are slightly different. Goliath cloaks take nine hides (I'm so sorry this is for consistency I promise you can't use the upgrade system with something that deletes its own armor values like this) and three sinew. Bone armor takes three goliath hides and 6 bone. ### Berserker Armor Berserker armor can now be improved to the same armor value as drake armor by using a full suit on both the body and the helmet of the berserker armor. (Each drake makes two suits, so you need to use up both suits). Instead of an armor boost, rage now halves incoming brute damage. Fuck you, Bubblegum! ### Minor Mining MODsuit Tweak and other armor value changes The base value for the armor is now 20, rather than 15, so that when it reaches max ash accretion it has equivalent armor to a fully upgraded explorer suit. This is only a value difference of 5, but it always annoyed me seeing it. All the above mentioned suits also now have a value of about 10 wound armor. This is because miners do actually experience wounding on lavaland. Some of the armors had this wound armor. Some didn't. Now they all do. I don't believe this to have been a deliberate design choice, but rather, an oversight. Iunno, someone who keeps track of this please tell me otherwise. Upgraded suits get a prefix to show they are upgraded. Now, never doubt whether the miner you are fighting is in a baseline explorer suit or a riot suit level improved explorer suit ever again! ### Berserker Armor actually covers up clothing/hair underneath properly and other minor stuff This is why I started this PR by the way. This one fix. I expand the scope of my horizons so broadly when I really sit down and PR, don't I? H.E.C.K. and Berserker helmets can be used for internals. ## Why It's Good For The Game There is a great deal of inconsistency with regards to the various lavaland armor you can find and use. Some armors were wildly inferior to others and only really having value for aesthetic. Some just seemed to have oversights that didn't seem quite right. And most importantly, the actual storage list for mining suits in general were not only inconsistent in of themselves, but were also not being updated as time goes on. Bringing them all into line allows for miners to have a bit of freedom of choice when it comes to appearance, without it becoming a balancing sticking point nor a detriment to their effectiveness. It is also much easier to maintain one list than six or seven lists. Assuming that the baseline of the explorer suit is a-okay for someone to possess, goliath cloaks and bone armor should now feel more like fashionable choices rather than, in some cases, being either a worse or better choice to take (its bone armor, bone armor is the best of these, its really good generalist armor). I don't care what effect it has on the ashlander economy. Neither should you. The minor tweaks and fixes are just stuff that annoyed me for autism reasons or were oversights due to changes to the items in question or the game around it. I doubt anyone but me cares very much about these minor differences, but I like consistency. ## Changelog 🆑 balance: The various mining related suits now have consistent suit storage. Try putting a knife into your explorer suit's suit storage today! balance: Bone armor work similarly to explorer suits, with similar armor values and options to upgrade their parts. However, they use bone talismans instead of goliath hides to upgrade. Magic? Just believing really strongly that the drake is hitting you slightly less hard because of the talismans? You be the judge. balance: Goliath cloaks come fully upgraded. However... balance: The recipes for bone armor and goliath cloaks are slightly different. Particularly goliath cloaks, which need a lot more dead goliaths to make. Sorry. balance: Mining MODsuits achieve at maximum ash accretion the same amount of melee armor as an upgraded explorer suit. balance: These various suits also consistently have wound armor. fix: Berserker armor properly hides underclothing and hair. balance: Berserker armor pieces can absorb drake armor to gain their enhanced protection. Become the warrior of Khorne you've always wanted to be. balance: Berserker rage now halves brute damage rather than just adding Melee Armor to you and your squishy body. qol: Berserker and H.E.C.K. helmets can be used for internals. /🆑
This commit is contained in:
@@ -13,16 +13,6 @@
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
hoodtype = /obj/item/clothing/head/hooded/explorer
|
||||
armor_type = /datum/armor/hooded_explorer
|
||||
allowed = list(
|
||||
/obj/item/flashlight,
|
||||
/obj/item/gun/energy/recharge/kinetic_accelerator,
|
||||
/obj/item/mining_scanner,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/resonator,
|
||||
/obj/item/storage/bag/ore,
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/tank/internals,
|
||||
)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/datum/armor/hooded_explorer
|
||||
@@ -33,6 +23,7 @@
|
||||
bomb = 50
|
||||
fire = 50
|
||||
acid = 50
|
||||
wound = 10
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer
|
||||
name = "explorer hood"
|
||||
@@ -52,6 +43,7 @@
|
||||
/obj/item/clothing/suit/hooded/explorer/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/armor_plate)
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -117,19 +109,28 @@
|
||||
name = "goliath cloak"
|
||||
icon_state = "goliath_cloak"
|
||||
desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits."
|
||||
allowed = list(
|
||||
/obj/item/flashlight,
|
||||
/obj/item/knife/combat/bone,
|
||||
/obj/item/knife/combat/survival,
|
||||
/obj/item/organ/internal/monster_core,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/spear,
|
||||
/obj/item/tank/internals,
|
||||
)
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
cold_protection = CHEST|GROIN|LEGS|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
heat_protection = CHEST|GROIN|LEGS|ARMS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF
|
||||
armor_type = /datum/armor/cloak_goliath
|
||||
armor_type = /datum/armor/hooded_goliath
|
||||
hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/goliath/Initialize(mapload)
|
||||
. = ..()
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/datum/armor/hooded_goliath
|
||||
melee = 60
|
||||
bullet = 10
|
||||
laser = 10
|
||||
energy = 20
|
||||
bomb = 50
|
||||
fire = 50
|
||||
acid = 50
|
||||
wound = 10
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/goliath/click_alt(mob/user)
|
||||
if(!iscarbon(user))
|
||||
@@ -143,58 +144,80 @@
|
||||
return CLICK_ACTION_BLOCKING
|
||||
if(slot_flags & ITEM_SLOT_OCLOTHING)
|
||||
slot_flags = ITEM_SLOT_NECK
|
||||
cold_protection = null
|
||||
heat_protection = null
|
||||
set_armor(/datum/armor/none)
|
||||
user.visible_message(span_notice("[user] adjusts their [src] for ceremonial use."), span_notice("You adjust your [src] for ceremonial use."))
|
||||
else
|
||||
slot_flags = initial(slot_flags)
|
||||
cold_protection = initial(cold_protection)
|
||||
heat_protection = initial(heat_protection)
|
||||
set_armor(initial(armor_type))
|
||||
user.visible_message(span_notice("[user] adjusts their [src] for defensive use."), span_notice("You adjust your [src] for defensive use."))
|
||||
return CLICK_ACTION_SUCCESS
|
||||
|
||||
/datum/armor/cloak_goliath
|
||||
melee = 35
|
||||
bullet = 10
|
||||
laser = 25
|
||||
energy = 35
|
||||
bomb = 25
|
||||
fire = 60
|
||||
acid = 60
|
||||
|
||||
/obj/item/clothing/head/hooded/cloakhood/goliath
|
||||
name = "goliath cloak hood"
|
||||
icon = 'icons/obj/clothing/head/helmet.dmi'
|
||||
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
|
||||
icon_state = "golhood"
|
||||
desc = "A protective & concealing hood."
|
||||
armor_type = /datum/armor/cloakhood_goliath
|
||||
armor_type = /datum/armor/hooded_goliath
|
||||
body_parts_covered = HEAD
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
clothing_flags = SNUG_FIT
|
||||
flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
|
||||
transparent_protection = HIDEMASK
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/datum/armor/cloakhood_goliath
|
||||
melee = 35
|
||||
bullet = 10
|
||||
laser = 25
|
||||
energy = 35
|
||||
bomb = 25
|
||||
fire = 60
|
||||
acid = 60
|
||||
/obj/item/clothing/head/hooded/cloakhood/goliath/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
/obj/item/clothing/suit/armor/bone
|
||||
name = "bone armor"
|
||||
desc = "A tribal armor plate, crafted from animal bone."
|
||||
icon_state = "bonearmor"
|
||||
inhand_icon_state = null
|
||||
blood_overlay_type = "armor"
|
||||
armor_type = /datum/armor/hooded_explorer
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS
|
||||
cold_protection = CHEST|GROIN|LEGS|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/armor/bone/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/armor_plate, upgrade_item = /obj/item/clothing/accessory/talisman)
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/obj/item/clothing/head/helmet/skull
|
||||
name = "skull helmet"
|
||||
desc = "An intimidating tribal helmet, it doesn't look very comfortable."
|
||||
icon_state = "skull"
|
||||
inhand_icon_state = null
|
||||
strip_delay = 100
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT
|
||||
flags_cover = HEADCOVERSEYES
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
armor_type = /datum/armor/hooded_explorer
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/helmet/skull/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/armor_plate, upgrade_item = /obj/item/clothing/accessory/talisman)
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/drake
|
||||
name = "drake armour"
|
||||
icon_state = "dragon"
|
||||
desc = "A suit of armour fashioned from the remains of an ash drake."
|
||||
allowed = list(
|
||||
/obj/item/flashlight,
|
||||
/obj/item/gun/energy/recharge/kinetic_accelerator,
|
||||
/obj/item/mining_scanner,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/resonator,
|
||||
/obj/item/spear,
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/tank/internals,
|
||||
)
|
||||
armor_type = /datum/armor/cloak_drake
|
||||
hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
@@ -214,6 +237,11 @@
|
||||
bio = 60
|
||||
fire = 100
|
||||
acid = 100
|
||||
wound = 10
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/drake/Initialize(mapload)
|
||||
. = ..()
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/cloakhood/drake
|
||||
name = "drake helm"
|
||||
@@ -221,7 +249,7 @@
|
||||
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
|
||||
icon_state = "dragon"
|
||||
desc = "The skull of a dragon."
|
||||
armor_type = /datum/armor/cloakhood_drake
|
||||
armor_type = /datum/armor/cloak_drake
|
||||
clothing_flags = SNUG_FIT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
@@ -229,30 +257,10 @@
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/datum/armor/cloakhood_drake
|
||||
melee = 65
|
||||
bullet = 15
|
||||
laser = 40
|
||||
energy = 40
|
||||
bomb = 70
|
||||
bio = 60
|
||||
fire = 100
|
||||
acid = 100
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/godslayer
|
||||
name = "godslayer armour"
|
||||
icon_state = "godslayer"
|
||||
desc = "A suit of armour fashioned from the remnants of a knight's armor, and parts of a wendigo."
|
||||
allowed = list(
|
||||
/obj/item/flashlight,
|
||||
/obj/item/gun/energy/recharge/kinetic_accelerator,
|
||||
/obj/item/mining_scanner,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/resonator,
|
||||
/obj/item/spear,
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/tank/internals,
|
||||
)
|
||||
armor_type = /datum/armor/cloak_godslayer
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
|
||||
hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer
|
||||
@@ -280,6 +288,11 @@
|
||||
bio = 50
|
||||
fire = 100
|
||||
acid = 100
|
||||
wound = 10
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/godslayer/Initialize(mapload)
|
||||
. = ..()
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/cloakhood/godslayer
|
||||
name = "godslayer helm"
|
||||
@@ -287,7 +300,7 @@
|
||||
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
|
||||
icon_state = "godslayer"
|
||||
desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner."
|
||||
armor_type = /datum/armor/cloakhood_godslayer
|
||||
armor_type = /datum/armor/cloak_godslayer
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
@@ -297,16 +310,6 @@
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF
|
||||
|
||||
/datum/armor/cloakhood_godslayer
|
||||
melee = 50
|
||||
bullet = 25
|
||||
laser = 25
|
||||
energy = 25
|
||||
bomb = 50
|
||||
bio = 50
|
||||
fire = 100
|
||||
acid = 100
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/godslayer/examine(mob/user)
|
||||
. = ..()
|
||||
if(loc == user && !COOLDOWN_FINISHED(src, effect_cooldown))
|
||||
@@ -348,6 +351,7 @@
|
||||
bomb = 50
|
||||
fire = 60
|
||||
acid = 60
|
||||
wound = 10
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer/syndicate
|
||||
name = "syndicate explorer hood"
|
||||
|
||||
@@ -261,10 +261,10 @@
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
clothing_flags = THICKMATERIAL
|
||||
clothing_flags = THICKMATERIAL|HEADINTERNALS
|
||||
resistance_flags = FIRE_PROOF|LAVA_PROOF|ACID_PROOF
|
||||
transparent_protection = HIDESUITSTORAGE|HIDEJUMPSUIT
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/recharge/kinetic_accelerator, /obj/item/pickaxe)
|
||||
allowed = null
|
||||
greyscale_colors = "#4d4d4d#808080"
|
||||
greyscale_config = /datum/greyscale_config/heck_suit
|
||||
greyscale_config_worn = /datum/greyscale_config/heck_suit/worn
|
||||
@@ -283,6 +283,7 @@
|
||||
. = ..()
|
||||
AddElement(/datum/element/radiation_protected_clothing)
|
||||
AddElement(/datum/element/gags_recolorable)
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
/obj/item/clothing/suit/hooded/hostile_environment/process(seconds_per_tick)
|
||||
var/mob/living/carbon/wearer = loc
|
||||
|
||||
@@ -659,7 +659,10 @@
|
||||
|
||||
/obj/item/clothing/suit/hooded/berserker
|
||||
name = "berserker armor"
|
||||
desc = "Voices echo from the armor, driving the user insane. Is not space-proof."
|
||||
desc = "This hulking armor seems to possess some kind of dark force within; howling in rage, hungry for carnage. \
|
||||
The self-sealing stem bolts that allowed this suit to be spaceworthy have long since corroded. However, the entity \
|
||||
sealed within the suit seems to hunger for the fleeting lifeforce found in the remains left within drake armor. \
|
||||
Feeding it seems to empower a suit piece, though turns the drake armor back to lifeless ash."
|
||||
icon_state = "berserker"
|
||||
icon = 'icons/obj/clothing/suits/armor.dmi'
|
||||
worn_icon = 'icons/mob/clothing/suits/armor.dmi'
|
||||
@@ -670,19 +673,9 @@
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
resistance_flags = FIRE_PROOF
|
||||
clothing_flags = THICKMATERIAL
|
||||
allowed = list(
|
||||
/obj/item/flashlight,
|
||||
/obj/item/tank/internals,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/spear,
|
||||
/obj/item/organ/internal/monster_core,
|
||||
/obj/item/knife,
|
||||
/obj/item/kinetic_crusher,
|
||||
/obj/item/resonator,
|
||||
/obj/item/melee/cleaving_saw,
|
||||
)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
clothing_flags = THICKMATERIAL|HEADINTERNALS
|
||||
|
||||
/datum/armor/hooded_berserker
|
||||
melee = 30
|
||||
@@ -690,23 +683,35 @@
|
||||
laser = 10
|
||||
energy = 20
|
||||
bomb = 50
|
||||
bio = 60
|
||||
fire = 100
|
||||
acid = 100
|
||||
wound = 10
|
||||
|
||||
/datum/armor/drake_empowerment
|
||||
melee = 35
|
||||
laser = 30
|
||||
energy = 20
|
||||
bomb = 20
|
||||
|
||||
/obj/item/clothing/suit/hooded/berserker/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/anti_magic, ALL, inventory_flags = ITEM_SLOT_OCLOTHING)
|
||||
AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/clothing/suit/hooded/cloak/drake, armor_mod = /datum/armor/drake_empowerment, upgrade_prefix = "empowered")
|
||||
allowed = GLOB.mining_suit_allowed
|
||||
|
||||
#define MAX_BERSERK_CHARGE 100
|
||||
#define PROJECTILE_HIT_MULTIPLIER 1.5
|
||||
#define DAMAGE_TO_CHARGE_SCALE 0.75
|
||||
#define CHARGE_DRAINED_PER_SECOND 5
|
||||
#define BERSERK_MELEE_ARMOR_ADDED 50
|
||||
#define BERSERK_ATTACK_SPEED_MODIFIER 0.25
|
||||
|
||||
/obj/item/clothing/head/hooded/berserker
|
||||
name = "berserker helmet"
|
||||
desc = "Peering into the eyes of the helmet is enough to seal damnation."
|
||||
desc = "This burdensome helmet seems to possess some kind of dark force within; howling in rage, hungry for carnage. \
|
||||
The self-sealing stem bolts that allowed this helmet to be spaceworthy have long since corroded. However, the entity \
|
||||
sealed within the suit seems to hunger for the fleeting lifeforce found in the remains left within drake armor. \
|
||||
Feeding it seems to empower a suit piece, though turns the drake armor back to lifeless ash."
|
||||
icon_state = "berserker"
|
||||
icon = 'icons/obj/clothing/head/helmet.dmi'
|
||||
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
|
||||
@@ -716,7 +721,8 @@
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF
|
||||
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS|HIDESNOUT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
clothing_flags = SNUG_FIT|THICKMATERIAL
|
||||
/// Current charge of berserk, goes from 0 to 100
|
||||
var/berserk_charge = 0
|
||||
@@ -726,6 +732,7 @@
|
||||
/obj/item/clothing/head/hooded/berserker/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, LOCKED_HELMET_TRAIT)
|
||||
AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/clothing/suit/hooded/cloak/drake, armor_mod = /datum/armor/drake_empowerment, upgrade_prefix = "empowered")
|
||||
|
||||
/obj/item/clothing/head/hooded/berserker/examine()
|
||||
. = ..()
|
||||
@@ -757,12 +764,12 @@
|
||||
if(berserk_active)
|
||||
return TRUE
|
||||
|
||||
/// Starts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier
|
||||
/// Starts berserk, reducing incoming brute by 50%, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier
|
||||
/obj/item/clothing/head/hooded/berserker/proc/berserk_mode(mob/living/carbon/human/user)
|
||||
to_chat(user, span_warning("You enter berserk mode."))
|
||||
playsound(user, 'sound/magic/staff_healing.ogg', 50)
|
||||
user.add_movespeed_modifier(/datum/movespeed_modifier/berserk)
|
||||
user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = BERSERK_MELEE_ARMOR_ADDED))
|
||||
user.physiology.brute_mod *= 0.5
|
||||
user.next_move_modifier *= BERSERK_ATTACK_SPEED_MODIFIER
|
||||
user.add_atom_colour(COLOR_BUBBLEGUM_RED, TEMPORARY_COLOUR_PRIORITY)
|
||||
ADD_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT)
|
||||
@@ -780,7 +787,7 @@
|
||||
to_chat(user, span_warning("You exit berserk mode."))
|
||||
playsound(user, 'sound/magic/summonitems_generic.ogg', 50)
|
||||
user.remove_movespeed_modifier(/datum/movespeed_modifier/berserk)
|
||||
user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = -BERSERK_MELEE_ARMOR_ADDED))
|
||||
user.physiology.brute_mod *= 2
|
||||
user.next_move_modifier /= BERSERK_ATTACK_SPEED_MODIFIER
|
||||
user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BUBBLEGUM_RED)
|
||||
REMOVE_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT)
|
||||
@@ -791,7 +798,6 @@
|
||||
#undef PROJECTILE_HIT_MULTIPLIER
|
||||
#undef DAMAGE_TO_CHARGE_SCALE
|
||||
#undef CHARGE_DRAINED_PER_SECOND
|
||||
#undef BERSERK_MELEE_ARMOR_ADDED
|
||||
#undef BERSERK_ATTACK_SPEED_MODIFIER
|
||||
|
||||
/obj/item/clothing/glasses/godeye
|
||||
|
||||
Reference in New Issue
Block a user