[R2I]
title = "Convert real number to integer"
description = "Convert ${Real} to integer"
comment = "Discard the decimal part."
category = TC_CONV
returns = integer
[[.args]]
type = real
default = "GetUnitStateSwap"

[S2I]
title = "Convert string to integer"
description = "Convert ${String} to integer"
comment = ""
category = TC_CONV
returns = integer
[[.args]]
type = string
default = "GetEventPlayerChatString"

[I2R]
title = "Convert integer to real"
description = "Convert ${Integer} to real"
comment = ""
category = TC_CONV
returns = real
[[.args]]
type = integer
default = "GetUnitPointValueByType"

[S2R]
title = "Convert string to real number"
description = "Convert ${String} to real"
comment = ""
category = TC_CONV
returns = real
[[.args]]
type = string
default = "GetEventPlayerChatString"

[Deg2Rad]
title = "Convert angle to radians"
description = "Convert angle ${Degrees} to radians"
comment = ""
category = TC_CONV
returns = radian
[[.args]]
type = degree
default = "0"

[Rad2Deg]
title = "Convert radian to angle"
description = "Convert radian ${Radians} to angle"
comment = ""
category = TC_CONV
returns = degree
[[.args]]
type = radian
default = "0"

[YDWEDeg2R]
title = "Convert angle to real number"
description = "Convert angle ${Degrees} to real number"
comment = ""
category = TC_CONV
returns = real
[[.args]]
type = degree

[YDWERad2R]
title = "Convert radians to real numbers"
description = "Convert radian ${Radians} to real number"
comment = ""
category = TC_CONV
returns = real
[[.args]]
type = radian

[YDWER2Deg]
title = "Convert real number to angle"
description = "Convert real numbers ${Real} to angle"
comment = ""
category = TC_CONV
returns = degree
[[.args]]
type = real

[YDWER2Rad]
title = "Convert real numbers to radians"
description = "Convert real numbers ${Real} to radians"
comment = ""
category = TC_CONV
returns = radian
[[.args]]
type = real

[I2S]
title = "Convert integer to string"
description = "Convert ${Integer} to string"
comment = ""
category = TC_CONV
returns = string
[[.args]]
type = integer
default = "GetConvertedPlayerId"

[R2S]
title = "Convert real number to string"
description = "Convert ${Real} to string"
comment = ""
category = TC_CONV
returns = string
[[.args]]
type = real
default = "GetUnitStateSwap"

[R2SW]
title = "Convert real number to string"
description = "Convert ${Real} to string,Minimum width: ${Width} ,Decimal places: ${Precision}"
comment = "For example: Convert(1.234, 7, 2)After''   1.23''. Convert(1.234, 2, 5)After''1.23400''."
category = TC_CONV
returns = string
[[.args]]
type = real
default = "GetUnitStateSwap"
[[.args]]
type = integer
default = "1"
min = 0
[[.args]]
type = integer
default = "2"
min = 0

[OffsetLocation]
title = "Coordinate displacement"
description = "Starting from ${specified point}, move (${X}, ${Y})"
comment = "create points."
category = TC_LOCATION
returns = location
[[.args]]
type = location
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[PolarProjectionBJ]
title = "Polar coordinate displacement"
description = "Starting from ${specified point}, moving distance ${Distance}, direction ${Angle}"
comment = "create points."
category = TC_LOCATION
returns = location
[[.args]]
type = location
[[.args]]
type = real
default = "256"
[[.args]]
type = degree
default = "0"

[DistanceBetweenPoints]
title = "Point-to-point distance"
description = "${Point} to ${Point} distance"
comment = ""
category = TC_LOCATION
returns = real
[[.args]]
type = location
[[.args]]
type = location

[AngleBetweenPoints]
title = "Point-to-point angle"
description = "${Point} to ${Point} angle"
comment = "Value-180 - 180."
category = TC_LOCATION
returns = degree
[[.args]]
type = location
[[.args]]
type = location

[YDWEDistanceBetweenUnitAndPoint]
title = "Unit to point distance [New!]"
description = "${Unit} to ${Point} distance"
category = TC_LOCATION
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = location

[YDWEAngleBetweenUnitAndPoint]
title = "Unit to point angle [New!]"
description = "${Unit} to ${Point} angle"
category = TC_LOCATION
returns = degree
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = location

[YDWEDistanceBetweenUnits]
title = "Unit to unit distance"
description = "${Unit} to ${Unit} distance"
category = TC_LOCATION
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
default = "GetLastCreatedUnit"

[YDWEAngleBetweenUnits]
title = "Unit to unit angle"
description = "${Unit} to ${Unit} angle"
category = TC_LOCATION
returns = degree
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
default = "GetLastCreatedUnit"

[OperatorIntegerAdd]
title = "plus < ﹢ >"
description = "${Integer} + ${Integer}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[OperatorIntegerSubtract]
title = "minus < ﹣ >"
description = "${Integer} - ${Integer}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[OperatorIntegerMultiply]
title = "Multiply < × >"
description = "${Integer} × ${Integer}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[OperatorIntegerDivide]
title = "Divide < ÷ >"
description = "${Integer} ÷ ${Integer}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[OperatorRealAdd]
title = "plus < ﹢ >"
description = "${Real number} + ${Real number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[OperatorRealSubtract]
title = "minus < ﹣ >"
description = "${Real number} - ${Real number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[OperatorRealMultiply]
title = "Multiply < × >"
description = "${Real number} × ${Real number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[OperatorRealDivide]
title = "Divide < ÷ >"
description = "${Real number} ÷ ${Real number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[OperatorDegreeAdd]
title = "plus < ﹢ >"
description = "${angle} + ${angle}"
comment = ""
category = TC_MATH
returns = degree
[[.args]]
type = degree
[[.args]]
type = degree

[OperatorDegreeSubtract]
title = "minus < ﹣ >"
description = "${angle} - ${angle}"
comment = ""
category = TC_MATH
returns = degree
[[.args]]
type = degree
[[.args]]
type = degree

[OperatorDegreeMultiply]
title = "Multiply < × >"
description = "${angle} × ${Real number}"
comment = ""
category = TC_MATH
returns = degree
[[.args]]
type = degree
[[.args]]
type = real

[OperatorDegreeDivide]
title = "Divide < ÷ >"
description = "${angle} ÷ ${Real number}"
comment = ""
category = TC_MATH
returns = degree
[[.args]]
type = degree
[[.args]]
type = real

[OperatorRadianAdd]
title = "plus < ﹢ >"
description = "${radian} ﹢ ${radian}"
comment = ""
category = TC_MATH
returns = radian
[[.args]]
type = radian
[[.args]]
type = real

[OperatorRadianSubtract]
title = "minus < ﹣ >"
description = "${radian} ﹣ ${radian}"
comment = ""
category = TC_MATH
returns = radian
[[.args]]
type = radian
[[.args]]
type = real

[OperatorRadianMultiply]
title = "Multiply < × >"
description = "${radian} × ${Real number}"
comment = ""
category = TC_MATH
returns = radian
[[.args]]
type = radian
[[.args]]
type = real

[OperatorRadianDivide]
title = "Divide < ÷ >"
description = "${radian} ÷ ${Real number}"
comment = ""
category = TC_MATH
returns = radian
[[.args]]
type = radian
[[.args]]
type = real

[YDWEIsTriggerEventId]
title = "Determine the triggered event [YDWE]"
description = "The currently triggered event is ${event}"
comment = "Any unit event is equal to a player unit event, and a specified unit event is equal to a unit event"
category = TC_NOTHING
returns = boolean
[[.args]]
type = eventid

[YDWEGetLocalVariableBoolean]
title = "Local Variables"
description = "local_${bl}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = boolean
[[.args]]
type = string

[YDWEGetLocalVariableBooleanArray]
title = "Local Variable Array"
description = "local_${bl}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = boolean
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableInteger]
title = "Local Variables"
description = "local_${i}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = integer
[[.args]]
type = string

[YDWEGetLocalVariableIntegerArray]
title = "Local Variable Array"
description = "local_${i}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = integer
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableReal]
title = "Local Variables"
description = "local_${R}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = real
[[.args]]
type = string

[YDWEGetLocalVariableRealArray]
title = "Local Variable Array"
description = "local_${R}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = real
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableString]
title = "Local Variables"
description = "local_${str}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = string
[[.args]]
type = string

[YDWEGetLocalVariableStringArray]
title = "Local Variable Array"
description = "local_${str}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = string
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableLocation]
title = "Local Variables"
description = "local_${point}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = location
[[.args]]
type = string

[YDWEGetLocalVariableLocationArray]
title = "Local Variable Array"
description = "local_${point}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = location
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableRect]
title = "Local Variables"
description = "local_${rt}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = rect
[[.args]]
type = string

[YDWEGetLocalVariableRectArray]
title = "Local Variable Array"
description = "local_${rt}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = rect
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableUnit]
title = "Local Variables"
description = "local_${u}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = unit
[[.args]]
type = string

[YDWEGetLocalVariableUnitArray]
title = "Local Variable Array"
description = "local_${u}[${index}]"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = unit
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableUnitID]
title = "Local Variables"
description = "local_${uid}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = unitcode
[[.args]]
type = string

[YDWEGetLocalVariableUnitIDArray]
title = "Local Variable Array"
description = "local_${uid}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = unitcode
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableItem]
title = "Local Variables"
description = "local_${it}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = item
[[.args]]
type = string

[YDWEGetLocalVariableItemArray]
title = "Local Variable Array"
description = "local_${it}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = item
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableItemID]
title = "Local Variables"
description = "local_${itid}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = itemcode
[[.args]]
type = string

[YDWEGetLocalVariableItemIDArray]
title = "Local Variable Array"
description = "local_${itid}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = itemcode
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableAbilityID]
title = "Local Variables"
description = "local_${abid}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = abilcode
[[.args]]
type = string

[YDWEGetLocalVariableAbilityIDArray]
title = "Local Variable Array"
description = "local_${abid}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = abilcode
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableGroup]
title = "Local Variables"
description = "local_${g}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = group
[[.args]]
type = string

[YDWEGetLocalVariableGroupArray]
title = "Local Variable Array"
description = "local_${g}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = group
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetLocalVariableEffect]
title = "Local Variables"
description = "local_${e}"
comment = "Get a local variable, fill in the name of the variable at the parameter; the local variable is only valid under the current trigger."
category = TC_YDLC
returns = effect
[[.args]]
type = string

[YDWEGetLocalVariableEffectArray]
title = "Local Variable Array"
description = "local_${e}[${index}]"
comment = "Get an array of local variables, fill in the name of the variable and array index in the parameters; local variables are only valid under the current trigger."
category = TC_YDLC
returns = effect
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
min = 0

[YDWEGetBooleanByInteger]
title = "Get truth value (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get truth value"
comment = "Through the input path, the system will obtain the true value data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = boolean
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetBooleanByString]
title = "Get truth value (String path)"
description = "From storage directory-> ${String}，label-> ${String} get truth value"
comment = "Through the input path, the system will obtain the true value data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = boolean
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetIntegerByInteger]
title = "Get integer (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get integer"
comment = "By entering the path, the system will obtain integer data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetIntegerByString]
title = "Get integer (String path)"
description = "From storage directory-> ${String}，label-> ${String} get integer"
comment = "By entering the path, the system will obtain integer data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = integer
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetRealByInteger]
title = "Get real number (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get real number"
comment = "Through the input path, the system will obtain real number data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = real
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetRealByString]
title = "Get real number (String path)"
description = "From storage directory-> ${String}，label-> ${String} get real number"
comment = "Through the input path, the system will obtain real number data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = real
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetStringByInteger]
title = "Get string (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get string "
comment = "By entering the path, the system will obtain string data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = string
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetStringByString]
title = "Get string (String path)"
description = "From storage directory-> ${String}，label-> ${String} get string "
comment = "By entering the path, the system will obtain string data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = string
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetLocationByInteger]
title = "Get point (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get point"
comment = "By entering the path, the system will obtain point data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = location
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetLocationByString]
title = "Get point (String path)"
description = "From storage directory-> ${String}，label-> ${String} get point"
comment = "By entering the path, the system will obtain point data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = location
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetRegionByInteger]
title = "Get area (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get area"
comment = "By entering the path, the system will obtain the regional data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = region
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetRegionByString]
title = "Get area (String path)"
description = "From storage directory-> ${String}，label-> ${String} get area"
comment = "By entering the path, the system will obtain the regional data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = region
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetRectByInteger]
title = "Get area (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get area"
comment = "By entering the path, the system will obtain regional data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = rect
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetRectByString]
title = "Get area (String path)"
description = "From storage directory-> ${String}，label-> ${String} get area"
comment = "By entering the path, the system will obtain regional data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = rect
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetUnitByInteger]
title = "Get unit (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get unit"
comment = "By entering the path, the system will obtain unit data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = unit
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetUnitByString]
title = "Get unit (String path)"
description = "From storage directory-> ${String}，label-> ${String} get unit"
comment = "By entering the path, the system will obtain unit data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = unit
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetUnitIDByInteger]
title = "Get unit type (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get unit type"
comment = "By entering the path, the system will obtain unit type data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = unitcode
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetUnitIDByString]
title = "Get unit type (String path)"
description = "From storage directory-> ${String}，label-> ${String} get unit type"
comment = "By entering the path, the system will obtain unit type data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = unitcode
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetDestructableByInteger]
title = "Get destructible (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get destructible"
comment = "Through the input path, the system will obtain the destructible data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = destructable
[[.args]]
type = integer
min = 0
max = 1
[[.args]]
type = integer
min = 0
max = 1

[YDWEGetDestructableByString]
title = "Get destructible (String path)"
description = "From storage directory-> ${String}，label-> ${String} get destructible"
comment = "Through the input path, the system will obtain the destructible data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = destructable
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetItemByInteger]
title = "Get item (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get item"
comment = "Through the input path, the system will obtain item data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = item
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetItemByString]
title = "Get item (String path)"
description = "From storage directory-> ${String}，label-> ${String} get item"
comment = "Through the input path, the system will obtain item data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = item
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetItemIDByInteger]
title = "Get item type (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get item type"
comment = "Through the input path, the system will obtain item type data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = itemcode
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetItemIDByString]
title = "Get item type (String path)"
description = "From storage directory-> ${String}，label-> ${String} get item type"
comment = "Through the input path, the system will obtain item type data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = itemcode
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetAbilityIDByInteger]
title = "Get skill (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get skill"
comment = "Through the input path, the system will obtain skill data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = abilcode
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetAbilityIDByString]
title = "Get skill (String path)"
description = "From storage directory-> ${String}，label-> ${String} get skill"
comment = "Through the input path, the system will obtain skill data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = abilcode
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetPlayerByInteger]
title = "Get player (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get player"
comment = "By entering the path, the system will obtain player data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = player
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetPlayerByString]
title = "Get player (String path)"
description = "From storage directory-> ${String}，label-> ${String} get player"
comment = "By entering the path, the system will obtain player data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = player
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetGroupByInteger]
title = "Get unit group (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get unit group"
comment = "By entering the path, the system will obtain unit group data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = group
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetGroupByString]
title = "Get unit group (String path)"
description = "From storage directory-> ${String}，label-> ${String} get unit group"
comment = "By entering the path, the system will obtain unit group data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = group
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetForceByInteger]
title = "Get force (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get force"
comment = "Through the input path, the system will obtain force data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = force
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetForceByString]
title = "Get force (String path)"
description = "From storage directory-> ${String}，label-> ${String} get force"
comment = "Through the input path, the system will obtain force data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = force
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTriggerConditionByInteger]
title = "Get trigger condition (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get trigger condition"
comment = "Through the input path, the system will obtain trigger condition data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = triggercondition
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTriggerConditionByString]
title = "Get trigger condition (String path)"
description = "From storage directory-> ${String}，label-> ${String} get trigger condition"
comment = "Through the input path, the system will obtain trigger condition data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = triggercondition
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTriggerActionByInteger]
title = "Get trigger action (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get trigger action"
comment = "Through the input path, the system will obtain trigger action data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = triggeraction
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTriggerActionByString]
title = "Get trigger action (String path)"
description = "From storage directory-> ${String}，label-> ${String} get trigger action"
comment = "Through the input path, the system will obtain trigger action data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = triggeraction
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTriggerEventByInteger]
title = "Get event (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get event"
comment = "Through the input path, the system will obtain event data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = event
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTriggerEventByString]
title = "Get event (String path)"
description = "From storage directory-> ${String}，label-> ${String} get event"
comment = "Through the input path, the system will obtain event data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = event
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetBoolexprByInteger]
title = "Get boolean expression (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get boolean expression"
comment = "Through the input path, the system will get the Boolean expression data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = boolexpr
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetBoolexprByString]
title = "Get boolean expression (String path)"
description = "From storage directory-> ${String}，label-> ${String} get boolean expression"
comment = "Through the input path, the system will get the Boolean expression data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = boolexpr
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTriggerByInteger]
title = "Get trigger (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get trigger"
comment = "Through the input path, the system will obtain trigger data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = trigger
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTriggerByString]
title = "Get trigger (String path)"
description = "From storage directory-> ${String}，label-> ${String} get trigger"
comment = "Through the input path, the system will obtain trigger data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = trigger
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetEffectByInteger]
title = "Get special effects (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get special effects"
comment = "Through the input path, the system will obtain special effect data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = effect
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetEffectByString]
title = "Get special effects (String path)"
description = "From storage directory-> ${String}，label-> ${String} get special effects"
comment = "Through the input path, the system will obtain special effect data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = effect
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetLightningByInteger]
title = "Get lightning (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get lightning"
comment = "Through the input path, the system will obtain lightning data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = lightning
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetLightningByString]
title = "Get lightning (String path)"
description = "From storage directory-> ${String}，label-> ${String} get lightning"
comment = "Through the input path, the system will obtain lightning data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = lightning
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetSoundByInteger]
title = "Get sound (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get sound"
comment = "Through the input path, the system will obtain sound data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = sound
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetSoundByString]
title = "Get sound (String path)"
description = "From storage directory-> ${String}，label-> ${String} get sound"
comment = "Through the input path, the system will obtain sound data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = sound
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetQuestByInteger]
title = "Get task (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get task"
comment = "Through the input path, the system will obtain task data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = quest
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetQuestByString]
title = "Get task (String path)"
description = "From storage directory-> ${String}，label-> ${String} get task"
comment = "Through the input path, the system will obtain task data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = quest
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetQuestItemByInteger]
title = "Get quest item (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get quest item"
comment = "Through the input path, the system will obtain task target data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = questitem
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetQuestItemByString]
title = "Get quest item  (String path)"
description = "From storage directory-> ${String}，label-> ${String} get quest item"
comment = "Through the input path, the system will obtain task target data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = questitem
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetDialogByInteger]
title = "Get dialog box (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get dialog box"
comment = "By entering the path, the system will get the dialog box data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = dialog
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetDialogByString]
title = "Get dialog box (String path)"
description = "From storage directory-> ${String}，label-> ${String} get dialog box"
comment = "By entering the path, the system will get the dialog box data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = dialog
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetButtonByInteger]
title = "Get dialog button (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get dialog button"
comment = "By entering the path, the system will get the dialog button data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = button
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetButtonByString]
title = "Get dialog button (String path)"
description = "From storage directory-> ${String}，label-> ${String} get dialog button"
comment = "By entering the path, the system will get the dialog button data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = button
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetLeaderboardByInteger]
title = "Get leaderboard (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get leaderboard"
comment = "By entering the path, the system will obtain the leaderboard data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = leaderboard
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetLeaderboardByString]
title = "Get leaderboard (String path)"
description = "From storage directory-> ${String}，label-> ${String} get leaderboard"
comment = "By entering the path, the system will obtain the leaderboard data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = leaderboard
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetMultiBoardByInteger]
title = "Get multiboard (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get multiboard"
comment = "By entering the path, the system will obtain multiboard data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = multiboard
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetMultiBoardByString]
title = "Get multiboard (String path)"
description = "From storage directory-> ${String}，label-> ${String} get multiboard"
comment = "By entering the path, the system will obtain multiboard data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = multiboard
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetMultiBoardItemByInteger]
title = "Get multiboard item (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get multiboard item"
comment = "Through the input path, the system will obtain the multiboard item data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = multiboarditem
[[.args]]
type = integer
[[.args]]
type = integer

[YDWEGetMultiBoardItemByString]
title = "Get multiboard item (String path)"
description = "From storage directory-> ${String}，label-> ${String} get multiboard item"
comment = "Through the input path, the system will obtain the multiboard item data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = multiboarditem
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTimerByInteger]
title = "Get timer (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get timer"
comment = "Through the input path, the system will get the timer data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = timer
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTimerByString]
title = "Get timer (String path)"
description = "From storage directory-> ${String}，label-> ${String} get timer"
comment = "Through the input path, the system will get the timer data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = timer
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTimerDialogByInteger]
title = "Get timer dialog (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get timer dialog"
comment = "Through the input path, the system will get the timer dialog data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = timerdialog
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTimerDialogByString]
title = "Get timer dialog (String path)"
description = "From storage directory-> ${String}，label-> ${String} get timer dialog"
comment = "Through the input path, the system will get the timer dialog data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = timerdialog
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTrackableByInteger]
title = "Get trackable (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get trackable"
comment = "Through the input path, the system will obtain traceable data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = trackable
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTrackableByString]
title = "Get trackable (String path)"
description = "From storage directory-> ${String}，label-> ${String} get trackable"
comment = "Through the input path, the system will obtain traceable data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = trackable
[[.args]]
type = string
[[.args]]
type = string

[YDWEGetTextTagByInteger]
title = "Get floating text (Integer path)"
description = "From storage directory-> ${Integer}，label-> ${Integer} get floating text"
comment = "Through the input path, the system will obtain floating text data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = texttag
[[.args]]
type = integer
min = 0
[[.args]]
type = integer
min = 0

[YDWEGetTextTagByString]
title = "Get floating text (String path)"
description = "From storage directory-> ${String}，label-> ${String} get floating text"
comment = "Through the input path, the system will obtain floating text data from the cache or HashTable according to the current version of Warcraft."
category = TC_YDLD
returns = texttag
[[.args]]
type = string
[[.args]]
type = string

[YDWEIsItemSwitch]
title = "Unit switching backpack[YDWE]"
description = "${Unit} Switching backpacks"
comment = "Determine whether the unit is switching backpacks to avoid the event of acquiring and dropping items when the unit switches backpacks."
category = TC_YDST
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[YDWE_TP_GetExpiredTimerIndex]
title = "New Central Timer-Get the current expiration timer running index<Production by Fetrix_sai>"
description = "Get current expiration timer running index"
comment = "When the central timer runs a trigger, a running index will be generated; the running index of the currently expired timer can be obtained through this API."
category = TC_YDST
returns = integer

[YDWE_TP_NewTimerPeriodic]
title = "New center timer-start a new running index<Production by Fetrix_sai>"
description = "Start a new running index of the central timer, the time interval is ${time} seconds, whether to loop ${true value}, run trigger ${trigger}"
comment = "When the central timer runs a trigger, it will generate a running index; this API will run the trigger according to the set parameters and return a running index."
category = TC_YDST
returns = integer
[[.args]]
type = real
default = "0.03"
min = 0.01
[[.args]]
type = boolean
default = "true"
[[.args]]
type = trigger
default = "GetTriggeringTrigger"

[YDWEGeneralBounsSystemUnitGetBonus]
title = "Universal Attribute System-Get Attributes <Eggplant Making>"
description = "Get ${Unit} additional ${attribute}"
comment = ""
category = TC_YDST
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = bonusType
default = "bonusTypeA"

[YDWE_TP_GetElapsedTime]
title = "Get central timer elapsed time<Production by Fetrix_sai>"
description = "Get the elapsed time of the timer whose running index is ${timer running index}"
comment = ""
category = TC_YDST
returns = real
[[.args]]
type = integer

[YDWE_TP_GetRemainingTime]
title = "Get center timer remaining time<Production by Fetrix_sai>"
description = "Get the remaining time of the timer whose running index is ${timer running index}"
comment = ""
category = TC_YDST
returns = real
[[.args]]
type = integer

[YDWE_TP_GetTimeout]
title = "Get central timer refresh cycle<Production by Fetrix_sai>"
description = "Get timer refresh period with running index ${timer running index}"
comment = ""
category = TC_YDST
returns = real
[[.args]]
type = integer

["  "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = boolean
[[.args]]
type = scriptcode

[StringLength]
title = "String length"
description = "${String}length"
comment = ""
category = TC_NOTHING
returns = integer
[[.args]]
type = string
default = "GetEventPlayerChatString"

[" "]
title = "Other format integer [R]"
description = "Other format integer: ${Integer}"
comment = "You can use integer forms such as 0x1ab3 and'A001' here, or write arithmetic expressions directly."
category = TC_NOTHING
returns = integer
[[.args]]
type = scriptcode

["   "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = real
[[.args]]
type = scriptcode

[GetLocationX]
title = "X coordinate of point"
description = "The X coordinate of ${point}"
comment = ""
category = TC_NOTHING
returns = real
[[.args]]
type = location

[GetLocationY]
title = "Y coordinate of point"
description = "The Y coordinate of ${point}"
comment = ""
category = TC_NOTHING
returns = real
[[.args]]
type = location

[GetLocationZ]
title = "Z-axis height of point [R]"
description = "${point} Z axis height"
comment = ""
category = TC_NOTHING
returns = real
[[.args]]
type = location

[OperatorString]
title = "Connection string Lv2"
description = "${string1} + ${string2}"
comment = ""
category = TC_NOTHING
returns = string
[[.args]]
type = string
default = null
[[.args]]
type = string
default = null

[YDWEOperatorString3]
title = "Connection string Lv3"
description = "${string1} + ${string2} + ${string3}"
comment = ""
category = TC_NOTHING
returns = string
[[.args]]
type = string
default = null
[[.args]]
type = string
default = null
[[.args]]
type = string
default = null

["    "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = string
[[.args]]
type = scriptcode

[GetObjectName]
title = "Object name [C]"
description = "${Object ID} name"
comment = "such as'A01Z',The name of the object in the object editor"
category = TC_NOTHING
returns = string
[[.args]]
type = scriptcode

[SubStringBJ]
title = "Intercept string"
description = "Intercept ${String} ${Start} - ${End} Byte part"
comment = "for example: Intercept''Grunts stink''2 - 4 Byte part = ''run''."
category = TC_NOTHING
returns = string
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
[[.args]]
type = integer
default = "5"

[SubString]
title = "Intercept string [R]"
description = "Intercept ${String} ${Start} - ${End} Byte part(Not including the first byte)"
comment = "for example: Intercept''Grunts stink''2 - 4 Byte part = ''un''."
category = TC_NOTHING
returns = string
[[.args]]
type = string
[[.args]]
type = integer
default = "1"
[[.args]]
type = integer
default = "5"

[GetRectCenter]
title = "Center of rectangular area"
description = "the center point of ${rectangular area}"
comment = "create points."
category = TC_NOTHING
returns = location
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRandomLocInRect]
title = "Random points in rectangular area"
description = "Random points within ${rectangular area}"
comment = "create points."
category = TC_NOTHING
returns = location
[[.args]]
type = rect
default = "GetPlayableMapRect"

["     "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = location
[[.args]]
type = scriptcode

[GetCurrentCameraBoundsMapRectBJ]
title = "Current available lens range"
description = "Current available lens range"
comment = "A rectangular area will be created. Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_NOTHING
returns = rect

[GetCameraBoundsMapRect]
title = "Initial available lens range"
description = "Initial available lens range"
comment = "Set in the map properties of the map editor."
category = TC_NOTHING
returns = rect

[GetPlayableMapRect]
title = "Available map area"
description = "Available map area"
comment = "Set in the map properties of the map editor."
category = TC_NOTHING
returns = rect

[GetEntireMapRect]
title = "Full map area"
description = "Full map area"
comment = "Set in the map properties of the map editor. create a rectangular area."
script_name = GetWorldBounds
category = TC_NOTHING
returns = rect

[YDWEGetRect]
title = "Create a new rectangular area (specify center coordinates)[YDWE]"
description = "Take the coordinates (${x},${y}) as the center to create a rectangular area with length ${Real number} and width ${Real number}."
comment = "create a rectangular area"
category = TC_NOTHING
returns = rect
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "100"
min = 0
[[.args]]
type = real
default = "50"
min = 0

[OffsetRectBJ]
title = "Displacement to create a rectangular area"
description = "Rectangular area equivalent to ${rectangular area} displacement (${X}, ${Y}) coordinates"
comment = "create a rectangular area."
category = TC_NOTHING
returns = rect
[[.args]]
type = rect
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[RectFromCenterSizeBJ]
title = "New rectangular area (specify center point)"
description = "A rectangular area with ${specified point} as the center, width ${number} and height ${number}"
comment = "create a rectangular area."
category = TC_NOTHING
returns = rect
[[.args]]
type = location
[[.args]]
type = real
[[.args]]
type = real

[Rect]
title = "Create a new rectangular area (specify corner coordinates)"
description = "The lower left corner is (${X1}, ${Y1}), and the upper right corner is the rectangular area of (${X2}, ${Y2})"
comment = "create a rectangular area."
category = TC_NOTHING
returns = rect
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[RectFromLoc]
title = "Create a new rectangular area (specify corner points)"
description = "The bottom left corner is ${point 1}, and the upper right corner is a rectangular area with ${point 2}"
comment = "create a rectangular area."
category = TC_NOTHING
returns = rect
[[.args]]
type = location
default = "Location"
[[.args]]
type = location
default = "Location"

[CreateUnit]
title = "Create unit (specify coordinates)"
description = "Create ${Unit} for ${player} in (${X}, ${Y}), the orientation angle is ${Direction}"
comment = "The unit created in the coordinates cannot be obtained by the'last created unit'."
category = TC_NOTHING
returns = unit
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unitcode
default = "hfoo"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = degree
default = "0"

[CreateUnitAtLoc]
title = "Create unit (specify point)"
description = "Create ${Unit} for ${player} at ${specified point}, and the facing angle is ${Direction}"
comment = ""
category = TC_NOTHING
returns = unit
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unitcode
default = "hfoo"
[[.args]]
type = location
[[.args]]
type = degree
default = "0"

[CreateCorpse]
title = "New body [R]"
description = "Create the body of ${Unit} for ${player} in (${X}, ${Y}), facing the angle of ${Direction}"
comment = ""
category = TC_NOTHING
returns = unit
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unitcode
default = "hfoo"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = degree
default = "0"

[CreateBlightedGoldmine]
title = "New undead gold mine [R]"
description = "The new gold mine of the undead for ${player} is at (${X},${Y}), facing angle: ${Face} degrees"
comment = ""
category = TC_NOTHING
returns = unit
[[.args]]
type = player
default = "Player00"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = degree
default = "0"

[GetEnumUnit]
title = "Select unit"
description = "Select unit"
comment = "When using'select unit to do action', refer to the corresponding unit."
category = TC_NOTHING
returns = unit

[GetFilterUnit]
title = "Matching unit"
description = "Matching unit"
comment = "In the condition of the function such as'selected unit satisfies the condition', it refers to the judged unit."
category = TC_NOTHING
returns = unit

[FirstOfGroup]
title = "The first unit in the unit group"
description = "The first unit in ${unit group}"
category = TC_NOTHING
returns = unit
[[.args]]
type = group

["      "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = unit
[[.args]]
type = scriptcode

[GroupPickRandomUnit]
title = "Random unit in unit group"
description = "A randomly selected unit in ${unit group}"
comment = ""
category = TC_NOTHING
returns = unit
[[.args]]
type = group

[CreateUnitPool]
title = "New unit pool [R]"
description = "New empty unit pool"
comment = "A unit pool will be created."
category = TC_NOTHING
use_in_event = 0
returns = unitpool

[GetUnitTypeId]
title = "Specify the type of unit"
description = "${Unit} type"
comment = ""
category = TC_NOTHING
returns = unitcode
[[.args]]
type = unit
default = "GetTriggerUnit"

["       "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = unitcode
[[.args]]
type = scriptcode

[ChooseRandomCreepBJ]
title = "Random neutral unit type"
description = "A random neutral unit type of level ${Level}"
comment = "-1 Represents all levels."
script_name = ChooseRandomCreep
category = TC_NOTHING
returns = unitcode
[[.args]]
type = integer
default = "1"
min = -1
max = 10

[ChooseRandomNPBuildingBJ]
title = "Random neutral building type"
description = "Random neutral building type"
comment = ""
script_name = ChooseRandomNPBuilding
category = TC_NOTHING
returns = unitcode

[CreateDestructableZ]
title = "New destructible [R]"
description = "Newly created ${Destructible type} In (${X},${Y},${Z}), facing angle: ${Direction} Size scaling: ${Scale} style: ${Variation}"
comment = "The coordinates are in (X,Y,Z) format. The facing angle adopts the angle system, 0 degrees is the true east direction, and 90 degrees is the true north direction."
category = TC_NOTHING
returns = destructable
[[.args]]
type = destructablecode
default = "LTlt"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "GetRandomDirectionDeg"
[[.args]]
type = real
default = "1"
[[.args]]
type = integer
default = "0"

[CreateDeadDestructableZ]
title = "New destructible(dead) [R]"
description = "Newly dead ${Destructible type}In (${X},${Y},${Z\"), facing angle: \"}${Direction} Size scaling: ${Scale} style: ${Variation}"
comment = "The coordinates are in (X,Y,Z) format. The facing angle adopts the angle system, 0 degrees is the true east direction, and 90 degrees is the true north direction."
category = TC_NOTHING
returns = destructable
[[.args]]
type = destructablecode
default = "LTlt"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "GetRandomDirectionDeg"
[[.args]]
type = real
default = "1"
[[.args]]
type = integer
default = "0"

[RandomDestructableInRectSimpleBJ]
title = "Random destructible objects in a rectangular area"
description = "Randomly select a destructible object in ${rectangular area}"
comment = ""
category = TC_NOTHING
returns = destructable
[[.args]]
type = rect

[RandomDestructableInRectBJ]
title = "Random destructible objects in a rectangular area(Specify conditions)"
description = "A random destructible object satisfying ${condition} in ${rectangular area}"
comment = "Use'matching destructible' to refer to the destructible in the condition for comparison."
category = TC_NOTHING
returns = destructable
[[.args]]
type = rect
[[.args]]
type = boolexpr

[GetEnumDestructable]
title = "Destructible selected"
description = "Destructible selected"
comment = "When using'select a destructible object to perform an action', it refers to the corresponding destructible object."
category = TC_NOTHING
returns = destructable

[GetFilterDestructable]
title = "Matching destructible"
description = "Matching destructible"
comment = "In the condition of a function such as'selecting a destructible object to satisfy the condition', it refers to the destructible object being judged."
category = TC_NOTHING
returns = destructable

[GetDestructableTypeId]
title = "Specify the type of destructible"
description = "${Destructible} type"
comment = ""
category = TC_NOTHING
returns = destructablecode
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[CreateItem]
title = "New item [R]"
description = "Create a new ${item} in (${X},${Y})"
comment = ""
category = TC_NOTHING
returns = item
[[.args]]
type = itemcode
default = "texp"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[UnitDropItem]
title = "Items dropped by the unit"
description = "Let ${Unit} drop a ${item}"
comment = "Create an item at a random point in the area (32x32) where the unit is located. Note that when the unit stands next to an impassable path, the item may fall into it and cannot be picked up."
category = TC_NOTHING
returns = item
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = itemcode
default = "texp"

[RandomItemInRectSimpleBJ]
title = "Random items in a rectangular area"
description = "A randomly selected item in ${rectangular area}"
comment = ""
category = TC_NOTHING
use_in_event = 0
returns = item
[[.args]]
type = rect

[RandomItemInRectBJ]
title = "Random items in a rectangular area(Specify conditions)"
description = "A random item in ${rectangular area} satisfying ${condition}"
comment = "Use'matching items' to refer to items used for comparison in conditions."
category = TC_NOTHING
use_in_event = 0
returns = item
[[.args]]
type = rect
[[.args]]
type = boolexpr

[GetEnumItem]
title = "Select item"
description = "Select item"
comment = "When using'select an item to do an action', it refers to the corresponding item."
category = TC_NOTHING
use_in_event = 0
returns = item

[GetFilterItem]
title = "Matching items"
description = "Matching items"
comment = "In the conditions of functions such as'selected items meet conditions', it refers to the unit being judged."
category = TC_NOTHING
use_in_event = 0
returns = item

[UnitItemInSlot]
title = "Unit holding items"
description = "${Unit} The item in the ${Index} column of the inventory"
comment = "The position of the first cell is 0."
category = TC_NOTHING
returns = item
[[.args]]
type = unit
[[.args]]
type = integer
default = "0"
min = 0
max = 5

[UnitItemInSlotBJ]
title = "Unit holding items"
description = "${Unit} The item in the ${Index} column of the inventory"
comment = "The position of the first cell is 1."
category = TC_NOTHING
returns = item
[[.args]]
type = unit
[[.args]]
type = integer
default = "1"
min = 1
max = 6

[GetItemOfTypeFromUnitBJ]
title = "Unit holding items(Specified type)"
description = "${Item Type} held by ${Unit}"
comment = "Note: When there are multiple identical items, only the first item can be obtained."
category = TC_NOTHING
returns = item
[[.args]]
type = unit
[[.args]]
type = itemcode
default = "texp"

[CreateItemPool]
title = "New item pool [R]"
description = "New empty item pool"
comment = "Will create an item pool."
category = TC_NOTHING
use_in_event = 0
returns = itempool

[YDWEGetLastItemPool]
title = "Last item pool created [YDWE]"
description = "Last item pool created"
comment = "The item pool must be generated by the action <Create Item Pool> provided by YDWE, otherwise it cannot be obtained."
category = TC_NOTHING
use_in_event = 0
returns = itempool

[YDWEGetLastPoolAbstractedItem]
title = "The last item removed from the item pool[YDWE]"
description = "The last item removed from the item pool"
comment = "The item must be generated by the action <choose to place item> provided by YDWE, otherwise it cannot be obtained."
category = TC_NOTHING
use_in_event = 0
returns = item

[GetItemType]
title = "Classification of designated items"
description = "Categories of ${Items}"
comment = ""
category = TC_NOTHING
returns = itemtype
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemTypeId]
title = "Specify the type of item"
description = "${Item} type"
comment = ""
category = TC_NOTHING
returns = itemcode
[[.args]]
type = item
default = "GetLastCreatedItem"

["        "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = itemcode
[[.args]]
type = scriptcode

[ChooseRandomItemExBJ]
title = "Random item type (specified category)"
description = "Random ${Class} item type of level ${Level}"
comment = "This function is a new version function, using the new version level as the reference object. -1 means any level."
category = TC_NOTHING
returns = itemcode
[[.args]]
type = integer
default = "1"
min = -1
[[.args]]
type = itemtype
default = "ItemTypeAny"

[ChooseRandomItemBJ]
title = "Random item type"
description = "Random item type of level ${Level}"
comment = "This function is the ROC version function and uses the old version level as the reference object. -1 means any level."
script_name = ChooseRandomItem
category = TC_NOTHING
returns = itemcode
[[.args]]
type = integer
default = "1"
min = -1

["         "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = abilcode
[[.args]]
type = scriptcode

[GetEnumPlayer]
title = "Select player"
description = "Select player"
comment = "When using'select player to do action', it refers to the corresponding player."
category = TC_NOTHING
returns = player

[GetFilterPlayer]
title = "Match players"
description = "Match players"
comment = "In the conditions of functions such as'selected players meet conditions', it refers to the judged player."
category = TC_NOTHING
returns = player

[GetOwningPlayer]
title = "Unit owner"
description = "${Unit} owner"
comment = ""
category = TC_NOTHING
returns = player
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetItemPlayer]
title = "Item holder"
description = "${Item} holder"
comment = "It has nothing to do with the holder, the default is a neutral passive player."
category = TC_NOTHING
returns = player
[[.args]]
type = item
default = "GetLastCreatedItem"

[ForcePickRandomPlayer]
title = "Random players in the player group"
description = "A randomly selected player from ${player group}."
comment = ""
category = TC_NOTHING
returns = player
[[.args]]
type = force

[GetLocalPlayer]
title = "Local players [R]"
description = "Local players"
comment = "Refers to the player himself, so the return value for each player is different. If you don't know this function, don't use it, because it is likely to be disconnected due to out of synchronization."
category = TC_NOTHING
returns = player

["          "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = player
[[.args]]
type = scriptcode

[CreateGroup]
title = "New unit group [R]"
description = "New empty unit group"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group

["           "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = group
[[.args]]
type = scriptcode

[GetRandomSubGroup]
title = "Random unit in unit group"
description = "Randomly get ${Count} units from ${unit group}"
comment = "Will create unit groups. This function cannot use the setting bj_wantDestroyGroup=true to clear the group, which will cause the action to be invalid."
category = TC_NOTHING
use_in_event = 0
returns = group
[[.args]]
type = integer
default = "4"
[[.args]]
type = group
default = "GetUnitsInRectAll"

[GetUnitsInRectAll]
title = "Units in rectangular area"
description = "All units within ${rectangular area}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetUnitsInRectOfPlayer]
title = "Player units in a rectangular area"
description = "All units belonging to ${Player} in ${rectangular area}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = rect
default = "GetPlayableMapRect"
[[.args]]
type = player
default = "Player00"

[GetUnitsInRectMatching]
title = "Units in rectangular area(Specify conditions)"
description = "All units in ${rectangular area} satisfying ${condition}"
comment = "Use'matching unit' to refer to the unit used for comparison in the condition. Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = rect
default = "GetPlayableMapRect"
[[.args]]
type = boolexpr

[GetUnitsInRangeOfLocAll]
title = "Unit within circle"
description = "All units within a circle with a radius of ${Radius} and a center of ${specified point}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = real
default = "512"
min = 0
[[.args]]
type = location
default = "GetRectCenter"

[GetUnitsInRangeOfLocMatching]
title = "Unit within circle(Specify conditions)"
description = "All units with a radius of ${Radius} and a center of ${specified point} that satisfy ${conditions}"
comment = "Use'matching unit' to refer to the unit used for comparison in the condition. Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = real
default = "512"
min = 0
[[.args]]
type = location
default = "GetRectCenter"
[[.args]]
type = boolexpr

[GetUnitsOfPlayerAll]
title = "Player unit"
description = "All units belonging to ${Player}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = player
default = "Player00"

[GetUnitsOfPlayerAndTypeId]
title = "Player unit(Specify unit type)"
description = "All ${unit types} belonging to ${Player}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unitcode
default = "hfoo"

[GetUnitsOfPlayerMatching]
title = "Player unit(Specify conditions)"
description = "All units belonging to ${Player} and satisfying ${conditions}"
comment = "Use'matching unit' to refer to the unit used for comparison in the condition. Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = player
default = "Player00"
[[.args]]
type = boolexpr

[GetUnitsOfTypeIdAll]
title = "All specified types of units"
description = "All ${unit type}"
comment = "Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = unitcode
default = "hfoo"

[GetUnitsSelectedAll]
title = "Player select unit"
description = "${Player} All units selected"
comment = "Cannot be used for trigger conditions. Will create unit groups."
category = TC_NOTHING
returns = group
[[.args]]
type = player
default = "Player00"

[CreateForce]
title = "New player group [R]"
description = "New empty player group"
comment = "Will create player groups."
category = TC_NOTHING
returns = force

[GetPlayersAll]
title = "All players"
description = "All players"
comment = "Including unused players and neutral players."
category = TC_NOTHING
returns = force

[GetPlayersByMapControl]
title = "All players with designated controller"
description = "All players controlled by ${Control Type}"
comment = "Will create player groups."
category = TC_NOTHING
returns = force
[[.args]]
type = mapcontrol
default = "MapControlComputer"

[GetPlayersMatching]
title = "All eligible players"
description = "All players matching ${conditions}"
comment = "The use of'matched players' refers to the players used for comparison in the conditions, including unused players and neutral players. Will create player groups."
category = TC_NOTHING
returns = force
[[.args]]
type = boolexpr

[GetPlayersAllies]
title = "Allies of the player"
description = "All alliance players of ${Player}"
comment = "Both parties need to be in alliance with each other, including themselves, excluding neutral players. Will create player groups."
category = TC_NOTHING
returns = force
[[.args]]
type = player
default = "Player00"

[GetPlayersEnemies]
title = "Player's enemy"
description = "All hostile players of ${Player}"
comment = "All players that are hostile, excluding neutral players. Will create player groups."
category = TC_NOTHING
returns = force
[[.args]]
type = player
default = "Player00"

[GetForceOfPlayer]
title = "Convert players to player groups"
description = "Convert ${Player} to player groups"
comment = "Will create player groups."
category = TC_NOTHING
returns = force
[[.args]]
type = player
default = "Player00"

[GetPlayerRace]
title = "Player's race"
description = "${Player} race"
comment = ""
category = TC_NOTHING
returns = race
[[.args]]
type = player
default = "Player00"

[GetUnitRace]
title = "Unit race"
description = "${Unit} race"
comment = "The race of the unit set in the object editor."
category = TC_NOTHING
returns = race
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetCurrentCameraSetup]
title = "Player's current camera"
description = "Player's current camera"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection. A camera object will be created, but each player will only have one current camera."
category = TC_NOTHING
returns = camerasetup

[CreateFogModifierRect]
title = "New visibility corrector (rectangular area) [R]"
description = "The newly created ${player} visibility modifier. Visibility: ${FogStateVisible} Affected area: ${rectangular area} (for allies ${shared} vision, ${cover} unit vision)"
comment = "Will create a visibility modifier."
category = TC_NOTHING
returns = fogmodifier
[[.args]]
type = player
default = "Player00"
[[.args]]
type = fogstate
default = "FogStateVisible"
[[.args]]
type = rect
[[.args]]
type = sharevisionoption
default = "ShareVisionShare"
[[.args]]
type = converunitoption
default = "ConverUnitNot"

[CreateFogModifierRadius]
title = "New visibility modifier (circle range) [R]"
description = "The newly created ${player} visibility modifier. Visibility: ${FogStateVisible}Center coordinates: (${X},${Y}) Radius: ${number} (for allies ${share} vision, ${cover} unit vision)"
comment = "Will create a visibility modifier."
category = TC_NOTHING
returns = fogmodifier
[[.args]]
type = player
default = "Player00"
[[.args]]
type = fogstate
default = "FogStateVisible"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "512"
[[.args]]
type = sharevisionoption
default = "ShareVisionShare"
[[.args]]
type = converunitoption
default = "ConverUnitNot"

[GetTriggeringTrigger]
title = "Current trigger"
description = "Current trigger"
comment = "The trigger currently running."
category = TC_NOTHING
returns = trigger

[GetGameDifficulty]
title = "Current game difficulty"
description = "Current game difficulty"
comment = ""
category = TC_NOTHING
returns = gamedifficulty

[GetAIDifficulty]
title = "Player's AI difficulty"
description = "${Player}'s difficulty against AI"
comment = "Return to normal difficulty for non-AI players."
category = TC_NOTHING
returns = aidifficulty
[[.args]]
type = player
default = "Player00"

[GetGameSpeed]
title = "Current game speed"
description = "Current game speed"
comment = ""
category = TC_NOTHING
returns = gamespeed

[GetPlayerController]
title = "Player controller"
description = "${Player} controller"
comment = ""
category = TC_NOTHING
returns = mapcontrol
[[.args]]
type = player
default = "Player00"

[GetPlayerColor]
title = "Player color"
description = "${Player} color"
comment = ""
category = TC_NOTHING
returns = playercolor
[[.args]]
type = player
default = "Player00"

[GetPlayerSlotState]
title = "Player game state"
description = "${Player} game state"
comment = ""
category = TC_NOTHING
returns = playerslotstate
[[.args]]
type = player
default = "Player00"

[AddSpecialEffect]
title = "New special effect (created to coordinates) [R]"
description = "Create a new special effect ${Model File} at (${X},${Y})"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = modelfile
default = "\"Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl\""
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[AddSpecialEffectLoc]
title = "New special effect (created to point) [R]"
description = "New special effect ${Model File} is at ${specified point}"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = modelfile
default = "\"Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl\""
[[.args]]
type = location

[AddSpecialEffectTarget]
title = "New special effect (created to unit) [R]"
description = "Create a new special effect ${Model File} and bind it to the ${Attachment Point} attachment point of ${Unit}"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = modelfile
default = "\"Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl\""
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = string
default = "\"overhead\""

[AddSpellEffectById]
title = "New special effects (specify skills, create to coordinates) [R]"
description = "${EffectType} of ${Skill}, created to coordinates (${X},${Y})"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = abilcode
[[.args]]
type = effecttype
default = "EffectTypeEffect"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[AddSpellEffectByIdLoc]
title = "New special effects (specify skills, create to point) [R]"
description = "${Skill}’s ${EffectType}, created to ${specified point}"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = abilcode
[[.args]]
type = effecttype
default = "EffectTypeEffect"
[[.args]]
type = location

[AddSpellEffectTargetById]
title = "New special effects (specify skills, create to unit) [R]"
description = "$The ${EffectType} of ${Skill} is bound to the additional point of ${String} of ${Unit}"
comment = "Will create special effects."
category = TC_NOTHING
returns = effect
[[.args]]
type = abilcode
[[.args]]
type = effecttype
default = "EffectTypeEffect"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = string
default = "\"overhead\""

[CreateImage]
title = "New image [R]"
description = "New image: ${Image} Size:(${X},${Y},${Z}) Create point:(${X},${Y},${Z}) Origin coordinate:(${X},${Y},${Z}) Image type: ${Type}"
comment = "Use the'Image-Set Permanent Rendering State' action to display the image. The size, creation point and origin format are (X,Y,Z). The creation point is used as the lower left corner of the image. The image will be created."
category = TC_NOTHING
use_in_event = 0
returns = image
[[.args]]
type = string
default = "\"ReplaceableTextures\\Splats\\AuraRune9b.blp\""
[[.args]]
type = real
default = "256"
[[.args]]
type = real
default = "256"
[[.args]]
type = real
default = "256"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = imagetype
default = "ImageTypeIndicator"

[CreateUbersplat]
title = "New ground texture changes [R]"
description = "The new ground texture changes at point (${X},${Y}),Use image: ${Type} Color value is(${Red},${Green},${Blue}) Alpha value is${Transparency} (${Enable/Disable} Suspended state, ${Enble/Disable} Skip birth animation)"
comment = "The color value and Alpha value range from 0-255. Use'Ground texture change-set permanent rendering state' to display the created texture change. The pause state indicates whether the texture change will be retained after the animation is finished. The texture change will be created."
category = TC_NOTHING
use_in_event = 0
returns = ubersplat
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = ubersplattype
default = "UbersplatTypeNGOL"
[[.args]]
type = integer
default = "255"
[[.args]]
type = integer
default = "255"
[[.args]]
type = integer
default = "255"
[[.args]]
type = integer
default = "255"
[[.args]]
type = enabledisableoption
default = "EnableDisableDisable"
[[.args]]
type = enabledisableoption
default = "EnableDisableDisable"

[AddWeatherEffect]
title = "New weather effect [R]"
description = "The newly created weather effect in ${rectangular area}: ${WeatherId}"
comment = "Will create weather effects."
category = TC_NOTHING
returns = weathereffect
[[.args]]
type = rect
[[.args]]
type = weathereffectcode

[TerrainDeformCrater]
title = "New terrain change: crater [R]"
description = "New crater deformation. Center coordinates: (${X},${Y}) Radius: ${Radius} Depth: ${Depth} Duration: ${Duration} milliseconds, Change type: ${Type}"
comment = "Depth can be negative. Permanent terrain changes will not be recorded when saving the game."
category = TC_NOTHING
returns = terraindeformation
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "512"
min = 0.01
[[.args]]
type = real
default = "96"
[[.args]]
type = integer
default = "4000"
min = 1
[[.args]]
type = cratertype
default = "CraterTypeTemporary"

[TerrainDeformRipple]
title = "New terrain change: ripple [R]"
description = "New ripple deformation. Center coordinates: (${X},${Y}) Final radius: ${Radius} Depth: ${Depth} Duration: ${Duration} milliseconds, Number of changes: ${Count} Number of surface waves : ${SpaceWave} Total wave number: ${TimeWave} Initial radius rate: ${Number} Variation type: ${Type}"
comment = "Initial radius rate = initial radius / final radius."
category = TC_NOTHING
returns = terraindeformation
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "1024"
min = 0.01
[[.args]]
type = real
default = "96"
[[.args]]
type = integer
default = "1"
min = 1
[[.args]]
type = integer
default = "4000"
min = 1
[[.args]]
type = real
default = "4"
min = 0.01
[[.args]]
type = real
default = "16"
min = 0.01
[[.args]]
type = real
default = "1"
min = 0.01
[[.args]]
type = rippletype
default = "RippleTypeNormal"

[TerrainDeformWave]
title = "New terrain change: shock wave [R]"
description = "New shock wave deformation. Starting coordinates: (${X},${Y}) Wave direction: (${X},${Y}) Wave distance: ${distance} Wave speed: ${speed} Wave radius : ${radius} Depth: ${Depth} Deformation effect duration: ${Delay} milliseconds, number of changes: ${Count}"
comment = "The depth can be a negative number. The direction is expressed in the form of (X, Y) coordinates, such as (1, 1) for 45 degrees."
category = TC_NOTHING
returns = terraindeformation
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "1"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "1024"
min = 0.01
[[.args]]
type = real
default = "1024"
min = 0.01
[[.args]]
type = real
default = "256"
min = 0.01
[[.args]]
type = real
default = "96"
min = 0.01
[[.args]]
type = integer
default = "1000"
min = 1
[[.args]]
type = integer
default = "1"
min = 1

[TerrainDeformRandom]
title = "New terrain changes: random [R]"
description = "Newly created random deformation. Center coordinates: (${X},${Y}) Radius: ${Radius} Minimum height change: ${Depth} Maximum height change: ${Depth} Duration: ${Duration} milliseconds, Change period: ${Duration} milliseconds"
comment = ""
category = TC_NOTHING
returns = terraindeformation
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "1024"
min = 0.01
[[.args]]
type = real
default = "-96"
[[.args]]
type = real
default = "96"
[[.args]]
type = integer
default = "4000"
min = 1
[[.args]]
type = integer
default = "100"
min = 1

[DialogAddButton]
title = "Add dialog button [R]"
description = "To add a button to ${Dialog}, use the title: ${Text} Shortcut key: ${HotKey}"
comment = "Will create a dialog button."
category = TC_NOTHING
returns = button
[[.args]]
type = dialog
default = "GetClickedDialogBJ"
[[.args]]
type = StringExt
[[.args]]
type = hotkeyint
default = "HotKeyNull"

[CreateLeaderboard]
title = "New leaderboard [R]"
description = "New empty leaderboard"
comment = "Will create a leaderboard."
category = TC_NOTHING
returns = leaderboard

[PlayerGetLeaderboardBJ]
title = "Leaderboards used by players"
description = "Leaderboard used by ${Player}"
comment = "Each player can only use 1 leaderboard."
script_name = PlayerGetLeaderboard
category = TC_NOTHING
returns = leaderboard
[[.args]]
type = player
default = "Player00"

[CreateMultiboard]
title = "New multi-panel [R]"
description = "New empty multi-panel"
comment = "Will create multiple panels."
category = TC_NOTHING
use_in_event = 0
returns = multiboard

[MultiboardGetItem]
title = "Multi-panel project [R]"
description = "${Multi-panel} row ${X}, column ${Y} item"
comment = "(0,0) As the first item of the multi-panel, a multi-panel project will be created."
category = TC_NOTHING
use_in_event = 0
returns = multiboarditem
[[.args]]
type = multiboard
default = "bj_lastCreatedMultiboard"
[[.args]]
type = integer
default = "0"
[[.args]]
type = integer
default = "0"

[CreateTimer]
title = "New timer [R]"
description = "New timer"
comment = "Will create a timer."
category = TC_NOTHING
returns = timer

[YDWERemoveAttackWaveReturnTimer]
title = "The last spawn timer created[YDWE]"
description = "The last spawn timer created"
comment = "Responding to the army system"
category = TC_NOTHING
returns = timer

["            "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = timer
[[.args]]
type = scriptcode

[CreateTrackable]
title = "New traceable [R]"
description = "New traceable object, use model: ${model name} Location: (${X axis}, ${Y axis}) Orientation angle: ${number} degrees"
comment = "Can be used to respond to mouse movements and clicks. Traceable objects will be created."
category = TC_NOTHING
returns = trackable
[[.args]]
type = modelfile
default = "\"Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl\""
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = degree
default = "0"

["              "]
title = "Custom code"
description = "code: ${Jass code}"
comment = "Enter a line of Jass code"
category = TC_YDHIDE
returns = hashtable
[[.args]]
type = scriptcode

[CreateTextTag]
title = "New floating text [R]"
description = "New floating text"
comment = "Will create floating text."
category = TC_NOTHING
use_in_event = 0
returns = texttag

[" UnitAddAbility"]
title = "Add skills [C]"
description = "Add ${Skills} to ${Unit}"
comment = "Return true if added successfully."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = abilcode

[" UnitRemoveAbility"]
title = "Delete skill [C]"
description = "Delete ${Skills} to ${Unit}"
comment = "Return true if the deletion is successful."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = abilcode

[IssueImmediateOrder]
title = "Issue command (no target)"
description = "Issue ${Order} command to ${Unit}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitordernotarg
default = "UnitOrderStop"

[IssuePointOrder]
title = "Issue order(Specify coordinates) [R]"
description = "Issue ${Order} command to ${Unit} to coordinates:(${X},${Y})"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderptarg
default = "UnitOrderMove"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IssuePointOrderLoc]
title = "Issue order(Designated point)"
description = "Issue ${Order} command to ${Unit} to Target: ${Designated point}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderptarg
default = "UnitOrderMove"
[[.args]]
type = location

[IssueTargetOrder]
title = "Issue order(Designated unit)"
description = "Issue ${Order} command to ${Unit} to target: ${Unit}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderutarg
default = "UnitOrderAttackUnit"
[[.args]]
type = unit

[IssueTargetDestructableOrder]
title = "Issue order(Designated destructible)"
description = "Issue ${Order} command to ${Unit} to target: ${destructible}"
comment = ""
script_name = IssueTargetOrder
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderdtarg
default = "UnitOrderHarvestDestructible"
[[.args]]
type = destructable

[IssueTargetItemOrder]
title = "Issue order(Designated items)"
description = "Issue ${Order} command to ${Unit} to target: ${items}"
comment = ""
script_name = IssueTargetOrder
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderitarg
default = "UnitOrderSmartItem"
[[.args]]
type = item

[IssueImmediateOrderById]
title = "Issue order(no target)(ID)"
description = "Issue ${Order} command to ${Unit}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodenotarg
default = "OrderCodeStop"

[IssuePointOrderById]
title = "Issue order(Specify coordinates)(ID)"
description = "Issue ${Order} command to ${Unit} to coordinates:(${X},${Y})"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeptarg
default = "OrderCodeMove"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IssuePointOrderByIdLoc]
title = "Issue order(Designated point)(ID)"
description = "Issue ${Order} command to ${Unit} to target point: ${Designated point}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeptarg
default = "OrderCodeMove"
[[.args]]
type = location

[IssueTargetOrderById]
title = "Issue order(Designated unit)(ID)"
description = "Issue ${Order} command to ${Unit} to target: ${Unit}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeutarg
default = "OrderCodeAttackUnit"
[[.args]]
type = unit

[IssueTargetDestructableOrderById]
title = "Issue order(Designated destructible)(ID)"
description = "Issue ${Order} command to ${Unit} to target: ${destructible}"
comment = ""
script_name = IssueTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodedtarg
default = "OrderCodeHarvestDestructible"
[[.args]]
type = destructable

[IssueTargetItemOrderById]
title = "Issue order(Designated items)(ID)"
description = "Issue ${Order} command to ${Unit} to target: ${items}"
comment = ""
script_name = IssueTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeitarg
default = "OrderCodeSmartItem"
[[.args]]
type = item

[IssueNeutralImmediateOrder]
title = "Issue intermediary orders(no target)"
description = "Make ${player} issue a ${Order} command to ${Unit}"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitordernotarg
default = "UnitOrderStop"

[IssueNeutralPointOrder]
title = "Issue intermediary orders(Specify coordinates)"
description = "Make ${player} Issue ${Order} command to ${Unit} to coordinates:(${X},${Y})"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderptarg
default = "UnitOrderNeutralDetectAOE"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IssueNeutralTargetOrder]
title = "Issue intermediary orders(Designated unit)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${Unit}"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderutarg
default = "UnitOrderNeutralInterAct"
[[.args]]
type = unit

[IssueNeutralTargetDestructableOrder]
title = "Issue intermediary orders(Designated destructible)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${destructible}"
comment = "Can be used to issue order for non-player unit."
script_name = IssueNeutralTargetOrder
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderdtarg
default = "UnitOrderHarvestDestructible"
[[.args]]
type = destructable

[IssueNeutralTargetItemOrder]
title = "Issue intermediary orders(Designated items)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${items}"
comment = "Can be used to issue order for non-player unit."
script_name = IssueNeutralTargetOrder
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitorderitarg
default = "UnitOrderSmartItem"
[[.args]]
type = item

[IssueNeutralImmediateOrderById]
title = "Issue intermediary orders(no target)(ID)"
description = "Make ${player} issued ${Order} command to ${Unit}"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodenotarg
default = "OrderCodeStop"

[IssueNeutralPointOrderById]
title = "Issue intermediary orders(Specify coordinates)(ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to coordinates:(${X},${Y})"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeptarg
default = "OrderCodeNeutralDetectAOE"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IssueNeutralTargetOrderById]
title = "Issue intermediary orders(Designated unit)(ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${Unit}"
comment = "Can be used to issue order for non-player unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeutarg
default = "OrderCodeNeutralInterAct"
[[.args]]
type = unit

[IssueNeutralTargetDestructableOrderById]
title = "Issue intermediary orders(Designated Destructible Object)(ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${Destructible}"
comment = "Can be used to issue order for non-player unit."
script_name = IssueNeutralTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodedtarg
default = "OrderCodeHarvestDestructible"
[[.args]]
type = destructable

[IssueNeutralTargetItemOrderById]
title = "Issue intermediary orders(Designated items)(ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${items}"
comment = "Can be used to issue order for non-player unit."
script_name = IssueNeutralTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercodeitarg
default = "OrderCodeSmartItem"
[[.args]]
type = item

[YDWEIssueNeutralImmediateOrderById]
title = "Issue intermediary orders(no target)(Custom ID)"
description = "Make ${player} issued ${Order} command to ${Unit}"
comment = "Can be used to issue order for non-player unit，and also can directly enter the digital command ID."
script_name = IssueNeutralImmediateOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercode
default = YDWEAbilityId2OrderId

[YDWEIssueNeutralPointOrderById]
title = "Issue intermediary orders(Specify coordinates)(Custom ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to coordinates:(${X},${Y})"
comment = "Can be used to issue order for non-player unit，and also can directly enter the digital command ID."
script_name = IssueNeutralPointOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercode
default = YDWEAbilityId2OrderId
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[YDWEIssueNeutralTargetOrderById]
title = "Issue intermediary orders(Designated unit)(Custom ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${Unit}"
comment = "Can be used to issue order for non-player unit，and also can directly enter the digital command ID."
script_name = IssueNeutralTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercode
default = YDWEAbilityId2OrderId
[[.args]]
type = unit

[YDWEIssueNeutralTargetDestructableOrderById]
title = "Issue intermediary orders(Designated Destructible Object)(Custom ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${Destructible}"
comment = "Can be used to issue order for non-player unit，and also can directly enter the digital command ID."
script_name = IssueNeutralTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercode
default = YDWEAbilityId2OrderId
[[.args]]
type = destructable

[YDWEIssueNeutralTargetItemOrderById]
title = "Issue intermediary orders(Designated items)(Custom ID)"
description = "Make ${player} Issue ${Order} command to ${Unit} to target: ${items}"
comment = "Can be used to issue order for non-player unit，and also can directly enter the digital command ID."
script_name = IssueNeutralTargetOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = ordercode
default = YDWEAbilityId2OrderId
[[.args]]
type = item

[IssueTrainOrderByIdBJ]
title = "Issue training/upgrade commands"
description = "Command ${Unit} build/upgrade to ${unit type}"
comment = "This upgrade refers to the upgrade of A unit to B unit, not a technological upgrade."
script_name = IssueImmediateOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitcode
default = "hfoo"

[IssueUpgradeOrderByIdBJ]
title = "Issue research technology orders"
description = "Command ${Unit} Research ${Tech-Type}"
comment = ""
script_name = IssueImmediateOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = techcode
default = "Rhde"

[IssueBuildOrderById]
title = "Issue build order(Specify coordinates) [R]"
description = "Command ${Unit} to build ${unit type} at coordinates:(${X},${Y})"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitcode
default = "hbar"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IssueBuildOrderByIdLocBJ]
title = "Issue build order(Designated point)"
description = "Command ${Unit} to build ${unit type} at ${Designated point}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitcode
default = "hbar"
[[.args]]
type = location

[UnitDropItemPoint]
title = "Issue a discard order(Specify coordinates) [R]"
description = "Command ${Unit} to discard item ${item} to coordinates: (${X},${Y})"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "bj_lastCreatedItem"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[UnitDropItemPointLoc]
title = "Issue a discard order(Designated point)"
description = "Command ${Unit} to discard item ${Item} to ${Designated point}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "GetLastCreatedItem"
[[.args]]
type = location

[UnitDropItemSlot]
title = "Move items to inventory [R]"
description = "Command ${Unit} to move ${item} to the inventory# ${Index}"
comment = "Only valid when the unit holds the item. Note: The inventory number in this function is from 0-5, not 1-6."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "bj_lastCreatedItem"
[[.args]]
type = integer
default = "0"
min = 0
max = 5

[UnitDropItemSlotBJ]
title = "Move items to inventory"
description = "Command ${Unit} to move ${item} to the ${Index} grid of the inventory"
comment = "Only valid when the unit holds the item."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "GetLastCreatedItem"
[[.args]]
type = integer
default = "1"
min = 1
max = 6

[UnitDropItemTargetBJ]
title = "Issue an order to give items"
description = "Command ${Unit} gives ${Item} to ${Unit}"
comment = ""
script_name = UnitDropItemTarget
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "GetLastCreatedItem"
[[.args]]
type = unit

[IssueBuyUnitOrder]
title = "Issue purchase unit order [R]"
description = "Make ${player} buy ${Unit} from ${unit type}"
comment = ""
script_name = IssueNeutralImmediateOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitcode
default = "hfoo"

[IssueBuyItemOrder]
title = "Issue purchase items order [R]"
description = "Make ${player} buy ${item type} from ${Unit}"
comment = "First let the store issue the'neutral store-select' command to the Player unit, and then use this function to achieve the purchase of the specified unit."
script_name = IssueNeutralImmediateOrderById
category = TC_UNIT
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = itemcode
default = "ckng"

[UnitDamagePoint]
title = "Damage area [R]"
description = "The command ${Unit} will cause ${Amount} damage (${Yes} attack damage to the area with a radius of ${Size} and a center of (${X}, ${Y}) after ${Seconds} seconds. ${Yes} Ranged Attack) Attack Type: ${AttackType} Damage Type: ${DamageType} Armor Type: ${WeaponType}"
comment = "This action will not interrupt the unit's actions. Damaged/killed units by this action also normally trigger the'damaged' and'death' unit events."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "500"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "100"
[[.args]]
type = isnotoption
default = "IsNotIs"
[[.args]]
type = isnotoption
default = "IsNotNot"
[[.args]]
type = attacktype
default = "AttackTypeNormal"
[[.args]]
type = damagetype
default = "DamageTypeNormal"
[[.args]]
type = weapontype
default = "WEAPON_TYPE_WHOKNOWS"

[UnitDamagePointLoc]
title = "Damage area"
description = "The command ${Unit} causes ${Amount} damage to the area with a radius of ${Size} and a center of ${specified point} after ${Seconds} seconds. Attack type: ${AttackType} Damage type: ${DamageType}"
comment = "This action will not interrupt the unit's actions. Damaged/killed units by this action also normally trigger the'damaged' and'death' unit events."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "500"
[[.args]]
type = location
default = "GetRectCenter"
[[.args]]
type = real
default = "100"
[[.args]]
type = attacktype
default = "AttackTypeNormal"
[[.args]]
type = damagetype
default = "DamageTypeNormal"

[UnitDamageTarget]
title = "Damage target [R]"
description = "Command ${Unit} causes ${Amount} damage to ${Target} (${Yes} attack damage, ${Yes} ranged attack) Attack type: ${AttackType} Damage type: ${DamageType} Weapon type: ${WeaponType}"
comment = "This action will not interrupt the unit's actions. Damaged/killed units by this action also normally trigger the'damaged' and'death' unit events."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = real
default = "500"
[[.args]]
type = isnotoption
default = "IsNotIs"
[[.args]]
type = isnotoption
default = "IsNotNot"
[[.args]]
type = attacktype
default = "AttackTypeNormal"
[[.args]]
type = damagetype
default = "DamageTypeNormal"
[[.args]]
type = weapontype
default = "WEAPON_TYPE_WHOKNOWS"

[UnitDamageTargetBJ]
title = "Damage target"
description = "Command ${Unit} causes ${Amount} damage to ${Target}, attack type: ${AttackType} damage type: ${DamageType}"
comment = "This action will not interrupt the unit's actions. Damaged/killed units by this action also normally trigger the'damaged' and'death' unit events."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = real
default = "500"
[[.args]]
type = attacktype
default = "AttackTypeNormal"
[[.args]]
type = damagetype
default = "DamageTypeNormal"

[IsUnit]
title = "Unit inspection"
description = "${Unit} is the same as ${Unit}"
comment = "Used to judge whether two units are equal."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
default = "GetLastCreatedUnit"

[IsUnitDetected]
title = "Detected"
description = "${Unit} is within the real field of view of ${player}"
comment = "Used to determine if the unit is within the anti-invisibility range of the player. Note: Does not include the anti-invisibility range of the player's alliance."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitType]
title = "Unit category check"
description = "${Unit} is ${Type}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unittype
default = "UnitTypeStructure"

[IsUnitRace]
title = "Unit race check"
description = "${Unit} is ${Race}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = race
default = "RaceHuman"

[IsUnitIdType]
title = "Unit category check(Specify unit type)"
description = "${unit type} is ${Type}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unitcode
default = "GetUnitTypeId"
[[.args]]
type = unittype
default = "UnitTypeStructure"

[IsHeroUnitId]
title = "Unit type is hero unit"
description = "${UnitType} is hero unit"
category = TC_UNIT
returns = boolean
[[.args]]
type = unitcode
default = "hfoo"

[IsUnitInGroup]
title = "In unit group"
description = "${Unit} in ${unit group}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = group

[IsUnitInRange]
title = "Within the specified unit [R]"
description = "${Unit} is within a distance of ${specified unit} ${range}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit
[[.args]]
type = real
default = "600"

[IsUnitInRangeXY]
title = "Within the specified coordinates [R]"
description = "${Unit} is within the range of distance coordinates (${X},${Y}) ${range}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "600"

[IsUnitInRangeLoc]
title = "Within the specified point [R]"
description = "${Unit} is within a distance of ${specified point} ${range}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = location
[[.args]]
type = real
default = "600"

[RectContainsUnit]
title = "In a rectangular area"
description = "${Unit} exists in ${Rectangular area}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = rect
default = "GetPlayableMapRect"
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitInRegion]
title = "In an irregular area [R]"
description = "${Unit} exists in ${Irregular area} "
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = region
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitAliveBJ]
title = "Unit health is greater than zero"
description = "${Unit} Health is greater than zero"
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitDeadBJ]
title = "Unit health is not greater than zero"
description = "${Unit} Health is not greater than zero"
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitPausedBJ]
title = "Unit suspended"
description = "${Unit} is suspended"
comment = ""
script_name = IsUnitPaused
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitHiddenBJ]
title = "Unit hidden"
description = "${Unit} is hidden"
comment = "Hidden units can be analyzed through the'Unit-Hide' action. The transport plane, the soul ball, and the units in the altar are considered to be hidden."
script_name = IsUnitHidden
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitIllusionBJ]
title = "Unit is mirror"
description = "${Unit} is the mirror unit"
comment = ""
script_name = IsUnitIllusion
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitCanSleepPerm]
title = "Allow control of sleep state"
description = "Allows to control the sleep state of ${Unit}"
comment = "That is, the unit has the'always sleep' skill."
script_name = UnitCanSleepPerm
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitCanSleepBJ]
title = "Allow night sleep"
description = "${Unit} will go to sleep at night"
comment = "Neutral creatures sleep."
script_name = UnitCanSleep
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitIsSleepingBJ]
title = "Sleeping"
description = "${Unit} is sleeping"
comment = "Neutral creatures sleep. Does not include hypnotic magic."
script_name = UnitIsSleeping
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[DoesUnitGenerateAlarms]
title = "Turn on the alarm"
description = "${Unit} is in alarm state"
comment = ""
category = TC_UNIT
use_in_event = 0
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitLoadedBJ]
title = "Loaded"
description = "${Unit} is being loaded"
comment = "Loaded by airships, ships and other units with transportation functions."
script_name = IsUnitLoaded
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsUnitInTransportBJ]
title = "Loaded by designated unit"
description = "${Unit} is being loaded by ${transporter}"
comment = ""
script_name = IsUnitInTransport
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unit

[IsUnitSelected]
title = "Selected by the player"
description = "${Unit} is selected by ${Player}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitAlly]
title = "It is the player’s alliance unit"
description = "${Unit} is an alliance unit of ${Player}"
comment = "Including the neutral state. One way to determine whether the player is in a non-aggressive state against the unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitEnemy]
title = "It is the player’s hostile unit"
description = "${Unit} is the hostile unit of ${Player}"
comment = "Does not include neutral status. One-way judgment of whether the player is a hostile invading unit."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitOwnedByPlayer]
title = "It is the player's unit"
description = "${Unit} belongs to ${Player}"
comment = "Determine whether the unit belongs to this player."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitInForce]
title = "It is the player's unit in the player group"
description = "${Unit} belongs to players in ${player group}"
comment = "Determine whether the unit belongs to the players in this player group."
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = force
default = "GetPlayersAll"

[UnitHasBuffBJ]
title = "Has magical effects"
description = "${Unit} has ${magic effect}"
comment = ""
category = TC_UNIT
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = buffcode

[CountUnitsInGroup]
title = "Number of units in unit group"
description = "Number of units in ${unit group}"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = group
default = "GetUnitsInRectAll"

[CountLivingPlayerUnitsOfTypeId]
title = "Number of units owned by the player"
description = "${unit type} quantity pair ${Player}"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unitcode
default = "hfoo"
[[.args]]
type = player
default = "Player00"

[GetUnitFoodUsed]
title = "Unit use population"
description = "${Unit} Number of population used"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitFoodMade]
title = "Unit provides population"
description = "${Unit} Number of population provided"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetFoodUsed]
title = "Unit use population(Specify unit type)"
description = "${unit type} Number of population used"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[GetFoodMade]
title = "Unit provides population(Specify unit type)"
description = "${unit type} Number of population provided"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[GetUnitPointValue]
title = "Unit added value"
description = "The added value of ${Unit}"
comment = "The added value of the unit cannot be changed. It can be used for some special purposes. For example, the building sales price in the TD map."
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitPointValueByType]
title = "Unit added value(Specify unit type)"
description = "${unit type} added value"
comment = "The added value of the unit cannot be changed. It can be used for some special purposes. For example, the building sales price in the TD map."
category = TC_UNIT
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[GetUnitUserData]
title = "Unit custom value"
description = "Custom value of ${Unit}"
comment = "The value can be set using'Unit-Set custom value'."
category = TC_UNIT
returns = integer
[[.args]]
type = unit

[GetUnitLevel]
title = "Unit level"
description = "${Unit} level"
comment = "For heroes, return their hero level."
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitAbilityLevel]
title = "Unit skill level [R]"
description = "${Unit}’s ${Skill} skill level"
comment = "If the unit does not have the skill, return 0."
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = abilcode

[GetUnitAbilityLevelSwapped]
title = "Unit skill level"
description = "${Skills}'s level to ${Unit}"
comment = "If the unit does not have the skill, return 0."
category = TC_UNIT
returns = integer
[[.args]]
type = abilcode
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitInventoryCount]
title = "Number of items held"
description = "${Unit} the number of items held"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitInventorySizeBJ]
title = "Number of inventory"
description = "Number of inventory in ${Unit}"
comment = ""
script_name = UnitInventorySize
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[UnitCountBuffsEx]
title = "Number of Buffs [R]"
description = "The number of attached Buffs of ${Unit}, (${Include/Exclude} Positive Buff, ${Include/Exclude} Negative Buff${Include/Exclude} Magic Buff, ${Include/Exclude} Physical Buff${Include/Exclude} Life cycle, ${Include/Exclude} Aura effect ${Include/Exclude} cannot dispel Buff)"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = includeoption
default = "InclusionInclude"
[[.args]]
type = includeoption
default = "InclusionInclude"
[[.args]]
type = includeoptionnot
default = "InclusionIncludeNot"
[[.args]]
type = includeoptionnot
default = "InclusionIncludeNot"
[[.args]]
type = includeoption
default = "InclusionInclude"
[[.args]]
type = includeoption
default = "InclusionInclude"
[[.args]]
type = includeoptionnot
default = "InclusionIncludeNot"

[UnitCountBuffsExBJ]
title = "Number of Buffs"
description = "${Buff Type} ${Buff Resist} Buff quantity is on ${Unit}(${Include/Exclude} Life cycle, ${Include/Exclude} Halo)"
comment = ""
category = TC_UNIT
returns = integer
[[.args]]
type = buffpolarity
default = "BuffPolarityEither"
[[.args]]
type = buffresist
default = "BuffResistEither"
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = includeoption
default = "InclusionInclude"
[[.args]]
type = includeoption
default = "InclusionInclude"

[GetUnitState]
title = "Attributes [R]"
description = "${Property} of ${Unit}"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = unitstate
default = "UnitStateLife"

[GetUnitStateSwap]
title = "Attributes"
description = "${Property} for ${Unit}"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unitstate
default = "UnitStateLife"
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitLifePercent]
title = "Percentage of life"
description = "${Unit}'s health percentage"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitManaPercent]
title = "Percentage of magic"
description = "${Unit}'s magic percentage"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitX]
title = "X coordinate of the unit [R]"
description = "${Unit} coordinate on X axis"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitY]
title = "Y coordinate of the unit [R]"
description = "${Unit} coordinate on Y axis"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitFacing]
title = "Facing angle"
description = "The facing angle of ${Unit}"
comment = "The angle system is adopted. 0 degrees is the true east direction, and 90 degrees is the true north direction."
category = TC_UNIT
returns = degree
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitMoveSpeed]
title = "Current moving speed"
description = "The current movement speed of ${Unit}"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitDefaultMoveSpeed]
title = "Default movement speed"
description = "The default movement speed of ${Unit}"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitAcquireRange]
title = "Current active attack range"
description = "${Unit}'s current active attack range"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitDefaultAcquireRange]
title = "Default active attack range"
description = "The default active attack range of ${Unit}"
comment = ""
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitTurnSpeed]
title = "Current turn speed"
description = "${Unit} current turn speed"
comment = "Turning speed indicates the speed at which the unit changes its facing direction. The smaller the value, the slower the turning."
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitDefaultTurnSpeed]
title = "Default turn speed"
description = "${Unit} default turning speed"
comment = "Turning speed indicates the speed at which the unit changes its facing direction. The smaller the value, the slower the turning."
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitPropWindow]
title = "Current steering angle (radian system) [R]"
description = "The current steering angle of ${Unit} (in radians)"
comment = "The steering angle when the unit turns. The larger the value, the greater the steering range."
category = TC_UNIT
returns = radian
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitPropWindowBJ]
title = "Current steering angle (angle system)"
description = "${Unit}'s current steering angle"
comment = "The steering angle when the unit turns. The larger the value, the greater the steering range."
category = TC_UNIT
returns = degree
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitDefaultPropWindowBJ]
title = "Default steering angle"
description = "The default steering angle of ${Unit}"
comment = "The steering angle when the unit turns. The larger the value, the greater the steering range."
script_name = GetUnitDefaultPropWindow
category = TC_UNIT
returns = degree
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitFlyHeight]
title = "Current flying altitude"
description = "${Unit}'s current flying altitude"
comment = "The flying unit can directly change the flying altitude. Other units can also change the flying altitude after adding/deleting the flying unit's transformation skills (such as crow form)."
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitDefaultFlyHeight]
title = "Default flight altitude"
description ="${Unit} default flying altitude"
comment = "The flying unit can directly change the flying altitude. Other units can also change the flying altitude after adding/deleting the flying unit's transformation skills (such as crow form)."
category = TC_UNIT
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitName]
title = "Unit name"
description = "${Unit} name"
comment = ""
category = TC_UNIT
returns = string
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitLoc]
title = "Unit location"
description = "${Unit} location"
comment = "Will create points."
category = TC_UNIT
returns = location
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitRallyPoint]
title = "Unit assembly point"
description = "The assembly point location of ${Unit}"
comment = "If the unit has not set a rally point, it returns null. Set yourself as a rally point to cancel the rally point setting. A point will be created."
category = TC_UNIT
returns = location
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitRallyUnit]
title = "Unit rally point target"
description = "The rally point target of ${Unit}"
comment = "If the specified unit does not set the rally point to the unit target, null is returned."
category = TC_UNIT
use_in_event = 0
returns = unit
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitCurrentOrder]
title = "Current command ID"
description = "The current command ID of ${Unit}."
comment = ""
category = TC_UNIT
use_in_event = 0
returns = ordercode
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetUnitRallyDestructable]
title = "Unit rally point target"
description = "The rally point target of ${Unit}"
comment = "If the specified unit does not set a rally point to the destructible object, null is returned."
category = TC_UNIT
use_in_event = 0
returns = destructable
[[.args]]
type = unit
default = "GetTriggerUnit"

[" CreateNUnitsAtLoc"]
title = "Create unit (face angle) [C]"
description = "Create ${Number} ${Unit} to ${Player} at ${specified point}, the facing angle is ${Direction} degrees"
comment = "The facing angle adopts the angle system, 0 degrees is the true east direction, and 90 degrees is the true north direction. Use the “last created unit group” to get all the created units. Use the “last created unit” to get the created single unit."
category = TC_UNIT
returns = group
[[.args]]
type = integer
default = "1"
min = 1
[[.args]]
type = unitcode
default = "hfoo"
[[.args]]
type = player
default = "Player00"
[[.args]]
type = location
[[.args]]
type = degree
default = "RealUnitFacing"
min = 0
max = 360

[IsTriggerEnabled]
title = "Trigger on"
description = "${trigger} is on"
comment = ""
category = TC_TRIGGER
returns = boolean
[[.args]]
type = trigger
default = "GetTriggeringTrigger"

[TriggerEvaluate]
title = "Trigger conditions are met"
description = "The condition of ${trigger} is true"
comment = ""
category = TC_TRIGGER
returns = boolean
[[.args]]
type = trigger

[IsTriggerQueuedBJ]
title = "Trigger in the queue"
description = "${trigger} in the queue"
comment = "You can use the actions of'Trigger-Add to Queue' and'Trigger-Remove from Queue' to operate the trigger queue."
category = TC_TRIGGER
returns = boolean
[[.args]]
type = trigger

[IsTriggerQueueEmptyBJ]
title = "The trigger queue is empty"
description = "The trigger queue is empty"
comment = "You can use the actions of'Trigger-Add to Queue' and'Trigger-Remove from Queue' to operate the trigger queue."
category = TC_TRIGGER
returns = boolean

[GetTriggerEvalCount]
title = "Trigger condition judgment times"
description = "The number of trigger condition judgments of ${Trigger}"
comment = ""
category = TC_TRIGGER
returns = integer
[[.args]]
type = trigger
default = "GetTriggeringTrigger"

[GetTriggerExecCount]
title = "Number of trigger actions"
description = "The number of times the trigger action of ${Trigger} is run"
comment = ""
category = TC_TRIGGER
returns = integer
[[.args]]
type = trigger
default = "GetTriggeringTrigger"

[QueuedTriggerCountBJ]
title = "Number of triggers in the queue"
description = "The number of triggers in the trigger queue"
comment = "You can use the actions of'Trigger-Add to Queue' and'Trigger-Remove from Queue' to operate the trigger queue."
category = TC_TRIGGER
returns = integer

[GetTriggerName]
title = "Trigger name"
description = "The name of the current trigger"
comment = ""
category = TC_TRIGGER
returns = string

[CreateTrigger]
title = "New trigger [R]"
description = "New trigger"
comment = "A new trigger will be created, please use it with caution if you are not familiar with the function."
category = TC_TRIGGER
returns = trigger

[IsUnitGroupEmptyBJ]
title = "Unit group is empty"
description = "${unit group} is empty"
comment = ""
category = TC_UNITGROUP
returns = boolean
[[.args]]
type = group

[IsUnitGroupInRectBJ]
title = "The units in the unit group are within the rectangular area"
description = "All units in ${unit group} are within ${rectangular area}"
comment = ""
category = TC_UNITGROUP
returns = boolean
[[.args]]
type = group
[[.args]]
type = rect

[IsUnitGroupDeadBJ]
title = "All units in the unit group die"
description = "All units in ${unit group} died"
comment = ""
category = TC_UNITGROUP
returns = boolean
[[.args]]
type = group

[IsMultiboardDisplayed]
title = "Multi-panel display"
description = "${Multiboard} is displayed"
comment = ""
category = TC_MULTIBOARD
use_in_event = 0
returns = boolean
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[IsMultiboardMinimized]
title = "Minimize multiple panels"
description = "${Multiboard} is minimized"
comment = ""
category = TC_MULTIBOARD
use_in_event = 0
returns = boolean
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[MultiboardGetRowCount]
title = "Rows"
description = "${Multiboard} rows"
comment = ""
category = TC_MULTIBOARD
returns = integer
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[MultiboardGetColumnCount]
title = "Number of columns"
description = "Number of columns of ${Multiboard}"
comment = ""
category = TC_MULTIBOARD
returns = integer
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[MultiboardGetTitleText]
title = "Multi-panel title"
description = "${Multiboard} title"
comment = ""
category = TC_MULTIBOARD
returns = string
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[IsPointBlighted]
title = "The coordinate point is covered by barren ground [R]"
description = "The coordinate point (${X},${Y}) is covered by barren ground"
comment = ""
category = TC_ENVIRONMENT
returns = boolean
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IsPointBlightedBJ]
title = "Point is covered by barren ground"
description = "${specified point} is covered by barren ground"
comment = ""
category = TC_ENVIRONMENT
returns = boolean
[[.args]]
type = location

[IsTerrainPathable]
title = "Terrain access status is closed(Specify coordinates) [R]"
description = "The ${Pathing Type} at the coordinates (${X},${Y}) is closed."
comment = "If the designated type of unit cannot pass, the pass status is closed. If the point cannot be built, the pass status is closed. You can use the “Environment-Set terrain pass status” to change the pass status."
category = TC_ENVIRONMENT
returns = boolean
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = pathingtype
default = "PathingTypeWalkability"

[IsTerrainPathableBJ]
title = "Terrain access status is closed(Designated point)"
description = "${Pathing Type} at ${Designated point} is closed"
comment = "If the designated type of unit cannot pass, the pass status is closed. If the point cannot be built, the pass status is closed. You can use the “Environment-Set terrain pass status” to change the pass status."
category = TC_ENVIRONMENT
returns = boolean
[[.args]]
type = location
[[.args]]
type = pathingtype
default = "PathingTypeWalkability"

[GetTerrainCliffLevel]
title = "Terrain cliff height(Specify coordinates) [R]"
description = "The terrain cliff height at coordinates (${X},${Y})"
comment = "Cliff height: 0 for deep water, 1 for shallow water, 2 for plain, and +1 for each layer thereafter."
category = TC_ENVIRONMENT
returns = integer
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[GetTerrainCliffLevelBJ]
title = "Terrain cliff height(Designated point)"
description = "The terrain cliff height at ${Designated point}"
comment = "Cliff height: 0 for deep water, 1 for shallow water, 2 for plain, and +1 for each layer thereafter."
category = TC_ENVIRONMENT
returns = integer
[[.args]]
type = location

[GetTerrainVariance]
title = "Terrain style(Specify coordinates) [R]"
description = "Topographic style at coordinates (${X},${Y})"
comment = ""
category = TC_ENVIRONMENT
returns = integer
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[GetTerrainVarianceBJ]
title = "Terrain style(Designated point)"
description = "Terrain style at ${Designated point}"
comment = ""
category = TC_ENVIRONMENT
returns = integer
[[.args]]
type = location
default = "GetRectCenter"

[GetTerrainType]
title = "Specify the coordinate terrain [R]"
description = "Terrain at coordinates (${X},${Y})"
comment = ""
category = TC_ENVIRONMENT
returns = terraintype
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[GetTerrainTypeBJ]
title = "Designated point terrain"
description = "Terrain at ${Designated point}"
comment = ""
category = TC_ENVIRONMENT
returns = terraintype
[[.args]]
type = location

[IsFogEnabled]
title = "The fog of war is on"
description = "The fog of war is on"
comment = ""
category = TC_VISIBILITY
returns = boolean

[IsFogMaskEnabled]
title = "Black shadow on"
description = "Black shadow on"
comment = ""
category = TC_VISIBILITY
returns = boolean

[IsUnitVisible]
title = "Unit visible"
description = "${Unit} is visible to ${Player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitInvisible]
title = "Unit is not visible"
description = "${Unit} is not visible to ${Player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitFogged]
title = "Unit in the mist"
description = "${Unit} is within the fog of ${Player}"
comment = "Units in black shades are not counted."
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsUnitMasked]
title = "Unit in black shadow"
description = "${Unit} is in the black shadow of ${Player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = player
default = "Player00"

[IsLocationVisibleToPlayer]
title = "Point visible"
description = "${Designated point} is visible to ${Player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = location
default = "GetRectCenter"
[[.args]]
type = player
default = "Player00"

[IsVisibleToPlayer]
title = "Coordinates visible"
description = "Coordinates (${x},${y}) are visible to ${player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = real
[[.args]]
type = real
[[.args]]
type = player
default = "Player00"

[IsLocationFoggedToPlayer]
title = "Point in the mist"
description = "${Designated point} is within the fog of ${Player}"
comment = "Points within black shadows are not counted."
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = location
default = "GetRectCenter"
[[.args]]
type = player
default = "Player00"

[IsFoggedToPlayer]
title = "The coordinates are in the mist"
description = "Coordinates (${x},${y}) are within the fog of ${player}"
comment = "The coordinates within the black shade are not counted."
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = real
[[.args]]
type = real
[[.args]]
type = player
default = "Player00"

[IsLocationMaskedToPlayer]
title = "Point in black shadow"
description = "${Designated point} is in the black shadow of ${Player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = location
default = "GetRectCenter"
[[.args]]
type = player
default = "Player00"

[IsMaskedToPlayer]
title = "Coordinates are in black shadow"
description = "Coordinates (${x},${y}) are in the black shadow of ${player}"
comment = ""
category = TC_VISIBILITY
returns = boolean
[[.args]]
type = real
[[.args]]
type = real
[[.args]]
type = player
default = "Player00"

[IsDestructableAliveBJ]
title = "Destructible survival"
description = "${destructible} is alive"
comment = ""
category = TC_DESTRUCT
returns = boolean
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[IsDestructableDeadBJ]
title = "Destructible death"
description = "${destructible} is dead"
comment = ""
category = TC_DESTRUCT
returns = boolean
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[IsDestructableInvulnerableBJ]
title = "Object invincible"
description = "${object} is invincible"
comment = ""
script_name = IsDestructableInvulnerable
category = TC_DESTRUCT
returns = boolean
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetElevatorHeight]
title = "Lift height"
description = "Height of ${lift}"
comment = "You can use'Destructible-Set Lift Height' to set the lift height."
category = TC_DESTRUCT
returns = integer
[[.args]]
type = destructable

[GetDestructableLife]
title = "life value"
description = "The current health of ${destructible}"
comment = ""
category = TC_DESTRUCT
returns = real
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableMaxLife]
title = "Maximum health"
description = "The maximum health of ${destructible}"
comment = ""
category = TC_DESTRUCT
returns = real
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableOccluderHeight]
title = "Occlusion height"
description = "Occlusion height of ${destructible}"
comment = ""
category = TC_DESTRUCT
returns = real
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableX]
title = "X coordinate of the destructible object [R]"
description = "X coordinate of ${destructible object}"
comment = ""
category = TC_DESTRUCT
returns = real
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableY]
title = "Y coordinate of the destructible object [R]"
description = "Y coordinate of ${destructible object}"
category = TC_DESTRUCT
returns = real
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableName]
title = "Object name"
description = "${object} name"
comment = ""
category = TC_DESTRUCT
returns = string
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[GetDestructableLoc]
title = "Destructible location"
description = "${Destructible} location"
comment = "Will create points."
category = TC_DESTRUCT
returns = location
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[LeaderboardHasPlayerItemBJ]
title = "Players on the leaderboard"
description = "${Leaderboard} contains ${Player}"
comment = ""
script_name = LeaderboardHasPlayerItem
category = TC_LEADERBOARD
returns = boolean
[[.args]]
type = leaderboard
default = "GetLastCreatedLeaderboard"
[[.args]]
type = player
default = "Player00"

[LeaderboardGetPlayerIndexBJ]
title = "Leaderboard position"
description = "${Player} in the ${Leaderboard} ranking"
comment = ""
category = TC_LEADERBOARD
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = leaderboard
default = "GetLastCreatedLeaderboard"

[LeaderboardGetItemCount]
title = "Rows"
description = "${Leaderboard} Rows"
comment = ""
category = TC_LEADERBOARD
returns = integer
[[.args]]
type = leaderboard
default = "GetLastCreatedLeaderboard"

[LeaderboardGetIndexedPlayerBJ]
title = "Player's leaderboard position"
description = "Player at ${Position} is in ${Leaderboard}"
comment = ""
category = TC_LEADERBOARD
use_in_event = 0
returns = player
[[.args]]
type = integer
default = "1"
min = 1
max = 16
[[.args]]
type = leaderboard
default = "GetLastCreatedLeaderboard"

[IsPointInRegion]
title = "Include coordinates"
description = "${irregular area} contains coordinates (${X},${Y})"
comment = "TC_REGION"
category = TC_REGION
returns = boolean
[[.args]]
type = region
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[IsLocationInRegion]
title = "Inclusion point"
description = "${irregular area} contains points: ${dots}"
comment = "TC_REGION"
category = TC_REGION
returns = boolean
[[.args]]
type = region
[[.args]]
type = location

[RectContainsLoc]
title = "Inclusion point"
description = "${rectangular area} contains ${dot}"
comment = ""
category = TC_RECT
returns = boolean
[[.args]]
type = rect
default = "GetPlayableMapRect"
[[.args]]
type = location

[GetRectCenterX]
title = "Center X coordinate"
description = "X coordinate of the center of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectCenterY]
title = "Center Y coordinate"
description = "The Y coordinate of the center of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectMinX]
title = "X coordinate of lower left corner"
description = "X coordinate of the lower left corner of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectMinY]
title = "Y coordinate of lower left corner"
description = "The Y coordinate of the lower left corner of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectMaxX]
title = "X coordinate of upper right corner"
description = "X coordinate of the upper right corner of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectMaxY]
title = "Y coordinate of upper right corner"
description = "The Y coordinate of the upper right corner of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect
default = "GetPlayableMapRect"

[GetRectWidthBJ]
title = "width"
description = "The width of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect

[GetRectHeightBJ]
title = "height"
description = "The height of ${rectangular area}"
comment = ""
category = TC_RECT
returns = real
[[.args]]
type = rect

[IsQuestItemCompleted]
title = "Mission project completed"
description = "${Quest Requirement} completed"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = questitem
default = "GetLastCreatedQuestItemBJ"

[IsQuestEnabled]
title = "Task activation"
description = "${Quest} activated"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"

[IsQuestCompleted]
title = "mission completed"
description = "${Quest} completed"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"

[IsQuestFailed]
title = "mission failed"
description = "${Quest} failed"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"

[IsQuestDiscovered]
title = "Task was found"
description = "${Quest} has been found"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"

[IsQuestRequired]
title = "It is the main task"
description = "${Quest} is the main task"
comment = ""
category = TC_QUEST
returns = boolean
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"

[CreateQuest]
title = "New task [R]"
description = "New task "
comment = "Create a new task. Note: This one is useless, don’t use——everguo"
category = TC_QUEST
returns = quest

[YDWECreateQuest]
title = "New task[YDWE]"
description = "Create a new ${Quest Type} task, title: ${Text} Task description: ${Text} Task icon: ${Icon Path}"
comment = "Create a new task; new in YDWE."
script_name = CreateQuestBJ
category = TC_QUEST
returns = quest
[[.args]]
type = questtypeoption
default = "QuestTypeReqDiscovered"
[[.args]]
type = StringExt
max = 24
[[.args]]
type = StringExt
[[.args]]
type = imagefile
default = "\"ReplaceableTextures\\CommandButtons\\BTNAmbush.blp\""

[YDWECreateQuestItem]
title = "Create task target item[YDWE]"
description = "Create a task target item for ${Quest}: ${Text}"
comment = "Create a new task target item; YDWE new features."
script_name = CreateQuestItemBJ
category = TC_QUEST
returns = questitem
[[.args]]
type = quest
default = "GetLastCreatedQuestBJ"
[[.args]]
type = StringExt

[IsPlayerFlagSetBJ]
title = "Player parameters on"
description = "${Player Flag} is allowed, for ${Player}"
comment = ""
category = TC_PLAYER
returns = boolean
[[.args]]
type = playerflag
default = "PlayerFlagGivesBounty"
[[.args]]
type = player
default = "PlayerNA"

[IsPlayerAlly]
title = "It is the player's ally"
description = "${Player} is ${Player}'s ally"
comment = "Including the neutral state. One-way judgment that player A does not infringe on player B's alliance means that player A is an ally of player B."
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "GetTriggerPlayer"
[[.args]]
type = player
default = "Player00"

[IsPlayerEnemy]
title = "It is the player's enemy"
description = "${Player} is ${Player}'s enemy"
comment = "Does not include the neutral state. One-way judgment of player A is hostile to player B, which means that player A is an ally of player B."
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "GetTriggerPlayer"
[[.args]]
type = player
default = "Player00"

[IsPlayerObserver]
title = "Player is a referee or observer [R]"
description = "${Player} is the referee or observer"
comment = ""
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "GetTriggerPlayer"

[IsPlayerRacePrefSet]
title = "Player's race choice"
description = "${Player} selected ${RacePreference}"
comment = ""
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "GetTriggerPlayer"
[[.args]]
type = racepreference
default = "RacePrefRandom"

[GetPlayerAlliance]
title = "Alliance status setting"
description = "${Player} opens ${Alliance Type} to ${Player}"
comment = ""
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "GetTriggerPlayer"
[[.args]]
type = player
default = "Player00"
[[.args]]
type = alliancetype
default = "AllianceTypePassive"

[IsPlayerInForce]
title = "In the player group"
description = "${Player} is in ${player group}"
comment = ""
category = TC_PLAYER
returns = boolean
[[.args]]
type = player
default = "Player00"
[[.args]]
type = force
default = "GetPlayersAll"

[GetPlayerState]
title = "Player attributes"
description = "${Player} ${Property}"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = playerstate
default = "PlayerStateGold"

[GetPlayerTaxRate]
title = "Player tax rate [R]"
description = "${Player} needs to pay ${Player} ${Resource} income tax"
comment = "Income tax value range 0-100."
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = player
default = "Player01"
[[.args]]
type = playerresource
default = "PlayerResourceGold"

[GetPlayerTaxRateBJ]
title = "Player tax rate"
description = "${Resource} income tax, ${Player} pays to ${Player}"
comment = "Income tax value range 0-100."
category = TC_PLAYER
returns = integer
[[.args]]
type = playerresource
default = "PlayerResourceGold"
[[.args]]
type = player
default = "Player00"
[[.args]]
type = player
default = "Player01"

[GetPlayerScore]
title = "Player score"
description = "${Player} ${Score}"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = playerscore
default = "PlayerScoreTotal"

[GetConvertedPlayerId]
title = "Player ID"
description = "Player ID of ${Player}"
comment = "Player ID value 1-16."
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "GetTriggerPlayer"

[GetPlayerId]
title = "Player ID - 1 [R]"
description = "Player ID of ${Player} - 1"
comment = "Player ID value 1-16."
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "GetTriggerPlayer"

[GetPlayerStructureCount]
title = "Number of buildings"
description = "Number of buildings owned by ${Player} (${Include/Exclude} not completed)"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetPlayerUnitCount]
title = "Number of non-construction units"
description = "The number of non-construction units owned by ${Player} (${Include/Exclude} unfinished)"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetPlayerTechCountSimple]
title = "Current technology level"
description = "${technology}’s current level to ${Player}"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = techcode
[[.args]]
type = player
default = "Player00"

[GetPlayerTechMaxAllowedSwap]
title = "Maximum technology level"
description = "${technology}’s maximum level to ${Player}"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = techcode
[[.args]]
type = player
default = "Player00"

[GetPlayerTeam]
title = "Player team"
description = "${Player} Team ID"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = player
default = "Player00"

[CountPlayersInForceBJ]
title = "Number of players in the player group"
description = "Number of players in ${player group}"
comment = ""
category = TC_PLAYER
returns = integer
[[.args]]
type = force
default = "GetPlayersByMapControl"

[GetPlayerHandicapXPBJ]
title = "Experience growth rate"
description = "${Player} experience growth rate"
comment = "The percentage value, the default value is 100."
category = TC_PLAYER
returns = real
[[.args]]
type = player
default = "Player00"

[GetPlayerHandicapBJ]
title = "Life obstacle"
description = "The life obstacle of ${Player}"
comment = "The percentage value, the default value is 100."
category = TC_PLAYER
returns = real
[[.args]]
type = player
default = "Player00"

[GetPlayerName]
title = "Player name"
description = "${Player} name"
comment = ""
category = TC_PLAYER
returns = string
[[.args]]
type = player
default = "GetTriggerPlayer"

[GetPlayerStartLocationLoc]
title = "Player start position"
description = "${Player} game start position"
comment = "Will create points."
category = TC_PLAYER
returns = location
[[.args]]
type = player
default = "Player00"

[CheckItemStatus]
title = "Item status check"
description = "${Item} is ${Status}"
comment = ""
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "GetLastCreatedItem"
[[.args]]
type = itemstatus
default = "ItemStatusHidden"

[CheckItemcodeStatus]
title = "Item type status check"
description = "${Item type} is ${Status}"
comment = ""
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = itemcode
default = "GetItemTypeId"
[[.args]]
type = itemcodestatus
default = "ItemcodeStatusPowerup"

[IsItemVisible]
title = "Items visible [R]"
description = "${Item} is visible"
comment = "The item is visible when it is not hidden and is not held by the unit."
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "bj_lastCreatedItem"

[IsItemHiddenBJ]
title = "Hidden items"
description = "${Item} is hidden"
comment = "Items held by the unit are also considered hidden. It is recommended to use Item Visible=False to judge."
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "GetLastCreatedItem"

[IsItemOwned]
title = "Item is held"
description = "${Item} is held"
comment = "The items in the inventory are all held. Even if the unit is dead."
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item

[IsItemPowerup]
title = "The item is automatically used when picked up [R]"
description = "${Items} are automatically used items when picked up"
comment = ""
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "bj_lastCreatedItem"

[IsItemSellable]
title = "Items can be randomly sold by the market [R]"
description = "${Items} can be randomly sold by the market"
comment = ""
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "bj_lastCreatedItem"

[IsItemPawnable]
title = "Items can be mortgaged [R]"
description = "${Items} can be mortgaged"
comment = ""
category = TC_ITEM
use_in_event = 0
returns = boolean
[[.args]]
type = item
default = "bj_lastCreatedItem"

[RectContainsItem]
title = "The item is in a rectangular area"
description = "${Items} in ${rectangular area}"
comment = "Items held by the unit will not be counted."
category = TC_ITEM
returns = boolean
[[.args]]
type = item
default = "GetLastCreatedItem"
[[.args]]
type = rect

[IsItemInvulnerable]
title = "Item invincible"
description = "${Items} is invincible"
comment = ""
category = TC_ITEM
returns = boolean
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetInventoryIndexOfItemTypeBJ]
title = "The serial number of the item in the inventory [C]"
description = "The serial number of the inventory of ${Item Type} held by ${Unit}"
comment = "If the unit does not have this type of item, return 0"
category = TC_ITEM
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = itemcode
default = "texp"

[GetItemLevel]
title = "Item level"
description = "${Items} level"
comment = ""
category = TC_ITEM
returns = integer
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemCharges]
title = "Times used"
description = "Times of used of ${Items}"
comment = "Unlimited use items will return 0."
category = TC_ITEM
returns = integer
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemUserData]
title = "Item custom value"
description = "${Items} custom value"
comment = "You can use'Item-Set Custom Value' to set this value."
category = TC_ITEM
returns = integer
[[.args]]
type = item

[GetItemLifeBJ]
title = "life value"
description = "${Items} current life value"
comment = ""
category = TC_ITEM
returns = real
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemX]
title = "X coordinate of the item [R]"
description = "X coordinate of ${Items}"
comment = ""
category = TC_ITEM
returns = real
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemY]
title = "Y coordinate of the item [R]"
description = "Y-axis coordinate of ${Items}"
comment = ""
category = TC_ITEM
returns = real
[[.args]]
type = item
default = "GetLastCreatedItem"

[GetItemName]
title = "Item name"
description = "${Items} name"
comment = ""
category = TC_ITEM
returns = string
[[.args]]
type = item
default = "GetManipulatedItem"

[GetItemLoc]
title = "Item location"
description = "${Items} location"
comment = "Will create points."
category = TC_ITEM
returns = location
[[.args]]
type = item
default = "GetLastCreatedItem"

[UnitHasItem]
title = "Items held"
description = "${Hero} owns ${Items}"
comment = ""
category = TC_HERO
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "GetLastCreatedItem"

[UnitHasItemOfTypeBJ]
title = "Items held (specified type)"
description = "${Hero} owns ${item type}"
comment = ""
category = TC_HERO
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = itemcode
default = "texp"

[IsSuspendedXP]
title = "Experience not available"
description = "${Hero} no experience available"
comment = "You can use'Hero-Allow/Prohibit Experience Gain' to set this."
category = TC_HERO
returns = boolean
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetHeroLevel]
title = "Hero level"
description = "Hero level of ${hero}"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetHeroXP]
title = "Hero experience"
description = "${hero} experience"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[GetHeroStr]
title = "Hero power [R]"
description = "${Hero} power(${Include/Exclude} addition)"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetHeroAgi]
title = "Hero agility [R]"
description = "${Hero} agility(${Include/Exclude} addition)"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetHeroInt]
title = "Hero Intelligence [R]"
description = "${Hero} Intelligence(${Include/Exclude} addition)"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetHeroStatBJ]
title = "Hero attributes"
description = "${Attribute} to ${Hero} (${Include/Exclude} addition)"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = herostat
default = "HeroStatStr"
[[.args]]
type = unit
[[.args]]
type = includeoption
default = "InclusionExclude"

[GetHeroSkillPoints]
title = "Unallocated skill points"
description = "${Hero} Unallocated skill points"
comment = ""
category = TC_HERO
returns = integer
[[.args]]
type = unit

[GetHeroProperName]
title = "Hero title"
description = "${Hero} title"
comment = "For example, the Paladin will return to the'Fearless Buzan' instead of the Paladin."
category = TC_HERO
returns = string
[[.args]]
type = unit
default = "GetTriggerUnit"

[IsMapFlagSet]
title = "Map parameter settings"
description = "${Map Flag} has been set"
comment = ""
category = TC_GAME
returns = boolean
[[.args]]
type = mapflag
default = "MapFlagUseHandicaps"

[IsCustomCampaignButtonVisibile]
title = "Custom campaign button is visible"
description = "Custom campaign button# ${Number} is visible"
comment = ""
category = TC_GAME
use_in_event = 0
returns = boolean
[[.args]]
type = integer
default = "1"
min = 1

[GetCreepCampFilterState]
title = "The display of neutral creatures on the minimap is enabled"
description = "The display of neutral creatures on the minimap is enabled"
comment = ""
category = TC_GAME
returns = boolean

[SaveGameExists]
title = "Game save exists"
description = "${Archive file} already exists"
comment = ""
category = TC_GAME
use_in_event = 0
returns = boolean
[[.args]]
type = anyfile

[IsNoVictoryCheat]
title = "Can't win [R]"
description = "Player turns on cheating mode: Can't win"
comment = "Open mode of stand-alone cheat codes."
category = TC_GAME
use_in_event = 0
returns = boolean

[IsNoDefeatCheat]
title = "Can't fail [R]"
description = "Player turns on cheating mode: Can't fail"
comment = "Open mode of stand-alone cheat codes."
category = TC_GAME
use_in_event = 0
returns = boolean

[GetPlayers]
title = "Number of players"
description = "Number of players"
comment = "The number of players opened in the map editor(1-12)."
category = TC_GAME
returns = integer

[GetTeams]
title = "Number of teams"
description = "Number of teams"
comment = ""
category = TC_GAME
returns = integer

[GetAllyColorFilterState]
title = "Alliance color display settings"
description = "Alliance color display settings"
comment = "0 means not open. 1 means the mini map is displayed. 2 means both the mini map and the game are displayed."
category = TC_GAME
returns = integer

[GetTournamentFinishNowRule]
title = "End of game rules"
description = "End of game rules"
comment = "1 means that when the game start time has exceeded the limit, it cannot end in a tie. Other values mean that the game is still in its early stages, and exiting the game at this time will end in a tie."
category = TC_GAME
use_in_event = 0
returns = integer

[GetTournamentScore]
title = "Match score"
description = "${Player}'s current match score"
comment = "If the game time is too long during the battle game, the system will use this value to determine the outcome."
category = TC_GAME
use_in_event = 0
returns = integer
[[.args]]
type = player
default = "Player00"

[GetTimeOfDay]
title = "game time"
description = "game time"
comment = "Day and night time in the game."
category = TC_GAME
returns = real

[GetTimeOfDayScalePercentBJ]
title = "Day and night time elapsed speed"
description = "Day and night time elapsed speed"
comment = "Percentage value, 100 is the default value."
category = TC_GAME
returns = real

[GetAbilityName]
title = "Skill name"
description = "${Skill} name"
comment = ""
script_name = GetObjectName
category = TC_GAME
returns = string
[[.args]]
type = abilcode

[GetAbilityEffectBJ]
title = "Skill effect path name"
description = "${Skill} ${EffectType} Path name (serial number: ${Index})"
comment = "Return the model path of the skill effect, regardless of whether the effect exists. In fact, it is the text content seen by pressing Ctrl+D in the skill editor. When the effect has multiple models, the serial number indicates which model to take, if the serial number corresponds If the text content does not exist, return to the previous serial number."
script_name = GetAbilityEffectById
category = TC_GAME
returns = string
[[.args]]
type = abilcode
[[.args]]
type = effecttype
default = "EffectTypeEffect"
[[.args]]
type = integer
default = "0"

[GetAbilitySoundBJ]
title = "Skill sound effect name"
description = "${Skill} ${SoundType} name"
comment = "Similarly, it is actually the text content seen by pressing Ctrl+D in the skill editor."
script_name = GetAbilitySoundById
category = TC_GAME
returns = string
[[.args]]
type = abilcode
[[.args]]
type = soundtype
default = "SoundTypeEffect"

[GetStoredBoolean]
title = "Read boolean[R]"
description = "Read boolean value from ${Game Cache}, category: ${Category}, name: ${text}"
comment = "If the value does not exist, return false."
category = TC_GAMECACHE
returns = boolean
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = string

[HaveStoredValue]
title = "Cache item exists"
description = "The ${Type} cache item with the name ${text} is stored in the category: ${Category} cache: ${Game Cache}"
comment = ""
category = TC_GAMECACHE
use_in_event = 0
returns = boolean
[[.args]]
type = string
[[.args]]
type = cachevaluetype
default = "CacheValueTypeUnit"
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"

[GetStoredInteger]
title = "Cache read integer [C]"
description = "Read integer value from ${Game Cache}, category: ${Category}, name: ${text}"
comment = "If the value does not exist, return 0."
category = TC_GAMECACHE
returns = integer
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = string

[GetStoredReal]
title = "Cache read real number [C]"
description = "Read real numbers from ${Game Cache}, category: ${Category} name: ${text}"
comment = "If the value does not exist, return 0."
category = TC_GAMECACHE
returns = real
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = string

[GetStoredString]
title = "Read string [C]"
description = "Read the string from ${Game Cache}, category: ${Category} name: ${text}"
comment = "If the value does not exist, an empty string is returned. Note that an empty string is not equal to null"
category = TC_GAMECACHE
returns = string
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = string

[InitGameCache]
title = "New game cache [R]"
description = "New game cache: ${Cache name}"
comment = "Create a new game cache, a map can only have up to 256 game caches."
category = TC_GAMECACHE
returns = gamecache
[[.args]]
type = string
default = "\"MapName.w3v\""

[WaygateIsActiveBJ]
title = "Portal activation"
description = "${Portal} is active"
comment = ""
script_name = WaygateIsActive
category = TC_NEUTRALBUILDING
returns = boolean
[[.args]]
type = unit

[GetResourceAmount]
title = "Gold reserves"
description = "${Gold Mine}'s gold reserves"
comment = "Only effective for gold mines."
category = TC_NEUTRALBUILDING
returns = integer
[[.args]]
type = unit

[WaygateGetDestinationX]
title = "X coordinate of portal destination"
description = "${Portal}'s destination X coordinate"
comment = ""
category = TC_NEUTRALBUILDING
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[WaygateGetDestinationY]
title = "Y coordinate of portal destination"
description = "${Portal}'s destination Y coordinate"
comment = ""
category = TC_NEUTRALBUILDING
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"

[WaygateGetDestinationLocBJ]
title = "Portal destination"
description = "${Portal} Destination"
comment = "Will create points."
category = TC_NEUTRALBUILDING
returns = location
[[.args]]
type = unit

[LoadBooleanBJ]
title = "<1.24> Extract boolean from hash table"
description = "Extract boolean in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return False"
category = TC_HASHTABLE
returns = boolean
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadBoolean]
title = "<1.24> Extract boolean from hash table [C]"
description = "Extract the boolean from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return False"
category = TC_HASHTABLE
returns = boolean
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[HaveSavedValue]
title = "<1.24> Hash item exists"
description = "The ${Type} class data with sub-index ${Value} is stored in ${Hashtable} with the main index ${Value}"
comment = ""
category = TC_HASHTABLE
use_in_event = 0
returns = boolean
[[.args]]
type = integer
[[.args]]
type = hashtablevaluetype
default = "HashtableValueTypeHandle"
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[GetHandleIdBJ]
title = "<1.24> Get the h2i value of the object"
description = "Convert ${Handle} to integer"
comment = "Create a temporary key corresponding to the handle, which can be used as an index number in the hash table. When the handle is completely destroyed, the key will be recycled."
category = TC_HASHTABLE
returns = integer
[[.args]]
type = handle

[GetHandleId]
title = "<1.24> Get the h2i value of the object [C]"
description = "Convert ${Handle} to integer"
comment = "Create a temporary key corresponding to the handle, which can be used as an index number in the hash table. When the handle is completely destroyed, the key will be recycled."
category = TC_HASHTABLE
returns = integer
[[.args]]
type = handle

[StringHashBJ]
title = "<1.24> Get the hash value of a string"
description = "Convert ${String} to integer"
comment = "Create a permanent key corresponding to the string, which can be used as an index number in the hash table"
category = TC_HASHTABLE
returns = integer
[[.args]]
type = string

[LoadIntegerBJ]
title = "<1.24> Extract integers from hash table"
description = "Extract integers in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return 0"
category = TC_HASHTABLE
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadInteger]
title = "<1.24> Extract integers from hash table [C]"
description = "Extract integers from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return 0"
category = TC_HASHTABLE
returns = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadRealBJ]
title = "<1.24> Extract real numbers from hash table"
description = "Extract real numbers from ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return 0.00"
category = TC_HASHTABLE
returns = real
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadReal]
title = "<1.24> Extract real numbers from hash table [C]"
description = "Extract real numbers from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return 0.00"
category = TC_HASHTABLE
returns = real
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadStringBJ]
title = "<1.24> Extract string from hash table"
description = "Extract the string in ${Hashtable} of the sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return an empty string"
category = TC_HASHTABLE
use_in_event = 0
returns = string
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadStr]
title = "<1.24> Extract string from hash table [C]"
description = "Extract the string in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
use_in_event = 0
returns = string
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadPlayerHandleBJ]
title = "<1.24> Extract players from hash table"
description = "Extract players in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = player
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadPlayerHandle]
title = "<1.24> Extract players from hash table [C]"
description = "Extract players from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = player
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadDestructableHandleBJ]
title = "<1.24> Extract the destructible from the hash table"
description = "Extract destructible objects in ${Hashtable} of sub-index ${Value} and main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = destructable
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadDestructableHandle]
title = "<1.24> Extract the destructible from the hash table [C]"
description = "Extract destructible objects in the main index ${Value} of the ${Hashtable} sub-index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = destructable
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadItemHandleBJ]
title = "<1.24> Extract items from the hash table"
description = "Extract items in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = item
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadItemHandle]
title = "<1.24> Extract items from the hash table [C]"
description = "Extract items in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = item
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadUnitHandleBJ]
title = "<1.24> Extract units from hash table"
description = "Extract units in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = unit
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadUnitHandle]
title = "<1.24> Extract units from hash table [C]"
description = "Extract units from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = unit
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[YDWELoadAbilityHandleBJ]
title = "<1.24> Extract skills from hash table"
description = "Extract skills in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = abilcode
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[YDWELoadAbilityHandle]
title = "<1.24> Extract skills from hash table [C]"
description = "Extract skills from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = abilcode
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTimerHandleBJ]
title = "<1.24> Extract timer from hash table"
description = "Extract the timer in ${Hashtable} of the sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = timer
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTimerHandle]
title = "<1.24> Extract timer from hash table [C]"
description = "Extract the timer in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = timer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTriggerHandleBJ]
title = "<1.24> Extract triggers from hash table"
description = "Extract triggers in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = trigger
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTriggerHandle]
title = "<1.24> Extract triggers from hash table [C]"
description = "Extract triggers from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = trigger
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTriggerConditionHandleBJ]
title = "<1.24> Extract the trigger condition from the hash table"
description = "Extract trigger conditions in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = triggercondition
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTriggerConditionHandle]
title = "<1.24> Extract the trigger condition from the hash table [C]"
description = "Extract trigger conditions from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = triggercondition
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTriggerActionHandleBJ]
title = "<1.24> Extract the trigger action from the hash table"
description = "Extract the trigger action in ${Hashtable} of the main index ${Value} of the sub-index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = triggeraction
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTriggerActionHandle]
title = "<1.24> Extract the trigger action from the hash table [C]"
description = "Extract the trigger action in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = triggeraction
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTriggerEventHandleBJ]
title = "<1.24> Extract the trigger event from the hash table"
description = "Extract trigger events in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = event
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTriggerEventHandle]
title = "<1.24> Extract the trigger event from the hash table [C]"
description = "Extract the trigger event in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = event
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadForceHandleBJ]
title = "<1.24> Extract player group from hash table"
description = "Extract player groups in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = force
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadForceHandle]
title = "<1.24> Extract player group from hash table [C]"
description = "Extract the player group in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = force
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadGroupHandleBJ]
title = "<1.24> Extract unit group from hash table"
description = "Extract the unit group in ${Hashtable} of the sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = group
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadGroupHandle]
title = "<1.24> Extract unit group from hash table [C]"
description = "Extract the unit group in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = group
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadLocationHandleBJ]
title = "<1.24> Extract points from hash table"
description = "Extract points in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = location
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadLocationHandle]
title = "<1.24> Extract points from hash table [C]"
description = "Extract points in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = location
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadRegionHandleBJ]
title = "<1.24> Extract area from hash table (irregular)"
description = "Extract area (irregular) in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = region
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadRegionHandle]
title = "<1.24> Extract area from hash table (irregular) [C]"
description = "Extract area (irregular) in the main index ${Value} of ${Hashtable} and sub-index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = region
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadRectHandleBJ]
title = "<1.24> Extract area from hash table (rectangle)"
description = "Extract area (rectangular) in ${Hashtable} of sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = rect
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadRectHandle]
title = "<1.24> Extract area from hash table (rectangle) [C]"
description = "Extract the area (rectangular) in the main index ${Value} of ${Hashtable} and the sub index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = rect
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadBooleanExprHandleBJ]
title = "<1.24> Extract boolean expression from hash table"
description = "Extract Boolean expressions in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = boolexpr
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadBooleanExprHandle]
title = "<1.24> Extract boolean expression from hash table [C]"
description = "Extract the boolean expression in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = boolexpr
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadSoundHandleBJ]
title = "<1.24> Extract sound effects from hash table"
description = "Extract sound effects in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = sound
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadSoundHandle]
title = "<1.24> Extract sound effects from hash table [C]"
description = "Extract sound effects in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = sound
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadEffectHandleBJ]
title = "<1.24> Extract special effects from hash table"
description = "Extract special effects from ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = effect
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadEffectHandle]
title = "<1.24> Extract special effects from hash table [C]"
description = "Extract special effects in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = effect
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadUnitPoolHandleBJ]
title = "<1.24> Extract the unit pool from the hash table"
description = "Extract the unit pool in ${Hashtable} of the sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = unitpool
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadUnitPoolHandle]
title = "<1.24> Extract the unit pool from the hash table [C]"
description = "Extract the unit pool in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = unitpool
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadItemPoolHandleBJ]
title = "<1.24> Extract item pool from hash table"
description = "Extract the item pool in ${Hashtable} of the sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = itempool
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadItemPoolHandle]
title = "<1.24> Extract item pool from hash table [C]"
description = "Extract the item pool in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = itempool
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadQuestHandleBJ]
title = "<1.24> Extract tasks from hash table"
description = "Extract tasks in ${Hashtable} of sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = quest
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadQuestHandle]
title = "<1.24> Extract tasks from hash table [C]"
description = "Extract tasks in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = quest
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadQuestItemHandleBJ]
title = "<1.24> Extract task requirements from hash table"
description = "Extract task requirements in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = questitem
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadQuestItemHandle]
title = "<1.24> Extract task requirements from hash table [C]"
description = "Extract task requirements in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = questitem
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadDefeatConditionHandleBJ]
title = "<1.24> Extraction failure condition from hash table"
description = "Extract failure conditions in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = defeatcondition
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadDefeatConditionHandle]
title = "<1.24> Extraction failure condition from hash table [C]"
description = "Extract failure conditions in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = defeatcondition
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTimerDialogHandleBJ]
title = "<1.24> Extract timer window from hash table"
description = "Extract the timer window in ${Hashtable} of the sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = timerdialog
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTimerDialogHandle]
title = "<1.24> Extract timer window from hash table [C]"
description = "Extract the timer window in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = timerdialog
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadLeaderboardHandleBJ]
title = "<1.24> Extract the leaderboard from the hash table"
description = "Extract the leaderboard in ${Hashtable} of the sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = leaderboard
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadLeaderboardHandle]
title = "<1.24> Extract the leaderboard from the hash table [C]"
description = "Extract the leaderboard in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = leaderboard
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadMultiboardHandleBJ]
title = "<1.24> Extract multiple panels from the hash table"
description = "Extract multiple panels in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = multiboard
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadMultiboardHandle]
title = "<1.24> Extract multiple panels from the hash table [C]"
description = "Extract multiple panels from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = multiboard
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadMultiboardItemHandleBJ]
title = "<1.24> Extract multi-panel items from hash table"
description = "Extract multi-panel items in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = multiboarditem
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadMultiboardItemHandle]
title = "<1.24> Extract multi-panel items from hash table [C]"
description = "Extract multi-panel items in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = multiboarditem
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTrackableHandleBJ]
title = "<1.24> Extract traceable from hash table"
description = "Extract traceables in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = trackable
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTrackableHandle]
title = "<1.24> Extract traceable from hash table [C]"
description = "Extract traceables from the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = trackable
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadDialogHandleBJ]
title = "<1.24> Extract dialog from hash table"
description = "Extract the dialog box in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = dialog
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadDialogHandle]
title = "<1.24> Extract dialog from hash table [C]"
description = "Extract the dialog box in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = dialog
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadButtonHandleBJ]
title = "<1.24> Extract dialog button from hash table"
description = "Extract dialog buttons in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = button
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadButtonHandle]
title = "<1.24> Extract dialog button from hash table [C]"
description = "Extract the dialog buttons in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = button
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadTextTagHandleBJ]
title = "<1.24> Extract floating text from hash table"
description = "Extract floating text in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = texttag
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadTextTagHandle]
title = "<1.24> Extract floating text from hash table [C]"
description = "Extract floating text in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = texttag
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadLightningHandleBJ]
title = "<1.24> Extract lightning effect from hash table"
description = "Extract lightning effect in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = lightning
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadLightningHandle]
title = "<1.24> Extract lightning effect from hash table [C]"
description = "Extract the lightning effect in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = lightning
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadImageHandleBJ]
title = "<1.24> Extract image from hash table"
description = "Extract images in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = image
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadImageHandle]
title = "<1.24> Extract image from hash table [C]"
description = "Extract the image in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = image
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadUbersplatHandleBJ]
title = "<1.24> Extract ground texture changes from the hash table"
description = "Extract ground texture changes in ${Hashtable} of sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = ubersplat
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadUbersplatHandle]
title = "<1.24> Extract ground texture changes from the hash table [C]"
description = "Extract ground texture changes in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = ubersplat
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadFogStateHandleBJ]
title = "<1.24> Extract the fog state from the hash table"
description = "Extract the fog state in ${Hashtable} of the sub index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = fogstate
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadFogStateHandle]
title = "<1.24> Extract the fog state from the hash table [C]"
description = "Extract the fog state in the main index ${Value} sub-index ${Value} of ${Hashtable}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = fogstate
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[LoadFogModifierHandleBJ]
title = "<1.24> Extract visibility corrector from hash table"
description = "Extract the visibility corrector in ${Hashtable} of the sub-index ${Value} main index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = fogmodifier
[[.args]]
type = integer
[[.args]]
type = integer
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"

[LoadFogModifierHandle]
title = "<1.24> Extract visibility corrector from hash table [C]"
description = "Extract the visibility modifier from the main index ${Value} of ${Hashtable} and the sub index ${Value}"
comment = "If it does not exist, return empty"
category = TC_HASHTABLE
returns = fogmodifier
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[OperatorInt]
title = "Arithmetic operation Lv2"
description = "${Number} ${operator} ${number}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = ArithmeticOperator
default = "OperatorAdd"
[[.args]]
type = integer
default = "1"

[OperatorReal]
title = "Arithmetic operation Lv2"
description = "${Value} ${Operator} ${Value}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
default = "0"
[[.args]]
type = ArithmeticOperator
default = "OperatorAdd"
[[.args]]
type = real
default = "0"

[YDWEOperatorInt3]
title = "Arithmetic operation Lv3"
description = "${Number} ${operator} ${number} ${operator} ${number}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = YArithmeticOperator
default = "YOperatorAdd"
[[.args]]
type = integer
default = "0"
[[.args]]
type = YArithmeticOperator
default = "YOperatorAdd"
[[.args]]
type = integer
default = "0"

[YDWEOperatorReal3]
title = "Arithmetic operation Lv3"
description = "${Number} ${operator} ${number} ${operator} ${number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = YArithmeticOperator
default = "YOperatorAdd"
[[.args]]
type = real
default = "0"
[[.args]]
type = YArithmeticOperator
default = "YOperatorAdd"
[[.args]]
type = real
default = "0"

[YDWE_PreloadSL_Get]
title = "Get archived data"
description = "Get from ${player} ※${data comment}, get from the current archive [${data item index}]"
comment = "To obtain data from the player's local archive, you need to fill in the correct index of the data item, label is the comment of the data."
category = TC_YDSL
returns = integer
[[.args]]
type = player
default = "Player00"
[[.args]]
type = string
[[.args]]
type = integer
min = 1
max = 500

[YDWE_PreloadSL_GetFile]
title = "Get archive name (archive list)[YDWE]"
description = "Get the archive name whose index is [${Integer}] under '${directory name}' for ${player}"
comment = "Advanced function, get the name of a player archive file in the specified directory, fill in the correct index, and then get the corresponding archive name."
category = TC_YDSL
returns = string
[[.args]]
type = player
default = "Player00"
[[.args]]
type = string
[[.args]]
type = integer
min = 1
max = 16

[GetForLoopIndexA]
title = "Circular integer A"
description = "Circular integer A"
comment = ""
category = TC_FORLOOP
returns = integer

[GetForLoopIndexB]
title = "Circular integer B"
description = "Circular integer B"
comment = ""
category = TC_FORLOOP
returns = integer

[OrderId2StringBJ]
title = "Convert command ID to string"
description = "Convert ${Order} to a command string"
comment = "Such as''harvest'', ''move'', ''smart'', ''attack''are command strings."
category = TC_CONVERSION
returns = string
[[.args]]
type = ordercode
default = "GetIssuedOrderIdBJ"

[UnitId2StringBJ]
title = "Convert unit type to string"
description = "Convert ${unit type} to string"
comment = ""
category = TC_CONVERSION
returns = string
[[.args]]
type = unitcode
default = "GetUnitTypeId"

[GetLocalizedString]
title = "Local string [R]"
description = "Local string: ${text}"
comment = "The string defined in Getui\\framedef\\globalstrings.fdf."
category = TC_CONVERSION
use_in_event = 0
returns = string
[[.args]]
type = string

[StringIdentity]
title = "Local string"
description = "Local string: ${text}"
comment = "The string defined in Getui\\framedef\\globalstrings.fdf."
script_name = GetLocalizedString
category = TC_CONVERSION
use_in_event = 0
returns = string
[[.args]]
type = string

[GetLocalizedHotkey]
title = "Local hotkey "
description = "Local hotkey: ${text}"
comment = "Hotkey defined in Getui\\miscui.txt."
category = TC_CONVERSION
use_in_event = 0
returns = integer
[[.args]]
type = string

[StringCase]
title = "Case conversion"
description = "Convert ${String} to ${Lower/Upper Case} form"
comment = ""
category = TC_CONVERSION
returns = string
[[.args]]
type = StringExt
[[.args]]
type = stringcaseoption
default = "StringCaseLower"

[Location]
title = "Coordinate points"
description = "Coordinate (${X}, ${Y})"
comment = "Will create points."
category = TC_CONVERSION
returns = location
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[String2UnitIdBJ]
title = "Convert string to unit type"
description = "Convert ${String} to unit type"
comment = ""
script_name = UnitId
category = TC_CONVERSION
returns = unitcode
[[.args]]
type = string
default = "footman"

[String2OrderIdBJ]
title = "Convert command string to command ID"
description = "Convert ${String} to command ID"
comment = "For example, ``harvest'', ``move'', ``smart'', ``attack'' are all command strings."
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = string
default = "stop"

[UnitId2OrderIdBJ]
title = "Convert unit type to command ID"
description = "Convert ${unit type} to command ID"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = unitcode
default = "hfoo"

[ConvertedPlayer]
title = "Convert player ID to player"
description = "player ${Player Index}"
comment = "Player ID value 1-16."
category = TC_CONVERSION
returns = player
[[.args]]
type = integer
default = "1"
min = 1
max = 16

[YDWEGetGameCurrentTime]
title = "Timer system-get the current time of the game"
description = "Get game current time"
comment = "Get the elapsed time from the start of the game to the present, in seconds."
category = TC_YDST
returns = integer

[YDWETimerSystemGetRunIndex]
title = "Timer System-Get the current execution index of the central timer"
description = "Get central timer current execution index"
comment = "Get the number of executions of the trigger or function of the central timer so far."
category = TC_YDST
returns = integer

[YDWEGetUnitItemSoftId]
title = "The position of the item in the inventory[YDWE]"
description = "Get ${Unit} The position of ${Items} in the inventory"
comment = "Returns the position in the inventory of the unit where the item is located, which is a value between 1-6; if the item does not exist on the unit, it returns 0."
category = TC_YDST
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = item
default = "GetManipulatedItem"

[YDWEConverUnitcodeToInt]
title = "Display unit type is integer[YDWE]"
description = "Display <${unit type}> as an integer"
comment = "The unit type itself is an integer, so no conversion is required; this function is mainly used in the path setting of the storage system."
category = TC_YDST
returns = integer
[[.args]]
type = unitcode

[YDWEConverItemcodeToInt]
title = "Display item type as integer[YDWE]"
description = "Display <${Item Type}> as an integer"
comment = "The item type itself is an integer, so there is no need to convert; this function is mainly used in the path setting of the storage system."
category = TC_YDST
returns = integer
[[.args]]
type = itemcode

[YDWEConverAbilcodeToInt]
title = "Display skill type as integer[YDWE]"
description = "Display <${Skill Type}> as an integer"
comment = "The skill type itself is an integer, so no conversion is required; this function is mainly used in the path setting of the storage system."
category = TC_YDST
returns = integer
[[.args]]
type = abilcode

[YDWEConverOrdercodeToInt]
title = "Display the command ID as an integer[YDWE]"
description = "Display<${Command ID}> is an integer"
comment = "The command ID itself is an integer, so no conversion is required; this function is mainly used in the path setting of the storage system."
category = TC_YDST
returns = integer
[[.args]]
type = ordercode

[YDWEI2UnitId]
title = "Convert integer to unit Id[YDWE]"
description = "Convert ${Integer} to unit Id"
comment = "Convert an integer into a unit ID, such as inputting 1751543663, it will be converted into an infantry ID."
category = TC_YDST
returns = unitcode
[[.args]]
type = integer

[YDWEI2ItemId]
title = "Convert integer to item Id [YDWE]"
description = "Convert ${Integer} to item Id"
comment = "Convert an integer to an item ID, such as entering 1936749416, it will be converted to the ID of the magic shield."
category = TC_YDST
returns = itemcode
[[.args]]
type = integer

[YDWES2Id]
title = "Convert string to Id [YDWE]"
description = "The string that needs to be converted into ID is: ${string}"
comment = "Convert a character string to the ID of a target such as a unit and an item; for example, after converting spsh to'spsh', you can enter the character string through chat to create a unit or item."
category = TC_YDST
returns = integer
[[.args]]
type = string
default = "spsh"

[YDWES2UnitId]
title = "Convert string to unit Id [YDWE]"
description = "The character channel that needs to be converted into unit Id is: ${character channel}"
comment = "Convert a character string into a unit ID, such as inputting hfoo, it will be converted into an infantry ID."
category = TC_YDST
returns = unitcode
[[.args]]
type = string
default = "hfoo"

[YDWES2ItemId]
title = "Convert string to item Id [YDWE]"
description = "The string that needs to be converted into the item Id is: ${string}"
comment = "Convert a character string into an item ID, such as input spsh, it will be converted into the ID of the magic shield."
category = TC_YDST
returns = itemcode
[[.args]]
type = string
default = "spsh"

[YDWEGetUnitGoldCost]
title = "Get gold consumption (unit type)"
description = "Get ${Unit} Gold consumed during construction"
comment = "This trigger can only get the gold consumed during the construction of ordinary units. If you fill in hero units, you will get a fixed value of 425"
category = TC_YDST
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[YDWEGetUnitWoodCost]
title = "Get wood consumption (unit type)"
description = "Get ${Unit} Wood consumed during construction"
comment = "This trigger can only get the wood consumed during the construction of ordinary units. If you fill in hero units, you will get a fixed value of 100"
category = TC_YDST
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[YDWEGetUnitBuildTime]
title = "Get construction time (unit type)"
description = "Get ${Unit} the time required to build"
comment = "This trigger can only get the time required for the construction of ordinary units. If you fill in hero units, you will get a fixed value of 55"
category = TC_YDST
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[YDWEGetUnitFoodUsed]
title = "Get consumption population (unit)"
description = "Get ${Unit} The population consumed during construction"
comment = "This trigger can only get the population consumed by ordinary units during construction. If you fill in hero units, you will get a fixed value of 5"
category = TC_YDST
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[YDWEGetUnitFoodMade]
title = "Get provide population (unit)"
description = "Get ${Unit} Population provided after construction"
comment = "This trigger can only get the population provided by ordinary units after they are built. If hero units are filled in, they will get a fixed value of 0"
category = TC_YDST
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[YDWECoordinateX]
title = "Correct X coordinate [YDWE]"
description = "The X coordinate that needs to be corrected is: ${Real number}"
comment = "Set the modified X coordinate to force it to be greater than the minimum value of the map boundary and less than the maximum value of the map boundary to avoid pop-up game errors."
category = TC_YDST
returns = real
[[.args]]
type = real

[YDWECoordinateY]
title = "Correct Y coordinate [YDWE]"
description = "The Y coordinate that needs to be corrected is：${Real number}"
comment = "Set the modified Y coordinate to force it to be greater than the minimum value of the map boundary and less than the maximum value of the map boundary to avoid pop-up game errors."
category = TC_YDST
returns = real
[[.args]]
type = real

[YDWEGetUnitArmor]
title = "Get unit armor <made by Rising_Dusk>"
description = "Get the armor value of ${Unit}, the associated skill is ${auxiliary skill}"
comment = "You can get the armor value of the unit; you need to ensure that the chaos attack is 100% damage to all armor. For the setting of related skills, please refer to the auxiliary map under the example folder."
category = TC_YDST
returns = real
[[.args]]
type = unit
default = "GetTriggerUnit"
[[.args]]
type = abilcode

[YDWEId2S]
title = "Convert Id to string"
description = "The Id to be converted is:${Integer}"
comment = "Convert the target Id of a unit, item, etc. into a string; for example,'spsh' will be converted to spsh."
category = TC_YDST
returns = string
[[.args]]
type = integer
default = "'spsh'"

[YDWEGetPlayerColorString]
title = "Add player color"
description = "|c[${player}]${Start}|r"
comment = ""
category = TC_YDST
returns = string
[[.args]]
type = player
default = "Player00"
[[.args]]
type = string

[GetLastAbilityCastingUnit]
title = "Get the last unit that finished casting special skills"
description = "Get the last unit that finished casting special skills"
comment = "Responding to the event that the unit releases the special skill, when the skill is released, you can get the unit that cast the special skill last."
category = TC_YDST
returns = unit

[GetLastAbilityTargetUnit]
title = "Get the last unit hit by a special skill"
description = "Get the last unit hit by a special skill"
comment = "The response unit releases special skill events that can hit the target, such as hooks and lunar arrows; when the skill hits the target, you can get the last unit hit by the special skill."
category = TC_YDST
returns = unit

[YDWEInitHashtable]
title = "New hash table(YDWE)"
description = "New hash table"
comment = "Get a new hash table."
category = TC_YDST
use_in_event = 0
returns = hashtable

[GetLearnedSkillLevel]
title = "Learning skill level"
description = "Learning skill level"
comment = "In response to the unit event of'learning skills', it refers to the level of the learned skill. Note that this value is the level after learning."
category = TC_EVENTRESPONSE
returns = integer

[GetEventDamage]
title = "damage"
description = "Unit damage"
comment = "Responding to the'damaged' unit event, refers to the unit's damage."
category = TC_EVENTRESPONSE
returns = real

[GetOrderPointX]
title = "Command issuance point X coordinate [R]"
description = "Command issuance point X coordinate"
comment = "Using coordinates instead of points can save you the trouble of creating and deleting points."
category = TC_EVENTRESPONSE
returns = real

[GetOrderPointY]
title = "Command issuance point Y coordinate [R]"
description = "Command issuance point Y coordinate"
comment = "Using coordinates instead of points can save you the trouble of creating and deleting points."
category = TC_EVENTRESPONSE
returns = real

[GetSpellTargetX]
title = "X coordinate of skill cast point"
description = "The X coordinate of the target point of the Get skill"
comment = "This is a function of 1.24, but it has been added to the function library and can also be used in 1.20."
category = TC_EVENTRESPONSE
returns = real

[GetSpellTargetY]
title = "Y coordinate of skill cast point"
description = "The Y coordinate of the target point of the Get skill"
comment = "This is a function of 1.24, but it has been added to the function library and can also be used in 1.20."
category = TC_EVENTRESPONSE
returns = real

[GetTournamentFinishSoonTimeRemaining]
title = "Remaining time of the game"
description = "Remaining time of the game"
comment = "In response to the'match event' the game is about to end. The unit is seconds."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = real

[GetEventPlayerChatString]
title = "Chat message entered"
description = "Chat message entered"
comment = ""
category = TC_EVENTRESPONSE
returns = string

[GetEventPlayerChatStringMatched]
title = "Matching chat messages"
description = "Matching chat messages"
comment = ""
category = TC_EVENTRESPONSE
returns = string

[GetSaveBasicFilename]
title = "Archive file name"
description = "Archive file name"
comment = "Respond to the'Game-Save Progress' event."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = string

[GetOrderPointLoc]
title = "Command release point"
description = "Command release point"
comment = "Respond to the'Designated pointtarget command issued' unit event. Points will be created."
category = TC_EVENTRESPONSE
returns = location

[GetSpellTargetLoc]
title = "Skill cast point"
description = "Skill cast point"
comment = "Respond to the'skill cast' unit event. Note that the point cannot be captured at the end of the skill cast. A point will be created."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = location

[CreateRegion]
title = "New area [R]"
description = "New area"
comment = "A new irregular area will be created. If you don't add points or areas to this area, the area will have no effect."
category = TC_REGION
use_in_event = 0
returns = region

[GetTriggeringRegion]
title = "Trigger area [R]"
description = "Trigger area"
comment = "Respond to incidents of units entering/leaving irregular areas."
category = TC_EVENTRESPONSE
returns = region

[GetAttackedUnitBJ]
title = "Attacked unit"
description = "Attacked unit"
comment = "Respond to'attacked' unit events."
script_name = GetTriggerUnit
category = TC_EVENTRESPONSE
returns = unit

[GetAttacker]
title = "Attack unit"
description = "Attack unit"
comment = "Respond to'attacked' unit events."
category = TC_EVENTRESPONSE
returns = unit

[GetBuyingUnit]
title = "buyers"
description = "buyers"
comment = "Respond to'sale unit','sold item' or'collateralized item' unit event."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetCancelledStructure]
title = "Cancelled building"
description = "Cancelled building"
comment = "Responding to the'Canceled Building' Unit Event."
category = TC_EVENTRESPONSE
returns = unit

[GetSpellAbilityUnit]
title = "Casting unit"
description = "Casting unit"
comment = "Respond to the event of the'cast skill' unit."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetConstructingStructure]
title = "Building under construction"
description = "Building under construction"
comment = "Respond to the'start building construction' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetConstructedStructure]
title = "Completed building"
description = "Completed building"
comment = "Respond to the'Completion of Construction' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetEventDamageSource]
title = "Source of damage"
description = "Source of damage"
comment = "Responding to'damaged' unit events."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetDecayingUnit]
title = "Corrupted unit"
description = "Corrupted unit"
comment = "Respond to the'Starting Corruption' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetDyingUnit]
title = "Dead unit"
description = "Dead unit"
comment = "Respond to'death' unit events."
category = TC_EVENTRESPONSE
returns = unit

[GetEnteringUnit]
title = "Unit entered"
description = "Unit entered"
comment = "Respond to the unit event of'unit entering area'."
category = TC_EVENTRESPONSE
returns = unit

[GetManipulatingUnit]
title = "Unit of operation"
description = "Unit of operation"
comment = "Responding to'Use/Get/Lost Item' unit events."
category = TC_EVENTRESPONSE
returns = unit

[GetKillingUnitBJ]
title = "Murderer unit"
description = "Murderer unit"
comment = "Respond to the'death' unit event. If it is not killed by the unit (such as a negative evil halo), return null."
script_name = GetKillingUnit
category = TC_EVENTRESPONSE
returns = unit

[GetLearningUnit]
title = "Hero of learning skills"
description = "Hero of learning skills"
comment = "Respond to the'learning skills' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetLeavingUnit]
title = "Leaving unit"
description = "Leaving unit"
comment = "Respond to the'Unit Leaving Area' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetLevelingUnit]
title = "Upgraded hero"
description = "Upgraded hero"
comment = "Respond to the'level up' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetLoadedUnitBJ]
title = "Loaded unit"
description = "Loaded unit"
comment = "Respond to the'loaded' unit event."
script_name = GetLoadedUnit
category = TC_EVENTRESPONSE
returns = unit

[GetOrderedUnit]
title = "Issue order unit"
description = "Issue order unit"
comment = "Respond to'Issue order'unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetChangingUnit]
title = "Changed owner’s unit"
description = "Changed owner’s unit"
comment = "Respond to the'change owner' unit event."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetResearchingUnit]
title = "Unit for researching technology"
description = "Unit for researching technology"
comment = "Respond to unit events of'Start/Cancel/Complete Technology Research'."
category = TC_EVENTRESPONSE
returns = unit

[GetRevivableUnit]
title = "Resurrection hero"
description = "Resurrection hero"
comment = "Respond to the event of a unit that becomes resurrectable"
category = TC_EVENTRESPONSE
returns = unit

[GetRevivingUnit]
title = "Resurrection hero"
description = "Resurrection hero"
comment = "Respond to the'start/cancel/complete resurrection' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetSellingUnit]
title = "Trafficker"
description = "Trafficker"
comment = "Respond to'sale unit','sold item' or'collateralized item' unit event."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetSoldUnit]
title = "Trafficked unit"
description = "Trafficked unit"
comment = "Responding to the'sold unit' unit event."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = unit

[GetSummonedUnit]
title = "Summoning unit"
description = "Summoning unit"
comment = "Responding to the'Summoned Unit' unit event, refers to the called unit."
category = TC_EVENTRESPONSE
returns = unit

[GetSummoningUnit]
title = "Summoner"
description = "Summoner"
comment = "Responding to the'Summoned Unit' unit event."
category = TC_EVENTRESPONSE
returns = unit

[GetOrderTargetUnit]
title = "Command release target"
description = "Command release target"
comment = "Respond to the unit event of'Release the specified object target command' and use the unit as the target."
category = TC_EVENTRESPONSE
returns = unit

[GetSpellTargetUnit]
title = "Skill cast target"
description = "Skill cast target"
comment = "Respond to the'Skill Casting' unit event and take the unit as the target. Note: The target cannot be captured after the skill is cast."
category = TC_EVENTRESPONSE
returns = unit

[GetEventTargetUnit]
title = "Event target unit"
description = "Event target unit"
comment = "Respond to the'notice/acquire attack target' unit event, referring to the target unit."
category = TC_EVENTRESPONSE
returns = unit

[GetTrainedUnit]
title = "Training unit"
description = "Training unit"
comment = "Responding to the unit event of'complete training unit' refers to the unit being trained."
category = TC_EVENTRESPONSE
returns = unit

[GetTransportUnitBJ]
title = "Transport unit"
description = "Transport unit"
comment = "Respond to the'loaded' unit event. Refers to the unit as the carrier."
script_name = GetTransportUnit
category = TC_EVENTRESPONSE
returns = unit

[GetTriggerUnit]
title = "Trigger unit"
description = "Trigger unit"
comment = ""
category = TC_EVENTRESPONSE
returns = unit

[GetTrainedUnitType]
title = "Training unit type"
description = "Training unit type"
comment = "Respond to the'start/cancel/complete training unit' unit event, referring to the type of unit being trained."
category = TC_EVENTRESPONSE
returns = unitcode

[GetIssuedOrderIdBJ]
title = "Command ID issued"
description = "Command ID issued"
comment = "Respond to'Issue order' unit events."
script_name = GetIssuedOrderId
category = TC_EVENTRESPONSE
returns = ordercode

[GetDyingDestructable]
title = "Destructible objects of death"
description = "Destructible objects of death"
comment = "Responding to the'destructible object death' event."
category = TC_EVENTRESPONSE
returns = destructable

[GetOrderTargetDestructable]
title = "Command release target (destructible)"
description = "Command release target"
comment = "Respond to the unit event of'Release the specified object target command' and target the destructible object."
category = TC_EVENTRESPONSE
returns = destructable

[GetSpellTargetDestructable]
title = "Skill cast target (destructible)"
description = "Skill cast target"
comment = "Respond to the'skill cast' unit event and target the destructible object. Note: The target will not be captured after the skill cast."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = destructable

[GetManipulatedItem]
title = "Operated item"
description = "Operated item"
comment = "Respond to'Use/Get/Discard Item' unit events."
category = TC_EVENTRESPONSE
returns = item

[GetSoldItem]
title = "Items sold"
description = "Items sold"
comment = "Respond to'sold items' or'collateralized items' unit events."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = item

[GetOrderTargetItem]
title = "Command release target"
description = "Command release target"
comment = "Respond to the'Issue the specified object target command' unit event and the item is the target."
category = TC_EVENTRESPONSE
returns = item

[GetSpellTargetItem]
title = "Skill cast target"
description = "Skill cast target"
comment = "Respond to the event of the casting skill unit and target the item. Note: The target cannot be captured after the skill is cast."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = item

[GetResearched]
title = "Researched Technology"
description = "Researched Technology"
comment = "Respond to unit events of'Start/Cancel/Complete Technology Research'."
category = TC_EVENTRESPONSE
returns = techcode

[GetSpellAbilityId]
title = "Cast skills"
description = "Cast skills"
comment = "Respond to the event of a unit that casts a skill, referring to the skill being cast."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = abilcode

[GetLearnedSkill]
title = "learning skills [R]"
description = "learning skills"
comment = "Respond to the'learning skills' unit event, referring to the skills being learned."
category = TC_EVENTRESPONSE
returns = abilcode

[GetLearnedSkillBJ]
title = "learning skills"
description = "learning skills"
comment = "Respond to the'learning skills' unit event, referring to the skills being learned. The new function is in the'skills' category."
script_name = GetLearnedSkill
category = TC_EVENTRESPONSE
returns = heroskillcode

[GetChangingUnitPrevOwner]
title = "Original owner"
description = "Original owner"
comment = "In response to the'change owner' unit event, refer to the original owner of the unit."
category = TC_EVENTRESPONSE
use_in_event = 0
returns = player

[GetTriggerPlayer]
title = "Trigger player"
description = "Trigger player"
comment = ""
category = TC_EVENTRESPONSE
returns = player

[GetClickedDialogBJ]
title = "Clicked dialog"
description = "Clicked dialog"
comment = "Respond to the'Dialog-Click the dialog/button' event."
script_name = GetClickedDialog
category = TC_EVENTRESPONSE
returns = dialog

[GetClickedButtonBJ]
title = "Clicked dialog"
description = "Clicked dialog"
comment = "Respond to the'Dialog-Click the dialog/button' event."
script_name = GetClickedButton
category = TC_EVENTRESPONSE
returns = button

[GetExpiredTimer]
title = "Expired timer"
description = "Expired timer"
comment = "Respond to the'time-timer expired' event."
category = TC_EVENTRESPONSE
returns = timer

[GetTriggeringTrackable]
title = "Event response-trigger traceable [R]"
description = "Event response-trigger traceable"
comment = ""
category = TC_EVENTRESPONSE
returns = trackable

[GetRandomInt]
title = "Random integer"
description = "Random integer,Minimum: ${Minimum} Maximum: ${Maximum}"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
default = "1"
[[.args]]
type = integer
default = "10"

[IMinBJ]
title = "Take the smaller value"
description = "Take the smaller value of (${integer 1}, ${integer 2})"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[IMaxBJ]
title = "Take the larger value"
description = "Take the larger value of (${integer 1}, ${integer 2})"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[IAbsBJ]
title = "Absolute value"
description = "${Integer} Absolute value"
comment = ""
category = TC_MATH
returns = integer
[[.args]]
type = integer

[ISignBJ]
title = "Symbol Sign"
description = "${Integer} Symbol Sign"
comment = "Negative numbers are -1. Non-negative numbers are 1."
category = TC_MATH
returns = integer
[[.args]]
type = integer

[StringHash]
title = "Get the hash value of the string"
description = "(${String})hash value"
comment = "Get a key corresponding to a string. The keys of different strings are basically impossible to be the same, and it is also difficult to find two different strings that have the same key. Can be used to make passwords and other functions."
category = TC_MATH
returns = integer
[[.args]]
type = string

[ModuloInteger]
title = "mod"
description = "${Dividend} mod ${divisor}"
comment = "Modulo calculation, example: 13 mod 5 = 3."
category = TC_MATH
returns = integer
[[.args]]
type = integer
[[.args]]
type = integer

[GetRandomReal]
title = "Random real number"
description = "Random real number,Minimum: ${Minimum} Maximum: ${Maximum}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "1"

[GetRandomDirectionDeg]
title = "Random angle"
description = "Random angle"
comment = "0-360 Random angle."
category = TC_MATH
returns = degree

[GetRandomPercentageBJ]
title = "Random percentage"
description = "Random percentage"
comment = "0-100 Random real number."
category = TC_MATH
returns = real

[RMinBJ]
title = "Take the smaller value"
description = "Take the smaller value of (${real number 1}, ${real number 2})"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[RMaxBJ]
title = "Take the larger value"
description = "Take the larger value of (${real number 1}, ${real number 2})"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[RAbsBJ]
title = "Absolute value"
description = "${Real number} Absolute value"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real

[RSignBJ]
title = "Symbol Sign"
description = "${Real number} Symbol Sign"
comment = "Negative numbers are -1. Non-negative numbers are 1."
category = TC_MATH
returns = real
[[.args]]
type = real

[ModuloReal]
title = "mod"
description = "${Dividend} mod ${divisor}"
comment = "Modulo calculation, example: 9.0 mod 2.5 = 1.5."
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[Pow]
title = "Exponentiation"
description = "${Real number} to the power of ${Real number}"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
[[.args]]
type = real

[SquareRoot]
title = "Square root"
description = "${Real number} Square root"
comment = ""
category = TC_MATH
returns = real
[[.args]]
type = real
min = 0

[SinBJ]
title = "Sine (angle)"
description = "Sin(${Angle})"
comment = "Angle calculation."
category = TC_MATH
returns = real
[[.args]]
type = degree
default = "GetUnitFacing"

[CosBJ]
title = "Cosine (angle)"
description = "Cos(${Angle})"
comment = "Angle calculation."
category = TC_MATH
returns = real
[[.args]]
type = degree
default = "GetUnitFacing"

[TanBJ]
title = "Tangent (angle)"
description = "Tan(${Angle})"
comment = "Angle calculation."
category = TC_MATH
returns = real
[[.args]]
type = degree
default = "GetUnitFacing"

[AsinBJ]
title = "Arc sine (angle)"
description = "Asin(${Value})"
comment = "Angle calculation. Return angle value-90 — 90."
category = TC_MATH
returns = degree
[[.args]]
type = real
min = -1
max = 1

[AcosBJ]
title = "Arc cosine (angle)"
description = "Acos(${Value})"
comment = "Angle calculation. Return angle value0 — 180."
category = TC_MATH
returns = degree
[[.args]]
type = real
min = -1
max = 1

[AtanBJ]
title = "Arctangent (angle)"
description = "Atan(${Value})"
comment = "Angle calculation. Return angle value-90 — 90."
category = TC_MATH
returns = degree
[[.args]]
type = real

[Atan2BJ]
title = "Arctangent (angle)(Y:X)"
description = "Atan(${Y} : ${X})"
comment = "Angle calculation. Return angle value-90 — 90."
category = TC_MATH
returns = degree
[[.args]]
type = real
[[.args]]
type = real

[Sin]
title = "Sine (radians) [R]"
description = "Sin(${Angle})"
comment = "Calculated using the radian system. "
category = TC_MATH
returns = real
[[.args]]
type = radian
default = "bj_PI"

[Cos]
title = "Cosine (radians) [R]"
description = "Cos(${Angle})"
comment = "Calculated using the radian system. "
category = TC_MATH
returns = real
[[.args]]
type = radian
default = "bj_PI"

[Tan]
title = "Tangent (radians) [R]"
description = "Tan(${Angle})"
comment = "Calculated using the radian system. "
category = TC_MATH
returns = real
[[.args]]
type = radian
default = "bj_PI"

[Asin]
title = "Arc sine (radians) [R]"
description = "Asin(${Value})"
comment = "Calculated using the radian system. Returns the radian value-π/2 — π/2. "
category = TC_MATH
returns = radian
[[.args]]
type = real
default = "0"
min = -1
max = 1

[Acos]
title = "Arc cosine (radians) [R]"
description = "Acos(${Value})"
comment = "Calculated using the radian system. Returns the radian value0 — π. "
category = TC_MATH
returns = radian
[[.args]]
type = real
default = "0"
min = -1
max = 1

[Atan]
title = "Arctangent (radians) [R]"
description = "Atan(${Value})"
comment = "Calculated using the radian system. Returns the radian value-π/2 — π/2. "
category = TC_MATH
returns = radian
[[.args]]
type = real
default = "0"

[Atan2]
title = "Arctangent (Y:X) (radians) [R]"
description = "Atan(${Y} : ${X})"
comment = "Calculated using the radian system. Returns the radian value-π/2 — π/2. "
category = TC_MATH
returns = radian
[[.args]]
type = real
[[.args]]
type = real

[YDWELogarithmLg]
title = "Logarithmic function (10 as base) <c kuhn production>"
description = "Lg(${x})"
comment = "10^n=x，then lg(x)=n，such as lg(100)=2；thanks for zyl910"
category = TC_MATH
returns = real
[[.args]]
type = real
min = 0.01

[YDWELogarithmLn]
title = "Logarithmic function (e is the base) <c kuhn production>"
description = "Ln(${x})"
comment = "e^n=x，then ln(x)=n，e is the natural logarithm, approximately equal to 2.718281828；thanks for zyl910"
category = TC_MATH
returns = real
[[.args]]
type = real
min = 0.01

[YDWELogarithmLog]
title = "Logarithmic function (arbitrary base) <c kuhn production>"
description = "Log(${a})(${b})"
comment = "a^n=b，then log(a)(b)=n，such as log(2)(4)=2；thanks for zyl910"
category = TC_MATH
returns = real
[[.args]]
type = real
min = 0.01
[[.args]]
type = real
min = 0.01

[GetLastTransmissionDurationBJ]
title = "Last speech length"
description = "Last speech length"
comment = "The speaking time of the unit last used the action of'Movie-Broadcast Unit Message'."
category = TC_CINEMATIC
returns = real

[TimerGetElapsed]
title = "Elapsed time"
description = "${timer} elapsed time"
comment = ""
category = TC_TIMER
returns = real
[[.args]]
type = timer

[TimerGetRemaining]
title = "remaining time"
description = "${timer} remaining time"
comment = ""
category = TC_TIMER
returns = real
[[.args]]
type = timer

[TimerGetTimeout]
title = "Set time"
description = "${timer} Set time"
comment = ""
category = TC_TIMER
returns = real
[[.args]]
type = timer

[CreateTimerDialog]
title = "New timer window [R]"
description = "Create a new timer window for ${timer}"
comment = "Create a new timer window for a timer."
category = TC_TIMER
returns = timerdialog
[[.args]]
type = timer

[CameraSetupGetField]
title = "Lens properties (specify lens) [R]"
description = "${Lens} ${Camera Field}"
comment = ""
category = TC_CAMERA
returns = real
[[.args]]
type = camerasetup
[[.args]]
type = camerafield
default = "CameraFieldTargetDistance"

[CameraSetupGetFieldSwap]
title = "Lens properties (specify lens)"
description = "${Camera Field} to ${Lens}"
comment = ""
category = TC_CAMERA
returns = real
[[.args]]
type = camerafield
default = "CameraFieldTargetDistance"
[[.args]]
type = camerasetup

[GetCameraField]
title = "Lens properties(Current lens)"
description = "Current lens ${Camera Field}"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real
[[.args]]
type = camerafield
default = "CameraFieldTargetDistance"

[GetCameraTargetPositionX]
title = "Current camera targetX coordinate"
description = "Current camera targetX coordinate"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[GetCameraTargetPositionY]
title = "Current camera targetY coordinate"
description = "Current camera targetY coordinate"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[GetCameraTargetPositionZ]
title = "Current camera targetZ coordinate"
description = "Current camera targetZ coordinate"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[GetCameraEyePositionX]
title = "X coordinate of current lens source"
description = "X coordinate of current lens source"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[GetCameraEyePositionY]
title = "Y coordinate of current lens source"
description = "Y coordinate of current lens source"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[GetCameraEyePositionZ]
title = "Z coordinate of current lens source"
description = "Z coordinate of current lens source"
comment = "Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = real

[CameraSetupGetDestPositionLoc]
title = "Lens target point"
description = "${Lens} target point"
comment = "Will create points."
category = TC_CAMERA
returns = location
[[.args]]
type = camerasetup

[GetCameraTargetPositionLoc]
title = "Current camera target point"
description = "Current camera target point"
comment = "Will create points. Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = location

[GetCameraEyePositionLoc]
title = "Current lens source position"
description = "Current lens source position"
comment = "Will create points. Note: This function returns different values for each player, please make sure you know what you are doing, otherwise it is easy to cause disconnection."
category = TC_CAMERA
returns = location

[GetLightningColorRBJ]
title = "Red color value"
description = "${Lightning} Red color value"
comment = "The value range is 0-1. You can use the'Lightning effect-change color' action to change the color value."
script_name = GetLightningColorR
category = TC_LIGHTNING
use_in_event = 0
returns = real
[[.args]]
type = lightning
default = "GetLastCreatedLightningBJ"

[GetLightningColorGBJ]
title = "Green color value"
description = "${Lightning} Green color value"
comment = "The value range is 0-1. You can use the'Lightning effect-change color' action to change the color value."
script_name = GetLightningColorG
category = TC_LIGHTNING
use_in_event = 0
returns = real
[[.args]]
type = lightning
default = "GetLastCreatedLightningBJ"

[GetLightningColorBBJ]
title = "Blue color value"
description = "${Lightning} Blue color value"
comment = "The value range is 0-1. You can use the'Lightning effect-change color' action to change the color value."
script_name = GetLightningColorB
category = TC_LIGHTNING
use_in_event = 0
returns = real
[[.args]]
type = lightning
default = "GetLastCreatedLightningBJ"

[GetLightningColorABJ]
title = "Alpha channel value"
description = "${Lightning} Alpha channel value"
comment = "The value range is 0-1. Alpha channel value 0 is completely transparent. You can use the'lightning effect-change color' action to change the alpha channel value."
script_name = GetLightningColorA
category = TC_LIGHTNING
use_in_event = 0
returns = real
[[.args]]
type = lightning
default = "GetLastCreatedLightningBJ"

[AddLightning]
title = "New lightning effect [R]"
description = "New lightning effect: ${Lightning effect} (${Boolean}Check visibility) Start point:(${X},${Y}) End point:(${X},${Y})"
comment = "A lightning effect will be created. If visibility is allowed, the lightning effect will not be created when the start and end points are not visible."
category = TC_LIGHTNING
returns = lightning
[[.args]]
type = lightningtype
default = "LightningTypeCLPB"
[[.args]]
type = allowdontoption
default = "AllowDontDont"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[AddLightningEx]
title = "New lightning effect(Specify Z axis) [R]"
description = "New lightning effect: ${Lightning effect} (${Boolean}Check visibility) Start point:(${X},${Y},${Z}) End point:(${X},${Y},${Z})"
comment = "A lightning effect will be created. If visibility is allowed, the lightning effect will not be created when the start and end points are not visible."
category = TC_LIGHTNING
returns = lightning
[[.args]]
type = lightningtype
default = "LightningTypeCLPB"
[[.args]]
type = allowdontoption
default = "AllowDontDont"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[GetSoundDurationBJ]
title = "Sound effect length"
description = "${Sound effect} length"
comment = "Unit is second."
category = TC_SOUND
returns = real
[[.args]]
type = sound
default = "GetLastPlayedSound"

[GetSoundFileDurationBJ]
title = "Music length"
description = "${Music} length"
comment = "Unit is second."
category = TC_SOUND
returns = real
[[.args]]
type = musicfile
default = "GetLastPlayedMusic"

[GetLastCreatedUnit]
title = "Last unit created"
description = "Last unit created"
comment = "The last unit created using the'Unit-Create' action."
category = TC_LAST
returns = unit

[GetLastRestoredUnitBJ]
title = "Last unit read"
description = "Last unit read"
comment = "The last unit created using the'Game Cache-Read Unit' action."
category = TC_LAST
returns = unit

[GetLastReplacedUnitBJ]
title = "Last unit replaced"
description = "Last unit replaced"
comment = "The last unit replaced with'Unit-Replace'."
category = TC_LAST
returns = unit

[GetLastHauntedGoldMine]
title = "The last undead gold mine created"
description = "The last undead gold mine created"
comment = "The last undead gold mine created using'Neutral Building-Create Undead Gold Mine'."
category = TC_LAST
returns = unit

[YDWEGetLastUnitPool]
title = "Last unit pool created [YDWE]"
description = "Last unit pool created"
comment = "The unit pool must be generated by the action <Create Unit Pool> provided by YDWE, otherwise it cannot be obtained."
category = TC_LAST
use_in_event = 0
returns = unitpool

[GetLastCreatedDestructable]
title = "The last destructible created"
description = "The last destructible created"
comment = "The last destructible created using the'Destructible-Create' action."
category = TC_LAST
returns = destructable

[GetLastCreatedItem]
title = "The last item created"
description = "The last item created"
comment = "The last item created using the action of'Item-Create' or'Hero-Create Item for Hero'."
category = TC_LAST
returns = item

[GetLastRemovedItem]
title = "The last discarded item"
description = "Last discarded item"
comment = "The last item to be discarded using the'Hero-Discard Item' action."
category = TC_LAST
returns = item

[GetLastMovedItemInItemSlot]
title = "The last item moved in the inventory [YDWE]"
description = "The last item moved in the inventory"
comment = "The last unit moved in the inventory"
category = TC_LAST
returns = item

[GetLastCombinedItem]
title = "The last synthesized item [YDWE]"
description = "The last item synthesized"
comment = "The last item synthesized by the item synthesis system"
category = TC_LAST
returns = item

[GetLastCreatedGroup]
title = "The last created unit group"
description = "The last created unit group"
comment = "The last batch of units created by the'Unit-Create' action."
category = TC_LAST
returns = group

[GetLastCreatedFogModifier]
title = "The last visibility modifier created"
description = "The last visibility modifier created"
comment = "The last visibility modifier created by the'Visibility-Create Visibility Modifier' action."
category = TC_LAST
returns = fogmodifier

[GetLastCreatedEffectBJ]
title = "The last special effect created"
description = "The last special effect created"
comment = "The last effect created using the'Special Effects-Create Special Effects' action."
category = TC_LAST
returns = effect

[GetLastCreatedLightningBJ]
title = "The last lightning effect created"
description = "The last lightning effect created"
comment = "The last lightning effect created using the'Lightning Effect-Create' action."
category = TC_LAST
use_in_event = 0
returns = lightning

[GetLastCreatedImage]
title = "The last image created"
description = "The last image created"
comment = "The last image created using the'Image-Create' action."
category = TC_LAST
use_in_event = 0
returns = image

[GetLastCreatedUbersplat]
title = "The last created ground texture change"
description = "The last ground texture change created"
comment = "The last texture change created using the'Ground Texture-Create' action."
category = TC_LAST
use_in_event = 0
returns = ubersplat

[GetLastCreatedWeatherEffect]
title = "Last created weather effect"
description = "The last weather effect created"
comment = "The last weather effect created using the'Environment-Create Weather Effect' action."
category = TC_LAST
returns = weathereffect

[GetLastCreatedTerrainDeformation]
title = "The last terrain change created"
description = "The last terrain change created"
comment = "The last terrain change created by the'Environment-Create Terrain Change' action."
category = TC_LAST
use_in_event = 0
returns = terraindeformation

[GetLastPlayedSound]
title = "Last sound effect played"
description = "The last sound effect played"
comment = "The last sound effect played by the action of'Sound-Play Sound Effect' or'Movie-Play Unit Message'."
category = TC_LAST
returns = sound

[GetLastPlayedMusic]
title = "Last music played"
description = "Last music played"
comment = "The last music played by the'Sound-Play Music' action."
category = TC_LAST
returns = musicfile

[GetLastCreatedQuestBJ]
title = "The last task created"
description = "The last task created"
comment = "The last task created by the'Task-Create Task' action."
category = TC_LAST
returns = quest

[GetLastCreatedQuestItemBJ]
title = "The last task item created"
description = "The last task item created"
comment = "The last task item created by the'Task-Create Task Item' action."
category = TC_LAST
returns = questitem

[GetLastCreatedDefeatConditionBJ]
title = "The last failed condition created"
description = "The last failure condition created"
comment = "The last failure condition created by the'Task-Create Failure Condition' action."
category = TC_LAST
returns = defeatcondition

[GetLastCreatedButtonBJ]
title = "The last dialog button created"
description = "The last dialog button created"
comment = "The last dialog button created by the'Dialog-Create Dialog Button' action."
category = TC_LAST
returns = button

[GetLastCreatedLeaderboard]
title = "Last leaderboard created"
description = "The last leaderboard created"
comment = "The last leaderboard created by the'Leaderboard-Create Leaderboard' action."
category = TC_LAST
returns = leaderboard

[GetLastCreatedMultiboard]
title = "The last multi-panel created"
description = "The last multi-panel created"
comment = "The last multi-panel created by the'Multi-Panel-Create Multi-Panel' action."
category = TC_LAST
use_in_event = 0
returns = multiboard

[GetLastCreatedTimerBJ]
title = "Last enabled timer"
description = "Last enabled timer"
comment = "The last timer enabled by the'Timer-Enable Timer' action."
category = TC_LAST
returns = timer

[GetLastCreatedTimerDialogBJ]
title = "The last timer window created"
description = "The last timer window created"
comment = "The last timer window created by the'timer-create timer window' action."
category = TC_LAST
returns = timerdialog

[GetLastCreatedGameCacheBJ]
title = "The last game cache created"
description = "The last game cache created"
comment = "The last cache created by the'Game Cache-Create Cache' action."
category = TC_LAST
returns = gamecache

[GetLastCreatedHashtableBJ]
title = "The last hash table created"
description = "The last hash table created"
comment = "Can get the hash table created last time through'Hash Table-New Hash Table'"
category = TC_LAST
returns = hashtable

[LoadHashtableHandle]
title = "<1.24> Extract the hash table from the hash table [C]"
description = "Extract the hash table from the main index ${Value} of ${Hashtable} and the sub index ${Value}"
comment = "If it does not exist, return empty"
category = TC_LAST
returns = hashtable
[[.args]]
type = hashtable
default = "GetLastCreatedHashtableBJ"
[[.args]]
type = integer
[[.args]]
type = integer

[GetLastCreatedTextTag]
title = "The last floating text created"
description = "The last floating text created"
comment = "The last floating text created by the'Floating Text-Create Floating Text' action."
category = TC_LAST
use_in_event = 0
returns = texttag

[YDWECinSActor]
title = "Actor Unit"
description = "The actor numbered (${Integer}) in the movie system"
comment = "The actors unit in the GetScript System movie system."
category = TC_SCRIPTSET
returns = unit
[[.args]]
type = integer
default = "1"
min = 1

[PlaceRandomUnit]
title = "Select placement unit [R]"
description = "From ${unit pool}, select a unit for ${player} and place it at the point (${X}, ${Y}) facing ${degree}"
comment = "Randomly select a unit type from the unit pool."
category = TC_UNITPOOL
returns = unit
[[.args]]
type = unitpool
[[.args]]
type = player
default = "Player00"
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"
[[.args]]
type = degree
default = "0"

[YDWEGetLastPoolAbstractedUnit]
title = "The last unit taken from the unit pool"
description = "The last unit taken from the unit pool"
comment = "The unit must be generated by the action <select placement unit> provided by YDWE, otherwise it cannot be obtained."
category = TC_UNITPOOL
returns = unit

[PlaceRandomItem]
title = "Choose to place item [R]"
description = "Choose an item from ${item pool} and place it at (${X}, ${Y}) point"
comment = ""
category = TC_ITEMPOOL
returns = item
[[.args]]
type = itempool
[[.args]]
type = real
default = "0"
[[.args]]
type = real
default = "0"

[DialogCreate]
title = "New Dialog [R]"
description = "New Dialog"
comment = "Create a new dialog."
category = TC_DIALOG
returns = dialog

[YDWEGetUnitID]
title = "Get the integer address of the unit"
description = "Get the integer address of ${Unit}"
comment = "You can convert a unit to an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = unit
default = "GetTriggerUnit"

[YDWEGetPlayerID]
title = "Get the integer address of the player"
description = "Get the integer address of ${player}"
comment = "You can convert a player into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = player
default = "GetTriggerPlayer"

[YDWEGetItemID]
title = "Get the integer address of the item"
description = "Get the integer address of ${Items}"
comment = "You can convert an item into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = item
default = "GetManipulatedItem"

[YDWEGetTimerID]
title = "Get the integer address of the timer"
description = "Get the integer address of ${timer}"
comment = "You can convert a timer into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = timer
default = "GetLastCreatedTimerBJ"

[YDWEGetTriggerID]
title = "Get the integer address of the trigger"
description = "Get the integer address of ${trigger}"
comment = "You can convert a trigger into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = trigger
default = "GetTriggeringTrigger"

[YDWEGetGroupID]
title = "Get the integer address of the unit group"
description = "Get the integer address of ${unit group}"
comment = "You can convert a unit group into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = group
default = "GetLastCreatedGroup"

[YDWEGetLocationID]
title = "Get the integer address of the point"
description = "Get the integer address of ${dot}"
comment = "You can convert a point into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = location

[YDWEGetUnitTypeID]
title = "Get the integer address of the unit type"
description = "Get the integer address of ${unit type}"
comment = "You can convert a unit type to an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = unitcode
default = "hfoo"

[YDWEGetAbilityTypeID]
title = "Get the integer address of the skill type"
description = "Get the integer address of ${skill type}"
comment = "You can convert a skill type to an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = abilcode
default = "Aloc"

[YDWEGetItemTypeID]
title = "Get the integer address of the item type"
description = "Get the integer address of ${item type}"
comment = "You can convert an item type into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = itemcode
default = "spsh"

[YDWEGetMultiboardID]
title = "Get the integer address of multiple panels"
description = "Get the integer address of ${multi-panel}"
comment = "You can convert a multi-panel into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = multiboard
default = "GetLastCreatedMultiboard"

[YDWEGetMultiboardItemID]
title = "Get the integer address of the multi-panel project"
description = "Get the integer address of ${multi-panel project}"
comment = "You can convert a multi-panel item into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = multiboarditem

[YDWEGetTextTagID]
title = "Get the integer address of floating text"
description = "Get the integer address of ${floating text}"
comment = "You can convert a floating text into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = texttag
default = "GetLastCreatedTextTag"

[YDWEGetLightningID]
title = "Get the integer address of Lightning"
description = "Get the integer address of ${lightning}"
comment = "You can convert a lightning bolt into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = lightning
default = "bj_lastCreatedLightning"

[YDWEGetRegionID]
title = "Get the integer address of the area"
description = "Get the integer address of ${area}"
comment = "You can convert an area into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = region
default = "GetTriggeringRegion"

[YDWEGetRectID]
title = "Get the integer address of the area"
description = "Get the integer address of ${area}"
comment = "You can convert a region into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = rect
default = "GetPlayableMapRect"

[YDWEGetLeaderboardID]
title = "Get the integer address of the leaderboard"
description = "Get the integer address of ${ranking list}"
comment = "You can convert a leaderboard into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = leaderboard
default = "DestroyLeaderboard"

[YDWEGetEffectID]
title = "Get the integer address of the special effect"
description = "Get the integer address of ${special effect}"
comment = "You can convert a special effect into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = effect
default = "GetLastCreatedEffectBJ"

[YDWEGetDestructableID]
title = "Get the integer address of the destructible object"
description = "Get the integer address of ${destructible}"
comment = "You can convert a destructible object into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = destructable
default = "GetLastCreatedDestructable"

[YDWEGetTriggerConditionID]
title = "Get the integer address of the trigger condition"
description = "Get the integer address of ${trigger condition}"
comment = "You can convert a trigger condition into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = triggercondition

[YDWEGetTriggerActionID]
title = "Get the integer address of the trigger action"
description = "Get the integer address of ${trigger action}"
comment = "You can convert a trigger action into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = triggeraction

[YDWEGetTriggerEventID]
title = "Get the integer address of event"
description = "Get the integer address of ${event}"
comment = "You can convert an event into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = event

[YDWEGetForceID]
title = "Get the integer address of the faction"
description = "Get the integer address of ${force}"
comment = "You can convert a power into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = force

[YDWEGetBoolexprID]
title = "Get integer address of Boolean expression"
description = "Get the integer address of ${Boolean expression}"
comment = "You can convert a boolean expression into an integer for easy storage in the cache or Hash table."
category = TC_YDID
returns = integer
[[.args]]
type = boolexpr

[GetStoredBooleanBJ]
title = "Read Boolean value"
description = "Read boolean value from game cache, name: ${text} Category: ${Category} Cache: ${Game Cache}"
comment = "The relationship between the original UI and the English word order, in order to make the UI read more smoothly, a layer of encapsulation has been added, but this is superfluous for Chinese."
category = TC_YDHIDE
returns = boolean
[[.args]]
type = string
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"

[GetStoredIntegerBJ]
title = "Cache read integer"
description = "Read the integer from the game cache, name: ${text} Category: ${Category} Cache: ${Game Cache}"
comment = "The relationship between the original UI and the English word order, in order to make the UI read more smoothly, a layer of encapsulation has been added, but this is superfluous for Chinese."
category = TC_YDHIDE
returns = integer
[[.args]]
type = string
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"

[GetStoredRealBJ]
title = "Cache read real number"
description = "Read real numbers from game cache, name: ${text} Category: ${Category} Cache: ${Game Cache}"
comment = "The relationship between the original UI and the English word order, in order to make the UI read more smoothly, a layer of encapsulation has been added, but this is superfluous for Chinese."
category = TC_YDHIDE
returns = real
[[.args]]
type = string
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"

[GetStoredStringBJ]
title = "Read string"
description = "Read the string from game cache, name: ${text} Category: ${Category} Cache: ${Game Cache}"
comment = "The relationship between the original UI and the English word order, in order to make the UI read more smoothly, a layer of encapsulation has been added, but this is superfluous for Chinese."
category = TC_YDHIDE
use_in_event = 0
returns = string
[[.args]]
type = string
[[.args]]
type = string
default = "\"Category\""
[[.args]]
type = gamecache
default = "GetLastCreatedGameCacheBJ"

[YDWEConvert]
title = "command ID"
description = "${ID}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = integer

[YDWEAbilityId2OrderId]
title = "Command ID of the skill"
description = "${Type} of ${Skills}"
comment = "Skill ID must use a constant"
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = abilcode
default = 'AHbz'
[[.args]]
type = OrderType
default = OrderTypeOrder

[YDWEUOrderId2OrderId]
title = "Unit target command"
description = "${command}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = ordercodeutarg

[YDWEPOrderId2OrderId]
title = "point target command"
description = "${command}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = ordercodeptarg

[YDWEDOrderId2OrderId]
title = "Destructible target command"
description = "${command}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = ordercodedtarg

[YDWEIOrderId2OrderId]
title = "item target command"
description = "${command}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = ordercodeitarg

[YDWENOrderId2OrderId]
title = "no target command"
description = "${command}"
comment = ""
category = TC_CONVERSION
returns = ordercode
[[.args]]
type = ordercodenotarg
