오버워치/게임 탐색기/워크샵/Condition문

 



1. 비교 연산자
2. value 값
2.1. absolute value
2.2. add
2.3. all dead players
2.4. all heroes
2.5. all living players
2.6. all players
2.7. all players not on objective
2.8. all players on objective
2.9. allowed heroes
2.10. altitude of
2.11. and
2.12. angle difference
2.13. append to array
2.14. array contains
2.15. array slice
2.16. attacker
2.17. backward
2.18. closest player to
2.19. compare
2.20. control mode scoring percentage
2.21. control mode scoring team
2.22. cosine from degrees
2.23. cosine from radians
2.24. count of
2.25. cross product
2.26. current array element
2.27. direction from angles
2.28. direction towards
2.29. distance between
2.30. divide
2.31. dot product
2.32. down
2.33. empty array
2.34. entity exist
2.35. event damage
2.36. event player
2.37. event was critical hit
2.38. eye position
2.39. facing direction of
2.40. false
2.41. farthest player from
2.42. filtered array
2.43. first of
2.44. flag position
2.45. forward
2.46. global variable
2.47. has spawned
2.48. has status
2.49. health
2.50. health percent
2.51. hero
2.52. hero icon string
2.53. hero of
2.54. horizontal angle from direction
2.55. horizontal angle towards
2.56. horizontal facing angle of
2.57. horizontal speed of
2.58. index of array value
2.59. is alive
2.60. is assembling heroes
2.61. is between rounds
2.62. is button held
2.63. is communicating
2.64. is communicating any
2.65. is communicating any emote
2.66. is communicating any voice line
2.67. is control mode point locked
2.68. is crouching
2.69. is ctf mode in sudden death
2.70. is dead
2.71. is firing primary
2.72. is firing secondary
2.73. is flag at base
2.74. is flag being carried
2.75. is game in progress
2.76. is hero being played
2.77. is in air
2.78. is in line of sight
2.79. is in setup
2.80. is in spawn room
2.81. is in view angle
2.82. is match complete
2.83. is moving
2.84. is objective complete
2.85. is on ground
2.86. is on objective
2.87. is on wall
2.88. is portrait on fire
2.89. is standing
2.90. is team on defense
2.91. is team on offense
2.92. is ture for all
2.93. is true for any
2.94. is using ability 1
2.95. is using ability 2
2.96. is using ultimate
2.97. is waiting for players
2.98. last created entity
2.99. last damage modification ID
2.100. last damage over time ID
2.101. last heal over time ID
2.102. last of
2.103. last text ID
2.104. left
2.105. local vector of
2.106. match round
2.107. match time
2.108. max
2.109. max health
2.110. min
2.111. modulo
2.112. multiply
2.113. nearest walkable position
2.114. normalize
2.115. not
2.116. null
2.117. number
2.118. number of dead players
2.119. number of deaths
2.120. number of eliminations
2.121. number of final blows
2.122. number of heroes
2.123. number of living players
2.124. number of players
2.125. number of players on objective
2.126. objective index
2.127. objective position
2.128. opposite team of
2.129. or
2.130. payload position
2.131. payload progress percentage
2.132. player carrying flag
2.133. player closest to reticle
2.134. player variable
2.135. players in slot
2.136. players in view angle
2.137. players on hero
2.138. players within radius
2.139. point capture percentage
2.140. position of
2.141. raise to power
2.142. random integer
2.143. random real
2.144. random value in array
2.145. randomized array
2.146. ray cast hit normal
2.147. ray cast hit player
2.148. ray cast hit position
2.149. remove from array
2.150. right
2.151. round to interger
2.152. score of
2.153. sine from degrees
2.154. sine from radians
2.155. slot of
2.156. sorted array
2.157. speed of
2.158. speed of in direction
2.159. square root
2.160. string
2.161. subtract
2.162. team
2.163. team of
2.164. team score
2.165. throttle of
2.166. total time elapsed
2.167. true
2.168. ultimate charge percent
2.169. up
2.170. value in array
2.171. vector
2.172. vector towards
2.173. velocity of
2.174. vertical angle from direction
2.175. vertical angle towards
2.176. vertical facing angle of
2.177. vertical speed of
2.178. victim
2.179. world vector of
2.180. x component of
2.181. y component of
2.182. z component of

Condition은 오버워치/게임 탐색기/워크샵 실행 중 Rule에 의해 Action 목록을 실행하기 전 모두 True이어야 하는 조건이다. Condition 조건과 Action을 한 문서를 담기에는 문서가 너무 방대해져 분리하게 되었다.
Condition문은 Value값 - 연산자 - Value값 (기본값 True)으로 이루어져 있으며 한 개의 Rlue에 여러 개의 Condition문을 넣는다면 여러 개의 Condition가 전부 만족되어야 작동한다.

1. 비교 연산자


'''비교 연산자'''
A = B

A와 B가 같을 때
A != B

A와 B가 다를 때
A >= B

A가 B보다 이상
A > B

A가 B보다 초과
A =< B

A가 B보다 이하
A < B

A가 B보다 미만
프로그래밍을 조금 해보면 이해하기 쉬울 것이다.
a 와 b 사이에 비교연산자를 놓으면 비교연산자에 따라 그 값이 참이면 TRUE, 거짓이면 FALSE를 출력한다.

2. value 값


공식 번역문이 추가시 인용문으로 추가 바랍니다.

2.1. absolute value


수학에서의 절댓값. 수에 붙여진 +/- 부호를 제거한 값을 뜻한다.

2.2. add


두 수 또는 두 벡터를 더한 값입니다.

2.3. all dead players


팀 또는 경기 내에서 사망한 모든 플레이어가 있는 배열입니다.

사망한 모든 플레이어를 조사한다.

2.4. all heroes


오버워치의 모든 영웅 배열입니다.

모든 플레이어를 조사한다.

2.5. all living players


팀 또는 경기 내에서 생존한 모든 플레이어가 있는 배열입니다.

살아있는 모든 플레이어를 조사한다.

2.6. all players


팀 또는 경기 내의 모든 플레이어가 있는 배열입니다.

모든 플레이어를 조사한다

2.7. all players not on objective


화물이나 거점을 점령중이지 않은 플레이어를 조사한다.

2.8. all players on objective


화물이나 거점을 점령중인 플레이어를 조사한다.

2.9. allowed heroes


특정 플레이어가 선택할수 있는 영웅 배열입니다.


2.10. altitude of


표면으로부터 측정한 Player의 높이(미터)입니다. Player가 표면에 있으면 0입니다.

플레이어가 표면으로부터 떨어진 거리 및 여부를 조사한다.

2.11. and


두 개의 Input이 모두 True인지 여부입니다.


2.12. angle difference


두 각을 비교한 각도 차이입니다. 두 각을 서로 +/- 180 이내에서 펼쳐서 두 번째 각이 첫 번째 각보다 크다면 결과각은 양수입니다. 이외의 경우 0이나 음수가 될 수 있습니다.


2.13. append to array


배열 뒤에 특정 값 또는 배열을 덧붙인다.

2.14. array contains


배열이 특정 값을 포함하고 있는지에 대한 여부이다.

2.15. array slice


특정 범위 인덱스의 값만을 포함하고 있는 특정한 배열의 복사본입니다.


2.16. attacker


이 규칙으로 처리된 이벤트로 피해를 준 플레이어입니다. Victim 또는 Event Player와 동일할 수 있습니다.


2.17. backward


후방을 가리키는 방향 벡터(0, 0, -1)의 약칭입니다.


2.18. closest player to


한 위치에서 가장 가까운 플레이어입니다. 팀으로 제한할 수 있습니다.


2.19. compare


조건문을 생성합니다.

2.20. control mode scoring percentage



2.21. control mode scoring team



2.22. cosine from degrees


각도에 대한 코사인 값을 계산한다.

2.23. cosine from radians


각도(rad)에 대한 코사인 값을 계산한다.

2.24. count of


배열의 크기를 반환합니다.

2.25. cross product


두 벡터의 벡터곱(가위곱)을 계산한다.

2.26. current array element


filtered array, sorted array, is true for any등과 같이 배열에 대한 조건을 만족하거나 계산과정에서 비교할 원소가 들어갈 자리에 넣는다.

2.27. direction from angles


각도에 대응하는 단위벡터이다.

2.28. direction towards


특정 위치에서 다른 위치를 바라보는 방향에 대한 단위벡터이다.

2.29. distance between


두 위치 사이의 거리이다.

2.30. divide


두 수 또는 벡터를 나눈 값입니다.

2.31. dot product


두 벡터의 점곱이다.

2.32. down


아래를 가리키는 방향 벡터(0, -1, 0) 의 약칭입니다.


2.33. empty array


빈 배열을 반환합니다.

2.34. entity exist


특정 엔티티가 있는지 확인합니다.

2.35. event damage


데미지와 관련된 이벤트에서, 데미지값을 반환합니다.
특징이 있다면, 원래 주는 데미지는 300인데,
현재 체력이 200이라면, 현재 체력인 200을 반환합니다.

2.36. event player


이 이벤트가 발생되는 플레이어를 반환합니다.
글로벌 이벤트에서는 쓸수 없습니다.

2.37. event was critical hit


데미지와 관련된 이벤트에서
데미지가 치명타(헤드샷이었는지)이었는지를 확인합니다.

2.38. eye position


특정 플레이어의 눈 위치값을 반환합니다.

2.39. facing direction of


특정 플레이어의 에임 방향 벡터를 반환합니다.

2.40. false


거짓 값을 의미합니다.

2.41. farthest player from


특정 위치 벡터값에서 가장 먼 플레이어를 반환합니다.

2.42. filtered array


배열이 주어졌을때, 그 배열의 값들이 조건과 부합한 값들만 따로 분류합니다.

2.43. first of


배열의 첫번째 값을 반환합니다.

2.44. flag position



2.45. forward


앞을 가리키는 방향 벡터(0, 0, 1) 의 약칭입니다.


2.46. global variable


글로벌 변수 값 하나를 가져옵니다.

2.47. has spawned


특정 플레이어또는 entity가 게임내에 생성되었는지 여부이다. 플레이어가 캐릭터를 선택하면 게임 내 생성된다.

2.48. has status


플레이어가 특정 상태인지 여부이다.

2.49. health


특정 플레이어의 체력을 반환합니다.

2.50. health percent


특정 플레이어의 체력 퍼센트를 반환합니다. (체력/최대 체력)
최대값은 1이고, 최소값은 0입니다.

2.51. hero


영웅 값 하나를 가져옵니다.

2.52. hero icon string


영웅의 초상화를 출력한다.

2.53. hero of


특정 플레이어의 현재 영웅을 알아냅니다.

2.54. horizontal angle from direction


방향벡터의 횡축 각도(도)를 계산한다.

2.55. horizontal angle towards


특정 위치에서 다른 위치를 바라볼 때 횡축 각도를 계산한다.

2.56. horizontal facing angle of


플레이어가 바라보는 방향의 황축 각도를 계산한다.

2.57. horizontal speed of


횡축 이동속도를 반환한다.

2.58. index of array value


특정 배열에서 특정 인덱스에 있는 값을 반환합니다.

2.59. is alive


특정 플레이어가 살아있는지 여부를 반환합니다.

2.60. is assembling heroes


게임이 시작되었을때, 영웅 선택 단계인지를 확인합니다.

2.61. is between rounds


라운드 사이의 준비시간인지 여부이다.

2.62. is button held


특정 플레이어가 특정 버튼(ex. 궁극기 버튼)을 누르고 있는지를 확인합니다.

2.63. is communicating


특정 플레어어가 특정 의사소통(ex. 인사)을 하고 있는지를 확인합니다.

2.64. is communicating any


특정 플레이어가 의사소통을 하고 있는지를 확인합니다.

2.65. is communicating any emote


특정 플레이어가 감정표현을 하고 있는지를 확인합니다.

2.66. is communicating any voice line


특정 플레이어가 음성 대사를 하고 있는지를 확인합니다. (한 음성대사의 시간은 4초로 추정합니다.)

2.67. is control mode point locked



2.68. is crouching


특정 플레이어가 웅크리고 있는지 여부를 반환합니다.

2.69. is ctf mode in sudden death



2.70. is dead


특정 플레이어가 죽어있는지 여부를 반환합니다.

2.71. is firing primary


특정 플레이어가 좌클릭 공격을 하는지 여부를 반환합니다.

2.72. is firing secondary


특정 플레이어가 우클릭 공격을 하는지 여부를 반환합니다.

2.73. is flag at base



2.74. is flag being carried



2.75. is game in progress


게임이 진행중인지 여부를 반환합니다.

2.76. is hero being played


특정 영웅이 사용되고 있는지 여부를 반환합니다.

2.77. is in air


특정 플레이어가 공중에 있는지를 반환합니다.

2.78. is in line of sight


두 위치가 서로 보이는지 여부이다.

2.79. is in setup


경기 준비단계인지에 대한 여부이다.

2.80. is in spawn room


특정 플레이어가 영웅을 변경할 수 있는 대기실에 있는지를 확인한다. 다른 Condition이나 Action과 연계하면 노쿨전 등의 매치에서 기방궁[1]을 방지할 수 있다.
예를 들어, 다음은 기지에 숨어서 궁을 사용하면 사망하게 하는 트리거이다. 다만 워크샵 설정과 별개로 부활 대기 시간을 0으로 조정했을 경우, 계속 죽다보면 사망 트리거와 부활 설정이 어긋나 계속 죽은 채로 부활하지 않는 버그가 생긴다. 이럴 때는 방장의 도움을 받아 관전으로 옮겼다가 복귀하든지, 나갔다 들어오는 수밖에 없다.
  • Event(Ongoing - Each player)
    • Condition(1) - is button held + ultimate)
    • Condition(2) - is in spawn room == true
    • Action - Kill
사실 굳이 죽일 필요없이 대기실에 있을 때 그냥 궁극기 자체를 비활성화 하면 된다. 물론 이 경우 대기실에서 나왔을 때 궁을 다시 활성화하는 룰 하나를 더 만들어야 한다.
  • Event(Ongoing - Each player)
    • Condition - is in spawn room == true
    • Action - set ultimate ability enabled(false)
  • Event(Ongoing - Each player)
    • Condition - is in spawn room == false
    • Action - set ultimate ability enabled(true)

2.81. is in view angle


플레이어의 시야각 내에 존재하는지 여부이다.

2.82. is match complete



2.83. is moving


특정 플레이어가 움직이는지 여부를 반환합니다.

2.84. is objective complete



2.85. is on ground


특정 플레이어가 땅에 닿았는지 여부를 반환합니다.

2.86. is on objective



2.87. is on wall


특정 플레이어가 벽에 있는지 확인합니다.

2.88. is portrait on fire


특정 플레이어 초상화가 불타는지 여부를 반환합니다.

2.89. is standing


특정 플레이어가 서있는지 여부를 반환합니다.

2.90. is team on defense



2.91. is team on offense



2.92. is ture for all


배열이 어떤 조건을 모두 만족하는지에 대한 여부이다. condition부분에 current array element를 넣어야 한다.

2.93. is true for any


배열이 어떤 조건을 하나라도 만족하는지에 대한 여부이다. condition부분에 current array element를 넣어야 한다.

2.94. is using ability 1


특정 플레이어가 첫번째 기술을 사용하는지 여부를 반환합니다.

2.95. is using ability 2


특정 플레이어가 두번째 기술을 사용하는지 여부를 반환합니다.

2.96. is using ultimate


특정 플레이어가 궁극기를 사용하는지 여부를 반환합니다.

2.97. is waiting for players



2.98. last created entity


마지막으로 생성된 effect, icon, dummy bot의 ID이다.

2.99. last damage modification ID



2.100. last damage over time ID



2.101. last heal over time ID



2.102. last of


특정 배열의 마지막 값을 반환합니다.

2.103. last text ID


마지막으로 생성된 HUD text, world text의 ID이다.


2.104. left


왼쪽을 가리키는 방향 벡터의 약칭입니다.


2.105. local vector of


월드좌표에 해당하는 로컬벡터이다.

2.106. match round


현재 라운드이다.

2.107. match time


잔여 시간이다.

2.108. max


두 수 중 큰 값을 반환합니다.

2.109. max health


특정 플레이어의 최대 체력을 반환합니다.

2.110. min


두 수 중 작은 값을 반환합니다.

2.111. modulo


두 수 또는 벡터를 나눈 나머지를 반환합니다.

2.112. multiply


두 수 또는 벡터를 곱한 값을 반환합니다.

2.113. nearest walkable position


특정 위치 벡터값에서 걸을수 있는 가장 가까운 위치값을 반환합니다.

2.114. normalize


크기가 1인 벡터로 변환한다.

2.115. not


조건의 반대를 반환합니다.

2.116. null


없는 값을 반환합니다.

2.117. number


특정 숫자입니다.

2.118. number of dead players


죽은 플레이어 수이다.

2.119. number of deaths


플레이어가 죽은 횟수이다.

2.120. number of eliminations


플레이어가 기록한 처치 횟수이다.

2.121. number of final blows


플레이어가 기록한 결정타 횟수이다.

2.122. number of heroes


지정된 영웅을 플레이하는 플레이어의 수이다.

2.123. number of living players


살아있는 플레이어의 수이다.

2.124. number of players


플레이어의 수이다.

2.125. number of players on objective



2.126. objective index



2.127. objective position



2.128. opposite team of



2.129. or



2.130. payload position



2.131. payload progress percentage


화물이 진행된 값(%)

2.132. player carrying flag



2.133. player closest to reticle


플레이어의 조준점에서 가장 가까운 플레이어다.

2.134. player variable



2.135. players in slot



2.136. players in view angle


시야각 내의 플레이어다.

2.137. players on hero


특정 영웅으로 플레이하는 플레이어다.

2.138. players within radius


반경 내에 존재하는 플레이어다.

2.139. point capture percentage



2.140. position of


플레이어가 서있는 위치이다.

2.141. raise to power


거듭제곱을 반환한다.

2.142. random integer


난수(정수)를 반환한다.

2.143. random real


난수(유리수)를 반환한다.

2.144. random value in array


배열 내에서 무작위의 값을 반환한다.

2.145. randomized array


배열을 무작위로 재배열한 배열이다.

2.146. ray cast hit normal


ray cast hit position에서의 법선벡터(표면과 수직인 방향)이다.

2.147. ray cast hit player


ray cast로 맞힌 플레이어이다.

2.148. ray cast hit position


ray cast로 맞힌 위치이다.

2.149. remove from array


배열내에서 특정 값이 제거된 배열이다. 값을 찾아 제거하기 때문에 index를 제거하기 위해서는 modify variable을 사용해야 한다.

2.150. right



2.151. round to interger


유리수를 정수로 변환한 값이다.

2.152. score of



2.153. sine from degrees



2.154. sine from radians



2.155. slot of



2.156. sorted array


배열을 오름차순으로 정렬한다.

2.157. speed of



2.158. speed of in direction



2.159. square root


제곱근을 반환한다.

2.160. string



2.161. subtract


두 값의 차이를 반환한다.

2.162. team



2.163. team of



2.164. team score



2.165. throttle of


방향키 입력을 반환한다.

2.166. total time elapsed


경과시간을 반환한다. 버그로 인해 지속적으로 값을 확인할 수 없다.

2.167. true



2.168. ultimate charge percent



2.169. up


위쪽을 가리키는 방향 벡터(0, 1, 0)의 약칭입니다.

2.170. value in array


배열의 지정된 요소에 있는 값이다.

2.171. vector



2.172. vector towards


두 벡터의 차이이다.

2.173. velocity of



2.174. vertical angle from direction



2.175. vertical angle towards



2.176. vertical facing angle of



2.177. vertical speed of


종축 이동속도를 반환한다.

2.178. victim



2.179. world vector of


플레이어의 로컬벡터를 월드벡터 기준으로 반환한다.

2.180. x component of



2.181. y component of



2.182. z component of



[1] 대기실에 숨으면 무적상태가 되는 것을 이용해, 정크랫이나 한조 등이 숨어서 궁만 날리는 것.