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

Fire damage Overhaul #2710

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Coxswain-Navigator
Copy link
Contributor

@Coxswain-Navigator Coxswain-Navigator commented Feb 3, 2025

About The Pull Request

So fire damage is kind of all over the place. This PR fixes that. Mostly, at least. It took me way too long to figure out how carbons actually take damage.

Code Changes

  • For simple mobs, Fire damage is reduced by red armor at the rate of 50% of the red armor's value. If the mob has fire resistance, that's just used instead.
  • Every armor in the game now has fire resistance, which is either based on this formula or higher/lower if thematically appropriate. This probably won't affect balance much as of right now.

Fixes

  • Fixes LC13_Burn not functioning on naked players

Balance Changes

  • The LC13_Burn status effects has been reformatted to be more generic, and now actually deals resistible burn damage instead of flat damage.

Misc

  • Adds fire damage to a rare weapon since its functionally balanced now.

Why It's Good For The Game

Making things more consistent is good, it's not great having burn work differently depending on its source. Like getting set on fire and taking red damage...

I'll tackle burn damage and resistances in a separate PR to keep things atomic.

Changelog

🆑
tweak: added burn/fire resistance to some E.G.O. Armors
balance: rebalanced burn damage in general
code: created a damage formula for burn/fire damage
/:cl:

@Coxswain-Navigator Coxswain-Navigator added Balance Improvements towards balance of the game. Code improvement Code is now easier to copy paste. Fix There was a bug, and we fixed it! labels Feb 3, 2025
@Coxswain-Navigator Coxswain-Navigator force-pushed the fire-damage-rework branch 6 times, most recently from 99a7b9f to 9b3f86e Compare February 9, 2025 21:51
@Coxswain-Navigator Coxswain-Navigator added the Expansion Expands upon a feature label Feb 10, 2025
@Coxswain-Navigator Coxswain-Navigator changed the title Fire damage improvments Fire damage Overhaul Feb 10, 2025
@Kitsunemitsu
Copy link
Contributor

I have a genuine question.

Why don't we have a flat 0 burn defense and then specific armors increase it? I don't see any reason to add a 5th armor value to EVERY SINGLE armor.

@Coxswain-Navigator
Copy link
Contributor Author

I have a genuine question.

Why don't we have a flat 0 burn defense and then specific armors increase it? I don't see any reason to add a 5th armor value to EVERY SINGLE armor.

Burn damage "already" exists as a damage type in a only half-implemented state. We did have a lengthy conversation on this...
Anyways, the intent of this PR is to properly implement this damage type to make it so that developers can do a lot more with it.
At the very least, I was able to complete the implementation that you suggested.

some fixes

should fix this stuff

h

first attempt at fixing linters

adds some damage coeffs

burn ouchey

adds fire damage to firebird

reworks this whole thing

adds some text stuff

fixes the damage formula
@@ -302,7 +304,7 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
desc = "Even still, I witnessed man and sky and earth tear into thousands of pieces."
icon_state = "impending_day"
flags_inv = NONE
armor = list(RED_DAMAGE = 20, WHITE_DAMAGE = -20, BLACK_DAMAGE = 50, PALE_DAMAGE = 20) // 70
armor = list(RED_DAMAGE = 20, WHITE_DAMAGE = -20, BLACK_DAMAGE = 50, PALE_DAMAGE = 20, FIRE = 40) // 70
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the fire resistance of this armor double the physical resistance if by default most armor has 50% of its physical resistance as fire resistance.
Shouldn't this be FIRE = 10?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The normal half is calculated at initialize for most armors. Impending day gets a bonus because the abnormality itself will deal fire damage.

@@ -25,7 +27,7 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
desc = "The archetype was already charred from the moment of extraction. \
Although the exterior is scorched, it has no adverse effects on the E.G.O’s performance."
icon_state = "match"
armor = list(RED_DAMAGE = 40, WHITE_DAMAGE = -20, BLACK_DAMAGE = -20, PALE_DAMAGE = 0) // 20
armor = list(RED_DAMAGE = 40, WHITE_DAMAGE = -20, BLACK_DAMAGE = -20, PALE_DAMAGE = 0, FIRE = 30) // 20
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If going by previous logic shouldnt the Match have higher resistance than its red? By default this would be 20 fire resistance but lifetime stew gets double its red resistance? Unless physical resistance and fire resistance are unrelated?

Shouldnt all fire resistant armor be equal in its defense against fire since its a out of context issue. I know you dont want people fighting abnormalities with teth armor but it feels weird having one fire abnormality just be weaker than another.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could be equal, but the idea is to give a little bit more to armors with worse spreads.

@@ -248,7 +248,7 @@
if(!can_spin)
to_chat(user,span_warning("You attacked too recently."))
return
if(do_after(user, 12, src))
if(do_after(user, 8, src))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you reduce the cooldown on this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some testing happened to reveal that it needed a buff.

@@ -394,7 +396,7 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
name = "rimeshank"
desc = "Well, I can't just shiver in the cold forever, can I?"
icon_state = "rimeshank"
armor = list(RED_DAMAGE = 70, WHITE_DAMAGE = 40, BLACK_DAMAGE = 0, PALE_DAMAGE = 30) //140
armor = list(RED_DAMAGE = 70, WHITE_DAMAGE = 40, BLACK_DAMAGE = 0, PALE_DAMAGE = 30, FIRE = 20) //140
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does a Waw have a fire resistance of a zayin?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it was zayin it would have a defense of 10, but it has low fire resistance because its armor made of ice. Just a bit of flavor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Improvements towards balance of the game. Code improvement Code is now easier to copy paste. Expansion Expands upon a feature Fix There was a bug, and we fixed it!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants