| 4214 | } |
| 4215 | |
| 4216 | void zNPCGoalRespawn::KickFromTheNest() |
| 4217 | { |
| 4218 | zNPCGoalAfterlife* wanna; |
| 4219 | zNPCRobot* npc = (zNPCRobot*)(psyche->clt_owner); |
| 4220 | zMovePoint* nav_preserveCurr = npc->nav_curr; |
| 4221 | zMovePoint* nav_preserveDest = npc->nav_dest; |
| 4222 | |
| 4223 | npc->Reset(); |
| 4224 | npc->ModelScaleSet(0.0f); |
| 4225 | wanna = (zNPCGoalAfterlife*)(psyche->FindGoal(NPC_GOAL_AFTERLIFE)); |
| 4226 | if (wanna != NULL) |
| 4227 | { |
| 4228 | wanna->DieWithABang(); |
| 4229 | } |
| 4230 | |
| 4231 | xVec3Copy(npc->Pos(), &pos_poofHere); |
| 4232 | xVec3Copy(&npc->frame->mat.pos, &pos_poofHere); |
| 4233 | |
| 4234 | npc->frame->mode = 1; |
| 4235 | |
| 4236 | npc->frame->dvel.x = 0.0f; |
| 4237 | npc->frame->dvel.y = 0.0f; |
| 4238 | npc->frame->dvel.z = 0.0f; |
| 4239 | |
| 4240 | npc->frame->vel.x = 0.0f; |
| 4241 | npc->frame->vel.y = 0.0f; |
| 4242 | npc->frame->vel.z = 0.0f; |
| 4243 | |
| 4244 | npc->frame->mode |= 0xc; |
| 4245 | |
| 4246 | npc->frame->dpos.x = 0.0f; |
| 4247 | npc->frame->dpos.y = 0.0f; |
| 4248 | npc->frame->dpos.z = 0.0f; |
| 4249 | |
| 4250 | npc->frame->mode |= 2; |
| 4251 | |
| 4252 | npc->nav_past = nav_preserveCurr; |
| 4253 | npc->nav_curr = nav_preserveCurr; |
| 4254 | npc->nav_dest = nav_preserveDest; |
| 4255 | npc->nav_lead = nav_preserveDest; |
| 4256 | |
| 4257 | npc->arena.SetHome(npc, nav_preserveCurr); |
| 4258 | npc->psy_instinct->GoalSet(NPC_GOAL_IDLE, 1); |
| 4259 | } |
| 4260 | |
| 4261 | S32 zNPCGoalRespawn::InputInfo(NPCSpawnInfo* info) |
| 4262 | { |
nothing calls this directly
no test coverage detected