Advertisement
DynamixDJ

AI Script

Feb 17th, 2019
424
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.11 KB | None | 0 0
  1. AI SCRIPT
  2.  
  3.  
  4. MP:
  5.  
  6.  
  7.  
  8. LocalVar:0000 - Player 3's Row
  9. LocalVar:0020 - MP's Row
  10. LocalVar:0040 - Player 1's row
  11. LocalVar:0080 - TempVar:ChosenAtt
  12.  
  13. BattleAddr(&2080).BattleAddr(&4026) == 0) &2080 = Player 1 &4026 = Row position
  14. BattleAddr(&20A0).BattleAddr(&4026) == 0) &20A0 = Player 2 &4026 = Row position
  15. BattleAddr(&2060).BattleAddr(&4026) == 0) &2060 = Player 3 &4026 = Row position
  16.  
  17.  
  18.  
  19. Up to 0x084 - setting the temp vars to work out what row the player's are in.
  20.  
  21.  
  22. 0x000LocalVar:0020 <- 0
  23. 0x006LocalVar:0040 <- 0
  24. 0x00CLocalVar:0000 <- 0
  25. 0x012 If ( (BattleAddr(&2080).BattleAddr(&4026) == 0) )
  26. 0x012 {
  27. 0x01F LocalVar:0040 <- LocalVar:0040 AND 1
  28. 0x029 If ( (BattleAddr(&2080).BattleAddr(&4026) == 1) )
  29. 0x029 {
  30. 0x036 LocalVar:0040 <- LocalVar:0040 AND 2
  31. 0x040 If ( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  32. 0x040 {
  33. 0x04D LocalVar:0020 <- LocalVar:0020 AND 1
  34. 0x057 If ( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  35. 0x057 {
  36. 0x064 LocalVar:0020 <- LocalVar:0020 AND 2
  37. 0x06E If ( (BattleAddr(&2060).BattleAddr(&4026) == 0) )
  38. 0x06E {
  39. 0x07B LocalVar:0000 <- 0
  40. 0x081 }
  41. 0x081 Else
  42. 0x081 {
  43. 0x084 LocalVar:0000 <- 1
  44. 0x08A If (Not (LocalVar:0000) )
  45. 0x08A {
  46. 0x091 If (LocalVar:0020 == 1)
  47. 0x091 {
  48. 0x099 LocalVar:0060 <- 4
  49. 0x09F If (Not (Random MOD LocalVar:0060) )
  50. 0x09F {
  51. 0x0A8 If ( (LocalVar:0020 AND 2 == 2) )
  52. 0x0A8 {
  53. 0x0B4 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  54. 0x0C3 }
  55. 0x0C3 Else
  56. 0x0C3 {
  57. 0x0C6 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  58. 0x0CE LocalVar:0080 <- 272 (Machine Gun)
  59. 0x0D5 }
  60. 0x0D5 Else
  61. 0x0D5 {
  62. 0x0D8 If ( (LocalVar:0020 AND 1 == 1) )
  63. 0x0D8 {
  64. 0x0E4 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  65. 0x0F3 }
  66. 0x0F3 Else
  67. 0x0F3 {
  68. 0x0F6 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  69. 0x0FE LocalVar:0080 <- 273 (Tonfa)
  70. 0x105 }
  71. 0x105 Else
  72. 0x105 {
  73. 0x108 }
  74. 0x108 Else
  75. 0x108 {
  76. 0x10B If (LocalVar:0020 == 2)
  77. 0x10B {
  78. 0x110 LocalVar:0060 <- 8
  79. 0x116 If (Not (Random MOD LocalVar:0060) )
  80. 0x116 {
  81. 0x11F If ( (LocalVar:0020 AND 1 == 1) )
  82. 0x11F {
  83. 0x12B BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  84. 0x13A }
  85. 0x13A Else
  86. 0x13A {
  87. 0x13D BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  88. 0x145 LocalVar:0080 <- 273 (Tonfa)
  89. 0x14C }
  90. 0x14C Else
  91. 0x14C {
  92. 0x14F If ( (LocalVar:0020 AND 2 == 2) )
  93. 0x14F {
  94. 0x15B BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  95. 0x16A }
  96. 0x16A Else
  97. 0x16A {
  98. 0x16D BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  99. 0x175 LocalVar:0080 <- 272 (Machine Gun)
  100. 0x17C }
  101. 0x17C Else
  102. 0x17C {
  103. 0x17F }
  104. 0x17F Else
  105. 0x17F {
  106. 0x182 LocalVar:0060 <- 2
  107. 0x188 If (Not (Random MOD LocalVar:0060) )
  108. 0x188 {
  109. 0x191 If ( (LocalVar:0020 AND 2 == 2) )
  110. 0x191 {
  111. 0x19D BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  112. 0x1AC }
  113. 0x1AC Else
  114. 0x1AC {
  115. 0x1AF BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  116. 0x1B7 LocalVar:0080 <- 272 (Machine Gun)
  117. 0x1BE }
  118. 0x1BE Else
  119. 0x1BE {
  120. 0x1C1 If ( (LocalVar:0020 AND 1 == 1) )
  121. 0x1C1 {
  122. 0x1CD BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  123. 0x1DC }
  124. 0x1DC Else
  125. 0x1DC {
  126. 0x1DF BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  127. 0x1E7 LocalVar:0080 <- 273 (Tonfa)
  128. 0x1EE }
  129. 0x1EE Else
  130. 0x1EE {
  131. 0x1F1 POP(LocalVar:0020)
  132. 0x1F2 }
  133. 0x1F2 Else
  134. 0x1F2 {
  135. 0x1F5 If (LocalVar:0020 == 1)
  136. 0x1F5 {
  137. 0x1FD LocalVar:0060 <- 4
  138. 0x203 If (Not (Random MOD LocalVar:0060) )
  139. 0x203 {
  140. 0x20C If ( (LocalVar:0020 AND 1 == 1) )
  141. 0x20C {
  142. 0x218 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  143. 0x227 }
  144. 0x227 Else
  145. 0x227 {
  146. 0x22A BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  147. 0x232 LocalVar:0080 <- 273 (Tonfa)
  148. 0x239 }
  149. 0x239 Else
  150. 0x239 {
  151. 0x23C If ( (LocalVar:0020 AND 2 == 2) )
  152. 0x23C {
  153. 0x248 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  154. 0x257 }
  155. 0x257 Else
  156. 0x257 {
  157. 0x25A BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  158. 0x262 LocalVar:0080 <- 272 (Machine Gun)
  159. 0x269 }
  160. 0x269 Else
  161. 0x269 {
  162. 0x26C }
  163. 0x26C Else
  164. 0x26C {
  165. 0x26F If (LocalVar:0020 == 2)
  166. 0x26F {
  167. 0x274 LocalVar:0060 <- 8
  168. 0x27A If (Not (Random MOD LocalVar:0060) )
  169. 0x27A {
  170. 0x283 If ( (LocalVar:0020 AND 1 == 1) )
  171. 0x283 {
  172. 0x28F BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  173. 0x29E }
  174. 0x29E Else
  175. 0x29E {
  176. 0x2A1 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  177. 0x2A9 LocalVar:0080 <- 273 (Tonfa)
  178. 0x2B0 }
  179. 0x2B0 Else
  180. 0x2B0 {
  181. 0x2B3 If ( (LocalVar:0020 AND 2 == 2) )
  182. 0x2B3 {
  183. 0x2BF BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  184. 0x2CE }
  185. 0x2CE Else
  186. 0x2CE {
  187. 0x2D1 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  188. 0x2D9 LocalVar:0080 <- 272 (Machine Gun)
  189. 0x2E0 }
  190. 0x2E0 Else
  191. 0x2E0 {
  192. 0x2E3 }
  193. 0x2E3 Else
  194. 0x2E3 {
  195. 0x2E6 LocalVar:0060 <- 6
  196. 0x2EC If (Not (Random MOD LocalVar:0060) )
  197. 0x2EC {
  198. 0x2F5 If ( (LocalVar:0020 AND 1 == 1) )
  199. 0x2F5 {
  200. 0x301 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  201. 0x310 }
  202. 0x310 Else
  203. 0x310 {
  204. 0x313 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  205. 0x31B LocalVar:0080 <- 273 (Tonfa)
  206. 0x322 }
  207. 0x322 Else
  208. 0x322 {
  209. 0x325 If ( (LocalVar:0020 AND 2 == 2) )
  210. 0x325 {
  211. 0x331 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  212. 0x340 }
  213. 0x340 Else
  214. 0x340 {
  215. 0x343 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0))
  216. 0x34B LocalVar:0080 <- 272 (Machine Gun)
  217. 0x352 }
  218. 0x352 Else
  219. 0x352 {
  220. 0x355 POP(LocalVar:0020)
  221. 0x356Perform(LocalVar:0080, EnemyAttack)
  222. 0x35CSCRIPT END
  223.  
  224.  
  225. AI: Main
  226. {
  227. If (MP is in Front Row) Then
  228. {
  229. If (1/2 Chance) Then
  230. {
  231. Choose Random Opponent
  232. TempVar:ChosenAtt = Machine Gun
  233. } Else {
  234. Choose Random Opponent
  235. TempVar:ChosenAtt = <Tonfa>
  236. }
  237. } Else {
  238. If (1/6 Chance) Then
  239. {
  240. Choose Random Opponent
  241. TempVar:ChosenAtt = <Tonfa>
  242. } Else {
  243. Choose Random Opponent
  244. TempVar:ChosenAtt = Machine Gun
  245. }
  246. }
  247. Use TempVar:ChosenAtt on Target
  248. }
  249.  
  250.  
  251.  
  252.  
  253.  
  254. Guard Hound:
  255.  
  256.  
  257.  
  258. 0x000LocalVar:0020 <- 0
  259. 0x006LocalVar:0040 <- 0
  260. 0x00CLocalVar:0000 <- 0
  261. 0x012 If ( (BattleAddr(&2080).BattleAddr(&4026) == 0) )
  262. 0x012 {
  263. 0x01F LocalVar:0040 <- LocalVar:0040 AND 1
  264. 0x029 If ( (BattleAddr(&2080).BattleAddr(&4026) == 1) )
  265. 0x029 {
  266. 0x036 LocalVar:0040 <- LocalVar:0040 AND 2
  267. 0x040 If ( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  268. 0x040 {
  269. 0x04D LocalVar:0020 <- LocalVar:0020 AND 1
  270. 0x057 If ( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  271. 0x057 {
  272. 0x064 LocalVar:0020 <- LocalVar:0020 AND 2
  273. 0x06E If ( (BattleAddr(&2060).BattleAddr(&4026) == 0) )
  274. 0x06E {
  275. 0x07B LocalVar:0000 <- 0
  276. 0x081 }
  277. 0x081 Else
  278. 0x081 {
  279. 0x084 LocalVar:0000 <- 1
  280. 0x08A If (Not (Random MOD 3) )
  281. 0x08A {
  282. 0x092 If ( (LocalVar:0020 AND 2 == 2) )
  283. 0x092 {
  284. 0x09E BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 1) )
  285. 0x0AD }
  286. 0x0AD Else
  287. 0x0AD {
  288. 0x0B0 Bad Code0x0BB BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0).BattleAddr(&4160))
  289. 0x0BD LocalVar:0060 <- 275 (Tentacle)
  290. 0x0C4 }
  291. 0x0C4 Else
  292. 0x0C4 {
  293. 0x0C7 If ( (LocalVar:0020 AND 1 == 1) )
  294. 0x0C7 {
  295. 0x0D3 BattleAddr(&2070) <- RandomBit( (BattleAddr(&20A0).BattleAddr(&4026) == 0) )
  296. 0x0E2 }
  297. 0x0E2 Else
  298. 0x0E2 {
  299. 0x0E5 Bad Code0x0F0 BattleAddr(&2070) <- RandomBit(BattleAddr(&20A0).BattleAddr(&4160))
  300. 0x0F2 LocalVar:0060 <- 274 (Bite)
  301. 0x0F9Perform(LocalVar:0060, EnemyAttack)
  302. 0x0FFSCRIPT END
  303.  
  304.  
  305.  
  306. AI: Main
  307. {
  308. If (1/3 Chance) Then {
  309. Choose Random Opponent with Lowest HP
  310. TempVar:ChosenAtt = Tentacle
  311. } Else {
  312. Choose Random Opponent with Lowest HP
  313. TempVar:ChosenAtt = <Bite>
  314. }
  315. Use TempVar:ChosenAtt on Target
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement