Aura.Channel.Skills.Base.MagicBolt.CustomPrepareUsage C# (CSharp) Метод

CustomPrepareUsage() публичный Метод

Custom usage of resources on Prepare, to account for chain casting.
public CustomPrepareUsage ( Creature creature, Skill skill ) : void
creature Aura.Channel.World.Entities.Creature
skill Skill
Результат void
		public void CustomPrepareUsage(Creature creature, Skill skill)
		{
			var cost = skill.RankData.ManaPrepare;
			if (cost == 0)
				return;

			var addedStacks = Math.Min(skill.RankData.StackMax - skill.Stacks, skill.RankData.Stack + creature.GetChainCastLevel(skill.Info.Id));
			cost *= addedStacks;

			var castTime = skill.GetCastTime();
			if (castTime == 0)
			{
				creature.Mana += cost;
				Send.StatUpdate(creature, StatUpdateType.Private, Stat.Mana);
			}
			else
			{
				var perSecond = (float)(cost / Math.Ceiling(castTime / 1000f) * (skill.RankData.NewLoadTime / 1000f));
				var seconds = (int)(Math.Ceiling(castTime / 1000f) * 1000);

				creature.Regens.Add(Stat.Mana, perSecond, creature.ManaMax, seconds);
			}
		}
	}