game2006/server/gameserver/frameevent.h
aozhiwei 976712c9d4 1
2023-05-10 16:30:15 +08:00

54 lines
2.3 KiB
C++

#pragma once
#include "weakptr.h"
class Bullet;
class Human;
class Buff;
class Effect;
class Room;
class Creature;
struct FrameEvent
{
public:
Room* room = nullptr;
void AddAirDrop(int appear_time, int box_id, const glm::vec3& box_pos);
void AddAirRaid(int appear_time, const glm::vec3& raid_pos, float raid_rad, int continue_time);
void AddEmote(CreatureWeakPtr& sender, int emote_id);
void AddShot(CreatureWeakPtr& sender);
void AddBullet(int bullet_uniid,
CreatureWeakPtr& sender,
const mt::Equip* weapon_meta,
int weapon_lv,
const glm::vec3& born_pos,
const glm::vec3& dir,
float fly_distance,
int trace_target_id,
int hand,
std::shared_ptr<std::set<int>> reporter_list);
void RemoveBullet(glm::vec3 pos, int bullet_uniid);
void AddExplosion(Bullet* bullet, int item_id, Position bomb_pos);
void AddSmoke(Bullet* bullet, int item_id, glm::vec3 pos, float time_addition);
void AddPlaySkill(CreatureWeakPtr& sender, int skill_id);
void AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect, int bullet_uniid);
void AddBulletNumChg(CreatureWeakPtr& sender);
void AddHpChg(CreatureWeakPtr& sender);
void AddWeaponAmmoChg(CreatureWeakPtr& sender);
void AddBuff(CreatureWeakPtr& sender, Buff* buff);
void RemoveBuff(CreatureWeakPtr& sender, Buff* buff);
void AddEffect(CreatureWeakPtr& sender, Effect* effect);
void RemoveEffect(CreatureWeakPtr& sender, Effect* effect);
void AddSkillCdChg(CreatureWeakPtr sender, int skill_id, int left_time);
void AddSkillCurrTimesChg(CreatureWeakPtr sender, int skill_id, int curr_times);
void AddItemChg(CreatureWeakPtr& sender, int item_id, int item_num);
void AddDead(CreatureWeakPtr& sender, int revive_time);
void AddRevive(CreatureWeakPtr& sender);
void AddCarChg(CreatureWeakPtr& sender);
void AddPropChg(CreatureWeakPtr& sender, int type, int subtype, float value, bool only_self = false);
void AddPropChgEx(CreatureWeakPtr& sender, int type, int subtype,
float value, float value2, float value3, bool only_self = false);
void Clear();
};