46 lines
909 B
C++
46 lines
909 B
C++
#include "precompile.h"
|
|
|
|
#include "cs_proto.pb.h"
|
|
|
|
#include "metamgr.h"
|
|
|
|
void Weapon::ToPB(cs::MFWeapon* pb_obj)
|
|
{
|
|
pb_obj->set_weapon_id(weapon_id);
|
|
pb_obj->set_weapon_lv(weapon_lv);
|
|
pb_obj->set_ammo(ammo);
|
|
}
|
|
|
|
void Weapon::Recalc()
|
|
{
|
|
upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade(weapon_id);
|
|
}
|
|
|
|
int Weapon::GetClipVolume()
|
|
{
|
|
if (upgrade_meta) {
|
|
return meta->i->clip_volume() + upgrade_meta->GetAttrValue(weapon_lv, EA_Volume);
|
|
} else {
|
|
return meta->i->clip_volume();
|
|
}
|
|
}
|
|
|
|
void Skin::ToPB(cs::MFSkin* pb_obj)
|
|
{
|
|
pb_obj->set_skin_id(skin_id);
|
|
pb_obj->set_skin_lv(skin_lv);
|
|
}
|
|
|
|
a8::Vec2 BornPoint::RandPoint() const
|
|
{
|
|
a8::Vec2 born_point = pos;
|
|
a8::Vec2 dir = born_point;
|
|
dir.Normalize();
|
|
dir.Rotate(a8::RandAngle());
|
|
if (rad < 2) {
|
|
return born_point;
|
|
} else {
|
|
return born_point + dir * (rand() % (int)rad);
|
|
}
|
|
}
|