diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index dffa43aa..7e0fa509 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -3,7 +3,6 @@ #include #include - #include "buff.h" #include "metamgr.h" #include "human.h" @@ -1362,4 +1361,5 @@ void Buff::ProcSputteringFunc(Bullet* bullet) VirtualBullet* bullet = new VirtualBullet(); owner->room->AddTask(bullet_uniid, bullet); } + } diff --git a/server/gameserver/room.h b/server/gameserver/room.h index 4d723f91..5d367f6d 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -244,6 +244,8 @@ public: bool IsInfiniteBulletMode() { return infinite_bullet_mode_; }; void AddToPostBattleAutoFreeList(xtimer_list* timer); bool CanAddObstacle(const a8::Vec2& pos, int obstacle_id); + void AddTask(int task_uniid, ITask* task); + void RemoveTask(int task_uniid); private: void ShuaAndroid(); @@ -326,8 +328,6 @@ private: void InternalRemoveObjectLater(Entity* entity, a8::XTimerAttacher& entity_xtimer_attacher); void OnBattleStart(); void ClearPostBattleAutoFreeList(); - void AddTask(int task_uniid, ITask* task); - void RemoveTask(int task_uniid); #ifdef DEBUG void InitDebugInfo(); diff --git a/server/gameserver/virtualbullet.h b/server/gameserver/virtualbullet.h index 735ac387..c627ac4d 100644 --- a/server/gameserver/virtualbullet.h +++ b/server/gameserver/virtualbullet.h @@ -18,6 +18,9 @@ class VirtualBullet : public IBullet, public ITask CreatureWeakPtr passenger; Room* room = nullptr; bool is_pre_battle_bullet = false; + a8::Vec2 dir; + a8::Vec2 born_pos; + a8::Vec2 born_dir; virtual float GetStrengthenWall() override; virtual long long GetWeaponUniId() override;