diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 26b7bfc..de24ff3 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2046,6 +2046,16 @@ void Creature::SetCurrWeapon(Weapon* weapon) } #endif if (curr_weapon_ != weapon) { + if (GetActionType() == AT_Reload) { + CancelAction(); + if (weapon->weapon_idx != 0 && + weapon->ammo <= 0) { + if (weapon->weapon_idx == GUN_SLOT1 | + weapon->weapon_idx == GUN_SLOT2) { + AutoLoadingBullet(); + } + } + } GetTrigger()->TakeonWeapon(curr_weapon_, weapon); } curr_weapon_ = weapon;