diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index d9142d30..a7e4a5ed 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2698,6 +2698,12 @@ Hero* Creature::InternalSummonHero(Buff* buff, MetaData::Player* hero_meta, a8:: if (TrySummonHero(hero_meta, dir, born_pos, through_wall)) { int delay_time = 0; for (auto& tuple : hero_meta->pre_appear_effect) { + RoomObstacle* obstacle = room->CreateObstacle + ( + std::get<0>(tuple), + born_pos.x, + born_pos.y + ); delay_time += std::get<1>(tuple); } SummonHeroInfo* summon_info = new SummonHeroInfo; @@ -2709,7 +2715,7 @@ Hero* Creature::InternalSummonHero(Buff* buff, MetaData::Player* hero_meta, a8:: summon_info->life_time = life_time; room->xtimer.AddDeadLineTimerAndAttach ( - delay_time / FRAME_RATE_MS, + delay_time / FRAME_RATE_MS + NEXT_FRAME_TIMER, a8::XParams() .SetSender(buff) .SetParam1(summon_info),