aozhiwei d19d911ce8 1
2023-11-14 13:09:45 +08:00

46 lines
1.1 KiB
C++

#pragma once
#include "roomentity.h"
namespace MetaData
{
struct Player;
struct Equip;
struct MapThing;
}
class Human;
class Loot : public RoomEntity
{
public:
const mt::Equip* meta = nullptr;
int item_id = 0;
int count = 0;
int item_level = 0;
bool pickuped = false;
int bullet_num = 0;
float param1 = 0.0f;
float param2 = 0.0f;
Position born_pos;
bool show_anim = false;
long long create_frame_no = 0;
int pickup_flag = 0;
CreatureWeakPtr master;
const mt::Buff* buff_meta = nullptr;
const mt::Skill* skill_meta = nullptr;
std::shared_ptr<std::vector<float>> buff_vars;
virtual ~Loot() override;
virtual void Initialize() override;
virtual void FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) override;
virtual void FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) override;
virtual bool IsLoot() override { return true;};
virtual Loot* AsLoot() override { return this;};
protected:
Loot();
friend class EntityFactory;
friend class PBUtils;
};