PDA

View Full Version : Game Mechanics: necro pet issues


ammut
11-23-2009, 06:32 PM
Now that you fixed the melee dmg absorption issue, could the devs make good of their words and fix the pet dual wield bug as well as the necro pet heal spell line please.

Aeolwind
11-23-2009, 07:00 PM
Next on the list! Promise. Just a matter of someone with C++ experience having the time to get it tweaked.

Haynar
11-23-2009, 07:48 PM
What are the dual wield issues?

I had an EQEmu server set up, and I was testing with higher level pets and they dual wielded just fine.

Is it some pets or all with problems?

I looked at the code before, and saw some possible issues. But then I tested a pet before changes, and he was dual wielding when I gave him weapons to use.

Haynar

Aeolwind
11-23-2009, 09:16 PM
They don't duel wield early enough.

Dolalin
11-23-2009, 09:54 PM
Sorry, repost from another thread, but this is I believe where the issue lies.

Currently the source for the DW check is this:

mobai.cpp:1271
//can only dual weild without a weapon if your a monk
if((GetEquipment(MATERIAL_SECONDARY) != 0 && GetLevel() > 39) || myclass == MONK || myclass == MONKGM) {

That means, only if your pet's actual level is over 39 will it dual wield. Well we have to add a special exception for lower level pets.

The situation we aim to achieve is that:

Pets summoned with 29-39th spells will dual-wield if given weapons (if offhand is not empty). Pets with 44th and 49th spells should dual wield without weapons.

Changing the check to this should achieve that goal:

if((GetEquipment(MATERIAL_SECONDARY) != 0 && GetLevel() > 39) || (GetOwner() != NULL && GetEquipment(MATERIAL_SECONDARY) != 0 && GetLevel() > 24) || (GetOwner() != NULL && GetLevel() > 37) || myclass == MONK || myclass == MONKGM) {

Added two new conditions based on the return of GetOwner() (if returns non-null, I'm a pet), and GetLevel() (self-explanatory).

Only one question: What are the lowest level 29 and 44 pets? I THINK they're 25 and 38 respectively but I could be wrong.

Haynar
11-23-2009, 09:54 PM
Dolalin posted changes that should work.

I think that lowest level 29 pet, goes to 24, but not positive.