public bool ConsumeAura()
        {
            SemblanceDef semblanceDef = ((AbilitySemblance)Ability).SemblanceDef;

            if (semblanceDef.auraCost == 0f)
            {
                return(true);
            }
            else if (semblanceDef.auraCost > 0f && semblanceDef.auraCost >= AbilityUserCompAura.aura.currentEnergy)
            {
                return(false);
            }
            else
            {
                return(AbilityUserCompAura.aura.TryConsumeAura(semblanceDef.auraCost));
            }
        }
        public bool ConsumeAmmunition()
        {
            SemblanceDef abilityDef_RWBY = ((AbilitySemblance)Ability).SemblanceDef;
            Thing        thing           = CasterPawn.inventory.GetDirectlyHeldThings().ToList().Find(s => s.def == abilityDef_RWBY.usesAmmunition);

            if (abilityDef_RWBY.usesAmmunition == null)
            {
                return(true);
            }
            else if (abilityDef_RWBY.usesAmmunition != null && thing == null)
            {
                return(false);
            }
            else
            {
                thing.stackCount = thing.stackCount - 1;
                if (thing.stackCount == 0)
                {
                    thing.Destroy();
                }
                return(true);
            }
        }
Example #3
0
 public AbilitySemblance(Pawn user, SemblanceDef pdef) : base(user, pdef)
 {
 }