From f80e7ba62d27c77cfeac709dd71033744d0015c4 Mon Sep 17 00:00:00 2001 From: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com> Date: Tue, 3 May 2022 00:35:00 -0300 Subject: [PATCH] Moves fauna made armor into the same file as the basic explorer armor. (#66638) --- code/modules/clothing/suits/cloaks.dm | 106 ------------- .../modules/mining/equipment/explorer_gear.dm | 143 +++++++++++++++++- 2 files changed, 142 insertions(+), 107 deletions(-) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 3cd48509c3d..ac0f5b68584 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -49,112 +49,6 @@ desc = "Worn by the Head of Personnel. It smells faintly of bureaucracy." icon_state = "hopcloak" -/obj/item/clothing/suit/hooded/cloak/goliath - 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/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/knife/combat/bone, /obj/item/knife/combat/survival) - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot - hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath - body_parts_covered = CHEST|GROIN|ARMS - -/obj/item/clothing/head/hooded/cloakhood/goliath - name = "goliath cloak hood" - icon_state = "golhood" - desc = "A protective & concealing hood." - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) - clothing_flags = SNUG_FIT - flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR - transparent_protection = HIDEMASK - -/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/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, /obj/item/spear) - armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) - hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - resistance_flags = FIRE_PROOF | ACID_PROOF - transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES - -/obj/item/clothing/head/hooded/cloakhood/drake - name = "drake helm" - icon_state = "dragon" - desc = "The skull of a dragon." - armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) - clothing_flags = SNUG_FIT - cold_protection = HEAD - min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - resistance_flags = FIRE_PROOF | ACID_PROOF - -/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/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, /obj/item/spear) - armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) - clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL - hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - 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 | ACID_PROOF | FREEZE_PROOF - transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES - /// Amount to heal when the effect is triggered - var/heal_amount = 500 - /// Time until the effect can take place again - var/effect_cooldown_time = 10 MINUTES - /// Current cooldown for the effect - COOLDOWN_DECLARE(effect_cooldown) - var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) - -/obj/item/clothing/head/hooded/cloakhood/godslayer - name = "godslayer helm" - icon_state = "godslayer" - desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." - armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) - clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT - cold_protection = HEAD - min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - flash_protect = FLASH_PROTECTION_WELDER - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF - resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF - -/obj/item/clothing/suit/hooded/cloak/godslayer/examine(mob/user) - . = ..() - if(loc == user && !COOLDOWN_FINISHED(src, effect_cooldown)) - . += "You feel like the revival effect will be able to occur again in [COOLDOWN_TIMELEFT(src, effect_cooldown) / 10] seconds." - -/obj/item/clothing/suit/hooded/cloak/godslayer/equipped(mob/user, slot) - . = ..() - if(slot & ITEM_SLOT_OCLOTHING) - RegisterSignal(user, COMSIG_MOB_STATCHANGE, .proc/resurrect) - return - UnregisterSignal(user, COMSIG_MOB_STATCHANGE) - -/obj/item/clothing/suit/hooded/cloak/godslayer/dropped(mob/user) - ..() - UnregisterSignal(user, COMSIG_MOB_STATCHANGE) - -/obj/item/clothing/suit/hooded/cloak/godslayer/proc/resurrect(mob/living/carbon/user, new_stat) - SIGNAL_HANDLER - if(new_stat > CONSCIOUS && new_stat < DEAD && COOLDOWN_FINISHED(src, effect_cooldown)) - COOLDOWN_START(src, effect_cooldown, effect_cooldown_time) //This needs to happen first, otherwise there's an infinite loop - user.heal_ordered_damage(heal_amount, damage_heal_order) - user.visible_message(span_notice("[user] suddenly revives, as their armor swirls with demonic energy!"), span_notice("You suddenly feel invigorated!")) - playsound(user.loc, 'sound/magic/clockwork/ratvar_attack.ogg', 50) - /obj/item/clothing/neck/cloak/skill_reward var/associated_skill_path = /datum/skill resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 20dd85a50f5..7d66f621a3a 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -11,7 +11,16 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/explorer armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 50, ACID = 50) - 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, /obj/item/storage/bag/ore) + 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 /obj/item/clothing/head/hooded/explorer @@ -58,3 +67,135 @@ /obj/item/clothing/mask/gas/explorer/folded/Initialize(mapload) . = ..() adjustmask() + +/obj/item/clothing/suit/hooded/cloak/goliath + 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/regenerative_core/legion, + /obj/item/pickaxe, + /obj/item/spear, + /obj/item/tank/internals, + ) + armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot + hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath + body_parts_covered = CHEST|GROIN|ARMS + +/obj/item/clothing/head/hooded/cloakhood/goliath + name = "goliath cloak hood" + icon_state = "golhood" + desc = "A protective & concealing hood." + armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) + clothing_flags = SNUG_FIT + flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR + transparent_protection = HIDEMASK + +/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 = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) + hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF | ACID_PROOF + transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES + +/obj/item/clothing/head/hooded/cloakhood/drake + name = "drake helm" + icon_state = "dragon" + desc = "The skull of a dragon." + armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) + clothing_flags = SNUG_FIT + cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF | ACID_PROOF + +/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 = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL + hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer + cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + 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 | ACID_PROOF | FREEZE_PROOF + transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES + /// Amount to heal when the effect is triggered + var/heal_amount = 500 + /// Time until the effect can take place again + var/effect_cooldown_time = 10 MINUTES + /// Current cooldown for the effect + COOLDOWN_DECLARE(effect_cooldown) + var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) + +/obj/item/clothing/head/hooded/cloakhood/godslayer + name = "godslayer helm" + icon_state = "godslayer" + desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." + armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT + cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + flash_protect = FLASH_PROTECTION_WELDER + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF + +/obj/item/clothing/suit/hooded/cloak/godslayer/examine(mob/user) + . = ..() + if(loc == user && !COOLDOWN_FINISHED(src, effect_cooldown)) + . += "You feel like the revival effect will be able to occur again in [COOLDOWN_TIMELEFT(src, effect_cooldown) / 10] seconds." + +/obj/item/clothing/suit/hooded/cloak/godslayer/equipped(mob/user, slot) + . = ..() + if(slot & ITEM_SLOT_OCLOTHING) + RegisterSignal(user, COMSIG_MOB_STATCHANGE, .proc/resurrect) + return + UnregisterSignal(user, COMSIG_MOB_STATCHANGE) + +/obj/item/clothing/suit/hooded/cloak/godslayer/dropped(mob/user) + ..() + UnregisterSignal(user, COMSIG_MOB_STATCHANGE) + +/obj/item/clothing/suit/hooded/cloak/godslayer/proc/resurrect(mob/living/carbon/user, new_stat) + SIGNAL_HANDLER + if(new_stat > CONSCIOUS && new_stat < DEAD && COOLDOWN_FINISHED(src, effect_cooldown)) + COOLDOWN_START(src, effect_cooldown, effect_cooldown_time) //This needs to happen first, otherwise there's an infinite loop + user.heal_ordered_damage(heal_amount, damage_heal_order) + user.visible_message(span_notice("[user] suddenly revives, as their armor swirls with demonic energy!"), span_notice("You suddenly feel invigorated!")) + playsound(user.loc, 'sound/magic/clockwork/ratvar_attack.ogg', 50)