diff --git a/server/gameserver/guide.cc b/server/gameserver/guide.cc index e7c0921b..51bb1140 100644 --- a/server/gameserver/guide.cc +++ b/server/gameserver/guide.cc @@ -193,16 +193,19 @@ void Guide::ProcKillEnemy() [this, hero_id, hero_meta, pos, context, i ] (int event, const a8::Args* args) { if (a8::TIMER_EXEC_EVENT == event) { - context->heros[i] = - owner_->room->CreateHero + Hero* hero = owner_->room->CreateHero ( nullptr, hero_meta, pos, pos, 666 - )->GetUniId() - ; + ); + if (!hero) { + abort(); + } + hero->SetHP(0.1f); + context->heros[i] = hero->GetUniId(); } }, &owner_->xtimer_attacher); @@ -269,16 +272,19 @@ void Guide::ProcUseSkillAndKillEnemy() [this, hero_id, hero_meta, pos, context, i ] (int event, const a8::Args* args) { if (a8::TIMER_EXEC_EVENT == event) { - context->heros[i] = - owner_->room->CreateHero + Hero* hero = owner_->room->CreateHero ( nullptr, hero_meta, pos, pos, 666 - )->GetUniId() - ; + ); + if (!hero) { + abort(); + } + hero->SetHP(0.1f); + context->heros[i] = hero->GetUniId(); } }, &owner_->xtimer_attacher);