class CDragonSchema:
LolV1ChampionTacticalInfo = TypedDict("LolV1ChampionTacticalInfo", {
"style": int,
"difficulty": int,
"damageType": str
})
LolV1ChampionPlaystyleInfo = TypedDict("LolV1ChampionPlaystyleInfo", {
"damage": int,
"durability": int,
"crowdControl": int,
"mobility": int,
"utility": int
})
LolV1ChampionSkinLine = TypedDict("LolV1ChampionSkinLine", {
"id": int
})
LolV1ChampionSkinChromaDescription = TypedDict("LolV1ChampionSkinChromaDescription", {
"region": str,
"description": str
})
LolV1ChampionSkinChromaRarity = TypedDict("LolV1ChampionSkinChromaRarity", {
"region": str,
"rarity": int
})
LolV1ChampionSkinChroma = TypedDict("LolV1ChampionSkinChroma", {
"id": int,
"name": str,
"chromaPath": str,
"colors": list[str],
"descriptions": list[LolV1ChampionSkinChromaDescription],
"rarities": list[LolV1ChampionSkinChromaRarity]
})
LolV1ChampionSkin = TypedDict("LolV1ChampionSkin", {
"id": int,
"isBase": bool,
"name": str,
"splashPath": str,
"uncenteredSplashPath": str,
"tilePath": str,
"loadScreenPath": str,
"loadScreenVintagePath": NotRequired[str],
"skinType": str,
"rarity": str,
"isLegacy": bool,
"splashVideoPath": str | None,
"collectionSplashVideoPath": str | None,
"collectionCardHoverVideoPath": str | None,
"featuresText": str | None,
"chromaPath": str | None,
"emblems": str | None,
"regionRarityId": int,
"rarityGemPath": str | None,
"skinLines": None | list[LolV1ChampionSkinLine],
"description": str | None,
"chromas": NotRequired[list[LolV1ChampionSkinChroma]],
})
LolV1ChampionPassive = TypedDict("LolV1ChampionPassive", {
"name": str,
"abilityIconPath": str,
"abilityVideoPath": str,
"abilityVideoImagePath": str,
"description": str
})
LolV1ChampionSpellCoefficients = TypedDict("LolV1ChampionSpellCoefficients", {
"coefficient1": float,
"coefficient2": float
})
LolV1ChampionSpellEffectAmounts = TypedDict("LolV1ChampionSpellEffectAmounts", {
"Effect1Amount": list[float],
"Effect2Amount": list[float],
"Effect3Amount": list[float],
"Effect4Amount": list[float],
"Effect5Amount": list[float],
"Effect6Amount": list[float],
"Effect7Amount": list[float],
"Effect8Amount": list[float],
"Effect9Amount": list[float],
"Effect10Amount": list[float]
})
LolV1ChampionSpellAmmo = TypedDict("LolV1ChampionSpellAmmo", {
"ammoRechargeTime": list[float],
"maxAmmo": list[int]
})
LolV1ChampionSpell = TypedDict("LolV1ChampionSpell", {
"spellKey": str,
"name": str,
"abilityIconPath": str,
"abilityVideoPath": str,
"abilityVideoImagePath": str,
"cost": str,
"cooldown": str,
"description": str,
"dynamicDescription": str,
"range": list[float],
"costCoefficients": list[float],
"cooldownCoefficients": list[float],
"coefficients": LolV1ChampionSpellCoefficients,
"effectAmounts": LolV1ChampionSpellEffectAmounts,
"ammo": LolV1ChampionSpellAmmo,
"maxLevel": int
})
LolV1Champion = TypedDict("LolGameDataV1Champion", {
"id": int,
"name": str,
"alias": str,
"title": str,
"shortBio": str,
"tacticalInfo": LolV1ChampionTacticalInfo,
"playstyleInfo": LolV1ChampionPlaystyleInfo,
"squarePortraitPath": str,
"stingerSfxPath": str,
"chooseVoPath": str,
"banVoPath": str,
"roles": list[str],
"recommendedItemDefaults": list[int],
"skins": list[LolV1ChampionSkin],
"passive": LolV1ChampionPassive,
"spells": list[LolV1ChampionSpell]
})
LolChampionBinValueCatalogEntry = TypedDict("LolChampionBinValueCatalogEntry", {
"contentId": str,
"itemID": int,
"offerId": str,
"__type": str
})
LolChampionBinValueEventsToTrack = TypedDict("LolChampionBinValueEventsToTrack", {
"EventToTrack": int,
"__type": str
})
LolChampionBinValue = TypedDict("LolChampionBinValue", {
"mNameTraKey": str,
"catalogEntry": LolChampionBinValueCatalogEntry,
"mDescriptionTraKey": str,
"EventsToTrack": list[LolChampionBinValueEventsToTrack],
"category": str,
"Milestones": list[int],
"EpicStatStone": bool,
"TriggeredFromScript": bool,
"stoneName": str,
"name": str,
"statStones": list[str],
"__type": str
}, total=False)
LolV1ChampionInfo = TypedDict("LolV1ChampionInfo", {
"id": int,
"name": str,
"alias": str,
"squarePortraitPath": str,
"roles": list[str]
})
LolV1Item = TypedDict("LolV1Item", {
"id": int,
"name": str,
"description": str,
"active": bool,
"inStore": bool,
"from": list[int],
"to": list[int],
"categories": list[str],
"maxStacks": int,
"requiredChampion": str,
"requiredAlly": str,
"requiredBuffCurrencyName": str,
"requiredBuffCurrencyCost": int,
"specialRecipe": int,
"isEnchantment": bool,
"price": int,
"priceTotal": int,
"iconPath": str,
"displayInItemSets": bool
})
LolV1PerkDescriptorAttributes = TypedDict("LolV1PerkDescriptorAttributes", {
"kBurstDamage": NotRequired[int],
"kDamagePerSecond": NotRequired[int],
"kMoveSpeed": NotRequired[int],
"kGold": NotRequired[int],
"kHealing": NotRequired[int],
"kDurability": NotRequired[int],
"kUtility": NotRequired[int],
"kCooldown": NotRequired[int],
"kMana": NotRequired[int],
})
LolV1Perk = TypedDict("LolV1Perk", {
"id": int,
"name": str,
"majorChangePatchVersion": str,
"tooltip": str,
"shortDesc": str,
"longDesc": str,
"recommendationDescriptor": str,
"iconPath": str,
"endOfGameStatDescs": list[str],
"recommendationDescriptorAttributes": LolV1PerkDescriptorAttributes
})
LolV1SummonerSpell = TypedDict("LolV1SummonerSpell", {
"id": int,
"name": str,
"description": str,
"summonerLevel": int,
"cooldown": int,
"gameModes": list[str],
"iconPath": str
})
LolV1ProfileIcon = TypedDict("LolV1ProfileIcon", {
"id": int,
"iconPath": str
})
TftDataTftItem = TypedDict("TftDataTftItem", {
"apiName": str,
"associatedTraits": list[str],
"composition": list[str],
"desc": str,
"effects": dict[str, float],
"from": list[int] | None,
"icon": str,
"id": int | None,
"incompatibleTraits": list[str],
"name": str,
"unique": bool
})
TftDataTftSetChampionAbilityVariable = TypedDict("TftDataTftSetChampionAbilityVariable", {
"name": str,
"value": list[float]
})
TftDataTftSetChampionAbility = TypedDict("TftDataTftSetChampionAbility", {
"desc": str,
"icon": str,
"name": str,
"variables": list[TftDataTftSetChampionAbilityVariable]
})
TftDataTftSetChampionStats = TypedDict("TftDataTftSetChampionStats", {
"armor": float,
"attackSpeed": float,
"critChance": float,
"critMultiplier": float,
"damage": float,
"hp": float | None,
"initialMana": float,
"magicResist": float,
"mana": float,
"range": float
})
TftDataTftSetChampion = TypedDict("TftDataTftSetChampion", {
"ability": TftDataTftSetChampionAbility,
"apiName": str,
"characterName": str,
"cost": int,
"icon": str,
"name": str,
"squareIcon": str,
"stats": TftDataTftSetChampionStats,
"tileIcon": str,
"traits": list[str]
})
TftDataTftSetTraitEffect = TypedDict("TftDataTftSetTraitEffect", {
"maxUnits": int,
"minUnits": int,
"style": int,
"variables": dict[str, float | str]
})
TftDataTftSetTrait = TypedDict("TftDataTftSetTrait", {
"apiName": str,
"desc": str,
"effects": list[TftDataTftSetTraitEffect],
"icon": str,
"name": str
})
TftDataTftSetCurrent = TypedDict("TftDataTftSetCurrent", {
"champions": list[TftDataTftSetChampion],
"mutator": NotRequired[str],
"name": NotRequired[str],
"number": NotRequired[int],
"traits": list[TftDataTftSetTrait],
"augments": list[str],
"items": list[str],
})
TftDataTftSet = TypedDict("TftDataTftSet", {
"champions": list[TftDataTftSetChampion],
"mutator": NotRequired[str],
"name": NotRequired[str],
"number": NotRequired[int],
"traits": list[TftDataTftSetTrait],
})
TftData = TypedDict("TftData", {
"items": list[TftDataTftItem],
"setData": list[TftDataTftSetCurrent],
"sets": dict[str, TftDataTftSet]
})