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

Method SelfSetup

src/SB/Game/zNPCTypeBossPatrick.cpp:661–705  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

659static S32 fudgeCB(xGoal* rawgoal, void*, en_trantype* trantype, F32 dt, void*);
660
661void zNPCBPatrick::SelfSetup()
662{
663 Pat_ResetGlobalStuff();
664
665 xBehaveMgr* bmgr = xBehaveMgr_GetSelf();
666 this->psy_instinct = bmgr->Subscribe(this, 0);
667
668 xPsyche* psy = this->psy_instinct;
669
670 psy->BrainBegin();
671
672 xGoal* goal = psy->AddGoal(NPC_GOAL_BOSSPATIDLE, NULL);
673 goal->SetCallbacks(idleCB, NULL, NULL, NULL);
674
675 goal = psy->AddGoal(NPC_GOAL_BOSSPATTAUNT, NULL);
676 goal->SetCallbacks(tauntCB, NULL, NULL, NULL);
677
678 goal = psy->AddGoal(NPC_GOAL_BOSSPATHIT, NULL);
679 goal->SetCallbacks(hitCB, NULL, NULL, NULL);
680
681 goal = psy->AddGoal(NPC_GOAL_BOSSPATSPIT, NULL);
682 goal->SetCallbacks(spitCB, NULL, NULL, NULL);
683
684 goal = psy->AddGoal(NPC_GOAL_BOSSPATRUN, NULL);
685 goal->SetCallbacks(runCB, NULL, NULL, NULL);
686
687 goal = psy->AddGoal(NPC_GOAL_BOSSPATSMACK, NULL);
688 goal->SetCallbacks(smackCB, NULL, NULL, NULL);
689
690 goal = psy->AddGoal(NPC_GOAL_BOSSPATFREEZE, NULL);
691 goal->SetCallbacks(freezeCB, NULL, NULL, NULL);
692
693 goal = psy->AddGoal(NPC_GOAL_BOSSPATSPAWN, NULL);
694 goal->SetCallbacks(spawnCB, NULL, NULL, NULL);
695
696 goal = psy->AddGoal(NPC_GOAL_BOSSPATSPIN, NULL);
697 goal->SetCallbacks(spinCB, NULL, NULL, NULL);
698
699 goal = psy->AddGoal(NPC_GOAL_BOSSPATFUDGE, NULL);
700 goal->SetCallbacks(fudgeCB, NULL, NULL, NULL);
701
702 psy->BrainEnd();
703
704 psy->SetSafety(NPC_GOAL_BOSSPATIDLE);
705}
706
707WEAK void xDebugAddTweak(const char*, U32*, U32, U32, const tweak_callback*, void*, U32);
708void xDebugAddTweak(const char*, float*, float, float, const tweak_callback*, void*, unsigned int);

Callers

nothing calls this directly

Calls 7

Pat_ResetGlobalStuffFunction · 0.85
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