pub trait GameConfigLookup {
Show 68 methods
// Required methods
fn attribute(&self, attribute_id: AttributeId) -> Option<&Attribute>;
fn require_attribute(&self, attribute_id: AttributeId) -> Result<&Attribute>;
fn attribute_by_db_code(&self, db_code: u8) -> Option<&Attribute>;
fn require_attribute_by_db_code(&self, db_code: u8) -> Result<&Attribute>;
fn ability_template(
&self,
ability_id: AbilityId,
) -> Option<&AbilityTemplate>;
fn require_ability_template(
&self,
ability_id: AbilityId,
) -> Result<&AbilityTemplate>;
fn ability_rarity(
&self,
rarity_id: AbilityRarityId,
) -> Option<&AbilityRarity>;
fn require_ability_rarity(
&self,
rarity_id: AbilityRarityId,
) -> Result<&AbilityRarity>;
fn ability_stone_template(
&self,
stone_id: AbilityStoneId,
) -> Option<&AbilityStoneTemplate>;
fn ability_level(
&self,
rarity_id: AbilityRarityId,
level: i64,
) -> Option<&AbilityLevel>;
fn require_ability_level(
&self,
rarity_id: AbilityRarityId,
level: i64,
) -> Result<&AbilityLevel>;
fn ability_case_settings_by_level(
&self,
level: i64,
) -> Option<&AbilityCasesSettingsByLevel>;
fn require_ability_case_settings_by_level(
&self,
level: i64,
) -> Result<&AbilityCasesSettingsByLevel>;
fn bundle(&self, bundle_id: BundleId) -> Option<&BundleRaw>;
fn require_bundle(&self, bundle_id: BundleId) -> Result<&BundleRaw>;
fn chapter_by_level(&self, chapter_level: i64) -> Option<&Chapter>;
fn require_chapter_by_level(&self, chapter_level: i64) -> Result<&Chapter>;
fn ability_slots_for_chapter_level(&self, chapter_level: i64) -> Option<u64>;
fn character_level(&self, level: i64) -> Option<CharacterLevel>;
fn require_character_level(&self, level: i64) -> Result<CharacterLevel>;
fn level_for_experience(&self, experience: i64) -> i64;
fn class(&self, class_id: ClassId) -> Option<&Class>;
fn require_class(&self, class_id: ClassId) -> Result<&Class>;
fn dungeon_template(
&self,
dungeon_id: DungeonTemplateId,
) -> Option<&DungeonTemplate>;
fn require_dungeon_template(
&self,
dungeon_id: DungeonTemplateId,
) -> Result<&DungeonTemplate>;
fn effect(&self, effect_id: EffectId) -> Option<&Effect>;
fn require_effect(&self, effect_id: EffectId) -> Result<&Effect>;
fn fight_template(
&self,
fight_id: FightTemplateId,
) -> Option<&FightTemplate>;
fn require_fight_template(
&self,
fight_id: FightTemplateId,
) -> Result<&FightTemplate>;
fn arena_league_for_rating(&self, rating: i64) -> Option<&ArenaLeague>;
fn require_arena_league_for_rating(
&self,
rating: i64,
) -> Result<&ArenaLeague>;
fn entity_template(
&self,
entity_template_id: EntityTemplateId,
) -> Option<&EntityTemplate>;
fn require_entity_template(
&self,
entity_template_id: EntityTemplateId,
) -> Result<&EntityTemplate>;
fn gift_template(&self, gift_id: Uuid) -> Option<&GiftTemplate>;
fn require_gift_template(&self, gift_id: Uuid) -> Result<&GiftTemplate>;
fn item_case_settings_by_level(
&self,
level: i64,
) -> Option<&ItemCasesSettingsByLevel>;
fn require_item_case_settings_by_level(
&self,
level: i64,
) -> Result<&ItemCasesSettingsByLevel>;
fn item_rarity(&self, rarity_id: ItemRarityId) -> Option<&ItemRarity>;
fn require_item_rarity(
&self,
rarity_id: ItemRarityId,
) -> Result<&ItemRarity>;
fn item_template(&self, item_id: ItemTemplateId) -> Option<&ItemTemplate>;
fn require_item_template(
&self,
item_id: ItemTemplateId,
) -> Result<&ItemTemplate>;
fn mail_template(&self, template_id: Uuid) -> Option<&MailTemplate>;
fn require_mail_template(&self, template_id: Uuid) -> Result<&MailTemplate>;
fn patron_level_info(&self, level: i64) -> Option<&ReferralLevelInfo>;
fn require_patron_level_info(
&self,
level: i64,
) -> Result<&ReferralLevelInfo>;
fn projectile(&self, projectile_id: ProjectileId) -> Option<&Projectile>;
fn require_projectile(
&self,
projectile_id: ProjectileId,
) -> Result<&Projectile>;
fn quest(&self, quest_id: Uuid) -> Option<&QuestTemplate>;
fn require_quest(&self, quest_id: Uuid) -> Result<&QuestTemplate>;
fn quest_by_code(&self, code: &str) -> Option<&QuestTemplate>;
fn skin(&self, skin_id: SkinId) -> Option<&ConfigSkin>;
fn require_skin(&self, skin_id: SkinId) -> Result<&ConfigSkin>;
fn vassal_task_template(
&self,
task_template_id: Uuid,
) -> Option<&VassalTaskTemplate>;
fn require_vassal_task_template(
&self,
task_template_id: Uuid,
) -> Result<&VassalTaskTemplate>;
fn cheat_script(
&self,
cheat_script_id: CheatScriptId,
) -> Option<&CheatScript>;
fn talent(&self, talent_id: TalentId) -> Option<&TalentTemplate>;
fn require_talent(&self, talent_id: TalentId) -> Result<&TalentTemplate>;
fn allowed_wishlist_rarity_ids(
&self,
ability_case_level: i64,
) -> Vec<AbilityRarityId> ⓘ;
fn pet_template(&self, pet_id: PetId) -> Option<&PetTemplate>;
fn require_pet_template(&self, pet_id: PetId) -> Result<&PetTemplate>;
fn pet_rarity(&self, rarity_id: PetRarityId) -> Option<&PetRarity>;
fn pet_level(&self, rarity_id: PetRarityId, level: i64) -> Option<&PetLevel>;
fn pet_slots_for_chapter_level(&self, chapter_level: i64) -> Option<u64>;
fn pet_case_settings_by_level(
&self,
level: i64,
) -> Option<&PetCasesSettingsByLevel>;
fn require_pet_case_settings_by_level(
&self,
level: i64,
) -> Result<&PetCasesSettingsByLevel>;
fn allowed_pet_wishlist_rarity_ids(
&self,
pet_case_level: i64,
) -> Vec<PetRarityId> ⓘ;
fn trigger_stone_template(
&self,
template_id: StoneTemplateId,
) -> Option<&TriggerStoneTemplate>;
fn effect_stone_template(
&self,
template_id: StoneTemplateId,
) -> Option<&EffectStoneTemplate>;
}Required Methods§
fn attribute(&self, attribute_id: AttributeId) -> Option<&Attribute>
fn require_attribute(&self, attribute_id: AttributeId) -> Result<&Attribute>
fn attribute_by_db_code(&self, db_code: u8) -> Option<&Attribute>
fn require_attribute_by_db_code(&self, db_code: u8) -> Result<&Attribute>
fn ability_template(&self, ability_id: AbilityId) -> Option<&AbilityTemplate>
fn require_ability_template( &self, ability_id: AbilityId, ) -> Result<&AbilityTemplate>
fn ability_rarity(&self, rarity_id: AbilityRarityId) -> Option<&AbilityRarity>
fn require_ability_rarity( &self, rarity_id: AbilityRarityId, ) -> Result<&AbilityRarity>
fn ability_stone_template( &self, stone_id: AbilityStoneId, ) -> Option<&AbilityStoneTemplate>
fn ability_level( &self, rarity_id: AbilityRarityId, level: i64, ) -> Option<&AbilityLevel>
fn require_ability_level( &self, rarity_id: AbilityRarityId, level: i64, ) -> Result<&AbilityLevel>
fn ability_case_settings_by_level( &self, level: i64, ) -> Option<&AbilityCasesSettingsByLevel>
fn require_ability_case_settings_by_level( &self, level: i64, ) -> Result<&AbilityCasesSettingsByLevel>
fn bundle(&self, bundle_id: BundleId) -> Option<&BundleRaw>
fn require_bundle(&self, bundle_id: BundleId) -> Result<&BundleRaw>
fn chapter_by_level(&self, chapter_level: i64) -> Option<&Chapter>
fn require_chapter_by_level(&self, chapter_level: i64) -> Result<&Chapter>
fn ability_slots_for_chapter_level(&self, chapter_level: i64) -> Option<u64>
fn character_level(&self, level: i64) -> Option<CharacterLevel>
fn require_character_level(&self, level: i64) -> Result<CharacterLevel>
Sourcefn level_for_experience(&self, experience: i64) -> i64
fn level_for_experience(&self, experience: i64) -> i64
Highest level reachable with experience, unbounded via the level formula.
fn class(&self, class_id: ClassId) -> Option<&Class>
fn require_class(&self, class_id: ClassId) -> Result<&Class>
fn dungeon_template( &self, dungeon_id: DungeonTemplateId, ) -> Option<&DungeonTemplate>
fn require_dungeon_template( &self, dungeon_id: DungeonTemplateId, ) -> Result<&DungeonTemplate>
fn effect(&self, effect_id: EffectId) -> Option<&Effect>
fn require_effect(&self, effect_id: EffectId) -> Result<&Effect>
fn fight_template(&self, fight_id: FightTemplateId) -> Option<&FightTemplate>
fn require_fight_template( &self, fight_id: FightTemplateId, ) -> Result<&FightTemplate>
fn arena_league_for_rating(&self, rating: i64) -> Option<&ArenaLeague>
fn require_arena_league_for_rating(&self, rating: i64) -> Result<&ArenaLeague>
fn entity_template( &self, entity_template_id: EntityTemplateId, ) -> Option<&EntityTemplate>
fn require_entity_template( &self, entity_template_id: EntityTemplateId, ) -> Result<&EntityTemplate>
fn gift_template(&self, gift_id: Uuid) -> Option<&GiftTemplate>
fn require_gift_template(&self, gift_id: Uuid) -> Result<&GiftTemplate>
fn item_case_settings_by_level( &self, level: i64, ) -> Option<&ItemCasesSettingsByLevel>
fn require_item_case_settings_by_level( &self, level: i64, ) -> Result<&ItemCasesSettingsByLevel>
fn item_rarity(&self, rarity_id: ItemRarityId) -> Option<&ItemRarity>
fn require_item_rarity(&self, rarity_id: ItemRarityId) -> Result<&ItemRarity>
fn item_template(&self, item_id: ItemTemplateId) -> Option<&ItemTemplate>
fn require_item_template( &self, item_id: ItemTemplateId, ) -> Result<&ItemTemplate>
fn mail_template(&self, template_id: Uuid) -> Option<&MailTemplate>
fn require_mail_template(&self, template_id: Uuid) -> Result<&MailTemplate>
fn patron_level_info(&self, level: i64) -> Option<&ReferralLevelInfo>
fn require_patron_level_info(&self, level: i64) -> Result<&ReferralLevelInfo>
fn projectile(&self, projectile_id: ProjectileId) -> Option<&Projectile>
fn require_projectile(&self, projectile_id: ProjectileId) -> Result<&Projectile>
fn quest(&self, quest_id: Uuid) -> Option<&QuestTemplate>
fn require_quest(&self, quest_id: Uuid) -> Result<&QuestTemplate>
fn quest_by_code(&self, code: &str) -> Option<&QuestTemplate>
fn skin(&self, skin_id: SkinId) -> Option<&ConfigSkin>
fn require_skin(&self, skin_id: SkinId) -> Result<&ConfigSkin>
fn vassal_task_template( &self, task_template_id: Uuid, ) -> Option<&VassalTaskTemplate>
fn require_vassal_task_template( &self, task_template_id: Uuid, ) -> Result<&VassalTaskTemplate>
fn cheat_script(&self, cheat_script_id: CheatScriptId) -> Option<&CheatScript>
fn talent(&self, talent_id: TalentId) -> Option<&TalentTemplate>
fn require_talent(&self, talent_id: TalentId) -> Result<&TalentTemplate>
fn allowed_wishlist_rarity_ids( &self, ability_case_level: i64, ) -> Vec<AbilityRarityId> ⓘ
fn pet_template(&self, pet_id: PetId) -> Option<&PetTemplate>
fn require_pet_template(&self, pet_id: PetId) -> Result<&PetTemplate>
fn pet_rarity(&self, rarity_id: PetRarityId) -> Option<&PetRarity>
fn pet_level(&self, rarity_id: PetRarityId, level: i64) -> Option<&PetLevel>
fn pet_slots_for_chapter_level(&self, chapter_level: i64) -> Option<u64>
fn pet_case_settings_by_level( &self, level: i64, ) -> Option<&PetCasesSettingsByLevel>
fn require_pet_case_settings_by_level( &self, level: i64, ) -> Result<&PetCasesSettingsByLevel>
fn allowed_pet_wishlist_rarity_ids( &self, pet_case_level: i64, ) -> Vec<PetRarityId> ⓘ
Sourcefn trigger_stone_template(
&self,
template_id: StoneTemplateId,
) -> Option<&TriggerStoneTemplate>
fn trigger_stone_template( &self, template_id: StoneTemplateId, ) -> Option<&TriggerStoneTemplate>
Catalog entry an owned Trigger Stone is a copy of.
Deliberately has no require_* twin. character_stones.template_id is
registered with collection: none, so the deploy-time orphan check does
not cover it and row_to_stone does not validate against config: a
template deleted while players own copies leaves live rows pointing
nowhere. Every caller must skip-and-log such a stone, never fail the
session.
Sourcefn effect_stone_template(
&self,
template_id: StoneTemplateId,
) -> Option<&EffectStoneTemplate>
fn effect_stone_template( &self, template_id: StoneTemplateId, ) -> Option<&EffectStoneTemplate>
Catalog entry an owned Effect Stone is a copy of. Same no-require_*
rule as GameConfigLookup::trigger_stone_template.