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 | } |