@@ -11,27 +11,51 @@ public class NewSpecialAbility
1111 public SpecialTriggeredAbility specialTriggeredAbility ;
1212 public StatIconInfo statIconInfo ;
1313 public Type abilityBehaviour ;
14- public Texture tex ;
1514 public SpecialAbilityIdentifier id ;
1615
1716 public NewSpecialAbility (
18- StatIconInfo statIconInfo ,
1917 Type abilityBehaviour ,
20- Texture tex ,
21- SpecialAbilityIdentifier id
18+ SpecialAbilityIdentifier id ,
19+ StatIconInfo statIconInfo = null
2220 )
2321 {
2422 specialTriggeredAbility = ( SpecialTriggeredAbility ) 26 + specialAbilities . Count ;
25- this . statIconInfo = statIconInfo ;
23+ var logNameOrIdNumber = specialTriggeredAbility . ToString ( ) ;
24+ if ( statIconInfo )
25+ {
26+ this . statIconInfo = statIconInfo ;
27+ HandleStatIconInfo ( statIconInfo ) ;
28+ logNameOrIdNumber = this . statIconInfo . rulebookName ;
29+ }
2630 this . abilityBehaviour = abilityBehaviour ;
27- tex . filterMode = FilterMode . Point ;
28- this . tex = tex ;
2931 this . id = id ;
30- specialAbilities . Add ( this ) ;
3132 id . id = specialTriggeredAbility ;
32- this . id = id ;
3333
34- Plugin . Log . LogInfo ( $ "Loaded custom special ability [{ statIconInfo . rulebookName } ]!") ;
34+ HandleStatIconInfo ( statIconInfo ) ;
35+
36+ specialAbilities . Add ( this ) ;
37+ Plugin . Log . LogInfo ( $ "Loaded custom special ability [{ logNameOrIdNumber } ]!") ;
38+ }
39+
40+ // is only called if StatIconInfo is not null
41+ private static void HandleStatIconInfo ( StatIconInfo statIconInfo )
42+ {
43+ statIconInfo . iconType = ( SpecialStatIcon ) 8 + specialAbilities . Count ;
44+
45+ if ( statIconInfo . iconGraphic is not null )
46+ {
47+ // the reason for this is just one less step for the end user to setup
48+ statIconInfo . iconGraphic . filterMode = FilterMode . Point ;
49+ }
50+
51+ // a lazy initializer
52+ if ( statIconInfo . metaCategories . Count == 0 )
53+ {
54+ statIconInfo . metaCategories = new List < AbilityMetaCategory >
55+ {
56+ AbilityMetaCategory . Part1Modular , AbilityMetaCategory . Part1Rulebook
57+ } ;
58+ }
3559 }
3660 }
3761}
0 commit comments