|
[PHP] #region WhirlwindKick
case 10415:
{
if (Time32.Now < attacker.SpellStamp.AddMilliseconds(500))
{
attacker.AttackPacket = null; return;
}
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= 400)
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = 0;
suse.X = (ushort)Kernel.Random.Next(3, 10);
suse.Y = 0;
//suse.SpellLevelHu = client_Spell.LevelHu2;
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= 500)
{
for (int c = 0; c < attacker.Owner.Screen.Objects.Length; c++)
{
//For a multi threaded application, while we go through the collection
//the collection might change. We will make sure that we wont go off
//the limits with a check.
if (c >= attacker.Owner.Screen.Objects.Length)
break;
Interfaces.IMapObject _obj = attacker.Owner.Screen.Objects[c];
if (_obj == null)
continue;
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Entity)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= spell.Range)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Ranged))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
damage = (uint)(damage * 0.570);
suse.Effect1 = attack.Effect1;
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
attacked.Stunned = true;
attacked.StunStamp = Time32.Now;
suse.AddTarget(attacked, damage, attack);
}
}
}
}
attacker.AttackPacket = null;
}
else
{
attacker.AttackPacket = null; return;
}
attacker.Owner.SendScreen(suse, true);
attacker.SpellStamp = Time32.Now;
suse.Targets = new SafeDictionary<uint, SpellUse.DamageClass>();
attacker.AttackPacket = null; return;
}
attacker.AttackPacket = null;
}
attacker.AttackPacket = null; return;
}
#endregion
#endregion
[php] #region whirlwindkick
case 10415:
{
if (time32.now < attacker.spellstamp.addmilliseconds(500))
{
attacker.attackpacket = null; return;
}
if (kernel.getdistance(attacker.x, attacker.y, x, y) <= 400)
{
if (canusespell(spell, attacker.owner))
{
preparespell(spell, attacker.owner);
spelluse suse = new spelluse(true);
suse.attacker = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = 0;
suse.x = (ushort)kernel.random.next(3, 10);
suse.y = 0;
//suse.spelllevelhu = client_spell.levelhu2;
if (kernel.getdistance(attacker.x, attacker.y, x, y) <= 500)
{
for (int c = 0; c < attacker.owner.screen.objects.length; c++)
{
//for a multi threaded application, while we go through the collection
//the collection might change. We will make sure that we wont go off
//the limits with a check.
If (c >= attacker.owner.screen.objects.length)
break;
interfaces.imapobject _obj = attacker.owner.screen.objects[c];
if (_obj == null)
continue;
if (_obj.mapobjtype == mapobjecttype.monster || _obj.mapobjtype == mapobjecttype.entity)
{
attacked = _obj as entity;
if (kernel.getdistance(attacker.x, attacker.y, attacked.x, attacked.y) <= spell.range)
{
if (canattack(attacker, attacked, spell, attack.attacktype == attack.ranged))
{
var damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
damage = (uint)(damage * 0.570);
suse.effect1 = attack.effect1;
receiveattack(attacker, attacked, attack, ref damage, spell);
attacked.stunned = true;
attacked.stunstamp = time32.now;
suse.addtarget(attacked, damage, attack);
}
}
}
}
attacker.attackpacket = null;
}
else
{
attacker.attackpacket = null; return;
}
attacker.owner.sendscreen(suse, true);
attacker.spellstamp = time32.now;
suse.targets = new safedictionary<uint, spelluse.damageclass>();
attacker.attackpacket = null; return;
}
attacker.attackpacket = null;
}
attacker.attackpacket = null; return;
}
#endregion
#endregion
spell.Damage = int.Parse(line[10]);
if (spell.ID == (ushort)Game.Enums.SpellID.WhirlwindKick)
spell.Damage = spell.Damage *(100)/100;
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
أدوات الموضوع | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
استايل تون سيتي بيتباع بي 250 جنية | ahmedfathy | تطوير سيرفرات كونكر | 63 | 2024-10-31 10:39 PM |
ارجو دخول كل الناس الي شغالين بسورس اليكس | TarekMando | تطوير سيرفرات كونكر | 22 | 2024-09-27 09:17 PM |
مشكله بسورس mr.online | mahmeod | مشكلات السيرفيرات كونكر الشخصيه | 7 | 2020-05-03 10:51 AM |
لأول مرة علي النت استايل التون سيتي اللي بيتباع بي 250 جنية مجاني من احمد فتحي | ahmedfathy | تطوير سيرفرات كونكر | 24 | 2019-09-27 06:42 AM |
سيرفر DevilsEgy الاسطورة 3دي اخر اصدار من كونكر اونلين دروب 1000 كيس | AhmedTikoo | اعلانات السيرفيرات الشخصية | 2 | 2019-07-26 02:32 AM |