diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 16dd2cf..3aae162 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -4,6 +4,7 @@ #include "moveableentity.h" #include "buff.h" #include "weakptr.h" +#include "trigger.h" #include "cs_proto.pb.h" @@ -40,6 +41,7 @@ class RoomObstacle; class Hero; class Team; class Car; +class Trigger; class Creature : public MoveableEntity { public: @@ -196,6 +198,7 @@ class Creature : public MoveableEntity Entity* GetLastCollisionDoor() { return last_collision_door_; } void SetLastCollisionDoor(Entity* door) { last_collision_door_ = door; } bool CheckCollision(); + Trigger* GetTrigger() { return trigger_; }; protected: @@ -231,6 +234,7 @@ protected: private: CreatureWeakPtr weak_ptr_; + Trigger* trigger_ = nullptr; Team* team_ = nullptr; Weapon* curr_weapon_ = nullptr; CreatureWeakPtrChunk weak_ptr_chunk_; diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc new file mode 100644 index 0000000..67eb97b --- /dev/null +++ b/server/gameserver/trigger.cc @@ -0,0 +1,41 @@ +#include "precompile.h" + +#include "trigger.h" + +void Trigger::Init() +{ + +} + +void Trigger::UnInit() +{ + +} + +void Trigger::TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon) +{ +} + +void Trigger::Shot(Weapon* weapon) +{ + +} + +void Trigger::Kill(Creature* target) +{ + +} + +void Trigger::UseItemAction() +{ +} + +void Trigger::UseSkill(Skill* skill) +{ + +} + +void Trigger::HpChg(float old_hp, float new_hp) +{ + +} diff --git a/server/gameserver/trigger.h b/server/gameserver/trigger.h new file mode 100644 index 0000000..1d52586 --- /dev/null +++ b/server/gameserver/trigger.h @@ -0,0 +1,22 @@ +#pragma once + +class Weapon; +class Creature; +class Skill; +class Trigger +{ +public: + + void Init(); + void UnInit(); + Creature* GetOwner() { return owner_; }; + void TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon); + void Shot(Weapon* weapon); + void Kill(Creature* target); + void UseItemAction(); + void UseSkill(Skill* skill); + void HpChg(float old_hp, float new_hp); + + private: + Creature* owner_ = nullptr; +};