|
10 | 10 | "distShip",
|
11 | 11 | "artilleryDistCoeff",
|
12 | 12 | }
|
| 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} |
13 | 27 |
|
14 | 28 |
|
15 | 29 | def create_abilities_data():
|
16 | 30 | LOGGER.info("Creating abilities data...")
|
17 | 31 | list_ships = get_data("Ship")
|
18 | 32 | list_ability = get_data("Ability")
|
19 | 33 |
|
| 34 | + clan_battles = {} |
20 | 35 | ability_entities = {}
|
21 | 36 |
|
22 | 37 | for ab in list_ability:
|
23 | 38 | 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 | + |
24 | 44 | sub = ability_entities.setdefault(ab.name, {})
|
25 | 45 | sub[k] = v # type: ignore
|
26 | 46 |
|
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} |
41 | 47 | _abils = {}
|
42 | 48 |
|
43 | 49 | for ship in list_ships:
|
@@ -69,6 +75,8 @@ def create_abilities_data():
|
69 | 75 | k: v for k, v in sa.__dict__.items() if k in REQUIRED
|
70 | 76 | }
|
71 | 77 |
|
| 78 | + _abils["clan"] = clan_battles |
| 79 | + |
72 | 80 | with open(
|
73 | 81 | os.path.join(os.getcwd(), "generated", "abilities.json"), "w"
|
74 | 82 | ) as f:
|
|
0 commit comments