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

Metal Foam rebalance. #5500

Merged
merged 7 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 3 additions & 1 deletion code/datums/supply_packs/explosives.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Group to populate with all the explosives exept OB and mortar shell

/datum/supply_packs/explosives
name = "surplus explosives crate (claymore mine x5, M40 HIDP x2, M40 HEDP x2, M15 Frag x2, M12 Blast x2)"
name = "surplus explosives crate (claymore mine x5, M40 HIDP x2, M40 HEDP x2, M15 Frag x2, M12 Blast x2, M40 MFHS x2)"
contains = list(
/obj/item/storage/box/explosive_mines,
/obj/item/explosive/grenade/high_explosive,
Expand All @@ -12,6 +12,8 @@
/obj/item/explosive/grenade/high_explosive/m15,
/obj/item/explosive/grenade/high_explosive/pmc,
/obj/item/explosive/grenade/high_explosive/pmc,
/obj/item/explosive/grenade/metal_foam,
/obj/item/explosive/grenade/metal_foam,
)
cost = 40
containertype = /obj/structure/closet/crate/explosives
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/vending/vendor_types/requisitions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
list("M74 AGM-Star Shell", round(scale * 2), /obj/item/explosive/grenade/high_explosive/airburst/starshell, VENDOR_ITEM_REGULAR),
list("M74 AGM-Hornet Shell", round(scale * 4), /obj/item/explosive/grenade/high_explosive/airburst/hornet_shell, VENDOR_ITEM_REGULAR),
list("M40 HIRR Baton Slug", round(scale * 8), /obj/item/explosive/grenade/slug/baton, VENDOR_ITEM_REGULAR),
list("M40 MFHS Metal Foam Grenade", round(scale * 3), /obj/item/explosive/grenade/metal_foam, VENDOR_ITEM_REGULAR),
list("M40 MFHS Metal Foam Grenade", round(scale * 6), /obj/item/explosive/grenade/metal_foam, VENDOR_ITEM_REGULAR),
list("Plastic Explosives", round(scale * 3), /obj/item/explosive/plastic, VENDOR_ITEM_REGULAR),
list("Breaching Charge", round(scale * 2), /obj/item/explosive/plastic/breaching_charge, VENDOR_ITEM_REGULAR),

Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/effects/effect_system/foam.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
// dense and opaque, but easy to break

#define FOAMED_METAL_FIRE_ACT_DMG 50
#define FOAMED_METAL_XENO_SLASH 0.8
#define FOAMED_METAL_XENO_SLASH 1.75
#define FOAMED_METAL_ITEM_MELEE 2
#define FOAMED_METAL_BULLET_DMG 2
#define FOAMED_METAL_EXPLOSION_DMG 1
Expand All @@ -173,7 +173,7 @@

/obj/structure/foamed_metal/iron
icon_state = "ironfoam"
health = 85
health = 70
name = "foamed iron"
desc = "A slightly stronger lightweight foamed iron wall."

Expand Down Expand Up @@ -211,7 +211,7 @@
return FALSE

/obj/structure/foamed_metal/attack_alien(mob/living/carbon/xenomorph/X, dam_bonus)
var/damage = (rand(X.melee_damage_lower, X.melee_damage_upper) + dam_bonus)
var/damage = ((round((X.melee_damage_lower+X.melee_damage_upper)/2)) + dam_bonus)

//Frenzy bonus
if(X.frenzy_aura > 0)
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/explosives/grenades/marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -705,11 +705,11 @@
det_time = 20
underslug_launchable = TRUE
harmful = FALSE
var/foam_metal_type = FOAM_METAL_TYPE_ALUMINIUM
var/foam_metal_type = FOAM_METAL_TYPE_IRON

/obj/item/explosive/grenade/metal_foam/prime()
var/datum/effect_system/foam_spread/s = new()
s.set_up(12, get_turf(src), metal_foam = foam_metal_type) //Metalfoam 1 for aluminum foam, 2 for iron foam (Stronger), 12 amt = 2 tiles radius (5 tile length diamond)
s.set_up(12, get_turf(src), metal_foam = foam_metal_type) //12 amt = 2 tiles radius (5 tile length diamond)
s.start()
qdel(src)

Expand Down
21 changes: 2 additions & 19 deletions code/modules/reagents/chemistry_reactions/other.dm
Original file line number Diff line number Diff line change
Expand Up @@ -385,28 +385,11 @@
to_chat(M, SPAN_WARNING("The solution spews out a metallic shiny foam!"))

var/datum/effect_system/foam_spread/s = new()
if (created_volume > 300)
created_volume = 300
s.set_up(created_volume, location, holder, 1)
s.start()


/datum/chemical_reaction/ironfoam
name = "Iron Foam"
id = "ironlfoam"
result = null
required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1)
result_amount = 5

/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)

for(var/mob/M as anything in viewers(5, location))
to_chat(M, SPAN_WARNING("The solution spews out a metallic dull foam!"))

var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume, location, holder, 2)
s.start()


/datum/chemical_reaction/foaming_agent
name = "Foaming Agent"
id = "foaming_agent"
Expand Down
Loading