View difference between Paste ID: WCVAmNTD and 7upT7tyC
SHOW: | | - or go back to the newest paste.
1
private void JumpAction()
2
        {
3
            if (Time32.Now >= Original.Entity.DeathStamp.AddSeconds(20) && Original.Entity.Dead)
4
            {
5
                Original.Entity.BringToLife();
6
                num = 0;
7
                return;
8
            }
9
            if ((Original.Entity.Dead) && (num == 0))
10
            {
11
                Original.Entity.Die(Original.Entity);
12
                num = 1;
13
                return;
14
            }
15
            bool CanFB = true;
16
            Original.Entity.Action = 0;
17
            uint num9 = 0;
18
            skills spell = null;
19
            if (Original.Entity.Action != PlayerAction.Sit)
20
            {
21
                if (Count_AISkills >= 2)
22
                {
23
                    num9 = (uint)Drivers.Extensions.Random.Next(1, (int)Math.Max(1, Count_AISkills));
24
                    spell = AISkills[num9];
25
                }
26
            }
27
28
            if (Original.Entity.Stamina < SpellTable.SpellInformations[spell.ID][spell.Level].UsePP && Original.Entity.Action != PlayerAction.Sit)
29
            {
30
                SitAt = DateTime.Now;
31
                Original.Entity.Action = PlayerAction.Sit;
32
                var buffer = new MsgAction(true)
33
                {
34
                    UID = Original.Entity.UID,
35
                    dwParam = (uint)Original.Entity.Action
36
                };
37
                Original.Entity.SendScreen(buffer);
38
39
                Original.SendScreenSpawn(Original.Entity, true);
40
                Target.Owner.SendScreenSpawn(Original.Entity, true);
41
                return;
42
            }
43
            if (Time32.Now >= LastBotJump.AddMilliseconds(JumpSpeed))
44
            {
45
                if (Target == null || Original.Entity.Dead || Target.Dead)
46
                    return;
47
48
                if (Kernel.GetDistance(Original.Entity.X, Original.Entity.Y, Target.X, Target.Y) > 18)
49
                {
50
                    Direction angle = Kernel.GetFacing(Kernel.GetAnglex(Original.Entity.X, Original.Entity.Y, Target.X, Target.Y));
51
                    ushort size = (ushort)Kernel.GetDistance(Target.X, Target.Y, Original.Entity.X, Original.Entity.Y);
52-
                    size /= 2;
52+
                    //size /= 2;
53
                    CanFB = false;
54
                    LastBotJump = Time32.Now;
55
                    Jump(size, angle,Target.X,Target.Y);// that's will let the bot jump high than 18 pec just make the reset time higher ..
56
                }
57
                else
58
                {
59
                    ushort size = (ushort)Drivers.Extensions.Random.Next(10);
60
                    Direction angle = (Direction)Drivers.Extensions.Random.Next(8);
61
                    LastBotJump = Time32.Now;
62
                    Jump(size, angle);
63
                }
64
                if (!Original.Attackable)
65
                    Original.Attackable = true;
66
            }
67
68
            if (DateTime.Now >= LastBotAttack.AddMilliseconds(1000) && Original.Entity.Stamina > SpellTable.SpellInformations[spell.ID][spell.Level].UsePP)
69
            {
70
                if (Target == null || Original.Entity.Dead || Target.Dead)
71
                    return;
72
                if (Kernel.ChanceSuccess(ShootChance) && CanFB)
73
                {
74
                    if (Kernel.GetDistance(Original.Entity.X, Original.Entity.Y, Target.X, Target.Y) <= SpellTable.SpellInformations[spell.ID][spell.Level].Distance)
75
                    {
76
                        Shoot(Accuracy, spell);
77
                    }
78
                }
79
            }
80
        }