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

Method AddScripting

src/SB/Game/zNPCTypeCommon.cpp:3471–3500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3469}
3470
3471void zNPCCommon::AddScripting(xPsyche* psy,
3472 S32 (*eval_script)(xGoal*, void*, en_trantype*, F32, void*),
3473 S32 (*eval_playanim)(xGoal*, void*, en_trantype*, F32, void*),
3474 S32 (*eval_attack)(xGoal*, void*, en_trantype*, F32, void*),
3475 S32 (*eval_move)(xGoal*, void*, en_trantype*, F32, void*),
3476 S32 (*eval_follow)(xGoal*, void*, en_trantype*, F32, void*),
3477 S32 (*eval_lead)(xGoal*, void*, en_trantype*, F32, void*),
3478 S32 (*eval_wait)(xGoal*, void*, en_trantype*, F32, void*))
3479{
3480 // non-matching: lwz scheduled too early
3481 this->DBG_Name();
3482 if (this->flg_misc & 1)
3483 {
3484 xGoal* goal;
3485 goal = psy->AddGoal(NPC_GOAL_SCRIPT, NULL);
3486 goal->SetCallbacks(eval_script, NULL, NULL, NULL);
3487 goal = psy->AddGoal(NPC_GOAL_SCRIPTANIM, NULL);
3488 goal->SetCallbacks(eval_playanim, NULL, NULL, NULL);
3489 goal = psy->AddGoal(NPC_GOAL_SCRIPTATTACK, NULL);
3490 goal->SetCallbacks(eval_attack, NULL, NULL, NULL);
3491 goal = psy->AddGoal(NPC_GOAL_SCRIPTMOVE, NULL);
3492 goal->SetCallbacks(eval_move, NULL, NULL, NULL);
3493 goal = psy->AddGoal(NPC_GOAL_SCRIPTFOLLOW, NULL);
3494 goal->SetCallbacks(eval_follow, NULL, NULL, NULL);
3495 goal = psy->AddGoal(NPC_GOAL_SCRIPTLEAD, NULL);
3496 goal->SetCallbacks(eval_lead, NULL, NULL, NULL);
3497 goal = psy->AddGoal(NPC_GOAL_SCRIPTWAIT, NULL);
3498 goal->SetCallbacks(eval_wait, NULL, NULL, NULL);
3499 }
3500}
3501
3502void zNPCCommon::AddDEVGoals(xPsyche*)
3503{

Callers 1

SelfSetupMethod · 0.80

Calls 2

DBG_NameMethod · 0.95
AddGoalMethod · 0.80

Tested by

no test coverage detected