|
case (ushort)Enums.SpellID.CrackingShock:
case (ushort)Enums.SpellID.CrackingShock:
{
MsgSpellAnimation MsgSpell = new MsgSpellAnimation(user.Entity.UID
, 0, Attack.X, Attack.Y, ClientSpell.ID
, ClientSpell.Level, ClientSpell.UseSpellSoul);
uint Experience = 0;
foreach (Interfaces.IMapObject target in user.Screen.Objects)
{
if (target.MapObjType == MapObjectType.Monster)
{
Game.Entity attacked = target as Game.Entity;
if (Calculate.Base.GetDistance(Attack.X, Attack.Y, attacked.X, attacked.Y) < DBSpell.Range / 3)
{
if (CheckAttack.CanAttackMonster.Verified(user, attacked, DBSpell))
{
MsgSpellAnimation.SpellObj AnimationObj;
Calculate.Physical.OnMonster(user.Entity, attacked, DBSpell, out AnimationObj);
AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
Experience += ReceiveAttack.Monster.Execute(stream, AnimationObj, user, attacked);
user.MessageBox("100");
MsgSpell.Targets.Enqueue(AnimationObj);
}
}
}
}
foreach (Interfaces.IMapObject targer in user.Screen.Objects)
{
var attacked = targer as Game.Entity;
if (targer.MapObjType == MapObjectType.Entity && user.Entity.UID != targer.UID)
{
if (Calculate.Base.GetDistance(Attack.X, Attack.Y, attacked.X, attacked.Y) < DBSpell.Range / 3)
{
if (CheckAttack.CanAttackPlayer.Verified(user, attacked, DBSpell))
{
MsgSpellAnimation.SpellObj AnimationObj;
Calculate.Physical.OnPlayer(user.Entity, attacked, DBSpell, out AnimationObj);
AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
AnimationObj.Damage = AnimationObj.Damage * 20 / 100;
ReceiveAttack.Player.Execute(stream, AnimationObj, user, attacked);
MsgSpell.Targets.Enqueue(AnimationObj);
}
}
}
}
foreach (Interfaces.IMapObject targer in user.Screen.Objects)
{
if (targer.MapObjType == MapObjectType.SobNpc)
{
var attacked = targer as Network.GamePackets.SobNpcSpawn;
if (Calculate.Base.GetDistance(Attack.X, Attack.Y, attacked.X, attacked.Y) < DBSpell.Range / 3)
{
if (CheckAttack.CanAttackNpc.Verified(user, attacked, DBSpell))
{
MsgSpellAnimation.SpellObj AnimationObj;
Calculate.Physical.OnNpcs(user.Entity, attacked, DBSpell, out AnimationObj);
AnimationObj.Damage = Calculate.Base.CalculateSoul(AnimationObj.Damage, ClientSpell.UseSpellSoul);
Experience += ReceiveAttack.Npc.Execute(stream, AnimationObj, user, attacked);
MsgSpell.Targets.Enqueue(AnimationObj);
}
}
}
}
Updates.IncreaseExperience.Up(stream, user, Experience);
Updates.UpdateSpell.CheckUpdate(stream, user, Attack, Experience, DBSpells);
MsgSpell.SetStream(stream); MsgSpell.Send(user);
break;
}
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
قــنــبــلة فـ عــاالـم البــرايـفــت ســوورس Fighter | LyokaWarior | سورسات كونكر | 420 | يوم أمس 08:46 AM |
ســوورس الاسطـوورة ميغـلاش علـيكووم .. | ahmedfathy | سورسات كونكر | 139 | 2024-06-14 06:36 PM |
سورس fighter بعد التعديل :] | محمودمحمدسالم | سورسات كونكر | 91 | 2024-05-08 02:59 AM |
مشكلة اسكلة thumdercloud في سورس Fighter | Commander | تطوير سيرفرات كونكر | 7 | 2019-09-23 01:28 AM |
بخـصــووص ســوورس رايـززوو | nova | مشكلات السيرفيرات كونكر الشخصيه | 4 | 2019-08-10 04:35 PM |