Aura.Channel.Scripting.Scripts.ItemScript.Heal C# (CSharp) Метод

Heal() защищенный Метод

Heals a certain amount of life, mana, and stamina.
protected Heal ( Creature creature, double life, double mana, double stamina, double toxicity ) : void
creature Aura.Channel.World.Entities.Creature
life double
mana double
stamina double
toxicity double
Результат void
		protected void Heal(Creature creature, double life, double mana, double stamina, double toxicity)
		{
			// Potion poisoning heal mount increase
			// http://wiki.mabinogiworld.com/view/Potion_Poisoning#Stages_of_Potion_Poisoning
			var multiplier = 1.0;
			var toxicityStage = GetToxicityStage(creature.Toxic);
			if (toxicityStage != ToxicityStage.Normal)
			{
				var rnd = RandomProvider.Get();
				switch (toxicityStage)
				{
					case ToxicityStage.Stage1: multiplier = 1.0 + rnd.NextDouble() * 0.3; break;
					case ToxicityStage.Stage2: multiplier = 1.3; break;
					case ToxicityStage.Stage3: multiplier = 1.3 + rnd.NextDouble() * 0.3; break;
					case ToxicityStage.Stage4: multiplier = 1.6; break;
					case ToxicityStage.Stage5: multiplier = 1.6 + rnd.NextDouble() * 0.4; break;
					case ToxicityStage.Stage6: multiplier = 2.0 + rnd.NextDouble() * 1.0; break;
				}

				life *= multiplier;
				mana *= multiplier;
				stamina *= multiplier;
			}

			// Friday: All potions become more potent. (Potion effect x 1.5 including toxicity).
			// +50%? Seems a lot, but that's what the Wiki says.
			if (ErinnTime.Now.Month == ErinnMonth.AlbanElved)
			{
				life *= 1.5;
				mana *= 1.5;
				stamina *= 1.5;
			}

			var beforeLife = creature.Life;
			var beforeMana = creature.Mana;
			var beforeStamina = creature.Stamina;

			creature.Life += (float)life;
			creature.Mana += (float)mana;
			creature.Stamina += (float)stamina * creature.StaminaRegenMultiplicator;

			var diffLife = creature.Life - beforeLife;
			var diffMana = creature.Mana - beforeMana;
			var diffStamina = creature.Stamina - beforeStamina;

			this.Poison(creature, diffLife, diffMana, diffStamina, toxicity);
		}