#pragma once namespace cs { class MFWeapon; } class Creature; class Weapon { public: long long weapon_uniid = 0; int weapon_idx = 0; int weapon_id = 0; int weapon_lv = 0; int ammo = 0; const mt::Equip* meta = nullptr; const mt::Equip* bullet_meta = nullptr; const mt::Skill* skill_meta = nullptr; const std::vector>* bullet_born_offset_ptr = nullptr; int buff_id = 0; void Clear(); void ToPB(Creature* c, cs::MFWeapon* pb_obj); void Recalc(); int GetClipVolume(Creature* c); int GetFireRate(Creature* c); int GetReloadTime(Creature* c); int GetWeaponBattleLv(Creature* c); private: friend class PBUtils; };