Mr.DeMo |
12-11-2015 12:03 AM |
حل مشكلة أسكلة الارشر
حل مشكلة اسكلة الارشر Kinetic Spark
هتفتح Handle
وتبحث عن
#region Ranged
انزل تحت شويه
هتلاقي
#region Kinetic Spark
اقفلها بالسالب
وبدلها ب ده
كود PHP:
#region Kinetic Spark if (attacker.ContainsFlag3(Update.Flags3.KineticSpark)) { var spell = Database.SpellTable.GetSpell(11590, attacker.Owner); if (spell != null) { spell.CanKill = true; if (Kernel.Rate(spell.Percent)) { SpellUse suse = new SpellUse(true); suse.Attacker = attacker.UID; suse.SpellID = spell.ID; suse.SpellLevel = spell.Level; suse.X = attacker.X; suse.Y = attacker.Y; IMapObject lastAttacked = attacker; uint p = 0; if (Handle.CanAttack(attacker, attacked, spell, false)) { lastAttacked = attacked; uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack); suse.Effect1 = attack.Effect1; { } damage = damage - damage * (p += 20) / 100; Handle.ReceiveAttack(attacker, attacked, attack, ref damage, spell); suse.AddTarget(attacked, damage, attack); } foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects) { if (_obj == null) continue; if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player) { if (_obj.UID == attacked.UID) continue; var attacked1 = _obj as Entity; if (Kernel.GetDistance(lastAttacked.X, lastAttacked.Y, attacked1.X, attacked1.Y) <= 5) { if (Handle.CanAttack(attacker, attacked1, spell, false)) { lastAttacked = attacked1; uint damage = Game.Attacking.Calculate.Melee(attacker, attacked1, spell, ref attack); suse.Effect1 = attack.Effect1; { } damage = damage - damage * (p += 20) / 100; if (damage == 0) break; Handle.ReceiveAttack(attacker, attacked1, attack, ref damage, spell); suse.AddTarget(attacked, damage, attack); } } } else if (_obj.MapObjType == MapObjectType.SobNpc) { attackedsob = _obj as SobNpcSpawn; if (Kernel.GetDistance(lastAttacked.X, lastAttacked.Y, attackedsob.X, attackedsob.Y) <= 5) { if (Handle.CanAttack(attacker, attackedsob, spell)) { lastAttacked = attackedsob; uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack); suse.Effect1 = attack.Effect1; { } damage = damage - damage * (p += 20) / 100; if (damage == 0) break; Handle.ReceiveAttack(attacker, attackedsob, attack, damage, spell); suse.AddTarget(attackedsob, damage, attack); } } } } attacker.Owner.SendScreen(suse, true); return; } } } #endregion
[/QUOTE]
|