diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index e8897c8..44465e5 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -211,3 +211,10 @@ void Hero::GetHitAabbBox(AabbCollider& aabb_box) aabb_box._max.x = GetHitRadius(); aabb_box._max.y = GetHitRadius(); } + +void Hero::SetAiLevel(int ai_level) +{ + if (ai) { + ai->SetAiLevel(ai_level); + } +} diff --git a/server/gameserver/hero.h b/server/gameserver/hero.h index fe459a4..a41af2d 100644 --- a/server/gameserver/hero.h +++ b/server/gameserver/hero.h @@ -34,6 +34,8 @@ public: virtual float GetHitRadius() override; virtual void GetAabbBox(AabbCollider& aabb_box) override; virtual void GetHitAabbBox(AabbCollider& aabb_box) override; + void SetAiLevel(int ai_level); + protected: virtual void _UpdateMove(int speed) override; void InternalUpdateMove(float speed); diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 800d460..180e2fe 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -612,6 +612,7 @@ Hero* Room::CreateHero(Creature* master, hero->attack_dir = dir; hero->team_id = team_id; hero->Initialize(); + hero->SetAiLevel(7); AddToEntityHash(hero); AddToMoveableHash(hero); grid_service->AddCreature(hero);