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

Method Reset

src/SB/Game/zNPCTypeRobot.cpp:532–594  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

530}
531
532void zNPCRobot::Reset()
533{
534 NPCConfig* conf = cfg_npc;
535
536 if (conf->dst_castShadow < zNPCRobot_f_0_0 && !(flg_move & 4))
537 {
538 conf->dst_castShadow = zNPCRobot_f_1_0;
539 }
540
541 if (conf->rad_shadowCache < zNPCRobot_f_0_0)
542 {
543 conf->rad_shadowCache = GenShadCacheRad();
544 }
545
546 zNPCCommon::Reset();
547
548 hitpoints = cfg_npc->pts_damage;
549
550 if (PRIV_GetLassoData())
551 {
552 flg_vuln |= 0x1000000;
553 }
554
555 if (xNPCBasic::SelfType() != NPC_TYPE_TUBESLAVE)
556 {
557 zNPCGoalDead* goal;
558 xPsyche* psy = psy_instinct;
559
560 if (npc_duplodude)
561 {
562 goal = (zNPCGoalDead*)psy->FindGoal('NGRj');
563 goal->DieQuietly();
564 psy_instinct->GoalSet('NGRj', 1);
565 }
566 else
567 {
568 if ((U32)xEntIsEnabled(this) == 0)
569 {
570 goal = (zNPCGoalDead*)psy->FindGoal('NGRj');
571 goal->DieQuietly();
572 psy_instinct->GoalSet('NGRj', 1);
573 }
574 else
575 {
576 psy_instinct->GoalSet('NGN0', 1);
577 }
578 }
579 }
580
581 S32 rc = arena.NeedToCycle(this);
582
583 if (rc == 2)
584 {
585 arena.Cycle(this, 1);
586 }
587 else
588 {
589 if (rc)

Callers 2

BlinkResetMethod · 0.45
BlinkerResetMethod · 0.45

Calls 7

GenShadCacheRadFunction · 0.85
xEntIsEnabledFunction · 0.85
ModelAtomicHideFunction · 0.85
FindGoalMethod · 0.80
DieQuietlyMethod · 0.80
GoalSetMethod · 0.80
ResetFunction · 0.50

Tested by

no test coverage detected