9 s32 flagBits = *args++;
12 currentEncounter->
flags |= flagBits;
14 currentEncounter->
flags &= ~flagBits;
43 script->functionTemp[0] = 0;
46 switch (script->functionTemp[0]) {
49 script->functionTemp[0] = 1;
62 Enemy* enemy = script->owner1.enemy;
73 if (enemy->
npcID ==
id) {
74 Evt* scriptTemp = script;
98 if (encounter != NULL) {
99 for (j = 0; j < encounter->
count; j++) {
100 enemy = encounter->
enemy[j];
101 if (enemy != NULL && enemy->
npcID ==
id) {
113 Bytecode* args = script->ptrReadPos;
114 Enemy* enemy = script->owner1.enemy;
130 if (encounter != NULL) {
131 for (j = 0; j < encounter->
count; j++) {
132 enemy = encounter->
enemy[j];
133 if (enemy != NULL && enemy->
npcID ==
id) {
145 Bytecode* args = script->ptrReadPos;
152 Bytecode* args = script->ptrReadPos;
159 Bytecode* args = script->ptrReadPos;
166 Bytecode* args = script->ptrReadPos;
173 Enemy* owner = script->owner1.enemy;
182 newScript->
owner1.enemy = owner;
203 currentEncounter->
songID = songID;
204 currentEncounter->
unk_18 = -1;
218 for (i = 0; i < encounter->
count; i++) {
219 enemy = encounter->
enemy[i];
231 hitEvtInstance->
owner1.enemy = enemy;
252 Bytecode* args = script->ptrReadPos;
259 Bytecode* args = script->ptrReadPos;
261 Enemy* enemy = script->owner1.enemy;
274 currentEncounter->
songID = songID;
275 currentEncounter->
unk_18 = -1;
289 for (i = 0; i < encounter->
count; i++) {
290 enemy = encounter->
enemy[i];
291 if ((enemy != NULL && (
301 script->
owner1.enemy = enemy;
318 Bytecode* args = script->ptrReadPos;
323 currentEncounter->
songID = songID;
324 currentEncounter->
unk_18 = -1;
329 Bytecode* args = script->ptrReadPos;
330 Enemy* enemy = script->owner1.enemy;
333 Evt* scriptTemp = script;
350 if (scriptTemp == aiScript) {
375 scriptTemp->
owner1.enemy = enemy;
376 scriptTemp->
owner2.npcID = id;
382 Bytecode* args = script->ptrReadPos;
383 Enemy* owner = script->owner1.enemy;
388 npcID = owner->
npcID;
398 Bytecode* args = script->ptrReadPos;
399 Enemy* enemy = script->owner1.enemy;
405 npcID = enemy->
npcID;
427 newScript->
owner1.enemy = enemy;
435 Bytecode* args = script->ptrReadPos;
436 Enemy* npc = script->owner1.enemy;
458 Bytecode* args = script->ptrReadPos;
459 Enemy* enemy = script->owner1.enemy;
462 Evt* scriptTemp = script;
478 if (scriptTemp == auxScript) {
486 if (auxScript != NULL) {
490 if (newScriptSource != NULL) {
495 scriptTemp->
owner1.enemy = enemy;
496 scriptTemp->
owner2.npcID = id;
503 Bytecode* args = script->ptrReadPos;
504 Enemy* npc = script->owner1.enemy;
519 Bytecode* args = script->ptrReadPos;
520 Enemy* enemy = script->owner1.enemy;
526 npcID = enemy->
npcID;
547 newScript->
owner1.enemy = enemy;
548 newScript->
owner2.npcID = npcID;
555 Bytecode* args = script->ptrReadPos;
556 Enemy* npc = script->owner1.enemy;
578 Bytecode* args = script->ptrReadPos;
579 Enemy* npc = script->owner1.enemy;
598 Bytecode* args = script->ptrReadPos;
599 Enemy* npc = script->owner1.enemy;
618 Bytecode* args = script->ptrReadPos;
619 Enemy* npc = script->owner1.enemy;
634 Bytecode* args = script->ptrReadPos;
635 Enemy* owner = script->owner1.enemy;
639 owner->varTable[index] = value;
644 Bytecode* args = script->ptrReadPos;
645 Enemy* owner = script->owner1.enemy;
654 Bytecode* args = script->ptrReadPos;
655 Enemy* npc = script->owner1.enemy;
665 npc->varTable[varIdx] = val;
671 Bytecode* args = script->ptrReadPos;
672 Enemy* npc = script->owner1.enemy;
688 Bytecode* args = script->ptrReadPos;
702 Bytecode* args = script->ptrReadPos;
703 script->owner1.enemy->flags = *args++;
708 Bytecode* args = script->ptrReadPos;
709 Enemy* owner = script->owner1.enemy;
714 owner->
flags |= bits;
716 owner->
flags &= ~bits;
722 Bytecode* args = script->ptrReadPos;
723 Enemy* owner = script->owner1.enemy;
735 Bytecode* args = script->ptrReadPos;
755 Bytecode* args = script->ptrReadPos;
756 Enemy* npc = script->owner1.enemy;
781 Bytecode* args = script->ptrReadPos;
782 Enemy* owner = script->owner1.enemy;
790 Bytecode* args = script->ptrReadPos;
797 Bytecode* args = script->ptrReadPos;
798 Enemy* enemy = script->owner1.enemy;
810 Bytecode* args = script->ptrReadPos;
817 Bytecode* args = script->ptrReadPos;
832 Bytecode* args = script->ptrReadPos;
839 Enemy* enemy = script->owner1.enemy;
841 Bytecode* args = script->ptrReadPos;
866 npc->
flags &= ~NPC_FLAG_JUMPING;
874 Bytecode* args = script->ptrReadPos;
void load_demo_battle(u32 index)
struct Evt * blockingParent
union Evt::@11 owner2
Initially -1.
union Evt::@10 owner1
Initially -1.
#define npc_raycast_down_sides
void start_battle(Evt *script, s32 songID)
@ AI_FLAG_SKIP_EMOTE_AFTER_FLEE
@ AI_FLAG_SKIP_IDLE_ANIM_AFTER_FLEE
@ ENEMY_FLAG_ENABLE_HIT_SCRIPT
@ ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT
@ ENCOUNTER_STATE_PRE_BATTLE
@ EVT_GROUP_FLAG_INTERACT
s32 evt_get_variable(Evt *script, Bytecode var)
void kill_script(Evt *instanceToKill)
void partner_disable_input(void)
void ai_enemy_play_sound(Npc *npc, s32 arg1, s32 arg2)
s32 disable_player_input(void)
s32 resume_all_group(s32 groupFlags)
s32 suspend_all_script(s32 id)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
s32 is_starting_conversation(void)
Evt * start_script(EvtScript *source, s32 priority, s32 initialState)
void kill_script_by_ID(s32 id)
Npc * resolve_npc(Evt *script, s32 npcIdOrPtr)
s32 resume_all_script(s32 id)
struct Evt * interactScript
s8 scriptedBattle
battle started by StartBattle but not by encounter
void kill_enemy(Enemy *enemy)
Enemy * get_enemy(s32 npcID)
Looks for an enemy matching the specified npcID.
Encounter * encounterList[24]
struct Evt * defeatScript
void make_npcs(s32 flags, s32 mapID, s32 *npcGroupList)
Npc * get_npc_unsafe(s32 npcID)
EvtScript * interactBytecode
s32 kill_encounter(Enemy *enemy)
EncounterStatus gCurrentEncounter
EvtScript * defeatBytecode
ApiStatus GetNpcVar(Evt *script, b32 isInitialCall)
ApiStatus BindNpcAux(Evt *script, b32 isInitialCall)
ApiStatus SetSelfRotation(Evt *script, b32 isInitialCall)
ApiStatus func_80044290(Evt *script, b32 isInitialCall)
ApiStatus StartBattle(Evt *script, b32 isInitialCall)
ApiStatus BindNpcInteract(Evt *script, b32 isInitialCall)
ApiStatus SelfEnemyOverrideSyncPos(Evt *script, b32 isInitialCall)
ApiStatus SetBattleMusic(Evt *script, b32 isInitialCall)
ApiStatus func_80045798(Evt *script, b32 isInitialCall)
ApiStatus StartBattleWith(Evt *script, b32 isInitialCall)
ApiStatus IsStartingConversation(Evt *script, b32 isInitialCall)
ApiStatus ClearDefeatedEnemies(Evt *script, b32 isInitialCall)
ApiStatus SetTattleMessage(Evt *script, b32 isInitialCall)
ApiStatus SetOwnerInstigatorValue(Evt *script, b32 isInitialCall)
ApiStatus SetEnemyFlagBits(Evt *script, b32 isInitialCall)
ApiStatus BindNpcAI(Evt *script, b32 isInitialCall)
ApiStatus GetEncounterTriggerHitTier(Evt *script, b32 isInitialCall)
ApiStatus BindNpcIdle(Evt *script, b32 isInitialCall)
ApiStatus func_8004572C(Evt *script, b32 isInitialCall)
ApiStatus SetSelfEnemyFlagBits(Evt *script, b32 isInitialCall)
ApiStatus MakeNpcs(Evt *script, b32 isInitialCall)
ApiStatus EnableNpcAux(Evt *script, b32 isInitialCall)
ApiStatus RemoveNpc(Evt *script, b32 isInitialCall)
ApiStatus GetSelfAnimationFromTable(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAux(Evt *script, b32 isInitialCall)
ApiStatus func_800445A8(Evt *script, b32 isInitialCall)
ApiStatus DoNpcDefeat(Evt *script, b32 isInitialCall)
ApiStatus StartBossBattle(Evt *script, b32 isInitialCall)
ApiStatus SetEncounterStatusFlags(Evt *script, b32 isInitialCall)
ApiStatus GetOwnerEncounterTrigger(Evt *script, b32 isInitialCall)
ApiStatus SetSelfEnemyFlags(Evt *script, b32 isInitialCall)
ApiStatus RestartNpcAux(Evt *script, b32 isInitialCall)
ApiStatus func_80045838(Evt *script, b32 isInitialCall)
ApiStatus BindNpcDefeat(Evt *script, b32 isInitialCall)
ApiStatus SetNpcVar(Evt *script, b32 isInitialCall)
ApiStatus RestartNpcAI(Evt *script, b32 isInitialCall)
ApiStatus func_800458CC(Evt *script, b32 isInitialCall)
ApiStatus OnPlayerFled(Evt *script, b32 isInitialCall)
ApiStatus SetBattleAsScripted(Evt *script, b32 isInitialCall)
ApiStatus LoadDemoBattle(Evt *script, b32 isInitialCall)
ApiStatus GetSelfNpcID(Evt *script, b32 isInitialCall)
ApiStatus SetSelfVar(Evt *script, b32 isInitialCall)
ApiStatus func_800445D4(Evt *script, b32 isInitialCall)
ApiStatus RemoveEncounter(Evt *script, b32 isInitialCall)
ApiStatus EnableNpcAI(Evt *script, b32 isInitialCall)
ApiStatus GetBattleOutcome(Evt *script, b32 isInitialCall)
ApiStatus GetSelfVar(Evt *script, b32 isInitialCall)
ApiStatus BindNpcHit(Evt *script, b32 isInitialCall)
PartnerStatus gPartnerStatus
GameStatus * gGameStatusPtr
b32 EncounterStateChanged