Advanced - Omegafredo/worst-time-simulator GitHub Wiki

Line Jumps

Some attacks need to jump to other lines for them to work. There are commands to provide this functionality.

Labels

You can create a label instead of calling a function by putting the desired label name in column 2 and prefixing it with ":". The label will allow you to perform jumps to this line by using the label name instead of the absolute line number.

Note that the time delay in column 1 is still respected on labels.

JMPABS (Jump absolute)

Jump to a specific line on the attack

  • AbsoluteLineNumber

JMPZ (Jump zero)

Jump to a line if the test value is 0

  • AbsoluteLineNumber
  • TestValue

JMPNZ (Jump not zero)

Jump to a line if the test value is not 0

  • AbsoluteLineNumber
  • TestValue

JMPE (Jump equal)

Jump to a line if the test values are equal

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPNE (Jump not equal)

Jump to a line if the test values are not equal.

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPL (Jump if less)

Jump to a line if the first test value is less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPNL (Jump if not less)

Jump to a line if the first test value is not less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPG (Jump if greater)

Jump to a line if the first test value is less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPG (Jump if not greater)

Jump to a line if the first test value is less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPREL (Jump relative)

Jump to a line number relative to the current one. Positive numbers jump forward, and negative numbers jump backwards

  • RelativeLineNumber

JMPRELZ (Jump relative zero)

Jump to a relative line number if the test value was zero

  • RelativeLineNumber
  • TestValue

JMPRELNZ (Jump relative not zero)

Jump to a relative line number if the test value was not zero

  • RelativeLineNumber
  • TestValue

JMPRELE (Jump relative equal)

Jump to a relative line number if the test values are equal

  • RelativeLineNumber
  • TestValue
  • TestValue2

JMPRELNE (Jump relative not equal)

Jump to a relative line if the test values are not equal

  • RelativeLineNumber
  • TestValue
  • TestValue2

JMPRELL (Jump relative if less)

Jump to a relative line number if the first test value is less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPRELNL (Jump relative if not less)

Jump to a relative line number if the first test value is not less than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPRELG (Jump relative if greater)

Jump to a relative line number if the first test value is greater than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

JMPRELNG (Jump relative if not greater)

Jump to a relative line number if the first test value is not greater than the second test value

  • AbsoluteLineNumber
  • TestValue1
  • TestValue2

Math

If your attack need to do some math stuff with variables, there are a lot of functions that you can use in order to make it work

If you need to access the value of a variable, it can be called with the '$' prefix, e.g. $MyVar will return the value that MyVar has.

SET

Sets a variable to a value

  • VariableName
  • Value

ADD

Adds two numbers and stores the result in a variable

  • VariableName
  • Value1
  • Value2

SUB

Substracts two numbers and stores the result in a variable

  • VariableName
  • Value1
  • Value2

MUL

Multiplies two numbers and stores the result in a variable

  • VariableName
  • Value1
  • Value2

DIV

Divides two numbers and stores the floating-point result in a variable.

  • VariableNumber
  • Value1
  • Value2

MOD

Gets the modulo of two numbers and stores the result in a variable

  • VariableNumber
  • Value1
  • Value2

FLOOR

Stores in a variable the largest integer less than or equal to a given number

  • VariableName
  • DecimalValue

DEG

Converts radians to degrees and stores the result in a variable

  • VariableName
  • RadianValue

RAD

Converts degrees to radians and stores the result in a variable

  • VariableName
  • DegreeValue

SIN

Calculates the sine function for an angle in degrees and stores the result in a variable

  • VariableName
  • DegreeValue

COS

Calculates the cosine function for an angle in degrees and stores the result in a variable

  • VariableName
  • DegreeValue

ANGLE

Calculates an angle from point 1 to point 2

  • VariableName
  • Point1X
  • Point1Y
  • Point2X
  • Point2Y

RND

Generates a random from 0 to n-1 and stores it in a variable

  • VariableName
  • Number