@pkmn/engine 0.1.0-dev.b9fb6eab → 0.1.0-dev.be951af1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -59
- package/build/pkg/addon.d.ts +7 -0
- package/build/pkg/addon.js +112 -0
- package/build/pkg/addon.js.map +1 -0
- package/build/pkg/data/ids.json +12 -12
- package/build/pkg/data/layout.json +27 -5
- package/build/pkg/data/protocol.json +69 -12
- package/build/pkg/data.d.ts +3 -4
- package/build/pkg/data.js +3 -5
- package/build/pkg/data.js.map +1 -1
- package/build/pkg/gen1.d.ts +5 -4
- package/build/pkg/gen1.js +49 -33
- package/build/pkg/gen1.js.map +1 -1
- package/build/pkg/index.d.ts +15 -12
- package/build/pkg/index.js.map +1 -1
- package/build/pkg/protocol.d.ts +4 -2
- package/build/pkg/protocol.js +60 -39
- package/build/pkg/protocol.js.map +1 -1
- package/build/test/display.js +400 -0
- package/build/test/display.js.map +1 -0
- package/build/tools/debug.js +133 -0
- package/build/tools/debug.js.map +1 -0
- package/build.zig +98 -79
- package/package.json +72 -40
- package/src/bin/install-pkmn-engine +11 -6
- package/src/bin/pkmn-debug +62 -0
- package/src/lib/binding/node.zig +47 -142
- package/src/lib/binding/wasm.zig +6 -4
- package/src/lib/common/battle.zig +17 -0
- package/src/lib/common/data.zig +15 -27
- package/src/lib/common/debug.zig +21 -11
- package/src/lib/common/js.zig +118 -0
- package/src/lib/common/optional.zig +67 -0
- package/src/lib/common/options.zig +12 -3
- package/src/lib/common/protocol.zig +788 -246
- package/src/lib/common/rational.zig +353 -0
- package/src/lib/common/rng.zig +15 -15
- package/src/lib/common/util.zig +12 -0
- package/src/lib/gen1/README.md +295 -181
- package/src/lib/gen1/calc.zig +426 -0
- package/src/lib/gen1/chance.zig +1060 -0
- package/src/lib/gen1/data/moves.zig +192 -180
- package/src/lib/gen1/data/species.zig +2 -2
- package/src/lib/gen1/data/types.zig +5 -5
- package/src/lib/gen1/data.zig +84 -70
- package/src/lib/gen1/helpers.zig +577 -32
- package/src/lib/gen1/mechanics.zig +1043 -714
- package/src/lib/gen2/README.md +106 -85
- package/src/lib/gen2/calc.zig +143 -0
- package/src/lib/gen2/chance.zig +1314 -0
- package/src/lib/gen2/data/items.zig +12 -18
- package/src/lib/gen2/data/moves.zig +660 -566
- package/src/lib/gen2/data/species.zig +1 -1
- package/src/lib/gen2/data/types.zig +131 -28
- package/src/lib/gen2/data.zig +138 -88
- package/src/lib/gen2/generated.zig +1239 -0
- package/src/lib/gen2/helpers.zig +16 -22
- package/src/lib/gen2/mechanics.zig +2916 -12
- package/src/lib/pkmn.zig +68 -9
- package/src/test/display/pkmn.html.tmpl +368 -0
|
@@ -11,15 +11,15 @@ const Type = data.Type;
|
|
|
11
11
|
/// Representation of a held item in Generation II Pokémon.
|
|
12
12
|
pub const Item = enum(u8) {
|
|
13
13
|
None,
|
|
14
|
+
SoftSand, // Ground
|
|
15
|
+
HardStone, // Rock
|
|
16
|
+
MetalCoat, // Steel
|
|
14
17
|
PinkBow, // Normal
|
|
15
18
|
BlackBelt, // Fighting
|
|
16
19
|
SharpBeak, // Flying
|
|
17
20
|
PoisonBarb, // Poison
|
|
18
|
-
SoftSand, // Ground
|
|
19
|
-
HardStone, // Rock
|
|
20
21
|
SilverPowder, // Bug
|
|
21
22
|
SpellTag, // Ghost
|
|
22
|
-
MetalCoat, // Steel
|
|
23
23
|
PolkadotBow, // ??? (Normal)
|
|
24
24
|
Charcoal, // Fire
|
|
25
25
|
MysticWater, // Water
|
|
@@ -36,21 +36,21 @@ pub const Item = enum(u8) {
|
|
|
36
36
|
Stick,
|
|
37
37
|
ThickClub,
|
|
38
38
|
FocusBand, // FocusBand
|
|
39
|
-
BerryJuice, // Berry
|
|
40
39
|
ScopeLens, // CriticalUp
|
|
41
40
|
Leftovers, // Leftovers
|
|
42
41
|
BerserkGene,
|
|
43
42
|
LightBall,
|
|
43
|
+
Berry, // Berry
|
|
44
|
+
BerryJuice, // Berry
|
|
45
|
+
GoldBerry, // Berry
|
|
46
|
+
MintBerry, // HealSleep
|
|
44
47
|
PSNCureBerry, // HealPoison
|
|
45
48
|
PRZCureBerry, // HealParalyze
|
|
46
|
-
BurntBerry, // HealFreeze
|
|
47
49
|
IceBerry, // HealBurn
|
|
48
|
-
|
|
49
|
-
MintBerry, // HealSleep
|
|
50
|
+
BurntBerry, // HealFreeze
|
|
50
51
|
MiracleBerry, // HealStatus
|
|
52
|
+
BitterBerry, // HealConfusion
|
|
51
53
|
MysteryBerry, // RestorePP
|
|
52
|
-
Berry, // Berry
|
|
53
|
-
GoldBerry, // Berry
|
|
54
54
|
MasterBall,
|
|
55
55
|
UltraBall,
|
|
56
56
|
GreatBall,
|
|
@@ -219,18 +219,12 @@ pub const Item = enum(u8) {
|
|
|
219
219
|
pub inline fn boost(item: Item) ?Type {
|
|
220
220
|
assert(item != .None);
|
|
221
221
|
if (item == .PolkadotBow) return .Normal;
|
|
222
|
-
return if (@
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/// Whether or not this item is a Berry.
|
|
226
|
-
pub inline fn berry(item: Item) bool {
|
|
227
|
-
assert(item != .None);
|
|
228
|
-
return @enumToInt(item) > 30 and @enumToInt(item) <= 40;
|
|
222
|
+
return if (@intFromEnum(item) <= 18) @enumFromInt(@intFromEnum(item) - 1) else null;
|
|
229
223
|
}
|
|
230
224
|
|
|
231
225
|
/// Whether or not this item is Mail.
|
|
232
|
-
pub inline fn
|
|
226
|
+
pub inline fn isMail(item: Item) bool {
|
|
233
227
|
assert(item != .None);
|
|
234
|
-
return @
|
|
228
|
+
return @intFromEnum(item) > 60 and @intFromEnum(item) <= 70;
|
|
235
229
|
}
|
|
236
230
|
};
|