azerothcore-wotlk icon indicating copy to clipboard operation
azerothcore-wotlk copied to clipboard

fix(Core/Pets): Correct Pet size for bigger pets 2

Open sogladev opened this issue 9 months ago • 16 comments

Changes Proposed:

This PR proposes changes to:

  • [x] Core (units, players, creatures, game systems).
  • [ ] Scripts (bosses, spell scripts, creature scripts).
  • [ ] Database (SAI, creatures, etc).

Pets should scale based on level and scaling range as by their DBC value. I found that this also needs to be scaled with their DisplayID, this part was missing.

This factor was added in PR

  • https://github.com/azerothcore/azerothcore-wotlk/pull/14511 but later removed?

Adding it back seemed correct besides that the scaling was not capped to MaxScaling. So pets past the MaxScaleLevel were still scaled larger than they should

  • https://github.com/azerothcore/azerothcore-wotlk/pull/14511#issuecomment-1648169456

Issues Addressed:

  • Closes https://github.com/azerothcore/azerothcore-wotlk/issues/18412

SOURCE:

The changes have been validated through:

  • [ ] Live research (checked on live servers, e.g Classic WotLK, Retail, etc.)
  • [ ] Sniffs (remember to share them with the open source community!)
  • [ ] Video evidence, knowledge databases or other public sources (e.g forums, Wowhead, etc.)
  • [ ] The changes promoted by this pull request come partially or entirely from another project (cherry-pick). Cherry-picks must be committed using the proper --author tag in order to be accepted, thus crediting the original authors, unless otherwise unable to be found

DBC https://old.wow.tools/dbc/?dbc=creaturefamily&build=3.3.5.12340#page=1

PR https://github.com/azerothcore/azerothcore-wotlk/pull/14511

formula check, scaling is correct until maxLvl

minScaling maxScaling minLvl maxLvl
Core Hound 0.3 0.7 1 60
Devilsaur 0.3 0.5 1 60
Level Core Hound Devilsaur
1 0.3068 0.3034
2 0.3136 0.3068
5 0.3339 0.3169
10 0.3678 0.3339
15 0.4017 0.3508
20 0.4356 0.3678
25 0.4695 0.3847
30 0.5034 0.4017
35 0.5373 0.4186
40 0.5712 0.4356
45 0.6051 0.4525
50 0.6390 0.4695
55 0.6729 0.4864
60 0.7068 0.5034
65 0.7407 0.5203 <-- wrong
70 0.7746 0.5373
75 0.8085 0.5542
80 0.8424 0.5712
85 0.8763 0.5881

Tests Performed:

This PR has been:

  • [ ] Tested in-game by the author.
  • [ ] Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • [ ] This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  • [x] This pull request can be tested by following the reproduction steps provided in the linked issue
  • [ ] This pull request requires further testing. Provide steps to test your changes. If it requires any specific setup e.g multiple players please specify it as well.

Spawn NPCs and tame

.npc tame

Ancient Core hound
.npc add 11673
Devilsaur
.npc add 6498
Kurken
.npc add 17447

Known Issues and TODO List:

  • [ ]
  • [ ]

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

sogladev avatar May 07 '24 21:05 sogladev

image It's too big

PkllonG avatar May 08 '24 02:05 PkllonG

Too big not fit for the game fighting to boss, normaly the pet large not than the biggest player module is better, such as Minotaurs

kissingers avatar May 08 '24 09:05 kissingers

and I think now module is fit for play the game

kissingers avatar May 08 '24 09:05 kissingers

and the module scale change has been repeated several times, and every time you mess with the boss if the pet too big, players complain more about blocking the screen view

kissingers avatar May 08 '24 09:05 kissingers

so I dont think this is a problem or a real game problem

kissingers avatar May 08 '24 09:05 kissingers

881786a Seems to prevent mobs scaling too large

I have no data on how the tamed creature's size translates into pet size. DBC Scaling is a factor for sure.

Issue are some wotlk exotic pets like core hounds, rhinos, worms are smaller than they should be.

An alternative fix is adding these families to the current check ctFamily && ctFamily == CREATURE_FAMILY_DEVILSAUR and capping scaling correctly from DBC with scale = std::min(scale, creatureFamily->maxScale);

sogladev avatar May 08 '24 14:05 sogladev

if we drop 3.3.5a support and go cata we can fix it because in cata they added correct information to dbc files to accurately calculate everything x)

(Makred as offtopic as this comment was more meant for fun rather than anything useful :P //Kitz)

Kitzunu avatar May 08 '24 21:05 Kitzunu

Tested 881786a image

PkllonG avatar May 15 '24 21:05 PkllonG

image It's too big

PkllonG avatar May 16 '24 09:05 PkllonG

image Before PR

PkllonG avatar May 16 '24 09:05 PkllonG

I'm not able to reproduce the big Silithid https://github.com/azerothcore/azerothcore-wotlk/pull/18867#issuecomment-2114666743

I went through and spawned the mobs from https://www.wow-petopia.com/classic_lk/family.php?id=silithid

Taming large model Xil'xix (15286) looks fine on my end

I don't recognize the model from the picture. I tried the HD patch to see if it had an effect "Updated Creature Models by vvladoon" from https://github.com/Marotheit/A-Guide-to-Modernizing-the-WotLK-Client . The model doesn't match to the pic, but the size of the models look fine

sogladev avatar May 16 '24 15:05 sogladev

Anymore I think now scale is BLZ game size, I never see so big pets when play at BLZ WLK

kissingers avatar May 16 '24 15:05 kissingers

http://wow.yzz.cn/official/guofu/201009/200927_2.shtml this the web form 2010-09-19, there are some maps can see the origin pets size.

kissingers avatar May 17 '24 01:05 kissingers

status

Kitzunu avatar Jun 26 '24 20:06 Kitzunu

requires testing, affects every hunter pet. Scales based on level and category

sogladev avatar Jun 26 '24 22:06 sogladev

@heyitsbench <3

Kitzunu avatar Jun 27 '24 16:06 Kitzunu

Other pets seem normal, but 25698 seems much big image

kissingers avatar Jul 06 '24 04:07 kissingers