diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 4e285e8..acc1564 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -868,10 +868,12 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff) break; case kBET_SummonHero: { - SummonHero(buff, - GetPos(), - GetMoveDir(), - buff->meta->hero_infos); + if (!dead) { + SummonHero(buff, + GetPos(), + GetMoveDir(), + buff->meta->hero_infos); + } } break; case kBET_Shield: @@ -887,9 +889,7 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff) case kBET_SummonObstacle: { if (!dead) { - a8::Vec2 target_pos = caster->GetPos() + caster->skill_dir_ * caster->skill_distance_; - target_pos = buff_vec2_param1; - SummonObstacle(buff, buff->meta->param1, target_pos); + SummonObstacle(buff, buff->meta->param1, buff_vec2_param1); } } break;