احصائياتى

الردود
6

المشاهدات
999
 
Rider
.:: نائب المدير ::.

    غير متواجد

المشاركات
2,604

+التقييم
0.97

تاريخ التسجيل
Jul 2019

الاقامة

نظام التشغيل

رقم العضوية
358
2019-10-29, 06:39 PM
المشاركة 1
2019-10-29, 06:39 PM
المشاركة 1
افتراضي ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
Monstertable.cs
search

كود:
  public void Drop(Game.Entity killer) 

add

كود:
  if (killer.Name == "Thundercloud") return; 


كود:
Calculate.cs 

search

كود:
 public static void Refinary(Entity attacker, Entity attacked, ref double Damage, ref Attack Packet, bool magic = false) 

add

كود:
if (attacker.Name == "Thundercloud") return; 

handle.cs
search

كود:
 private void Execute()
        { 

add

كود:
 if (attacker.Name != "Thundercloud")
                    {
                        if (
Constants.PKForbiddenMaps.Contains(attacker.MapID))
                            return;
                    }
                    
#region ThunderCloud
                    
if (attacker.Name == "Thundercloud")
                    {
                        
Console.WriteLine("Test 1");
                        if (
Kernel.GamePool.ContainsKey(attacker.OwnerUID))
                        {
                            
Console.WriteLine("Test 2");
                            var 
owner = Kernel.GamePool[attacker.OwnerUID];
                            var 
spell = Database.SpellTable.GetSpell(12840, owner);
                            var 
spell2 = Database.SpellTable.GetSpell(12970, owner);
                            
byte percent = 0;
                            if (
spell2 != null)
                            {
                                if (
spell2.Level == 0) percent = 130;
                                if (
spell2.Level == 1) percent = 140;
                                if (
spell2.Level == 2) percent = 150;
                                if (
spell2.Level == 3) percent = 160;
                                if (
spell2.Level == 4) percent = 170;
                                if (
spell2.Level == 5) percent = 180;
                                if (
spell2.Level == 6) percent = 200;
                            }
                            
attack = new Attack(true);
                            
attack.Attacker = attacker.UID;
                            
attack.Attacked = attacked.UID;
                            
attack.AttackType = Network.GamePackets.Attack.Kill;
                            
attack.X = attacked.X;
                            
attack.Y = attacked.Y;
                            
attack.Damage = 1;
                            
uint damage2 = (uint)(Calculate.Melee(owner.Player, attacked, ref attack) * spell.FirstDamage / 100);
                            if (
attacker.SpawnPacket[50] == 128)//ThunderBolt
                                
damage2 = (uint)(damage2 * percent / 100);
                            
SpellUse suse2 = new SpellUse(true);
                            
suse2.Attacker = attacker.UID;
                            
suse2.Attacker1 = attacked.UID;
                            
suse2.SpellID = 13190;
                            
suse2.X = attacked.X;
                            
suse2.Y = attacked.Y;
                            
suse2.AddTarget(attacked, damage2, attack);
                            
attacker.MonsterInfo.SendScreen(suse2);
                            if (
attacked.Hitpoints <= damage2)
                            {
                                
attacked.Die(attacker);
                                
attack.ResponseDamage = damage2;
                                
attacker.MonsterInfo.SendScreen(attack);
                            }
                            else
                            {
                                
attacked.Hitpoints -= damage2;
                            }
                            return;
                        }
                        else
                            return;
                    }
                    
#endregion
                    #region ThunderCloudSight
                    
if (attacker != null && Kernel.Maps[attacker.MapID] != null)
                    {
                        foreach (var 
th in Kernel.Maps[attacker.MapID].Entities.Values.Where(i => i.Name == "Thundercloud"))
                        {
                            if (
th.OwnerUID == attacked.UID)
                            {
                                if (
attacker == null || Kernel.GetDistance(attacker.X, attacker.Y, th.X, th.Y) > th.MonsterInfo.AttackRange || attacker.Dead) break;
                                
th.MonsterInfo.InSight = attacker.UID;
                                break;
                            }
                        }
                    }
                    
#endregion 

search

كود:
 if (attacker.MonsterInfo.SpellID == 0) 

فوق

كود:
 uint damage = Calculate.MonsterDamage(attacker, attacked, ref attack, false); 

add

كود:
 #region ThunderCloud
                        
if (attacker.Name == "Thundercloud")
                        {
                            if (
Kernel.GamePool.ContainsKey(attacker.OwnerUID))
                            {
                                var 
owner = Kernel.GamePool[attacker.OwnerUID];
                                var 
spell = Database.SpellTable.GetSpell(12840, owner);
                                var 
spell2 = Database.SpellTable.GetSpell(12970, owner);
                                
uint damage2 = (uint)(Calculate.Melee(owner.Player, attacked, ref attack, 0) * (spell.Level < 8 ? spell.FirstDamage : 50) / 100);
                                if (
attacker.SpawnPacket[50] == 128)
                                    
damage2 = (uint)(damage2 * spell2.FirstDamage);
                                
SpellUse suse2 = new SpellUse(true);
                                
suse2.Attacker = attacker.UID;
                                
suse2.Attacker1 = attacked.UID;
                                
suse2.SpellID = 13190;
                                
suse2.X = attacked.X;
                                
suse2.Y = attacked.Y;
                                
suse2.AddTarget(attacked, damage2, attack);
                                
attacker.MonsterInfo.SendScreen(suse2);
                                if (
attacked.Hitpoints <= damage2)
                                {
                                    
attacked.Die(attacker);
                                    
attack = new Attack(true);
                                    
attack.Attacker = attacker.UID;
                                    
attack.Attacked = attacked.UID;
                                    
attack.AttackType = Network.GamePackets.Attack.Kill;
                                    
attack.X = attacked.X;
                                    
attack.Y = attacked.Y;
                                    
attack.Damage = 1;
                                    
attack.ResponseDamage = damage2;
                                    
attacker.MonsterInfo.SendScreen(attack);
                                }
                                else
                                {
                                    
attacked.Hitpoints -= damage2;
                                }
                                return;
                            }
                            else
                                return;
                        }
                        
#endregion 

الاسكلتين

كود:
  #region ThunderCloud[Chaser]
                                
case 12840:
                                    {
                                        if (
CanUseSpell(spell, attacker.Owner))
                                        {
                                            
attacker.GreenEffect = 10;
                                            
PrepareSpell(spell, attacker.Owner);
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker = attacker.UID;
                                            
suse.Attacker1 = attacker.UID;
                                            
suse.SpellID = spell.ID;
                                            
suse.SpellLevel = spell.Level;
                                            var 
cl = new WindWalker.ThunderCloud(attacker.Owner, attack.X, attack.Y);
                                            
suse.AddTarget(cl.UID, 0, null);
                                            
attacker.Owner.SendScreen(suse, true);
                                        }
                                        break;
                                    }
                                
#endregion
                                #region ThunderBolt[Chaser]
                                
case 12970:
                                    {
                                        if (
CanUseSpell(spell, attacker.Owner))
                                        {
                                            
//attacker.GreenEffect = 10;
                                            
PrepareSpell(spell, attacker.Owner);
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker = attacker.UID;
                                            
suse.Attacker1 = attacker.UID;
                                            
suse.SpellID = spell.ID;
                                            
suse.SpellLevel = spell.Level;
                                            
suse.AddTarget(attacker.UID, 0, null);
                                            
attacker.Owner.SendScreen(suse, true);
                                            foreach (var 
Cloud in attacker.Owner.Map.Clouds.Values.ToList())
                                            {
                                                
Cloud.ThunderBolt = true;
                                                
attacker.ThunderBolt = true;
                                                
//Cloud.DisposeCloud2(attacker.Owner);
                                                
if (Kernel.GetDistance(Cloud.X, Cloud.Y, attacker.Owner.Player.X, attacker.Owner.Player.Y) > 16) continue;
                                                
Cloud.SendSpawn2(attacker.Owner, false);
                                                
//ThunderCloud cl = new ThunderCloud(attacker.Owner, Cloud.X, Cloud.Y);
                                            
}

                                        }
                                        break;
                                    }
                                
#endregion 

سيرش

كود:
 #region RevengeTaill 

add

كود:
 #region ThunderCloud
            
if (attacked.Name == "Thundercloud")
            {
                if (
spell != null && spell.ID != 0)
                {
                    if (
Kernel.Rate(75)) damage = 1;
                    else 
damage = 0;
                }
                else if (
spell == null || spell.ID == 0)
                {
                    
damage = 1;
                }
            }
            foreach (var 
th in Kernel.Maps[attacker.MapID].Entities.Values.Where(i => i.Name == "Thundercloud"))
            {
                if (
th.UID == attacked.UID)
                {
                    if (
attacker == null || Kernel.GetDistance(attacker.X, attacker.Y, th.X, th.Y) > th.MonsterInfo.AttackRange || attacker.Dead) break;
                    
th.MonsterInfo.InSight = attacker.UID;
                    break;
                }
            }
            
#endregion 

search

كود:
attacked.Owner.LoadItemStats(); 

تحتها
add

كود:
 #region ThunderCloud
            
foreach (var th in Kernel.Maps[attacker.MapID].Entities.Values.Where(i => i.Name == "Thundercloud"))
            {
                if (
th.OwnerUID == attacker.UID)
                {
                    if (
attacked == null || Kernel.GetDistance(attacked.X, attacked.Y, th.X, th.Y) > th.MonsterInfo.AttackRange || attacked.Dead) break;
                    
th.MonsterInfo.InSight = attacked.UID;
                    break;
                }
            }
            
#endregion 

search

كود:
public static bool CanAttack(Game.Entity attacker, Game.Entity attacked, Database.SpellInformation spell, bool melee) 

add

كود:
 #region ThunderCloud
            
if (attacked.Name == "Thundercloud")
            {
                if (
attacked.OwnerUID == attacker.UID) return false;
                if (!
Constants.PKForbiddenMaps.Contains(attacker.MapID))
                {
                    if (
attacker.PKMode != Game.Enums.PKMode.PK &&
                     
attacker.PKMode != Game.Enums.PKMode.Team)
                        return 
false;
                    else
                    {
                        
attacker.AddFlag(Network.GamePackets.Update.Flags.FlashingName);
                        
attacker.FlashingNameStamp = Time32.Now;
                        
attacker.FlashingNameTime = 20;

                        return 
true;
                    }
                }
                else return 
false;
            }
            
#endregion 

Entity.cs

search
تحتها
add

كود:
  bool _thbolt;

        public 
bool ThunderBolt
        
{
            
get
            
{
                return 
_thbolt;
            }
            
set
            
{
                if (
Cloud != null)
                    
Cloud.ThunderBolt = value;
                
_thbolt = value;
            }
        }
        public 
WindWalker.ThunderCloud Cloud; 

search

كود:
ManiacDanceStamp 

add جنبها

كود:
ThunderCloudStamp, 

search

كود:
public uint Hitpoints 

set
لحد قفلت قوس بتعها بدلهم ب دي

كود:
 set
            
{
                if (
EntityFlag == EntityFlag.Entity)
                    
Update((byte)Network.GamePackets.Update.DataType.Hitpoints, value, true);
                else if (
EntityFlag == EntityFlag.Monster)
                {
                    if (
Name != "Thundercloud")
                    {
                        var 
update = new Update(true);
                        
update.UID = UID;
                        
update.Append(Network.GamePackets.Update.Hitpoints, value);
                        
MonsterInfo.SendScreen(update);
                    }
                    else
                    {
                        var 
update = new Update(true);
                        
update.UID = UID;
                        
update.Append(Network.GamePackets.Update.Hitpoints, value / 400);
                        
MonsterInfo.SendScreen(update);
                    }
                }
                
_hitpoints = value;
                if (
Boss > 0 && Name != "Thundercloud")
                {
                    
uint key = (uint)(MaxHitpoints / 10000);
                    if (
key != 0)
                        
Writer.Write((ushort)(value / key), _Hitpoints, SpawnPacket);
                    else
                        
Writer.Write((ushort)(value * MaxHitpoints / 1000 / 1.09), _Hitpoints, SpawnPacket);
                }
                else
                    
Writer.Write((ushort)value, _Hitpoints, SpawnPacket);
                
/*   if (EntityFlag == EntityFlag.Entity)
                   {
                       if (Owner != null)
                       {
                           if (Owner.Team != null)
                           {
                               foreach (var Team in Owner.Team.Temates)
                               {
                                   AddToTeam addme = new AddToTeam();
                                   addme.UID = Owner.Entity.UID;
                                   addme.Hitpoints = (ushort)Owner.Entity.Hitpoints;
                                   addme.Mesh = Owner.Entity.Mesh;
                                   addme.Name = Owner.Entity.Name;
                                   addme.MaxHitpoints = (ushort)Owner.Entity.MaxHitpoints;
                                   Team.entry.Send(addme.ToArray());
                               }
                           }
                       }
                   }*/
            
}
        } 

enmus.cs

كود:
 Thundercloud = 12840, 

Map.cs
بعد فتحة القوس
Add

كود:
public Dictionary<uint, WindWalker.ThunderCloud> Clouds = new Dictionary<uint, WindWalker.ThunderCloud>();
        public 
void AddCloud(WindWalker.ThunderCloud entity)
        {
            if (!
this.Clouds.ContainsKey(entity.UID))
                
this.Clouds.Add(entity.UID, entity);

        } 

screen.cs
Search

كود:
Region rageofwar 

add

كود:
 #region ThunderCloud
                
foreach (var Cloud in client.Map.Clouds.Values)
                {
                    if (
Cloud == null) continue;
                    if (
Kernel.GetDistance(Cloud.X, Cloud.Y, client.Player.X, client.Player.Y) > 16) continue;
                    if (
DateTime.Now > Cloud.EndTime || Cloud.Owner == null)
                    {
                        
Cloud.DisposeCloud(client);
                        return;
                    }
                }
                
#endregion 

search

كود:
region Stamina 

Add

كود:
#region ThunderCloud
            
foreach (var Cloud in client.Map.Clouds.Values)
            {
                if (
Cloud == null) continue;
                if (
Kernel.GetDistance(Cloud.X, Cloud.Y, client.Player.X, client.Player.Y) > 16) continue;
                if (
DateTime.Now > Cloud.EndTime || Cloud.Owner == null)
                {
                    
Cloud.DisposeCloud(client);
                    return;
                }
                
#region ThunderCloud
                
if (!Cloud.Dead && Time32.Now > Cloud.LastCloudAttack.AddSeconds(Cloud.ThunderBolt == true ? 1 : 2))
                {
                    if (
client.Player.Cloud != null)
                    {
                        var 
spell = Database.SpellTable.GetSpell(12970, client);
                        
SpellUse suse = new SpellUse(true);
                        
suse.Attacker = client.Player.Cloud.UID;
                        
suse.SpellID = 13190;
                        
suse.SpellLevel = 0;
                        
suse.X = client.Player.Cloud.X;
                        
suse.Y = client.Player.Cloud.Y;
                        
Entity attacked = null;
                        foreach (
Interfaces.IMapObject _obj in client.Screen.Objects)
                        {
                            if (
_obj == null) continue;
                            if (
_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Entity)
                            {
                                
Cloud.LastCloudAttack = Time32.Now;
                                
attacked = _obj as Entity;
                                if (
Kernel.GetDistance(Cloud.X, Cloud.Y, attacked.X, attacked.Y) <= 15)
                                {
                                    
Attack attack = new Attack(true);
                                    if (
Game.Attacking.Handle.CanAttack(Cloud.Owner.Player, attacked, spell, attack.AttackType == Attack.Melee))
                                    {
                                        
attack.Effect1 = Attack.AttackEffects1.None;
                                        
uint damage = Game.Attacking.Calculate.Melee(Cloud.Owner.Player, attacked, spell, ref attack);
                                        
damage = (uint)(damage * 0.2);
                                        if (
Cloud.ThunderBolt)
                                            
damage += Game.Attacking.Calculate.Melee(Cloud.Owner.Player, attacked, Database.SpellTable.GetSpell(12970, client), ref attack);
                                        
suse.Effect1 = attack.Effect1;
                                        
Game.Attacking.Handle.ReceiveAttack(Cloud.Owner.Player, attacked, attack, ref damage, spell);
                                        
suse.AddTarget(attacked, damage, attack);
                                        break;
                                    }
                                }
                            }
                        }
                        
client.SendScreen(suse, true);
                    }
                }
                
#endregion
            
}
            
#endregion 

Search

كود:
public void Reload(Interfaces.IPacket spawnWith = null) 

Add

كود:
  #region ThunderCloud
                
foreach (var Cloud in Map.Clouds.Values)
                {
                    if (
Cloud == null) continue;
                    if (
Kernel.GetDistance(Cloud.X, Cloud.Y, Owner.Player.X, Owner.Player.Y) > 16) continue;
                    
Cloud.SendSpawn(Owner, false);
                }
                
#endregion 

Data.cs
search

كود:
public Game.Enums.ConquerAngle Facing 

فوقه
add

كود:
public ushort Thundercloud
        
{
            
get { return BitConverter.ToUInt16(Buffer, 26); }
            
set { Writer.WriteUInt16(value, 26, Buffer); }
        } 


كود:
Windwalker.cs 

add

كود:
 public class ThunderCloud
        
{
            public static 
Counter ThunderCloudCounter = new Counter(700000);
            
byte[] Buffer;
            public 
ushort X = 0, Y = 0;
            public 
uint UID = 0;
            public 
uint OwnerID;
            public 
GameState Owner;
            public 
DateTime EndTime;
            public 
bool Dead = false;
            
bool _bol;
            public 
bool ThunderBolt
            
{
                
get { return _bol; }
                
set
                
{
                    if (
value == true)
                        
Writer.WriteUInt32(128, 50, Buffer);
                    else
                        
Writer.WriteUInt32(0, 50, Buffer);
                    
_bol = value;
                }
            }
            public 
Time32 LastCloudAttack;
            public 
ThunderCloud(GameState client, ushort X, ushort Y)
            {
                
Owner = client;
                
Owner.Player.Cloud = this;
                
EndTime = DateTime.Now.AddSeconds(24);
                
this.X = X;
                
this.Y = Y;
                
OwnerID = client.Player.UID;
                
UID = ThunderCloudCounter.Next;
                
string _Name = "Thundercloud";
                
byte[] Packet_2035 = new byte[68 + 8];
                
Writer.WriteUInt16((ushort)(Packet_2035.Length - 8), 0, Packet_2035);
                
Writer.WriteUInt16(2035, 2, Packet_2035);
                
Writer.WriteUInt32(UID, 4, Packet_2035);
                
Writer.WriteUInt32(4264, 8, Packet_2035);
                
Packet_2035[12] = 3;
                
Writer.WriteUInt32(980, 16, Packet_2035);//mesh
                
Packet_2035[24] = 14;
                
Writer.WriteUInt32(22348141, 26, Packet_2035);
                
Writer.WriteString(_Name, 30, Packet_2035);
                
Buffer = new byte[8 + Game.Entity._Names + _Name.Length + 36];
                
Writer.WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer);
                
Writer.WriteUInt16(10014, 2, Buffer);
                
Writer.WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4, Buffer);
                
Writer.WriteUInt32(980, 8, Buffer);//Mesh
                
Writer.WriteUInt32(UID, 12, Buffer);//Uid
                
var seconds = System.Math.Abs((EndTime - DateTime.Now).TotalSeconds);
                
Writer.WriteUInt32((uint)((seconds * 10000) / 24), 111, Buffer);//Time
                
Writer.WriteUInt32(140, 117, Buffer);//Level
                
Writer.WriteUInt32(X, 119, Buffer);
                
Writer.WriteUInt32(Y, 121, Buffer);
                
Writer.WriteUInt32(5, 125, Buffer);
                
Writer.WriteUInt32(client.Player.UID, 274, Buffer);//OwnerUID
                
Buffer[278] = 1;
                
Buffer[220] = 1;
                
Writer.WriteUInt16(768, 270, Buffer);
                
Writer.WriteStringList(new List<string>() { _Name, "", "", "", "", "", "" }, Game.Entity._Names, Buffer);
                
Network.GamePackets.Data d = new Data(true);
                
d.UID = UID;
                
d.ID = Data.SpawnEffect;
                
d.Facing = (Game.Enums.ConquerAngle)5;
                
client.Send(Packet_2035);
                
client.Send(Buffer);
                
client.Send(d);
                
client.Map.AddCloud(this);
            }
            public 
void DisposeCloud(GameState c)
            {
                if (
c != null)
                    if (
c.Map.Clouds.ContainsKey(UID))
                    {
                        
c.Map.Clouds.Remove(UID);
                        
Data d = new Data(true);
                        
d.UID = UID;
                        
d.ID = Data.RemoveEntity;
                        
c.SendScreen(d, true);
                        
ThunderBolt = false;
                        if (
Owner != null)
                            
Owner.Player.ThunderBolt = false;
                        
Dead = true;
                    }
            }

            public 
void SendSpawn(GameState Owner, bool p)
            {
                var 
seconds = System.Math.Abs((EndTime - DateTime.Now).TotalSeconds);
                if (
seconds > 24) seconds = 0;
                
Writer.WriteUInt32((uint)((seconds * 10000) / 24), 111, Buffer);//Time
                
Owner.Send(Buffer);
            }

            public 
byte[] Refresh()
            {
                var 
seconds = System.Math.Abs((EndTime - DateTime.Now).TotalSeconds);
                if (
seconds > 24) seconds = 0;
                
Writer.WriteUInt32((uint)((seconds * 10000) / 24), 111, Buffer);//Time
                
return Buffer;
            }
            public 
void SendSpawn2(GameState Owner, bool p)
            {
                
byte[] Packet_2035 = new byte[68 + 8];
                var 
seconds = System.Math.Abs((EndTime - DateTime.Now).TotalSeconds);
                if (
seconds > 24) seconds = 0;
                
Writer.WriteUInt32((uint)((seconds * 10000) / 24), 111, Buffer);//Time
                
Writer.Write(128, 50, Buffer);//Flag4(128)
                
Writer.Write(128, 50, Packet_2035);//Flag4(128)
                
Owner.Send(Buffer);
            }
        } 


كود:
World.cs 

Search

كود:
 public void Init(bool onlylogin = false)
        {
            if (!
onlylogin)
            { 

add

كود:
 ThunderCloud = new TimerRule<Entity>(ThunderCloudTimer, 250, ThreadPriority.Lowest); 

search

كود:
public void CreateTournaments() 

تحتها
add

كود:
  public bool Register(Entity ThunderCloudd)
        {
            if (
ThunderCloudd.Owner.TimerSubscriptions == null)
            {
                
ThunderCloudd.Owner.TimerSyncRoot = new object();
                
ThunderCloudd.Owner.TimerSubscriptions = new IDisposable[]
                {
                    
ThunderCloud.Add(ThunderCloudd)
                };
                return 
true;
            }
            return 
false;
        }
        public 
void Unregister(Entity Thundercloud)
        {
            if (
Thundercloud.Owner == null || Thundercloud.Owner.TimerSubscriptions == null) return;
            
lock (Thundercloud.Owner.TimerSyncRoot)
            {
                if (
Thundercloud.Owner.TimerSubscriptions != null)
                {
                    foreach (var 
timer in Thundercloud.Owner.TimerSubscriptions)
                        
timer.Dispose();
                    
Thundercloud.Owner.TimerSubscriptions = null;
                }
            }
        } 

search

كود:
private void CharactersCallback( 

فوقها او تحتها
Add

كود:
 public TimerRule<Entity> ThunderCloud;
        private 
void ThunderCloudTimer(Entity ThunderCloud, int time)
        {
            if (
ThunderCloud == null) return;
            if (!
Kernel.Maps.ContainsKey(ThunderCloud.MapID))
            {
                
Kernel.Maps[ThunderCloud.MapID].RemoveEntity(ThunderCloud);
                
Data data = new Data(true);
                
data.UID = ThunderCloud.UID;
                
data.ID = Data.RemoveEntity;
                
ThunderCloud.MonsterInfo.SendScreen(data);
                
ThunderCloud.MonsterInfo.SendScreen(data);
                foreach (var 
client in Kernel.GamePool.Values)
                {
                    if (
Kernel.GetDistance(ThunderCloud.X, ThunderCloud.Y, client.Player.X, client.Player.Y) > 16) continue;
                    
client.RemoveScreenSpawn(ThunderCloud, true);
                }
                
Unregister(ThunderCloud);
                return;
            }
            if (
Time32.Now >= ThunderCloud.ThunderCloudStamp.AddSeconds(1))
            {
                
ThunderCloud.ThunderCloudStamp = Time32.Now;
                if (
ThunderCloud.Hitpoints > 400)
                    
ThunderCloud.Hitpoints -= 400;
                else
                {
                    
Kernel.Maps[ThunderCloud.MapID].RemoveEntity(ThunderCloud);
                    
Data data = new Data(true);
                    
data.UID = ThunderCloud.UID;
                    
data.ID = Data.RemoveEntity;
                    
ThunderCloud.MonsterInfo.SendScreen(data);
                    
ThunderCloud.MonsterInfo.SendScreen(data);
                    foreach (var 
client in Kernel.GamePool.Values)
                    {
                        if (
Kernel.GetDistance(ThunderCloud.X, ThunderCloud.Y, client.Player.X, client.Player.Y) > 16) continue;
                        
client.RemoveScreenSpawn(ThunderCloud, true);
                    }
                    
Unregister(ThunderCloud);
                    return;
                }
            }
            if ((
ThunderCloud.SpawnPacket[50] == 0 && Time32.Now >= ThunderCloud.MonsterInfo.LastMove.AddMilliseconds(750)) || ThunderCloud.SpawnPacket[50] == 128)
            {
                
ThunderCloud.MonsterInfo.LastMove = Time32.Now;
                if (
ThunderCloud.MonsterInfo.InSight == 0)
                {
                    foreach (var 
one in Kernel.Maps[ThunderCloud.MapID].Entities.Values.Where(i => Kernel.GetDistance(ThunderCloud.X, ThunderCloud.Y, i.X, i.Y) <= ThunderCloud.MonsterInfo.AttackRange))
                    {
                        if (
one == null || one.Dead || one.MonsterInfo.Guard || one.Companion) continue;
                        
ThunderCloud.MonsterInfo.InSight = one.UID;
                        
Entity insight = null;
                        if (
Kernel.Maps[ThunderCloud.MapID].Entities.ContainsKey(ThunderCloud.MonsterInfo.InSight))
                            
insight = Kernel.Maps[ThunderCloud.MapID].Entities[ThunderCloud.MonsterInfo.InSight];
                        else if (
Kernel.GamePool.ContainsKey(ThunderCloud.MonsterInfo.InSight))
                            
insight = Kernel.GamePool[ThunderCloud.MonsterInfo.InSight].Player;
                        if (
insight == null || insight.Dead || (insight.MonsterInfo != null && insight.MonsterInfo.Guard))
                        {
                            
ThunderCloud.MonsterInfo.InSight = 0;
                            break;
                        }
                        new 
Game.Attacking.Handle(null, ThunderCloud, insight);
                        break;
                    }
                }
                else
                {
                    
Entity insight = null;
                    if (
Kernel.Maps[ThunderCloud.MapID].Entities.ContainsKey(ThunderCloud.MonsterInfo.InSight))
                        
insight = Kernel.Maps[ThunderCloud.MapID].Entities[ThunderCloud.MonsterInfo.InSight];
                    else if (
Kernel.GamePool.ContainsKey(ThunderCloud.MonsterInfo.InSight))
                        
insight = Kernel.GamePool[ThunderCloud.MonsterInfo.InSight].Player;
                    if (
insight == null || insight.Dead || (insight.MonsterInfo != null && insight.MonsterInfo.Guard))
                    {
                        
ThunderCloud.MonsterInfo.InSight = 0;
                        return;
                    }
                    new 
Game.Attacking.Handle(null, ThunderCloud, insight);
                }
            }

        } 



قديم 2019-10-29, 08:19 PM
المشاركة 2
Hazem
.:: المدير العام::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
الله ينور يا اسطوره

قديم 2019-10-29, 09:49 PM
المشاركة 3
ALz3em
.:: عضو مميز ::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
عاش يابرنس تسلم

قديم 2019-10-29, 10:48 PM
المشاركة 4
Mostafa Shalby
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
لا تسلم بجد علي الموضوع الجميل دة
بس في مشكلة بقا واحدة ان عشان تضرب اكونت تاني لازم الاكونت يضرب الاسكلة عشان تضرب فية ولما بتضرب فية بتجيب 0
ومشكور علي الموضوع

قديم 2019-10-29, 11:07 PM
المشاركة 5
uncelsam
.:: عضو مميز ::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
اوف علي الفجر جاحد انتا

قديم 2019-10-30, 02:22 AM
المشاركة 6
Rider
.:: نائب المدير ::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
الله ينور يا اسطوره
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
عاش يابرنس تسلم
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
اوف علي الفجر جاحد انتا
تسلموا <3
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
لا تسلم بجد علي الموضوع الجميل دة
بس في مشكلة بقا واحدة ان عشان تضرب اكونت تاني لازم الاكونت يضرب الاسكلة عشان تضرب فية ولما بتضرب فية بتجيب 0
ومشكور علي الموضوع
جرب تفتح البيكيه

قديم 2019-10-30, 02:46 AM
المشاركة 7
Mostafa Shalby
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
تسلموا <3


جرب تفتح البيكيه
منا ببقا فاتح البكية لازم الاكونت التاني يضرب الاسكلة عشان تضربو ولما تضربو بتجيب 0


العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع

المواضيع المتشابهه للموضوع: ThunderCloud[Beta] نسخه تجريبيه [2d Normal]
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Rayzo V2 EpicPirate Runes ThunderStrike [Beta] نسخه تجريبيه Rider سورسات كونكر 199 2021-01-28 10:04 PM
اسكله thundercloud سمير مشكلات السيرفيرات كونكر الشخصيه 4 2019-11-13 02:05 AM
عاوز اضافه Thundercloud بتاع الباتش سمير مشكلات السيرفيرات كونكر الشخصيه 1 2019-11-12 06:08 AM
مشكله Thundercloud سمير مشكلات السيرفيرات كونكر الشخصيه 1 2019-10-31 10:17 PM
مشكله فى سورس Fighters بخصوص اسكلة ThunderCloud ابو مروان مشكلات السيرفيرات كونكر الشخصيه 3 2019-08-21 01:09 AM


الساعة الآن 03:16 PM