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

obliterator #7

Merged
merged 9 commits into from
Oct 25, 2021
Merged

Conversation

Cokemonkey11
Copy link
Contributor

@Cokemonkey11 Cokemonkey11 commented Oct 12, 2021

wurst.build Outdated Show resolved Hide resolved
wurst.build Outdated Show resolved Hide resolved
@Overkane
Copy link
Owner

hm, did you test the spell? It doesn't work for me

@Cokemonkey11
Copy link
Contributor Author

@Frotty @Overkane I cannot really fix/test this because of wurstscript/WurstScript#1034

I converted to draft for now

@Cokemonkey11 Cokemonkey11 force-pushed the cokemonkey11/obliterator branch from 5b5ae77 to b870ebf Compare October 18, 2021 23:26
@Cokemonkey11 Cokemonkey11 marked this pull request as ready for review October 18, 2021 23:28
Copy link
Owner

@Overkane Overkane left a comment

Choose a reason for hiding this comment

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

  • map name should stay, since it doesn't refer to the commit. I can change it later by another commit.
  • howl of terror package should be merged again and consider new fixes to it. It won't be changed on master for some time I believe.
  • can't say much about CreepAggro.wurst additions, if it works, then it fine I guess.

Obliterator spell.

  1. It doesn't work well.
    I got below 50% of hp.
    I got 50 str and cuz of it health went to ~70% of hp.
    When I got below 50% of hp again, 50 str stayed, but I healed a bit to like 55% of hp.
    And then it repeats, so you just can't die, cuz you heal everytime you get below 50% of hp.
  2. Anyway, that's 50 str forever? Or when you get above 50% of hp, you get -50 str?
  3. OblitiratorData is here to make the spell MUI? But I think you could make it simple, consider that there is can only be the one demon lord at the time.
  4. If I not misunderstood, the spell set aggro to 200 for near creeps when hero below 50% of hp?

wurst/heroes/heroes/DemonLord/HowlOfTerror.wurst Outdated Show resolved Hide resolved
wurst/heroes/heroes/DemonLord/HowlOfTerror.wurst Outdated Show resolved Hide resolved
wurst/heroes/heroes/DemonLord/Obliterator.wurst Outdated Show resolved Hide resolved
wurst/heroes/heroes/DemonLord/Obliterator.wurst Outdated Show resolved Hide resolved
@Frotty
Copy link
Collaborator

Frotty commented Oct 20, 2021 via email

@Cokemonkey11
Copy link
Contributor Author

Coke didn't merge, he just took his changesOn Oct 20, 2021 19:29, Stanislav @.***> wrote: @Overkane commented on this pull request. In wurst/heroes/heroes/DemonLord/HowlOfTerror.wurst:
RealLevelClosure HP_RECOVERY = lvl -> 100.0 + 50 * (lvl-1)
init - EventListener.add(EVENT_PLAYER_UNIT_DEATH) -> - let killer = EventData.getKillingUnit() - if killer.getTypeId() == DEMON_LORD_ID and EventData.getTriggerUnit().hasAbility(BuffIds.howlofTerror) - let level = killer.getAbilityLevel(HOWL_OF_TERROR_ID) - killer.addStr(STR_BONUS.run(level)) - killer.addHP(HP_RECOVERY.run(level)) - flashEffect(Abilities.deathCoilMissile, killer.getPos()) + DamageEvent.addListener(5) -> but why is this part missing? I added aggro and fixed that bug and frotty fixed addHp to custom heal system —You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

nah just botched 3-way diff, didn't read your changes that carefully. reverted my change on this area now

@Cokemonkey11
Copy link
Contributor Author

map name should stay, since it doesn't refer to the commit. I can change it later by another commit.

howl of terror package should be merged again and consider new fixes to it. It won't be changed on master for some time I believe.

Reverted my changes, it was stupid to bother with merge

can't say much about CreepAggro.wurst additions, if it works, then it fine I guess.

Yep it works

Obliterator spell. It doesn't work well. I got below 50% of hp. I got 50 str and cuz of it health went to ~70% of hp. When I got below 50% of hp again, 50 str stayed, but I healed a bit to like 55% of hp. And then it repeats, so you just can't die, cuz you heal everytime you get below 50% of hp.

I tested this carefully now and it seems that there is a problem here. The expected behavior is that (1) remove strength (2) check health (3) re-add strength would achieve two things (check health without bonus, to find out if bonus should still be applied, (2) not change health

In fact, it seems that removing and re-adding strength actually heals a bit, because removing strength is not allowed to reduce hero's HP below 1.0:

image

Added a note to jassdoc about it

Anyway, that's 50 str forever? Or when you get above 50% of hp, you get -50 str?

Yes, that's how it works, but it should calculate "above 50% hp" without the bonus strength (linked above)

OblitiratorData is here to make the spell MUI? But I think you could make it simple, consider that there is can only be the one demon lord at the time.

No, ObliteratorData enables idempotent management of vampiring aura effect. DEMON_LORD_STR_BONUSES is for MUI. I can change this if you want, but I think it doesn't matter.

If I not misunderstood, the spell set aggro to 200 for near creeps when hero below 50% of hp?

Yes, now increased to 400 and changed from "set" function to "math max" function.

@Overkane based on the unlimited healing notes above, I would have to rethink how to make this work reliably.

Do you prefer if I scrap it and make a new idea, or revisit how to make it work? I think it depends - do you like the design or not?

@Cokemonkey11 Cokemonkey11 requested a review from Overkane October 22, 2021 22:55
@Overkane
Copy link
Owner

I think max function looks strange here.
Let's say we have used lvl 4 firestorm and dealt 525 damage to near creeps. Then a mage hero casts his spell for 600 damage.
Even if demon lord goes below 50% of hp, it will do nothing with aggro, since 400 < 525 and even if passive spell aggro was bigger than aggro from firestorm it still always will be less than 600 for example.
So I don't see, how it fits, maybe could be a think only in early game.

Overall I like that kind of "enrage" mechanic. Seems fitting for demon hero.
For example it could activate if hero gets below 35% of hp. Then he gets bonus 15% of lifesteal and 90 of attack speed for 10 second. To prevent unlimited activation, passive has 50 seconds cd after activation.
Something like that would be nice.

@Cokemonkey11
Copy link
Contributor Author

@Overkane

So I don't see, how it fits, maybe could be a think only in early game.

Yep, that is how it works. The flat bonus also has more relevance in early game than late game. I think it makes the behavior more interesting, personally.

Something like that would be nice.

Okay, I like your idea too. I thought about it more and realised that this isn't much different than simply switching strength bonus to agi bonus, which doesn't have the "healing problem" that str has. Let me know what you think.

IMO this is good to go.

@Frotty
Copy link
Collaborator

Frotty commented Oct 24, 2021

I think you should actually play test the hero and don't just assume stuff works fine, especially in late game.
By visual buff I mean a buff that u can see in the unit status bar, and if u can't find Buff.wurst in frentity I already told you that other heroes in god's arena have buffs which you can check.
The bonus calculation now doesn't make much sense, because agility bonus doesn't affect health.
And still, no rhyme or reason for the doPeriodically. The spell says "when life goes below X, apple, bonus Y. Then I expect a damage listener which applied a buff when the hero is below the threshold and that buff should handle the bonus. Also it is not clear from the tooltip, how the bonuses are removed again. Do u insta lose everything when health goes above again?

@Overkane
Copy link
Owner

Overkane commented Oct 24, 2021

@Overkane

So I don't see, how it fits, maybe could be a think only in early game.

Yep, that is how it works. The flat bonus also has more relevance in early game than late game. I think it makes the behavior more interesting, personally.

Something like that would be nice.

Okay, I like your idea too. I thought about it more and realised that this isn't much different than simply switching strength bonus to agi bonus, which doesn't have the "healing problem" that str has. Let me know what you think.

IMO this is good to go.

Let me know what you think.

I think that's strange, that str hero gets agi bonus so instead of attributes could switch to something else.

@Cokemonkey11
Copy link
Contributor Author

@Frotty

I think you should actually play test the hero and don't just assume stuff works fine, especially in late game.

I have definitely play-tested, but only up to ~first boss. I think it makes more sense to agree general design is interesting before refining specifics and playtesting balance.

I also disagree fundamentally that there is anything in need of balance testing here. At the end of the day, there are much bigger balance concerns and without metrics, every judgment about balance is prone to bias.

By visual buff I mean a buff that u can see in the unit status bar, and if u can't find Buff.wurst in frentity I already told you that other heroes in god's arena have buffs which you can check.

Nice, thanks, I found it and integrated. It is pretty elegant apart from object hierarchy.

The bonus calculation now doesn't make much sense, because agility bonus doesn't affect health.

Thanks, fixed.

And still, no rhyme or reason for the doPeriodically. The spell says "when life goes below X, apple, bonus Y. Then I expect a damage listener which applied a buff when the hero is below the threshold and that buff should handle the bonus. Also it is not clear from the tooltip, how the bonuses are removed again. Do u insta lose everything when health goes above again?

Yes, it's meant to lose everything when HP goes back up. But I found a nice way to do this with frentity::Buff 👍

@Overkane

I think that's strange, that str hero gets agi bonus so instead of attributes could switch to something else.

Can you explain this a little more? Do you mean that you feel that it's thematically strange to add agi since it's a str hero, and you prefer to add (attack speed, movespeed, armor) since thematically it seems more neutral?

@Cokemonkey11
Copy link
Contributor Author

@Frotty @Overkane please note that I ran out of time writing the above, haven't playtested latest version using frentity. I will address any further comments and test again tonight

@Cokemonkey11 Cokemonkey11 requested a review from Frotty October 24, 2021 11:24
@Overkane
Copy link
Owner

@Overkane

I think that's strange, that str hero gets agi bonus so instead of attributes could switch to something else.

Can you explain this a little more? Do you mean that you feel that it's thematically strange to add agi since it's a str hero, and you prefer to add (attack speed, movespeed, armor) since thematically it seems more neutral?

Yes. With agility, hero would also get an armor bonus.
That would be fine, if hero would be str and agi user (like gets benefits from both, not including attribute bonuses)
But he isn't.

So I think this ability could be like enrage, which gives bonuses only to attack, cuz that would be strange, if in rage you get defensive bonuses. That's more fitting to current hero, considering he is a demon, so he also can take a good use of his splash.

@Cokemonkey11
Copy link
Contributor Author

@Overkane okay, switched from agi bonus to two other bonuses:

  • attack speed bonus
  • huge bonus damage against units with less than 5% HP

Also tested and everything looks good to me.

@Cokemonkey11 Cokemonkey11 requested a review from Overkane October 24, 2021 22:03
Copy link
Owner

@Overkane Overkane left a comment

Choose a reason for hiding this comment

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

Seems nice. You could make last adjustments I mentioned and I think we are good.
@Frotty what do you think?

wurst/heroes/heroes/DemonLord/Obliterator.wurst Outdated Show resolved Hide resolved
wurst/heroes/heroes/DemonLord/Obliterator.wurst Outdated Show resolved Hide resolved
@Cokemonkey11 Cokemonkey11 requested a review from Overkane October 25, 2021 20:24
@Overkane Overkane merged commit eef49c1 into Overkane:master Oct 25, 2021
@Overkane
Copy link
Owner

seems nice, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants