Aura.Channel.Skills.Magic.LightningRod.OnCreatureAttackedByPlayer C# (CSharp) Method

OnCreatureAttackedByPlayer() public method

Training, called when someone attacks something.
public OnCreatureAttackedByPlayer ( TargetAction action ) : void
action TargetAction
return void
		public void OnCreatureAttackedByPlayer(TargetAction action)
		{
			// Check if skill used is LightningRod
			if (action.AttackerSkillId != SkillId.LightningRod)
				return;

			// Get skill
			var attackerSkill = action.Attacker.Skills.Get(SkillId.LightningRod);
			if (attackerSkill == null) return; // Should be impossible.

			// Learning by attacking
			switch (attackerSkill.Info.Rank)
			{
				case SkillRank.RF:
				case SkillRank.RE:
					attackerSkill.Train(2); // Attack an enemy
					break;
				case SkillRank.RD:
				case SkillRank.RC:
					attackerSkill.Train(2); // Attack an enemy
					if (action.Attacker.Temp.LightningRodFullCharge) attackerSkill.Train(3); // Attack an Enemy with a Max Charge
					break;
				case SkillRank.RB:
				case SkillRank.RA:
				case SkillRank.R9:
				case SkillRank.R8:
				case SkillRank.R7:
				case SkillRank.R6:
				case SkillRank.R5:
				case SkillRank.R4:
				case SkillRank.R3:
				case SkillRank.R2:
				case SkillRank.R1:
					if (action.Creature.IsDead) attackerSkill.Train(2); // Defeat an enemy
					if (action.Creature.IsDead && action.Attacker.Temp.LightningRodFullCharge) attackerSkill.Train(3); // Defeat an Enemy with a Max Charge
					break;
			}
		}