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

Method Notify

src/SB/Game/zNPCSpawner.cpp:425–470  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

423}
424
425void zNPCSpawner::Notify(en_SM_NOTICES note, void* data)
426{
427 zNPCCommon* npcdata = (zNPCCommon*)data;
428 switch (note)
429 {
430 case SM_NOTE_NPCDIED:
431 ToastedBeastie(npcdata);
432 SetNPCStatus(npcdata, SM_NPC_DEAD);
433 break;
434 case SM_NOTE_NPCSTANDBY:
435 SetNPCStatus(npcdata, SM_NPC_READY);
436 break;
437 case SM_NOTE_NPCALIVE:
438 SetNPCStatus(npcdata, SM_NPC_ACTIVE);
439 break;
440 case SM_NOTE_DUPPAUSE:
441 flg_spawner |= 0x4;
442 break;
443 case SM_NOTE_DUPRESUME:
444 if ((flg_spawner & 0x2) == 0)
445 {
446 flg_spawner &= ~0x4;
447 }
448 break;
449 case SM_NOTE_DUPSETDELAY:
450 tym_delay = *(F32*)npcdata;
451 tym_delay = tym_delay > -1.0f ? tym_delay : -1.0f;
452
453 break;
454 case SM_NOTE_DUPDEAD:
455 if ((flg_spawner & 0x2) == 0)
456 {
457 ClearPending();
458 flg_spawner |= 0x2;
459 if ((wavestat == SM_STAT_DONE) && (flg_spawner & 0x20) == 0)
460 {
461 zEntEvent(npc_owner, eEventDuploDuperIsDoner);
462 }
463 }
464 break;
465 case SM_NOTE_KILLKIDS:
466 ClearPending();
467 flg_spawner |= 0x2;
468 flg_spawner |= 0x10;
469 }
470}
471
472U8 zNPCSpawner::Owned(zNPCCommon* npc) const
473{

Callers 6

ReconfigureMethod · 0.45
DiscardMethod · 0.45
KillMethod · 0.45
update_roundMethod · 0.45
decomposeMethod · 0.45
DuploNoticeMethod · 0.45

Calls 1

zEntEventFunction · 0.50

Tested by

no test coverage detected