Ejemplo n.º 1
0
 private void InitializeAbilities(Apparel abilityApparel)
 {
     if (abilityApparel != null && abilityApparel.Wearer != null && MagicAbilities != null && MagicAbilities.Count > 0)
     {
         CompAbilityUser comp = abilityApparel.TryGetComp <CompAbilityUser>();
         if (comp != null)
         {
             foreach (AbilityUser.AbilityDef abilityDef in MagicAbilities)
             {
                 comp.RemoveApparelAbility(abilityDef);
                 comp.AddApparelAbility(abilityDef);
             }
         }
         //AbilityUserMod.Notify_ApparelRemoved_PostFix(abilityApparel.Wearer.apparel, abilityApparel);
         //AbilityUserMod.Notify_ApparelAdded_PostFix(abilityApparel.Wearer.apparel, abilityApparel);
         this.abilitiesInitialized = true;
     }
 }
Ejemplo n.º 2
0
 public void PostCastShot(bool inResult)
 {
     if (inResult)
     {
         List <Apparel> apparel = this.CasterPawn.apparel.WornApparel;
         if (apparel != null)
         {
             for (int i = 0; i < apparel.Count; i++)
             {
                 Apparel item = apparel[i];
                 if (item != null && item.def == TorannMagicDefOf.TM_Artifact_OrbOfSouls_Full)
                 {
                     item.SplitOff(1).Destroy(DestroyMode.Vanish);
                 }
             }
         }
         CompAbilityUser comp = this.CasterPawn.GetComp <CompAbilityUser>();
         if (comp != null)
         {
             comp.RemoveApparelAbility(TorannMagicDefOf.TM_Artifact_TraitInfuse);
         }
     }
 }