Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some fire buffs and nerfs #212

Merged
merged 7 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions code/__DEFINES/flame_color.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//TODO: Make firetypes, colour types are terrible
#define FLAME_COLOR_GREEN "green"
#define FLAME_COLOR_RED "red"
#define FLAME_COLOR_BLUE "blue"
#define FLAME_COLOR_LIME "lime"
2 changes: 1 addition & 1 deletion code/_onclick/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
for(var/obj/flamer_fire/fire in target_turf)

var/fire_level_to_extinguish = 5
if(fire.flame_color == "green") //TODO: Make firetypes, colour types are terrible
if(fire.flame_color == FLAME_COLOR_GREEN) //TODO: Make firetypes, colour types are terrible
fire_level_to_extinguish *= 2
if(fire.firelevel > fire_level_to_extinguish)
fire.firelevel -= fire_level_to_extinguish
Expand Down
2 changes: 1 addition & 1 deletion code/game/atoms/_atom.dm
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ directive is properly returned.
A.ex_act(severity, explosion_direction)

///Fire effects from a burning turf. Burn level is the base fire damage being received.
/atom/proc/flamer_fire_act(burnlevel)
/atom/proc/flamer_fire_act(burnlevel, flame_color = "red")
return


Expand Down
11 changes: 8 additions & 3 deletions code/game/objects/effects/decals/Cleanable/fuel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
var/fire_lvl = 15
///Used for the burn_lvl of the resulting fire
var/burn_lvl = 15
var/f_color = "red"
var/f_color = FLAME_COLOR_RED


/obj/effect/decal/cleanable/liquid_fuel/Initialize(mapload, amt = 1, logs = TRUE, newDir)
Expand Down Expand Up @@ -87,7 +87,7 @@
ignite_fuel(I)
log_attack("[key_name(user)] ignites [src] in fuel in [AREACOORD(user)]")

/obj/effect/decal/cleanable/liquid_fuel/flamer_fire_act(burnlevel)
/obj/effect/decal/cleanable/liquid_fuel/flamer_fire_act(burnlevel, flame_color)
. = ..()
ignite_fuel()

Expand Down Expand Up @@ -128,4 +128,9 @@
/obj/effect/decal/cleanable/liquid_fuel/xfuel
fire_lvl = 25
burn_lvl = 25
f_color = "blue"
f_color = FLAME_COLOR_BLUE

/obj/effect/decal/cleanable/liquid_fuel/gfuel
fire_lvl = 12
burn_lvl = 9
f_color = FLAME_COLOR_LIME
4 changes: 2 additions & 2 deletions code/game/objects/items/bodybag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,10 +211,10 @@
balloon_alert(bodybag_occupant, "[proj] jolts you out of the bag")
open()

/obj/structure/closet/bodybag/flamer_fire_act(burnlevel)
/obj/structure/closet/bodybag/flamer_fire_act(burnlevel, flame_color)
if(!opened && bodybag_occupant)
balloon_alert(bodybag_occupant, "The fire forces you out")
bodybag_occupant.flamer_fire_act(burnlevel)
bodybag_occupant.flamer_fire_act(burnlevel, flame_color)
open()

/obj/structure/closet/bodybag/ex_act(severity)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/explosives/grenades/grenade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
cell_explosion(loc, power = src.power, falloff = src.falloff)
qdel(src)

/obj/item/explosive/grenade/flamer_fire_act(burnlevel)
/obj/item/explosive/grenade/flamer_fire_act(burnlevel, flame_color)
activate()

/obj/item/explosive/grenade/attack_hand(mob/living/user)
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/items/explosives/grenades/marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
throw_range = initial(throw_range)


/obj/item/explosive/grenade/training/flamer_fire_act(burnlevel)
/obj/item/explosive/grenade/training/flamer_fire_act(burnlevel, flame_color)
return


Expand Down Expand Up @@ -267,7 +267,7 @@
qdel(src)


/proc/flame_radius(radius = 1, turf/epicenter, burn_intensity = 25, burn_duration = 25, burn_damage = 25, fire_stacks = 15, int_var = 0.5, dur_var = 0.5, colour = "red") //~Art updated fire.
/proc/flame_radius(radius = 1, turf/epicenter, burn_intensity = 25, burn_duration = 25, burn_damage = 25, fire_stacks = 15, int_var = 0.5, dur_var = 0.5, colour = FLAME_COLOR_RED ) //~Art updated fire.
if(!isturf(epicenter))
CRASH("flame_radius used without a valid turf parameter")
radius = clamp(radius, 1, 50) //Sanitize inputs
Expand Down Expand Up @@ -519,7 +519,7 @@
. = ..()
fuel = rand(lower_fuel_limit, upper_fuel_limit) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds.

/obj/item/explosive/grenade/flare/flamer_fire_act(burnlevel)
/obj/item/explosive/grenade/flare/flamer_fire_act(burnlevel, flame_color)
if(!fuel) //it's out of fuel, an empty shell.
return
if(!active)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/explosives/mine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Stepping directly on the mine will also blow it up
INVOKE_ASYNC(src, PROC_REF(trigger_explosion))

/// Flamer fire will cause mines to trigger their explosion
/obj/item/explosive/mine/flamer_fire_act(burnlevel)
/obj/item/explosive/mine/flamer_fire_act(burnlevel, flame_color)
. = ..()
INVOKE_ASYNC(src, PROC_REF(trigger_explosion))

Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/machinery/vending/marine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
/obj/item/ammo_magazine/rifle/pepperball = -1,
/obj/item/weapon/gun/flamer/big_flamer/marinestandard = 4,
/obj/item/ammo_magazine/flamer_tank/large = 16,
/obj/item/ammo_magazine/flamer_tank/large/G = 8,
/obj/item/ammo_magazine/flamer_tank/backtank = 4,
/obj/item/ammo_magazine/flamer_tank/water = -1,
/obj/item/jetpack_marine = 3,
Expand Down Expand Up @@ -156,6 +157,7 @@
/obj/item/weapon/gun/energy/lasgun/lasrifle/pocket_beam = -1,
/obj/item/weapon/gun/flamer/mini_flamer = -1,
/obj/item/ammo_magazine/flamer_tank/mini = -1,
/obj/item/ammo_magazine/flamer_tank/mini/G = 15,
/obj/item/weapon/gun/rifle/pepperball/pepperball_mini = -1,
/obj/item/ammo_magazine/rifle/pepperball/pepperball_mini = -1,
/obj/item/attachable/stock/t76 = -1,
Expand Down Expand Up @@ -332,6 +334,7 @@
/obj/item/ammo_magazine/rifle/pepperball = 40,
/obj/item/weapon/gun/flamer/big_flamer/marinestandard = 4,
/obj/item/ammo_magazine/flamer_tank/large = 30,
/obj/item/ammo_magazine/flamer_tank/large/G = 15,
/obj/item/ammo_magazine/flamer_tank/backtank = 4,
/obj/item/ammo_magazine/flamer_tank/water = -1,
/obj/item/jetpack_marine = 3,
Expand Down Expand Up @@ -377,6 +380,7 @@
/obj/item/weapon/gun/energy/lasgun/lasrifle/pocket_beam = -1,
/obj/item/weapon/gun/flamer/mini_flamer = -1,
/obj/item/ammo_magazine/flamer_tank/mini = -1,
/obj/item/ammo_magazine/flamer_tank/mini/G = 15,
/obj/item/weapon/gun/rifle/pepperball/pepperball_mini = -1,
/obj/item/ammo_magazine/rifle/pepperball/pepperball_mini = -1,
/obj/item/attachable/stock/t76 = -1,
Expand Down Expand Up @@ -566,6 +570,7 @@
/obj/item/ammo_magazine/rifle/pepperball = -1,
/obj/item/weapon/gun/flamer/big_flamer/marinestandard = -1,
/obj/item/ammo_magazine/flamer_tank/large = -1,
/obj/item/ammo_magazine/flamer_tank/large/G = -1,
/obj/item/ammo_magazine/flamer_tank/backtank = -1,
/obj/item/jetpack_marine = -1,
/obj/item/bodybag/tarp = -1,
Expand Down Expand Up @@ -615,6 +620,7 @@
/obj/item/weapon/gun/energy/lasgun/lasrifle/pocket_beam = -1,
/obj/item/weapon/gun/flamer/mini_flamer = -1,
/obj/item/ammo_magazine/flamer_tank/mini = -1,
/obj/item/ammo_magazine/flamer_tank/mini/G = -1,
/obj/item/weapon/gun/rifle/pepperball/pepperball_mini = -1,
/obj/item/ammo_magazine/rifle/pepperball/pepperball_mini = -1,
/obj/item/attachable/stock/t76 = -1,
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/structures/flora.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
if(prob(severity * 0.25))
qdel(src)

/obj/structure/flora/flamer_fire_act(burnlevel)
/obj/structure/flora/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel, BURN, FIRE)

/obj/structure/flora/fire_act()
Expand Down Expand Up @@ -81,7 +81,7 @@

qdel(src)

/obj/structure/flora/tree/flamer_fire_act(burnlevel)
/obj/structure/flora/tree/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel/6, BURN, FIRE)


Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/mine_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
coverage = 85
density = TRUE

/obj/structure/mine_structure/wooden/flamer_fire_act(burnlevel)
/obj/structure/mine_structure/wooden/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel, BURN, FIRE)

/obj/structure/mine_structure/wooden/fire_act()
Expand Down
20 changes: 18 additions & 2 deletions code/game/objects/structures/reagent_dispensers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@

playsound(src, 'sound/effects/glob.ogg', 25, 1)

/obj/structure/reagent_dispensers/fueltank/flamer_fire_act(burnlevel)
/obj/structure/reagent_dispensers/fueltank/flamer_fire_act(burnlevel, flame_color)
explode()

/obj/structure/reagent_dispensers/fueltank/barrel
Expand All @@ -233,7 +233,23 @@
exploding = TRUE

cell_explosion(loc, reagents.total_volume * 0.4, reagents.total_volume * 0.2)
flame_radius(round(reagents.total_volume * 0.005), loc, 46, 40, 31, 30, colour = "blue")
flame_radius(round(reagents.total_volume * 0.005), loc, 46, 40, 31, 30, colour = FLAME_COLOR_BLUE )
qdel(src)

/obj/structure/reagent_dispensers/fueltank/gfuel
name = "G-fueltank"
desc = "A tank filled with extremely dangerous plasma Fuel. There are numerous no smoking signs on every side of the tank."
icon_state = "gweldtank"
list_reagents = list(/datum/reagent/fuel/gfuel = 1000)

/obj/structure/reagent_dispensers/fueltank/gfuel/explode()
log_bomber(usr, "triggered a fueltank explosion with", src)
if(exploding)
return
exploding = TRUE

cell_explosion(loc, reagents.total_volume * 0.4, reagents.total_volume * 0.2)
flame_radius(round(reagents.total_volume * 0.005), loc, 46, 40, 31, 30, colour = FLAME_COLOR_LIME)
qdel(src)

/obj/structure/reagent_dispensers/water_cooler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
if(LAZYLEN(buckled_mobs))
. += image("icon_state" = "nest_overlay", "layer" = LYING_MOB_LAYER + 0.1)

/obj/structure/bed/nest/flamer_fire_act(burnlevel)
/obj/structure/bed/nest/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel * 2, BURN, FIRE)

/obj/structure/bed/nest/fire_act()
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/structures/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
if(obj_flags & CAN_BE_HIT)
return I.attack_obj(src, user)

/obj/alien/flamer_fire_act(burnlevel)
/obj/alien/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel * 2, BURN, FIRE)

/obj/alien/ex_act(severity)
Expand Down Expand Up @@ -195,7 +195,7 @@
src.balloon_alert(xeno_attacker, "Destroyed")
qdel(src)

/obj/structure/mineral_door/resin/flamer_fire_act(burnlevel)
/obj/structure/mineral_door/resin/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel * 2, BURN, FIRE)

/obj/structure/mineral_door/resin/ex_act(severity)
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/snow.dm
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@
return ..()

//Fire act; fire now melts snow as it should; fire beats ice
/turf/open/floor/plating/ground/snow/flamer_fire_act(burnlevel)
/turf/open/floor/plating/ground/snow/flamer_fire_act(burnlevel, flame_color)
if(!slayer || !burnlevel) //Don't bother if there's no snow to melt or if there's no burn stacks
return

Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/walls/resin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
. = ..()
return INITIALIZE_HINT_LATELOAD

/turf/closed/wall/resin/flamer_fire_act(burnlevel)
/turf/closed/wall/resin/flamer_fire_act(burnlevel, flame_color)
take_damage(burnlevel * 1.25, BURN, FIRE)

/turf/closed/wall/resin/proc/thicken()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/hydroponics/vines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@
if(prob(30))
age++

/obj/effect/plantsegment/flamer_fire_act(burnlevel)
/obj/effect/plantsegment/flamer_fire_act(burnlevel, flame_color)
qdel(src)

/obj/effect/plant_controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 30, BULLET = 30, LASER = 25, ENERGY = 20, BOMB = 20, BIO = 20, FIRE = 30, ACID = 20)
soft_armor = list(MELEE = 30, BULLET = 30, LASER = 25, ENERGY = 20, BOMB = 20, BIO = 20, FIRE = 10, ACID = 20)

minimap_icon = "xenominion"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50)
soft_armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, BIO = 50, FIRE = 20, ACID = 50)
hard_armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0)

// *** Minimap Icon *** //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 45, BULLET = 45, LASER = 45, ENERGY = 45, BOMB = 0, BIO = 35, FIRE = 45, ACID = 35)
soft_armor = list(MELEE = 45, BULLET = 45, LASER = 45, ENERGY = 45, BOMB = 0, BIO = 35, FIRE = 15, ACID = 35)

// *** Ranged Attack *** //
spit_delay = 1 SECONDS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 40, BULLET = 50, LASER = 40, ENERGY = 40, BOMB = 20, BIO = 35, FIRE = 50, ACID = 35)
soft_armor = list(MELEE = 40, BULLET = 50, LASER = 40, ENERGY = 40, BOMB = 20, BIO = 35, FIRE = 20, ACID = 35)

// *** Minimap Icon *** //
minimap_icon = "bull"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 0, BIO = 5, FIRE = 15, ACID = 5)
soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 0, BIO = 5, FIRE = 0, ACID = 5)

// *** Pheromones *** //
aura_strength = 2.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
caste_traits = list(TRAIT_STOPS_TANK_COLLISION)

// *** Defense *** //
soft_armor = list(MELEE = 90, BULLET = 80, LASER = 80, ENERGY = 75, BOMB = 130, BIO = 100, FIRE = 40, ACID = 100)
soft_armor = list(MELEE = 90, BULLET = 80, LASER = 80, ENERGY = 75, BOMB = 130, BIO = 100, FIRE = 10, ACID = 100)

// *** Sunder *** //
sunder_multiplier = 0.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 40, BULLET = 45, LASER = 45, ENERGY = 40, BOMB = 20, BIO = 30, FIRE = 40, ACID = 30)
soft_armor = list(MELEE = 40, BULLET = 45, LASER = 45, ENERGY = 40, BOMB = 20, BIO = 30, FIRE = 10, ACID = 30)

// *** Minimap Icon *** //
minimap_icon = "defender"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
caste_traits = list(TRAIT_CAN_VENTCRAWL)

// *** Defense *** //
soft_armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 55, BOMB = 30, BIO = 40, FIRE = 50, ACID = 40)
soft_armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 55, BOMB = 30, BIO = 40, FIRE = 20, ACID = 40)
// *** Minimap Icon *** //
minimap_icon = "defiler"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
caste_traits = list(TRAIT_CAN_VENTCRAWL)

// *** Defense *** //
soft_armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 30, BOMB = 0, BIO = 15, FIRE = 30, ACID = 15)
soft_armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 30, BOMB = 0, BIO = 15, FIRE = 10, ACID = 15)

// *** Pheromones *** //
aura_strength = 2 //Drone's aura is the weakest.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 10, BIO = 20, FIRE = 20, ACID = 20)
soft_armor = list(MELEE = 20, BULLET = 15, LASER = 15, ENERGY = 20, BOMB = 10, BIO = 20, FIRE = 10, ACID = 20)

// *** Minimap Icon *** //
minimap_icon = "gorger"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
caste_traits = null

// *** Defense *** //
soft_armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 20, FIRE = 30, ACID = 20)
soft_armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 20, FIRE = 5, ACID = 20)

// *** Ranged Attack *** //
spit_delay = 1.3 SECONDS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
update_action_buttons()
handle_weeds_adjacent_removed()

/mob/living/carbon/xenomorph/hivemind/flamer_fire_act(burnlevel)
/mob/living/carbon/xenomorph/hivemind/flamer_fire_act(burnlevel, flame_color)
return_to_core()
to_chat(src, span_xenonotice("We were on top of fire, we got moved to our core."))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
caste_traits = list(TRAIT_CAN_VENTCRAWL)

// *** Defense *** //
soft_armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 20, FIRE = 30, ACID = 20)
soft_armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 20, FIRE = 5, ACID = 20)

// *** Stealth ***
stealth_break_threshold = 15
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
caste_traits = list(TRAIT_CAN_VENTCRAWL)

// *** Defense *** //
soft_armor = list(MELEE = 20, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 0, BIO = 7, FIRE = 15, ACID = 5)
soft_armor = list(MELEE = 20, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 0, BIO = 7, FIRE = 0, ACID = 5)

// *** Minimap Icon *** //
minimap_icon = "panther"
Expand Down
Loading
Loading