here some skills :P why only Mage? cuz you got a Mage char only atm :P
all skills make ~31 dmg cuz i have write to all skills 31 dmg ^^
SkillHandle.cs
Code:
RegisterSkillRequest(3, Race.Mage, new OnSkillRequest(IceSkillRequest));
RegisterSkillExecute(3, Race.Mage, new OnSkillExecute(IceSkillExecute));
RegisterSkillRequest(2, Race.Mage, new OnSkillRequest(FireSkillRequest));
RegisterSkillExecute(2, Race.Mage, new OnSkillExecute(FireSkillExecute));
RegisterSkillRequest(9, Race.Mage, new OnSkillRequest(shockwaveSkillRequest));
RegisterSkillExecute(9, Race.Mage, new OnSkillExecute(shockwaveSkillExecute));
RegisterSkillRequest(27, Race.Mage, new OnSkillRequest(FrostBlastSkillRequest));
RegisterSkillExecute(27, Race.Mage, new OnSkillExecute(FrostBlastSkillExecute));
RegisterSkillRequest(42, Race.Mage, new OnSkillRequest(ThunderLitningSkillRequest));
RegisterSkillExecute(42, Race.Mage, new OnSkillExecute(ThunderLitningSkillExecute));
SkillHandle.cs
Code:
public static void IceSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 3));
}
public static void IceSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 3, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void FireSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 2));
}
public static void FireSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 2, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void shockwaveSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 9));
}
public static void shockwaveSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 9, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void FrostBlastSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 27));
}
public static void FrostBlastSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 27, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void ThunderLitningSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 42));
}
public static void ThunderLitningSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 42, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
Packets.cs
Code:
SetCapacity(17);
streamWriter.Write((byte)8); // Number of skills that are send
streamWriter.Write((byte)3); // SkillID: 3
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)2); // SkillID: 2
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)9); // SkillID: 9
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)27); // SkillID: 27
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)42); // SkillID: 42
streamWriter.Write((byte)1); // SkillLevel 1