Firebird Update (#12113)

This commit is contained in:
FluffMedic
2025-12-15 17:27:21 +01:00
committed by GitHub
parent cabbb2c8b6
commit f7d05d2d0a
6 changed files with 67 additions and 27 deletions
@@ -58,7 +58,7 @@
var/evo_point = 0
var/evo_limit = 0
var/next
meat_type = /obj/item/toy/figure/bounty_hunter
meat_type = /obj/item/reagent_containers/food/snacks/metroidmeat
can_be_drop_prey = FALSE //CHOMP Add
@@ -71,3 +71,11 @@
temp_range = list(T0C + 180, T0C + 200)
/decl/chemical_reaction/distilling/phoenixbreath
name = REAGENT_PHOENIXBREATH
id = REAGENT_ID_PHOENIXBREATH
result = REAGENT_ID_PHOENIXBREATH
required_reagents = list(REAGENT_ID_SHOCKCHEM = 1, REAGENT_ID_NEOTANE = 1, REAGENT_ID_BURNCARD = 1, REAGENT_ID_QUADCORD = 1, REAGENT_ID_MINDBREAKER = 1)
result_amount = 6
temp_range = list(T0C + 100, T0C + 120)
@@ -94,14 +94,14 @@
result = REAGENT_ID_LIQUIDHEALER
required_reagents = list(REAGENT_ID_BICARIDINE = 1, REAGENT_ID_KELOTANE = 1, REAGENT_ID_LIQUIDLIFE = 1, REAGENT_ID_CARPOTOXIN = 1, REAGENT_ID_QUADCORD = 1, REAGENT_ID_CRYPTOBIOLIN = 1)
result_amount = 6
/*
/decl/chemical_reaction/instant/phoenixbreath
name = REAGENT_PHOENIXBREATH
id = REAGENT_ID_PHOENIXBREATH
result = REAGENT_ID_PHOENIXBREATH
required_reagents = list(REAGENT_ID_VERMICETOL = 1, REAGENT_ID_LIQUIDLIFE = 1, REAGENT_ID_NEOLIQUIDFIRE = 1, REAGENT_ID_SOULDEW = 1, REAGENT_ID_PHORON = 1, REAGENT_ID_DERMALINE = 1)
result_amount = 6
*/
/decl/chemical_reaction/instant/dryagent
name = REAGENT_DRYAGENT
id = REAGENT_ID_DRYAGENT
@@ -75,3 +75,43 @@
max_health_percent = 1.3
disable_duration_percent = 0.2
/datum/modifier/life_cloak
name = "Life Cloak"
desc = "Your body is protected from death."
on_created_text = span_critical("You feel protected!")
on_expired_text = span_notice("Your body returns to normal.")
stacks = MODIFIER_STACK_EXTEND
/datum/modifier/life_cloak/can_apply(var/mob/living/L, var/suppress_failure = FALSE)
if(L.has_modifier_of_type(/datum/modifier/life_cloak_exhaustion))
return FALSE
return ..()
/datum/modifier/life_cloak/tick()
if(holder.stat != DEAD)
holder.add_modifier(/datum/modifier/life_cloak_exhaustion, 360 SECONDS)
holder.adjustBruteLoss(-150)
holder.adjustFireLoss(-150)
holder.adjustOxyLoss(-200)
GLOB.dead_mob_list.Remove(holder)
if((holder in GLOB.living_mob_list) || (holder in GLOB.dead_mob_list))
WARNING("Mob [holder] was defibbed but already in the living or dead list still!")
GLOB.living_mob_list += holder
holder.timeofdeath = 0
holder.set_stat(CONSCIOUS)
holder.failed_last_breath = 0
holder.reload_fullscreen()
holder.updatehealth()
expire()
/datum/modifier/life_cloak_exhaustion
name = "Life Cloak Recovery"
desc = "Your body is recovering."
on_created_text = span_critical("Something feels wrong!")
on_expired_text = span_notice("Your body returns to normal.")
stacks = MODIFIER_STACK_EXTEND
disable_duration_percent = 2
incoming_damage_percent = 1.5
@@ -387,31 +387,22 @@
holder.adjustCloneLoss(-1)
/datum/reagent/phoenixbreath
/datum/reagent/modapplying/phoenixbreath
name = REAGENT_PHOENIXBREATH
id = REAGENT_ID_PHOENIXBREATH
description = "An improvement on the original soul dew chemical"
description = "An experimental chem that will bring those back from the brink, with severe side effects"
taste_description = "ash"
reagent_state = LIQUID
color = "#FFFFFF"
color = "#fcac00"
scannable = 1
overdose = REAGENTS_OVERDOSE
affects_dead = TRUE
mrate_static = TRUE
metabolism = 0.5
metabolism = 0.1
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
industrial_use = REFINERYEXPORT_REASON_MEDSCI
modifier_to_add = /datum/modifier/life_cloak
modifier_duration = 3 SECONDS
/datum/reagent/phoenixbreath/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
var/chem_effective = 1 * M.species.chem_strength_heal
if(M.stat == DEAD)
M.adjustOxyLoss(-3 * removed * chem_effective)
M.heal_organ_damage(4 * removed * chem_effective, 4 * removed * chem_effective)
M.adjustToxLoss(-3 * removed * chem_effective)
M.adjustOxyLoss(-2 * removed * chem_effective)
M.heal_organ_damage(4 * removed * chem_effective, 4 * removed * chem_effective)
M.adjustToxLoss(-2 * removed * chem_effective)
M.add_chemical_effect(CE_PAINKILLER, 10 * M.species.chem_strength_pain)
/datum/reagent/dryagent
name = REAGENT_DRYAGENT