tiger_lib/vic3/
item.rs

1//! Victoria 3 specific [`Item`] functions
2
3use crate::item::Item;
4
5impl Item {
6    /// Returns whether an item type uses the REPLACE/INJECT/CREATE prefixes.
7    pub fn injectable(self) -> bool {
8        matches!(
9            self,
10            Item::AcceptanceStatus
11                | Item::Achievement
12                | Item::AiStrategy
13                | Item::AlertGroup
14                | Item::Alert
15                | Item::Amendment
16                | Item::BattleCondition
17                | Item::BuildingGroup
18                | Item::BuildingType
19                | Item::BuyPackage
20                | Item::CharacterInteraction
21                | Item::CharacterTemplate
22                | Item::CharacterTrait
23                | Item::CohesionLevel
24                | Item::CombatUnitExperienceLevel
25                | Item::CombatUnitGroup
26                | Item::CombatUnit
27                | Item::CommanderOrder
28                | Item::CommanderRank
29                | Item::CompanyCharterType
30                | Item::CompanyType
31                | Item::CountryCreation
32                | Item::Country
33                | Item::CountryFormation
34                | Item::CountryRank
35                | Item::CountryType
36                | Item::CultureGraphics
37                | Item::Culture
38                | Item::Decision
39                | Item::Decree
40                | Item::DiplomaticAction
41                | Item::DiplomaticCatalystCategory
42                | Item::DiplomaticCatalyst
43                | Item::DiplomaticPlay
44                | Item::DiscriminationTraitGroup
45                | Item::DiscriminationTrait
46                | Item::Dna
47                | Item::DynamicCompanyName
48                | Item::DynamicCountryMapColor
49                | Item::DynamicCountryName
50                | Item::DynamicTreatyName
51                | Item::Ethnicity
52                | Item::FlagDefinition
53                | Item::GameConcept
54                | Item::GeneCategory
55                | Item::GeographicRegion
56                | Item::Goods
57                | Item::GovernmentType
58                | Item::HarvestConditionType
59                | Item::Ideology
60                | Item::Institution
61                | Item::InterestGroupTrait
62                | Item::InterestGroup
63                | Item::JournalEntry
64                | Item::JournalEntryGroup
65                | Item::TerrainLabel
66                | Item::LawGroup
67                | Item::LawType
68                | Item::LegitimacyLevel
69                | Item::LibertyDesireLevel
70                | Item::MilitaryFormationFlag
71                | Item::MobilizationOptionGroup
72                | Item::MobilizationOption
73                | Item::ModifierTypeDefinition
74                | Item::ObjectiveSubgoalCategory
75                | Item::ObjectiveSubgoal
76                | Item::Objective
77                | Item::Party
78                | Item::PoliticalLobby
79                | Item::PoliticalLobbyAppeasement
80                | Item::PoliticalMovement
81                | Item::PoliticalMovementCategory
82                | Item::PoliticalMovementPopSupport
83                | Item::PopNeed
84                | Item::PopType
85                | Item::PowerBlocCoaPiece
86                | Item::PowerBlocIdentity
87                | Item::PowerBlocMapTexture
88                | Item::PowerBlocName
89                | Item::PrincipleGroup
90                | Item::Principle
91                | Item::PrestigeGoods
92                | Item::ProductionMethodGroup
93                | Item::ProductionMethod
94                | Item::ProposalType
95                | Item::Religion
96                | Item::ScriptValue
97                | Item::ScriptedButton
98                | Item::ScriptedEffect
99                | Item::ScriptedGui
100                | Item::ScriptedList
101                | Item::ScriptedModifier
102                | Item::ScriptedProgressBar
103                | Item::ScriptedRule
104                | Item::ScriptedTrigger
105                | Item::SocialClass
106                | Item::SocialHierarchy
107                | Item::StateTrait
108                | Item::StrategicRegion
109                | Item::SubjectType
110                | Item::Technology
111                | Item::Terrain
112                | Item::TerrainManipulator
113                | Item::Theme
114                | Item::TreatyArticle
115                | Item::TutorialLessonChain
116                | Item::TutorialLesson
117                | Item::WarGoalType
118                | Item::ArmyDiorama
119                | Item::CityBuildingVfx
120                | Item::FleetDiorama
121                | Item::Accessory
122                | Item::PortraitModifierGroup
123                | Item::Music
124                | Item::MusicPlayerCategory
125                // undocumented
126                | Item::Modifier
127                | Item::PortraitAnimation
128        )
129    }
130}