More moves

This commit is contained in:
2025-04-17 13:07:45 +02:00
parent 1b54c78b07
commit d02c05874b
31 changed files with 682 additions and 65 deletions

View File

@@ -7684,7 +7684,10 @@
"mirror",
"sound",
"ignore-substitute"
]
],
"effect": {
"name": "parting_shot"
}
},
{
"name": "pay_day",
@@ -7698,7 +7701,10 @@
"flags": [
"protect",
"mirror"
]
],
"effect": {
"name": "pay_day"
}
},
{
"name": "payback",
@@ -7713,7 +7719,10 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "payback"
}
},
{
"name": "peck",
@@ -7730,6 +7739,7 @@
"mirror",
"distance"
]
// No secondary effect
},
{
"name": "perish_song",
@@ -7744,7 +7754,10 @@
"sound",
"distance",
"ignore-substitute"
]
],
"effect": {
"name": "perish_song"
}
},
{
"name": "petal_blizzard",
@@ -7759,6 +7772,7 @@
"protect",
"mirror"
]
// No secondary effect
},
{
"name": "petal_dance",
@@ -7774,7 +7788,10 @@
"protect",
"mirror",
"dance"
]
],
"effect": {
"name": "petal_dance"
}
},
{
"name": "phantom_force",
@@ -7789,7 +7806,10 @@
"contact",
"charge",
"mirror"
]
],
"effect": {
"name": "phantom_force"
}
},
{
"name": "pin_missile",
@@ -7803,7 +7823,10 @@
"flags": [
"protect",
"mirror"
]
],
"effect": {
"name": "2_5_hit_move"
}
},
{
"name": "play_nice",
@@ -7818,7 +7841,13 @@
"reflectable",
"mirror",
"ignore-substitute"
]
],
"effect": {
"name": "change_target_attack",
"parameters": {
"amount": -1
}
}
},
{
"name": "play_rough",
@@ -7833,7 +7862,14 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "change_target_attack",
"chance": 10,
"parameters": {
"amount": -1
}
}
},
{
"name": "pluck",
@@ -7849,7 +7885,10 @@
"protect",
"mirror",
"distance"
]
],
"effect": {
"name": "bug_bite"
}
},
{
"name": "poison_fang",
@@ -7865,7 +7904,13 @@
"protect",
"mirror",
"bite"
]
],
"effect": {
"name": "set_status",
"parameters": {
"status": "badly_poisoned"
}
}
},
{
"name": "poison_gas",
@@ -7880,7 +7925,13 @@
"protect",
"reflectable",
"mirror"
]
],
"effect": {
"name": "set_status",
"parameters": {
"status": "poisoned"
}
}
},
{
"name": "poison_jab",
@@ -7895,7 +7946,14 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "set_status",
"chance": 30,
"parameters": {
"status": "poisoned"
}
}
},
{
"name": "poison_powder",
@@ -7911,7 +7969,13 @@
"reflectable",
"mirror",
"powder"
]
],
"effect": {
"name": "set_status",
"parameters": {
"status": "poisoned"
}
}
},
{
"name": "poison_sting",
@@ -7925,7 +7989,14 @@
"flags": [
"protect",
"mirror"
]
],
"effect": {
"name": "set_status",
"chance": 30,
"parameters": {
"status": "poisoned"
}
}
},
{
"name": "poison_tail",
@@ -7940,7 +8011,10 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "poison_tail"
}
},
{
"name": "pollen_puff",
@@ -7954,7 +8028,10 @@
"flags": [
"protect",
"mirror"
]
],
"effect": {
"name": "pollen_puff"
}
},
{
"name": "pound",
@@ -7970,6 +8047,7 @@
"protect",
"mirror"
]
// No secondary effect
},
{
"name": "powder",
@@ -7986,7 +8064,10 @@
"mirror",
"ignore-substitute",
"powder"
]
],
"effect": {
"name": "powder"
}
},
{
"name": "powder_snow",
@@ -8000,7 +8081,14 @@
"flags": [
"protect",
"mirror"
]
],
"effect": {
"name": "set_status",
"chance": 10,
"parameters": {
"status": "frozen"
}
}
},
{
"name": "power_gem",
@@ -8015,6 +8103,7 @@
"protect",
"mirror"
]
// No secondary effect
},
{
"name": "power_split",
@@ -8027,7 +8116,10 @@
"category": "status",
"flags": [
"protect"
]
],
"effect": {
"name": "power_split"
}
},
{
"name": "power_swap",
@@ -8042,7 +8134,10 @@
"protect",
"mirror",
"ignore-substitute"
]
],
"effect": {
"name": "power_swap"
}
},
{
"name": "power_trick",
@@ -8055,7 +8150,10 @@
"category": "status",
"flags": [
"snatch"
]
],
"effect": {
"name": "power_trick"
}
},
{
"name": "power_trip",
@@ -8070,7 +8168,10 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "power_trip"
}
},
{
"name": "power_up_punch",
@@ -8086,7 +8187,13 @@
"protect",
"mirror",
"punch"
]
],
"effect": {
"name": "change_user_attack",
"parameters": {
"amount": 1
}
}
},
{
"name": "power_whip",
@@ -8102,6 +8209,7 @@
"protect",
"mirror"
]
// No secondary effect
},
{
"name": "precipice_blades",
@@ -8117,6 +8225,7 @@
"mirror",
"nonskybattle"
]
// No secondary effect
},
{
"name": "present",
@@ -10909,7 +11018,10 @@
"contact",
"protect",
"mirror"
]
],
"effect": {
"name": "thrash"
}
},
{
"name": "throat_chop",

View File

@@ -8,7 +8,7 @@ public class MoveDataLoaderTests
[Test]
public async Task TestPrimaryMoveFile()
{
using var stream = File.OpenRead("Data/Moves.json");
await using var stream = File.OpenRead("Data/Moves.jsonc");
var typeLibrary = new TypeLibrary();
typeLibrary.RegisterType("Normal");
typeLibrary.RegisterType("Fire");

View File

@@ -13,7 +13,7 @@ public static class LibraryHelpers
var types = TypeDataLoader.LoadTypeLibrary(typesFile);
using var naturesFile = File.Open("Data/Natures.csv", FileMode.Open, FileAccess.Read, FileShare.Read);
var natures = NatureDataLoader.LoadNatureLibrary(naturesFile);
using var movesFile = File.Open("Data/Moves.json", FileMode.Open, FileAccess.Read, FileShare.Read);
using var movesFile = File.Open("Data/Moves.jsonc", FileMode.Open, FileAccess.Read, FileShare.Read);
var moves = MoveDataLoader.LoadMoves(movesFile, types);
using var itemsFile = File.Open("Data/Items.json", FileMode.Open, FileAccess.Read, FileShare.Read);
var items = ItemDataLoader.LoadItems(itemsFile);
@@ -24,14 +24,14 @@ public static class LibraryHelpers
using var speciesFile = File.Open("Data/Pokemon.json", FileMode.Open, FileAccess.Read, FileShare.Read);
var species = SpeciesDataLoader.LoadSpecies(speciesFile, types);
var staticLibrary = new StaticLibraryImpl(new LibrarySettings()
var staticLibrary = new StaticLibraryImpl(new LibrarySettings
{
MaxLevel = 100,
ShinyRate = 4096,
}, species, moves, abilities, types, natures, growthRates, items);
var dynamicLibrary = DynamicLibraryImpl.Create(staticLibrary, [
new Gen7Plugin(new Gen7PluginConfiguration()
new Gen7Plugin(new Gen7PluginConfiguration
{
DamageCalculatorHasRandomness = false,
}),