MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / SelfSetup

Method SelfSetup

src/SB/Game/zNPCTypeTiki.cpp:576–621  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

574}
575
576void zNPCTiki::SelfSetup()
577{
578 xBehaveMgr* bmgr;
579 xPsyche* psy;
580 xGoal* goal;
581
582 bmgr = xBehaveMgr_GetSelf();
583 psy = bmgr->Subscribe(this, 0);
584 this->psy_instinct = psy;
585 psy = this->psy_instinct;
586 psy->BrainBegin();
587
588 goal = psy->AddGoal(NPC_GOAL_TIKIIDLE, NULL);
589 ((zNPCGoalCommon*)goal)->flg_npcgauto = 0;
590
591 switch (this->myNPCType)
592 {
593 case NPC_TYPE_TIKI_LOVEY:
594 goal->SetCallbacks(loveyIdleCB, NULL, NULL, NULL);
595 goal = psy->AddGoal(NPC_GOAL_TIKIPATROL, NULL);
596 goal->SetCallbacks(loveyPatrolCB, NULL, NULL, NULL);
597 break;
598 case NPC_TYPE_TIKI_QUIET:
599 goal->SetCallbacks(quietIdleCB, NULL, NULL, NULL);
600 goal = psy->AddGoal(NPC_GOAL_TIKIHIDE, NULL);
601 goal->SetCallbacks(quietHideCB, NULL, NULL, NULL);
602 break;
603 case NPC_TYPE_TIKI_THUNDER:
604 goal->SetCallbacks(thunderIdleCB, NULL, NULL, NULL);
605 goal = psy->AddGoal(NPC_GOAL_TIKICOUNT, NULL);
606 goal->SetCallbacks(thunderCountCB, NULL, NULL, NULL);
607 break;
608 case NPC_TYPE_TIKI_STONE:
609 default:
610 break;
611 }
612
613 goal = psy->AddGoal(NPC_GOAL_TIKIDYING, NULL);
614 goal->SetCallbacks(tikiDyingCB, NULL, NULL, NULL);
615
616 goal = psy->AddGoal(NPC_GOAL_TIKIDEAD, NULL);
617 goal->SetCallbacks(tikiDeadCB, NULL, NULL, NULL);
618
619 psy->BrainEnd();
620 psy->SetSafety(NPC_GOAL_TIKIIDLE);
621}
622
623void zNPCTiki::ParseINI()
624{

Callers

nothing calls this directly

Calls 6

xBehaveMgr_GetSelfFunction · 0.85
BrainBeginMethod · 0.80
AddGoalMethod · 0.80
BrainEndMethod · 0.80
SetSafetyMethod · 0.80
SubscribeMethod · 0.45

Tested by

no test coverage detected