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

Moose audit #74554

Merged
merged 16 commits into from
Dec 15, 2024
Merged

Moose audit #74554

merged 16 commits into from
Dec 15, 2024

Conversation

Karol1223
Copy link
Contributor

@Karol1223 Karol1223 commented Jun 15, 2024

Summary

None

Purpose of change

I won't even lie to you it started because I read the tusked moose's description and it was a mess

Describe the solution

Regular moose

  • Health significantly increased
  • Armor pretty significantly increased
  • Gestation time increased
  • Calf growth time increased
  • Calf description slightly edited
  • Added a PLAYER_CLOSE anger trigger because you are NOT getting close to a wild moose without getting mauled or at the very least the thing running off
  • Removed the upgrades field - the general idea is not 100% of the population mutates, and if we make monsters upgrade in real time we can't show that in any way. We don't do this for any other animals either to my knowledge (except maybe frogs, but if we do that's something to look into)

Tusked moose

  • Significantly (and I mean it) increased health
  • Cut armor significantly increased, very minor increase to ballistic armor
  • Increased the weight and volume
  • Edited the description
  • Increased the gestation timer
  • Calf growth time increased
  • Calf description slightly edited
  • Slightly lowered the speed

Weakpoints & Bullshit

  • Added a new chest weakpoint to the quadruped weakpoint set - easier to hit for ranged weapons and provides crit modifiers for that, but increases damage against bash hits because ribs hard
  • Slightly lowered the difficulty for ranged weapons to hit the head

Describe alternatives you've considered

  • Not lowering the speed for the tusked moose

Testing

Additional context

The moose shall no longer be only 50% more tanky than a default zombie. Seriously what kind of bullshit was that

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Jun 15, 2024
@ADekema
Copy link

ADekema commented Jun 16, 2024

How will this affect bullet damage. Bullet damage seems to be losely determined by ¨You can shoot this creature dead with one shoot during hunting¨. You might be a lot of discussion on bullet damage and ranged crits later if you just increase HP a lot. Also 500 HP for the tusked moose seems a lot for a mutant that is still only the size of a horse. That is more HP than hulks who are mend to be hyper evolved biological tanks.

@Karol1223
Copy link
Contributor Author

Karol1223 commented Jun 16, 2024

Also 500 HP for the tusked moose seems a lot for a mutant that is still only the size of a horse.

Yeah our horses have even more absurdly low health at only 90. Most of our monsters do. Hulks included, given their description (but their size is also very weird in the game values)

Something being weird doesn't mean we should accept things being weird. The tusked moose should be a powerhouse. A normal moose already is irl. But I do agree that 500 is a lot. Though I'm not certain if that's because it's too high, or if it's just because every single monster we have has a horrendously watered-down HP pool. We gotta start somewhere. A tank that's gonna fuck you up but only if you walk up to it seems reasonable.

How will this affect bullet damage. Bullet damage seems to be losely determined by ¨You can shoot this creature dead with one shoot during hunting¨.

If you check the tests failing here you'll see that the game is angry at me for that (with archery, not bullets) - because you can no longer reasonably hunt moose. This should be solvable with a weakpoint set, but I gotta figure out how to add one.

@ADekema
Copy link

ADekema commented Jun 18, 2024

If you check the tests failing here you'll see that the game is angry at me for that (with archery, not bullets) - because you can no longer reasonably hunt moose. This should be solvable with a weakpoint set, but I gotta figure out how to add one.

This would definetly be a good idea. Otherwise when increasing the HP pool of many creatures to more reasonable levels you will end up with the whole archery damage crit debate again. I would however lower the tusk moose HP to 400 otherwise it can somehow surive a critical from a .50 BMG M2 AP which no living creature the size of a horse should be able to do.

@Karol1223
Copy link
Contributor Author

The tests on this are giving me a headache. Someone wake me up from my slumber when archery tests are less annoying.

@Maleclypse
Copy link
Member

Maleclypse commented Jul 27, 2024

I'd test it in game but I think that level of bleed effect should allow for the moose to be removed from the damage test since that test won't gauge if it bleeds out.

@Maleclypse
Copy link
Member

Anyway I think we can remove crits and just add multiple weakpoints to living animals with significant bleed effects.

@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Jul 28, 2024
@Karol1223
Copy link
Contributor Author

I'd test it in game but I think that level of bleed effect should allow for the moose to be removed from the damage test since that test won't gauge if it bleeds out.

I am leaving your changes in because I agree that bleed is a good effect to apply, but in general I was leaving this PR alone because Kevin was supposed to do something about how crits/weakpoints interact to get the tests to be passable here.

@Night-Pryanik
Copy link
Contributor

@Karol1223 care to fix the tests?

@Karol1223
Copy link
Contributor Author

Karol1223 commented Nov 13, 2024

@Karol1223 care to fix the tests?

I don't know how.

Fundamentally, it's not because the moose are actually too hard to kill, it's something about archery tests not fully taking weakpoints into account. Kevin has a better idea of the actual cause, all I know is the tests aren't functioning properly and that it's beyond my skillset.

I am keeping this PR on life support hoping someone fixes the problem with archery tests.

@Night-Pryanik
Copy link
Contributor

Maybe just (temporarily) replace moose in tests with some other, more "killable" animal?

@Karol1223
Copy link
Contributor Author

Karol1223 commented Dec 11, 2024

Maybe just (temporarily) replace moose in tests with some other, more "killable" animal?

I'm not sure how acceptable that is. I briefly considered making a test moose that'd just be a clone of the old one used solely for tests, but that feels wrong. Tests that are supposed to test ingame values should test those values.

But at the same time, those tests shouldn't be a blocker to changing those values either. This is a shitty situation all around. I'll likely have to switch the test monster like you said, though.

Guardian said he'd look at the tests in a few days if things go right, though, so I'll wait until then and if that doesn't go anywhere pull the trigger on changing the test monster.

@GuardianDll
Copy link
Member

GuardianDll commented Dec 13, 2024

I poked a bit into changes, and into the code, and my only real suggestion is to remove/comment out the moose stuff from archery test
In detail, the previous idea of archery was "bow hunting is possible, you can kill a moose with an arrow", which were based on two things: archery having ludicrious damage on crit, and moose having relatively small amount of hp;
At this point there is an idea flying around, that since weakpoints are a thing, we can redo the archery to be more genuine, from "you can oneshot moose with arrow with a lucky strike" to "you can hit a moose in vital organ, and it will slowly bleed to death" (we do not consider brain death just yet, but that sound reasonable)
Issues are next:
Firstly, the test is not suited for anything but instakill checks, at all, whereas here we should check the moose status some amount of time later
Secondly, our bleed effect is simply not strong enough, i locally shot a moose and waited it to bleed, and while it did deal a substantial damage (40 damage for shot, and around 200 damage for bleed, give or take), it was not enough to kill a moose; i blame bleeding effect not being dangerous enough (in 10 minutes, moose bleeding simply stopped)
Thirdly, and probably most important in context of this PR, there is no simple way to ask the game "hit the target precisely into this weakpoint". Karol says, that Kevin mentioned tests are not hooked to weakpoint stuff at all, but it's hard for me to confirm it, deal_projectile_attack seems to lead right where weakpoint stuff happens; It is also hard for me to tell how hard it would be to pass weakpoint id as argument for deal_projectile_attack(), i am not familiar with weakpoint code

So it happened to be the change right on the edge of the new way to handle archery, and ideally we need a separate archery test for it, something Karol cannot deliver. Since the change itself is pretty desired, i would suggest to comment mooses from the test away, if @kevingranade approve it

@kevingranade
Copy link
Member

With a complex as this is going to be to fix I can ok just disabling the moose test for the time being and making them super hard to kill.

The right way, according to me at least, is to make it where you're implicitly aiming at the moose's thorax where it will guarantee lung and/or heart his with a "good enough" aim and set aim to be "good enough" in the test. In practice weak points are mostly independent of "how good your aim was" and there's no code path to tell them that a particular attack should be a really good hit.

Also as guardian points out the impact of hitting a good weak point is also too low right now and the target will not bleed out ever, much less reliably and quickly.

thank you Guardian
@github-actions github-actions bot added Code: Tests Measurement, self-control, statistics, balancing. [C++] Changes (can be) made in C++. Previously named `Code` Items: Archery Bows, crossbows, arrows, bolts labels Dec 14, 2024
@Karol1223
Copy link
Contributor Author

So uh... Is it now the same thing but from gun tests?

@Night-Pryanik
Copy link
Contributor

AFAIK it's unrelated. I kicked the tests, let's see what they show.

@Karol1223
Copy link
Contributor Author

AFAIK it's unrelated. I kicked the tests, let's see what they show.

You kicked the windows build, I'm talking about the general build matrix

@Night-Pryanik
Copy link
Contributor

I kicked it too rn.

@Karol1223
Copy link
Contributor Author

Yeah it's reoccuring. Now the gun tests are doing the same thing fucking hell this PR is a drag.

@GuardianDll
Copy link
Member

GuardianDll commented Dec 15, 2024

mon_test_shotgun_0_bullet copies from mon_cow, which probably apply weakpoints of cow to the test monster, making it hit vital parts and deal more damage than test expects. Should be fixed if you override weakpoints

"id": "mon_test_shotgun_0_bullet",

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Dec 15, 2024
@Maleclypse Maleclypse merged commit 61f58dc into CleverRaven:master Dec 15, 2024
26 checks passed
b3brodie pushed a commit to b3brodie/Cataclysm-DDA that referenced this pull request Dec 16, 2024
* default moose

* tusked + calves + anger triggers for normal

* wowee more description edits

* nerf calf health a lil

* give the moose a ribcage for health benefits

* more more more

* Update quadruped_weakpoints_animal.json

* I love arbitrary numbers !!!

* Update mammal.json

* Update data/json/monster_weakpoints/quadruped_weakpoints_animal.json

* Update quadruped_weakpoints_animal.json

* rename lungs to vitals

* HP recalculations

* Update mammal.json

* disable it

thank you Guardian

* Update monsters.json

---------

Co-authored-by: Maleclypse <[email protected]>
@Karol1223 Karol1223 deleted the mooms branch December 16, 2024 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Code: Tests Measurement, self-control, statistics, balancing. Items: Archery Bows, crossbows, arrows, bolts [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants