272 inc(ticks, GoInfo.Ticks); |
272 inc(ticks, GoInfo.Ticks); |
273 if ticks > maxticks then |
273 if ticks > maxticks then |
274 break; |
274 break; |
275 |
275 |
276 if (BotLevel < 5) and (GoInfo.JumpType = jmpHJump) then // hjump support |
276 if (BotLevel < 5) and (GoInfo.JumpType = jmpHJump) then // hjump support |
277 if Push(ticks, Actions, AltMe, Me^.Message) then |
277 // check if we could go backwards and maybe ljump over a gap after this hjump |
|
278 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then |
278 begin |
279 begin |
279 with Stack.States[Pred(Stack.Count)] do |
280 with Stack.States[Pred(Stack.Count)] do |
280 begin |
281 begin |
281 if Me^.dX.isNegative then |
282 if Me^.dX.isNegative then |
282 AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0) |
283 AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0) |
289 if Me^.dX.isNegative then |
290 if Me^.dX.isNegative then |
290 AddAction(MadeActions, aia_LookLeft, 0, 200, 0, 0) |
291 AddAction(MadeActions, aia_LookLeft, 0, 200, 0, 0) |
291 else |
292 else |
292 AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0); |
293 AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0); |
293 end; |
294 end; |
294 |
295 // but first check walking forward |
295 // check if we could go backwards and maybe ljump over a gap after this hjump |
296 Push(ticks, Stack.States[Pred(Stack.Count)].MadeActions, AltMe, Me^.Message) |
296 Push(ticks, Stack.States[Pred(Stack.Count)].MadeActions, AltMe, Me^.Message xor 3) |
|
297 end; |
297 end; |
298 if (BotLevel < 3) and (GoInfo.JumpType = jmpLJump) then // ljump support |
298 if (BotLevel < 3) and (GoInfo.JumpType = jmpLJump) then // ljump support |
299 begin |
299 begin |
300 // at final check where we go after jump walking backward |
300 // at final check where we go after jump walking backward |
301 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then |
301 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then |