From looking at the text file with SPDiscover, looks to me it the errors match up exactly with the skills that are going up in the emu..
Looks like a mismatch in skillinuse between eq and emu in the case statement.. The common skill and skillinuse need to be changed in each to match the parameters baron has.
ie 00 = 1h blunt in discover, but 1h slash in source
//Skill Types:
00 //= 1H Blunt
01 //= 1H Slashing
02 //= 2H Blunt
03 //= 2H Slashing
04 //= Abjuration
23 //= Pick Lock
But in the source code, in attack.cpp
// 1h slashing
if (weapon->common.skill == 0x00)
{
attack_skill = 0x01;
skillinuse = 0x00;
a->type = 5; // (5 is for 1h blunt, this is why 1hs weapons 'crush')
}
// 2h slashing
if (weapon->common.skill == 0x01)
{
attack_skill = 0x01;
skillinuse = 0x01;
a->type = 3;
}
// Piercing
if (weapon->common.skill == 0x02)
{
attack_skill = 0x24;
skillinuse = 0x02;
a->type = 2;
}
// 1h blunt
if (weapon->common.skill == 0x03)
{
attack_skill = 0x00;
skillinuse = 0x03;
a->type = 5;
}
// 2h blunt
if (weapon->common.skill == 0x04)
{
attack_skill = 0x00;
skillinuse = 0x04;
a->type = 4;
}
// 2h Piercing
if (weapon->common.skill == 0x23)
{
attack_skill = 0x24;
skillinuse = 0x23;
a->type = 4;
}
Also, I looked in the EQAdmin program, it appears that in there as well the skills are matching the emu rather than what the client expects. To be honest, Im not sure what the best solution is....
Ive fixed it in my attack.cpp, but a 1h slash still looks like a 1h blunt in the database...
|