Merge branch 'RHH/master' into RHH/upcoming

This commit is contained in:
Eduardo Quezada 2023-06-17 17:49:15 -04:00
commit 1c829c0dcd
9 changed files with 215 additions and 1 deletions

View File

@ -0,0 +1,49 @@
name: ⚔️ Battle Engine mechanical bugs 🐛
description: File a bug report related to battle mechanic, be it moves, abilities and/or items.
labels: ["bug", "status: unconfirmed", "category: battle-mechanic"]
body:
- type: markdown
attributes:
value: |
Please fill in all required fields with as many details as possible.
- type: textarea
id: description
attributes:
label: Description
description: |
Describe the issue you are experiencing.
Attach images/videos if possible.
placeholder: |
Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.5.0 (Default)
- upcoming (Edge)
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- pre-1.4.0
validations:
required: true
- type: input
id: upcomingversion
attributes:
label: Upcoming Version
description: If you're using the upcoming branch, please specify what was the commit hash you pulled from.
validations:
required: false
- type: input
id: contact
attributes:
label: Discord contact info
description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)).
placeholder: ex. Lunos#4026
validations:
required: false

View File

@ -0,0 +1,49 @@
name: 🧠 Battle AI bugs 🐛
description: File a bug report related to battle AI.
labels: ["bug", "status: unconfirmed", "category: battle-ai"]
body:
- type: markdown
attributes:
value: |
Please fill in all required fields with as many details as possible.
- type: textarea
id: description
attributes:
label: Description
description: |
Describe the issue you are experiencing.
Attach images/videos if possible.
placeholder: |
Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.5.0 (Default)
- upcoming (Edge)
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- pre-1.4.0
validations:
required: true
- type: input
id: upcomingversion
attributes:
label: Upcoming Version
description: If you're using the upcoming branch, please specify what was the commit hash you pulled from.
validations:
required: false
- type: input
id: contact
attributes:
label: Discord contact info
description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)).
placeholder: ex. Lunos#4026
validations:
required: false

View File

@ -0,0 +1,27 @@
name: 🙏 Feature Request 🙏
description: Do you want a feature to be added to the Expansion? Let us know!
labels: ["feature-request"]
body:
- type: markdown
attributes:
value: |
Please fill in all required fields with as many details as possible.
- type: textarea
id: description
attributes:
label: Description
description: |
Describe the issue you are experiencing.
Attach images/videos if possible.
placeholder: |
Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video
validations:
required: true
- type: input
id: contact
attributes:
label: Discord contact info
description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)).
placeholder: ex. Lunos#4026
validations:
required: false

View File

@ -0,0 +1,49 @@
name: 💾 Other errors 🖥️
description: Everything else that doesn't fit in the above categories.
labels: ["bug", "status: unconfirmed"]
body:
- type: markdown
attributes:
value: |
Please fill in all required fields with as many details as possible.
- type: textarea
id: description
attributes:
label: Description
description: |
Describe the issue you are experiencing.
Attach images/videos if possible.
placeholder: |
Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.5.0 (Default)
- upcoming (Edge)
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- pre-1.4.0
validations:
required: true
- type: input
id: upcomingversion
attributes:
label: Upcoming Version
description: If you're using the upcoming branch, please specify what was the commit hash you pulled from.
validations:
required: false
- type: input
id: contact
attributes:
label: Discord contact info
description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)).
placeholder: ex. Lunos#4026
validations:
required: false

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Rom-Hacking Hideout's Discord server!
url: https://discord.gg/6CzjAG6GZk
about: You can follow the development of pokeemerald-expansion and be notified of new releases :)

View File

@ -17,6 +17,8 @@ void TestRunner_Battle_AfterLastTurn(void);
void TestRunner_Battle_CheckBattleRecordActionType(u32 battlerId, u32 recordIndex, u32 actionType); void TestRunner_Battle_CheckBattleRecordActionType(u32 battlerId, u32 recordIndex, u32 actionType);
u32 TestRunner_Battle_GetForcedAbility(u32 side, u32 partyIndex);
#else #else
#define TestRunner_Battle_RecordAbilityPopUp(...) (void)0 #define TestRunner_Battle_RecordAbilityPopUp(...) (void)0
@ -28,6 +30,8 @@ void TestRunner_Battle_CheckBattleRecordActionType(u32 battlerId, u32 recordInde
#define TestRunner_Battle_CheckBattleRecordActionType(...) (void)0 #define TestRunner_Battle_CheckBattleRecordActionType(...) (void)0
#define TestRunner_Battle_GetForcedAbility(...) (u32)0
#endif #endif
#endif #endif

View File

@ -3302,6 +3302,15 @@ void SwitchInClearSetData(void)
// Clear selected party ID so Revival Blessing doesn't get confused. // Clear selected party ID so Revival Blessing doesn't get confused.
gSelectedMonPartyId = PARTY_SIZE; gSelectedMonPartyId = PARTY_SIZE;
// Allow for illegal abilities within tests.
if (gTestRunnerEnabled)
{
u32 side = GetBattlerSide(gActiveBattler);
u32 partyIndex = gBattlerPartyIndexes[gActiveBattler];
if (TestRunner_Battle_GetForcedAbility(side, partyIndex))
gBattleMons[i].ability = gBattleStruct->overwrittenAbilities[i] = TestRunner_Battle_GetForcedAbility(side, partyIndex);
}
Ai_UpdateSwitchInData(gActiveBattler); Ai_UpdateSwitchInData(gActiveBattler);
} }
@ -3794,6 +3803,18 @@ static void TryDoEventsBeforeFirstTurn(void)
} }
} }
// Allow for illegal abilities within tests.
if (gTestRunnerEnabled && gBattleStruct->switchInAbilitiesCounter == 0)
{
for (i = 0; i < gBattlersCount; ++i)
{
u32 side = GetBattlerSide(i);
u32 partyIndex = gBattlerPartyIndexes[i];
if (TestRunner_Battle_GetForcedAbility(side, partyIndex))
gBattleMons[i].ability = gBattleStruct->overwrittenAbilities[i] = TestRunner_Battle_GetForcedAbility(side, partyIndex);
}
}
if (gBattleStruct->switchInAbilitiesCounter == 0) if (gBattleStruct->switchInAbilitiesCounter == 0)
{ {
for (i = 0; i < gBattlersCount; i++) for (i = 0; i < gBattlersCount; i++)

View File

@ -574,6 +574,7 @@ struct BattleTestData
struct Pokemon *currentMon; struct Pokemon *currentMon;
u8 gender; u8 gender;
u8 nature; u8 nature;
u16 forcedAbilities[NUM_BATTLE_SIDES][PARTY_SIZE];
u8 currentMonIndexes[MAX_BATTLERS_COUNT]; u8 currentMonIndexes[MAX_BATTLERS_COUNT];
u8 turnState; u8 turnState;

View File

@ -1090,7 +1090,11 @@ void Ability_(u32 sourceLine, u32 ability)
break; break;
} }
} }
INVALID_IF(i == NUM_ABILITY_SLOTS, "%S cannot have %S", gSpeciesNames[species], gAbilityNames[ability]); // Store forced ability to be set when the battle starts if invalid.
if (i == NUM_ABILITY_SLOTS)
{
DATA.forcedAbilities[DATA.currentSide][DATA.currentPartyIndex] = ability;
}
} }
void Level_(u32 sourceLine, u32 level) void Level_(u32 sourceLine, u32 level)
@ -1774,3 +1778,8 @@ void ValidateFinally(u32 sourceLine)
return; return;
INVALID_IF(STATE->parametersCount == 0, "FINALLY without PARAMETRIZE"); INVALID_IF(STATE->parametersCount == 0, "FINALLY without PARAMETRIZE");
} }
u32 TestRunner_Battle_GetForcedAbility(u32 side, u32 partyIndex)
{
return DATA.forcedAbilities[side][partyIndex];
}