Merge pull request #121 from AnonymousRandomPerson/master

Dumped ability and move range strings
This commit is contained in:
Cheng Hann Gan
2023-02-05 22:27:59 -05:00
committed by GitHub
6 changed files with 1651 additions and 501 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,6 +5,7 @@ MOVE_DATA = $(MOVE_DIR)/move_data.inc
# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_move_data_text
MOVE_DATA_INC = \
include/constants/move_range.h \
include/constants/type.h
data_move: $(MOVE_DATA);

View File

@@ -36,9 +36,9 @@ enum AccuracyType
struct MoveDataEntry
{
u8 *name;
/* 0x0 */ u8 *name;
/* 0x4 */ s16 basePower;
u8 type;
/* 0x6 */ u8 type;
// Determines the range of moves.
/* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI
// The AI consider certain moves to have different range than they actually do.
@@ -47,16 +47,16 @@ struct MoveDataEntry
// There are multiple accuracy values. These are define with the AccuracyType enum.
/* 0xE */ u8 accuracy[NUM_ACCURACY_TYPES];
/* 0x11 */ u8 numberOfChainedHits; // Maximum number of times the move will hit. Used for multi-hit moves like Fury Attack.
u8 maxUpgradeLevel;
/* 0x12 */ u8 maxUpgradeLevel;
/* 0x13 */ u8 critChance;
/* 0x14 */ bool8 affectedByMagicCoat; // If true, this move is reflected by Magic Coat.
/* 0x15 */ bool8 isSnatchable;
/* 0x16 */ bool8 usesMouth; // If true, this move can't be used with the Muzzled status.
/* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target.
/* 0x18 */ bool8 ignoresTaunted;
u8 rangeID;
u8 *description;
u8 *useText; // The text displayed when this move is used.
/* 0x19 */ u8 rangeID;
/* 0x1C */ u8 *description;
/* 0x20 */ u8 *useText; // The text displayed when this move is used.
};
struct Move

View File

@@ -0,0 +1,36 @@
#ifndef GUARD_CONSTANTS_MOVE_RANGE_H
#define GUARD_CONSTANTS_MOVE_RANGE_H
#define MOVE_RANGE_NONE 0
#define MOVE_RANGE_THREE_TILES_DIAGONALLY 1
#define MOVE_RANGE_ONE_TILE_FOE 2
#define MOVE_RANGE_CUTS_CORNERS_FOE 3
#define MOVE_RANGE_FLOOR_MEMBERS 4
#define MOVE_RANGE_FLOOR_MEMBERS_2 5
#define MOVE_RANGE_FLOOR_POKEMON 6
#define MOVE_RANGE_FLOOR_FOES 7
#define MOVE_RANGE_FLOOR_MEMBERS_3 8
#define MOVE_RANGE_SIDE_FOE 9
#define MOVE_RANGE_SPECIAL 10
#define MOVE_RANGE_FRONT_FOE 11
#define MOVE_RANGE_SIDE 12
#define MOVE_RANGE_TWO_TILES_FOE 13
#define MOVE_RANGE_STRAIGHT_LINE 14
#define MOVE_RANGE_ROOM_FOES 15
#define MOVE_RANGE_ROOM_ALLIES 16
#define MOVE_RANGE_ROOM 17
#define MOVE_RANGE_ROOM_EXCEPT_USER 18
#define MOVE_RANGE_USER 19
#define MOVE_RANGE_USER_2 20
#define MOVE_RANGE_USER_3 21
#define MOVE_RANGE_ROOM_ONLY 22
#define MOVE_RANGE_ITEMS 23
#define MOVE_RANGE_FLOOR 24
#define MOVE_RANGE_WALL 25
#define MOVE_RANGE_ONE_TILE 26
#define MOVE_RANGE_TWO_TILES 27
#define MOVE_RANGE_CUTS_CORNERS 28
#define MOVE_RANGE_FLOOR_2 29
#define MOVE_RANGE_FRONT 30
#endif

View File

@@ -687,6 +687,7 @@ string generate_move_data_text(Json data) {
ostringstream text;
text << "@ This is auto-generated by move_data.json.\n";
text << "#include \"constants/move_range.h\"\n";
text << "#include \"constants/type.h\"\n";
text << ".global gMoveData\n";
text << "gMoveData:";
@@ -711,7 +712,7 @@ string generate_move_data_text(Json data) {
<< read_json_bool(data_entry["usesMouth"])
<< read_json_bool(data_entry["cannotHitFrozen"])
<< read_json_bool(data_entry["ignoresTaunted"])
<< read_json_int(data_entry["rangeID"], 1)
<< read_json_string(data_entry["rangeID"], 1)
<< "\n.2byte 0"
<< read_json_string(data_entry["description"], 4)
<< read_json_string(data_entry["useText"], 4);