diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 1a7b399b..422c545e 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2442,6 +2442,7 @@ void Creature::SummonObstacle(Buff* buff, int id, const a8::Vec2& target_pos) RoomObstacle* obstacle = room->CreateObstacle(id, pos.x, pos.y); if (obstacle) { obstacle->buff_meta = buff->meta; + obstacle->skill_meta = buff->skill_meta; obstacle->master.Attach(this); obstacle->SetTeamId(room, team_id); obstacle->SetMasterId(room, GetUniId()); diff --git a/server/gameserver/roomobstacle.h b/server/gameserver/roomobstacle.h index 9078a1f2..9a655b03 100644 --- a/server/gameserver/roomobstacle.h +++ b/server/gameserver/roomobstacle.h @@ -8,6 +8,7 @@ namespace MetaData { struct Buff; + struct Skill; } class Ability; @@ -22,6 +23,7 @@ class RoomObstacle : public Obstacle std::shared_ptr context_ability; bool sweep_lock = false; MetaData::Buff* buff_meta = nullptr; + MetaData::Skill* skill_meta = nullptr; long long born_frameno = 0; virtual ~RoomObstacle() override;