Jump to content

[patch][8944] Use SummonProperties.dbc and related


Auntie Mangos

Recommended Posts

Patch was split into 3 parts as suggested

this one,http://getmangos.eu/community/viewtopic.php?id=10176 and http://getmangos.eu/community/showthread.php?p=86769

Please continue the discussion in related topic.

First post updated, patch file included.

PS: if it is possible to move some related posts to the other topics, please do.

Thanks in advance.

Link to comment
Share on other sites

Don't foget that's there's another patch related, namely http://getmangos.eu/community/viewtopic.php?id=10280

yes but pasdVn patch is more complexed and probably should be splitted like this one.

code we are talking about affects only one feature - summoning method of all pets simplifying it and makeing more generic.

I can resolve basic conflicts but don't feel strong enough in c++ to update patch so waiting fo qsa answer. Will gladly test and post results if the new ver became availeble.

Link to comment
Share on other sites

  • 39 years later...

What bug does the patch fix? What features does the patch add?

- Use data stored in SummonProperties.dbc in order to summon creatures instead of hardcoded SUMMON_TYPE_XXX

- Allow multiple guardians with same id ( used in spells like army of the dead, etc )

- Cleaning no longer needed ( EffectSummonDemon(), enums, etc )

- Allow modify duration in Spell::EffectSummon(), Spell::EffectSummonGuardian()

While most of the patch is pretty much generic, I had to add few ugly exceptions.

For example, while SUMMON_TYPE 121 is considered guardian it acts and contain fields like totem.

Npc flags not yet supported for guardians. You cannot have more than one controlable pet - needed in force of nature, feral spirit.

Overall, all SUMMON_TYPE that used to work, still do. To them added entire army of new types.

I tested as much as I could, but its too much for someone to test ~3k spells alone.

PSS; Feel free to comment.

For which repository revision was the patch created?

8526

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

Likely, half SUMMON_TYPE are not supported.

Who has been writing this patch? Please include either forum user names or email addresses.

Me

Patch:

EDIT: http://paste2.org/p/448613

Link to comment
Share on other sites

does it fix army of the dead and others controlling spells?

btw nice patch ^_^

Not sure if it works now on default core, if not, targeting missing most likely, I'll add it later on.Its not directly related to this patch, but sure a step in that direction.

I was personally thinking of doing this, as Ralek gave me some nice info on the DBC, but seems I'm too slow. :P Either way, good job! About time we stop using those damned hardcoded values.

EDIT: Wait - you gotta do the creature->isPet() check, since allowing scripting pets probably is a bad idea.

true, it is bad idea for pets, but then you wont assign ai script to those either.

But then again, adding scripts for some triggers, like for example doing some complex task on summoning, or being spell victim can be useful in some cases.

This really needs some testing ( on pets - on guardians it works just lovely ), but im almost sure it can co-exist.

" as Ralek gave me some nice info on the DBC" .. mind sharing it? since I used only the data we had in core, it simply wasn't used. Names guessed based on spells. But things like flags - just impossible to guess at the moment, I mean, there is like 1-2 spells with each flag. If you have those, please do share.

Looking forward on more people testing it. Since as i said, I'm far, far away from testing all those new types. Some may be handled wrongly.

Link to comment
Share on other sites

We have chain of ~10 posts talking about some minor option. Guess it should be moved into topic on its own. I know I should have spliten it to 3-4 different patches :/

It would be nice if you could split into the following patches:

- SommonProperties.dbc part

- pet bonuses

- AI part

This would make patch reviewing a lot easier.

Link to comment
Share on other sites

Here's the info you requested.

00:08:27 | @Ralek: column 3 (starting at 0), determines the name type

00:08:38 | @Ralek: Pet, Minion, Vehicle, etc

00:09:03 | @Ralek: UNITNAME_SUMMON_TITLE6 = "%s's Runeblade";

00:09:03 | @Ralek: UNITNAME_SUMMON_TITLE7 = "%s's Construct";

00:09:03 | @Ralek: UNITNAME_SUMMON_TITLE8 = "%s's Opponent";

00:09:03 | @Ralek: UNITNAME_SUMMON_TITLE9 = "%s's Vehicle";

00:09:21 | @Ralek: the client combines "UNITNAME_SUMMON_TITLE" with the value in that column, then looks up teh string

Everything else that's known is already in MaNGOS' source.
Link to comment
Share on other sites

Here's the info you requested.

Everything else that's known is already in MaNGOS' source.

Thanks. Updated the patch accordingly - nothing major, just few renames and wrong case for dk:DRW.

First port updated.

PS: anyone tried it and have negative/positive input?

Link to comment
Share on other sites

  • 3 weeks later...

Well, our test server runs this from its very start, well over 2~ month now and I'm yet to have problems.

I'm not sure if this is the usage intended for those DBC files by bliz but it fits well.

Almost all summons fit well into those groups beside few spells ( added exceptions ), which make me think they are just handled not properly in their generic type summon handlers.

Don't know if anyone else tested it besides us.

Link to comment
Share on other sites

...

Btw, Feral Spirit summon only one wolf, not two. It is related patch or need some improvements in core? :confused:...

multiple summons not yet supported as controllable pets. The best I can do ( besides messing with pet system) is making one of them pet and the other one guardian but thats just ugly workaround ( even more uhly than I have at the moment - which is hard:) ) .

Link to comment
Share on other sites

Some time ago I try make patch like this (I think this very useful), but could not found correct data from dbc for existing in code summon_types (could not find a common code and dbc values). They was different and patch will be buged, if I use data from dbc.

MaNGOS need in patch for summon_type from dbc, thanks for you work - I'll go to test it ...

I hope that this patch is not buged as my :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use