summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-10-14 19:25:10 -0400
committerGitHub <noreply@github.com>2019-10-14 19:25:10 -0400
commit928cdf2531e74df2432ec8d602c4c2d2fee14eb1 (patch)
tree9a520de5b4790f14175a28eb70665a4f60ade486 /src
parent30ef49416391d036286661a8e1225b4ba03e3109 (diff)
parent26962b7725ffc5df719a0eea9442735b9dc04b5c (diff)
Merge branch 'master' into doc-inc2
Diffstat (limited to 'src')
-rw-r--r--src/battle_pike.c15
-rw-r--r--src/battle_pyramid.c32
-rw-r--r--src/battle_setup.c10
-rwxr-xr-xsrc/data/wild_encounters.json7
-rwxr-xr-xsrc/data/wild_encounters.json.txt14
-rw-r--r--src/field_control_avatar.c4
-rw-r--r--src/field_poison.c15
-rw-r--r--src/field_screen_effect.c8
-rwxr-xr-xsrc/party_menu.c2
-rw-r--r--src/pokemon.c2
-rw-r--r--src/post_battle_event_funcs.c2
-rw-r--r--src/trainer_hill.c12
-rw-r--r--src/wild_encounter.c21
13 files changed, 60 insertions, 84 deletions
diff --git a/src/battle_pike.c b/src/battle_pike.c
index bfb87f679..a81d88145 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -22,20 +22,7 @@
#include "constants/trainers.h"
#include "constants/species.h"
#include "constants/moves.h"
-
-#define PIKE_ROOM_SINGLE_BATTLE 0
-#define PIKE_ROOM_HEAL_FULL 1
-#define PIKE_ROOM_NPC 2
-#define PIKE_ROOM_STATUS 3
-#define PIKE_ROOM_HEAL_PART 4
-#define PIKE_ROOM_WILD_MONS 5
-#define PIKE_ROOM_HARD_BATTLE 6
-#define PIKE_ROOM_DOUBLE_BATTLE 7
-#define PIKE_ROOM_BRAIN 8
-
-// For the room with a status effect.
-#define PIKE_STATUS_KIRLIA 0
-#define PIKE_STATUS_DUSCLOPS 1
+#include "constants/battle_pike.h"
struct PikeRoomNPC
{
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index 6bcf00748..6dcd4063b 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -27,6 +27,7 @@
#include "overworld.h"
#include "event_scripts.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_pyramid.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "constants/items.h"
@@ -39,38 +40,7 @@
extern const struct MapLayout *const gMapLayouts[];
extern const u16 gUnknown_08D856C8[][16];
-#define TOTAL_ROUNDS 20
-#define PICKUP_ITEMS_PER_ROUND 10
-#define FLOOR_WALKABLE_METATILE 0x28D
-#define FLOOR_EXIT_METATILE 0x28E
-enum
-{
- HINT_EXIT_DIRECTION,
- HINT_REMAINING_ITEMS,
- HINT_REMAINING_TRAINERS,
- HINT_EXIT_SHORT_REMAINING_TRAINERS,
- HINT_EXIT_SHORT_REMAINING_ITEMS,
- HINT_EXIT_MEDIUM_REMAINING_TRAINERS,
- HINT_EXIT_MEDIUM_REMAINING_ITEMS,
- HINT_EXIT_FAR_REMAINING_TRAINERS,
- HINT_EXIT_FAR_REMAINING_ITEMS,
-};
-
-enum
-{
- OBJ_TRAINERS,
- OBJ_ITEMS,
-};
-
-enum
-{
- OBJ_POSITIONS_UNIFORM,
- OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE,
- OBJ_POSITIONS_IN_AND_NEAR_EXIT,
- OBJ_POSITIONS_NEAR_ENTRANCE,
- OBJ_POSITIONS_NEAR_EXIT,
-};
struct PyramidWildMon
{
diff --git a/src/battle_setup.c b/src/battle_setup.c
index c2d7cb6c6..3c9de6b79 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1273,7 +1273,7 @@ void BattleSetup_StartTrainerBattle(void)
MarkApproachingPyramidTrainersAsBattled();
}
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
{
gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL;
@@ -1291,7 +1291,7 @@ void BattleSetup_StartTrainerBattle(void)
gUnknown_03006080 = 0;
gMain.savedCallback = CB2_EndTrainerBattle;
- if (InBattlePyramid() || sub_81D5C18())
+ if (InBattlePyramid() || InTrainerHillChallenge())
sub_80B0828();
else
DoTrainerBattle();
@@ -1307,7 +1307,7 @@ static void CB2_EndTrainerBattle(void)
}
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
{
- if (InBattlePyramid() || sub_81D5C18())
+ if (InBattlePyramid() || InTrainerHillChallenge())
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
else
SetMainCallback2(CB2_WhiteOut);
@@ -1315,7 +1315,7 @@ static void CB2_EndTrainerBattle(void)
else
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
- if (!InBattlePyramid() && !sub_81D5C18())
+ if (!InBattlePyramid() && !InTrainerHillChallenge())
{
RegisterTrainerInMatchCall();
SetBattledTrainersFlags();
@@ -1361,7 +1361,7 @@ void ShowTrainerIntroSpeech(void)
sub_80982B8();
}
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
{
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gSpecialVar_LastTalked));
diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json
index ea555bd32..19aa40b00 100755
--- a/src/data/wild_encounters.json
+++ b/src/data/wild_encounters.json
@@ -26,7 +26,12 @@
"type": "fishing_mons",
"encounter_rates": [
70, 30, 60, 20, 20, 40, 40, 15, 4, 1
- ]
+ ],
+ "groups": {
+ "old_rod": [0, 1],
+ "good_rod": [2, 3, 4],
+ "super_rod": [5, 6, 7, 8, 9]
+ }
}
],
"encounters": [
diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt
index 85755ddec..bf848249f 100755
--- a/src/data/wild_encounters.json.txt
+++ b/src/data/wild_encounters.json.txt
@@ -3,14 +3,26 @@
## for wild_encounter_group in wild_encounter_groups
{% if wild_encounter_group.for_maps %}
## for wild_encounter_field in wild_encounter_group.fields
+{% if not existsIn(wild_encounter_field, "groups") %}
## for encounter_rate in wild_encounter_field.encounter_rates
-{% if trackVar(encounter_rate, 100) %}
+{% if loop.index == 0 %}
#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} {{ encounter_rate }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ subtract(loop.index, 1) }} + {{ encounter_rate }}{% endif %} {{ setVarInt(wild_encounter_field.type, loop.index) }}
## endfor
#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ getVar(wild_encounter_field.type) }})
+{% else %}
+## for field_subgroup_key, field_subgroup_subarray in wild_encounter_field.groups
+## for field_subgroup_index in field_subgroup_subarray
+{% if loop.index == 0 %}
+#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar("previous_slot") }} + {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }}{% endif %}{{ setVarInt(concat(wild_encounter_field.type, field_subgroup_key), field_subgroup_index) }}{{ setVarInt("previous_slot", field_subgroup_index) }}
+## endfor
+#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar(concat(wild_encounter_field.type, field_subgroup_key)) }})
+## endfor
+{% endif %}
## endfor
{% endif %}
+
+
## for encounter in wild_encounter_group.encounters
{% if existsIn(encounter, "land_mons") %}
const struct WildPokemon {{ encounter.base_label }}_LandMons[] =
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index f3f9be530..bde49b663 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -547,7 +547,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
{
if (UpdatePoisonStepCounter() == TRUE)
{
- ScriptContext1_SetupScript(EventScript_Poison);
+ ScriptContext1_SetupScript(EventScript_FieldPoison);
return TRUE;
}
if (ShouldEggHatch())
@@ -733,7 +733,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
}
if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE)
{
- ScriptContext1_SetupScript(gUnknown_082A8350);
+ ScriptContext1_SetupScript(EventScript_FallDownHoleMtPyre);
return TRUE;
}
if (MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) == TRUE)
diff --git a/src/field_poison.c b/src/field_poison.c
index 532c7f027..d10a28a76 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -14,6 +14,7 @@
#include "strings.h"
#include "task.h"
#include "trainer_hill.h"
+#include "constants/field_poison.h"
#include "constants/species.h"
static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
@@ -62,7 +63,7 @@ static bool32 MonFaintedFromPoison(u8 partyIdx)
return FALSE;
}
-static void Task_WhiteOut(u8 taskId)
+static void Task_TryFieldPoisonWhiteOut(u8 taskId)
{
s16 *data = gTasks[taskId].data;
switch (data[0])
@@ -89,18 +90,18 @@ static void Task_WhiteOut(u8 taskId)
case 2:
if (AllMonsFainted())
{
- if (InBattlePyramid() | InBattlePike() || sub_81D5C18())
+ if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge())
{
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT;
}
else
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = FLDPSN_WHITEOUT;
}
}
else
{
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FLDPSN_NO_WHITEOUT;
}
EnableBothScriptContexts();
DestroyTask(taskId);
@@ -108,9 +109,9 @@ static void Task_WhiteOut(u8 taskId)
}
}
-void ExecuteWhiteOut(void)
+void TryFieldPoisonWhiteOut(void)
{
- CreateTask(Task_WhiteOut, 80);
+ CreateTask(Task_TryFieldPoisonWhiteOut, 80);
ScriptContext1_Stop();
}
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index ff82f8c42..e1563eeb9 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -48,7 +48,7 @@ static bool32 WaitForWeatherFadeIn(void);
static void task0A_mpl_807E31C(u8 taskId);
static void sub_80AFA0C(u8 taskId);
static void sub_80AFA88(u8 taskId);
-static void task50_0807F0C8(u8);
+static void Task_EnableScriptAfterMusicFade(u8 taskId);
// const
const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
@@ -1231,13 +1231,13 @@ void sub_80B058C(void)
gTasks[taskId].data[0] = 6;
}
-void sub_80B05B4(void)
+void Script_FadeOutMapMusic(void)
{
Overworld_FadeOutMapMusic();
- CreateTask(task50_0807F0C8, 80);
+ CreateTask(Task_EnableScriptAfterMusicFade, 80);
}
-static void task50_0807F0C8(u8 taskId)
+static void Task_EnableScriptAfterMusicFade(u8 taskId)
{
if (BGMusicStopped() == TRUE)
{
diff --git a/src/party_menu.c b/src/party_menu.c
index 7f250ca1f..46d5a16c1 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -6757,7 +6757,7 @@ void sub_81B8904(u8 initArg, MainCallback callback)
InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback);
}
-void sub_81B892C(void)
+void OpenPartyMenuForMoveTutor(void)
{
InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
diff --git a/src/pokemon.c b/src/pokemon.c
index 55f9a93f3..c555ca3d7 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -5704,7 +5704,7 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
{
if (InBattlePyramid())
return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId);
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId);
else
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
index 3cbf6ecd2..41ad37fbf 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/post_battle_event_funcs.c
@@ -86,7 +86,7 @@ int GameClear(void)
return 0;
}
-bool8 sp0C8_whiteout_maybe(void)
+bool8 SetCB2WhiteOut(void)
{
SetMainCallback2(CB2_WhiteOut);
return FALSE;
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 995dc164a..af6b0621d 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -63,7 +63,7 @@ static void TrainerHillGetChallengeStatus(void);
static void sub_81D5B2C(void);
static void sub_81D5BBC(void);
static void sub_81D5C00(void);
-static void sub_81D5C5C(void);
+static void GetInTrainerHill(void);
static void sub_81D62B4(void);
static void sub_81D64AC(void);
static void sub_81D64DC(void);
@@ -231,7 +231,7 @@ static void (* const sHillFunctions[])(void) =
sub_81D5B2C,
sub_81D5BBC,
sub_81D5C00,
- sub_81D5C5C,
+ GetInTrainerHill,
sub_81D62B4,
sub_81D64AC,
sub_81D64DC,
@@ -534,7 +534,7 @@ static void sub_81D5C00(void)
FreeDataStruct();
}
-bool8 sub_81D5C18(void)
+bool8 InTrainerHillChallenge(void)
{
if (VarGet(VAR_TRAINER_HILL_IS_ACTIVE) == 0)
return FALSE;
@@ -546,9 +546,9 @@ bool8 sub_81D5C18(void)
return FALSE;
}
-static void sub_81D5C5C(void)
+static void GetInTrainerHill(void)
{
- if (!sub_81D5C18())
+ if (!InTrainerHillChallenge())
gSpecialVar_Result = 0;
else
gSpecialVar_Result = 1;
@@ -997,7 +997,7 @@ static void sub_81D6518(void)
bool32 sub_81D6534(void)
{
- if (!sub_81D5C18() || GetCurrentTrainerHillMapId() == 6)
+ if (!InTrainerHillChallenge() || GetCurrentTrainerHillMapId() == 6)
return FALSE;
sub_81D5C00();
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 332bbfb99..530e5e323 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -197,34 +197,35 @@ enum
static u8 ChooseWildMonIndex_Fishing(u8 rod)
{
u8 wildMonIndex = 0;
- u8 rand = Random() % ENCOUNTER_CHANCE_FISHING_MONS_TOTAL;
+ u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL),
+ ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL);
switch (rod)
{
case OLD_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_0)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0)
wildMonIndex = 0;
else
wildMonIndex = 1;
break;
case GOOD_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2)
wildMonIndex = 2;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3)
wildMonIndex = 3;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_4)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4)
wildMonIndex = 4;
break;
case SUPER_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5)
wildMonIndex = 5;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6)
wildMonIndex = 6;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7)
wildMonIndex = 7;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
wildMonIndex = 8;
- if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8)
+ if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
wildMonIndex = 9;
break;
}