tmc/src/npc.c

138 lines
5.9 KiB
C

#include "global.h"
#include "entity.h"
#include "npc.h"
//clang-format off
void (*const gNPCFunctions[][3])(Entity* ent) = {
/*0x00*/ { DeleteEntity, NULL, NULL },
/*0x01*/ { Gentari, NULL, Gentari_Fusion },
/*0x02*/ { Festari, NULL, Festari_Fusion },
/*0x03*/ { ForestMinish, ForestMinish_Head, ForestMinish_Fusion },
/*0x04*/ { Postman, NULL, Postman_Fusion },
/*0x05*/ { NPC5, NULL, NULL },
/*0x06*/ { Townsperson, Townsperson_Head, Townsperson_Fusion },
/*0x07*/ { Kid, Kid_Head, Kid_Fusion },
/*0x08*/ { Guard, Guard_Head, NULL },
/*0x09*/ { NPC9, NULL, NULL },
/*0x0a*/ { Stamp, NULL, NULL },
/*0x0b*/ { Maid, Maid_Head, NULL },
/*0x0c*/ { Marcy, NULL, NULL },
/*0x0d*/ { Wheaton, NULL, NULL },
/*0x0e*/ { Pita, NULL, NULL },
/*0x0f*/ { MinishEzlo, MinishEzlo_Head, NULL },
/*0x10*/ { Mailbox, NULL, NULL },
/*0x11*/ { Beedle, Beedle_Head, NULL },
/*0x12*/ { Brocco, NULL, Brocco_Fusion },
/*0x13*/ { SittingPerson, SittingPerson_Head, SittingPerson_Fusion },
/*0x14*/ { Pina, NULL, Pina_Fusion },
/*0x15*/ { Guard, Guard_Head, NULL },
/*0x16*/ { Maid, Maid_Head, NULL },
/*0x17*/ { Din, NULL, Din_Fusion },
/*0x18*/ { Nayru, NULL, Nayru_Fusion },
/*0x19*/ { Farore, NULL, Farore_Fusion },
/*0x1a*/ { Sturgeon, Sturgeon_Head, Sturgeon_Fusion },
/*0x1b*/ { TingleSiblings, NULL, TingleSiblings_Fusion },
/*0x1c*/ { Stockwell, NULL, NULL },
/*0x1d*/ { Talon, Talon_Head, Talon_Fusion },
/*0x1e*/ { Malon, NULL, Malon_Fusion },
/*0x1f*/ { Epona, NULL, Epona_Fusion },
/*0x20*/ { MilkCart, NULL, NULL },
/*0x21*/ { GhostBrothers, NULL, GhostBrothers_Fusion },
/*0x22*/ { Smith, Smith_Head, Smith_Fusion },
/*0x23*/ { NPC23, NULL, NULL },
/*0x24*/ { KingDaltus, NULL, KingDaltus_Fusion },
/*0x25*/ { MinisterPotho, NULL, MinisterPotho_Fusion },
/*0x26*/ { NPC26, NULL, NULL },
/*0x27*/ { Vaati, NULL, NULL },
/*0x28*/ { Zelda, NULL, NULL },
/*0x29*/ { Mutoh, Mutoh_Head, Mutoh_Fusion },
/*0x2a*/ { Carpenter, Carpenter_Head, Carpenter_Fusion },
/*0x2b*/ { CastorWildsStatue, NULL, CastorWildsStatue_Fusion },
/*0x2c*/ { Cat, NULL, Cat_Fusion },
/*0x2d*/ { MountainMinish, MountainMinish_Head, MountainMinish_Fusion },
/*0x2e*/ { ZeldaFollower, NULL, NULL },
/*0x2f*/ { Melari, Melari_Head, Melari_Fusion },
/*0x30*/ { BladeBrothers, NULL, BladeBrothers_Fusion },
/*0x31*/ { Cow, NULL, Cow_Fusion },
/*0x32*/ { Goron, NULL, Goron_Fusion },
/*0x33*/ { GoronMerchant, NULL, NULL },
/*0x34*/ { Gorman, Gorman_Head, NULL },
/*0x35*/ { Dog, Dog_Head, Dog_Fusion },
/*0x36*/ { Syrup, Syrup_Head, NULL },
/*0x37*/ { Rem, NULL, NULL },
/*0x38*/ { TownMinish, TownMinish_Head, TownMinish_Fusion },
/*0x39*/ { Librari, NULL, Librari_Fusion },
/*0x3a*/ { Percy, Percy_Head, Percy_Fusion },
/*0x3b*/ { VaatiReborn, NULL, NULL },
/*0x3c*/ { MoblinLady, NULL, NULL },
/*0x3d*/ { Librarians, NULL, NULL },
/*0x3e*/ { Farmers, Farmers_Head, Farmers_Fusion },
/*0x3f*/ { Carlov, NULL, NULL },
/*0x40*/ { Dampe, NULL, Dampe_Fusion },
/*0x41*/ { DrLeft, NULL, NULL },
/*0x42*/ { KingGustaf, NULL, NULL },
/*0x43*/ { Gina, NULL, Gina_Fusion },
/*0x44*/ { Simon, NULL, NULL },
/*0x45*/ { Anju, NULL, Anju_Fusion },
/*0x46*/ { Mama, Mama_Head, Mama_Fusion },
/*0x47*/ { Emma, NULL, NULL },
/*0x48*/ { Teachers, Teachers_Head, Teachers_Fusion },
/*0x49*/ { WindTribespeople, WindTribespeople_Head, WindTribespeople_Fusion },
/*0x4a*/ { Gregal, NULL, Gregal_Fusion },
/*0x4b*/ { MayorHagen, NULL, MayorHagen_Fusion },
/*0x4c*/ { BigGoron, NULL, NULL },
/*0x4d*/ { EzloCap, NULL, NULL },
/*0x4e*/ { NPC4E, NULL, NPC4E_Fusion },
/*0x4f*/ { NPC4F, NULL, NULL },
/*0x50*/ { ClothesRack, NULL, NULL },
/*0x51*/ { PicolyteBottle, NULL, NULL },
/*0x52*/ { SmallTownMinish, NULL, NULL },
/*0x53*/ { HurdyGurdyMan, HurdyGurdyMan_Head, HurdyGurdyMan_Fusion },
/*0x54*/ { Cucco, NULL, Cucco_Fusion },
/*0x55*/ { CuccoChick, NULL, CuccoChick_Fusion },
/*0x56*/ { FusionMenuNPC, FusionMenuNPC_Head, NULL },
/*0x57*/ { Phonograph, NULL, NULL },
/*0x58*/ { NPC58, NPC58_Head, NULL },
/*0x59*/ { DeleteEntity, NULL, NULL },
/*0x5a*/ { DeleteEntity, NULL, NULL },
/*0x5b*/ { DeleteEntity, NULL, NULL },
/*0x5c*/ { DeleteEntity, NULL, NULL },
/*0x5d*/ { DeleteEntity, NULL, NULL },
/*0x5e*/ { DeleteEntity, NULL, NULL },
/*0x5f*/ { DeleteEntity, NULL, NULL },
/*0x60*/ { DeleteEntity, NULL, NULL },
/*0x61*/ { DeleteEntity, NULL, NULL },
/*0x62*/ { DeleteEntity, NULL, NULL },
/*0x63*/ { DeleteEntity, NULL, NULL },
/*0x64*/ { DeleteEntity, NULL, NULL },
/*0x65*/ { DeleteEntity, NULL, NULL },
/*0x66*/ { DeleteEntity, NULL, NULL },
/*0x67*/ { DeleteEntity, NULL, NULL },
/*0x68*/ { DeleteEntity, NULL, NULL },
/*0x69*/ { DeleteEntity, NULL, NULL },
/*0x6a*/ { DeleteEntity, NULL, NULL },
/*0x6b*/ { DeleteEntity, NULL, NULL },
/*0x6c*/ { DeleteEntity, NULL, NULL },
/*0x6d*/ { DeleteEntity, NULL, NULL },
/*0x6e*/ { DeleteEntity, NULL, NULL },
/*0x6f*/ { DeleteEntity, NULL, NULL },
/*0x70*/ { DeleteEntity, NULL, NULL },
/*0x71*/ { DeleteEntity, NULL, NULL },
/*0x72*/ { DeleteEntity, NULL, NULL },
/*0x73*/ { DeleteEntity, NULL, NULL },
/*0x74*/ { DeleteEntity, NULL, NULL },
/*0x75*/ { DeleteEntity, NULL, NULL },
/*0x76*/ { DeleteEntity, NULL, NULL },
/*0x77*/ { DeleteEntity, NULL, NULL },
/*0x78*/ { DeleteEntity, NULL, NULL },
/*0x79*/ { DeleteEntity, NULL, NULL },
/*0x7a*/ { DeleteEntity, NULL, NULL },
/*0x7b*/ { DeleteEntity, NULL, NULL },
/*0x7c*/ { DeleteEntity, NULL, NULL },
/*0x7d*/ { DeleteEntity, NULL, NULL },
/*0x7e*/ { DeleteEntity, NULL, NULL },
/*0x7f*/ { DeleteEntity, NULL, NULL }
};
//clang-format on
const u8 npc_unk[] = { 0x04, 0x05, 0x06, 0x06 };