bool Weapon::reload(Clip& clip) { if (acceptable_ammo(clip) && !clip.empty()) { loaded_cliptype_ = clip.get_itemtypename(); ammo_ = clip.get_ammoamount(); clip.decrease_number(1); return true; } else return false; }
bool Weapon::acceptable_ammo(const Clip& c) const { return weapontype[getweapontype(itemtypename())]->acceptable_ammo(c.get_itemtypename()); }