case 9876:
{
#region LuckyTime
Dictionary<int, int> Targets = new Dictionary<int, int>();
Targets.Add(CSocket.Client.ID, 0);
CSocket.Client.LuckyTiming = DateTime.Now;
ConquerPacket.ToLocal(ConquerPacket.MagicAttack(CS ocket.Client.ID, Spell.ID, 0, Targets, CSocket.Client.X, CSocket.Client.Y), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
CSocket.Client.CastingPray = true;
CSocket.Client.Praying = false;
CSocket.Client.Action = 100;
CSocket.Client.LuckyTimeID = CSocket.Client.ID;
ConquerPacket.ToLocal(ConquerPacket.Status(CSocket , 2, 0, Struct.StatusTypes.StatusEffect), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
break;
#endregion
}
case 6001:
{
#region ToxicFog
Dictionary<int, int> Targets = new Dictionary<int, int>();
if (!CSocket.Client.Dead)
{
int DamagePercent = 10 + Spell.Level * 10;
foreach (ClientSocket ASocket in Nano.ClientPool.Values)
{
if (Calculation.InRange(ASocket.Client.X, ASocket.Client.Y, X, Y, 4))
{
if (CSocket.Client.ID != ASocket.Client.ID)
if (CheckMode(CSocket, ASocket, 6001))
{
int MinusHP = ASocket.Client.CurrentHP * DamagePercent / 100;
if (MinusHP <= 1)
continue;
Targets.Add(ASocket.Client.ID, MinusHP);
ASocket.Client.Poisoned = true;
ASocket.Client.Poison = new PoisonType(Spell.Level);
Calculation.doPlayer(CSocket, ASocket, 0, 2);
}
}
}
foreach (Monster Monster in Nano.Monsters.Values)
{
if (Monster.Map == (int)CSocket.Client.Map)
{
if (Monster.CurrentHP > 0)
{
if (Calculation.InRange(Monster.X, Monster.Y, X, Y, 4))
{
int MinusHP = Monster.CurrentHP * DamagePercent / 100;
if (MinusHP <= 1)
continue;
if (Nano.Guards.ContainsKey(Monster.UID))
continue;
Targets.Add(Monster.UID, MinusHP);
Monster.Poisoned = true;
Calculation.doMonster(Monster, 0, 2, CSocket);
ConquerPacket.ToLocal(ConquerPacket.Status(Monster .UID, 2, 2, Struct.StatusTypes.StatusEffect), Monster.X, Monster.Y, Monster.Map, 0, 0);
Monster.Poison = new PoisonType(Spell.Level);
}
}
}
}
foreach (Monster Guard in Nano.Guards.Values)
{
if (Guard.Map == (int)CSocket.Client.Map)
{
if (CSocket.Client.PKMode == Struct.PkType.PK || CSocket.Client.PKMode == Struct.PkType.Team)
{
if (Calculation.InRange(Guard.X, Guard.Y, X, Y, 4))
{
int MinusHP = Guard.CurrentHP * DamagePercent / 100;
if (MinusHP <= 1)
continue;
Guard.Poisoned = true;
Targets.Add(Guard.UID, MinusHP);
Calculation.doMonster(Guard, 0, 2, CSocket);
ConquerPacket.ToLocal(ConquerPacket.Status(Guard.U ID, 2, 2, Struct.StatusTypes.StatusEffect), Guard.X, Guard.Y, Guard.Map, 0, 0);
Guard.Poison = new PoisonType(Spell.Level);
}
}
}
}
foreach (SummonGuard Guard in Nano.SummonedGuards.Values)
{
if (Guard.Map == (int)CSocket.Client.Map)
{
if (CSocket.Client.Guard != null)
{
if (Guard.UID != CSocket.Client.Guard.UID)
{
if (CSocket.Client.PKMode == Struct.PkType.PK || CSocket.Client.PKMode == Struct.PkType.Team)
{
if (Calculation.InRange(Guard.X, Guard.Y, X, Y, 4))
{
int MinusHP = Guard.CurrentHP * DamagePercent / 100;
if (MinusHP <= 1)
continue;
Guard.Poisoned = true;
Targets.Add(Guard.UID, MinusHP);
Calculation.doPlayer(CSocket, Guard, 0, 2);
ConquerPacket.ToLocal(ConquerPacket.Status(Guard.U ID, 2, 2, Struct.StatusTypes.StatusEffect), Guard.X, Guard.Y, Guard.Map, 0, 0);
Guard.Poison = new PoisonType(Spell.Level);
}
}
}
}
else
{
if (CSocket.Client.PKMode == Struct.PkType.PK || CSocket.Client.PKMode == Struct.PkType.Team)
{
if (Calculation.InRange(Guard.X, Guard.Y, X, Y, 4))
{
int MinusHP = Guard.CurrentHP * DamagePercent / 100;
if (MinusHP <= 1)
continue;
Guard.Poisoned = true;
Targets.Add(Guard.UID, MinusHP);
Calculation.doPlayer(CSocket, Guard, 0, 2);
ConquerPacket.ToLocal(ConquerPacket.Status(Guard.U ID, 2, 2, Struct.StatusTypes.StatusEffect), Guard.X, Guard.Y, Guard.Map, 0, 0);
Guard.Poison = new PoisonType(Spell.Level);
}
}
}
}
}
ConquerPacket.ToLocal(ConquerPacket.MagicAttack(CS ocket.Client.ID, Spell.ID, Spell.Level, Targets, X, Y), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
}
break;
#endregion
}
i dont know if this is ok