|
|
المشاركات 3,131 |
+التقييم 1.17 |
تاريخ التسجيل Jun 2019 |
الاقامة الزقازيق |
نظام التشغيل ويندوز 0 |
رقم العضوية 279 |
case 12080:
#region SuperTwofoldBlade 100%
case 12080:
{
if (CanUseSpell(spell, attacker.Owner))
{
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= 5)
{
PrepareSpell(spell, attacker.Owner);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
InLineAlgorithm ila = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
bool aaAttack = false;
var Array = attacker.Owner.Screen.Objects;
foreach (Interfaces.IMapObject _obj in Array)
{
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Player;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 5)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.InteractType == MsgInteract.Melee))
{
MsgMagicEffect.DamageClass SpellObj;
aaAttack = true;
if (attacked.PlayerFlag == PlayerFlag.Player)
{
Physical.OnPlayer(attacker, attacked, spell, out SpellObj, ref attack);
ReceiveAttack(attacker, attacked, attack, ref SpellObj.Damage, spell);
suse.AddTarget(attacked.UID, SpellObj.Damage, attack);
if (attacker.Owner.Spells.ContainsKey(11230) && !attacked.Dead && attacker.BattlePower < attacked.BattlePower)
{
var s = attacker.Owner.Spells[11230];
var spellz = SpellTable.SpellInformations[s.ID][s.Level];
if (spellz != null)
{
if (Kernel.Rate(spellz.Percent))
{
MsgMagicEffect ssuse = new MsgMagicEffect(true);
ssuse.Attacker = attacker.UID;
ssuse.SpellID = spellz.ID;
ssuse.SpellLevel = spellz.Level;
if (attacked.PlayerFlag == PlayerFlag.Player)
{
Physical.OnPlayer(attacker, attacked, spell, out SpellObj, ref attack);
}
else
{
SpellObj.Damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
}
ssuse.AddTarget(attacked.UID, new MsgMagicEffect.DamageClass().Damage = SpellObj.Damage, attack);
ReceiveAttack(attacker, attacked, attack, ref SpellObj.Damage, spellz);
attacker.Owner.SendScreen(ssuse, true);
}
}
}
}
else
{
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
else if (ila.InLine(attacked.X, attacked.Y))
{
if (CanAttack(attacker, attacked, spell, attack.InteractType == MsgInteract.Melee))
{
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
#region Attacks by Gad
//Attacks by Gad
#region King attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.8);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.9);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.95);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 2.0);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 2.05);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.King && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 2.1);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region prince attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.8);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.9);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.95);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 2.0);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Prince && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 2.05);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region duke attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.5);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.8);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.9);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 1.95);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Duke && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 2.0);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region Earl attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.45);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.5);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.8);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 1.9);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Earl && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 1.95);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region Baron attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.4);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.45);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.5);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 1.8);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Baron && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 1.9);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region knight attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.35);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.4);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.45);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.5);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 1.6);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Knight && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 1.8);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#region Serf attack by Gad
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.King)
{
damage = (uint)(damage * 1.3);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Prince)
{
damage = (uint)(damage * 1.35);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Duke)
{
damage = (uint)(damage * 1.4);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Earl)
{
damage = (uint)(damage * 1.45);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Baron)
{
damage = (uint)(damage * 1.5);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Knight)
{
damage = (uint)(damage * 1.55);
}
if (attacked.PlayerFlag == PlayerFlag.Player && attacker.NobilityRank == NobilityRank.Serf && attacked.NobilityRank == NobilityRank.Serf)
{
damage = (uint)(damage * 1.6);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KingStage
#endregion
#endregion
MsgMagicEffect.DamageClass SpellObj;
aaAttack = true;
if (attacked.PlayerFlag == PlayerFlag.Player)
{
Physical.OnPlayer(attacker, attacked, spell, out SpellObj, ref attack);
ReceiveAttack(attacker, attacked, attack, ref SpellObj.Damage, spell);
suse.AddTarget(attacked.UID, SpellObj.Damage, attack);
if (attacker.Owner.Spells.ContainsKey(11230) && !attacked.Dead)
{
var s = attacker.Owner.Spells[11230];
var spellz = SpellTable.SpellInformations[s.ID][s.Level];
if (spellz != null)
{
if (Kernel.Rate(spellz.Percent))
{
MsgMagicEffect ssuse = new MsgMagicEffect(true);
ssuse.Attacker = attacker.UID;
ssuse.SpellID = spellz.ID;
ssuse.SpellLevel = spellz.Level;
if (attacked.PlayerFlag == PlayerFlag.Player)
{
Physical.OnPlayer(attacker, attacked, spell, out SpellObj, ref attack);
}
else
{
SpellObj.Damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
}
// Physical.OnMonster(attacker, attacked, spellz, out SpellObj, ref attack);
ssuse.AddTarget(attacked.UID, new MsgMagicEffect.DamageClass().Damage = SpellObj.Damage, attack);
ReceiveAttack(attacker, attacked, attack, ref SpellObj.Damage, spellz);
attacker.Owner.SendScreen(ssuse, true);
}
}
}
}
else
{
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (attackedsob == null) continue;
if (attackedsob.UID == Target)
{
if (CanAttack(attacker, attackedsob, spell))
{
aaAttack = true;
uint damage = Calculate.Melee(attacker, attackedsob, ref attack);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob.UID, damage, attack);
}
}
}
}
if (aaAttack)
attacker.Owner.SendScreen(suse, true);
}
}
break;
}
#endregion
case 12090:
#region ShadowClone
case 12090:
{
if (CanUseSpell(spell, attacker.Owner))
{
if (attacker.MyClones.Count > 0)
{
foreach (var item in attacker.MyClones.Values)
{
MsgAction data = new MsgAction(true);
data.UID = item.UID;
data.ID = MsgAction.Mode.RemoveEntity;
item.MonsterInfo.SendScreen(data);
attacker.Owner.Map.RemoveEntity(item);
attacker.Owner.Send(data);
}
attacker.MyClones.Clear();
return;
}
else
{
PrepareSpell(spell, attacker.Owner);
MsgMagicEffect spellUse = new MsgMagicEffect(true);
spellUse.Attacker = attacker.Owner.Player.UID;
spellUse.SpellID = spell.ID;
spellUse.SpellLevel = spell.Level;
spellUse.X = attacker.X;
spellUse.Y = attacker.Y;
attacker.Owner.SendScreen(spellUse, true);
Player.AddClone(attacker.Owner, "" + attacker.Name + "", 3);
Player.AddClone(attacker.Owner, "" + attacker.Name + "", 10003);
}
}
break;
}
#endregion
| الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| مشكله في سورس اسكواد | عبدو بيدو | مشكلات السيرفيرات كونكر الشخصيه | 14 | 2020-08-25 07:43 PM |
| مشكلت في الشادو | ElSaher | مشكلات السيرفيرات كونكر الشخصيه | 1 | 2020-02-09 12:15 AM |
| مشكلة الشادو كلون | nova | مشكلات السيرفيرات كونكر الشخصيه | 1 | 2019-11-23 01:36 PM |
| مشكلة اسكلة thumdercloud في سورس Fighter | Commander | تطوير سيرفرات كونكر | 7 | 2019-09-23 01:28 AM |
| مشكلة فى اسكلة بتاعت الننجا بعد ما نزلت شخصية تانية | osama | مشكلات السيرفيرات كونكر الشخصيه | 4 | 2019-08-08 09:13 PM |