رد: مشكلة في اسكلة SuperTwofoldBlade
احسن عشان بتفتري علي الوحوش ههههههه
Handle.cs
بدل الاسكله ب دي و متنساش تغير اسم بروجيكت
كود PHP:
#region SuperTwofoldBlade case 12080: { if (CanUseSpell(spell, attacker.Owner)) { //var dis = spell.Distance; //if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= dis) if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance) { PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true); suse.Attacker = attacker.UID; suse.SpellID = spell.ID; suse.SpellLevel = spell.Level; suse.X = X; suse.Y = Y; //suse.SpellLevelHu = client_Spell.UseSpell; Game.Attacking.InLineAlgorithm ila = new KhaledMohamed.Game.Attacking.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) { attacked = _obj as Entity; if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 7) { if (attacked.UID == Target) { if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { aaAttack = true; var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, client_Spell.LevelHu2); damage = (uint)(damage * 1.4); ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack); } } else if (ila.InLine(attacked.X, attacked.Y)) { if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { aaAttack = true; var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, client_Spell.LevelHu2); damage = (uint)(damage * 0.1); ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack); } } } } else if (_obj.MapObjType == MapObjectType.Entity) { attacked = _obj as Entity; if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 7) { if (attacked.UID == Target) { if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { aaAttack = true; var damage = Game.Attacking.Calculate.Ranged(attacker, attacked, ref attack, client_Spell.LevelHu2); damage = (uint)(damage * 80 / 100); ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack); } } } } else if (_obj.MapObjType == MapObjectType.SobNpc) { attackedsob = _obj as SobNpcSpawn; if (attackedsob.UID == Target) { if (CanAttack(attacker, attackedsob, spell)) { aaAttack = true; // if (!moveIn.InRange(attackedsob.X, attackedsob.Y, 4, ranger)) // continue; var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack); damage = (uint)(damage * 2.4); ReceiveAttack(attacker, attackedsob, attack, damage, spell); suse.AddTarget(attackedsob, damage, attack); } } } } if (aaAttack) attacker.Owner.SendScreen(suse, true); attacker.SpellStamp = Time32.Now; //attacker.RadiantStamp = DateTime.Now; }
} break; }
#endregion
|