From 9b47d31867792c0ac1d250bd42a2f78419568e95 Mon Sep 17 00:00:00 2001 From: Ketroc <21rocket@gmail.com> Date: Mon, 22 Jul 2024 03:46:17 -0400 Subject: [PATCH] feat: new 5.0.13 ids and id fixes (#75) * -5.0.13 new ids * -5.0.13 new ids --------- Co-authored-by: ketroc --- .../bot/gateway/impl/ProtoInterfaceImpl.java | 1 - .../s2client/protocol/data/Abilities.java | 11 ++++++-- .../s2client/protocol/data/Upgrades.java | 27 ++++++------------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/ocraft-s2client-bot/src/main/java/com/github/ocraft/s2client/bot/gateway/impl/ProtoInterfaceImpl.java b/ocraft-s2client-bot/src/main/java/com/github/ocraft/s2client/bot/gateway/impl/ProtoInterfaceImpl.java index 996c4028..ba2a74ba 100644 --- a/ocraft-s2client-bot/src/main/java/com/github/ocraft/s2client/bot/gateway/impl/ProtoInterfaceImpl.java +++ b/ocraft-s2client-bot/src/main/java/com/github/ocraft/s2client/bot/gateway/impl/ProtoInterfaceImpl.java @@ -114,7 +114,6 @@ private boolean connect( this.baseBuild = ping.getBaseBuild(); Units.remapForBuild(this.baseBuild); Abilities.remapForBuild(this.baseBuild); - Upgrades.remapForBuild(this.baseBuild); }, () -> { throw new IllegalStateException("ping failed"); }); diff --git a/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Abilities.java b/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Abilities.java index acd6d7a4..ae33f79c 100644 --- a/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Abilities.java +++ b/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Abilities.java @@ -201,7 +201,8 @@ public enum Abilities implements Ability { EFFECT_MASS_RECALL(3686, UNIT), EFFECT_MASS_RECALL_MOTHERSHIP(2368, UNIT), EFFECT_MASS_RECALL_MOTHERSHIP_CORE(1974, UNIT), - EFFECT_MOTHERSHIP_CLOAK(4122, UNIT), + EFFECT_MOTHERSHIP_CLOAK(4122, NONE), + EFFECT_MOTHERSHIP_CLOAK_CANCEL(4123, NONE), EFFECT_MEDIVAC_IGNITE_AFTERBURNERS(2116, NONE), EFFECT_NEURAL_PARASITE(249, UNIT), EFFECT_NUKE_CALL_DOWN(1622, POINT), @@ -281,6 +282,8 @@ public enum Abilities implements Ability { LOAD_MEDIVAC(394, UNIT), MORPH_ARCHON(1766, NONE), MORPH_BROODLORD(1372, NONE), + MORPH_BANELING(4119, NONE), + MORPH_BANELING_CANCEL(4120, NONE), MORPH_GATEWAY(1520, NONE), MORPH_GREATER_SPIRE(1220, NONE), MORPH_HELLBAT(1998, NONE), @@ -571,7 +574,11 @@ public enum Abilities implements Ability { VIPER_PARASITIC_BOMB_RELAY_PARASITIC_BOMB(3789, NONE), PARASITIC_BOMB_RELAY_DODGE_PARASITIC_BOMB(3791, NONE), BATTERY_OVERCHARGE(4107, UNIT), - AMORPHOUS_ARMOR_CLOUD(4109, POINT); + AMORPHOUS_ARMOR_CLOUD(4109, POINT), + MORPH_OBSERVER_SIEGE(4116, NONE), + MORPH_OBSERVER_UNSIEGE(4115, NONE), + MORPH_OVERSEER_SIEGE(4117, NONE), + MORPH_OVERSEER_UNSIEGE(4118, NONE); public static final class Other implements Ability { diff --git a/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Upgrades.java b/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Upgrades.java index 98d74ed4..2e8bec29 100644 --- a/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Upgrades.java +++ b/ocraft-s2client-protocol/src/main/java/com/github/ocraft/s2client/protocol/data/Upgrades.java @@ -330,11 +330,15 @@ public enum Upgrades implements Upgrade { DIGGING_CLAWS(293), CARRIER_CARRIER_CAPACITY(294), CARRIER_LEASH_RANGE_UPGRADE(295), - TEMPEST_GROUND_ATTACK_UPGRADE(296), + HURRICANE_THRUSTERS(296), + TEMPEST_GROUND_ATTACK_UPGRADE(297), MICROBIAL_SHROUD(298), INTERFERENCE_MATRIX(299), - ENHANCED_SHOCKWAVES(304), - HURRICANE_THRUSTERS(-1000); //-1000 is arbitrary id. It's 296, but 296 is taken in older versions + SUNDERING_IMPACT(300), + AMPLIFIED_SHIELDING(301), + PSIONIC_AMPLIFIERS(302), + SECRETED_COATING(303), + ENHANCED_SHOCKWAVES(304); public static final class Other implements Upgrade { @@ -370,7 +374,7 @@ public String toString() { EnumSet.allOf(Upgrades.class).forEach(upgrade -> upgradeIdMap.put(upgrade.getUpgradeId(), upgrade)); } - private int upgradeId; + private final int upgradeId; Upgrades(int upgradeId) { this.upgradeId = upgradeId; @@ -380,21 +384,6 @@ public static Upgrade from(int sc2ApiUpgradeId) { return Optional.ofNullable(upgradeIdMap.get(sc2ApiUpgradeId)).orElse(Other.of(sc2ApiUpgradeId)); } - public static void remapForBuild(Integer build) { - if (build >= 91115) { - updateId(296, 297); - updateId(-1000, 296); - } - } - - private static void updateId(int oldId, int newId) { - Upgrade toUpdate = upgradeIdMap.remove(oldId); - if (toUpdate != null) { - ((Upgrades) toUpdate).upgradeId = newId; - upgradeIdMap.put(newId, toUpdate); - } - } - @Override public int getUpgradeId() { return upgradeId;