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
+10 -9
View File
@@ -160,7 +160,7 @@
prob(6);/obj/item/gun/projectile/automatic/l6_saw,\
prob(6);/obj/item/gun/energy/lasercannon,\
prob(5);/obj/item/gun/projectile/automatic/bullpup,\
prob(5);/obj/item/gun/energy/pulse_rifle,\
/* prob(5);/obj/item/gun/energy/pulse_rifle,\ CHOMPREMOVAL Why why why*/
/* prob(4);/obj/item/gun/projectile/automatic/battlerifle,\ */
prob(3);/obj/item/gun/projectile/deagle/camo,\
prob(3);/obj/item/gun/energy/gun/nuclear,\
@@ -245,21 +245,22 @@
new /obj/item/clothing/mask/breath(C)
if("health")
//hopefully won't be necessary, but there were an awful lot of hazards to get through...
//CHOMPEdit Start
var/obj/structure/closet/crate/medical/C = new(src.loc)
if(prob(50))
if(prob(40))
new /obj/item/storage/firstaid/regular(C)
if(prob(50))
if(prob(40))
new /obj/item/storage/firstaid/fire(C)
if(prob(50))
if(prob(40))
new /obj/item/storage/firstaid/o2(C)
if(prob(50))
if(prob(40))
new /obj/item/storage/firstaid/toxin(C)
if(prob(25))
if(prob(5))
new /obj/item/storage/firstaid/combat(C)
if(prob(25))
if(prob(15))
new /obj/item/storage/firstaid/adv(C)
if(prob(25))
new /obj/item/storage/firstaid/experimental(C) //CHOMP Add
if(prob(5)) //CHOMPEdit End
new /obj/item/storage/firstaid/experimental(C) //CHOMPedit Add
if("snacks")
//you're come so far, you must be in need of refreshment
var/obj/structure/closet/crate/freezer/C = new(src.loc)
@@ -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