Skip to content

Commit 4d1aa45

Browse files
committed
bandaid fix for CB consumables
1 parent 98427bc commit 4d1aa45

File tree

4 files changed

+28
-17
lines changed

4 files changed

+28
-17
lines changed

generated/abilities.json

+1-1
Large diffs are not rendered by default.

renderer_data/generators/abilities.py

+22-14
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,40 @@
1010
"distShip",
1111
"artilleryDistCoeff",
1212
}
13+
# ConsumablesConstants.ConsumableIDsMap
14+
ability_type_to_id = {'tacticalTrigger2': 46, 'callFighters': 21, 'smokePlane': 52, 'goDeep': 33,
15+
'weaponReloadBooster': 34, 'planeMinefield': 43, 'subsEnergyFreeze': 37, 'All': 55,
16+
'planeSmokeGenerator': 42, 'submarineLocator': 41, 'trigger4': 16, 'trigger5': 17,
17+
'trigger6': 18, 'trigger7': 27, 'smokeGenerator': 6, 'trigger1': 13, 'trigger2': 14,
18+
'trigger3': 15, 'tacticalTrigger3': 47, 'invulnerable': 19, 'tacticalTrigger1': 45,
19+
'trigger8': 28, 'trigger9': 29, 'tacticalTrigger5': 49, 'tacticalTrigger4': 48,
20+
'reconnaissanceSquad': 51, 'airDefenseDisp': 2, 'torpedoReloader': 11, 'minefield': 44,
21+
'fastRudders': 36, 'buff': 30, 'healForsage': 20, 'hydrophone': 35, 'subsFourthState': 25,
22+
'regenCrew': 8, 'tacticalBuff': 53, 'scout': 1, 'artilleryBoosters': 4, 'groupAuraBuff': 38,
23+
'buffsShift': 31, 'invisibilityExtraBuffConsumable': 40, 'regenerateHealth': 22, 'rls': 12,
24+
'subsOxygenRegen': 23, 'circleWave': 32, 'affectedBuffAura': 39, 'fighter': 9, 'crashCrew': 0,
25+
'Any': 54, 'hangarBoosters': 5, 'Special': 56, 'speedBoosters': 3, 'sonar': 10,
26+
'subsWaveGunBoost': 24, 'tacticalTrigger6': 50, 'depthCharges': 26}
1327

1428

1529
def create_abilities_data():
1630
LOGGER.info("Creating abilities data...")
1731
list_ships = get_data("Ship")
1832
list_ability = get_data("Ability")
1933

34+
clan_battles = {}
2035
ability_entities = {}
2136

2237
for ab in list_ability:
2338
for k, v in vars(ab).items():
39+
if "ClanBattles" in k:
40+
type_id = ability_type_to_id[v.consumableType]
41+
assert type_id not in clan_battles, "Duplicate clan battle consumable types"
42+
clan_battles[type_id] = ab.name
43+
2444
sub = ability_entities.setdefault(ab.name, {})
2545
sub[k] = v # type: ignore
2646

27-
# ConsumablesConstants.ConsumableIDsMap
28-
ability_type_to_id = {'tacticalTrigger2': 46, 'callFighters': 21, 'smokePlane': 52, 'goDeep': 33,
29-
'weaponReloadBooster': 34, 'planeMinefield': 43, 'subsEnergyFreeze': 37, 'All': 55,
30-
'planeSmokeGenerator': 42, 'submarineLocator': 41, 'trigger4': 16, 'trigger5': 17,
31-
'trigger6': 18, 'trigger7': 27, 'smokeGenerator': 6, 'trigger1': 13, 'trigger2': 14,
32-
'trigger3': 15, 'tacticalTrigger3': 47, 'invulnerable': 19, 'tacticalTrigger1': 45,
33-
'trigger8': 28, 'trigger9': 29, 'tacticalTrigger5': 49, 'tacticalTrigger4': 48,
34-
'reconnaissanceSquad': 51, 'airDefenseDisp': 2, 'torpedoReloader': 11, 'minefield': 44,
35-
'fastRudders': 36, 'buff': 30, 'healForsage': 20, 'hydrophone': 35, 'subsFourthState': 25,
36-
'regenCrew': 8, 'tacticalBuff': 53, 'scout': 1, 'artilleryBoosters': 4, 'groupAuraBuff': 38,
37-
'buffsShift': 31, 'invisibilityExtraBuffConsumable': 40, 'regenerateHealth': 22, 'rls': 12,
38-
'subsOxygenRegen': 23, 'circleWave': 32, 'affectedBuffAura': 39, 'fighter': 9, 'crashCrew': 0,
39-
'Any': 54, 'hangarBoosters': 5, 'Special': 56, 'speedBoosters': 3, 'sonar': 10,
40-
'subsWaveGunBoost': 24, 'tacticalTrigger6': 50, 'depthCharges': 26}
4147
_abils = {}
4248

4349
for ship in list_ships:
@@ -69,6 +75,8 @@ def create_abilities_data():
6975
k: v for k, v in sa.__dict__.items() if k in REQUIRED
7076
}
7177

78+
_abils["clan"] = clan_battles
79+
7280
with open(
7381
os.path.join(os.getcwd(), "generated", "abilities.json"), "w"
7482
) as f:

src/renderer/layers/ship.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,10 @@ def _ship_consumable(
295295

296296
for aid, _ in ac.items():
297297
abilities = self._abilities[params_id]
298-
index = abilities["id_to_index"][aid]
298+
try:
299+
index = abilities["id_to_index"][aid]
300+
except KeyError:
301+
index = self._abilities["clan"][aid]
299302
filename = f"consumable_{index}.png"
300303
c_image = self._renderer.resman.load_image(
301304
filename,

src/renderer/versions/13_4_0/resources/abilities.json

+1-1
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)