bool BuffAdd()
{
try
{
int status = rnd.Next(0, 100);
//Console.WriteLine("BuffAdd Case: " + Data.SkillBase[Character.Action.UsingSkillID].Series.Remove(Data.SkillBase[Character.Action.UsingSkillID].Series.Length - 2));
switch (Data.SkillBase[Character.Action.UsingSkillID].Series.Remove(Data.SkillBase[Character.Action.UsingSkillID].Series.Length - 2))
{
case "SKILL_CH_COLD_GIGONGTA":
if (Character.Action.ImbueID != 0) return true;
Character.Action.ImbueID = Character.Action.UsingSkillID;
Character.Action.Buff.castingtime = 0;
break;
case "SKILL_CH_LIGHTNING_GIGONGTA":
if (Character.Action.ImbueID != 0) return true;
Character.Action.ImbueID = Character.Action.UsingSkillID;
Character.Action.Buff.castingtime = 0;
break;
case "SKILL_CH_FIRE_GIGONGTA":
if (Character.Action.ImbueID != 0) return true;
Character.Action.ImbueID = Character.Action.UsingSkillID;
Character.Action.Buff.castingtime = 0;
break;
case "SKILL_CH_LIGHTNING_GYEONGGONG":
Character.Speed.DefaultSpeedSkill = Character.Action.UsingSkillID;
//Character.Speed.Updateded += Data.SkillBase[Character.Action.UsingSkillID].Properties1["hste"];
//Player_SetNewSpeed();
Send(Packet.SetSpeed(Character.Information.UniqueID, Character.Speed.WalkSpeed, Character.Speed.RunSpeed));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_LIGHTNING_GWANTONG":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.UpdatededMagAttack += Data.SkillBase[Character.Action.UsingSkillID].Properties2["dru"]; //* (Character.Stat.MaxMagAttack / 100);
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_LIGHTNING_JIPJUNG":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.Parry += Data.SkillBase[Character.Action.UsingSkillID].Properties1["er"];
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_FIRE_GONGUP":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.UpdatededPhyAttack += Data.SkillBase[Character.Action.UsingSkillID].Properties1["dru"];
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_FIRE_GANGGI":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.MagDef += Data.SkillBase[Character.Action.UsingSkillID].Properties2["defp"];
Character.Stat.uMagDef += Data.SkillBase[Character.Action.UsingSkillID].Properties2["defp"];
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_COLD_GANGGI":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.PhyDef += Data.SkillBase[Character.Action.UsingSkillID].Properties1["defp"];
Character.Stat.uPhyDef += Data.SkillBase[Character.Action.UsingSkillID].Properties1["defp"];
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 2500;
break;
case "SKILL_CH_COLD_SHIELD":
if (Timer.Attack != null) StopAttackTimer();
Character.Stat.Absorb_mp = Data.SkillBase[Character.Action.UsingSkillID].Properties1["dgmp"];
client.Send(Packet.PlayerStat(Character));
Character.Action.Buff.castingtime = 0;
break;
case "SKILL_CH_SPEAR_SPIN":
//if (Data.SkillBase[Character.Action.UsingSkillID].Properties1[""] == 0)
//{
Character.Stat.MagDef += Data.SkillBase[Character.Action.UsingSkillID].Properties2["defp"];
Character.Stat.uMagDef += Data.SkillBase[Character.Action.UsingSkillID].Properties2["defp"];
client.Send(Packet.PlayerStat(Character));
//}
break;
case "SKILL_CH_SWORD_SHIELD":
//if (Data.SkillBase[Character.Action.UsingSkillID].Properties4 != 7)
//{
Character.Stat.PhyDef += Data.SkillBase[Character.Action.UsingSkillID].Properties1["defp"];
Character.Stat.uPhyDef += Data.SkillBase[Character.Action.UsingSkillID].Properties1["defp"];
client.Send(Packet.PlayerStat(Character));
//}
break;
case "SKILL_CH_SWORD_SHIELDPD":
break;
case "SKILL_CH_BOW_CALL":
StopAttackTimer();
//if (Data.SkillBase[Character.Action.UsingSkillID].Properties4["summ"] == 0)
//Character.Stat.AttackPower += Data.SkillBase[Character.Action.UsingSkillID].Properties1;
break;
case "SKILL_CH_BOW_NORMAL":
//Character.Stat.EkstraMetre += (Data.SkillBase[Character.Action.UsingSkillID].Properties1);
break;
case "SKILL_CH_WATER_SELFHEAL":
Character.Stat.SecondHp += Data.SkillBase[Character.Action.UsingSkillID].Properties1["heal"];
UpdateHp();
break;
case "SKILL_CH_WATER_HEAL":
Systems s = GetPlayer(Character.Action.Target);
if (s.Character.Stat.SecondHp + Data.SkillBase[Character.Action.UsingSkillID].Time < s.Character.Stat.Hp)
s.Character.Stat.SecondHp += Data.SkillBase[Character.Action.UsingSkillID].Time;
else
s.Character.Stat.SecondHp += s.Character.Stat.Hp - s.Character.Stat.SecondHp;
Character.Action.Buff.castingtime = (short)Data.SkillBase[Character.Action.UsingSkillID].CastingTime;
break;
case "SKILL_ETC_ARCHEMY_POTION_SPEED_":
case "SKILL_EU_BARD_SPEEDUPA_MSPEED":
Character.Speed.DefaultSpeedSkill = Character.Action.UsingSkillID;
//Character.Speed.Updateded += Data.SkillBase[Character.Action.UsingSkillID].Properties1["hste"];
//Player_SetNewSpeed();
Send(Packet.SetSpeed(Character.Information.UniqueID, Character.Speed.WalkSpeed, Character.Speed.RunSpeed));
Character.Action.Buff.castingtime = 3000;
break;
case "SKILL_EU_BARD_BATTLAA_GUARD":
break;
//////////////////////////////////////////////////////////////
// Eu buffs
//////////////////////////////////////////////////////////////
case "SKILL_EU_BARD_SPEEDUPA_HITRATE":
Character.Stat.Hit += Data.SkillBase[Character.Action.UsingSkillID].Properties2["hr"];
break;
//default:
//Console.WriteLine("Non coded skill case: " + Data.SkillBase[Character.Action.UsingSkillID].Series.Remove(Data.SkillBase[Character.Action.UsingSkillID].Series.Length - 2));
//Send(Packet.SetSpeed(Character.Information.UniqueID, Character.Speed.WalkSpeed, Character.Speed.RunSpeed));
// break;
}
}
catch (Exception ex)
{
Systems.Debugger.Write(ex);
}
return false;
}