Add TM51 through TM100.

This commit is contained in:
ultima-soul 2021-07-05 18:11:57 -07:00
parent 53e900a643
commit 2d8d38f44c
7 changed files with 917 additions and 66 deletions

View File

@ -731,15 +731,65 @@
#define ITEM_TM48 630
#define ITEM_TM49 631
#define ITEM_TM50 632
#define ITEM_TM51 633
#define ITEM_TM52 634
#define ITEM_TM53 635
#define ITEM_TM54 636
#define ITEM_TM55 637
#define ITEM_TM56 638
#define ITEM_TM57 639
#define ITEM_TM58 640
#define ITEM_TM59 641
#define ITEM_TM60 642
#define ITEM_TM61 643
#define ITEM_TM62 644
#define ITEM_TM63 645
#define ITEM_TM64 646
#define ITEM_TM65 647
#define ITEM_TM66 648
#define ITEM_TM67 649
#define ITEM_TM68 650
#define ITEM_TM69 651
#define ITEM_TM70 652
#define ITEM_TM71 653
#define ITEM_TM72 654
#define ITEM_TM73 655
#define ITEM_TM74 656
#define ITEM_TM75 657
#define ITEM_TM76 658
#define ITEM_TM77 659
#define ITEM_TM78 660
#define ITEM_TM79 661
#define ITEM_TM80 662
#define ITEM_TM81 663
#define ITEM_TM82 664
#define ITEM_TM83 665
#define ITEM_TM84 666
#define ITEM_TM85 667
#define ITEM_TM86 668
#define ITEM_TM87 669
#define ITEM_TM88 670
#define ITEM_TM89 671
#define ITEM_TM90 672
#define ITEM_TM91 673
#define ITEM_TM92 674
#define ITEM_TM93 675
#define ITEM_TM94 676
#define ITEM_TM95 677
#define ITEM_TM96 678
#define ITEM_TM97 679
#define ITEM_TM98 680
#define ITEM_TM99 681
#define ITEM_TM100 682
#define ITEM_HM01 633
#define ITEM_HM02 634
#define ITEM_HM03 635
#define ITEM_HM04 636
#define ITEM_HM05 637
#define ITEM_HM06 638
#define ITEM_HM07 639
#define ITEM_HM08 640
#define ITEM_HM01 683
#define ITEM_HM02 684
#define ITEM_HM03 685
#define ITEM_HM04 686
#define ITEM_HM05 687
#define ITEM_HM06 688
#define ITEM_HM07 689
#define ITEM_HM08 690
#define ITEM_TM01_FOCUS_PUNCH ITEM_TM01
#define ITEM_TM02_DRAGON_CLAW ITEM_TM02
@ -801,66 +851,66 @@
#define ITEM_HM07_WATERFALL ITEM_HM07
#define ITEM_HM08_DIVE ITEM_HM08
// Key Items
#define ITEM_MACH_BIKE 641
#define ITEM_COIN_CASE 642
#define ITEM_ITEMFINDER 643
#define ITEM_OLD_ROD 644
#define ITEM_GOOD_ROD 645
#define ITEM_SUPER_ROD 646
#define ITEM_SS_TICKET 647
#define ITEM_CONTEST_PASS 648
#define ITEM_WAILMER_PAIL 649
#define ITEM_DEVON_GOODS 650
#define ITEM_SOOT_SACK 651
#define ITEM_BASEMENT_KEY 652
#define ITEM_ACRO_BIKE 653
#define ITEM_POKEBLOCK_CASE 654
#define ITEM_LETTER 655
#define ITEM_EON_TICKET 656
#define ITEM_SCANNER 657
#define ITEM_GO_GOGGLES 658
#define ITEM_METEORITE 659
#define ITEM_ROOM_1_KEY 660
#define ITEM_ROOM_2_KEY 661
#define ITEM_ROOM_4_KEY 662
#define ITEM_ROOM_6_KEY 663
#define ITEM_STORAGE_KEY 664
#define ITEM_DEVON_SCOPE 665
#define ITEM_MACH_BIKE 691
#define ITEM_COIN_CASE 692
#define ITEM_ITEMFINDER 693
#define ITEM_OLD_ROD 694
#define ITEM_GOOD_ROD 695
#define ITEM_SUPER_ROD 696
#define ITEM_SS_TICKET 697
#define ITEM_CONTEST_PASS 698
#define ITEM_WAILMER_PAIL 699
#define ITEM_DEVON_GOODS 700
#define ITEM_SOOT_SACK 701
#define ITEM_BASEMENT_KEY 702
#define ITEM_ACRO_BIKE 703
#define ITEM_POKEBLOCK_CASE 704
#define ITEM_LETTER 705
#define ITEM_EON_TICKET 706
#define ITEM_SCANNER 707
#define ITEM_GO_GOGGLES 708
#define ITEM_METEORITE 709
#define ITEM_ROOM_1_KEY 710
#define ITEM_ROOM_2_KEY 711
#define ITEM_ROOM_4_KEY 712
#define ITEM_ROOM_6_KEY 713
#define ITEM_STORAGE_KEY 714
#define ITEM_DEVON_SCOPE 715
// FireRed/LeafGreen
#define ITEM_OAKS_PARCEL 666
#define ITEM_POKE_FLUTE 667
#define ITEM_SECRET_KEY 668
#define ITEM_BIKE_VOUCHER 669
#define ITEM_GOLD_TEETH 670
#define ITEM_CARD_KEY 671
#define ITEM_LIFT_KEY 672
#define ITEM_SILPH_SCOPE 673
#define ITEM_BICYCLE 674
#define ITEM_TOWN_MAP 675
#define ITEM_VS_SEEKER 676
#define ITEM_FAME_CHECKER 677
#define ITEM_TM_CASE 678
#define ITEM_BERRY_POUCH 679
#define ITEM_TEACHY_TV 680
#define ITEM_TRI_PASS 681
#define ITEM_RAINBOW_PASS 682
#define ITEM_TEA 683
#define ITEM_MYSTIC_TICKET 684
#define ITEM_AURORA_TICKET 685
#define ITEM_POWDER_JAR 686
#define ITEM_RUBY 687
#define ITEM_SAPPHIRE 688
#define ITEM_OAKS_PARCEL 716
#define ITEM_POKE_FLUTE 717
#define ITEM_SECRET_KEY 718
#define ITEM_BIKE_VOUCHER 719
#define ITEM_GOLD_TEETH 720
#define ITEM_CARD_KEY 721
#define ITEM_LIFT_KEY 722
#define ITEM_SILPH_SCOPE 723
#define ITEM_BICYCLE 724
#define ITEM_TOWN_MAP 725
#define ITEM_VS_SEEKER 726
#define ITEM_FAME_CHECKER 727
#define ITEM_TM_CASE 728
#define ITEM_BERRY_POUCH 729
#define ITEM_TEACHY_TV 730
#define ITEM_TRI_PASS 731
#define ITEM_RAINBOW_PASS 732
#define ITEM_TEA 733
#define ITEM_MYSTIC_TICKET 734
#define ITEM_AURORA_TICKET 735
#define ITEM_POWDER_JAR 736
#define ITEM_RUBY 737
#define ITEM_SAPPHIRE 738
// Emerald
#define ITEM_MAGMA_EMBLEM 689
#define ITEM_OLD_SEA_MAP 690
#define ITEM_MAGMA_EMBLEM 739
#define ITEM_OLD_SEA_MAP 740
#define ITEM_GRACIDEA 691
#define ITEM_MEGA_BRACELET 692
#define ITEM_SHINY_CHARM 693
#define ITEM_OVAL_CHARM 694
#define ITEM_Z_RING 695
#define ITEM_GRACIDEA 741
#define ITEM_MEGA_BRACELET 742
#define ITEM_SHINY_CHARM 743
#define ITEM_OVAL_CHARM 744
#define ITEM_Z_RING 745
#define ITEMS_COUNT 696
#define ITEMS_COUNT 746
#define ITEM_FIELD_ARROW ITEMS_COUNT
// Range of berries given out by various NPCS

View File

@ -673,6 +673,56 @@ const u32 *const gItemIconTable[][2] =
[ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
[ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
[ITEM_TM51] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM52] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM53] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM54] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM55] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM56] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM57] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM58] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM59] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM60] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM61] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM62] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM63] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM64] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM65] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM66] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM67] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM68] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM69] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM70] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM71] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM72] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM73] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM74] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM75] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM76] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM77] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM78] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM79] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM80] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM81] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM82] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM83] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM84] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM85] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM86] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM87] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM88] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM89] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM90] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM91] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM92] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM93] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM94] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM95] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM96] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM97] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM98] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM99] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_TM100] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // Todo
[ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
[ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM},
[ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},

View File

@ -7820,6 +7820,556 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM51] =
{
.name = _("TM51"),
.itemId = ITEM_TM51,
.price = 3000,
.description = sTM51Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM52] =
{
.name = _("TM52"),
.itemId = ITEM_TM52,
.price = 3000,
.description = sTM52Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM53] =
{
.name = _("TM53"),
.itemId = ITEM_TM53,
.price = 3000,
.description = sTM53Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM54] =
{
.name = _("TM54"),
.itemId = ITEM_TM54,
.price = 3000,
.description = sTM54Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM55] =
{
.name = _("TM55"),
.itemId = ITEM_TM55,
.price = 3000,
.description = sTM55Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM56] =
{
.name = _("TM56"),
.itemId = ITEM_TM56,
.price = 3000,
.description = sTM56Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM57] =
{
.name = _("TM57"),
.itemId = ITEM_TM57,
.price = 3000,
.description = sTM57Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM58] =
{
.name = _("TM58"),
.itemId = ITEM_TM58,
.price = 3000,
.description = sTM58Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM59] =
{
.name = _("TM59"),
.itemId = ITEM_TM59,
.price = 3000,
.description = sTM59Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM60] =
{
.name = _("TM60"),
.itemId = ITEM_TM60,
.price = 3000,
.description = sTM60Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM61] =
{
.name = _("TM61"),
.itemId = ITEM_TM61,
.price = 3000,
.description = sTM61Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM62] =
{
.name = _("TM62"),
.itemId = ITEM_TM62,
.price = 3000,
.description = sTM62Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM63] =
{
.name = _("TM63"),
.itemId = ITEM_TM63,
.price = 3000,
.description = sTM63Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM64] =
{
.name = _("TM64"),
.itemId = ITEM_TM64,
.price = 3000,
.description = sTM64Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM65] =
{
.name = _("TM65"),
.itemId = ITEM_TM65,
.price = 3000,
.description = sTM65Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM66] =
{
.name = _("TM66"),
.itemId = ITEM_TM66,
.price = 3000,
.description = sTM66Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM67] =
{
.name = _("TM67"),
.itemId = ITEM_TM67,
.price = 3000,
.description = sTM67Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM68] =
{
.name = _("TM68"),
.itemId = ITEM_TM68,
.price = 3000,
.description = sTM68Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM69] =
{
.name = _("TM69"),
.itemId = ITEM_TM69,
.price = 3000,
.description = sTM69Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM70] =
{
.name = _("TM70"),
.itemId = ITEM_TM70,
.price = 3000,
.description = sTM70Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM71] =
{
.name = _("TM71"),
.itemId = ITEM_TM71,
.price = 3000,
.description = sTM71Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM72] =
{
.name = _("TM72"),
.itemId = ITEM_TM72,
.price = 3000,
.description = sTM72Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM73] =
{
.name = _("TM73"),
.itemId = ITEM_TM73,
.price = 3000,
.description = sTM73Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM74] =
{
.name = _("TM74"),
.itemId = ITEM_TM74,
.price = 3000,
.description = sTM74Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM75] =
{
.name = _("TM75"),
.itemId = ITEM_TM75,
.price = 3000,
.description = sTM75Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM76] =
{
.name = _("TM76"),
.itemId = ITEM_TM76,
.price = 3000,
.description = sTM76Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM77] =
{
.name = _("TM77"),
.itemId = ITEM_TM77,
.price = 3000,
.description = sTM77Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM78] =
{
.name = _("TM78"),
.itemId = ITEM_TM78,
.price = 3000,
.description = sTM78Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM79] =
{
.name = _("TM79"),
.itemId = ITEM_TM79,
.price = 3000,
.description = sTM79Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM80] =
{
.name = _("TM80"),
.itemId = ITEM_TM80,
.price = 3000,
.description = sTM80Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM81] =
{
.name = _("TM81"),
.itemId = ITEM_TM81,
.price = 3000,
.description = sTM81Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM82] =
{
.name = _("TM82"),
.itemId = ITEM_TM82,
.price = 3000,
.description = sTM82Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM83] =
{
.name = _("TM83"),
.itemId = ITEM_TM83,
.price = 3000,
.description = sTM83Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM84] =
{
.name = _("TM84"),
.itemId = ITEM_TM84,
.price = 3000,
.description = sTM84Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM85] =
{
.name = _("TM85"),
.itemId = ITEM_TM85,
.price = 3000,
.description = sTM85Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM86] =
{
.name = _("TM86"),
.itemId = ITEM_TM86,
.price = 3000,
.description = sTM86Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM87] =
{
.name = _("TM87"),
.itemId = ITEM_TM87,
.price = 3000,
.description = sTM87Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM88] =
{
.name = _("TM88"),
.itemId = ITEM_TM88,
.price = 3000,
.description = sTM88Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM89] =
{
.name = _("TM89"),
.itemId = ITEM_TM89,
.price = 3000,
.description = sTM89Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM90] =
{
.name = _("TM90"),
.itemId = ITEM_TM90,
.price = 3000,
.description = sTM90Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM91] =
{
.name = _("TM91"),
.itemId = ITEM_TM91,
.price = 3000,
.description = sTM91Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM92] =
{
.name = _("TM92"),
.itemId = ITEM_TM92,
.price = 3000,
.description = sTM92Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM93] =
{
.name = _("TM93"),
.itemId = ITEM_TM93,
.price = 3000,
.description = sTM93Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM94] =
{
.name = _("TM94"),
.itemId = ITEM_TM94,
.price = 3000,
.description = sTM94Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM95] =
{
.name = _("TM95"),
.itemId = ITEM_TM95,
.price = 3000,
.description = sTM95Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM96] =
{
.name = _("TM96"),
.itemId = ITEM_TM96,
.price = 3000,
.description = sTM96Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM97] =
{
.name = _("TM97"),
.itemId = ITEM_TM97,
.price = 3000,
.description = sTM97Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM98] =
{
.name = _("TM98"),
.itemId = ITEM_TM98,
.price = 3000,
.description = sTM98Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM99] =
{
.name = _("TM99"),
.itemId = ITEM_TM99,
.price = 3000,
.description = sTM99Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM100] =
{
.name = _("TM100"),
.itemId = ITEM_TM100,
.price = 3000,
.description = sTM100Desc,
.pocket = POCKET_TM_HM,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM01_CUT] =
{
.name = _("HM01"),

View File

@ -1244,6 +1244,56 @@ static const u16 sTMHMMoves[] =
[ITEM_TM48 - ITEM_TM01] = MOVE_SKILL_SWAP,
[ITEM_TM49 - ITEM_TM01] = MOVE_SNATCH,
[ITEM_TM50 - ITEM_TM01] = MOVE_OVERHEAT,
[ITEM_TM51 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM52 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM53 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM54 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM55 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM56 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM57 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM58 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM59 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM60 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM61 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM62 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM63 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM64 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM65 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM66 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM67 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM68 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM69 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM70 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM71 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM72 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM73 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM74 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM75 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM76 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM77 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM78 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM79 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM80 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM81 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM82 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM83 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM84 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM85 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM86 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM87 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM88 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM89 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM90 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM91 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM92 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM93 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM94 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM95 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM96 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM97 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM98 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM99 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_TM100 - ITEM_TM01] = MOVE_NONE, // Todo
[ITEM_HM01 - ITEM_TM01] = MOVE_CUT,
[ITEM_HM02 - ITEM_TM01] = MOVE_FLY,
[ITEM_HM03 - ITEM_TM01] = MOVE_SURF,

View File

@ -1,5 +1,5 @@
#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)}
#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH))
#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH - ((ITEM_##tmhm > ITEM_TM100) ? 50 : 0)))
// This table determines which TMs and HMs a species is capable of learning.
// Each entry is a 64-bit bit array spread across two 32-bit values, with

View File

@ -2992,6 +2992,155 @@ static const u8 sTM50Desc[] = _(
"attack, but sharply\n"
"lowers Sp. Atk.");
static const u8 sTM51Desc[] = _( // Todo
"?????");
static const u8 sTM52Desc[] = _( // Todo
"?????");
static const u8 sTM53Desc[] = _( // Todo
"?????");
static const u8 sTM54Desc[] = _( // Todo
"?????");
static const u8 sTM55Desc[] = _( // Todo
"?????");
static const u8 sTM56Desc[] = _( // Todo
"?????");
static const u8 sTM57Desc[] = _( // Todo
"?????");
static const u8 sTM58Desc[] = _( // Todo
"?????");
static const u8 sTM59Desc[] = _( // Todo
"?????");
static const u8 sTM60Desc[] = _( // Todo
"?????");
static const u8 sTM61Desc[] = _( // Todo
"?????");
static const u8 sTM62Desc[] = _( // Todo
"?????");
static const u8 sTM63Desc[] = _( // Todo
"?????");
static const u8 sTM64Desc[] = _( // Todo
"?????");
static const u8 sTM65Desc[] = _( // Todo
"?????");
static const u8 sTM66Desc[] = _( // Todo
"?????");
static const u8 sTM67Desc[] = _( // Todo
"?????");
static const u8 sTM68Desc[] = _( // Todo
"?????");
static const u8 sTM69Desc[] = _( // Todo
"?????");
static const u8 sTM70Desc[] = _( // Todo
"?????");
static const u8 sTM71Desc[] = _( // Todo
"?????");
static const u8 sTM72Desc[] = _( // Todo
"?????");
static const u8 sTM73Desc[] = _( // Todo
"?????");
static const u8 sTM74Desc[] = _( // Todo
"?????");
static const u8 sTM75Desc[] = _( // Todo
"?????");
static const u8 sTM76Desc[] = _( // Todo
"?????");
static const u8 sTM77Desc[] = _( // Todo
"?????");
static const u8 sTM78Desc[] = _( // Todo
"?????");
static const u8 sTM79Desc[] = _( // Todo
"?????");
static const u8 sTM80Desc[] = _( // Todo
"?????");
static const u8 sTM81Desc[] = _( // Todo
"?????");
static const u8 sTM82Desc[] = _( // Todo
"?????");
static const u8 sTM83Desc[] = _( // Todo
"?????");
static const u8 sTM84Desc[] = _( // Todo
"?????");
static const u8 sTM85Desc[] = _( // Todo
"?????");
static const u8 sTM86Desc[] = _( // Todo
"?????");
static const u8 sTM87Desc[] = _( // Todo
"?????");
static const u8 sTM88Desc[] = _( // Todo
"?????");
static const u8 sTM89Desc[] = _( // Todo
"?????");
static const u8 sTM90Desc[] = _( // Todo
"?????");
static const u8 sTM91Desc[] = _( // Todo
"?????");
static const u8 sTM92Desc[] = _( // Todo
"?????");
static const u8 sTM93Desc[] = _( // Todo
"?????");
static const u8 sTM94Desc[] = _( // Todo
"?????");
static const u8 sTM95Desc[] = _( // Todo
"?????");
static const u8 sTM96Desc[] = _( // Todo
"?????");
static const u8 sTM97Desc[] = _( // Todo
"?????");
static const u8 sTM98Desc[] = _( // Todo
"?????");
static const u8 sTM99Desc[] = _( // Todo
"?????");
static const u8 sTM100Desc[] = _( // Todo
"?????");
static const u8 sHM01Desc[] = _(
"Attacks the foe\n"

View File

@ -1963,7 +1963,9 @@ static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
if (item >= ITEM_TM01)
{
if (!CanMonLearnTMHM(mon, item - ITEM_TM01))
if (item > ITEM_TM50 && item < ITEM_HM01)
return CANNOT_LEARN_MOVE;
else if (!CanMonLearnTMHM(mon, item - ITEM_TM01 - ((item > ITEM_TM100) ? 50 : 0)))
return CANNOT_LEARN_MOVE;
else
move = ItemIdToBattleMoveId(item);