Quote:
Originally Posted by Dolalin
[You must be logged in to view images. Log in or Register.]
Ok, this source patch should work to fix dual wield but I have no way of testing it.
Currently the source for the DW check is this:
mobai.cpp:1271
Code:
//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:
Code:
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.
|
Nice work on this. However... Can't lvl 44 summons be greater then lvl 39? And to my understanding lvl 44 summons don't dual wield. So there might be another issue going on.
Edit... I am not sure why the > lvl 39 check is there in the first place. CanThisClassDualWield() checks the level of the mob to make sure it should be able to dual wield. I think the > 39 check should probably just be removed.