Puts Copyable Moves in its own namespace for clarity, began working on assist unit tests

This commit is contained in:
Deukhoofd 2021-08-29 11:51:04 +02:00
parent 94529b7b6b
commit 12765c5e69
Signed by: Deukhoofd
GPG Key ID: F63E044490819F6F
2 changed files with 71 additions and 57 deletions

View File

@ -15,7 +15,7 @@ namespace Gen7 {
for (uint j = 0; j < moves.length; j++){
auto m = moves[j];
if (m is null){ continue; }
if (CanCopyMove(m.MoveData)){
if (CopyableMoves::CanCopyMove(m.MoveData)){
possibleMoves.insertLast(m.MoveData);
}
}
@ -28,4 +28,16 @@ namespace Gen7 {
moveName = possibleMoves[i].Name;
}
}
}
}
#if TESTS
[Test name="Assist: Switch move to known move from party member"]
void Assist_ChangesMove(){
auto p1 = CreateSimpleParty({"charizard", "blastoise"}, 100);
auto p2 = CreateSimpleParty({"venusaur", "pikachu"}, 100);
auto battle = CreateSimpleBattle(684, p1, p2);
}
#endif

View File

@ -1,58 +1,60 @@
namespace Gen7 {
dictionary _nonCopyableMoves = {
{"assist", true},
{"baneful_bunker", true},
{"beak_blast", true},
{"belch", true},
{"bestow", true},
{"bounce", true},
{"celebrate", true},
{"chatter", true},
{"circle_throw", true},
{"copycat", true},
{"counter", true},
{"covet", true},
{"destiny_bond", true},
{"detect", true},
{"dig", true},
{"dive", true},
{"dragon_tail", true},
{"endure", true},
{"feint", true},
{"fly", true},
{"focus_punch", true},
{"follow_me", true},
{"helping_hand", true},
{"hold_hands", true},
{"kings_shield", true},
{"mat_block", true},
{"me_first", true},
{"metronome", true},
{"mimic", true},
{"mirror_coat", true},
{"mirror_move", true},
{"nature_power", true},
{"phantom_force", true},
{"protect", true},
{"rage_powder", true},
{"roar", true},
{"shadow_force", true},
{"shell_trap", true},
{"sketch", true},
{"sky_drop", true},
{"sleep_talk", true},
{"snatch", true},
{"spiky_shield", true},
{"spotlight", true},
{"struggle", true},
{"switcheroo", true},
{"thief", true},
{"transform", true},
{"trick", true},
{"whirlwind", true}
};
bool CanCopyMove(const MoveData@ move){
return !_nonCopyableMoves.exists(move.Name);
namespace CopyableMoves{
dictionary _nonCopyableMoves = {
{"assist", true},
{"baneful_bunker", true},
{"beak_blast", true},
{"belch", true},
{"bestow", true},
{"bounce", true},
{"celebrate", true},
{"chatter", true},
{"circle_throw", true},
{"copycat", true},
{"counter", true},
{"covet", true},
{"destiny_bond", true},
{"detect", true},
{"dig", true},
{"dive", true},
{"dragon_tail", true},
{"endure", true},
{"feint", true},
{"fly", true},
{"focus_punch", true},
{"follow_me", true},
{"helping_hand", true},
{"hold_hands", true},
{"kings_shield", true},
{"mat_block", true},
{"me_first", true},
{"metronome", true},
{"mimic", true},
{"mirror_coat", true},
{"mirror_move", true},
{"nature_power", true},
{"phantom_force", true},
{"protect", true},
{"rage_powder", true},
{"roar", true},
{"shadow_force", true},
{"shell_trap", true},
{"sketch", true},
{"sky_drop", true},
{"sleep_talk", true},
{"snatch", true},
{"spiky_shield", true},
{"spotlight", true},
{"struggle", true},
{"switcheroo", true},
{"thief", true},
{"transform", true},
{"trick", true},
{"whirlwind", true}
};
bool CanCopyMove(const MoveData@ move){
return !_nonCopyableMoves.exists(move.Name);
}
}
}