الموضوع: حـل مشكـلة
عرض مشاركة واحدة
قديم 2019-08-20, 04:59 PM
المشاركة #8  
Tefa
  • غير متواجد
افتراضي رد: حج رايدر اسكوزمي اتفضل خش هنا
Handle.cs

سيرش

كود:
#region Stomper(Melee) 

امسحه و حط ده مكانه

كود:
 #region Stomper(Melee)
                                #region Anger-Horror-Peace~of~Stomper(Windwalker-Stomper-Passive)
                                
var lastattacked attacked;
                                var 
spell5 Database.SpellTable.GetSpell(12980attacker.Owner);
                                if (
Kernel.Rate(spell5.Percent) && attacker.Owner.Spells.ContainsKey(12980) && attacker.IsStomper2())
                                {
                                    
#region AngerofStomper
                                    
{
                                        
SpellUse suse = new SpellUse(true);
                                        
suse.Attacker attacker.UID;
                                        
suse.SpellID spell5.ID;
                                        
suse.SpellLevel spell5.Level;
                                        
suse.lastattacked.X;
                                        
suse.lastattacked.Y;
                                        foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                        {
                                            if (
_obj == null)
                                                continue;
                                            
attacked _obj as Entity;
                                            if (
attacked == null) continue;
                                            if (
Kernel.GetDistance(attacked.Xattacked.Yattacker.Xattacker.Y) <= spell5.Range)
                                            {
                                                if (
_obj.MapObjType == MapObjectType.Entity)
                                                {
                                                    if (!
CanAttack(attackerattackednullattack.AttackType == Attack.Melee)) continue;
                                                    
attack.Effect1 Attack.AttackEffects1.None;
                                                    
uint damage Game.Attacking.Calculate.Melee(attackerattackedref attack);
                                                    
suse.Effect1 attack.Effect1;
                                                    
attack.Damage 0;
                                                    
ReceiveAttack(attackerattackedattackref damagespell5);
                                                    
suse.AddTarget(attackeddamageattack);
                                                }
                                                else if (
_obj.MapObjType == MapObjectType.Monster)
                                                {
                                                    if (!
CanAttack(attackerattackednullattack.AttackType == Attack.Melee)) continue;
                                                    
uint damage Game.Attacking.Calculate.Melee(attackerattackedref attack);

                                                    
attack.Damage 0;
                                                    
ReceiveAttack(attackerattackedattackref damagespell5);
                                                    
suse.AddTarget(attackeddamageattack);
                                                }
                                            }

                                        }
                                        
attacker.AttackPacket null;
                                        
attacker.Owner.SendScreen(susetrue);

                                    }
                                    
#endregion
                                    #region HorrorofStomper
                                    
{
                                        var 
spell2 Database.SpellTable.GetSpell(12990attacker.Owner);
                                        if (!
attacker.Owner.Spells.ContainsKey(12990)) return;
                                        
attack.Damage 0;
                                        
SpellUse suse = new SpellUse(true);
                                        
suse.Attacker attacker.UID;
                                        
suse.SpellID spell2.ID;
                                        
suse.SpellLevel spell2.Level;
                                        
suse.lastattacked.X;
                                        
suse.lastattacked.Y;
                                        
attacker.AttackPacket null;
                                        
attacker.Owner.SendScreen(susetrue);
                                        
#region Flooritem
                                        
var map Kernel.Maps[attacker.MapID];
                                        
Network.GamePackets.FloorItem flooritem = new Network.GamePackets.FloorItem(true);
                                        
flooritem.UID Network.GamePackets.FloorItem.FloorUID.Next;
                                        while (
map.Npcs.ContainsKey(flooritem.UID))
                                            
flooritem.UID Network.GamePackets.FloorItem.FloorUID.Next;
                                        
flooritem.ItemID FloorItem.HorrorofStomper;
                                        
flooritem.lastattacked.X;
                                        
flooritem.lastattacked.Y;
                                        
flooritem.Type FloorItem.Effect;
                                        
flooritem.mColor 14;
                                        
flooritem.OwnerUID attacker.UID;
                                        
flooritem.OwnerGuildUID attacker.GuildID;
                                        
flooritem.FlowerType 3;
                                        
flooritem.Unknown37 1;
                                        
flooritem.X2 attacker.X;
                                        
flooritem.Y2 attacker.Y;
                                        
flooritem.Angle attacker.Facing;
                                        
flooritem.MapID map.ID;
                                        
flooritem.Attack attack;
                                        
flooritem.OnFloor Time32.Now;
                                        
flooritem.Owner attacker.Owner;
                                        
map.AddFloorItem(flooritem);
                                        
attacker.Owner.SendScreenSpawn(flooritemtrue);
                                        
#endregion
                                    
}
                                    
#endregion
                                    #region PeaceofStomper
                                    
{
                                        var 
spell3 Database.SpellTable.GetSpell(13000attacker.Owner);
                                        if (!
attacker.Owner.Spells.ContainsKey(13000)) return;
                                        
attack.Damage 0;
                                        
SpellUse suse = new SpellUse(true);
                                        
suse.Attacker attacker.UID;
                                        
suse.SpellLevel spell3.Level;
                                        
suse.SpellID spell3.ID;
                                        
suse.lastattacked.X;
                                        
suse.lastattacked.Y;
                                        
attacker.AttackPacket null;
                                        
attacker.Owner.SendScreen(susetrue);
                                        
#region Flooritem
                                        
var map Kernel.Maps[attacker.MapID];
                                        
Network.GamePackets.FloorItem flooritem = new Network.GamePackets.FloorItem(true);
                                        
flooritem.UID Network.GamePackets.FloorItem.FloorUID.Next;
                                        while (
map.Npcs.ContainsKey(flooritem.UID))
                                            
flooritem.UID Network.GamePackets.FloorItem.FloorUID.Next;
                                        
flooritem.ItemID FloorItem.PeaceofStomper;
                                        
flooritem.lastattacked.X;
                                        
flooritem.lastattacked.Y;
                                        
flooritem.X2 attacker.X;
                                        
flooritem.Y2 attacker.Y;
                                        
flooritem.Type FloorItem.Effect;
                                        
flooritem.mColor 14;
                                        
flooritem.OwnerUID attacker.UID;
                                        
flooritem.OwnerGuildUID attacker.GuildID;
                                        
flooritem.FlowerType 3;
                                        
flooritem.Unknown37 1;
                                        
flooritem.MapID map.ID;
                                        
flooritem.Attack attack;
                                        
flooritem.OnFloor Time32.Now;
                                        
flooritem.Owner attacker.Owner;
                                        
map.AddFloorItem(flooritem);
                                        
attacker.Owner.SendScreenSpawn(flooritemtrue);
                                        
#endregion
                                    
}
                                    
#endregion
                                    
return;
                                }
                                
#endregion
                                
else if (attacker.Class >= 160&&attacker.Class <= 165)
                                {
                                    
#region Sector-Circle-Rectangle(Windwalker-Stomper-Melee)
                                    
if (attack.SpellID == 13040 || attack.SpellID == 13050 || attack.SpellID == 13060)
                                    {
                                        
#region Sector
                                        
if (attack.SpellID == 13040)
                                        {
                                            var 
spell Database.SpellTable.GetSpell(13040attacker.Owner);
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker attacker.UID;
                                            
suse.SpellID attack.SpellID;
                                            
suse.attacker.X;
                                            
suse.attacker.Y;
                                            var 
angle Kernel.GetAngle(attacker.Xattacker.Yattacked.Xattacked.Y);
                                            
Map.UpdateCoordonatesForAngle(ref Xref Yangle);
                                            
Fan sector = new Fan(attacker.Xattacker.YXYspell.Rangespell.Sector);
                                            if (
Kernel.GetDistance(attacker.Xattacker.YXY) <= 7)
                                            {
                                                foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                                {
                                                    if (
_obj.MapObjType == MapObjectType.Entity || _obj.MapObjType == MapObjectType.Monster)
                                                    {
                                                        if (
_obj == null)
                                                            continue;
                                                        
attacked _obj as Entity;
                                                        if (
attacked == null) continue;
                                                        if (
CanAttack(attackerattackednullattack.AttackType == Attack.Melee))
                                                        {
                                                            if (
sector.IsInFan(attacked.Xattacked.Y))
                                                            {
                                                                if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                                                {
                                                                    
attack.Effect1 Attack.AttackEffects1.None;
                                                                    
uint damage Game.Attacking.Calculate.Melee(attackerattackedspellref attack);
                                                                    
damage = (uint)(damage 0.2);
                                                                    
attack.Damage 0;
                                                                    
suse.Effect1 attack.Effect1;
                                                                    
ReceiveAttack(attackerattackedattackref damagespell);
                                                                    
suse.AddTarget(attackeddamageattack);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        
#endregion
                                        #region Circle
                                        
if (attack.SpellID == 13050)
                                        {
                                            var 
spell Database.SpellTable.GetSpell(13050attacker.Owner);
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker attacker.UID;
                                            
suse.SpellID attack.SpellID;
                                            
suse.attacker.X;
                                            
suse.attacker.Y;
                                            foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                            {
                                                if (
_obj.MapObjType == MapObjectType.Entity || _obj.MapObjType == MapObjectType.Monster)
                                                {
                                                    if (
_obj == null)
                                                        continue;
                                                    
attacked _obj as Entity;
                                                    if (
attacked == null) continue;
                                                    if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                                    {
                                                        if (
Kernel.GetDistance(attacked.Xattacked.Yattacker.Xattacker.Y) > 5) continue;
                                                        
attack.Effect1 Attack.AttackEffects1.None;
                                                        
uint damage Game.Attacking.Calculate.Melee(attackerattackedref attack);
                                                        
damage = (uint)(damage 0.4);
                                                        
attack.Damage 0;
                                                        
ReceiveAttack(attackerattackedattackref damagespell);
                                                        
suse.AddTarget(attackeddamageattack);
                                                    }
                                                }
                                            }
                                            
attacker.Owner.SendScreen(susetrue);
                                            return;
                                        }
                                        
#endregion
                                        #region Rectangle
                                        
if (attack.SpellID == 13060)
                                        {
                                            var 
spell Database.SpellTable.GetSpell(13060attacker.Owner);
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker attacker.UID;
                                            
suse.SpellID attack.SpellID;
                                            
suse.attacker.X;
                                            
suse.attacker.Y;
                                            var 
angle Kernel.GetAngle(attacker.Xattacker.Yattacked.Xattacked.Y);
                                            
Map.UpdateCoordonatesForAngle(ref Xref Yangle);
                                            
Fan sector = new Fan(attacker.Xattacker.YXYspell.Rangespell.Sector);
                                            
uint damage2 Game.Attacking.Calculate.Melee(attackerattackedref attack);
                                            
attack.Damage 0;
                                            if (
CanAttack(attackerattackedspellattack.AttackType == Attack.Melee))
                                            {
                                                
ReceiveAttack(attackerattackedattackref damage2spell);
                                                
suse.AddTarget(attackeddamage2attack);
                                                foreach (
Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
                                                {
                                                    if (
_obj.MapObjType == MapObjectType.Entity || _obj.MapObjType == MapObjectType.Monster)
                                                    {
                                                        if (
_obj == null)
                                                            continue;
                                                        
attacked _obj as Entity;
                                                        if (
attacked == null) continue;

                                                        if (
sector.IsInFan(attacked.Xattacked.Y))
                                                        {
                                                            if (
Kernel.GetDistance(attacked.Xattacked.Yattacker.Xattacker.Y) > 7) continue;
                                                            
attack.Effect1 Attack.AttackEffects1.None;
                                                            
uint damage Game.Attacking.Calculate.Melee(attackerattackedref attack);
                                                            
damage = (uint)(damage 0.2);
                                                            
attack.Damage 0;
                                                            
ReceiveAttack(attackerattackedattackref damagespell);
                                                            
suse.AddTarget(attackeddamageattack);
                                                        }
                                                    }
                                                }
                                            }
                                            
attacker.Owner.SendScreen(susetrue);
                                            return;
                                        }
                                        
#endregion
                                    
}
                                    
#endregion

                                
}
                                
#endregion