diff --git a/server/gameserver/weapon.cc b/server/gameserver/weapon.cc index 0dbcfb47..6425ad83 100644 --- a/server/gameserver/weapon.cc +++ b/server/gameserver/weapon.cc @@ -31,15 +31,27 @@ void Weapon::Recalc() int Weapon::GetClipVolume(Creature* c) { - return c->GetBattleContext()->GetClipVolume(c, this); + if (c->GetBattleContext()) { + return c->GetBattleContext()->GetClipVolume(c, this); + } else { + return meta ? meta->i->clip_volume() :0; + } } int Weapon::GetFireRate(Creature* c) { - return c->GetBattleContext()->GetFireRate(c, this); + if (c->GetBattleContext()) { + return c->GetBattleContext()->GetFireRate(c, this); + } else { + return meta ? meta->i->fire_rate() :0; + } } int Weapon::GetReloadTime(Creature* c) { - return c->GetBattleContext()->GetReloadTime(c, this); + if (c->GetBattleContext()) { + return c->GetBattleContext()->GetReloadTime(c, this); + } else { + return meta ? meta->i->reload_time() :0; + } }