Advertisement
DynamixDJ

Carry Armor

Apr 28th, 2019
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.95 KB | None | 0 0
  1. 258 - [102] Carry Armor
  2.  
  3.  
  4.  
  5. LocalVar:0000 = LocalVar:Allies
  6. LocalVar:0020 = LocalVar:RightArm
  7. LocalVar:0040 = LocalVar:LeftArm
  8. LocalVar:0060 = LocalVar:CarryArmor
  9. LocalVar:0080 = LocalVar:1stChr
  10. LocalVar:00A0 = LocalVar:2ndChr
  11. LocalVar:00C0 = LocalVar:3rdChr
  12. LocalVar:00E0 = LocalVar:Count
  13. LocalVar:0100 = LocalVar:SpclChance
  14.  
  15. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  16. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  17. BattleAddr(&2060) = BattleAddr(&Self)
  18. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20. BattleAddr(&2180) = BattleAddr(&ChrFlagBit)
  21. BattleAddr(&2190) = BattleAddr(&ActorsImprisoned)
  22.  
  23. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  24. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  25. BattleAddr(&4020) = BattleAddr(&SelfActive)
  26. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  27. BattleAddr(&4023) = BattleAddr(&Targetable)
  28. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  30. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  31. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  32. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  33. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  34. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  35. BattleAddr(&4180) = BattleAddr(&MaxHP)
  36. BattleAddr(&41A0) = BattleAddr(&Angry)
  37. BattleAddr(&4300) = BattleAddr(&ChrImprisoned)
  38.  
  39.  
  40.  
  41. PRE-BATTLE:
  42.  
  43. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  44. 0x00ALocalVar:Allies <-  (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  45. 0x01ELocalVar:Allies <- LocalVar:Allies AND  NOT BattleAddr(&Self)
  46. 0x02ALocalVar:RightArm <-  (LocalVar:Allies.BattleAddr(&IndexOfActor) == 259)
  47. 0x039LocalVar:LeftArm <-  (LocalVar:Allies.BattleAddr(&IndexOfActor) == 260)
  48. 0x048LocalVar:CarryArmor <- BattleAddr(&Self)
  49. 0x04FLocalVar:1stChr <- FlagBit(0)
  50. 0x056LocalVar:2ndChr <- FlagBit(1)
  51. 0x05DLocalVar:3rdChr <- FlagBit(2)
  52. 0x064LocalVar:SpclChance <- 4
  53. 0x06A   If (Not  (Random MOD 3) )
  54. 0x06A   {
  55. 0x072   BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  56. 0x079   Perform("Lapis Laser"[02F2], EnemyAttack)
  57. 0x07FSCRIPT END
  58.  
  59.  
  60. MAIN:
  61.  
  62. 0x000   If (LocalVar:Count == 0)
  63. 0x000   {
  64. 0x008       If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)  And Not  (Random MOD LocalVar:SpclChance) ) )
  65. 0x008       {
  66. 0x01C       BattleAddr(&TarSelected) <-  (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  67. 0x02A           If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  68. 0x02A           {
  69. 0x037           Perform("Lapis Laser"[02F2], EnemyAttack)
  70. 0x03D           }
  71. 0x03D           Else
  72. 0x03D           {
  73. 0x040               If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  74. 0x040               {
  75. 0x04D               Perform("Lapis Laser"[02F3], EnemyAttack)
  76. 0x053               }
  77. 0x053               Else
  78. 0x053               {
  79. 0x056                   If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  80. 0x056                   {
  81. 0x063                   Perform("Lapis Laser"[02F4], EnemyAttack)
  82. 0x069                   }
  83. 0x069                   Else
  84. 0x069                   {
  85. 0x06C                       If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  86. 0x06C                       {
  87. 0x079                       Perform("Lapis Laser"[02F5], EnemyAttack)
  88. 0x07F   LocalVar:Count <- 1
  89. 0x085   }
  90. 0x085   Else
  91. 0x085   {
  92. 0x088       }
  93. 0x088       Else
  94. 0x088       {
  95. 0x08B   LocalVar:Count <- 0
  96. 0x091   }
  97. 0x091   Else
  98. 0x091   {
  99. 0x094POP(LocalVar:Count)
  100. 0x095SCRIPT END
  101.  
  102.  
  103. GENERAL COUNTER:
  104.  
  105. 0x000   If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  106. 0x000   {
  107. 0x00D   BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  108. 0x017   }
  109. 0x017   Else
  110. 0x017   {
  111. 0x01A       If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  112. 0x01A       {
  113. 0x027       BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  114. 0x031       }
  115. 0x031       Else
  116. 0x031       {
  117. 0x034           If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  118. 0x034           {
  119. 0x041           BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 14
  120. 0x04B           }
  121. 0x04B           Else
  122. 0x04B           {
  123. 0x04E               If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  124. 0x04E               {
  125. 0x05B               BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  126. 0x065   If ( (LocalVar:RightArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  127. 0x065   {
  128. 0x073   BattleAddr(&TarSelected) <- LocalVar:RightArm.BattleAddr(&ChrImprisoned)
  129. 0x07E   Perform("Damage Attack"[02F8], EnemyAttack)
  130. 0x084   If ( (LocalVar:LeftArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  131. 0x084   {
  132. 0x092   BattleAddr(&TarSelected) <- LocalVar:LeftArm.BattleAddr(&ChrImprisoned)
  133. 0x09D   Perform("Damage Attack"[02F8], EnemyAttack)
  134. 0x0A3   If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  135. 0x0A3   {
  136. 0x0BB   LocalVar:SpclChance <- 1
  137. 0x0C1   }
  138. 0x0C1   Else
  139. 0x0C1   {
  140. 0x0C4       If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  141. 0x0C4       {
  142. 0x0DC       LocalVar:SpclChance <- 2
  143. 0x0E2       }
  144. 0x0E2       Else
  145. 0x0E2       {
  146. 0x0E5           If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  147. 0x0E5           {
  148. 0x0FD           LocalVar:SpclChance <- 3
  149. 0x103           }
  150. 0x103           Else
  151. 0x103           {
  152. 0x106           LocalVar:SpclChance <- 4
  153. 0x10CSCRIPT END
  154.  
  155.  
  156. DEATH COUNTER:
  157.  
  158. 0x000BattleAddr(&Self) <- LocalVar:RightArm
  159. 0x007   If ( (BattleAddr(&Self).BattleAddr(&Angry) == 1) )
  160. 0x007   {
  161. 0x014   BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  162. 0x01F   BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  163. 0x029   BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  164. 0x033   Perform("Free Right Character"[02F6], EnemyAttack)
  165. 0x039BattleAddr(&Self) <- LocalVar:LeftArm
  166. 0x040   If ( (BattleAddr(&Self).BattleAddr(&Angry) == 1) )
  167. 0x040   {
  168. 0x04D   BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  169. 0x058   BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  170. 0x062   BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  171. 0x06C   Perform("Free Left Character"[02F7], EnemyAttack)
  172. 0x072BattleAddr(&Self) <- LocalVar:CarryArmor
  173. 0x079BattleAddr(&TarSelected) <- BattleAddr(&Self)
  174. 0x080Perform("Vanish"[014E], EnemyAttack)
  175. 0x086LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  176. 0x090LocalVar:Allies.BattleAddr(&Targetable) <- 0
  177. 0x09ALocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  178. 0x0A4LocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  179. 0x0AESCRIPT END
  180.  
  181.  
  182. FORMATION DEATH COUNTER:
  183.  
  184. 0x000BattleAddr(&ChrFlagBit) <- 0
  185. 0x006   If ( (BattleAddr(&ChrFlagBit) < 3) )
  186. 0x006   {
  187. 0x00F   BattleAddr(&TarSelected) <- FlagBit(BattleAddr(&ChrFlagBit))
  188. 0x017       If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) )
  189. 0x017       {
  190. 0x024           If ( (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) )
  191. 0x024           {
  192. 0x031           BattleAddr(&Self) <-  (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 259)
  193. 0x040               If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) == BattleAddr(&TarSelected)) )
  194. 0x040               {
  195. 0x04E               BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  196. 0x058               BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  197. 0x062               BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  198. 0x06D               BattleAddr(&Self).BattleAddr(&Angry) <- 0
  199. 0x077               Perform("Free Right Character"[02F6], EnemyAttack)
  200. 0x07D           BattleAddr(&Self) <-  (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 260)
  201. 0x08C               If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) == BattleAddr(&TarSelected)) )
  202. 0x08C               {
  203. 0x09A               BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  204. 0x0A4               BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  205. 0x0AE               BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  206. 0x0B9               BattleAddr(&Self).BattleAddr(&Angry) <- 0
  207. 0x0C3               Perform("Free Left Character"[02F7], EnemyAttack)
  208. 0x0C9   BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  209. 0x0D3       LOOP 0x006
  210. 0x0D6   BattleAddr(&ActorsImprisoned) <- 0
  211. 0x0DC   BattleAddr(&Self) <-  (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 259)
  212. 0x0EB       If (BattleAddr(&Self).BattleAddr(&ChrImprisoned))
  213. 0x0EB       {
  214. 0x0F5       BattleAddr(&ActorsImprisoned) <- BattleAddr(&ActorsImprisoned) OR 1
  215. 0x0FF   BattleAddr(&Self) <-  (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 260)
  216. 0x10E       If (BattleAddr(&Self).BattleAddr(&ChrImprisoned))
  217. 0x10E       {
  218. 0x118       BattleAddr(&ActorsImprisoned) <- BattleAddr(&ActorsImprisoned) OR 2
  219. 0x122   BattleAddr(&ChrFlagBit) <- 4
  220. 0x128       If ( (BattleAddr(&ChrFlagBit) < 7) )
  221. 0x128       {
  222. 0x131       BattleAddr(&Self) <- FlagBit(BattleAddr(&ChrFlagBit))
  223. 0x139           If (BattleAddr(&ActorsImprisoned) == 0)
  224. 0x139           {
  225. 0x141           BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  226. 0x14B           }
  227. 0x14B           Else
  228. 0x14B           {
  229. 0x14E               }
  230. 0x14E               Else
  231. 0x14E               {
  232. 0x151                   If (BattleAddr(&ActorsImprisoned) == 1)
  233. 0x151                   {
  234. 0x156               BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 8
  235. 0x160               }
  236. 0x160               Else
  237. 0x160               {
  238. 0x163                   }
  239. 0x163                   Else
  240. 0x163                   {
  241. 0x166                       If (BattleAddr(&ActorsImprisoned) == 2)
  242. 0x166                       {
  243. 0x16B                   BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 13
  244. 0x175                   }
  245. 0x175                   Else
  246. 0x175                   {
  247. 0x178                       }
  248. 0x178                       Else
  249. 0x178                       {
  250. 0x17B                           If (BattleAddr(&ActorsImprisoned) == 3)
  251. 0x17B                           {
  252. 0x180                       BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 18
  253. 0x18A       POP(BattleAddr(&ActorsImprisoned))
  254. 0x18B       BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  255. 0x195           LOOP 0x128
  256. 0x198       SCRIPT END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement