[CODE] Fix from Me:) REV 80

Newbie Spellweaver
Joined
Dec 10, 2004
Messages
17
Reaction score
0
charfunctions.cpp

Code:
bool CCharacter::CanAttack( )
{
    clock_t etime = clock() - Battle->lastAtkTime;
    //if( etime < CLOCKS_PER_SEC * 100 / Stats->Attack_Speed ) return false;   for the time being let's just let it be unsynced to avoid disbalanced
    int weapontype = IsPlayer()?getWeaponType():0;

//MZ 
//it's my fix, to protect from exception divide by zero
//During fight, at change of the weapon it happens
    if (0 == Stats->Attack_Speed) return false;
//MZ

    if ( weapontype == 231 || weapontype == 232 || weapontype == 233 )
    {
       if( (etime < CLOCKS_PER_SEC * (GServer->ATTK_SPEED_MODIF*4/3) / Stats->Attack_Speed) || Status->Stun != 0xff ) return false;
    }
    else
    {
       if( (etime < CLOCKS_PER_SEC * GServer->ATTK_SPEED_MODIF / Stats->Attack_Speed) || Status->Stun != 0xff ) return false;
    }
    return true;
}

player.cpp

=Fix animation for Gun/Luncher/Bow in PVP

Code:
bool CPlayer::SpawnToPlayer( CPlayer* player, CPlayer* otherclient )
{
....
//DEL
    ADDWORD( pak, ((items[132].itemnum << 5) & 0x3ff) );//arrows
    ADDWORD( pak, ((items[133].itemnum << 5) & 0x3ff) );//bullets
    ADDWORD( pak, ((items[134].itemnum << 5) & 0x3ff) );//cannons    
//ADD 
    ADDWORD( pak, ((items[132].itemnum << 5) ));//arrows
    ADDWORD( pak, ((items[133].itemnum << 5) ));//bullets
    ADDWORD( pak, ((items[134].itemnum << 5) ));//cannons    
.....
}
 
Last edited:
Back