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); } }
public AbilitySemblance(Pawn user, SemblanceDef pdef) : base(user, pdef) { }