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

A problem about making elemental damage weapons. #1867

Open
CaptainFluffy1903 opened this issue Aug 10, 2023 · 5 comments
Open

A problem about making elemental damage weapons. #1867

CaptainFluffy1903 opened this issue Aug 10, 2023 · 5 comments

Comments

@CaptainFluffy1903
Copy link

CaptainFluffy1903 commented Aug 10, 2023

We cannot use bonus= to add elemental damage to a item so we have to use replace_power.
Lets say power id 1 is our normal swing and power id 2 is fire swing.
We tryna make a fire longsword so there will be replace_power=1,2
But here problem starts.
At my mod actionbar left mouse is locked, it changes by other weapons etc.
For an example when you equip a ranged weapon swing power replaces with shoot power.
But in this case there is a special weapon.
If we use fire longsword at set 1 and use any other weapon at set 2, in this case its iron shortsword.
Iron Shortsword will deal fire damage too.
Or if its a bow. There wouldnt be shoot power.
There must be a property like bonus=fire_dmg_min,10 to make elemental weapons useable.
Ekran görüntüsü 2023-08-10 222746
Ekran görüntüsü 2023-08-10 222636

@CaptainFluffy1903
Copy link
Author

That will also allow modders to add a infuse system etc.

@dorkster dorkster added this to the 1.15 milestone Aug 10, 2023
@CaptainFluffy1903
Copy link
Author

#1596 there is already an issue about this.

@dorkster
Copy link
Collaborator

dorkster commented Aug 10, 2023

Agreed. It's the logical compliment to having elemental resistances and would provide more variation for item bonuses.

Putting it on the 1.15 list because I think this is long overdue.

@dorkster
Copy link
Collaborator

Further musings:

  • The concepts of "damage types" and "elements" should be merged together. In addition to damage stats for the various elements, we'd also get resistance stats for "non-elemental" damage types such as melee and ranged.
    • Deprecate engine/elements.txt and move the attributes to engine/damage_types.txt
  • Even if the player had these damage stats, powers are currently limited to one base damage type. So for each power, we'd like to be able to define a list of additional damage types.
    • Power damage modifiers would affect all damage types on a power
    • When applying damage, all the damage types of the hazard would be added together (after resistance calculation)
    • Powers with trait_elemental would treat all damage types as the matching element/damage type

@CaptainFluffy1903
Copy link
Author

CaptainFluffy1903 commented Aug 12, 2023

  • The concepts of "damage types" and "elements" should be merged together. In addition to damage stats for the various elements, we'd also get resistance stats for "non-elemental" damage types such as melee and ranged.

I think we make different absorbition stats for different damage types.
For an example it will be defined like this :

[damage_type]
id=melee
name=Melee Damage
description=Increases the damage done with swords and other melee weapons.
name_min=Melee Damage Min
name_max=Melee Damage Max
min=dmg_melee_min
max=dmg_melee_max
absorbition=abs_physical

There will be a new file at engine/ named as absorb.txt
Absorb.txt=

[absorb_type]
Name=Physical Defense
id=abs_physical
descripton=Increases defense againts physical attacks.
name_min=Physical Defense Min
name_max=Physical Defense Max
min=abs_physical_min
max=abs_physical_min
percent_based=false

For elemental damages :

[damage_type]
id=melee
name=Fire Damage
description=Burn your enemies with power of the fire.
name_min=Fire Damage Min
name_max=Fire Damage Max
min=dmg_fire_min
max=dmg_fire_max
absorbition=abs_fire
[absorb_type]
Name=Fire Defense
id=abs_fire
descripton=Increases defense againts fire attacks.
name_min=Fire Defense Min
name_max=Fire Defense Max
min=abs_fire_min
max=abs_fire_min
percent_based=true

What we will add is an absorbition defining system like damage types.
There will be a property about making it percentage based, like the ones we already have. And an id.
It will also allow us to make slash-pierce-blunt damages.
For an example making skeletons weak againts hammers etc. We can integrate it to Empyrean Campaign easily.

I know thats not adding elemental damages as stat at all but, this one looks logical.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

No branches or pull requests

2 participants