DynamixDJ

FFVII Complete Enemy AI Script

May 30th, 2019
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 MB | None | 0 0
  1. FFVII COMPLETE ENEMY AI SCRIPT
  2.  
  3. DynamixDJ May 2019
  4.  
  5.  
  6.  
  7. AI SCRIPT variables
  8.  
  9.  
  10. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  11. BattleAddr(&2008) = BattleAddr(&LastAttID)
  12. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  13. BattleAddr(&2018) = BattleAddr(&MemBackAccessValue)
  14. BattleAddr(&2020) = BattleAddr(&BattleType)
  15. BattleAddr(&2038) = BattleAddr(&Vincent'sLimitLv)
  16. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  17. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  18. BattleAddr(&2060) = BattleAddr(&Self)
  19. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  21. BattleAddr(&2090) = BattleAddr(&ActiveEnemies)
  22. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  24. BattleAddr(&2110) = BattleAddr(&BattleRewardsFlag)
  25.  
  26. &1 0x01 = ?
  27. &2 0x02 = End battle; Marked as Escaped
  28. &4 0x04 = End battle; Pose for Victory (if 0x2116 is unset)
  29. &8 0x08 = End battle; No Reward
  30. &16 0x10 = End battle (unsets 0x2113 unless escaped, unsets 0x2111 in that case)
  31. &32 0x20 = (unsets 0x2112)
  32. &64 0x40 = No Victory Pose (unsets 0x2115)
  33.  
  34. BattleAddr(&2120) = BattleAddr(&ElementsOfLastAction)
  35. BattleAddr(&2140) = BattleAddr(&FormationID)
  36. BattleAddr(&2150) = BattleAddr(&LastAttIndex)
  37. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  38.  
  39. &1 0x01 = ?
  40. &2 0x02 = Don's apply Poison/Regen?
  41. &4 0x04 = Other Battles in sequence
  42. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  43. &16 0x10 = Cloud learns all limits
  44. &32 0x20 = No reward screen
  45.  
  46. BattleAddr(&2170) = BattleAddr(&SpclAttackFlag)
  47. BattleAddr(&2180) = BattleAddr(&ChrFlagBit) (Carry Armor)
  48. BattleAddr(&2180) = BattleAddr(&PartyActive) (Bizarro Sephiroth)
  49. BattleAddr(&2180) = BattleAddr(&LimitFillRate) (Sephiroth)
  50. BattleAddr(&2190) = BattleAddr(&ActorsImprisoned) ?? Carry Armor
  51.  
  52. BattleAddr(&21A0) = BattleAddr(&ManholePosition) ?? Manhole/Turks/Grosspanzer/Emerald Weapon
  53. BattleAddr(&21A0) = BattleAddr(&EndBattle) Call this "Custom Count"?
  54. BattleAddr(&21A0) = BattleAddr(&GrosspanzerPartsDead)
  55. BattleAddr(&21A0) = BattleAddr(&EyesAlive)
  56.  
  57.  
  58.  
  59. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  60. BattleAddr(&4001) = BattleAddr(&NearDeathStatus)
  61. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  62. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  63. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  64. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  65. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  66. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  67. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  68. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  69. BattleAddr(&400A) = BattleAddr(&StopStatus)
  70. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  71. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  72. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  73. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  74. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  75. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  76. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  77. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  78. BattleAddr(&4013) = BattleAddr(&DualStatus)
  79. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  80. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  81. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  82. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  83. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  84. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  85. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  86. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  87. BattleAddr(&401C) = BattleAddr(&DeathForceStatus)
  88. BattleAddr(&401D) = BattleAddr(&ResistStatus)
  89. BattleAddr(&401E) = BattleAddr(&LuckyGirlStatus)
  90. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  91.  
  92.  
  93. BattleAddr(&4020) = BattleAddr(&SelfActive)
  94. BattleAddr(&4021) = BattleAddr(&AllyGrp)
  95. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  96. BattleAddr(&4023) = BattleAddr(&Targetable)
  97. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  98. BattleAddr(&4025) = BattleAddr(&Defending)
  99. BattleAddr(&4026) = BattleAddr(&BackRow)
  100. BattleAddr(&4027) = BattleAddr(&DirFacing)
  101. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  102. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  103. BattleAddr(&402A) = BattleAddr(&NoMPCost)
  104. BattleAddr(&402B) = BattleAddr(&CoverFlagActive)
  105. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  106. BattleAddr(&402D) = BattleAddr(&SelfDead)
  107. BattleAddr(&402E) = BattleAddr(&SelfInvis)
  108. BattleAddr(&402F) = BattleAddr(&)
  109.  
  110.  
  111. BattleAddr(&4058) = BattleAddr(&GreatestElementalDamageMod)
  112. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  113. BattleAddr(&4068) = BattleAddr(&Strength)
  114. BattleAddr(&4070) = BattleAddr(&Magic)
  115. BattleAddr(&4078) = BattleAddr(&Evade)
  116. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  117. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  118. BattleAddr(&4098) = BattleAddr(&ModelSize)
  119. BattleAddr(&40A0) = BattleAddr(&Dexterity)
  120. BattleAddr(&40A8) = BattleAddr(&Luck)
  121. BattleAddr(&40B8) = BattleAddr(&ChrCovered)
  122. BattleAddr(&40C0) = BattleAddr(&TargetOfLastAction)
  123. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  124. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  125. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  126. BattleAddr(&4100) = BattleAddr(&Def)
  127. BattleAddr(&4110) = BattleAddr(&MDef)
  128. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  129. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  130. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  131. BattleAddr(&4150) = BattleAddr(&MaxMP)
  132. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  133. BattleAddr(&4180) = BattleAddr(&MaxHP)
  134.  
  135. BattleAddr(&41A0) = BattleAddr(&Angry)
  136. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  137. BattleAddr(&41E0) = BattleAddr(&CustomAtt) ??? Mandragora (GrpCustomAtt)??
  138. BattleAddr(&4200) = BattleAddr(&SpclAttFlag) ??? Chocobos Gi Nattak soul fire Biz Seph (CustomFlag)??
  139. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  140.  
  141. BattleAddr(&4270) = BattleAddr(&Row)
  142. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  143. BattleAddr(&42B0) = BattleAddr(&EvadeAnimID)
  144. BattleAddr(&42C0) = BattleAddr(&SelfGIL)
  145. BattleAddr(&42E0) = BattleAddr(&SelfEXP)
  146. BattleAddr(&4300) = BattleAddr(&ChrImprisoned) ?? Carry Armor
  147.  
  148.  
  149.  
  150. GlobalVars:
  151.  
  152.  
  153. GlobalVar(0002) = GlobalVar(YuffieLevel) 0x0BA6 [1] [2]
  154. GlobalVar(0048) = GlobalVar(Party1TurnCount) 0x0BEC [1] [72]
  155. GlobalVar(0049) = GlobalVar(Party2TurnCount) 0x0BED [1] [73]
  156. GlobalVar(004A) = GlobalVar(Party3TurnCount) 0x0BEE [1] [74]
  157. GlobalVar(0050) = GlobalVar(AerisBattleLovePoints) 0x0BF4 [1] [80]
  158. GlobalVar(0051) = GlobalVar(TifaBattleLovePoints) 0x0BF5 [1] [81]
  159. GlobalVar(0052) = GlobalVar(YuffieBattleLovePoints) 0x0BF6 [1] [82]
  160. GlobalVar(0053) = GlobalVar(BarretBattleLovePoints) 0x0BF7 [1] [83]
  161. GlobalVar(0054) = GlobalVar(CaughtChoc) 0x0BF8 [1] [84]
  162.  
  163. GlobalVar(005B) = GlobalVar(Ultimate'sHPByte3) 0x0BFF [1] [91]
  164. = GlobalVar(BizHeadDeathCount)
  165.  
  166. GlobalVar(005C) = GlobalVar(Ultimate'sHPByte2) 0x0C00 [1] [92]
  167. = GlobalVar(MainDeathMask)
  168.  
  169. &1 0x01 = 2ndPartyCoreDead (2-Party Right & 3-Party Left)
  170. &8 0x08 = E 1stPartyWing/RightShldDead (2-Party Left & 3-Party Centre [Left Magic] & 3-Party Right [Shld])
  171. &16 0x10 = D LeftShldDead (2-Party Left & 3-Party Centre [Right Magic] & 3-Party Left)
  172. &32 0x20 = C MainPartyCoreDead (2-Party Left & 3-Party Centre)
  173. &64 0x40 = B HeadDead (Globally used)
  174.  
  175. GlobalVar(005D) = GlobalVar(Ultimate'sHPByte1) 0x0C01 [1] [93]
  176. = GlobalVar(AltDeathMask)
  177.  
  178. &2 0x02 = 3rdPartyWingDead (3-Party Right)
  179. &8 0x08 = 3rdPartyCoreDead (3-Party Right)
  180. &64 0x40 = 2ndPartyWingDead (2-Party Right & 3-Party Left)
  181. &128 0x80 = 2ndPartyShldDead (2-Party Right)
  182.  
  183. GlobalVar(005E) = GlobalVar(Pandora'sBox) 0x0C02 [1] [94]
  184. = GlobalVar(OpeningSetup)
  185.  
  186. &32 0x20 = 3rdPartyStarted
  187. &64 0x40 = 2ndPartyStarted
  188. &128 0x80 = MainPartyStarted
  189.  
  190. GlobalVar(007B) = GlobalVar(WeaponsKilled) 0x0C1F [1] [123]
  191.  
  192. &1 0x01 = Ultimate Weapon Killed
  193. &4 0x04 = Ultimate Weapon HP Critical
  194. &8 0x08 = Ruby Weapon Killed
  195. &16 0x10 = Emerald Weapon Killed
  196.  
  197. GlobalVar(01C4) = GlobalVar(Cloud'sLv) 0x0D68 [3] [196]
  198. GlobalVar(01C5) = GlobalVar(Barret'sLv) 0x0D69 [3] [197]
  199. GlobalVar(01C6) = GlobalVar(Tifa'sLv) 0x0D6A [3] [198]
  200. GlobalVar(01C7) = GlobalVar(RedXIII'sLv) 0x0D6B [3] [199]
  201. GlobalVar(01C8) = GlobalVar(Yuffie'sLv) 0x0D6C [3] [200]
  202. GlobalVar(01C9) = GlobalVar(CaitSith'sLv) 0x0D6D [3] [201]
  203. GlobalVar(01CA) = GlobalVar(Vincent'sLv) 0x0D6E [3] [202]
  204. GlobalVar(01CB) = GlobalVar(Cid'sLv) 0x0D6F [3] [203]
  205. GlobalVar(01CC) = GlobalVar(BizarroGroupCount) 0x0D70 [3] [204]
  206. GlobalVar(01CD) = GlobalVar(SwitchParty) 0x0D71 [3] [205]
  207. GlobalVar(0268) = GlobalVar(QtyOfLevels=99) 0x0E0C [11] [104]
  208. GlobalVar(0269) = GlobalVar(1stPartyCoreVulTurnCount) 0x0E0D [11] [105]
  209. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount) 0x0E0E [11] [106]
  210. GlobalVar(026B) = GlobalVar(3rdPartyCoreVulTurnCount) 0x0E0F [11] [107]
  211. GlobalVar(026C) = GlobalVar(JenovaKOTR) 0x0E10 [11] [108]
  212.  
  213.  
  214.  
  215. Elemental Bitmask:
  216.  
  217. 0x0001 00h Fire
  218. 0x0002 01h Ice
  219. 0x0004 02h Bolt
  220. 0x0008 03h Earth
  221. 0x0010 04h Poison
  222. 0x0020 05h Gravity
  223. 0x0040 06h Water
  224. 0x0080 07h Wind
  225. 0x0100 08h Holy
  226. 0x0200 09h Restorative
  227. 0x0400 0Ah Cut
  228. 0x0800 0Bh Hit
  229. 0x1000 0Ch Punch
  230. 0x2000 0Dh Shoot
  231. 0x4000 0Eh Shout
  232. 0x8000 0Fh "Hidden/Ultima"
  233.  
  234.  
  235.  
  236.  
  237. [16] - 10 Cloud
  238.  
  239.  
  240. LocalVar:0000 = LocalVar:BattleLovePointsOffset
  241. LocalVar:0020 = LocalVar:ChrID
  242.  
  243. GlobalVar(0050) = GlobalVar(AerisBattleLovePoints)
  244. GlobalVar(0051) = GlobalVar(TifaBattleLovePoints)
  245. GlobalVar(0052) = GlobalVar(YuffieBattleLovePoints)
  246. GlobalVar(0053) = GlobalVar(BarretBattleLovePoints)
  247.  
  248. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  249. BattleAddr(&2018) = BattleAddr(&MemBackAccessValue)
  250. BattleAddr(&2060) = BattleAddr(&Self)
  251. BattleAddr(&2070) = BattleAddr(&TarSelected)
  252.  
  253. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  254. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  255. BattleAddr(&40B8) = BattleAddr(&ChrCovered)
  256.  
  257.  
  258.  
  259. PHYSICAL COUNTER:
  260.  
  261. 0x000LocalVar:BattleLovePointsOffset <- 255
  262. 0x006 If (BattleAddr(&Self).BattleAddr(&ChrCovered) == 19) (Aeris)
  263. 0x006 {
  264. 0x012 LocalVar:BattleLovePointsOffset <- 80
  265. 0x018 }
  266. 0x018 Else
  267. 0x018 {
  268. 0x01B }
  269. 0x01B Else
  270. 0x01B {
  271. 0x01E If (BattleAddr(&Self).BattleAddr(&ChrCovered) == 18) (Tifa)
  272. 0x01E {
  273. 0x023 LocalVar:BattleLovePointsOffset <- 81
  274. 0x029 }
  275. 0x029 Else
  276. 0x029 {
  277. 0x02C }
  278. 0x02C Else
  279. 0x02C {
  280. 0x02F If (BattleAddr(&Self).BattleAddr(&ChrCovered) == 21) (Yuffie)
  281. 0x02F {
  282. 0x034 LocalVar:BattleLovePointsOffset <- 82
  283. 0x03A }
  284. 0x03A Else
  285. 0x03A {
  286. 0x03D }
  287. 0x03D Else
  288. 0x03D {
  289. 0x040 If (BattleAddr(&Self).BattleAddr(&ChrCovered) == 17) (Barret)
  290. 0x040 {
  291. 0x045 LocalVar:BattleLovePointsOffset <- 83
  292. 0x04BPOP(BattleAddr(&Self).BattleAddr(&ChrCovered))
  293. 0x04C If ( (LocalVar:BattleLovePointsOffset != 255) )
  294. 0x04C {
  295. 0x055 TempGlobal <- &GlobalVar(0000)
  296. 0x05B BattleAddr(&MemBackAccessValue) <- BattleAddr(&MemBank1/2)
  297. 0x062 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 3
  298. 0x06C If ( (BattleAddr(&MemBank1/2) > 200) )
  299. 0x06C {
  300. 0x075 BattleAddr(&MemBank1/2) <- 200
  301. 0x07B GlobalVar(0000) <- &TempGlobal)
  302. 0x081 Debug.Print: "LOVEPARA CHR:%d, %d->%ds" ; BattleAddr(&Self).BattleAddr(&ChrCovered) - 16; BattleAddr(&MemBackAccessValue); BattleAddr(&MemBank1/2)
  303. 0x081 }
  304. 0x0ABSCRIPT END
  305.  
  306.  
  307. ALLY DEATH:
  308.  
  309. 0x000LocalVar:ChrID <- 0
  310. 0x006 If ( (LocalVar:ChrID < 3) )
  311. 0x006 {
  312. 0x00F BattleAddr(&TarSelected) <- FlagBit(LocalVar:ChrID)
  313. 0x017 If (BattleAddr(&TarSelected).BattleAddr(&DeathStatus))
  314. 0x017 {
  315. 0x021 LocalVar:BattleLovePointsOffset <- 255
  316. 0x027 If (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 19)
  317. 0x027 {
  318. 0x033 LocalVar:BattleLovePointsOffset <- 80
  319. 0x039 }
  320. 0x039 Else
  321. 0x039 {
  322. 0x03C }
  323. 0x03C Else
  324. 0x03C {
  325. 0x03F If (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 18)
  326. 0x03F {
  327. 0x044 LocalVar:BattleLovePointsOffset <- 81
  328. 0x04A }
  329. 0x04A Else
  330. 0x04A {
  331. 0x04D }
  332. 0x04D Else
  333. 0x04D {
  334. 0x050 If (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 21)
  335. 0x050 {
  336. 0x055 LocalVar:BattleLovePointsOffset <- 82
  337. 0x05B }
  338. 0x05B Else
  339. 0x05B {
  340. 0x05E }
  341. 0x05E Else
  342. 0x05E {
  343. 0x061 If (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 17)
  344. 0x061 {
  345. 0x066 LocalVar:BattleLovePointsOffset <- 83
  346. 0x06C POP(BattleAddr(&TarSelected).BattleAddr(&GrpFormID))
  347. 0x06D If ( (LocalVar:BattleLovePointsOffset != 255) )
  348. 0x06D {
  349. 0x076 TempGlobal <- &GlobalVar(0000)
  350. 0x07C BattleAddr(&MemBackAccessValue) <- BattleAddr(&MemBank1/2)
  351. 0x083 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) - 5
  352. 0x08D If ( (BattleAddr(&MemBank1/2) < 50) )
  353. 0x08D {
  354. 0x096 BattleAddr(&MemBank1/2) <- 50
  355. 0x09C GlobalVar(0000) <- &TempGlobal)
  356. 0x0A2 Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; BattleAddr(&TarSelected).BattleAddr(&GrpFormID) - 16; BattleAddr(&MemBackAccessValue); BattleAddr(&MemBank1/2)
  357. 0x0CC LocalVar:ChrID <- LocalVar:ChrID + 1
  358. 0x0D6 LOOP 0x006
  359. 0x0D9 SCRIPT END
  360.  
  361.  
  362.  
  363.  
  364. [17] - 11 Barret
  365.  
  366. 0x000Link with scripts on character: 3
  367. 0x003SCRIPT END
  368.  
  369.  
  370.  
  371.  
  372. [18] - 12 Tifa
  373.  
  374. 0x000Link with scripts on character: 3
  375. 0x003SCRIPT END
  376.  
  377.  
  378.  
  379.  
  380. [19] - 13 Aeris
  381.  
  382.  
  383. LocalVar:0000 = LocalVar:CurrentHPBeforeAttack
  384. LocalVar:0020 = LocalVar:CurrentHPAfterAttack
  385. LocalVar:0040 = Unused
  386. LocalVar:0060 = LocalVar:LovePointAdjustmentValue
  387. LocalVar:0080 = LocalVar:BattleLovePointsOffset
  388. LocalVar:00A0 = LocalVar:CharacterHealed
  389. LocalVar:00C0 = LocalVar:DeathStatusBeforeAttack
  390.  
  391. GlobalVar(0050) = GlobalVar(AerisBattleLovePoints)
  392. GlobalVar(0051) = GlobalVar(TifaBattleLovePoints)
  393. GlobalVar(0052) = GlobalVar(YuffieBattleLovePoints)
  394. GlobalVar(0053) = GlobalVar(BarretBattleLovePoints)
  395.  
  396. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  397. BattleAddr(&2018) = BattleAddr(&MemBackAccessValue)
  398. BattleAddr(&2060) = BattleAddr(&Self)
  399. BattleAddr(&2070) = BattleAddr(&TarSelected)
  400.  
  401. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  402. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  403. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  404. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  405.  
  406.  
  407.  
  408. POST-ATTACK:
  409.  
  410. 0x000LocalVar:CurrentHPBeforeAttack <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  411. 0x00BLocalVar:DeathStatusBeforeAttack <- BattleAddr(&Self).BattleAddr(&DeathStatus)
  412. 0x016SCRIPT END
  413.  
  414.  
  415. GENERAL COUNTER:
  416.  
  417. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 19)
  418. 0x000 {
  419. 0x00C LocalVar:BattleLovePointsOffset <- 80
  420. 0x012 }
  421. 0x012 Else
  422. 0x012 {
  423. 0x015 }
  424. 0x015 Else
  425. 0x015 {
  426. 0x018 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 18)
  427. 0x018 {
  428. 0x01D LocalVar:BattleLovePointsOffset <- 81
  429. 0x023 }
  430. 0x023 Else
  431. 0x023 {
  432. 0x026 }
  433. 0x026 Else
  434. 0x026 {
  435. 0x029 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 21)
  436. 0x029 {
  437. 0x02E LocalVar:BattleLovePointsOffset <- 82
  438. 0x034 }
  439. 0x034 Else
  440. 0x034 {
  441. 0x037 }
  442. 0x037 Else
  443. 0x037 {
  444. 0x03A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 17)
  445. 0x03A {
  446. 0x03F LocalVar:BattleLovePointsOffset <- 83
  447. 0x045POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  448. 0x046BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  449. 0x051BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 16)
  450. 0x05F If (BattleAddr(&TarSelected))
  451. 0x05F {
  452. 0x065 LocalVar:CurrentHPAfterAttack <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  453. 0x070 LocalVar:LovePointAdjustmentValue <- 0
  454. 0x076 If ( (LocalVar:CurrentHPAfterAttack < LocalVar:CurrentHPBeforeAttack) )
  455. 0x076 {
  456. 0x080 LocalVar:CharacterHealed <- 0
  457. 0x086 LocalVar:LovePointAdjustmentValue <- 2
  458. 0x08C }
  459. 0x08C Else
  460. 0x08C {
  461. 0x08F If (LocalVar:DeathStatusBeforeAttack)
  462. 0x08F {
  463. 0x095 If (LocalVar:CurrentHPAfterAttack)
  464. 0x095 {
  465. 0x09B LocalVar:CharacterHealed <- 1
  466. 0x0A1 LocalVar:LovePointAdjustmentValue <- 4
  467. 0x0A7 }
  468. 0x0A7 Else
  469. 0x0A7 {
  470. 0x0AA If ( (LocalVar:CurrentHPAfterAttack > LocalVar:CurrentHPBeforeAttack) )
  471. 0x0AA {
  472. 0x0B4 LocalVar:CharacterHealed <- 1
  473. 0x0BA LocalVar:LovePointAdjustmentValue <- 2
  474. 0x0C0 If (LocalVar:LovePointAdjustmentValue)
  475. 0x0C0 {
  476. 0x0C6 TempGlobal <- &GlobalVar(0080)
  477. 0x0CC BattleAddr(&MemBackAccessValue) <- BattleAddr(&MemBank1/2)
  478. 0x0D3 If ( (LocalVar:CharacterHealed == 1) )
  479. 0x0D3 {
  480. 0x0DC BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + LocalVar:LovePointAdjustmentValue
  481. 0x0E7 If ( (BattleAddr(&MemBank1/2) > 200) )
  482. 0x0E7 {
  483. 0x0F0 BattleAddr(&MemBank1/2) <- 200
  484. 0x0F6 }
  485. 0x0F6 Else
  486. 0x0F6 {
  487. 0x0F9 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) - LocalVar:LovePointAdjustmentValue
  488. 0x104 If ( (BattleAddr(&MemBank1/2) < 50) )
  489. 0x104 {
  490. 0x10D BattleAddr(&MemBank1/2) <- 50
  491. 0x113 GlobalVar(0080) <- &TempGlobal)
  492. 0x119 Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; BattleAddr(&Self).BattleAddr(&GrpFormID) - 16; BattleAddr(&MemBackAccessValue); BattleAddr(&MemBank1/2)
  493. 0x143 SCRIPT END
  494.  
  495.  
  496. DEATH COUNTER:
  497.  
  498. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 19)
  499. 0x000 {
  500. 0x00C LocalVar:BattleLovePointsOffset <- 80
  501. 0x012 }
  502. 0x012 Else
  503. 0x012 {
  504. 0x015 }
  505. 0x015 Else
  506. 0x015 {
  507. 0x018 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 18)
  508. 0x018 {
  509. 0x01D LocalVar:BattleLovePointsOffset <- 81
  510. 0x023 }
  511. 0x023 Else
  512. 0x023 {
  513. 0x026 }
  514. 0x026 Else
  515. 0x026 {
  516. 0x029 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 21)
  517. 0x029 {
  518. 0x02E LocalVar:BattleLovePointsOffset <- 82
  519. 0x034 }
  520. 0x034 Else
  521. 0x034 {
  522. 0x037 }
  523. 0x037 Else
  524. 0x037 {
  525. 0x03A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 17)
  526. 0x03A {
  527. 0x03F LocalVar:BattleLovePointsOffset <- 83
  528. 0x045POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  529. 0x046BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  530. 0x051BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 16)
  531. 0x05F If (BattleAddr(&TarSelected))
  532. 0x05F {
  533. 0x065 TempGlobal <- &GlobalVar(0080)
  534. 0x06B BattleAddr(&MemBackAccessValue) <- BattleAddr(&MemBank1/2)
  535. 0x072 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) - 4
  536. 0x07C If ( (BattleAddr(&MemBank1/2) < 50) )
  537. 0x07C {
  538. 0x085 BattleAddr(&MemBank1/2) <- 50
  539. 0x08B GlobalVar(0080) <- &TempGlobal)
  540. 0x091 Debug.Print: "LOVEPARA CHR:%d, %d->%d" ; BattleAddr(&Self).BattleAddr(&GrpFormID) - 16; BattleAddr(&MemBackAccessValue); BattleAddr(&MemBank1/2)
  541. 0x0BB SCRIPT END
  542.  
  543.  
  544.  
  545.  
  546. [20] - 14 Red XIII
  547.  
  548. No Script exists for Red XIII
  549.  
  550.  
  551.  
  552.  
  553. [21] - 15 Yuffie
  554.  
  555. 0x000Link with scripts on character: 3
  556. 0x003SCRIPT END
  557.  
  558.  
  559.  
  560.  
  561. [22] - 16 Cait Sith
  562.  
  563. No Script exists for Cait Sith
  564.  
  565.  
  566.  
  567.  
  568. [23] - 17 Vincent
  569.  
  570.  
  571. LocalVar:0000 = LocalVar:AttackIndexID
  572.  
  573. BattleAddr(&2038) = BattleAddr(&Vincent'sLimitLv)
  574. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  575. BattleAddr(&2070) = BattleAddr(&TarSelected)
  576.  
  577.  
  578.  
  579. MAIN:
  580.  
  581. 0x000LocalVar:AttackIndexID <- 112 + BattleAddr(&Vincent'sLimitLv) * 2
  582. 0x00D If ( (Random MOD 10 < 3) )
  583. 0x00D {
  584. 0x017 LocalVar:AttackIndexID <- LocalVar:AttackIndexID + 1
  585. 0x021BattleAddr(&TarSelected) <- BattleAddr(&NoTarSelected)
  586. 0x028Perform(LocalVar:AttackIndexID, Limit)
  587. 0x02ESCRIPT END
  588.  
  589.  
  590.  
  591.  
  592. [24] - 18 Cid
  593.  
  594. No Script exists for Cid
  595.  
  596.  
  597.  
  598.  
  599. [25] - 19 Young Cloud
  600.  
  601. No Script exists for Young Cloud
  602.  
  603.  
  604.  
  605.  
  606. [26] - 1A Sephiroth
  607.  
  608.  
  609. LocalVar:0000 = LocalVar:CommandID
  610. LocalVar:0020 = LocalVar:EnemyAttack
  611. LocalVar:0040 = LocalVar:EnemyEarthResistance
  612.  
  613. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  614. BattleAddr(&2060) = BattleAddr(&Self)
  615. BattleAddr(&2070) = BattleAddr(&TarSelected)
  616. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  617.  
  618. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  619. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  620. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  621. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  622. BattleAddr(&402A) = BattleAddr(&NoMPCost)
  623. BattleAddr(&4058) = BattleAddr(&GreatestElementalDamageMod)
  624. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  625. BattleAddr(&4270) = BattleAddr(&Row)
  626.  
  627.  
  628.  
  629. PRE-BATTLE:
  630.  
  631. 0x000BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 1
  632. 0x00ABattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  633. 0x014BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  634. 0x01EBattleAddr(&Self).BattleAddr(&NoMPCost) <- 1
  635. 0x028SCRIPT END
  636.  
  637.  
  638. MAIN:
  639.  
  640. 0x000LocalVar:CommandID <- 2 (Magic)
  641. 0x006Bad Code0x00CBattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&GreatestElementalDamageMod) >= 5)
  642. 0x01A If (BattleAddr(&TarSelected))
  643. 0x01A {
  644. 0x020 Debug.Print: "RESIST EARTH MONSTER" ; 0
  645. 0x039 LocalVar:EnemyEarthResistance <- 1
  646. 0x03FBattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 25) (Young Cloud)
  647. 0x04D If ( ( (BattleAddr(&TarSelected) And (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) ) And (Random MOD 3 == 0) ) )
  648. 0x04D {
  649. 0x066 LocalVar:EnemyAttack <- 8 (Life2)
  650. 0x06C }
  651. 0x06C Else
  652. 0x06C {
  653. 0x06F If ( (BitCount(BattleAddr(&AllPlayers)) == 1) )
  654. 0x06F {
  655. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  656. 0x081 If ( (BattleAddr(&TarSelected).BattleAddr(&Row) >= 16) )
  657. 0x081 {
  658. 0x08E LocalVar:EnemyAttack <- 29 (Fire3)
  659. 0x094 }
  660. 0x094 Else
  661. 0x094 {
  662. 0x097 LocalVar:CommandID <- 1 (Attack)
  663. 0x09D }
  664. 0x09D Else
  665. 0x09D {
  666. 0x0A0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  667. 0x0A7 If (Random MOD 3 + LocalVar:EnemyEarthResistance == 0)
  668. 0x0A7 {
  669. 0x0B4 LocalVar:EnemyAttack <- 38 (Quake3)
  670. 0x0BA LocalVar:EnemyEarthResistance <- 1
  671. 0x0C0 }
  672. 0x0C0 Else
  673. 0x0C0 {
  674. 0x0C3 }
  675. 0x0C3 Else
  676. 0x0C3 {
  677. 0x0C6 If (Random MOD 3 + LocalVar:EnemyEarthResistance == 1)
  678. 0x0C6 {
  679. 0x0CB LocalVar:EnemyAttack <- 32 (Ice3)
  680. 0x0D1 }
  681. 0x0D1 Else
  682. 0x0D1 {
  683. 0x0D4 }
  684. 0x0D4 Else
  685. 0x0D4 {
  686. 0x0D7 LocalVar:EnemyAttack <- 35 (Bolt3)
  687. 0x0DD }
  688. 0x0DD Else
  689. 0x0DD {
  690. 0x0E0 POP(Random MOD 3 + LocalVar:EnemyEarthResistance)
  691. 0x0E1Action(LocalVar:EnemyAttack, LocalVar:CommandID)
  692. 0x0E8SCRIPT END
  693.  
  694.  
  695.  
  696.  
  697. 00 - [00] êúô0(äñ)
  698.  
  699.  
  700. LocalVar:0000 = LoclVar:Count
  701.  
  702. BattleAddr(&2140) = BattleAddr(&FormationID)
  703.  
  704.  
  705.  
  706. MAIN:
  707.  
  708. 0x000 If ( (BattleAddr(&FormationID) == 0) )
  709. 0x000 {
  710. 0x009 If ( (LoclVar:Count == 0) )
  711. 0x009 {
  712. 0x012 LoclVar:Count <- 1
  713. 0x018 Display String: "ENCOUNT ERROR"
  714. 0x027 }
  715. 0x027 Else
  716. 0x027 {
  717. 0x02A LoclVar:Count <- 0
  718. 0x030 Display String: "If you found this message"
  719. 0x04B Display String: "then please call staff"
  720. 0x063SCRIPT END
  721.  
  722.  
  723. GENERAL COUNTER:
  724.  
  725. 0x000 If (Random MOD 8 == 0)
  726. 0x000 {
  727. 0x009 Display String: "monster“Not a probrem”"
  728. 0x021 }
  729. 0x021 Else
  730. 0x021 {
  731. 0x024 }
  732. 0x024 Else
  733. 0x024 {
  734. 0x027 If (Random MOD 8 == 1)
  735. 0x027 {
  736. 0x02C Display String: "monster“I'm sorry”"
  737. 0x040 }
  738. 0x040 Else
  739. 0x040 {
  740. 0x043 }
  741. 0x043 Else
  742. 0x043 {
  743. 0x046 Display String: "monster“That's too bad”"
  744. 0x05F }
  745. 0x05F Else
  746. 0x05F {
  747. 0x062POP(Random MOD 8)
  748. 0x063SCRIPT END
  749.  
  750.  
  751.  
  752.  
  753. 01 - [01] êúô1()
  754.  
  755. No Script exists for êúô1()
  756.  
  757.  
  758.  
  759.  
  760. 02 - [02] êúô2(ñ)
  761.  
  762.  
  763. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  764. BattleAddr(&2018) = BattleAddr(&MemBackAccessValue)
  765. BattleAddr(&2060) = BattleAddr(&Self)
  766. BattleAddr(&2070) = BattleAddr(&TarSelected)
  767. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  768.  
  769.  
  770.  
  771. PRE-BATTLE:
  772.  
  773. 0x000BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  774. 0x00ASCRIPT END
  775.  
  776.  
  777. DEATH COUNTER:
  778.  
  779. 0x000BattleAddr(&MemBackAccessValue) <- BattleAddr(&MemBackAccessValue) + 1
  780. 0x00A If ( (BattleAddr(&Self) == FlagBit(8)) )
  781. 0x00A {
  782. 0x014 If ( (BattleAddr(&MemBackAccessValue) == 1) )
  783. 0x014 {
  784. 0x01D BattleAddr(&TarSelected) <- BattleAddr(&AllEnemies)
  785. 0x024 Perform("Bolt3"[0023], EnemyAttack)
  786. 0x029SCRIPT END
  787.  
  788.  
  789.  
  790.  
  791. 03 - [03] Blank
  792.  
  793.  
  794.  
  795.  
  796. 04 - [04] êúô4(ëöù)
  797.  
  798. No Script exists for êúô4(ëöù)
  799.  
  800.  
  801.  
  802.  
  803. 05 - [05] êúô5(áñô)
  804.  
  805. No Script exists for êúô5(áñô)
  806.  
  807.  
  808.  
  809.  
  810. 06 - [06] êúô6(ñâ)
  811.  
  812. No Script exists for êúô6(ñâ)
  813.  
  814.  
  815.  
  816.  
  817. 07 - [07] êúô7(úñA)
  818.  
  819. No Script exists for êúô7(úñA)
  820.  
  821.  
  822.  
  823.  
  824. 08 - [08] êúô8(úñB)
  825.  
  826. No Script exists for êúô8(úñB)
  827.  
  828.  
  829.  
  830.  
  831. 09 - [09] êúô9(úñC)
  832.  
  833. No Script exists for êúô9(úñC)
  834.  
  835.  
  836.  
  837.  
  838. 10 - [0A] Diamond Weapon
  839.  
  840.  
  841. LocalVar:0000 = LocalVar:Count
  842. LocalVar:0020 = LocalVar:SpclHitCount
  843. LocalVar:0040 = LocalVar:StageCount
  844. LocalVar:0060 = LocalVar:Stage
  845.  
  846. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  847. BattleAddr(&2060) = BattleAddr(&Self)
  848. BattleAddr(&2070) = BattleAddr(&TarSelected)
  849. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  850.  
  851. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  852. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  853. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  854. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  855. BattleAddr(&4180) = BattleAddr(&MaxHP)
  856.  
  857.  
  858.  
  859. MAIN:
  860.  
  861. 0x000 If (LocalVar:Count == 0)
  862. 0x000 {
  863. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  864. 0x010 Perform("Diamond Fire"[03D2], EnemyAttack)
  865. 0x016 If ( (Random MOD 3 != 0) )
  866. 0x016 {
  867. 0x020 LocalVar:Count <- 1
  868. 0x026 }
  869. 0x026 Else
  870. 0x026 {
  871. 0x029 }
  872. 0x029 Else
  873. 0x029 {
  874. 0x02C If (LocalVar:Count == 1)
  875. 0x02C {
  876. 0x031 Bad Code0x03C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  877. 0x03E Perform("Foot Stamp"[03D3], EnemyAttack)
  878. 0x044 If ( (Random MOD 4 != 0) )
  879. 0x044 {
  880. 0x04E LocalVar:Count <- 0
  881. 0x054 }
  882. 0x054 Else
  883. 0x054 {
  884. 0x057 }
  885. 0x057 Else
  886. 0x057 {
  887. 0x05A If (LocalVar:Count == 2)
  888. 0x05A {
  889. 0x05F Display String: "Countdown"
  890. 0x06A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  891. 0x071 Perform([011F], EnemyAttack)
  892. 0x077 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  893. 0x081 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  894. 0x08B LocalVar:Stage <- 1
  895. 0x091 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  896. 0x099 Perform("Diamond Fire"[03D4], EnemyAttack)
  897. 0x09F LocalVar:Count <- LocalVar:Count + 1
  898. 0x0A9 Display String: "3"
  899. 0x0AC }
  900. 0x0AC Else
  901. 0x0AC {
  902. 0x0AF }
  903. 0x0AF Else
  904. 0x0AF {
  905. 0x0B2 If (LocalVar:Count == 3)
  906. 0x0B2 {
  907. 0x0B7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  908. 0x0BF Perform("Diamond Fire"[03D4], EnemyAttack)
  909. 0x0C5 LocalVar:Count <- LocalVar:Count + 1
  910. 0x0CF Display String: "2"
  911. 0x0D2 }
  912. 0x0D2 Else
  913. 0x0D2 {
  914. 0x0D5 }
  915. 0x0D5 Else
  916. 0x0D5 {
  917. 0x0D8 If (LocalVar:Count == 4)
  918. 0x0D8 {
  919. 0x0DD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  920. 0x0E5 Perform("Diamond Fire"[03D4], EnemyAttack)
  921. 0x0EB LocalVar:Count <- LocalVar:Count + 1
  922. 0x0F5 Display String: "1"
  923. 0x0F8 }
  924. 0x0F8 Else
  925. 0x0F8 {
  926. 0x0FB }
  927. 0x0FB Else
  928. 0x0FB {
  929. 0x0FE Display String: "0"
  930. 0x101 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  931. 0x108 Perform("Diamond Flash"[03D6], EnemyAttack)
  932. 0x10E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  933. 0x115 Perform([0120], EnemyAttack)
  934. 0x11B LocalVar:Count <- 0
  935. 0x121 LocalVar:SpclHitCount <- 0
  936. 0x127 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  937. 0x131 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  938. 0x13B LocalVar:Stage <- 0
  939. 0x141 }
  940. 0x141 Else
  941. 0x141 {
  942. 0x144POP(LocalVar:Count)
  943. 0x145SCRIPT END
  944.  
  945. NOTE - 0x03B uses HMSK
  946.  
  947.  
  948. DEATH COUNTER:
  949.  
  950. 0x000 If ( (LocalVar:Stage != 0) )
  951. 0x000 {
  952. 0x009 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  953. 0x013 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  954. 0x01A Perform([0120], EnemyAttack)
  955. 0x020BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 20
  956. 0x02ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  957. 0x031Perform("(Report)"[0164], EnemyAttack)
  958. 0x037RunScript(15)
  959. 0x03CSCRIPT END
  960.  
  961.  
  962. PRE-ACTION SETUP:
  963.  
  964. 0x000LocalVar:StageCount <- 1
  965. 0x006 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  966. 0x006 {
  967. 0x01B LocalVar:StageCount <- 2
  968. 0x021BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  969. 0x02B If ( ( ( ( (BattleAddr(&LastCommndID) == 3) Or (BattleAddr(&LastCommndID) == 22) ) Or (BattleAddr(&LastCommndID) == 20) ) Or (LocalVar:Stage == 1) ) )
  970. 0x02B {
  971. 0x049 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  972. 0x053 LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  973. 0x05D If ( ( (LocalVar:SpclHitCount > LocalVar:StageCount) And (LocalVar:Stage == 0) ) )
  974. 0x05D {
  975. 0x06E LocalVar:Count <- 2
  976. 0x074SCRIPT END
  977.  
  978. 3 = Summon 20 = Limit 22 = W-Sum.
  979.  
  980.  
  981.  
  982.  
  983. 11 - [0B] Ruby Weapon
  984.  
  985.  
  986. LocalVar:0000 = LocalVar:Ruby'sTentacles
  987. LocalVar:0020 = LocalVar:Ruby'sTentacleB
  988. LocalVar:0040 = LocalVar:Ruby'sTentacleA
  989. LocalVar:0060 = LocalVar:TempHP
  990. LocalVar:0080 = LocalVar:HPDiff
  991. LocalVar:00A0 = LocalVar:CurrentHP
  992. LocalVar:00C0 = LocalVar:BaseIdleAnimID
  993. LocalVar:00E0 = LocalVar:BaseDamagedAnimID
  994. LocalVar:0100 = LocalVar:TurnCount
  995. LocalVar:0120 = LocalVar:Stage
  996. LocalVar:0140 = LocalVar:AttackConfirmed
  997.  
  998. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  999.  
  1000. &1 0x01 = Ultimate Weapon Killed
  1001. &4 0x04 = Ultimate Weapon HP Critical
  1002. &8 0x08 = Ruby Weapon Killed
  1003. &16 0x10 = Emerald Weapon Killed
  1004.  
  1005. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  1006. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  1007. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  1008. BattleAddr(&2060) = BattleAddr(&Self)
  1009. BattleAddr(&2070) = BattleAddr(&TarSelected)
  1010. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  1011. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  1012. BattleAddr(&2150) = BattleAddr(&LastAttIndex)
  1013.  
  1014. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  1015. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  1016. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  1017. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  1018. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  1019. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  1020. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  1021. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  1022. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  1023. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  1024. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  1025. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  1026. BattleAddr(&4023) = BattleAddr(&Targetable)
  1027. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  1028. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  1029. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  1030. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  1031. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  1032. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  1033. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  1034. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  1035. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  1036. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  1037. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  1038. BattleAddr(&4180) = BattleAddr(&MaxHP)
  1039.  
  1040.  
  1041.  
  1042. PRE-BATTLE:
  1043.  
  1044. 0x000LocalVar:BaseIdleAnimID <- BattleAddr(&Self).BattleAddr(&IdleAnimID)
  1045. 0x00BLocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  1046. 0x016LocalVar:Ruby'sTentacles <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 12)
  1047. 0x024LocalVar:Ruby'sTentacleA <- (LocalVar:Ruby'sTentacles.BattleAddr(&GrpFormID) == 0)
  1048. 0x032LocalVar:Ruby'sTentacleB <- (LocalVar:Ruby'sTentacles.BattleAddr(&GrpFormID) == 1)
  1049. 0x040LocalVar:Ruby'sTentacleB.BattleAddr(&Targetable) <- 0
  1050. 0x04ALocalVar:Ruby'sTentacleB.BattleAddr(&AIScriptActive) <- 0
  1051. 0x054LocalVar:Ruby'sTentacleB.BattleAddr(&DeathImmunity) <- 1
  1052. 0x05ELocalVar:Ruby'sTentacleA.BattleAddr(&Targetable) <- 0
  1053. 0x068LocalVar:Ruby'sTentacleA.BattleAddr(&AIScriptActive) <- 0
  1054. 0x072LocalVar:Ruby'sTentacleA.BattleAddr(&DeathImmunity) <- 1
  1055. 0x07CBattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 32783
  1056. 0x087BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  1057. 0x091BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  1058. 0x09BSCRIPT END
  1059.  
  1060.  
  1061. MAIN:
  1062.  
  1063. 0x000 If ( (LocalVar:TurnCount < 250) )
  1064. 0x000 {
  1065. 0x009 LocalVar:TurnCount <- LocalVar:TurnCount + 1
  1066. 0x013LocalVar:AttackConfirmed <- 0
  1067. 0x019 If ( (LocalVar:Stage == 1) )
  1068. 0x019 {
  1069. 0x022 If ( ( (LocalVar:Ruby'sTentacleB.BattleAddr(&DeathStatus) == 1) Or (LocalVar:Ruby'sTentacleA.BattleAddr(&DeathStatus) == 1) ) )
  1070. 0x022 {
  1071. 0x03A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1072. 0x041 Perform(" "[03D1], EnemyAttack)
  1073. 0x047 LocalVar:Stage <- 0
  1074. 0x04D BattleAddr(&Self).BattleAddr(&IdleAnimID) <- LocalVar:BaseIdleAnimID
  1075. 0x058 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:BaseDamagedAnimID
  1076. 0x063 LocalVar:Ruby'sTentacleB.BattleAddr(&Targetable) <- 0
  1077. 0x06D LocalVar:Ruby'sTentacleA.BattleAddr(&Targetable) <- 0
  1078. 0x077 LocalVar:Ruby'sTentacleB.BattleAddr(&SleepStatus) <- 0
  1079. 0x081 LocalVar:Ruby'sTentacleB.BattleAddr(&PoisonStatus) <- 0
  1080. 0x08B LocalVar:Ruby'sTentacleB.BattleAddr(&SilenceStatus) <- 0
  1081. 0x095 LocalVar:Ruby'sTentacleB.BattleAddr(&HasteStatus) <- 0
  1082. 0x09F LocalVar:Ruby'sTentacleB.BattleAddr(&SlowStatus) <- 0
  1083. 0x0A9 LocalVar:Ruby'sTentacleB.BattleAddr(&RegenStatus) <- 0
  1084. 0x0B3 LocalVar:Ruby'sTentacleB.BattleAddr(&DSentenceStatus) <- 0
  1085. 0x0BD LocalVar:Ruby'sTentacleB.BattleAddr(&BerserkStatus) <- 0
  1086. 0x0C7 LocalVar:Ruby'sTentacleB.BattleAddr(&BarrierStatus) <- 0
  1087. 0x0D1 LocalVar:Ruby'sTentacleB.BattleAddr(&MBarrierStatus) <- 0
  1088. 0x0DB LocalVar:Ruby'sTentacleB.BattleAddr(&ManipulateStatus) <- 0
  1089. 0x0E5 LocalVar:Ruby'sTentacleA.BattleAddr(&SleepStatus) <- 0
  1090. 0x0EF LocalVar:Ruby'sTentacleA.BattleAddr(&PoisonStatus) <- 0
  1091. 0x0F9 LocalVar:Ruby'sTentacleA.BattleAddr(&SilenceStatus) <- 0
  1092. 0x103 LocalVar:Ruby'sTentacleA.BattleAddr(&HasteStatus) <- 0
  1093. 0x10D LocalVar:Ruby'sTentacleA.BattleAddr(&SlowStatus) <- 0
  1094. 0x117 LocalVar:Ruby'sTentacleA.BattleAddr(&RegenStatus) <- 0
  1095. 0x121 LocalVar:Ruby'sTentacleA.BattleAddr(&DSentenceStatus) <- 0
  1096. 0x12B LocalVar:Ruby'sTentacleA.BattleAddr(&BerserkStatus) <- 0
  1097. 0x135 LocalVar:Ruby'sTentacleA.BattleAddr(&BarrierStatus) <- 0
  1098. 0x13F LocalVar:Ruby'sTentacleA.BattleAddr(&MBarrierStatus) <- 0
  1099. 0x149 LocalVar:Ruby'sTentacleA.BattleAddr(&ManipulateStatus) <- 0
  1100. 0x153 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  1101. 0x15D BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  1102. 0x167 LocalVar:AttackConfirmed <- 1
  1103. 0x16D If ( ( (LocalVar:TurnCount > 32) And (LocalVar:AttackConfirmed == 0) ) )
  1104. 0x16D {
  1105. 0x17D If ( ( (BitCount(BattleAddr(&AllPlayers)) > 1) And (LocalVar:Stage == 1) ) )
  1106. 0x17D {
  1107. 0x18E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1108. 0x196 Perform("Whirlsand"[03C9], EnemyAttack)
  1109. 0x19C LocalVar:AttackConfirmed <- 1
  1110. 0x1A2 }
  1111. 0x1A2 Else
  1112. 0x1A2 {
  1113. 0x1A5 If (Random MOD 6 == 0)
  1114. 0x1A5 {
  1115. 0x1AE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1116. 0x1B6 Perform("Ruby Flame"[03CA], EnemyAttack)
  1117. 0x1BC }
  1118. 0x1BC Else
  1119. 0x1BC {
  1120. 0x1BF }
  1121. 0x1BF Else
  1122. 0x1BF {
  1123. 0x1C2 If (Random MOD 6 == 1)
  1124. 0x1C2 {
  1125. 0x1C7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1126. 0x1CF Perform("Ruby Ray"[03CB], EnemyAttack)
  1127. 0x1D5 }
  1128. 0x1D5 Else
  1129. 0x1D5 {
  1130. 0x1D8 }
  1131. 0x1D8 Else
  1132. 0x1D8 {
  1133. 0x1DB If (Random MOD 6 == 2)
  1134. 0x1DB {
  1135. 0x1E0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1136. 0x1E8 Perform("Shadow Flare"[005E], EnemyAttack)
  1137. 0x1ED }
  1138. 0x1ED Else
  1139. 0x1ED {
  1140. 0x1F0 }
  1141. 0x1F0 Else
  1142. 0x1F0 {
  1143. 0x1F3 If (Random MOD 6 == 3)
  1144. 0x1F3 {
  1145. 0x1F8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1146. 0x200 Perform("Ultima"[0034], EnemyAttack)
  1147. 0x205 }
  1148. 0x205 Else
  1149. 0x205 {
  1150. 0x208 }
  1151. 0x208 Else
  1152. 0x208 {
  1153. 0x20B If (Random MOD 4 == 0)
  1154. 0x20B {
  1155. 0x214 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1156. 0x21C Perform("Right Revenge"[03CC], EnemyAttack)
  1157. 0x222 }
  1158. 0x222 Else
  1159. 0x222 {
  1160. 0x225 }
  1161. 0x225 Else
  1162. 0x225 {
  1163. 0x228 If (Random MOD 4 == 1)
  1164. 0x228 {
  1165. 0x22D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1166. 0x235 Perform("Right Thrust"[03CD], EnemyAttack)
  1167. 0x23B }
  1168. 0x23B Else
  1169. 0x23B {
  1170. 0x23E }
  1171. 0x23E Else
  1172. 0x23E {
  1173. 0x241 If (Random MOD 4 == 2)
  1174. 0x241 {
  1175. 0x246 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1176. 0x24E Perform("Left Revenge"[03CE], EnemyAttack)
  1177. 0x254 }
  1178. 0x254 Else
  1179. 0x254 {
  1180. 0x257 }
  1181. 0x257 Else
  1182. 0x257 {
  1183. 0x25A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1184. 0x262 Perform("Left Thrust"[03CF], EnemyAttack)
  1185. 0x268 }
  1186. 0x268 Else
  1187. 0x268 {
  1188. 0x26B POP(Random MOD 4)
  1189. 0x26C }
  1190. 0x26C Else
  1191. 0x26C {
  1192. 0x26F POP(Random MOD 6)
  1193. 0x270 }
  1194. 0x270 Else
  1195. 0x270 {
  1196. 0x273 If ( ( (LocalVar:TurnCount > 25) And (LocalVar:AttackConfirmed == 0) ) )
  1197. 0x273 {
  1198. 0x283 If ( ( (BitCount(BattleAddr(&AllPlayers)) > 2) And (LocalVar:Stage == 1) ) )
  1199. 0x283 {
  1200. 0x294 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1201. 0x29C Perform("Whirlsand"[03C9], EnemyAttack)
  1202. 0x2A2 LocalVar:AttackConfirmed <- 1
  1203. 0x2A8 }
  1204. 0x2A8 Else
  1205. 0x2A8 {
  1206. 0x2AB If (Random MOD 6 == 0)
  1207. 0x2AB {
  1208. 0x2B4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1209. 0x2BC Perform("Ruby Flame"[03CA], EnemyAttack)
  1210. 0x2C2 }
  1211. 0x2C2 Else
  1212. 0x2C2 {
  1213. 0x2C5 }
  1214. 0x2C5 Else
  1215. 0x2C5 {
  1216. 0x2C8 If (Random MOD 6 == 1)
  1217. 0x2C8 {
  1218. 0x2CD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1219. 0x2D5 Perform("Ruby Ray"[03CB], EnemyAttack)
  1220. 0x2DB }
  1221. 0x2DB Else
  1222. 0x2DB {
  1223. 0x2DE }
  1224. 0x2DE Else
  1225. 0x2DE {
  1226. 0x2E1 If (Random MOD 6 == 2)
  1227. 0x2E1 {
  1228. 0x2E6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1229. 0x2EE Perform("Shadow Flare"[005E], EnemyAttack)
  1230. 0x2F3 }
  1231. 0x2F3 Else
  1232. 0x2F3 {
  1233. 0x2F6 }
  1234. 0x2F6 Else
  1235. 0x2F6 {
  1236. 0x2F9 If (Random MOD 6 == 3)
  1237. 0x2F9 {
  1238. 0x2FE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1239. 0x306 Perform("Ultima"[0034], EnemyAttack)
  1240. 0x30B }
  1241. 0x30B Else
  1242. 0x30B {
  1243. 0x30E }
  1244. 0x30E Else
  1245. 0x30E {
  1246. 0x311 If (Random MOD 4 == 0)
  1247. 0x311 {
  1248. 0x31A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1249. 0x322 Perform("Right Thrust"[03CD], EnemyAttack)
  1250. 0x328 }
  1251. 0x328 Else
  1252. 0x328 {
  1253. 0x32B }
  1254. 0x32B Else
  1255. 0x32B {
  1256. 0x32E If (Random MOD 4 == 1)
  1257. 0x32E {
  1258. 0x333 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1259. 0x33B Perform("Right Revenge"[03CC], EnemyAttack)
  1260. 0x341 }
  1261. 0x341 Else
  1262. 0x341 {
  1263. 0x344 }
  1264. 0x344 Else
  1265. 0x344 {
  1266. 0x347 If (Random MOD 4 == 2)
  1267. 0x347 {
  1268. 0x34C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1269. 0x354 Perform("Left Thrust"[03CF], EnemyAttack)
  1270. 0x35A }
  1271. 0x35A Else
  1272. 0x35A {
  1273. 0x35D }
  1274. 0x35D Else
  1275. 0x35D {
  1276. 0x360 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1277. 0x368 Perform("Left Revenge"[03CE], EnemyAttack)
  1278. 0x36E }
  1279. 0x36E Else
  1280. 0x36E {
  1281. 0x371 POP(Random MOD 4)
  1282. 0x372 }
  1283. 0x372 Else
  1284. 0x372 {
  1285. 0x375 POP(Random MOD 6)
  1286. 0x376 }
  1287. 0x376 Else
  1288. 0x376 {
  1289. 0x379 If ( ( (LocalVar:TurnCount > 10) And (LocalVar:AttackConfirmed == 0) ) )
  1290. 0x379 {
  1291. 0x389 LocalVar:AttackConfirmed <- 0
  1292. 0x38F If (Random MOD 6 == 0)
  1293. 0x38F {
  1294. 0x398 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1295. 0x3A0 Perform("Ruby Flame"[03CA], EnemyAttack)
  1296. 0x3A6 }
  1297. 0x3A6 Else
  1298. 0x3A6 {
  1299. 0x3A9 }
  1300. 0x3A9 Else
  1301. 0x3A9 {
  1302. 0x3AC If (Random MOD 6 == 1)
  1303. 0x3AC {
  1304. 0x3B1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1305. 0x3B9 Perform("Ruby Ray"[03CB], EnemyAttack)
  1306. 0x3BF }
  1307. 0x3BF Else
  1308. 0x3BF {
  1309. 0x3C2 }
  1310. 0x3C2 Else
  1311. 0x3C2 {
  1312. 0x3C5 If (Random MOD 6 == 2)
  1313. 0x3C5 {
  1314. 0x3CA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1315. 0x3D2 Perform("Shadow Flare"[005E], EnemyAttack)
  1316. 0x3D7 }
  1317. 0x3D7 Else
  1318. 0x3D7 {
  1319. 0x3DA }
  1320. 0x3DA Else
  1321. 0x3DA {
  1322. 0x3DD If (Random MOD 6 == 3)
  1323. 0x3DD {
  1324. 0x3E2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1325. 0x3EA Perform("Ultima"[0034], EnemyAttack)
  1326. 0x3EF }
  1327. 0x3EF Else
  1328. 0x3EF {
  1329. 0x3F2 }
  1330. 0x3F2 Else
  1331. 0x3F2 {
  1332. 0x3F5 If (Random MOD 2 == 0)
  1333. 0x3F5 {
  1334. 0x3FE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1335. 0x406 Perform("Right Revenge"[03CC], EnemyAttack)
  1336. 0x40C }
  1337. 0x40C Else
  1338. 0x40C {
  1339. 0x40F }
  1340. 0x40F Else
  1341. 0x40F {
  1342. 0x412 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1343. 0x41A Perform("Left Revenge"[03CE], EnemyAttack)
  1344. 0x420 }
  1345. 0x420 Else
  1346. 0x420 {
  1347. 0x423 POP(Random MOD 2)
  1348. 0x424 }
  1349. 0x424 Else
  1350. 0x424 {
  1351. 0x427 POP(Random MOD 6)
  1352. 0x428 }
  1353. 0x428 Else
  1354. 0x428 {
  1355. 0x42B If ( (LocalVar:AttackConfirmed == 0) )
  1356. 0x42B {
  1357. 0x434 If (Random MOD 4 == 0)
  1358. 0x434 {
  1359. 0x43D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1360. 0x445 Perform("Ruby Flame"[03CA], EnemyAttack)
  1361. 0x44B }
  1362. 0x44B Else
  1363. 0x44B {
  1364. 0x44E }
  1365. 0x44E Else
  1366. 0x44E {
  1367. 0x451 If (Random MOD 4 == 1)
  1368. 0x451 {
  1369. 0x456 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1370. 0x45E Perform("Left Revenge"[03CE], EnemyAttack)
  1371. 0x464 }
  1372. 0x464 Else
  1373. 0x464 {
  1374. 0x467 }
  1375. 0x467 Else
  1376. 0x467 {
  1377. 0x46A If (Random MOD 4 == 2)
  1378. 0x46A {
  1379. 0x46F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1380. 0x477 Perform("Right Revenge"[03CC], EnemyAttack)
  1381. 0x47D }
  1382. 0x47D Else
  1383. 0x47D {
  1384. 0x480 }
  1385. 0x480 Else
  1386. 0x480 {
  1387. 0x483 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1388. 0x48B Perform("Ruby Ray"[03CB], EnemyAttack)
  1389. 0x491 }
  1390. 0x491 Else
  1391. 0x491 {
  1392. 0x494 POP(Random MOD 4)
  1393. 0x495 }
  1394. 0x495 Else
  1395. 0x495 {
  1396. 0x498 If ( (LocalVar:Stage == 0) )
  1397. 0x498 {
  1398. 0x4A1 If ( (LocalVar:TurnCount > 15) )
  1399. 0x4A1 {
  1400. 0x4AA If (Random MOD 5 == 0)
  1401. 0x4AA {
  1402. 0x4B3 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1403. 0x4BA Perform(" "[03D0], EnemyAttack)
  1404. 0x4C0 LocalVar:Stage <- 1
  1405. 0x4C6 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 8
  1406. 0x4D0 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  1407. 0x4DA BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  1408. 0x4E4 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  1409. 0x4EE LocalVar:Ruby'sTentacleB.BattleAddr(&DeathStatus) <- 0
  1410. 0x4F8 LocalVar:Ruby'sTentacleA.BattleAddr(&DeathStatus) <- 0
  1411. 0x502 LocalVar:Ruby'sTentacleB.BattleAddr(&DeathImmunity) <- 1
  1412. 0x50C LocalVar:Ruby'sTentacleA.BattleAddr(&DeathImmunity) <- 1
  1413. 0x516 LocalVar:Ruby'sTentacleB.BattleAddr(&CurrentHP) <- LocalVar:Ruby'sTentacleB.BattleAddr(&MaxHP)
  1414. 0x525 LocalVar:Ruby'sTentacleA.BattleAddr(&CurrentHP) <- LocalVar:Ruby'sTentacleA.BattleAddr(&MaxHP)
  1415. 0x534 LocalVar:Ruby'sTentacleB.BattleAddr(&Targetable) <- 1
  1416. 0x53E LocalVar:Ruby'sTentacleA.BattleAddr(&Targetable) <- 1
  1417. 0x548 LocalVar:Ruby'sTentacleB.BattleAddr(&AIScriptActive) <- 0
  1418. 0x552 LocalVar:Ruby'sTentacleA.BattleAddr(&AIScriptActive) <- 0
  1419. 0x55C }
  1420. 0x55C Else
  1421. 0x55C {
  1422. 0x55F }
  1423. 0x55F Else
  1424. 0x55F {
  1425. 0x562 If (Random MOD 5 == 1)
  1426. 0x562 {
  1427. 0x567 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1428. 0x56E Perform("Big Swing"[03C7], EnemyAttack)
  1429. 0x574 }
  1430. 0x574 Else
  1431. 0x574 {
  1432. 0x577 }
  1433. 0x577 Else
  1434. 0x577 {
  1435. 0x57A If (Random MOD 5 == 2)
  1436. 0x57A {
  1437. 0x57F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1438. 0x587 Perform("Big Claw"[03C6], EnemyAttack)
  1439. 0x58D }
  1440. 0x58D Else
  1441. 0x58D {
  1442. 0x590 }
  1443. 0x590 Else
  1444. 0x590 {
  1445. 0x593 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1446. 0x59A Perform("Comet2"[002E], EnemyAttack)
  1447. 0x59F }
  1448. 0x59F Else
  1449. 0x59F {
  1450. 0x5A2 POP(Random MOD 5)
  1451. 0x5A3 }
  1452. 0x5A3 Else
  1453. 0x5A3 {
  1454. 0x5A6 If ( (LocalVar:TurnCount > 6) )
  1455. 0x5A6 {
  1456. 0x5AF If (Random MOD 3 == 0)
  1457. 0x5AF {
  1458. 0x5B8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1459. 0x5C0 Perform("Big Claw"[03C6], EnemyAttack)
  1460. 0x5C6 }
  1461. 0x5C6 Else
  1462. 0x5C6 {
  1463. 0x5C9 }
  1464. 0x5C9 Else
  1465. 0x5C9 {
  1466. 0x5CC If (Random MOD 3 == 1)
  1467. 0x5CC {
  1468. 0x5D1 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1469. 0x5D8 Perform("Big Swing"[03C7], EnemyAttack)
  1470. 0x5DE }
  1471. 0x5DE Else
  1472. 0x5DE {
  1473. 0x5E1 }
  1474. 0x5E1 Else
  1475. 0x5E1 {
  1476. 0x5E4 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1477. 0x5EB Perform("Comet2"[002E], EnemyAttack)
  1478. 0x5F0 }
  1479. 0x5F0 Else
  1480. 0x5F0 {
  1481. 0x5F3 POP(Random MOD 3)
  1482. 0x5F4 }
  1483. 0x5F4 Else
  1484. 0x5F4 {
  1485. 0x5F7 If ( (BitCount(BattleAddr(&AllPlayers)) > 1) )
  1486. 0x5F7 {
  1487. 0x601 If (LocalVar:TurnCount MOD 3 == 1)
  1488. 0x601 {
  1489. 0x60C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1490. 0x614 Perform("Big Claw"[03C6], EnemyAttack)
  1491. 0x61A }
  1492. 0x61A Else
  1493. 0x61A {
  1494. 0x61D }
  1495. 0x61D Else
  1496. 0x61D {
  1497. 0x620 If (LocalVar:TurnCount MOD 3 == 0)
  1498. 0x620 {
  1499. 0x625 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1500. 0x62D Perform("Whirlsand"[03C8], EnemyAttack)
  1501. 0x633 }
  1502. 0x633 Else
  1503. 0x633 {
  1504. 0x636 }
  1505. 0x636 Else
  1506. 0x636 {
  1507. 0x639 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1508. 0x640 Perform("Big Swing"[03C7], EnemyAttack)
  1509. 0x646 }
  1510. 0x646 Else
  1511. 0x646 {
  1512. 0x649 POP(LocalVar:TurnCount MOD 3)
  1513. 0x64A }
  1514. 0x64A Else
  1515. 0x64A {
  1516. 0x64D If ( (BitCount(BattleAddr(&AllPlayers)) < 2) )
  1517. 0x64D {
  1518. 0x657 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1519. 0x65E Perform(" "[03D0], EnemyAttack)
  1520. 0x664 LocalVar:Stage <- 1
  1521. 0x66A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 8
  1522. 0x674 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  1523. 0x67E BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  1524. 0x688 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  1525. 0x692 LocalVar:Ruby'sTentacleB.BattleAddr(&DeathStatus) <- 0
  1526. 0x69C LocalVar:Ruby'sTentacleA.BattleAddr(&DeathStatus) <- 0
  1527. 0x6A6 LocalVar:Ruby'sTentacleB.BattleAddr(&DeathImmunity) <- 1
  1528. 0x6B0 LocalVar:Ruby'sTentacleA.BattleAddr(&DeathImmunity) <- 1
  1529. 0x6BA LocalVar:Ruby'sTentacleB.BattleAddr(&CurrentHP) <- LocalVar:Ruby'sTentacleB.BattleAddr(&MaxHP)
  1530. 0x6C9 LocalVar:Ruby'sTentacleA.BattleAddr(&CurrentHP) <- LocalVar:Ruby'sTentacleA.BattleAddr(&MaxHP)
  1531. 0x6D8 LocalVar:Ruby'sTentacleB.BattleAddr(&Targetable) <- 1
  1532. 0x6E2 LocalVar:Ruby'sTentacleA.BattleAddr(&Targetable) <- 1
  1533. 0x6EC LocalVar:Ruby'sTentacleB.BattleAddr(&AIScriptActive) <- 0
  1534. 0x6F6 LocalVar:Ruby'sTentacleA.BattleAddr(&AIScriptActive) <- 0
  1535. 0x700 }
  1536. 0x700 Else
  1537. 0x700 {
  1538. 0x703 If (Random MOD 3 == 0)
  1539. 0x703 {
  1540. 0x70C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1541. 0x714 Perform("Big Claw"[03C6], EnemyAttack)
  1542. 0x71A }
  1543. 0x71A Else
  1544. 0x71A {
  1545. 0x71D }
  1546. 0x71D Else
  1547. 0x71D {
  1548. 0x720 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1549. 0x727 Perform("Big Swing"[03C7], EnemyAttack)
  1550. 0x72D }
  1551. 0x72D Else
  1552. 0x72D {
  1553. 0x730 POP(Random MOD 3)
  1554. 0x731SCRIPT END
  1555.  
  1556.  
  1557. GENERAL COUNTER:
  1558.  
  1559. 0x000LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  1560. 0x00BLocalVar:HPDiff <- LocalVar:TempHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  1561. 0x01ALocalVar:TempHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  1562. 0x025 If ( ( (BitCount(BattleAddr(&AllPlayers)) > 1) And (LocalVar:Stage == 0) ) )
  1563. 0x025 {
  1564. 0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1565. 0x03E Perform("Whirlsand"[03C8], EnemyAttack)
  1566. 0x044 }
  1567. 0x044 Else
  1568. 0x044 {
  1569. 0x047 If ( (LocalVar:Stage == 1) )
  1570. 0x047 {
  1571. 0x050 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  1572. 0x05B If ( ( ( (BattleAddr(&LastCommndID) == 3) Or (BattleAddr(&LastCommndID) == 22) ) And (BattleAddr(&LastAttIndex) == 71) ) )
  1573. 0x05B {
  1574. 0x072 Perform("Ultima"[0034], EnemyAttack)
  1575. 0x077 }
  1576. 0x077 Else
  1577. 0x077 {
  1578. 0x07A If (Random MOD 2 == 0)
  1579. 0x07A {
  1580. 0x083 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1581. 0x08B Perform("Right Thrust"[03CD], EnemyAttack)
  1582. 0x091 }
  1583. 0x091 Else
  1584. 0x091 {
  1585. 0x094 }
  1586. 0x094 Else
  1587. 0x094 {
  1588. 0x097 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1589. 0x09F Perform("Left Thrust"[03CF], EnemyAttack)
  1590. 0x0A5 }
  1591. 0x0A5 Else
  1592. 0x0A5 {
  1593. 0x0A8 POP(Random MOD 2)
  1594. 0x0A9SCRIPT END
  1595.  
  1596.  
  1597. DEATH COUNTER:
  1598.  
  1599. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1600. 0x007BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  1601. 0x011Perform("Vanish"[014E], EnemyAttack)
  1602. 0x017BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  1603. 0x021TempGlobal <- &GlobalVar(WeaponsKilled)
  1604. 0x026BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 8
  1605. 0x030GlobalVar(WeaponsKilled) <- &TempGlobal)
  1606. 0x035SCRIPT END
  1607.  
  1608.  
  1609.  
  1610.  
  1611. 12 - [0C] Ruby's Tentacle
  1612.  
  1613. No Script exists for Ruby's Tentacle
  1614.  
  1615.  
  1616.  
  1617.  
  1618. 13 - [0D] Emerald Weapon
  1619.  
  1620.  
  1621. LocalVar:0000 = LocalVar:Count
  1622. LocalVar:0020 = Unused
  1623. LocalVar:0040 = Unused
  1624. LocalVar:0060 = LocalVar:Stage
  1625. LocalVar:0080 = LocalVar:Angry
  1626. LocalVar:00A0 = LocalVar:HitCount
  1627. LocalVar:00C0 = LocalVar:EyeFlagBit
  1628. LocalVar:00E0 = LocalVar:Leg
  1629.  
  1630. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  1631.  
  1632. &1 0x01 = Ultimate Weapon Killed
  1633. &4 0x04 = Ultimate Weapon HP Critical
  1634. &8 0x08 = Ruby Weapon Killed
  1635. &16 0x10 = Emerald Weapon Killed
  1636.  
  1637. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  1638. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  1639. BattleAddr(&2060) = BattleAddr(&Self)
  1640. BattleAddr(&2070) = BattleAddr(&TarSelected)
  1641. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  1642. BattleAddr(&2150) = BattleAddr(&LastAttIndex)
  1643. BattleAddr(&21A0) = BattleAddr(&EyesAlive)
  1644.  
  1645. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  1646. BattleAddr(&4023) = BattleAddr(&Targetable)
  1647. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  1648. BattleAddr(&402D) = BattleAddr(&SelfDead)
  1649. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  1650. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  1651. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  1652. BattleAddr(&4180) = BattleAddr(&MaxHP)
  1653.  
  1654.  
  1655.  
  1656. PRE-BATTLE:
  1657.  
  1658. 0x000BattleAddr(&EyesAlive) <- 0
  1659. 0x006SCRIPT END
  1660.  
  1661.  
  1662. MAIN:
  1663.  
  1664. 0x000LocalVar:Leg <- FlagBit(5)
  1665. 0x007 If (LocalVar:Count == 0)
  1666. 0x007 {
  1667. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1668. 0x017 Perform("Emerald Shoot"[03D8], EnemyAttack)
  1669. 0x01D If ( (Random MOD 3 != 0) )
  1670. 0x01D {
  1671. 0x027 LocalVar:Count <- LocalVar:Count + 1
  1672. 0x031 If ( (LocalVar:Angry != 0) )
  1673. 0x031 {
  1674. 0x03A LocalVar:Count <- 3
  1675. 0x040 }
  1676. 0x040 Else
  1677. 0x040 {
  1678. 0x043 }
  1679. 0x043 Else
  1680. 0x043 {
  1681. 0x046 If (LocalVar:Count == 1)
  1682. 0x046 {
  1683. 0x04B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1684. 0x052 Perform("Foot Stamp"[03D7], EnemyAttack)
  1685. 0x058 If ( (Random MOD 5 != 0) )
  1686. 0x058 {
  1687. 0x062 LocalVar:Count <- LocalVar:Count + 1
  1688. 0x06C If ( (LocalVar:Angry != 0) )
  1689. 0x06C {
  1690. 0x075 LocalVar:Count <- 2
  1691. 0x07B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  1692. 0x07B {
  1693. 0x090 LocalVar:Count <- 2
  1694. 0x096 }
  1695. 0x096 Else
  1696. 0x096 {
  1697. 0x099 }
  1698. 0x099 Else
  1699. 0x099 {
  1700. 0x09C If (LocalVar:Count == 2)
  1701. 0x09C {
  1702. 0x0A1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1703. 0x0A9 Perform("Emerald Shoot"[03D8], EnemyAttack)
  1704. 0x0AF LocalVar:Count <- LocalVar:Count + 1
  1705. 0x0B9 }
  1706. 0x0B9 Else
  1707. 0x0B9 {
  1708. 0x0BC }
  1709. 0x0BC Else
  1710. 0x0BC {
  1711. 0x0BF If (LocalVar:Count == 3)
  1712. 0x0BF {
  1713. 0x0C4 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1714. 0x0CB Perform([011F], EnemyAttack)
  1715. 0x0D1 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  1716. 0x0DB BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  1717. 0x0E5 LocalVar:Leg.BattleAddr(&IdleAnimID) <- 7
  1718. 0x0EF LocalVar:Leg.BattleAddr(&DamagedAnimID) <- 8
  1719. 0x0F9 LocalVar:Stage <- 1
  1720. 0x0FF BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1721. 0x106 Perform("Emerald Beam"[03DC], EnemyAttack)
  1722. 0x10C LocalVar:Count <- LocalVar:Count + 1
  1723. 0x116 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  1724. 0x116 {
  1725. 0x12B LocalVar:Count <- 4
  1726. 0x131 If ( (LocalVar:Angry != 0) )
  1727. 0x131 {
  1728. 0x13A LocalVar:Count <- 6
  1729. 0x140 BattleAddr(&EyesAlive) <- 4
  1730. 0x146 LocalVar:EyeFlagBit <- FlagBit(6)
  1731. 0x14D LocalVar:EyeFlagBit.BattleAddr(&DeathStatus) <- 0
  1732. 0x157 LocalVar:EyeFlagBit.BattleAddr(&SelfDead) <- 0
  1733. 0x161 LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 1
  1734. 0x16B LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 1
  1735. 0x175 LocalVar:EyeFlagBit.BattleAddr(&CurrentHP) <- LocalVar:EyeFlagBit.BattleAddr(&MaxHP)
  1736. 0x184 LocalVar:EyeFlagBit <- FlagBit(7)
  1737. 0x18B LocalVar:EyeFlagBit.BattleAddr(&DeathStatus) <- 0
  1738. 0x195 LocalVar:EyeFlagBit.BattleAddr(&SelfDead) <- 0
  1739. 0x19F LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 1
  1740. 0x1A9 LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 1
  1741. 0x1B3 LocalVar:EyeFlagBit.BattleAddr(&CurrentHP) <- LocalVar:EyeFlagBit.BattleAddr(&MaxHP)
  1742. 0x1C2 LocalVar:EyeFlagBit <- FlagBit(8)
  1743. 0x1C9 LocalVar:EyeFlagBit.BattleAddr(&DeathStatus) <- 0
  1744. 0x1D3 LocalVar:EyeFlagBit.BattleAddr(&SelfDead) <- 0
  1745. 0x1DD LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 1
  1746. 0x1E7 LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 1
  1747. 0x1F1 LocalVar:EyeFlagBit.BattleAddr(&CurrentHP) <- LocalVar:EyeFlagBit.BattleAddr(&MaxHP)
  1748. 0x200 LocalVar:EyeFlagBit <- FlagBit(9)
  1749. 0x207 LocalVar:EyeFlagBit.BattleAddr(&DeathStatus) <- 0
  1750. 0x211 LocalVar:EyeFlagBit.BattleAddr(&SelfDead) <- 0
  1751. 0x21B LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 1
  1752. 0x225 LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 1
  1753. 0x22F LocalVar:EyeFlagBit.BattleAddr(&CurrentHP) <- LocalVar:EyeFlagBit.BattleAddr(&MaxHP)
  1754. 0x23E }
  1755. 0x23E Else
  1756. 0x23E {
  1757. 0x241 }
  1758. 0x241 Else
  1759. 0x241 {
  1760. 0x244 If (LocalVar:Count == 3)
  1761. 0x244 {
  1762. 0x249 LocalVar:Count <- LocalVar:Count + 1
  1763. 0x253 If ( (LocalVar:Angry != 0) )
  1764. 0x253 {
  1765. 0x25C LocalVar:Count <- 6
  1766. 0x262 If ( (BattleAddr(&EyesAlive) == 0) )
  1767. 0x262 {
  1768. 0x26B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1769. 0x272 Perform([0120], EnemyAttack)
  1770. 0x278 LocalVar:Count <- 0
  1771. 0x27E BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  1772. 0x288 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  1773. 0x292 LocalVar:Leg.BattleAddr(&IdleAnimID) <- 0
  1774. 0x29C LocalVar:Leg.BattleAddr(&DamagedAnimID) <- 1
  1775. 0x2A6 LocalVar:Stage <- 0
  1776. 0x2AC }
  1777. 0x2AC Else
  1778. 0x2AC {
  1779. 0x2AF }
  1780. 0x2AF Else
  1781. 0x2AF {
  1782. 0x2B2 If (LocalVar:Count == 4)
  1783. 0x2B2 {
  1784. 0x2B7 LocalVar:Count <- LocalVar:Count + 1
  1785. 0x2C1 If ( (LocalVar:Angry != 0) )
  1786. 0x2C1 {
  1787. 0x2CA LocalVar:Count <- 6
  1788. 0x2D0 If ( (BattleAddr(&EyesAlive) == 0) )
  1789. 0x2D0 {
  1790. 0x2D9 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1791. 0x2E0 Perform([0120], EnemyAttack)
  1792. 0x2E6 LocalVar:Count <- 0
  1793. 0x2EC BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  1794. 0x2F6 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  1795. 0x300 LocalVar:Leg.BattleAddr(&IdleAnimID) <- 0
  1796. 0x30A LocalVar:Leg.BattleAddr(&DamagedAnimID) <- 1
  1797. 0x314 LocalVar:Stage <- 0
  1798. 0x31A }
  1799. 0x31A Else
  1800. 0x31A {
  1801. 0x31D }
  1802. 0x31D Else
  1803. 0x31D {
  1804. 0x320 If (LocalVar:Count == 5)
  1805. 0x320 {
  1806. 0x325 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1807. 0x32C Perform("Emerald Beam"[03DC], EnemyAttack)
  1808. 0x332 LocalVar:Count <- LocalVar:Count + 1
  1809. 0x33C If ( (BattleAddr(&EyesAlive) == 0) )
  1810. 0x33C {
  1811. 0x345 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1812. 0x34C Perform([0120], EnemyAttack)
  1813. 0x352 LocalVar:Count <- 0
  1814. 0x358 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  1815. 0x362 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  1816. 0x36C LocalVar:Leg.BattleAddr(&IdleAnimID) <- 0
  1817. 0x376 LocalVar:Leg.BattleAddr(&DamagedAnimID) <- 1
  1818. 0x380 LocalVar:Stage <- 0
  1819. 0x386 }
  1820. 0x386 Else
  1821. 0x386 {
  1822. 0x389 }
  1823. 0x389 Else
  1824. 0x389 {
  1825. 0x38C LocalVar:Count <- 5
  1826. 0x392 If ( (BattleAddr(&EyesAlive) != 0) )
  1827. 0x392 {
  1828. 0x39B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1829. 0x3A2 Perform("Aire Tam Storm"[03E1], EnemyAttack)
  1830. 0x3A8 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) > BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  1831. 0x3A8 {
  1832. 0x3BD LocalVar:Angry <- 0
  1833. 0x3C3 }
  1834. 0x3C3 Else
  1835. 0x3C3 {
  1836. 0x3C6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1837. 0x3CD Perform([0120], EnemyAttack)
  1838. 0x3D3 LocalVar:Count <- 0
  1839. 0x3D9 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  1840. 0x3E3 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  1841. 0x3ED LocalVar:Leg.BattleAddr(&IdleAnimID) <- 0
  1842. 0x3F7 LocalVar:Leg.BattleAddr(&DamagedAnimID) <- 1
  1843. 0x401 LocalVar:Stage <- 0
  1844. 0x407 }
  1845. 0x407 Else
  1846. 0x407 {
  1847. 0x40APOP(LocalVar:Count)
  1848. 0x40BSCRIPT END
  1849.  
  1850.  
  1851. GENERAL COUNTER:
  1852. Limit
  1853. 0x000 If ( ( ( (BattleAddr(&LastCommndID) != 20) And (LocalVar:Stage == 1) ) And (BattleAddr(&EyesAlive) != 0) ) )
  1854. 0x000 { Bahamut Neo Bahamut Bahamut ZERO
  1855. 0x017 If ( ( ( (BattleAddr(&LastAttIndex) == 63) Or (BattleAddr(&LastAttIndex) == 67) ) Or (BattleAddr(&LastAttIndex) == 70) ) )
  1856. 0x017 { Reagan Greens Tantal Greens
  1857. 0x02E LocalVar:Angry <- 0
  1858. 0x034 }
  1859. 0x034 Else
  1860. 0x034 {
  1861. 0x037 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1862. 0x03E Perform("Revenge Stamp"[03DA], EnemyAttack)
  1863. 0x044 LocalVar:HitCount <- LocalVar:HitCount + 1
  1864. 0x04E If ( (LocalVar:HitCount >= 10) )
  1865. 0x04E {
  1866. 0x057 LocalVar:Angry <- 1
  1867. 0x05D If ( (BattleAddr(&LastAttIndex) == 71) ) [KOTR]
  1868. 0x05D {
  1869. 0x066 LocalVar:Angry <- 1
  1870. 0x06C If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) And (LocalVar:Stage == 1) ) )
  1871. 0x06C {
  1872. 0x088 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  1873. 0x08F Perform("Aire Tam Storm"[03E1], EnemyAttack)
  1874. 0x095SCRIPT END
  1875.  
  1876.  
  1877. DEATH COUNTER:
  1878.  
  1879. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  1880. 0x007Perform("Vanish"[014E], EnemyAttack)
  1881. 0x00DLocalVar:EyeFlagBit <- FlagBit(6)
  1882. 0x014LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 0
  1883. 0x01ELocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 0
  1884. 0x028LocalVar:EyeFlagBit <- FlagBit(7)
  1885. 0x02FLocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 0
  1886. 0x039LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 0
  1887. 0x043LocalVar:EyeFlagBit <- FlagBit(8)
  1888. 0x04ALocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 0
  1889. 0x054LocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 0
  1890. 0x05ELocalVar:EyeFlagBit <- FlagBit(9)
  1891. 0x065LocalVar:EyeFlagBit.BattleAddr(&Targetable) <- 0
  1892. 0x06FLocalVar:EyeFlagBit.BattleAddr(&AIScriptActive) <- 0
  1893. 0x079TempGlobal <- &GlobalVar(WeaponsKilled)
  1894. 0x07EBattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 16
  1895. 0x088GlobalVar(WeaponsKilled) <- &TempGlobal)
  1896. 0x08DSCRIPT END
  1897.  
  1898.  
  1899.  
  1900.  
  1901. 14 - [0E] Leg
  1902.  
  1903.  
  1904. MAIN:
  1905.  
  1906. 0x000: END
  1907.  
  1908.  
  1909.  
  1910.  
  1911. 15 - [0F] Eye
  1912.  
  1913.  
  1914. BattleAddr(&2060) = BattleAddr(&Self)
  1915. BattleAddr(&2070) = BattleAddr(&TarSelected)
  1916. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  1917. BattleAddr(&21A0) = BattleAddr(&EyesAlive)
  1918.  
  1919. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  1920. BattleAddr(&40A0) = BattleAddr(&Dexterity)
  1921. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  1922.  
  1923.  
  1924.  
  1925. PRE-BATTLE:
  1926.  
  1927. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  1928. 0x000 {
  1929. 0x00C BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 10
  1930. 0x016 BattleAddr(&Self).BattleAddr(&Dexterity) <- 150
  1931. 0x020 }
  1932. 0x020 Else
  1933. 0x020 {
  1934. 0x023 }
  1935. 0x023 Else
  1936. 0x023 {
  1937. 0x026 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  1938. 0x026 {
  1939. 0x02B BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 8
  1940. 0x035 BattleAddr(&Self).BattleAddr(&Dexterity) <- 250
  1941. 0x03F }
  1942. 0x03F Else
  1943. 0x03F {
  1944. 0x042 }
  1945. 0x042 Else
  1946. 0x042 {
  1947. 0x045 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  1948. 0x045 {
  1949. 0x04A BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 21
  1950. 0x054 BattleAddr(&Self).BattleAddr(&Dexterity) <- 250
  1951. 0x05E }
  1952. 0x05E Else
  1953. 0x05E {
  1954. 0x061 }
  1955. 0x061 Else
  1956. 0x061 {
  1957. 0x064 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 23
  1958. 0x06E BattleAddr(&Self).BattleAddr(&Dexterity) <- 150
  1959. 0x078 }
  1960. 0x078 Else
  1961. 0x078 {
  1962. 0x07BPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  1963. 0x07CSCRIPT END
  1964.  
  1965.  
  1966. MAIN:
  1967.  
  1968. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  1969. 0x000 {
  1970. 0x00C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1971. 0x014 Perform("Emerald Laser"[03DD], EnemyAttack)
  1972. 0x01A }
  1973. 0x01A Else
  1974. 0x01A {
  1975. 0x01D }
  1976. 0x01D Else
  1977. 0x01D {
  1978. 0x020 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  1979. 0x020 {
  1980. 0x025 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1981. 0x02D Perform("Emerald Laser"[03DE], EnemyAttack)
  1982. 0x033 }
  1983. 0x033 Else
  1984. 0x033 {
  1985. 0x036 }
  1986. 0x036 Else
  1987. 0x036 {
  1988. 0x039 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  1989. 0x039 {
  1990. 0x03E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1991. 0x046 Perform("Emerald Laser"[03DF], EnemyAttack)
  1992. 0x04C }
  1993. 0x04C Else
  1994. 0x04C {
  1995. 0x04F }
  1996. 0x04F Else
  1997. 0x04F {
  1998. 0x052 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  1999. 0x05A Perform("Emerald Laser"[03E0], EnemyAttack)
  2000. 0x060 }
  2001. 0x060 Else
  2002. 0x060 {
  2003. 0x063POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  2004. 0x064SCRIPT END
  2005.  
  2006.  
  2007. DEATH COUNTER:
  2008.  
  2009. 0x000BattleAddr(&EyesAlive) <- BattleAddr(&EyesAlive) - 1
  2010. 0x00A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  2011. 0x00A {
  2012. 0x016 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2013. 0x01D Perform("Vanish"[0150], EnemyAttack)
  2014. 0x023 }
  2015. 0x023 Else
  2016. 0x023 {
  2017. 0x026 }
  2018. 0x026 Else
  2019. 0x026 {
  2020. 0x029 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  2021. 0x029 {
  2022. 0x02E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2023. 0x035 Perform("Vanish"[014E], EnemyAttack)
  2024. 0x03B }
  2025. 0x03B Else
  2026. 0x03B {
  2027. 0x03E }
  2028. 0x03E Else
  2029. 0x03E {
  2030. 0x041 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  2031. 0x041 {
  2032. 0x046 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2033. 0x04D Perform("Vanish"[014E], EnemyAttack)
  2034. 0x053 }
  2035. 0x053 Else
  2036. 0x053 {
  2037. 0x056 }
  2038. 0x056 Else
  2039. 0x056 {
  2040. 0x059 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2041. 0x060 Perform("Vanish"[0150], EnemyAttack)
  2042. 0x066 }
  2043. 0x066 Else
  2044. 0x066 {
  2045. 0x069POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  2046. 0x06ASCRIPT END
  2047.  
  2048.  
  2049.  
  2050.  
  2051. 16 - [10] MP
  2052.  
  2053.  
  2054. LocalVar:0000 = LovalVar:SelfRow
  2055. LocalVar:0020 = LovalVar:PlayerRow
  2056. LocalVar:0040 = LovalVar:EnemyRow
  2057. LocalVar:0060 = LocalVar:Random
  2058. LocalVar:0080 = LocalVar:EnemyAttack
  2059.  
  2060. BattleAddr(&2060) = BattleAddr(&Self)
  2061. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2062. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  2063. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2064.  
  2065. BattleAddr(&4026) = BattleAddr(&BackRow)
  2066.  
  2067.  
  2068.  
  2069. MAIN:
  2070.  
  2071. 0x000LovalVar:PlayerRow <- 0
  2072. 0x006LovalVar:EnemyRow <- 0
  2073. 0x00CLovalVar:SelfRow <- 0
  2074. 0x012 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 0) )
  2075. 0x012 {
  2076. 0x01F LovalVar:EnemyRow <- LovalVar:EnemyRow AND 1
  2077. 0x029 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 1) )
  2078. 0x029 {
  2079. 0x036 LovalVar:EnemyRow <- LovalVar:EnemyRow AND 2
  2080. 0x040 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2081. 0x040 {
  2082. 0x04D LovalVar:PlayerRow <- LovalVar:PlayerRow AND 1
  2083. 0x057 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2084. 0x057 {
  2085. 0x064 LovalVar:PlayerRow <- LovalVar:PlayerRow AND 2
  2086. 0x06E If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  2087. 0x06E {
  2088. 0x07B LovalVar:SelfRow <- 0
  2089. 0x081 }
  2090. 0x081 Else
  2091. 0x081 {
  2092. 0x084 LovalVar:SelfRow <- 1
  2093. 0x08A If (Not (LovalVar:SelfRow) )
  2094. 0x08A {
  2095. 0x091 If (LovalVar:PlayerRow == 1)
  2096. 0x091 {
  2097. 0x099 LocalVar:Random <- 4
  2098. 0x09F If (Not (Random MOD LocalVar:Random) )
  2099. 0x09F {
  2100. 0x0A8 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2101. 0x0A8 {
  2102. 0x0B4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2103. 0x0C3 }
  2104. 0x0C3 Else
  2105. 0x0C3 {
  2106. 0x0C6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2107. 0x0CE LocalVar:EnemyAttack <- 272 (Machine Gun)
  2108. 0x0D5 }
  2109. 0x0D5 Else
  2110. 0x0D5 {
  2111. 0x0D8 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2112. 0x0D8 {
  2113. 0x0E4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2114. 0x0F3 }
  2115. 0x0F3 Else
  2116. 0x0F3 {
  2117. 0x0F6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2118. 0x0FE LocalVar:EnemyAttack <- 273 (Tonfa)
  2119. 0x105 }
  2120. 0x105 Else
  2121. 0x105 {
  2122. 0x108 }
  2123. 0x108 Else
  2124. 0x108 {
  2125. 0x10B If (LovalVar:PlayerRow == 2)
  2126. 0x10B {
  2127. 0x110 LocalVar:Random <- 8
  2128. 0x116 If (Not (Random MOD LocalVar:Random) )
  2129. 0x116 {
  2130. 0x11F If ( (LovalVar:PlayerRow AND 1 == 1) )
  2131. 0x11F {
  2132. 0x12B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2133. 0x13A }
  2134. 0x13A Else
  2135. 0x13A {
  2136. 0x13D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2137. 0x145 LocalVar:EnemyAttack <- 273 (Tonfa)
  2138. 0x14C }
  2139. 0x14C Else
  2140. 0x14C {
  2141. 0x14F If ( (LovalVar:PlayerRow AND 2 == 2) )
  2142. 0x14F {
  2143. 0x15B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2144. 0x16A }
  2145. 0x16A Else
  2146. 0x16A {
  2147. 0x16D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2148. 0x175 LocalVar:EnemyAttack <- 272 (Machine Gun)
  2149. 0x17C }
  2150. 0x17C Else
  2151. 0x17C {
  2152. 0x17F }
  2153. 0x17F Else
  2154. 0x17F {
  2155. 0x182 LocalVar:Random <- 2
  2156. 0x188 If (Not (Random MOD LocalVar:Random) )
  2157. 0x188 {
  2158. 0x191 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2159. 0x191 {
  2160. 0x19D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2161. 0x1AC }
  2162. 0x1AC Else
  2163. 0x1AC {
  2164. 0x1AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2165. 0x1B7 LocalVar:EnemyAttack <- 272 (Machine Gun)
  2166. 0x1BE }
  2167. 0x1BE Else
  2168. 0x1BE {
  2169. 0x1C1 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2170. 0x1C1 {
  2171. 0x1CD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2172. 0x1DC }
  2173. 0x1DC Else
  2174. 0x1DC {
  2175. 0x1DF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2176. 0x1E7 LocalVar:EnemyAttack <- 273 (Tonfa)
  2177. 0x1EE }
  2178. 0x1EE Else
  2179. 0x1EE {
  2180. 0x1F1 POP(LovalVar:PlayerRow)
  2181. 0x1F2 }
  2182. 0x1F2 Else
  2183. 0x1F2 {
  2184. 0x1F5 If (LovalVar:PlayerRow == 1)
  2185. 0x1F5 {
  2186. 0x1FD LocalVar:Random <- 4
  2187. 0x203 If (Not (Random MOD LocalVar:Random) )
  2188. 0x203 {
  2189. 0x20C If ( (LovalVar:PlayerRow AND 1 == 1) )
  2190. 0x20C {
  2191. 0x218 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2192. 0x227 }
  2193. 0x227 Else
  2194. 0x227 {
  2195. 0x22A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2196. 0x232 LocalVar:EnemyAttack <- 273 (Tonfa)
  2197. 0x239 }
  2198. 0x239 Else
  2199. 0x239 {
  2200. 0x23C If ( (LovalVar:PlayerRow AND 2 == 2) )
  2201. 0x23C {
  2202. 0x248 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2203. 0x257 }
  2204. 0x257 Else
  2205. 0x257 {
  2206. 0x25A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2207. 0x262 LocalVar:EnemyAttack <- 272 (Machine Gun)
  2208. 0x269 }
  2209. 0x269 Else
  2210. 0x269 {
  2211. 0x26C }
  2212. 0x26C Else
  2213. 0x26C {
  2214. 0x26F If (LovalVar:PlayerRow == 2)
  2215. 0x26F {
  2216. 0x274 LocalVar:Random <- 8
  2217. 0x27A If (Not (Random MOD LocalVar:Random) )
  2218. 0x27A {
  2219. 0x283 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2220. 0x283 {
  2221. 0x28F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2222. 0x29E }
  2223. 0x29E Else
  2224. 0x29E {
  2225. 0x2A1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2226. 0x2A9 LocalVar:EnemyAttack <- 273 (Tonfa)
  2227. 0x2B0 }
  2228. 0x2B0 Else
  2229. 0x2B0 {
  2230. 0x2B3 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2231. 0x2B3 {
  2232. 0x2BF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2233. 0x2CE }
  2234. 0x2CE Else
  2235. 0x2CE {
  2236. 0x2D1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2237. 0x2D9 LocalVar:EnemyAttack <- 272 (Machine Gun)
  2238. 0x2E0 }
  2239. 0x2E0 Else
  2240. 0x2E0 {
  2241. 0x2E3 }
  2242. 0x2E3 Else
  2243. 0x2E3 {
  2244. 0x2E6 LocalVar:Random <- 6
  2245. 0x2EC If (Not (Random MOD LocalVar:Random) )
  2246. 0x2EC {
  2247. 0x2F5 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2248. 0x2F5 {
  2249. 0x301 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2250. 0x310 }
  2251. 0x310 Else
  2252. 0x310 {
  2253. 0x313 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2254. 0x31B LocalVar:EnemyAttack <- 273 (Tonfa)
  2255. 0x322 }
  2256. 0x322 Else
  2257. 0x322 {
  2258. 0x325 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2259. 0x325 {
  2260. 0x331 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2261. 0x340 }
  2262. 0x340 Else
  2263. 0x340 {
  2264. 0x343 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2265. 0x34B LocalVar:EnemyAttack <- 272 (Machine Gun)
  2266. 0x352 }
  2267. 0x352 Else
  2268. 0x352 {
  2269. 0x355 POP(LovalVar:PlayerRow)
  2270. 0x356Perform(LocalVar:EnemyAttack, EnemyAttack)
  2271. 0x35CSCRIPT END
  2272.  
  2273.  
  2274.  
  2275.  
  2276. 17 - [11] Guard Hound
  2277.  
  2278.  
  2279. LocalVar:0000 = LovalVar:SelfRow
  2280. LocalVar:0020 = LovalVar:PlayerRow
  2281. LocalVar:0040 = LovalVar:EnemyRow
  2282. LocalVar:0060 = LocalVar:EnemyAttack
  2283.  
  2284. BattleAddr(&2060) = BattleAddr(&Self)
  2285. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2286. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  2287. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2288.  
  2289. BattleAddr(&4026) = BattleAddr(&BackRow)
  2290. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  2291.  
  2292.  
  2293.  
  2294. MAIN:
  2295.  
  2296. 0x000LovalVar:PlayerRow <- 0
  2297. 0x006LovalVar:EnemyRow <- 0
  2298. 0x00CLovalVar:SelfRow <- 0
  2299. 0x012 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 0) )
  2300. 0x012 {
  2301. 0x01F LovalVar:EnemyRow <- LovalVar:EnemyRow AND 1
  2302. 0x029 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 1) )
  2303. 0x029 {
  2304. 0x036 LovalVar:EnemyRow <- LovalVar:EnemyRow AND 2
  2305. 0x040 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2306. 0x040 {
  2307. 0x04D LovalVar:PlayerRow <- LovalVar:PlayerRow AND 1
  2308. 0x057 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2309. 0x057 {
  2310. 0x064 LovalVar:PlayerRow <- LovalVar:PlayerRow AND 2
  2311. 0x06E If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  2312. 0x06E {
  2313. 0x07B LovalVar:SelfRow <- 0
  2314. 0x081 }
  2315. 0x081 Else
  2316. 0x081 {
  2317. 0x084 LovalVar:SelfRow <- 1
  2318. 0x08A If (Not (Random MOD 3) )
  2319. 0x08A {
  2320. 0x092 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2321. 0x092 {
  2322. 0x09E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2323. 0x0AD }
  2324. 0x0AD Else
  2325. 0x0AD {
  2326. 0x0B0 Bad Code0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  2327. 0x0BD LocalVar:EnemyAttack <- 275 (Tentacle)
  2328. 0x0C4 }
  2329. 0x0C4 Else
  2330. 0x0C4 {
  2331. 0x0C7 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2332. 0x0C7 {
  2333. 0x0D3 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2334. 0x0E2 }
  2335. 0x0E2 Else
  2336. 0x0E2 {
  2337. 0x0E5 Bad Code0x0F0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  2338. 0x0F2 LocalVar:EnemyAttack <- 274 (Bite)
  2339. 0x0F9Perform(LocalVar:EnemyAttack, EnemyAttack)
  2340. 0x0FFSCRIPT END
  2341.  
  2342. NOTE - 0x0BA uses LMSK
  2343. 0x0EF uses LMSK
  2344.  
  2345.  
  2346.  
  2347.  
  2348. 18 - [12] Mono Drive
  2349.  
  2350.  
  2351. LocalVar:0000 = LovalVar:Warning
  2352. LocalVar:0020 = LovalVar:SelfRow
  2353. LocalVar:0040 = LovalVar:PlayerRow
  2354. LocalVar:0060 = LocalVar:EnemyRow
  2355. LocalVar:0080 = LocalVar:EnemyAttack
  2356. LocalVar:00A0 = LocalVar:MagickAtt
  2357. LocalVar:00C0 = LocalVar:TakeTurn
  2358.  
  2359. BattleAddr(&2060) = BattleAddr(&Self)
  2360. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2361. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  2362. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2363.  
  2364. BattleAddr(&4026) = BattleAddr(&BackRow)
  2365. BattleAddr(&4100) = BattleAddr(&Def)
  2366. BattleAddr(&4110) = BattleAddr(&MDef)
  2367. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  2368.  
  2369.  
  2370.  
  2371. MAIN:
  2372.  
  2373. 0x000LovalVar:PlayerRow <- 0
  2374. 0x006LocalVar:EnemyRow <- 0
  2375. 0x00CLovalVar:SelfRow <- 0
  2376. 0x012 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 0) )
  2377. 0x012 {
  2378. 0x01F LocalVar:EnemyRow <- LocalVar:EnemyRow AND 1
  2379. 0x029 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 1) )
  2380. 0x029 {
  2381. 0x036 LocalVar:EnemyRow <- LocalVar:EnemyRow AND 2
  2382. 0x040 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2383. 0x040 {
  2384. 0x04D LovalVar:PlayerRow <- LovalVar:PlayerRow AND 1
  2385. 0x057 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2386. 0x057 {
  2387. 0x064 LovalVar:PlayerRow <- LovalVar:PlayerRow AND 2
  2388. 0x06E If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  2389. 0x06E {
  2390. 0x07B LovalVar:SelfRow <- 0
  2391. 0x081 }
  2392. 0x081 Else
  2393. 0x081 {
  2394. 0x084 LovalVar:SelfRow <- 1
  2395. 0x08A If (Not (LovalVar:Warning) )
  2396. 0x08A {
  2397. 0x091 LocalVar:TakeTurn <- 0
  2398. 0x097 If (Not (Random MOD 2) )
  2399. 0x097 {
  2400. 0x09F Display String: "Enemy Sighted!"
  2401. 0x0AF }
  2402. 0x0AF Else
  2403. 0x0AF {
  2404. 0x0B2 Display String: "Warning! Warning!"
  2405. 0x0C5 LovalVar:Warning <- 1
  2406. 0x0CB }
  2407. 0x0CB Else
  2408. 0x0CB {
  2409. 0x0CE LocalVar:TakeTurn <- 1
  2410. 0x0D4 If (Not (Random MOD 3) )
  2411. 0x0D4 {
  2412. 0x0DC If ( (LovalVar:PlayerRow AND 2 == 2) )
  2413. 0x0DC {
  2414. 0x0E8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2415. 0x0F7 }
  2416. 0x0F7 Else
  2417. 0x0F7 {
  2418. 0x0FA Bad Code0x105 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&MDef))
  2419. 0x107 LocalVar:EnemyAttack <- 27 (Fire)
  2420. 0x10D LocalVar:MagickAtt <- 1
  2421. 0x113 }
  2422. 0x113 Else
  2423. 0x113 {
  2424. 0x116 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2425. 0x116 {
  2426. 0x122 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2427. 0x131 }
  2428. 0x131 Else
  2429. 0x131 {
  2430. 0x134 Bad Code0x13F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&Def))
  2431. 0x141 LocalVar:EnemyAttack <- 276 (Drilldrive)
  2432. 0x148 LocalVar:MagickAtt <- 0
  2433. 0x14E If (LocalVar:MagickAtt)
  2434. 0x14E {
  2435. 0x154 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(LocalVar:EnemyAttack)) )
  2436. 0x154 {
  2437. 0x163 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2438. 0x163 {
  2439. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2440. 0x17E }
  2441. 0x17E Else
  2442. 0x17E {
  2443. 0x181 Bad Code0x18C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&Def))
  2444. 0x18E LocalVar:EnemyAttack <- 276 (Drilldrive)
  2445. 0x195 If (LocalVar:TakeTurn)
  2446. 0x195 {
  2447. 0x19B Perform(LocalVar:EnemyAttack, EnemyAttack)
  2448. 0x1A1SCRIPT END
  2449.  
  2450. NOTE - 0x104 uses LMSK
  2451. - 0x13E uses LMSK
  2452. - 0x18B uses LMSK
  2453.  
  2454.  
  2455.  
  2456.  
  2457. 19 - [13] Grunt
  2458.  
  2459.  
  2460. LocalVar:0000 = LocalVar:Random
  2461. LocalVar:0020 = LovalVar:SelfRow
  2462. LocalVar:0040 = LovalVar:PlayerRow
  2463. LocalVar:0060 = LocalVar:EnemyRow
  2464. LocalVar:0080 = LocalVar:EnemyAttack
  2465.  
  2466. BattleAddr(&2060) = BattleAddr(&Self)
  2467. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2468. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  2469. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2470.  
  2471. BattleAddr(&4026) = BattleAddr(&BackRow)
  2472.  
  2473.  
  2474.  
  2475. MAIN:
  2476.  
  2477. 0x000LovalVar:PlayerRow <- 0
  2478. 0x006LocalVar:EnemyRow <- 0
  2479. 0x00CLovalVar:SelfRow <- 0
  2480. 0x012 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 0) )
  2481. 0x012 {
  2482. 0x01F LocalVar:EnemyRow <- LocalVar:EnemyRow AND 1
  2483. 0x029 If ( (BattleAddr(&AllEnemies).BattleAddr(&BackRow) == 1) )
  2484. 0x029 {
  2485. 0x036 LocalVar:EnemyRow <- LocalVar:EnemyRow AND 2
  2486. 0x040 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2487. 0x040 {
  2488. 0x04D LovalVar:PlayerRow <- LovalVar:PlayerRow AND 1
  2489. 0x057 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2490. 0x057 {
  2491. 0x064 LovalVar:PlayerRow <- LovalVar:PlayerRow AND 2
  2492. 0x06E If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  2493. 0x06E {
  2494. 0x07B LovalVar:SelfRow <- 0
  2495. 0x081 }
  2496. 0x081 Else
  2497. 0x081 {
  2498. 0x084 LovalVar:SelfRow <- 1
  2499. 0x08A If (Not (LovalVar:SelfRow) )
  2500. 0x08A {
  2501. 0x091 If (LovalVar:PlayerRow == 1)
  2502. 0x091 {
  2503. 0x099 LocalVar:Random <- 8
  2504. 0x09F If (Not (Random MOD LocalVar:Random) )
  2505. 0x09F {
  2506. 0x0A8 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2507. 0x0A8 {
  2508. 0x0B4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2509. 0x0C3 }
  2510. 0x0C3 Else
  2511. 0x0C3 {
  2512. 0x0C6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2513. 0x0CE LocalVar:EnemyAttack <- 278 (Beam Gun)
  2514. 0x0D5 }
  2515. 0x0D5 Else
  2516. 0x0D5 {
  2517. 0x0D8 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2518. 0x0D8 {
  2519. 0x0E4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2520. 0x0F3 }
  2521. 0x0F3 Else
  2522. 0x0F3 {
  2523. 0x0F6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2524. 0x0FE LocalVar:EnemyAttack <- 277 (Handclaw)
  2525. 0x105 }
  2526. 0x105 Else
  2527. 0x105 {
  2528. 0x108 }
  2529. 0x108 Else
  2530. 0x108 {
  2531. 0x10B If (LovalVar:PlayerRow == 2)
  2532. 0x10B {
  2533. 0x110 LocalVar:Random <- 6
  2534. 0x116 If (Not (Random MOD LocalVar:Random) )
  2535. 0x116 {
  2536. 0x11F If ( (LovalVar:PlayerRow AND 1 == 1) )
  2537. 0x11F {
  2538. 0x12B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2539. 0x13A }
  2540. 0x13A Else
  2541. 0x13A {
  2542. 0x13D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2543. 0x145 LocalVar:EnemyAttack <- 277 (Handclaw)
  2544. 0x14C }
  2545. 0x14C Else
  2546. 0x14C {
  2547. 0x14F If ( (LovalVar:PlayerRow AND 2 == 2) )
  2548. 0x14F {
  2549. 0x15B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2550. 0x16A }
  2551. 0x16A Else
  2552. 0x16A {
  2553. 0x16D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2554. 0x175 LocalVar:EnemyAttack <- 278 (Beam Gun)
  2555. 0x17C }
  2556. 0x17C Else
  2557. 0x17C {
  2558. 0x17F }
  2559. 0x17F Else
  2560. 0x17F {
  2561. 0x182 LocalVar:Random <- 2
  2562. 0x188 If (Not (Random MOD LocalVar:Random) )
  2563. 0x188 {
  2564. 0x191 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2565. 0x191 {
  2566. 0x19D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2567. 0x1AC }
  2568. 0x1AC Else
  2569. 0x1AC {
  2570. 0x1AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2571. 0x1B7 LocalVar:EnemyAttack <- 278 (Beam Gun)
  2572. 0x1BE }
  2573. 0x1BE Else
  2574. 0x1BE {
  2575. 0x1C1 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2576. 0x1C1 {
  2577. 0x1CD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2578. 0x1DC }
  2579. 0x1DC Else
  2580. 0x1DC {
  2581. 0x1DF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2582. 0x1E7 LocalVar:EnemyAttack <- 277 (Handclaw)
  2583. 0x1EE }
  2584. 0x1EE Else
  2585. 0x1EE {
  2586. 0x1F1 POP(LovalVar:PlayerRow)
  2587. 0x1F2 }
  2588. 0x1F2 Else
  2589. 0x1F2 {
  2590. 0x1F5 If (LovalVar:PlayerRow == 1)
  2591. 0x1F5 {
  2592. 0x1FD LocalVar:Random <- 8
  2593. 0x203 If (Not (Random MOD LocalVar:Random) )
  2594. 0x203 {
  2595. 0x20C If ( (LovalVar:PlayerRow AND 1 == 1) )
  2596. 0x20C {
  2597. 0x218 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2598. 0x227 }
  2599. 0x227 Else
  2600. 0x227 {
  2601. 0x22A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2602. 0x232 LocalVar:EnemyAttack <- 277 (Handclaw)
  2603. 0x239 }
  2604. 0x239 Else
  2605. 0x239 {
  2606. 0x23C If ( (LovalVar:PlayerRow AND 2 == 2) )
  2607. 0x23C {
  2608. 0x248 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2609. 0x257 }
  2610. 0x257 Else
  2611. 0x257 {
  2612. 0x25A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2613. 0x262 LocalVar:EnemyAttack <- 278 (Beam Gun)
  2614. 0x269 }
  2615. 0x269 Else
  2616. 0x269 {
  2617. 0x26C }
  2618. 0x26C Else
  2619. 0x26C {
  2620. 0x26F If (LovalVar:PlayerRow == 2)
  2621. 0x26F {
  2622. 0x274 LocalVar:Random <- 16
  2623. 0x27A If (Not (Random MOD LocalVar:Random) )
  2624. 0x27A {
  2625. 0x283 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2626. 0x283 {
  2627. 0x28F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2628. 0x29E }
  2629. 0x29E Else
  2630. 0x29E {
  2631. 0x2A1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2632. 0x2A9 LocalVar:EnemyAttack <- 277 (Handclaw)
  2633. 0x2B0 }
  2634. 0x2B0 Else
  2635. 0x2B0 {
  2636. 0x2B3 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2637. 0x2B3 {
  2638. 0x2BF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2639. 0x2CE }
  2640. 0x2CE Else
  2641. 0x2CE {
  2642. 0x2D1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2643. 0x2D9 LocalVar:EnemyAttack <- 278 (Beam Gun)
  2644. 0x2E0 }
  2645. 0x2E0 Else
  2646. 0x2E0 {
  2647. 0x2E3 }
  2648. 0x2E3 Else
  2649. 0x2E3 {
  2650. 0x2E6 LocalVar:Random <- 12
  2651. 0x2EC If (Not (Random MOD LocalVar:Random) )
  2652. 0x2EC {
  2653. 0x2F5 If ( (LovalVar:PlayerRow AND 1 == 1) )
  2654. 0x2F5 {
  2655. 0x301 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  2656. 0x310 }
  2657. 0x310 Else
  2658. 0x310 {
  2659. 0x313 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2660. 0x31B LocalVar:EnemyAttack <- 277 (Handclaw)
  2661. 0x322 }
  2662. 0x322 Else
  2663. 0x322 {
  2664. 0x325 If ( (LovalVar:PlayerRow AND 2 == 2) )
  2665. 0x325 {
  2666. 0x331 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  2667. 0x340 }
  2668. 0x340 Else
  2669. 0x340 {
  2670. 0x343 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2671. 0x34B LocalVar:EnemyAttack <- 278 (Beam Gun)
  2672. 0x352 }
  2673. 0x352 Else
  2674. 0x352 {
  2675. 0x355 POP(LovalVar:PlayerRow)
  2676. 0x356Perform(LocalVar:EnemyAttack, EnemyAttack)
  2677. 0x35CSCRIPT END
  2678.  
  2679.  
  2680.  
  2681.  
  2682. 20 - [14] 1st Ray
  2683.  
  2684.  
  2685. LocalVar:0000 = LocalVar:Count
  2686.  
  2687. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2688. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2689.  
  2690. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  2691.  
  2692.  
  2693.  
  2694. MAIN:
  2695.  
  2696. 0x000 If (Not (LocalVar:Count) )
  2697. 0x000 {
  2698. 0x007 Bad Code0x012 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  2699. 0x014 Perform("Laser Cannon"[0117], EnemyAttack)
  2700. 0x01A LocalVar:Count <- 1
  2701. 0x020 }
  2702. 0x020 Else
  2703. 0x020 {
  2704. 0x023 LocalVar:Count <- 0
  2705. 0x029SCRIPT END
  2706.  
  2707. NOTE - 0x011 uses HMSK
  2708.  
  2709.  
  2710.  
  2711.  
  2712. 21 - [15] Sweeper
  2713.  
  2714.  
  2715. LocalVar:0000 = LocalVar:Setup
  2716. LocalVar:0020 = LocalVar:Count
  2717. LocalVar:0040 = LocalVar:EnemyAttack
  2718.  
  2719. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2720. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2721.  
  2722. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  2723. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  2724.  
  2725.  
  2726.  
  2727. MAIN:
  2728.  
  2729. 0x000 If (Not (LocalVar:Setup) )
  2730. 0x000 {
  2731. 0x007 LocalVar:Count <- Random MOD 3
  2732. 0x00F LocalVar:Setup <- 1
  2733. 0x015 If (LocalVar:Count == 0)
  2734. 0x015 {
  2735. 0x01D If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  2736. 0x01D {
  2737. 0x02A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  2738. 0x039 }
  2739. 0x039 Else
  2740. 0x039 {
  2741. 0x03C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  2742. 0x044 LocalVar:EnemyAttack <- 281 (Smoke Shot)
  2743. 0x04B LocalVar:Count <- 1
  2744. 0x051 }
  2745. 0x051 Else
  2746. 0x051 {
  2747. 0x054 }
  2748. 0x054 Else
  2749. 0x054 {
  2750. 0x057 If (LocalVar:Count == 1)
  2751. 0x057 {
  2752. 0x05C Bad Code0x067 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  2753. 0x069 LocalVar:EnemyAttack <- 272 (Machine Gun)
  2754. 0x070 LocalVar:Count <- 2
  2755. 0x076 }
  2756. 0x076 Else
  2757. 0x076 {
  2758. 0x079 }
  2759. 0x079 Else
  2760. 0x079 {
  2761. 0x07C Bad Code0x087 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  2762. 0x089 LocalVar:EnemyAttack <- 280 (W Machine Gun)
  2763. 0x090 LocalVar:Count <- 0
  2764. 0x096 }
  2765. 0x096 Else
  2766. 0x096 {
  2767. 0x099POP(LocalVar:Count)
  2768. 0x09APerform(LocalVar:EnemyAttack, EnemyAttack)
  2769. 0x0A0SCRIPT END
  2770.  
  2771. NOTE - 0x066 uses LMSK
  2772. 0x086 uses HMSK
  2773.  
  2774.  
  2775.  
  2776.  
  2777. 22 - [16] Guard Scorpion
  2778.  
  2779.  
  2780. {EA0000h} = Cloud
  2781. {EA0001h} = Barret
  2782.  
  2783. LocalVar:0000 = LocalVar:TarSelected
  2784. LocalVar:0020 = LocalVar:MDef
  2785. LocalVar:0040 = LocalVar:Def
  2786. LocalVar:0060 = LocalVar:Count
  2787. LocalVar:0080 = LocalVar:IdleAnimID
  2788. LocalVar:00A0 = LocalVar:DamagedAnimID
  2789. LocalVar:00C0 = LocalVar:Warning
  2790. LocalVar:00E0 = LocalVar:Stage
  2791.  
  2792. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  2793. BattleAddr(&2060) = BattleAddr(&Self)
  2794. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2795. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2796.  
  2797. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  2798. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  2799. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  2800. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  2801. BattleAddr(&4100) = BattleAddr(&Def)
  2802. BattleAddr(&4110) = BattleAddr(&MDef)
  2803. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  2804. BattleAddr(&4180) = BattleAddr(&MaxHP)
  2805.  
  2806.  
  2807.  
  2808. PRE-BATTLE:
  2809.  
  2810. 0x000LocalVar:IdleAnimID <- BattleAddr(&Self).BattleAddr(&IdleAnimID)
  2811. 0x00BLocalVar:DamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  2812. 0x016LocalVar:Def <- BattleAddr(&Self).BattleAddr(&Def)
  2813. 0x021BattleAddr(&Self).BattleAddr(&MDef) <- 256
  2814. 0x02CLocalVar:MDef <- BattleAddr(&Self).BattleAddr(&MDef)
  2815. 0x037LocalVar:Stage <- 0
  2816. 0x03DSCRIPT END
  2817.  
  2818.  
  2819. MAIN:
  2820.  
  2821. 0x000 If (LocalVar:Count == 0)
  2822. 0x000 {
  2823. 0x008 }
  2824. 0x008 Else
  2825. 0x008 {
  2826. 0x00B If (LocalVar:Count == 2)
  2827. 0x00B {
  2828. 0x010 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  2829. 0x018 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  2830. 0x01F Perform("Search Scope"[011C], EnemyAttack)
  2831. 0x025 Display String: "Locked On Target"
  2832. 0x037 LocalVar:Count <- LocalVar:Count + 1
  2833. 0x041 }
  2834. 0x041 Else
  2835. 0x041 {
  2836. 0x044 }
  2837. 0x044 Else
  2838. 0x044 {
  2839. 0x047 If (LocalVar:Count == 1)
  2840. 0x047 {
  2841. 0x04C }
  2842. 0x04C Else
  2843. 0x04C {
  2844. 0x04F If (LocalVar:Count == 3)
  2845. 0x04F {
  2846. 0x054 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  2847. 0x05B If (Random MOD 3 == 0)
  2848. 0x05B {
  2849. 0x064 Perform("Scorpion Tail"[011B], EnemyAttack)
  2850. 0x06A }
  2851. 0x06A Else
  2852. 0x06A {
  2853. 0x06D }
  2854. 0x06D Else
  2855. 0x06D {
  2856. 0x070 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  2857. 0x070 {
  2858. 0x085 Perform("Scorpion Tail"[011B], EnemyAttack)
  2859. 0x08B }
  2860. 0x08B Else
  2861. 0x08B {
  2862. 0x08E Perform("Rifle"[011A], EnemyAttack)
  2863. 0x094 }
  2864. 0x094 Else
  2865. 0x094 {
  2866. 0x097 POP(Random MOD 3)
  2867. 0x098 LocalVar:Count <- LocalVar:Count + 1
  2868. 0x0A2 }
  2869. 0x0A2 Else
  2870. 0x0A2 {
  2871. 0x0A5 }
  2872. 0x0A5 Else
  2873. 0x0A5 {
  2874. 0x0A8 If (LocalVar:Count == 4)
  2875. 0x0A8 {
  2876. 0x0AD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2877. 0x0B4 Perform([011F], EnemyAttack)
  2878. 0x0BA BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  2879. 0x0C4 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  2880. 0x0CE BattleAddr(&Self).BattleAddr(&Def) <- 255
  2881. 0x0D8 BattleAddr(&Self).BattleAddr(&MDef) <- 384
  2882. 0x0E3 LocalVar:Stage <- 1
  2883. 0x0E9 If ( (LocalVar:Warning == 0) )
  2884. 0x0E9 {
  2885. 0x0F2 BattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 16)
  2886. 0x100 If (Not (BattleAddr(&TarSelected).BattleAddr(&DeathStatus)) )
  2887. 0x100 {
  2888. 0x10B BattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 17)
  2889. 0x119 If (BattleAddr(&TarSelected).BattleAddr(&DeathStatus))
  2890. 0x119 {
  2891. 0x123 Display String: "Cloud “It's gonna fire that laser…”"
  2892. 0x146 Pause(0)
  2893. 0x14B }
  2894. 0x14B Else
  2895. 0x14B {
  2896. 0x14E Display String: "Cloud “Barret, be careful!”"
  2897. 0x166 Pause(0)
  2898. 0x16B Display String: "“Attack while it's tail's up!"
  2899. 0x18A Pause(0)
  2900. 0x18F Display String: "It's gonna counterattack with its laser.”"
  2901. 0x1BA Pause(0)
  2902. 0x1BF }
  2903. 0x1BF Else
  2904. 0x1BF {
  2905. 0x1C2 Display String: "Barret “I dunno what's goin' on, but…"
  2906. 0x1E6 Pause(0)
  2907. 0x1EB Display String: " it looks pretty bad."
  2908. 0x202 Pause(0)
  2909. 0x207 Display String: " Let's see what it does when it's tail's up…”"
  2910. 0x236 Pause(0)
  2911. 0x23B LocalVar:Warning <- 1
  2912. 0x241 LocalVar:Count <- LocalVar:Count + 1
  2913. 0x24B }
  2914. 0x24B Else
  2915. 0x24B {
  2916. 0x24E }
  2917. 0x24E Else
  2918. 0x24E {
  2919. 0x251 If (LocalVar:Count == 5)
  2920. 0x251 {
  2921. 0x256 }
  2922. 0x256 Else
  2923. 0x256 {
  2924. 0x259 If (LocalVar:Count == 6)
  2925. 0x259 {
  2926. 0x25E LocalVar:Count <- LocalVar:Count + 1
  2927. 0x268 }
  2928. 0x268 Else
  2929. 0x268 {
  2930. 0x26B }
  2931. 0x26B Else
  2932. 0x26B {
  2933. 0x26E If (LocalVar:Count == 7)
  2934. 0x26E {
  2935. 0x273 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2936. 0x27A Perform([0120], EnemyAttack)
  2937. 0x280 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- LocalVar:IdleAnimID
  2938. 0x28B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:DamagedAnimID
  2939. 0x296 BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:Def
  2940. 0x2A1 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:MDef
  2941. 0x2AC LocalVar:Stage <- 0
  2942. 0x2B2 LocalVar:Count <- 0
  2943. 0x2B8 }
  2944. 0x2B8 Else
  2945. 0x2B8 {
  2946. 0x2BBPOP(LocalVar:Count)
  2947. 0x2BCSCRIPT END
  2948.  
  2949.  
  2950. GENERAL COUNTER:
  2951.  
  2952. 0x000 If ( (LocalVar:Stage == 1) )
  2953. 0x000 {
  2954. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  2955. 0x010 Perform("Tail Laser"[011E], EnemyAttack)
  2956. 0x016SCRIPT END
  2957.  
  2958.  
  2959. DEATH COUNTER:
  2960.  
  2961. 0x000 If ( (LocalVar:Stage == 1) )
  2962. 0x000 {
  2963. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  2964. 0x010 Perform([0120], EnemyAttack)
  2965. 0x016 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- LocalVar:IdleAnimID
  2966. 0x021 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:DamagedAnimID
  2967. 0x02CSCRIPT END
  2968.  
  2969.  
  2970.  
  2971.  
  2972. 23 - [17] Grashtrike
  2973.  
  2974.  
  2975. BattleAddr(&2060) = BattleAddr(&Self)
  2976. BattleAddr(&2070) = BattleAddr(&TarSelected)
  2977. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  2978.  
  2979. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  2980. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  2981.  
  2982.  
  2983.  
  2984. MAIN:
  2985.  
  2986. 0x000 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silk [0122])) ) )
  2987. 0x000 {
  2988. 0x01A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  2989. 0x029 Perform("Silk"[0122], EnemyAttack)
  2990. 0x02F }
  2991. 0x02F Else
  2992. 0x02F {
  2993. 0x032 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  2994. 0x032 {
  2995. 0x03F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  2996. 0x04E }
  2997. 0x04E Else
  2998. 0x04E {
  2999. 0x051 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3000. 0x059 Perform("Sickle"[0121], EnemyAttack)
  3001. 0x05FSCRIPT END
  3002.  
  3003.  
  3004.  
  3005.  
  3006. 24 - [18] Rocket Launcher (Sector 4)
  3007.  
  3008.  
  3009. LocalVar:0000 = LocalVar:Count
  3010.  
  3011. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3012. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3013.  
  3014. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3015.  
  3016.  
  3017.  
  3018. MAIN:
  3019.  
  3020. 0x000 If (LocalVar:Count)
  3021. 0x000 {
  3022. 0x006 Bad Code0x011 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  3023. 0x013 Perform("Rocket Launcher"[0123], EnemyAttack)
  3024. 0x019 LocalVar:Count <- 0
  3025. 0x01F }
  3026. 0x01F Else
  3027. 0x01F {
  3028. 0x022 LocalVar:Count <- 1
  3029. 0x028SCRIPT END
  3030.  
  3031. NOTE - 0x010 uses LMSK
  3032.  
  3033.  
  3034.  
  3035.  
  3036. 25 - [19] Whole Eater
  3037.  
  3038.  
  3039. LocalVar:0000 = LocalVar:TarSelected
  3040. LocalVar:0020 = LocalVar:SpclChance
  3041.  
  3042. BattleAddr(&2060) = BattleAddr(&Self)
  3043. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3044. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3045.  
  3046. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  3047. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  3048. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3049. BattleAddr(&4180) = BattleAddr(&MaxHP)
  3050.  
  3051.  
  3052.  
  3053. PRE_BATTLE:
  3054.  
  3055. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  3056. 0x008LocalVar:SpclChance <- 8
  3057. 0x00ESCRIPT END
  3058.  
  3059.  
  3060. MAIN:
  3061.  
  3062. 0x000 If ( ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  3063. 0x000 {
  3064. 0x014 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3065. 0x01B Perform("Sickle"[0121], EnemyAttack)
  3066. 0x021BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3067. 0x029Perform("Sickle"[0121], EnemyAttack)
  3068. 0x02FSCRIPT END
  3069.  
  3070.  
  3071. GENERAL COUNTER:
  3072.  
  3073. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3074. 0x00B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  3075. 0x00B {
  3076. 0x020 LocalVar:SpclChance <- 2
  3077. 0x026 }
  3078. 0x026 Else
  3079. 0x026 {
  3080. 0x029 LocalVar:SpclChance <- 8
  3081. 0x02FSCRIPT END
  3082.  
  3083.  
  3084.  
  3085.  
  3086. 26 - [1A] Chuse Tank
  3087.  
  3088.  
  3089. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3090. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3091.  
  3092. BattleAddr(&4026) = BattleAddr(&BackRow)
  3093. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3094.  
  3095.  
  3096.  
  3097. MAIN:
  3098.  
  3099. 0x000 If (Not (Random MOD 2) )
  3100. 0x000 {
  3101. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  3102. 0x008 {
  3103. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  3104. 0x024 }
  3105. 0x024 Else
  3106. 0x024 {
  3107. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3108. 0x02F Perform("Claw"[0124], EnemyAttack)
  3109. 0x035 }
  3110. 0x035 Else
  3111. 0x035 {
  3112. 0x038 Bad Code0x043 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  3113. 0x045 Perform("Rolling Claw"[0125], EnemyAttack)
  3114. 0x04BSCRIPT END
  3115.  
  3116. NOTE - 0x041 uses HMSK
  3117.  
  3118.  
  3119.  
  3120.  
  3121. 27 - [1B] Blugu
  3122.  
  3123.  
  3124. LocalVar:0000 = LocalVar:Count
  3125.  
  3126. BattleAddr(&2060) = BattleAddr(&Self)
  3127. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3128. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3129.  
  3130. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  3131. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  3132.  
  3133.  
  3134.  
  3135. PRE-BATTLE:
  3136.  
  3137. 0x000LocalVar:Count <- Random MOD 4
  3138. 0x008SCRIPT END
  3139.  
  3140.  
  3141. MAIN:
  3142.  
  3143. 0x000 If (LocalVar:Count == 0)
  3144. 0x000 {
  3145. 0x008 }
  3146. 0x008 Else
  3147. 0x008 {
  3148. 0x00B If (LocalVar:Count == 1)
  3149. 0x00B {
  3150. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3151. 0x010 {
  3152. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3153. 0x02C }
  3154. 0x02C Else
  3155. 0x02C {
  3156. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3157. 0x037 Perform("Bodyblow"[0126], EnemyAttack)
  3158. 0x03D LocalVar:Count <- LocalVar:Count + 1
  3159. 0x047 }
  3160. 0x047 Else
  3161. 0x047 {
  3162. 0x04A }
  3163. 0x04A Else
  3164. 0x04A {
  3165. 0x04D If (LocalVar:Count == 2)
  3166. 0x04D {
  3167. 0x052 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3168. 0x052 {
  3169. 0x05F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3170. 0x06E }
  3171. 0x06E Else
  3172. 0x06E {
  3173. 0x071 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3174. 0x079 Perform("Bodyblow"[0126], EnemyAttack)
  3175. 0x07F If (Not (Random MOD 3) )
  3176. 0x07F {
  3177. 0x087 LocalVar:Count <- 3
  3178. 0x08D }
  3179. 0x08D Else
  3180. 0x08D {
  3181. 0x090 LocalVar:Count <- 1
  3182. 0x096 }
  3183. 0x096 Else
  3184. 0x096 {
  3185. 0x099 }
  3186. 0x099 Else
  3187. 0x099 {
  3188. 0x09C If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Hell Bubbles [0127])) ) )
  3189. 0x09C {
  3190. 0x0B6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  3191. 0x0C5 Perform("Hell Bubbles"[0127], EnemyAttack)
  3192. 0x0CB }
  3193. 0x0CB Else
  3194. 0x0CB {
  3195. 0x0CE If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3196. 0x0CE {
  3197. 0x0DB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  3198. 0x0EA }
  3199. 0x0EA Else
  3200. 0x0EA {
  3201. 0x0ED BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3202. 0x0F5 Perform("Bodyblow"[0126], EnemyAttack)
  3203. 0x0FB LocalVar:Count <- 0
  3204. 0x101 }
  3205. 0x101 Else
  3206. 0x101 {
  3207. 0x104POP(LocalVar:Count)
  3208. 0x105SCRIPT END
  3209.  
  3210.  
  3211.  
  3212.  
  3213. 28 - [1C] Hedgehog Pie
  3214.  
  3215.  
  3216. LocalVar:0000 = LocalVar:Count
  3217.  
  3218. BattleAddr(&2060) = BattleAddr(&Self)
  3219. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3220. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3221.  
  3222. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  3223.  
  3224.  
  3225.  
  3226. PRE_BATTLE:
  3227.  
  3228. 0x000LocalVar:Count <- Random MOD 3
  3229. 0x008SCRIPT END
  3230.  
  3231.  
  3232. MAIN:
  3233.  
  3234. 0x000 If (LocalVar:Count == 0)
  3235. 0x000 {
  3236. 0x008 }
  3237. 0x008 Else
  3238. 0x008 {
  3239. 0x00B If (LocalVar:Count == 1)
  3240. 0x00B {
  3241. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3242. 0x018 Perform("Bodyblow"[0126], EnemyAttack)
  3243. 0x01E LocalVar:Count <- LocalVar:Count + 1
  3244. 0x028 }
  3245. 0x028 Else
  3246. 0x028 {
  3247. 0x02B }
  3248. 0x02B Else
  3249. 0x02B {
  3250. 0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3251. 0x036 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire [001B])) And Not (Random MOD 2) ) )
  3252. 0x036 {
  3253. 0x04A Perform("Fire"[001B], EnemyAttack)
  3254. 0x04F }
  3255. 0x04F Else
  3256. 0x04F {
  3257. 0x052 Perform("Bodyblow"[0126], EnemyAttack)
  3258. 0x058 LocalVar:Count <- 0
  3259. 0x05E }
  3260. 0x05E Else
  3261. 0x05E {
  3262. 0x061POP(LocalVar:Count)
  3263. 0x062SCRIPT END
  3264.  
  3265.  
  3266.  
  3267.  
  3268. 29 - [1D] Smogger
  3269.  
  3270.  
  3271. LocalVar:0000 = LocalVar:Count
  3272.  
  3273. BattleAddr(&2060) = BattleAddr(&Self)
  3274. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3275. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3276.  
  3277. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  3278. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  3279. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  3280.  
  3281.  
  3282.  
  3283. PRE-BATTLE:
  3284.  
  3285. 0x000LocalVar:Count <- Random MOD 5
  3286. 0x008SCRIPT END
  3287.  
  3288.  
  3289. MAIN:
  3290.  
  3291. 0x000 If (LocalVar:Count == 0)
  3292. 0x000 {
  3293. 0x008 }
  3294. 0x008 Else
  3295. 0x008 {
  3296. 0x00B If (LocalVar:Count == 1)
  3297. 0x00B {
  3298. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3299. 0x010 {
  3300. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3301. 0x02C }
  3302. 0x02C Else
  3303. 0x02C {
  3304. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3305. 0x037 Perform("Punch"[0128], EnemyAttack)
  3306. 0x03D LocalVar:Count <- LocalVar:Count + 1
  3307. 0x047 }
  3308. 0x047 Else
  3309. 0x047 {
  3310. 0x04A }
  3311. 0x04A Else
  3312. 0x04A {
  3313. 0x04D If (LocalVar:Count == 2)
  3314. 0x04D {
  3315. 0x052 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3316. 0x052 {
  3317. 0x05F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3318. 0x06E }
  3319. 0x06E Else
  3320. 0x06E {
  3321. 0x071 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3322. 0x079 Perform("Punch"[0128], EnemyAttack)
  3323. 0x07F If (Random MOD 4 == 0)
  3324. 0x07F {
  3325. 0x088 LocalVar:Count <- 3
  3326. 0x08E }
  3327. 0x08E Else
  3328. 0x08E {
  3329. 0x091 }
  3330. 0x091 Else
  3331. 0x091 {
  3332. 0x094 If (Random MOD 4 == 1)
  3333. 0x094 {
  3334. 0x099 LocalVar:Count <- 4
  3335. 0x09F }
  3336. 0x09F Else
  3337. 0x09F {
  3338. 0x0A2 }
  3339. 0x0A2 Else
  3340. 0x0A2 {
  3341. 0x0A5 LocalVar:Count <- 0
  3342. 0x0AB }
  3343. 0x0AB Else
  3344. 0x0AB {
  3345. 0x0AE POP(Random MOD 4)
  3346. 0x0AF }
  3347. 0x0AF Else
  3348. 0x0AF {
  3349. 0x0B2 }
  3350. 0x0B2 Else
  3351. 0x0B2 {
  3352. 0x0B5 If (LocalVar:Count == 3)
  3353. 0x0B5 {
  3354. 0x0BA If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Smog [0129])) ) )
  3355. 0x0BA {
  3356. 0x0D4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  3357. 0x0E3 Perform("Smog"[0129], EnemyAttack)
  3358. 0x0E9 LocalVar:Count <- 0
  3359. 0x0EF }
  3360. 0x0EF Else
  3361. 0x0EF {
  3362. 0x0F2 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3363. 0x0F2 {
  3364. 0x0FF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3365. 0x10E }
  3366. 0x10E Else
  3367. 0x10E {
  3368. 0x111 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3369. 0x119 Perform("Punch"[0128], EnemyAttack)
  3370. 0x11F LocalVar:Count <- 4
  3371. 0x125 }
  3372. 0x125 Else
  3373. 0x125 {
  3374. 0x128 }
  3375. 0x128 Else
  3376. 0x128 {
  3377. 0x12B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Smog [012A])) ) )
  3378. 0x12B {
  3379. 0x145 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  3380. 0x154 Perform("Smog"[012A], EnemyAttack)
  3381. 0x15A }
  3382. 0x15A Else
  3383. 0x15A {
  3384. 0x15D If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3385. 0x15D {
  3386. 0x16A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  3387. 0x179 }
  3388. 0x179 Else
  3389. 0x179 {
  3390. 0x17C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3391. 0x184 Perform("Punch"[0128], EnemyAttack)
  3392. 0x18A LocalVar:Count <- 0
  3393. 0x190 }
  3394. 0x190 Else
  3395. 0x190 {
  3396. 0x193POP(LocalVar:Count)
  3397. 0x194SCRIPT END
  3398.  
  3399.  
  3400.  
  3401.  
  3402. 30 - [1E] Special Combatant
  3403.  
  3404.  
  3405. LocalVar:0000 = LocalVar:Count
  3406. LocalVar:0020 = LocalVar:Cycle
  3407.  
  3408. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3409. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3410.  
  3411. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3412.  
  3413.  
  3414.  
  3415. PRE-BATTLE
  3416.  
  3417. 0x000 If (Not (Random MOD 2) )
  3418. 0x000 {
  3419. 0x008 LocalVar:Count <- 3
  3420. 0x00ESCRIPT END
  3421.  
  3422.  
  3423. MAIN:
  3424.  
  3425. 0x000 If (LocalVar:Count == 0)
  3426. 0x000 {
  3427. 0x008 }
  3428. 0x008 Else
  3429. 0x008 {
  3430. 0x00B If (LocalVar:Count == 1)
  3431. 0x00B {
  3432. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3433. 0x018 Perform("Handclaw"[0115], EnemyAttack)
  3434. 0x01E LocalVar:Count <- LocalVar:Count + 1
  3435. 0x028 }
  3436. 0x028 Else
  3437. 0x028 {
  3438. 0x02B }
  3439. 0x02B Else
  3440. 0x02B {
  3441. 0x02E If (LocalVar:Count == 2)
  3442. 0x02E {
  3443. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3444. 0x03B Perform("Handclaw"[0115], EnemyAttack)
  3445. 0x041 LocalVar:Cycle <- 0
  3446. 0x047 LocalVar:Count <- 6
  3447. 0x04D }
  3448. 0x04D Else
  3449. 0x04D {
  3450. 0x050 }
  3451. 0x050 Else
  3452. 0x050 {
  3453. 0x053 If (LocalVar:Count == 3)
  3454. 0x053 {
  3455. 0x058 }
  3456. 0x058 Else
  3457. 0x058 {
  3458. 0x05B If (LocalVar:Count == 4)
  3459. 0x05B {
  3460. 0x060 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3461. 0x068 Perform("Beam Gun"[0116], EnemyAttack)
  3462. 0x06E LocalVar:Count <- LocalVar:Count + 1
  3463. 0x078 }
  3464. 0x078 Else
  3465. 0x078 {
  3466. 0x07B }
  3467. 0x07B Else
  3468. 0x07B {
  3469. 0x07E If (LocalVar:Count == 5)
  3470. 0x07E {
  3471. 0x083 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3472. 0x08B Perform("Beam Gun"[0116], EnemyAttack)
  3473. 0x091 LocalVar:Cycle <- 1
  3474. 0x097 LocalVar:Count <- 6
  3475. 0x09D }
  3476. 0x09D Else
  3477. 0x09D {
  3478. 0x0A0 }
  3479. 0x0A0 Else
  3480. 0x0A0 {
  3481. 0x0A3 Bad Code0x0AE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  3482. 0x0B0 Perform("Wave"[012B], EnemyAttack)
  3483. 0x0B6 If (Not (LocalVar:Cycle) )
  3484. 0x0B6 {
  3485. 0x0BD LocalVar:Count <- 3
  3486. 0x0C3 }
  3487. 0x0C3 Else
  3488. 0x0C3 {
  3489. 0x0C6 LocalVar:Count <- 0
  3490. 0x0CC }
  3491. 0x0CC Else
  3492. 0x0CC {
  3493. 0x0CFPOP(LocalVar:Count)
  3494. 0x0D0SCRIPT END
  3495.  
  3496. NOTE - 0x0AD uses LMSK
  3497.  
  3498.  
  3499.  
  3500.  
  3501. 31 - [1F] Blood Taste
  3502.  
  3503.  
  3504. LocalVar:0000 = LocalVar:TarSelected
  3505. LocalVar:0020 = LocalVar:SpclChance
  3506.  
  3507. BattleAddr(&2060) = BattleAddr(&Self)
  3508. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3509. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3510. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  3511. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  3512. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  3513. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3514. BattleAddr(&4180) = BattleAddr(&MaxHP)
  3515.  
  3516.  
  3517.  
  3518. PRE-BATTLE:
  3519.  
  3520. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  3521. 0x008LocalVar:SpclChance <- 8
  3522. 0x00ESCRIPT END
  3523.  
  3524.  
  3525. MAIN:
  3526.  
  3527. 0x000 If ( (Not (Random MOD LocalVar:SpclChance) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Tentacle Drain [012C])) ) )
  3528. 0x000 {
  3529. 0x016 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP)) )
  3530. 0x016 {
  3531. 0x028 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  3532. 0x028 {
  3533. 0x035 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3534. 0x03C }
  3535. 0x03C Else
  3536. 0x03C {
  3537. 0x03F Bad Code0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  3538. 0x04C Perform("Tentacle Drain"[012C], EnemyAttack)
  3539. 0x052 }
  3540. 0x052 Else
  3541. 0x052 {
  3542. 0x055 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  3543. 0x055 {
  3544. 0x062 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3545. 0x069 }
  3546. 0x069 Else
  3547. 0x069 {
  3548. 0x06C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3549. 0x074 Perform("Bite"[0112], EnemyAttack)
  3550. 0x07A }
  3551. 0x07A Else
  3552. 0x07A {
  3553. 0x07D If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  3554. 0x07D {
  3555. 0x08A BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3556. 0x091 }
  3557. 0x091 Else
  3558. 0x091 {
  3559. 0x094 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3560. 0x09C Perform("Bite"[0112], EnemyAttack)
  3561. 0x0A2 If (Not (Random MOD LocalVar:SpclChance) )
  3562. 0x0A2 {
  3563. 0x0AB If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  3564. 0x0AB {
  3565. 0x0B8 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3566. 0x0BF }
  3567. 0x0BF Else
  3568. 0x0BF {
  3569. 0x0C2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3570. 0x0CA Perform("Bite"[0112], EnemyAttack)
  3571. 0x0D0SCRIPT END
  3572.  
  3573. NOTE - 0x049 uses HMSK
  3574.  
  3575.  
  3576. GENERAL COUNTER:
  3577.  
  3578. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3579. 0x00B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  3580. 0x00B {
  3581. 0x023 LocalVar:SpclChance <- 1
  3582. 0x029 }
  3583. 0x029 Else
  3584. 0x029 {
  3585. 0x02C If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  3586. 0x02C {
  3587. 0x044 LocalVar:SpclChance <- 2
  3588. 0x04A }
  3589. 0x04A Else
  3590. 0x04A {
  3591. 0x04D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  3592. 0x04D {
  3593. 0x065 LocalVar:SpclChance <- 3
  3594. 0x06B }
  3595. 0x06B Else
  3596. 0x06B {
  3597. 0x06E LocalVar:SpclChance <- 8
  3598. 0x074SCRIPT END
  3599.  
  3600.  
  3601.  
  3602.  
  3603. 32 - [20] Proto Machinegun
  3604.  
  3605.  
  3606. LocalVar:0000 = LocalVar:Count
  3607.  
  3608. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3609. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3610.  
  3611. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3612.  
  3613.  
  3614.  
  3615. MAIN:
  3616.  
  3617. 0x000 If (Not (LocalVar:Count) )
  3618. 0x000 {
  3619. 0x007 Bad Code0x012 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  3620. 0x014 Perform("Machine Gun"[0110], EnemyAttack)
  3621. 0x01A LocalVar:Count <- 1
  3622. 0x020 }
  3623. 0x020 Else
  3624. 0x020 {
  3625. 0x023 LocalVar:Count <- 0
  3626. 0x029SCRIPT END
  3627.  
  3628. NOTE - 0x011 uses LMSK
  3629.  
  3630.  
  3631.  
  3632.  
  3633. 33 - [21] Air Buster
  3634.  
  3635.  
  3636. LocalVar:0000 = LocalVar:CloudGrp
  3637. LocalVar:0020 = LocalVar:BarretGrp
  3638. LocalVar:0040 = LocalVar:LastAttacker
  3639. LocalVar:0060 = LocalVar:TarSelected
  3640. LocalVar:00C0 = LocalVar:Stage
  3641. LocalVar:0080 = LocalVar:Ammo
  3642. LocalVar:00A0 = LocalVar:GroupsAlive
  3643. LocalVar:00E0 = LocalVar:FaceCloud
  3644. LocalVar:0100 = LocalVar:ChrFacing
  3645. LocalVar:0120 = LocalVar:Counter
  3646. LocalVar:0140 = LocalVar:Back2Target
  3647. LocalVar:0160 = LocalVar:TrunBroken
  3648.  
  3649. BattleAddr(&2060) = BattleAddr(&Self)
  3650. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3651. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3652.  
  3653. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  3654. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  3655. BattleAddr(&4027) = BattleAddr(&DirFacing)
  3656. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  3657. BattleAddr(&4021) = BattleAddr(&AllyGrp)
  3658. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  3659. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  3660. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  3661. BattleAddr(&4110) = BattleAddr(&MDef)
  3662. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  3663. BattleAddr(&4180) = BattleAddr(&MaxHP)
  3664.  
  3665.  
  3666.  
  3667. PRE-BATTLE:
  3668.  
  3669. 0x000LocalVar:FaceCloud <- BattleAddr(&Self).BattleAddr(&DirFacing)
  3670. 0x00BLocalVar:ChrFacing <- LocalVar:FaceCloud
  3671. 0x012BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  3672. 0x01CLocalVar:Ammo <- 4
  3673. 0x022BattleAddr(&Self).BattleAddr(&MDef) <- 320
  3674. 0x02DSCRIPT END
  3675.  
  3676.  
  3677. MAIN:
  3678.  
  3679. 0x000LocalVar:GroupsAlive <- 0
  3680. 0x006LocalVar:CloudGrp <- (BattleAddr(&AllPlayers).BattleAddr(&AllyGrp) == 0)
  3681. 0x014LocalVar:BarretGrp <- (BattleAddr(&AllPlayers).BattleAddr(&AllyGrp) == 1)
  3682. 0x022 If ( ( (LocalVar:CloudGrp.BattleAddr(&DeathStatus) == 0) Or (LocalVar:CloudGrp.BattleAddr(&PetrifyStatus) == 0) ) )
  3683. 0x022 {
  3684. 0x03A LocalVar:GroupsAlive <- LocalVar:GroupsAlive OR 1
  3685. 0x044 If ( ( (LocalVar:BarretGrp.BattleAddr(&DeathStatus) == 0) Or (LocalVar:BarretGrp.BattleAddr(&PetrifyStatus) == 0) ) )
  3686. 0x044 {
  3687. 0x05C LocalVar:GroupsAlive <- LocalVar:GroupsAlive OR 2
  3688. 0x066LocalVar:Back2Target <- 0
  3689. 0x06C If ( (LocalVar:Ammo > 0) )
  3690. 0x06C {
  3691. 0x075 If ( (LocalVar:Stage == 0) )
  3692. 0x075 {
  3693. 0x07E Display String: "Program 1 Operation"
  3694. 0x093 LocalVar:Stage <- 1
  3695. 0x099 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3696. 0x0A1 LocalVar:TarSelected <- BattleAddr(&TarSelected)
  3697. 0x0A8 If ( (BattleAddr(&TarSelected).BattleAddr(&AllyGrp) == LocalVar:ChrFacing) )
  3698. 0x0A8 {
  3699. 0x0B6 If ( (LocalVar:TrunBroken == 0) )
  3700. 0x0B6 {
  3701. 0x0BF BattleAddr(&TarSelected) <- BattleAddr(&Self)
  3702. 0x0C6 If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3703. 0x0C6 {
  3704. 0x0D0 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3705. 0x0DA Perform([011F], EnemyAttack)
  3706. 0x0E0 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3707. 0x0EA LocalVar:ChrFacing <- Not (LocalVar:ChrFacing)
  3708. 0x0F2 }
  3709. 0x0F2 Else
  3710. 0x0F2 {
  3711. 0x0F5 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3712. 0x0FF Perform([0120], EnemyAttack)
  3713. 0x105 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3714. 0x10F LocalVar:ChrFacing <- Not (LocalVar:ChrFacing)
  3715. 0x117 }
  3716. 0x117 Else
  3717. 0x117 {
  3718. 0x11A LocalVar:Back2Target <- 1
  3719. 0x120 If ( ( ( (LocalVar:ChrFacing == LocalVar:FaceCloud) And (LocalVar:GroupsAlive == 2) ) Or ( (LocalVar:ChrFacing != LocalVar:FaceCloud) And (LocalVar:GroupsAlive == 1) ) ) )
  3720. 0x120 {
  3721. 0x140 LocalVar:Ammo <- 0
  3722. 0x146 If ( (LocalVar:Back2Target == 0) )
  3723. 0x146 {
  3724. 0x14F BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3725. 0x156 If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3726. 0x156 {
  3727. 0x160 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3728. 0x16A Perform("Big Bomber"[012E], EnemyAttack)
  3729. 0x170 }
  3730. 0x170 Else
  3731. 0x170 {
  3732. 0x173 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3733. 0x17D Perform("Big Bomber"[0131], EnemyAttack)
  3734. 0x183 LocalVar:Ammo <- LocalVar:Ammo - 1
  3735. 0x18D If ( (LocalVar:Ammo == 0) )
  3736. 0x18D {
  3737. 0x196 Display String: "Big Bomber's out of ammo."
  3738. 0x1B1 }
  3739. 0x1B1 Else
  3740. 0x1B1 {
  3741. 0x1B4 If ( (LocalVar:Stage == 1) )
  3742. 0x1B4 {
  3743. 0x1BD Display String: "Program 2 Operation"
  3744. 0x1D2 LocalVar:Stage <- 2
  3745. 0x1D8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3746. 0x1E0 If ( (BattleAddr(&TarSelected).BattleAddr(&AllyGrp) == 1) )
  3747. 0x1E0 {
  3748. 0x1ED If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3749. 0x1ED {
  3750. 0x1F7 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3751. 0x201 Perform("Rear Gun"[0130], EnemyAttack)
  3752. 0x207 }
  3753. 0x207 Else
  3754. 0x207 {
  3755. 0x20A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3756. 0x214 Perform("Energy Ball"[0132], EnemyAttack)
  3757. 0x21A }
  3758. 0x21A Else
  3759. 0x21A {
  3760. 0x21D If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3761. 0x21D {
  3762. 0x227 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3763. 0x231 Perform("Energy Ball"[012F], EnemyAttack)
  3764. 0x237 }
  3765. 0x237 Else
  3766. 0x237 {
  3767. 0x23A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3768. 0x244 Perform("Rear Gun"[0133], EnemyAttack)
  3769. 0x24ASCRIPT END
  3770.  
  3771.  
  3772. GENERAL COUNTER:
  3773.  
  3774. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 5) )
  3775. 0x000 {
  3776. 0x015 If ( (LocalVar:TrunBroken == 0) )
  3777. 0x015 {
  3778. 0x01E Display String: "Turn Function non-operational"
  3779. 0x03D LocalVar:TrunBroken <- 1
  3780. 0x043LocalVar:LastAttacker <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3781. 0x04E If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3782. 0x04E {
  3783. 0x058 If ( (LocalVar:LastAttacker.BattleAddr(&AllyGrp) == 0) )
  3784. 0x058 {
  3785. 0x065 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3786. 0x06F BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  3787. 0x079 }
  3788. 0x079 Else
  3789. 0x079 {
  3790. 0x07C BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3791. 0x086 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 3
  3792. 0x090 LocalVar:LastAttacker <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3793. 0x09B LocalVar:Counter <- 1
  3794. 0x0A1 }
  3795. 0x0A1 Else
  3796. 0x0A1 {
  3797. 0x0A4 If ( (LocalVar:LastAttacker.BattleAddr(&AllyGrp) == 1) )
  3798. 0x0A4 {
  3799. 0x0B1 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3800. 0x0BB BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  3801. 0x0C5 }
  3802. 0x0C5 Else
  3803. 0x0C5 {
  3804. 0x0C8 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3805. 0x0D2 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 3
  3806. 0x0DC LocalVar:LastAttacker <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3807. 0x0E7 LocalVar:Counter <- 1
  3808. 0x0ED If ( (LocalVar:Counter == 1) )
  3809. 0x0ED {
  3810. 0x0F6 LocalVar:Back2Target <- 0
  3811. 0x0FC Display String: "Counter Attack"
  3812. 0x10C LocalVar:Counter <- 0
  3813. 0x112 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  3814. 0x119 If ( (LocalVar:TrunBroken == 0) )
  3815. 0x119 {
  3816. 0x122 If ( (Random MOD 3 < 2) )
  3817. 0x122 {
  3818. 0x12C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  3819. 0x133 If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3820. 0x133 {
  3821. 0x13D BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  3822. 0x144 Perform("Bodyblow"[01A9], EnemyAttack)
  3823. 0x14A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3824. 0x154 }
  3825. 0x154 Else
  3826. 0x154 {
  3827. 0x157 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  3828. 0x15E Perform("Bodyblow"[012D], EnemyAttack)
  3829. 0x164 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3830. 0x16E LocalVar:ChrFacing <- Not (LocalVar:ChrFacing)
  3831. 0x176 LocalVar:Back2Target <- 1
  3832. 0x17C If ( (LocalVar:Back2Target == 0) )
  3833. 0x17C {
  3834. 0x185 If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3835. 0x185 {
  3836. 0x18F BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3837. 0x199 Perform("Rear Gun"[0130], EnemyAttack)
  3838. 0x19F }
  3839. 0x19F Else
  3840. 0x19F {
  3841. 0x1A2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3842. 0x1AC Perform("Rear Gun"[0133], EnemyAttack)
  3843. 0x1B2SCRIPT END
  3844.  
  3845.  
  3846. DEATH COUNTER:
  3847.  
  3848. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  3849. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  3850. 0x011 If ( (LocalVar:ChrFacing == LocalVar:FaceCloud) )
  3851. 0x011 {
  3852. 0x01B BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  3853. 0x025 Perform("Destroyed"[0396], EnemyAttack)
  3854. 0x02B }
  3855. 0x02B Else
  3856. 0x02B {
  3857. 0x02E BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  3858. 0x038 Perform("Destroyed"[0397], EnemyAttack)
  3859. 0x03ESCRIPT END
  3860.  
  3861.  
  3862.  
  3863.  
  3864. 34 - [22] Vice
  3865.  
  3866.  
  3867. LocalVar:0000 = LocalVar:Count
  3868. LocalVar:0020 = LocalVar:TarSelected
  3869.  
  3870. BattleAddr(&2060) = BattleAddr(&Self)
  3871. BattleAddr(&2070) = BattleAddr(&TarSelected)
  3872. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  3873.  
  3874. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  3875. BattleAddr(&4020) = BattleAddr(&SelfActive)
  3876. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  3877. BattleAddr(&4023) = BattleAddr(&Targetable)
  3878. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  3879. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  3880.  
  3881.  
  3882.  
  3883.  
  3884. PRE-BATTLE:
  3885.  
  3886. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  3887. 0x008SCRIPT END
  3888.  
  3889.  
  3890. MAIN:
  3891.  
  3892. 0x000 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  3893. 0x000 {
  3894. 0x00D BattleAddr(&TarSelected) <- LocalVar:TarSelected
  3895. 0x014 }
  3896. 0x014 Else
  3897. 0x014 {
  3898. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  3899. 0x01F If (LocalVar:Count == 0)
  3900. 0x01F {
  3901. 0x027 If (Random MOD 6 == 0)
  3902. 0x027 {
  3903. 0x030 LocalVar:Count <- 1
  3904. 0x036 }
  3905. 0x036 Else
  3906. 0x036 {
  3907. 0x039 }
  3908. 0x039 Else
  3909. 0x039 {
  3910. 0x03C If (Random MOD 6 == 1)
  3911. 0x03C {
  3912. 0x041 LocalVar:Count <- 2
  3913. 0x047 }
  3914. 0x047 Else
  3915. 0x047 {
  3916. 0x04A }
  3917. 0x04A Else
  3918. 0x04A {
  3919. 0x04D LocalVar:Count <- 0
  3920. 0x053 }
  3921. 0x053 Else
  3922. 0x053 {
  3923. 0x056 POP(Random MOD 6)
  3924. 0x057 }
  3925. 0x057 Else
  3926. 0x057 {
  3927. 0x05A }
  3928. 0x05A Else
  3929. 0x05A {
  3930. 0x05D If (LocalVar:Count == 1)
  3931. 0x05D {
  3932. 0x062 Perform("Grind"[0136], EnemyAttack)
  3933. 0x068 If (Not (Random MOD 3) )
  3934. 0x068 {
  3935. 0x070 LocalVar:Count <- 4
  3936. 0x076 }
  3937. 0x076 Else
  3938. 0x076 {
  3939. 0x079 LocalVar:Count <- 3
  3940. 0x07F }
  3941. 0x07F Else
  3942. 0x07F {
  3943. 0x082 }
  3944. 0x082 Else
  3945. 0x082 {
  3946. 0x085 If (LocalVar:Count == 2)
  3947. 0x085 {
  3948. 0x08A Perform("Steal"[0135], EnemyAttack)
  3949. 0x090 If (Not (Random MOD 3) )
  3950. 0x090 {
  3951. 0x098 LocalVar:Count <- 4
  3952. 0x09E }
  3953. 0x09E Else
  3954. 0x09E {
  3955. 0x0A1 LocalVar:Count <- 3
  3956. 0x0A7 }
  3957. 0x0A7 Else
  3958. 0x0A7 {
  3959. 0x0AA }
  3960. 0x0AA Else
  3961. 0x0AA {
  3962. 0x0AD If (LocalVar:Count == 3)
  3963. 0x0AD {
  3964. 0x0B2 If (Not (Random MOD 2) )
  3965. 0x0B2 {
  3966. 0x0BA LocalVar:Count <- 4
  3967. 0x0C0 }
  3968. 0x0C0 Else
  3969. 0x0C0 {
  3970. 0x0C3 LocalVar:Count <- 3
  3971. 0x0C9 }
  3972. 0x0C9 Else
  3973. 0x0C9 {
  3974. 0x0CC }
  3975. 0x0CC Else
  3976. 0x0CC {
  3977. 0x0CF BattleAddr(&TarSelected) <- BattleAddr(&Self)
  3978. 0x0D6 Perform("Escape"[0138], EnemyAttack)
  3979. 0x0DC BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  3980. 0x0E6 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  3981. 0x0F0 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  3982. 0x0FA BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  3983. 0x104POP(LocalVar:Count)
  3984. 0x105SCRIPT END
  3985.  
  3986.  
  3987. GENERAL COUNTER:
  3988.  
  3989. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  3990. 0x00BSCRIPT END
  3991.  
  3992.  
  3993.  
  3994.  
  3995. 35 - [23] Corneo's Lackey
  3996.  
  3997.  
  3998. LocalVar:0000 = LocalVar:EnemyGrp
  3999.  
  4000. BattleAddr(&2060) = BattleAddr(&Self)
  4001. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4002. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  4003. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4004.  
  4005. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  4006. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  4007. BattleAddr(&4180) = BattleAddr(&MaxHP)
  4008. BattleAddr(&41A0) = BattleAddr(&Angry)
  4009. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  4010.  
  4011.  
  4012.  
  4013. PRE-BATTLE:
  4014.  
  4015. 0x000LocalVar:EnemyGrp <- BattleAddr(&AllEnemies)
  4016. 0x007SCRIPT END
  4017.  
  4018.  
  4019. MAIN:
  4020.  
  4021. 0x000 If ( ( ( (LocalVar:EnemyGrp.BattleAddr(&DeathStatus) == 1) Or (LocalVar:EnemyGrp.BattleAddr(&AllyAngry) == 1) ) Or (LocalVar:EnemyGrp.BattleAddr(&Angry) == 1) ) )
  4022. 0x000 {
  4023. 0x023 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4024. 0x02B Perform("Machine Gun"[0110], EnemyAttack)
  4025. 0x031 }
  4026. 0x031 Else
  4027. 0x031 {
  4028. 0x034 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4029. 0x03C Perform("Hit"[0134], EnemyAttack)
  4030. 0x042SCRIPT END
  4031.  
  4032.  
  4033. GENERAL COUNTER:
  4034.  
  4035. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  4036. 0x000 {
  4037. 0x015 BattleAddr(&Self).BattleAddr(&Angry) <- 1
  4038. 0x01FSCRIPT END
  4039.  
  4040.  
  4041.  
  4042.  
  4043. 36 - [24] Scotch
  4044.  
  4045.  
  4046. LocalVar:0000 = LocalVar:EnemyGrp
  4047. LocalVar:0020 = LocalVar:TarSelected
  4048.  
  4049. BattleAddr(&2060) = BattleAddr(&Self)
  4050. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4051. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  4052. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4053.  
  4054. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  4055. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  4056. BattleAddr(&41A0) = BattleAddr(&Angry)
  4057. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  4058.  
  4059.  
  4060.  
  4061. PRE-BATTLE:
  4062.  
  4063. 0x000LocalVar:EnemyGrp <- BattleAddr(&AllEnemies)
  4064. 0x007LocalVar:EnemyGrp <- LocalVar:EnemyGrp AND NOT BattleAddr(&Self)
  4065. 0x013LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  4066. 0x01BSCRIPT END
  4067.  
  4068.  
  4069. MAIN:
  4070.  
  4071. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&AllyAngry) == 1) Or (LocalVar:EnemyGrp.BattleAddr(&DeathStatus) == 1) ) )
  4072. 0x000 {
  4073. 0x018 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  4074. 0x018 {
  4075. 0x025 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  4076. 0x02C }
  4077. 0x02C Else
  4078. 0x02C {
  4079. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4080. 0x037 Perform("Machine Gun"[0110], EnemyAttack)
  4081. 0x03D If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  4082. 0x03D {
  4083. 0x04A BattleAddr(&TarSelected) <- LocalVar:TarSelected
  4084. 0x051 }
  4085. 0x051 Else
  4086. 0x051 {
  4087. 0x054 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4088. 0x05C Perform("Machine Gun"[0110], EnemyAttack)
  4089. 0x062 }
  4090. 0x062 Else
  4091. 0x062 {
  4092. 0x065 If ( (LocalVar:EnemyGrp.BattleAddr(&Angry) == 1) )
  4093. 0x065 {
  4094. 0x072 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  4095. 0x072 {
  4096. 0x07F BattleAddr(&TarSelected) <- LocalVar:TarSelected
  4097. 0x086 }
  4098. 0x086 Else
  4099. 0x086 {
  4100. 0x089 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4101. 0x091 Perform("Machine Gun"[0110], EnemyAttack)
  4102. 0x097 }
  4103. 0x097 Else
  4104. 0x097 {
  4105. 0x09A If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  4106. 0x09A {
  4107. 0x0A7 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  4108. 0x0AE }
  4109. 0x0AE Else
  4110. 0x0AE {
  4111. 0x0B1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4112. 0x0B9 Perform("Hit"[0134], EnemyAttack)
  4113. 0x0BFSCRIPT END
  4114.  
  4115.  
  4116. GENERAL COUNTER:
  4117.  
  4118. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  4119. 0x00BBattleAddr(&Self).BattleAddr(&Angry) <- 1
  4120. 0x015BattleAddr(&Self).BattleAddr(&AllyAngry) <- 1
  4121. 0x01FSCRIPT END
  4122.  
  4123.  
  4124.  
  4125.  
  4126. 37 - [25] Aps
  4127.  
  4128.  
  4129. LocalVar:0000 = LocalVar:OpenAttack
  4130. LocalVar:0020 = LocalVar:LowHP
  4131. LocalVar:0040 = LocalVar:SpclAttack
  4132. LocalVar:0060 = LocalVar:Count
  4133. LocalVar:0080 = LocalVar:DamagedAnimID
  4134. LocalVar:00A0 = LocalVar:1stChr
  4135. LocalVar:00C0 = LocalVar:2ndChr
  4136. LocalVar:00E0 = LocalVar:3rdChr
  4137.  
  4138. BattleAddr(&2008) = BattleAddr(&LastAttID)
  4139. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  4140. BattleAddr(&2060) = BattleAddr(&Self)
  4141. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4142.  
  4143. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  4144. BattleAddr(&4026) = BattleAddr(&BackRow)
  4145. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4146. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  4147. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  4148. BattleAddr(&4180) = BattleAddr(&MaxHP)
  4149.  
  4150.  
  4151.  
  4152. PRE-BATTLE:
  4153.  
  4154. 0x000LocalVar:DamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  4155. 0x00BLocalVar:1stChr <- FlagBit(0)
  4156. 0x012LocalVar:2ndChr <- FlagBit(1)
  4157. 0x019LocalVar:3rdChr <- FlagBit(2)
  4158. 0x020SCRIPT END
  4159.  
  4160.  
  4161. MAIN:
  4162.  
  4163. x0x000 If (Not (LocalVar:OpenAttack) )
  4164. 0x000 {
  4165. 0x007 BattleAddr(&TarSelected) <- BattleAddr(&ActiveActors)
  4166. 0x00E Perform("Sewer Tsunami"[0144], EnemyAttack)
  4167. 0x014 LocalVar:OpenAttack <- 1
  4168. 0x01A }
  4169. 0x01A Else
  4170. 0x01A {
  4171. 0x01D If (Not (LocalVar:SpclAttack) )
  4172. 0x01D {
  4173. 0x024 If (Not (Random MOD 4) )
  4174. 0x024 {
  4175. 0x02C If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4176. 0x02C {
  4177. 0x039 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4178. 0x040 }
  4179. 0x040 Else
  4180. 0x040 {
  4181. 0x043 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4182. 0x04B Perform("Lick"[0143], EnemyAttack)
  4183. 0x051 }
  4184. 0x051 Else
  4185. 0x051 {
  4186. 0x054 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  4187. 0x054 {
  4188. 0x061 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  4189. 0x070 }
  4190. 0x070 Else
  4191. 0x070 {
  4192. 0x073 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4193. 0x07B Perform("Tail Attack"[0142], EnemyAttack)
  4194. 0x081 }
  4195. 0x081 Else
  4196. 0x081 {
  4197. 0x084 If (LocalVar:Count == 0)
  4198. 0x084 {
  4199. 0x08C LocalVar:Count <- 1
  4200. 0x092 }
  4201. 0x092 Else
  4202. 0x092 {
  4203. 0x095 }
  4204. 0x095 Else
  4205. 0x095 {
  4206. 0x098 If (LocalVar:Count == 1)
  4207. 0x098 {
  4208. 0x09D BattleAddr(&TarSelected) <- BattleAddr(&ActiveActors)
  4209. 0x0A4 Perform("Sewer Tsunami"[0144], EnemyAttack)
  4210. 0x0AA LocalVar:Count <- 2
  4211. 0x0B0 }
  4212. 0x0B0 Else
  4213. 0x0B0 {
  4214. 0x0B3 }
  4215. 0x0B3 Else
  4216. 0x0B3 {
  4217. 0x0B6 If (LocalVar:Count == 2)
  4218. 0x0B6 {
  4219. 0x0BB LocalVar:Count <- 3
  4220. 0x0C1 }
  4221. 0x0C1 Else
  4222. 0x0C1 {
  4223. 0x0C4 }
  4224. 0x0C4 Else
  4225. 0x0C4 {
  4226. 0x0C7 BattleAddr(&TarSelected) <- BattleAddr(&ActiveActors)
  4227. 0x0CE Perform("Sewer Tsunami"[0145], EnemyAttack)
  4228. 0x0D4 LocalVar:Count <- 0
  4229. 0x0DA LocalVar:SpclAttack <- 0
  4230. 0x0E0 }
  4231. 0x0E0 Else
  4232. 0x0E0 {
  4233. 0x0E3 POP(LocalVar:Count)
  4234. 0x0E4SCRIPT END
  4235.  
  4236.  
  4237. PHYSICAL COUNTER:
  4238.  
  4239. 0x000 If ( ( (BattleAddr(&LastAttID) == 324) Or (BattleAddr(&LastAttID) == 325) ) )
  4240. 0x000 {
  4241. 0x012 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  4242. 0x01C }
  4243. 0x01C Else
  4244. 0x01C {
  4245. 0x01F BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:DamagedAnimID
  4246. 0x02A If (Not (LocalVar:LowHP) )
  4247. 0x02A {
  4248. 0x031 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 3) )
  4249. 0x031 {
  4250. 0x046 LocalVar:SpclAttack <- 1
  4251. 0x04C LocalVar:LowHP <- 1
  4252. 0x052SCRIPT END
  4253.  
  4254.  
  4255. MAGICAL COUNTER:
  4256.  
  4257. 0x000 If ( ( (BattleAddr(&LastAttID) == 324) Or (BattleAddr(&LastAttID) == 325) ) )
  4258. 0x000 {
  4259. 0x012 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  4260. 0x01C }
  4261. 0x01C Else
  4262. 0x01C {
  4263. 0x01F BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:DamagedAnimID
  4264. 0x02ALocalVar:SpclAttack <- 1
  4265. 0x030SCRIPT END
  4266.  
  4267.  
  4268.  
  4269.  
  4270. 38 - [26] Sahagin
  4271.  
  4272.  
  4273. LocalVar:0000 = LocalVar:OpenAttack
  4274. LocalVar:0020 = LocalVar:DamagedAnimID
  4275. LocalVar:0040 = LocalVar:Def
  4276.  
  4277. BattleAddr(&2060) = BattleAddr(&Self)
  4278. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4279. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4280.  
  4281. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  4282. BattleAddr(&4100) = BattleAddr(&Def)
  4283.  
  4284.  
  4285.  
  4286. PRE-BATTLE:
  4287.  
  4288. 0x000LocalVar:DamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  4289. 0x00BLocalVar:Def <- BattleAddr(&Self).BattleAddr(&Def)
  4290. 0x016SCRIPT END
  4291.  
  4292.  
  4293. MAIN:
  4294.  
  4295. 0x000 If (Not (LocalVar:OpenAttack) )
  4296. 0x000 {
  4297. 0x007 If (Random MOD 4)
  4298. 0x007 {
  4299. 0x00E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4300. 0x016 Perform("Water Gun"[0147], EnemyAttack)
  4301. 0x01C LocalVar:OpenAttack <- 1
  4302. 0x022 }
  4303. 0x022 Else
  4304. 0x022 {
  4305. 0x025 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4306. 0x02D If (Not (Random MOD 2) )
  4307. 0x02D {
  4308. 0x035 Perform("Water Gun"[0147], EnemyAttack)
  4309. 0x03B }
  4310. 0x03B Else
  4311. 0x03B {
  4312. 0x03E Perform("Harpoon"[0146], EnemyAttack)
  4313. 0x044SCRIPT END
  4314.  
  4315.  
  4316. PRE-ACTION SETUP:
  4317.  
  4318. 0x000BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:DamagedAnimID
  4319. 0x00BBattleAddr(&Self).BattleAddr(&Def) <- LocalVar:Def
  4320. 0x016 If ( (Random MOD 16 == 0) )
  4321. 0x016 {
  4322. 0x020 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 5
  4323. 0x02A BattleAddr(&Self).BattleAddr(&Def) <- 512
  4324. 0x035SCRIPT END
  4325.  
  4326.  
  4327.  
  4328.  
  4329. 39 - [27] Ceasar
  4330.  
  4331.  
  4332. LocalVar:0000 = LocalVar:Stage
  4333.  
  4334. BattleAddr(&2060) = BattleAddr(&Self)
  4335. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4336. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4337.  
  4338. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  4339. BattleAddr(&4180) = BattleAddr(&MaxHP)
  4340.  
  4341.  
  4342.  
  4343. MAIN:
  4344.  
  4345. 0x000 If (LocalVar:Stage == 0)
  4346. 0x000 {
  4347. 0x008 If (Not (Random MOD 4) )
  4348. 0x008 {
  4349. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4350. 0x018 Perform("Bodyblow"[0126], EnemyAttack)
  4351. 0x01E }
  4352. 0x01E Else
  4353. 0x01E {
  4354. 0x021 }
  4355. 0x021 Else
  4356. 0x021 {
  4357. 0x024 If (LocalVar:Stage == 1)
  4358. 0x024 {
  4359. 0x029 If (Not (Random MOD 3) )
  4360. 0x029 {
  4361. 0x031 If (Not (Random MOD 2) )
  4362. 0x031 {
  4363. 0x039 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4364. 0x041 Perform("Bubble"[0149], EnemyAttack)
  4365. 0x047 }
  4366. 0x047 Else
  4367. 0x047 {
  4368. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4369. 0x052 Perform("Bodyblow"[0126], EnemyAttack)
  4370. 0x058 }
  4371. 0x058 Else
  4372. 0x058 {
  4373. 0x05B }
  4374. 0x05B Else
  4375. 0x05B {
  4376. 0x05E If (LocalVar:Stage == 2)
  4377. 0x05E {
  4378. 0x063 If (Not (Random MOD 2) )
  4379. 0x063 {
  4380. 0x06B If (Not (Random MOD 2) )
  4381. 0x06B {
  4382. 0x073 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4383. 0x07B Perform("Bubble"[0149], EnemyAttack)
  4384. 0x081 }
  4385. 0x081 Else
  4386. 0x081 {
  4387. 0x084 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4388. 0x08C Perform("Bodyblow"[0126], EnemyAttack)
  4389. 0x092 }
  4390. 0x092 Else
  4391. 0x092 {
  4392. 0x095 }
  4393. 0x095 Else
  4394. 0x095 {
  4395. 0x098 If (LocalVar:Stage == 3)
  4396. 0x098 {
  4397. 0x09D If (Not (Random MOD 2) )
  4398. 0x09D {
  4399. 0x0A5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4400. 0x0AD Perform("Bubble"[0149], EnemyAttack)
  4401. 0x0B3 }
  4402. 0x0B3 Else
  4403. 0x0B3 {
  4404. 0x0B6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4405. 0x0BE Perform("Bodyblow"[0126], EnemyAttack)
  4406. 0x0C4 }
  4407. 0x0C4 Else
  4408. 0x0C4 {
  4409. 0x0C7 }
  4410. 0x0C7 Else
  4411. 0x0C7 {
  4412. 0x0CA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4413. 0x0D2 Perform("Bubble"[0149], EnemyAttack)
  4414. 0x0D8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4415. 0x0E0 Perform("Bodyblow"[0126], EnemyAttack)
  4416. 0x0E6 }
  4417. 0x0E6 Else
  4418. 0x0E6 {
  4419. 0x0E9POP(LocalVar:Stage)
  4420. 0x0EASCRIPT END
  4421.  
  4422.  
  4423. GENERAL COUNTER:
  4424.  
  4425. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  4426. 0x000 {
  4427. 0x018 LocalVar:Stage <- 4
  4428. 0x01E }
  4429. 0x01E Else
  4430. 0x01E {
  4431. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  4432. 0x021 {
  4433. 0x039 LocalVar:Stage <- 3
  4434. 0x03F }
  4435. 0x03F Else
  4436. 0x03F {
  4437. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  4438. 0x042 {
  4439. 0x05A LocalVar:Stage <- 2
  4440. 0x060 }
  4441. 0x060 Else
  4442. 0x060 {
  4443. 0x063 LocalVar:Stage <- 1
  4444. 0x069SCRIPT END
  4445.  
  4446.  
  4447.  
  4448.  
  4449. 40 - [28] Eligor
  4450.  
  4451.  
  4452. LocalVar:0000 = LocalVar:OpenAttack
  4453. LocalVar:0020 = LocalVar:Stage
  4454. LocalVar:0040 = LocalVar:1stChr
  4455. LocalVar:0060 = LocalVar:2ndChr
  4456. LocalVar:0080 = LovalVar:3rdChr
  4457.  
  4458. BattleAddr(&2060) = BattleAddr(&Self)
  4459. BattleAddr(&2070) = BattleAddr(&TarSelected)
  4460. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  4461.  
  4462. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  4463. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  4464. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  4465. BattleAddr(&4026) = BattleAddr(&BackRow)
  4466. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  4467. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  4468. BattleAddr(&4180) = BattleAddr(&MaxHP)
  4469.  
  4470.  
  4471.  
  4472. MAIN:
  4473.  
  4474. 0x000 If (Not (LocalVar:OpenAttack) )
  4475. 0x000 {
  4476. 0x007 If (Random MOD 3 == 0)
  4477. 0x007 {
  4478. 0x010 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  4479. 0x010 {
  4480. 0x01E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4481. 0x02D Perform("Silence"[000D], EnemyAttack)
  4482. 0x032 }
  4483. 0x032 Else
  4484. 0x032 {
  4485. 0x035 If (Not (LocalVar:Stage) )
  4486. 0x035 {
  4487. 0x03C If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4488. 0x03C {
  4489. 0x049 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4490. 0x058 }
  4491. 0x058 Else
  4492. 0x058 {
  4493. 0x05B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4494. 0x063 Perform("Sword Attack"[014A], EnemyAttack)
  4495. 0x069 }
  4496. 0x069 Else
  4497. 0x069 {
  4498. 0x06C LocalVar:1stChr <- FlagBit(0)
  4499. 0x073 LocalVar:2ndChr <- FlagBit(1)
  4500. 0x07A LovalVar:3rdChr <- FlagBit(2)
  4501. 0x081 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4502. 0x081 {
  4503. 0x08E BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4504. 0x095 Perform("Mono Laser"[014B], EnemyAttack)
  4505. 0x09B If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4506. 0x09B {
  4507. 0x0A8 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4508. 0x0AF Perform("Mono Laser"[014B], EnemyAttack)
  4509. 0x0B5 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4510. 0x0B5 {
  4511. 0x0C2 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4512. 0x0C9 Perform("Mono Laser"[014B], EnemyAttack)
  4513. 0x0CF }
  4514. 0x0CF Else
  4515. 0x0CF {
  4516. 0x0D2 }
  4517. 0x0D2 Else
  4518. 0x0D2 {
  4519. 0x0D5 If (Random MOD 3 == 1)
  4520. 0x0D5 {
  4521. 0x0DA If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  4522. 0x0DA {
  4523. 0x0E8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4524. 0x0F7 Perform("Sleepel"[000B], EnemyAttack)
  4525. 0x0FC }
  4526. 0x0FC Else
  4527. 0x0FC {
  4528. 0x0FF If (Not (LocalVar:Stage) )
  4529. 0x0FF {
  4530. 0x106 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4531. 0x106 {
  4532. 0x113 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4533. 0x122 }
  4534. 0x122 Else
  4535. 0x122 {
  4536. 0x125 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4537. 0x12D Perform("Sword Attack"[014A], EnemyAttack)
  4538. 0x133 }
  4539. 0x133 Else
  4540. 0x133 {
  4541. 0x136 LocalVar:1stChr <- FlagBit(0)
  4542. 0x13D LocalVar:2ndChr <- FlagBit(1)
  4543. 0x144 LovalVar:3rdChr <- FlagBit(2)
  4544. 0x14B If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4545. 0x14B {
  4546. 0x158 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4547. 0x15F Perform("Mono Laser"[014B], EnemyAttack)
  4548. 0x165 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4549. 0x165 {
  4550. 0x172 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4551. 0x179 Perform("Mono Laser"[014B], EnemyAttack)
  4552. 0x17F If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4553. 0x17F {
  4554. 0x18C BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4555. 0x193 Perform("Mono Laser"[014B], EnemyAttack)
  4556. 0x199 }
  4557. 0x199 Else
  4558. 0x199 {
  4559. 0x19C }
  4560. 0x19C Else
  4561. 0x19C {
  4562. 0x19F }
  4563. 0x19F Else
  4564. 0x19F {
  4565. 0x1A2 POP(Random MOD 3)
  4566. 0x1A3 LocalVar:OpenAttack <- 1
  4567. 0x1A9 }
  4568. 0x1A9 Else
  4569. 0x1A9 {
  4570. 0x1AC If (Not (LocalVar:Stage) )
  4571. 0x1AC {
  4572. 0x1B3 If (Random MOD 12 == 0)
  4573. 0x1B3 {
  4574. 0x1BC }
  4575. 0x1BC Else
  4576. 0x1BC {
  4577. 0x1BF If (Random MOD 12 == 1)
  4578. 0x1BF {
  4579. 0x1C4 If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4580. 0x1C4 {
  4581. 0x1D1 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  4582. 0x1D1 {
  4583. 0x1DF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4584. 0x1EE Perform("Silence"[000D], EnemyAttack)
  4585. 0x1F3 }
  4586. 0x1F3 Else
  4587. 0x1F3 {
  4588. 0x1F6 If (Not (LocalVar:Stage) )
  4589. 0x1F6 {
  4590. 0x1FD If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4591. 0x1FD {
  4592. 0x20A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4593. 0x219 }
  4594. 0x219 Else
  4595. 0x219 {
  4596. 0x21C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4597. 0x224 Perform("Sword Attack"[014A], EnemyAttack)
  4598. 0x22A }
  4599. 0x22A Else
  4600. 0x22A {
  4601. 0x22D LocalVar:1stChr <- FlagBit(0)
  4602. 0x234 LocalVar:2ndChr <- FlagBit(1)
  4603. 0x23B LovalVar:3rdChr <- FlagBit(2)
  4604. 0x242 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4605. 0x242 {
  4606. 0x24F BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4607. 0x256 Perform("Mono Laser"[014B], EnemyAttack)
  4608. 0x25C If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4609. 0x25C {
  4610. 0x269 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4611. 0x270 Perform("Mono Laser"[014B], EnemyAttack)
  4612. 0x276 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4613. 0x276 {
  4614. 0x283 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4615. 0x28A Perform("Mono Laser"[014B], EnemyAttack)
  4616. 0x290 }
  4617. 0x290 Else
  4618. 0x290 {
  4619. 0x293 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4620. 0x293 {
  4621. 0x2A0 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  4622. 0x2A0 {
  4623. 0x2AE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4624. 0x2BD Perform("Sleepel"[000B], EnemyAttack)
  4625. 0x2C2 }
  4626. 0x2C2 Else
  4627. 0x2C2 {
  4628. 0x2C5 If (Not (LocalVar:Stage) )
  4629. 0x2C5 {
  4630. 0x2CC If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4631. 0x2CC {
  4632. 0x2D9 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4633. 0x2E8 }
  4634. 0x2E8 Else
  4635. 0x2E8 {
  4636. 0x2EB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4637. 0x2F3 Perform("Sword Attack"[014A], EnemyAttack)
  4638. 0x2F9 }
  4639. 0x2F9 Else
  4640. 0x2F9 {
  4641. 0x2FC LocalVar:1stChr <- FlagBit(0)
  4642. 0x303 LocalVar:2ndChr <- FlagBit(1)
  4643. 0x30A LovalVar:3rdChr <- FlagBit(2)
  4644. 0x311 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4645. 0x311 {
  4646. 0x31E BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4647. 0x325 Perform("Mono Laser"[014B], EnemyAttack)
  4648. 0x32B If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4649. 0x32B {
  4650. 0x338 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4651. 0x33F Perform("Mono Laser"[014B], EnemyAttack)
  4652. 0x345 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4653. 0x345 {
  4654. 0x352 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4655. 0x359 Perform("Mono Laser"[014B], EnemyAttack)
  4656. 0x35F }
  4657. 0x35F Else
  4658. 0x35F {
  4659. 0x362 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4660. 0x362 {
  4661. 0x36F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4662. 0x37E }
  4663. 0x37E Else
  4664. 0x37E {
  4665. 0x381 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4666. 0x389 Perform("Sword Attack"[014A], EnemyAttack)
  4667. 0x38F }
  4668. 0x38F Else
  4669. 0x38F {
  4670. 0x392 }
  4671. 0x392 Else
  4672. 0x392 {
  4673. 0x395 If (Random MOD 12 == 2)
  4674. 0x395 {
  4675. 0x39A }
  4676. 0x39A Else
  4677. 0x39A {
  4678. 0x39D If (Random MOD 12 == 3)
  4679. 0x39D {
  4680. 0x3A2 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4681. 0x3A2 {
  4682. 0x3AF If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  4683. 0x3AF {
  4684. 0x3BD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4685. 0x3CC Perform("Sleepel"[000B], EnemyAttack)
  4686. 0x3D1 }
  4687. 0x3D1 Else
  4688. 0x3D1 {
  4689. 0x3D4 If (Not (LocalVar:Stage) )
  4690. 0x3D4 {
  4691. 0x3DB If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4692. 0x3DB {
  4693. 0x3E8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4694. 0x3F7 }
  4695. 0x3F7 Else
  4696. 0x3F7 {
  4697. 0x3FA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4698. 0x402 Perform("Sword Attack"[014A], EnemyAttack)
  4699. 0x408 }
  4700. 0x408 Else
  4701. 0x408 {
  4702. 0x40B LocalVar:1stChr <- FlagBit(0)
  4703. 0x412 LocalVar:2ndChr <- FlagBit(1)
  4704. 0x419 LovalVar:3rdChr <- FlagBit(2)
  4705. 0x420 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4706. 0x420 {
  4707. 0x42D BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4708. 0x434 Perform("Mono Laser"[014B], EnemyAttack)
  4709. 0x43A If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4710. 0x43A {
  4711. 0x447 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4712. 0x44E Perform("Mono Laser"[014B], EnemyAttack)
  4713. 0x454 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4714. 0x454 {
  4715. 0x461 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4716. 0x468 Perform("Mono Laser"[014B], EnemyAttack)
  4717. 0x46E }
  4718. 0x46E Else
  4719. 0x46E {
  4720. 0x471 If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4721. 0x471 {
  4722. 0x47E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  4723. 0x47E {
  4724. 0x48C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4725. 0x49B Perform("Silence"[000D], EnemyAttack)
  4726. 0x4A0 }
  4727. 0x4A0 Else
  4728. 0x4A0 {
  4729. 0x4A3 If (Not (LocalVar:Stage) )
  4730. 0x4A3 {
  4731. 0x4AA If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4732. 0x4AA {
  4733. 0x4B7 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4734. 0x4C6 }
  4735. 0x4C6 Else
  4736. 0x4C6 {
  4737. 0x4C9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4738. 0x4D1 Perform("Sword Attack"[014A], EnemyAttack)
  4739. 0x4D7 }
  4740. 0x4D7 Else
  4741. 0x4D7 {
  4742. 0x4DA LocalVar:1stChr <- FlagBit(0)
  4743. 0x4E1 LocalVar:2ndChr <- FlagBit(1)
  4744. 0x4E8 LovalVar:3rdChr <- FlagBit(2)
  4745. 0x4EF If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4746. 0x4EF {
  4747. 0x4FC BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4748. 0x503 Perform("Mono Laser"[014B], EnemyAttack)
  4749. 0x509 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4750. 0x509 {
  4751. 0x516 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4752. 0x51D Perform("Mono Laser"[014B], EnemyAttack)
  4753. 0x523 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4754. 0x523 {
  4755. 0x530 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4756. 0x537 Perform("Mono Laser"[014B], EnemyAttack)
  4757. 0x53D }
  4758. 0x53D Else
  4759. 0x53D {
  4760. 0x540 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4761. 0x540 {
  4762. 0x54D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4763. 0x55C }
  4764. 0x55C Else
  4765. 0x55C {
  4766. 0x55F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4767. 0x567 Perform("Sword Attack"[014A], EnemyAttack)
  4768. 0x56D }
  4769. 0x56D Else
  4770. 0x56D {
  4771. 0x570 }
  4772. 0x570 Else
  4773. 0x570 {
  4774. 0x573 If (Random MOD 12 == 4)
  4775. 0x573 {
  4776. 0x578 }
  4777. 0x578 Else
  4778. 0x578 {
  4779. 0x57B If (Random MOD 12 == 5)
  4780. 0x57B {
  4781. 0x580 }
  4782. 0x580 Else
  4783. 0x580 {
  4784. 0x583 If (Random MOD 12 == 6)
  4785. 0x583 {
  4786. 0x588 }
  4787. 0x588 Else
  4788. 0x588 {
  4789. 0x58B If (Random MOD 12 == 7)
  4790. 0x58B {
  4791. 0x590 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  4792. 0x590 {
  4793. 0x59D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 1) )
  4794. 0x5AC }
  4795. 0x5AC Else
  4796. 0x5AC {
  4797. 0x5AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4798. 0x5B7 Perform("Mono Laser"[014B], EnemyAttack)
  4799. 0x5BD }
  4800. 0x5BD Else
  4801. 0x5BD {
  4802. 0x5C0 }
  4803. 0x5C0 Else
  4804. 0x5C0 {
  4805. 0x5C3 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4806. 0x5C3 {
  4807. 0x5D0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4808. 0x5DF }
  4809. 0x5DF Else
  4810. 0x5DF {
  4811. 0x5E2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4812. 0x5EA Perform("Sword Attack"[014A], EnemyAttack)
  4813. 0x5F0 }
  4814. 0x5F0 Else
  4815. 0x5F0 {
  4816. 0x5F3 POP(Random MOD 12)
  4817. 0x5F4 }
  4818. 0x5F4 Else
  4819. 0x5F4 {
  4820. 0x5F7 If (Random MOD 5 == 0)
  4821. 0x5F7 {
  4822. 0x600 If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4823. 0x600 {
  4824. 0x60D If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  4825. 0x60D {
  4826. 0x61B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4827. 0x62A Perform("Silence"[000D], EnemyAttack)
  4828. 0x62F }
  4829. 0x62F Else
  4830. 0x62F {
  4831. 0x632 If (Not (LocalVar:Stage) )
  4832. 0x632 {
  4833. 0x639 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4834. 0x639 {
  4835. 0x646 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4836. 0x655 }
  4837. 0x655 Else
  4838. 0x655 {
  4839. 0x658 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4840. 0x660 Perform("Sword Attack"[014A], EnemyAttack)
  4841. 0x666 }
  4842. 0x666 Else
  4843. 0x666 {
  4844. 0x669 LocalVar:1stChr <- FlagBit(0)
  4845. 0x670 LocalVar:2ndChr <- FlagBit(1)
  4846. 0x677 LovalVar:3rdChr <- FlagBit(2)
  4847. 0x67E If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4848. 0x67E {
  4849. 0x68B BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4850. 0x692 Perform("Mono Laser"[014B], EnemyAttack)
  4851. 0x698 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4852. 0x698 {
  4853. 0x6A5 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4854. 0x6AC Perform("Mono Laser"[014B], EnemyAttack)
  4855. 0x6B2 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4856. 0x6B2 {
  4857. 0x6BF BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4858. 0x6C6 Perform("Mono Laser"[014B], EnemyAttack)
  4859. 0x6CC }
  4860. 0x6CC Else
  4861. 0x6CC {
  4862. 0x6CF If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4863. 0x6CF {
  4864. 0x6DC If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  4865. 0x6DC {
  4866. 0x6EA BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4867. 0x6F9 Perform("Sleepel"[000B], EnemyAttack)
  4868. 0x6FE }
  4869. 0x6FE Else
  4870. 0x6FE {
  4871. 0x701 If (Not (LocalVar:Stage) )
  4872. 0x701 {
  4873. 0x708 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4874. 0x708 {
  4875. 0x715 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4876. 0x724 }
  4877. 0x724 Else
  4878. 0x724 {
  4879. 0x727 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4880. 0x72F Perform("Sword Attack"[014A], EnemyAttack)
  4881. 0x735 }
  4882. 0x735 Else
  4883. 0x735 {
  4884. 0x738 LocalVar:1stChr <- FlagBit(0)
  4885. 0x73F LocalVar:2ndChr <- FlagBit(1)
  4886. 0x746 LovalVar:3rdChr <- FlagBit(2)
  4887. 0x74D If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4888. 0x74D {
  4889. 0x75A BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4890. 0x761 Perform("Mono Laser"[014B], EnemyAttack)
  4891. 0x767 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4892. 0x767 {
  4893. 0x774 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4894. 0x77B Perform("Mono Laser"[014B], EnemyAttack)
  4895. 0x781 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4896. 0x781 {
  4897. 0x78E BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4898. 0x795 Perform("Mono Laser"[014B], EnemyAttack)
  4899. 0x79B }
  4900. 0x79B Else
  4901. 0x79B {
  4902. 0x79E LocalVar:1stChr <- FlagBit(0)
  4903. 0x7A5 LocalVar:2ndChr <- FlagBit(1)
  4904. 0x7AC LovalVar:3rdChr <- FlagBit(2)
  4905. 0x7B3 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4906. 0x7B3 {
  4907. 0x7C0 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4908. 0x7C7 Perform("Mono Laser"[014B], EnemyAttack)
  4909. 0x7CD If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4910. 0x7CD {
  4911. 0x7DA BattleAddr(&TarSelected) <- LocalVar:1stChr
  4912. 0x7E1 Perform("Mono Laser"[014B], EnemyAttack)
  4913. 0x7E7 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4914. 0x7E7 {
  4915. 0x7F4 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4916. 0x7FB Perform("Mono Laser"[014B], EnemyAttack)
  4917. 0x801 }
  4918. 0x801 Else
  4919. 0x801 {
  4920. 0x804 }
  4921. 0x804 Else
  4922. 0x804 {
  4923. 0x807 If (Random MOD 5 == 1)
  4924. 0x807 {
  4925. 0x80C If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4926. 0x80C {
  4927. 0x819 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  4928. 0x819 {
  4929. 0x827 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  4930. 0x836 Perform("Sleepel"[000B], EnemyAttack)
  4931. 0x83B }
  4932. 0x83B Else
  4933. 0x83B {
  4934. 0x83E If (Not (LocalVar:Stage) )
  4935. 0x83E {
  4936. 0x845 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4937. 0x845 {
  4938. 0x852 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4939. 0x861 }
  4940. 0x861 Else
  4941. 0x861 {
  4942. 0x864 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4943. 0x86C Perform("Sword Attack"[014A], EnemyAttack)
  4944. 0x872 }
  4945. 0x872 Else
  4946. 0x872 {
  4947. 0x875 LocalVar:1stChr <- FlagBit(0)
  4948. 0x87C LocalVar:2ndChr <- FlagBit(1)
  4949. 0x883 LovalVar:3rdChr <- FlagBit(2)
  4950. 0x88A If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4951. 0x88A {
  4952. 0x897 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4953. 0x89E Perform("Mono Laser"[014B], EnemyAttack)
  4954. 0x8A4 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4955. 0x8A4 {
  4956. 0x8B1 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4957. 0x8B8 Perform("Mono Laser"[014B], EnemyAttack)
  4958. 0x8BE If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4959. 0x8BE {
  4960. 0x8CB BattleAddr(&TarSelected) <- LovalVar:3rdChr
  4961. 0x8D2 Perform("Mono Laser"[014B], EnemyAttack)
  4962. 0x8D8 }
  4963. 0x8D8 Else
  4964. 0x8D8 {
  4965. 0x8DB If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4966. 0x8DB {
  4967. 0x8E8 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  4968. 0x8E8 {
  4969. 0x8F6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  4970. 0x905 Perform("Silence"[000D], EnemyAttack)
  4971. 0x90A }
  4972. 0x90A Else
  4973. 0x90A {
  4974. 0x90D If (Not (LocalVar:Stage) )
  4975. 0x90D {
  4976. 0x914 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4977. 0x914 {
  4978. 0x921 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  4979. 0x930 }
  4980. 0x930 Else
  4981. 0x930 {
  4982. 0x933 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  4983. 0x93B Perform("Sword Attack"[014A], EnemyAttack)
  4984. 0x941 }
  4985. 0x941 Else
  4986. 0x941 {
  4987. 0x944 LocalVar:1stChr <- FlagBit(0)
  4988. 0x94B LocalVar:2ndChr <- FlagBit(1)
  4989. 0x952 LovalVar:3rdChr <- FlagBit(2)
  4990. 0x959 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  4991. 0x959 {
  4992. 0x966 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  4993. 0x96D Perform("Mono Laser"[014B], EnemyAttack)
  4994. 0x973 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  4995. 0x973 {
  4996. 0x980 BattleAddr(&TarSelected) <- LocalVar:1stChr
  4997. 0x987 Perform("Mono Laser"[014B], EnemyAttack)
  4998. 0x98D If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  4999. 0x98D {
  5000. 0x99A BattleAddr(&TarSelected) <- LovalVar:3rdChr
  5001. 0x9A1 Perform("Mono Laser"[014B], EnemyAttack)
  5002. 0x9A7 }
  5003. 0x9A7 Else
  5004. 0x9A7 {
  5005. 0x9AA LocalVar:1stChr <- FlagBit(0)
  5006. 0x9B1 LocalVar:2ndChr <- FlagBit(1)
  5007. 0x9B8 LovalVar:3rdChr <- FlagBit(2)
  5008. 0x9BF If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  5009. 0x9BF {
  5010. 0x9CC BattleAddr(&TarSelected) <- LocalVar:2ndChr
  5011. 0x9D3 Perform("Mono Laser"[014B], EnemyAttack)
  5012. 0x9D9 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  5013. 0x9D9 {
  5014. 0x9E6 BattleAddr(&TarSelected) <- LocalVar:1stChr
  5015. 0x9ED Perform("Mono Laser"[014B], EnemyAttack)
  5016. 0x9F3 If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  5017. 0x9F3 {
  5018. 0xA00 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  5019. 0xA07 Perform("Mono Laser"[014B], EnemyAttack)
  5020. 0xA0D }
  5021. 0xA0D Else
  5022. 0xA0D {
  5023. 0xA10 }
  5024. 0xA10 Else
  5025. 0xA10 {
  5026. 0xA13 LocalVar:1stChr <- FlagBit(0)
  5027. 0xA1A LocalVar:2ndChr <- FlagBit(1)
  5028. 0xA21 LovalVar:3rdChr <- FlagBit(2)
  5029. 0xA28 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  5030. 0xA28 {
  5031. 0xA35 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  5032. 0xA3C Perform("Mono Laser"[014B], EnemyAttack)
  5033. 0xA42 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  5034. 0xA42 {
  5035. 0xA4F BattleAddr(&TarSelected) <- LocalVar:1stChr
  5036. 0xA56 Perform("Mono Laser"[014B], EnemyAttack)
  5037. 0xA5C If ( (LovalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  5038. 0xA5C {
  5039. 0xA69 BattleAddr(&TarSelected) <- LovalVar:3rdChr
  5040. 0xA70 Perform("Mono Laser"[014B], EnemyAttack)
  5041. 0xA76 }
  5042. 0xA76 Else
  5043. 0xA76 {
  5044. 0xA79 POP(Random MOD 5)
  5045. 0xA7ASCRIPT END
  5046.  
  5047.  
  5048. GENERAL COUNTER:
  5049.  
  5050. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  5051. 0x000 {
  5052. 0x015 LocalVar:Stage <- 1
  5053. 0x01B }
  5054. 0x01B Else
  5055. 0x01B {
  5056. 0x01E LocalVar:Stage <- 0
  5057. 0x024SCRIPT END
  5058.  
  5059.  
  5060.  
  5061.  
  5062. 41 - [29] Ghost
  5063.  
  5064.  
  5065. LocalVar:0000 = LocalVar:Count
  5066.  
  5067. BattleAddr(&2060) = BattleAddr(&Self)
  5068. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5069. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5070.  
  5071. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  5072. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  5073. BattleAddr(&402E) = BattleAddr(&SelfInvis)
  5074.  
  5075.  
  5076.  
  5077. MAIN:
  5078.  
  5079. 0x000 If ( (BattleAddr(&Self).BattleAddr(&SelfInvis) == 0) )
  5080. 0x000 {
  5081. 0x00D If (LocalVar:Count == 0)
  5082. 0x00D {
  5083. 0x015 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5084. 0x01D Perform("Scratch"[014C], EnemyAttack)
  5085. 0x023 If (Random MOD 2)
  5086. 0x023 {
  5087. 0x02A LocalVar:Count <- LocalVar:Count + 1
  5088. 0x034 }
  5089. 0x034 Else
  5090. 0x034 {
  5091. 0x037 }
  5092. 0x037 Else
  5093. 0x037 {
  5094. 0x03A If (LocalVar:Count == 1)
  5095. 0x03A {
  5096. 0x03F Bad Code0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  5097. 0x04C Perform("Drain"[014D], EnemyAttack)
  5098. 0x052 LocalVar:Count <- LocalVar:Count + 1
  5099. 0x05C }
  5100. 0x05C Else
  5101. 0x05C {
  5102. 0x05F }
  5103. 0x05F Else
  5104. 0x05F {
  5105. 0x062 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire [001B])) )
  5106. 0x062 {
  5107. 0x070 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5108. 0x078 Perform("Fire"[001B], EnemyAttack)
  5109. 0x07D }
  5110. 0x07D Else
  5111. 0x07D {
  5112. 0x080 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5113. 0x088 Perform("Scratch"[014C], EnemyAttack)
  5114. 0x08E LocalVar:Count <- 0
  5115. 0x094 }
  5116. 0x094 Else
  5117. 0x094 {
  5118. 0x097 POP(LocalVar:Count)
  5119. 0x098 }
  5120. 0x098 Else
  5121. 0x098 {
  5122. 0x09B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5123. 0x0A2 Perform("Appear"[014F], EnemyAttack)
  5124. 0x0A8 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 0
  5125. 0x0B2 LocalVar:Count <- 0
  5126. 0x0B8SCRIPT END
  5127.  
  5128. NOTE - 0x049 uses HMSK
  5129.  
  5130.  
  5131. GENERAL COUNTER:
  5132.  
  5133. 0x000 If ( (BattleAddr(&Self).BattleAddr(&SelfInvis) == 0) )
  5134. 0x000 {
  5135. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5136. 0x014 Perform("Vanish"[014E], EnemyAttack)
  5137. 0x01A BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  5138. 0x024SCRIPT END
  5139.  
  5140.  
  5141.  
  5142.  
  5143. 42 - [2A] Cripshay
  5144.  
  5145.  
  5146. LocalVar:0000 = LocalVar:Count
  5147. LocalVar:0020 = LocalVar:TarSelected
  5148.  
  5149. BattleAddr(&2060) = BattleAddr(&Self)
  5150. BattleAddr(&2070) = BattleAddr(&TargetSelected
  5151. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5152.  
  5153. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5154. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  5155.  
  5156.  
  5157.  
  5158. MAIN:
  5159.  
  5160. 0x000 If (LocalVar:Count)
  5161. 0x000 {
  5162. 0x006 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  5163. 0x006 {
  5164. 0x013 BattleAddr(&TargetSelected <- LocalVar:TarSelected
  5165. 0x01A }
  5166. 0x01A Else
  5167. 0x01A {
  5168. 0x01D BattleAddr(&TargetSelected <- RandomBit(BattleAddr(&AllPlayers))
  5169. 0x025 Perform("Dual Spike"[013A], EnemyAttack)
  5170. 0x02B LocalVar:Count <- 0
  5171. 0x031 }
  5172. 0x031 Else
  5173. 0x031 {
  5174. 0x034 BattleAddr(&TargetSelected <- RandomBit(BattleAddr(&AllPlayers))
  5175. 0x03C Perform("Scissors"[0139], EnemyAttack)
  5176. 0x042SCRIPT END
  5177.  
  5178.  
  5179. PHYSICAL COUNTER:
  5180.  
  5181. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  5182. 0x00BLocalVar:Count <- 1
  5183. 0x011SCRIPT END
  5184.  
  5185.  
  5186.  
  5187.  
  5188. 43 - [2B] Deenglow
  5189.  
  5190.  
  5191. LocalVar:0000 = LocalVar:Count
  5192. LocalVar:0020 = LocalVar:TarSelected
  5193. LocalVar:0040 = LocalVar:EnemyAttack
  5194. LocalVar:0060 = LocalVar:HitCount
  5195.  
  5196. BattleAddr(&2060) = BattleAddr(&Self)
  5197. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5198. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5199.  
  5200. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5201. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  5202. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  5203. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  5204. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  5205.  
  5206.  
  5207.  
  5208. MAIN:
  5209.  
  5210. 0x000Bad Code0x00BBattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  5211. 0x00D If (LocalVar:Count)
  5212. 0x00D {
  5213. 0x013 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  5214. 0x013 {
  5215. 0x020 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  5216. 0x027 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(LocalVar:EnemyAttack)) )
  5217. 0x027 {
  5218. 0x036 LocalVar:EnemyAttack <- 315 (Wing Cutter)
  5219. 0x03D }
  5220. 0x03D Else
  5221. 0x03D {
  5222. 0x040 LocalVar:EnemyAttack <- 315 (Wing Cutter)
  5223. 0x047Perform(LocalVar:EnemyAttack, EnemyAttack)
  5224. 0x04DLocalVar:Count <- 0
  5225. 0x053SCRIPT END
  5226.  
  5227. NOTE - 0x00A uses HMSK
  5228.  
  5229.  
  5230. PHSYICAL COUNTER:
  5231.  
  5232. 0x000LocalVar:HitCount <- LocalVar:HitCount + 1
  5233. 0x00A If ( (LocalVar:HitCount == 3) )
  5234. 0x00A {
  5235. 0x013 LocalVar:Count <- 1
  5236. 0x019 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  5237. 0x024 LocalVar:EnemyAttack <- 30 (Ice)
  5238. 0x02A LocalVar:HitCount <- 0
  5239. 0x030SCRIPT END
  5240.  
  5241.  
  5242. MAGICAL COUNTER:
  5243.  
  5244. 0x000LocalVar:HitCount <- LocalVar:HitCount + 1
  5245. 0x00A If ( (LocalVar:HitCount == 3) )
  5246. 0x00A {
  5247. 0x013 LocalVar:Count <- 1
  5248. 0x019 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  5249. 0x024 LocalVar:EnemyAttack <- 42 (Demi)
  5250. 0x02A LocalVar:HitCount <- 0
  5251. 0x030SCRIPT END
  5252.  
  5253.  
  5254.  
  5255.  
  5256. 44 - [2C] Hell House (1st Form)
  5257.  
  5258.  
  5259. LocalVar:0000 = LocalVar:TransformID
  5260.  
  5261. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5262. BattleAddr(&2060) = BattleAddr(&Self)
  5263. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5264. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5265.  
  5266. BattleAddr(&4020) = BattleAddr(&SelfActive)
  5267. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  5268. BattleAddr(&4023) = BattleAddr(&Targetable)
  5269. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  5270. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5271. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  5272. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  5273. BattleAddr(&4180) = BattleAddr(&MaxHP)
  5274.  
  5275.  
  5276.  
  5277. PRE-BATTLE:
  5278.  
  5279. 0x000LocalVar:TransformID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5280. 0x014LocalVar:TransformID <- (LocalVar:TransformID.BattleAddr(&IndexOfActor) == 45)
  5281. 0x022SCRIPT END
  5282.  
  5283.  
  5284. MAIN:
  5285.  
  5286. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5287. 0x008 If (Not (Random MOD 3) )
  5288. 0x008 {
  5289. 0x010 Perform("Erupt"[013C], EnemyAttack)
  5290. 0x016 }
  5291. 0x016 Else
  5292. 0x016 {
  5293. 0x019 Perform("Hell Bomber"[013D], EnemyAttack)
  5294. 0x01FSCRIPT END
  5295.  
  5296.  
  5297. GENERAL COUNTER:
  5298.  
  5299. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  5300. 0x000 {
  5301. 0x018 If (Not (Random MOD 2) )
  5302. 0x018 {
  5303. 0x020 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  5304. 0x027 Perform("Suicide Drop"[013E], EnemyAttack)
  5305. 0x02D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5306. 0x037 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5307. 0x041 LocalVar:TransformID.BattleAddr(&SelfActive) <- 1
  5308. 0x04B LocalVar:TransformID.BattleAddr(&Targetable) <- 1
  5309. 0x055 LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 1
  5310. 0x05F LocalVar:TransformID.BattleAddr(&AIScriptActive) <- 1
  5311. 0x069 TransferStatus(BattleAddr(&Self), LocalVar:TransformID)
  5312. 0x070 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5313. 0x07A BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5314. 0x084 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  5315. 0x08E BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  5316. 0x098SCRIPT END
  5317.  
  5318.  
  5319. DEATH COUNTER:
  5320.  
  5321. 0x000LocalVar:TransformID.BattleAddr(&SelfActive) <- 0
  5322. 0x00ALocalVar:TransformID.BattleAddr(&Targetable) <- 0
  5323. 0x014LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 0
  5324. 0x01ELocalVar:TransformID.BattleAddr(&AIScriptActive) <- 0
  5325. 0x028SCRIPT END
  5326.  
  5327.  
  5328.  
  5329.  
  5330. 45 - [2D] Hell House (2nd Form)
  5331.  
  5332.  
  5333. BattleAddr(&2060) = BattleAddr(&Self)
  5334. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5335. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5336.  
  5337. BattleAddr(&4026) = BattleAddr(&BackRow)
  5338. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  5339. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  5340. BattleAddr(&4180) = BattleAddr(&MaxHP)
  5341.  
  5342.  
  5343.  
  5344. MAIN:
  5345.  
  5346. 0x000 If (Random MOD 4 == 0)
  5347. 0x000 {
  5348. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  5349. 0x010 Perform("Suicide Drop"[013F], EnemyAttack)
  5350. 0x016 }
  5351. 0x016 Else
  5352. 0x016 {
  5353. 0x019 }
  5354. 0x019 Else
  5355. 0x019 {
  5356. 0x01C If (Random MOD 4 == 1)
  5357. 0x01C {
  5358. 0x021 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5359. 0x029 Perform("Hell Press"[0141], EnemyAttack)
  5360. 0x02F }
  5361. 0x02F Else
  5362. 0x02F {
  5363. 0x032 }
  5364. 0x032 Else
  5365. 0x032 {
  5366. 0x035 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  5367. 0x035 {
  5368. 0x042 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  5369. 0x051 }
  5370. 0x051 Else
  5371. 0x051 {
  5372. 0x054 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5373. 0x05C Perform("Bodyblow"[012D], EnemyAttack)
  5374. 0x062 }
  5375. 0x062 Else
  5376. 0x062 {
  5377. 0x065POP(Random MOD 4)
  5378. 0x066SCRIPT END
  5379.  
  5380.  
  5381. GENERAL COUNTER:
  5382.  
  5383. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  5384. 0x000 {
  5385. 0x015 If (Not (Random MOD 4) )
  5386. 0x015 {
  5387. 0x01D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  5388. 0x028 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  5389. 0x030 Perform("Lunattack"[0140], EnemyAttack)
  5390. 0x036SCRIPT END
  5391.  
  5392.  
  5393.  
  5394.  
  5395. 46 - [2E] Aero Combatant (1st Form)
  5396.  
  5397.  
  5398. LocalVar:0000 = LocalVar:TransformID
  5399.  
  5400. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5401. BattleAddr(&2060) = BattleAddr(&Self)
  5402. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5403.  
  5404. BattleAddr(&4020) = BattleAddr(&SelfActive)
  5405. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  5406. BattleAddr(&4023) = BattleAddr(&Targetable)
  5407. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  5408. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5409. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5410.  
  5411.  
  5412.  
  5413. PRE-BATTLE:
  5414.  
  5415. 0x000LocalVar:TransformID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5416. 0x014LocalVar:TransformID <- (LocalVar:TransformID.BattleAddr(&4120) == 47)
  5417. 0x022SCRIPT END
  5418.  
  5419.  
  5420. MAIN:
  5421.  
  5422. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5423. 0x008 If (Not (Random MOD 3) )
  5424. 0x008 {
  5425. 0x010 Perform("Kick"[0158], EnemyAttack)
  5426. 0x016 }
  5427. 0x016 Else
  5428. 0x016 {
  5429. 0x019 Perform("Propeller"[0159], EnemyAttack)
  5430. 0x01FSCRIPT END
  5431.  
  5432.  
  5433. GENERAL COUNTER:
  5434.  
  5435. 0x000 If (Not (Random MOD 2) )
  5436. 0x000 {
  5437. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5438. 0x00F Perform([011F], EnemyAttack)
  5439. 0x015 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5440. 0x01F BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5441. 0x029 LocalVar:TransformID.BattleAddr(&SelfActive) <- 1
  5442. 0x033 LocalVar:TransformID.BattleAddr(&Targetable) <- 1
  5443. 0x03D LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 1
  5444. 0x047 LocalVar:TransformID.BattleAddr(&AIScriptActive) <- 1
  5445. 0x051 TransferStatus(BattleAddr(&Self), LocalVar:TransformID)
  5446. 0x058 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5447. 0x062 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5448. 0x06C BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  5449. 0x076 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  5450. 0x080SCRIPT END
  5451.  
  5452.  
  5453. DEATH COUNTER:
  5454.  
  5455. 0x000LocalVar:TransformID.BattleAddr(&SelfActive) <- 0
  5456. 0x00ALocalVar:TransformID.BattleAddr(&Targetable) <- 0
  5457. 0x014LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 0
  5458. 0x01ELocalVar:TransformID.BattleAddr(&AIScriptActive) <- 0
  5459. 0x028SCRIPT END
  5460.  
  5461.  
  5462.  
  5463.  
  5464. 47 - [2F] Aero Combatant (2nd Form)
  5465.  
  5466.  
  5467. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5468. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5469.  
  5470.  
  5471.  
  5472. MAIN:
  5473.  
  5474. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5475. 0x008 If (Not (Random MOD 4) )
  5476. 0x008 {
  5477. 0x010 Perform("Sword Rush"[015B], EnemyAttack)
  5478. 0x016 }
  5479. 0x016 Else
  5480. 0x016 {
  5481. 0x019 Perform("Propeller Sword"[015A], EnemyAttack)
  5482. 0x01FSCRIPT END
  5483.  
  5484.  
  5485.  
  5486.  
  5487. 48 - [30] Turks:Reno (Sector 7)
  5488.  
  5489.  
  5490. LocalVar:0000 = LocalVar:TransformID
  5491. LocalVar:0020 = LocalVar:1stChrPyramid
  5492. LocalVar:0040 = LocalVar:2ndChrPyramid
  5493. LocalVar:0060 = LocalVar:3rdChrPyramid
  5494. LocalVar:0080 = LocalVar:TarSelected
  5495. LocalVar:00A0 = LocalVar:Count
  5496. LocalVar:00C0 = LocalVar:CharDisabled
  5497. LocalVar:00E0 = LocalVar:ChrID
  5498. LocalVar:0100 = LocalVar:Warning
  5499. LocalVar:0120 = LocalVar:Counter
  5500. LocalVar:0140 = LocalVar:TakeTurn
  5501.  
  5502. BattleAddr(&2008) = BattleAddr(&LastAttID)
  5503. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5504. BattleAddr(&2060) = BattleAddr(&Self)
  5505. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5506. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5507.  
  5508. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5509. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  5510. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  5511. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  5512. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  5513. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  5514. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  5515. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  5516. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  5517. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  5518. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  5519. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5520. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  5521. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  5522. BattleAddr(&4180) = BattleAddr(&MaxHP)
  5523. BattleAddr(&4023) = BattleAddr(&Targetable)
  5524. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  5525. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  5526. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  5527.  
  5528.  
  5529.  
  5530. PRE-BATTLE:
  5531.  
  5532. 0x000LocalVar:TransformID <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 49)
  5533. 0x00ELocalVar:1stChrPyramid <- (LocalVar:TransformID.BattleAddr(&GrpFormID) == 0)
  5534. 0x01CLocalVar:2ndChrPyramid <- (LocalVar:TransformID.BattleAddr(&GrpFormID) == 1)
  5535. 0x02ALocalVar:3rdChrPyramid <- (LocalVar:TransformID.BattleAddr(&GrpFormID) == 2)
  5536. 0x038LocalVar:Count <- 2
  5537. 0x03ESCRIPT END
  5538.  
  5539.  
  5540. MAIN:
  5541.  
  5542. 0x000LocalVar:TakeTurn <- 0
  5543. 0x006LocalVar:Count <- LocalVar:Count + 1
  5544. 0x010LocalVar:CharDisabled <- 0
  5545. 0x016LocalVar:ChrID <- 0
  5546. 0x01C If ( (LocalVar:ChrID < 3) )
  5547. 0x01C {
  5548. 0x025 BattleAddr(&TarSelected) <- FlagBit(LocalVar:ChrID)
  5549. 0x02D If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) Or (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) ) )
  5550. 0x02D {
  5551. 0x042 LocalVar:CharDisabled <- LocalVar:CharDisabled + 1
  5552. 0x04C LocalVar:ChrID <- LocalVar:ChrID + 1
  5553. 0x056 LOOP 0x01C
  5554. 0x059 If ( (LocalVar:Count >= 3 + LocalVar:CharDisabled) )
  5555. 0x059 {
  5556. 0x066 If ( (LocalVar:TakeTurn == 0) )
  5557. 0x066 {
  5558. 0x06F If (Random MOD 3 == 0)
  5559. 0x06F {
  5560. 0x078 BattleAddr(&TarSelected) <- FlagBit(0)
  5561. 0x07F If ( (Not (BattleAddr(&TarSelected).BattleAddr(&DeathStatus)) And (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 0) ) )
  5562. 0x07F {
  5563. 0x095 LocalVar:1stChrPyramid.BattleAddr(&Targetable) <- 1
  5564. 0x09F LocalVar:1stChrPyramid.BattleAddr(&AIScriptActive) <- 1
  5565. 0x0A9 LocalVar:1stChrPyramid.BattleAddr(&DeathStatus) <- 0
  5566. 0x0B3 LocalVar:1stChrPyramid.BattleAddr(&CurrentHP) <- LocalVar:1stChrPyramid.BattleAddr(&MaxHP)
  5567. 0x0C2 Perform("Pyramid"[015D], EnemyAttack)
  5568. 0x0C8 LocalVar:TakeTurn <- 1
  5569. 0x0CE LocalVar:Count <- 0
  5570. 0x0D4 }
  5571. 0x0D4 Else
  5572. 0x0D4 {
  5573. 0x0D7 }
  5574. 0x0D7 Else
  5575. 0x0D7 {
  5576. 0x0DA If (Random MOD 3 == 1)
  5577. 0x0DA {
  5578. 0x0DF BattleAddr(&TarSelected) <- FlagBit(1)
  5579. 0x0E6 If ( (Not (BattleAddr(&TarSelected).BattleAddr(&DeathStatus)) And (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 0) ) )
  5580. 0x0E6 {
  5581. 0x0FC LocalVar:2ndChrPyramid.BattleAddr(&Targetable) <- 1
  5582. 0x106 LocalVar:2ndChrPyramid.BattleAddr(&AIScriptActive) <- 1
  5583. 0x110 LocalVar:2ndChrPyramid.BattleAddr(&DeathStatus) <- 0
  5584. 0x11A LocalVar:2ndChrPyramid.BattleAddr(&CurrentHP) <- LocalVar:1stChrPyramid.BattleAddr(&MaxHP)
  5585. 0x129 Perform("Pyramid"[015E], EnemyAttack)
  5586. 0x12F LocalVar:TakeTurn <- 1
  5587. 0x135 LocalVar:Count <- 0
  5588. 0x13B }
  5589. 0x13B Else
  5590. 0x13B {
  5591. 0x13E }
  5592. 0x13E Else
  5593. 0x13E {
  5594. 0x141 If (Random MOD 3 == 2)
  5595. 0x141 {
  5596. 0x146 BattleAddr(&TarSelected) <- FlagBit(2)
  5597. 0x14D If ( (Not (BattleAddr(&TarSelected).BattleAddr(&DeathStatus)) And (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 0) ) )
  5598. 0x14D {
  5599. 0x163 LocalVar:3rdChrPyramid.BattleAddr(&Targetable) <- 1
  5600. 0x16D LocalVar:3rdChrPyramid.BattleAddr(&AIScriptActive) <- 1
  5601. 0x177 LocalVar:3rdChrPyramid.BattleAddr(&DeathStatus) <- 0
  5602. 0x181 LocalVar:3rdChrPyramid.BattleAddr(&CurrentHP) <- LocalVar:1stChrPyramid.BattleAddr(&MaxHP)
  5603. 0x190 Perform("Pyramid"[015F], EnemyAttack)
  5604. 0x196 LocalVar:TakeTurn <- 1
  5605. 0x19C LocalVar:Count <- 0
  5606. 0x1A2 }
  5607. 0x1A2 Else
  5608. 0x1A2 {
  5609. 0x1A5 POP(Random MOD 3)
  5610. 0x1A6 LOOP 0x066
  5611. 0x1A9 If ( (LocalVar:Warning == 0) )
  5612. 0x1A9 {
  5613. 0x1B2 Display String: "Reno “Try and break it if you can.”"
  5614. 0x1D7 LocalVar:Warning <- 1
  5615. 0x1DD If ( (LocalVar:TakeTurn == 0) )
  5616. 0x1DD {
  5617. 0x1E6 If (LocalVar:Counter)
  5618. 0x1E6 {
  5619. 0x1EC BattleAddr(&TarSelected) <- LocalVar:TarSelected
  5620. 0x1F3 Perform("Electro-mag Rod"[0163], EnemyAttack)
  5621. 0x1F9 LocalVar:Counter <- 0
  5622. 0x1FF }
  5623. 0x1FF Else
  5624. 0x1FF {
  5625. 0x202 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5626. 0x20A If (Random MOD 3 == 0)
  5627. 0x20A {
  5628. 0x213 Perform("Electro-mag Rod"[0163], EnemyAttack)
  5629. 0x219 }
  5630. 0x219 Else
  5631. 0x219 {
  5632. 0x21C }
  5633. 0x21C Else
  5634. 0x21C {
  5635. 0x21F Perform("Short Staff"[015C], EnemyAttack)
  5636. 0x225 }
  5637. 0x225 Else
  5638. 0x225 {
  5639. 0x228 POP(Random MOD 3)
  5640. 0x229 SCRIPT END
  5641.  
  5642.  
  5643. MAGIC COUNTER:
  5644.  
  5645. 0x000 If ( ( ( (BattleAddr(&LastAttID) == 33) Or (BattleAddr(&LastAttID) == 34) ) Or (BattleAddr(&LastAttID) == 35) ) )
  5646. 0x000 {
  5647. 0x017 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  5648. 0x022 LocalVar:Counter <- 1
  5649. 0x028SCRIPT END
  5650.  
  5651.  
  5652. DEATH COUNTER:
  5653.  
  5654. 0x000LocalVar:1stChrPyramid.BattleAddr(&Targetable) <- 0
  5655. 0x00ALocalVar:1stChrPyramid.BattleAddr(&AIScriptActive) <- 0
  5656. 0x014LocalVar:2ndChrPyramid.BattleAddr(&Targetable) <- 0
  5657. 0x01ELocalVar:2ndChrPyramid.BattleAddr(&AIScriptActive) <- 0
  5658. 0x028LocalVar:3rdChrPyramid.BattleAddr(&Targetable) <- 0
  5659. 0x032LocalVar:3rdChrPyramid.BattleAddr(&AIScriptActive) <- 0
  5660. 0x03CBattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  5661. 0x046BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  5662. 0x050BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  5663. 0x05ABattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  5664. 0x064BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  5665. 0x06EBattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  5666. 0x078BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  5667. 0x082BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  5668. 0x08CBattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  5669. 0x096Display String: "Reno “It's time.”"
  5670. 0x0A9BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  5671. 0x0B3BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5672. 0x0BAPerform("(Report)"[0164], EnemyAttack)
  5673. 0x0C0SCRIPT END
  5674.  
  5675.  
  5676.  
  5677.  
  5678. 49 - [31] Pyramid
  5679.  
  5680.  
  5681. BattleAddr(&2060) = BattleAddr(&Self)
  5682. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5683. BattleAddr(&2180) = BattleAddr(&ChrFlagBit)
  5684.  
  5685. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5686. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5687. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  5688. BattleAddr(&4023) = BattleAddr(&Targetable)
  5689. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  5690. BattleAddr(&402D) = BattleAddr(&SelfDead)
  5691.  
  5692.  
  5693.  
  5694. DEATH COUNTER:
  5695.  
  5696. 0x000BattleAddr(&TarSelected) <- FlagBit(BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)))
  5697. 0x00DBattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  5698. 0x017BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  5699. 0x021BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  5700. 0x02BBattleAddr(&Self).BattleAddr(&DeathStatus) <- 0
  5701. 0x035BattleAddr(&Self).BattleAddr(&SelfDead) <- 0
  5702. 0x03FBattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5703. 0x049BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5704. 0x050Perform("Vanish"[014E], EnemyAttack)
  5705. 0x056SCRIPT END
  5706.  
  5707.  
  5708. The following additional script exists within the Formation AI script
  5709.  
  5710.  
  5711. GENERAL COUNTER:
  5712.  
  5713. 0x000BattleAddr(&ChrFlagBit) <- 0
  5714. 0x006 If ( (BattleAddr(&ChrFlagBit) < 3) )
  5715. 0x006 {
  5716. 0x00F BattleAddr(&TarSelected) <- FlagBit(BattleAddr(&ChrFlagBit))
  5717. 0x017 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1)
  5718. 0x025 If (BattleAddr(&TarSelected))
  5719. 0x025 {
  5720. 0x02B BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 0
  5721. 0x035 BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  5722. 0x03F LOOP 0x006
  5723. 0x042 SCRIPT END
  5724.  
  5725.  
  5726.  
  5727.  
  5728. 50 - [32] Warning Board
  5729.  
  5730.  
  5731. LocalVar:0000 = LocalVar:Setup
  5732. LocalVar:0020 = LocalVar:CounterpartID
  5733.  
  5734. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5735. BattleAddr(&2060) = BattleAddr(&Self)
  5736. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5737.  
  5738. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5739. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  5740. BattleAddr(&4020) = BattleAddr(&SelfActive)
  5741. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  5742. BattleAddr(&4023) = BattleAddr(&Targetable)
  5743. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  5744. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  5745.  
  5746.  
  5747.  
  5748. PRE-BATTLE:
  5749.  
  5750. 0x000LocalVar:CounterpartID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5751. 0x014SCRIPT END
  5752.  
  5753.  
  5754. MAIN:
  5755.  
  5756. 0x000 If (Not (LocalVar:Setup) )
  5757. 0x000 {
  5758. 0x007 If (Not (Random MOD 2) )
  5759. 0x007 {
  5760. 0x00F Display String: "Warning! Warning!"
  5761. 0x022 }
  5762. 0x022 Else
  5763. 0x022 {
  5764. 0x025 Display String: "Leave at once!!"
  5765. 0x036 LocalVar:Setup <- 1
  5766. 0x03C LocalVar:CounterpartID.BattleAddr(&AllyAngry) <- 1
  5767. 0x046SCRIPT END
  5768.  
  5769.  
  5770. DEATH COUNTER:
  5771.  
  5772. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  5773. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  5774. 0x011Perform("Vanish"[014E], EnemyAttack)
  5775. 0x017LocalVar:CounterpartID.BattleAddr(&SelfActive) <- 0
  5776. 0x021LocalVar:CounterpartID.BattleAddr(&Needed2EndBattle) <- 0
  5777. 0x02BLocalVar:CounterpartID.BattleAddr(&Targetable) <- 0
  5778. 0x035LocalVar:CounterpartID.BattleAddr(&AIScriptActive) <- 0
  5779. 0x03FSCRIPT END
  5780.  
  5781.  
  5782.  
  5783.  
  5784. 51 - [33] Machine Gun
  5785.  
  5786.  
  5787. LocalVar:0000 = LocalVar:WarningBoard
  5788. LocalVar:0020 = LocalVar:LaserCannon
  5789. LocalVar:0040 = LocalVar:SelfActive
  5790.  
  5791. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5792. BattleAddr(&2060) = BattleAddr(&Self)
  5793. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5794. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5795.  
  5796. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5797. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  5798. BattleAddr(&4020) = BattleAddr(&SelfActive)
  5799. BattleAddr(&4023) = BattleAddr(&Targetable)
  5800. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5801. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  5802. BattleAddr(&41A0) = BattleAddr(&Angry)
  5803. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  5804.  
  5805.  
  5806.  
  5807. PRE-BATTLE:
  5808.  
  5809. 0x000LocalVar:WarningBoard <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5810. 0x014LocalVar:WarningBoard <- (LocalVar:WarningBoard.BattleAddr(&IndexOfActor) == 50)
  5811. 0x022LocalVar:LaserCannon <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5812. 0x036LocalVar:LaserCannon <- (LocalVar:LaserCannon.BattleAddr(&IndexOfActor) == 52)
  5813. 0x044SCRIPT END
  5814.  
  5815.  
  5816. MAIN:
  5817.  
  5818. 0x000LocalVar:SelfActive <- 0
  5819. 0x006 If (LocalVar:WarningBoard.BattleAddr(&SelfActive))
  5820. 0x006 {
  5821. 0x010 LocalVar:SelfActive <- LocalVar:SelfActive OR 1
  5822. 0x01A If (BattleAddr(&Self).BattleAddr(&SelfActive))
  5823. 0x01A {
  5824. 0x024 LocalVar:SelfActive <- LocalVar:SelfActive OR 2
  5825. 0x02E If (LocalVar:LaserCannon.BattleAddr(&SelfActive))
  5826. 0x02E {
  5827. 0x038 LocalVar:SelfActive <- LocalVar:SelfActive OR 4
  5828. 0x042 If ( (BattleAddr(&Self).BattleAddr(&AllyAngry) == 1) )
  5829. 0x042 {
  5830. 0x04F If (LocalVar:SelfActive == 1)
  5831. 0x04F {
  5832. 0x057 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 0) )
  5833. 0x057 {
  5834. 0x064 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  5835. 0x064 {
  5836. 0x071 If (Not (Random MOD 2) )
  5837. 0x071 {
  5838. 0x079 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  5839. 0x083 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  5840. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5841. 0x094 Perform("Appear"[014F], EnemyAttack)
  5842. 0x09A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5843. 0x0A2 Perform("Machine Gun"[0110], EnemyAttack)
  5844. 0x0A8 }
  5845. 0x0A8 Else
  5846. 0x0A8 {
  5847. 0x0AB If (Random MOD 4)
  5848. 0x0AB {
  5849. 0x0B2 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  5850. 0x0BC BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  5851. 0x0C6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5852. 0x0CD Perform("Appear"[014F], EnemyAttack)
  5853. 0x0D3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5854. 0x0DB Perform("Machine Gun"[0110], EnemyAttack)
  5855. 0x0E1 }
  5856. 0x0E1 Else
  5857. 0x0E1 {
  5858. 0x0E4 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  5859. 0x0EE BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  5860. 0x0F8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5861. 0x0FF Perform("Appear"[014F], EnemyAttack)
  5862. 0x105 BattleAddr(&Self).BattleAddr(&Angry) <- 0
  5863. 0x10F If (Not (Random MOD 2) )
  5864. 0x10F {
  5865. 0x117 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5866. 0x11F Perform("Machine Gun"[0110], EnemyAttack)
  5867. 0x125 }
  5868. 0x125 Else
  5869. 0x125 {
  5870. 0x128 }
  5871. 0x128 Else
  5872. 0x128 {
  5873. 0x12B If (LocalVar:SelfActive == 3)
  5874. 0x12B {
  5875. 0x130 If ( (LocalVar:LaserCannon.BattleAddr(&DeathStatus) == 0) )
  5876. 0x130 {
  5877. 0x13D If (Random MOD 4 == 0)
  5878. 0x13D {
  5879. 0x146 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5880. 0x14D Perform("Vanish"[014E], EnemyAttack)
  5881. 0x153 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5882. 0x15D BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5883. 0x167 LocalVar:LaserCannon.BattleAddr(&Angry) <- 1
  5884. 0x171 }
  5885. 0x171 Else
  5886. 0x171 {
  5887. 0x174 }
  5888. 0x174 Else
  5889. 0x174 {
  5890. 0x177 If (Random MOD 4 == 1)
  5891. 0x177 {
  5892. 0x17C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5893. 0x183 Perform("Vanish"[014E], EnemyAttack)
  5894. 0x189 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  5895. 0x193 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  5896. 0x19D }
  5897. 0x19D Else
  5898. 0x19D {
  5899. 0x1A0 }
  5900. 0x1A0 Else
  5901. 0x1A0 {
  5902. 0x1A3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5903. 0x1AB Perform("Machine Gun"[0110], EnemyAttack)
  5904. 0x1B1 }
  5905. 0x1B1 Else
  5906. 0x1B1 {
  5907. 0x1B4 POP(Random MOD 4)
  5908. 0x1B5 }
  5909. 0x1B5 Else
  5910. 0x1B5 {
  5911. 0x1B8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  5912. 0x1C0 Perform("Machine Gun"[0110], EnemyAttack)
  5913. 0x1C6 }
  5914. 0x1C6 Else
  5915. 0x1C6 {
  5916. 0x1C9 }
  5917. 0x1C9 Else
  5918. 0x1C9 {
  5919. 0x1CC If (LocalVar:SelfActive == 5)
  5920. 0x1CC {
  5921. 0x1D1 }
  5922. 0x1D1 Else
  5923. 0x1D1 {
  5924. 0x1D4 }
  5925. 0x1D4 Else
  5926. 0x1D4 {
  5927. 0x1D7 POP(LocalVar:SelfActive)
  5928. 0x1D8SCRIPT END
  5929.  
  5930.  
  5931.  
  5932.  
  5933. 52 - [34] Laser Cannon
  5934.  
  5935.  
  5936. LocalVar:0000 = LocalVar:WarningBoard
  5937. LocalVar:0020 = LocalVar:MachineGun
  5938. LocalVar:0040 = LocalVar:SelfActive
  5939.  
  5940. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  5941. BattleAddr(&2060) = BattleAddr(&Self)
  5942. BattleAddr(&2070) = BattleAddr(&TarSelected)
  5943. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  5944.  
  5945. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  5946. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  5947. BattleAddr(&4020) = BattleAddr(&SelfActive)
  5948. BattleAddr(&4023) = BattleAddr(&Targetable)
  5949. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  5950. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  5951. BattleAddr(&41A0) = BattleAddr(&Angry)
  5952. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  5953.  
  5954.  
  5955.  
  5956. PRE-BATTLE:
  5957.  
  5958. 0x000LocalVar:WarningBoard <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5959. 0x014LocalVar:WarningBoard <- (LocalVar:WarningBoard.BattleAddr(&IndexOfActor) == 50)
  5960. 0x022LocalVar:MachineGun <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  5961. 0x036LocalVar:MachineGun <- (LocalVar:MachineGun.BattleAddr(&IndexOfActor) == 51)
  5962. 0x044SCRIPT END
  5963.  
  5964.  
  5965. MAIN:
  5966.  
  5967. 0x000LocalVar:SelfActive <- 0
  5968. 0x006 If (LocalVar:WarningBoard.BattleAddr(&SelfActive))
  5969. 0x006 {
  5970. 0x010 LocalVar:SelfActive <- LocalVar:SelfActive OR 1
  5971. 0x01A If (BattleAddr(&Self).BattleAddr(&SelfActive))
  5972. 0x01A {
  5973. 0x024 LocalVar:SelfActive <- LocalVar:SelfActive OR 2
  5974. 0x02E If (LocalVar:MachineGun.BattleAddr(&SelfActive))
  5975. 0x02E {
  5976. 0x038 LocalVar:SelfActive <- LocalVar:SelfActive OR 4
  5977. 0x042 If ( (BattleAddr(&Self).BattleAddr(&AllyAngry) == 1) )
  5978. 0x042 {
  5979. 0x04F If (LocalVar:SelfActive == 1)
  5980. 0x04F {
  5981. 0x057 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 0) )
  5982. 0x057 {
  5983. 0x064 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  5984. 0x064 {
  5985. 0x071 If (Not (Random MOD 2) )
  5986. 0x071 {
  5987. 0x079 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  5988. 0x083 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  5989. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  5990. 0x094 Perform("Appear"[014F], EnemyAttack)
  5991. 0x09A If (Not (Random MOD 4) )
  5992. 0x09A {
  5993. 0x0A2 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  5994. 0x0A2 {
  5995. 0x0AF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  5996. 0x0BE }
  5997. 0x0BE Else
  5998. 0x0BE {
  5999. 0x0C1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6000. 0x0C9 Perform("Paralaser"[0169], EnemyAttack)
  6001. 0x0CF }
  6002. 0x0CF Else
  6003. 0x0CF {
  6004. 0x0D2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6005. 0x0DA Perform("Laser Cannon"[0117], EnemyAttack)
  6006. 0x0E0 }
  6007. 0x0E0 Else
  6008. 0x0E0 {
  6009. 0x0E3 If (Not (Random MOD 2) )
  6010. 0x0E3 {
  6011. 0x0EB BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  6012. 0x0F5 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  6013. 0x0FF BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6014. 0x106 Perform("Appear"[014F], EnemyAttack)
  6015. 0x10C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6016. 0x114 Perform("Laser Cannon"[0117], EnemyAttack)
  6017. 0x11A }
  6018. 0x11A Else
  6019. 0x11A {
  6020. 0x11D BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  6021. 0x127 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  6022. 0x131 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6023. 0x138 Perform("Appear"[014F], EnemyAttack)
  6024. 0x13E BattleAddr(&Self).BattleAddr(&Angry) <- 0
  6025. 0x148 If (Not (Random MOD 2) )
  6026. 0x148 {
  6027. 0x150 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6028. 0x158 Perform("Laser Cannon"[0117], EnemyAttack)
  6029. 0x15E }
  6030. 0x15E Else
  6031. 0x15E {
  6032. 0x161 }
  6033. 0x161 Else
  6034. 0x161 {
  6035. 0x164 If (LocalVar:SelfActive == 3)
  6036. 0x164 {
  6037. 0x169 If ( (LocalVar:MachineGun.BattleAddr(&DeathStatus) == 0) )
  6038. 0x169 {
  6039. 0x176 If (Random MOD 4 == 0)
  6040. 0x176 {
  6041. 0x17F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6042. 0x186 Perform("Vanish"[014E], EnemyAttack)
  6043. 0x18C BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6044. 0x196 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6045. 0x1A0 LocalVar:MachineGun.BattleAddr(&Angry) <- 1
  6046. 0x1AA }
  6047. 0x1AA Else
  6048. 0x1AA {
  6049. 0x1AD }
  6050. 0x1AD Else
  6051. 0x1AD {
  6052. 0x1B0 If (Random MOD 4 == 1)
  6053. 0x1B0 {
  6054. 0x1B5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6055. 0x1BC Perform("Vanish"[014E], EnemyAttack)
  6056. 0x1C2 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6057. 0x1CC BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6058. 0x1D6 }
  6059. 0x1D6 Else
  6060. 0x1D6 {
  6061. 0x1D9 }
  6062. 0x1D9 Else
  6063. 0x1D9 {
  6064. 0x1DC If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  6065. 0x1DC {
  6066. 0x1E9 If (Not (Random MOD 4) )
  6067. 0x1E9 {
  6068. 0x1F1 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  6069. 0x1F1 {
  6070. 0x1FE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  6071. 0x20D }
  6072. 0x20D Else
  6073. 0x20D {
  6074. 0x210 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6075. 0x218 Perform("Paralaser"[0169], EnemyAttack)
  6076. 0x21E }
  6077. 0x21E Else
  6078. 0x21E {
  6079. 0x221 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6080. 0x229 Perform("Laser Cannon"[0117], EnemyAttack)
  6081. 0x22F }
  6082. 0x22F Else
  6083. 0x22F {
  6084. 0x232 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6085. 0x23A Perform("Laser Cannon"[0117], EnemyAttack)
  6086. 0x240 }
  6087. 0x240 Else
  6088. 0x240 {
  6089. 0x243 POP(Random MOD 4)
  6090. 0x244 }
  6091. 0x244 Else
  6092. 0x244 {
  6093. 0x247 If (Not (Random MOD 4) )
  6094. 0x247 {
  6095. 0x24F If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  6096. 0x24F {
  6097. 0x25C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  6098. 0x26B }
  6099. 0x26B Else
  6100. 0x26B {
  6101. 0x26E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6102. 0x276 Perform("Paralaser"[0169], EnemyAttack)
  6103. 0x27C }
  6104. 0x27C Else
  6105. 0x27C {
  6106. 0x27F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6107. 0x287 Perform("Laser Cannon"[0117], EnemyAttack)
  6108. 0x28D }
  6109. 0x28D Else
  6110. 0x28D {
  6111. 0x290 }
  6112. 0x290 Else
  6113. 0x290 {
  6114. 0x293 If (LocalVar:SelfActive == 5)
  6115. 0x293 {
  6116. 0x298 }
  6117. 0x298 Else
  6118. 0x298 {
  6119. 0x29B }
  6120. 0x29B Else
  6121. 0x29B {
  6122. 0x29E POP(LocalVar:SelfActive)
  6123. 0x29FSCRIPT END
  6124.  
  6125.  
  6126.  
  6127.  
  6128. 53 - [35] Hammer Blaster
  6129.  
  6130.  
  6131. LocalVar:0000 = LocalVar:CounterpartID
  6132. LocalVar:0020 = LocalVar:Count
  6133. LocalVar:0040 = LocalVar:SpclChance
  6134.  
  6135. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  6136. BattleAddr(&2060) = BattleAddr(&Self)
  6137. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6138. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6139.  
  6140. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  6141. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  6142. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  6143. BattleAddr(&4020) = BattleAddr(&SelfActive)
  6144. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  6145. BattleAddr(&4023) = BattleAddr(&Targetable)
  6146. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  6147. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  6148. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6149. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6150.  
  6151.  
  6152.  
  6153. PRE-BATTLE:
  6154.  
  6155. 0x000LocalVar:CounterpartID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  6156. 0x014LocalVar:CounterpartID <- (LocalVar:CounterpartID.BattleAddr(&IndexOfActor) == 54)
  6157. 0x022LocalVar:Count <- BattleAddr(&Self).BattleAddr(&GrpFormID)
  6158. 0x02DLocalVar:SpclChance <- 5
  6159. 0x033SCRIPT END
  6160.  
  6161.  
  6162. MAIN:
  6163.  
  6164. 0x000 If (LocalVar:Count == 0)
  6165. 0x000 {
  6166. 0x008 }
  6167. 0x008 Else
  6168. 0x008 {
  6169. 0x00B If (LocalVar:Count == 1)
  6170. 0x00B {
  6171. 0x010 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  6172. 0x010 {
  6173. 0x024 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  6174. 0x033 Perform("Muyddle Mallet"[016B], EnemyAttack)
  6175. 0x039 }
  6176. 0x039 Else
  6177. 0x039 {
  6178. 0x03C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6179. 0x044 Perform("Hammer Attack"[016A], EnemyAttack)
  6180. 0x04A LocalVar:Count <- LocalVar:Count + 1
  6181. 0x054 }
  6182. 0x054 Else
  6183. 0x054 {
  6184. 0x057 }
  6185. 0x057 Else
  6186. 0x057 {
  6187. 0x05A If (LocalVar:Count == 2)
  6188. 0x05A {
  6189. 0x05F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6190. 0x066 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6191. 0x070 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6192. 0x07A Perform("Vanish"[014E], EnemyAttack)
  6193. 0x080 LocalVar:Count <- 3
  6194. 0x086 }
  6195. 0x086 Else
  6196. 0x086 {
  6197. 0x089 }
  6198. 0x089 Else
  6199. 0x089 {
  6200. 0x08C If (LocalVar:Count == 3)
  6201. 0x08C {
  6202. 0x091 If (Not (Random MOD 2) )
  6203. 0x091 {
  6204. 0x099 LocalVar:Count <- 4
  6205. 0x09F }
  6206. 0x09F Else
  6207. 0x09F {
  6208. 0x0A2 LocalVar:Count <- 5
  6209. 0x0A8 }
  6210. 0x0A8 Else
  6211. 0x0A8 {
  6212. 0x0AB }
  6213. 0x0AB Else
  6214. 0x0AB {
  6215. 0x0AE If (LocalVar:Count == 4)
  6216. 0x0AE {
  6217. 0x0B3 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6218. 0x0BA BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  6219. 0x0C4 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  6220. 0x0CE Perform("Appear"[014F], EnemyAttack)
  6221. 0x0D4 LocalVar:Count <- 0
  6222. 0x0DA }
  6223. 0x0DA Else
  6224. 0x0DA {
  6225. 0x0DD }
  6226. 0x0DD Else
  6227. 0x0DD {
  6228. 0x0E0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6229. 0x0E7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  6230. 0x0F1 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  6231. 0x0FB Perform("Appear"[014F], EnemyAttack)
  6232. 0x101 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  6233. 0x101 {
  6234. 0x115 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  6235. 0x124 Perform("Muyddle Mallet"[016B], EnemyAttack)
  6236. 0x12A }
  6237. 0x12A Else
  6238. 0x12A {
  6239. 0x12D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6240. 0x135 Perform("Hammer Attack"[016A], EnemyAttack)
  6241. 0x13B LocalVar:Count <- 1
  6242. 0x141 }
  6243. 0x141 Else
  6244. 0x141 {
  6245. 0x144POP(LocalVar:Count)
  6246. 0x145SCRIPT END
  6247.  
  6248.  
  6249. GENERAL COUNTER:
  6250.  
  6251. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  6252. 0x000 {
  6253. 0x018 LocalVar:SpclChance <- 2
  6254. 0x01E }
  6255. 0x01E Else
  6256. 0x01E {
  6257. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  6258. 0x021 {
  6259. 0x039 LocalVar:SpclChance <- 3
  6260. 0x03F }
  6261. 0x03F Else
  6262. 0x03F {
  6263. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  6264. 0x042 {
  6265. 0x05A LocalVar:SpclChance <- 4
  6266. 0x060 }
  6267. 0x060 Else
  6268. 0x060 {
  6269. 0x063 LocalVar:SpclChance <- 5
  6270. 0x069SCRIPT END
  6271.  
  6272.  
  6273. DEATH COUNTER:
  6274.  
  6275. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  6276. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  6277. 0x011Perform("(Report)"[0164], EnemyAttack)
  6278. 0x017LocalVar:CounterpartID.BattleAddr(&SelfActive) <- 0
  6279. 0x021LocalVar:CounterpartID.BattleAddr(&Targetable) <- 0
  6280. 0x02BLocalVar:CounterpartID.BattleAddr(&Needed2EndBattle) <- 0
  6281. 0x035LocalVar:CounterpartID.BattleAddr(&AIScriptActive) <- 0
  6282. 0x03FSCRIPT END
  6283.  
  6284.  
  6285.  
  6286.  
  6287. 54 - [36] [No Name] (Hammer Blaster Base)
  6288.  
  6289.  
  6290. MAIN:
  6291.  
  6292. 0x000SCRIPT END
  6293.  
  6294.  
  6295.  
  6296.  
  6297. 55 - [37] Sword Dance
  6298.  
  6299.  
  6300. LocalVar:0000 = LocalVar:Count
  6301. LocalVar:0020 = LocalVar:SpclChance
  6302. LocalVar:0040 = LocalVar:TarSelected
  6303.  
  6304. BattleAddr(&2060) = BattleAddr(&Self)
  6305. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6306. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6307.  
  6308. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  6309. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  6310. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6311. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6312.  
  6313.  
  6314.  
  6315. PRE-BATTLE:
  6316.  
  6317. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  6318. 0x008LocalVar:SpclChance <- 5
  6319. 0x00ELocalVar:Count <- Random MOD 4
  6320. 0x016SCRIPT END
  6321.  
  6322.  
  6323. MAIN:
  6324.  
  6325. 0x000 If (LocalVar:Count == 0)
  6326. 0x000 {
  6327. 0x008 }
  6328. 0x008 Else
  6329. 0x008 {
  6330. 0x00B If (LocalVar:Count == 1)
  6331. 0x00B {
  6332. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6333. 0x018 Perform("Bodyblow"[0172], EnemyAttack)
  6334. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  6335. 0x01E {
  6336. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6337. 0x02F Perform("Bodyblow"[0172], EnemyAttack)
  6338. 0x035 LocalVar:Count <- LocalVar:Count + 1
  6339. 0x03F }
  6340. 0x03F Else
  6341. 0x03F {
  6342. 0x042 }
  6343. 0x042 Else
  6344. 0x042 {
  6345. 0x045 If (LocalVar:Count == 2)
  6346. 0x045 {
  6347. 0x04A BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  6348. 0x051 Perform("Sawback"[03A3], EnemyAttack)
  6349. 0x057 If (Not (Random MOD LocalVar:SpclChance) )
  6350. 0x057 {
  6351. 0x060 Perform("Sawback"[03A3], EnemyAttack)
  6352. 0x066 LocalVar:Count <- 0
  6353. 0x06C }
  6354. 0x06C Else
  6355. 0x06C {
  6356. 0x06F }
  6357. 0x06F Else
  6358. 0x06F {
  6359. 0x072 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  6360. 0x072 {
  6361. 0x07F BattleAddr(&TarSelected) <- LocalVar:TarSelected
  6362. 0x086 Perform("Slap"[0173], EnemyAttack)
  6363. 0x08C LocalVar:Count <- 1
  6364. 0x092 }
  6365. 0x092 Else
  6366. 0x092 {
  6367. 0x095POP(LocalVar:Count)
  6368. 0x096SCRIPT END
  6369.  
  6370.  
  6371. GENERAL COUNTER:
  6372.  
  6373. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  6374. 0x00B If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) And (LocalVar:SpclChance == 5) ) )
  6375. 0x00B {
  6376. 0x027 LocalVar:SpclChance <- 3
  6377. 0x02D LocalVar:Count <- 3
  6378. 0x033 }
  6379. 0x033 Else
  6380. 0x033 {
  6381. 0x036 LocalVar:SpclChance <- 5
  6382. 0x03CSCRIPT END
  6383.  
  6384.  
  6385.  
  6386.  
  6387. 56 - [38] Soldier:3rd
  6388.  
  6389.  
  6390. LocalVar:0000 = LocalVar:Count
  6391. LocalVar:0020 = LocalVar:SpclChance
  6392. LocalVar:0040 = LocalVar:MagChance
  6393.  
  6394. BattleAddr(&2060) = BattleAddr(&Self)
  6395. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6396. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6397.  
  6398. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  6399. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  6400. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6401. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6402.  
  6403.  
  6404.  
  6405. PRE-BATTLE:
  6406.  
  6407. 0x000LocalVar:Count <- Random MOD 4
  6408. 0x008LocalVar:SpclChance <- 4
  6409. 0x00ELocalVar:MagChance <- 4
  6410. 0x014SCRIPT END
  6411.  
  6412.  
  6413. MAIN:
  6414.  
  6415. 0x000 If (LocalVar:Count == 0)
  6416. 0x000 {
  6417. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6418. 0x008 {
  6419. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6420. 0x024 }
  6421. 0x024 Else
  6422. 0x024 {
  6423. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6424. 0x02F Perform("Split"[0174], EnemyAttack)
  6425. 0x035 If (Not (Random MOD LocalVar:SpclChance) )
  6426. 0x035 {
  6427. 0x03E If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6428. 0x03E {
  6429. 0x04B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6430. 0x05A }
  6431. 0x05A Else
  6432. 0x05A {
  6433. 0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6434. 0x065 Perform("Split"[0174], EnemyAttack)
  6435. 0x06B LocalVar:Count <- 2
  6436. 0x071 }
  6437. 0x071 Else
  6438. 0x071 {
  6439. 0x074 }
  6440. 0x074 Else
  6441. 0x074 {
  6442. 0x077 If (LocalVar:Count == 1)
  6443. 0x077 {
  6444. 0x07C If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6445. 0x07C {
  6446. 0x089 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6447. 0x098 }
  6448. 0x098 Else
  6449. 0x098 {
  6450. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6451. 0x0A3 Perform("Flying Sickle"[01FC], EnemyAttack)
  6452. 0x0A9 If (Not (Random MOD LocalVar:SpclChance) )
  6453. 0x0A9 {
  6454. 0x0B2 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6455. 0x0B2 {
  6456. 0x0BF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6457. 0x0CE }
  6458. 0x0CE Else
  6459. 0x0CE {
  6460. 0x0D1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6461. 0x0D9 Perform("Flying Sickle"[01FC], EnemyAttack)
  6462. 0x0DF LocalVar:Count <- 2
  6463. 0x0E5 }
  6464. 0x0E5 Else
  6465. 0x0E5 {
  6466. 0x0E8 }
  6467. 0x0E8 Else
  6468. 0x0E8 {
  6469. 0x0EB If (LocalVar:Count == 2)
  6470. 0x0EB {
  6471. 0x0F0 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) ) And Not (Random MOD LocalVar:MagChance) ) )
  6472. 0x0F0 {
  6473. 0x110 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6474. 0x11F Perform("Sleepel"[000B], EnemyAttack)
  6475. 0x124 }
  6476. 0x124 Else
  6477. 0x124 {
  6478. 0x127 If (Not (Random MOD 2) )
  6479. 0x127 {
  6480. 0x12F If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6481. 0x12F {
  6482. 0x13C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6483. 0x14B }
  6484. 0x14B Else
  6485. 0x14B {
  6486. 0x14E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6487. 0x156 Perform("Split"[0174], EnemyAttack)
  6488. 0x15C }
  6489. 0x15C Else
  6490. 0x15C {
  6491. 0x15F If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6492. 0x15F {
  6493. 0x16C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6494. 0x17B }
  6495. 0x17B Else
  6496. 0x17B {
  6497. 0x17E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6498. 0x186 Perform("Flying Sickle"[01FC], EnemyAttack)
  6499. 0x18C If (Not (Random MOD 2) )
  6500. 0x18C {
  6501. 0x194 LocalVar:Count <- 3
  6502. 0x19A }
  6503. 0x19A Else
  6504. 0x19A {
  6505. 0x19D LocalVar:Count <- 4
  6506. 0x1A3 }
  6507. 0x1A3 Else
  6508. 0x1A3 {
  6509. 0x1A6 }
  6510. 0x1A6 Else
  6511. 0x1A6 {
  6512. 0x1A9 If (LocalVar:Count == 3)
  6513. 0x1A9 {
  6514. 0x1AE If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) And Not (Random MOD LocalVar:MagChance) ) )
  6515. 0x1AE {
  6516. 0x1C3 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  6517. 0x1C3 {
  6518. 0x1D0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  6519. 0x1DF }
  6520. 0x1DF Else
  6521. 0x1DF {
  6522. 0x1E2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6523. 0x1EA Perform("Bolt2"[0022], EnemyAttack)
  6524. 0x1EF }
  6525. 0x1EF Else
  6526. 0x1EF {
  6527. 0x1F2 If (Not (Random MOD 2) )
  6528. 0x1F2 {
  6529. 0x1FA If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6530. 0x1FA {
  6531. 0x207 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6532. 0x216 }
  6533. 0x216 Else
  6534. 0x216 {
  6535. 0x219 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6536. 0x221 Perform("Split"[0174], EnemyAttack)
  6537. 0x227 }
  6538. 0x227 Else
  6539. 0x227 {
  6540. 0x22A If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6541. 0x22A {
  6542. 0x237 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6543. 0x246 }
  6544. 0x246 Else
  6545. 0x246 {
  6546. 0x249 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6547. 0x251 Perform("Flying Sickle"[01FC], EnemyAttack)
  6548. 0x257 If (Not (Random MOD 2) )
  6549. 0x257 {
  6550. 0x25F LocalVar:Count <- 0
  6551. 0x265 }
  6552. 0x265 Else
  6553. 0x265 {
  6554. 0x268 LocalVar:Count <- 1
  6555. 0x26E }
  6556. 0x26E Else
  6557. 0x26E {
  6558. 0x271 }
  6559. 0x271 Else
  6560. 0x271 {
  6561. 0x274 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) And Not (Random MOD LocalVar:MagChance) ) )
  6562. 0x274 {
  6563. 0x289 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  6564. 0x289 {
  6565. 0x296 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  6566. 0x2A5 }
  6567. 0x2A5 Else
  6568. 0x2A5 {
  6569. 0x2A8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6570. 0x2B0 Perform("Ice2"[001F], EnemyAttack)
  6571. 0x2B5 }
  6572. 0x2B5 Else
  6573. 0x2B5 {
  6574. 0x2B8 If (Not (Random MOD 2) )
  6575. 0x2B8 {
  6576. 0x2C0 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6577. 0x2C0 {
  6578. 0x2CD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6579. 0x2DC }
  6580. 0x2DC Else
  6581. 0x2DC {
  6582. 0x2DF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6583. 0x2E7 Perform("Split"[0174], EnemyAttack)
  6584. 0x2ED }
  6585. 0x2ED Else
  6586. 0x2ED {
  6587. 0x2F0 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6588. 0x2F0 {
  6589. 0x2FD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  6590. 0x30C }
  6591. 0x30C Else
  6592. 0x30C {
  6593. 0x30F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6594. 0x317 Perform("Flying Sickle"[01FC], EnemyAttack)
  6595. 0x31D If (Not (Random MOD 2) )
  6596. 0x31D {
  6597. 0x325 LocalVar:Count <- 0
  6598. 0x32B }
  6599. 0x32B Else
  6600. 0x32B {
  6601. 0x32E LocalVar:Count <- 1
  6602. 0x334 }
  6603. 0x334 Else
  6604. 0x334 {
  6605. 0x337POP(LocalVar:Count)
  6606. 0x338SCRIPT END
  6607.  
  6608.  
  6609. GENERAL COUNTER:
  6610.  
  6611. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  6612. 0x000 {
  6613. 0x018 LocalVar:MagChance <- 1
  6614. 0x01E LocalVar:SpclChance <- 1
  6615. 0x024 }
  6616. 0x024 Else
  6617. 0x024 {
  6618. 0x027 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  6619. 0x027 {
  6620. 0x03F LocalVar:MagChance <- 1
  6621. 0x045 LocalVar:SpclChance <- 2
  6622. 0x04B }
  6623. 0x04B Else
  6624. 0x04B {
  6625. 0x04E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  6626. 0x04E {
  6627. 0x066 LocalVar:MagChance <- 2
  6628. 0x06C LocalVar:SpclChance <- 3
  6629. 0x072 }
  6630. 0x072 Else
  6631. 0x072 {
  6632. 0x075 LocalVar:MagChance <- 4
  6633. 0x07B LocalVar:SpclChance <- 4
  6634. 0x081SCRIPT END
  6635.  
  6636.  
  6637.  
  6638.  
  6639. 57 - [39] Mighty Grunt (1st Form)
  6640.  
  6641.  
  6642. LocalVar:0000 = LocalVar:TransformID
  6643.  
  6644. BattleAddr(&2060) = BattleAddr(&Self)
  6645. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6646. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6647. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  6648.  
  6649. BattleAddr(&4020) = BattleAddr(&SelfActive)
  6650. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  6651. BattleAddr(&4023) = BattleAddr(&Targetable)
  6652. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  6653. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  6654. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  6655. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6656. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6657.  
  6658.  
  6659.  
  6660. PRE-BATTLE:
  6661.  
  6662. 0x000LocalVar:TransformID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  6663. 0x014LocalVar:TransformID <- (LocalVar:TransformID.BattleAddr(&IndexOfActor) == 58)
  6664. 0x022SCRIPT END
  6665.  
  6666.  
  6667. MAIN:
  6668.  
  6669. 0x000 If (Random MOD 2)
  6670. 0x000 {
  6671. 0x007 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6672. 0x00F Perform("Machine Gun"[0110], EnemyAttack)
  6673. 0x015 }
  6674. 0x015 Else
  6675. 0x015 {
  6676. 0x018 Bad Code0x023 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  6677. 0x025 Perform("Double Shot"[0175], EnemyAttack)
  6678. 0x02BSCRIPT END
  6679.  
  6680. NOTE - 0x022 uses HMSK
  6681.  
  6682.  
  6683. GENERAL COUNTER:
  6684.  
  6685. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  6686. 0x000 {
  6687. 0x015 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6688. 0x01C Perform("Grunt Death"[0176], EnemyAttack)
  6689. 0x022 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6690. 0x02C BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6691. 0x036 LocalVar:TransformID.BattleAddr(&SelfActive) <- 1
  6692. 0x040 LocalVar:TransformID.BattleAddr(&Targetable) <- 1
  6693. 0x04A LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 1
  6694. 0x054 LocalVar:TransformID.BattleAddr(&AIScriptActive) <- 1
  6695. 0x05E TransferStatus(BattleAddr(&Self), LocalVar:TransformID)
  6696. 0x065 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6697. 0x06F BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6698. 0x079 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  6699. 0x083 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  6700. 0x08DSCRIPT END
  6701.  
  6702.  
  6703. DEATH COUNTER:
  6704.  
  6705. 0x000LocalVar:TransformID.BattleAddr(&SelfActive) <- 0
  6706. 0x00ALocalVar:TransformID.BattleAddr(&Targetable) <- 0
  6707. 0x014LocalVar:TransformID.BattleAddr(&Needed2EndBattle) <- 0
  6708. 0x01ELocalVar:TransformID.BattleAddr(&AIScriptActive) <- 0
  6709. 0x028SCRIPT END
  6710.  
  6711.  
  6712.  
  6713.  
  6714. 58 - [3A] Mighty Grunt (2nd Form)
  6715.  
  6716.  
  6717. BattleAddr(&2060) = BattleAddr(&Self)
  6718. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6719. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6720.  
  6721.  
  6722.  
  6723. MAIN:
  6724.  
  6725. 0x000 If (Random MOD 8 == 0)
  6726. 0x000 {
  6727. 0x009 }
  6728. 0x009 Else
  6729. 0x009 {
  6730. 0x00C If (Random MOD 8 == 1)
  6731. 0x00C {
  6732. 0x011 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6733. 0x019 Perform("Roller Dash"[0177], EnemyAttack)
  6734. 0x01F }
  6735. 0x01F Else
  6736. 0x01F {
  6737. 0x022 }
  6738. 0x022 Else
  6739. 0x022 {
  6740. 0x025 If (Random MOD 8 == 2)
  6741. 0x025 {
  6742. 0x02A }
  6743. 0x02A Else
  6744. 0x02A {
  6745. 0x02D If (Random MOD 8 == 3)
  6746. 0x02D {
  6747. 0x032 }
  6748. 0x032 Else
  6749. 0x032 {
  6750. 0x035 If (Random MOD 8 == 4)
  6751. 0x035 {
  6752. 0x03A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6753. 0x042 Perform("Rollerspin"[0178], EnemyAttack)
  6754. 0x048 }
  6755. 0x048 Else
  6756. 0x048 {
  6757. 0x04B }
  6758. 0x04B Else
  6759. 0x04B {
  6760. 0x04E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  6761. 0x055 Perform("Skating"[0179], EnemyAttack)
  6762. 0x05B }
  6763. 0x05B Else
  6764. 0x05B {
  6765. 0x05EPOP(Random MOD 8)
  6766. 0x05FSCRIPT END
  6767.  
  6768.  
  6769.  
  6770.  
  6771. 59 - [3B] Moth Slasher
  6772.  
  6773.  
  6774. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6775. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6776.  
  6777.  
  6778.  
  6779. MAIN:
  6780.  
  6781. 0x000 If (Not (Random MOD 3) )
  6782. 0x000 {
  6783. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6784. 0x010 Perform("Speed Slash"[017B], EnemyAttack)
  6785. 0x016 }
  6786. 0x016 Else
  6787. 0x016 {
  6788. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6789. 0x021 Perform("Verbal Attack"[017A], EnemyAttack)
  6790. 0x027SCRIPT END
  6791.  
  6792.  
  6793.  
  6794.  
  6795. 60 - [3C] Grenade Combatant
  6796.  
  6797.  
  6798. LocalVar:0000 = LocalVar:Stage
  6799. LocalVar:0020 = LocalVar:Count
  6800. LocalVar:0040 = LocalVar:Ammo
  6801.  
  6802. BattleAddr(&2060) = BattleAddr(&Self)
  6803. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6804. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6805.  
  6806. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6807. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6808.  
  6809.  
  6810.  
  6811. PRE-BATTLE:
  6812.  
  6813. 0x000LocalVar:Count <- 3
  6814. 0x006LocalVar:Ammo <- 4
  6815. 0x00CSCRIPT END
  6816.  
  6817.  
  6818. MAIN:
  6819.  
  6820. 0x000 If (Not (LocalVar:Stage) )
  6821. 0x000 {
  6822. 0x007 If (Not (LocalVar:Count) )
  6823. 0x007 {
  6824. 0x00E If ( (LocalVar:Ammo > 0) )
  6825. 0x00E {
  6826. 0x017 Bad Code0x022 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  6827. 0x024 Perform("Hand Grenade"[017C], EnemyAttack)
  6828. 0x02A LocalVar:Ammo <- LocalVar:Ammo - 1
  6829. 0x034 LocalVar:Count <- 3
  6830. 0x03A }
  6831. 0x03A Else
  6832. 0x03A {
  6833. 0x03D Bad Code0x048 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  6834. 0x04A Perform("Machine Gun"[0110], EnemyAttack)
  6835. 0x050 }
  6836. 0x050 Else
  6837. 0x050 {
  6838. 0x053 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6839. 0x05B Perform("Machine Gun"[0110], EnemyAttack)
  6840. 0x061 LocalVar:Count <- LocalVar:Count - 1
  6841. 0x06B }
  6842. 0x06B Else
  6843. 0x06B {
  6844. 0x06E If ( (LocalVar:Ammo > 0) )
  6845. 0x06E {
  6846. 0x077 Bad Code0x082 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  6847. 0x084 Perform("Hand Grenade"[017C], EnemyAttack)
  6848. 0x08A LocalVar:Ammo <- LocalVar:Ammo - 1
  6849. 0x094 }
  6850. 0x094 Else
  6851. 0x094 {
  6852. 0x097 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6853. 0x09F Perform("Machine Gun"[0110], EnemyAttack)
  6854. 0x0A5SCRIPT END
  6855.  
  6856. NOTE - 0x021 uses LMSK
  6857. 0x047 uses LMSK
  6858. 0x081 uses LMSK
  6859.  
  6860.  
  6861. GENERAL COUNTER:
  6862.  
  6863. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  6864. 0x000 {
  6865. 0x018 LocalVar:Stage <- 1
  6866. 0x01E }
  6867. 0x01E Else
  6868. 0x01E {
  6869. 0x021 LocalVar:Stage <- 0
  6870. 0x027SCRIPT END
  6871.  
  6872.  
  6873.  
  6874.  
  6875. 61 - [3D] Brain Pod
  6876.  
  6877.  
  6878. BattleAddr(&2060) = BattleAddr(&Self)
  6879. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6880. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6881.  
  6882. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  6883. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  6884. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  6885.  
  6886.  
  6887.  
  6888. MAIN:
  6889.  
  6890. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  6891. 0x000 {
  6892. 0x00D If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  6893. 0x00D {
  6894. 0x01A If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  6895. 0x01A {
  6896. 0x032 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0)
  6897. 0x040 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0) )
  6898. 0x04F }
  6899. 0x04F Else
  6900. 0x04F {
  6901. 0x052 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6902. 0x05A Perform("Bodyblow"[0172], EnemyAttack)
  6903. 0x060 }
  6904. 0x060 Else
  6905. 0x060 {
  6906. 0x063 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Refuse [017D])) )
  6907. 0x063 {
  6908. 0x072 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1)
  6909. 0x080 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0) )
  6910. 0x08F Perform("Refuse"[017D], EnemyAttack)
  6911. 0x095 }
  6912. 0x095 Else
  6913. 0x095 {
  6914. 0x098 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  6915. 0x098 {
  6916. 0x0B0 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0)
  6917. 0x0BE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0) )
  6918. 0x0CD }
  6919. 0x0CD Else
  6920. 0x0CD {
  6921. 0x0D0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6922. 0x0D8 Perform("Bodyblow"[0172], EnemyAttack)
  6923. 0x0DE }
  6924. 0x0DE Else
  6925. 0x0DE {
  6926. 0x0E1 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Refuse [017E])) )
  6927. 0x0E1 {
  6928. 0x0F0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  6929. 0x0FF Perform("Refuse"[017E], EnemyAttack)
  6930. 0x105 }
  6931. 0x105 Else
  6932. 0x105 {
  6933. 0x108 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  6934. 0x108 {
  6935. 0x120 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0)
  6936. 0x12E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0) )
  6937. 0x13D }
  6938. 0x13D Else
  6939. 0x13D {
  6940. 0x140 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6941. 0x148 Perform("Bodyblow"[0172], EnemyAttack)
  6942. 0x14ESCRIPT END
  6943.  
  6944.  
  6945.  
  6946.  
  6947. 62 - [3E] Vargid Police
  6948.  
  6949.  
  6950. LocalVar:0000 = LocalVar:AllyID
  6951.  
  6952. BattleAddr(&2020) = BattleAddr(&BattleType)
  6953. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  6954. BattleAddr(&2060) = BattleAddr(&Self)
  6955. BattleAddr(&2070) = BattleAddr(&TarSelected)
  6956. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  6957.  
  6958. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  6959. BattleAddr(&4020) = BattleAddr(&SelfActive)
  6960. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  6961. BattleAddr(&4023) = BattleAddr(&Targetable)
  6962. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  6963. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  6964. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  6965. BattleAddr(&4180) = BattleAddr(&MaxHP)
  6966.  
  6967.  
  6968. MAIN:
  6969.  
  6970. 0x000LocalVar:AllyID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  6971. 0x014LocalVar:AllyID <- LocalVar:AllyID AND NOT BattleAddr(&Self)
  6972. 0x020 If ( (BattleAddr(&BattleType) == 2) )
  6973. 0x020 {
  6974. 0x029 If (Not (Random MOD 4) )
  6975. 0x029 {
  6976. 0x031 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  6977. 0x038 Perform("Suicide"[0184], EnemyAttack)
  6978. 0x03E BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6979. 0x048 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6980. 0x052 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  6981. 0x05C BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  6982. 0x066 }
  6983. 0x066 Else
  6984. 0x066 {
  6985. 0x069 If ( ( (LocalVar:AllyID.BattleAddr(&DeathStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) ) )
  6986. 0x069 {
  6987. 0x089 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  6988. 0x090 Perform("Suicide"[0184], EnemyAttack)
  6989. 0x096 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  6990. 0x0A0 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  6991. 0x0AA BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  6992. 0x0B4 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  6993. 0x0BE }
  6994. 0x0BE Else
  6995. 0x0BE {
  6996. 0x0C1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  6997. 0x0C9 Perform("Needle"[0183], EnemyAttack)
  6998. 0x0CF }
  6999. 0x0CF Else
  7000. 0x0CF {
  7001. 0x0D2 If ( ( (LocalVar:AllyID.BattleAddr(&DeathStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) ) )
  7002. 0x0D2 {
  7003. 0x0F2 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7004. 0x0F9 Perform("Suicide"[0184], EnemyAttack)
  7005. 0x0FF BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  7006. 0x109 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  7007. 0x113 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  7008. 0x11D BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  7009. 0x127 }
  7010. 0x127 Else
  7011. 0x127 {
  7012. 0x12A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7013. 0x132 Perform("Needle"[0183], EnemyAttack)
  7014. 0x138SCRIPT END
  7015.  
  7016.  
  7017.  
  7018.  
  7019. 63 - [3F] Zenene
  7020.  
  7021.  
  7022. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7023. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7024.  
  7025.  
  7026.  
  7027. MAIN:
  7028.  
  7029. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7030. 0x008 If (Random MOD 4 == 0)
  7031. 0x008 {
  7032. 0x011 Perform("Piazzo Shower"[018A], EnemyAttack)
  7033. 0x017 }
  7034. 0x017 Else
  7035. 0x017 {
  7036. 0x01A }
  7037. 0x01A Else
  7038. 0x01A {
  7039. 0x01D If (Random MOD 4 == 1)
  7040. 0x01D {
  7041. 0x022 Perform("Ghenghana"[018B], EnemyAttack)
  7042. 0x028 }
  7043. 0x028 Else
  7044. 0x028 {
  7045. 0x02B }
  7046. 0x02B Else
  7047. 0x02B {
  7048. 0x02E Perform("Fang"[0189], EnemyAttack)
  7049. 0x034 }
  7050. 0x034 Else
  7051. 0x034 {
  7052. 0x037POP(Random MOD 4)
  7053. 0x038SCRIPT END
  7054.  
  7055.  
  7056.  
  7057.  
  7058. 64 - [40] Sample:H0512
  7059.  
  7060.  
  7061. LocalVar:0000 = LocalVar:OpenAttack
  7062. LocalVar:0020 = LocalVar:Sample:H0152-opt
  7063.  
  7064. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  7065. BattleAddr(&2060) = BattleAddr(&Self)
  7066. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7067. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7068. BattleAddr(&2120) = BattleAddr(&ElementsOfLastAction)
  7069.  
  7070. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  7071. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  7072. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  7073. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  7074. BattleAddr(&41A0) = BattleAddr(&Angry)
  7075. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  7076. BattleAddr(&4020) = BattleAddr(&SelfActive)
  7077. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  7078. BattleAddr(&4023) = BattleAddr(&Targetable)
  7079. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  7080. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  7081.  
  7082.  
  7083.  
  7084. PRE-BATTLE:
  7085.  
  7086. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  7087. 0x00ALocalVar:Sample:H0152-opt <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 65)
  7088. 0x018SCRIPT END
  7089.  
  7090.  
  7091. MAIN:
  7092.  
  7093. 0x000 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 1) )
  7094. 0x000 {
  7095. 0x00D BattleAddr(&ElementsOfLastAction) <- BattleAddr(&Self).BattleAddr(&AllyAngry)
  7096. 0x018 BattleAddr(&Self).BattleAddr(&Angry) <- 0
  7097. 0x022 If (Not (LocalVar:OpenAttack) )
  7098. 0x022 {
  7099. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7100. 0x030 Perform("Shady Breath"[018D], EnemyAttack)
  7101. 0x036 LocalVar:OpenAttack <- 1
  7102. 0x03C }
  7103. 0x03C Else
  7104. 0x03C {
  7105. 0x03F If ( ( (LocalVar:Sample:H0152-opt.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Reanimagic [018E])) ) )
  7106. 0x03F {
  7107. 0x059 BattleAddr(&TarSelected) <- (LocalVar:Sample:H0152-opt.BattleAddr(&DeathStatus) == 1)
  7108. 0x067 Perform("Reanimagic"[018E], EnemyAttack)
  7109. 0x06D }
  7110. 0x06D Else
  7111. 0x06D {
  7112. 0x070 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And Not (Random MOD 4) ) )
  7113. 0x070 {
  7114. 0x083 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7115. 0x08A Perform("Shady Breath"[018D], EnemyAttack)
  7116. 0x090 }
  7117. 0x090 Else
  7118. 0x090 {
  7119. 0x093 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  7120. 0x0A2 Perform("Keyclaw"[018C], EnemyAttack)
  7121. 0x0A8SCRIPT END
  7122.  
  7123.  
  7124. DEATH COUNTER:
  7125.  
  7126. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7127. 0x007Perform("Vanish"[014E], EnemyAttack)
  7128. 0x00DLocalVar:Sample:H0152-opt.BattleAddr(&SelfActive) <- 0
  7129. 0x017LocalVar:Sample:H0152-opt.BattleAddr(&Targetable) <- 0
  7130. 0x021LocalVar:Sample:H0152-opt.BattleAddr(&Needed2EndBattle) <- 0
  7131. 0x02BLocalVar:Sample:H0152-opt.BattleAddr(&AIScriptActive) <- 0
  7132. 0x035SCRIPT END
  7133.  
  7134.  
  7135.  
  7136.  
  7137. 65 - [41] Sample:H0512-opt
  7138.  
  7139.  
  7140. LocalVar:0000 = LocalVar:Sample:H0512
  7141.  
  7142. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  7143. BattleAddr(&2060) = BattleAddr(&Self)
  7144. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7145. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7146. BattleAddr(&2120) = BattleAddr(&ElementsOfLastAction)
  7147.  
  7148. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  7149. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  7150. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  7151. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  7152. BattleAddr(&41A0) = BattleAddr(&Angry)
  7153. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  7154.  
  7155.  
  7156.  
  7157. PRE-BATTLE:
  7158.  
  7159. 0x000LocalVar:Sample:H0512 <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  7160. 0x014LocalVar:Sample:H0512 <- (LocalVar:Sample:H0512.BattleAddr(&IndexOfActor) == 64)
  7161. 0x022SCRIPT END
  7162.  
  7163.  
  7164. MAIN:
  7165.  
  7166. 0x000 If (Random MOD 4 == 0)
  7167. 0x000 {
  7168. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7169. 0x011 Perform("Bodyblow"[0126], EnemyAttack)
  7170. 0x017 }
  7171. 0x017 Else
  7172. 0x017 {
  7173. 0x01A }
  7174. 0x01A Else
  7175. 0x01A {
  7176. 0x01D If (Random MOD 4 == 1)
  7177. 0x01D {
  7178. 0x022 If ( (LocalVar:Sample:H0512.BattleAddr(&ParalyzedStatus) == 0) )
  7179. 0x022 {
  7180. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7181. 0x037 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  7182. 0x037 {
  7183. 0x043 Perform("Rolling Attack"[0191], EnemyAttack)
  7184. 0x049 }
  7185. 0x049 Else
  7186. 0x049 {
  7187. 0x04C }
  7188. 0x04C Else
  7189. 0x04C {
  7190. 0x04F If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  7191. 0x04F {
  7192. 0x054 Perform("Rolling Attack"[0192], EnemyAttack)
  7193. 0x05A }
  7194. 0x05A Else
  7195. 0x05A {
  7196. 0x05D }
  7197. 0x05D Else
  7198. 0x05D {
  7199. 0x060 Perform("Rolling Attack"[0193], EnemyAttack)
  7200. 0x066 }
  7201. 0x066 Else
  7202. 0x066 {
  7203. 0x069 POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  7204. 0x06A }
  7205. 0x06A Else
  7206. 0x06A {
  7207. 0x06D }
  7208. 0x06D Else
  7209. 0x06D {
  7210. 0x070 If (Random MOD 4 == 2)
  7211. 0x070 {
  7212. 0x075 If (Not (Random MOD 3) )
  7213. 0x075 {
  7214. 0x07D If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire [001B])) )
  7215. 0x07D {
  7216. 0x08B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7217. 0x093 Perform("Fire"[001B], EnemyAttack)
  7218. 0x098 }
  7219. 0x098 Else
  7220. 0x098 {
  7221. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7222. 0x0A3 Perform("Bodyblow"[0126], EnemyAttack)
  7223. 0x0A9 }
  7224. 0x0A9 Else
  7225. 0x0A9 {
  7226. 0x0AC }
  7227. 0x0AC Else
  7228. 0x0AC {
  7229. 0x0AF If (Not (Random MOD 3) )
  7230. 0x0AF {
  7231. 0x0B7 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice [001E])) )
  7232. 0x0B7 {
  7233. 0x0C5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7234. 0x0CD Perform("Ice"[001E], EnemyAttack)
  7235. 0x0D2 }
  7236. 0x0D2 Else
  7237. 0x0D2 {
  7238. 0x0D5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7239. 0x0DD Perform("Bodyblow"[0126], EnemyAttack)
  7240. 0x0E3 }
  7241. 0x0E3 Else
  7242. 0x0E3 {
  7243. 0x0E6POP(Random MOD 4)
  7244. 0x0E7SCRIPT END
  7245.  
  7246.  
  7247. DEATH COUNTER:
  7248.  
  7249. 0x000LocalVar:Sample:H0512.BattleAddr(&Angry) <- 1
  7250. 0x00ALocalVar:Sample:H0512.BattleAddr(&AllyAngry) <- BattleAddr(&ElementsOfLastAction)
  7251. 0x015SCRIPT END
  7252.  
  7253.  
  7254.  
  7255.  
  7256. 66 - [42] Hundred Gunner
  7257.  
  7258.  
  7259. LocalVar:0000 = LocalVar:OpenAttack
  7260. LocalVar:0020 = LocalVar:Charging
  7261. LocalVar:0040 = LocalVar:Stage
  7262. LocalVar:0060 = LocalVar:EnemyAttack
  7263.  
  7264. BattleAddr(&2060) = BattleAddr(&Self)
  7265. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7266. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7267.  
  7268. BattleAddr(&4020) = BattleAddr(&SelfActive)
  7269. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  7270. BattleAddr(&4023) = BattleAddr(&Targetable)
  7271. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  7272. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  7273. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  7274. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  7275. BattleAddr(&4180) = BattleAddr(&MaxHP)
  7276. BattleAddr(&4270) = BattleAddr(&Row)
  7277.  
  7278.  
  7279.  
  7280. PRE-BATTLE:
  7281.  
  7282. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7283. 0x007Perform("Glass Shatter"[0194], EnemyAttack)
  7284. 0x00DBattleAddr(&Self).BattleAddr(&Row) <- 16
  7285. 0x017SCRIPT END
  7286.  
  7287.  
  7288. MAIN:
  7289.  
  7290. 0x000 If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0)
  7291. 0x000 {
  7292. 0x00C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7293. 0x014 If (Not (LocalVar:OpenAttack) )
  7294. 0x014 {
  7295. 0x01B LocalVar:EnemyAttack <- 405 (Aux Artillery)
  7296. 0x022 LocalVar:OpenAttack <- 1
  7297. 0x028 }
  7298. 0x028 Else
  7299. 0x028 {
  7300. 0x02B If (Not (Random MOD 4) )
  7301. 0x02B {
  7302. 0x033 LocalVar:EnemyAttack <- 406 (Hidden Artillery)
  7303. 0x03A }
  7304. 0x03A Else
  7305. 0x03A {
  7306. 0x03D LocalVar:EnemyAttack <- 405 (Aux Artillery)
  7307. 0x044 }
  7308. 0x044 Else
  7309. 0x044 {
  7310. 0x047 }
  7311. 0x047 Else
  7312. 0x047 {
  7313. 0x04A If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 7)
  7314. 0x04A {
  7315. 0x04F BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7316. 0x056 LocalVar:EnemyAttack <- 408 (Main Artillery)
  7317. 0x05D }
  7318. 0x05D Else
  7319. 0x05D {
  7320. 0x060 }
  7321. 0x060 Else
  7322. 0x060 {
  7323. 0x063 If (LocalVar:Charging == 0)
  7324. 0x063 {
  7325. 0x06B }
  7326. 0x06B Else
  7327. 0x06B {
  7328. 0x06E If (LocalVar:Charging == 1)
  7329. 0x06E {
  7330. 0x073 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7331. 0x07A LocalVar:EnemyAttack <- 412 (Charging)
  7332. 0x081 If (Not (LocalVar:Charging) )
  7333. 0x081 {
  7334. 0x088 Display String: "Sensor Cannon Charging!"
  7335. 0x0A1 }
  7336. 0x0A1 Else
  7337. 0x0A1 {
  7338. 0x0A4 Display String: "Sensor Cannon Charged!"
  7339. 0x0BC LocalVar:Charging <- LocalVar:Charging + 1
  7340. 0x0C6 }
  7341. 0x0C6 Else
  7342. 0x0C6 {
  7343. 0x0C9 }
  7344. 0x0C9 Else
  7345. 0x0C9 {
  7346. 0x0CC BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7347. 0x0D3 LocalVar:EnemyAttack <- 411 (Wave Artillery)
  7348. 0x0DA LocalVar:Charging <- 0
  7349. 0x0E0 }
  7350. 0x0E0 Else
  7351. 0x0E0 {
  7352. 0x0E3 POP(LocalVar:Charging)
  7353. 0x0E4 }
  7354. 0x0E4 Else
  7355. 0x0E4 {
  7356. 0x0E7POP(BattleAddr(&Self).BattleAddr(&IdleAnimID))
  7357. 0x0E8Perform(LocalVar:EnemyAttack, EnemyAttack)
  7358. 0x0EESCRIPT END
  7359.  
  7360.  
  7361. GENERAL COUNTER:
  7362.  
  7363. 0x000 If (LocalVar:Stage == 0)
  7364. 0x000 {
  7365. 0x008 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 2) )
  7366. 0x008 {
  7367. 0x020 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7368. 0x027 Perform("Destroyed"[0197], EnemyAttack)
  7369. 0x02D BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  7370. 0x037 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  7371. 0x041 LocalVar:Stage <- 1
  7372. 0x047 }
  7373. 0x047 Else
  7374. 0x047 {
  7375. 0x04A If (LocalVar:Stage == 1)
  7376. 0x04A {
  7377. 0x04F If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 1) )
  7378. 0x04F {
  7379. 0x067 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7380. 0x06E Perform("Destroyed"[019A], EnemyAttack)
  7381. 0x074 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 12
  7382. 0x07E BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 13
  7383. 0x088 LocalVar:Stage <- 2
  7384. 0x08E }
  7385. 0x08E Else
  7386. 0x08E {
  7387. 0x091 }
  7388. 0x091 Else
  7389. 0x091 {
  7390. 0x094 }
  7391. 0x094 Else
  7392. 0x094 {
  7393. 0x097POP(LocalVar:Stage)
  7394. 0x098SCRIPT END
  7395.  
  7396.  
  7397. DEATH COUNTER:
  7398.  
  7399. 0x000BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  7400. 0x00ABattleAddr(&Self).BattleAddr(&Targetable) <- 0
  7401. 0x014BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  7402. 0x01EBattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  7403. 0x028SCRIPT END
  7404.  
  7405.  
  7406.  
  7407.  
  7408. 67 - [43] Heli Gunner
  7409.  
  7410.  
  7411. LocalVar:0000 = LocalVar:Count
  7412. LocalVar:0020 = LocalVar:Stage
  7413.  
  7414. BattleAddr(&2060) = BattleAddr(&Self)
  7415. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7416. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7417.  
  7418. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  7419. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  7420. BattleAddr(&4100) = BattleAddr(&Def)
  7421. BattleAddr(&4110) = BattleAddr(&MDef)
  7422. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  7423. BattleAddr(&4180) = BattleAddr(&MaxHP)
  7424. BattleAddr(&4270) = BattleAddr(&Row)
  7425.  
  7426.  
  7427.  
  7428. PRE-BATTLE:
  7429.  
  7430. 0x000BattleAddr(&Self).BattleAddr(&Row) <- 16
  7431. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  7432. 0x011Perform([011F], EnemyAttack)
  7433. 0x017BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7434. 0x01FPerform("AB Cannon"[019D], EnemyAttack)
  7435. 0x025SCRIPT END
  7436.  
  7437.  
  7438. MAIN:
  7439.  
  7440. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  7441. 0x000 {
  7442. 0x00D If (LocalVar:Count == 0)
  7443. 0x00D {
  7444. 0x015 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7445. 0x01D Perform("AB Cannon"[019D], EnemyAttack)
  7446. 0x023 LocalVar:Count <- 1
  7447. 0x029 }
  7448. 0x029 Else
  7449. 0x029 {
  7450. 0x02C }
  7451. 0x02C Else
  7452. 0x02C {
  7453. 0x02F If (LocalVar:Count == 1)
  7454. 0x02F {
  7455. 0x034 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7456. 0x03C If (Not (Random MOD 4) )
  7457. 0x03C {
  7458. 0x044 Perform("Firing Line"[019F], EnemyAttack)
  7459. 0x04A LocalVar:Count <- 3
  7460. 0x050 }
  7461. 0x050 Else
  7462. 0x050 {
  7463. 0x053 Perform("C Cannon"[019E], EnemyAttack)
  7464. 0x059 LocalVar:Count <- 2
  7465. 0x05F }
  7466. 0x05F Else
  7467. 0x05F {
  7468. 0x062 }
  7469. 0x062 Else
  7470. 0x062 {
  7471. 0x065 If (LocalVar:Count == 2)
  7472. 0x065 {
  7473. 0x06A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7474. 0x072 If (Not (Random MOD 4) )
  7475. 0x072 {
  7476. 0x07A Perform("Firing Line"[019F], EnemyAttack)
  7477. 0x080 LocalVar:Count <- 3
  7478. 0x086 }
  7479. 0x086 Else
  7480. 0x086 {
  7481. 0x089 Perform("AB Cannon"[019D], EnemyAttack)
  7482. 0x08F LocalVar:Count <- 1
  7483. 0x095 }
  7484. 0x095 Else
  7485. 0x095 {
  7486. 0x098 }
  7487. 0x098 Else
  7488. 0x098 {
  7489. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7490. 0x0A3 If (Not (Random MOD 4) )
  7491. 0x0A3 {
  7492. 0x0AB Perform("C Cannon"[019E], EnemyAttack)
  7493. 0x0B1 LocalVar:Count <- 2
  7494. 0x0B7 }
  7495. 0x0B7 Else
  7496. 0x0B7 {
  7497. 0x0BA Perform("AB Cannon"[019D], EnemyAttack)
  7498. 0x0C0 LocalVar:Count <- 1
  7499. 0x0C6 }
  7500. 0x0C6 Else
  7501. 0x0C6 {
  7502. 0x0C9 POP(LocalVar:Count)
  7503. 0x0CA }
  7504. 0x0CA Else
  7505. 0x0CA {
  7506. 0x0CD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7507. 0x0D5 If (Not (Random MOD 2) )
  7508. 0x0D5 {
  7509. 0x0DD Perform("Spinning Bodyblow"[01A1], EnemyAttack)
  7510. 0x0E3 }
  7511. 0x0E3 Else
  7512. 0x0E3 {
  7513. 0x0E6 Perform("Flying Drill"[01A2], EnemyAttack)
  7514. 0x0ECSCRIPT END
  7515.  
  7516.  
  7517. GENERAL COUNTER:
  7518.  
  7519. 0x000 If (Not (LocalVar:Stage) )
  7520. 0x000 {
  7521. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  7522. 0x007 {
  7523. 0x01C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7524. 0x023 Perform("Start Spin"[01A0], EnemyAttack)
  7525. 0x029 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  7526. 0x033 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  7527. 0x03D BattleAddr(&Self).BattleAddr(&Def) <- BattleAddr(&Self).BattleAddr(&Def) + 50
  7528. 0x04F BattleAddr(&Self).BattleAddr(&MDef) <- BattleAddr(&Self).BattleAddr(&MDef) + 50
  7529. 0x061 LocalVar:Stage <- 1
  7530. 0x067SCRIPT END
  7531.  
  7532.  
  7533.  
  7534.  
  7535. 68 - [44] Rufus
  7536.  
  7537.  
  7538. LocalVar:0000 = LocalVar:DarkNation
  7539. LocalVar:0020 = LocalVar:PrevHP
  7540. LocalVar:0040 = LocalVar:HPDiff
  7541. LocalVar:0060 = LocalVar:CurrentHP
  7542.  
  7543. BattleAddr(&2060) = BattleAddr(&Self)
  7544. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7545. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  7546. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7547.  
  7548. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  7549. BattleAddr(&4023) = BattleAddr(&Targetable)
  7550. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  7551. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  7552. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  7553.  
  7554.  
  7555.  
  7556. PRE-BATTLE:
  7557.  
  7558. 0x000LocalVar:DarkNation <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 69)
  7559. 0x00ESCRIPT END
  7560.  
  7561.  
  7562. MAIN:
  7563.  
  7564. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) > 200) And ( (LocalVar:HPDiff < 100) And (Random MOD 3 == 0) ) ) )
  7565. 0x000 {
  7566. 0x01C Display String: "Rufus “Heh, Heh, Heh…”"
  7567. 0x034 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7568. 0x03B Perform([011F], EnemyAttack)
  7569. 0x041 }
  7570. 0x041 Else
  7571. 0x041 {
  7572. 0x044 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7573. 0x04C Perform("Shotgun"[01A3], EnemyAttack)
  7574. 0x052SCRIPT END
  7575.  
  7576.  
  7577. GENERAL COUNTER:
  7578.  
  7579. 0x000LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  7580. 0x00BLocalVar:HPDiff <- LocalVar:PrevHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  7581. 0x01ALocalVar:PrevHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  7582. 0x025SCRIPT END
  7583.  
  7584.  
  7585. DEATH COUNTER:
  7586.  
  7587. 0x000Display String: "Rufus “Heh… That's all for today…”"
  7588. 0x024BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7589. 0x02BPerform("(Report)"[0164], EnemyAttack)
  7590. 0x031 If (Not (LocalVar:DarkNation.BattleAddr(&DeathStatus)) )
  7591. 0x031 {
  7592. 0x03C LocalVar:DarkNation.BattleAddr(&Targetable) <- 0
  7593. 0x046 LocalVar:DarkNation.BattleAddr(&AIScriptActive) <- 0
  7594. 0x050SCRIPT END
  7595.  
  7596.  
  7597.  
  7598.  
  7599. 69 - [45] Dark Nation
  7600.  
  7601.  
  7602. LocalVar:0000 = LocalVar:Rufus
  7603.  
  7604. BattleAddr(&2060) = BattleAddr(&Self)
  7605. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7606. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7607.  
  7608. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  7609. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  7610. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  7611. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  7612. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  7613. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  7614.  
  7615.  
  7616.  
  7617. PRE-BATTLE:
  7618.  
  7619. 0x000LocalVar:Rufus <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&2050).BattleAddr(&GrpFormID))
  7620. 0x014LocalVar:Rufus <- (LocalVar:Rufus.BattleAddr(&IndexOfActor) == 68)
  7621. 0x022SCRIPT END
  7622.  
  7623.  
  7624. MAIN:
  7625.  
  7626. 0x000 If ( (Not (LocalVar:Rufus.BattleAddr(&DeathStatus)) And Not (LocalVar:Rufus.BattleAddr(&BarrierStatus)) ) )
  7627. 0x000 {
  7628. 0x014 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Barrier [000F])) )
  7629. 0x014 {
  7630. 0x022 BattleAddr(&TarSelected) <- LocalVar:Rufus
  7631. 0x029 Perform("Barrier"[000F], EnemyAttack)
  7632. 0x02E }
  7633. 0x02E Else
  7634. 0x02E {
  7635. 0x031 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7636. 0x039 Perform("Bite"[0112], EnemyAttack)
  7637. 0x03F }
  7638. 0x03F Else
  7639. 0x03F {
  7640. 0x042 If (Not (BattleAddr(&Self).BattleAddr(&BarrierStatus)) )
  7641. 0x042 {
  7642. 0x04D If (Random MOD 4 == 0)
  7643. 0x04D {
  7644. 0x056 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7645. 0x05E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt [0021])) )
  7646. 0x05E {
  7647. 0x06C Perform("Bolt"[0021], EnemyAttack)
  7648. 0x071 }
  7649. 0x071 Else
  7650. 0x071 {
  7651. 0x074 Perform("Bite"[0112], EnemyAttack)
  7652. 0x07A }
  7653. 0x07A Else
  7654. 0x07A {
  7655. 0x07D }
  7656. 0x07D Else
  7657. 0x07D {
  7658. 0x080 If (Random MOD 4 == 1)
  7659. 0x080 {
  7660. 0x085 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7661. 0x08D Perform("Bite"[0112], EnemyAttack)
  7662. 0x093 }
  7663. 0x093 Else
  7664. 0x093 {
  7665. 0x096 }
  7666. 0x096 Else
  7667. 0x096 {
  7668. 0x099 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Barrier [000F])) )
  7669. 0x099 {
  7670. 0x0A7 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7671. 0x0AE Perform("Barrier"[000F], EnemyAttack)
  7672. 0x0B3 }
  7673. 0x0B3 Else
  7674. 0x0B3 {
  7675. 0x0B6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7676. 0x0BE Perform("Bite"[0112], EnemyAttack)
  7677. 0x0C4 }
  7678. 0x0C4 Else
  7679. 0x0C4 {
  7680. 0x0C7 POP(Random MOD 4)
  7681. 0x0C8 }
  7682. 0x0C8 Else
  7683. 0x0C8 {
  7684. 0x0CB If (Not (BattleAddr(&Self).BattleAddr(&MBarrierStatus)) )
  7685. 0x0CB {
  7686. 0x0D6 If (Random MOD 4 == 0)
  7687. 0x0D6 {
  7688. 0x0DF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7689. 0x0E7 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt [0021])) )
  7690. 0x0E7 {
  7691. 0x0F5 Perform("Bolt"[0021], EnemyAttack)
  7692. 0x0FA }
  7693. 0x0FA Else
  7694. 0x0FA {
  7695. 0x0FD Perform("Bite"[0112], EnemyAttack)
  7696. 0x103 }
  7697. 0x103 Else
  7698. 0x103 {
  7699. 0x106 }
  7700. 0x106 Else
  7701. 0x106 {
  7702. 0x109 If (Random MOD 4 == 1)
  7703. 0x109 {
  7704. 0x10E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7705. 0x116 Perform("Bite"[0112], EnemyAttack)
  7706. 0x11C }
  7707. 0x11C Else
  7708. 0x11C {
  7709. 0x11F }
  7710. 0x11F Else
  7711. 0x11F {
  7712. 0x122 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(MBarrier [0010])) )
  7713. 0x122 {
  7714. 0x130 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7715. 0x137 Perform("MBarrier"[0010], EnemyAttack)
  7716. 0x13C }
  7717. 0x13C Else
  7718. 0x13C {
  7719. 0x13F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7720. 0x147 Perform("Bite"[0112], EnemyAttack)
  7721. 0x14D }
  7722. 0x14D Else
  7723. 0x14D {
  7724. 0x150 POP(Random MOD 4)
  7725. 0x151 }
  7726. 0x151 Else
  7727. 0x151 {
  7728. 0x154 If (Random MOD 4 == 0)
  7729. 0x154 {
  7730. 0x15D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7731. 0x165 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt [0021])) )
  7732. 0x165 {
  7733. 0x173 Perform("Bolt"[0021], EnemyAttack)
  7734. 0x178 }
  7735. 0x178 Else
  7736. 0x178 {
  7737. 0x17B Perform("Bite"[0112], EnemyAttack)
  7738. 0x181 }
  7739. 0x181 Else
  7740. 0x181 {
  7741. 0x184 }
  7742. 0x184 Else
  7743. 0x184 {
  7744. 0x187 If (Random MOD 4 == 1)
  7745. 0x187 {
  7746. 0x18C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7747. 0x194 Perform("Bite"[0112], EnemyAttack)
  7748. 0x19A }
  7749. 0x19A Else
  7750. 0x19A {
  7751. 0x19D }
  7752. 0x19D Else
  7753. 0x19D {
  7754. 0x1A0 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt [0021])) )
  7755. 0x1A0 {
  7756. 0x1AE BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7757. 0x1B5 Perform("Bolt"[0021], EnemyAttack)
  7758. 0x1BA }
  7759. 0x1BA Else
  7760. 0x1BA {
  7761. 0x1BD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7762. 0x1C5 Perform("Bite"[0112], EnemyAttack)
  7763. 0x1CB }
  7764. 0x1CB Else
  7765. 0x1CB {
  7766. 0x1CE POP(Random MOD 4)
  7767. 0x1CFSCRIPT END
  7768.  
  7769.  
  7770.  
  7771.  
  7772. 70 - [46] [No Name] (Helicopter)
  7773.  
  7774. No Script exists for [No Name]
  7775.  
  7776.  
  7777.  
  7778.  
  7779. 71 - [47] Motor Ball
  7780.  
  7781.  
  7782. LocalVar:0000 = LocalVar:Stage
  7783. LocalVar:0020 = LocalVar:Count
  7784.  
  7785. BattleAddr(&2060) = BattleAddr(&Self)
  7786. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7787. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7788.  
  7789. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  7790. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  7791. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  7792. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  7793. BattleAddr(&4180) = BattleAddr(&MaxHP)
  7794.  
  7795.  
  7796.  
  7797. PRE-BATTLE:
  7798.  
  7799. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7800. 0x007Perform("x"[0368], EnemyAttack)
  7801. 0x00DBattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7802. 0x014Perform("Highway"[01A6], EnemyAttack)
  7803. 0x01ABattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  7804. 0x024SCRIPT END
  7805.  
  7806.  
  7807. MAIN:
  7808.  
  7809. 0x000 If (LocalVar:Count == 0)
  7810. 0x000 {
  7811. 0x008 }
  7812. 0x008 Else
  7813. 0x008 {
  7814. 0x00B If (LocalVar:Count == 1)
  7815. 0x00B {
  7816. 0x010 Bad Code0x01B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  7817. 0x01D Perform("Arm Attack"[01AB], EnemyAttack)
  7818. 0x023 If (Not (Random MOD 2) )
  7819. 0x023 {
  7820. 0x02B Bad Code0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  7821. 0x038 Perform("Arm Attack"[01AB], EnemyAttack)
  7822. 0x03E LocalVar:Count <- LocalVar:Count + 1
  7823. 0x048 }
  7824. 0x048 Else
  7825. 0x048 {
  7826. 0x04B }
  7827. 0x04B Else
  7828. 0x04B {
  7829. 0x04E If (LocalVar:Count == 2)
  7830. 0x04E {
  7831. 0x053 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7832. 0x05A Perform([0120], EnemyAttack)
  7833. 0x060 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  7834. 0x06A If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Twin Burner [01A5])) )
  7835. 0x06A {
  7836. 0x079 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7837. 0x080 Perform("Twin Burner"[01A5], EnemyAttack)
  7838. 0x086 }
  7839. 0x086 Else
  7840. 0x086 {
  7841. 0x089 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7842. 0x090 Perform("Deadly Wheel"[01A7], EnemyAttack)
  7843. 0x096 LocalVar:Count <- 3
  7844. 0x09C }
  7845. 0x09C Else
  7846. 0x09C {
  7847. 0x09F }
  7848. 0x09F Else
  7849. 0x09F {
  7850. 0x0A2 If (LocalVar:Count == 3)
  7851. 0x0A2 {
  7852. 0x0A7 LocalVar:Count <- 4
  7853. 0x0AD }
  7854. 0x0AD Else
  7855. 0x0AD {
  7856. 0x0B0 }
  7857. 0x0B0 Else
  7858. 0x0B0 {
  7859. 0x0B3 If (LocalVar:Count == 4)
  7860. 0x0B3 {
  7861. 0x0B8 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7862. 0x0BF Perform("Deadly Wheel"[01A7], EnemyAttack)
  7863. 0x0C5 LocalVar:Count <- 5
  7864. 0x0CB }
  7865. 0x0CB Else
  7866. 0x0CB {
  7867. 0x0CE }
  7868. 0x0CE Else
  7869. 0x0CE {
  7870. 0x0D1 If (LocalVar:Count == 5)
  7871. 0x0D1 {
  7872. 0x0D6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7873. 0x0DD Perform([011F], EnemyAttack)
  7874. 0x0E3 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  7875. 0x0ED LocalVar:Count <- 6
  7876. 0x0F3 }
  7877. 0x0F3 Else
  7878. 0x0F3 {
  7879. 0x0F6 }
  7880. 0x0F6 Else
  7881. 0x0F6 {
  7882. 0x0F9 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Rolling Fire [01AA])) )
  7883. 0x0F9 {
  7884. 0x108 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7885. 0x10F Perform("Rolling Fire"[01AA], EnemyAttack)
  7886. 0x115 }
  7887. 0x115 Else
  7888. 0x115 {
  7889. 0x118 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7890. 0x11F Perform("Deadly Wheel"[01A8], EnemyAttack)
  7891. 0x125 LocalVar:Count <- 0
  7892. 0x12B }
  7893. 0x12B Else
  7894. 0x12B {
  7895. 0x12EPOP(LocalVar:Count)
  7896. 0x12FSCRIPT END
  7897.  
  7898. NOTE - 0x01A uses HMSK
  7899. 0x035 uses HMSK
  7900.  
  7901.  
  7902. GENERAL COUNTER:
  7903.  
  7904. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  7905. 0x000 {
  7906. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  7907. 0x017 }
  7908. 0x017 Else
  7909. 0x017 {
  7910. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  7911. 0x024 If (Not (LocalVar:Stage) )
  7912. 0x024 {
  7913. 0x02B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8) )
  7914. 0x02B {
  7915. 0x040 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  7916. 0x040 {
  7917. 0x04D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  7918. 0x054 Perform([011F], EnemyAttack)
  7919. 0x05A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  7920. 0x064 LocalVar:Count <- 2
  7921. 0x06A LocalVar:Stage <- 1
  7922. 0x070SCRIPT END
  7923.  
  7924.  
  7925.  
  7926.  
  7927. 72 - [48] Devil Ride
  7928.  
  7929.  
  7930. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7931. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7932.  
  7933.  
  7934.  
  7935. MAIN:
  7936.  
  7937. 0x000 If (Not (Random MOD 2) )
  7938. 0x000 {
  7939. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7940. 0x010 Perform("Wheelie"[01AC], EnemyAttack)
  7941. 0x016 }
  7942. 0x016 Else
  7943. 0x016 {
  7944. 0x019 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  7945. 0x020 Perform("Drift Turn"[01AD], EnemyAttack)
  7946. 0x026SCRIPT END
  7947.  
  7948.  
  7949.  
  7950.  
  7951. 73 - [49] Custom Sweeper
  7952.  
  7953.  
  7954. BattleAddr(&2070) = BattleAddr(&TarSelected)
  7955. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  7956.  
  7957. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  7958.  
  7959.  
  7960.  
  7961. MAIN:
  7962.  
  7963. 0x000 If (Random MOD 4 == 0)
  7964. 0x000 {
  7965. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7966. 0x011 Perform("Matra Magic"[0052], EnemyAttack)
  7967. 0x016 }
  7968. 0x016 Else
  7969. 0x016 {
  7970. 0x019 }
  7971. 0x019 Else
  7972. 0x019 {
  7973. 0x01C If (Random MOD 4 == 1)
  7974. 0x01C {
  7975. 0x021 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  7976. 0x021 {
  7977. 0x02E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  7978. 0x03D Perform("Smoke Shot"[0119], EnemyAttack)
  7979. 0x043 }
  7980. 0x043 Else
  7981. 0x043 {
  7982. 0x046 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7983. 0x04E Perform("W Machine Gun"[0118], EnemyAttack)
  7984. 0x054 }
  7985. 0x054 Else
  7986. 0x054 {
  7987. 0x057 }
  7988. 0x057 Else
  7989. 0x057 {
  7990. 0x05A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  7991. 0x062 Perform("W Machine Gun"[0118], EnemyAttack)
  7992. 0x068 }
  7993. 0x068 Else
  7994. 0x068 {
  7995. 0x06BPOP(Random MOD 4)
  7996. 0x06CSCRIPT END
  7997.  
  7998.  
  7999.  
  8000.  
  8001. 74 - [4A] Kalm Fang
  8002.  
  8003.  
  8004. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8005. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8006.  
  8007.  
  8008.  
  8009. MAIN:
  8010.  
  8011. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8012. 0x008 If (Not (Random MOD 4) )
  8013. 0x008 {
  8014. 0x010 Perform("Bodyblow"[0172], EnemyAttack)
  8015. 0x016 }
  8016. 0x016 Else
  8017. 0x016 {
  8018. 0x019 Perform("Fang"[0189], EnemyAttack)
  8019. 0x01FSCRIPT END
  8020.  
  8021.  
  8022.  
  8023.  
  8024. 75 - [4B] Prowler
  8025.  
  8026.  
  8027. LocalVar:0000 = LocalVar:Count
  8028. LocalVar:0020 = LocalVar:TarSelected
  8029.  
  8030. BattleAddr(&2060) = BattleAddr(&Self)
  8031. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8032. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8033.  
  8034. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  8035. BattleAddr(&4020) = BattleAddr(&SelfActive)
  8036. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  8037. BattleAddr(&4023) = BattleAddr(&Targetable)
  8038. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  8039. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  8040.  
  8041.  
  8042.  
  8043. PRE-BATTLE:
  8044.  
  8045. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  8046. 0x008SCRIPT END
  8047.  
  8048.  
  8049. MAIN:
  8050.  
  8051. 0x000 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  8052. 0x000 {
  8053. 0x00D BattleAddr(&TarSelected) <- LocalVar:TarSelected
  8054. 0x014 }
  8055. 0x014 Else
  8056. 0x014 {
  8057. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8058. 0x01F If (LocalVar:Count == 0)
  8059. 0x01F {
  8060. 0x027 If (Random MOD 4 == 0)
  8061. 0x027 {
  8062. 0x030 LocalVar:Count <- 1
  8063. 0x036 }
  8064. 0x036 Else
  8065. 0x036 {
  8066. 0x039 }
  8067. 0x039 Else
  8068. 0x039 {
  8069. 0x03C If (Random MOD 4 == 1)
  8070. 0x03C {
  8071. 0x041 LocalVar:Count <- 2
  8072. 0x047 }
  8073. 0x047 Else
  8074. 0x047 {
  8075. 0x04A }
  8076. 0x04A Else
  8077. 0x04A {
  8078. 0x04D LocalVar:Count <- 3
  8079. 0x053 }
  8080. 0x053 Else
  8081. 0x053 {
  8082. 0x056 POP(Random MOD 4)
  8083. 0x057 }
  8084. 0x057 Else
  8085. 0x057 {
  8086. 0x05A }
  8087. 0x05A Else
  8088. 0x05A {
  8089. 0x05D If (LocalVar:Count == 1)
  8090. 0x05D {
  8091. 0x062 Perform("Steal"[0135], EnemyAttack)
  8092. 0x068 If (Not (Random MOD 2) )
  8093. 0x068 {
  8094. 0x070 LocalVar:Count <- 4
  8095. 0x076 }
  8096. 0x076 Else
  8097. 0x076 {
  8098. 0x079 LocalVar:Count <- 5
  8099. 0x07F }
  8100. 0x07F Else
  8101. 0x07F {
  8102. 0x082 }
  8103. 0x082 Else
  8104. 0x082 {
  8105. 0x085 If (LocalVar:Count == 2)
  8106. 0x085 {
  8107. 0x08A Perform("Grind"[0136], EnemyAttack)
  8108. 0x090 If (Not (Random MOD 2) )
  8109. 0x090 {
  8110. 0x098 LocalVar:Count <- 4
  8111. 0x09E }
  8112. 0x09E Else
  8113. 0x09E {
  8114. 0x0A1 LocalVar:Count <- 5
  8115. 0x0A7 }
  8116. 0x0A7 Else
  8117. 0x0A7 {
  8118. 0x0AA }
  8119. 0x0AA Else
  8120. 0x0AA {
  8121. 0x0AD If (LocalVar:Count == 3)
  8122. 0x0AD {
  8123. 0x0B2 Perform("Seize"[0137], EnemyAttack)
  8124. 0x0B8 If (Not (Random MOD 2) )
  8125. 0x0B8 {
  8126. 0x0C0 LocalVar:Count <- 4
  8127. 0x0C6 }
  8128. 0x0C6 Else
  8129. 0x0C6 {
  8130. 0x0C9 LocalVar:Count <- 5
  8131. 0x0CF }
  8132. 0x0CF Else
  8133. 0x0CF {
  8134. 0x0D2 }
  8135. 0x0D2 Else
  8136. 0x0D2 {
  8137. 0x0D5 If (LocalVar:Count == 4)
  8138. 0x0D5 {
  8139. 0x0DA LocalVar:Count <- 5
  8140. 0x0E0 }
  8141. 0x0E0 Else
  8142. 0x0E0 {
  8143. 0x0E3 }
  8144. 0x0E3 Else
  8145. 0x0E3 {
  8146. 0x0E6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  8147. 0x0ED Perform("Escape"[0138], EnemyAttack)
  8148. 0x0F3 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  8149. 0x0FD BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  8150. 0x107 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  8151. 0x111 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  8152. 0x11BPOP(LocalVar:Count)
  8153. 0x11CSCRIPT END
  8154.  
  8155.  
  8156. GENERAL COUNTER:
  8157.  
  8158. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  8159. 0x00BSCRIPT END
  8160.  
  8161.  
  8162.  
  8163.  
  8164. 76 - [4C] Elfadunk
  8165.  
  8166.  
  8167. LocalVar:0000 = LocalVar:BackAttack
  8168. LocalVar:0020 = LocalVar:ChocID
  8169. LocalVar:0040 = LocalVar:ChocPresent
  8170.  
  8171. GlobalVar(0054) = GlobalVar(CaughtChoc)
  8172.  
  8173. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  8174. BattleAddr(&2020) = BattleAddr(&BattleType)
  8175. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  8176. BattleAddr(&2060) = BattleAddr(&Self)
  8177. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8178. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  8179. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8180.  
  8181. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  8182. BattleAddr(&4023) = BattleAddr(&Targetable)
  8183. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  8184. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  8185. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  8186.  
  8187.  
  8188.  
  8189. PRE-BATTLE:
  8190.  
  8191. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  8192. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  8193. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  8194. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  8195. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  8196. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  8197. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  8198. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  8199. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  8200. 0x0A7 If (LocalVar:ChocID)
  8201. 0x0A7 {
  8202. 0x0AD LocalVar:ChocPresent <- 1
  8203. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  8204. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  8205. 0x0BE Display String: "A Chocobo!"
  8206. 0x0CA If ( (BattleAddr(&BattleType) == 2) )
  8207. 0x0CA {
  8208. 0x0D3 LocalVar:BackAttack <- 1
  8209. 0x0D9SCRIPT END
  8210.  
  8211.  
  8212. MAIN:
  8213.  
  8214. 0x000 If (Not (BattleAddr(&Self).BattleAddr(&LastPhysAttacker)) )
  8215. 0x000 {
  8216. 0x00B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8217. 0x013 If (Not (Random MOD 2) )
  8218. 0x013 {
  8219. 0x01B Perform("Shower"[01AE], EnemyAttack)
  8220. 0x021 }
  8221. 0x021 Else
  8222. 0x021 {
  8223. 0x024 Perform("Bodyblow"[0172], EnemyAttack)
  8224. 0x02A }
  8225. 0x02A Else
  8226. 0x02A {
  8227. 0x02D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  8228. 0x038 If (Random MOD 4 == 0)
  8229. 0x038 {
  8230. 0x041 Perform("Shower"[01AE], EnemyAttack)
  8231. 0x047 }
  8232. 0x047 Else
  8233. 0x047 {
  8234. 0x04A }
  8235. 0x04A Else
  8236. 0x04A {
  8237. 0x04D Perform("Bodyblow"[0172], EnemyAttack)
  8238. 0x053 }
  8239. 0x053 Else
  8240. 0x053 {
  8241. 0x056 POP(Random MOD 4)
  8242. 0x057 BattleAddr(&Self).BattleAddr(&LastPhysAttacker) <- BattleAddr(&NoTarSelected)
  8243. 0x062SCRIPT END
  8244.  
  8245.  
  8246. DEATH COUNTER:
  8247.  
  8248. 0x000 If ( (LocalVar:ChocPresent == 1) )
  8249. 0x000 {
  8250. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  8251. 0x009 {
  8252. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  8253. 0x013 {
  8254. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  8255. 0x035 Display String: "Caught a Chocobo."
  8256. 0x048 BattleAddr(&MemBank1/2) <- 1
  8257. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  8258. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  8259. 0x05DSCRIPT END
  8260.  
  8261.  
  8262.  
  8263.  
  8264. 77 - [4D] Mu
  8265.  
  8266.  
  8267. LocalVar:0000 = LocalVar:MuBase
  8268.  
  8269. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  8270. BattleAddr(&2060) = BattleAddr(&Self)
  8271. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8272. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8273.  
  8274. BattleAddr(&4020) = BattleAddr(&SelfActive)
  8275. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  8276. BattleAddr(&4023) = BattleAddr(&Targetable)
  8277. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  8278. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  8279. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  8280.  
  8281.  
  8282.  
  8283. PRE-BATTLE:
  8284.  
  8285. 0x000LocalVar:MuBase <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  8286. 0x014LocalVar:MuBase <- (LocalVar:MuBase.BattleAddr(&IndexOfActor) == 78)
  8287. 0x022SCRIPT END
  8288.  
  8289.  
  8290. MAIN:
  8291.  
  8292. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8293. 0x008 If (Random MOD 14 == 0)
  8294. 0x008 {
  8295. 0x011 Perform("Hot Springs"[01B3], EnemyAttack)
  8296. 0x017 }
  8297. 0x017 Else
  8298. 0x017 {
  8299. 0x01A }
  8300. 0x01A Else
  8301. 0x01A {
  8302. 0x01D If (Random MOD 14 == 1)
  8303. 0x01D {
  8304. 0x022 }
  8305. 0x022 Else
  8306. 0x022 {
  8307. 0x025 If (Random MOD 14 == 2)
  8308. 0x025 {
  8309. 0x02A }
  8310. 0x02A Else
  8311. 0x02A {
  8312. 0x02D If (Random MOD 14 == 3)
  8313. 0x02D {
  8314. 0x032 }
  8315. 0x032 Else
  8316. 0x032 {
  8317. 0x035 If (Random MOD 14 == 4)
  8318. 0x035 {
  8319. 0x03A Perform("Rock Toss"[01AF], EnemyAttack)
  8320. 0x040 }
  8321. 0x040 Else
  8322. 0x040 {
  8323. 0x043 }
  8324. 0x043 Else
  8325. 0x043 {
  8326. 0x046 If (Random MOD 14 == 5)
  8327. 0x046 {
  8328. 0x04B }
  8329. 0x04B Else
  8330. 0x04B {
  8331. 0x04E If (Random MOD 14 == 6)
  8332. 0x04E {
  8333. 0x053 }
  8334. 0x053 Else
  8335. 0x053 {
  8336. 0x056 If (Random MOD 14 == 7)
  8337. 0x056 {
  8338. 0x05B }
  8339. 0x05B Else
  8340. 0x05B {
  8341. 0x05E If (Random MOD 14 == 8)
  8342. 0x05E {
  8343. 0x063 Perform("Sewer"[01B0], EnemyAttack)
  8344. 0x069 }
  8345. 0x069 Else
  8346. 0x069 {
  8347. 0x06C }
  8348. 0x06C Else
  8349. 0x06C {
  8350. 0x06F If (Random MOD 14 == 9)
  8351. 0x06F {
  8352. 0x074 }
  8353. 0x074 Else
  8354. 0x074 {
  8355. 0x077 If (Random MOD 14 == 10)
  8356. 0x077 {
  8357. 0x07C }
  8358. 0x07C Else
  8359. 0x07C {
  8360. 0x07F If (Random MOD 14 == 11)
  8361. 0x07F {
  8362. 0x084 }
  8363. 0x084 Else
  8364. 0x084 {
  8365. 0x087 If (Random MOD 14 == 12)
  8366. 0x087 {
  8367. 0x08C Perform("Sinking"[01B1], EnemyAttack)
  8368. 0x092 }
  8369. 0x092 Else
  8370. 0x092 {
  8371. 0x095 }
  8372. 0x095 Else
  8373. 0x095 {
  8374. 0x098 Perform("L4 Suicide"[0049], EnemyAttack)
  8375. 0x09D }
  8376. 0x09D Else
  8377. 0x09D {
  8378. 0x0A0POP(Random MOD 14)
  8379. 0x0A1SCRIPT END
  8380.  
  8381.  
  8382. DEATH COUNTER:
  8383.  
  8384. 0x000LocalVar:MuBase.BattleAddr(&SelfActive) <- 0
  8385. 0x00ALocalVar:MuBase.BattleAddr(&Targetable) <- 0
  8386. 0x014LocalVar:MuBase.BattleAddr(&Needed2EndBattle) <- 0
  8387. 0x01ELocalVar:MuBase.BattleAddr(&AIScriptActive) <- 0
  8388. 0x028SCRIPT END
  8389.  
  8390.  
  8391.  
  8392.  
  8393. 78 - [4E] [No Name]
  8394.  
  8395.  
  8396. MAIN:
  8397.  
  8398. 0x000: END
  8399.  
  8400.  
  8401.  
  8402.  
  8403. 79 - [4F] Mandragora
  8404.  
  8405.  
  8406. LocalVar:0000 = LocalVar:ChocID
  8407. LocalVar:0020 = LocalVar:ChocPresent
  8408.  
  8409. GlobalVar(0054) = GlobalVar(CaughtChoc)
  8410.  
  8411. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  8412. BattleAddr(&2060) = BattleAddr(&Self)
  8413. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8414. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  8415. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8416.  
  8417. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  8418. BattleAddr(&4023) = BattleAddr(&Targetable)
  8419. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  8420. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  8421. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  8422. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  8423. BattleAddr(&41E0) = BattleAddr(&CustomAtt)
  8424.  
  8425.  
  8426.  
  8427. PRE-BATTLE:
  8428.  
  8429. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  8430. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  8431. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  8432. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  8433. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  8434. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  8435. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  8436. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  8437. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  8438. 0x0A7 If (LocalVar:ChocID)
  8439. 0x0A7 {
  8440. 0x0AD LocalVar:ChocPresent <- 1
  8441. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  8442. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  8443. 0x0BE Display String: "A Chocobo!"
  8444. 0x0CASCRIPT END
  8445.  
  8446.  
  8447. MAIN:
  8448.  
  8449. 0x000 If (BattleAddr(&Self).BattleAddr(&CustomAtt) == 1)
  8450. 0x000 {
  8451. 0x00C Bad Code0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  8452. 0x019 Perform("Slow Dance"[01B5], EnemyAttack)
  8453. 0x01F BattleAddr(&Self).BattleAddr(&CustomAtt) <- 0
  8454. 0x029 }
  8455. 0x029 Else
  8456. 0x029 {
  8457. 0x02C }
  8458. 0x02C Else
  8459. 0x02C {
  8460. 0x02F If (BattleAddr(&Self).BattleAddr(&CustomAtt) == 2)
  8461. 0x02F {
  8462. 0x034 Bad Code0x03F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  8463. 0x041 Perform("Grass Punch"[01B4], EnemyAttack)
  8464. 0x047 BattleAddr(&Self).BattleAddr(&CustomAtt) <- 0
  8465. 0x051 }
  8466. 0x051 Else
  8467. 0x051 {
  8468. 0x054 }
  8469. 0x054 Else
  8470. 0x054 {
  8471. 0x057 }
  8472. 0x057 Else
  8473. 0x057 {
  8474. 0x05APOP(BattleAddr(&Self).BattleAddr(&CustomAtt))
  8475. 0x05BSCRIPT END
  8476.  
  8477. NOTE - 0x016 uses LMSK
  8478. - 0x03E uses LMSK
  8479.  
  8480.  
  8481. PHSYICAL COUNTER:
  8482.  
  8483. 0x000BattleAddr(&AllEnemies).BattleAddr(&CustomAtt) <- 1
  8484. 0x00ASCRIPT END
  8485.  
  8486.  
  8487. MAGIC COUNTER:
  8488.  
  8489. 0x000BattleAddr(&AllEnemies).BattleAddr(&CustomAtt) <- 2
  8490. 0x00ASCRIPT END
  8491.  
  8492.  
  8493. DEATH COUNTER:
  8494.  
  8495. 0x000 If ( (LocalVar:ChocPresent == 1) )
  8496. 0x000 {
  8497. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  8498. 0x009 {
  8499. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  8500. 0x013 {
  8501. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  8502. 0x035 Display String: "Caught a Chocobo."
  8503. 0x048 BattleAddr(&MemBank1/2) <- 1
  8504. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  8505. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  8506. 0x05DSCRIPT END
  8507.  
  8508.  
  8509.  
  8510.  
  8511. 80 - [50] Levrikon
  8512.  
  8513.  
  8514. LocalVar:0000 = LocalVar:BackAttack
  8515. LocalVar:0020 = LocalVar:ChocID
  8516. LocalVar:0040 = LocalVar:ChocPresent
  8517.  
  8518. GlobalVar(0054) = GlobalVar(CaughtChoc)
  8519.  
  8520. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  8521. BattleAddr(&2020) = BattleAddr(&BattleType)
  8522. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8523. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  8524. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8525.  
  8526. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  8527. BattleAddr(&4023) = BattleAddr(&Targetable)
  8528. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  8529. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  8530.  
  8531.  
  8532.  
  8533. PRE-BATTLE:
  8534.  
  8535. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  8536. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  8537. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  8538. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  8539. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  8540. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  8541. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  8542. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  8543. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  8544. 0x0A7 If (LocalVar:ChocID)
  8545. 0x0A7 {
  8546. 0x0AD LocalVar:ChocPresent <- 1
  8547. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  8548. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  8549. 0x0BE Display String: "A Chocobo!"
  8550. 0x0CA If ( (BattleAddr(&BattleType) == 2) )
  8551. 0x0CA {
  8552. 0x0D3 LocalVar:BackAttack <- 1
  8553. 0x0D9SCRIPT END
  8554.  
  8555.  
  8556. MAIN:
  8557.  
  8558. 0x000 If (Not (LocalVar:BackAttack) )
  8559. 0x000 {
  8560. 0x007 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8561. 0x00F If (Random MOD 4 == 0)
  8562. 0x00F {
  8563. 0x018 Perform("Flaming Peck"[01B7], EnemyAttack)
  8564. 0x01E }
  8565. 0x01E Else
  8566. 0x01E {
  8567. 0x021 }
  8568. 0x021 Else
  8569. 0x021 {
  8570. 0x024 Perform("Bird Kick"[01B6], EnemyAttack)
  8571. 0x02A }
  8572. 0x02A Else
  8573. 0x02A {
  8574. 0x02D POP(Random MOD 4)
  8575. 0x02E }
  8576. 0x02E Else
  8577. 0x02E {
  8578. 0x031 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8579. 0x039 If (Random MOD 4 == 0)
  8580. 0x039 {
  8581. 0x042 Perform("Bird Kick"[01B6], EnemyAttack)
  8582. 0x048 }
  8583. 0x048 Else
  8584. 0x048 {
  8585. 0x04B }
  8586. 0x04B Else
  8587. 0x04B {
  8588. 0x04E Perform("Flaming Peck"[01B7], EnemyAttack)
  8589. 0x054 }
  8590. 0x054 Else
  8591. 0x054 {
  8592. 0x057 POP(Random MOD 4)
  8593. 0x058 LocalVar:BackAttack <- 0
  8594. 0x05ESCRIPT END
  8595.  
  8596.  
  8597. DEATH COUNTER:
  8598.  
  8599. 0x000 If ( (LocalVar:ChocPresent == 1) )
  8600. 0x000 {
  8601. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  8602. 0x009 {
  8603. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  8604. 0x013 {
  8605. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  8606. 0x035 Display String: "Caught a Chocobo."
  8607. 0x048 BattleAddr(&MemBank1/2) <- 1
  8608. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  8609. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  8610. 0x05DSCRIPT END
  8611.  
  8612.  
  8613.  
  8614.  
  8615. 81 - [51] Midgar Zolom
  8616.  
  8617.  
  8618. LocalVar:0000 = LocalVar:Count
  8619. LocalVar:0020 = LocalVar:SpclChance
  8620. LocalVar:0040 = LocalVar:BlownAway
  8621.  
  8622. BattleAddr(&2060) = BattleAddr(&Self)
  8623. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8624. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8625.  
  8626. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  8627. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  8628. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  8629. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  8630. BattleAddr(&4180) = BattleAddr(&MaxHP)
  8631.  
  8632.  
  8633.  
  8634. PRE-BATTLE:
  8635.  
  8636. 0x000LocalVar:SpclChance <- 8
  8637. 0x006LocalVar:BlownAway <- 2
  8638. 0x00CSCRIPT END
  8639.  
  8640.  
  8641. MAIN:
  8642.  
  8643. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  8644. 0x000 {
  8645. 0x00D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8646. 0x015 Perform("Bite"[01B8], EnemyAttack)
  8647. 0x01B }
  8648. 0x01B Else
  8649. 0x01B {
  8650. 0x01E If (LocalVar:Count == 0)
  8651. 0x01E {
  8652. 0x026 }
  8653. 0x026 Else
  8654. 0x026 {
  8655. 0x029 If (LocalVar:Count == 1)
  8656. 0x029 {
  8657. 0x02E }
  8658. 0x02E Else
  8659. 0x02E {
  8660. 0x031 If (LocalVar:Count == 2)
  8661. 0x031 {
  8662. 0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8663. 0x03E Perform("Bite"[01B9], EnemyAttack)
  8664. 0x044 LocalVar:Count <- LocalVar:Count + 1
  8665. 0x04E }
  8666. 0x04E Else
  8667. 0x04E {
  8668. 0x051 }
  8669. 0x051 Else
  8670. 0x051 {
  8671. 0x054 If ( (Not (Random MOD LocalVar:SpclChance) And LocalVar:BlownAway) )
  8672. 0x054 {
  8673. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8674. 0x069 Perform("Blown Away"[01BA], EnemyAttack)
  8675. 0x06F LocalVar:BlownAway <- LocalVar:BlownAway - 1
  8676. 0x079 }
  8677. 0x079 Else
  8678. 0x079 {
  8679. 0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8680. 0x084 Perform("Bite"[01B9], EnemyAttack)
  8681. 0x08A LocalVar:Count <- Random MOD 2
  8682. 0x092 }
  8683. 0x092 Else
  8684. 0x092 {
  8685. 0x095 POP(LocalVar:Count)
  8686. 0x096SCRIPT END
  8687.  
  8688.  
  8689. GENERAL COUNTER:
  8690.  
  8691. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  8692. 0x000 {
  8693. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  8694. 0x017 }
  8695. 0x017 Else
  8696. 0x017 {
  8697. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  8698. 0x024 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8 * 3) And (LocalVar:SpclChance == 5) ) )
  8699. 0x024 {
  8700. 0x043 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  8701. 0x04A Perform("Beta"[0054], EnemyAttack)
  8702. 0x04F LocalVar:SpclChance <- 4
  8703. 0x055 }
  8704. 0x055 Else
  8705. 0x055 {
  8706. 0x058 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8 * 4) And (LocalVar:SpclChance == 6) ) )
  8707. 0x058 {
  8708. 0x077 If ( (LocalVar:BlownAway == 2) )
  8709. 0x077 {
  8710. 0x080 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  8711. 0x08B Perform("Blown Away"[01BA], EnemyAttack)
  8712. 0x091 LocalVar:BlownAway <- LocalVar:BlownAway - 1
  8713. 0x09B LocalVar:SpclChance <- 5
  8714. 0x0A1 }
  8715. 0x0A1 Else
  8716. 0x0A1 {
  8717. 0x0A4 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8 * 5) And (LocalVar:SpclChance == 7) ) )
  8718. 0x0A4 {
  8719. 0x0C3 LocalVar:SpclChance <- 6
  8720. 0x0C9 }
  8721. 0x0C9 Else
  8722. 0x0C9 {
  8723. 0x0CC If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8 * 6) And (LocalVar:SpclChance == 8) ) )
  8724. 0x0CC {
  8725. 0x0EB BattleAddr(&TarSelected) <- BattleAddr(&Self)
  8726. 0x0F2 Perform("Change"[0201], EnemyAttack)
  8727. 0x0F8 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 5
  8728. 0x102 LocalVar:SpclChance <- 7
  8729. 0x108SCRIPT END
  8730.  
  8731.  
  8732.  
  8733.  
  8734. 82 - [52] Madouge
  8735.  
  8736.  
  8737. BattleAddr(&2060) = BattleAddr(&Self)
  8738. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8739. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8740.  
  8741. BattleAddr(&4026) = BattleAddr(&BackRow)
  8742.  
  8743.  
  8744.  
  8745. MAIN:
  8746.  
  8747. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8748. 0x008 If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  8749. 0x008 {
  8750. 0x015 If (Not (Random MOD 4) )
  8751. 0x015 {
  8752. 0x01D Perform("Swamp Shoot"[01BC], EnemyAttack)
  8753. 0x023 }
  8754. 0x023 Else
  8755. 0x023 {
  8756. 0x026 Perform("Ironball"[01BB], EnemyAttack)
  8757. 0x02C }
  8758. 0x02C Else
  8759. 0x02C {
  8760. 0x02F If (Not (Random MOD 4) )
  8761. 0x02F {
  8762. 0x037 Perform("Ironball"[01BB], EnemyAttack)
  8763. 0x03D }
  8764. 0x03D Else
  8765. 0x03D {
  8766. 0x040 Perform("Swamp Shoot"[01BC], EnemyAttack)
  8767. 0x046SCRIPT END
  8768.  
  8769.  
  8770.  
  8771.  
  8772. 83 - [53] Crawler
  8773.  
  8774.  
  8775. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8776. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8777.  
  8778.  
  8779.  
  8780. MAIN:
  8781.  
  8782. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8783. 0x008 If (Not (Random MOD 2) )
  8784. 0x008 {
  8785. 0x010 Perform("Bite"[0112], EnemyAttack)
  8786. 0x016 }
  8787. 0x016 Else
  8788. 0x016 {
  8789. 0x019 Perform("Cold Breath"[01BD], EnemyAttack)
  8790. 0x01FSCRIPT END
  8791.  
  8792.  
  8793.  
  8794.  
  8795. 84 - [54] Ark Dragon
  8796.  
  8797.  
  8798. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8799. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8800.  
  8801. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  8802.  
  8803.  
  8804. MAIN:
  8805.  
  8806. 0x000 If (Not (Random MOD 4) )
  8807. 0x000 {
  8808. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8809. 0x010 Perform("Claw"[01BE], EnemyAttack)
  8810. 0x016 }
  8811. 0x016 Else
  8812. 0x016 {
  8813. 0x019 Bad Code0x024 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  8814. 0x026 Perform("Flame Thrower"[0050], EnemyAttack)
  8815. 0x02BSCRIPT END
  8816.  
  8817. NOTE - 0x023 uses HMSK
  8818.  
  8819.  
  8820.  
  8821.  
  8822. 85 - [55] Castanets
  8823.  
  8824.  
  8825. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8826. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8827.  
  8828.  
  8829.  
  8830. MAIN:
  8831.  
  8832. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8833. 0x008 If (Not (Random MOD 2) )
  8834. 0x008 {
  8835. 0x010 Perform("2-stage attack"[01BF], EnemyAttack)
  8836. 0x016 }
  8837. 0x016 Else
  8838. 0x016 {
  8839. 0x019 Perform("Scissor Spark"[01C0], EnemyAttack)
  8840. 0x01FSCRIPT END
  8841.  
  8842.  
  8843.  
  8844.  
  8845. 86 - [56] Zemzelett
  8846.  
  8847.  
  8848. LocalVar:0000 = LocalVar:OpenAttack1stForm
  8849. LocalVar:0020 = LocalVar:OpenAttack2ndForm
  8850. LocalVar:0040 = LocalVar:Evade
  8851. LocalVar:0060 = LocalVar:Def
  8852.  
  8853. BattleAddr(&2060) = BattleAddr(&Self)
  8854. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8855. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  8856. BattleAddr(&2120) = BattleAddr(&ElementsOfLastAction)
  8857.  
  8858. BattleAddr(&4078) = BattleAddr(&Evade)
  8859. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  8860. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  8861. BattleAddr(&4100) = BattleAddr(&Def)
  8862. BattleAddr(&4270) = BattleAddr(&Row)
  8863.  
  8864.  
  8865.  
  8866. PRE-BATTLE:
  8867.  
  8868. 0x000LocalVar:Evade <- BattleAddr(&Self).BattleAddr(&Evade)
  8869. 0x00BLocalVar:Def <- BattleAddr(&Self).BattleAddr(&Def)
  8870. 0x016SCRIPT END
  8871.  
  8872.  
  8873. MAIN:
  8874.  
  8875. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  8876. 0x000 {
  8877. 0x00D If (Not (LocalVar:OpenAttack1stForm) )
  8878. 0x00D {
  8879. 0x014 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8880. 0x01C Perform("Flap"[01C1], EnemyAttack)
  8881. 0x022 LocalVar:OpenAttack1stForm <- 1
  8882. 0x028 }
  8883. 0x028 Else
  8884. 0x028 {
  8885. 0x02B If (Random MOD 4 == 0)
  8886. 0x02B {
  8887. 0x034 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  8888. 0x03B Perform([011F], EnemyAttack)
  8889. 0x041 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  8890. 0x04B BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 10
  8891. 0x05D BattleAddr(&Self).BattleAddr(&Def) <- BattleAddr(&Self).BattleAddr(&Def) - 30
  8892. 0x06F BattleAddr(&Self).BattleAddr(&Row) <- 16
  8893. 0x079 LocalVar:OpenAttack2ndForm <- 0
  8894. 0x07F }
  8895. 0x07F Else
  8896. 0x07F {
  8897. 0x082 }
  8898. 0x082 Else
  8899. 0x082 {
  8900. 0x085 If (Random MOD 4 == 1)
  8901. 0x085 {
  8902. 0x08A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8903. 0x092 Perform("Thunderbolt"[01C2], EnemyAttack)
  8904. 0x098 }
  8905. 0x098 Else
  8906. 0x098 {
  8907. 0x09B }
  8908. 0x09B Else
  8909. 0x09B {
  8910. 0x09E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8911. 0x0A6 Perform("Flap"[01C1], EnemyAttack)
  8912. 0x0AC }
  8913. 0x0AC Else
  8914. 0x0AC {
  8915. 0x0AF POP(Random MOD 4)
  8916. 0x0B0 }
  8917. 0x0B0 Else
  8918. 0x0B0 {
  8919. 0x0B3 If (Not (LocalVar:OpenAttack2ndForm) )
  8920. 0x0B3 {
  8921. 0x0BA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8922. 0x0C2 Perform("Thunderbolt"[01C4], EnemyAttack)
  8923. 0x0C8 LocalVar:OpenAttack2ndForm <- 1
  8924. 0x0CE }
  8925. 0x0CE Else
  8926. 0x0CE {
  8927. 0x0D1 If (Random MOD 4 == 0)
  8928. 0x0D1 {
  8929. 0x0DA BattleAddr(&TarSelected) <- BattleAddr(&Self)
  8930. 0x0E1 Perform([0120], EnemyAttack)
  8931. 0x0E7 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  8932. 0x0F1 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:Evade
  8933. 0x0FC BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:Def
  8934. 0x107 BattleAddr(&Self).BattleAddr(&Row) <- 1
  8935. 0x111 LocalVar:OpenAttack1stForm <- 0
  8936. 0x117 }
  8937. 0x117 Else
  8938. 0x117 {
  8939. 0x11A }
  8940. 0x11A Else
  8941. 0x11A {
  8942. 0x11D If (Random MOD 4 == 1)
  8943. 0x11D {
  8944. 0x122 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8945. 0x12A Perform("Thunderbolt"[01C4], EnemyAttack)
  8946. 0x130 }
  8947. 0x130 Else
  8948. 0x130 {
  8949. 0x133 }
  8950. 0x133 Else
  8951. 0x133 {
  8952. 0x136 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  8953. 0x13E Perform("Flap"[01C3], EnemyAttack)
  8954. 0x144 }
  8955. 0x144 Else
  8956. 0x144 {
  8957. 0x147 POP(Random MOD 4)
  8958. 0x148SCRIPT END
  8959.  
  8960.  
  8961. GENERAL COUNTER:
  8962.  
  8963. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  8964. 0x000 {
  8965. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  8966. 0x017 }
  8967. 0x017 Else
  8968. 0x017 {
  8969. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  8970. 0x024 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  8971. 0x024 {
  8972. 0x031 If (BattleAddr(&ElementsOfLastAction) AND 3)
  8973. 0x031 {
  8974. 0x03A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  8975. 0x041 Perform([011F], EnemyAttack)
  8976. 0x047 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  8977. 0x051 BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 10
  8978. 0x063 BattleAddr(&Self).BattleAddr(&Def) <- BattleAddr(&Self).BattleAddr(&Def) - 30
  8979. 0x075 BattleAddr(&Self).BattleAddr(&Row) <- 16
  8980. 0x07F LocalVar:OpenAttack2ndForm <- 0
  8981. 0x085SCRIPT END
  8982.  
  8983.  
  8984.  
  8985.  
  8986. 87 - [57] Nerosuferoth
  8987.  
  8988.  
  8989. LocalVar:0000 = LocalVar:OpenAttack
  8990. LocalVar:0020 = LocalVar:ChocID
  8991. LocalVar:0040 = LocalVar:ChocPresent
  8992.  
  8993. GlobalVar(0054) = GlobalVar(CaughtChoc)
  8994.  
  8995. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  8996. BattleAddr(&2060) = BattleAddr(&Self)
  8997. BattleAddr(&2070) = BattleAddr(&TarSelected)
  8998. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  8999. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9000.  
  9001. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  9002. BattleAddr(&4023) = BattleAddr(&Targetable)
  9003. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  9004. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  9005. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  9006. BattleAddr(&4180) = BattleAddr(&MaxHP)
  9007.  
  9008.  
  9009.  
  9010. PRE-BATTLE:
  9011.  
  9012. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  9013. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  9014. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  9015. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  9016. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  9017. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  9018. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  9019. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  9020. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  9021. 0x0A7 If (LocalVar:ChocID)
  9022. 0x0A7 {
  9023. 0x0AD LocalVar:ChocPresent <- 1
  9024. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  9025. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  9026. 0x0BE Display String: "A Chocobo!"
  9027. 0x0CASCRIPT END
  9028.  
  9029.  
  9030. MAIN:
  9031.  
  9032. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9033. 0x008 If (Not (LocalVar:OpenAttack) )
  9034. 0x008 {
  9035. 0x00F Perform("Beak"[01C5], EnemyAttack)
  9036. 0x015 LocalVar:OpenAttack <- 1
  9037. 0x01B }
  9038. 0x01B Else
  9039. 0x01B {
  9040. 0x01E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  9041. 0x01E {
  9042. 0x033 If (Not (Random MOD 4) )
  9043. 0x033 {
  9044. 0x03B Perform("Beak"[01C5], EnemyAttack)
  9045. 0x041 }
  9046. 0x041 Else
  9047. 0x041 {
  9048. 0x044 Perform("Heatwing"[01C6], EnemyAttack)
  9049. 0x04A }
  9050. 0x04A Else
  9051. 0x04A {
  9052. 0x04D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  9053. 0x04D {
  9054. 0x062 If (Random MOD 4 == 0)
  9055. 0x062 {
  9056. 0x06B }
  9057. 0x06B Else
  9058. 0x06B {
  9059. 0x06E If (Random MOD 4 == 1)
  9060. 0x06E {
  9061. 0x073 Perform("Beak"[01C5], EnemyAttack)
  9062. 0x079 }
  9063. 0x079 Else
  9064. 0x079 {
  9065. 0x07C }
  9066. 0x07C Else
  9067. 0x07C {
  9068. 0x07F Perform("Heatwing"[01C6], EnemyAttack)
  9069. 0x085 }
  9070. 0x085 Else
  9071. 0x085 {
  9072. 0x088 POP(Random MOD 4)
  9073. 0x089 }
  9074. 0x089 Else
  9075. 0x089 {
  9076. 0x08C If (Not (Random MOD 4) )
  9077. 0x08C {
  9078. 0x094 Perform("Heatwing"[01C6], EnemyAttack)
  9079. 0x09A }
  9080. 0x09A Else
  9081. 0x09A {
  9082. 0x09D Perform("Beak"[01C5], EnemyAttack)
  9083. 0x0A3SCRIPT END
  9084.  
  9085.  
  9086. DEATH COUNTER:
  9087.  
  9088. 0x000 If ( (LocalVar:ChocPresent == 1) )
  9089. 0x000 {
  9090. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  9091. 0x009 {
  9092. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  9093. 0x013 {
  9094. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  9095. 0x035 Display String: "Caught a Chocobo."
  9096. 0x048 BattleAddr(&MemBank1/2) <- 1
  9097. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  9098. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  9099. 0x05DSCRIPT END
  9100.  
  9101.  
  9102.  
  9103.  
  9104. 88 - [58] Hell Rider VR2
  9105.  
  9106.  
  9107. LocalVar:0000 = LocalVar:OpenAttack
  9108.  
  9109. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9110. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9111.  
  9112.  
  9113.  
  9114. MAIN:
  9115.  
  9116. 0x000 If (Not (LocalVar:OpenAttack) )
  9117. 0x000 {
  9118. 0x007 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  9119. 0x00E Perform("Electromag"[0366], EnemyAttack)
  9120. 0x014 LocalVar:OpenAttack <- 1
  9121. 0x01A }
  9122. 0x01A Else
  9123. 0x01A {
  9124. 0x01D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9125. 0x025 If (Not (Random MOD 2) )
  9126. 0x025 {
  9127. 0x02D Perform("Iron Mallet"[0284], EnemyAttack)
  9128. 0x033 }
  9129. 0x033 Else
  9130. 0x033 {
  9131. 0x036 Perform("Ballistic"[0285], EnemyAttack)
  9132. 0x03CSCRIPT END
  9133.  
  9134.  
  9135.  
  9136.  
  9137. 89 - [59] Formula
  9138.  
  9139.  
  9140. LocalVar:0000 = LocalVar:Count
  9141. LocalVar:0020 = LocalVar:Stage
  9142.  
  9143. BattleAddr(&2060) = BattleAddr(&Self)
  9144. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9145. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9146.  
  9147. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  9148. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  9149. BattleAddr(&4180) = BattleAddr(&MaxHP)
  9150.  
  9151.  
  9152.  
  9153. PRE-BATTLE:
  9154.  
  9155. 0x000LocalVar:Count <- Random MOD 4
  9156. 0x008LocalVar:Stage <- 0
  9157. 0x00ESCRIPT END
  9158.  
  9159.  
  9160. MAIN:
  9161.  
  9162. 0x000 If (LocalVar:Count == 0)
  9163. 0x000 {
  9164. 0x008 }
  9165. 0x008 Else
  9166. 0x008 {
  9167. 0x00B If (LocalVar:Count == 1)
  9168. 0x00B {
  9169. 0x010 }
  9170. 0x010 Else
  9171. 0x010 {
  9172. 0x013 If (LocalVar:Count == 2)
  9173. 0x013 {
  9174. 0x018 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Air Bomber [01C8])) )
  9175. 0x018 {
  9176. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9177. 0x02F Perform("Air Bomber"[01C8], EnemyAttack)
  9178. 0x035 LocalVar:Count <- LocalVar:Count + 1
  9179. 0x03F }
  9180. 0x03F Else
  9181. 0x03F {
  9182. 0x042 }
  9183. 0x042 Else
  9184. 0x042 {
  9185. 0x045 If ( (LocalVar:Stage And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cross Impulse [01CA])) ) )
  9186. 0x045 {
  9187. 0x058 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  9188. 0x05F Perform("Cross Impulse"[01CA], EnemyAttack)
  9189. 0x065 }
  9190. 0x065 Else
  9191. 0x065 {
  9192. 0x068 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Blue Impulse [01C9])) )
  9193. 0x068 {
  9194. 0x077 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  9195. 0x07E Perform("Blue Impulse"[01C9], EnemyAttack)
  9196. 0x084 }
  9197. 0x084 Else
  9198. 0x084 {
  9199. 0x087 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Air Bomber [01C8])) )
  9200. 0x087 {
  9201. 0x096 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9202. 0x09E Perform("Air Bomber"[01C8], EnemyAttack)
  9203. 0x0A4 LocalVar:Count <- Random MOD 3
  9204. 0x0AC }
  9205. 0x0AC Else
  9206. 0x0AC {
  9207. 0x0AFPOP(LocalVar:Count)
  9208. 0x0B0SCRIPT END
  9209.  
  9210.  
  9211. GENERAL COUNTER:
  9212.  
  9213. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 3) )
  9214. 0x000 {
  9215. 0x018 LocalVar:Stage <- 1
  9216. 0x01E }
  9217. 0x01E Else
  9218. 0x01E {
  9219. 0x021 LocalVar:Stage <- 0
  9220. 0x027SCRIPT END
  9221.  
  9222.  
  9223.  
  9224.  
  9225. 90 - [5A] Capparwire
  9226.  
  9227.  
  9228. LocalVar:0000 = LocalVar:ChocID
  9229. LocalVar:0020 = LocalVar:ChocPresent
  9230.  
  9231. GlobalVar(0054) = GlobalVar(CaughtChoc)
  9232.  
  9233. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  9234. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9235. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  9236. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9237.  
  9238. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  9239. BattleAddr(&4023) = BattleAddr(&Targetable)
  9240. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  9241. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  9242.  
  9243.  
  9244.  
  9245. PRE-BATTLE:
  9246.  
  9247. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  9248. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  9249. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  9250. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  9251. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  9252. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  9253. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  9254. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  9255. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  9256. 0x0A7 If (LocalVar:ChocID)
  9257. 0x0A7 {
  9258. 0x0AD LocalVar:ChocPresent <- 1
  9259. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  9260. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  9261. 0x0BE Display String: "A Chocobo!"
  9262. 0x0CASCRIPT END
  9263.  
  9264.  
  9265. MAIN:
  9266.  
  9267. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9268. 0x008 If (Not (Random MOD 2) )
  9269. 0x008 {
  9270. 0x010 Perform("Wire Attack"[01CC], EnemyAttack)
  9271. 0x016 }
  9272. 0x016 Else
  9273. 0x016 {
  9274. 0x019 Perform("Grand Spark"[01CD], EnemyAttack)
  9275. 0x01FSCRIPT END
  9276.  
  9277.  
  9278. DEATH COUNTER:
  9279.  
  9280. 0x000 If ( (LocalVar:ChocPresent == 1) )
  9281. 0x000 {
  9282. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  9283. 0x009 {
  9284. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  9285. 0x013 {
  9286. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  9287. 0x035 Display String: "Caught a Chocobo."
  9288. 0x048 BattleAddr(&MemBank1/2) <- 1
  9289. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  9290. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  9291. 0x05DSCRIPT END
  9292.  
  9293.  
  9294.  
  9295.  
  9296. 91 - [5B] Bottomswell
  9297.  
  9298.  
  9299. LocalVar:0000 = LocalVar:Count
  9300. LocalVar:0020 = LocalVar:Stage
  9301. LocalVar:0040 = LocalVar:HitCount
  9302. LocalVar:0060 = LocalVar:1stChr
  9303. LocalVar:0080 = LocalVar:2ndChr
  9304. LocalVar:00A0 = LocalVar:3rdChr
  9305. LocalVar:00C0 = LocalVar:EnemyGrp
  9306. LocalVar:00E0 = LocalVar:PlayerImprisoned
  9307. LocalVar:0100 = LocalVar:PlayerDeath
  9308. LocalVar:0120 = LocalVar:Waterpolo
  9309. LocalVar:0140 = LocalVar:1stChrWaterpolo
  9310. LocalVar:0160 = LocalVar:2ndChrWaterpolo
  9311. LocalVar:0180 = LocalVar:3rdChrWaterpolo
  9312. LocalVar:01A0 = LocalVar:TarSelected
  9313.  
  9314. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  9315. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  9316. BattleAddr(&2060) = BattleAddr(&Self)
  9317. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9318. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9319.  
  9320. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  9321. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  9322. BattleAddr(&4020) = BattleAddr(&SelfActive)
  9323. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  9324. BattleAddr(&4023) = BattleAddr(&Targetable)
  9325. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  9326. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  9327. BattleAddr(&402C) = BattleAddr(&DeathImmunity
  9328. BattleAddr(&4060) = BattleAddr(&GrpFormID))
  9329. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  9330. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  9331. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  9332. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  9333. BattleAddr(&4180) = BattleAddr(&MaxHP)
  9334. BattleAddr(&4270) = BattleAddr(&Row)
  9335.  
  9336.  
  9337.  
  9338. PRE-BATTLE:
  9339.  
  9340. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  9341. 0x00ALocalVar:1stChr <- FlagBit(0)
  9342. 0x011LocalVar:2ndChr <- FlagBit(1)
  9343. 0x018LocalVar:3rdChr <- FlagBit(2)
  9344. 0x01FLocalVar:Waterpolo <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 92)
  9345. 0x02DLocalVar:1stChrWaterpolo <- (LocalVar:Waterpolo.BattleAddr(&GrpFormID) == 0)
  9346. 0x03BLocalVar:2ndChrWaterpolo <- (LocalVar:Waterpolo.BattleAddr(&GrpFormID) == 1)
  9347. 0x049LocalVar:3rdChrWaterpolo <- (LocalVar:Waterpolo.BattleAddr(&GrpFormID) == 2)
  9348. 0x057LocalVar:HitCount <- 6
  9349. 0x05DBattleAddr(&Self).BattleAddr(&Row) <- 16
  9350. 0x067SCRIPT END
  9351.  
  9352.  
  9353. MAIN:
  9354.  
  9355. 0x000 If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0)
  9356. 0x000 {
  9357. 0x00C If (LocalVar:Count == 0)
  9358. 0x00C {
  9359. 0x014 }
  9360. 0x014 Else
  9361. 0x014 {
  9362. 0x017 If (LocalVar:Count == 1)
  9363. 0x017 {
  9364. 0x01C }
  9365. 0x01C Else
  9366. 0x01C {
  9367. 0x01F If (LocalVar:Count == 2)
  9368. 0x01F {
  9369. 0x024 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9370. 0x02C Perform("Tail Attack"[0142], EnemyAttack)
  9371. 0x032 LocalVar:Count <- LocalVar:Count + 1
  9372. 0x03C }
  9373. 0x03C Else
  9374. 0x03C {
  9375. 0x03F }
  9376. 0x03F Else
  9377. 0x03F {
  9378. 0x042 If (Not (Random MOD 3) )
  9379. 0x042 {
  9380. 0x04A If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  9381. 0x04A {
  9382. 0x057 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  9383. 0x05E Perform("Tail Attack"[0142], EnemyAttack)
  9384. 0x064 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  9385. 0x064 {
  9386. 0x071 BattleAddr(&TarSelected) <- LocalVar:1stChr
  9387. 0x078 Perform("Tail Attack"[0142], EnemyAttack)
  9388. 0x07E If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  9389. 0x07E {
  9390. 0x08B BattleAddr(&TarSelected) <- LocalVar:3rdChr
  9391. 0x092 Perform("Tail Attack"[0142], EnemyAttack)
  9392. 0x098 }
  9393. 0x098 Else
  9394. 0x098 {
  9395. 0x09B Bad Code0x0A6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  9396. 0x0A8 Perform("Bodyblow"[012D], EnemyAttack)
  9397. 0x0AE LocalVar:Count <- 0
  9398. 0x0B4 }
  9399. 0x0B4 Else
  9400. 0x0B4 {
  9401. 0x0B7 POP(LocalVar:Count)
  9402. 0x0B8 }
  9403. 0x0B8 Else
  9404. 0x0B8 {
  9405. 0x0BB }
  9406. 0x0BB Else
  9407. 0x0BB {
  9408. 0x0BE If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 6)
  9409. 0x0BE {
  9410. 0x0C3 If (LocalVar:Count == 0)
  9411. 0x0C3 {
  9412. 0x0CB If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  9413. 0x0CB {
  9414. 0x0D8 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  9415. 0x0DF Perform("Moonstrike"[01CE], EnemyAttack)
  9416. 0x0E5 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  9417. 0x0E5 {
  9418. 0x0F2 BattleAddr(&TarSelected) <- LocalVar:1stChr
  9419. 0x0F9 Perform("Moonstrike"[01CE], EnemyAttack)
  9420. 0x0FF If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  9421. 0x0FF {
  9422. 0x10C BattleAddr(&TarSelected) <- LocalVar:3rdChr
  9423. 0x113 Perform("Moonstrike"[01CE], EnemyAttack)
  9424. 0x119 LocalVar:Count <- 1
  9425. 0x11F }
  9426. 0x11F Else
  9427. 0x11F {
  9428. 0x122 }
  9429. 0x122 Else
  9430. 0x122 {
  9431. 0x125 If (LocalVar:Count == 1)
  9432. 0x125 {
  9433. 0x12A Bad Code0x135 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  9434. 0x137 Perform("Bodyblow"[01A9], EnemyAttack)
  9435. 0x13D LocalVar:Count <- 2
  9436. 0x143 }
  9437. 0x143 Else
  9438. 0x143 {
  9439. 0x146 }
  9440. 0x146 Else
  9441. 0x146 {
  9442. 0x149 If (LocalVar:Count == 2)
  9443. 0x149 {
  9444. 0x14E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9445. 0x156 Perform("Moonstrike"[01CE], EnemyAttack)
  9446. 0x15C LocalVar:Count <- 3
  9447. 0x162 }
  9448. 0x162 Else
  9449. 0x162 {
  9450. 0x165 }
  9451. 0x165 Else
  9452. 0x165 {
  9453. 0x168 If ( (LocalVar:Stage < 1) )
  9454. 0x168 {
  9455. 0x171 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9456. 0x178 Perform("Fury Blast"[01D0], EnemyAttack)
  9457. 0x17E BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  9458. 0x188 LocalVar:Count <- 0
  9459. 0x18E LocalVar:HitCount <- 6
  9460. 0x194 }
  9461. 0x194 Else
  9462. 0x194 {
  9463. 0x197 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9464. 0x19F Perform("Moonstrike"[01CE], EnemyAttack)
  9465. 0x1A5 If (Not (Random MOD 2) )
  9466. 0x1A5 {
  9467. 0x1AD LocalVar:Count <- 0
  9468. 0x1B3 }
  9469. 0x1B3 Else
  9470. 0x1B3 {
  9471. 0x1B6 LocalVar:Count <- 1
  9472. 0x1BC }
  9473. 0x1BC Else
  9474. 0x1BC {
  9475. 0x1BF POP(LocalVar:Count)
  9476. 0x1C0 }
  9477. 0x1C0 Else
  9478. 0x1C0 {
  9479. 0x1C3 }
  9480. 0x1C3 Else
  9481. 0x1C3 {
  9482. 0x1C6 If (LocalVar:Count == 0)
  9483. 0x1C6 {
  9484. 0x1CE LocalVar:EnemyGrp <- 0
  9485. 0x1D4 If ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:1stChr.BattleAddr(&ImprisonedStatus) == 0) ) )
  9486. 0x1D4 {
  9487. 0x1EC LocalVar:EnemyGrp <- LocalVar:EnemyGrp OR 1
  9488. 0x1F6 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:2ndChr.BattleAddr(&ImprisonedStatus) == 0) ) )
  9489. 0x1F6 {
  9490. 0x20E LocalVar:EnemyGrp <- LocalVar:EnemyGrp OR 2
  9491. 0x218 If ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:3rdChr.BattleAddr(&ImprisonedStatus) == 0) ) )
  9492. 0x218 {
  9493. 0x230 LocalVar:EnemyGrp <- LocalVar:EnemyGrp OR 4
  9494. 0x23A If ( (LocalVar:EnemyGrp AND 7 == 7) )
  9495. 0x23A {
  9496. 0x246 If (Random MOD 3 == 0)
  9497. 0x246 {
  9498. 0x24F LocalVar:TarSelected <- LocalVar:1stChr
  9499. 0x256 }
  9500. 0x256 Else
  9501. 0x256 {
  9502. 0x259 }
  9503. 0x259 Else
  9504. 0x259 {
  9505. 0x25C If (Random MOD 3 == 1)
  9506. 0x25C {
  9507. 0x261 LocalVar:TarSelected <- LocalVar:2ndChr
  9508. 0x268 }
  9509. 0x268 Else
  9510. 0x268 {
  9511. 0x26B }
  9512. 0x26B Else
  9513. 0x26B {
  9514. 0x26E LocalVar:TarSelected <- LocalVar:3rdChr
  9515. 0x275 }
  9516. 0x275 Else
  9517. 0x275 {
  9518. 0x278 POP(Random MOD 3)
  9519. 0x279 }
  9520. 0x279 Else
  9521. 0x279 {
  9522. 0x27C If ( (LocalVar:EnemyGrp AND 5 == 5) )
  9523. 0x27C {
  9524. 0x288 If (Not (Random MOD 2) )
  9525. 0x288 {
  9526. 0x290 LocalVar:TarSelected <- LocalVar:1stChr
  9527. 0x297 }
  9528. 0x297 Else
  9529. 0x297 {
  9530. 0x29A LocalVar:TarSelected <- LocalVar:3rdChr
  9531. 0x2A1 }
  9532. 0x2A1 Else
  9533. 0x2A1 {
  9534. 0x2A4 If ( (LocalVar:EnemyGrp AND 3 == 3) )
  9535. 0x2A4 {
  9536. 0x2B0 If (Not (Random MOD 2) )
  9537. 0x2B0 {
  9538. 0x2B8 LocalVar:TarSelected <- LocalVar:1stChr
  9539. 0x2BF }
  9540. 0x2BF Else
  9541. 0x2BF {
  9542. 0x2C2 LocalVar:TarSelected <- LocalVar:2ndChr
  9543. 0x2C9 }
  9544. 0x2C9 Else
  9545. 0x2C9 {
  9546. 0x2CC If ( (LocalVar:EnemyGrp AND 6 == 6) )
  9547. 0x2CC {
  9548. 0x2D8 If (Not (Random MOD 2) )
  9549. 0x2D8 {
  9550. 0x2E0 LocalVar:TarSelected <- LocalVar:2ndChr
  9551. 0x2E7 }
  9552. 0x2E7 Else
  9553. 0x2E7 {
  9554. 0x2EA LocalVar:TarSelected <- LocalVar:3rdChr
  9555. 0x2F1 }
  9556. 0x2F1 Else
  9557. 0x2F1 {
  9558. 0x2F4 LocalVar:TarSelected <- BattleAddr(&NoTarSelected)
  9559. 0x2FB If ( (LocalVar:TarSelected != BattleAddr(&NoTarSelected)) )
  9560. 0x2FB {
  9561. 0x305 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  9562. 0x30C If ( (LocalVar:TarSelected == LocalVar:1stChr) )
  9563. 0x30C {
  9564. 0x316 Perform("Waterball"[01D2], EnemyAttack)
  9565. 0x31C BattleAddr(&TarSelected) <- LocalVar:1stChrWaterpolo
  9566. 0x323 }
  9567. 0x323 Else
  9568. 0x323 {
  9569. 0x326 If ( (LocalVar:TarSelected == LocalVar:2ndChr) )
  9570. 0x326 {
  9571. 0x330 Perform("Waterball"[01D3], EnemyAttack)
  9572. 0x336 BattleAddr(&TarSelected) <- LocalVar:2ndChrWaterpolo
  9573. 0x33D }
  9574. 0x33D Else
  9575. 0x33D {
  9576. 0x340 Perform("Waterball"[01D4], EnemyAttack)
  9577. 0x346 BattleAddr(&TarSelected) <- LocalVar:3rdChrWaterpolo
  9578. 0x34D BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  9579. 0x357 BattleAddr(&TarSelected).BattleAddr(&SelfActive) <- 1
  9580. 0x361 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  9581. 0x36B BattleAddr(&TarSelected).BattleAddr(&Needed2EndBattle) <- 1
  9582. 0x375 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  9583. 0x37F BattleAddr(&TarSelected).BattleAddr(&CurrentHP) <- BattleAddr(&TarSelected).BattleAddr(&MaxHP)
  9584. 0x38E BattleAddr(&TarSelected).BattleAddr(&PhysImmunity) <- 1
  9585. 0x398 LocalVar:Count <- 1
  9586. 0x39E }
  9587. 0x39E Else
  9588. 0x39E {
  9589. 0x3A1 }
  9590. 0x3A1 Else
  9591. 0x3A1 {
  9592. 0x3A4 If (LocalVar:Count == 1)
  9593. 0x3A4 {
  9594. 0x3A9 }
  9595. 0x3A9 Else
  9596. 0x3A9 {
  9597. 0x3AC If (LocalVar:Count == 2)
  9598. 0x3AC {
  9599. 0x3B1 LocalVar:Count <- LocalVar:Count + 1
  9600. 0x3BB }
  9601. 0x3BB Else
  9602. 0x3BB {
  9603. 0x3BE }
  9604. 0x3BE Else
  9605. 0x3BE {
  9606. 0x3C1 If (LocalVar:Count == 3)
  9607. 0x3C1 {
  9608. 0x3C6 If ( (LocalVar:Stage < 2) )
  9609. 0x3C6 {
  9610. 0x3CF BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9611. 0x3D6 Perform("Chill"[01D6], EnemyAttack)
  9612. 0x3DC BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  9613. 0x3E6 LocalVar:Count <- 0
  9614. 0x3EC LocalVar:HitCount <- 6
  9615. 0x3F2 }
  9616. 0x3F2 Else
  9617. 0x3F2 {
  9618. 0x3F5 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  9619. 0x3FC Perform("Big Wave"[01D5], EnemyAttack)
  9620. 0x402 LocalVar:Count <- 4
  9621. 0x408 }
  9622. 0x408 Else
  9623. 0x408 {
  9624. 0x40B }
  9625. 0x40B Else
  9626. 0x40B {
  9627. 0x40E LocalVar:PlayerImprisoned <- BitCount( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 1) )
  9628. 0x41D LocalVar:PlayerDeath <- BitCount( (BattleAddr(&AllPlayers).BattleAddr(&DeathStatus) == 1) )
  9629. 0x42C If ( ( (LocalVar:PlayerDeath >= 1) And (LocalVar:PlayerImprisoned >= 1) ) )
  9630. 0x42C {
  9631. 0x43C LocalVar:Count <- 1
  9632. 0x442 }
  9633. 0x442 Else
  9634. 0x442 {
  9635. 0x445 LocalVar:Count <- 0
  9636. 0x44B }
  9637. 0x44B Else
  9638. 0x44B {
  9639. 0x44E POP(LocalVar:Count)
  9640. 0x44F }
  9641. 0x44F Else
  9642. 0x44F {
  9643. 0x452POP(BattleAddr(&Self).BattleAddr(&IdleAnimID))
  9644. 0x453SCRIPT END
  9645.  
  9646. NOTE - 0x0A5 uses HMSK
  9647. NOTE - 0x134 uses HMSK
  9648.  
  9649.  
  9650. GENERAL COUNTER:
  9651.  
  9652. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  9653. 0x000 {
  9654. 0x018 LocalVar:Stage <- 2
  9655. 0x01E LocalVar:HitCount <- 0
  9656. 0x024 }
  9657. 0x024 Else
  9658. 0x024 {
  9659. 0x027 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  9660. 0x027 {
  9661. 0x03F LocalVar:Stage <- 1
  9662. 0x045 LocalVar:HitCount <- 0
  9663. 0x04B }
  9664. 0x04B Else
  9665. 0x04B {
  9666. 0x04E LocalVar:Stage <- 0
  9667. 0x054 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  9668. 0x054 {
  9669. 0x061 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  9670. 0x06B If (Not (LocalVar:HitCount) )
  9671. 0x06B {
  9672. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9673. 0x079 Perform("Fury Blast"[01CF], EnemyAttack)
  9674. 0x07F BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  9675. 0x089 LocalVar:Count <- 0
  9676. 0x08F LocalVar:HitCount <- 6
  9677. 0x095 If ( (LocalVar:Stage == 2) )
  9678. 0x095 {
  9679. 0x09E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9680. 0x0A5 Perform("Fury Blast"[01D1], EnemyAttack)
  9681. 0x0AB BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 12
  9682. 0x0B5 LocalVar:Count <- 0
  9683. 0x0BB LocalVar:HitCount <- 3
  9684. 0x0C1 }
  9685. 0x0C1 Else
  9686. 0x0C1 {
  9687. 0x0C4 LocalVar:HitCount <- LocalVar:HitCount - 1
  9688. 0x0CE }
  9689. 0x0CE Else
  9690. 0x0CE {
  9691. 0x0D1 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 6) )
  9692. 0x0D1 {
  9693. 0x0DE BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  9694. 0x0E8 If (Not (LocalVar:HitCount) )
  9695. 0x0E8 {
  9696. 0x0EF BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9697. 0x0F6 Perform("Fury Blast"[01D1], EnemyAttack)
  9698. 0x0FC BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 12
  9699. 0x106 LocalVar:Count <- 0
  9700. 0x10C LocalVar:HitCount <- 3
  9701. 0x112 }
  9702. 0x112 Else
  9703. 0x112 {
  9704. 0x115 LocalVar:HitCount <- LocalVar:HitCount - 1
  9705. 0x11F }
  9706. 0x11F Else
  9707. 0x11F {
  9708. 0x122 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 13
  9709. 0x12CSCRIPT END
  9710.  
  9711.  
  9712. DEATH COUNTER:
  9713.  
  9714. 0x000BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  9715. 0x007Perform("Big Wave"[01D5], EnemyAttack)
  9716. 0x00D If ( (BattleAddr(&ActiveActors).BattleAddr(&ImprisonedStatus) == 1) )
  9717. 0x00D {
  9718. 0x01A BattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&ImprisonedStatus) == 1)
  9719. 0x028 BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  9720. 0x032BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9721. 0x039Perform("Vanish"[014E], EnemyAttack)
  9722. 0x03FLocalVar:Waterpolo.BattleAddr(&SelfActive) <- 0
  9723. 0x049LocalVar:Waterpolo.BattleAddr(&Targetable) <- 0
  9724. 0x053LocalVar:Waterpolo.BattleAddr(&Needed2EndBattle) <- 0
  9725. 0x05DLocalVar:Waterpolo.BattleAddr(&AIScriptActive) <- 0
  9726. 0x067SCRIPT END
  9727.  
  9728.  
  9729.  
  9730.  
  9731. 92 - [5C] Waterpolo
  9732.  
  9733.  
  9734. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  9735. BattleAddr(&2060) = BattleAddr(&Self)
  9736. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9737. BattleAddr(&2180) = BattleAddr(&ChrFlagBit)
  9738.  
  9739. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  9740. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  9741. BattleAddr(&4023) = BattleAddr(&Targetable)
  9742. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  9743. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  9744. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  9745. BattleAddr(&402D) = BattleAddr(&SelfDead)
  9746. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  9747. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  9748. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  9749. BattleAddr(&4180) = BattleAddr(&MaxHP)
  9750.  
  9751.  
  9752.  
  9753. PRE-BATTLE:
  9754.  
  9755. 0x000BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 1
  9756. 0x00ABattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  9757. 0x014BattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP)
  9758. 0x023SCRIPT END
  9759.  
  9760.  
  9761. DEATH COUNTER:
  9762.  
  9763. 0x000BattleAddr(&TarSelected) <- FlagBit(BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)))
  9764. 0x00DBattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  9765. 0x017BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  9766. 0x021BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  9767. 0x02BBattleAddr(&Self).BattleAddr(&DeathStatus) <- 0
  9768. 0x035BattleAddr(&Self).BattleAddr(&SelfDead) <- 0
  9769. 0x03FBattleAddr(&Self).BattleAddr(&Targetable) <- 0
  9770. 0x049BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9771. 0x050Perform("Vanish"[014E], EnemyAttack)
  9772. 0x056SCRIPT END
  9773.  
  9774.  
  9775. The following additional script exists within the Formation AI script
  9776.  
  9777.  
  9778.  
  9779. GENERAL COUNTER:
  9780.  
  9781. 0x000BattleAddr(&ChrFlagBit) <- 0
  9782. 0x006 If ( (BattleAddr(&ChrFlagBit) < 3) )
  9783. 0x006 {
  9784. 0x00F BattleAddr(&TarSelected) <- FlagBit(BattleAddr(&ChrFlagBit))
  9785. 0x017 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1)
  9786. 0x025 If (BattleAddr(&TarSelected))
  9787. 0x025 {
  9788. 0x02B BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 0
  9789. 0x035 BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  9790. 0x03F LOOP 0x006
  9791. 0x042 SCRIPT END
  9792.  
  9793.  
  9794. DEATH COUNTER:
  9795.  
  9796. 0x000BattleAddr(&ChrFlagBit) <- 0
  9797. 0x006 If ( (BattleAddr(&ChrFlagBit) < 3) )
  9798. 0x006 {
  9799. 0x00F BattleAddr(&TarSelected) <- FlagBit(BattleAddr(&ChrFlagBit))
  9800. 0x017 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) )
  9801. 0x017 {
  9802. 0x024 If ( (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) )
  9803. 0x024 {
  9804. 0x031 BattleAddr(&Self) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 92)
  9805. 0x03F BattleAddr(&Self) <- (BattleAddr(&Self).BattleAddr(&GrpFormID) == BattleAddr(&ChrFlagBit))
  9806. 0x04E BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  9807. 0x058 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  9808. 0x05F Perform("Vanish"[014E], EnemyAttack)
  9809. 0x065 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  9810. 0x06F BattleAddr(&Self).BattleAddr(&DeathStatus) <- 0
  9811. 0x079 BattleAddr(&Self).BattleAddr(&SelfDead) <- 0
  9812. 0x083 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  9813. 0x08D BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  9814. 0x097 LOOP 0x006
  9815. 0x09A SCRIPT END
  9816.  
  9817.  
  9818.  
  9819.  
  9820. 93 - [5D] Scrutin Eye
  9821.  
  9822.  
  9823. BattleAddr(&2060) = BattleAddr(&Self)
  9824. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9825. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9826.  
  9827. BattleAddr(&4026) = BattleAddr(&BackRow)
  9828. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  9829.  
  9830.  
  9831.  
  9832. MAIN:
  9833.  
  9834. 0x000 If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  9835. 0x000 {
  9836. 0x00D If (Random MOD 8 == 0)
  9837. 0x00D {
  9838. 0x016 }
  9839. 0x016 Else
  9840. 0x016 {
  9841. 0x019 If (Random MOD 8 == 1)
  9842. 0x019 {
  9843. 0x01E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9844. 0x026 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  9845. 0x026 {
  9846. 0x034 Perform("Fire2"[001C], EnemyAttack)
  9847. 0x039 }
  9848. 0x039 Else
  9849. 0x039 {
  9850. 0x03C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9851. 0x044 Perform("Drilldrive"[0114], EnemyAttack)
  9852. 0x04A }
  9853. 0x04A Else
  9854. 0x04A {
  9855. 0x04D }
  9856. 0x04D Else
  9857. 0x04D {
  9858. 0x050 If (Random MOD 8 == 2)
  9859. 0x050 {
  9860. 0x055 }
  9861. 0x055 Else
  9862. 0x055 {
  9863. 0x058 If (Random MOD 8 == 3)
  9864. 0x058 {
  9865. 0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9866. 0x065 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  9867. 0x065 {
  9868. 0x073 Perform("Ice2"[001F], EnemyAttack)
  9869. 0x078 }
  9870. 0x078 Else
  9871. 0x078 {
  9872. 0x07B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9873. 0x083 Perform("Drilldrive"[0114], EnemyAttack)
  9874. 0x089 }
  9875. 0x089 Else
  9876. 0x089 {
  9877. 0x08C }
  9878. 0x08C Else
  9879. 0x08C {
  9880. 0x08F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9881. 0x097 Perform("Drilldrive"[0114], EnemyAttack)
  9882. 0x09D }
  9883. 0x09D Else
  9884. 0x09D {
  9885. 0x0A0 POP(Random MOD 8)
  9886. 0x0A1 }
  9887. 0x0A1 Else
  9888. 0x0A1 {
  9889. 0x0A4 If (Random MOD 8 == 0)
  9890. 0x0A4 {
  9891. 0x0AD }
  9892. 0x0AD Else
  9893. 0x0AD {
  9894. 0x0B0 If (Random MOD 8 == 1)
  9895. 0x0B0 {
  9896. 0x0B5 }
  9897. 0x0B5 Else
  9898. 0x0B5 {
  9899. 0x0B8 If (Random MOD 8 == 2)
  9900. 0x0B8 {
  9901. 0x0BD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9902. 0x0C5 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  9903. 0x0C5 {
  9904. 0x0D3 Perform("Fire2"[001C], EnemyAttack)
  9905. 0x0D8 }
  9906. 0x0D8 Else
  9907. 0x0D8 {
  9908. 0x0DB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9909. 0x0E3 Perform("Drilldrive"[0114], EnemyAttack)
  9910. 0x0E9 }
  9911. 0x0E9 Else
  9912. 0x0E9 {
  9913. 0x0EC }
  9914. 0x0EC Else
  9915. 0x0EC {
  9916. 0x0EF If (Random MOD 8 == 3)
  9917. 0x0EF {
  9918. 0x0F4 }
  9919. 0x0F4 Else
  9920. 0x0F4 {
  9921. 0x0F7 If (Random MOD 8 == 4)
  9922. 0x0F7 {
  9923. 0x0FC }
  9924. 0x0FC Else
  9925. 0x0FC {
  9926. 0x0FF If (Random MOD 8 == 5)
  9927. 0x0FF {
  9928. 0x104 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9929. 0x10C If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  9930. 0x10C {
  9931. 0x11A Perform("Ice2"[001F], EnemyAttack)
  9932. 0x11F }
  9933. 0x11F Else
  9934. 0x11F {
  9935. 0x122 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9936. 0x12A Perform("Drilldrive"[0114], EnemyAttack)
  9937. 0x130 }
  9938. 0x130 Else
  9939. 0x130 {
  9940. 0x133 }
  9941. 0x133 Else
  9942. 0x133 {
  9943. 0x136 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9944. 0x13E Perform("Drilldrive"[0114], EnemyAttack)
  9945. 0x144 }
  9946. 0x144 Else
  9947. 0x144 {
  9948. 0x147 POP(Random MOD 8)
  9949. 0x148SCRIPT END
  9950.  
  9951.  
  9952.  
  9953.  
  9954. 94 - [5E] Marine
  9955.  
  9956.  
  9957. LocalVar:0000 = LocalVar:Stage
  9958. LocalVar:0020 = LocalVar:Count
  9959. LocalVar:0040 = LocalVar:Ammo
  9960.  
  9961. BattleAddr(&2060) = BattleAddr(&Self)
  9962. BattleAddr(&2070) = BattleAddr(&TarSelected)
  9963. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  9964.  
  9965. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  9966. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  9967. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  9968. BattleAddr(&4180) = BattleAddr(&MaxHP)
  9969.  
  9970.  
  9971. PRE-BATTLE:
  9972.  
  9973. 0x000LocalVar:Ammo <- 4
  9974. 0x006SCRIPT END
  9975.  
  9976.  
  9977. MAIN:
  9978.  
  9979. 0x000 If (LocalVar:Count == 0)
  9980. 0x000 {
  9981. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) != 0) )
  9982. 0x008 {
  9983. 0x015 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) != 0) )
  9984. 0x015 {
  9985. 0x022 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  9986. 0x02A }
  9987. 0x02A Else
  9988. 0x02A {
  9989. 0x02D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  9990. 0x03C }
  9991. 0x03C Else
  9992. 0x03C {
  9993. 0x03F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  9994. 0x04E Perform("Smoke Bullet"[01D7], EnemyAttack)
  9995. 0x054 LocalVar:Count <- 1
  9996. 0x05A }
  9997. 0x05A Else
  9998. 0x05A {
  9999. 0x05D }
  10000. 0x05D Else
  10001. 0x05D {
  10002. 0x060 If (LocalVar:Count == 1)
  10003. 0x060 {
  10004. 0x065 }
  10005. 0x065 Else
  10006. 0x065 {
  10007. 0x068 If (LocalVar:Count == 2)
  10008. 0x068 {
  10009. 0x06D }
  10010. 0x06D Else
  10011. 0x06D {
  10012. 0x070 If (LocalVar:Count == 3)
  10013. 0x070 {
  10014. 0x075 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) != 1) )
  10015. 0x075 {
  10016. 0x082 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) != 1) )
  10017. 0x082 {
  10018. 0x08F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10019. 0x097 }
  10020. 0x097 Else
  10021. 0x097 {
  10022. 0x09A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  10023. 0x0A9 }
  10024. 0x0A9 Else
  10025. 0x0A9 {
  10026. 0x0AC BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  10027. 0x0BB Perform("Machine Gun"[0110], EnemyAttack)
  10028. 0x0C1 LocalVar:Count <- LocalVar:Count + 1
  10029. 0x0CB }
  10030. 0x0CB Else
  10031. 0x0CB {
  10032. 0x0CE }
  10033. 0x0CE Else
  10034. 0x0CE {
  10035. 0x0D1 If (LocalVar:Stage)
  10036. 0x0D1 {
  10037. 0x0D7 If ( (LocalVar:Ammo > 0) )
  10038. 0x0D7 {
  10039. 0x0E0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  10040. 0x0E7 Perform("Grenade"[01D8], EnemyAttack)
  10041. 0x0ED LocalVar:Ammo <- LocalVar:Ammo - 1
  10042. 0x0F7 LocalVar:Count <- 3
  10043. 0x0FD }
  10044. 0x0FD Else
  10045. 0x0FD {
  10046. 0x100 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) != 1) )
  10047. 0x100 {
  10048. 0x10D If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) != 1) )
  10049. 0x10D {
  10050. 0x11A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10051. 0x122 }
  10052. 0x122 Else
  10053. 0x122 {
  10054. 0x125 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  10055. 0x134 }
  10056. 0x134 Else
  10057. 0x134 {
  10058. 0x137 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  10059. 0x146 Perform("Machine Gun"[0110], EnemyAttack)
  10060. 0x14C LocalVar:Count <- 1
  10061. 0x152 }
  10062. 0x152 Else
  10063. 0x152 {
  10064. 0x155 LocalVar:Count <- 0
  10065. 0x15B }
  10066. 0x15B Else
  10067. 0x15B {
  10068. 0x15EPOP(LocalVar:Count)
  10069. 0x15FSCRIPT END
  10070.  
  10071.  
  10072. GENERAL COUNTER:
  10073.  
  10074. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 2) )
  10075. 0x000 {
  10076. 0x018 LocalVar:Stage <- 1
  10077. 0x01E }
  10078. 0x01E Else
  10079. 0x01E {
  10080. 0x021 LocalVar:Stage <- 0
  10081. 0x027SCRIPT END
  10082.  
  10083.  
  10084.  
  10085.  
  10086. 95 - [5F] Jenova-Birth
  10087.  
  10088.  
  10089. LocalVar:0000 = LocalVar:1stChr
  10090. LocalVar:0020 = LocalVar:2ndChr
  10091. LocalVar:0040 = LocalVar:3rdChr
  10092. LocalVar:0060 = LocalVar:Count
  10093.  
  10094. BattleAddr(&2060) = BattleAddr(&Self)
  10095. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10096. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10097.  
  10098. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  10099. BattleAddr(&400A) = BattleAddr(&StopStatus)
  10100. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  10101.  
  10102.  
  10103. PRE-BATTLE:
  10104.  
  10105. 0x000LocalVar:1stChr <- FlagBit(0)
  10106. 0x007LocalVar:2ndChr <- FlagBit(1)
  10107. 0x00ELocalVar:3rdChr <- FlagBit(2)
  10108. 0x015 If (Not (Random MOD 2) )
  10109. 0x015 {
  10110. 0x01D LocalVar:Count <- 3
  10111. 0x023SCRIPT END
  10112.  
  10113.  
  10114. MAIN:
  10115.  
  10116. 0x000 If (LocalVar:Count == 0)
  10117. 0x000 {
  10118. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  10119. 0x008 {
  10120. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  10121. 0x024 Perform("Gas"[036D], EnemyAttack)
  10122. 0x02A }
  10123. 0x02A Else
  10124. 0x02A {
  10125. 0x02D If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Stop [0015])) )
  10126. 0x02D {
  10127. 0x03B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10128. 0x04A Perform("Stop"[0015], EnemyAttack)
  10129. 0x04F LocalVar:Count <- 1
  10130. 0x055 }
  10131. 0x055 Else
  10132. 0x055 {
  10133. 0x058 }
  10134. 0x058 Else
  10135. 0x058 {
  10136. 0x05B If (LocalVar:Count == 1)
  10137. 0x05B {
  10138. 0x060 }
  10139. 0x060 Else
  10140. 0x060 {
  10141. 0x063 If (LocalVar:Count == 2)
  10142. 0x063 {
  10143. 0x068 LocalVar:Count <- LocalVar:Count + 1
  10144. 0x072 }
  10145. 0x072 Else
  10146. 0x072 {
  10147. 0x075 }
  10148. 0x075 Else
  10149. 0x075 {
  10150. 0x078 If (LocalVar:Count == 3)
  10151. 0x078 {
  10152. 0x07D If (Not (Random MOD 3) )
  10153. 0x07D {
  10154. 0x085 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:2ndChr.BattleAddr(&StopStatus) == 0) ) )
  10155. 0x085 {
  10156. 0x09D BattleAddr(&TarSelected) <- LocalVar:2ndChr
  10157. 0x0A4 Perform("Laser"[036C], EnemyAttack)
  10158. 0x0AA If ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:1stChr.BattleAddr(&StopStatus) == 0) ) )
  10159. 0x0AA {
  10160. 0x0C2 BattleAddr(&TarSelected) <- LocalVar:1stChr
  10161. 0x0C9 Perform("Laser"[036C], EnemyAttack)
  10162. 0x0CF If ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:3rdChr.BattleAddr(&StopStatus) == 0) ) )
  10163. 0x0CF {
  10164. 0x0E7 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  10165. 0x0EE Perform("Laser"[036C], EnemyAttack)
  10166. 0x0F4 }
  10167. 0x0F4 Else
  10168. 0x0F4 {
  10169. 0x0F7 If (Random MOD 3 == 0)
  10170. 0x0F7 {
  10171. 0x100 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10172. 0x100 {
  10173. 0x10D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10174. 0x11C }
  10175. 0x11C Else
  10176. 0x11C {
  10177. 0x11F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10178. 0x127 Perform("Laser"[036C], EnemyAttack)
  10179. 0x12D }
  10180. 0x12D Else
  10181. 0x12D {
  10182. 0x130 If (Random MOD 3 == 1)
  10183. 0x130 {
  10184. 0x135 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10185. 0x135 {
  10186. 0x142 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10187. 0x151 }
  10188. 0x151 Else
  10189. 0x151 {
  10190. 0x154 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10191. 0x15C Perform("Laser"[036C], EnemyAttack)
  10192. 0x162 }
  10193. 0x162 Else
  10194. 0x162 {
  10195. 0x165 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10196. 0x165 {
  10197. 0x172 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10198. 0x181 }
  10199. 0x181 Else
  10200. 0x181 {
  10201. 0x184 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10202. 0x18C Perform("Laser"[036C], EnemyAttack)
  10203. 0x192 }
  10204. 0x192 Else
  10205. 0x192 {
  10206. 0x195 POP(Random MOD 3)
  10207. 0x196 LocalVar:Count <- 4
  10208. 0x19C }
  10209. 0x19C Else
  10210. 0x19C {
  10211. 0x19F }
  10212. 0x19F Else
  10213. 0x19F {
  10214. 0x1A2 If (LocalVar:Count == 4)
  10215. 0x1A2 {
  10216. 0x1A7 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  10217. 0x1AE Perform("Tail Laser"[036F], EnemyAttack)
  10218. 0x1B4 If (Not (Random MOD 2) )
  10219. 0x1B4 {
  10220. 0x1BC BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  10221. 0x1C3 Perform("Tail Laser"[036F], EnemyAttack)
  10222. 0x1C9 LocalVar:Count <- 5
  10223. 0x1CF }
  10224. 0x1CF Else
  10225. 0x1CF {
  10226. 0x1D2 }
  10227. 0x1D2 Else
  10228. 0x1D2 {
  10229. 0x1D5 If (LocalVar:Count == 5)
  10230. 0x1D5 {
  10231. 0x1DA If (Not (Random MOD 3) )
  10232. 0x1DA {
  10233. 0x1E2 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:2ndChr.BattleAddr(&StopStatus) == 0) ) )
  10234. 0x1E2 {
  10235. 0x1FA BattleAddr(&TarSelected) <- LocalVar:2ndChr
  10236. 0x201 Perform("W-Laser"[036E], EnemyAttack)
  10237. 0x207 If ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:1stChr.BattleAddr(&StopStatus) == 0) ) )
  10238. 0x207 {
  10239. 0x21F BattleAddr(&TarSelected) <- LocalVar:1stChr
  10240. 0x226 Perform("W-Laser"[036E], EnemyAttack)
  10241. 0x22C If ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And (LocalVar:3rdChr.BattleAddr(&StopStatus) == 0) ) )
  10242. 0x22C {
  10243. 0x244 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  10244. 0x24B Perform("W-Laser"[036E], EnemyAttack)
  10245. 0x251 }
  10246. 0x251 Else
  10247. 0x251 {
  10248. 0x254 If (Random MOD 3 == 0)
  10249. 0x254 {
  10250. 0x25D If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10251. 0x25D {
  10252. 0x26A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10253. 0x279 }
  10254. 0x279 Else
  10255. 0x279 {
  10256. 0x27C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10257. 0x284 Perform("W-Laser"[036E], EnemyAttack)
  10258. 0x28A }
  10259. 0x28A Else
  10260. 0x28A {
  10261. 0x28D If (Random MOD 3 == 1)
  10262. 0x28D {
  10263. 0x292 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10264. 0x292 {
  10265. 0x29F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10266. 0x2AE }
  10267. 0x2AE Else
  10268. 0x2AE {
  10269. 0x2B1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10270. 0x2B9 Perform("W-Laser"[036E], EnemyAttack)
  10271. 0x2BF }
  10272. 0x2BF Else
  10273. 0x2BF {
  10274. 0x2C2 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10275. 0x2C2 {
  10276. 0x2CF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  10277. 0x2DE }
  10278. 0x2DE Else
  10279. 0x2DE {
  10280. 0x2E1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10281. 0x2E9 Perform("W-Laser"[036E], EnemyAttack)
  10282. 0x2EF }
  10283. 0x2EF Else
  10284. 0x2EF {
  10285. 0x2F2 POP(Random MOD 3)
  10286. 0x2F3 LocalVar:Count <- 6
  10287. 0x2F9 }
  10288. 0x2F9 Else
  10289. 0x2F9 {
  10290. 0x2FC }
  10291. 0x2FC Else
  10292. 0x2FC {
  10293. 0x2FF If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  10294. 0x2FF {
  10295. 0x30C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  10296. 0x31B Perform("Gas"[036D], EnemyAttack)
  10297. 0x321 }
  10298. 0x321 Else
  10299. 0x321 {
  10300. 0x324 If (Not (Random MOD 3) )
  10301. 0x324 {
  10302. 0x32C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10303. 0x334 Perform("Gas"[036D], EnemyAttack)
  10304. 0x33A LocalVar:Count <- 0
  10305. 0x340 }
  10306. 0x340 Else
  10307. 0x340 {
  10308. 0x343POP(LocalVar:Count)
  10309. 0x344SCRIPT END
  10310.  
  10311.  
  10312.  
  10313.  
  10314. 96 - [60] Grangalan
  10315.  
  10316.  
  10317. LocalVar:0000 = LocalVar:GrangalanJr.
  10318. LocalVar:0020 = LocalVar:Count
  10319. LocalVar:0040 = LocalVar:Stage
  10320.  
  10321. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  10322. BattleAddr(&2060) = BattleAddr(&Self)
  10323. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10324. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10325.  
  10326. BattleAddr(&4020) = BattleAddr(&SelfActive)
  10327. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  10328. BattleAddr(&4023) = BattleAddr(&Targetable)
  10329. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  10330. BattleAddr(&402B) = BattleAddr(&CoverFlagActive)
  10331. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  10332. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  10333.  
  10334.  
  10335.  
  10336. PRE-BATTLE:
  10337.  
  10338. 0x000LocalVar:GrangalanJr. <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  10339. 0x014LocalVar:GrangalanJr. <- (LocalVar:GrangalanJr..BattleAddr(&IndexOfActor) == 97)
  10340. 0x022SCRIPT END
  10341.  
  10342.  
  10343. MAIN:
  10344.  
  10345. 0x000 If ( (LocalVar:Stage == 0) )
  10346. 0x000 {
  10347. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10348. 0x011 Perform("Silver Wheel"[01DC], EnemyAttack)
  10349. 0x017 }
  10350. 0x017 Else
  10351. 0x017 {
  10352. 0x01A If ( (BattleAddr(&Self).BattleAddr(&CoverFlagActive) == 1) )
  10353. 0x01A {
  10354. 0x027 If ( (LocalVar:Count >= 4) )
  10355. 0x027 {
  10356. 0x030 LocalVar:Count <- 0
  10357. 0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10358. 0x03E Perform("Silver Wheel"[01DD], EnemyAttack)
  10359. 0x044 }
  10360. 0x044 Else
  10361. 0x044 {
  10362. 0x047 LocalVar:Count <- LocalVar:Count + 1
  10363. 0x051 }
  10364. 0x051 Else
  10365. 0x051 {
  10366. 0x054 If ( (LocalVar:Count >= 4) )
  10367. 0x054 {
  10368. 0x05D LocalVar:Count <- 0
  10369. 0x063 Perform("Darkeye"[01D9], EnemyAttack)
  10370. 0x069 }
  10371. 0x069 Else
  10372. 0x069 {
  10373. 0x06C LocalVar:Count <- LocalVar:Count + 1
  10374. 0x076 Perform("Silver Wheel"[01DC], EnemyAttack)
  10375. 0x07CSCRIPT END
  10376.  
  10377.  
  10378. GENERAL COUNTER:
  10379.  
  10380. 0x000LocalVar:Count <- LocalVar:Count + 1
  10381. 0x00A If ( ( (LocalVar:Count >= 3) And (LocalVar:Stage == 0) ) )
  10382. 0x00A {
  10383. 0x01A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  10384. 0x021 Perform("Put out"[01DE], EnemyAttack)
  10385. 0x027 LocalVar:GrangalanJr..BattleAddr(&SelfActive) <- 1
  10386. 0x031 LocalVar:GrangalanJr..BattleAddr(&Targetable) <- 1
  10387. 0x03B LocalVar:GrangalanJr..BattleAddr(&Needed2EndBattle) <- 1
  10388. 0x045 LocalVar:GrangalanJr..BattleAddr(&AIScriptActive) <- 1
  10389. 0x04F LocalVar:Stage <- 1
  10390. 0x055 If ( (LocalVar:Count > 3) )
  10391. 0x055 {
  10392. 0x05E LocalVar:Count <- 0
  10393. 0x064SCRIPT END
  10394.  
  10395.  
  10396. DEATH COUNTER:
  10397.  
  10398. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  10399. 0x007Perform("Vanish"[014E], EnemyAttack)
  10400. 0x00DLocalVar:GrangalanJr. <- FlagBit(4)
  10401. 0x014LocalVar:GrangalanJr..BattleAddr(&SelfActive) <- 0
  10402. 0x01ELocalVar:GrangalanJr..BattleAddr(&Targetable) <- 0
  10403. 0x028LocalVar:GrangalanJr..BattleAddr(&Needed2EndBattle) <- 0
  10404. 0x032LocalVar:GrangalanJr..BattleAddr(&AIScriptActive) <- 0
  10405. 0x03CLocalVar:GrangalanJr. <- FlagBit(5)
  10406. 0x043LocalVar:GrangalanJr..BattleAddr(&SelfActive) <- 0
  10407. 0x04DLocalVar:GrangalanJr..BattleAddr(&Targetable) <- 0
  10408. 0x057LocalVar:GrangalanJr..BattleAddr(&Needed2EndBattle) <- 0
  10409. 0x061LocalVar:GrangalanJr..BattleAddr(&AIScriptActive) <- 0
  10410. 0x06BLocalVar:GrangalanJr. <- FlagBit(6)
  10411. 0x072LocalVar:GrangalanJr..BattleAddr(&SelfActive) <- 0
  10412. 0x07CLocalVar:GrangalanJr..BattleAddr(&Targetable) <- 0
  10413. 0x086LocalVar:GrangalanJr..BattleAddr(&Needed2EndBattle) <- 0
  10414. 0x090LocalVar:GrangalanJr..BattleAddr(&AIScriptActive) <- 0
  10415. 0x09ALocalVar:GrangalanJr. <- FlagBit(7)
  10416. 0x0A1LocalVar:GrangalanJr..BattleAddr(&SelfActive) <- 0
  10417. 0x0ABLocalVar:GrangalanJr..BattleAddr(&Targetable) <- 0
  10418. 0x0B5LocalVar:GrangalanJr..BattleAddr(&Needed2EndBattle) <- 0
  10419. 0x0BFLocalVar:GrangalanJr..BattleAddr(&AIScriptActive) <- 0
  10420. 0x0C9SCRIPT END
  10421.  
  10422.  
  10423.  
  10424.  
  10425. 97 - [61] Grangalan Jr.
  10426.  
  10427.  
  10428. LocalVar:0000 = LocalVar:GrangalanJr.Jr.
  10429. LocalVar:0020 = LocalVar:GrangalanJr.Jr.A
  10430. LocalVar:0040 = LocalVar:GrangalanJr.Jr.B
  10431. LocalVar:0060 = LocalVar:GrangalanJr.Jr.C
  10432. LocalVar:0080 = LocalVar:Count
  10433. LocalVar:00A0 = LocalVar:Stage
  10434.  
  10435. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  10436. BattleAddr(&2060) = BattleAddr(&Self)
  10437. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10438. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10439.  
  10440. BattleAddr(&4020) = BattleAddr(&SelfActive)
  10441. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  10442. BattleAddr(&4023) = BattleAddr(&Targetable)
  10443. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  10444. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  10445. BattleAddr(&402B) = BattleAddr(&CoverFlagActive)
  10446. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  10447.  
  10448.  
  10449.  
  10450. MAIN:
  10451.  
  10452. 0x000 If ( (LocalVar:Stage == 0) )
  10453. 0x000 {
  10454. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10455. 0x011 Perform("Silver Wheel"[01DC], EnemyAttack)
  10456. 0x017 }
  10457. 0x017 Else
  10458. 0x017 {
  10459. 0x01A If ( (BattleAddr(&Self).BattleAddr(&CoverFlagActive) == 1) )
  10460. 0x01A {
  10461. 0x027 If ( (LocalVar:Count >= 3) )
  10462. 0x027 {
  10463. 0x030 LocalVar:Count <- 0
  10464. 0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10465. 0x03E Perform("Silver Wheel"[01DD], EnemyAttack)
  10466. 0x044 }
  10467. 0x044 Else
  10468. 0x044 {
  10469. 0x047 LocalVar:Count <- LocalVar:Count + 1
  10470. 0x051 }
  10471. 0x051 Else
  10472. 0x051 {
  10473. 0x054 If ( (LocalVar:Count >= 4) )
  10474. 0x054 {
  10475. 0x05D LocalVar:Count <- 0
  10476. 0x063 Perform("Triclops"[01DA], EnemyAttack)
  10477. 0x069 }
  10478. 0x069 Else
  10479. 0x069 {
  10480. 0x06C LocalVar:Count <- LocalVar:Count + 1
  10481. 0x076 Perform("Silver Wheel"[01DC], EnemyAttack)
  10482. 0x07CSCRIPT END
  10483.  
  10484.  
  10485. GENERAL COUNTER:
  10486.  
  10487. 0x000LocalVar:Count <- LocalVar:Count + 1
  10488. 0x00A If ( ( ( (LocalVar:Count >= 3) Or (Random MOD 4 == 0) ) And (LocalVar:Stage == 0) ) )
  10489. 0x00A {
  10490. 0x022 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  10491. 0x029 Perform("Put out"[01DE], EnemyAttack)
  10492. 0x02F LocalVar:GrangalanJr.Jr. <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 98)
  10493. 0x03D LocalVar:GrangalanJr.Jr.A <- (LocalVar:GrangalanJr.Jr..BattleAddr(&GrpFormID) == 0)
  10494. 0x04B LocalVar:GrangalanJr.Jr.A.BattleAddr(&SelfActive) <- 1
  10495. 0x055 LocalVar:GrangalanJr.Jr.A.BattleAddr(&Targetable) <- 1
  10496. 0x05F LocalVar:GrangalanJr.Jr.A.BattleAddr(&Needed2EndBattle) <- 1
  10497. 0x069 LocalVar:GrangalanJr.Jr.A.BattleAddr(&AIScriptActive) <- 1
  10498. 0x073 LocalVar:GrangalanJr.Jr.B <- (LocalVar:GrangalanJr.Jr..BattleAddr(&GrpFormID) == 1)
  10499. 0x081 LocalVar:GrangalanJr.Jr.B.BattleAddr(&SelfActive) <- 1
  10500. 0x08B LocalVar:GrangalanJr.Jr.B.BattleAddr(&Targetable) <- 1
  10501. 0x095 LocalVar:GrangalanJr.Jr.B.BattleAddr(&Needed2EndBattle) <- 1
  10502. 0x09F LocalVar:GrangalanJr.Jr.B.BattleAddr(&AIScriptActive) <- 1
  10503. 0x0A9 LocalVar:GrangalanJr.Jr.C <- (LocalVar:GrangalanJr.Jr..BattleAddr(&GrpFormID) == 2)
  10504. 0x0B7 LocalVar:GrangalanJr.Jr.C.BattleAddr(&SelfActive) <- 1
  10505. 0x0C1 LocalVar:GrangalanJr.Jr.C.BattleAddr(&Targetable) <- 1
  10506. 0x0CB LocalVar:GrangalanJr.Jr.C.BattleAddr(&Needed2EndBattle) <- 1
  10507. 0x0D5 LocalVar:GrangalanJr.Jr.C.BattleAddr(&AIScriptActive) <- 1
  10508. 0x0DF LocalVar:Stage <- 1
  10509. 0x0E5SCRIPT END
  10510.  
  10511.  
  10512.  
  10513.  
  10514. 98 - [62] Grangalan Jr.Jr.
  10515.  
  10516.  
  10517. BattleAddr(&2060) = BattleAddr(&Self)
  10518. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10519. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10520.  
  10521.  
  10522.  
  10523. MAIN:
  10524.  
  10525. 0x000 If (Random MOD 4 == 0)
  10526. 0x000 {
  10527. 0x009 }
  10528. 0x009 Else
  10529. 0x009 {
  10530. 0x00C }
  10531. 0x00C Else
  10532. 0x00C {
  10533. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10534. 0x017 Perform("Silver Wheel"[01DC], EnemyAttack)
  10535. 0x01D }
  10536. 0x01D Else
  10537. 0x01D {
  10538. 0x020POP(Random MOD 4)
  10539. 0x021SCRIPT END
  10540.  
  10541.  
  10542.  
  10543.  
  10544. 99 - [63] Beachplug
  10545.  
  10546.  
  10547. LocalVar:0000 = LocalVar:Count
  10548.  
  10549. BattleAddr(&2060) = BattleAddr(&Self)
  10550. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10551. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10552.  
  10553. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  10554.  
  10555.  
  10556.  
  10557. PRE-BATTLE:
  10558.  
  10559. 0x000 If (Not (Random MOD 2) )
  10560. 0x000 {
  10561. 0x008 LocalVar:Count <- 1
  10562. 0x00ESCRIPT END
  10563.  
  10564.  
  10565. MAIN:
  10566.  
  10567. 0x000 If (LocalVar:Count == 0)
  10568. 0x000 {
  10569. 0x008 LocalVar:Count <- 1
  10570. 0x00E }
  10571. 0x00E Else
  10572. 0x00E {
  10573. 0x011 }
  10574. 0x011 Else
  10575. 0x011 {
  10576. 0x014 If (LocalVar:Count == 1)
  10577. 0x014 {
  10578. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10579. 0x021 Perform("Bite"[0258], EnemyAttack)
  10580. 0x027 LocalVar:Count <- 0
  10581. 0x02D }
  10582. 0x02D Else
  10583. 0x02D {
  10584. 0x030 }
  10585. 0x030 Else
  10586. 0x030 {
  10587. 0x033 If (LocalVar:Count == 2)
  10588. 0x033 {
  10589. 0x038 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10590. 0x040 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(Ice [001E])) )
  10591. 0x040 {
  10592. 0x04E Perform("Bite"[0258], EnemyAttack)
  10593. 0x054 }
  10594. 0x054 Else
  10595. 0x054 {
  10596. 0x057 Perform("Ice"[001E], EnemyAttack)
  10597. 0x05C LocalVar:Count <- 3
  10598. 0x062 }
  10599. 0x062 Else
  10600. 0x062 {
  10601. 0x065 }
  10602. 0x065 Else
  10603. 0x065 {
  10604. 0x068 If (LocalVar:Count == 3)
  10605. 0x068 {
  10606. 0x06D LocalVar:Count <- 4
  10607. 0x073 }
  10608. 0x073 Else
  10609. 0x073 {
  10610. 0x076 }
  10611. 0x076 Else
  10612. 0x076 {
  10613. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10614. 0x081 Perform("Bite"[0258], EnemyAttack)
  10615. 0x087 LocalVar:Count <- 0
  10616. 0x08D }
  10617. 0x08D Else
  10618. 0x08D {
  10619. 0x090POP(LocalVar:Count)
  10620. 0x091SCRIPT END
  10621.  
  10622.  
  10623. MAGIC COUNTER:
  10624.  
  10625. 0x000LocalVar:Count <- 2
  10626. 0x006SCRIPT END
  10627.  
  10628.  
  10629.  
  10630.  
  10631. 100 - [64] Search Crown
  10632.  
  10633.  
  10634. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10635. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10636.  
  10637.  
  10638.  
  10639. MAIN:
  10640.  
  10641. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10642. 0x008 If (Not (Random MOD 2) )
  10643. 0x008 {
  10644. 0x010 Perform("Seed Shot"[01DF], EnemyAttack)
  10645. 0x016 }
  10646. 0x016 Else
  10647. 0x016 {
  10648. 0x019 Perform("Four Laser"[01E0], EnemyAttack)
  10649. 0x01FSCRIPT END
  10650.  
  10651.  
  10652.  
  10653.  
  10654. 101 - [65] Needle Kiss
  10655.  
  10656.  
  10657. LocalVar:0000 = LocalVar:SpclChance
  10658.  
  10659. BattleAddr(&2060) = BattleAddr(&Self)
  10660. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10661. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10662.  
  10663. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  10664. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  10665. BattleAddr(&4180) = BattleAddr(&MaxHP)
  10666.  
  10667.  
  10668.  
  10669. PRE-BATTLE:
  10670.  
  10671. 0x000LocalVar:SpclChance <- 8
  10672. 0x006SCRIPT END
  10673.  
  10674. MAIN:
  10675.  
  10676. 0x000 If (Not (Random MOD LocalVar:SpclChance) )
  10677. 0x000 {
  10678. 0x009 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  10679. 0x018 Perform("Thunder Kiss"[01E2], EnemyAttack)
  10680. 0x01E }
  10681. 0x01E Else
  10682. 0x01E {
  10683. 0x021 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  10684. 0x030 Perform("Chute Attack"[01E1], EnemyAttack)
  10685. 0x036 If (Not (Random MOD LocalVar:SpclChance) )
  10686. 0x036 {
  10687. 0x03F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  10688. 0x04E Perform("Chute Attack"[01E1], EnemyAttack)
  10689. 0x054SCRIPT END
  10690.  
  10691.  
  10692. GENERAL COUNTER:
  10693.  
  10694. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  10695. 0x000 {
  10696. 0x018 LocalVar:SpclChance <- 2
  10697. 0x01E }
  10698. 0x01E Else
  10699. 0x01E {
  10700. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  10701. 0x021 {
  10702. 0x039 LocalVar:SpclChance <- 4
  10703. 0x03F }
  10704. 0x03F Else
  10705. 0x03F {
  10706. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  10707. 0x042 {
  10708. 0x05A LocalVar:SpclChance <- 6
  10709. 0x060 }
  10710. 0x060 Else
  10711. 0x060 {
  10712. 0x063 LocalVar:SpclChance <- 8
  10713. 0x069SCRIPT END
  10714.  
  10715.  
  10716.  
  10717.  
  10718. 102 - [66] Bloatfloat
  10719.  
  10720.  
  10721. LocalVar:0000 = LocalVar:Counter
  10722.  
  10723. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10724. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10725.  
  10726. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  10727.  
  10728.  
  10729.  
  10730. MAIN:
  10731.  
  10732. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10733. 0x008 If (Not (Random MOD 2) )
  10734. 0x008 {
  10735. 0x010 Perform("Bodyblow"[0126], EnemyAttack)
  10736. 0x016 }
  10737. 0x016 Else
  10738. 0x016 {
  10739. 0x019 Perform("Vacuum"[01E3], EnemyAttack)
  10740. 0x01FSCRIPT END
  10741.  
  10742.  
  10743. MAGIC COUNTER:
  10744.  
  10745. 0x000 If ( (LocalVar:Counter == 0) )
  10746. 0x000 {
  10747. 0x009 Bad Code0x014 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  10748. 0x016 Perform("Spiky Hell"[01E4], EnemyAttack)
  10749. 0x01C LocalVar:Counter <- 1
  10750. 0x022SCRIPT END
  10751.  
  10752. NOTE - 0x013 uses HMSK
  10753.  
  10754.  
  10755.  
  10756.  
  10757. 103 - [67] Bagnadrana
  10758.  
  10759.  
  10760. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10761. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10762.  
  10763.  
  10764.  
  10765. MAIN:
  10766.  
  10767. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10768. 0x008 If (Random MOD 4 == 0)
  10769. 0x008 {
  10770. 0x011 Perform("Fang"[0189], EnemyAttack)
  10771. 0x017 }
  10772. 0x017 Else
  10773. 0x017 {
  10774. 0x01A }
  10775. 0x01A Else
  10776. 0x01A {
  10777. 0x01D If (Random MOD 4 == 1)
  10778. 0x01D {
  10779. 0x022 Perform("Claw"[01BE], EnemyAttack)
  10780. 0x028 }
  10781. 0x028 Else
  10782. 0x028 {
  10783. 0x02B }
  10784. 0x02B Else
  10785. 0x02B {
  10786. 0x02E If (Random MOD 4 == 2)
  10787. 0x02E {
  10788. 0x033 Perform("Horn"[01E5], EnemyAttack)
  10789. 0x039 }
  10790. 0x039 Else
  10791. 0x039 {
  10792. 0x03C }
  10793. 0x03C Else
  10794. 0x03C {
  10795. 0x03F Perform("Poison Breath"[01E6], EnemyAttack)
  10796. 0x045 }
  10797. 0x045 Else
  10798. 0x045 {
  10799. 0x048POP(Random MOD 4)
  10800. 0x049SCRIPT END
  10801.  
  10802.  
  10803.  
  10804.  
  10805. 104 - [68] Cokatolis
  10806.  
  10807.  
  10808. LocalVar:0000 = LocalVar:Count
  10809. LocalVar:0020 = LocalVar:HitCount
  10810. LocalVar:0040 = LocalVar:SpclHitCount
  10811.  
  10812. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10813. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10814.  
  10815. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  10816. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  10817.  
  10818.  
  10819.  
  10820. PRE-BATTLE:
  10821.  
  10822. 0x000LocalVar:HitCount <- 8
  10823. 0x006LocalVar:SpclHitCount <- 2
  10824. 0x00CSCRIPT END
  10825.  
  10826.  
  10827. MAIN:
  10828.  
  10829. 0x000 If (LocalVar:Count == 0)
  10830. 0x000 {
  10831. 0x008 If ( ( (Not (Random MOD 4) And (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) ) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  10832. 0x008 {
  10833. 0x026 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  10834. 0x034 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  10835. 0x042 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  10836. 0x04A Perform("Petrify Smog"[01E8], EnemyAttack)
  10837. 0x050 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  10838. 0x05A LocalVar:Count <- 1
  10839. 0x060 }
  10840. 0x060 Else
  10841. 0x060 {
  10842. 0x063 }
  10843. 0x063 Else
  10844. 0x063 {
  10845. 0x066 If (LocalVar:Count == 1)
  10846. 0x066 {
  10847. 0x06B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  10848. 0x06B {
  10849. 0x083 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  10850. 0x091 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  10851. 0x09F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  10852. 0x0A7 If (Not (Random MOD 2) )
  10853. 0x0A7 {
  10854. 0x0AF Perform("Beak"[01E7], EnemyAttack)
  10855. 0x0B5 }
  10856. 0x0B5 Else
  10857. 0x0B5 {
  10858. 0x0B8 Perform("Bird Kick"[01B6], EnemyAttack)
  10859. 0x0BE LocalVar:HitCount <- LocalVar:HitCount - 1
  10860. 0x0C8 If (Not (LocalVar:HitCount) )
  10861. 0x0C8 {
  10862. 0x0CF LocalVar:Count <- 2
  10863. 0x0D5 }
  10864. 0x0D5 Else
  10865. 0x0D5 {
  10866. 0x0D8 LocalVar:Count <- 1
  10867. 0x0DE }
  10868. 0x0DE Else
  10869. 0x0DE {
  10870. 0x0E1 }
  10871. 0x0E1 Else
  10872. 0x0E1 {
  10873. 0x0E4 If ( (LocalVar:SpclHitCount And Not (Random MOD 3) ) )
  10874. 0x0E4 {
  10875. 0x0F0 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  10876. 0x0F0 {
  10877. 0x108 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  10878. 0x116 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  10879. 0x124 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  10880. 0x12C Perform("Petrify Smog"[01E8], EnemyAttack)
  10881. 0x132 LocalVar:HitCount <- 8
  10882. 0x138 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  10883. 0x142 }
  10884. 0x142 Else
  10885. 0x142 {
  10886. 0x145 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  10887. 0x145 {
  10888. 0x15D BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  10889. 0x16B BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  10890. 0x179 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  10891. 0x181 If (Not (Random MOD 2) )
  10892. 0x181 {
  10893. 0x189 Perform("Beak"[01E7], EnemyAttack)
  10894. 0x18F }
  10895. 0x18F Else
  10896. 0x18F {
  10897. 0x192 Perform("Bird Kick"[01B6], EnemyAttack)
  10898. 0x198 LocalVar:Count <- 1
  10899. 0x19E }
  10900. 0x19E Else
  10901. 0x19E {
  10902. 0x1A1POP(LocalVar:Count)
  10903. 0x1A2SCRIPT END
  10904.  
  10905.  
  10906.  
  10907.  
  10908. 105 - [69] Bomb
  10909.  
  10910.  
  10911. LocalVar:0000 = LocalVar:Stage
  10912.  
  10913. BattleAddr(&2060) = BattleAddr(&Self)
  10914. BattleAddr(&2070) = BattleAddr(&TarSelected)
  10915. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  10916.  
  10917. BattleAddr(&4098) = BattleAddr(&ModelSize)
  10918. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  10919. BattleAddr(&4180) = BattleAddr(&MaxHP)
  10920.  
  10921.  
  10922.  
  10923. MAIN:
  10924.  
  10925. 0x000 If (LocalVar:Stage == 0)
  10926. 0x000 {
  10927. 0x008 If (Not (Random MOD 2) )
  10928. 0x008 {
  10929. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10930. 0x018 Perform("Bodyblow"[0126], EnemyAttack)
  10931. 0x01E }
  10932. 0x01E Else
  10933. 0x01E {
  10934. 0x021 }
  10935. 0x021 Else
  10936. 0x021 {
  10937. 0x024 If (LocalVar:Stage == 1)
  10938. 0x024 {
  10939. 0x029 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10940. 0x031 If (Random MOD 4 == 0)
  10941. 0x031 {
  10942. 0x03A }
  10943. 0x03A Else
  10944. 0x03A {
  10945. 0x03D }
  10946. 0x03D Else
  10947. 0x03D {
  10948. 0x040 If (Random MOD 4 == 1)
  10949. 0x040 {
  10950. 0x045 Perform("Fireball"[01E9], EnemyAttack)
  10951. 0x04B }
  10952. 0x04B Else
  10953. 0x04B {
  10954. 0x04E }
  10955. 0x04E Else
  10956. 0x04E {
  10957. 0x051 Perform("Bodyblow"[0172], EnemyAttack)
  10958. 0x057 }
  10959. 0x057 Else
  10960. 0x057 {
  10961. 0x05A POP(Random MOD 4)
  10962. 0x05B }
  10963. 0x05B Else
  10964. 0x05B {
  10965. 0x05E }
  10966. 0x05E Else
  10967. 0x05E {
  10968. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10969. 0x069 If (Not (Random MOD 2) )
  10970. 0x069 {
  10971. 0x071 Perform("Bodyblow"[012D], EnemyAttack)
  10972. 0x077 }
  10973. 0x077 Else
  10974. 0x077 {
  10975. 0x07A Perform("Fireball"[01E9], EnemyAttack)
  10976. 0x080 }
  10977. 0x080 Else
  10978. 0x080 {
  10979. 0x083POP(LocalVar:Stage)
  10980. 0x084SCRIPT END
  10981.  
  10982.  
  10983. GENERAL COUNTER:
  10984.  
  10985. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  10986. 0x000 {
  10987. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  10988. 0x020 Perform("Bomb Blast"[01EA], EnemyAttack)
  10989. 0x026 BattleAddr(&Self).BattleAddr(&4020) <- 0
  10990. 0x030 BattleAddr(&Self).BattleAddr(&4023) <- 0
  10991. 0x03A BattleAddr(&Self).BattleAddr(&4022) <- 0
  10992. 0x044 BattleAddr(&Self).BattleAddr(&4024) <- 0
  10993. 0x04E }
  10994. 0x04E Else
  10995. 0x04E {
  10996. 0x051 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  10997. 0x051 {
  10998. 0x069 If ( (LocalVar:Stage < 2) )
  10999. 0x069 {
  11000. 0x072 BattleAddr(&Self).BattleAddr(&ModelSize) <- BattleAddr(&Self).BattleAddr(&ModelSize) + 8
  11001. 0x084 LocalVar:Stage <- 2
  11002. 0x08A }
  11003. 0x08A Else
  11004. 0x08A {
  11005. 0x08D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  11006. 0x08D {
  11007. 0x0A5 If ( (LocalVar:Stage < 1) )
  11008. 0x0A5 {
  11009. 0x0AE BattleAddr(&Self).BattleAddr(&ModelSize) <- BattleAddr(&Self).BattleAddr(&ModelSize) + 8
  11010. 0x0C0 LocalVar:Stage <- 1
  11011. 0x0C6SCRIPT END
  11012.  
  11013.  
  11014.  
  11015.  
  11016. 106 - [6A] Death Claw
  11017.  
  11018.  
  11019. LocalVar:0000 = LocalVar:SelfBarrier
  11020. LocalVar:0020 = LocalVar:EnemyAttack
  11021. LocalVar:0040 = LocalVar:TarSelected
  11022.  
  11023. BattleAddr(&2060) = BattleAddr(&Self)
  11024. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11025. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11026.  
  11027. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  11028. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  11029.  
  11030.  
  11031.  
  11032. MAIN:
  11033.  
  11034. 0x000LocalVar:SelfBarrier <- 0
  11035. 0x006 If ( (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 1) )
  11036. 0x006 {
  11037. 0x013 LocalVar:SelfBarrier <- LocalVar:SelfBarrier OR 1
  11038. 0x01D If ( (BattleAddr(&Self).BattleAddr(&MBarrierStatus) == 1) )
  11039. 0x01D {
  11040. 0x02A LocalVar:SelfBarrier <- LocalVar:SelfBarrier OR 2
  11041. 0x034 If (LocalVar:SelfBarrier == 0)
  11042. 0x034 {
  11043. 0x03C If (Random MOD 4 == 0)
  11044. 0x03C {
  11045. 0x045 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11046. 0x04D LocalVar:EnemyAttack <- 491 (Claw)
  11047. 0x054 }
  11048. 0x054 Else
  11049. 0x054 {
  11050. 0x057 }
  11051. 0x057 Else
  11052. 0x057 {
  11053. 0x05A If (Random MOD 4 == 1)
  11054. 0x05A {
  11055. 0x05F LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11056. 0x067 LocalVar:EnemyAttack <- 492 (Death Claw)
  11057. 0x06E }
  11058. 0x06E Else
  11059. 0x06E {
  11060. 0x071 }
  11061. 0x071 Else
  11062. 0x071 {
  11063. 0x074 If (Random MOD 4 == 2)
  11064. 0x074 {
  11065. 0x079 LocalVar:TarSelected <- BattleAddr(&Self)
  11066. 0x080 LocalVar:EnemyAttack <- 15 (Barrier)
  11067. 0x086 }
  11068. 0x086 Else
  11069. 0x086 {
  11070. 0x089 }
  11071. 0x089 Else
  11072. 0x089 {
  11073. 0x08C LocalVar:TarSelected <- BattleAddr(&Self)
  11074. 0x093 LocalVar:EnemyAttack <- 16 (MBarrier)
  11075. 0x099 }
  11076. 0x099 Else
  11077. 0x099 {
  11078. 0x09C POP(Random MOD 4)
  11079. 0x09D }
  11080. 0x09D Else
  11081. 0x09D {
  11082. 0x0A0 }
  11083. 0x0A0 Else
  11084. 0x0A0 {
  11085. 0x0A3 If (LocalVar:SelfBarrier == 1)
  11086. 0x0A3 {
  11087. 0x0A8 If (Random MOD 4 == 0)
  11088. 0x0A8 {
  11089. 0x0B1 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11090. 0x0B9 LocalVar:EnemyAttack <- 491 (Claw)
  11091. 0x0C0 }
  11092. 0x0C0 Else
  11093. 0x0C0 {
  11094. 0x0C3 }
  11095. 0x0C3 Else
  11096. 0x0C3 {
  11097. 0x0C6 If (Random MOD 4 == 1)
  11098. 0x0C6 {
  11099. 0x0CB LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11100. 0x0D3 LocalVar:EnemyAttack <- 492 (Death Claw)
  11101. 0x0DA }
  11102. 0x0DA Else
  11103. 0x0DA {
  11104. 0x0DD }
  11105. 0x0DD Else
  11106. 0x0DD {
  11107. 0x0E0 If (Random MOD 4 == 2)
  11108. 0x0E0 {
  11109. 0x0E5 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11110. 0x0ED LocalVar:EnemyAttack <- 81 (Laser)
  11111. 0x0F3 }
  11112. 0x0F3 Else
  11113. 0x0F3 {
  11114. 0x0F6 }
  11115. 0x0F6 Else
  11116. 0x0F6 {
  11117. 0x0F9 LocalVar:TarSelected <- BattleAddr(&Self)
  11118. 0x100 LocalVar:EnemyAttack <- 16 (MBarrier)
  11119. 0x106 }
  11120. 0x106 Else
  11121. 0x106 {
  11122. 0x109 POP(Random MOD 4)
  11123. 0x10A }
  11124. 0x10A Else
  11125. 0x10A {
  11126. 0x10D }
  11127. 0x10D Else
  11128. 0x10D {
  11129. 0x110 If (LocalVar:SelfBarrier == 2)
  11130. 0x110 {
  11131. 0x115 If (Random MOD 4 == 0)
  11132. 0x115 {
  11133. 0x11E LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11134. 0x126 LocalVar:EnemyAttack <- 491 (Claw)
  11135. 0x12D }
  11136. 0x12D Else
  11137. 0x12D {
  11138. 0x130 }
  11139. 0x130 Else
  11140. 0x130 {
  11141. 0x133 If (Random MOD 4 == 1)
  11142. 0x133 {
  11143. 0x138 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11144. 0x140 LocalVar:EnemyAttack <- 492 (Death Claw)
  11145. 0x147 }
  11146. 0x147 Else
  11147. 0x147 {
  11148. 0x14A }
  11149. 0x14A Else
  11150. 0x14A {
  11151. 0x14D If (Random MOD 4 == 2)
  11152. 0x14D {
  11153. 0x152 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11154. 0x15A LocalVar:EnemyAttack <- 81 (Laser)
  11155. 0x160 }
  11156. 0x160 Else
  11157. 0x160 {
  11158. 0x163 }
  11159. 0x163 Else
  11160. 0x163 {
  11161. 0x166 LocalVar:TarSelected <- BattleAddr(&Self)
  11162. 0x16D LocalVar:EnemyAttack <- 15 (Barrier)
  11163. 0x173 }
  11164. 0x173 Else
  11165. 0x173 {
  11166. 0x176 POP(Random MOD 4)
  11167. 0x177 }
  11168. 0x177 Else
  11169. 0x177 {
  11170. 0x17A }
  11171. 0x17A Else
  11172. 0x17A {
  11173. 0x17D If (Random MOD 4 == 0)
  11174. 0x17D {
  11175. 0x186 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11176. 0x18E LocalVar:EnemyAttack <- 491 (Claw)
  11177. 0x195 }
  11178. 0x195 Else
  11179. 0x195 {
  11180. 0x198 }
  11181. 0x198 Else
  11182. 0x198 {
  11183. 0x19B If (Random MOD 4 == 1)
  11184. 0x19B {
  11185. 0x1A0 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11186. 0x1A8 LocalVar:EnemyAttack <- 81 (Laser)
  11187. 0x1AE }
  11188. 0x1AE Else
  11189. 0x1AE {
  11190. 0x1B1 }
  11191. 0x1B1 Else
  11192. 0x1B1 {
  11193. 0x1B4 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11194. 0x1BC LocalVar:EnemyAttack <- 492 (Death Claw)
  11195. 0x1C3 }
  11196. 0x1C3 Else
  11197. 0x1C3 {
  11198. 0x1C6 POP(Random MOD 4)
  11199. 0x1C7 }
  11200. 0x1C7 Else
  11201. 0x1C7 {
  11202. 0x1CAPOP(LocalVar:SelfBarrier)
  11203. 0x1CBBattleAddr(&TarSelected) <- LocalVar:TarSelected
  11204. 0x1D2Perform(LocalVar:EnemyAttack, EnemyAttack)
  11205. 0x1D8SCRIPT END
  11206.  
  11207.  
  11208.  
  11209.  
  11210. 107 - [6B] 2-Faced
  11211.  
  11212.  
  11213. LocalVar:0000 = LocalVar:OtherActors
  11214. LocalVar:0020 = LocalVar:Other2-FacedEnemis
  11215.  
  11216. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  11217. BattleAddr(&2060) = BattleAddr(&Self)
  11218. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11219. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11220.  
  11221. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  11222. BattleAddr(&4020) = BattleAddr(&SelfActive)
  11223. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  11224. BattleAddr(&4023) = BattleAddr(&Targetable)
  11225. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  11226. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  11227. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  11228.  
  11229.  
  11230.  
  11231. GENERAL COUNTER:
  11232.  
  11233. 0x000LocalVar:OtherActors <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  11234. 0x014LocalVar:OtherActors <- LocalVar:OtherActors AND NOT BattleAddr(&Self)
  11235. 0x020LocalVar:Other2-FacedEnemis <- (LocalVar:OtherActors.BattleAddr(&IndexOfActor) == 107)
  11236. 0x02E If ( ( (LocalVar:OtherActors.BattleAddr(&DeathStatus) == 1) And (LocalVar:Other2-FacedEnemis.BattleAddr(&DeathStatus) == 0) ) )
  11237. 0x02E {
  11238. 0x046 If (Not (Random MOD 2) )
  11239. 0x046 {
  11240. 0x04E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11241. 0x056 Perform("Self-destruct"[01ED], EnemyAttack)
  11242. 0x05C BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  11243. 0x066 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  11244. 0x070 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  11245. 0x07A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  11246. 0x084 }
  11247. 0x084 Else
  11248. 0x084 {
  11249. 0x087 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11250. 0x08E Perform("Cure3"[0002], EnemyAttack)
  11251. 0x093 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  11252. 0x09D BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  11253. 0x0A7 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  11254. 0x0B1 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  11255. 0x0BB }
  11256. 0x0BB Else
  11257. 0x0BB {
  11258. 0x0BE If (Random MOD 8 == 0)
  11259. 0x0BE {
  11260. 0x0C7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11261. 0x0CF Perform("Self-destruct"[01ED], EnemyAttack)
  11262. 0x0D5 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  11263. 0x0DF BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  11264. 0x0E9 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  11265. 0x0F3 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  11266. 0x0FD }
  11267. 0x0FD Else
  11268. 0x0FD {
  11269. 0x100 }
  11270. 0x100 Else
  11271. 0x100 {
  11272. 0x103 If (Random MOD 8 == 1)
  11273. 0x103 {
  11274. 0x108 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11275. 0x10F Perform("Cure3"[0002], EnemyAttack)
  11276. 0x114 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  11277. 0x11E BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  11278. 0x128 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  11279. 0x132 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  11280. 0x13C }
  11281. 0x13C Else
  11282. 0x13C {
  11283. 0x13F }
  11284. 0x13F Else
  11285. 0x13F {
  11286. 0x142 }
  11287. 0x142 Else
  11288. 0x142 {
  11289. 0x145 POP(Random MOD 8)
  11290. 0x146SCRIPT END
  11291.  
  11292.  
  11293.  
  11294.  
  11295. 108 - [6C] Bandit
  11296.  
  11297.  
  11298. LocalVar:0000 = LocalVar:Count
  11299. LocalVar:0020 = LocalVar:TarSelected
  11300.  
  11301. BattleAddr(&2060) = BattleAddr(&Self)
  11302. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11303. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11304.  
  11305. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  11306. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  11307.  
  11308.  
  11309.  
  11310. PRE-BATTLE:
  11311.  
  11312. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  11313. 0x008SCRIPT END
  11314.  
  11315.  
  11316. MAIN:
  11317.  
  11318. 0x000 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  11319. 0x000 {
  11320. 0x00D BattleAddr(&TarSelected) <- LocalVar:TarSelected
  11321. 0x014 }
  11322. 0x014 Else
  11323. 0x014 {
  11324. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11325. 0x01F If (LocalVar:Count == 0)
  11326. 0x01F {
  11327. 0x027 If (Random MOD 4 == 0)
  11328. 0x027 {
  11329. 0x030 LocalVar:Count <- 1
  11330. 0x036 }
  11331. 0x036 Else
  11332. 0x036 {
  11333. 0x039 }
  11334. 0x039 Else
  11335. 0x039 {
  11336. 0x03C LocalVar:Count <- 2 (Cure3)
  11337. 0x042 }
  11338. 0x042 Else
  11339. 0x042 {
  11340. 0x045 POP(Random MOD 4)
  11341. 0x046 }
  11342. 0x046 Else
  11343. 0x046 {
  11344. 0x049 }
  11345. 0x049 Else
  11346. 0x049 {
  11347. 0x04C If (LocalVar:Count == 1)
  11348. 0x04C {
  11349. 0x051 Perform("Hold-up"[01EE], EnemyAttack)
  11350. 0x057 If (Not (Random MOD 2) )
  11351. 0x057 {
  11352. 0x05F LocalVar:Count <- 3
  11353. 0x065 }
  11354. 0x065 Else
  11355. 0x065 {
  11356. 0x068 LocalVar:Count <- 4
  11357. 0x06E }
  11358. 0x06E Else
  11359. 0x06E {
  11360. 0x071 }
  11361. 0x071 Else
  11362. 0x071 {
  11363. 0x074 If (LocalVar:Count == 2)
  11364. 0x074 {
  11365. 0x079 Perform("Mug"[01EF], EnemyAttack)
  11366. 0x07F If (Not (Random MOD 2) )
  11367. 0x07F {
  11368. 0x087 LocalVar:Count <- 3
  11369. 0x08D }
  11370. 0x08D Else
  11371. 0x08D {
  11372. 0x090 LocalVar:Count <- 4
  11373. 0x096 }
  11374. 0x096 Else
  11375. 0x096 {
  11376. 0x099 }
  11377. 0x099 Else
  11378. 0x099 {
  11379. 0x09C If (LocalVar:Count == 3)
  11380. 0x09C {
  11381. 0x0A1 LocalVar:Count <- 4
  11382. 0x0A7 }
  11383. 0x0A7 Else
  11384. 0x0A7 {
  11385. 0x0AA }
  11386. 0x0AA Else
  11387. 0x0AA {
  11388. 0x0AD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  11389. 0x0B4 Perform("Escape"[0138], EnemyAttack)
  11390. 0x0BA BattleAddr(&Self).BattleAddr(&4020) <- 0
  11391. 0x0C4 BattleAddr(&Self).BattleAddr(&4023) <- 0
  11392. 0x0CE BattleAddr(&Self).BattleAddr(&4022) <- 0
  11393. 0x0D8 BattleAddr(&Self).BattleAddr(&4024) <- 0
  11394. 0x0E2POP(LocalVar:Count)
  11395. 0x0E3SCRIPT END
  11396.  
  11397.  
  11398. GENERAL COUNTER:
  11399.  
  11400. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  11401. 0x00BSCRIPT END
  11402.  
  11403.  
  11404.  
  11405.  
  11406. 109 - [6D] Bullmotor
  11407.  
  11408.  
  11409. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11410. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11411.  
  11412. BattleAddr(&4026) = BattleAddr(&BackRow)
  11413.  
  11414.  
  11415.  
  11416. MAIN:
  11417.  
  11418. 0x000 If (Not (Random MOD 2) )
  11419. 0x000 {
  11420. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  11421. 0x008 {
  11422. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  11423. 0x024 }
  11424. 0x024 Else
  11425. 0x024 {
  11426. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11427. 0x02F Perform("Bodyblow"[0172], EnemyAttack)
  11428. 0x035 }
  11429. 0x035 Else
  11430. 0x035 {
  11431. 0x038 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11432. 0x03F Perform("Matra Magic"[0052], EnemyAttack)
  11433. 0x044SCRIPT END
  11434.  
  11435.  
  11436.  
  11437.  
  11438. 110 - [6E] Land Worm
  11439.  
  11440.  
  11441. BattleAddr(&2060) = BattleAddr(&Self)
  11442. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11443. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11444.  
  11445. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  11446. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  11447. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  11448. BattleAddr(&4180) = BattleAddr(&MaxHP)
  11449.  
  11450.  
  11451.  
  11452. MAIN:
  11453.  
  11454. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&PoisonStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&ConfusionStatus) == 1) ) )
  11455. 0x000 {
  11456. 0x018 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11457. 0x01F Perform("Sandstorm"[01F1], EnemyAttack)
  11458. 0x025 }
  11459. 0x025 Else
  11460. 0x025 {
  11461. 0x028 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  11462. 0x028 {
  11463. 0x03D If (Not (Random MOD 2) )
  11464. 0x03D {
  11465. 0x045 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11466. 0x04C Perform("Sandstorm"[01F1], EnemyAttack)
  11467. 0x052 }
  11468. 0x052 Else
  11469. 0x052 {
  11470. 0x055 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11471. 0x05C Perform("Earthquake"[01F0], EnemyAttack)
  11472. 0x062 }
  11473. 0x062 Else
  11474. 0x062 {
  11475. 0x065 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11476. 0x06C Perform("Earthquake"[01F0], EnemyAttack)
  11477. 0x072SCRIPT END
  11478.  
  11479.  
  11480.  
  11481.  
  11482. 111 - [6F] Dyne
  11483.  
  11484.  
  11485. LocalVar:0000 = LocalVar:1stChr
  11486. LocalVar:0020 = LocalVar:2ndChr
  11487. LocalVar:0040 = LocalVar:3rdChr
  11488. LocalVar:0060 = LocalVar:EnemyAttack
  11489. LocalVar:0080 = LocalVar:Stage
  11490.  
  11491. BattleAddr(&2060) = BattleAddr(&Self)
  11492. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11493. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11494.  
  11495. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  11496. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  11497. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  11498. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  11499. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  11500. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  11501. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  11502. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  11503. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  11504. BattleAddr(&4180) = BattleAddr(&MaxHP)
  11505.  
  11506.  
  11507.  
  11508. PRE-BATTLE:
  11509.  
  11510. 0x000LocalVar:Stage <- 3
  11511. 0x006LocalVar:1stChr <- FlagBit(0)
  11512. 0x00DLocalVar:2ndChr <- FlagBit(1)
  11513. 0x014LocalVar:3rdChr <- FlagBit(2)
  11514. 0x01BBattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  11515. 0x025SCRIPT END
  11516.  
  11517.  
  11518. MAIN:
  11519.  
  11520. 0x000 If (LocalVar:Stage == 0)
  11521. 0x000 {
  11522. 0x008 LocalVar:EnemyAttack <- 899 (Needle Gun)
  11523. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11524. 0x017 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11525. 0x01D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11526. 0x024 Perform("Molotov Cocktail"[0385], EnemyAttack)
  11527. 0x02A }
  11528. 0x02A Else
  11529. 0x02A {
  11530. 0x02D }
  11531. 0x02D Else
  11532. 0x02D {
  11533. 0x030 If (LocalVar:Stage == 1)
  11534. 0x030 {
  11535. 0x035 LocalVar:EnemyAttack <- 899 (Needle Gun)
  11536. 0x03C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11537. 0x044 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11538. 0x04A LocalVar:EnemyAttack <- 900 (S-Mine)
  11539. 0x051 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11540. 0x059 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11541. 0x05F }
  11542. 0x05F Else
  11543. 0x05F {
  11544. 0x062 }
  11545. 0x062 Else
  11546. 0x062 {
  11547. 0x065 If (LocalVar:Stage == 2)
  11548. 0x065 {
  11549. 0x06A If (Not (Random MOD 4) )
  11550. 0x06A {
  11551. 0x072 LocalVar:EnemyAttack <- 900 (S-Mine)
  11552. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11553. 0x081 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11554. 0x087 }
  11555. 0x087 Else
  11556. 0x087 {
  11557. 0x08A LocalVar:EnemyAttack <- 899 (Needle Gun)
  11558. 0x091 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11559. 0x099 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11560. 0x09F }
  11561. 0x09F Else
  11562. 0x09F {
  11563. 0x0A2 }
  11564. 0x0A2 Else
  11565. 0x0A2 {
  11566. 0x0A5 LocalVar:EnemyAttack <- 899 (Needle Gun)
  11567. 0x0AC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11568. 0x0B4 Perform(LocalVar:EnemyAttack, EnemyAttack)
  11569. 0x0BA }
  11570. 0x0BA Else
  11571. 0x0BA {
  11572. 0x0BDPOP(LocalVar:Stage)
  11573. 0x0BESCRIPT END
  11574.  
  11575.  
  11576. GENERAL COUNTER:
  11577.  
  11578. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  11579. 0x000 {
  11580. 0x018 LocalVar:Stage <- 0
  11581. 0x01E }
  11582. 0x01E Else
  11583. 0x01E {
  11584. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  11585. 0x021 {
  11586. 0x039 LocalVar:Stage <- 1
  11587. 0x03F }
  11588. 0x03F Else
  11589. 0x03F {
  11590. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  11591. 0x042 {
  11592. 0x05A LocalVar:Stage <- 2
  11593. 0x060 }
  11594. 0x060 Else
  11595. 0x060 {
  11596. 0x063 LocalVar:Stage <- 3
  11597. 0x069SCRIPT END
  11598.  
  11599.  
  11600. DEATH COUNTER:
  11601.  
  11602. 0x000 If (Not (Random MOD 2) )
  11603. 0x000 {
  11604. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  11605. 0x00F Perform("Molotov Cocktail"[0385], EnemyAttack)
  11606. 0x015Display String: "Dyne “Urgh!”"
  11607. 0x023Pause(0)
  11608. 0x028BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  11609. 0x032BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  11610. 0x03CBattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  11611. 0x046BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  11612. 0x050BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  11613. 0x05ABattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  11614. 0x064BattleAddr(&TarSelected) <- BattleAddr(&Self)
  11615. 0x06BPerform([011F], EnemyAttack)
  11616. 0x071BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  11617. 0x07BSCRIPT END
  11618.  
  11619.  
  11620.  
  11621.  
  11622. 112 - [70] Blank
  11623.  
  11624.  
  11625.  
  11626.  
  11627. 113 - [71] Spencer
  11628.  
  11629.  
  11630. LocalVar:0000 = LocalVar:ChocID
  11631. LocalVar:0020 = LocalVar:ChocPresent
  11632.  
  11633. GlobalVar(0054) = GlobalVar(CaughtChoc)
  11634.  
  11635. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  11636. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11637. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  11638. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11639.  
  11640. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  11641. BattleAddr(&4023) = BattleAddr(&Targetable)
  11642. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  11643. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  11644.  
  11645.  
  11646.  
  11647. PRE-BATTLE:
  11648.  
  11649. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  11650. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  11651. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  11652. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  11653. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  11654. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  11655. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  11656. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  11657. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  11658. 0x0A7 If (LocalVar:ChocID)
  11659. 0x0A7 {
  11660. 0x0AD LocalVar:ChocPresent <- 1
  11661. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  11662. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  11663. 0x0BE Display String: "A Chocobo!"
  11664. 0x0CASCRIPT END
  11665.  
  11666.  
  11667. MAIN:
  11668.  
  11669. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11670. 0x008 If (Not (Random MOD 2) )
  11671. 0x008 {
  11672. 0x010 Perform("Swordblade"[01F3], EnemyAttack)
  11673. 0x016 }
  11674. 0x016 Else
  11675. 0x016 {
  11676. 0x019 Perform("Upper Cutter"[01F4], EnemyAttack)
  11677. 0x01FSCRIPT END
  11678.  
  11679.  
  11680. DEATH COUNTER:
  11681.  
  11682. 0x000 If ( (LocalVar:ChocPresent == 1) )
  11683. 0x000 {
  11684. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  11685. 0x009 {
  11686. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  11687. 0x013 {
  11688. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  11689. 0x035 Display String: "Caught a Chocobo."
  11690. 0x048 BattleAddr(&MemBank1/2) <- 1
  11691. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  11692. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  11693. 0x05DSCRIPT END
  11694.  
  11695.  
  11696.  
  11697.  
  11698. 114 - [72] Joker
  11699.  
  11700.  
  11701. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11702. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11703.  
  11704.  
  11705.  
  11706. MAIN:
  11707.  
  11708. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11709. 0x008 If (Random MOD 8 == 0)
  11710. 0x008 {
  11711. 0x011 Perform("Heart"[0154], EnemyAttack)
  11712. 0x017 }
  11713. 0x017 Else
  11714. 0x017 {
  11715. 0x01A }
  11716. 0x01A Else
  11717. 0x01A {
  11718. 0x01D If (Random MOD 8 == 1)
  11719. 0x01D {
  11720. 0x022 Perform("Club"[0155], EnemyAttack)
  11721. 0x028 }
  11722. 0x028 Else
  11723. 0x028 {
  11724. 0x02B }
  11725. 0x02B Else
  11726. 0x02B {
  11727. 0x02E If (Random MOD 8 == 2)
  11728. 0x02E {
  11729. 0x033 Perform("Diamond"[0156], EnemyAttack)
  11730. 0x039 }
  11731. 0x039 Else
  11732. 0x039 {
  11733. 0x03C }
  11734. 0x03C Else
  11735. 0x03C {
  11736. 0x03F If (Random MOD 8 == 3)
  11737. 0x03F {
  11738. 0x044 Perform("Joker"[0157], EnemyAttack)
  11739. 0x04A }
  11740. 0x04A Else
  11741. 0x04A {
  11742. 0x04D }
  11743. 0x04D Else
  11744. 0x04D {
  11745. 0x050 If (Random MOD 8 == 4)
  11746. 0x050 {
  11747. 0x055 }
  11748. 0x055 Else
  11749. 0x055 {
  11750. 0x058 If (Random MOD 8 == 5)
  11751. 0x058 {
  11752. 0x05D Perform("Spinning Card"[0152], EnemyAttack)
  11753. 0x063 }
  11754. 0x063 Else
  11755. 0x063 {
  11756. 0x066 }
  11757. 0x066 Else
  11758. 0x066 {
  11759. 0x069 Perform("Spade"[0153], EnemyAttack)
  11760. 0x06F }
  11761. 0x06F Else
  11762. 0x06F {
  11763. 0x072POP(Random MOD 8)
  11764. 0x073SCRIPT END
  11765.  
  11766.  
  11767.  
  11768.  
  11769. 115 - [73] Flapbeat
  11770.  
  11771.  
  11772. LocalVar:0000 = LocalVar:GroupID
  11773. LocalVar:0020 = LocalVar:ChocID
  11774. LocalVar:0040 = LocalVar:ChocPresent
  11775.  
  11776. GlobalVar(0054) = GlobalVar(CaughtChoc)
  11777.  
  11778. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  11779. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  11780. BattleAddr(&2060) = BattleAddr(&Self)
  11781. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11782. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  11783. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11784.  
  11785. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  11786. BattleAddr(&4023) = BattleAddr(&Targetable)
  11787. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  11788. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  11789. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  11790.  
  11791.  
  11792.  
  11793. PRE-BATTLE:
  11794.  
  11795. 0x000LocalVar:GroupID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  11796. 0x014LocalVar:GroupID <- LocalVar:GroupID AND NOT BattleAddr(&Self)
  11797. 0x020LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  11798. 0x02FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  11799. 0x042LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  11800. 0x055LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  11801. 0x068LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  11802. 0x07BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  11803. 0x08ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  11804. 0x0A1LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  11805. 0x0B4LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  11806. 0x0C7 If (LocalVar:ChocID)
  11807. 0x0C7 {
  11808. 0x0CD LocalVar:ChocPresent <- 1
  11809. 0x0D3 BattleAddr(&MemBank1/2) <- 0
  11810. 0x0D9 GlobalVar(CaughtChoc) <- &TempGlobal)
  11811. 0x0DE Display String: "A Chocobo!"
  11812. 0x0EASCRIPT END
  11813.  
  11814.  
  11815. MAIN:
  11816.  
  11817. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11818. 0x008 If ( (LocalVar:GroupID.BattleAddr(&DeathStatus) == 0) )
  11819. 0x008 {
  11820. 0x015 If (Random MOD 4 == 0)
  11821. 0x015 {
  11822. 0x01E Perform("Flying Sickle"[01FC], EnemyAttack)
  11823. 0x024 }
  11824. 0x024 Else
  11825. 0x024 {
  11826. 0x027 }
  11827. 0x027 Else
  11828. 0x027 {
  11829. 0x02A Perform("Tailbeat"[01FB], EnemyAttack)
  11830. 0x030 }
  11831. 0x030 Else
  11832. 0x030 {
  11833. 0x033 POP(Random MOD 4)
  11834. 0x034 }
  11835. 0x034 Else
  11836. 0x034 {
  11837. 0x037 If (Random MOD 3 == 0)
  11838. 0x037 {
  11839. 0x040 Perform("Tailbeat"[01FB], EnemyAttack)
  11840. 0x046 }
  11841. 0x046 Else
  11842. 0x046 {
  11843. 0x049 }
  11844. 0x049 Else
  11845. 0x049 {
  11846. 0x04C Perform("Flying Sickle"[01FC], EnemyAttack)
  11847. 0x052 }
  11848. 0x052 Else
  11849. 0x052 {
  11850. 0x055 POP(Random MOD 3)
  11851. 0x056SCRIPT END
  11852.  
  11853.  
  11854. DEATH COUNTER:
  11855.  
  11856. 0x000 If ( (LocalVar:ChocPresent == 1) )
  11857. 0x000 {
  11858. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  11859. 0x009 {
  11860. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  11861. 0x013 {
  11862. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  11863. 0x035 Display String: "Caught a Chocobo."
  11864. 0x048 BattleAddr(&MemBank1/2) <- 1
  11865. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  11866. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  11867. 0x05DSCRIPT END
  11868.  
  11869.  
  11870.  
  11871.  
  11872. 116 - [74] Harpy
  11873.  
  11874.  
  11875. LocalVar:0000 = LocalVar:Count
  11876. LocalVar:0020 = LocalVar:ChocID
  11877. LocalVar:0040 = LocalVar:ChocPresent
  11878.  
  11879. GlobalVar(0054) = GlobalVar(CaughtChoc)
  11880.  
  11881. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  11882. BattleAddr(&2060) = BattleAddr(&Self)
  11883. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11884. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  11885. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11886.  
  11887. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  11888. BattleAddr(&4023) = BattleAddr(&Targetable)
  11889. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  11890. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  11891. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  11892. BattleAddr(&4180) = BattleAddr(&MaxHP)
  11893.  
  11894.  
  11895.  
  11896. PRE-BATTLE:
  11897.  
  11898. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  11899. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  11900. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  11901. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  11902. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  11903. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  11904. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  11905. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  11906. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  11907. 0x0A7 If (LocalVar:ChocID)
  11908. 0x0A7 {
  11909. 0x0AD LocalVar:ChocPresent <- 1
  11910. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  11911. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  11912. 0x0BE Display String: "A Chocobo!"
  11913. 0x0CALocalVar:Count <- Random MOD 2
  11914. 0x0D2SCRIPT END
  11915.  
  11916.  
  11917. MAIN:
  11918.  
  11919. 0x000 If (LocalVar:Count == 0)
  11920. 0x000 {
  11921. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11922. 0x010 Perform("Poison Storm"[0394], EnemyAttack)
  11923. 0x016 LocalVar:Count <- LocalVar:Count + 1
  11924. 0x020 }
  11925. 0x020 Else
  11926. 0x020 {
  11927. 0x023 }
  11928. 0x023 Else
  11929. 0x023 {
  11930. 0x026 If (LocalVar:Count == 1)
  11931. 0x026 {
  11932. 0x02B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11933. 0x033 Perform("Claw"[020F], EnemyAttack)
  11934. 0x039 LocalVar:Count <- LocalVar:Count + 1
  11935. 0x043 }
  11936. 0x043 Else
  11937. 0x043 {
  11938. 0x046 }
  11939. 0x046 Else
  11940. 0x046 {
  11941. 0x049 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  11942. 0x051 Perform("Aqualung"[0055], EnemyAttack)
  11943. 0x056 LocalVar:Count <- 0
  11944. 0x05C }
  11945. 0x05C Else
  11946. 0x05C {
  11947. 0x05FPOP(LocalVar:Count)
  11948. 0x060SCRIPT END
  11949.  
  11950.  
  11951. GENERAL COUNTER:
  11952.  
  11953. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  11954. 0x000 {
  11955. 0x018 LocalVar:ChocID <- 3
  11956. 0x01E }
  11957. 0x01E Else
  11958. 0x01E {
  11959. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  11960. 0x021 {
  11961. 0x039 LocalVar:ChocID <- 4
  11962. 0x03F }
  11963. 0x03F Else
  11964. 0x03F {
  11965. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  11966. 0x042 {
  11967. 0x05A LocalVar:ChocID <- 5
  11968. 0x060 }
  11969. 0x060 Else
  11970. 0x060 {
  11971. 0x063 LocalVar:ChocID <- 8
  11972. 0x069SCRIPT END
  11973.  
  11974.  
  11975. DEATH COUNTER:
  11976.  
  11977. 0x000 If ( (LocalVar:ChocPresent == 1) )
  11978. 0x000 {
  11979. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  11980. 0x009 {
  11981. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  11982. 0x013 {
  11983. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  11984. 0x035 Display String: "Caught a Chocobo."
  11985. 0x048 BattleAddr(&MemBank1/2) <- 1
  11986. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  11987. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  11988. 0x05DSCRIPT END
  11989.  
  11990.  
  11991.  
  11992.  
  11993. 117 - [75] Grand Horn
  11994.  
  11995.  
  11996. BattleAddr(&2070) = BattleAddr(&TarSelected)
  11997. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  11998.  
  11999.  
  12000.  
  12001. MAIN:
  12002.  
  12003. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12004. 0x008 If (Not (Random MOD 2) )
  12005. 0x008 {
  12006. 0x010 Perform("Punch"[0185], EnemyAttack)
  12007. 0x016 }
  12008. 0x016 Else
  12009. 0x016 {
  12010. 0x019 Perform("Grand Punch"[01FD], EnemyAttack)
  12011. 0x01FSCRIPT END
  12012.  
  12013.  
  12014.  
  12015.  
  12016. 118 - [76] Gagighandi
  12017.  
  12018.  
  12019. LocalVar:0000 = LocalVar:OpenAttack
  12020.  
  12021. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12022. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12023.  
  12024. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  12025.  
  12026.  
  12027.  
  12028. MAIN:
  12029.  
  12030. 0x000 If (Not (LocalVar:OpenAttack) )
  12031. 0x000 {
  12032. 0x007 If (Not (Random MOD 4) )
  12033. 0x007 {
  12034. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12035. 0x017 Perform("Claw"[01BE], EnemyAttack)
  12036. 0x01D }
  12037. 0x01D Else
  12038. 0x01D {
  12039. 0x020 If (Not (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus)) )
  12040. 0x020 {
  12041. 0x02B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  12042. 0x03A Perform("Stone Stare"[01FE], EnemyAttack)
  12043. 0x040 }
  12044. 0x040 Else
  12045. 0x040 {
  12046. 0x043 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12047. 0x04B Perform("Claw"[01BE], EnemyAttack)
  12048. 0x051 LocalVar:OpenAttack <- 1
  12049. 0x057 }
  12050. 0x057 Else
  12051. 0x057 {
  12052. 0x05A If (Not (Random MOD 4) )
  12053. 0x05A {
  12054. 0x062 If (Not (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus)) )
  12055. 0x062 {
  12056. 0x06D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  12057. 0x07C Perform("Stone Stare"[01FE], EnemyAttack)
  12058. 0x082 }
  12059. 0x082 Else
  12060. 0x082 {
  12061. 0x085 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12062. 0x08D Perform("Claw"[01BE], EnemyAttack)
  12063. 0x093 }
  12064. 0x093 Else
  12065. 0x093 {
  12066. 0x096 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12067. 0x09E Perform("Claw"[01BE], EnemyAttack)
  12068. 0x0A4SCRIPT END
  12069.  
  12070.  
  12071.  
  12072.  
  12073. 119 - [77] Touch Me
  12074.  
  12075.  
  12076. LocalVar:0000 = LocalVar:SpclHitCount
  12077. LocalVar:0020 = LocalVar:HitCount
  12078.  
  12079. BattleAddr(&2060) = BattleAddr(&Self)
  12080. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12081. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12082.  
  12083. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  12084. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  12085. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  12086.  
  12087.  
  12088.  
  12089. PRE-BATTLE:
  12090.  
  12091. 0x000LocalVar:HitCount <- Random MOD 4
  12092. 0x008LocalVar:SpclHitCount <- 1 + Random MOD 2
  12093. 0x013SCRIPT END
  12094.  
  12095.  
  12096. MAIN:
  12097.  
  12098. 0x000 If (LocalVar:HitCount)
  12099. 0x000 {
  12100. 0x006 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12101. 0x00E Perform("Frog Jab"[01FF], EnemyAttack)
  12102. 0x014 LocalVar:HitCount <- LocalVar:HitCount - 1
  12103. 0x01E }
  12104. 0x01E Else
  12105. 0x01E {
  12106. 0x021 If (Not (LocalVar:SpclHitCount) )
  12107. 0x021 {
  12108. 0x028 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  12109. 0x028 {
  12110. 0x035 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  12111. 0x044 Perform("Frog Song"[0048], EnemyAttack)
  12112. 0x049 LocalVar:SpclHitCount <- 1 + Random MOD 3
  12113. 0x054 }
  12114. 0x054 Else
  12115. 0x054 {
  12116. 0x057 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12117. 0x05F Perform("Frog Jab"[01FF], EnemyAttack)
  12118. 0x065 LocalVar:SpclHitCount <- 0
  12119. 0x06B }
  12120. 0x06B Else
  12121. 0x06B {
  12122. 0x06E LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  12123. 0x078SCRIPT END
  12124.  
  12125.  
  12126. PHYSICAL COUNTER:
  12127.  
  12128. 0x000 If (Not (Random MOD 5) )
  12129. 0x000 {
  12130. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  12131. 0x013 Perform("Frog Jab"[01FF], EnemyAttack)
  12132. 0x019SCRIPT END
  12133.  
  12134.  
  12135. MAGIC COUNTER:
  12136.  
  12137. 0x000 If (Not (Random MOD 5) )
  12138. 0x000 {
  12139. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  12140. 0x013 Perform("Frog Song"[0048], EnemyAttack)
  12141. 0x018SCRIPT END
  12142.  
  12143.  
  12144.  
  12145.  
  12146. 120 - [78] Crown Lance
  12147.  
  12148.  
  12149. LocalVar:0000 = LocalVar:Count
  12150. LocalVar:0020 = LocalVar:Row
  12151.  
  12152. BattleAddr(&2060) = BattleAddr(&Self)
  12153. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12154. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12155.  
  12156. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  12157. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  12158. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12159. BattleAddr(&4270) = BattleAddr(&Row)
  12160.  
  12161.  
  12162.  
  12163. PRE-BATTLE:
  12164.  
  12165. 0x000LocalVar:Row <- BattleAddr(&Self).BattleAddr(&Row)
  12166. 0x00BSCRIPT END
  12167.  
  12168.  
  12169. MAIN:
  12170.  
  12171. 0x000LocalVar:Count <- LocalVar:Count + 1
  12172. 0x00A If ( (BattleAddr(&Self).BattleAddr(&Row) == 1) )
  12173. 0x00A {
  12174. 0x017 If ( (LocalVar:Count > 3) )
  12175. 0x017 {
  12176. 0x020 If ( (LocalVar:Row != 1) )
  12177. 0x020 {
  12178. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12179. 0x030 Perform("Retreat"[0217], EnemyAttack)
  12180. 0x036 BattleAddr(&Self).BattleAddr(&Row) <- BattleAddr(&Self).BattleAddr(&Row) + 1
  12181. 0x048 LocalVar:Count <- 0
  12182. 0x04E }
  12183. 0x04E Else
  12184. 0x04E {
  12185. 0x051 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12186. 0x059 Perform("Claw"[020F], EnemyAttack)
  12187. 0x05F }
  12188. 0x05F Else
  12189. 0x05F {
  12190. 0x062 If ( (LocalVar:Count > 2) )
  12191. 0x062 {
  12192. 0x06B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12193. 0x072 Perform("Advance"[0216], EnemyAttack)
  12194. 0x078 BattleAddr(&Self).BattleAddr(&Row) <- BattleAddr(&Self).BattleAddr(&Row) - 1
  12195. 0x08A LocalVar:Count <- 0
  12196. 0x090 }
  12197. 0x090 Else
  12198. 0x090 {
  12199. 0x093 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12200. 0x09B If ( (Random MOD 4 And (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0) ) )
  12201. 0x09B {
  12202. 0x0AD Perform("Sleepel"[000B], EnemyAttack)
  12203. 0x0B2 }
  12204. 0x0B2 Else
  12205. 0x0B2 {
  12206. 0x0B5 Perform("Bolt"[0021], EnemyAttack)
  12207. 0x0BASCRIPT END
  12208.  
  12209.  
  12210. GENERAL COUNTER:
  12211.  
  12212. 0x000 If ( (BattleAddr(&Self).BattleAddr(&Row) == 1) )
  12213. 0x000 {
  12214. 0x00D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < 220) )
  12215. 0x00D {
  12216. 0x01A BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  12217. 0x025 Perform("Deadly Needles"[0306], EnemyAttack)
  12218. 0x02B BattleAddr(&Self).BattleAddr(&Row) <- LocalVar:Row
  12219. 0x036SCRIPT END
  12220.  
  12221.  
  12222.  
  12223.  
  12224. 121 - [79] Flower Prong (1st Form)
  12225.  
  12226.  
  12227. LocalVar:0000 = LocalVar:FlowerProng2nd
  12228. LocalVar:0020 = LocalVar:Count
  12229. LocalVar:0040 = LocalVar:SelfDead
  12230.  
  12231. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  12232. BattleAddr(&2060) = BattleAddr(&Self)
  12233. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12234. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12235.  
  12236. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  12237. BattleAddr(&4020) = BattleAddr(&SelfActive)
  12238. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  12239. BattleAddr(&4023) = BattleAddr(&Targetable)
  12240. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  12241. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  12242. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  12243. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  12244. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12245. BattleAddr(&4180) = BattleAddr(&MaxHP)
  12246.  
  12247.  
  12248.  
  12249. PRE-BATTLE:
  12250.  
  12251. 0x000LocalVar:FlowerProng2nd <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  12252. 0x014LocalVar:FlowerProng2nd <- (LocalVar:FlowerProng2nd.BattleAddr(&IndexOfActor) == 122)
  12253. 0x022SCRIPT END
  12254.  
  12255.  
  12256. MAIN:
  12257.  
  12258. 0x000 If (LocalVar:Count == 0)
  12259. 0x000 {
  12260. 0x008 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) )
  12261. 0x008 {
  12262. 0x016 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  12263. 0x016 {
  12264. 0x023 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  12265. 0x032 }
  12266. 0x032 Else
  12267. 0x032 {
  12268. 0x035 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12269. 0x03D Perform("Bio2"[0028], EnemyAttack)
  12270. 0x042 LocalVar:Count <- 1
  12271. 0x048 }
  12272. 0x048 Else
  12273. 0x048 {
  12274. 0x04B }
  12275. 0x04B Else
  12276. 0x04B {
  12277. 0x04E LocalVar:Count <- 0
  12278. 0x054 }
  12279. 0x054 Else
  12280. 0x054 {
  12281. 0x057POP(LocalVar:Count)
  12282. 0x058SCRIPT END
  12283.  
  12284.  
  12285. GENERAL COUNTER:
  12286.  
  12287. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 10 * 7) )
  12288. 0x000 {
  12289. 0x018 If (Not (LocalVar:SelfDead) )
  12290. 0x018 {
  12291. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12292. 0x026 Perform("Change"[0201], EnemyAttack)
  12293. 0x02C BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  12294. 0x036 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  12295. 0x040 LocalVar:FlowerProng2nd.BattleAddr(&SelfActive) <- 1
  12296. 0x04A LocalVar:FlowerProng2nd.BattleAddr(&Targetable) <- 1
  12297. 0x054 LocalVar:FlowerProng2nd.BattleAddr(&Needed2EndBattle) <- 1
  12298. 0x05E LocalVar:FlowerProng2nd.BattleAddr(&AIScriptActive) <- 1
  12299. 0x068 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  12300. 0x072 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  12301. 0x07C BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  12302. 0x086 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  12303. 0x090 LocalVar:SelfDead <- 1
  12304. 0x096SCRIPT END
  12305.  
  12306.  
  12307.  
  12308.  
  12309. 122 - [7A] Flower Prong (2nd Form)
  12310.  
  12311.  
  12312. LocalVar:0000 = LocalVar:FlowerProng3rd
  12313. LocalVar:0020 = LocalVar:Count
  12314.  
  12315. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  12316. BattleAddr(&2060) = BattleAddr(&Self)
  12317. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12318. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12319.  
  12320. BattleAddr(&4020) = BattleAddr(&SelfActive)
  12321. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  12322. BattleAddr(&4023) = BattleAddr(&Targetable)
  12323. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  12324. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  12325. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  12326. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12327. BattleAddr(&4180) = BattleAddr(&MaxHP)
  12328.  
  12329.  
  12330.  
  12331. PRE-BATTLE:
  12332.  
  12333. 0x000LocalVar:FlowerProng3rd <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  12334. 0x014LocalVar:FlowerProng3rd <- (LocalVar:FlowerProng3rd.BattleAddr(&IndexOfActor) == 123)
  12335. 0x022SCRIPT END
  12336.  
  12337.  
  12338. MAIN:
  12339.  
  12340. 0x000 If (Not (LocalVar:Count) )
  12341. 0x000 {
  12342. 0x007 Bad Code0x012 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  12343. 0x014 Perform("Seed Bullet"[0202], EnemyAttack)
  12344. 0x01A LocalVar:Count <- 1
  12345. 0x020 }
  12346. 0x020 Else
  12347. 0x020 {
  12348. 0x023 LocalVar:Count <- 0
  12349. 0x029SCRIPT END
  12350.  
  12351. NOTE - 0x011 uses HMSK
  12352.  
  12353.  
  12354. GENERAL COUNTER:
  12355.  
  12356. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 10 * 7) )
  12357. 0x000 {
  12358. 0x018 If (Not (LocalVar:0040) )
  12359. 0x018 {
  12360. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12361. 0x026 Perform("Change"[0201], EnemyAttack)
  12362. 0x02C BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  12363. 0x036 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  12364. 0x040 LocalVar:FlowerProng3rd.BattleAddr(&SelfActive) <- 1
  12365. 0x04A LocalVar:FlowerProng3rd.BattleAddr(&Targetable) <- 1
  12366. 0x054 LocalVar:FlowerProng3rd.BattleAddr(&Needed2EndBattle) <- 1
  12367. 0x05E LocalVar:FlowerProng3rd.BattleAddr(&AIScriptActive) <- 1
  12368. 0x068 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  12369. 0x072 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  12370. 0x07C BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  12371. 0x086 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  12372. 0x090 LocalVar:0040 <- 1
  12373. 0x096SCRIPT END
  12374.  
  12375.  
  12376.  
  12377.  
  12378. 123 - [7B] Flower Prong (3rd Form)
  12379.  
  12380.  
  12381. LocalVar:0000 = LocalVar:OpenAttack
  12382.  
  12383. BattleAddr(&2060) = BattleAddr(&Self)
  12384. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12385. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12386.  
  12387. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  12388. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12389.  
  12390.  
  12391.  
  12392. MAIN:
  12393.  
  12394. 0x000 If (Not (LocalVar:OpenAttack) )
  12395. 0x000 {
  12396. 0x007 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  12397. 0x00E Perform("Pollen"[0204], EnemyAttack)
  12398. 0x014 LocalVar:OpenAttack <- 1
  12399. 0x01A }
  12400. 0x01A Else
  12401. 0x01A {
  12402. 0x01D If (Not (Random MOD 8) )
  12403. 0x01D {
  12404. 0x025 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) )
  12405. 0x025 {
  12406. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12407. 0x03B Perform("Bio2"[0028], EnemyAttack)
  12408. 0x040 }
  12409. 0x040 Else
  12410. 0x040 {
  12411. 0x043 Bad Code0x04E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  12412. 0x050 Perform("W Laser"[0203], EnemyAttack)
  12413. 0x056 }
  12414. 0x056 Else
  12415. 0x056 {
  12416. 0x059 Bad Code0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  12417. 0x066 Perform("W Laser"[0203], EnemyAttack)
  12418. 0x06CSCRIPT END
  12419.  
  12420. NOTE - 0x04D uses HMSK
  12421. 0x063 uses HMSK
  12422.  
  12423.  
  12424.  
  12425.  
  12426. 124 - [7C] Slaps
  12427.  
  12428.  
  12429. LocalVar:0000 = LocalVar:SpclAttack
  12430.  
  12431. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12432. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12433.  
  12434. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12435.  
  12436.  
  12437.  
  12438. MAIN:
  12439.  
  12440. 0x000 If (Random MOD 8 == 0)
  12441. 0x000 {
  12442. 0x009 If (Not (LocalVar:SpclAttack) )
  12443. 0x009 {
  12444. 0x010 Bad Code0x01B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  12445. 0x01D Perform("Paralyzer Needle"[0207], EnemyAttack)
  12446. 0x023 LocalVar:SpclAttack <- 1
  12447. 0x029 }
  12448. 0x029 Else
  12449. 0x029 {
  12450. 0x02C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12451. 0x034 Perform("Berserk Needle"[0206], EnemyAttack)
  12452. 0x03A }
  12453. 0x03A Else
  12454. 0x03A {
  12455. 0x03D }
  12456. 0x03D Else
  12457. 0x03D {
  12458. 0x040 If (Random MOD 8 == 1)
  12459. 0x040 {
  12460. 0x045 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12461. 0x04D Perform("Bug Needle"[0205], EnemyAttack)
  12462. 0x053 }
  12463. 0x053 Else
  12464. 0x053 {
  12465. 0x056 }
  12466. 0x056 Else
  12467. 0x056 {
  12468. 0x059 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12469. 0x061 Perform("Berserk Needle"[0206], EnemyAttack)
  12470. 0x067 }
  12471. 0x067 Else
  12472. 0x067 {
  12473. 0x06APOP(Random MOD 8)
  12474. 0x06BSCRIPT END
  12475.  
  12476. NOTE - 0x01A uses LMSK
  12477.  
  12478.  
  12479.  
  12480.  
  12481. 125 - [7D] Kimara Bug
  12482.  
  12483.  
  12484. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12485. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12486.  
  12487. BattleAddr(&400A) = BattleAddr(&StopStatus)
  12488.  
  12489.  
  12490.  
  12491. MAIN:
  12492.  
  12493. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  12494. 0x000 {
  12495. 0x00D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12496. 0x015 If (Not (Random MOD 2) )
  12497. 0x015 {
  12498. 0x01D Perform("Butterfly Attack"[0208], EnemyAttack)
  12499. 0x023 }
  12500. 0x023 Else
  12501. 0x023 {
  12502. 0x026 Perform("Stop Web"[0209], EnemyAttack)
  12503. 0x02C }
  12504. 0x02C Else
  12505. 0x02C {
  12506. 0x02F If (Random MOD 4 == 0)
  12507. 0x02F {
  12508. 0x038 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  12509. 0x038 {
  12510. 0x045 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  12511. 0x054 Perform("Stop Web"[0209], EnemyAttack)
  12512. 0x05A }
  12513. 0x05A Else
  12514. 0x05A {
  12515. 0x05D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  12516. 0x06C Perform("Spider Attack"[020A], EnemyAttack)
  12517. 0x072 }
  12518. 0x072 Else
  12519. 0x072 {
  12520. 0x075 }
  12521. 0x075 Else
  12522. 0x075 {
  12523. 0x078 If (Random MOD 4 == 1)
  12524. 0x078 {
  12525. 0x07D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  12526. 0x08C Perform("Spider Attack"[020A], EnemyAttack)
  12527. 0x092 }
  12528. 0x092 Else
  12529. 0x092 {
  12530. 0x095 }
  12531. 0x095 Else
  12532. 0x095 {
  12533. 0x098 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12534. 0x0A0 Perform("Butterfly Attack"[0208], EnemyAttack)
  12535. 0x0A6 }
  12536. 0x0A6 Else
  12537. 0x0A6 {
  12538. 0x0A9 POP(Random MOD 4)
  12539. 0x0AASCRIPT END
  12540.  
  12541.  
  12542.  
  12543.  
  12544. 126 - [7E] Heavy Tank
  12545.  
  12546.  
  12547. LocalVar:0000 = LocalVar:1stChr
  12548. LocalVar:0020 = LocalVar:2ndChr
  12549. LocalVar:0040 = LocalVar:3rdChr
  12550. LocalVar:0060 = LocalVar:Count
  12551. LocalVar:0080 = LocalVar:SpclChance
  12552. LocalVar:00A0 = LocalVar:TakeTurn
  12553.  
  12554. BattleAddr(&2060) = BattleAddr(&Self)
  12555. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12556. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12557.  
  12558. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  12559. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12560. BattleAddr(&4180) = BattleAddr(&MaxHP)
  12561.  
  12562.  
  12563.  
  12564. PRE-BATTLE:
  12565.  
  12566. 0x000LocalVar:1stChr <- FlagBit(0)
  12567. 0x007LocalVar:2ndChr <- FlagBit(1)
  12568. 0x00ELocalVar:3rdChr <- FlagBit(2)
  12569. 0x015LocalVar:Count <- Random MOD 4
  12570. 0x01DLocalVar:SpclChance <- 8
  12571. 0x023SCRIPT END
  12572.  
  12573.  
  12574. MAIN:
  12575.  
  12576. 0x000 If (LocalVar:Count == 0)
  12577. 0x000 {
  12578. 0x008 }
  12579. 0x008 Else
  12580. 0x008 {
  12581. 0x00B If (LocalVar:Count == 1)
  12582. 0x00B {
  12583. 0x010 LocalVar:TakeTurn <- 0 (Cure)
  12584. 0x016 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12585. 0x016 {
  12586. 0x02A BattleAddr(&TarSelected) <- LocalVar:2ndChr
  12587. 0x031 Perform("Charge"[020B], EnemyAttack)
  12588. 0x037 LocalVar:TakeTurn <- 1
  12589. 0x03D If ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12590. 0x03D {
  12591. 0x051 BattleAddr(&TarSelected) <- LocalVar:1stChr
  12592. 0x058 Perform("Charge"[020B], EnemyAttack)
  12593. 0x05E LocalVar:TakeTurn <- 1
  12594. 0x064 If ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12595. 0x064 {
  12596. 0x078 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  12597. 0x07F Perform("Charge"[020B], EnemyAttack)
  12598. 0x085 LocalVar:TakeTurn <- 1
  12599. 0x08B If (Not (LocalVar:TakeTurn) )
  12600. 0x08B {
  12601. 0x092 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12602. 0x09A Perform("Charge"[020B], EnemyAttack)
  12603. 0x0A0 LocalVar:Count <- LocalVar:Count + 1
  12604. 0x0AA }
  12605. 0x0AA Else
  12606. 0x0AA {
  12607. 0x0AD }
  12608. 0x0AD Else
  12609. 0x0AD {
  12610. 0x0B0 If (LocalVar:Count == 2)
  12611. 0x0B0 {
  12612. 0x0B5 LocalVar:TakeTurn <- 0 (Cure)
  12613. 0x0BB If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12614. 0x0BB {
  12615. 0x0CF BattleAddr(&TarSelected) <- LocalVar:2ndChr
  12616. 0x0D6 Perform("Wheelie Attack"[020C], EnemyAttack)
  12617. 0x0DC LocalVar:TakeTurn <- 1
  12618. 0x0E2 If ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12619. 0x0E2 {
  12620. 0x0F6 BattleAddr(&TarSelected) <- LocalVar:1stChr
  12621. 0x0FD Perform("Wheelie Attack"[020C], EnemyAttack)
  12622. 0x103 LocalVar:TakeTurn <- 1
  12623. 0x109 If ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  12624. 0x109 {
  12625. 0x11D BattleAddr(&TarSelected) <- LocalVar:3rdChr
  12626. 0x124 Perform("Wheelie Attack"[020C], EnemyAttack)
  12627. 0x12A LocalVar:TakeTurn <- 1
  12628. 0x130 If (Not (LocalVar:TakeTurn) )
  12629. 0x130 {
  12630. 0x137 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12631. 0x13F Perform("Wheelie Attack"[020C], EnemyAttack)
  12632. 0x145 LocalVar:Count <- 3
  12633. 0x14B }
  12634. 0x14B Else
  12635. 0x14B {
  12636. 0x14E }
  12637. 0x14E Else
  12638. 0x14E {
  12639. 0x151 LocalVar:TakeTurn <- 0 (Cure)
  12640. 0x157 If (Not (Random MOD LocalVar:SpclChance) )
  12641. 0x157 {
  12642. 0x160 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  12643. 0x167 Perform("Big Spiral"[020D], EnemyAttack)
  12644. 0x16D LocalVar:TakeTurn <- 1
  12645. 0x173 If (Not (Random MOD LocalVar:SpclChance) )
  12646. 0x173 {
  12647. 0x17C BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  12648. 0x183 Perform("Big Spiral"[020D], EnemyAttack)
  12649. 0x189 LocalVar:TakeTurn <- 1
  12650. 0x18F If (Not (Random MOD LocalVar:SpclChance) )
  12651. 0x18F {
  12652. 0x198 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  12653. 0x19F Perform("Big Spiral"[020D], EnemyAttack)
  12654. 0x1A5 LocalVar:TakeTurn <- 1
  12655. 0x1AB If (Not (LocalVar:TakeTurn) )
  12656. 0x1AB {
  12657. 0x1B2 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  12658. 0x1B9 Perform("Big Spiral"[020D], EnemyAttack)
  12659. 0x1BF LocalVar:Count <- 0 (Cure)
  12660. 0x1C5 }
  12661. 0x1C5 Else
  12662. 0x1C5 {
  12663. 0x1C8POP(LocalVar:Count)
  12664. 0x1C9SCRIPT END
  12665.  
  12666.  
  12667. GENERAL COUNTER:
  12668.  
  12669. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  12670. 0x000 {
  12671. 0x018 LocalVar:SpclChance <- 2
  12672. 0x01E }
  12673. 0x01E Else
  12674. 0x01E {
  12675. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  12676. 0x021 {
  12677. 0x039 LocalVar:SpclChance <- 3
  12678. 0x03F }
  12679. 0x03F Else
  12680. 0x03F {
  12681. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  12682. 0x042 {
  12683. 0x05A LocalVar:SpclChance <- 4
  12684. 0x060 }
  12685. 0x060 Else
  12686. 0x060 {
  12687. 0x063 LocalVar:SpclChance <- 8
  12688. 0x069SCRIPT END
  12689.  
  12690.  
  12691.  
  12692.  
  12693. 127 - [7F] Turks:Reno II
  12694.  
  12695.  
  12696. LocalVar:0000 = LocalVar:LastMagAttacker
  12697. LocalVar:0020 = LocalVar:Rude
  12698. LocalVar:0040 = LocalVar:Counter
  12699. LocalVar:0060 = LocalVar:TakeTurn
  12700.  
  12701. BattleAddr(&2008) = BattleAddr(&LastAttID)
  12702. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  12703. BattleAddr(&2060) = BattleAddr(&Self)
  12704. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12705. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12706.  
  12707. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  12708. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  12709. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  12710. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  12711. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  12712. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  12713. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  12714. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  12715. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  12716. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  12717.  
  12718. BattleAddr(&4023) = BattleAddr(&Targetable)
  12719. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  12720. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  12721. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  12722. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  12723.  
  12724.  
  12725.  
  12726. PRE-BATTLE:
  12727.  
  12728. 0x000LocalVar:Rude <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 128)
  12729. 0x00ESCRIPT END
  12730.  
  12731.  
  12732. MAIN:
  12733.  
  12734. 0x000LocalVar:TakeTurn <- 0 (Cure)
  12735. 0x006 If ( (LocalVar:Rude.BattleAddr(&DeathStatus) == 1) )
  12736. 0x006 {
  12737. 0x013 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12738. 0x01A Perform("(Report)"[0164], EnemyAttack)
  12739. 0x020 BattleAddr(&Self).BattleAddr(&Targetable) <- 0 (Cure)
  12740. 0x02A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0 (Cure)
  12741. 0x034 LocalVar:TakeTurn <- 1
  12742. 0x03A If ( ( (LocalVar:TakeTurn == 0) And LocalVar:Counter) )
  12743. 0x03A {
  12744. 0x047 BattleAddr(&TarSelected) <- LocalVar:LastMagAttacker
  12745. 0x04E Perform("Electroprod"[0372], EnemyAttack)
  12746. 0x054 LocalVar:Counter <- 0 (Cure)
  12747. 0x05A }
  12748. 0x05A Else
  12749. 0x05A {
  12750. 0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12751. 0x065 If (Random MOD 2)
  12752. 0x065 {
  12753. 0x06C Perform("Short Staff"[015C], EnemyAttack)
  12754. 0x072 }
  12755. 0x072 Else
  12756. 0x072 {
  12757. 0x075 Perform("Turk Light"[0370], EnemyAttack)
  12758. 0x07BSCRIPT END
  12759.  
  12760.  
  12761. MAGIC COUNTER
  12762.  
  12763. 0x000 If ( ( ( (BattleAddr(&LastAttID) == 33) Or (BattleAddr(&LastAttID) == 34) ) Or (BattleAddr(&LastAttID) == 35) ) )
  12764. 0x000 {
  12765. 0x017 LocalVar:LastMagAttacker <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  12766. 0x022 LocalVar:Counter <- 1
  12767. 0x028SCRIPT END
  12768.  
  12769.  
  12770. DEATH COUNTER:
  12771.  
  12772. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0 (Cure)
  12773. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0 (Cure)
  12774. 0x014BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0 (Cure)
  12775. 0x01EBattleAddr(&Self).BattleAddr(&HasteStatus) <- 0 (Cure)
  12776. 0x028BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0 (Cure)
  12777. 0x032BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0 (Cure)
  12778. 0x03CBattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0 (Cure)
  12779. 0x046BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0 (Cure)
  12780. 0x050BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0 (Cure)
  12781. 0x05ADisplay String: "Reno “We may be retreating, but…"
  12782. 0x07CDisplay String: "we're still victorious.”"
  12783. 0x096BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  12784. 0x0A0BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12785. 0x0A7Perform("(Report)"[0164], EnemyAttack)
  12786. 0x0ADSCRIPT END
  12787.  
  12788.  
  12789.  
  12790.  
  12791. 128 - [80] Turks:Rude I
  12792.  
  12793.  
  12794. LocalVar:0000 = LocalVar:Reno
  12795. LocalVar:0020 = LocalVar:Tifa
  12796. LocalVar:0040 = LocalVar:SpclHitCount
  12797. LocalVar:0060 = LocalVar:TakeTurn
  12798.  
  12799. BattleAddr(&2060) = BattleAddr(&Self)
  12800. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12801. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  12802. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12803.  
  12804.  
  12805. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  12806. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  12807. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  12808. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  12809. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  12810. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  12811. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  12812. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  12813. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  12814. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  12815. BattleAddr(&4023) = BattleAddr(&Targetable)
  12816. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  12817. BattleAddr(&402C) = BattleAddr(&DeathImmun
  12818. BattleAddr(&4060) = BattleAddr(&GrpFormID)ity)
  12819. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  12820. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  12821. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12822. BattleAddr(&4180) = BattleAddr(&MaxHP)
  12823.  
  12824.  
  12825.  
  12826. PRE-BATTLE:
  12827.  
  12828. 0x000LocalVar:Reno <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 127)
  12829. 0x00ELocalVar:Tifa <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  12830. 0x01CSCRIPT END
  12831.  
  12832.  
  12833. MAIN:
  12834.  
  12835. 0x000LocalVar:TakeTurn <- 0 (Cure)
  12836. 0x006 If ( (LocalVar:Reno.BattleAddr(&DeathStatus) == 1) )
  12837. 0x006 {
  12838. 0x013 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12839. 0x01A Perform("(Report)"[0164], EnemyAttack)
  12840. 0x020 BattleAddr(&Self).BattleAddr(&Targetable) <- 0 (Cure)
  12841. 0x02A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0 (Cure)
  12842. 0x034 LocalVar:TakeTurn <- 1
  12843. 0x03A If ( ( (LocalVar:TakeTurn == 0) And (LocalVar:Reno.BattleAddr(&CurrentHP) < LocalVar:Reno.BattleAddr(&MaxHP) / 2) ) )
  12844. 0x03A {
  12845. 0x056 LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  12846. 0x060 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure [0000])) And (LocalVar:SpclHitCount >= 2) ) )
  12847. 0x060 {
  12848. 0x075 BattleAddr(&TarSelected) <- LocalVar:Reno
  12849. 0x07C Perform("Cure"[0000], EnemyAttack)
  12850. 0x081 LocalVar:TakeTurn <- 1
  12851. 0x087 LocalVar:SpclHitCount <- 0 (Cure)
  12852. 0x08D If ( (LocalVar:TakeTurn == 0) )
  12853. 0x08D {
  12854. 0x096 If (Random MOD 3 == 0)
  12855. 0x096 {
  12856. 0x09F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire [001B])) )
  12857. 0x09F {
  12858. 0x0AD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12859. 0x0B5 If ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) != 18) )
  12860. 0x0B5 {
  12861. 0x0C2 Perform("Fire"[001B], EnemyAttack)
  12862. 0x0C7 LocalVar:TakeTurn <- 1
  12863. 0x0CD }
  12864. 0x0CD Else
  12865. 0x0CD {
  12866. 0x0D0 POP(Random MOD 3)
  12867. 0x0D1 If ( (LocalVar:TakeTurn == 0) )
  12868. 0x0D1 {
  12869. 0x0DA BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) != 18)
  12870. 0x0E8 If (BattleAddr(&TarSelected))
  12871. 0x0E8 {
  12872. 0x0EE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  12873. 0x0F6 Perform("Shoulder Attack"[0374], EnemyAttack)
  12874. 0x0FC }
  12875. 0x0FC Else
  12876. 0x0FC {
  12877. 0x0FF If ( (Random MOD 3 == 0) )
  12878. 0x0FF {
  12879. 0x109 Display String: "Rude “………………”"
  12880. 0x118 }
  12881. 0x118 Else
  12882. 0x118 {
  12883. 0x11B BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  12884. 0x129 Perform("Shoulder Attack"[0374], EnemyAttack)
  12885. 0x12FSCRIPT END
  12886.  
  12887.  
  12888. DEATH COUNTER:
  12889.  
  12890. 0x000Display String: "Rude “………………”"
  12891. 0x00FBattleAddr(&Self).BattleAddr(&SleepStatus) <- 0 (Cure)
  12892. 0x019BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0 (Cure)
  12893. 0x023BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0 (Cure)
  12894. 0x02DBattleAddr(&Self).BattleAddr(&HasteStatus) <- 0 (Cure)
  12895. 0x037BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0 (Cure)
  12896. 0x041BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0 (Cure)
  12897. 0x04BBattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0 (Cure)
  12898. 0x055BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0 (Cure)
  12899. 0x05FBattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0 (Cure)
  12900. 0x069BattleAddr(&Self).BattleAddr(&DeathImmun) <- 1
  12901. 0x073BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12902. 0x07APerform("(Report)"[0164], EnemyAttack)
  12903. 0x080SCRIPT END
  12904.  
  12905.  
  12906.  
  12907.  
  12908. 129 - [81] Skeeskee
  12909.  
  12910.  
  12911. BattleAddr(&2060) = BattleAddr(&Self)
  12912. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12913. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12914.  
  12915. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  12916. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  12917. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  12918. BattleAddr(&4180) = BattleAddr(&MaxHP)
  12919.  
  12920.  
  12921.  
  12922. MAIN:
  12923.  
  12924. 0x000 If ( (BattleAddr(&Self).BattleAddr(&PoisonStatus) == 1) )
  12925. 0x000 {
  12926. 0x00D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12927. 0x015 If (Not (Random MOD 2) )
  12928. 0x015 {
  12929. 0x01D Perform("Beak"[01C5], EnemyAttack)
  12930. 0x023 }
  12931. 0x023 Else
  12932. 0x023 {
  12933. 0x026 Perform("Rage Bomber"[020E], EnemyAttack)
  12934. 0x02C }
  12935. 0x02C Else
  12936. 0x02C {
  12937. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12938. 0x037 Perform("Beak"[01C5], EnemyAttack)
  12939. 0x03DSCRIPT END
  12940.  
  12941.  
  12942. GENERAL COUNTER:
  12943.  
  12944. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  12945. 0x000 {
  12946. 0x015 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  12947. 0x020 Perform("Rage Bomber"[020E], EnemyAttack)
  12948. 0x026SCRIPT END
  12949.  
  12950.  
  12951.  
  12952.  
  12953. 130 - [82] Griffin
  12954.  
  12955.  
  12956. LocalVar:0000 = LocalVar:Evade
  12957. LocalVar:0020 = LocalVar:OpenAttack2ndForm
  12958. LocalVar:0040 = LocalVar:OpenAttack1stForm
  12959.  
  12960. BattleAddr(&2060) = BattleAddr(&Self)
  12961. BattleAddr(&2070) = BattleAddr(&TarSelected)
  12962. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  12963.  
  12964. BattleAddr(&4078) = BattleAddr(&Evade)
  12965. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  12966. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  12967. BattleAddr(&4270) = BattleAddr(&Row)
  12968.  
  12969.  
  12970.  
  12971. PRE-BATTLE:
  12972.  
  12973. 0x000LocalVar:Evade <- BattleAddr(&Self).BattleAddr(&Evade)
  12974. 0x00BSCRIPT END
  12975.  
  12976.  
  12977. MAIN:
  12978.  
  12979. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  12980. 0x000 {
  12981. 0x00D If (Random MOD 4 == 0)
  12982. 0x00D {
  12983. 0x016 If (LocalVar:OpenAttack1stForm)
  12984. 0x016 {
  12985. 0x01C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  12986. 0x024 Perform("Claw"[020F], EnemyAttack)
  12987. 0x02A }
  12988. 0x02A Else
  12989. 0x02A {
  12990. 0x02D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  12991. 0x034 Perform([011F], EnemyAttack)
  12992. 0x03A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  12993. 0x044 BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 30
  12994. 0x056 BattleAddr(&Self).BattleAddr(&Row) <- 16
  12995. 0x060 LocalVar:OpenAttack2ndForm <- 1
  12996. 0x066 LocalVar:OpenAttack1stForm <- 0
  12997. 0x06C }
  12998. 0x06C Else
  12999. 0x06C {
  13000. 0x06F }
  13001. 0x06F Else
  13002. 0x06F {
  13003. 0x072 If (Random MOD 4 == 1)
  13004. 0x072 {
  13005. 0x077 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13006. 0x07F Perform("Peacock"[0210], EnemyAttack)
  13007. 0x085 LocalVar:OpenAttack1stForm <- 0
  13008. 0x08B }
  13009. 0x08B Else
  13010. 0x08B {
  13011. 0x08E }
  13012. 0x08E Else
  13013. 0x08E {
  13014. 0x091 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13015. 0x099 Perform("Claw"[020F], EnemyAttack)
  13016. 0x09F LocalVar:OpenAttack1stForm <- 0
  13017. 0x0A5 }
  13018. 0x0A5 Else
  13019. 0x0A5 {
  13020. 0x0A8 POP(Random MOD 4)
  13021. 0x0A9 }
  13022. 0x0A9 Else
  13023. 0x0A9 {
  13024. 0x0AC If (Random MOD 4 == 0)
  13025. 0x0AC {
  13026. 0x0B5 If (LocalVar:OpenAttack2ndForm)
  13027. 0x0B5 {
  13028. 0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13029. 0x0C3 Perform("Peacock"[0212], EnemyAttack)
  13030. 0x0C9 }
  13031. 0x0C9 Else
  13032. 0x0C9 {
  13033. 0x0CC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13034. 0x0D3 Perform([0120], EnemyAttack)
  13035. 0x0D9 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  13036. 0x0E3 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:Evade
  13037. 0x0EE BattleAddr(&Self).BattleAddr(&Row) <- 1
  13038. 0x0F8 LocalVar:OpenAttack1stForm <- 1
  13039. 0x0FE LocalVar:OpenAttack2ndForm <- 0
  13040. 0x104 }
  13041. 0x104 Else
  13042. 0x104 {
  13043. 0x107 }
  13044. 0x107 Else
  13045. 0x107 {
  13046. 0x10A If (Random MOD 4 == 1)
  13047. 0x10A {
  13048. 0x10F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13049. 0x117 Perform("Claw"[0211], EnemyAttack)
  13050. 0x11D LocalVar:OpenAttack2ndForm <- 0
  13051. 0x123 }
  13052. 0x123 Else
  13053. 0x123 {
  13054. 0x126 }
  13055. 0x126 Else
  13056. 0x126 {
  13057. 0x129 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13058. 0x131 Perform("Peacock"[0212], EnemyAttack)
  13059. 0x137 LocalVar:OpenAttack2ndForm <- 0
  13060. 0x13D }
  13061. 0x13D Else
  13062. 0x13D {
  13063. 0x140 POP(Random MOD 4)
  13064. 0x141SCRIPT END
  13065.  
  13066.  
  13067. GENERAL COUNTER:
  13068.  
  13069. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  13070. 0x000 {
  13071. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  13072. 0x017 }
  13073. 0x017 Else
  13074. 0x017 {
  13075. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  13076. 0x024SCRIPT END
  13077.  
  13078.  
  13079.  
  13080.  
  13081. 131 - [83] Golem
  13082.  
  13083.  
  13084. LocalVar:0000 = LocalVar:Unused
  13085. LocalVar:0020 = LocalVar:BaseCurrentHP
  13086. LocalVar:0040 = LocalVar:HPDiff
  13087. LocalVar:0060 = LocalVar:BaseDef
  13088. LocalVar:0080 = LocalVar:BaseMDef
  13089. LocalVar:00A0 = LocalVar:BaseStrength
  13090. LocalVar:00C0 = LocalVar:BaseMagic
  13091. LocalVar:00E0 = LocalVar:Stage
  13092. LocalVar:0100 = LocalVar:OpenAttack
  13093.  
  13094. BattleAddr(&2060) = BattleAddr(&Self)
  13095. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13096. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13097.  
  13098. BattleAddr(&4068) = BattleAddr(&Strength)
  13099. BattleAddr(&4070) = BattleAddr(&Magic)
  13100. BattleAddr(&4100) = BattleAddr(&Def)
  13101. BattleAddr(&4110) = BattleAddr(&MDef)
  13102. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  13103.  
  13104.  
  13105.  
  13106. PRE-BATTLE:
  13107.  
  13108. 0x000LocalVar:Stage <- 3
  13109. 0x006LocalVar:BaseStrength <- BattleAddr(&Self).BattleAddr(&Strength)
  13110. 0x011LocalVar:BaseMagic <- BattleAddr(&Self).BattleAddr(&Magic)
  13111. 0x01CLocalVar:BaseDef <- BattleAddr(&Self).BattleAddr(&Def)
  13112. 0x027LocalVar:BaseMDef <- BattleAddr(&Self).BattleAddr(&MDef)
  13113. 0x032LocalVar:BaseCurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  13114. 0x03DSCRIPT END
  13115.  
  13116.  
  13117. MAIN:
  13118.  
  13119. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13120. 0x008 If ( (LocalVar:OpenAttack == 0) )
  13121. 0x008 {
  13122. 0x011 If (Random MOD 3)
  13123. 0x011 {
  13124. 0x018 Perform("Golem Punch"[0213], EnemyAttack)
  13125. 0x01E }
  13126. 0x01E Else
  13127. 0x01E {
  13128. 0x021 Perform("Finger Shot"[0214], EnemyAttack)
  13129. 0x027 LocalVar:OpenAttack <- 1
  13130. 0x02D }
  13131. 0x02D Else
  13132. 0x02D {
  13133. 0x030 If (LocalVar:Stage == 1)
  13134. 0x030 {
  13135. 0x038 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13136. 0x040 Perform("Megaton Punch"[0215], EnemyAttack)
  13137. 0x046 }
  13138. 0x046 Else
  13139. 0x046 {
  13140. 0x049 }
  13141. 0x049 Else
  13142. 0x049 {
  13143. 0x04C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13144. 0x053 Perform("Advance"[0216], EnemyAttack)
  13145. 0x059 LocalVar:Stage <- LocalVar:Stage - 1
  13146. 0x063 }
  13147. 0x063 Else
  13148. 0x063 {
  13149. 0x066 POP(LocalVar:Stage)
  13150. 0x067BattleAddr(&Self).BattleAddr(&Strength) <- LocalVar:BaseStrength - LocalVar:Stage * 4
  13151. 0x079BattleAddr(&Self).BattleAddr(&Magic) <- LocalVar:BaseMagic - LocalVar:Stage * 6
  13152. 0x08BBattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef + LocalVar:Stage * 8
  13153. 0x09DBattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef + LocalVar:Stage * 10
  13154. 0x0AFSCRIPT END
  13155.  
  13156.  
  13157. GENERAL COUNTER:
  13158.  
  13159. 0x000LocalVar:HPDiff <- LocalVar:HPDiff + LocalVar:BaseCurrentHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  13160. 0x013 If ( (LocalVar:HPDiff > 200) )
  13161. 0x013 {
  13162. 0x01C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13163. 0x023 If ( (LocalVar:Stage < 3) )
  13164. 0x023 {
  13165. 0x02C Perform("Retreat"[0217], EnemyAttack)
  13166. 0x032 LocalVar:Stage <- LocalVar:Stage + 1
  13167. 0x03C BattleAddr(&Self).BattleAddr(&Strength) <- LocalVar:BaseStrength - LocalVar:Stage * 4
  13168. 0x04E BattleAddr(&Self).BattleAddr(&Magic) <- LocalVar:BaseMagic - LocalVar:Stage * 6
  13169. 0x060 BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef + LocalVar:Stage * 8
  13170. 0x072 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef + LocalVar:Stage * 10
  13171. 0x084 If ( (LocalVar:Stage == 3) )
  13172. 0x084 {
  13173. 0x08D LocalVar:OpenAttack <- 0
  13174. 0x093 LocalVar:HPDiff <- 0
  13175. 0x099LocalVar:BaseCurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  13176. 0x0A4SCRIPT END
  13177.  
  13178.  
  13179.  
  13180.  
  13181. 132 - [84] Bagrisk
  13182.  
  13183.  
  13184. LocalVar:0000 = LocalVar:Count
  13185. LocalVar:0020 = LocalVar:SpclChance
  13186. LocalVar:0040 = LocalVar:SpclHitCount
  13187.  
  13188. BattleAddr(&2060) = BattleAddr(&Self)
  13189. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13190. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13191.  
  13192. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  13193. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  13194. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  13195. BattleAddr(&4180) = BattleAddr(&MaxHP)
  13196.  
  13197.  
  13198.  
  13199. PRE-BATTLE:
  13200.  
  13201. 0x000LocalVar:Count <- Not (Random MOD 3)
  13202. 0x009LocalVar:SpclChance <- 16
  13203. 0x00FLocalVar:SpclHitCount <- 1
  13204. 0x015SCRIPT END
  13205.  
  13206.  
  13207. MAIN:
  13208.  
  13209. 0x000 If (LocalVar:Count == 0)
  13210. 0x000 {
  13211. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13212. 0x008 {
  13213. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13214. 0x024 Perform("Tail"[0218], EnemyAttack)
  13215. 0x02A If (Not (Random MOD LocalVar:SpclChance) )
  13216. 0x02A {
  13217. 0x033 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13218. 0x042 Perform("Tail"[0218], EnemyAttack)
  13219. 0x048 LocalVar:Count <- 1
  13220. 0x04E }
  13221. 0x04E Else
  13222. 0x04E {
  13223. 0x051 }
  13224. 0x051 Else
  13225. 0x051 {
  13226. 0x054 If (LocalVar:Count == 1)
  13227. 0x054 {
  13228. 0x059 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Quake2 [0025])) And Not (Random MOD LocalVar:SpclChance) ) )
  13229. 0x059 {
  13230. 0x06E If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13231. 0x06E {
  13232. 0x07B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13233. 0x08A Perform("Quake2"[0025], EnemyAttack)
  13234. 0x08F }
  13235. 0x08F Else
  13236. 0x08F {
  13237. 0x092 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13238. 0x092 {
  13239. 0x09F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13240. 0x0AE Perform("Tail"[0218], EnemyAttack)
  13241. 0x0B4 LocalVar:Count <- 2
  13242. 0x0BA }
  13243. 0x0BA Else
  13244. 0x0BA {
  13245. 0x0BD }
  13246. 0x0BD Else
  13247. 0x0BD {
  13248. 0x0C0 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) And LocalVar:SpclHitCount) )
  13249. 0x0C0 {
  13250. 0x0D8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13251. 0x0E7 Perform("Stone Strike"[0219], EnemyAttack)
  13252. 0x0ED LocalVar:SpclHitCount <- 0
  13253. 0x0F3 }
  13254. 0x0F3 Else
  13255. 0x0F3 {
  13256. 0x0F6 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13257. 0x0F6 {
  13258. 0x103 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  13259. 0x112 Perform("Tail"[0218], EnemyAttack)
  13260. 0x118 LocalVar:Count <- 0
  13261. 0x11E }
  13262. 0x11E Else
  13263. 0x11E {
  13264. 0x121POP(LocalVar:Count)
  13265. 0x122SCRIPT END
  13266.  
  13267.  
  13268. GENERAL COUNTER:
  13269.  
  13270. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  13271. 0x000 {
  13272. 0x018 LocalVar:SpclChance <- 3
  13273. 0x01E }
  13274. 0x01E Else
  13275. 0x01E {
  13276. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  13277. 0x021 {
  13278. 0x039 LocalVar:SpclChance <- 6
  13279. 0x03F }
  13280. 0x03F Else
  13281. 0x03F {
  13282. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  13283. 0x042 {
  13284. 0x05A LocalVar:SpclChance <- 9
  13285. 0x060 }
  13286. 0x060 Else
  13287. 0x060 {
  13288. 0x063 LocalVar:SpclChance <- 16
  13289. 0x069SCRIPT END
  13290.  
  13291.  
  13292.  
  13293.  
  13294. 133 - [85] Desert Sahagin
  13295.  
  13296.  
  13297. LocalVar:0000 = LocalVar:DamagedAnimID
  13298. LocalVar:0020 = LocalVar:Def
  13299.  
  13300. BattleAddr(&2060) = BattleAddr(&Self)
  13301. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13302. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13303.  
  13304. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  13305. BattleAddr(&4100) = BattleAddr(&Def)
  13306.  
  13307.  
  13308.  
  13309. PRE-BATTLE:
  13310.  
  13311. 0x000LocalVar:DamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  13312. 0x00BLocalVar:Def <- BattleAddr(&Self).BattleAddr(&Def)
  13313. 0x016SCRIPT END
  13314.  
  13315.  
  13316. MAIN:
  13317.  
  13318. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13319. 0x008 If (Not (Random MOD 2) )
  13320. 0x008 {
  13321. 0x010 Perform("Sandgun"[021A], EnemyAttack)
  13322. 0x016 }
  13323. 0x016 Else
  13324. 0x016 {
  13325. 0x019 Perform("Harpoon"[0146], EnemyAttack)
  13326. 0x01FSCRIPT END
  13327.  
  13328.  
  13329. PRE-ACTION SETUP:
  13330.  
  13331. 0x000LocalVar:DamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  13332. 0x00BLocalVar:Def <- BattleAddr(&Self).BattleAddr(&Def)
  13333. 0x016 If ( (Random MOD 16 == 0) )
  13334. 0x016 {
  13335. 0x020 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 5
  13336. 0x02A BattleAddr(&Self).BattleAddr(&Def) <- 512
  13337. 0x035SCRIPT END
  13338.  
  13339.  
  13340.  
  13341.  
  13342. 134 - [86] Gi Spector
  13343.  
  13344.  
  13345. LocalVar:0000 = LocalVar:Count
  13346.  
  13347. BattleAddr(&2060) = BattleAddr(&Self)
  13348. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13349. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13350.  
  13351. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  13352. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  13353. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  13354. BattleAddr(&4180) = BattleAddr(&MaxHP)
  13355.  
  13356.  
  13357.  
  13358. MAIN:
  13359.  
  13360. 0x000 If (LocalVar:Count == 0)
  13361. 0x000 {
  13362. 0x008 }
  13363. 0x008 Else
  13364. 0x008 {
  13365. 0x00B If (LocalVar:Count == 1)
  13366. 0x00B {
  13367. 0x010 }
  13368. 0x010 Else
  13369. 0x010 {
  13370. 0x013 If (LocalVar:Count == 2)
  13371. 0x013 {
  13372. 0x018 If ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  13373. 0x018 {
  13374. 0x025 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0)
  13375. 0x033 Bad Code0x03E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentHP))
  13376. 0x040 Perform("Skewer"[021B], EnemyAttack)
  13377. 0x046 LocalVar:Count <- LocalVar:Count + 1
  13378. 0x050 }
  13379. 0x050 Else
  13380. 0x050 {
  13381. 0x053 }
  13382. 0x053 Else
  13383. 0x053 {
  13384. 0x056 If ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  13385. 0x056 {
  13386. 0x063 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0)
  13387. 0x071 Bad Code0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentHP))
  13388. 0x07E If ( (BattleAddr(&TarSelected).BattleAddr(&CurrentHP) <= BattleAddr(&TarSelected).BattleAddr(&MaxHP) / 2) )
  13389. 0x07E {
  13390. 0x093 If (Not (Random MOD 2) )
  13391. 0x093 {
  13392. 0x09B Perform("Hell Spear"[021C], EnemyAttack)
  13393. 0x0A1 }
  13394. 0x0A1 Else
  13395. 0x0A1 {
  13396. 0x0A4 Perform("Skewer"[021B], EnemyAttack)
  13397. 0x0AA }
  13398. 0x0AA Else
  13399. 0x0AA {
  13400. 0x0AD Perform("Skewer"[021B], EnemyAttack)
  13401. 0x0B3 LocalVar:Count <- 0
  13402. 0x0B9 }
  13403. 0x0B9 Else
  13404. 0x0B9 {
  13405. 0x0BCPOP(LocalVar:Count)
  13406. 0x0BDSCRIPT END
  13407.  
  13408. NOTE - 0x03D uses HMSK
  13409. NOTE - 0x07B uses LMSK
  13410.  
  13411.  
  13412. GENERAL COUNTER:
  13413.  
  13414. 0x000 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) And (Random MOD 2 == 0) ) )
  13415. 0x000 {
  13416. 0x015 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0)
  13417. 0x023 Bad Code0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentHP))
  13418. 0x030 If ( (BattleAddr(&TarSelected).BattleAddr(&CurrentHP) <= BattleAddr(&TarSelected).BattleAddr(&MaxHP) / 4 * 3) )
  13419. 0x030 {
  13420. 0x048 Perform("Death Sentence"[005C], EnemyAttack)
  13421. 0x04D }
  13422. 0x04D Else
  13423. 0x04D {
  13424. 0x050 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  13425. 0x05B Perform("Skewer"[021B], EnemyAttack)
  13426. 0x061SCRIPT END
  13427.  
  13428. NOTE - 0x02D uses LMSK
  13429.  
  13430.  
  13431.  
  13432.  
  13433. 135 - [87] Sneaky Step
  13434.  
  13435.  
  13436. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13437. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13438.  
  13439. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  13440.  
  13441.  
  13442.  
  13443. MAIN:
  13444.  
  13445. 0x000 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) And Not (Random MOD 4) ) )
  13446. 0x000 {
  13447. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  13448. 0x022 Perform("Death Sentence"[005C], EnemyAttack)
  13449. 0x027 }
  13450. 0x027 Else
  13451. 0x027 {
  13452. 0x02A If ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  13453. 0x02A {
  13454. 0x037 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  13455. 0x046 Perform("Triple Attack"[021D], EnemyAttack)
  13456. 0x04CSCRIPT END
  13457.  
  13458.  
  13459.  
  13460.  
  13461. 136 - [88] Heg
  13462.  
  13463.  
  13464. LocalVar:0000 = LocalVar:Count
  13465.  
  13466. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13467. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13468.  
  13469. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  13470. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  13471.  
  13472.  
  13473.  
  13474. PRE-BATTLE:
  13475.  
  13476. 0x000LocalVar:Count <- Random MOD 4
  13477. 0x008SCRIPT END
  13478.  
  13479.  
  13480. MAIN:
  13481.  
  13482. 0x000 If (LocalVar:Count == 0)
  13483. 0x000 {
  13484. 0x008 }
  13485. 0x008 Else
  13486. 0x008 {
  13487. 0x00B If (LocalVar:Count == 1)
  13488. 0x00B {
  13489. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13490. 0x010 {
  13491. 0x01D If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  13492. 0x01D {
  13493. 0x02A BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0)
  13494. 0x038 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) == 1) )
  13495. 0x047 }
  13496. 0x047 Else
  13497. 0x047 {
  13498. 0x04A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13499. 0x059 Perform("Poison Fang"[021E], EnemyAttack)
  13500. 0x05F LocalVar:Count <- LocalVar:Count + 1
  13501. 0x069 }
  13502. 0x069 Else
  13503. 0x069 {
  13504. 0x06C }
  13505. 0x06C Else
  13506. 0x06C {
  13507. 0x06F If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  13508. 0x06F {
  13509. 0x07C If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  13510. 0x07C {
  13511. 0x089 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0)
  13512. 0x097 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 1) )
  13513. 0x0A6 }
  13514. 0x0A6 Else
  13515. 0x0A6 {
  13516. 0x0A9 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  13517. 0x0B8 Perform("Halt Whip"[021F], EnemyAttack)
  13518. 0x0BE LocalVar:Count <- 0
  13519. 0x0C4 }
  13520. 0x0C4 Else
  13521. 0x0C4 {
  13522. 0x0C7POP(LocalVar:Count)
  13523. 0x0C8SCRIPT END
  13524.  
  13525.  
  13526.  
  13527.  
  13528. 137 - [89] Stinger
  13529.  
  13530.  
  13531. LocalVar:0000 = LocalVar:Count
  13532. LocalVar:0020 = LocalVar:SpclChance
  13533.  
  13534. BattleAddr(&2060) = BattleAddr(&Self)
  13535. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13536. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13537.  
  13538. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  13539. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  13540. BattleAddr(&4180) = BattleAddr(&MaxHP)
  13541.  
  13542.  
  13543.  
  13544. PRE-BATTLE:
  13545.  
  13546. 0x000LocalVar:SpclChance <- 4
  13547. 0x006LocalVar:Count <- Random MOD 4
  13548. 0x00ESCRIPT END
  13549.  
  13550.  
  13551. MAIN:
  13552.  
  13553. 0x000 If (LocalVar:Count == 0)
  13554. 0x000 {
  13555. 0x008 }
  13556. 0x008 Else
  13557. 0x008 {
  13558. 0x00B If (LocalVar:Count == 1)
  13559. 0x00B {
  13560. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13561. 0x018 Perform("Sting"[0220], EnemyAttack)
  13562. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  13563. 0x01E {
  13564. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13565. 0x02F Perform("Sting"[0220], EnemyAttack)
  13566. 0x035 LocalVar:Count <- LocalVar:Count + 1
  13567. 0x03F }
  13568. 0x03F Else
  13569. 0x03F {
  13570. 0x042 }
  13571. 0x042 Else
  13572. 0x042 {
  13573. 0x045 If (LocalVar:Count == 2)
  13574. 0x045 {
  13575. 0x04A If (Not (Random MOD LocalVar:SpclChance) )
  13576. 0x04A {
  13577. 0x053 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13578. 0x05B Perform("Sting Bomb"[0221], EnemyAttack)
  13579. 0x061 }
  13580. 0x061 Else
  13581. 0x061 {
  13582. 0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13583. 0x06C Perform("Sting"[0220], EnemyAttack)
  13584. 0x072 If (Not (Random MOD LocalVar:SpclChance) )
  13585. 0x072 {
  13586. 0x07B LocalVar:Count <- 3
  13587. 0x081 }
  13588. 0x081 Else
  13589. 0x081 {
  13590. 0x084 LocalVar:Count <- 0
  13591. 0x08A }
  13592. 0x08A Else
  13593. 0x08A {
  13594. 0x08D }
  13595. 0x08D Else
  13596. 0x08D {
  13597. 0x090 If (Not (Random MOD LocalVar:SpclChance) )
  13598. 0x090 {
  13599. 0x099 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13600. 0x0A1 Perform("Rabbit Gouge"[0222], EnemyAttack)
  13601. 0x0A7 }
  13602. 0x0A7 Else
  13603. 0x0A7 {
  13604. 0x0AA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13605. 0x0B2 Perform("Sting"[0220], EnemyAttack)
  13606. 0x0B8 LocalVar:Count <- 0
  13607. 0x0BE }
  13608. 0x0BE Else
  13609. 0x0BE {
  13610. 0x0C1POP(LocalVar:Count)
  13611. 0x0C2SCRIPT END
  13612.  
  13613.  
  13614. GENERAL COUNTER:
  13615.  
  13616. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 2) ) )
  13617. 0x000 {
  13618. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  13619. 0x02A Perform("Sting Bomb"[0221], EnemyAttack)
  13620. 0x030 LocalVar:SpclChance <- 1
  13621. 0x036 }
  13622. 0x036 Else
  13623. 0x036 {
  13624. 0x039 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 3) ) )
  13625. 0x039 {
  13626. 0x058 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  13627. 0x063 Perform("Sting Bomb"[0221], EnemyAttack)
  13628. 0x069 LocalVar:SpclChance <- 2
  13629. 0x06F }
  13630. 0x06F Else
  13631. 0x06F {
  13632. 0x072 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 4) ) )
  13633. 0x072 {
  13634. 0x091 LocalVar:SpclChance <- 3
  13635. 0x097SCRIPT END
  13636.  
  13637.  
  13638.  
  13639.  
  13640. 138 - [8A] Soul Fire
  13641.  
  13642.  
  13643. LocalVar:0000 = LocalVar:SpclHitCount
  13644.  
  13645. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  13646. BattleAddr(&2060) = BattleAddr(&Self)
  13647. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13648.  
  13649. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  13650. BattleAddr(&4023) = BattleAddr(&Targetable)
  13651. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  13652. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  13653. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  13654. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  13655.  
  13656.  
  13657.  
  13658. MAIN:
  13659.  
  13660. 0x000 If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  13661. 0x000 {
  13662. 0x00D BattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) == 100)
  13663. 0x01B }
  13664. 0x01B Else
  13665. 0x01B {
  13666. 0x01E BattleAddr(&TarSelected) <- (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) == 101)
  13667. 0x02C If ( ( (BattleAddr(&Self).BattleAddr(&SpclAttFlag) != 0) And ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) Or (LocalVar:SpclHitCount > 3) ) ) )
  13668. 0x02C {
  13669. 0x04B BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 0
  13670. 0x055 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13671. 0x05C Perform("Return"[032D], EnemyAttack)
  13672. 0x062 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  13673. 0x06C BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  13674. 0x076 BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 0
  13675. 0x080 LocalVar:SpclHitCount <- 0
  13676. 0x086 }
  13677. 0x086 Else
  13678. 0x086 {
  13679. 0x089 If ( (BattleAddr(&Self).BattleAddr(&SpclAttFlag) != 0) )
  13680. 0x089 {
  13681. 0x096 Perform("Fire2"[001C], EnemyAttack)
  13682. 0x09B LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  13683. 0x0A5 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) )
  13684. 0x0A5 {
  13685. 0x0B2 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 0
  13686. 0x0BC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13687. 0x0C3 Perform("Return"[032D], EnemyAttack)
  13688. 0x0C9 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  13689. 0x0D3 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  13690. 0x0DD BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 0
  13691. 0x0E7 LocalVar:SpclHitCount <- 0
  13692. 0x0ED }
  13693. 0x0ED Else
  13694. 0x0ED {
  13695. 0x0F0 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  13696. 0x0F0 {
  13697. 0x0FE BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13698. 0x105 Perform("Fire2"[001C], EnemyAttack)
  13699. 0x10ASCRIPT END
  13700.  
  13701.  
  13702.  
  13703.  
  13704. 139 - [8B] Gi Nattak
  13705.  
  13706.  
  13707. LocalVar:0000 = LocalVar:SoulFireA
  13708. LocalVar:0020 = LocalVar:SoulFireB
  13709. LocalVar:0040 = LocalVar:Count
  13710.  
  13711. BattleAddr(&2060) = BattleAddr(&Self)
  13712. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13713. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  13714. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13715.  
  13716. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  13717. BattleAddr(&4023) = BattleAddr(&Targetable)
  13718. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  13719. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  13720. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  13721. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  13722. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  13723. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  13724. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  13725. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  13726.  
  13727.  
  13728.  
  13729. PRE-BATTLE:
  13730.  
  13731. 0x000BattleAddr(&TarSelected) <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 138)
  13732. 0x00ELocalVar:SoulFireA <- (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 0)
  13733. 0x01CLocalVar:SoulFireB <- (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 1)
  13734. 0x02ASCRIPT END
  13735.  
  13736.  
  13737. MAIN:
  13738.  
  13739. 0x000LocalVar:Count <- LocalVar:Count + 1
  13740. 0x00ABattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13741. 0x015 If (LocalVar:Count == 0)
  13742. 0x015 {
  13743. 0x01A }
  13744. 0x01A Else
  13745. 0x01A {
  13746. 0x01D If (LocalVar:Count == 2)
  13747. 0x01D {
  13748. 0x022 If ( ( ( (BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) == 1) Or (BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) == 1) ) And (Random MOD 3 == 0) ) )
  13749. 0x022 {
  13750. 0x042 Perform("DeBarrier"[0016], EnemyAttack)
  13751. 0x047 }
  13752. 0x047 Else
  13753. 0x047 {
  13754. 0x04A If (Random MOD 5 == 0)
  13755. 0x04A {
  13756. 0x053 }
  13757. 0x053 Else
  13758. 0x053 {
  13759. 0x056 If (Random MOD 5 == 1)
  13760. 0x056 {
  13761. 0x05B }
  13762. 0x05B Else
  13763. 0x05B {
  13764. 0x05E If (Random MOD 5 == 2)
  13765. 0x05E {
  13766. 0x063 Perform("Drain"[014D], EnemyAttack)
  13767. 0x069 }
  13768. 0x069 Else
  13769. 0x069 {
  13770. 0x06C }
  13771. 0x06C Else
  13772. 0x06C {
  13773. 0x06F If (Random MOD 5 == 3)
  13774. 0x06F {
  13775. 0x074 Perform("Aspil"[0188], EnemyAttack)
  13776. 0x07A }
  13777. 0x07A Else
  13778. 0x07A {
  13779. 0x07D Perform("Spear Attack"[0223], EnemyAttack)
  13780. 0x083 POP(Random MOD 5)
  13781. 0x084 }
  13782. 0x084 Else
  13783. 0x084 {
  13784. 0x087 }
  13785. 0x087 Else
  13786. 0x087 {
  13787. 0x08A If (LocalVar:Count == 1)
  13788. 0x08A {
  13789. 0x08F If ( ( ( (LocalVar:SoulFireA.BattleAddr(&SpclAttFlag) == 0) And (BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) == 0) ) And (LocalVar:SoulFireA.BattleAddr(&DeathStatus) == 0) ) )
  13790. 0x08F {
  13791. 0x0B2 Perform("Take Over"[039C], EnemyAttack)
  13792. 0x0B8 LocalVar:SoulFireA.BattleAddr(&SpclAttFlag) <- BattleAddr(&TarSelected).BattleAddr(&GrpFormID)
  13793. 0x0C7 LocalVar:SoulFireA.BattleAddr(&Targetable) <- 0
  13794. 0x0D1 LocalVar:SoulFireA.BattleAddr(&IdleAnimID) <- 8
  13795. 0x0DB BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 100
  13796. 0x0E5 }
  13797. 0x0E5 Else
  13798. 0x0E5 {
  13799. 0x0E8 Perform("Spear Attack"[0223], EnemyAttack)
  13800. 0x0EE }
  13801. 0x0EE Else
  13802. 0x0EE {
  13803. 0x0F1 }
  13804. 0x0F1 Else
  13805. 0x0F1 {
  13806. 0x0F4 If (LocalVar:Count == 3)
  13807. 0x0F4 {
  13808. 0x0F9 If ( ( ( (LocalVar:SoulFireB.BattleAddr(&SpclAttFlag) == 0) And (BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) == 0) ) And (LocalVar:SoulFireB.BattleAddr(&DeathStatus) == 0) ) )
  13809. 0x0F9 {
  13810. 0x11C Perform("Take Over"[039D], EnemyAttack)
  13811. 0x122 LocalVar:SoulFireB.BattleAddr(&SpclAttFlag) <- BattleAddr(&TarSelected).BattleAddr(&GrpFormID)
  13812. 0x131 LocalVar:SoulFireB.BattleAddr(&Targetable) <- 0
  13813. 0x13B LocalVar:SoulFireB.BattleAddr(&IdleAnimID) <- 8
  13814. 0x145 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 101
  13815. 0x14F }
  13816. 0x14F Else
  13817. 0x14F {
  13818. 0x152 Perform("Spear Attack"[0223], EnemyAttack)
  13819. 0x158 LocalVar:Count <- 16777215
  13820. 0x160 }
  13821. 0x160 Else
  13822. 0x160 {
  13823. 0x163POP(LocalVar:Count)
  13824. 0x164SCRIPT END
  13825.  
  13826.  
  13827. DEATH COUNTER:
  13828.  
  13829. 0x000LocalVar:SoulFireA.BattleAddr(&DeathImmunity) <- 1
  13830. 0x00ALocalVar:SoulFireA.BattleAddr(&AIScriptActive) <- 0
  13831. 0x014LocalVar:SoulFireA.BattleAddr(&Targetable) <- 0
  13832. 0x01ELocalVar:SoulFireB.BattleAddr(&DeathImmunity) <- 1
  13833. 0x028LocalVar:SoulFireB.BattleAddr(&AIScriptActive) <- 0
  13834. 0x032LocalVar:SoulFireB.BattleAddr(&Targetable) <- 0
  13835. 0x03CBattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  13836. 0x046BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13837. 0x04DPerform("Vanish"[014E], EnemyAttack)
  13838. 0x053SCRIPT END
  13839.  
  13840.  
  13841.  
  13842.  
  13843. 140 - [8C] Nibel Wolf
  13844.  
  13845.  
  13846. LocalVar:0000 = LocalVar:OtherNibelWolf
  13847. LocalVar:0020 = LocalVar:Count
  13848. LocalVar:0040 = LocalVar:SelfEXP
  13849. LocalVar:0060 = LocalVar:SelfGIL
  13850. LocalVar:0080 = LocalVar:SpclHitCount
  13851.  
  13852. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  13853. BattleAddr(&2060) = BattleAddr(&Self)
  13854. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13855. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13856.  
  13857. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  13858. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  13859. BattleAddr(&42C0) = BattleAddr(&SelfGIL)
  13860. BattleAddr(&42E0) = BattleAddr(&SelfEXP)
  13861.  
  13862.  
  13863.  
  13864. PRE-BATTLE:
  13865.  
  13866. 0x000LocalVar:OtherNibelWolf <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 140)
  13867. 0x00ELocalVar:OtherNibelWolf <- LocalVar:OtherNibelWolf AND NOT BattleAddr(&Self)
  13868. 0x01ALocalVar:SelfEXP <- BattleAddr(&Self).BattleAddr(&SelfEXP)
  13869. 0x025LocalVar:SelfGIL <- BattleAddr(&Self).BattleAddr(&SelfGIL)
  13870. 0x030LocalVar:SpclHitCount <- 3
  13871. 0x036SCRIPT END
  13872.  
  13873.  
  13874. MAIN:
  13875.  
  13876. 0x000 If (LocalVar:Count == 0)
  13877. 0x000 {
  13878. 0x008 }
  13879. 0x008 Else
  13880. 0x008 {
  13881. 0x00B If (LocalVar:Count == 1)
  13882. 0x00B {
  13883. 0x010 }
  13884. 0x010 Else
  13885. 0x010 {
  13886. 0x013 If (LocalVar:Count == 2)
  13887. 0x013 {
  13888. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13889. 0x020 Perform("Bodyblow"[0172], EnemyAttack)
  13890. 0x026 LocalVar:Count <- LocalVar:Count + 1
  13891. 0x030 }
  13892. 0x030 Else
  13893. 0x030 {
  13894. 0x033 }
  13895. 0x033 Else
  13896. 0x033 {
  13897. 0x036 If (LocalVar:Count == 3)
  13898. 0x036 {
  13899. 0x03B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13900. 0x043 Perform("Fang"[0189], EnemyAttack)
  13901. 0x049 LocalVar:Count <- 4
  13902. 0x04F }
  13903. 0x04F Else
  13904. 0x04F {
  13905. 0x052 }
  13906. 0x052 Else
  13907. 0x052 {
  13908. 0x055 If ( ( (LocalVar:OtherNibelWolf.BattleAddr(&DeathStatus) == 1) And LocalVar:SpclHitCount) )
  13909. 0x055 {
  13910. 0x066 If (Not (Random MOD 3) )
  13911. 0x066 {
  13912. 0x06E BattleAddr(&TarSelected) <- RandomBit( (LocalVar:OtherNibelWolf.BattleAddr(&DeathStatus) == 1) )
  13913. 0x07D Perform("Howling"[0225], EnemyAttack)
  13914. 0x083 BattleAddr(&Self).BattleAddr(&SelfEXP) <- BattleAddr(&Self).BattleAddr(&SelfEXP) + LocalVar:SelfEXP
  13915. 0x096 BattleAddr(&Self).BattleAddr(&SelfGIL) <- BattleAddr(&Self).BattleAddr(&SelfGIL) + LocalVar:SelfGIL
  13916. 0x0A9 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  13917. 0x0B3 }
  13918. 0x0B3 Else
  13919. 0x0B3 {
  13920. 0x0B6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  13921. 0x0BD Perform("Howling"[02AC], EnemyAttack)
  13922. 0x0C3 }
  13923. 0x0C3 Else
  13924. 0x0C3 {
  13925. 0x0C6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  13926. 0x0CE Perform("Fang"[0189], EnemyAttack)
  13927. 0x0D4 LocalVar:Count <- 0
  13928. 0x0DA }
  13929. 0x0DA Else
  13930. 0x0DA {
  13931. 0x0DDPOP(LocalVar:Count)
  13932. 0x0DESCRIPT END
  13933.  
  13934.  
  13935.  
  13936.  
  13937. 141 - [8D] Velcher Task
  13938.  
  13939.  
  13940. LocalVar:0000 = LocalVar:OpenAttack
  13941. LocalVar:0020 = LocalVar:ChocID
  13942. LocalVar:0040 = LocalVar:ChocPresent
  13943.  
  13944. GlobalVar(0054) = GlobalVar(CaughtChoc)
  13945.  
  13946. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  13947. BattleAddr(&2060) = BattleAddr(&Self)
  13948. BattleAddr(&2070) = BattleAddr(&TarSelected)
  13949. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  13950. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  13951.  
  13952. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  13953. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  13954. BattleAddr(&4023) = BattleAddr(&Targetable)
  13955. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  13956. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  13957. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  13958. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  13959. BattleAddr(&4180) = BattleAddr(&MaxHP)
  13960.  
  13961.  
  13962.  
  13963. PRE-BATTLE:
  13964.  
  13965. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  13966. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  13967. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  13968. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  13969. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  13970. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  13971. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  13972. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  13973. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  13974. 0x0A7 If (LocalVar:ChocID)
  13975. 0x0A7 {
  13976. 0x0AD LocalVar:ChocPresent <- 1
  13977. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  13978. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  13979. 0x0BE Display String: "A Chocobo!"
  13980. 0x0CASCRIPT END
  13981.  
  13982.  
  13983. MAIN:
  13984.  
  13985. 0x000 If (Not (LocalVar:OpenAttack) )
  13986. 0x000 {
  13987. 0x007 If (Not (Random MOD 4) )
  13988. 0x007 {
  13989. 0x00F If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13990. 0x00F {
  13991. 0x01C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13992. 0x02B Perform("Poison Blow"[0226], EnemyAttack)
  13993. 0x031 }
  13994. 0x031 Else
  13995. 0x031 {
  13996. 0x034 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13997. 0x034 {
  13998. 0x041 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  13999. 0x050 Perform("Claw"[01BE], EnemyAttack)
  14000. 0x056 LocalVar:OpenAttack <- 1
  14001. 0x05C }
  14002. 0x05C Else
  14003. 0x05C {
  14004. 0x05F If (Not (Random MOD 3) )
  14005. 0x05F {
  14006. 0x067 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14007. 0x067 {
  14008. 0x074 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14009. 0x083 Perform("Poison Blow"[0226], EnemyAttack)
  14010. 0x089 }
  14011. 0x089 Else
  14012. 0x089 {
  14013. 0x08C If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14014. 0x08C {
  14015. 0x099 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14016. 0x0A8 Perform("Claw"[01BE], EnemyAttack)
  14017. 0x0AESCRIPT END
  14018.  
  14019.  
  14020. GENERAL COUNTER:
  14021.  
  14022. 0x000 If ( (BattleAddr(&Self).BattleAddr(&PoisonStatus) == 0) )
  14023. 0x000 {
  14024. 0x00D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8) )
  14025. 0x00D {
  14026. 0x022 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  14027. 0x02D Perform("Claw"[01BE], EnemyAttack)
  14028. 0x033 }
  14029. 0x033 Else
  14030. 0x033 {
  14031. 0x036 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14032. 0x036 {
  14033. 0x043 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  14034. 0x052 Perform("Poison Blow"[0226], EnemyAttack)
  14035. 0x058SCRIPT END
  14036.  
  14037.  
  14038. DEATH COUNTER:
  14039.  
  14040. 0x000 If ( (LocalVar:ChocPresent == 1) )
  14041. 0x000 {
  14042. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  14043. 0x009 {
  14044. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  14045. 0x013 {
  14046. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  14047. 0x035 Display String: "Caught a Chocobo."
  14048. 0x048 BattleAddr(&MemBank1/2) <- 1
  14049. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  14050. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  14051. 0x05DSCRIPT END
  14052.  
  14053.  
  14054.  
  14055.  
  14056. 142 - [8E] Bahba Velamyu
  14057.  
  14058.  
  14059. LocalVar:0000 = LocalVar:Count
  14060. LocalVar:0020 = LocalVar:SpclChance
  14061. LocalVar:0040 = LocalVar:TarSelected
  14062.  
  14063. BattleAddr(&2060) = BattleAddr(&Self)
  14064. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14065. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14066.  
  14067. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  14068. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  14069. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  14070. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  14071. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  14072. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  14073. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  14074. BattleAddr(&4180) = BattleAddr(&MaxHP)
  14075.  
  14076.  
  14077.  
  14078. PRE-BATTLE:
  14079.  
  14080. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  14081. 0x008LocalVar:Count <- Random MOD 5
  14082. 0x010LocalVar:SpclChance <- 5
  14083. 0x016SCRIPT END
  14084.  
  14085.  
  14086. MAIN:
  14087.  
  14088. 0x000 If (LocalVar:Count == 0)
  14089. 0x000 {
  14090. 0x008 }
  14091. 0x008 Else
  14092. 0x008 {
  14093. 0x00B If (LocalVar:Count == 1)
  14094. 0x00B {
  14095. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14096. 0x010 {
  14097. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14098. 0x02C }
  14099. 0x02C Else
  14100. 0x02C {
  14101. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14102. 0x037 Perform("Bonecutter"[0227], EnemyAttack)
  14103. 0x03D If (Not (Random MOD LocalVar:SpclChance) )
  14104. 0x03D {
  14105. 0x046 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14106. 0x046 {
  14107. 0x053 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14108. 0x062 }
  14109. 0x062 Else
  14110. 0x062 {
  14111. 0x065 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14112. 0x06D Perform("Bonecutter"[0227], EnemyAttack)
  14113. 0x073 LocalVar:Count <- LocalVar:Count + 1
  14114. 0x07D }
  14115. 0x07D Else
  14116. 0x07D {
  14117. 0x080 }
  14118. 0x080 Else
  14119. 0x080 {
  14120. 0x083 If (LocalVar:Count == 2)
  14121. 0x083 {
  14122. 0x088 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14123. 0x088 {
  14124. 0x095 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14125. 0x0A4 }
  14126. 0x0A4 Else
  14127. 0x0A4 {
  14128. 0x0A7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14129. 0x0AF Perform("Jumping Cutter"[0228], EnemyAttack)
  14130. 0x0B5 If (Not (Random MOD LocalVar:SpclChance) )
  14131. 0x0B5 {
  14132. 0x0BE If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14133. 0x0BE {
  14134. 0x0CB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  14135. 0x0DA }
  14136. 0x0DA Else
  14137. 0x0DA {
  14138. 0x0DD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14139. 0x0E5 Perform("Jumping Cutter"[0228], EnemyAttack)
  14140. 0x0EB LocalVar:Count <- 0
  14141. 0x0F1 }
  14142. 0x0F1 Else
  14143. 0x0F1 {
  14144. 0x0F4 }
  14145. 0x0F4 Else
  14146. 0x0F4 {
  14147. 0x0F7 If (LocalVar:Count == 3)
  14148. 0x0F7 {
  14149. 0x0FC If ( ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) And (LocalVar:TarSelected.BattleAddr(&SlowStatus) == 0) ) )
  14150. 0x0FC {
  14151. 0x114 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  14152. 0x11B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Slow [0014])) )
  14153. 0x11B {
  14154. 0x129 Perform("Slow"[0014], EnemyAttack)
  14155. 0x12E }
  14156. 0x12E Else
  14157. 0x12E {
  14158. 0x131 Perform("Magic Cutter"[0229], EnemyAttack)
  14159. 0x137 LocalVar:Count <- 0
  14160. 0x13D }
  14161. 0x13D Else
  14162. 0x13D {
  14163. 0x140 }
  14164. 0x140 Else
  14165. 0x140 {
  14166. 0x143 If ( ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) And (LocalVar:TarSelected.BattleAddr(&SilenceStatus) == 0) ) )
  14167. 0x143 {
  14168. 0x15B BattleAddr(&TarSelected) <- LocalVar:TarSelected
  14169. 0x162 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) )
  14170. 0x162 {
  14171. 0x170 Perform("Silence"[000D], EnemyAttack)
  14172. 0x175 }
  14173. 0x175 Else
  14174. 0x175 {
  14175. 0x178 Perform("Magic Cutter"[0229], EnemyAttack)
  14176. 0x17E LocalVar:Count <- 0
  14177. 0x184 }
  14178. 0x184 Else
  14179. 0x184 {
  14180. 0x187POP(LocalVar:Count)
  14181. 0x188SCRIPT END
  14182.  
  14183.  
  14184. GENERAL COUNTER:
  14185.  
  14186. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  14187. 0x000 {
  14188. 0x018 LocalVar:SpclChance <- 2
  14189. 0x01E }
  14190. 0x01E Else
  14191. 0x01E {
  14192. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  14193. 0x021 {
  14194. 0x039 LocalVar:SpclChance <- 3
  14195. 0x03F }
  14196. 0x03F Else
  14197. 0x03F {
  14198. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  14199. 0x042 {
  14200. 0x05A LocalVar:SpclChance <- 4
  14201. 0x060 }
  14202. 0x060 Else
  14203. 0x060 {
  14204. 0x063 LocalVar:SpclChance <- 5
  14205. 0x069SCRIPT END
  14206.  
  14207.  
  14208. PHYSICAL COUNTER:
  14209.  
  14210. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  14211. 0x00BLocalVar:Count <- 3
  14212. 0x011SCRIPT END
  14213.  
  14214.  
  14215. MAGIC COUNTER:
  14216.  
  14217. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  14218. 0x00BLocalVar:Count <- 4
  14219. 0x011SCRIPT END
  14220.  
  14221.  
  14222.  
  14223.  
  14224. 143 - [8F] Valron
  14225.  
  14226.  
  14227. LocalVar:0000 = LocalVar:BaseEvade
  14228. LocalVar:0020 = LocalVar:BaseIdleAnimID
  14229. LocalVar:0040 = LocalVar:BaseDamagedAnimID
  14230. LocalVar:0060 = LocalVar:AttackConfirmed
  14231. LocalVar:0080 = LocalVar:EnemyAttack
  14232. LocalVar:00A0 = LocalVar:ChocID
  14233. LocalVar:00C0 = LocalVar:ChocPresent
  14234.  
  14235. GlobalVar(0054) = GlobalVar(CaughtChoc)
  14236.  
  14237. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  14238. BattleAddr(&2060) = BattleAddr(&Self)
  14239. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14240. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  14241. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14242.  
  14243. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  14244. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  14245. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  14246. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  14247. BattleAddr(&400A) = BattleAddr(&StopStatus)
  14248. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  14249. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  14250. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  14251. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  14252. BattleAddr(&4023) = BattleAddr(&Targetable)
  14253. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  14254. BattleAddr(&4078) = BattleAddr(&Evade)
  14255. BattleAddr(&4080) = BattleAddr(&BaseIdleAnimID)
  14256. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  14257. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  14258. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  14259. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  14260.  
  14261.  
  14262.  
  14263. PRE-BATTLE:
  14264.  
  14265. 0x000LocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  14266. 0x00BLocalVar:BaseIdleAnimID <- BattleAddr(&Self).BattleAddr(&BaseIdleAnimID)
  14267. 0x016LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  14268. 0x021 If (Not (Random MOD 2) )
  14269. 0x021 {
  14270. 0x029 BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) <- 5
  14271. 0x033 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  14272. 0x03D BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 20
  14273. 0x04FLocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  14274. 0x05ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  14275. 0x071LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  14276. 0x084LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  14277. 0x097LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  14278. 0x0AALocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  14279. 0x0BDLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  14280. 0x0D0LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  14281. 0x0E3LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  14282. 0x0F6 If (LocalVar:ChocID)
  14283. 0x0F6 {
  14284. 0x0FC LocalVar:ChocPresent <- 1
  14285. 0x102 BattleAddr(&MemBank1/2) <- 0
  14286. 0x108 GlobalVar(CaughtChoc) <- &TempGlobal)
  14287. 0x10D Display String: "A Chocobo!"
  14288. 0x119SCRIPT END
  14289.  
  14290.  
  14291. MAIN:
  14292.  
  14293. 0x000 If ( (BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) == 0) )
  14294. 0x000 {
  14295. 0x00D If (Random MOD 4 == 0)
  14296. 0x00D {
  14297. 0x016 BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) <- 5
  14298. 0x020 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  14299. 0x02A BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 20
  14300. 0x03C If (Not (Random MOD 2) )
  14301. 0x03C {
  14302. 0x044 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Demi3 [002C])) )
  14303. 0x044 {
  14304. 0x052 Bad Code0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  14305. 0x05F Perform("Demi3"[002C], EnemyAttack)
  14306. 0x064 }
  14307. 0x064 Else
  14308. 0x064 {
  14309. 0x067 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14310. 0x06F Perform("Dive Kick"[022C], EnemyAttack)
  14311. 0x075 }
  14312. 0x075 Else
  14313. 0x075 {
  14314. 0x078 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14315. 0x080 Perform("Dive Kick"[022C], EnemyAttack)
  14316. 0x086 }
  14317. 0x086 Else
  14318. 0x086 {
  14319. 0x089 }
  14320. 0x089 Else
  14321. 0x089 {
  14322. 0x08C If (Random MOD 4 == 1)
  14323. 0x08C {
  14324. 0x091 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14325. 0x099 Perform("Speed Punch"[022A], EnemyAttack)
  14326. 0x09F }
  14327. 0x09F Else
  14328. 0x09F {
  14329. 0x0A2 }
  14330. 0x0A2 Else
  14331. 0x0A2 {
  14332. 0x0A5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14333. 0x0AD Perform("Jump Kick"[022B], EnemyAttack)
  14334. 0x0B3 }
  14335. 0x0B3 Else
  14336. 0x0B3 {
  14337. 0x0B6 POP(Random MOD 4)
  14338. 0x0B7 }
  14339. 0x0B7 Else
  14340. 0x0B7 {
  14341. 0x0BA If ( (BattleAddr(&Self).BattleAddr(&MBarrierStatus) == 0) )
  14342. 0x0BA {
  14343. 0x0C7 If (Random MOD 8 == 0)
  14344. 0x0C7 {
  14345. 0x0D0 BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) <- 0
  14346. 0x0DA BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  14347. 0x0E4 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  14348. 0x0EF }
  14349. 0x0EF Else
  14350. 0x0EF {
  14351. 0x0F2 }
  14352. 0x0F2 Else
  14353. 0x0F2 {
  14354. 0x0F5 If (Random MOD 8 == 1)
  14355. 0x0F5 {
  14356. 0x0FA }
  14357. 0x0FA Else
  14358. 0x0FA {
  14359. 0x0FD If (Random MOD 8 == 2)
  14360. 0x0FD {
  14361. 0x102 }
  14362. 0x102 Else
  14363. 0x102 {
  14364. 0x105 If (Random MOD 8 == 3)
  14365. 0x105 {
  14366. 0x10A If (Random MOD 8 == 0)
  14367. 0x10A {
  14368. 0x113 BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) <- 0
  14369. 0x11D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  14370. 0x127 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  14371. 0x132 }
  14372. 0x132 Else
  14373. 0x132 {
  14374. 0x135 }
  14375. 0x135 Else
  14376. 0x135 {
  14377. 0x138 If (Random MOD 8 == 1)
  14378. 0x138 {
  14379. 0x13D If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Demi3 [002C])) )
  14380. 0x13D {
  14381. 0x14B Bad Code0x156 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  14382. 0x158 Perform("Demi3"[002C], EnemyAttack)
  14383. 0x15D }
  14384. 0x15D Else
  14385. 0x15D {
  14386. 0x160 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14387. 0x168 Perform("Dive Kick"[022C], EnemyAttack)
  14388. 0x16E }
  14389. 0x16E Else
  14390. 0x16E {
  14391. 0x171 }
  14392. 0x171 Else
  14393. 0x171 {
  14394. 0x174 If (Random MOD 8 == 2)
  14395. 0x174 {
  14396. 0x179 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(MBarrier [0010])) )
  14397. 0x179 {
  14398. 0x187 If ( ( (BattleAddr(&AllEnemies).BattleAddr(&DeathStatus) == 0) And (BattleAddr(&AllEnemies).BattleAddr(&MBarrierStatus) == 0) ) )
  14399. 0x187 {
  14400. 0x19F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&MBarrierStatus) == 0) )
  14401. 0x1AE Perform("MBarrier"[0010], EnemyAttack)
  14402. 0x1B3 }
  14403. 0x1B3 Else
  14404. 0x1B3 {
  14405. 0x1B6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14406. 0x1BE Perform("Dive Kick"[022C], EnemyAttack)
  14407. 0x1C4 }
  14408. 0x1C4 Else
  14409. 0x1C4 {
  14410. 0x1C7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14411. 0x1CF Perform("Dive Kick"[022C], EnemyAttack)
  14412. 0x1D5 }
  14413. 0x1D5 Else
  14414. 0x1D5 {
  14415. 0x1D8 }
  14416. 0x1D8 Else
  14417. 0x1D8 {
  14418. 0x1DB If (Random MOD 8 == 3)
  14419. 0x1DB {
  14420. 0x1E0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14421. 0x1E8 Perform("Dive Kick"[022C], EnemyAttack)
  14422. 0x1EE }
  14423. 0x1EE Else
  14424. 0x1EE {
  14425. 0x1F1 }
  14426. 0x1F1 Else
  14427. 0x1F1 {
  14428. 0x1F4 LocalVar:EnemyAttack <- 23 (DeSpell)
  14429. 0x1FA LocalVar:AttackConfirmed <- 1
  14430. 0x200 If ( (BattleAddr(&Self).BattleAddr(&SlowStatus) == 1) )
  14431. 0x200 {
  14432. 0x20D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  14433. 0x214 }
  14434. 0x214 Else
  14435. 0x214 {
  14436. 0x217 If ( (BattleAddr(&AllEnemies).BattleAddr(&SlowStatus) == 1) )
  14437. 0x217 {
  14438. 0x224 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&SlowStatus) == 1) )
  14439. 0x233 }
  14440. 0x233 Else
  14441. 0x233 {
  14442. 0x236 If ( (BattleAddr(&AllEnemies).BattleAddr(&StopStatus) == 1) )
  14443. 0x236 {
  14444. 0x243 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&StopStatus) == 1) )
  14445. 0x252 }
  14446. 0x252 Else
  14447. 0x252 {
  14448. 0x255 If ( (BattleAddr(&AllEnemies).BattleAddr(&SilenceStatus) == 1) )
  14449. 0x255 {
  14450. 0x262 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&SilenceStatus) == 1) )
  14451. 0x271 }
  14452. 0x271 Else
  14453. 0x271 {
  14454. 0x274 If ( (BattleAddr(&AllPlayers).BattleAddr(&BarrierStatus) == 1) )
  14455. 0x274 {
  14456. 0x281 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BarrierStatus) == 1) )
  14457. 0x290 }
  14458. 0x290 Else
  14459. 0x290 {
  14460. 0x293 If ( (BattleAddr(&AllPlayers).BattleAddr(&HasteStatus) == 1) )
  14461. 0x293 {
  14462. 0x2A0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&HasteStatus) == 1) )
  14463. 0x2AF }
  14464. 0x2AF Else
  14465. 0x2AF {
  14466. 0x2B2 If ( (BattleAddr(&AllPlayers).BattleAddr(&MBarrierStatus) == 1) )
  14467. 0x2B2 {
  14468. 0x2BF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&MBarrierStatus) == 1) )
  14469. 0x2CE }
  14470. 0x2CE Else
  14471. 0x2CE {
  14472. 0x2D1 If ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 1) )
  14473. 0x2D1 {
  14474. 0x2DE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 1) )
  14475. 0x2ED }
  14476. 0x2ED Else
  14477. 0x2ED {
  14478. 0x2F0 If ( (BattleAddr(&AllPlayers).BattleAddr(&RegenStatus) == 1) )
  14479. 0x2F0 {
  14480. 0x2FD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&RegenStatus) == 1) )
  14481. 0x30C }
  14482. 0x30C Else
  14483. 0x30C {
  14484. 0x30F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14485. 0x317 LocalVar:EnemyAttack <- 556 (Dive Kick)
  14486. 0x31E LocalVar:AttackConfirmed <- 0
  14487. 0x324 If (LocalVar:AttackConfirmed)
  14488. 0x324 {
  14489. 0x32A If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(LocalVar:EnemyAttack)) )
  14490. 0x32A {
  14491. 0x339 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14492. 0x341 LocalVar:EnemyAttack <- 556 (Dive Kick)
  14493. 0x348 Perform(LocalVar:EnemyAttack, EnemyAttack)
  14494. 0x34E }
  14495. 0x34E Else
  14496. 0x34E {
  14497. 0x351 POP(Random MOD 8)
  14498. 0x352 }
  14499. 0x352 Else
  14500. 0x352 {
  14501. 0x355 }
  14502. 0x355 Else
  14503. 0x355 {
  14504. 0x358 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(MBarrier [0010])) )
  14505. 0x358 {
  14506. 0x366 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  14507. 0x36D Perform("MBarrier"[0010], EnemyAttack)
  14508. 0x372 }
  14509. 0x372 Else
  14510. 0x372 {
  14511. 0x375 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14512. 0x37D Perform("Dive Kick"[022C], EnemyAttack)
  14513. 0x383 }
  14514. 0x383 Else
  14515. 0x383 {
  14516. 0x386 POP(Random MOD 8)
  14517. 0x387 }
  14518. 0x387 Else
  14519. 0x387 {
  14520. 0x38A If (Random MOD 8 == 0)
  14521. 0x38A {
  14522. 0x393 BattleAddr(&Self).BattleAddr(&BaseIdleAnimID) <- 0
  14523. 0x39D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  14524. 0x3A7 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  14525. 0x3B2 }
  14526. 0x3B2 Else
  14527. 0x3B2 {
  14528. 0x3B5 }
  14529. 0x3B5 Else
  14530. 0x3B5 {
  14531. 0x3B8 If (Random MOD 8 == 1)
  14532. 0x3B8 {
  14533. 0x3BD If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Demi3 [002C])) )
  14534. 0x3BD {
  14535. 0x3CB Bad Code0x3D6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  14536. 0x3D8 Perform("Demi3"[002C], EnemyAttack)
  14537. 0x3DD }
  14538. 0x3DD Else
  14539. 0x3DD {
  14540. 0x3E0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14541. 0x3E8 Perform("Dive Kick"[022C], EnemyAttack)
  14542. 0x3EE }
  14543. 0x3EE Else
  14544. 0x3EE {
  14545. 0x3F1 }
  14546. 0x3F1 Else
  14547. 0x3F1 {
  14548. 0x3F4 If (Random MOD 8 == 2)
  14549. 0x3F4 {
  14550. 0x3F9 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(MBarrier [0010])) )
  14551. 0x3F9 {
  14552. 0x407 If ( ( (BattleAddr(&AllEnemies).BattleAddr(&DeathStatus) == 0) And (BattleAddr(&AllEnemies).BattleAddr(&MBarrierStatus) == 0) ) )
  14553. 0x407 {
  14554. 0x41F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&MBarrierStatus) == 0) )
  14555. 0x42E Perform("MBarrier"[0010], EnemyAttack)
  14556. 0x433 }
  14557. 0x433 Else
  14558. 0x433 {
  14559. 0x436 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14560. 0x43E Perform("Dive Kick"[022C], EnemyAttack)
  14561. 0x444 }
  14562. 0x444 Else
  14563. 0x444 {
  14564. 0x447 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14565. 0x44F Perform("Dive Kick"[022C], EnemyAttack)
  14566. 0x455 }
  14567. 0x455 Else
  14568. 0x455 {
  14569. 0x458 }
  14570. 0x458 Else
  14571. 0x458 {
  14572. 0x45B If (Random MOD 8 == 3)
  14573. 0x45B {
  14574. 0x460 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14575. 0x468 Perform("Dive Kick"[022C], EnemyAttack)
  14576. 0x46E }
  14577. 0x46E Else
  14578. 0x46E {
  14579. 0x471 }
  14580. 0x471 Else
  14581. 0x471 {
  14582. 0x474 LocalVar:EnemyAttack <- 23 (DeSpell)
  14583. 0x47A LocalVar:AttackConfirmed <- 1
  14584. 0x480 If ( (BattleAddr(&Self).BattleAddr(&SlowStatus) == 1) )
  14585. 0x480 {
  14586. 0x48D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  14587. 0x494 }
  14588. 0x494 Else
  14589. 0x494 {
  14590. 0x497 If ( (BattleAddr(&AllEnemies).BattleAddr(&SlowStatus) == 1) )
  14591. 0x497 {
  14592. 0x4A4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&SlowStatus) == 1) )
  14593. 0x4B3 }
  14594. 0x4B3 Else
  14595. 0x4B3 {
  14596. 0x4B6 If ( (BattleAddr(&AllEnemies).BattleAddr(&StopStatus) == 1) )
  14597. 0x4B6 {
  14598. 0x4C3 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&StopStatus) == 1) )
  14599. 0x4D2 }
  14600. 0x4D2 Else
  14601. 0x4D2 {
  14602. 0x4D5 If ( (BattleAddr(&AllEnemies).BattleAddr(&SilenceStatus) == 1) )
  14603. 0x4D5 {
  14604. 0x4E2 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllEnemies).BattleAddr(&SilenceStatus) == 1) )
  14605. 0x4F1 }
  14606. 0x4F1 Else
  14607. 0x4F1 {
  14608. 0x4F4 If ( (BattleAddr(&AllPlayers).BattleAddr(&BarrierStatus) == 1) )
  14609. 0x4F4 {
  14610. 0x501 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BarrierStatus) == 1) )
  14611. 0x510 }
  14612. 0x510 Else
  14613. 0x510 {
  14614. 0x513 If ( (BattleAddr(&AllPlayers).BattleAddr(&HasteStatus) == 1) )
  14615. 0x513 {
  14616. 0x520 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&HasteStatus) == 1) )
  14617. 0x52F }
  14618. 0x52F Else
  14619. 0x52F {
  14620. 0x532 If ( (BattleAddr(&AllPlayers).BattleAddr(&MBarrierStatus) == 1) )
  14621. 0x532 {
  14622. 0x53F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&MBarrierStatus) == 1) )
  14623. 0x54E }
  14624. 0x54E Else
  14625. 0x54E {
  14626. 0x551 If ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 1) )
  14627. 0x551 {
  14628. 0x55E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 1) )
  14629. 0x56D }
  14630. 0x56D Else
  14631. 0x56D {
  14632. 0x570 If ( (BattleAddr(&AllPlayers).BattleAddr(&RegenStatus) == 1) )
  14633. 0x570 {
  14634. 0x57D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&RegenStatus) == 1) )
  14635. 0x58C }
  14636. 0x58C Else
  14637. 0x58C {
  14638. 0x58F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14639. 0x597 LocalVar:EnemyAttack <- 556 (Dive Kick)
  14640. 0x59E LocalVar:AttackConfirmed <- 0
  14641. 0x5A4 If (LocalVar:AttackConfirmed)
  14642. 0x5A4 {
  14643. 0x5AA If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(LocalVar:EnemyAttack)) )
  14644. 0x5AA {
  14645. 0x5B9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14646. 0x5C1 LocalVar:EnemyAttack <- 556 (Dive Kick)
  14647. 0x5C8 Perform(LocalVar:EnemyAttack, EnemyAttack)
  14648. 0x5CE }
  14649. 0x5CE Else
  14650. 0x5CE {
  14651. 0x5D1 POP(Random MOD 8)
  14652. 0x5D2SCRIPT END
  14653.  
  14654. NOTE - 0x05C uses HMSK
  14655. NOTE - 0x155 uses HMSK
  14656. NOTE - 0x3DF uses HMSK
  14657.  
  14658.  
  14659. DEATH COUNTER:
  14660.  
  14661. 0x000 If ( (LocalVar:ChocPresent == 1) )
  14662. 0x000 {
  14663. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  14664. 0x009 {
  14665. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  14666. 0x013 {
  14667. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  14668. 0x035 Display String: "Caught a Chocobo."
  14669. 0x048 BattleAddr(&MemBank1/2) <- 1
  14670. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  14671. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  14672. 0x05DSCRIPT END
  14673.  
  14674.  
  14675.  
  14676.  
  14677. 144 - [90] Battery Cap
  14678.  
  14679.  
  14680. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14681. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14682.  
  14683. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  14684.  
  14685.  
  14686.  
  14687. MAIN:
  14688.  
  14689. 0x000 If (Not (Random MOD 2) )
  14690. 0x000 {
  14691. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  14692. 0x008 {
  14693. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  14694. 0x024 }
  14695. 0x024 Else
  14696. 0x024 {
  14697. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14698. 0x02F Perform("Seed Shot"[022D], EnemyAttack)
  14699. 0x035 }
  14700. 0x035 Else
  14701. 0x035 {
  14702. 0x038 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14703. 0x040 Perform("Four Laser"[022E], EnemyAttack)
  14704. 0x046SCRIPT END
  14705.  
  14706.  
  14707.  
  14708.  
  14709. 145 - [91] Mirage
  14710.  
  14711.  
  14712. BattleAddr(&2060) = BattleAddr(&Self)
  14713. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14714. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14715.  
  14716. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  14717. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  14718.  
  14719.  
  14720.  
  14721. PRE-BATTLE:
  14722.  
  14723. 0x000BattleAddr(&Self).BattleAddr(&ReflectStatus) <- 1
  14724. 0x00ASCRIPT END
  14725.  
  14726.  
  14727. MAIN:
  14728.  
  14729. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  14730. 0x000 {
  14731. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  14732. 0x01C }
  14733. 0x01C Else
  14734. 0x01C {
  14735. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14736. 0x027Perform("Swing Attack"[022F], EnemyAttack)
  14737. 0x02D If (Not (Random MOD 2) )
  14738. 0x02D {
  14739. 0x035 If ( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  14740. 0x035 {
  14741. 0x042 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DSentenceStatus) == 0) )
  14742. 0x051 }
  14743. 0x051 Else
  14744. 0x051 {
  14745. 0x054 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14746. 0x05C Perform("Swing Attack"[022F], EnemyAttack)
  14747. 0x062SCRIPT END
  14748.  
  14749.  
  14750.  
  14751.  
  14752. 146 - [92] Dorky Face
  14753.  
  14754.  
  14755. LocalVar:0000 = LocalVar:Count
  14756. LocalVar:0020 = LocalVar:SpclAttack
  14757. LocalVar:0040 = LocalVar:1stChr
  14758. LocalVar:0060 = LocalVar:2ndChr
  14759. LocalVar:0080 = LocalVar:3rdChr
  14760. LocalVar:00A0 = LocalVar:PlayerSilenced
  14761. LocalVar:00C0 = LocalVar:PlayerParalyzed
  14762. LocalVar:00E0 = LocalVar:SelfActive
  14763.  
  14764. BattleAddr(&2060) = BattleAddr(&Self)
  14765. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14766. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14767.  
  14768. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  14769. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  14770. BattleAddr(&4020) = BattleAddr(&SelfActive)
  14771. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  14772. BattleAddr(&4023) = BattleAddr(&Targetable)
  14773. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  14774.  
  14775.  
  14776.  
  14777. PRE-BATTLE:
  14778.  
  14779. 0x000LocalVar:1stChr <- FlagBit(0)
  14780. 0x007LocalVar:2ndChr <- FlagBit(1)
  14781. 0x00ELocalVar:3rdChr <- FlagBit(2)
  14782. 0x015 If (Not (Random MOD 2) )
  14783. 0x015 {
  14784. 0x01D LocalVar:SpclAttack <- 1
  14785. 0x023SCRIPT END
  14786.  
  14787.  
  14788. MAIN:
  14789.  
  14790. 0x000 If (Not (LocalVar:SelfActive) )
  14791. 0x000 {
  14792. 0x007 LocalVar:PlayerSilenced <- 0
  14793. 0x00D If ( (LocalVar:1stChr.BattleAddr(&SilenceStatus) == 1) )
  14794. 0x00D {
  14795. 0x01A LocalVar:PlayerSilenced <- LocalVar:PlayerSilenced OR 1
  14796. 0x024 If ( (LocalVar:2ndChr.BattleAddr(&SilenceStatus) == 1) )
  14797. 0x024 {
  14798. 0x031 LocalVar:PlayerSilenced <- LocalVar:PlayerSilenced OR 2
  14799. 0x03B If ( (LocalVar:3rdChr.BattleAddr(&SilenceStatus) == 1) )
  14800. 0x03B {
  14801. 0x048 LocalVar:PlayerSilenced <- LocalVar:PlayerSilenced OR 4
  14802. 0x052 LocalVar:PlayerParalyzed <- 0
  14803. 0x058 If ( (LocalVar:1stChr.BattleAddr(&ParalyzedStatus) == 1) )
  14804. 0x058 {
  14805. 0x065 LocalVar:PlayerParalyzed <- LocalVar:PlayerParalyzed OR 1
  14806. 0x06F If ( (LocalVar:2ndChr.BattleAddr(&ParalyzedStatus) == 1) )
  14807. 0x06F {
  14808. 0x07C LocalVar:PlayerParalyzed <- LocalVar:PlayerParalyzed OR 2
  14809. 0x086 If ( (LocalVar:3rdChr.BattleAddr(&ParalyzedStatus) == 1) )
  14810. 0x086 {
  14811. 0x093 LocalVar:PlayerParalyzed <- LocalVar:PlayerParalyzed OR 4
  14812. 0x09D If ( ( (LocalVar:PlayerSilenced == 7) And (LocalVar:PlayerParalyzed == 7) ) )
  14813. 0x09D {
  14814. 0x0AD BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  14815. 0x0B7 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  14816. 0x0C1 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  14817. 0x0C8 Perform("Ascend"[0234], EnemyAttack)
  14818. 0x0CE LocalVar:SelfActive <- 1
  14819. 0x0D4 }
  14820. 0x0D4 Else
  14821. 0x0D4 {
  14822. 0x0D7 If (LocalVar:Count == 0)
  14823. 0x0D7 {
  14824. 0x0DF If (Not (LocalVar:SpclAttack) )
  14825. 0x0DF {
  14826. 0x0E6 If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  14827. 0x0E6 {
  14828. 0x0F3 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  14829. 0x102 Perform("Curses"[0232], EnemyAttack)
  14830. 0x108 }
  14831. 0x108 Else
  14832. 0x108 {
  14833. 0x10B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14834. 0x113 Perform("Cutter"[0231], EnemyAttack)
  14835. 0x119 LocalVar:SpclAttack <- 1
  14836. 0x11F }
  14837. 0x11F Else
  14838. 0x11F {
  14839. 0x122 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  14840. 0x122 {
  14841. 0x12F BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0)
  14842. 0x13D Perform("Funny Breath"[0233], EnemyAttack)
  14843. 0x143 }
  14844. 0x143 Else
  14845. 0x143 {
  14846. 0x146 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14847. 0x14E Perform("Cutter"[0231], EnemyAttack)
  14848. 0x154 LocalVar:SpclAttack <- 0
  14849. 0x15A LocalVar:Count <- 1
  14850. 0x160 }
  14851. 0x160 Else
  14852. 0x160 {
  14853. 0x163 }
  14854. 0x163 Else
  14855. 0x163 {
  14856. 0x166 If (LocalVar:Count == 1)
  14857. 0x166 {
  14858. 0x16B }
  14859. 0x16B Else
  14860. 0x16B {
  14861. 0x16E If (LocalVar:Count == 2)
  14862. 0x16E {
  14863. 0x173 LocalVar:Count <- LocalVar:Count + 1
  14864. 0x17D }
  14865. 0x17D Else
  14866. 0x17D {
  14867. 0x180 }
  14868. 0x180 Else
  14869. 0x180 {
  14870. 0x183 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14871. 0x18B Perform("Cutter"[0231], EnemyAttack)
  14872. 0x191 LocalVar:Count <- 0
  14873. 0x197 }
  14874. 0x197 Else
  14875. 0x197 {
  14876. 0x19A POP(LocalVar:Count)
  14877. 0x19B }
  14878. 0x19B Else
  14879. 0x19B {
  14880. 0x19E BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  14881. 0x1A8 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  14882. 0x1B2 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  14883. 0x1BC BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  14884. 0x1C6SCRIPT END
  14885.  
  14886.  
  14887.  
  14888.  
  14889. 147 - [93] Jersey
  14890.  
  14891.  
  14892. LocalVar:0000 = LocalVar:SpclChance
  14893.  
  14894. BattleAddr(&2060) = BattleAddr(&Self)
  14895. BattleAddr(&2070) = BattleAddr(&TarSelected)
  14896. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  14897.  
  14898. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  14899. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  14900. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  14901. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  14902. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  14903. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  14904. BattleAddr(&4180) = BattleAddr(&MaxHP)
  14905.  
  14906.  
  14907.  
  14908. PRE-BATTLE:
  14909.  
  14910. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  14911. 0x000 {
  14912. 0x00D BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  14913. 0x017 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  14914. 0x021 }
  14915. 0x021 Else
  14916. 0x021 {
  14917. 0x024 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  14918. 0x02E BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  14919. 0x038LocalVar:SpclChance <- 6
  14920. 0x03ESCRIPT END
  14921.  
  14922.  
  14923. MAIN:
  14924.  
  14925. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  14926. 0x000 {
  14927. 0x00D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(???? [0058])) And Not (Random MOD LocalVar:SpclChance) ) )
  14928. 0x00D {
  14929. 0x022 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14930. 0x02A Perform("????"[0058], EnemyAttack)
  14931. 0x02F }
  14932. 0x02F Else
  14933. 0x02F {
  14934. 0x032 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14935. 0x03A Perform("Spin Attack"[0235], EnemyAttack)
  14936. 0x040 If (Not (Random MOD LocalVar:SpclChance) )
  14937. 0x040 {
  14938. 0x049 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14939. 0x051 Perform("Spin Attack"[0235], EnemyAttack)
  14940. 0x057 }
  14941. 0x057 Else
  14942. 0x057 {
  14943. 0x05A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 7) )
  14944. 0x05A {
  14945. 0x067 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) And Not (Random MOD LocalVar:SpclChance) ) )
  14946. 0x067 {
  14947. 0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14948. 0x084 Perform("Fire2"[001C], EnemyAttack)
  14949. 0x089 }
  14950. 0x089 Else
  14951. 0x089 {
  14952. 0x08C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14953. 0x094 Perform("Spin Attack"[0237], EnemyAttack)
  14954. 0x09A If (Not (Random MOD LocalVar:SpclChance) )
  14955. 0x09A {
  14956. 0x0A3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  14957. 0x0AB Perform("Spin Attack"[0237], EnemyAttack)
  14958. 0x0B1SCRIPT END
  14959.  
  14960.  
  14961. GENERAL COUNTER:
  14962.  
  14963. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  14964. 0x000 {
  14965. 0x018 LocalVar:SpclChance <- 3
  14966. 0x01E }
  14967. 0x01E Else
  14968. 0x01E {
  14969. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  14970. 0x021 {
  14971. 0x039 LocalVar:SpclChance <- 4
  14972. 0x03F }
  14973. 0x03F Else
  14974. 0x03F {
  14975. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  14976. 0x042 {
  14977. 0x05A LocalVar:SpclChance <- 5
  14978. 0x060 }
  14979. 0x060 Else
  14980. 0x060 {
  14981. 0x063 LocalVar:SpclChance <- 6
  14982. 0x069SCRIPT END
  14983.  
  14984.  
  14985. PHYSICAL COUNTER:
  14986.  
  14987. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  14988. 0x000 {
  14989. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  14990. 0x014 Perform("Lean to LL"[0236], EnemyAttack)
  14991. 0x01A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  14992. 0x024 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  14993. 0x02E BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  14994. 0x038 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  14995. 0x042SCRIPT END
  14996.  
  14997.  
  14998. MAGIC COUNTER:
  14999.  
  15000. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  15001. 0x000 {
  15002. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15003. 0x014 Perform("Lean to LR"[0238], EnemyAttack)
  15004. 0x01A BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  15005. 0x024 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  15006. 0x02E BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  15007. 0x038 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  15008. 0x042SCRIPT END
  15009.  
  15010.  
  15011.  
  15012.  
  15013. 148 - [94] Black Bat
  15014.  
  15015.  
  15016. LocalVar:0000 = LocalVar:BaseEvadeAnimID
  15017. LocalVar:0020 = LocalVar:BaseEvade
  15018.  
  15019. BattleAddr(&2060) = BattleAddr(&Self)
  15020. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15021. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15022.  
  15023. BattleAddr(&4078) = BattleAddr(&Evade)
  15024. BattleAddr(&42B0) = BattleAddr(&EvadeAnimID)
  15025.  
  15026.  
  15027.  
  15028. PRE-BATTLE:
  15029.  
  15030. 0x000LocalVar:BaseEvadeAnimID <- BattleAddr(&Self).BattleAddr(&EvadeAnimID)
  15031. 0x00BLocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  15032. 0x016SCRIPT END
  15033.  
  15034.  
  15035. PRE-ACTION SETUP:
  15036.  
  15037. 0x000BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- LocalVar:BaseEvadeAnimID
  15038. 0x00BBattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  15039. 0x016 If ( (Random MOD 8 == 0) )
  15040. 0x016 {
  15041. 0x020 BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- 4
  15042. 0x02A BattleAddr(&Self).BattleAddr(&Evade) <- 255
  15043. 0x034SCRIPT END
  15044.  
  15045.  
  15046. MAIN:
  15047.  
  15048. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15049. 0x008Perform("Blood Suck"[0239], EnemyAttack)
  15050. 0x00ESCRIPT END
  15051.  
  15052.  
  15053.  
  15054.  
  15055. 149 - [95] Ghirofelgo
  15056.  
  15057.  
  15058. LocalVar:0000 = LocalVar:SpclHitCount
  15059. LocalVar:0020 = LocalVar:HitCount
  15060.  
  15061. BattleAddr(&2060) = BattleAddr(&Self)
  15062. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15063. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15064.  
  15065. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  15066. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  15067.  
  15068.  
  15069.  
  15070. PRE-BATTLE:
  15071.  
  15072. 0x000LocalVar:SpclHitCount <- 2
  15073. 0x006LocalVar:HitCount <- 3
  15074. 0x00CSCRIPT END
  15075.  
  15076.  
  15077. MAIN:
  15078.  
  15079. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  15080. 0x000 {
  15081. 0x00D If ( (Not (Random MOD 8) Or Not (LocalVar:HitCount) ) )
  15082. 0x00D {
  15083. 0x01A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15084. 0x022 Perform("Guillotine"[023B], EnemyAttack)
  15085. 0x028 LocalVar:HitCount <- 3
  15086. 0x02E }
  15087. 0x02E Else
  15088. 0x02E {
  15089. 0x031 LocalVar:HitCount <- LocalVar:HitCount - 1
  15090. 0x03B }
  15091. 0x03B Else
  15092. 0x03B {
  15093. 0x03E If ( (Not (Random MOD 3) Or Not (LocalVar:SpclHitCount) ) )
  15094. 0x03E {
  15095. 0x04B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15096. 0x052 Perform("Catch Chain"[023C], EnemyAttack)
  15097. 0x058 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  15098. 0x062 }
  15099. 0x062 Else
  15100. 0x062 {
  15101. 0x065 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15102. 0x06C Perform("Fail to catch"[023D], EnemyAttack)
  15103. 0x072 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  15104. 0x07CSCRIPT END
  15105.  
  15106.  
  15107. GENERAL COUNTER:
  15108.  
  15109. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  15110. 0x000 {
  15111. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  15112. 0x017 If (Not (Random MOD 8) )
  15113. 0x017 {
  15114. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15115. 0x026 Perform([011F], EnemyAttack)
  15116. 0x02C BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  15117. 0x036 LocalVar:SpclHitCount <- 2
  15118. 0x03C }
  15119. 0x03C Else
  15120. 0x03C {
  15121. 0x03F BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  15122. 0x049SCRIPT END
  15123.  
  15124.  
  15125.  
  15126.  
  15127. 150 - [96] Chain
  15128.  
  15129.  
  15130. MAIN:
  15131.  
  15132. 0x000SCRIPT END
  15133.  
  15134.  
  15135.  
  15136.  
  15137. 151 - [97] Ying
  15138.  
  15139.  
  15140. LocalVar:0000 = LocalVar:Allies
  15141. LocalVar:0020 = LocalVar:Yang
  15142. LocalVar:0040 = LocalVar:Ying/Yang
  15143.  
  15144. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  15145. BattleAddr(&2060) = BattleAddr(&Self)
  15146. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15147. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15148.  
  15149. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  15150. BattleAddr(&4020) = BattleAddr(&SelfActive)
  15151. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  15152. BattleAddr(&4023) = BattleAddr(&Targetable)
  15153. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  15154. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  15155. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  15156. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  15157. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  15158.  
  15159.  
  15160.  
  15161. PRE-BATTLE:
  15162.  
  15163. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  15164. 0x014LocalVar:Yang <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 152)
  15165. 0x022LocalVar:Ying/Yang <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 153)
  15166. 0x030SCRIPT END
  15167.  
  15168.  
  15169. MAIN:
  15170.  
  15171. 0x000 If ( (BattleAddr(&ActiveActors).BattleAddr(&DeathStatus) == 0) )
  15172. 0x000 {
  15173. 0x00D If (Not (Random MOD 4) )
  15174. 0x00D {
  15175. 0x015 Bad Code0x020 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  15176. 0x022 Perform("Sadistic Attack"[023F], EnemyAttack)
  15177. 0x028 }
  15178. 0x028 Else
  15179. 0x028 {
  15180. 0x02B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15181. 0x033 Perform("Ying Punch"[023E], EnemyAttack)
  15182. 0x039 }
  15183. 0x039 Else
  15184. 0x039 {
  15185. 0x03C Bad Code0x047 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  15186. 0x049 Perform("Sadistic Attack"[023F], EnemyAttack)
  15187. 0x04FSCRIPT END
  15188.  
  15189. NOTE - 0x01F uses LMSK
  15190. NOTE - 0x046 uses LMSK
  15191.  
  15192.  
  15193. DEATH COUNTER:
  15194.  
  15195. 0x000 If ( (LocalVar:Yang.BattleAddr(&DeathStatus) == 1) )
  15196. 0x000 {
  15197. 0x00D BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  15198. 0x017 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15199. 0x01E Perform("Vanish"[014E], EnemyAttack)
  15200. 0x024 LocalVar:Ying/Yang.BattleAddr(&SelfActive) <- 0
  15201. 0x02E LocalVar:Ying/Yang.BattleAddr(&Targetable) <- 0
  15202. 0x038 LocalVar:Ying/Yang.BattleAddr(&Needed2EndBattle) <- 0
  15203. 0x042 LocalVar:Ying/Yang.BattleAddr(&AIScriptActive) <- 0
  15204. 0x04CSCRIPT END
  15205.  
  15206.  
  15207.  
  15208.  
  15209. 152 - [98] Yang
  15210.  
  15211.  
  15212. LocalVar:0000 = LocalVar:Allies
  15213. LocalVar:0020 = LocalVar:Ying
  15214. LocalVar:0040 = LocalVar:Ying/Yang
  15215.  
  15216. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  15217. BattleAddr(&2060) = BattleAddr(&Self)
  15218. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15219. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15220.  
  15221. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  15222. BattleAddr(&4020) = BattleAddr(&SelfActive)
  15223. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  15224. BattleAddr(&4023) = BattleAddr(&Targetable)
  15225. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  15226. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  15227. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  15228. BattleAddr(&4068) = BattleAddr(&Strength)
  15229. BattleAddr(&4070) = BattleAddr(&Magic)
  15230. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  15231. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  15232. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  15233. BattleAddr(&4180) = BattleAddr(&MaxHP)
  15234.  
  15235.  
  15236.  
  15237. PRE-BATTLE:
  15238.  
  15239. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  15240. 0x014LocalVar:Ying <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 151)
  15241. 0x022LocalVar:Ying/Yang <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 153)
  15242. 0x030SCRIPT END
  15243.  
  15244.  
  15245. MAIN:
  15246.  
  15247. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8) )
  15248. 0x000 {
  15249. 0x015 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15250. 0x01D Perform("Suicide Yang"[0240], EnemyAttack)
  15251. 0x023 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  15252. 0x02D BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  15253. 0x037 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  15254. 0x041 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  15255. 0x04B }
  15256. 0x04B Else
  15257. 0x04B {
  15258. 0x04E If (Not (Random MOD 2) )
  15259. 0x04E {
  15260. 0x056 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  15261. 0x056 {
  15262. 0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15263. 0x06C Perform("Bolt2"[0022], EnemyAttack)
  15264. 0x071 }
  15265. 0x071 Else
  15266. 0x071 {
  15267. 0x074 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15268. 0x07C Perform("Suicide Yang"[0240], EnemyAttack)
  15269. 0x082 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  15270. 0x08C BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  15271. 0x096 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  15272. 0x0A0 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  15273. 0x0AA }
  15274. 0x0AA Else
  15275. 0x0AA {
  15276. 0x0AD If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  15277. 0x0AD {
  15278. 0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15279. 0x0C3 Perform("Ice2"[001F], EnemyAttack)
  15280. 0x0C8 }
  15281. 0x0C8 Else
  15282. 0x0C8 {
  15283. 0x0CB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15284. 0x0D3 Perform("Suicide Yang"[0240], EnemyAttack)
  15285. 0x0D9 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  15286. 0x0E3 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  15287. 0x0ED BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  15288. 0x0F7 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  15289. 0x101SCRIPT END
  15290.  
  15291.  
  15292. PHYSICAL COUNTER:
  15293.  
  15294. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15295. 0x007Perform("Happy Yang"[0241], EnemyAttack)
  15296. 0x00D If ( (BattleAddr(&Self).BattleAddr(&Strength) < 255) )
  15297. 0x00D {
  15298. 0x01A BattleAddr(&Self).BattleAddr(&Strength) <- BattleAddr(&Self).BattleAddr(&Strength) + 10
  15299. 0x02CDisplay String: "Yang's happy."
  15300. 0x03BPause(0)
  15301. 0x040SCRIPT END
  15302.  
  15303.  
  15304. MAGIC COUNTER:
  15305.  
  15306. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15307. 0x007Perform("Enchanted Yang"[0242], EnemyAttack)
  15308. 0x00D If ( (BattleAddr(&Self).BattleAddr(&Magic) < 255) )
  15309. 0x00D {
  15310. 0x01A BattleAddr(&Self).BattleAddr(&Magic) <- BattleAddr(&Self).BattleAddr(&Magic) + 10
  15311. 0x02CDisplay String: "Yang's excited."
  15312. 0x03DPause(0)
  15313. 0x042SCRIPT END
  15314.  
  15315.  
  15316. GENERAL COUNTER:
  15317.  
  15318. 0x000 If ( (LocalVar:Ying.BattleAddr(&DeathStatus) == 1) )
  15319. 0x000 {
  15320. 0x00D BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  15321. 0x017 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15322. 0x01E Perform("Vanish"[014E], EnemyAttack)
  15323. 0x024 LocalVar:Ying/Yang.BattleAddr(&SelfActive) <- 0
  15324. 0x02E LocalVar:Ying/Yang.BattleAddr(&Targetable) <- 0
  15325. 0x038 LocalVar:Ying/Yang.BattleAddr(&Needed2EndBattle) <- 0
  15326. 0x042 LocalVar:Ying/Yang.BattleAddr(&AIScriptActive) <- 0
  15327. 0x04CSCRIPT END
  15328.  
  15329.  
  15330.  
  15331.  
  15332. 153 - [99] Ying/Yang
  15333.  
  15334.  
  15335. MAIN:
  15336.  
  15337. 0x000SCRIPT END
  15338.  
  15339.  
  15340.  
  15341.  
  15342. 154 - [9A] Lost Number (1st Form)
  15343.  
  15344.  
  15345. LocalVar:0000 = LocalVar:Allies
  15346. LocalVar:0020 = LocalVar:LostNumber3rd
  15347. LocalVar:0040 = LocalVar:LostNumber2nd
  15348. LocalVar:0060 = LocalVar:Count
  15349. LocalVar:0080 = LocalVar:SpclChance
  15350.  
  15351. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  15352. BattleAddr(&2060) = BattleAddr(&Self)
  15353. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15354. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15355.  
  15356. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  15357. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  15358. BattleAddr(&400A) = BattleAddr(&StopStatus)
  15359. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  15360. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  15361. BattleAddr(&4020) = BattleAddr(&SelfActive)
  15362. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  15363. BattleAddr(&4023) = BattleAddr(&Targetable)
  15364. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  15365. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  15366. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  15367. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  15368. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  15369. BattleAddr(&4180) = BattleAddr(&MaxHP)
  15370.  
  15371.  
  15372.  
  15373. PRE-BATTLE:
  15374.  
  15375. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  15376. 0x014LocalVar:LostNumber3rd <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 156)
  15377. 0x022LocalVar:LostNumber2nd <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 155)
  15378. 0x030LocalVar:Count <- Random MOD 3
  15379. 0x038LocalVar:SpclChance <- 6
  15380. 0x03ESCRIPT END
  15381.  
  15382.  
  15383. MAIN:
  15384.  
  15385. 0x000 If (LocalVar:Count == 0)
  15386. 0x000 {
  15387. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15388. 0x010 Perform("Punch"[0185], EnemyAttack)
  15389. 0x016 If (Not (Random MOD LocalVar:SpclChance) )
  15390. 0x016 {
  15391. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15392. 0x027 Perform("Punch"[0185], EnemyAttack)
  15393. 0x02D If (Not (Random MOD 3) )
  15394. 0x02D {
  15395. 0x035 LocalVar:Count <- 2
  15396. 0x03B }
  15397. 0x03B Else
  15398. 0x03B {
  15399. 0x03E LocalVar:Count <- 1
  15400. 0x044 }
  15401. 0x044 Else
  15402. 0x044 {
  15403. 0x047 }
  15404. 0x047 Else
  15405. 0x047 {
  15406. 0x04A If (LocalVar:Count == 1)
  15407. 0x04A {
  15408. 0x04F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15409. 0x057 Perform("Punch"[0185], EnemyAttack)
  15410. 0x05D If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  15411. 0x05D {
  15412. 0x071 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15413. 0x079 Perform("Punch"[0185], EnemyAttack)
  15414. 0x07F If (Not (Random MOD 3) )
  15415. 0x07F {
  15416. 0x087 LocalVar:Count <- 2
  15417. 0x08D }
  15418. 0x08D Else
  15419. 0x08D {
  15420. 0x090 LocalVar:Count <- 0
  15421. 0x096 }
  15422. 0x096 Else
  15423. 0x096 {
  15424. 0x099 }
  15425. 0x099 Else
  15426. 0x099 {
  15427. 0x09C If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) And (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) ) )
  15428. 0x09C {
  15429. 0x0B5 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15430. 0x0C4 Perform("Bolt2"[0022], EnemyAttack)
  15431. 0x0C9 }
  15432. 0x0C9 Else
  15433. 0x0C9 {
  15434. 0x0CC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15435. 0x0D4 Perform("Punch"[0185], EnemyAttack)
  15436. 0x0DA If (Not (Random MOD LocalVar:SpclChance) )
  15437. 0x0DA {
  15438. 0x0E3 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) And (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) ) )
  15439. 0x0E3 {
  15440. 0x0FC BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15441. 0x10B Perform("Bolt2"[0022], EnemyAttack)
  15442. 0x110 }
  15443. 0x110 Else
  15444. 0x110 {
  15445. 0x113 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15446. 0x11B Perform("Punch"[0185], EnemyAttack)
  15447. 0x121 If (Not (Random MOD 2) )
  15448. 0x121 {
  15449. 0x129 LocalVar:Count <- 0
  15450. 0x12F }
  15451. 0x12F Else
  15452. 0x12F {
  15453. 0x132 LocalVar:Count <- 1
  15454. 0x138 }
  15455. 0x138 Else
  15456. 0x138 {
  15457. 0x13BPOP(LocalVar:Count)
  15458. 0x13CSCRIPT END
  15459.  
  15460.  
  15461. GENERAL COUNTER:
  15462.  
  15463. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 3) And (LocalVar:SpclChance == 4) ) )
  15464. 0x000 {
  15465. 0x01F LocalVar:SpclChance <- 3
  15466. 0x025 }
  15467. 0x025 Else
  15468. 0x025 {
  15469. 0x028 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 4) And (LocalVar:SpclChance == 5) ) )
  15470. 0x028 {
  15471. 0x047 LocalVar:SpclChance <- 4
  15472. 0x04D }
  15473. 0x04D Else
  15474. 0x04D {
  15475. 0x050 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 5) And (LocalVar:SpclChance == 6) ) )
  15476. 0x050 {
  15477. 0x06F LocalVar:SpclChance <- 5
  15478. 0x075 }
  15479. 0x075 Else
  15480. 0x075 {
  15481. 0x078 LocalVar:SpclChance <- 6
  15482. 0x07ESCRIPT END
  15483.  
  15484.  
  15485. PHYSICAL COUNTER:
  15486.  
  15487. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&ParalyzedStatus) == 0) And (BattleAddr(&Self).BattleAddr(&StopStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&SleepStatus) == 0) ) )
  15488. 0x000 {
  15489. 0x023 If ( (LocalVar:SpclChance <= 3) )
  15490. 0x023 {
  15491. 0x02C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15492. 0x033 Perform([0120], EnemyAttack)
  15493. 0x039 LocalVar:LostNumber3rd.BattleAddr(&SelfActive) <- 1
  15494. 0x043 LocalVar:LostNumber3rd.BattleAddr(&Targetable) <- 1
  15495. 0x04D LocalVar:LostNumber3rd.BattleAddr(&Needed2EndBattle) <- 1
  15496. 0x057 LocalVar:LostNumber3rd.BattleAddr(&AIScriptActive) <- 1
  15497. 0x061 TransferStatus(BattleAddr(&Self), LocalVar:LostNumber3rd)
  15498. 0x068 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  15499. 0x072 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  15500. 0x07C BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  15501. 0x086 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  15502. 0x090SCRIPT END
  15503.  
  15504.  
  15505. MAGIC COUNTER:
  15506.  
  15507. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&ParalyzedStatus) == 0) And (BattleAddr(&Self).BattleAddr(&StopStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&SleepStatus) == 0) ) )
  15508. 0x000 {
  15509. 0x023 If ( (LocalVar:SpclChance <= 3) )
  15510. 0x023 {
  15511. 0x02C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  15512. 0x033 Perform([011F], EnemyAttack)
  15513. 0x039 LocalVar:LostNumber2nd.BattleAddr(&SelfActive) <- 1
  15514. 0x043 LocalVar:LostNumber2nd.BattleAddr(&Targetable) <- 1
  15515. 0x04D LocalVar:LostNumber2nd.BattleAddr(&Needed2EndBattle) <- 1
  15516. 0x057 LocalVar:LostNumber2nd.BattleAddr(&AIScriptActive) <- 1
  15517. 0x061 TransferStatus(BattleAddr(&Self), LocalVar:LostNumber2nd)
  15518. 0x068 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  15519. 0x072 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  15520. 0x07C BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  15521. 0x086 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  15522. 0x090SCRIPT END
  15523.  
  15524.  
  15525. DEATH COUNTER:
  15526.  
  15527. 0x000LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  15528. 0x00ALocalVar:Allies.BattleAddr(&Targetable) <- 0
  15529. 0x014LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  15530. 0x01ELocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  15531. 0x028SCRIPT END
  15532.  
  15533.  
  15534.  
  15535.  
  15536. 155 - [9B] Lost Number (2nd Form)
  15537.  
  15538.  
  15539. BattleAddr(&2060) = BattleAddr(&Self)
  15540. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15541. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15542.  
  15543. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  15544. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  15545. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  15546.  
  15547.  
  15548.  
  15549. MAIN:
  15550.  
  15551. 0x000 If (Random MOD 7 == 0)
  15552. 0x000 {
  15553. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15554. 0x011 Perform("Tentacle"[0187], EnemyAttack)
  15555. 0x017 }
  15556. 0x017 Else
  15557. 0x017 {
  15558. 0x01A }
  15559. 0x01A Else
  15560. 0x01A {
  15561. 0x01D If (Random MOD 7 == 1)
  15562. 0x01D {
  15563. 0x022 }
  15564. 0x022 Else
  15565. 0x022 {
  15566. 0x025 If (Random MOD 7 == 2)
  15567. 0x025 {
  15568. 0x02A If ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15569. 0x02A {
  15570. 0x037 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) )
  15571. 0x037 {
  15572. 0x045 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  15573. 0x053 If ( (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 0) )
  15574. 0x053 {
  15575. 0x060 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 0) )
  15576. 0x06F }
  15577. 0x06F Else
  15578. 0x06F {
  15579. 0x072 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  15580. 0x07A Perform("Bio2"[0028], EnemyAttack)
  15581. 0x07F }
  15582. 0x07F Else
  15583. 0x07F {
  15584. 0x082 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  15585. 0x090 Bad Code0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentMP))
  15586. 0x09D Perform("Aspil"[0188], EnemyAttack)
  15587. 0x0A3 }
  15588. 0x0A3 Else
  15589. 0x0A3 {
  15590. 0x0A6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15591. 0x0AE Perform("Tentacle"[0187], EnemyAttack)
  15592. 0x0B4 }
  15593. 0x0B4 Else
  15594. 0x0B4 {
  15595. 0x0B7 }
  15596. 0x0B7 Else
  15597. 0x0B7 {
  15598. 0x0BA If (Random MOD 7 == 3)
  15599. 0x0BA {
  15600. 0x0BF }
  15601. 0x0BF Else
  15602. 0x0BF {
  15603. 0x0C2 If (Random MOD 7 == 4)
  15604. 0x0C2 {
  15605. 0x0C7 If ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15606. 0x0C7 {
  15607. 0x0D4 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  15608. 0x0D4 {
  15609. 0x0E2 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15610. 0x0F1 Perform("Bolt2"[0022], EnemyAttack)
  15611. 0x0F6 }
  15612. 0x0F6 Else
  15613. 0x0F6 {
  15614. 0x0F9 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  15615. 0x107 Bad Code0x112 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentMP))
  15616. 0x114 Perform("Aspil"[0188], EnemyAttack)
  15617. 0x11A }
  15618. 0x11A Else
  15619. 0x11A {
  15620. 0x11D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15621. 0x125 Perform("Tentacle"[0187], EnemyAttack)
  15622. 0x12B }
  15623. 0x12B Else
  15624. 0x12B {
  15625. 0x12E }
  15626. 0x12E Else
  15627. 0x12E {
  15628. 0x131 If (Random MOD 7 == 5)
  15629. 0x131 {
  15630. 0x136 }
  15631. 0x136 Else
  15632. 0x136 {
  15633. 0x139 If ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15634. 0x139 {
  15635. 0x146 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Quake2 [0025])) )
  15636. 0x146 {
  15637. 0x154 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  15638. 0x163 Perform("Quake2"[0025], EnemyAttack)
  15639. 0x168 }
  15640. 0x168 Else
  15641. 0x168 {
  15642. 0x16B BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  15643. 0x179 Bad Code0x184 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentMP))
  15644. 0x186 Perform("Aspil"[0188], EnemyAttack)
  15645. 0x18C }
  15646. 0x18C Else
  15647. 0x18C {
  15648. 0x18F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15649. 0x197 Perform("Tentacle"[0187], EnemyAttack)
  15650. 0x19D }
  15651. 0x19D Else
  15652. 0x19D {
  15653. 0x1A0POP(Random MOD 7)
  15654. 0x1A1SCRIPT END
  15655.  
  15656. NOTE - 0x09A uses HMSK
  15657. NOTE - 0x111 uses HMSK
  15658. NOTE - 0x183 uses HMSK
  15659.  
  15660.  
  15661.  
  15662.  
  15663. 156 - [9C] Lost Number (3rd Form)
  15664.  
  15665.  
  15666. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15667. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15668.  
  15669.  
  15670.  
  15671. MAIN:
  15672.  
  15673. 0x000 If (Not (Random MOD 4) )
  15674. 0x000 {
  15675. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15676. 0x010 Perform("Lost Blow"[0186], EnemyAttack)
  15677. 0x016 }
  15678. 0x016 Else
  15679. 0x016 {
  15680. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15681. 0x021 Perform("Punch"[0185], EnemyAttack)
  15682. 0x027 If (Not (Random MOD 2) )
  15683. 0x027 {
  15684. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15685. 0x037 Perform("Punch"[0185], EnemyAttack)
  15686. 0x03DSCRIPT END
  15687.  
  15688.  
  15689.  
  15690.  
  15691. 157 - [9D] Dragon
  15692.  
  15693.  
  15694. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15695. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15696.  
  15697.  
  15698.  
  15699. MAIN:
  15700.  
  15701. 0x000 If (Not (Random MOD 4) )
  15702. 0x000 {
  15703. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15704. 0x010 Perform("Dragon Fang"[0243], EnemyAttack)
  15705. 0x016 }
  15706. 0x016 Else
  15707. 0x016 {
  15708. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15709. 0x021 Perform("Flame Thrower"[0050], EnemyAttack)
  15710. 0x026SCRIPT END
  15711.  
  15712.  
  15713.  
  15714.  
  15715. 158 - [9E] Sonic Speed
  15716.  
  15717.  
  15718. LocalVar:0000 = LocalVar:TarSelected
  15719.  
  15720. BattleAddr(&2060) = BattleAddr(&Self)
  15721. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15722. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15723.  
  15724. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  15725. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  15726.  
  15727.  
  15728.  
  15729. PRE-BATTLE:
  15730.  
  15731. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  15732. 0x008SCRIPT END
  15733.  
  15734.  
  15735. MAIN:
  15736.  
  15737. 0x000 If (Not (Random MOD 2) )
  15738. 0x000 {
  15739. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15740. 0x010 Perform("Sonic Attack"[0245], EnemyAttack)
  15741. 0x016 If (Not (Random MOD 3) )
  15742. 0x016 {
  15743. 0x01E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15744. 0x026 Perform("Sonic Attack"[0245], EnemyAttack)
  15745. 0x02C }
  15746. 0x02C Else
  15747. 0x02C {
  15748. 0x02F If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  15749. 0x02F {
  15750. 0x03C BattleAddr(&TarSelected) <- LocalVar:TarSelected
  15751. 0x043 Perform("Harrier"[0246], EnemyAttack)
  15752. 0x049 }
  15753. 0x049 Else
  15754. 0x049 {
  15755. 0x04C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15756. 0x054 Perform("Sonic Attack"[0245], EnemyAttack)
  15757. 0x05ASCRIPT END
  15758.  
  15759.  
  15760. GENERAL COUNTER:
  15761.  
  15762. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  15763. 0x00BSCRIPT END
  15764.  
  15765.  
  15766.  
  15767.  
  15768. 159 - [9F] Twin Brain
  15769.  
  15770.  
  15771. LocalVar:0000 = LocalVar:OpenAttack
  15772.  
  15773. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15774. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15775.  
  15776. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  15777. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  15778.  
  15779.  
  15780.  
  15781. MAIN:
  15782.  
  15783. 0x000 If (Not (LocalVar:OpenAttack) )
  15784. 0x000 {
  15785. 0x007 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) And Not (Random MOD 2) ) )
  15786. 0x007 {
  15787. 0x01A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  15788. 0x029 }
  15789. 0x029 Else
  15790. 0x029 {
  15791. 0x02C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15792. 0x034 Perform("Stare Down"[0248], EnemyAttack)
  15793. 0x03A LocalVar:OpenAttack <- 1
  15794. 0x040 }
  15795. 0x040 Else
  15796. 0x040 {
  15797. 0x043 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  15798. 0x043 {
  15799. 0x050 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  15800. 0x05F }
  15801. 0x05F Else
  15802. 0x05F {
  15803. 0x062 Bad Code0x06D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  15804. 0x06F Perform("Absorb"[0247], EnemyAttack)
  15805. 0x075SCRIPT END
  15806.  
  15807. NOTE - 0x06C uses HMSK
  15808.  
  15809.  
  15810.  
  15811.  
  15812. 160 - [A0] Zuu
  15813.  
  15814.  
  15815. LocalVar:0000 = LocalVar:Count
  15816. LocalVar:0020 = LocalVar:SpclChance
  15817. LocalVar:0040 = LocalVar:Fury
  15818.  
  15819. BattleAddr(&2060) = BattleAddr(&Self)
  15820. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15821. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15822.  
  15823. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  15824. BattleAddr(&4180) = BattleAddr(&MaxHP)
  15825.  
  15826.  
  15827.  
  15828. PRE-BATTLE:
  15829.  
  15830. 0x000LocalVar:Count <- Random MOD 4
  15831. 0x008LocalVar:SpclChance <- 8
  15832. 0x00ESCRIPT END
  15833.  
  15834. MAIN:
  15835.  
  15836. 0x000 If (LocalVar:Count == 0)
  15837. 0x000 {
  15838. 0x008 }
  15839. 0x008 Else
  15840. 0x008 {
  15841. 0x00B If (LocalVar:Count == 1)
  15842. 0x00B {
  15843. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15844. 0x018 Perform("Claw"[0249], EnemyAttack)
  15845. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  15846. 0x01E {
  15847. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15848. 0x02F Perform("Claw"[0249], EnemyAttack)
  15849. 0x035 LocalVar:Count <- LocalVar:Count + 1
  15850. 0x03F }
  15851. 0x03F Else
  15852. 0x03F {
  15853. 0x042 }
  15854. 0x042 Else
  15855. 0x042 {
  15856. 0x045 If (LocalVar:Count == 2)
  15857. 0x045 {
  15858. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15859. 0x052 Perform("Claw"[0249], EnemyAttack)
  15860. 0x058 If (Not (Random MOD LocalVar:SpclChance) )
  15861. 0x058 {
  15862. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15863. 0x069 Perform("Claw"[0249], EnemyAttack)
  15864. 0x06F If (Not (Random MOD LocalVar:SpclChance) )
  15865. 0x06F {
  15866. 0x078 LocalVar:Count <- 3
  15867. 0x07E }
  15868. 0x07E Else
  15869. 0x07E {
  15870. 0x081 LocalVar:Count <- 0
  15871. 0x087 }
  15872. 0x087 Else
  15873. 0x087 {
  15874. 0x08A }
  15875. 0x08A Else
  15876. 0x08A {
  15877. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  15878. 0x094 Perform("Great Gale"[024A], EnemyAttack)
  15879. 0x09A LocalVar:Count <- 0
  15880. 0x0A0 }
  15881. 0x0A0 Else
  15882. 0x0A0 {
  15883. 0x0A3POP(LocalVar:Count)
  15884. 0x0A4SCRIPT END
  15885.  
  15886.  
  15887. GENERAL COUNTER:
  15888.  
  15889. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  15890. 0x000 {
  15891. 0x018 LocalVar:SpclChance <- 2
  15892. 0x01E If (Not (LocalVar:Fury) )
  15893. 0x01E {
  15894. 0x025 Display String: "Zuu feels Fury."
  15895. 0x036 LocalVar:Fury <- 1
  15896. 0x03C LocalVar:Count <- 3
  15897. 0x042 }
  15898. 0x042 Else
  15899. 0x042 {
  15900. 0x045 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  15901. 0x045 {
  15902. 0x05D LocalVar:SpclChance <- 3
  15903. 0x063 If (Not (LocalVar:Fury) )
  15904. 0x063 {
  15905. 0x06A Display String: "Zuu feels Fury."
  15906. 0x07B LocalVar:Fury <- 1
  15907. 0x081 LocalVar:Count <- 3
  15908. 0x087 }
  15909. 0x087 Else
  15910. 0x087 {
  15911. 0x08A If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  15912. 0x08A {
  15913. 0x0A2 LocalVar:SpclChance <- 4
  15914. 0x0A8 }
  15915. 0x0A8 Else
  15916. 0x0A8 {
  15917. 0x0AB LocalVar:SpclChance <- 8
  15918. 0x0B1SCRIPT END
  15919.  
  15920.  
  15921.  
  15922.  
  15923. 161 - [A1] Kyuvilduns
  15924.  
  15925.  
  15926. LocalVar:0000 = LocalVar:ChocID
  15927. LocalVar:0020 = LocalVar:ChocPresent
  15928.  
  15929. GlobalVar(0054) = GlobalVar(CaughtChoc)
  15930.  
  15931. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  15932. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15933. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  15934. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15935.  
  15936. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  15937. BattleAddr(&4023) = BattleAddr(&Targetable)
  15938. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  15939. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  15940.  
  15941.  
  15942.  
  15943. PRE-BATTLE:
  15944.  
  15945. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  15946. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  15947. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  15948. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  15949. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  15950. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  15951. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  15952. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  15953. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  15954. 0x0A7 If (LocalVar:ChocID)
  15955. 0x0A7 {
  15956. 0x0AD LocalVar:ChocPresent <- 1
  15957. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  15958. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  15959. 0x0BE Display String: "A Chocobo!"
  15960. 0x0CASCRIPT END
  15961.  
  15962.  
  15963. MAIN:
  15964.  
  15965. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  15966. 0x008Perform("Lay Flat"[024B], EnemyAttack)
  15967. 0x00ESCRIPT END
  15968.  
  15969.  
  15970. GENERAL COUNTER:
  15971.  
  15972. 0x000 If ( (LocalVar:ChocPresent == 1) )
  15973. 0x000 {
  15974. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  15975. 0x009 {
  15976. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  15977. 0x013 {
  15978. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  15979. 0x035 Display String: "Caught a Chocobo."
  15980. 0x048 BattleAddr(&MemBank1/2) <- 1
  15981. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  15982. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  15983. 0x05DSCRIPT END
  15984.  
  15985.  
  15986.  
  15987.  
  15988. 162 - [A2] Screamer
  15989.  
  15990.  
  15991. LocalVar:0000 = LocalVar:LowHP
  15992. LocalVar:0020 = LocalVar:Count
  15993.  
  15994. BattleAddr(&2060) = BattleAddr(&Self)
  15995. BattleAddr(&2070) = BattleAddr(&TarSelected)
  15996. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  15997.  
  15998. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  15999. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  16000. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  16001. BattleAddr(&4180) = BattleAddr(&MaxHP)
  16002.  
  16003.  
  16004.  
  16005. PRE-BATTLE:
  16006.  
  16007. x
  16008.  
  16009.  
  16010. MAIN:
  16011.  
  16012. 0x000 If (LocalVar:Count == 0)
  16013. 0x000 {
  16014. 0x008 LocalVar:Count <- 1 (Cure2)
  16015. 0x00E }
  16016. 0x00E Else
  16017. 0x00E {
  16018. 0x011 }
  16019. 0x011 Else
  16020. 0x011 {
  16021. 0x014 If (LocalVar:Count == 1)
  16022. 0x014 {
  16023. 0x019 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  16024. 0x019 {
  16025. 0x026 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  16026. 0x035 }
  16027. 0x035 Else
  16028. 0x035 {
  16029. 0x038 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  16030. 0x038 {
  16031. 0x045 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  16032. 0x054 }
  16033. 0x054 Else
  16034. 0x054 {
  16035. 0x057 Bad Code0x062 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  16036. 0x064 Perform("Ironball"[01BB], EnemyAttack)
  16037. 0x06A LocalVar:Count <- 2
  16038. 0x070 }
  16039. 0x070 Else
  16040. 0x070 {
  16041. 0x073 }
  16042. 0x073 Else
  16043. 0x073 {
  16044. 0x076 If (LocalVar:Count == 2)
  16045. 0x076 {
  16046. 0x07B LocalVar:Count <- 3
  16047. 0x081 }
  16048. 0x081 Else
  16049. 0x081 {
  16050. 0x084 }
  16051. 0x084 Else
  16052. 0x084 {
  16053. 0x087 If (LocalVar:Count == 3)
  16054. 0x087 {
  16055. 0x08C If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  16056. 0x08C {
  16057. 0x099 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  16058. 0x0A8 }
  16059. 0x0A8 Else
  16060. 0x0A8 {
  16061. 0x0AB If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  16062. 0x0AB {
  16063. 0x0B8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  16064. 0x0C7 }
  16065. 0x0C7 Else
  16066. 0x0C7 {
  16067. 0x0CA Bad Code0x0D5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  16068. 0x0D7 Perform("Ironball"[01BB], EnemyAttack)
  16069. 0x0DD If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  16070. 0x0DD {
  16071. 0x0EA If (Not (Random MOD 3) )
  16072. 0x0EA {
  16073. 0x0F2 LocalVar:Count <- 4
  16074. 0x0F8 }
  16075. 0x0F8 Else
  16076. 0x0F8 {
  16077. 0x0FB LocalVar:Count <- 0
  16078. 0x101 }
  16079. 0x101 Else
  16080. 0x101 {
  16081. 0x104 LocalVar:Count <- 0
  16082. 0x10A }
  16083. 0x10A Else
  16084. 0x10A {
  16085. 0x10D }
  16086. 0x10D Else
  16087. 0x10D {
  16088. 0x110 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  16089. 0x110 {
  16090. 0x11D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  16091. 0x12C }
  16092. 0x12C Else
  16093. 0x12C {
  16094. 0x12F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16095. 0x137 Perform("War Cry"[024D], EnemyAttack)
  16096. 0x13D LocalVar:Count <- 0
  16097. 0x143 }
  16098. 0x143 Else
  16099. 0x143 {
  16100. 0x146POP(LocalVar:Count)
  16101. 0x147SCRIPT END
  16102.  
  16103. NOTE - 0x061 uses HMSK
  16104. NOTE - 0x0D4 uses HMSK
  16105.  
  16106.  
  16107. GENERAL COUNTER:
  16108.  
  16109. 0x000 If (Not (LocalVar:LowHP) )
  16110. 0x000 {
  16111. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8) )
  16112. 0x007 {
  16113. 0x01C If (Not (Random MOD 2) )
  16114. 0x01C {
  16115. 0x024 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16116. 0x02B Perform("Iron Attack"[024C], EnemyAttack)
  16117. 0x031 LocalVar:LowHP <- 1 (Cure2)
  16118. 0x037SCRIPT END
  16119.  
  16120.  
  16121.  
  16122.  
  16123. 163 - [A3] Materia Keeper
  16124.  
  16125.  
  16126. LocalVar:0000 = LocalVar:Count
  16127. LocalVar:0020 = LocalVar:SpclChance
  16128.  
  16129. BattleAddr(&2060) = BattleAddr(&Self)
  16130. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16131. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16132.  
  16133. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  16134. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  16135. BattleAddr(&4180) = BattleAddr(&MaxHP)
  16136.  
  16137.  
  16138.  
  16139. PRE-BATTLE:
  16140.  
  16141. 0x000LocalVar:Count <- Random MOD 5
  16142. 0x008LocalVar:SpclChance <- 5
  16143. 0x00ESCRIPT END
  16144.  
  16145.  
  16146. MAIN:
  16147.  
  16148. 0x000 If (LocalVar:Count == 0)
  16149. 0x000 {
  16150. 0x008 }
  16151. 0x008 Else
  16152. 0x008 {
  16153. 0x00B If (LocalVar:Count == 1)
  16154. 0x00B {
  16155. 0x010 }
  16156. 0x010 Else
  16157. 0x010 {
  16158. 0x013 If (LocalVar:Count == 2)
  16159. 0x013 {
  16160. 0x018 If (Not (Random MOD LocalVar:SpclChance) )
  16161. 0x018 {
  16162. 0x021 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16163. 0x029 Perform("Hell Combo"[024F], EnemyAttack)
  16164. 0x02F }
  16165. 0x02F Else
  16166. 0x02F {
  16167. 0x032 If (Not (Random MOD 2) )
  16168. 0x032 {
  16169. 0x03A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16170. 0x042 Perform("Keyclaw"[018C], EnemyAttack)
  16171. 0x048 }
  16172. 0x048 Else
  16173. 0x048 {
  16174. 0x04B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16175. 0x053 Perform("Big Horn"[024E], EnemyAttack)
  16176. 0x059 LocalVar:Count <- LocalVar:Count + 1
  16177. 0x063 }
  16178. 0x063 Else
  16179. 0x063 {
  16180. 0x066 }
  16181. 0x066 Else
  16182. 0x066 {
  16183. 0x069 If (LocalVar:Count == 3)
  16184. 0x069 {
  16185. 0x06E If ( ( (LocalVar:SpclChance < 4) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) ) )
  16186. 0x06E {
  16187. 0x083 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  16188. 0x08A Perform("Cure2"[0001], EnemyAttack)
  16189. 0x08F LocalVar:Count <- 4
  16190. 0x095 }
  16191. 0x095 Else
  16192. 0x095 {
  16193. 0x098 If (Not (Random MOD LocalVar:SpclChance) )
  16194. 0x098 {
  16195. 0x0A1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16196. 0x0A9 Perform("Hell Combo"[024F], EnemyAttack)
  16197. 0x0AF LocalVar:Count <- 0
  16198. 0x0B5 }
  16199. 0x0B5 Else
  16200. 0x0B5 {
  16201. 0x0B8 If (Not (Random MOD 2) )
  16202. 0x0B8 {
  16203. 0x0C0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16204. 0x0C8 Perform("Keyclaw"[018C], EnemyAttack)
  16205. 0x0CE }
  16206. 0x0CE Else
  16207. 0x0CE {
  16208. 0x0D1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16209. 0x0D9 Perform("Big Horn"[024E], EnemyAttack)
  16210. 0x0DF LocalVar:Count <- Random MOD 3
  16211. 0x0E7 }
  16212. 0x0E7 Else
  16213. 0x0E7 {
  16214. 0x0EA }
  16215. 0x0EA Else
  16216. 0x0EA {
  16217. 0x0ED If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Trine [0056])) )
  16218. 0x0ED {
  16219. 0x0FB BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16220. 0x102 Perform("Trine"[0056], EnemyAttack)
  16221. 0x107 }
  16222. 0x107 Else
  16223. 0x107 {
  16224. 0x10A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16225. 0x112 Perform("Hell Combo"[024F], EnemyAttack)
  16226. 0x118 LocalVar:Count <- 0
  16227. 0x11E }
  16228. 0x11E Else
  16229. 0x11E {
  16230. 0x121POP(LocalVar:Count)
  16231. 0x122SCRIPT END
  16232.  
  16233.  
  16234. GENERAL COUNTER:
  16235.  
  16236. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  16237. 0x000 {
  16238. 0x018 LocalVar:SpclChance <- 2
  16239. 0x01E }
  16240. 0x01E Else
  16241. 0x01E {
  16242. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  16243. 0x021 {
  16244. 0x039 LocalVar:SpclChance <- 3
  16245. 0x03F }
  16246. 0x03F Else
  16247. 0x03F {
  16248. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  16249. 0x042 {
  16250. 0x05A LocalVar:SpclChance <- 4
  16251. 0x060 }
  16252. 0x060 Else
  16253. 0x060 {
  16254. 0x063 LocalVar:SpclChance <- 5
  16255. 0x069SCRIPT END
  16256.  
  16257.  
  16258.  
  16259.  
  16260. 164 - [A4] Palmer
  16261.  
  16262.  
  16263. BattleAddr(&2060) = BattleAddr(&Self)
  16264. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16265. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16266.  
  16267. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  16268. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  16269. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  16270. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  16271. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  16272. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  16273. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  16274. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  16275.  
  16276.  
  16277.  
  16278. PRE-BATTLE:
  16279.  
  16280. x
  16281.  
  16282.  
  16283. MAIN:
  16284.  
  16285. 0x000 If (Random MOD 4 == 0)
  16286. 0x000 {
  16287. 0x009 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  16288. 0x009 {
  16289. 0x016 Display String: "Palmer “Heh-hic-heh-hic!”"
  16290. 0x031 Pause(0)
  16291. 0x036 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  16292. 0x045 Perform("Incite"[0387], EnemyAttack)
  16293. 0x04B }
  16294. 0x04B Else
  16295. 0x04B {
  16296. 0x04E }
  16297. 0x04E Else
  16298. 0x04E {
  16299. 0x051 If (Random MOD 4 == 1)
  16300. 0x051 {
  16301. 0x056 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  16302. 0x056 {
  16303. 0x064 Display String: "Mako Gun"
  16304. 0x06E Pause(0)
  16305. 0x073 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16306. 0x07B Perform("Fire2"[001C], EnemyAttack)
  16307. 0x080 }
  16308. 0x080 Else
  16309. 0x080 {
  16310. 0x083 }
  16311. 0x083 Else
  16312. 0x083 {
  16313. 0x086 If (Random MOD 4 == 2)
  16314. 0x086 {
  16315. 0x08B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  16316. 0x08B {
  16317. 0x099 Display String: "Mako Gun"
  16318. 0x0A3 Pause(0)
  16319. 0x0A8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16320. 0x0B0 Perform("Ice2"[001F], EnemyAttack)
  16321. 0x0B5 }
  16322. 0x0B5 Else
  16323. 0x0B5 {
  16324. 0x0B8 }
  16325. 0x0B8 Else
  16326. 0x0B8 {
  16327. 0x0BB If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  16328. 0x0BB {
  16329. 0x0C9 Display String: "Mako Gun"
  16330. 0x0D3 Pause(0)
  16331. 0x0D8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16332. 0x0E0 Perform("Bolt2"[0022], EnemyAttack)
  16333. 0x0E5 }
  16334. 0x0E5 Else
  16335. 0x0E5 {
  16336. 0x0E8POP(Random MOD 4)
  16337. 0x0E9SCRIPT END
  16338.  
  16339.  
  16340. DEATH COUNTER:
  16341.  
  16342. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  16343. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  16344. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  16345. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  16346. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  16347. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  16348. 0x03CDisplay String: "Palmer “Heh heh hic!”"
  16349. 0x053BattleAddr(&TarSelected) <- BattleAddr(&Self)
  16350. 0x05APerform("Palmer “Ugh!”"[03AA], EnemyAttack)
  16351. 0x060SCRIPT END
  16352.  
  16353.  
  16354.  
  16355.  
  16356. 165 - [A5] [No Name]
  16357.  
  16358.  
  16359. MAIN:
  16360.  
  16361. 0x000SCRIPT END
  16362.  
  16363.  
  16364.  
  16365.  
  16366. 166 - [A6] [No Name]
  16367.  
  16368. No Script exists for [No Name}
  16369.  
  16370.  
  16371.  
  16372.  
  16373. 167 - [A7] Thunderbird
  16374.  
  16375.  
  16376. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16377. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16378. BattleAddr(&2120) = BattleAddr(&ElementsOfLastAction)
  16379.  
  16380.  
  16381.  
  16382. MAIN:
  16383.  
  16384. 0x000 If (Random MOD 4 == 0)
  16385. 0x000 {
  16386. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16387. 0x010 Perform("Lightning"[0252], EnemyAttack)
  16388. 0x016 }
  16389. 0x016 Else
  16390. 0x016 {
  16391. 0x019 }
  16392. 0x019 Else
  16393. 0x019 {
  16394. 0x01C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16395. 0x024 Perform("Stab"[0251], EnemyAttack)
  16396. 0x02A }
  16397. 0x02A Else
  16398. 0x02A {
  16399. 0x02DPOP(Random MOD 4)
  16400. 0x02ESCRIPT END
  16401.  
  16402.  
  16403. GENERAL COUNTER:
  16404.  
  16405. 0x000 If (BattleAddr(&ElementsOfLastAction) AND 2)
  16406. 0x000 {
  16407. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16408. 0x010 Perform("Lightning"[0252], EnemyAttack)
  16409. 0x016SCRIPT END
  16410.  
  16411.  
  16412.  
  16413.  
  16414. 168 - [A8] Razor Weed
  16415.  
  16416.  
  16417. LocalVar:0000 = LocalVar:ChocID
  16418. LocalVar:0020 = LocalVar:ChocPresent
  16419. LocalVar:0040 = LocalVar:SpclAttack
  16420.  
  16421. GlobalVar(0054) = GlobalVar(CaughtChoc)
  16422.  
  16423. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  16424. BattleAddr(&2060) = BattleAddr(&Self)
  16425. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16426. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  16427. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16428.  
  16429. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  16430. BattleAddr(&4023) = BattleAddr(&Targetable)
  16431. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  16432. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  16433. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  16434.  
  16435.  
  16436.  
  16437. PRE-BATTLE:
  16438.  
  16439. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  16440. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  16441. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  16442. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  16443. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  16444. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  16445. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  16446. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  16447. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  16448. 0x0A7 If (LocalVar:ChocID)
  16449. 0x0A7 {
  16450. 0x0AD LocalVar:ChocPresent <- 1
  16451. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  16452. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  16453. 0x0BE Display String: "A Chocobo!"
  16454. 0x0CASCRIPT END
  16455.  
  16456.  
  16457. MAIN:
  16458.  
  16459. 0x000 If (Not (LocalVar:SpclAttack) )
  16460. 0x000 {
  16461. 0x007 If (Not (Random MOD 3) )
  16462. 0x007 {
  16463. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16464. 0x017 Perform("Glasscutter"[0253], EnemyAttack)
  16465. 0x01D }
  16466. 0x01D Else
  16467. 0x01D {
  16468. 0x020 LocalVar:SpclAttack <- 0
  16469. 0x026SCRIPT END
  16470.  
  16471.  
  16472. PHYSICAL COUNTER:
  16473.  
  16474. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  16475. 0x00BPerform("Spaz Voice"[0254], EnemyAttack)
  16476. 0x011LocalVar:SpclAttack <- 1
  16477. 0x017SCRIPT END
  16478.  
  16479.  
  16480. DEATH COUNTER:
  16481.  
  16482. 0x000 If ( (LocalVar:ChocPresent == 1) )
  16483. 0x000 {
  16484. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  16485. 0x009 {
  16486. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  16487. 0x013 {
  16488. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  16489. 0x035 Display String: "Caught a Chocobo."
  16490. 0x048 BattleAddr(&MemBank1/2) <- 1
  16491. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  16492. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  16493. 0x05DSCRIPT END
  16494.  
  16495.  
  16496.  
  16497.  
  16498. 169 - [A9] Edgehead
  16499.  
  16500.  
  16501. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16502. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16503.  
  16504.  
  16505.  
  16506. MAIN:
  16507.  
  16508. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16509. 0x008 If (Not (Random MOD 4) )
  16510. 0x008 {
  16511. 0x010 Perform("Electric Burst"[0255], EnemyAttack)
  16512. 0x016 }
  16513. 0x016 Else
  16514. 0x016 {
  16515. 0x019 Perform("Scissors"[0139], EnemyAttack)
  16516. 0x01FSCRIPT END
  16517.  
  16518.  
  16519.  
  16520.  
  16521. 170 - [AA] Bizarre Bug
  16522.  
  16523.  
  16524. LocalVar:0000 = LocalVar:BaseIdleAnimID
  16525. LocalVar:0020 = LocalVar:BaseDamagedAnimID
  16526. LocalVar:0040 = LocalVar:BaseEvade
  16527. LocalVar:0060 = LocalVar:BaseDef
  16528. LocalVar:0080 = LocalVar:HitCount
  16529. LocalVar:00A0 = LocalVar:SpclHitCount
  16530. LocalVar:00C0 = LocalVar:SpclAttack
  16531.  
  16532. BattleAddr(&2060) = BattleAddr(&Self)
  16533. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16534. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16535.  
  16536. BattleAddr(&4078) = BattleAddr(&Evade)
  16537. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  16538. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  16539. BattleAddr(&4100) = BattleAddr(&Def)
  16540.  
  16541.  
  16542.  
  16543. PRE-BATTLE:
  16544.  
  16545. 0x000LocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  16546. 0x00BLocalVar:BaseDef <- BattleAddr(&Self).BattleAddr(&Def)
  16547. 0x016LocalVar:BaseIdleAnimID <- BattleAddr(&Self).BattleAddr(&IdleAnimID)
  16548. 0x021LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  16549. 0x02CSCRIPT END
  16550.  
  16551.  
  16552. MAIN:
  16553.  
  16554. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  16555. 0x000 {
  16556. 0x00D If (Not (LocalVar:HitCount) )
  16557. 0x00D {
  16558. 0x014 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  16559. 0x01B Perform([011F], EnemyAttack)
  16560. 0x021 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 5
  16561. 0x02B BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 50
  16562. 0x03D BattleAddr(&Self).BattleAddr(&Def) <- BattleAddr(&Self).BattleAddr(&Def) - 50
  16563. 0x04F LocalVar:SpclHitCount <- 5
  16564. 0x055 }
  16565. 0x055 Else
  16566. 0x055 {
  16567. 0x058 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16568. 0x060 Perform("Bodyblow"[0126], EnemyAttack)
  16569. 0x066 LocalVar:HitCount <- LocalVar:HitCount - 1
  16570. 0x070 }
  16571. 0x070 Else
  16572. 0x070 {
  16573. 0x073 If (Not (LocalVar:SpclHitCount) )
  16574. 0x073 {
  16575. 0x07A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  16576. 0x081 Perform([0120], EnemyAttack)
  16577. 0x087 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- LocalVar:BaseIdleAnimID
  16578. 0x092 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  16579. 0x09D BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef
  16580. 0x0A8 LocalVar:HitCount <- 3
  16581. 0x0AE }
  16582. 0x0AE Else
  16583. 0x0AE {
  16584. 0x0B1 If (Not (LocalVar:SpclAttack) )
  16585. 0x0B1 {
  16586. 0x0B8 If (Not (Random MOD 4) )
  16587. 0x0B8 {
  16588. 0x0C0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16589. 0x0C7 Perform("Toxic Powder"[0257], EnemyAttack)
  16590. 0x0CD LocalVar:SpclAttack <- 1
  16591. 0x0D3 }
  16592. 0x0D3 Else
  16593. 0x0D3 {
  16594. 0x0D6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16595. 0x0DE Perform("Scorpion Attack"[0256], EnemyAttack)
  16596. 0x0E4 }
  16597. 0x0E4 Else
  16598. 0x0E4 {
  16599. 0x0E7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16600. 0x0EF Perform("Scorpion Attack"[0256], EnemyAttack)
  16601. 0x0F5 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  16602. 0x0FFSCRIPT END
  16603.  
  16604.  
  16605. GENERAL COUNTER:
  16606.  
  16607. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  16608. 0x000 {
  16609. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:BaseDamagedAnimID
  16610. 0x018 }
  16611. 0x018 Else
  16612. 0x018 {
  16613. 0x01B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  16614. 0x025SCRIPT END
  16615.  
  16616.  
  16617.  
  16618.  
  16619. 171 - [AB] Tail Vault
  16620.  
  16621.  
  16622. LocalVar:0000 = LocalVar:1stChr
  16623. LocalVar:0020 = LocalVar:2ndChr
  16624. LocalVar:0040 = LocalVar:3rdChr
  16625. LocalVar:0060 = LocalVar:ChocID
  16626. LocalVar:0080 = LocalVar:SpclHitCount
  16627. LocalVar:00A0 = LocalVar:ChocPresent
  16628. LocalVar:00C0 = LocalVar:SpclAttack
  16629.  
  16630. GlobalVar(0054) = GlobalVar(CaughtChoc)
  16631.  
  16632. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  16633. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16634. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  16635. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16636.  
  16637. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  16638. BattleAddr(&4023) = BattleAddr(&Targetable)
  16639. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  16640. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  16641.  
  16642.  
  16643.  
  16644. PRE-BATTLE:
  16645.  
  16646. 0x000LocalVar:1stChr <- FlagBit(0)
  16647. 0x007LocalVar:2ndChr <- FlagBit(1)
  16648. 0x00ELocalVar:3rdChr <- FlagBit(2)
  16649. 0x015LocalVar:SpclHitCount <- 3
  16650. 0x01BLocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  16651. 0x02ALocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  16652. 0x03DLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  16653. 0x050LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  16654. 0x063LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  16655. 0x076LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  16656. 0x089LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  16657. 0x09CLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  16658. 0x0AFLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  16659. 0x0C2 If (LocalVar:ChocID)
  16660. 0x0C2 {
  16661. 0x0C8 LocalVar:ChocPresent <- 1
  16662. 0x0CE BattleAddr(&MemBank1/2) <- 0
  16663. 0x0D4 GlobalVar(CaughtChoc) <- &TempGlobal)
  16664. 0x0D9 Display String: "A Chocobo!"
  16665. 0x0E5SCRIPT END
  16666.  
  16667.  
  16668. MAIN:
  16669.  
  16670. 0x000 If (Not (LocalVar:SpclAttack) )
  16671. 0x000 {
  16672. 0x007 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16673. 0x00F Perform("Bite"[0258], EnemyAttack)
  16674. 0x015 }
  16675. 0x015 Else
  16676. 0x015 {
  16677. 0x018 LocalVar:SpclAttack <- 0
  16678. 0x01ESCRIPT END
  16679.  
  16680.  
  16681. PHYSICAL COUNTER:
  16682.  
  16683. 0x000 If (Not (LocalVar:SpclHitCount) )
  16684. 0x000 {
  16685. 0x007 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  16686. 0x007 {
  16687. 0x014 BattleAddr(&TarSelected) <- LocalVar:1stChr
  16688. 0x01B Perform("Somersault"[0259], EnemyAttack)
  16689. 0x021 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  16690. 0x021 {
  16691. 0x02E BattleAddr(&TarSelected) <- LocalVar:2ndChr
  16692. 0x035 Perform("Somersault"[0259], EnemyAttack)
  16693. 0x03B If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  16694. 0x03B {
  16695. 0x048 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  16696. 0x04F Perform("Somersault"[0259], EnemyAttack)
  16697. 0x055 LocalVar:SpclAttack <- 1
  16698. 0x05B LocalVar:SpclHitCount <- 3
  16699. 0x061 }
  16700. 0x061 Else
  16701. 0x061 {
  16702. 0x064 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  16703. 0x06ESCRIPT END
  16704.  
  16705.  
  16706. DEATH COUNTER:
  16707.  
  16708. 0x000 If ( (LocalVar:ChocPresent == 1) )
  16709. 0x000 {
  16710. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  16711. 0x009 {
  16712. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  16713. 0x013 {
  16714. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  16715. 0x035 Display String: "Caught a Chocobo."
  16716. 0x048 BattleAddr(&MemBank1/2) <- 1
  16717. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  16718. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  16719. 0x05DSCRIPT END
  16720.  
  16721.  
  16722.  
  16723.  
  16724. 172 - [AC] Adamantaimai
  16725.  
  16726.  
  16727. LocalVar:0000 = LocalVar:EnemyAttack
  16728.  
  16729. BattleAddr(&2060) = BattleAddr(&Self)
  16730. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16731.  
  16732. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  16733. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  16734. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  16735. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  16736.  
  16737.  
  16738.  
  16739. MAIN:
  16740.  
  16741. 0x000 If ( (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 0) )
  16742. 0x000 {
  16743. 0x00D LocalVar:EnemyAttack <- 15 (Barrier)
  16744. 0x013 }
  16745. 0x013 Else
  16746. 0x013 {
  16747. 0x016 If ( (BattleAddr(&Self).BattleAddr(&MBarrierStatus) == 0) )
  16748. 0x016 {
  16749. 0x023 LocalVar:EnemyAttack <- 16 (MBarrier)
  16750. 0x029 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(LocalVar:EnemyAttack)) )
  16751. 0x029 {
  16752. 0x038 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  16753. 0x03F Perform(LocalVar:EnemyAttack, EnemyAttack)
  16754. 0x045SCRIPT END
  16755.  
  16756.  
  16757. GENERAL COUNTER:
  16758.  
  16759. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  16760. 0x00BPerform("Light Shell"[026A], EnemyAttack)
  16761. 0x011SCRIPT END
  16762.  
  16763.  
  16764.  
  16765.  
  16766. 173 - [AD] Attack Squad
  16767.  
  16768.  
  16769. LocalVar:0000 = LocalVar:LowHP
  16770. LocalVar:0020 = LocalVar:Counter
  16771. LocalVar:0060 = LocalVar:????
  16772.  
  16773. BattleAddr(&2060) = BattleAddr(&Self)
  16774. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16775. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16776.  
  16777. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  16778. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  16779. BattleAddr(&4180) = BattleAddr(&MaxHP)
  16780.  
  16781.  
  16782.  
  16783. PRE-BATTLE:
  16784.  
  16785. 0x000LocalVar:0060 <- 4
  16786. 0x006SCRIPT END
  16787.  
  16788.  
  16789. MAIN:
  16790.  
  16791. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16792. 0x008 If (Random MOD 3 == 0)
  16793. 0x008 {
  16794. 0x011 Perform("Machine Gun"[0110], EnemyAttack)
  16795. 0x017 }
  16796. 0x017 Else
  16797. 0x017 {
  16798. 0x01A }
  16799. 0x01A Else
  16800. 0x01A {
  16801. 0x01D If (Random MOD 3 == 1)
  16802. 0x01D {
  16803. 0x022 Perform("Grenade"[01D8], EnemyAttack)
  16804. 0x028 }
  16805. 0x028 Else
  16806. 0x028 {
  16807. 0x02B }
  16808. 0x02B Else
  16809. 0x02B {
  16810. 0x02E Perform("Smoke Bullet"[01D7], EnemyAttack)
  16811. 0x034POP(Random MOD 3)
  16812. 0x035SCRIPT END
  16813.  
  16814.  
  16815. GENERAL COUNTER:
  16816.  
  16817. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 2) )
  16818. 0x000 {
  16819. 0x018 If (Not (LocalVar:Counter) )
  16820. 0x018 {
  16821. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  16822. 0x02A Perform("Smoke Bullet"[01D7], EnemyAttack)
  16823. 0x030 LocalVar:Counter <- 1
  16824. 0x036 LocalVar:LowHP <- 1
  16825. 0x03C }
  16826. 0x03C Else
  16827. 0x03C {
  16828. 0x03F LocalVar:Counter <- 0
  16829. 0x045 LocalVar:LowHP <- 0
  16830. 0x04BSCRIPT END
  16831.  
  16832.  
  16833.  
  16834.  
  16835. 174 - [AE] Foulander
  16836.  
  16837.  
  16838. LocalVar:0000 = LocalVar:Count
  16839. LocalVar:0020 = LocalVar:TarSelected
  16840.  
  16841. BattleAddr(&2060) = BattleAddr(&Self)
  16842. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16843. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16844.  
  16845. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  16846. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  16847. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  16848.  
  16849.  
  16850.  
  16851. PRE-BATTLE:
  16852.  
  16853. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  16854. 0x008LocalVar:Count <- Random MOD 5
  16855. 0x010SCRIPT END
  16856.  
  16857.  
  16858. MAIN:
  16859.  
  16860. 0x000 If (LocalVar:Count == 0)
  16861. 0x000 {
  16862. 0x008 }
  16863. 0x008 Else
  16864. 0x008 {
  16865. 0x00B If (LocalVar:Count == 1)
  16866. 0x00B {
  16867. 0x010 }
  16868. 0x010 Else
  16869. 0x010 {
  16870. 0x013 If (LocalVar:Count == 2)
  16871. 0x013 {
  16872. 0x018 }
  16873. 0x018 Else
  16874. 0x018 {
  16875. 0x01B If (LocalVar:Count == 3)
  16876. 0x01B {
  16877. 0x020 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  16878. 0x020 {
  16879. 0x02D BattleAddr(&TarSelected) <- LocalVar:TarSelected
  16880. 0x034 }
  16881. 0x034 Else
  16882. 0x034 {
  16883. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16884. 0x03F Perform("Claw"[01BE], EnemyAttack)
  16885. 0x045 If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD 3) ) )
  16886. 0x045 {
  16887. 0x058 Perform("Claw"[01BE], EnemyAttack)
  16888. 0x05E LocalVar:Count <- LocalVar:Count + 1
  16889. 0x068 }
  16890. 0x068 Else
  16891. 0x068 {
  16892. 0x06B }
  16893. 0x06B Else
  16894. 0x06B {
  16895. 0x06E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Flame Dance [0261])) )
  16896. 0x06E {
  16897. 0x07D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  16898. 0x084 Perform("Flame Dance"[0261], EnemyAttack)
  16899. 0x08A LocalVar:Count <- Random MOD 2
  16900. 0x092 }
  16901. 0x092 Else
  16902. 0x092 {
  16903. 0x095POP(LocalVar:Count)
  16904. 0x096SCRIPT END
  16905.  
  16906.  
  16907. GENERAL COUNTER:
  16908.  
  16909. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  16910. 0x00BSCRIPT END
  16911.  
  16912.  
  16913.  
  16914.  
  16915. 175 - [AF] Garuda
  16916.  
  16917.  
  16918. BattleAddr(&2060) = BattleAddr(&Self)
  16919. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16920. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16921.  
  16922. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  16923.  
  16924.  
  16925.  
  16926. MAIN:
  16927.  
  16928. 0x000 If (Random MOD 4 == 0)
  16929. 0x000 {
  16930. 0x009 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  16931. 0x009 {
  16932. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16933. 0x01F Perform("Ice2"[001F], EnemyAttack)
  16934. 0x024 }
  16935. 0x024 Else
  16936. 0x024 {
  16937. 0x027 Bad Code0x032 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  16938. 0x034 Perform("Dance"[0263], EnemyAttack)
  16939. 0x03A }
  16940. 0x03A Else
  16941. 0x03A {
  16942. 0x03D }
  16943. 0x03D Else
  16944. 0x03D {
  16945. 0x040 If (Random MOD 4 == 1)
  16946. 0x040 {
  16947. 0x045 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  16948. 0x045 {
  16949. 0x053 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16950. 0x05B Perform("Bolt2"[0022], EnemyAttack)
  16951. 0x060 }
  16952. 0x060 Else
  16953. 0x060 {
  16954. 0x063 Bad Code0x06E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  16955. 0x070 Perform("Dance"[0263], EnemyAttack)
  16956. 0x076 }
  16957. 0x076 Else
  16958. 0x076 {
  16959. 0x079 }
  16960. 0x079 Else
  16961. 0x079 {
  16962. 0x07C If (Random MOD 4 == 2)
  16963. 0x07C {
  16964. 0x081 Bad Code0x08C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  16965. 0x08E Perform("Dance"[0264], EnemyAttack)
  16966. 0x094 }
  16967. 0x094 Else
  16968. 0x094 {
  16969. 0x097 }
  16970. 0x097 Else
  16971. 0x097 {
  16972. 0x09A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  16973. 0x0A2 Perform("Rod"[0262], EnemyAttack)
  16974. 0x0A8 }
  16975. 0x0A8 Else
  16976. 0x0A8 {
  16977. 0x0ABPOP(Random MOD 4)
  16978. 0x0ACSCRIPT END
  16979.  
  16980. NOTE - 0x031 uses HMSK
  16981. NOTE - 0x06D uses HMSK
  16982. NOTE - 0x08B uses HMSK
  16983.  
  16984.  
  16985.  
  16986.  
  16987. 176 - [B0] Jayjujayme
  16988.  
  16989.  
  16990. LocalVar:0000 = LocalVar:Count
  16991. LocalVar:0020 = LocalVar:PlayerDeath
  16992.  
  16993. BattleAddr(&2070) = BattleAddr(&TarSelected)
  16994. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  16995.  
  16996. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  16997. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  16998. BattleAddr(&400A) = BattleAddr(&StopStatus)
  16999.  
  17000.  
  17001.  
  17002. PRE-BATTLE:
  17003.  
  17004. 0x000LocalVar:Count <- Random MOD 2
  17005. 0x008SCRIPT END
  17006.  
  17007.  
  17008. MAIN:
  17009.  
  17010. 0x000 If (LocalVar:Count == 0)
  17011. 0x000 {
  17012. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  17013. 0x008 {
  17014. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  17015. 0x024 Perform("Bite"[0112], EnemyAttack)
  17016. 0x02A }
  17017. 0x02A Else
  17018. 0x02A {
  17019. 0x02D LocalVar:PlayerDeath <- BitCount( (BattleAddr(&AllPlayers).BattleAddr(&DeathStatus) == 0) )
  17020. 0x03C If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) And (LocalVar:PlayerDeath > 1) ) )
  17021. 0x03C {
  17022. 0x050 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  17023. 0x05F Perform("Thread"[0269], EnemyAttack)
  17024. 0x065 }
  17025. 0x065 Else
  17026. 0x065 {
  17027. 0x068 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  17028. 0x068 {
  17029. 0x075 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  17030. 0x084 Perform("Silk"[0122], EnemyAttack)
  17031. 0x08A }
  17032. 0x08A Else
  17033. 0x08A {
  17034. 0x08D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  17035. 0x09C Perform("Bite"[0112], EnemyAttack)
  17036. 0x0A2 LocalVar:Count <- 1
  17037. 0x0A8 }
  17038. 0x0A8 Else
  17039. 0x0A8 {
  17040. 0x0AB }
  17041. 0x0AB Else
  17042. 0x0AB {
  17043. 0x0AE If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  17044. 0x0AE {
  17045. 0x0BB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  17046. 0x0CA Perform("Silk"[0122], EnemyAttack)
  17047. 0x0D0 }
  17048. 0x0D0 Else
  17049. 0x0D0 {
  17050. 0x0D3 LocalVar:PlayerDeath <- BitCount( (BattleAddr(&AllPlayers).BattleAddr(&DeathStatus) == 0) )
  17051. 0x0E2 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) And (LocalVar:PlayerDeath > 1) ) )
  17052. 0x0E2 {
  17053. 0x0F6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  17054. 0x105 Perform("Thread"[0269], EnemyAttack)
  17055. 0x10B }
  17056. 0x10B Else
  17057. 0x10B {
  17058. 0x10E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  17059. 0x11D Perform("Bite"[0112], EnemyAttack)
  17060. 0x123 LocalVar:Count <- 0
  17061. 0x129 }
  17062. 0x129 Else
  17063. 0x129 {
  17064. 0x12CPOP(LocalVar:Count)
  17065. 0x12DSCRIPT END
  17066.  
  17067.  
  17068.  
  17069.  
  17070. 177 - [B1] Rapps
  17071.  
  17072.  
  17073. LocalVar:0000 = LocalVar:Count
  17074. LocalVar:0020 = LocalVar:SpclChance
  17075.  
  17076. BattleAddr(&2060) = BattleAddr(&Self)
  17077. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17078. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17079.  
  17080. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  17081. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  17082. BattleAddr(&4180) = BattleAddr(&MaxHP)
  17083.  
  17084.  
  17085.  
  17086. PRE-BATTLE:
  17087.  
  17088. 0x000LocalVar:SpclChance <- 9
  17089. 0x006LocalVar:Count <- Random MOD 5
  17090. 0x00ESCRIPT END
  17091.  
  17092.  
  17093. MAIN:
  17094.  
  17095. 0x000 If (LocalVar:Count == 0)
  17096. 0x000 {
  17097. 0x008 }
  17098. 0x008 Else
  17099. 0x008 {
  17100. 0x00B If (LocalVar:Count == 1)
  17101. 0x00B {
  17102. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17103. 0x018 Perform("Wing Cut"[02A2], EnemyAttack)
  17104. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  17105. 0x01E {
  17106. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17107. 0x02F Perform("Wing Cut"[02A2], EnemyAttack)
  17108. 0x035 LocalVar:Count <- LocalVar:Count + 1
  17109. 0x03F }
  17110. 0x03F Else
  17111. 0x03F {
  17112. 0x042 }
  17113. 0x042 Else
  17114. 0x042 {
  17115. 0x045 If (LocalVar:Count == 2)
  17116. 0x045 {
  17117. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17118. 0x052 Perform("Scorpion's Tail"[02A3], EnemyAttack)
  17119. 0x058 If (Not (Random MOD LocalVar:SpclChance) )
  17120. 0x058 {
  17121. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17122. 0x069 Perform("Scorpion's Tail"[02A3], EnemyAttack)
  17123. 0x06F LocalVar:Count <- 3
  17124. 0x075 }
  17125. 0x075 Else
  17126. 0x075 {
  17127. 0x078 }
  17128. 0x078 Else
  17129. 0x078 {
  17130. 0x07B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Aero3 [02D0])) )
  17131. 0x07B {
  17132. 0x08A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17133. 0x092 Perform("Aero3"[02D0], EnemyAttack)
  17134. 0x098 LocalVar:Count <- 0
  17135. 0x09E }
  17136. 0x09E Else
  17137. 0x09E {
  17138. 0x0A1POP(LocalVar:Count)
  17139. 0x0A2SCRIPT END
  17140.  
  17141.  
  17142. GENERAL COUNTER:
  17143.  
  17144. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  17145. 0x000 {
  17146. 0x018 LocalVar:SpclChance <- 3
  17147. 0x01E }
  17148. 0x01E Else
  17149. 0x01E {
  17150. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  17151. 0x021 {
  17152. 0x039 LocalVar:SpclChance <- 5
  17153. 0x03F }
  17154. 0x03F Else
  17155. 0x03F {
  17156. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  17157. 0x042 {
  17158. 0x05A LocalVar:SpclChance <- 7
  17159. 0x060 }
  17160. 0x060 Else
  17161. 0x060 {
  17162. 0x063 LocalVar:SpclChance <- 9
  17163. 0x069SCRIPT END
  17164.  
  17165.  
  17166.  
  17167.  
  17168. 178 - [B2] Gorkii
  17169.  
  17170.  
  17171. LocalVar:0000 = LocalVar:Count
  17172.  
  17173. BattleAddr(&2060) = BattleAddr(&Self)
  17174. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17175. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17176.  
  17177. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  17178. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  17179. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  17180. BattleAddr(&4078) = BattleAddr(&Evade)
  17181. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  17182. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  17183.  
  17184.  
  17185.  
  17186. PRE-BATTLE:
  17187.  
  17188. 0x000BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 5
  17189. 0x00ABattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  17190. 0x014BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 20
  17191. 0x026SCRIPT END
  17192.  
  17193.  
  17194. MAIN:
  17195.  
  17196. 0x000LocalVar:Count <- LocalVar:Count + 1
  17197. 0x00ABattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17198. 0x012 If (LocalVar:Count == 1)
  17199. 0x012 {
  17200. 0x01A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  17201. 0x021 If ( (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 0) )
  17202. 0x021 {
  17203. 0x02E Perform("Barrier"[000F], EnemyAttack)
  17204. 0x033 }
  17205. 0x033 Else
  17206. 0x033 {
  17207. 0x036 If ( (BattleAddr(&Self).BattleAddr(&RegenStatus) == 0) )
  17208. 0x036 {
  17209. 0x043 Perform("Regen"[0003], EnemyAttack)
  17210. 0x048 }
  17211. 0x048 Else
  17212. 0x048 {
  17213. 0x04B If ( (BattleAddr(&Self).BattleAddr(&ReflectStatus) == 0) )
  17214. 0x04B {
  17215. 0x058 Perform("Reflect"[0011], EnemyAttack)
  17216. 0x05D }
  17217. 0x05D Else
  17218. 0x05D {
  17219. 0x060 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17220. 0x068 Perform("Demi2"[002B], EnemyAttack)
  17221. 0x06D }
  17222. 0x06D Else
  17223. 0x06D {
  17224. 0x070 }
  17225. 0x070 Else
  17226. 0x070 {
  17227. 0x073 If (LocalVar:Count == 2)
  17228. 0x073 {
  17229. 0x078 Perform("Dive Kick"[022C], EnemyAttack)
  17230. 0x07E }
  17231. 0x07E Else
  17232. 0x07E {
  17233. 0x081 }
  17234. 0x081 Else
  17235. 0x081 {
  17236. 0x084 If (Random MOD 2)
  17237. 0x084 {
  17238. 0x08B Perform("Demi2"[002B], EnemyAttack)
  17239. 0x090 }
  17240. 0x090 Else
  17241. 0x090 {
  17242. 0x093 Perform("Dive Kick"[022C], EnemyAttack)
  17243. 0x099 LocalVar:Count <- 0
  17244. 0x09FPOP(LocalVar:Count)
  17245. 0x0A0SCRIPT END
  17246.  
  17247.  
  17248.  
  17249.  
  17250. 179 - [B3] Shake
  17251.  
  17252.  
  17253. BattleAddr(&2060) = BattleAddr(&Self)
  17254. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17255. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17256.  
  17257. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  17258. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  17259. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  17260. BattleAddr(&4180) = BattleAddr(&MaxHP)
  17261.  
  17262.  
  17263.  
  17264. MAIN:
  17265.  
  17266. 0x000 If ( (BattleAddr(&Self).BattleAddr(&PoisonStatus) == 1) )
  17267. 0x000 {
  17268. 0x00D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17269. 0x015 If (Not (Random MOD 2) )
  17270. 0x015 {
  17271. 0x01D Perform("Beak"[01C5], EnemyAttack)
  17272. 0x023 }
  17273. 0x023 Else
  17274. 0x023 {
  17275. 0x026 Perform("Rage Bomber"[020E], EnemyAttack)
  17276. 0x02C }
  17277. 0x02C Else
  17278. 0x02C {
  17279. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17280. 0x037 Perform("Beak"[01C5], EnemyAttack)
  17281. 0x03DSCRIPT END
  17282.  
  17283.  
  17284. GENERAL COUNTER:
  17285.  
  17286. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  17287. 0x000 {
  17288. 0x015 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  17289. 0x020 Perform("Rage Bomber"[020E], EnemyAttack)
  17290. 0x026SCRIPT END
  17291.  
  17292.  
  17293.  
  17294.  
  17295. 180 - [B4] Chekhov
  17296.  
  17297.  
  17298. LocalVar:0000 = LocalVar:OpenAttack
  17299.  
  17300. BattleAddr(&2060) = BattleAddr(&Self)
  17301. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17302. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17303.  
  17304. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  17305. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  17306. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  17307. BattleAddr(&4180) = BattleAddr(&MaxHP)
  17308.  
  17309.  
  17310.  
  17311. MAIN:
  17312.  
  17313. 0x000 If (Not (LocalVar:OpenAttack) )
  17314. 0x000 {
  17315. 0x007 If (Not (Random MOD 2) )
  17316. 0x007 {
  17317. 0x00F If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  17318. 0x00F {
  17319. 0x01C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  17320. 0x02B }
  17321. 0x02B Else
  17322. 0x02B {
  17323. 0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17324. 0x036 Perform("Stare Down"[0248], EnemyAttack)
  17325. 0x03C LocalVar:OpenAttack <- 1
  17326. 0x042 }
  17327. 0x042 Else
  17328. 0x042 {
  17329. 0x045 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  17330. 0x045 {
  17331. 0x05A If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17332. 0x05A {
  17333. 0x067 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17334. 0x076 }
  17335. 0x076 Else
  17336. 0x076 {
  17337. 0x079 Bad Code0x084 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  17338. 0x086 Perform("Absorb"[0247], EnemyAttack)
  17339. 0x08CSCRIPT END
  17340.  
  17341. NOTE - 0x083 uses HMSK
  17342.  
  17343.  
  17344. MAGIC COUNTER:
  17345.  
  17346. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  17347. 0x00BPerform("Stare Down"[0248], EnemyAttack)
  17348. 0x011SCRIPT END
  17349.  
  17350.  
  17351.  
  17352.  
  17353. 181 - [B5] Staniv
  17354.  
  17355.  
  17356. LocalVar:0000 = LocalVar:LowHP
  17357. LocalVar:0020 = LocalVar:Count
  17358.  
  17359. BattleAddr(&2060) = BattleAddr(&Self)
  17360. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17361. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17362.  
  17363. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  17364. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  17365. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  17366. BattleAddr(&4180) = BattleAddr(&MaxHP)
  17367.  
  17368.  
  17369.  
  17370. PRE-BATTLE:
  17371.  
  17372. x
  17373.  
  17374.  
  17375. MAIN:
  17376.  
  17377. 0x000 If (LocalVar:Count == 0)
  17378. 0x000 {
  17379. 0x008 LocalVar:Count <- 1
  17380. 0x00E }
  17381. 0x00E Else
  17382. 0x00E {
  17383. 0x011 }
  17384. 0x011 Else
  17385. 0x011 {
  17386. 0x014 If (LocalVar:Count == 1)
  17387. 0x014 {
  17388. 0x019 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17389. 0x019 {
  17390. 0x026 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17391. 0x035 }
  17392. 0x035 Else
  17393. 0x035 {
  17394. 0x038 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  17395. 0x038 {
  17396. 0x045 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  17397. 0x054 }
  17398. 0x054 Else
  17399. 0x054 {
  17400. 0x057 Bad Code0x062 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  17401. 0x064 Perform("Ironball"[01BB], EnemyAttack)
  17402. 0x06A LocalVar:Count <- 2
  17403. 0x070 }
  17404. 0x070 Else
  17405. 0x070 {
  17406. 0x073 }
  17407. 0x073 Else
  17408. 0x073 {
  17409. 0x076 If (LocalVar:Count == 2)
  17410. 0x076 {
  17411. 0x07B LocalVar:Count <- 3
  17412. 0x081 }
  17413. 0x081 Else
  17414. 0x081 {
  17415. 0x084 }
  17416. 0x084 Else
  17417. 0x084 {
  17418. 0x087 If (LocalVar:Count == 3)
  17419. 0x087 {
  17420. 0x08C If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17421. 0x08C {
  17422. 0x099 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  17423. 0x0A8 }
  17424. 0x0A8 Else
  17425. 0x0A8 {
  17426. 0x0AB If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  17427. 0x0AB {
  17428. 0x0B8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  17429. 0x0C7 }
  17430. 0x0C7 Else
  17431. 0x0C7 {
  17432. 0x0CA Bad Code0x0D5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  17433. 0x0D7 Perform("Ironball"[01BB], EnemyAttack)
  17434. 0x0DD If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  17435. 0x0DD {
  17436. 0x0EA If (Not (Random MOD 3) )
  17437. 0x0EA {
  17438. 0x0F2 LocalVar:Count <- 4
  17439. 0x0F8 }
  17440. 0x0F8 Else
  17441. 0x0F8 {
  17442. 0x0FB LocalVar:Count <- 0
  17443. 0x101 }
  17444. 0x101 Else
  17445. 0x101 {
  17446. 0x104 LocalVar:Count <- 0
  17447. 0x10A }
  17448. 0x10A Else
  17449. 0x10A {
  17450. 0x10D }
  17451. 0x10D Else
  17452. 0x10D {
  17453. 0x110 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  17454. 0x110 {
  17455. 0x11D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  17456. 0x12C }
  17457. 0x12C Else
  17458. 0x12C {
  17459. 0x12F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  17460. 0x137 Perform("War Cry"[024D], EnemyAttack)
  17461. 0x13D LocalVar:Count <- 0
  17462. 0x143 }
  17463. 0x143 Else
  17464. 0x143 {
  17465. 0x146POP(LocalVar:Count)
  17466. 0x147SCRIPT END
  17467.  
  17468. NOTE - 0x061 uses HMSK
  17469. 0x0D4 uses HMSK
  17470.  
  17471.  
  17472. GENERAL COUNTER:
  17473.  
  17474. 0x000 If (Not (LocalVar:LowHP) )
  17475. 0x000 {
  17476. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 8) )
  17477. 0x007 {
  17478. 0x01C If (Not (Random MOD 2) )
  17479. 0x01C {
  17480. 0x024 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  17481. 0x02B Perform("Iron Attack"[024C], EnemyAttack)
  17482. 0x031 LocalVar:LowHP <- 1
  17483. 0x037SCRIPT END
  17484.  
  17485.  
  17486.  
  17487.  
  17488. 182 - [B6] Godo
  17489.  
  17490.  
  17491. LocalVar:0000 = LocalVar:Count
  17492. LocalVar:0020 = LocalVar:SpclChance
  17493. LocalVar:0040 = LocalVar:Stage
  17494. LocalVar:0060 = LocalVar:NextStage
  17495. LocalVar:0080 = LocalVar:TarSelected
  17496. LocalVar:00A0 = LocalVar:CounterTarSelected
  17497. LocalVar:00C0 = LocalVar:EnemyAnimation
  17498. LocalVar:00E0 = LocalVar:EnemyAttack
  17499. LocalVar:0100 = LocalVar:IdleAnimID
  17500.  
  17501. BattleAddr(&2060) = BattleAddr(&Self)
  17502. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17503. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17504.  
  17505. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  17506. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  17507. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  17508. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  17509. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  17510. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  17511. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  17512. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  17513. BattleAddr(&4180) = BattleAddr(&MaxHP)
  17514.  
  17515.  
  17516.  
  17517. PRE-BATTLE:
  17518.  
  17519. 0x000LocalVar:Stage <- 0
  17520. 0x006LocalVar:Count <- Random MOD 8
  17521. 0x00ELocalVar:SpclChance <- 5
  17522. 0x014LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  17523. 0x01CSCRIPT END
  17524.  
  17525. MAIN:
  17526.  
  17527. 0x000 If (LocalVar:Count == 0)
  17528. 0x000 {
  17529. 0x008 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17530. 0x00F LocalVar:EnemyAttack <- 604 (Beast Sword)
  17531. 0x016 LocalVar:NextStage <- 1
  17532. 0x01C If (Random MOD 4 == 0)
  17533. 0x01C {
  17534. 0x025 LocalVar:Count <- 2
  17535. 0x02B }
  17536. 0x02B Else
  17537. 0x02B {
  17538. 0x02E }
  17539. 0x02E Else
  17540. 0x02E {
  17541. 0x031 If (Random MOD 4 == 1)
  17542. 0x031 {
  17543. 0x036 LocalVar:Count <- 4
  17544. 0x03C }
  17545. 0x03C Else
  17546. 0x03C {
  17547. 0x03F }
  17548. 0x03F Else
  17549. 0x03F {
  17550. 0x042 If (Random MOD 4 == 2)
  17551. 0x042 {
  17552. 0x047 LocalVar:Count <- 5
  17553. 0x04D }
  17554. 0x04D Else
  17555. 0x04D {
  17556. 0x050 }
  17557. 0x050 Else
  17558. 0x050 {
  17559. 0x053 LocalVar:Count <- 1
  17560. 0x059 }
  17561. 0x059 Else
  17562. 0x059 {
  17563. 0x05C POP(Random MOD 4)
  17564. 0x05D }
  17565. 0x05D Else
  17566. 0x05D {
  17567. 0x060 }
  17568. 0x060 Else
  17569. 0x060 {
  17570. 0x063 If (LocalVar:Count == 1)
  17571. 0x063 {
  17572. 0x068 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17573. 0x06F LocalVar:EnemyAttack <- 604 (Beast Sword)
  17574. 0x076 LocalVar:NextStage <- 1
  17575. 0x07C If (Random MOD 4 == 0)
  17576. 0x07C {
  17577. 0x085 LocalVar:Count <- 3
  17578. 0x08B }
  17579. 0x08B Else
  17580. 0x08B {
  17581. 0x08E }
  17582. 0x08E Else
  17583. 0x08E {
  17584. 0x091 If (Random MOD 4 == 1)
  17585. 0x091 {
  17586. 0x096 LocalVar:Count <- 4
  17587. 0x09C }
  17588. 0x09C Else
  17589. 0x09C {
  17590. 0x09F }
  17591. 0x09F Else
  17592. 0x09F {
  17593. 0x0A2 If (Random MOD 4 == 2)
  17594. 0x0A2 {
  17595. 0x0A7 LocalVar:Count <- 6
  17596. 0x0AD }
  17597. 0x0AD Else
  17598. 0x0AD {
  17599. 0x0B0 }
  17600. 0x0B0 Else
  17601. 0x0B0 {
  17602. 0x0B3 LocalVar:Count <- 0
  17603. 0x0B9 }
  17604. 0x0B9 Else
  17605. 0x0B9 {
  17606. 0x0BC POP(Random MOD 4)
  17607. 0x0BD }
  17608. 0x0BD Else
  17609. 0x0BD {
  17610. 0x0C0 }
  17611. 0x0C0 Else
  17612. 0x0C0 {
  17613. 0x0C3 If (LocalVar:Count == 2)
  17614. 0x0C3 {
  17615. 0x0C8 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) ) )
  17616. 0x0C8 {
  17617. 0x0EC LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17618. 0x0F3 LocalVar:EnemyAttack <- 11 (Sleepel)
  17619. 0x0F9 LocalVar:NextStage <- 0
  17620. 0x0FF }
  17621. 0x0FF Else
  17622. 0x0FF {
  17623. 0x102 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17624. 0x109 LocalVar:EnemyAttack <- 604 (Beast Sword)
  17625. 0x110 LocalVar:NextStage <- 1
  17626. 0x116 If (Not (Random MOD 3) )
  17627. 0x116 {
  17628. 0x11E LocalVar:Count <- 0
  17629. 0x124 }
  17630. 0x124 Else
  17631. 0x124 {
  17632. 0x127 LocalVar:Count <- 1
  17633. 0x12D }
  17634. 0x12D Else
  17635. 0x12D {
  17636. 0x130 }
  17637. 0x130 Else
  17638. 0x130 {
  17639. 0x133 If (LocalVar:Count == 3)
  17640. 0x133 {
  17641. 0x138 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Mini [0009])) ) )
  17642. 0x138 {
  17643. 0x15C LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17644. 0x163 LocalVar:EnemyAttack <- 9 (Mini)
  17645. 0x169 LocalVar:NextStage <- 0
  17646. 0x16F }
  17647. 0x16F Else
  17648. 0x16F {
  17649. 0x172 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17650. 0x179 LocalVar:EnemyAttack <- 604 (Beast Sword)
  17651. 0x180 LocalVar:NextStage <- 1
  17652. 0x186 If (Not (Random MOD 3) )
  17653. 0x186 {
  17654. 0x18E LocalVar:Count <- 1
  17655. 0x194 }
  17656. 0x194 Else
  17657. 0x194 {
  17658. 0x197 LocalVar:Count <- 0
  17659. 0x19D }
  17660. 0x19D Else
  17661. 0x19D {
  17662. 0x1A0 }
  17663. 0x1A0 Else
  17664. 0x1A0 {
  17665. 0x1A3 If (LocalVar:Count == 4)
  17666. 0x1A3 {
  17667. 0x1A8 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Drain [014D])) )
  17668. 0x1A8 {
  17669. 0x1B7 Bad Code0x1C2 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  17670. 0x1C4 LocalVar:EnemyAttack <- 333 (Drain)
  17671. 0x1CB LocalVar:NextStage <- 2
  17672. 0x1D1 }
  17673. 0x1D1 Else
  17674. 0x1D1 {
  17675. 0x1D4 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17676. 0x1DB LocalVar:EnemyAttack <- 604 (Beast Sword)
  17677. 0x1E2 LocalVar:NextStage <- 1
  17678. 0x1E8 If (Random MOD 4 == 0)
  17679. 0x1E8 {
  17680. 0x1F1 LocalVar:Count <- 0
  17681. 0x1F7 }
  17682. 0x1F7 Else
  17683. 0x1F7 {
  17684. 0x1FA }
  17685. 0x1FA Else
  17686. 0x1FA {
  17687. 0x1FD If (Random MOD 4 == 1)
  17688. 0x1FD {
  17689. 0x202 LocalVar:Count <- 1
  17690. 0x208 }
  17691. 0x208 Else
  17692. 0x208 {
  17693. 0x20B }
  17694. 0x20B Else
  17695. 0x20B {
  17696. 0x20E If (Random MOD 4 == 3)
  17697. 0x20E {
  17698. 0x213 LocalVar:Count <- 5
  17699. 0x219 }
  17700. 0x219 Else
  17701. 0x219 {
  17702. 0x21C }
  17703. 0x21C Else
  17704. 0x21C {
  17705. 0x21F LocalVar:Count <- 6
  17706. 0x225 }
  17707. 0x225 Else
  17708. 0x225 {
  17709. 0x228 POP(Random MOD 4)
  17710. 0x229 }
  17711. 0x229 Else
  17712. 0x229 {
  17713. 0x22C }
  17714. 0x22C Else
  17715. 0x22C {
  17716. 0x22F If (LocalVar:Count == 5)
  17717. 0x22F {
  17718. 0x234 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) ) )
  17719. 0x234 {
  17720. 0x24D LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17721. 0x254 LocalVar:EnemyAttack <- 40 (Bio2)
  17722. 0x25A LocalVar:NextStage <- 2
  17723. 0x260 }
  17724. 0x260 Else
  17725. 0x260 {
  17726. 0x263 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17727. 0x26A LocalVar:EnemyAttack <- 604 (Beast Sword)
  17728. 0x271 LocalVar:NextStage <- 1
  17729. 0x277 If (Not (Random MOD LocalVar:SpclChance) )
  17730. 0x277 {
  17731. 0x280 LocalVar:Count <- 7
  17732. 0x286 }
  17733. 0x286 Else
  17734. 0x286 {
  17735. 0x289 LocalVar:Count <- 1
  17736. 0x28F }
  17737. 0x28F Else
  17738. 0x28F {
  17739. 0x292 }
  17740. 0x292 Else
  17741. 0x292 {
  17742. 0x295 If (LocalVar:Count == 6)
  17743. 0x295 {
  17744. 0x29A If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Trine [0056])) )
  17745. 0x29A {
  17746. 0x2A8 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17747. 0x2AF LocalVar:EnemyAttack <- 86 (Trine)
  17748. 0x2B5 LocalVar:NextStage <- 1
  17749. 0x2BB }
  17750. 0x2BB Else
  17751. 0x2BB {
  17752. 0x2BE LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17753. 0x2C5 LocalVar:EnemyAttack <- 604 (Beast Sword)
  17754. 0x2CC LocalVar:NextStage <- 1
  17755. 0x2D2 If (Not (Random MOD LocalVar:SpclChance) )
  17756. 0x2D2 {
  17757. 0x2DB LocalVar:Count <- 7
  17758. 0x2E1 }
  17759. 0x2E1 Else
  17760. 0x2E1 {
  17761. 0x2E4 LocalVar:Count <- 0
  17762. 0x2EA }
  17763. 0x2EA Else
  17764. 0x2EA {
  17765. 0x2ED }
  17766. 0x2ED Else
  17767. 0x2ED {
  17768. 0x2F0 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Demi3 [002C])) )
  17769. 0x2F0 {
  17770. 0x2FE LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17771. 0x305 LocalVar:EnemyAttack <- 44 (Demi3)
  17772. 0x30B LocalVar:NextStage <- 2
  17773. 0x311 }
  17774. 0x311 Else
  17775. 0x311 {
  17776. 0x314 LocalVar:TarSelected <- BattleAddr(&AllPlayers)
  17777. 0x31B LocalVar:EnemyAttack <- 604 (Beast Sword)
  17778. 0x322 LocalVar:NextStage <- 1
  17779. 0x328 LocalVar:Count <- Random MOD 2
  17780. 0x330 }
  17781. 0x330 Else
  17782. 0x330 {
  17783. 0x333POP(LocalVar:Count)
  17784. 0x334 If ( (LocalVar:Stage != LocalVar:NextStage) )
  17785. 0x334 {
  17786. 0x33E If ( (LocalVar:Stage == 0) )
  17787. 0x33E {
  17788. 0x347 If ( (LocalVar:NextStage == 1) )
  17789. 0x347 {
  17790. 0x350 LocalVar:EnemyAnimation <- 602 (to Beast)
  17791. 0x357 LocalVar:IdleAnimID <- 6
  17792. 0x35D }
  17793. 0x35D Else
  17794. 0x35D {
  17795. 0x360 If ( (LocalVar:NextStage == 2) )
  17796. 0x360 {
  17797. 0x369 LocalVar:EnemyAnimation <- 603 (to Cheater)
  17798. 0x370 LocalVar:IdleAnimID <- 11
  17799. 0x376 }
  17800. 0x376 Else
  17801. 0x376 {
  17802. 0x379 If ( (LocalVar:Stage == 1) )
  17803. 0x379 {
  17804. 0x382 If ( (LocalVar:NextStage == 0) )
  17805. 0x382 {
  17806. 0x38B LocalVar:EnemyAnimation <- 605 (to Human)
  17807. 0x392 LocalVar:IdleAnimID <- 0
  17808. 0x398 }
  17809. 0x398 Else
  17810. 0x398 {
  17811. 0x39B If ( (LocalVar:NextStage == 2) )
  17812. 0x39B {
  17813. 0x3A4 LocalVar:EnemyAnimation <- 606 (to Cheat)
  17814. 0x3AB LocalVar:IdleAnimID <- 11
  17815. 0x3B1 }
  17816. 0x3B1 Else
  17817. 0x3B1 {
  17818. 0x3B4 If ( (LocalVar:NextStage == 0) )
  17819. 0x3B4 {
  17820. 0x3BD LocalVar:EnemyAnimation <- 608 (to Human)
  17821. 0x3C4 LocalVar:IdleAnimID <- 0
  17822. 0x3CA }
  17823. 0x3CA Else
  17824. 0x3CA {
  17825. 0x3CD If ( (LocalVar:NextStage == 1) )
  17826. 0x3CD {
  17827. 0x3D6 LocalVar:EnemyAnimation <- 607 (to Beast)
  17828. 0x3DD LocalVar:IdleAnimID <- 6
  17829. 0x3E3 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  17830. 0x3EA Perform(LocalVar:EnemyAnimation, EnemyAttack)
  17831. 0x3F0 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- LocalVar:IdleAnimID
  17832. 0x3FBLocalVar:Stage <- LocalVar:NextStage
  17833. 0x402BattleAddr(&TarSelected) <- LocalVar:TarSelected
  17834. 0x409Perform(LocalVar:EnemyAttack, EnemyAttack)
  17835. 0x40FSCRIPT END
  17836.  
  17837. NOTE - 0x1C1 uses HMSK
  17838.  
  17839.  
  17840. GENERAL COUNTER:
  17841.  
  17842. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  17843. 0x000 {
  17844. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  17845. 0x017 }
  17846. 0x017 Else
  17847. 0x017 {
  17848. 0x01A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 6) )
  17849. 0x01A {
  17850. 0x027 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  17851. 0x031 }
  17852. 0x031 Else
  17853. 0x031 {
  17854. 0x034 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 12
  17855. 0x03E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 2) )
  17856. 0x03E {
  17857. 0x056 LocalVar:SpclChance <- 2
  17858. 0x05C }
  17859. 0x05C Else
  17860. 0x05C {
  17861. 0x05F If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 3) )
  17862. 0x05F {
  17863. 0x077 LocalVar:SpclChance <- 3
  17864. 0x07D }
  17865. 0x07D Else
  17866. 0x07D {
  17867. 0x080 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 4) )
  17868. 0x080 {
  17869. 0x098 LocalVar:SpclChance <- 4
  17870. 0x09E }
  17871. 0x09E Else
  17872. 0x09E {
  17873. 0x0A1 LocalVar:SpclChance <- 5
  17874. 0x0A7 If ( ( ( (LocalVar:SpclChance <= 2) And (BattleAddr(&Self).BattleAddr(&ReflectStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) ) )
  17875. 0x0A7 {
  17876. 0x0C7 If ( (LocalVar:Stage == 1) )
  17877. 0x0C7 {
  17878. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  17879. 0x0D7 Perform("to Human"[025D], EnemyAttack)
  17880. 0x0DD BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  17881. 0x0E7 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  17882. 0x0F1 LocalVar:Stage <- 0
  17883. 0x0F7 }
  17884. 0x0F7 Else
  17885. 0x0F7 {
  17886. 0x0FA If ( (LocalVar:Stage == 2) )
  17887. 0x0FA {
  17888. 0x103 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  17889. 0x10A Perform("to Human"[0260], EnemyAttack)
  17890. 0x110 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  17891. 0x11A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  17892. 0x124 LocalVar:Stage <- 0
  17893. 0x12A LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  17894. 0x135 If ( ( (LocalVar:TarSelected.BattleAddr(&CurrentHP) <= LocalVar:TarSelected.BattleAddr(&MaxHP) / 10 * 2) And Not (Random MOD LocalVar:SpclChance) ) )
  17895. 0x135 {
  17896. 0x154 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  17897. 0x15B }
  17898. 0x15B Else
  17899. 0x15B {
  17900. 0x15E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  17901. 0x165 Perform("Cure2"[0001], EnemyAttack)
  17902. 0x16ASCRIPT END
  17903.  
  17904.  
  17905.  
  17906.  
  17907. 183 - [B7] Blank
  17908.  
  17909.  
  17910.  
  17911.  
  17912. 184 - [B8] Blank
  17913.  
  17914.  
  17915.  
  17916.  
  17917. 185 - [B9] Under Lizard
  17918.  
  17919.  
  17920. LocalVar:0000 = LocalVar:Count
  17921.  
  17922. BattleAddr(&2070) = BattleAddr(&TarSelected)
  17923. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  17924.  
  17925. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  17926. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  17927.  
  17928.  
  17929.  
  17930. PRE-BATTLE:
  17931.  
  17932. 0x000LocalVar:Count <- Random MOD 4
  17933. 0x008SCRIPT END
  17934.  
  17935.  
  17936. MAIN:
  17937.  
  17938. 0x000 If (LocalVar:Count == 0)
  17939. 0x000 {
  17940. 0x008 }
  17941. 0x008 Else
  17942. 0x008 {
  17943. 0x00B If (LocalVar:Count == 1)
  17944. 0x00B {
  17945. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17946. 0x010 {
  17947. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17948. 0x02C Perform("Bodyblow"[0172], EnemyAttack)
  17949. 0x032 LocalVar:Count <- LocalVar:Count + 1
  17950. 0x03C }
  17951. 0x03C Else
  17952. 0x03C {
  17953. 0x03F }
  17954. 0x03F Else
  17955. 0x03F {
  17956. 0x042 If (LocalVar:Count == 2)
  17957. 0x042 {
  17958. 0x047 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17959. 0x047 {
  17960. 0x054 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17961. 0x063 Perform("Bodyblow"[0172], EnemyAttack)
  17962. 0x069 If (Not (Random MOD 2) )
  17963. 0x069 {
  17964. 0x071 LocalVar:Count <- Random MOD 2
  17965. 0x079 }
  17966. 0x079 Else
  17967. 0x079 {
  17968. 0x07C LocalVar:Count <- 3
  17969. 0x082 }
  17970. 0x082 Else
  17971. 0x082 {
  17972. 0x085 }
  17973. 0x085 Else
  17974. 0x085 {
  17975. 0x088 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) ) )
  17976. 0x088 {
  17977. 0x0A0 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0)
  17978. 0x0AE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) == 0) )
  17979. 0x0BD Perform("Petrified Frog"[026E], EnemyAttack)
  17980. 0x0C3 }
  17981. 0x0C3 Else
  17982. 0x0C3 {
  17983. 0x0C6 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17984. 0x0C6 {
  17985. 0x0D3 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  17986. 0x0E2 Perform("Bodyblow"[0172], EnemyAttack)
  17987. 0x0E8 LocalVar:Count <- Random MOD 2
  17988. 0x0F0 }
  17989. 0x0F0 Else
  17990. 0x0F0 {
  17991. 0x0F3POP(LocalVar:Count)
  17992. 0x0F4SCRIPT END
  17993.  
  17994.  
  17995.  
  17996.  
  17997. 186 - [BA] Kelzmelzer
  17998.  
  17999.  
  18000. LocalVar:0000 = LocalVar:OtherActors
  18001.  
  18002. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  18003. BattleAddr(&2060) = BattleAddr(&Self)
  18004. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18005. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18006.  
  18007. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  18008. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  18009.  
  18010.  
  18011.  
  18012. MAIN:
  18013.  
  18014. 0x000LocalVar:OtherActors <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  18015. 0x014LocalVar:OtherActors <- LocalVar:OtherActors AND NOT BattleAddr(&Self)
  18016. 0x020BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18017. 0x028 If ( (LocalVar:OtherActors.BattleAddr(&DeathStatus) == 0) )
  18018. 0x028 {
  18019. 0x035 If (Random MOD 4 == 0)
  18020. 0x035 {
  18021. 0x03E Perform("Liquid poison"[017F], EnemyAttack)
  18022. 0x044 }
  18023. 0x044 Else
  18024. 0x044 {
  18025. 0x047 }
  18026. 0x047 Else
  18027. 0x047 {
  18028. 0x04A Perform("Claw"[0124], EnemyAttack)
  18029. 0x050 }
  18030. 0x050 Else
  18031. 0x050 {
  18032. 0x053 POP(Random MOD 4)
  18033. 0x054 }
  18034. 0x054 Else
  18035. 0x054 {
  18036. 0x057 If (Random MOD 4 == 0)
  18037. 0x057 {
  18038. 0x060 Perform("Claw"[0124], EnemyAttack)
  18039. 0x066 }
  18040. 0x066 Else
  18041. 0x066 {
  18042. 0x069 }
  18043. 0x069 Else
  18044. 0x069 {
  18045. 0x06C Perform("Liquid poison"[017F], EnemyAttack)
  18046. 0x072 }
  18047. 0x072 Else
  18048. 0x072 {
  18049. 0x075 POP(Random MOD 4)
  18050. 0x076SCRIPT END
  18051.  
  18052.  
  18053.  
  18054.  
  18055. 187 - [BB] Dual Horn
  18056.  
  18057.  
  18058. LocalVar:0000 = LocalVar:Count
  18059.  
  18060. BattleAddr(&2060) = BattleAddr(&Self)
  18061. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18062. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18063.  
  18064. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18065. BattleAddr(&4180) = BattleAddr(&MaxHP)
  18066.  
  18067.  
  18068.  
  18069. MAIN:
  18070.  
  18071. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18072. 0x008 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  18073. 0x008 {
  18074. 0x01D If (Random MOD 4 == 0)
  18075. 0x01D {
  18076. 0x026 Perform([0271], EnemyAttack)
  18077. 0x02C }
  18078. 0x02C Else
  18079. 0x02C {
  18080. 0x02F }
  18081. 0x02F Else
  18082. 0x02F {
  18083. 0x032 If (Random MOD 4 == 1)
  18084. 0x032 {
  18085. 0x037 Perform("Angle Punch"[026F], EnemyAttack)
  18086. 0x03D }
  18087. 0x03D Else
  18088. 0x03D {
  18089. 0x040 }
  18090. 0x040 Else
  18091. 0x040 {
  18092. 0x043 Perform("Horn Lift"[0270], EnemyAttack)
  18093. 0x049 }
  18094. 0x049 Else
  18095. 0x049 {
  18096. 0x04C POP(Random MOD 4)
  18097. 0x04D }
  18098. 0x04D Else
  18099. 0x04D {
  18100. 0x050 If (Not (Random MOD 4) )
  18101. 0x050 {
  18102. 0x058 Perform("Horn Lift"[0270], EnemyAttack)
  18103. 0x05E }
  18104. 0x05E Else
  18105. 0x05E {
  18106. 0x061 Perform("Angle Punch"[026F], EnemyAttack)
  18107. 0x067SCRIPT END
  18108.  
  18109.  
  18110.  
  18111.  
  18112. 188 - [BC] Tonadu
  18113.  
  18114.  
  18115. LocalVar:0000 = LocalVar:Count
  18116. LocalVar:0020 = LocalVar:SpclChance
  18117.  
  18118. BattleAddr(&2060) = BattleAddr(&Self)
  18119. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18120. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18121.  
  18122. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18123. BattleAddr(&4180) = BattleAddr(&MaxHP)
  18124.  
  18125.  
  18126.  
  18127. PRE-BATTLE:
  18128.  
  18129. 0x000LocalVar:Count <- Random MOD 4
  18130. 0x008LocalVar:SpclChance <- 8
  18131. 0x00ESCRIPT END
  18132.  
  18133.  
  18134. MAIN:
  18135.  
  18136. 0x000 If (LocalVar:Count == 0)
  18137. 0x000 {
  18138. 0x008 }
  18139. 0x008 Else
  18140. 0x008 {
  18141. 0x00B If (LocalVar:Count == 1)
  18142. 0x00B {
  18143. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18144. 0x018 Perform("Claw"[0249], EnemyAttack)
  18145. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  18146. 0x01E {
  18147. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18148. 0x02F Perform("Claw"[0249], EnemyAttack)
  18149. 0x035 LocalVar:Count <- LocalVar:Count + 1
  18150. 0x03F }
  18151. 0x03F Else
  18152. 0x03F {
  18153. 0x042 }
  18154. 0x042 Else
  18155. 0x042 {
  18156. 0x045 If (LocalVar:Count == 2)
  18157. 0x045 {
  18158. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18159. 0x052 Perform("Claw"[0249], EnemyAttack)
  18160. 0x058 If (Not (Random MOD LocalVar:SpclChance) )
  18161. 0x058 {
  18162. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18163. 0x069 Perform("Claw"[0249], EnemyAttack)
  18164. 0x06F If (Not (Random MOD LocalVar:SpclChance) )
  18165. 0x06F {
  18166. 0x078 LocalVar:Count <- 3
  18167. 0x07E }
  18168. 0x07E Else
  18169. 0x07E {
  18170. 0x081 LocalVar:Count <- 0
  18171. 0x087 }
  18172. 0x087 Else
  18173. 0x087 {
  18174. 0x08A }
  18175. 0x08A Else
  18176. 0x08A {
  18177. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  18178. 0x094 Perform("Great Gale"[024A], EnemyAttack)
  18179. 0x09A LocalVar:Count <- 0
  18180. 0x0A0 }
  18181. 0x0A0 Else
  18182. 0x0A0 {
  18183. 0x0A3POP(LocalVar:Count)
  18184. 0x0A4SCRIPT END
  18185.  
  18186.  
  18187. GENERAL COUNTER:
  18188.  
  18189. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  18190. 0x000 {
  18191. 0x018 LocalVar:SpclChance <- 2
  18192. 0x01E }
  18193. 0x01E Else
  18194. 0x01E {
  18195. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  18196. 0x021 {
  18197. 0x039 LocalVar:SpclChance <- 3
  18198. 0x03F }
  18199. 0x03F Else
  18200. 0x03F {
  18201. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  18202. 0x042 {
  18203. 0x05A LocalVar:SpclChance <- 4
  18204. 0x060 }
  18205. 0x060 Else
  18206. 0x060 {
  18207. 0x063 LocalVar:SpclChance <- 8
  18208. 0x069SCRIPT END
  18209.  
  18210.  
  18211.  
  18212.  
  18213. 189 - [BD] Toxic Frog
  18214.  
  18215.  
  18216. LocalVar:0000 = LocalVar:SpclHitCount
  18217. LocalVar:0020 = LocalVar:HitCount
  18218.  
  18219. BattleAddr(&2060) = BattleAddr(&Self)
  18220. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18221. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18222.  
  18223. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  18224. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  18225. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  18226. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  18227.  
  18228.  
  18229.  
  18230. PRE-BATTLE:
  18231.  
  18232. 0x000LocalVar:SpclHitCount <- Random MOD 4
  18233. 0x008LocalVar:HitCount <- 1 + Random MOD 2
  18234. 0x013SCRIPT END
  18235.  
  18236.  
  18237. MAIN:
  18238.  
  18239. 0x000 If (LocalVar:HitCount)
  18240. 0x000 {
  18241. 0x006 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18242. 0x00E Perform("Frog Jab"[01FF], EnemyAttack)
  18243. 0x014 LocalVar:HitCount <- LocalVar:HitCount - 1
  18244. 0x01E }
  18245. 0x01E Else
  18246. 0x01E {
  18247. 0x021 If (Not (LocalVar:SpclHitCount) )
  18248. 0x021 {
  18249. 0x028 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  18250. 0x028 {
  18251. 0x035 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  18252. 0x044 Perform("Frog Song"[0048], EnemyAttack)
  18253. 0x049 LocalVar:SpclHitCount <- Random MOD 3
  18254. 0x051 }
  18255. 0x051 Else
  18256. 0x051 {
  18257. 0x054 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  18258. 0x054 {
  18259. 0x061 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  18260. 0x070 }
  18261. 0x070 Else
  18262. 0x070 {
  18263. 0x073 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18264. 0x07B Perform("Frog Jab"[01FF], EnemyAttack)
  18265. 0x081 LocalVar:SpclHitCount <- 0
  18266. 0x087 }
  18267. 0x087 Else
  18268. 0x087 {
  18269. 0x08A LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  18270. 0x094SCRIPT END
  18271.  
  18272.  
  18273. PHYSICAL COUNTER:
  18274.  
  18275. 0x000 If (Not (Random MOD 3) )
  18276. 0x000 {
  18277. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  18278. 0x013 Perform("Frog Jab"[01FF], EnemyAttack)
  18279. 0x019SCRIPT END
  18280.  
  18281.  
  18282. MAGIC COUNTER:
  18283.  
  18284. 0x000 If (Not (Random MOD 3) )
  18285. 0x000 {
  18286. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  18287. 0x013 Perform("Frog Song"[0048], EnemyAttack)
  18288. 0x018SCRIPT END
  18289.  
  18290.  
  18291.  
  18292.  
  18293. 190 - [BE] Jemnezmy
  18294.  
  18295.  
  18296. LocalVar:0000 = LocalVar:Count
  18297.  
  18298. BattleAddr(&2060) = BattleAddr(&Self)
  18299. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18300. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18301.  
  18302. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  18303. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  18304. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  18305. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  18306. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  18307. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  18308.  
  18309.  
  18310.  
  18311. MAIN:
  18312.  
  18313. 0x000 If ( (Not (LocalVar:Count) And (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) ) )
  18314. 0x000 {
  18315. 0x012 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1)
  18316. 0x020 If ( (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0) )
  18317. 0x020 {
  18318. 0x02D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0) )
  18319. 0x03C }
  18320. 0x03C Else
  18321. 0x03C {
  18322. 0x03F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18323. 0x047 Perform("Cold Breath"[037B], EnemyAttack)
  18324. 0x04D LocalVar:Count <- 1
  18325. 0x053 }
  18326. 0x053 Else
  18327. 0x053 {
  18328. 0x056 If (Not (Random MOD 2) )
  18329. 0x056 {
  18330. 0x05E If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  18331. 0x05E {
  18332. 0x06B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  18333. 0x07A }
  18334. 0x07A Else
  18335. 0x07A {
  18336. 0x07D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18337. 0x085 If ( ( ( ( ( ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 16) Or (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 17) ) Or (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 22) ) Or (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 24) ) Or (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 20) ) Or (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) == 23) ) )
  18338. 0x085 {
  18339. 0x0C9 Perform("Fascination"[037A], EnemyAttack)
  18340. 0x0CF }
  18341. 0x0CF Else
  18342. 0x0CF {
  18343. 0x0D2 Perform("Cold Breath"[037B], EnemyAttack)
  18344. 0x0D8 LocalVar:Count <- 0
  18345. 0x0DESCRIPT END
  18346.  
  18347.  
  18348. GENERAL COUNTER:
  18349.  
  18350. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  18351. 0x00B If ( ( (BattleAddr(&TarSelected).BattleAddr(&FrogStatus) == 1) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Toad [000A])) ) )
  18352. 0x00B {
  18353. 0x024 Perform("Toad"[000A], EnemyAttack)
  18354. 0x029 }
  18355. 0x029 Else
  18356. 0x029 {
  18357. 0x02C If ( ( (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 1) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Poisona [0004])) ) )
  18358. 0x02C {
  18359. 0x045 Perform("Poisona"[0004], EnemyAttack)
  18360. 0x04ASCRIPT END
  18361.  
  18362.  
  18363.  
  18364.  
  18365. 191 - [BF] Doorbull
  18366.  
  18367.  
  18368. LocalVar:0000 = LocalVar:Count
  18369.  
  18370. BattleAddr(&2060) = BattleAddr(&Self)
  18371. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18372. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18373.  
  18374. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  18375. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  18376.  
  18377.  
  18378.  
  18379. MAIN:
  18380.  
  18381. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18382. 0x008 If ( ( (BattleAddr(&Self).BattleAddr(&PoisonStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&ConfusionStatus) == 1) ) )
  18383. 0x008 {
  18384. 0x020 If (Not (Random MOD 2) )
  18385. 0x020 {
  18386. 0x028 LocalVar:Count <- 1
  18387. 0x02E }
  18388. 0x02E Else
  18389. 0x02E {
  18390. 0x031 LocalVar:Count <- 2
  18391. 0x037 If (LocalVar:Count == 0)
  18392. 0x037 {
  18393. 0x03F Perform("Claw"[01BE], EnemyAttack)
  18394. 0x045 LocalVar:Count <- 1
  18395. 0x04B }
  18396. 0x04B Else
  18397. 0x04B {
  18398. 0x04E }
  18399. 0x04E Else
  18400. 0x04E {
  18401. 0x051 If (LocalVar:Count == 1)
  18402. 0x051 {
  18403. 0x056 Perform("Fang"[0272], EnemyAttack)
  18404. 0x05C LocalVar:Count <- 2
  18405. 0x062 }
  18406. 0x062 Else
  18407. 0x062 {
  18408. 0x065 }
  18409. 0x065 Else
  18410. 0x065 {
  18411. 0x068 If (LocalVar:Count == 2)
  18412. 0x068 {
  18413. 0x06D Perform("Fire Shell"[0273], EnemyAttack)
  18414. 0x073 LocalVar:Count <- 3
  18415. 0x079 }
  18416. 0x079 Else
  18417. 0x079 {
  18418. 0x07C }
  18419. 0x07C Else
  18420. 0x07C {
  18421. 0x07F Perform("Light Shell"[026A], EnemyAttack)
  18422. 0x085 LocalVar:Count <- 0
  18423. 0x08B }
  18424. 0x08B Else
  18425. 0x08B {
  18426. 0x08EPOP(LocalVar:Count)
  18427. 0x08FSCRIPT END
  18428.  
  18429.  
  18430.  
  18431.  
  18432. 192 - [C0] Ancient Dragon
  18433.  
  18434.  
  18435. LocalVar:0000 = LocalVar:Count
  18436.  
  18437. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18438. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18439.  
  18440.  
  18441.  
  18442. PRE-BATTLE:
  18443.  
  18444. 0x000LocalVar:Count <- Random MOD 4
  18445. 0x008SCRIPT END
  18446.  
  18447.  
  18448. MAIN:
  18449.  
  18450. 0x000 If (LocalVar:Count == 0)
  18451. 0x000 {
  18452. 0x008 }
  18453. 0x008 Else
  18454. 0x008 {
  18455. 0x00B If (LocalVar:Count == 1)
  18456. 0x00B {
  18457. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18458. 0x018 Perform("Horn"[01E5], EnemyAttack)
  18459. 0x01E If (Not (Random MOD 3) )
  18460. 0x01E {
  18461. 0x026 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18462. 0x02E Perform("Horn"[01E5], EnemyAttack)
  18463. 0x034 LocalVar:Count <- LocalVar:Count + 1
  18464. 0x03E }
  18465. 0x03E Else
  18466. 0x03E {
  18467. 0x041 }
  18468. 0x041 Else
  18469. 0x041 {
  18470. 0x044 If (LocalVar:Count == 2)
  18471. 0x044 {
  18472. 0x049 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18473. 0x051 Perform("Horn"[01E5], EnemyAttack)
  18474. 0x057 If (Not (Random MOD 3) )
  18475. 0x057 {
  18476. 0x05F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18477. 0x067 Perform("Horn"[01E5], EnemyAttack)
  18478. 0x06D If (Not (Random MOD 2) )
  18479. 0x06D {
  18480. 0x075 LocalVar:Count <- 3
  18481. 0x07B }
  18482. 0x07B Else
  18483. 0x07B {
  18484. 0x07E LocalVar:Count <- Random MOD 2
  18485. 0x086 }
  18486. 0x086 Else
  18487. 0x086 {
  18488. 0x089 }
  18489. 0x089 Else
  18490. 0x089 {
  18491. 0x08C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18492. 0x094 Perform("Southern Cross"[026D], EnemyAttack)
  18493. 0x09A LocalVar:Count <- Random MOD 2
  18494. 0x0A2 }
  18495. 0x0A2 Else
  18496. 0x0A2 {
  18497. 0x0A5POP(LocalVar:Count)
  18498. 0x0A6SCRIPT END
  18499.  
  18500.  
  18501.  
  18502.  
  18503. 193 - [C1] Red Dragon
  18504.  
  18505.  
  18506. LocalVar:0000 = LocalVar:OpenAttack
  18507.  
  18508. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18509. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18510.  
  18511.  
  18512.  
  18513. MAIN:
  18514.  
  18515. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18516. 0x008 If (Not (LocalVar:OpenAttack) )
  18517. 0x008 {
  18518. 0x00F If (Not (Random MOD 4) )
  18519. 0x00F {
  18520. 0x017 Perform("Dragon Fang"[0243], EnemyAttack)
  18521. 0x01D }
  18522. 0x01D Else
  18523. 0x01D {
  18524. 0x020 Perform("Red Dragon Breath"[0274], EnemyAttack)
  18525. 0x026 LocalVar:OpenAttack <- 1
  18526. 0x02C }
  18527. 0x02C Else
  18528. 0x02C {
  18529. 0x02F If (Random MOD 4 == 0)
  18530. 0x02F {
  18531. 0x038 Perform("Red Dragon Breath"[0274], EnemyAttack)
  18532. 0x03E }
  18533. 0x03E Else
  18534. 0x03E {
  18535. 0x041 }
  18536. 0x041 Else
  18537. 0x041 {
  18538. 0x044 If (Random MOD 4 == 1)
  18539. 0x044 {
  18540. 0x049 Perform("Tail Attack"[0142], EnemyAttack)
  18541. 0x04F }
  18542. 0x04F Else
  18543. 0x04F {
  18544. 0x052 }
  18545. 0x052 Else
  18546. 0x052 {
  18547. 0x055 Perform("Dragon Fang"[0243], EnemyAttack)
  18548. 0x05B }
  18549. 0x05B Else
  18550. 0x05B {
  18551. 0x05E POP(Random MOD 4)
  18552. 0x05FSCRIPT END
  18553.  
  18554.  
  18555.  
  18556.  
  18557. 194 - [C2] 8 eye
  18558.  
  18559.  
  18560. LocalVar:0000 = LocalVar:Count
  18561.  
  18562. BattleAddr(&2060) = BattleAddr(&Self)
  18563. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18564. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18565.  
  18566. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  18567. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  18568. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  18569. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  18570. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18571.  
  18572.  
  18573.  
  18574. MAIN:
  18575.  
  18576. 0x000 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) And (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) ) )
  18577. 0x000 {
  18578. 0x018 If (Not (LocalVar:0000) )
  18579. 0x018 {
  18580. 0x01F BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1)
  18581. 0x02D BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1)
  18582. 0x03B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18583. 0x043 Perform("Eyesight"[0276], EnemyAttack)
  18584. 0x049 LocalVar:0000 <- 1
  18585. 0x04F }
  18586. 0x04F Else
  18587. 0x04F {
  18588. 0x052 Bad Code0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  18589. 0x05F Perform("Eyesight"[0277], EnemyAttack)
  18590. 0x065 LocalVar:0000 <- 0
  18591. 0x06B }
  18592. 0x06B Else
  18593. 0x06B {
  18594. 0x06E Bad Code0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  18595. 0x07B Perform("Eyesight"[0277], EnemyAttack)
  18596. 0x081 LocalVar:0000 <- 0
  18597. 0x087SCRIPT END
  18598.  
  18599. NOTE - 0x05C uses HMSK
  18600. NOTE - 0x078 uses HMSK
  18601.  
  18602.  
  18603. PHYSICAL COUNTER:
  18604.  
  18605. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  18606. 0x00BPerform("Eyesight"[0278], EnemyAttack)
  18607. 0x011LocalVar:0000 <- 1
  18608. 0x017SCRIPT END
  18609.  
  18610.  
  18611. MAGICAL COUNTER:
  18612.  
  18613. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  18614. 0x00BPerform("Eyesight"[0275], EnemyAttack)
  18615. 0x011LocalVar:0000 <- 1
  18616. 0x017SCRIPT END
  18617.  
  18618.  
  18619.  
  18620.  
  18621. 195 - [C3] Demons Gate
  18622.  
  18623.  
  18624. LocalVar:0000 = LocalVar:Count
  18625. LocalVar:0020 = LocalVar:SpclChance
  18626. LocalVar:0040 = LocalVar:SpclAttack
  18627.  
  18628. BattleAddr(&2060) = BattleAddr(&Self)
  18629. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18630. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18631.  
  18632. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  18633. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  18634. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  18635. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  18636. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18637. BattleAddr(&4180) = BattleAddr(&MaxHP)
  18638.  
  18639.  
  18640.  
  18641. PRE-BATTLE:
  18642.  
  18643. 0x000LocalVar:SpclChance <- 8
  18644. 0x006LocalVar:Count <- Random MOD 5
  18645. 0x00ESCRIPT END
  18646.  
  18647.  
  18648. MAIN:
  18649.  
  18650. 0x000 If (LocalVar:Count == 0)
  18651. 0x000 {
  18652. 0x008 }
  18653. 0x008 Else
  18654. 0x008 {
  18655. 0x00B If (LocalVar:Count == 1)
  18656. 0x00B {
  18657. 0x010 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  18658. 0x010 {
  18659. 0x028 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  18660. 0x036 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  18661. 0x044 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18662. 0x04C Perform("Falling Rocks"[0279], EnemyAttack)
  18663. 0x052 If (Not (Random MOD LocalVar:SpclChance) )
  18664. 0x052 {
  18665. 0x05B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  18666. 0x05B {
  18667. 0x073 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  18668. 0x081 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  18669. 0x08F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18670. 0x097 Perform("Falling Rocks"[0279], EnemyAttack)
  18671. 0x09D LocalVar:Count <- LocalVar:Count + 1
  18672. 0x0A7 }
  18673. 0x0A7 Else
  18674. 0x0A7 {
  18675. 0x0AA }
  18676. 0x0AA Else
  18677. 0x0AA {
  18678. 0x0AD If (LocalVar:Count == 2)
  18679. 0x0AD {
  18680. 0x0B2 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  18681. 0x0B2 {
  18682. 0x0CA BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  18683. 0x0D8 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  18684. 0x0E6 Perform("Cave-in"[027A], EnemyAttack)
  18685. 0x0EC LocalVar:Count <- 3
  18686. 0x0F2 }
  18687. 0x0F2 Else
  18688. 0x0F2 {
  18689. 0x0F5 }
  18690. 0x0F5 Else
  18691. 0x0F5 {
  18692. 0x0F8 If (LocalVar:Count == 3)
  18693. 0x0F8 {
  18694. 0x0FD If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) And Not (Random MOD LocalVar:SpclChance) ) )
  18695. 0x0FD {
  18696. 0x11C BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  18697. 0x12A BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  18698. 0x138 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18699. 0x140 Perform("Petrif-Eye"[027B], EnemyAttack)
  18700. 0x146 }
  18701. 0x146 Else
  18702. 0x146 {
  18703. 0x149 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) ) )
  18704. 0x149 {
  18705. 0x161 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowNumbStatus) == 0)
  18706. 0x16F BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) == 0)
  18707. 0x17D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  18708. 0x185 Perform("Falling Rocks"[0279], EnemyAttack)
  18709. 0x18B LocalVar:Count <- Random MOD 3
  18710. 0x193 }
  18711. 0x193 Else
  18712. 0x193 {
  18713. 0x196 }
  18714. 0x196 Else
  18715. 0x196 {
  18716. 0x199 If (LocalVar:Count == 4)
  18717. 0x199 {
  18718. 0x19E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  18719. 0x1A5 Perform("Advance"[0216], EnemyAttack)
  18720. 0x1AB BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  18721. 0x1B5 If (Not (Random MOD 3) )
  18722. 0x1B5 {
  18723. 0x1BD LocalVar:Count <- 5
  18724. 0x1C3 }
  18725. 0x1C3 Else
  18726. 0x1C3 {
  18727. 0x1C6 LocalVar:Count <- 6
  18728. 0x1CC }
  18729. 0x1CC Else
  18730. 0x1CC {
  18731. 0x1CF }
  18732. 0x1CF Else
  18733. 0x1CF {
  18734. 0x1D2 If (LocalVar:Count == 5)
  18735. 0x1D2 {
  18736. 0x1D7 LocalVar:Count <- 6
  18737. 0x1DD }
  18738. 0x1DD Else
  18739. 0x1DD {
  18740. 0x1E0 }
  18741. 0x1E0 Else
  18742. 0x1E0 {
  18743. 0x1E3 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  18744. 0x1E3 {
  18745. 0x1F0 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0)
  18746. 0x1FE Perform("Demon Rush"[027C], EnemyAttack)
  18747. 0x204 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  18748. 0x20B Perform("Retreat"[0217], EnemyAttack)
  18749. 0x211 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  18750. 0x21B LocalVar:SpclAttack <- 0
  18751. 0x221 LocalVar:Count <- 0
  18752. 0x227 }
  18753. 0x227 Else
  18754. 0x227 {
  18755. 0x22APOP(LocalVar:Count)
  18756. 0x22BSCRIPT END
  18757.  
  18758.  
  18759. GENERAL COUNTER:
  18760.  
  18761. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  18762. 0x000 {
  18763. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  18764. 0x017 }
  18765. 0x017 Else
  18766. 0x017 {
  18767. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  18768. 0x024 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  18769. 0x024 {
  18770. 0x03C If ( ( (LocalVar:SpclChance == 3) And Not (LocalVar:SpclAttack) ) )
  18771. 0x03C {
  18772. 0x04A LocalVar:Count <- 4
  18773. 0x050 LocalVar:SpclAttack <- 1
  18774. 0x056 LocalVar:SpclChance <- 2
  18775. 0x05C }
  18776. 0x05C Else
  18777. 0x05C {
  18778. 0x05F If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  18779. 0x05F {
  18780. 0x077 If ( ( (LocalVar:SpclChance == 4) And Not (LocalVar:SpclAttack) ) )
  18781. 0x077 {
  18782. 0x085 LocalVar:Count <- 4
  18783. 0x08B LocalVar:SpclAttack <- 1
  18784. 0x091 LocalVar:SpclChance <- 3
  18785. 0x097 }
  18786. 0x097 Else
  18787. 0x097 {
  18788. 0x09A If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  18789. 0x09A {
  18790. 0x0B2 If ( ( (LocalVar:SpclChance == 8) And Not (LocalVar:SpclAttack) ) )
  18791. 0x0B2 {
  18792. 0x0C0 LocalVar:Count <- 4
  18793. 0x0C6 LocalVar:SpclAttack <- 1
  18794. 0x0CC LocalVar:SpclChance <- 4
  18795. 0x0D2 }
  18796. 0x0D2 Else
  18797. 0x0D2 {
  18798. 0x0D5 LocalVar:SpclChance <- 8
  18799. 0x0DBSCRIPT END
  18800.  
  18801.  
  18802.  
  18803.  
  18804. 196 - [C4] Jenova-LIFE
  18805.  
  18806.  
  18807. LocalVar:0000 = LocalVar:Count
  18808. LocalVar:0020 = LocalVar:SpclChance
  18809.  
  18810. BattleAddr(&2060) = BattleAddr(&Self)
  18811. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18812. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18813.  
  18814. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  18815. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  18816. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18817. BattleAddr(&4180) = BattleAddr(&MaxHP)
  18818.  
  18819.  
  18820.  
  18821. PRE-BATTLE:
  18822.  
  18823. 0x000LocalVar:Count <- Random MOD 4
  18824. 0x008LocalVar:SpclChance <- 5
  18825. 0x00ESCRIPT END
  18826.  
  18827.  
  18828. MAIN:
  18829.  
  18830. 0x000 If (LocalVar:Count == 0)
  18831. 0x000 {
  18832. 0x008 }
  18833. 0x008 Else
  18834. 0x008 {
  18835. 0x00B If (LocalVar:Count == 1)
  18836. 0x00B {
  18837. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18838. 0x018 Perform("Blue Light"[0398], EnemyAttack)
  18839. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  18840. 0x01E {
  18841. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18842. 0x02F Perform("Blue Light"[0398], EnemyAttack)
  18843. 0x035 LocalVar:Count <- LocalVar:Count + 1
  18844. 0x03F }
  18845. 0x03F Else
  18846. 0x03F {
  18847. 0x042 }
  18848. 0x042 Else
  18849. 0x042 {
  18850. 0x045 If (LocalVar:Count == 2)
  18851. 0x045 {
  18852. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18853. 0x052 Perform("Blue Flame"[0399], EnemyAttack)
  18854. 0x058 If (Not (Random MOD LocalVar:SpclChance) )
  18855. 0x058 {
  18856. 0x061 LocalVar:Count <- 3
  18857. 0x067 }
  18858. 0x067 Else
  18859. 0x067 {
  18860. 0x06A LocalVar:Count <- 0
  18861. 0x070 }
  18862. 0x070 Else
  18863. 0x070 {
  18864. 0x073 }
  18865. 0x073 Else
  18866. 0x073 {
  18867. 0x076 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  18868. 0x07D Perform("Aqualung"[0055], EnemyAttack)
  18869. 0x082 LocalVar:Count <- 0
  18870. 0x088 }
  18871. 0x088 Else
  18872. 0x088 {
  18873. 0x08BPOP(LocalVar:Count)
  18874. 0x08CSCRIPT END
  18875.  
  18876.  
  18877. GENERAL COUNTER:
  18878.  
  18879. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  18880. 0x000 {
  18881. 0x018 LocalVar:SpclChance <- 2
  18882. 0x01E }
  18883. 0x01E Else
  18884. 0x01E {
  18885. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  18886. 0x021 {
  18887. 0x039 LocalVar:SpclChance <- 3
  18888. 0x03F }
  18889. 0x03F Else
  18890. 0x03F {
  18891. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  18892. 0x042 {
  18893. 0x05A LocalVar:SpclChance <- 4
  18894. 0x060 }
  18895. 0x060 Else
  18896. 0x060 {
  18897. 0x063 LocalVar:SpclChance <- 5
  18898. 0x069SCRIPT END
  18899.  
  18900.  
  18901. MAGIC COUNTER:
  18902.  
  18903. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Reflect [0011])) ) )
  18904. 0x000 {
  18905. 0x019 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  18906. 0x020 Perform("Reflect"[0011], EnemyAttack)
  18907. 0x025SCRIPT END
  18908.  
  18909.  
  18910.  
  18911.  
  18912. 197 - [C5] Vlakorados
  18913.  
  18914.  
  18915. LocalVar:0000 = LocalVar:Count
  18916. LocalVar:0020 = LocalVar:SpclChance
  18917.  
  18918. BattleAddr(&2060) = BattleAddr(&Self)
  18919. BattleAddr(&2070) = BattleAddr(&TarSelected)
  18920. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  18921.  
  18922. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  18923. BattleAddr(&4180) = BattleAddr(&MaxHP)
  18924.  
  18925.  
  18926.  
  18927. PRE-BATTLE:
  18928.  
  18929. 0x000LocalVar:Count <- Random MOD 3
  18930. 0x008LocalVar:SpclChance <- 5
  18931. 0x00ESCRIPT END
  18932.  
  18933.  
  18934. MAIN:
  18935.  
  18936. 0x000 If (LocalVar:Count == 0)
  18937. 0x000 {
  18938. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18939. 0x010 Perform("Bolt Ball"[027E], EnemyAttack)
  18940. 0x016 If (Not (Random MOD LocalVar:SpclChance) )
  18941. 0x016 {
  18942. 0x01F LocalVar:Count <- 3
  18943. 0x025 }
  18944. 0x025 Else
  18945. 0x025 {
  18946. 0x028 LocalVar:Count <- Random MOD 2
  18947. 0x030 }
  18948. 0x030 Else
  18949. 0x030 {
  18950. 0x033 }
  18951. 0x033 Else
  18952. 0x033 {
  18953. 0x036 If (LocalVar:Count == 1)
  18954. 0x036 {
  18955. 0x03B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18956. 0x043 Perform("Tail Attack"[0142], EnemyAttack)
  18957. 0x049 If (Not (Random MOD LocalVar:SpclChance) )
  18958. 0x049 {
  18959. 0x052 LocalVar:Count <- 3
  18960. 0x058 }
  18961. 0x058 Else
  18962. 0x058 {
  18963. 0x05B LocalVar:Count <- Random MOD 2
  18964. 0x063 }
  18965. 0x063 Else
  18966. 0x063 {
  18967. 0x066 }
  18968. 0x066 Else
  18969. 0x066 {
  18970. 0x069 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  18971. 0x071 Perform("Violent Advance"[027D], EnemyAttack)
  18972. 0x077 LocalVar:Count <- Random MOD 2
  18973. 0x07F }
  18974. 0x07F Else
  18975. 0x07F {
  18976. 0x082POP(LocalVar:Count)
  18977. 0x083SCRIPT END
  18978.  
  18979.  
  18980. GENERAL COUNTER:
  18981.  
  18982. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 3) ) )
  18983. 0x000 {
  18984. 0x01F LocalVar:Count <- 3
  18985. 0x025 LocalVar:SpclChance <- 2
  18986. 0x02B }
  18987. 0x02B Else
  18988. 0x02B {
  18989. 0x02E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 4) ) )
  18990. 0x02E {
  18991. 0x04D LocalVar:Count <- 3
  18992. 0x053 LocalVar:SpclChance <- 3
  18993. 0x059 }
  18994. 0x059 Else
  18995. 0x059 {
  18996. 0x05C If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 5) ) )
  18997. 0x05C {
  18998. 0x07B LocalVar:Count <- 3
  18999. 0x081 LocalVar:SpclChance <- 4
  19000. 0x087 }
  19001. 0x087 Else
  19002. 0x087 {
  19003. 0x08A LocalVar:SpclChance <- 5
  19004. 0x090SCRIPT END
  19005.  
  19006.  
  19007.  
  19008.  
  19009. 198 - [C6] Trickplay
  19010.  
  19011.  
  19012. LocalVar:0000 = LocalVar:TrickplayBase
  19013.  
  19014. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  19015. BattleAddr(&2060) = BattleAddr(&Self)
  19016. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19017. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19018.  
  19019. BattleAddr(&4020) = BattleAddr(&SelfActive)
  19020. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  19021. BattleAddr(&4023) = BattleAddr(&Targetable)
  19022. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  19023. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  19024. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  19025. BattleAddr(&42C0) = BattleAddr(&SelfGIL)
  19026.  
  19027.  
  19028.  
  19029. PRE-BATTLE:
  19030.  
  19031. 0x000LocalVar:TrickplayBase <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  19032. 0x014LocalVar:TrickplayBase <- (LocalVar:TrickplayBase.BattleAddr(&IndexOfActor) == 199)
  19033. 0x022SCRIPT END
  19034.  
  19035.  
  19036. MAIN:
  19037.  
  19038. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19039. 0x008 If (Random MOD 23 == 0)
  19040. 0x008 {
  19041. 0x011 Perform("Hot Springs"[01B3], EnemyAttack)
  19042. 0x017 }
  19043. 0x017 Else
  19044. 0x017 {
  19045. 0x01A }
  19046. 0x01A Else
  19047. 0x01A {
  19048. 0x01D If (Random MOD 23 == 1)
  19049. 0x01D {
  19050. 0x022 }
  19051. 0x022 Else
  19052. 0x022 {
  19053. 0x025 If (Random MOD 23 == 2)
  19054. 0x025 {
  19055. 0x02A }
  19056. 0x02A Else
  19057. 0x02A {
  19058. 0x02D If (Random MOD 23 == 3)
  19059. 0x02D {
  19060. 0x032 }
  19061. 0x032 Else
  19062. 0x032 {
  19063. 0x035 If (Random MOD 23 == 4)
  19064. 0x035 {
  19065. 0x03A Perform("Rock Toss"[01AF], EnemyAttack)
  19066. 0x040 }
  19067. 0x040 Else
  19068. 0x040 {
  19069. 0x043 }
  19070. 0x043 Else
  19071. 0x043 {
  19072. 0x046 If (Random MOD 23 == 5)
  19073. 0x046 {
  19074. 0x04B }
  19075. 0x04B Else
  19076. 0x04B {
  19077. 0x04E If (Random MOD 23 == 6)
  19078. 0x04E {
  19079. 0x053 }
  19080. 0x053 Else
  19081. 0x053 {
  19082. 0x056 If (Random MOD 23 == 7)
  19083. 0x056 {
  19084. 0x05B }
  19085. 0x05B Else
  19086. 0x05B {
  19087. 0x05E If (Random MOD 23 == 8)
  19088. 0x05E {
  19089. 0x063 Perform("Sewer"[01B0], EnemyAttack)
  19090. 0x069 }
  19091. 0x069 Else
  19092. 0x069 {
  19093. 0x06C }
  19094. 0x06C Else
  19095. 0x06C {
  19096. 0x06F If (Random MOD 23 == 10)
  19097. 0x06F {
  19098. 0x074 }
  19099. 0x074 Else
  19100. 0x074 {
  19101. 0x077 If (Random MOD 23 == 11)
  19102. 0x077 {
  19103. 0x07C }
  19104. 0x07C Else
  19105. 0x07C {
  19106. 0x07F If (Random MOD 23 == 12)
  19107. 0x07F {
  19108. 0x084 }
  19109. 0x084 Else
  19110. 0x084 {
  19111. 0x087 If (Random MOD 23 == 13)
  19112. 0x087 {
  19113. 0x08C Perform("Sinking"[0280], EnemyAttack)
  19114. 0x092 }
  19115. 0x092 Else
  19116. 0x092 {
  19117. 0x095 }
  19118. 0x095 Else
  19119. 0x095 {
  19120. 0x098 If (Random MOD 23 == 14)
  19121. 0x098 {
  19122. 0x09D }
  19123. 0x09D Else
  19124. 0x09D {
  19125. 0x0A0 If (Random MOD 23 == 15)
  19126. 0x0A0 {
  19127. 0x0A5 }
  19128. 0x0A5 Else
  19129. 0x0A5 {
  19130. 0x0A8 If (Random MOD 23 == 16)
  19131. 0x0A8 {
  19132. 0x0AD }
  19133. 0x0AD Else
  19134. 0x0AD {
  19135. 0x0B0 If (Random MOD 23 == 17)
  19136. 0x0B0 {
  19137. 0x0B5 Perform("Gold Mountain"[0281], EnemyAttack)
  19138. 0x0BB BattleAddr(&Self).BattleAddr(&SelfGIL) <- BattleAddr(&Self).BattleAddr(&SelfGIL) + 800
  19139. 0x0CE }
  19140. 0x0CE Else
  19141. 0x0CE {
  19142. 0x0D1 }
  19143. 0x0D1 Else
  19144. 0x0D1 {
  19145. 0x0D4 If (Random MOD 23 == 18)
  19146. 0x0D4 {
  19147. 0x0D9 }
  19148. 0x0D9 Else
  19149. 0x0D9 {
  19150. 0x0DC If (Random MOD 23 == 19)
  19151. 0x0DC {
  19152. 0x0E1 }
  19153. 0x0E1 Else
  19154. 0x0E1 {
  19155. 0x0E4 If (Random MOD 23 == 20)
  19156. 0x0E4 {
  19157. 0x0E9 }
  19158. 0x0E9 Else
  19159. 0x0E9 {
  19160. 0x0EC If (Random MOD 23 == 21)
  19161. 0x0EC {
  19162. 0x0F1 Perform("Magma"[027F], EnemyAttack)
  19163. 0x0F7 }
  19164. 0x0F7 Else
  19165. 0x0F7 {
  19166. 0x0FA }
  19167. 0x0FA Else
  19168. 0x0FA {
  19169. 0x0FD Perform("L4 Suicide"[0049], EnemyAttack)
  19170. 0x102 }
  19171. 0x102 Else
  19172. 0x102 {
  19173. 0x105POP(Random MOD 23)
  19174. 0x106SCRIPT END
  19175.  
  19176.  
  19177. GENERAL COUNTER:
  19178.  
  19179. 0x000LocalVar:TrickplayBase.BattleAddr(&SelfActive) <- 0
  19180. 0x00ALocalVar:TrickplayBase.BattleAddr(&Targetable) <- 0
  19181. 0x014LocalVar:TrickplayBase.BattleAddr(&Needed2EndBattle) <- 0
  19182. 0x01ELocalVar:TrickplayBase.BattleAddr(&AIScriptActive) <- 0
  19183. 0x028SCRIPT END
  19184.  
  19185.  
  19186.  
  19187.  
  19188. 199 - [C7] [No Name] (Trickplay Base)
  19189.  
  19190.  
  19191. MAIN:
  19192.  
  19193. 0x000SCRIPT END
  19194.  
  19195.  
  19196.  
  19197.  
  19198. 200 - [C8] Boundfat
  19199.  
  19200.  
  19201. LocalVar:0000 = LocalVar:MagCounter
  19202. LocalVar:0020 = LocalVar:HitCount
  19203.  
  19204. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  19205. BattleAddr(&2060) = BattleAddr(&Self)
  19206. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19207. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19208.  
  19209. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  19210. BattleAddr(&4100) = BattleAddr(&Def)
  19211. BattleAddr(&4110) = BattleAddr(&MDef)
  19212. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  19213. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  19214.  
  19215.  
  19216.  
  19217. PRE-BATTLE:
  19218.  
  19219. 0x000LocalVar:HitCount <- 5
  19220. 0x006SCRIPT END
  19221.  
  19222.  
  19223. MAIN:
  19224.  
  19225. 0x000 If (Not (LocalVar:MagCounter) )
  19226. 0x000 {
  19227. 0x007 If (Not (LocalVar:HitCount) )
  19228. 0x007 {
  19229. 0x00E Bad Code0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&Def))
  19230. 0x01B Perform("Dark Needle"[0287], EnemyAttack)
  19231. 0x021 LocalVar:HitCount <- 5
  19232. 0x027 }
  19233. 0x027 Else
  19234. 0x027 {
  19235. 0x02A Bad Code0x035 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  19236. 0x037 Perform("Bodyblow"[0126], EnemyAttack)
  19237. 0x03D LocalVar:HitCount <- LocalVar:HitCount - 1
  19238. 0x047 }
  19239. 0x047 Else
  19240. 0x047 {
  19241. 0x04A LocalVar:HitCount <- 3
  19242. 0x050 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  19243. 0x050 {
  19244. 0x05E Bad Code0x069 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&MDef))
  19245. 0x06B Perform("Ice2"[001F], EnemyAttack)
  19246. 0x070 }
  19247. 0x070 Else
  19248. 0x070 {
  19249. 0x073 Bad Code0x07E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&Def))
  19250. 0x080 Perform("Dark Needle"[0287], EnemyAttack)
  19251. 0x086SCRIPT END
  19252.  
  19253. NOTE - 0x018 uses LMSK
  19254. 0x034 uses LMSK
  19255. 0x068 uses LMSK
  19256. 0x07D uses LMSK
  19257.  
  19258.  
  19259. PHYSICAL COUNTER:
  19260.  
  19261. 0x000LocalVar:MagCounter <- 0
  19262. 0x006SCRIPT END
  19263.  
  19264.  
  19265. MAGICAL COUNTER:
  19266.  
  19267. 0x000LocalVar:MagCounter <- 1
  19268. 0x006SCRIPT END
  19269.  
  19270.  
  19271. DEATH COUNTER:
  19272.  
  19273. 0x000 If ( ( ( ( (BattleAddr(&LastCommndID) == 3) Or (BattleAddr(&LastCommndID) == 22) ) Or (BattleAddr(&LastCommndID) == 2) ) Or (BattleAddr(&LastCommndID) == 21) ) )
  19274. 0x000 {
  19275. 0x01E BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  19276. 0x029 Perform("Death Sentence"[005C], EnemyAttack)
  19277. 0x02ESCRIPT END
  19278.  
  19279.  
  19280.  
  19281.  
  19282. 201 - [C9] Malldancer
  19283.  
  19284.  
  19285. LocalVar:0020 = LocalVar:OpenAttack
  19286.  
  19287. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19288. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19289.  
  19290. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  19291.  
  19292.  
  19293.  
  19294. MAIN:
  19295.  
  19296. 0x000 If ( (Not (LocalVar:OpenAttack) And (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) ) )
  19297. 0x000 {
  19298. 0x012 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0)
  19299. 0x020 Perform("Dance"[0294], EnemyAttack)
  19300. 0x026 LocalVar:OpenAttack <- 1
  19301. 0x02C }
  19302. 0x02C Else
  19303. 0x02C {
  19304. 0x02F If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  19305. 0x02F {
  19306. 0x03C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  19307. 0x04B }
  19308. 0x04B Else
  19309. 0x04B {
  19310. 0x04E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19311. 0x056 Perform("Claw"[0124], EnemyAttack)
  19312. 0x05CSCRIPT END
  19313.  
  19314.  
  19315.  
  19316.  
  19317. 202 - [CA] Grimguard
  19318.  
  19319.  
  19320. LocalVar:0000 = LocalVar:BaseDef
  19321. LocalVar:0020 = LocalVar:BaseMDef
  19322. LocalVar:0040 = LocalVar:Count
  19323.  
  19324. BattleAddr(&2060) = BattleAddr(&Self)
  19325. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19326. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19327.  
  19328. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  19329. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  19330. BattleAddr(&4100) = BattleAddr(&Def)
  19331. BattleAddr(&4110) = BattleAddr(&MDef)
  19332.  
  19333.  
  19334.  
  19335. PRE-BATTLE:
  19336.  
  19337. 0x000LocalVar:BaseDef <- BattleAddr(&Self).BattleAddr(&Def)
  19338. 0x00BLocalVar:BaseMDef <- BattleAddr(&Self).BattleAddr(&MDef)
  19339. 0x016LocalVar:Count <- Random MOD 4
  19340. 0x01E If ( (LocalVar:Count > 1) )
  19341. 0x01E {
  19342. 0x027 BattleAddr(&Self).BattleAddr(&Def) <- 254
  19343. 0x031 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef
  19344. 0x03C BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  19345. 0x046 }
  19346. 0x046 Else
  19347. 0x046 {
  19348. 0x049 BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef
  19349. 0x054 BattleAddr(&Self).BattleAddr(&MDef) <- 510
  19350. 0x05F BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  19351. 0x069SCRIPT END
  19352.  
  19353.  
  19354. MAIN:
  19355.  
  19356. 0x000LocalVar:Count <- LocalVar:Count + 1
  19357. 0x00A If (LocalVar:Count == 1)
  19358. 0x00A {
  19359. 0x012 If (Random MOD 2 == 0)
  19360. 0x012 {
  19361. 0x01B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19362. 0x023 Perform("Ice2"[001F], EnemyAttack)
  19363. 0x028 }
  19364. 0x028 Else
  19365. 0x028 {
  19366. 0x02B }
  19367. 0x02B Else
  19368. 0x02B {
  19369. 0x02E If (Random MOD 2 == 1)
  19370. 0x02E {
  19371. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19372. 0x03B Perform("Bolt2"[0022], EnemyAttack)
  19373. 0x040 }
  19374. 0x040 Else
  19375. 0x040 {
  19376. 0x043 POP(Random MOD 2)
  19377. 0x044 }
  19378. 0x044 Else
  19379. 0x044 {
  19380. 0x047 }
  19381. 0x047 Else
  19382. 0x047 {
  19383. 0x04A If (LocalVar:Count == 2)
  19384. 0x04A {
  19385. 0x04F BattleAddr(&TarSelected) <- BattleAddr(&Self)
  19386. 0x056 Perform("Spin Shield"[0297], EnemyAttack)
  19387. 0x05C BattleAddr(&Self).BattleAddr(&Def) <- 254
  19388. 0x066 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef
  19389. 0x071 }
  19390. 0x071 Else
  19391. 0x071 {
  19392. 0x074 }
  19393. 0x074 Else
  19394. 0x074 {
  19395. 0x077 If (LocalVar:Count == 3)
  19396. 0x077 {
  19397. 0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19398. 0x084 Perform("Grim Rod"[0299], EnemyAttack)
  19399. 0x08A }
  19400. 0x08A Else
  19401. 0x08A {
  19402. 0x08D }
  19403. 0x08D Else
  19404. 0x08D {
  19405. 0x090 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  19406. 0x097 Perform("Spin Shield"[0295], EnemyAttack)
  19407. 0x09D BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef
  19408. 0x0A8 BattleAddr(&Self).BattleAddr(&MDef) <- 510
  19409. 0x0B3 LocalVar:Count <- 0
  19410. 0x0B9 }
  19411. 0x0B9 Else
  19412. 0x0B9 {
  19413. 0x0BCPOP(LocalVar:Count)
  19414. 0x0BDSCRIPT END
  19415.  
  19416.  
  19417. PHYSICAL COUNTER:
  19418.  
  19419. 0x000 If ( (BattleAddr(&Self).BattleAddr(&Def) == LocalVar:BaseDef) )
  19420. 0x000 {
  19421. 0x00E BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  19422. 0x018 }
  19423. 0x018 Else
  19424. 0x018 {
  19425. 0x01B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 12
  19426. 0x025SCRIPT END
  19427.  
  19428.  
  19429. MAGICAL COUNTER:
  19430.  
  19431. 0x000 If ( (BattleAddr(&Self).BattleAddr(&MDef) == LocalVar:BaseMDef) )
  19432. 0x000 {
  19433. 0x00E BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  19434. 0x018 }
  19435. 0x018 Else
  19436. 0x018 {
  19437. 0x01B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  19438. 0x025SCRIPT END
  19439.  
  19440.  
  19441.  
  19442.  
  19443. 203 - [CB] Hungry
  19444.  
  19445.  
  19446. LocalVar:0000 = LocalVar:Count
  19447. LocalVar:0020 = LocalVar:SpclChance
  19448. LocalVar:0040 = LocalVar:PlayersActive
  19449.  
  19450. BattleAddr(&2060) = BattleAddr(&Self)
  19451. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19452. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19453.  
  19454. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  19455. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  19456. BattleAddr(&4150) = BattleAddr(&MaxMP)
  19457. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  19458.  
  19459.  
  19460.  
  19461. PRE-BATTLE:
  19462.  
  19463. 0x000LocalVar:Count <- Random MOD 3
  19464. 0x008LocalVar:SpclChance <- 4
  19465. 0x00ESCRIPT END
  19466.  
  19467.  
  19468. MAIN:
  19469.  
  19470. 0x000 If (LocalVar:Count == 0)
  19471. 0x000 {
  19472. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19473. 0x008 {
  19474. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19475. 0x024 }
  19476. 0x024 Else
  19477. 0x024 {
  19478. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19479. 0x02F Perform("Bodyblow"[0172], EnemyAttack)
  19480. 0x035 LocalVar:Count <- 1 + Random MOD 2
  19481. 0x040 }
  19482. 0x040 Else
  19483. 0x040 {
  19484. 0x043 }
  19485. 0x043 Else
  19486. 0x043 {
  19487. 0x046 If (LocalVar:Count == 1)
  19488. 0x046 {
  19489. 0x04B If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19490. 0x04B {
  19491. 0x058 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Mini [0009])) )
  19492. 0x058 {
  19493. 0x066 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19494. 0x075 Perform("Mini"[0009], EnemyAttack)
  19495. 0x07A }
  19496. 0x07A Else
  19497. 0x07A {
  19498. 0x07D If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19499. 0x07D {
  19500. 0x08A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19501. 0x099 }
  19502. 0x099 Else
  19503. 0x099 {
  19504. 0x09C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19505. 0x0A4 Perform("Bodyblow"[0172], EnemyAttack)
  19506. 0x0AA }
  19507. 0x0AA Else
  19508. 0x0AA {
  19509. 0x0AD LocalVar:PlayersActive <- BitCount(BattleAddr(&AllPlayers))
  19510. 0x0B5 If ( ( (LocalVar:PlayersActive > 1) And Not (Random MOD LocalVar:SpclChance) ) )
  19511. 0x0B5 {
  19512. 0x0C5 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 1) )
  19513. 0x0D4 Perform("Eat"[029A], EnemyAttack)
  19514. 0x0DA }
  19515. 0x0DA Else
  19516. 0x0DA {
  19517. 0x0DD If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19518. 0x0DD {
  19519. 0x0EA BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19520. 0x0F9 }
  19521. 0x0F9 Else
  19522. 0x0F9 {
  19523. 0x0FC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19524. 0x104 Perform("Bodyblow"[0172], EnemyAttack)
  19525. 0x10A If (Not (Random MOD 3) )
  19526. 0x10A {
  19527. 0x112 LocalVar:Count <- 2
  19528. 0x118 }
  19529. 0x118 Else
  19530. 0x118 {
  19531. 0x11B LocalVar:Count <- 0
  19532. 0x121 }
  19533. 0x121 Else
  19534. 0x121 {
  19535. 0x124 }
  19536. 0x124 Else
  19537. 0x124 {
  19538. 0x127 If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 1) )
  19539. 0x127 {
  19540. 0x134 LocalVar:PlayersActive <- BitCount(BattleAddr(&AllPlayers))
  19541. 0x13C If ( ( (LocalVar:PlayersActive > 1) And Not (Random MOD LocalVar:SpclChance) ) )
  19542. 0x13C {
  19543. 0x14C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 1) )
  19544. 0x15B Perform("Eat"[029A], EnemyAttack)
  19545. 0x161 }
  19546. 0x161 Else
  19547. 0x161 {
  19548. 0x164 If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19549. 0x164 {
  19550. 0x171 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19551. 0x180 }
  19552. 0x180 Else
  19553. 0x180 {
  19554. 0x183 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19555. 0x18B Perform("Bodyblow"[0172], EnemyAttack)
  19556. 0x191 }
  19557. 0x191 Else
  19558. 0x191 {
  19559. 0x194 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Mini [0009])) )
  19560. 0x194 {
  19561. 0x1A2 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19562. 0x1B1 Perform("Mini"[0009], EnemyAttack)
  19563. 0x1B6 }
  19564. 0x1B6 Else
  19565. 0x1B6 {
  19566. 0x1B9 If ( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19567. 0x1B9 {
  19568. 0x1C6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SmallStatus) == 0) )
  19569. 0x1D5 }
  19570. 0x1D5 Else
  19571. 0x1D5 {
  19572. 0x1D8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19573. 0x1E0 Perform("Bodyblow"[0172], EnemyAttack)
  19574. 0x1E6 If (Not (Random MOD 3) )
  19575. 0x1E6 {
  19576. 0x1EE LocalVar:Count <- 1
  19577. 0x1F4 }
  19578. 0x1F4 Else
  19579. 0x1F4 {
  19580. 0x1F7 LocalVar:Count <- 0
  19581. 0x1FD }
  19582. 0x1FD Else
  19583. 0x1FD {
  19584. 0x200POP(LocalVar:Count)
  19585. 0x201SCRIPT END
  19586.  
  19587.  
  19588. GENERAL COUNTER:
  19589.  
  19590. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 1) )
  19591. 0x000 {
  19592. 0x018 LocalVar:SpclChance <- 1
  19593. 0x01E }
  19594. 0x01E Else
  19595. 0x01E {
  19596. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 2) )
  19597. 0x021 {
  19598. 0x039 LocalVar:SpclChance <- 2
  19599. 0x03F }
  19600. 0x03F Else
  19601. 0x03F {
  19602. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 3) )
  19603. 0x042 {
  19604. 0x05A LocalVar:SpclChance <- 3
  19605. 0x060 }
  19606. 0x060 Else
  19607. 0x060 {
  19608. 0x063 LocalVar:SpclChance <- 4
  19609. 0x069SCRIPT END
  19610.  
  19611.  
  19612.  
  19613.  
  19614. 204 - [CC] Acrophies
  19615.  
  19616.  
  19617. BattleAddr(&2060) = BattleAddr(&Self)
  19618. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19619. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19620.  
  19621. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  19622. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  19623. BattleAddr(&4180) = BattleAddr(&MaxHP)
  19624.  
  19625.  
  19626.  
  19627. MAIN:
  19628.  
  19629. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  19630. 0x000 {
  19631. 0x015 If (Random MOD 8 == 0)
  19632. 0x015 {
  19633. 0x01E }
  19634. 0x01E Else
  19635. 0x01E {
  19636. 0x021 If (Random MOD 8 == 1)
  19637. 0x021 {
  19638. 0x026 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  19639. 0x026 {
  19640. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19641. 0x03B Perform("Big Red Clipper"[0291], EnemyAttack)
  19642. 0x041 }
  19643. 0x041 Else
  19644. 0x041 {
  19645. 0x044 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19646. 0x04B Perform("Isogin Smog"[0292], EnemyAttack)
  19647. 0x051 }
  19648. 0x051 Else
  19649. 0x051 {
  19650. 0x054 }
  19651. 0x054 Else
  19652. 0x054 {
  19653. 0x057 If (Random MOD 8 == 2)
  19654. 0x057 {
  19655. 0x05C }
  19656. 0x05C Else
  19657. 0x05C {
  19658. 0x05F If (Random MOD 8 == 3)
  19659. 0x05F {
  19660. 0x064 }
  19661. 0x064 Else
  19662. 0x064 {
  19663. 0x067 If (Random MOD 8 == 4)
  19664. 0x067 {
  19665. 0x06C BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19666. 0x073 Perform("Huge Tidal Wave"[0293], EnemyAttack)
  19667. 0x079 }
  19668. 0x079 Else
  19669. 0x079 {
  19670. 0x07C }
  19671. 0x07C Else
  19672. 0x07C {
  19673. 0x07F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19674. 0x087 Perform("Big Red Clipper"[0291], EnemyAttack)
  19675. 0x08D }
  19676. 0x08D Else
  19677. 0x08D {
  19678. 0x090 POP(Random MOD 8)
  19679. 0x091 }
  19680. 0x091 Else
  19681. 0x091 {
  19682. 0x094 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  19683. 0x094 {
  19684. 0x0AC If (Random MOD 4 == 0)
  19685. 0x0AC {
  19686. 0x0B5 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  19687. 0x0B5 {
  19688. 0x0C2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19689. 0x0CA Perform("Big Red Clipper"[0291], EnemyAttack)
  19690. 0x0D0 }
  19691. 0x0D0 Else
  19692. 0x0D0 {
  19693. 0x0D3 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19694. 0x0DA Perform("Isogin Smog"[0292], EnemyAttack)
  19695. 0x0E0 }
  19696. 0x0E0 Else
  19697. 0x0E0 {
  19698. 0x0E3 }
  19699. 0x0E3 Else
  19700. 0x0E3 {
  19701. 0x0E6 If (Random MOD 4 == 1)
  19702. 0x0E6 {
  19703. 0x0EB BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19704. 0x0F2 Perform("Huge Tidal Wave"[0293], EnemyAttack)
  19705. 0x0F8 }
  19706. 0x0F8 Else
  19707. 0x0F8 {
  19708. 0x0FB }
  19709. 0x0FB Else
  19710. 0x0FB {
  19711. 0x0FE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19712. 0x106 Perform("Big Red Clipper"[0291], EnemyAttack)
  19713. 0x10C }
  19714. 0x10C Else
  19715. 0x10C {
  19716. 0x10F POP(Random MOD 4)
  19717. 0x110 }
  19718. 0x110 Else
  19719. 0x110 {
  19720. 0x113 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  19721. 0x113 {
  19722. 0x12B If (Random MOD 8 == 0)
  19723. 0x12B {
  19724. 0x134 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19725. 0x13B Perform("Huge Tidal Wave"[0293], EnemyAttack)
  19726. 0x141 }
  19727. 0x141 Else
  19728. 0x141 {
  19729. 0x144 }
  19730. 0x144 Else
  19731. 0x144 {
  19732. 0x147 If (Random MOD 8 == 1)
  19733. 0x147 {
  19734. 0x14C }
  19735. 0x14C Else
  19736. 0x14C {
  19737. 0x14F If (Random MOD 8 == 2)
  19738. 0x14F {
  19739. 0x154 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  19740. 0x154 {
  19741. 0x161 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19742. 0x169 Perform("Big Red Clipper"[0291], EnemyAttack)
  19743. 0x16F }
  19744. 0x16F Else
  19745. 0x16F {
  19746. 0x172 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19747. 0x179 Perform("Isogin Smog"[0292], EnemyAttack)
  19748. 0x17F }
  19749. 0x17F Else
  19750. 0x17F {
  19751. 0x182 }
  19752. 0x182 Else
  19753. 0x182 {
  19754. 0x185 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19755. 0x18D Perform("Big Red Clipper"[0291], EnemyAttack)
  19756. 0x193 }
  19757. 0x193 Else
  19758. 0x193 {
  19759. 0x196 POP(Random MOD 8)
  19760. 0x197 }
  19761. 0x197 Else
  19762. 0x197 {
  19763. 0x19A If (Not (Random MOD 4) )
  19764. 0x19A {
  19765. 0x1A2 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  19766. 0x1A2 {
  19767. 0x1AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19768. 0x1B7 Perform("Big Red Clipper"[0291], EnemyAttack)
  19769. 0x1BD }
  19770. 0x1BD Else
  19771. 0x1BD {
  19772. 0x1C0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19773. 0x1C7 Perform("Isogin Smog"[0292], EnemyAttack)
  19774. 0x1CD }
  19775. 0x1CD Else
  19776. 0x1CD {
  19777. 0x1D0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19778. 0x1D8 Perform("Big Red Clipper"[0291], EnemyAttack)
  19779. 0x1DESCRIPT END
  19780.  
  19781.  
  19782.  
  19783.  
  19784. 205 - [CD] Ice Golem
  19785.  
  19786.  
  19787. LocalVar:0000 = LocalVar:Count
  19788.  
  19789. BattleAddr(&2060) = BattleAddr(&Self)
  19790. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19791. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19792.  
  19793. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  19794. BattleAddr(&4180) = BattleAddr(&MaxHP)
  19795.  
  19796.  
  19797.  
  19798. MAIN:
  19799.  
  19800. 0x000LocalVar:Count <- LocalVar:Count + 1
  19801. 0x00A If (LocalVar:Count == 1)
  19802. 0x00A {
  19803. 0x012 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  19804. 0x012 {
  19805. 0x027 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19806. 0x02E Perform("Wide Grazer"[033D], EnemyAttack)
  19807. 0x034 }
  19808. 0x034 Else
  19809. 0x034 {
  19810. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19811. 0x03F Perform("Cold Snap"[029B], EnemyAttack)
  19812. 0x045 }
  19813. 0x045 Else
  19814. 0x045 {
  19815. 0x048 }
  19816. 0x048 Else
  19817. 0x048 {
  19818. 0x04B If (LocalVar:Count == 2)
  19819. 0x04B {
  19820. 0x050 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19821. 0x058 Perform("Golem Punch"[0213], EnemyAttack)
  19822. 0x05E }
  19823. 0x05E Else
  19824. 0x05E {
  19825. 0x061 }
  19826. 0x061 Else
  19827. 0x061 {
  19828. 0x064 If (LocalVar:Count == 3)
  19829. 0x064 {
  19830. 0x069 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19831. 0x071 If (Random MOD 2)
  19832. 0x071 {
  19833. 0x078 Perform("Golem Punch"[0213], EnemyAttack)
  19834. 0x07E }
  19835. 0x07E Else
  19836. 0x07E {
  19837. 0x081 Perform("Cold Snap"[029B], EnemyAttack)
  19838. 0x087 }
  19839. 0x087 Else
  19840. 0x087 {
  19841. 0x08A }
  19842. 0x08A Else
  19843. 0x08A {
  19844. 0x08D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19845. 0x095 Perform("Wide Grazer"[033D], EnemyAttack)
  19846. 0x09B LocalVar:Count <- 0
  19847. 0x0A1 }
  19848. 0x0A1 Else
  19849. 0x0A1 {
  19850. 0x0A4POP(LocalVar:Count)
  19851. 0x0A5SCRIPT END
  19852.  
  19853.  
  19854.  
  19855.  
  19856. 206 - [CE] Shred
  19857.  
  19858.  
  19859. LocalVar:0000 = LocalVar:SpclAttack
  19860. LocalVar:0020 = LocalVar:EnemyAttack
  19861.  
  19862. BattleAddr(&2060) = BattleAddr(&Self)
  19863. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19864. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  19865. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19866.  
  19867. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  19868. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  19869. BattleAddr(&4180) = BattleAddr(&MaxHP)
  19870.  
  19871.  
  19872.  
  19873. MAIN:
  19874.  
  19875. 0x000 If (Not (LocalVar:SpclAttack) )
  19876. 0x000 {
  19877. 0x007 Bad Code0x012 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  19878. 0x014 If (Not (Random MOD 3) )
  19879. 0x014 {
  19880. 0x01C LocalVar:EnemyAttack <- 673 (Crazy Claw)
  19881. 0x023 }
  19882. 0x023 Else
  19883. 0x023 {
  19884. 0x026 LocalVar:EnemyAttack <- 536 (Tail)
  19885. 0x02D }
  19886. 0x02D Else
  19887. 0x02D {
  19888. 0x030 Bad Code0x03B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  19889. 0x03D If (Not (Random MOD 2) )
  19890. 0x03D {
  19891. 0x045 LocalVar:EnemyAttack <- 673 (Crazy Claw)
  19892. 0x04C }
  19893. 0x04C Else
  19894. 0x04C {
  19895. 0x04F LocalVar:EnemyAttack <- 536 (Tail)
  19896. 0x056Perform(LocalVar:EnemyAttack, EnemyAttack)
  19897. 0x05CSCRIPT END
  19898.  
  19899. NOTE - 0x011 uses HMSK
  19900. 0x03A uses LMSK
  19901.  
  19902.  
  19903. GENERAL COUNTER:
  19904.  
  19905. 0x000 If (Not (LocalVar:SpclAttack) )
  19906. 0x000 {
  19907. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure3 [0002])) )
  19908. 0x007 {
  19909. 0x015 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  19910. 0x015 {
  19911. 0x02A BattleAddr(&TarSelected) <- (BattleAddr(&AllEnemies).BattleAddr(&CurrentHP) <= BattleAddr(&AllEnemies).BattleAddr(&MaxHP) / 4)
  19912. 0x040 Perform("Cure3"[0002], EnemyAttack)
  19913. 0x045 LocalVar:SpclAttack <- 1
  19914. 0x04BSCRIPT END
  19915.  
  19916.  
  19917.  
  19918.  
  19919. 207 - [CF] Lessaloploth
  19920.  
  19921.  
  19922. LocalVar:0000 = LocalVar:OpenAttack
  19923. LocalVar:0020 = LocalVar:Count
  19924.  
  19925. BattleAddr(&2070) = BattleAddr(&TarSelected)
  19926. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  19927.  
  19928.  
  19929.  
  19930. MAIN:
  19931.  
  19932. 0x000 If (Not (LocalVar:OpenAttack) )
  19933. 0x000 {
  19934. 0x007 If (Random MOD 4 == 0)
  19935. 0x007 {
  19936. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19937. 0x018 Perform("Wing Cut"[02A2], EnemyAttack)
  19938. 0x01E LocalVar:Count <- 0
  19939. 0x024 }
  19940. 0x024 Else
  19941. 0x024 {
  19942. 0x027 }
  19943. 0x027 Else
  19944. 0x027 {
  19945. 0x02A If (Random MOD 4 == 1)
  19946. 0x02A {
  19947. 0x02F BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19948. 0x036 Perform("Avalanche"[02A5], EnemyAttack)
  19949. 0x03C LocalVar:Count <- 1
  19950. 0x042 }
  19951. 0x042 Else
  19952. 0x042 {
  19953. 0x045 }
  19954. 0x045 Else
  19955. 0x045 {
  19956. 0x048 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19957. 0x050 Perform("Scorpion's Tail"[02A3], EnemyAttack)
  19958. 0x056 LocalVar:Count <- 2
  19959. 0x05C }
  19960. 0x05C Else
  19961. 0x05C {
  19962. 0x05F POP(Random MOD 4)
  19963. 0x060 LocalVar:OpenAttack <- 1
  19964. 0x066 }
  19965. 0x066 Else
  19966. 0x066 {
  19967. 0x069 If (LocalVar:Count == 0)
  19968. 0x069 {
  19969. 0x071 If (Not (Random MOD 2) )
  19970. 0x071 {
  19971. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19972. 0x081 Perform("Scorpion's Tail"[02A3], EnemyAttack)
  19973. 0x087 LocalVar:Count <- 2
  19974. 0x08D }
  19975. 0x08D Else
  19976. 0x08D {
  19977. 0x090 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  19978. 0x097 Perform("Avalanche"[02A5], EnemyAttack)
  19979. 0x09D LocalVar:Count <- 1
  19980. 0x0A3 }
  19981. 0x0A3 Else
  19982. 0x0A3 {
  19983. 0x0A6 }
  19984. 0x0A6 Else
  19985. 0x0A6 {
  19986. 0x0A9 If (LocalVar:Count == 1)
  19987. 0x0A9 {
  19988. 0x0AE If (Not (Random MOD 2) )
  19989. 0x0AE {
  19990. 0x0B6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19991. 0x0BE Perform("Wing Cut"[02A2], EnemyAttack)
  19992. 0x0C4 LocalVar:Count <- 0
  19993. 0x0CA }
  19994. 0x0CA Else
  19995. 0x0CA {
  19996. 0x0CD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  19997. 0x0D5 Perform("Scorpion's Tail"[02A3], EnemyAttack)
  19998. 0x0DB LocalVar:Count <- 2
  19999. 0x0E1 }
  20000. 0x0E1 Else
  20001. 0x0E1 {
  20002. 0x0E4 }
  20003. 0x0E4 Else
  20004. 0x0E4 {
  20005. 0x0E7 If (Not (Random MOD 2) )
  20006. 0x0E7 {
  20007. 0x0EF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20008. 0x0F7 Perform("Wing Cut"[02A2], EnemyAttack)
  20009. 0x0FD LocalVar:Count <- 0
  20010. 0x103 }
  20011. 0x103 Else
  20012. 0x103 {
  20013. 0x106 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  20014. 0x10D Perform("Avalanche"[02A5], EnemyAttack)
  20015. 0x113 LocalVar:Count <- 1
  20016. 0x119 }
  20017. 0x119 Else
  20018. 0x119 {
  20019. 0x11C POP(LocalVar:Count)
  20020. 0x11DSCRIPT END
  20021.  
  20022.  
  20023.  
  20024.  
  20025. 208 - [D0] Frozen Nail
  20026.  
  20027.  
  20028. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20029. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20030.  
  20031.  
  20032.  
  20033. MAIN:
  20034.  
  20035. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20036. 0x008 If (Not (Random MOD 4) )
  20037. 0x008 {
  20038. 0x010 Perform("Flying Sickle"[01FC], EnemyAttack)
  20039. 0x016 }
  20040. 0x016 Else
  20041. 0x016 {
  20042. 0x019 Perform("Continu-claw"[02A6], EnemyAttack)
  20043. 0x01FSCRIPT END
  20044.  
  20045.  
  20046.  
  20047.  
  20048. 209 - [D1] Jumping
  20049.  
  20050.  
  20051. LocalVar:0000 = LocalVar:ChocID
  20052. LocalVar:0020 = LocalVar:SpclChance
  20053. LocalVar:0040 = LocalVar:BaseEvade
  20054. LocalVar:0060 = LocalVar:ChocPresent
  20055.  
  20056. GlobalVar(0054) = GlobalVar(CaughtChoc)
  20057.  
  20058. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  20059. BattleAddr(&2060) = BattleAddr(&Self)
  20060. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20061. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  20062. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20063.  
  20064. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  20065. BattleAddr(&4023) = BattleAddr(&Targetable)
  20066. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  20067. BattleAddr(&4078) = BattleAddr(&Evade)
  20068. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  20069.  
  20070.  
  20071.  
  20072. PRE-BATTLE:
  20073.  
  20074. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  20075. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  20076. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  20077. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  20078. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  20079. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  20080. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  20081. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  20082. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  20083. 0x0A7 If (LocalVar:ChocID)
  20084. 0x0A7 {
  20085. 0x0AD LocalVar:ChocPresent <- 1
  20086. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  20087. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  20088. 0x0BE Display String: "A Chocobo!"
  20089. 0x0CALocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  20090. 0x0D5SCRIPT END
  20091.  
  20092.  
  20093. MAIN:
  20094.  
  20095. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20096. 0x008 If (BitCount( (BattleAddr(&AllPlayers).BattleAddr(&DeathStatus) == 1) ) == 1)
  20097. 0x008 {
  20098. 0x018 LocalVar:SpclChance <- 4
  20099. 0x01E }
  20100. 0x01E Else
  20101. 0x01E {
  20102. 0x021 }
  20103. 0x021 Else
  20104. 0x021 {
  20105. 0x024 LocalVar:SpclChance <- 2
  20106. 0x02A }
  20107. 0x02A Else
  20108. 0x02A {
  20109. 0x02DPOP(BitCount( (BattleAddr(&AllPlayers).BattleAddr(&DeathStatus) == 1) ))
  20110. 0x02E If (Not (Random MOD LocalVar:SpclChance) )
  20111. 0x02E {
  20112. 0x037 Perform("Club Sword"[02A8], EnemyAttack)
  20113. 0x03D }
  20114. 0x03D Else
  20115. 0x03D {
  20116. 0x040 Perform("Dive Kick"[02A7], EnemyAttack)
  20117. 0x046SCRIPT END
  20118.  
  20119.  
  20120. DEATH COUNTER:
  20121.  
  20122. 0x000 If ( (LocalVar:ChocPresent == 1) )
  20123. 0x000 {
  20124. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  20125. 0x009 {
  20126. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  20127. 0x013 {
  20128. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  20129. 0x035 Display String: "Caught a Chocobo."
  20130. 0x048 BattleAddr(&MemBank1/2) <- 1
  20131. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  20132. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  20133. 0x05DSCRIPT END
  20134.  
  20135.  
  20136.  
  20137.  
  20138. 210 - [D2] Snow
  20139.  
  20140.  
  20141. LocalVar:0000 = LocalVar:Count
  20142. LocalVar:0020 = LocalVar:SpclChance
  20143.  
  20144. BattleAddr(&2060) = BattleAddr(&Self)
  20145. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20146. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20147.  
  20148. BattleAddr(&4006) = BattleAddr(&ConfusionStatus
  20149. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  20150. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker))
  20151. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  20152. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  20153. BattleAddr(&4180) = BattleAddr(&MaxHP)
  20154.  
  20155.  
  20156.  
  20157. PRE-BATTLE:
  20158.  
  20159. 0x000LocalVar:Count <- Random MOD 4
  20160. 0x008LocalVar:SpclChance <- 5
  20161. 0x00ESCRIPT END
  20162.  
  20163.  
  20164. MAIN:
  20165.  
  20166. 0x000 If (LocalVar:Count == 0)
  20167. 0x000 {
  20168. 0x008 }
  20169. 0x008 Else
  20170. 0x008 {
  20171. 0x00B If (LocalVar:Count == 1)
  20172. 0x00B {
  20173. 0x010 }
  20174. 0x010 Else
  20175. 0x010 {
  20176. 0x013 If (LocalVar:Count == 2)
  20177. 0x013 {
  20178. 0x018 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20179. 0x018 {
  20180. 0x025 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20181. 0x034 }
  20182. 0x034 Else
  20183. 0x034 {
  20184. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20185. 0x03F Perform("Cold Breath"[037B], EnemyAttack)
  20186. 0x045 LocalVar:Count <- LocalVar:Count + 1
  20187. 0x04F }
  20188. 0x04F Else
  20189. 0x04F {
  20190. 0x052 }
  20191. 0x052 Else
  20192. 0x052 {
  20193. 0x055 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20194. 0x055 {
  20195. 0x062 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20196. 0x071 }
  20197. 0x071 Else
  20198. 0x071 {
  20199. 0x074 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20200. 0x07C Perform("Fascination"[037A], EnemyAttack)
  20201. 0x082 LocalVar:Count <- Random MOD 2
  20202. 0x08A }
  20203. 0x08A Else
  20204. 0x08A {
  20205. 0x08DPOP(LocalVar:Count)
  20206. 0x08ESCRIPT END
  20207.  
  20208.  
  20209. PHYSICAL COUNTER:
  20210.  
  20211. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 3) ) )
  20212. 0x000 {
  20213. 0x01F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  20214. 0x01F {
  20215. 0x02D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  20216. 0x038 Perform("Ice2"[001F], EnemyAttack)
  20217. 0x03D LocalVar:SpclChance <- 2
  20218. 0x043 }
  20219. 0x043 Else
  20220. 0x043 {
  20221. 0x046 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 4) ) )
  20222. 0x046 {
  20223. 0x065 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  20224. 0x065 {
  20225. 0x073 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  20226. 0x07E Perform("Ice2"[001F], EnemyAttack)
  20227. 0x083 LocalVar:SpclChance <- 3
  20228. 0x089 }
  20229. 0x089 Else
  20230. 0x089 {
  20231. 0x08C If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 5) ) )
  20232. 0x08C {
  20233. 0x0AB If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  20234. 0x0AB {
  20235. 0x0B9 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  20236. 0x0C4 Perform("Ice2"[001F], EnemyAttack)
  20237. 0x0C9 LocalVar:SpclChance <- 4
  20238. 0x0CF }
  20239. 0x0CF Else
  20240. 0x0CF {
  20241. 0x0D2 LocalVar:SpclChance <- 5
  20242. 0x0D8SCRIPT END
  20243.  
  20244.  
  20245. MAGIC COUNTER:
  20246.  
  20247. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  20248. 0x00B If ( (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0) )
  20249. 0x00B {
  20250. 0x018 Perform("Fascination"[037A], EnemyAttack)
  20251. 0x01ESCRIPT END
  20252.  
  20253.  
  20254.  
  20255.  
  20256. 211 - [D3] Bandersnatch
  20257.  
  20258.  
  20259. LocalVar:0000 = LocalVar:ChocID
  20260. LocalVar:0020 = LocalVar:ChocPresent
  20261. LocalVar:0040 = LocalVar:OtherNibelWolf
  20262. LocalVar:0060 = LocalVar:Count
  20263.  
  20264. GlobalVar(0054) = GlobalVar(CaughtChoc)
  20265.  
  20266. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  20267. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  20268. BattleAddr(&2060) = BattleAddr(&Self)
  20269. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20270. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  20271. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20272.  
  20273. BattleAddr(&4000) = BattleAddr(&DeathStatus
  20274. BattleAddr(&4006) = BattleAddr(&ConfusionStatus))
  20275. BattleAddr(&4023) = BattleAddr(&Targetable)
  20276. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  20277. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  20278.  
  20279.  
  20280.  
  20281. PRE-BATTLE:
  20282.  
  20283. 0x000LocalVar:OtherNibelWolf <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 211)
  20284. 0x00ELocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  20285. 0x01DLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  20286. 0x030LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  20287. 0x043LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  20288. 0x056LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  20289. 0x069LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  20290. 0x07CLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  20291. 0x08FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  20292. 0x0A2LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  20293. 0x0B5 If (LocalVar:ChocID)
  20294. 0x0B5 {
  20295. 0x0BB LocalVar:ChocPresent <- 1
  20296. 0x0C1 BattleAddr(&MemBank1/2) <- 0
  20297. 0x0C7 GlobalVar(CaughtChoc) <- &TempGlobal)
  20298. 0x0CC Display String: "A Chocobo!"
  20299. 0x0D8SCRIPT END
  20300.  
  20301.  
  20302. MAIN:
  20303.  
  20304. 0x000 If (LocalVar:Count == 0)
  20305. 0x000 {
  20306. 0x008 }
  20307. 0x008 Else
  20308. 0x008 {
  20309. 0x00B If (LocalVar:Count == 1)
  20310. 0x00B {
  20311. 0x010 }
  20312. 0x010 Else
  20313. 0x010 {
  20314. 0x013 If (LocalVar:Count == 2)
  20315. 0x013 {
  20316. 0x018 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20317. 0x018 {
  20318. 0x025 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20319. 0x034 }
  20320. 0x034 Else
  20321. 0x034 {
  20322. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20323. 0x03F Perform("Bodyblow"[0172], EnemyAttack)
  20324. 0x045 LocalVar:Count <- LocalVar:Count + 1
  20325. 0x04F }
  20326. 0x04F Else
  20327. 0x04F {
  20328. 0x052 }
  20329. 0x052 Else
  20330. 0x052 {
  20331. 0x055 If (LocalVar:Count == 3)
  20332. 0x055 {
  20333. 0x05A If ( (Not (Random MOD 2) And (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) ) )
  20334. 0x05A {
  20335. 0x06D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20336. 0x07C Perform("Bite"[02AB], EnemyAttack)
  20337. 0x082 }
  20338. 0x082 Else
  20339. 0x082 {
  20340. 0x085 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20341. 0x085 {
  20342. 0x092 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20343. 0x0A1 }
  20344. 0x0A1 Else
  20345. 0x0A1 {
  20346. 0x0A4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20347. 0x0AC Perform("Bodyblow"[0172], EnemyAttack)
  20348. 0x0B2 LocalVar:Count <- 4
  20349. 0x0B8 }
  20350. 0x0B8 Else
  20351. 0x0B8 {
  20352. 0x0BB }
  20353. 0x0BB Else
  20354. 0x0BB {
  20355. 0x0BE If ( (LocalVar:OtherNibelWolf.BattleAddr(&DeathStatus) == 1) )
  20356. 0x0BE {
  20357. 0x0CB If (Not (Random MOD 2) )
  20358. 0x0CB {
  20359. 0x0D3 BattleAddr(&TarSelected) <- RandomBit( (LocalVar:OtherNibelWolf.BattleAddr(&DeathStatus) == 1) )
  20360. 0x0E2 Perform("Howling"[0225], EnemyAttack)
  20361. 0x0E8 }
  20362. 0x0E8 Else
  20363. 0x0E8 {
  20364. 0x0EB BattleAddr(&TarSelected) <- BattleAddr(&Self)
  20365. 0x0F2 Perform("Howling"[02AC], EnemyAttack)
  20366. 0x0F8 }
  20367. 0x0F8 Else
  20368. 0x0F8 {
  20369. 0x0FB If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20370. 0x0FB {
  20371. 0x108 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  20372. 0x117 }
  20373. 0x117 Else
  20374. 0x117 {
  20375. 0x11A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20376. 0x122 Perform("Bodyblow"[0172], EnemyAttack)
  20377. 0x128 LocalVar:Count <- 0
  20378. 0x12E }
  20379. 0x12E Else
  20380. 0x12E {
  20381. 0x131POP(LocalVar:Count)
  20382. 0x132SCRIPT END
  20383.  
  20384.  
  20385. DEATH COUNTER:
  20386.  
  20387. 0x000 If ( (LocalVar:ChocPresent == 1) )
  20388. 0x000 {
  20389. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  20390. 0x009 {
  20391. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  20392. 0x013 {
  20393. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  20394. 0x035 Display String: "Caught a Chocobo."
  20395. 0x048 BattleAddr(&MemBank1/2) <- 1
  20396. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  20397. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  20398. 0x05DSCRIPT END
  20399.  
  20400.  
  20401.  
  20402.  
  20403. 212 - [D4] Magnade
  20404.  
  20405.  
  20406. LocalVar:0000 = LocalVar:SpclHitCount
  20407. LocalVar:0020 = LocalVar:Count
  20408. LocalVar:0040 = LocalVar:SpclChance
  20409. LocalVar:0060 = LocalVar:BaseDamagedAnimID
  20410. LocalVar:0080 = LocalVar:BaseEvade
  20411.  
  20412. BattleAddr(&2060) = BattleAddr(&Self)
  20413. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20414. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20415.  
  20416. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  20417. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  20418. BattleAddr(&4078) = BattleAddr(&Evade)
  20419. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  20420. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  20421. BattleAddr(&4180) = BattleAddr(&MaxHP)
  20422.  
  20423.  
  20424.  
  20425. PRE-BATTLE:
  20426.  
  20427. 0x000LocalVar:SpclHitCount <- 20
  20428. 0x006LocalVar:SpclHitCount <- LocalVar:SpclHitCount + Random MOD 5
  20429. 0x012LocalVar:Count <- Random MOD 5
  20430. 0x01ALocalVar:SpclChance <- 5
  20431. 0x020LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  20432. 0x02BLocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  20433. 0x036SCRIPT END
  20434.  
  20435.  
  20436. MAIN:
  20437.  
  20438. 0x000 If (LocalVar:SpclHitCount)
  20439. 0x000 {
  20440. 0x006 If (LocalVar:Count == 0)
  20441. 0x006 {
  20442. 0x00E }
  20443. 0x00E Else
  20444. 0x00E {
  20445. 0x011 If (LocalVar:Count == 1)
  20446. 0x011 {
  20447. 0x016 }
  20448. 0x016 Else
  20449. 0x016 {
  20450. 0x019 If (LocalVar:Count == 2)
  20451. 0x019 {
  20452. 0x01E }
  20453. 0x01E Else
  20454. 0x01E {
  20455. 0x021 If (LocalVar:Count == 3)
  20456. 0x021 {
  20457. 0x026 If (Not (Random MOD 2) )
  20458. 0x026 {
  20459. 0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20460. 0x036 Perform("Shield Throw"[02AD], EnemyAttack)
  20461. 0x03C If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  20462. 0x03C {
  20463. 0x050 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20464. 0x058 Perform("Shield Throw"[02AD], EnemyAttack)
  20465. 0x05E }
  20466. 0x05E Else
  20467. 0x05E {
  20468. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20469. 0x069 Perform("Shield Throw"[02AD], EnemyAttack)
  20470. 0x06F If (Not (Random MOD LocalVar:SpclChance) )
  20471. 0x06F {
  20472. 0x078 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20473. 0x080 Perform("Shield Throw"[02AD], EnemyAttack)
  20474. 0x086 If (Not (Random MOD LocalVar:SpclChance) )
  20475. 0x086 {
  20476. 0x08F LocalVar:Count <- 4
  20477. 0x095 }
  20478. 0x095 Else
  20479. 0x095 {
  20480. 0x098 LocalVar:Count <- LocalVar:Count + 1
  20481. 0x0A2 }
  20482. 0x0A2 Else
  20483. 0x0A2 {
  20484. 0x0A5 }
  20485. 0x0A5 Else
  20486. 0x0A5 {
  20487. 0x0A8 If (Not (Random MOD 2) )
  20488. 0x0A8 {
  20489. 0x0B0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20490. 0x0B8 Perform("W-Shield Throw"[02AE], EnemyAttack)
  20491. 0x0BE If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  20492. 0x0BE {
  20493. 0x0D2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20494. 0x0DA Perform("W-Shield Throw"[02AE], EnemyAttack)
  20495. 0x0E0 }
  20496. 0x0E0 Else
  20497. 0x0E0 {
  20498. 0x0E3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20499. 0x0EB Perform("W-Shield Throw"[02AE], EnemyAttack)
  20500. 0x0F1 If (Not (Random MOD LocalVar:SpclChance) )
  20501. 0x0F1 {
  20502. 0x0FA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20503. 0x102 Perform("W-Shield Throw"[02AE], EnemyAttack)
  20504. 0x108 LocalVar:Count <- 0
  20505. 0x10E }
  20506. 0x10E Else
  20507. 0x10E {
  20508. 0x111 POP(LocalVar:Count)
  20509. 0x112 }
  20510. 0x112 Else
  20511. 0x112 {
  20512. 0x115 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20513. 0x11D Perform("Strong Kick"[02AF], EnemyAttack)
  20514. 0x123 If (Not (Random MOD LocalVar:SpclChance) )
  20515. 0x123 {
  20516. 0x12C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20517. 0x134 Perform("Strong Kick"[02AF], EnemyAttack)
  20518. 0x13ASCRIPT END
  20519.  
  20520.  
  20521. GENERAL COUNTER:
  20522.  
  20523. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  20524. 0x000 {
  20525. 0x018 LocalVar:SpclChance <- 2
  20526. 0x01E }
  20527. 0x01E Else
  20528. 0x01E {
  20529. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  20530. 0x021 {
  20531. 0x039 LocalVar:SpclChance <- 3
  20532. 0x03F }
  20533. 0x03F Else
  20534. 0x03F {
  20535. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  20536. 0x042 {
  20537. 0x05A LocalVar:SpclChance <- 4
  20538. 0x060 }
  20539. 0x060 Else
  20540. 0x060 {
  20541. 0x063 LocalVar:SpclChance <- 5
  20542. 0x069SCRIPT END
  20543.  
  20544.  
  20545. DEATH COUNTER:
  20546.  
  20547. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  20548. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  20549. 0x011Perform("Vanish"[0150], EnemyAttack)
  20550. 0x017SCRIPT END
  20551.  
  20552.  
  20553. PRE-ACTION SETUP:
  20554.  
  20555. 0x000BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  20556. 0x00BBattleAddr(&Self).BattleAddr(&DamagedAnimID) <- LocalVar:BaseDamagedAnimID
  20557. 0x016 If (LocalVar:SpclHitCount)
  20558. 0x016 {
  20559. 0x01C BattleAddr(&Self).BattleAddr(&Evade) <- 255
  20560. 0x026 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 6
  20561. 0x030 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  20562. 0x03A }
  20563. 0x03A Else
  20564. 0x03A {
  20565. 0x03D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  20566. 0x044 Perform("Vanish"[014E], EnemyAttack)
  20567. 0x04ASCRIPT END
  20568.  
  20569.  
  20570.  
  20571.  
  20572. 213 - [D5] [No Name]
  20573.  
  20574.  
  20575. MAIN:
  20576.  
  20577. 0x000SCRIPT END
  20578.  
  20579.  
  20580.  
  20581.  
  20582. 214 - [D6] [No Name]
  20583.  
  20584.  
  20585. MAIN:
  20586.  
  20587. 0x000SCRIPT END
  20588.  
  20589.  
  20590.  
  20591.  
  20592. 215 - [D7] Malboro
  20593.  
  20594.  
  20595. LocalVar:0000 = LocalVar:Count
  20596. LocalVar:0020 = LocalVar:SpclChance
  20597. LocalVar:0040 = LocalVar:SpclHitCount
  20598.  
  20599. BattleAddr(&2060) = BattleAddr(&Self)
  20600. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20601. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20602.  
  20603. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  20604. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  20605. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  20606. BattleAddr(&4180) = BattleAddr(&MaxHP)
  20607.  
  20608.  
  20609.  
  20610. PRE-BATTLE:
  20611.  
  20612. 0x000LocalVar:Count <- Random MOD 4
  20613. 0x008LocalVar:SpclChance <- 8
  20614. 0x00ELocalVar:SpclHitCount <- 3
  20615. 0x014SCRIPT END
  20616.  
  20617.  
  20618. MAIN:
  20619.  
  20620. 0x000 If (LocalVar:Count == 0)
  20621. 0x000 {
  20622. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20623. 0x010 Perform("Frozen Beam"[026B], EnemyAttack)
  20624. 0x016 If (Not (Random MOD LocalVar:SpclChance) )
  20625. 0x016 {
  20626. 0x01F LocalVar:Count <- 3
  20627. 0x025 }
  20628. 0x025 Else
  20629. 0x025 {
  20630. 0x028 LocalVar:Count <- 1
  20631. 0x02E }
  20632. 0x02E Else
  20633. 0x02E {
  20634. 0x031 }
  20635. 0x031 Else
  20636. 0x031 {
  20637. 0x034 If (LocalVar:Count == 1)
  20638. 0x034 {
  20639. 0x039 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20640. 0x041 Perform("Frozen Beam"[026B], EnemyAttack)
  20641. 0x047 If (Not (Random MOD LocalVar:SpclChance) )
  20642. 0x047 {
  20643. 0x050 LocalVar:Count <- 4
  20644. 0x056 }
  20645. 0x056 Else
  20646. 0x056 {
  20647. 0x059 LocalVar:Count <- 0
  20648. 0x05F }
  20649. 0x05F Else
  20650. 0x05F {
  20651. 0x062 }
  20652. 0x062 Else
  20653. 0x062 {
  20654. 0x065 If (LocalVar:Count == 3)
  20655. 0x065 {
  20656. 0x06A If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) ) )
  20657. 0x06A {
  20658. 0x083 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  20659. 0x092 }
  20660. 0x092 Else
  20661. 0x092 {
  20662. 0x095 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20663. 0x09D Perform("Bio2"[0028], EnemyAttack)
  20664. 0x0A2 LocalVar:Count <- 1
  20665. 0x0A8 }
  20666. 0x0A8 Else
  20667. 0x0A8 {
  20668. 0x0AB }
  20669. 0x0AB Else
  20670. 0x0AB {
  20671. 0x0AE If (LocalVar:SpclHitCount)
  20672. 0x0AE {
  20673. 0x0B4 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  20674. 0x0BB Perform("Bad Breath"[0053], EnemyAttack)
  20675. 0x0C0 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  20676. 0x0CA LocalVar:Count <- 0
  20677. 0x0D0 }
  20678. 0x0D0 Else
  20679. 0x0D0 {
  20680. 0x0D3POP(LocalVar:Count)
  20681. 0x0D4SCRIPT END
  20682.  
  20683.  
  20684. GENERAL COUNTER:
  20685.  
  20686. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  20687. 0x000 {
  20688. 0x018 LocalVar:SpclChance <- 3
  20689. 0x01E }
  20690. 0x01E Else
  20691. 0x01E {
  20692. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  20693. 0x021 {
  20694. 0x039 LocalVar:SpclChance <- 3
  20695. 0x03F }
  20696. 0x03F Else
  20697. 0x03F {
  20698. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  20699. 0x042 {
  20700. 0x05A LocalVar:SpclChance <- 6
  20701. 0x060 }
  20702. 0x060 Else
  20703. 0x060 {
  20704. 0x063 LocalVar:SpclChance <- 8
  20705. 0x069SCRIPT END
  20706.  
  20707.  
  20708.  
  20709.  
  20710. 216 - [D8] Blue Dragon
  20711.  
  20712.  
  20713. LocalVar:0000 = LocalVar:Count
  20714. LocalVar:0020 = LocalVar:SpclChance
  20715. LocalVar:0040 = LocalVar:HPStage
  20716.  
  20717. BattleAddr(&2060) = BattleAddr(&Self)
  20718. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20719. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20720.  
  20721. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  20722. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  20723. BattleAddr(&4180) = BattleAddr(&MaxHP)
  20724.  
  20725.  
  20726.  
  20727. PRE-BATTLE:
  20728.  
  20729. 0x000LocalVar:SpclChance <- 5
  20730. 0x006LocalVar:HPStage <- 3
  20731. 0x00CLocalVar:Count <- Random MOD 5
  20732. 0x014SCRIPT END
  20733.  
  20734.  
  20735. MAIN:
  20736.  
  20737. 0x000 If (LocalVar:Count == 0)
  20738. 0x000 {
  20739. 0x008 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Dragon Force [004E])) And Not (Random MOD LocalVar:SpclChance) ) )
  20740. 0x008 {
  20741. 0x01D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  20742. 0x024 Perform("Dragon Force"[004E], EnemyAttack)
  20743. 0x029 If (Not (Random MOD 2) )
  20744. 0x029 {
  20745. 0x031 LocalVar:Count <- 3
  20746. 0x037 }
  20747. 0x037 Else
  20748. 0x037 {
  20749. 0x03A LocalVar:Count <- 4
  20750. 0x040 }
  20751. 0x040 Else
  20752. 0x040 {
  20753. 0x043 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20754. 0x04B If (Not (Random MOD 2) )
  20755. 0x04B {
  20756. 0x053 Perform("Dragon Fang"[0243], EnemyAttack)
  20757. 0x059 LocalVar:Count <- 1
  20758. 0x05F }
  20759. 0x05F Else
  20760. 0x05F {
  20761. 0x062 Perform("Tail Attack"[0142], EnemyAttack)
  20762. 0x068 LocalVar:Count <- 2
  20763. 0x06E }
  20764. 0x06E Else
  20765. 0x06E {
  20766. 0x071 }
  20767. 0x071 Else
  20768. 0x071 {
  20769. 0x074 If (LocalVar:Count == 1)
  20770. 0x074 {
  20771. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20772. 0x081 Perform("Dragon Fang"[0243], EnemyAttack)
  20773. 0x087 If (Not (Random MOD LocalVar:SpclChance) )
  20774. 0x087 {
  20775. 0x090 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20776. 0x098 Perform("Dragon Fang"[0243], EnemyAttack)
  20777. 0x09E LocalVar:Count <- 2
  20778. 0x0A4 }
  20779. 0x0A4 Else
  20780. 0x0A4 {
  20781. 0x0A7 }
  20782. 0x0A7 Else
  20783. 0x0A7 {
  20784. 0x0AA If (LocalVar:Count == 2)
  20785. 0x0AA {
  20786. 0x0AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20787. 0x0B7 Perform("Tail Attack"[0142], EnemyAttack)
  20788. 0x0BD If (Not (Random MOD LocalVar:SpclChance) )
  20789. 0x0BD {
  20790. 0x0C6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20791. 0x0CE Perform("Tail Attack"[0142], EnemyAttack)
  20792. 0x0D4 LocalVar:Count <- 2
  20793. 0x0DA }
  20794. 0x0DA Else
  20795. 0x0DA {
  20796. 0x0DD }
  20797. 0x0DD Else
  20798. 0x0DD {
  20799. 0x0E0 If (LocalVar:Count == 3)
  20800. 0x0E0 {
  20801. 0x0E5 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Blue Dragon Breath [02B9])) )
  20802. 0x0E5 {
  20803. 0x0F4 Bad Code0x0FF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  20804. 0x101 Perform("Blue Dragon Breath"[02B9], EnemyAttack)
  20805. 0x107 }
  20806. 0x107 Else
  20807. 0x107 {
  20808. 0x10A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20809. 0x112 Perform("Tail Attack"[0142], EnemyAttack)
  20810. 0x118 If (Not (Random MOD LocalVar:SpclChance) )
  20811. 0x118 {
  20812. 0x121 LocalVar:Count <- 1
  20813. 0x127 }
  20814. 0x127 Else
  20815. 0x127 {
  20816. 0x12A LocalVar:Count <- 0
  20817. 0x130 }
  20818. 0x130 Else
  20819. 0x130 {
  20820. 0x133 }
  20821. 0x133 Else
  20822. 0x133 {
  20823. 0x136 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Great Gale [024A])) )
  20824. 0x136 {
  20825. 0x145 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  20826. 0x14C Perform("Great Gale"[024A], EnemyAttack)
  20827. 0x152 }
  20828. 0x152 Else
  20829. 0x152 {
  20830. 0x155 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20831. 0x15D Perform("Dragon Fang"[0243], EnemyAttack)
  20832. 0x163 If (Not (Random MOD 2) )
  20833. 0x163 {
  20834. 0x16B LocalVar:Count <- 1
  20835. 0x171 }
  20836. 0x171 Else
  20837. 0x171 {
  20838. 0x174 LocalVar:Count <- 0
  20839. 0x17A }
  20840. 0x17A Else
  20841. 0x17A {
  20842. 0x17DPOP(LocalVar:Count)
  20843. 0x17ESCRIPT END
  20844.  
  20845.  
  20846. GENERAL COUNTER:
  20847.  
  20848. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:HPStage == 1) ) )
  20849. 0x000 {
  20850. 0x01F LocalVar:SpclChance <- 2
  20851. 0x025 LocalVar:HPStage <- LocalVar:HPStage - 1
  20852. 0x02F LocalVar:Count <- 4
  20853. 0x035 }
  20854. 0x035 Else
  20855. 0x035 {
  20856. 0x038 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:HPStage == 2) ) )
  20857. 0x038 {
  20858. 0x057 LocalVar:SpclChance <- 3
  20859. 0x05D LocalVar:HPStage <- LocalVar:HPStage - 1
  20860. 0x067 LocalVar:Count <- 4
  20861. 0x06D }
  20862. 0x06D Else
  20863. 0x06D {
  20864. 0x070 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:HPStage == 3) ) )
  20865. 0x070 {
  20866. 0x08F LocalVar:SpclChance <- 4
  20867. 0x095 LocalVar:HPStage <- LocalVar:HPStage - 1
  20868. 0x09F LocalVar:Count <- 3
  20869. 0x0A5 }
  20870. 0x0A5 Else
  20871. 0x0A5 {
  20872. 0x0A8 LocalVar:SpclChance <- 5
  20873. 0x0AESCRIPT END
  20874.  
  20875.  
  20876.  
  20877.  
  20878. 217 - [D9] Icicle
  20879.  
  20880.  
  20881. LocalVar:0000 = LocalVar:Evilhead
  20882.  
  20883. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  20884. BattleAddr(&2060) = BattleAddr(&Self)
  20885. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20886. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20887.  
  20888. BattleAddr(&4020) = BattleAddr(&SelfActive)
  20889. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  20890. BattleAddr(&4023) = BattleAddr(&Targetable)
  20891. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  20892. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  20893. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  20894.  
  20895.  
  20896.  
  20897. PRE-BATTLE:
  20898.  
  20899. 0x000LocalVar:Evilhead <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 221)
  20900. 0x00ESCRIPT END
  20901.  
  20902.  
  20903. GENERAL COUNTER:
  20904.  
  20905. 0x000 If (Not (Random MOD 2) )
  20906. 0x000 {
  20907. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20908. 0x010 Perform("Icicle Drop"[02A9], EnemyAttack)
  20909. 0x016SCRIPT END
  20910.  
  20911.  
  20912. DEATH COUNTER:
  20913.  
  20914. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  20915. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  20916. 0x011Perform("Crack"[02AA], EnemyAttack)
  20917. 0x017BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  20918. 0x021BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  20919. 0x02BBattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  20920. 0x035BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  20921. 0x03FLocalVar:Evilhead.BattleAddr(&SelfActive) <- 0
  20922. 0x049LocalVar:Evilhead.BattleAddr(&Targetable) <- 0
  20923. 0x053LocalVar:Evilhead.BattleAddr(&Needed2EndBattle) <- 0
  20924. 0x05DLocalVar:Evilhead.BattleAddr(&AIScriptActive) <- 0
  20925. 0x067SCRIPT END
  20926.  
  20927.  
  20928.  
  20929.  
  20930. 218 - [DA] Headbomber
  20931.  
  20932.  
  20933. LocalVar:0000 = LocalVar:NextStage
  20934.  
  20935. BattleAddr(&2060) = BattleAddr(&Self)
  20936. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20937. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  20938. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20939.  
  20940. BattleAddr(&40A0) = BattleAddr(&Dexterity)
  20941.  
  20942.  
  20943.  
  20944. MAIN:
  20945.  
  20946. 0x000 If ( (BitCount(BattleAddr(&AllEnemies)) == 1) )
  20947. 0x000 {
  20948. 0x00A If (Not (LocalVar:NextStage) )
  20949. 0x00A {
  20950. 0x011 If ( (BattleAddr(&Self).BattleAddr(&Dexterity) * 2 > 255) )
  20951. 0x011 {
  20952. 0x021 BattleAddr(&Self).BattleAddr(&Dexterity) <- 255
  20953. 0x02B }
  20954. 0x02B Else
  20955. 0x02B {
  20956. 0x02E BattleAddr(&Self).BattleAddr(&Dexterity) <- BattleAddr(&Self).BattleAddr(&Dexterity) * 2
  20957. 0x040 LocalVar:NextStage <- 1
  20958. 0x046 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20959. 0x04E Perform("Extreme Bomber"[02B3], EnemyAttack)
  20960. 0x054 }
  20961. 0x054 Else
  20962. 0x054 {
  20963. 0x057 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  20964. 0x05F Perform("Dorsal Punch"[02B4], EnemyAttack)
  20965. 0x065SCRIPT END
  20966.  
  20967.  
  20968.  
  20969.  
  20970. 219 - [DB] Stilva
  20971.  
  20972.  
  20973. LocalVar:0000 = LocalVar:Count
  20974. LocalVar:0020 = LocalVar:Cycle
  20975.  
  20976. BattleAddr(&2060) = BattleAddr(&Self)
  20977. BattleAddr(&2070) = BattleAddr(&TarSelected)
  20978. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  20979.  
  20980. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  20981. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  20982.  
  20983.  
  20984.  
  20985. PRE-BATTLE:
  20986.  
  20987. 0x000LocalVar:Count <- Random MOD 4
  20988. 0x008LocalVar:Cycle <- Random MOD 2
  20989. 0x010SCRIPT END
  20990.  
  20991.  
  20992. MAIN:
  20993.  
  20994. 0x000 If (LocalVar:Count == 0)
  20995. 0x000 {
  20996. 0x008 Bad Code0x013 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  20997. 0x015 Perform("Jump Attack"[02B5], EnemyAttack)
  20998. 0x01B LocalVar:Count <- 1
  20999. 0x021 }
  21000. 0x021 Else
  21001. 0x021 {
  21002. 0x024 }
  21003. 0x024 Else
  21004. 0x024 {
  21005. 0x027 If (LocalVar:Count == 1)
  21006. 0x027 {
  21007. 0x02C If (Not (LocalVar:Cycle) )
  21008. 0x02C {
  21009. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21010. 0x03B Perform("Big Horn"[024E], EnemyAttack)
  21011. 0x041 LocalVar:Cycle <- 1
  21012. 0x047 }
  21013. 0x047 Else
  21014. 0x047 {
  21015. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21016. 0x052 Perform("Big Red Clipper"[0291], EnemyAttack)
  21017. 0x058 LocalVar:Cycle <- 0
  21018. 0x05E LocalVar:Count <- 2
  21019. 0x064 }
  21020. 0x064 Else
  21021. 0x064 {
  21022. 0x067 }
  21023. 0x067 Else
  21024. 0x067 {
  21025. 0x06A If (LocalVar:Count == 2)
  21026. 0x06A {
  21027. 0x06F If (Not (Random MOD 2) )
  21028. 0x06F {
  21029. 0x077 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21030. 0x07F Perform("Big Horn"[024E], EnemyAttack)
  21031. 0x085 }
  21032. 0x085 Else
  21033. 0x085 {
  21034. 0x088 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21035. 0x090 Perform("Big Red Clipper"[0291], EnemyAttack)
  21036. 0x096 LocalVar:Count <- 3
  21037. 0x09C }
  21038. 0x09C Else
  21039. 0x09C {
  21040. 0x09F }
  21041. 0x09F Else
  21042. 0x09F {
  21043. 0x0A2 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Magic Breath [0057])) )
  21044. 0x0A2 {
  21045. 0x0B0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  21046. 0x0B7 Perform("Magic Breath"[0057], EnemyAttack)
  21047. 0x0BC }
  21048. 0x0BC Else
  21049. 0x0BC {
  21050. 0x0BF Bad Code0x0CA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  21051. 0x0CC Perform("Jump Attack"[02B5], EnemyAttack)
  21052. 0x0D2 LocalVar:Count <- 0
  21053. 0x0D8 }
  21054. 0x0D8 Else
  21055. 0x0D8 {
  21056. 0x0DBPOP(LocalVar:Count)
  21057. 0x0DCSCRIPT END
  21058.  
  21059. NOTE - 0x012 uses HMSK
  21060. 0x0C9 uses HMSK
  21061.  
  21062.  
  21063.  
  21064.  
  21065. 220 - [DC] Zolokalter
  21066.  
  21067.  
  21068. LocalVar:0000 = LocalVar:Count
  21069.  
  21070. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  21071. BattleAddr(&2060) = BattleAddr(&Self)
  21072. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21073. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21074.  
  21075. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  21076.  
  21077.  
  21078.  
  21079. MAIN:
  21080.  
  21081. 0x000 If ( (BattleAddr(&ActiveActors).BattleAddr(&PoisonStatus) == 1) )
  21082. 0x000 {
  21083. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&PoisonStatus) == 1) )
  21084. 0x01C Perform("Bite"[0258], EnemyAttack)
  21085. 0x022 }
  21086. 0x022 Else
  21087. 0x022 {
  21088. 0x025 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21089. 0x02D Perform("Toxic Barf"[02B6], EnemyAttack)
  21090. 0x033SCRIPT END
  21091.  
  21092.  
  21093. PHYSICAL COUNTER:
  21094.  
  21095. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&ActiveActors))
  21096. 0x008BattleAddr(&TarSelected) <- BattleAddr(&TarSelected) AND NOT BattleAddr(&Self)
  21097. 0x014Perform("Toxic Barf"[02B6], EnemyAttack)
  21098. 0x01ASCRIPT END
  21099.  
  21100.  
  21101.  
  21102.  
  21103. 221 - [DD] Evilhead
  21104.  
  21105.  
  21106. LocalVar:0000 = LocalVar:BaseEvadeAnimID
  21107. LocalVar:0020 = LocalVar:BaseEvade
  21108.  
  21109. BattleAddr(&2060) = BattleAddr(&Self)
  21110. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21111. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21112.  
  21113. BattleAddr(&4078) = BattleAddr(&Evade)
  21114. BattleAddr(&42B0) = BattleAddr(&EvadeAnimID)
  21115.  
  21116.  
  21117.  
  21118. PRE-BATTLE:
  21119.  
  21120. 0x000LocalVar:BaseEvadeAnimID <- BattleAddr(&Self).BattleAddr(&EvadeAnimID)
  21121. 0x00BLocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  21122. 0x016SCRIPT END
  21123.  
  21124.  
  21125. MAIN:
  21126.  
  21127. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21128. 0x008 If (Not (Random MOD 2) )
  21129. 0x008 {
  21130. 0x010 Perform("Ultrasound"[02B7], EnemyAttack)
  21131. 0x016 }
  21132. 0x016 Else
  21133. 0x016 {
  21134. 0x019 Perform("Blood Suck"[0239], EnemyAttack)
  21135. 0x01FSCRIPT END
  21136.  
  21137.  
  21138. PRE-ACTION SETUP COUNTER:
  21139.  
  21140. 0x000BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- LocalVar:BaseEvadeAnimID
  21141. 0x00BBattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  21142. 0x016 If ( (Random MOD 4 == 0) )
  21143. 0x016 {
  21144. 0x020 BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- 5
  21145. 0x02A BattleAddr(&Self).BattleAddr(&Evade) <- 255
  21146. 0x034SCRIPT END
  21147.  
  21148.  
  21149.  
  21150.  
  21151. 222 - [DE] Cuahl
  21152.  
  21153.  
  21154. LocalVar:0000 = LocalVar:PhysCounter
  21155. LocalVar:0020 = LocalVar:MagCounter
  21156. LocalVar:0040 = LocalVar:LastPhysAttacker
  21157. LocalVar:0060 = LocalVar:LastMagAttacker
  21158.  
  21159. BattleAddr(&2060) = BattleAddr(&Self)
  21160. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21161. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21162.  
  21163. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  21164. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  21165. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  21166. BattleAddr(&4100) = BattleAddr(&Def)
  21167. BattleAddr(&4110) = BattleAddr(&MDef)
  21168.  
  21169.  
  21170.  
  21171. MAIN:
  21172.  
  21173. 0x000 If (LocalVar:PhysCounter)
  21174. 0x000 {
  21175. 0x006 If ( (LocalVar:LastPhysAttacker.BattleAddr(&DeathStatus) == 0) )
  21176. 0x006 {
  21177. 0x013 BattleAddr(&TarSelected) <- LocalVar:LastPhysAttacker
  21178. 0x01A }
  21179. 0x01A Else
  21180. 0x01A {
  21181. 0x01D Bad Code0x028 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&Def))
  21182. 0x02A Perform("Blaster"[02B8], EnemyAttack)
  21183. 0x030 LocalVar:PhysCounter <- 0
  21184. 0x036 If (LocalVar:MagCounter)
  21185. 0x036 {
  21186. 0x03C If ( (LocalVar:LastMagAttacker.BattleAddr(&DeathStatus) == 0) )
  21187. 0x03C {
  21188. 0x049 BattleAddr(&TarSelected) <- LocalVar:LastMagAttacker
  21189. 0x050 }
  21190. 0x050 Else
  21191. 0x050 {
  21192. 0x053 Bad Code0x05E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&MDef))
  21193. 0x060 Perform("Light Shell"[026A], EnemyAttack)
  21194. 0x066 LocalVar:MagCounter <- 0
  21195. 0x06CSCRIPT END
  21196.  
  21197. NOTE - 0x027 uses LMSK
  21198. 0x05D uses LMSK
  21199.  
  21200.  
  21201. PHYSICAL COUNTER:
  21202.  
  21203. 0x000LocalVar:LastPhysAttacker <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  21204. 0x00BLocalVar:PhysCounter <- 1
  21205. 0x011SCRIPT END
  21206.  
  21207.  
  21208. MAGIC COUNTER:
  21209.  
  21210. 0x000LocalVar:LastMagAttacker <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  21211. 0x00BLocalVar:MagCounter <- 1
  21212. 0x011SCRIPT END
  21213.  
  21214.  
  21215.  
  21216.  
  21217. 223 - [DF] Gigas
  21218.  
  21219.  
  21220. LocalVar:0000 = LocalVar:Count
  21221. LocalVar:0020 = LocalVar:SpclChance
  21222.  
  21223. BattleAddr(&2060) = BattleAddr(&Self)
  21224. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21225. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21226.  
  21227. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  21228. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  21229. BattleAddr(&4180) = BattleAddr(&MaxHP)
  21230.  
  21231.  
  21232.  
  21233. PRE-BATTLE:
  21234.  
  21235. 0x000LocalVar:Count <- Random MOD 4
  21236. 0x008LocalVar:SpclChance <- 5
  21237. 0x00ESCRIPT END
  21238.  
  21239.  
  21240. MAIN:
  21241.  
  21242. 0x000 If (LocalVar:Count == 0)
  21243. 0x000 {
  21244. 0x008 }
  21245. 0x008 Else
  21246. 0x008 {
  21247. 0x00B If (LocalVar:Count == 1)
  21248. 0x00B {
  21249. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21250. 0x018 Perform("Moon Wars"[02B2], EnemyAttack)
  21251. 0x01E LocalVar:Count <- LocalVar:Count + 1
  21252. 0x028 }
  21253. 0x028 Else
  21254. 0x028 {
  21255. 0x02B }
  21256. 0x02B Else
  21257. 0x02B {
  21258. 0x02E If (LocalVar:Count == 2)
  21259. 0x02E {
  21260. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21261. 0x03B Perform("Squash"[02B1], EnemyAttack)
  21262. 0x041 LocalVar:Count <- 3
  21263. 0x047 }
  21264. 0x047 Else
  21265. 0x047 {
  21266. 0x04A }
  21267. 0x04A Else
  21268. 0x04A {
  21269. 0x04D If (Not (Random MOD LocalVar:SpclChance) )
  21270. 0x04D {
  21271. 0x056 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Quake3 [0026])) )
  21272. 0x056 {
  21273. 0x064 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  21274. 0x06B Perform("Quake3"[0026], EnemyAttack)
  21275. 0x070 }
  21276. 0x070 Else
  21277. 0x070 {
  21278. 0x073 If ( (LocalVar:SpclChance < 4) )
  21279. 0x073 {
  21280. 0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21281. 0x084 Perform("Moon Wars"[02B2], EnemyAttack)
  21282. 0x08A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21283. 0x092 Perform("Moon Wars"[02B2], EnemyAttack)
  21284. 0x098 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21285. 0x0A0 Perform("Moon Wars"[02B2], EnemyAttack)
  21286. 0x0A6 }
  21287. 0x0A6 Else
  21288. 0x0A6 {
  21289. 0x0A9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21290. 0x0B1 Perform("Moon Wars"[02B2], EnemyAttack)
  21291. 0x0B7 If (Not (Random MOD LocalVar:SpclChance) )
  21292. 0x0B7 {
  21293. 0x0C0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21294. 0x0C8 Perform("Moon Wars"[02B2], EnemyAttack)
  21295. 0x0CE If (Not (Random MOD LocalVar:SpclChance) )
  21296. 0x0CE {
  21297. 0x0D7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21298. 0x0DF Perform("Moon Wars"[02B2], EnemyAttack)
  21299. 0x0E5 }
  21300. 0x0E5 Else
  21301. 0x0E5 {
  21302. 0x0E8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21303. 0x0F0 Perform("Squash"[02B1], EnemyAttack)
  21304. 0x0F6 LocalVar:Count <- 0
  21305. 0x0FC }
  21306. 0x0FC Else
  21307. 0x0FC {
  21308. 0x0FFPOP(LocalVar:Count)
  21309. 0x100SCRIPT END
  21310.  
  21311.  
  21312. GENERAL COUNTER:
  21313.  
  21314. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  21315. 0x000 {
  21316. 0x018 LocalVar:SpclChance <- 2
  21317. 0x01E }
  21318. 0x01E Else
  21319. 0x01E {
  21320. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  21321. 0x021 {
  21322. 0x039 LocalVar:SpclChance <- 3
  21323. 0x03F }
  21324. 0x03F Else
  21325. 0x03F {
  21326. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  21327. 0x042 {
  21328. 0x05A LocalVar:SpclChance <- 4
  21329. 0x060 }
  21330. 0x060 Else
  21331. 0x060 {
  21332. 0x063 LocalVar:SpclChance <- 5
  21333. 0x069SCRIPT END
  21334.  
  21335.  
  21336. MAGIC COUNTER:
  21337.  
  21338. 0x000 If ( ( (LocalVar:SpclChance < 4) And Not (Random MOD LocalVar:SpclChance) ) )
  21339. 0x000 {
  21340. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21341. 0x018 Perform("Squash"[02B1], EnemyAttack)
  21342. 0x01E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21343. 0x026 Perform("Squash"[02B1], EnemyAttack)
  21344. 0x02C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21345. 0x034 Perform("Squash"[02B1], EnemyAttack)
  21346. 0x03A }
  21347. 0x03A Else
  21348. 0x03A {
  21349. 0x03D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21350. 0x045 Perform("Squash"[02B1], EnemyAttack)
  21351. 0x04B If (Not (Random MOD LocalVar:SpclChance) )
  21352. 0x04B {
  21353. 0x054 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21354. 0x05C Perform("Squash"[02B1], EnemyAttack)
  21355. 0x062 If (Not (Random MOD LocalVar:SpclChance) )
  21356. 0x062 {
  21357. 0x06B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21358. 0x073 Perform("Squash"[02B1], EnemyAttack)
  21359. 0x079SCRIPT END
  21360.  
  21361.  
  21362.  
  21363.  
  21364. 224 - [E0] Grenade
  21365.  
  21366.  
  21367. LocalVar:0000 = LocalVar:Stage
  21368.  
  21369. BattleAddr(&2060) = BattleAddr(&Self)
  21370. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21371. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21372.  
  21373. BattleAddr(&4020) = BattleAddr(&SelfActive)
  21374. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  21375. BattleAddr(&4023) = BattleAddr(&Targetable)
  21376. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  21377. BattleAddr(&4098) = BattleAddr(&ModelSize)
  21378. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  21379. BattleAddr(&4180) = BattleAddr(&MaxHP)
  21380.  
  21381.  
  21382.  
  21383. MAIN:
  21384.  
  21385. 0x000 If (LocalVar:Stage == 0)
  21386. 0x000 {
  21387. 0x008 If (Not (Random MOD 2) )
  21388. 0x008 {
  21389. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21390. 0x018 Perform("Bodyblow"[0126], EnemyAttack)
  21391. 0x01E }
  21392. 0x01E Else
  21393. 0x01E {
  21394. 0x021 }
  21395. 0x021 Else
  21396. 0x021 {
  21397. 0x024 If (LocalVar:Stage == 1)
  21398. 0x024 {
  21399. 0x029 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21400. 0x031 If (Random MOD 4 == 0)
  21401. 0x031 {
  21402. 0x03A }
  21403. 0x03A Else
  21404. 0x03A {
  21405. 0x03D }
  21406. 0x03D Else
  21407. 0x03D {
  21408. 0x040 If (Random MOD 4 == 1)
  21409. 0x040 {
  21410. 0x045 Perform("Gush"[02BA], EnemyAttack)
  21411. 0x04B }
  21412. 0x04B Else
  21413. 0x04B {
  21414. 0x04E }
  21415. 0x04E Else
  21416. 0x04E {
  21417. 0x051 Perform("Bodyblow"[0172], EnemyAttack)
  21418. 0x057 }
  21419. 0x057 Else
  21420. 0x057 {
  21421. 0x05A POP(Random MOD 4)
  21422. 0x05B }
  21423. 0x05B Else
  21424. 0x05B {
  21425. 0x05E }
  21426. 0x05E Else
  21427. 0x05E {
  21428. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21429. 0x069 If (Not (Random MOD 2) )
  21430. 0x069 {
  21431. 0x071 Perform("Bodyblow"[012D], EnemyAttack)
  21432. 0x077 }
  21433. 0x077 Else
  21434. 0x077 {
  21435. 0x07A Perform("Bomb Blast"[01EA], EnemyAttack)
  21436. 0x080 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  21437. 0x08A BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  21438. 0x094 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  21439. 0x09E BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  21440. 0x0A8 }
  21441. 0x0A8 Else
  21442. 0x0A8 {
  21443. 0x0ABPOP(LocalVar:Stage)
  21444. 0x0ACSCRIPT END
  21445.  
  21446.  
  21447. GENERAL COUNTER:
  21448.  
  21449. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  21450. 0x000 {
  21451. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21452. 0x020 Perform("Bomb Blast"[01EA], EnemyAttack)
  21453. 0x026 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  21454. 0x030 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  21455. 0x03A BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  21456. 0x044 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  21457. 0x04E }
  21458. 0x04E Else
  21459. 0x04E {
  21460. 0x051 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  21461. 0x051 {
  21462. 0x069 If ( (LocalVar:Stage < 2) )
  21463. 0x069 {
  21464. 0x072 BattleAddr(&Self).BattleAddr(&ModelSize) <- BattleAddr(&Self).BattleAddr(&ModelSize) + 8
  21465. 0x084 LocalVar:Stage <- 2
  21466. 0x08A }
  21467. 0x08A Else
  21468. 0x08A {
  21469. 0x08D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  21470. 0x08D {
  21471. 0x0A5 If ( (LocalVar:Stage < 1) )
  21472. 0x0A5 {
  21473. 0x0AE BattleAddr(&Self).BattleAddr(&ModelSize) <- BattleAddr(&Self).BattleAddr(&ModelSize) + 8
  21474. 0x0C0 LocalVar:Stage <- 1
  21475. 0x0C6SCRIPT END
  21476.  
  21477.  
  21478.  
  21479.  
  21480. 225 - [E1] Gremlin
  21481.  
  21482.  
  21483. LocalVar:0000 = LocalVar:Count
  21484. LocalVar:0020 = LocalVar:Stage
  21485.  
  21486. BattleAddr(&2060) = BattleAddr(&Self)
  21487. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21488. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21489.  
  21490. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  21491. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  21492. BattleAddr(&4180) = BattleAddr(&MaxHP)
  21493.  
  21494.  
  21495.  
  21496. MAIN:
  21497.  
  21498. 0x000 If (LocalVar:Count == 0)
  21499. 0x000 {
  21500. 0x008 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) And Not (Random MOD 3) ) )
  21501. 0x008 {
  21502. 0x01B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  21503. 0x02A Perform("Bad mouth"[02BC], EnemyAttack)
  21504. 0x030 }
  21505. 0x030 Else
  21506. 0x030 {
  21507. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21508. 0x03B Perform("Claw"[0124], EnemyAttack)
  21509. 0x041 LocalVar:Count <- 1
  21510. 0x047 }
  21511. 0x047 Else
  21512. 0x047 {
  21513. 0x04A }
  21514. 0x04A Else
  21515. 0x04A {
  21516. 0x04D If (LocalVar:Count == 1)
  21517. 0x04D {
  21518. 0x052 }
  21519. 0x052 Else
  21520. 0x052 {
  21521. 0x055 If (LocalVar:Count == 2)
  21522. 0x055 {
  21523. 0x05A }
  21524. 0x05A Else
  21525. 0x05A {
  21526. 0x05D If (LocalVar:Count == 3)
  21527. 0x05D {
  21528. 0x062 If (Not (LocalVar:Stage) )
  21529. 0x062 {
  21530. 0x069 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21531. 0x071 Perform("Claw"[0124], EnemyAttack)
  21532. 0x077 }
  21533. 0x077 Else
  21534. 0x077 {
  21535. 0x07A If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  21536. 0x07A {
  21537. 0x087 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  21538. 0x096 }
  21539. 0x096 Else
  21540. 0x096 {
  21541. 0x099 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21542. 0x0A1 Perform("Claw"[0124], EnemyAttack)
  21543. 0x0A7 LocalVar:Count <- LocalVar:Count + 1
  21544. 0x0B1 }
  21545. 0x0B1 Else
  21546. 0x0B1 {
  21547. 0x0B4 }
  21548. 0x0B4 Else
  21549. 0x0B4 {
  21550. 0x0B7 If (LocalVar:Stage == 0)
  21551. 0x0B7 {
  21552. 0x0BF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21553. 0x0C7 Perform("Claw"[0124], EnemyAttack)
  21554. 0x0CD }
  21555. 0x0CD Else
  21556. 0x0CD {
  21557. 0x0D0 }
  21558. 0x0D0 Else
  21559. 0x0D0 {
  21560. 0x0D3 If (LocalVar:Stage == 1)
  21561. 0x0D3 {
  21562. 0x0D8 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) And Not (Random MOD 3) ) )
  21563. 0x0D8 {
  21564. 0x0EB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  21565. 0x0FA Perform("Bad mouth"[02BC], EnemyAttack)
  21566. 0x100 }
  21567. 0x100 Else
  21568. 0x100 {
  21569. 0x103 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21570. 0x10B Perform("Claw"[0124], EnemyAttack)
  21571. 0x111 }
  21572. 0x111 Else
  21573. 0x111 {
  21574. 0x114 }
  21575. 0x114 Else
  21576. 0x114 {
  21577. 0x117 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  21578. 0x117 {
  21579. 0x124 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  21580. 0x133 Perform("Bad mouth"[02BC], EnemyAttack)
  21581. 0x139 }
  21582. 0x139 Else
  21583. 0x139 {
  21584. 0x13C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21585. 0x144 Perform("Claw"[0124], EnemyAttack)
  21586. 0x14A }
  21587. 0x14A Else
  21588. 0x14A {
  21589. 0x14D POP(LocalVar:Stage)
  21590. 0x14E LocalVar:Count <- 1
  21591. 0x154 }
  21592. 0x154 Else
  21593. 0x154 {
  21594. 0x157POP(LocalVar:Count)
  21595. 0x158SCRIPT END
  21596.  
  21597.  
  21598. GENERAL COUNTER:
  21599.  
  21600. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  21601. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  21602. 0x007 {
  21603. 0x01F Perform("Fury 2"[02BE], EnemyAttack)
  21604. 0x025 LocalVar:Stage <- 2
  21605. 0x02B }
  21606. 0x02B Else
  21607. 0x02B {
  21608. 0x02E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  21609. 0x02E {
  21610. 0x046 Perform("Fury"[02BD], EnemyAttack)
  21611. 0x04C LocalVar:Stage <- 1
  21612. 0x052 }
  21613. 0x052 Else
  21614. 0x052 {
  21615. 0x055 LocalVar:Stage <- 0
  21616. 0x05BSCRIPT END
  21617.  
  21618.  
  21619.  
  21620.  
  21621. 226 - [E2] Ironite
  21622.  
  21623.  
  21624. LocalVar:0000 = LocalVar:Count
  21625.  
  21626. BattleAddr(&2060) = BattleAddr(&Self)
  21627. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21628. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21629.  
  21630. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  21631. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  21632.  
  21633.  
  21634.  
  21635. PRE-BATTLE:
  21636.  
  21637. 0x000LocalVar:Count <- Random MOD 4
  21638. 0x008SCRIPT END
  21639.  
  21640.  
  21641. MAIN:
  21642.  
  21643. 0x000 If (LocalVar:Count == 0)
  21644. 0x000 {
  21645. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  21646. 0x008 {
  21647. 0x015 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  21648. 0x015 {
  21649. 0x023 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  21650. 0x032 Perform("Sleepel"[000B], EnemyAttack)
  21651. 0x037 }
  21652. 0x037 Else
  21653. 0x037 {
  21654. 0x03A If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21655. 0x03A {
  21656. 0x047 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21657. 0x056 Perform("Flying Upper"[02BF], EnemyAttack)
  21658. 0x05C }
  21659. 0x05C Else
  21660. 0x05C {
  21661. 0x05F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  21662. 0x06E Perform("Bodyblow"[0172], EnemyAttack)
  21663. 0x074 }
  21664. 0x074 Else
  21665. 0x074 {
  21666. 0x077 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21667. 0x086 Perform("Flying Upper"[02BF], EnemyAttack)
  21668. 0x08C LocalVar:Count <- 1
  21669. 0x092 }
  21670. 0x092 Else
  21671. 0x092 {
  21672. 0x095 }
  21673. 0x095 Else
  21674. 0x095 {
  21675. 0x098 If (LocalVar:Count == 1)
  21676. 0x098 {
  21677. 0x09D }
  21678. 0x09D Else
  21679. 0x09D {
  21680. 0x0A0 If (LocalVar:Count == 2)
  21681. 0x0A0 {
  21682. 0x0A5 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21683. 0x0A5 {
  21684. 0x0B2 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21685. 0x0C1 }
  21686. 0x0C1 Else
  21687. 0x0C1 {
  21688. 0x0C4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21689. 0x0CC Perform("Flying Upper"[02BF], EnemyAttack)
  21690. 0x0D2 LocalVar:Count <- LocalVar:Count + 1
  21691. 0x0DC }
  21692. 0x0DC Else
  21693. 0x0DC {
  21694. 0x0DF }
  21695. 0x0DF Else
  21696. 0x0DF {
  21697. 0x0E2 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21698. 0x0E2 {
  21699. 0x0EF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  21700. 0x0FE Perform("Flying Upper"[02BF], EnemyAttack)
  21701. 0x104 }
  21702. 0x104 Else
  21703. 0x104 {
  21704. 0x107 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  21705. 0x107 {
  21706. 0x115 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  21707. 0x124 Perform("Sleepel"[000B], EnemyAttack)
  21708. 0x129 }
  21709. 0x129 Else
  21710. 0x129 {
  21711. 0x12C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  21712. 0x13B Perform("Bodyblow"[0172], EnemyAttack)
  21713. 0x141 LocalVar:Count <- 0
  21714. 0x147 }
  21715. 0x147 Else
  21716. 0x147 {
  21717. 0x14APOP(LocalVar:Count)
  21718. 0x14BSCRIPT END
  21719.  
  21720.  
  21721.  
  21722.  
  21723. 227 - [E3] Sculpture
  21724.  
  21725.  
  21726. LocalVar:0000 = LocalVar:Stage
  21727. LocalVar:0020 = LocalVar:SpclChance
  21728.  
  21729. BattleAddr(&2060) = BattleAddr(&Self)
  21730. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21731. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21732.  
  21733. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  21734. BattleAddr(&4180) = BattleAddr(&MaxHP)
  21735.  
  21736.  
  21737.  
  21738. PRE-BATTLE:
  21739.  
  21740. 0x000LocalVar:Stage <- 2
  21741. 0x006LocalVar:SpclChance <- 4
  21742. 0x00CSCRIPT END
  21743.  
  21744.  
  21745. MAIN:
  21746.  
  21747. 0x000 If (Not (Random MOD LocalVar:SpclChance) )
  21748. 0x000 {
  21749. 0x009 If (LocalVar:Stage == 0)
  21750. 0x009 {
  21751. 0x011 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21752. 0x019 Perform("Fire Shell"[02C0], EnemyAttack)
  21753. 0x01F }
  21754. 0x01F Else
  21755. 0x01F {
  21756. 0x022 If (LocalVar:Stage == 1)
  21757. 0x022 {
  21758. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21759. 0x02F Perform("Fire Shell"[02C0], EnemyAttack)
  21760. 0x035 }
  21761. 0x035 Else
  21762. 0x035 {
  21763. 0x038 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21764. 0x040 Perform("Fire Shell"[02C0], EnemyAttack)
  21765. 0x046 }
  21766. 0x046 Else
  21767. 0x046 {
  21768. 0x049 POP(LocalVar:Stage)
  21769. 0x04A }
  21770. 0x04A Else
  21771. 0x04A {
  21772. 0x04D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21773. 0x055 Perform("Bodyblow"[0172], EnemyAttack)
  21774. 0x05BSCRIPT END
  21775.  
  21776.  
  21777. GENERAL COUNTER:
  21778.  
  21779. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 1) )
  21780. 0x000 {
  21781. 0x018 LocalVar:Stage <- 0
  21782. 0x01E LocalVar:SpclChance <- 2
  21783. 0x024 }
  21784. 0x024 Else
  21785. 0x024 {
  21786. 0x027 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3 * 2) )
  21787. 0x027 {
  21788. 0x03F LocalVar:Stage <- 1
  21789. 0x045 LocalVar:SpclChance <- 3
  21790. 0x04B }
  21791. 0x04B Else
  21792. 0x04B {
  21793. 0x04E LocalVar:Stage <- 2
  21794. 0x054 LocalVar:SpclChance <- 4
  21795. 0x05ASCRIPT END
  21796.  
  21797.  
  21798.  
  21799.  
  21800. 228 - [E4] Schizo(Right)
  21801.  
  21802.  
  21803. LocalVar:0000 = LocalVar:Allies
  21804. LocalVar:0020 = LocalVar:Schizo(Left)
  21805. LocalVar:0040 = LocalVar:1stChr
  21806. LocalVar:0060 = LocalVar:2ndChr
  21807. LocalVar:0080 = LocalVar:3rdChr
  21808. LocalVar:00A0 = LocalVar:Count
  21809. LocalVar:00C0 = LocalVar:SpclHitCount
  21810. LocalVar:00E0 = LocalVar:Schizo(Left)LowHP
  21811.  
  21812. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  21813. BattleAddr(&2060) = BattleAddr(&Self)
  21814. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21815. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21816. BattleAddr(&2170) = BattleAddr(&SpclAttackFlag)
  21817.  
  21818. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  21819. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  21820. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  21821. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  21822. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  21823. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  21824. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  21825. BattleAddr(&4180) = BattleAddr(&MaxHP)
  21826. BattleAddr(&41A0) = BattleAddr(&Angry)
  21827.  
  21828.  
  21829.  
  21830. PRE-BATTLE:
  21831.  
  21832. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  21833. 0x014LocalVar:Schizo(Left) <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 229)
  21834. 0x022LocalVar:Schizo(Left) <- LocalVar:Schizo(Left) AND NOT BattleAddr(&Self)
  21835. 0x02ELocalVar:SpclHitCount <- 4
  21836. 0x034LocalVar:1stChr <- FlagBit(0)
  21837. 0x03BLocalVar:2ndChr <- FlagBit(1)
  21838. 0x042LocalVar:3rdChr <- FlagBit(2)
  21839. 0x049BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  21840. 0x053SCRIPT END
  21841.  
  21842.  
  21843. MAIN:
  21844.  
  21845. 0x000 If (LocalVar:Count == 0)
  21846. 0x000 {
  21847. 0x008 }
  21848. 0x008 Else
  21849. 0x008 {
  21850. 0x00B If (LocalVar:Count == 1)
  21851. 0x00B {
  21852. 0x010 }
  21853. 0x010 Else
  21854. 0x010 {
  21855. 0x013 If (LocalVar:Count == 2)
  21856. 0x013 {
  21857. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21858. 0x020 If ( (LocalVar:Schizo(Left).BattleAddr(&DeathStatus) == 0) )
  21859. 0x020 {
  21860. 0x02D Perform("Right Breath"[02C1], EnemyAttack)
  21861. 0x033 }
  21862. 0x033 Else
  21863. 0x033 {
  21864. 0x036 Perform("Right Breath"[02C2], EnemyAttack)
  21865. 0x03C LocalVar:Count <- LocalVar:Count + 1
  21866. 0x046 }
  21867. 0x046 Else
  21868. 0x046 {
  21869. 0x049 }
  21870. 0x049 Else
  21871. 0x049 {
  21872. 0x04C If (LocalVar:Count == 3)
  21873. 0x04C {
  21874. 0x051 }
  21875. 0x051 Else
  21876. 0x051 {
  21877. 0x054 If (LocalVar:Count == 4)
  21878. 0x054 {
  21879. 0x059 LocalVar:Count <- LocalVar:Count + 1
  21880. 0x063 }
  21881. 0x063 Else
  21882. 0x063 {
  21883. 0x066 }
  21884. 0x066 Else
  21885. 0x066 {
  21886. 0x069 If ( (LocalVar:Schizo(Left).BattleAddr(&DeathStatus) == 0) )
  21887. 0x069 {
  21888. 0x076 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  21889. 0x07E Perform("Double Breath"[02C5], EnemyAttack)
  21890. 0x084 }
  21891. 0x084 Else
  21892. 0x084 {
  21893. 0x087 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  21894. 0x087 {
  21895. 0x094 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  21896. 0x09B Perform("Right Breath"[02C2], EnemyAttack)
  21897. 0x0A1 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  21898. 0x0A1 {
  21899. 0x0AE BattleAddr(&TarSelected) <- LocalVar:1stChr
  21900. 0x0B5 Perform("Right Breath"[02C2], EnemyAttack)
  21901. 0x0BB If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  21902. 0x0BB {
  21903. 0x0C8 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  21904. 0x0CF Perform("Right Breath"[02C2], EnemyAttack)
  21905. 0x0D5 LocalVar:Count <- 0
  21906. 0x0DB }
  21907. 0x0DB Else
  21908. 0x0DB {
  21909. 0x0DEPOP(LocalVar:Count)
  21910. 0x0DFSCRIPT END
  21911.  
  21912.  
  21913. GENERAL COUNTER:
  21914.  
  21915. 0x000 If ( (LocalVar:Allies.BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  21916. 0x000 {
  21917. 0x018 LocalVar:Schizo(Left)LowHP <- 1
  21918. 0x01E }
  21919. 0x01E Else
  21920. 0x01E {
  21921. 0x021 LocalVar:Schizo(Left)LowHP <- 0
  21922. 0x027 If (Not (LocalVar:SpclHitCount) )
  21923. 0x027 {
  21924. 0x02E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  21925. 0x035 If ( (LocalVar:Schizo(Left).BattleAddr(&DeathStatus) == 0) )
  21926. 0x035 {
  21927. 0x042 Perform("Tremor"[02C6], EnemyAttack)
  21928. 0x048 }
  21929. 0x048 Else
  21930. 0x048 {
  21931. 0x04B Perform("Tremor"[02C7], EnemyAttack)
  21932. 0x051 LocalVar:SpclHitCount <- 4
  21933. 0x057 }
  21934. 0x057 Else
  21935. 0x057 {
  21936. 0x05A LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  21937. 0x064SCRIPT END
  21938.  
  21939.  
  21940. PRE-ACTION SETUP:
  21941.  
  21942. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  21943. 0x000 {
  21944. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 3
  21945. 0x017 }
  21946. 0x017 Else
  21947. 0x017 {
  21948. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 14
  21949. 0x024 If (Not (BattleAddr(&SpclAttackFlag) AND 2) )
  21950. 0x024 {
  21951. 0x02E If ( (LocalVar:Schizo(Left).BattleAddr(&DeathStatus) == 0) )
  21952. 0x02E {
  21953. 0x03B LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 1
  21954. 0x045SCRIPT END
  21955.  
  21956.  
  21957. DEATH COUNTER:
  21958.  
  21959. 0x000 If ( (LocalVar:Schizo(Left).BattleAddr(&Angry) == 0) )
  21960. 0x000 {
  21961. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  21962. 0x014 Perform("Right Breath 2"[02C3], EnemyAttack)
  21963. 0x01A BattleAddr(&Self).BattleAddr(&Angry) <- 1
  21964. 0x024 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 18
  21965. 0x02E }
  21966. 0x02E Else
  21967. 0x02E {
  21968. 0x031 LocalVar:Schizo(Left).BattleAddr(&DeathImmunity) <- 0
  21969. 0x03B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  21970. 0x042 Perform("Right Breath 2"[02C4], EnemyAttack)
  21971. 0x048SCRIPT END
  21972.  
  21973.  
  21974.  
  21975.  
  21976. 229 - [E5] Schizo(Left)
  21977.  
  21978.  
  21979. LocalVar:0000 = LocalVar:Allies
  21980. LocalVar:0020 = LocalVar:Schizo(Right)
  21981. LocalVar:0040 = LocalVar:1stChr
  21982. LocalVar:0060 = LocalVar:2ndChr
  21983. LocalVar:0080 = LocalVar:3rdChr
  21984. LocalVar:00A0 = LocalVar:Count
  21985. LocalVar:00C0 = LocalVar:SpclHitCount
  21986. LocalVar:00E0 = LocalVar:Schizo(Right)LowHP
  21987.  
  21988. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  21989. BattleAddr(&2060) = BattleAddr(&Self)
  21990. BattleAddr(&2070) = BattleAddr(&TarSelected)
  21991. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  21992. BattleAddr(&2170) = BattleAddr(&SpclAttackFlag)
  21993.  
  21994. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  21995. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  21996. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  21997. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  21998. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  21999. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  22000. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  22001. BattleAddr(&4180) = BattleAddr(&MaxHP)
  22002. BattleAddr(&41A0) = BattleAddr(&Angry)
  22003.  
  22004.  
  22005.  
  22006. PRE-BATTLE:
  22007.  
  22008. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  22009. 0x014LocalVar:Schizo(Right) <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 228)
  22010. 0x022LocalVar:Schizo(Right) <- LocalVar:Schizo(Right) AND NOT BattleAddr(&Self)
  22011. 0x02ELocalVar:SpclHitCount <- 5
  22012. 0x034LocalVar:1stChr <- FlagBit(0)
  22013. 0x03BLocalVar:2ndChr <- FlagBit(1)
  22014. 0x042LocalVar:3rdChr <- FlagBit(2)
  22015. 0x049BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  22016. 0x053SCRIPT END
  22017.  
  22018.  
  22019. MAIN:
  22020.  
  22021. 0x000 If (LocalVar:Count == 0)
  22022. 0x000 {
  22023. 0x008 }
  22024. 0x008 Else
  22025. 0x008 {
  22026. 0x00B If (LocalVar:Count == 1)
  22027. 0x00B {
  22028. 0x010 }
  22029. 0x010 Else
  22030. 0x010 {
  22031. 0x013 If (LocalVar:Count == 2)
  22032. 0x013 {
  22033. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22034. 0x020 If ( (LocalVar:Schizo(Right).BattleAddr(&DeathStatus) == 0) )
  22035. 0x020 {
  22036. 0x02D Perform("Left Breath"[02C8], EnemyAttack)
  22037. 0x033 }
  22038. 0x033 Else
  22039. 0x033 {
  22040. 0x036 Perform("Left Breath"[02C9], EnemyAttack)
  22041. 0x03C LocalVar:Count <- LocalVar:Count + 1
  22042. 0x046 }
  22043. 0x046 Else
  22044. 0x046 {
  22045. 0x049 }
  22046. 0x049 Else
  22047. 0x049 {
  22048. 0x04C If (LocalVar:Count == 3)
  22049. 0x04C {
  22050. 0x051 }
  22051. 0x051 Else
  22052. 0x051 {
  22053. 0x054 If (LocalVar:Count == 4)
  22054. 0x054 {
  22055. 0x059 LocalVar:Count <- LocalVar:Count + 1
  22056. 0x063 }
  22057. 0x063 Else
  22058. 0x063 {
  22059. 0x066 }
  22060. 0x066 Else
  22061. 0x066 {
  22062. 0x069 If ( (LocalVar:Schizo(Right).BattleAddr(&DeathStatus) == 0) )
  22063. 0x069 {
  22064. 0x076 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22065. 0x07E Perform("Double Breath"[02CC], EnemyAttack)
  22066. 0x084 }
  22067. 0x084 Else
  22068. 0x084 {
  22069. 0x087 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  22070. 0x087 {
  22071. 0x094 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  22072. 0x09B Perform("Left Breath"[02C9], EnemyAttack)
  22073. 0x0A1 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  22074. 0x0A1 {
  22075. 0x0AE BattleAddr(&TarSelected) <- LocalVar:1stChr
  22076. 0x0B5 Perform("Left Breath"[02C9], EnemyAttack)
  22077. 0x0BB If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  22078. 0x0BB {
  22079. 0x0C8 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  22080. 0x0CF Perform("Left Breath"[02C9], EnemyAttack)
  22081. 0x0D5 LocalVar:Count <- 0
  22082. 0x0DB }
  22083. 0x0DB Else
  22084. 0x0DB {
  22085. 0x0DEPOP(LocalVar:Count)
  22086. 0x0DFSCRIPT END
  22087.  
  22088.  
  22089. GENERAL COUNTER:
  22090.  
  22091. 0x000 If ( (LocalVar:Allies.BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  22092. 0x000 {
  22093. 0x018 LocalVar:Schizo(Right)LowHP <- 1
  22094. 0x01E }
  22095. 0x01E Else
  22096. 0x01E {
  22097. 0x021 LocalVar:Schizo(Right)LowHP <- 0
  22098. 0x027 If (Not (LocalVar:SpclHitCount) )
  22099. 0x027 {
  22100. 0x02E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  22101. 0x035 If ( (LocalVar:Schizo(Right).BattleAddr(&DeathStatus) == 0) )
  22102. 0x035 {
  22103. 0x042 Perform("Tremor"[02CD], EnemyAttack)
  22104. 0x048 }
  22105. 0x048 Else
  22106. 0x048 {
  22107. 0x04B Perform("Tremor"[02CE], EnemyAttack)
  22108. 0x051 LocalVar:SpclHitCount <- 5
  22109. 0x057 }
  22110. 0x057 Else
  22111. 0x057 {
  22112. 0x05A LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  22113. 0x064SCRIPT END
  22114.  
  22115.  
  22116. PRE-ACTION SETUP:
  22117.  
  22118. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  22119. 0x000 {
  22120. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 4
  22121. 0x017 }
  22122. 0x017 Else
  22123. 0x017 {
  22124. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  22125. 0x024 If (Not (BattleAddr(&SpclAttackFlag) AND 2) )
  22126. 0x024 {
  22127. 0x02E If ( (LocalVar:Schizo(Right).BattleAddr(&DeathStatus) == 0) )
  22128. 0x02E {
  22129. 0x03B LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 1
  22130. 0x045SCRIPT END
  22131.  
  22132.  
  22133. DEATH COUNTER:
  22134.  
  22135. 0x000 If ( (LocalVar:Schizo(Right).BattleAddr(&Angry) == 0) )
  22136. 0x000 {
  22137. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  22138. 0x014 Perform("Left Breath 2"[02CA], EnemyAttack)
  22139. 0x01A BattleAddr(&Self).BattleAddr(&Angry) <- 1
  22140. 0x024 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 13
  22141. 0x02E }
  22142. 0x02E Else
  22143. 0x02E {
  22144. 0x031 LocalVar:Schizo(Right).BattleAddr(&DeathImmunity) <- 0
  22145. 0x03B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  22146. 0x042 Perform("Left Breath 2"[02CB], EnemyAttack)
  22147. 0x048SCRIPT END
  22148.  
  22149.  
  22150.  
  22151.  
  22152. 230 - [E6] Wind Wing
  22153.  
  22154.  
  22155. LocalVar:0000 = LocalVar:Count
  22156. LocalVar:0020 = LocalVar:Stage
  22157.  
  22158. BattleAddr(&2060) = BattleAddr(&Self)
  22159. BattleAddr(&2070) = BattleAddr(&TarSelected)
  22160. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  22161. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  22162.  
  22163. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  22164. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  22165. BattleAddr(&4180) = BattleAddr(&MaxHP)
  22166.  
  22167.  
  22168.  
  22169. PRE-BATTLE:
  22170.  
  22171. 0x000LocalVar:Count <- Random MOD 4
  22172. 0x008LocalVar:Stage <- 4
  22173. 0x00ESCRIPT END
  22174.  
  22175.  
  22176. MAIN:
  22177.  
  22178. 0x000 If (LocalVar:Count == 0)
  22179. 0x000 {
  22180. 0x008 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP)) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(White Wind [004B])) ) )
  22181. 0x008 {
  22182. 0x026 BattleAddr(&TarSelected) <- BattleAddr(&AllEnemies)
  22183. 0x02D Perform("White Wind"[004B], EnemyAttack)
  22184. 0x032 }
  22185. 0x032 Else
  22186. 0x032 {
  22187. 0x035 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Aero3 [02D0])) )
  22188. 0x035 {
  22189. 0x044 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22190. 0x04C Perform("Aero3"[02D0], EnemyAttack)
  22191. 0x052 }
  22192. 0x052 Else
  22193. 0x052 {
  22194. 0x055 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22195. 0x05D Perform("Sham Seal"[02CF], EnemyAttack)
  22196. 0x063 LocalVar:Count <- 1
  22197. 0x069 }
  22198. 0x069 Else
  22199. 0x069 {
  22200. 0x06C }
  22201. 0x06C Else
  22202. 0x06C {
  22203. 0x06F If (LocalVar:Count == 1)
  22204. 0x06F {
  22205. 0x074 }
  22206. 0x074 Else
  22207. 0x074 {
  22208. 0x077 If (LocalVar:Count == 2)
  22209. 0x077 {
  22210. 0x07C If ( (LocalVar:Stage < 3) )
  22211. 0x07C {
  22212. 0x085 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22213. 0x08D Perform("Sham Seal"[02CF], EnemyAttack)
  22214. 0x093 }
  22215. 0x093 Else
  22216. 0x093 {
  22217. 0x096 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22218. 0x09E Perform("Tailbeat"[01FB], EnemyAttack)
  22219. 0x0A4 LocalVar:Count <- LocalVar:Count + 1
  22220. 0x0AE }
  22221. 0x0AE Else
  22222. 0x0AE {
  22223. 0x0B1 }
  22224. 0x0B1 Else
  22225. 0x0B1 {
  22226. 0x0B4 If ( ( (LocalVar:Stage < 3) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Aero3 [02D0])) ) )
  22227. 0x0B4 {
  22228. 0x0CA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22229. 0x0D2 Perform("Aero3"[02D0], EnemyAttack)
  22230. 0x0D8 }
  22231. 0x0D8 Else
  22232. 0x0D8 {
  22233. 0x0DB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22234. 0x0E3 Perform("Tailbeat"[01FB], EnemyAttack)
  22235. 0x0E9 LocalVar:Count <- 1
  22236. 0x0EF }
  22237. 0x0EF Else
  22238. 0x0EF {
  22239. 0x0F2POP(LocalVar:Count)
  22240. 0x0F3SCRIPT END
  22241.  
  22242.  
  22243. GENERAL COUNTER:
  22244.  
  22245. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  22246. 0x000 {
  22247. 0x018 LocalVar:Stage <- 1
  22248. 0x01E LocalVar:Count <- 0
  22249. 0x024 }
  22250. 0x024 Else
  22251. 0x024 {
  22252. 0x027 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  22253. 0x027 {
  22254. 0x03F LocalVar:Stage <- 2
  22255. 0x045 LocalVar:Count <- 0
  22256. 0x04B }
  22257. 0x04B Else
  22258. 0x04B {
  22259. 0x04E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  22260. 0x04E {
  22261. 0x066 LocalVar:Stage <- 3
  22262. 0x06C }
  22263. 0x06C Else
  22264. 0x06C {
  22265. 0x06F LocalVar:Stage <- 4
  22266. 0x075SCRIPT END
  22267.  
  22268.  
  22269.  
  22270.  
  22271. 231 - [E7] Dragon Rider
  22272.  
  22273.  
  22274. LocalVar:0000 = LocalVar:Count
  22275. LocalVar:0020 = LocalVar:SpclChance
  22276.  
  22277. BattleAddr(&2060) = BattleAddr(&Self)
  22278. BattleAddr(&2070) = BattleAddr(&TarSelected)
  22279. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  22280.  
  22281. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  22282. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  22283. BattleAddr(&4180) = BattleAddr(&MaxHP)
  22284.  
  22285.  
  22286.  
  22287. PRE-BATTLE:
  22288.  
  22289. 0x000LocalVar:Count <- Random MOD 6
  22290. 0x008LocalVar:SpclChance <- 4
  22291. 0x00ESCRIPT END
  22292.  
  22293.  
  22294. MAIN:
  22295.  
  22296. 0x000 If (LocalVar:Count == 0)
  22297. 0x000 {
  22298. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22299. 0x010 Perform("Dual Attack"[0310], EnemyAttack)
  22300. 0x016 LocalVar:Count <- 2
  22301. 0x01C }
  22302. 0x01C Else
  22303. 0x01C {
  22304. 0x01F }
  22305. 0x01F Else
  22306. 0x01F {
  22307. 0x022 If (LocalVar:Count == 1)
  22308. 0x022 {
  22309. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22310. 0x02F Perform("Fang"[0189], EnemyAttack)
  22311. 0x035 LocalVar:Count <- 3
  22312. 0x03B }
  22313. 0x03B Else
  22314. 0x03B {
  22315. 0x03E }
  22316. 0x03E Else
  22317. 0x03E {
  22318. 0x041 If (LocalVar:Count == 2)
  22319. 0x041 {
  22320. 0x046 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22321. 0x04E Perform("Dual Attack"[0310], EnemyAttack)
  22322. 0x054 LocalVar:Count <- 4
  22323. 0x05A }
  22324. 0x05A Else
  22325. 0x05A {
  22326. 0x05D }
  22327. 0x05D Else
  22328. 0x05D {
  22329. 0x060 If (LocalVar:Count == 3)
  22330. 0x060 {
  22331. 0x065 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22332. 0x06D Perform("Fang"[0189], EnemyAttack)
  22333. 0x073 LocalVar:Count <- 4
  22334. 0x079 }
  22335. 0x079 Else
  22336. 0x079 {
  22337. 0x07C }
  22338. 0x07C Else
  22339. 0x07C {
  22340. 0x07F If (LocalVar:Count == 4)
  22341. 0x07F {
  22342. 0x084 Bad Code0x08F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  22343. 0x091 If (Not (Random MOD LocalVar:SpclChance) )
  22344. 0x091 {
  22345. 0x09A Perform("Head Hunting 2"[0312], EnemyAttack)
  22346. 0x0A0 }
  22347. 0x0A0 Else
  22348. 0x0A0 {
  22349. 0x0A3 Perform("Head Hunting"[030F], EnemyAttack)
  22350. 0x0A9 LocalVar:Count <- 5
  22351. 0x0AF }
  22352. 0x0AF Else
  22353. 0x0AF {
  22354. 0x0B2 }
  22355. 0x0B2 Else
  22356. 0x0B2 {
  22357. 0x0B5 If (Not (Random MOD LocalVar:SpclChance) )
  22358. 0x0B5 {
  22359. 0x0BE Bad Code0x0C9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  22360. 0x0CB Perform("Rider Breath"[0311], EnemyAttack)
  22361. 0x0D1 }
  22362. 0x0D1 Else
  22363. 0x0D1 {
  22364. 0x0D4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22365. 0x0DC If (Not (Random MOD 2) )
  22366. 0x0DC {
  22367. 0x0E4 Perform("Dual Attack"[0310], EnemyAttack)
  22368. 0x0EA }
  22369. 0x0EA Else
  22370. 0x0EA {
  22371. 0x0ED Perform("Fang"[0189], EnemyAttack)
  22372. 0x0F3 LocalVar:Count <- Random MOD 2
  22373. 0x0FB }
  22374. 0x0FB Else
  22375. 0x0FB {
  22376. 0x0FEPOP(LocalVar:Count)
  22377. 0x0FFSCRIPT END
  22378.  
  22379. NOTE - 0x08E uses LMSK
  22380. - 0x0C8 uses HMSK
  22381.  
  22382.  
  22383. GENERAL COUNTER:
  22384.  
  22385. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  22386. 0x000 {
  22387. 0x018 LocalVar:SpclChance <- 1
  22388. 0x01E }
  22389. 0x01E Else
  22390. 0x01E {
  22391. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  22392. 0x021 {
  22393. 0x039 LocalVar:SpclChance <- 2
  22394. 0x03F }
  22395. 0x03F Else
  22396. 0x03F {
  22397. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  22398. 0x042 {
  22399. 0x05A LocalVar:SpclChance <- 3
  22400. 0x060 }
  22401. 0x060 Else
  22402. 0x060 {
  22403. 0x063 LocalVar:SpclChance <- 4
  22404. 0x069SCRIPT END
  22405.  
  22406.  
  22407. MAGIC COUNTER:
  22408.  
  22409. 0x000 If (Not (Random MOD LocalVar:SpclChance) )
  22410. 0x000 {
  22411. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  22412. 0x014 Perform("Rider Breath"[0311], EnemyAttack)
  22413. 0x01ASCRIPT END
  22414.  
  22415.  
  22416.  
  22417.  
  22418. 232 - [E8] Killbin
  22419.  
  22420.  
  22421. LocalVar:0000 = LocalVar:Count
  22422.  
  22423. BattleAddr(&2060) = BattleAddr(&Self)
  22424. BattleAddr(&2070) = BattleAddr(&TarSelected)
  22425. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  22426. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  22427.  
  22428. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  22429. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  22430. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  22431. BattleAddr(&4180) = BattleAddr(&MaxHP)
  22432.  
  22433.  
  22434.  
  22435. PRE-BATTLE:
  22436.  
  22437. 0x000LocalVar:Count <- Random MOD 4
  22438. 0x008SCRIPT END
  22439.  
  22440.  
  22441. MAIN:
  22442.  
  22443. 0x000 If (LocalVar:Count == 0)
  22444. 0x000 {
  22445. 0x008 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) And Not (Random MOD 2) ) )
  22446. 0x008 {
  22447. 0x01B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Slow [0014])) )
  22448. 0x01B {
  22449. 0x029 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  22450. 0x038 Perform("Slow"[0014], EnemyAttack)
  22451. 0x03D }
  22452. 0x03D Else
  22453. 0x03D {
  22454. 0x040 Bad Code0x04B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  22455. 0x04D Perform("Aspil"[0188], EnemyAttack)
  22456. 0x053 }
  22457. 0x053 Else
  22458. 0x053 {
  22459. 0x056 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22460. 0x056 {
  22461. 0x063 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22462. 0x072 }
  22463. 0x072 Else
  22464. 0x072 {
  22465. 0x075 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22466. 0x07D Perform("x"[02D5], EnemyAttack)
  22467. 0x083 LocalVar:Count <- 1
  22468. 0x089 }
  22469. 0x089 Else
  22470. 0x089 {
  22471. 0x08C }
  22472. 0x08C Else
  22473. 0x08C {
  22474. 0x08F If (LocalVar:Count == 1)
  22475. 0x08F {
  22476. 0x094 }
  22477. 0x094 Else
  22478. 0x094 {
  22479. 0x097 If (LocalVar:Count == 2)
  22480. 0x097 {
  22481. 0x09C If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22482. 0x09C {
  22483. 0x0A9 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22484. 0x0B8 }
  22485. 0x0B8 Else
  22486. 0x0B8 {
  22487. 0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22488. 0x0C3 Perform("x"[02D5], EnemyAttack)
  22489. 0x0C9 If (Not (Random MOD 2) )
  22490. 0x0C9 {
  22491. 0x0D1 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22492. 0x0D1 {
  22493. 0x0DE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  22494. 0x0ED }
  22495. 0x0ED Else
  22496. 0x0ED {
  22497. 0x0F0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22498. 0x0F8 Perform("x"[02D5], EnemyAttack)
  22499. 0x0FE LocalVar:Count <- LocalVar:Count + 1
  22500. 0x108 }
  22501. 0x108 Else
  22502. 0x108 {
  22503. 0x10B }
  22504. 0x10B Else
  22505. 0x10B {
  22506. 0x10E If ( (BattleAddr(&AllEnemies).BattleAddr(&CurrentHP) < BattleAddr(&AllEnemies).BattleAddr(&MaxHP) / 3 * 1) )
  22507. 0x10E {
  22508. 0x126 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) )
  22509. 0x126 {
  22510. 0x134 BattleAddr(&TarSelected) <- BattleAddr(&AllEnemies)
  22511. 0x13B Perform("Cure2"[0001], EnemyAttack)
  22512. 0x140 }
  22513. 0x140 Else
  22514. 0x140 {
  22515. 0x143 Bad Code0x14E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  22516. 0x150 Perform("Aspil"[0188], EnemyAttack)
  22517. 0x156 }
  22518. 0x156 Else
  22519. 0x156 {
  22520. 0x159 If (Not (Random MOD 2) )
  22521. 0x159 {
  22522. 0x161 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  22523. 0x161 {
  22524. 0x16F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22525. 0x177 Perform("Fire2"[001C], EnemyAttack)
  22526. 0x17C }
  22527. 0x17C Else
  22528. 0x17C {
  22529. 0x17F Bad Code0x18A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  22530. 0x18C Perform("Aspil"[0188], EnemyAttack)
  22531. 0x192 }
  22532. 0x192 Else
  22533. 0x192 {
  22534. 0x195 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  22535. 0x195 {
  22536. 0x1A3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  22537. 0x1AB Perform("Ice2"[001F], EnemyAttack)
  22538. 0x1B0 }
  22539. 0x1B0 Else
  22540. 0x1B0 {
  22541. 0x1B3 Bad Code0x1BE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  22542. 0x1C0 Perform("Aspil"[0188], EnemyAttack)
  22543. 0x1C6 LocalVar:Count <- 0
  22544. 0x1CC }
  22545. 0x1CC Else
  22546. 0x1CC {
  22547. 0x1CFPOP(LocalVar:Count)
  22548. 0x1D0SCRIPT END
  22549.  
  22550. NOTE - 0x04A uses HMSK
  22551. NOTE - 0x14D uses HMSK
  22552. NOTE - 0x189 uses HMSK
  22553. NOTE - 0x1BD uses HMSK
  22554.  
  22555.  
  22556.  
  22557.  
  22558. 233 - [E9] Tonberry
  22559.  
  22560.  
  22561. LocalVar:0000 = LocalVar:FBPosition
  22562. LocalVar:0020 = LocalVar:LRPosition
  22563. LocalVar:0040 = LocalVar:SpclHitCount
  22564. LocalVar:0060 = LocalVar:AttackConfirmed
  22565. LocalVar:0080 = LocalVar:1stChr
  22566. LocalVar:00A0 = LocalVar:2ndChr
  22567. LocalVar:00C0 = LocalVar:3rdChr
  22568.  
  22569. BattleAddr(&2060) = BattleAddr(&Self)
  22570. BattleAddr(&2070) = BattleAddr(&TarSelected)
  22571. BattleAddr(&2140) = BattleAddr(&FormationID)
  22572.  
  22573. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  22574. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  22575.  
  22576.  
  22577.  
  22578. PRE-BATTLE:
  22579.  
  22580. 0x000LocalVar:LRPosition <- 1
  22581. 0x006SCRIPT END
  22582.  
  22583.  
  22584. MAIN:
  22585.  
  22586. 0x000LocalVar:AttackConfirmed <- 0
  22587. 0x006LocalVar:SpclHitCount <- 0
  22588. 0x00C If ( (BattleAddr(&FormationID) == 956) )
  22589. 0x00C {
  22590. 0x016 LocalVar:1stChr <- FlagBit(1)
  22591. 0x01D LocalVar:2ndChr <- FlagBit(0)
  22592. 0x024 LocalVar:3rdChr <- FlagBit(2)
  22593. 0x02B }
  22594. 0x02B Else
  22595. 0x02B {
  22596. 0x02E LocalVar:1stChr <- FlagBit(0)
  22597. 0x035 LocalVar:2ndChr <- FlagBit(1)
  22598. 0x03C LocalVar:3rdChr <- FlagBit(2)
  22599. 0x043 If (LocalVar:LRPosition == 0)
  22600. 0x043 {
  22601. 0x04B If (LocalVar:FBPosition == 0)
  22602. 0x04B {
  22603. 0x053 }
  22604. 0x053 Else
  22605. 0x053 {
  22606. 0x056 }
  22607. 0x056 Else
  22608. 0x056 {
  22609. 0x059 If (LocalVar:FBPosition == 1)
  22610. 0x059 {
  22611. 0x05E If (Random MOD 8 == 0)
  22612. 0x05E {
  22613. 0x067 }
  22614. 0x067 Else
  22615. 0x067 {
  22616. 0x06A If (Random MOD 8 == 1)
  22617. 0x06A {
  22618. 0x06F }
  22619. 0x06F Else
  22620. 0x06F {
  22621. 0x072 If (Random MOD 8 == 2)
  22622. 0x072 {
  22623. 0x077 Perform("Move Left"[0305], EnemyAttack)
  22624. 0x07D LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22625. 0x087 }
  22626. 0x087 Else
  22627. 0x087 {
  22628. 0x08A }
  22629. 0x08A Else
  22630. 0x08A {
  22631. 0x08D }
  22632. 0x08D Else
  22633. 0x08D {
  22634. 0x090 POP(Random MOD 8)
  22635. 0x091 }
  22636. 0x091 Else
  22637. 0x091 {
  22638. 0x094 }
  22639. 0x094 Else
  22640. 0x094 {
  22641. 0x097 If (LocalVar:FBPosition == 2)
  22642. 0x097 {
  22643. 0x09C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  22644. 0x0A3 If (Random MOD 8 == 0)
  22645. 0x0A3 {
  22646. 0x0AC }
  22647. 0x0AC Else
  22648. 0x0AC {
  22649. 0x0AF If (Random MOD 8 == 1)
  22650. 0x0AF {
  22651. 0x0B4 }
  22652. 0x0B4 Else
  22653. 0x0B4 {
  22654. 0x0B7 If (Random MOD 8 == 2)
  22655. 0x0B7 {
  22656. 0x0BC Perform("Move Left"[0305], EnemyAttack)
  22657. 0x0C2 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22658. 0x0CC }
  22659. 0x0CC Else
  22660. 0x0CC {
  22661. 0x0CF }
  22662. 0x0CF Else
  22663. 0x0CF {
  22664. 0x0D2 }
  22665. 0x0D2 Else
  22666. 0x0D2 {
  22667. 0x0D5 POP(Random MOD 8)
  22668. 0x0D6 }
  22669. 0x0D6 Else
  22670. 0x0D6 {
  22671. 0x0D9 }
  22672. 0x0D9 Else
  22673. 0x0D9 {
  22674. 0x0DC If ( ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) And (BattleAddr(&FormationID) != 956) ) )
  22675. 0x0DC {
  22676. 0x0F6 BattleAddr(&TarSelected) <- LocalVar:1stChr
  22677. 0x0FD Perform("Knife"[02D7], EnemyAttack)
  22678. 0x103 LocalVar:FBPosition <- 0
  22679. 0x109 LocalVar:LRPosition <- 1
  22680. 0x10F LocalVar:AttackConfirmed <- 1
  22681. 0x115 }
  22682. 0x115 Else
  22683. 0x115 {
  22684. 0x118 Perform("Move Left"[0305], EnemyAttack)
  22685. 0x11E LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22686. 0x128 LocalVar:AttackConfirmed <- 1
  22687. 0x12E }
  22688. 0x12E Else
  22689. 0x12E {
  22690. 0x131 POP(LocalVar:FBPosition)
  22691. 0x132 }
  22692. 0x132 Else
  22693. 0x132 {
  22694. 0x135 }
  22695. 0x135 Else
  22696. 0x135 {
  22697. 0x138 If (LocalVar:LRPosition == 1)
  22698. 0x138 {
  22699. 0x13D If (LocalVar:FBPosition == 0)
  22700. 0x13D {
  22701. 0x145 }
  22702. 0x145 Else
  22703. 0x145 {
  22704. 0x148 }
  22705. 0x148 Else
  22706. 0x148 {
  22707. 0x14B If (LocalVar:FBPosition == 1)
  22708. 0x14B {
  22709. 0x150 If (Random MOD 8 == 0)
  22710. 0x150 {
  22711. 0x159 }
  22712. 0x159 Else
  22713. 0x159 {
  22714. 0x15C If (Random MOD 8 == 1)
  22715. 0x15C {
  22716. 0x161 Perform("Move Right"[0304], EnemyAttack)
  22717. 0x167 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22718. 0x171 LocalVar:AttackConfirmed <- 1
  22719. 0x177 }
  22720. 0x177 Else
  22721. 0x177 {
  22722. 0x17A }
  22723. 0x17A Else
  22724. 0x17A {
  22725. 0x17D If (Random MOD 8 == 2)
  22726. 0x17D {
  22727. 0x182 }
  22728. 0x182 Else
  22729. 0x182 {
  22730. 0x185 If (Random MOD 8 == 3)
  22731. 0x185 {
  22732. 0x18A Perform("Move Left"[0305], EnemyAttack)
  22733. 0x190 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22734. 0x19A LocalVar:AttackConfirmed <- 1
  22735. 0x1A0 }
  22736. 0x1A0 Else
  22737. 0x1A0 {
  22738. 0x1A3 }
  22739. 0x1A3 Else
  22740. 0x1A3 {
  22741. 0x1A6 }
  22742. 0x1A6 Else
  22743. 0x1A6 {
  22744. 0x1A9 POP(Random MOD 8)
  22745. 0x1AA }
  22746. 0x1AA Else
  22747. 0x1AA {
  22748. 0x1AD }
  22749. 0x1AD Else
  22750. 0x1AD {
  22751. 0x1B0 If (LocalVar:FBPosition == 2)
  22752. 0x1B0 {
  22753. 0x1B5 If (Random MOD 8 == 0)
  22754. 0x1B5 {
  22755. 0x1BE }
  22756. 0x1BE Else
  22757. 0x1BE {
  22758. 0x1C1 If (Random MOD 8 == 1)
  22759. 0x1C1 {
  22760. 0x1C6 }
  22761. 0x1C6 Else
  22762. 0x1C6 {
  22763. 0x1C9 If (Random MOD 8 == 2)
  22764. 0x1C9 {
  22765. 0x1CE Perform("Move Right"[0304], EnemyAttack)
  22766. 0x1D4 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22767. 0x1DE LocalVar:AttackConfirmed <- 1
  22768. 0x1E4 }
  22769. 0x1E4 Else
  22770. 0x1E4 {
  22771. 0x1E7 }
  22772. 0x1E7 Else
  22773. 0x1E7 {
  22774. 0x1EA If (Random MOD 8 == 3)
  22775. 0x1EA {
  22776. 0x1EF }
  22777. 0x1EF Else
  22778. 0x1EF {
  22779. 0x1F2 If (Random MOD 8 == 4)
  22780. 0x1F2 {
  22781. 0x1F7 }
  22782. 0x1F7 Else
  22783. 0x1F7 {
  22784. 0x1FA If (Random MOD 8 == 5)
  22785. 0x1FA {
  22786. 0x1FF Perform("Move Left"[0305], EnemyAttack)
  22787. 0x205 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22788. 0x20F LocalVar:AttackConfirmed <- 1
  22789. 0x215 }
  22790. 0x215 Else
  22791. 0x215 {
  22792. 0x218 }
  22793. 0x218 Else
  22794. 0x218 {
  22795. 0x21B }
  22796. 0x21B Else
  22797. 0x21B {
  22798. 0x21E POP(Random MOD 8)
  22799. 0x21F }
  22800. 0x21F Else
  22801. 0x21F {
  22802. 0x222 }
  22803. 0x222 Else
  22804. 0x222 {
  22805. 0x225 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) )
  22806. 0x225 {
  22807. 0x237 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  22808. 0x23E Perform("Knife"[02D7], EnemyAttack)
  22809. 0x244 LocalVar:FBPosition <- 0
  22810. 0x24A LocalVar:LRPosition <- 1
  22811. 0x250 LocalVar:AttackConfirmed <- 1
  22812. 0x256 }
  22813. 0x256 Else
  22814. 0x256 {
  22815. 0x259 If ( (Random MOD 2 == 0) )
  22816. 0x259 {
  22817. 0x263 Perform("Move Right"[0304], EnemyAttack)
  22818. 0x269 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22819. 0x273 LocalVar:AttackConfirmed <- 1
  22820. 0x279 }
  22821. 0x279 Else
  22822. 0x279 {
  22823. 0x27C Perform("Move Left"[0305], EnemyAttack)
  22824. 0x282 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  22825. 0x28C LocalVar:AttackConfirmed <- 1
  22826. 0x292 }
  22827. 0x292 Else
  22828. 0x292 {
  22829. 0x295 POP(LocalVar:FBPosition)
  22830. 0x296 }
  22831. 0x296 Else
  22832. 0x296 {
  22833. 0x299 }
  22834. 0x299 Else
  22835. 0x299 {
  22836. 0x29C If (LocalVar:FBPosition == 0)
  22837. 0x29C {
  22838. 0x2A4 }
  22839. 0x2A4 Else
  22840. 0x2A4 {
  22841. 0x2A7 }
  22842. 0x2A7 Else
  22843. 0x2A7 {
  22844. 0x2AA If (LocalVar:FBPosition == 1)
  22845. 0x2AA {
  22846. 0x2AF If (Random MOD 8 == 0)
  22847. 0x2AF {
  22848. 0x2B8 }
  22849. 0x2B8 Else
  22850. 0x2B8 {
  22851. 0x2BB If (Random MOD 8 == 1)
  22852. 0x2BB {
  22853. 0x2C0 }
  22854. 0x2C0 Else
  22855. 0x2C0 {
  22856. 0x2C3 If (Random MOD 8 == 2)
  22857. 0x2C3 {
  22858. 0x2C8 Perform("Move Right"[0304], EnemyAttack)
  22859. 0x2CE LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22860. 0x2D8 LocalVar:AttackConfirmed <- 1
  22861. 0x2DE }
  22862. 0x2DE Else
  22863. 0x2DE {
  22864. 0x2E1 }
  22865. 0x2E1 Else
  22866. 0x2E1 {
  22867. 0x2E4 }
  22868. 0x2E4 Else
  22869. 0x2E4 {
  22870. 0x2E7 POP(Random MOD 8)
  22871. 0x2E8 }
  22872. 0x2E8 Else
  22873. 0x2E8 {
  22874. 0x2EB }
  22875. 0x2EB Else
  22876. 0x2EB {
  22877. 0x2EE If (LocalVar:FBPosition == 2)
  22878. 0x2EE {
  22879. 0x2F3 If (Random MOD 8 == 0)
  22880. 0x2F3 {
  22881. 0x2FC }
  22882. 0x2FC Else
  22883. 0x2FC {
  22884. 0x2FF If (Random MOD 8 == 1)
  22885. 0x2FF {
  22886. 0x304 }
  22887. 0x304 Else
  22888. 0x304 {
  22889. 0x307 If (Random MOD 8 == 2)
  22890. 0x307 {
  22891. 0x30C Perform("Move Right"[0304], EnemyAttack)
  22892. 0x312 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22893. 0x31C LocalVar:AttackConfirmed <- 1
  22894. 0x322 }
  22895. 0x322 Else
  22896. 0x322 {
  22897. 0x325 }
  22898. 0x325 Else
  22899. 0x325 {
  22900. 0x328 }
  22901. 0x328 Else
  22902. 0x328 {
  22903. 0x32B POP(Random MOD 8)
  22904. 0x32C }
  22905. 0x32C Else
  22906. 0x32C {
  22907. 0x32F }
  22908. 0x32F Else
  22909. 0x32F {
  22910. 0x332 If ( ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) And (BattleAddr(&FormationID) != 956) ) )
  22911. 0x332 {
  22912. 0x34C BattleAddr(&TarSelected) <- LocalVar:3rdChr
  22913. 0x353 Perform("Knife"[02D7], EnemyAttack)
  22914. 0x359 LocalVar:FBPosition <- 0
  22915. 0x35F LocalVar:LRPosition <- 1
  22916. 0x365 LocalVar:AttackConfirmed <- 1
  22917. 0x36B }
  22918. 0x36B Else
  22919. 0x36B {
  22920. 0x36E Perform("Move Right"[0304], EnemyAttack)
  22921. 0x374 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  22922. 0x37E LocalVar:AttackConfirmed <- 1
  22923. 0x384 }
  22924. 0x384 Else
  22925. 0x384 {
  22926. 0x387 POP(LocalVar:FBPosition)
  22927. 0x388 }
  22928. 0x388 Else
  22929. 0x388 {
  22930. 0x38BPOP(LocalVar:LRPosition)
  22931. 0x38C If ( (LocalVar:AttackConfirmed == 0) )
  22932. 0x38C {
  22933. 0x395 Perform("Move"[0303], EnemyAttack)
  22934. 0x39B LocalVar:FBPosition <- LocalVar:FBPosition + 1
  22935. 0x3A5SCRIPT END
  22936.  
  22937.  
  22938. GENERAL COUNTER:
  22939.  
  22940. 0x000LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  22941. 0x00A If ( (LocalVar:SpclHitCount == 3) )
  22942. 0x00A {
  22943. 0x013 LocalVar:SpclHitCount <- 0
  22944. 0x019 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  22945. 0x024 Perform("Time Damage"[02D6], EnemyAttack)
  22946. 0x02ASCRIPT END
  22947.  
  22948.  
  22949.  
  22950.  
  22951. 234 - [EA] Jenova-DEATH
  22952.  
  22953.  
  22954. LocalVar:0000 = LocalVar:1stChr
  22955. LocalVar:0020 = LocalVar:2ndChr
  22956. LocalVar:0040 = LocalVar:3rdChr
  22957. LocalVar:0060 = LocalVar:Count
  22958. LocalVar:0080 = LocalVar:SpclChance
  22959.  
  22960. BattleAddr(&2060) = BattleAddr(&Self)
  22961. BattleAddr(&2070) = BattleAddr(&TarSelected)
  22962. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  22963.  
  22964. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  22965. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  22966. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  22967. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  22968. BattleAddr(&4180) = BattleAddr(&MaxHP)
  22969.  
  22970.  
  22971.  
  22972. PRE-BATTLE:
  22973.  
  22974. 0x000LocalVar:1stChr <- FlagBit(0)
  22975. 0x007LocalVar:2ndChr <- FlagBit(1)
  22976. 0x00ELocalVar:3rdChr <- FlagBit(2)
  22977. 0x015LocalVar:SpclChance <- 4
  22978. 0x01B If (Not (Random MOD 2) )
  22979. 0x01B {
  22980. 0x023 LocalVar:Count <- 3
  22981. 0x029SCRIPT END
  22982.  
  22983.  
  22984. MAIN:
  22985.  
  22986. 0x000 If (LocalVar:Count == 0)
  22987. 0x000 {
  22988. 0x008 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(Silence [000D])) ) )
  22989. 0x008 {
  22990. 0x021 If (Not (Random MOD LocalVar:SpclChance) )
  22991. 0x021 {
  22992. 0x02A If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  22993. 0x02A {
  22994. 0x037 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  22995. 0x03E Perform("Red Light"[039A], EnemyAttack)
  22996. 0x044 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  22997. 0x044 {
  22998. 0x051 BattleAddr(&TarSelected) <- LocalVar:1stChr
  22999. 0x058 Perform("Red Light"[039A], EnemyAttack)
  23000. 0x05E If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  23001. 0x05E {
  23002. 0x06B BattleAddr(&TarSelected) <- LocalVar:3rdChr
  23003. 0x072 Perform("Red Light"[039A], EnemyAttack)
  23004. 0x078 }
  23005. 0x078 Else
  23006. 0x078 {
  23007. 0x07B If (Random MOD LocalVar:SpclChance == 0)
  23008. 0x07B {
  23009. 0x085 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23010. 0x08D Perform("Red Light"[039A], EnemyAttack)
  23011. 0x093 }
  23012. 0x093 Else
  23013. 0x093 {
  23014. 0x096 If (Random MOD LocalVar:SpclChance == 1)
  23015. 0x096 {
  23016. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23017. 0x0A3 Perform("Red Light"[039A], EnemyAttack)
  23018. 0x0A9 }
  23019. 0x0A9 Else
  23020. 0x0A9 {
  23021. 0x0AC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23022. 0x0B4 Perform("Red Light"[039A], EnemyAttack)
  23023. 0x0BA }
  23024. 0x0BA Else
  23025. 0x0BA {
  23026. 0x0BD POP(Random MOD LocalVar:SpclChance)
  23027. 0x0BE }
  23028. 0x0BE Else
  23029. 0x0BE {
  23030. 0x0C1 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  23031. 0x0D0 Perform("Silence"[000D], EnemyAttack)
  23032. 0x0D5 LocalVar:Count <- 1
  23033. 0x0DB }
  23034. 0x0DB Else
  23035. 0x0DB {
  23036. 0x0DE }
  23037. 0x0DE Else
  23038. 0x0DE {
  23039. 0x0E1 If (LocalVar:Count == 1)
  23040. 0x0E1 {
  23041. 0x0E6 }
  23042. 0x0E6 Else
  23043. 0x0E6 {
  23044. 0x0E9 If (LocalVar:Count == 2)
  23045. 0x0E9 {
  23046. 0x0EE LocalVar:Count <- LocalVar:Count + 1
  23047. 0x0F8 }
  23048. 0x0F8 Else
  23049. 0x0F8 {
  23050. 0x0FB }
  23051. 0x0FB Else
  23052. 0x0FB {
  23053. 0x0FE If (LocalVar:Count == 3)
  23054. 0x0FE {
  23055. 0x103 If (Not (Random MOD LocalVar:SpclChance) )
  23056. 0x103 {
  23057. 0x10C If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  23058. 0x10C {
  23059. 0x119 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  23060. 0x120 Perform("Red Light"[039A], EnemyAttack)
  23061. 0x126 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  23062. 0x126 {
  23063. 0x133 BattleAddr(&TarSelected) <- LocalVar:1stChr
  23064. 0x13A Perform("Red Light"[039A], EnemyAttack)
  23065. 0x140 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  23066. 0x140 {
  23067. 0x14D BattleAddr(&TarSelected) <- LocalVar:3rdChr
  23068. 0x154 Perform("Red Light"[039A], EnemyAttack)
  23069. 0x15A }
  23070. 0x15A Else
  23071. 0x15A {
  23072. 0x15D If (Random MOD LocalVar:SpclChance == 0)
  23073. 0x15D {
  23074. 0x167 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23075. 0x16F Perform("Red Light"[039A], EnemyAttack)
  23076. 0x175 }
  23077. 0x175 Else
  23078. 0x175 {
  23079. 0x178 If (Random MOD LocalVar:SpclChance == 1)
  23080. 0x178 {
  23081. 0x17D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23082. 0x185 Perform("Red Light"[039A], EnemyAttack)
  23083. 0x18B }
  23084. 0x18B Else
  23085. 0x18B {
  23086. 0x18E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23087. 0x196 Perform("Red Light"[039A], EnemyAttack)
  23088. 0x19C }
  23089. 0x19C Else
  23090. 0x19C {
  23091. 0x19F POP(Random MOD LocalVar:SpclChance)
  23092. 0x1A0 LocalVar:Count <- 4
  23093. 0x1A6 }
  23094. 0x1A6 Else
  23095. 0x1A6 {
  23096. 0x1A9 }
  23097. 0x1A9 Else
  23098. 0x1A9 {
  23099. 0x1AC If (LocalVar:Count == 4)
  23100. 0x1AC {
  23101. 0x1B1 If (Not (Random MOD LocalVar:SpclChance) )
  23102. 0x1B1 {
  23103. 0x1BA If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  23104. 0x1BA {
  23105. 0x1C7 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  23106. 0x1CE Perform("Red Light"[039A], EnemyAttack)
  23107. 0x1D4 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  23108. 0x1D4 {
  23109. 0x1E1 BattleAddr(&TarSelected) <- LocalVar:1stChr
  23110. 0x1E8 Perform("Red Light"[039A], EnemyAttack)
  23111. 0x1EE If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  23112. 0x1EE {
  23113. 0x1FB BattleAddr(&TarSelected) <- LocalVar:3rdChr
  23114. 0x202 Perform("Red Light"[039A], EnemyAttack)
  23115. 0x208 }
  23116. 0x208 Else
  23117. 0x208 {
  23118. 0x20B If (Random MOD LocalVar:SpclChance == 0)
  23119. 0x20B {
  23120. 0x215 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23121. 0x21D Perform("Red Light"[039A], EnemyAttack)
  23122. 0x223 }
  23123. 0x223 Else
  23124. 0x223 {
  23125. 0x226 If (Random MOD LocalVar:SpclChance == 1)
  23126. 0x226 {
  23127. 0x22B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23128. 0x233 Perform("Red Light"[039A], EnemyAttack)
  23129. 0x239 }
  23130. 0x239 Else
  23131. 0x239 {
  23132. 0x23C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23133. 0x244 Perform("Red Light"[039A], EnemyAttack)
  23134. 0x24A }
  23135. 0x24A Else
  23136. 0x24A {
  23137. 0x24D POP(Random MOD LocalVar:SpclChance)
  23138. 0x24E LocalVar:Count <- 5
  23139. 0x254 }
  23140. 0x254 Else
  23141. 0x254 {
  23142. 0x257 }
  23143. 0x257 Else
  23144. 0x257 {
  23145. 0x25A BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  23146. 0x261 Perform("Tropic Wind"[039B], EnemyAttack)
  23147. 0x267 LocalVar:Count <- 0
  23148. 0x26D }
  23149. 0x26D Else
  23150. 0x26D {
  23151. 0x270POP(LocalVar:Count)
  23152. 0x271SCRIPT END
  23153.  
  23154.  
  23155. GENERAL COUNTER:
  23156.  
  23157. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  23158. 0x000 {
  23159. 0x018 LocalVar:SpclChance <- 2
  23160. 0x01E }
  23161. 0x01E Else
  23162. 0x01E {
  23163. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  23164. 0x021 {
  23165. 0x039 LocalVar:SpclChance <- 3
  23166. 0x03FSCRIPT END
  23167.  
  23168.  
  23169.  
  23170.  
  23171. 235 - [EB] Roulette Cannon
  23172.  
  23173.  
  23174. LocalVar:0000 = LocalVar:Pedestal
  23175. LocalVar:0020 = LocalVar:1stChr
  23176. LocalVar:0040 = LocalVar:2ndChr
  23177. LocalVar:0060 = LocalVar:3rdChr
  23178. LocalVar:0080 = LocalVar:TarSelected
  23179. LocalVar:00A0 = LocalVar:PlayersActive
  23180.  
  23181. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  23182. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  23183. BattleAddr(&2060) = BattleAddr(&Self)
  23184. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23185.  
  23186. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  23187. BattleAddr(&4020) = BattleAddr(&SelfActive)
  23188. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  23189. BattleAddr(&4023) = BattleAddr(&Targetable)
  23190. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  23191. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  23192. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  23193. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  23194. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  23195.  
  23196.  
  23197.  
  23198. PRE-BATTLE:
  23199.  
  23200. 0x000LocalVar:Pedestal <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  23201. 0x014LocalVar:Pedestal <- (LocalVar:Pedestal.BattleAddr(&IndexOfActor) == 236)
  23202. 0x022LocalVar:1stChr <- FlagBit(0)
  23203. 0x029LocalVar:2ndChr <- FlagBit(1)
  23204. 0x030LocalVar:3rdChr <- FlagBit(2)
  23205. 0x037SCRIPT END
  23206.  
  23207.  
  23208. GENERAL COUNTER:
  23209.  
  23210. 0x000LocalVar:PlayersActive <- 0
  23211. 0x006 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  23212. 0x006 {
  23213. 0x013 LocalVar:PlayersActive <- LocalVar:PlayersActive OR 1
  23214. 0x01D If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  23215. 0x01D {
  23216. 0x02A LocalVar:PlayersActive <- LocalVar:PlayersActive OR 2
  23217. 0x034 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  23218. 0x034 {
  23219. 0x041 LocalVar:PlayersActive <- LocalVar:PlayersActive OR 4
  23220. 0x04B If ( (LocalVar:PlayersActive AND 7 == 7) )
  23221. 0x04B {
  23222. 0x057 If (Random MOD 3 == 0)
  23223. 0x057 {
  23224. 0x060 LocalVar:TarSelected <- LocalVar:1stChr
  23225. 0x067 }
  23226. 0x067 Else
  23227. 0x067 {
  23228. 0x06A }
  23229. 0x06A Else
  23230. 0x06A {
  23231. 0x06D If (Random MOD 3 == 1)
  23232. 0x06D {
  23233. 0x072 LocalVar:TarSelected <- LocalVar:2ndChr
  23234. 0x079 }
  23235. 0x079 Else
  23236. 0x079 {
  23237. 0x07C }
  23238. 0x07C Else
  23239. 0x07C {
  23240. 0x07F LocalVar:TarSelected <- LocalVar:3rdChr
  23241. 0x086 }
  23242. 0x086 Else
  23243. 0x086 {
  23244. 0x089 POP(Random MOD 3)
  23245. 0x08A }
  23246. 0x08A Else
  23247. 0x08A {
  23248. 0x08D If ( (LocalVar:PlayersActive AND 5 == 5) )
  23249. 0x08D {
  23250. 0x099 If (Not (Random MOD 2) )
  23251. 0x099 {
  23252. 0x0A1 LocalVar:TarSelected <- LocalVar:1stChr
  23253. 0x0A8 }
  23254. 0x0A8 Else
  23255. 0x0A8 {
  23256. 0x0AB LocalVar:TarSelected <- LocalVar:3rdChr
  23257. 0x0B2 }
  23258. 0x0B2 Else
  23259. 0x0B2 {
  23260. 0x0B5 If ( (LocalVar:PlayersActive AND 3 == 3) )
  23261. 0x0B5 {
  23262. 0x0C1 If (Not (Random MOD 2) )
  23263. 0x0C1 {
  23264. 0x0C9 LocalVar:TarSelected <- LocalVar:1stChr
  23265. 0x0D0 }
  23266. 0x0D0 Else
  23267. 0x0D0 {
  23268. 0x0D3 LocalVar:TarSelected <- LocalVar:2ndChr
  23269. 0x0DA }
  23270. 0x0DA Else
  23271. 0x0DA {
  23272. 0x0DD If ( (LocalVar:PlayersActive AND 6 == 6) )
  23273. 0x0DD {
  23274. 0x0E9 If (Not (Random MOD 2) )
  23275. 0x0E9 {
  23276. 0x0F1 LocalVar:TarSelected <- LocalVar:2ndChr
  23277. 0x0F8 }
  23278. 0x0F8 Else
  23279. 0x0F8 {
  23280. 0x0FB LocalVar:TarSelected <- LocalVar:3rdChr
  23281. 0x102 }
  23282. 0x102 Else
  23283. 0x102 {
  23284. 0x105 LocalVar:TarSelected <- BattleAddr(&NoTarSelected)
  23285. 0x10C If ( (LocalVar:TarSelected == LocalVar:1stChr) )
  23286. 0x10C {
  23287. 0x116 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 3
  23288. 0x120 }
  23289. 0x120 Else
  23290. 0x120 {
  23291. 0x123 If ( (LocalVar:TarSelected == LocalVar:2ndChr) )
  23292. 0x123 {
  23293. 0x12D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  23294. 0x137 }
  23295. 0x137 Else
  23296. 0x137 {
  23297. 0x13A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 4
  23298. 0x144 If ( (LocalVar:TarSelected != BattleAddr(&NoTarSelected)) )
  23299. 0x144 {
  23300. 0x14E BattleAddr(&TarSelected) <- LocalVar:TarSelected
  23301. 0x155 If ( (LocalVar:TarSelected == LocalVar:1stChr) )
  23302. 0x155 {
  23303. 0x15F Perform("Fire Roulette"[02DA], EnemyAttack)
  23304. 0x165 }
  23305. 0x165 Else
  23306. 0x165 {
  23307. 0x168 If ( (LocalVar:TarSelected == LocalVar:2ndChr) )
  23308. 0x168 {
  23309. 0x172 Perform("Fire Roulette"[02D8], EnemyAttack)
  23310. 0x178 }
  23311. 0x178 Else
  23312. 0x178 {
  23313. 0x17B Perform("Fire Roulette"[02D9], EnemyAttack)
  23314. 0x181SCRIPT END
  23315.  
  23316.  
  23317. DEATH COUNTER:
  23318.  
  23319. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  23320. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  23321. 0x011Perform("Vanish"[014E], EnemyAttack)
  23322. 0x017LocalVar:Pedestal.BattleAddr(&SelfActive) <- 0
  23323. 0x021LocalVar:Pedestal.BattleAddr(&Targetable) <- 0
  23324. 0x02BLocalVar:Pedestal.BattleAddr(&Needed2EndBattle) <- 0
  23325. 0x035LocalVar:Pedestal.BattleAddr(&AIScriptActive) <- 0
  23326. 0x03FSCRIPT END
  23327.  
  23328.  
  23329.  
  23330.  
  23331. 236 - [EC] Pedestal
  23332.  
  23333.  
  23334. MAIN:
  23335.  
  23336. 0x000SCRIPT END
  23337.  
  23338.  
  23339.  
  23340.  
  23341. 237 - [ED] SOLDIER-2nd
  23342.  
  23343.  
  23344. LocalVar:0000 = LocalVar:TarSelected
  23345. LocalVar:0020 = LocalVar:Counter
  23346. LocalVar:0040 = LocalVar:SpclChance
  23347.  
  23348. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  23349. BattleAddr(&2060) = BattleAddr(&Self)
  23350. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23351. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23352.  
  23353. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  23354. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  23355. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  23356. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  23357. BattleAddr(&4180) = BattleAddr(&MaxHP)
  23358.  
  23359.  
  23360.  
  23361. PRE-BATTLE:
  23362.  
  23363. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  23364. 0x008LocalVar:SpclChance <- 5
  23365. 0x00ESCRIPT END
  23366.  
  23367.  
  23368. MAIN:
  23369.  
  23370. 0x000 If (LocalVar:Counter == 0)
  23371. 0x000 {
  23372. 0x008 If ( ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) And (LocalVar:TarSelected != BattleAddr(&NoTarSelected)) ) )
  23373. 0x008 {
  23374. 0x01D BattleAddr(&TarSelected) <- LocalVar:TarSelected
  23375. 0x024 }
  23376. 0x024 Else
  23377. 0x024 {
  23378. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23379. 0x02F Perform("Fight"[0362], EnemyAttack)
  23380. 0x035 If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  23381. 0x035 {
  23382. 0x049 Perform("Fight"[0362], EnemyAttack)
  23383. 0x04F LocalVar:TarSelected <- BattleAddr(&NoTarSelected)
  23384. 0x056 LocalVar:Counter <- 0
  23385. 0x05C }
  23386. 0x05C Else
  23387. 0x05C {
  23388. 0x05F }
  23389. 0x05F Else
  23390. 0x05F {
  23391. 0x062 If ( ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) And (LocalVar:TarSelected != BattleAddr(&NoTarSelected)) ) )
  23392. 0x062 {
  23393. 0x077 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  23394. 0x07E }
  23395. 0x07E Else
  23396. 0x07E {
  23397. 0x081 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23398. 0x089 Perform("Sword of Doom"[037C], EnemyAttack)
  23399. 0x08F LocalVar:Counter <- 0
  23400. 0x095 }
  23401. 0x095 Else
  23402. 0x095 {
  23403. 0x098POP(LocalVar:Counter)
  23404. 0x099SCRIPT END
  23405.  
  23406.  
  23407. GENERAL COUNTER:
  23408.  
  23409. 0x000 If ( (LocalVar:TarSelected == BattleAddr(&NoTarSelected)) )
  23410. 0x000 {
  23411. 0x00A LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  23412. 0x015 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 3) ) )
  23413. 0x015 {
  23414. 0x034 LocalVar:SpclChance <- 2
  23415. 0x03A LocalVar:Counter <- 2
  23416. 0x040 }
  23417. 0x040 Else
  23418. 0x040 {
  23419. 0x043 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 4) ) )
  23420. 0x043 {
  23421. 0x062 LocalVar:SpclChance <- 3
  23422. 0x068 LocalVar:Counter <- 2
  23423. 0x06E }
  23424. 0x06E Else
  23425. 0x06E {
  23426. 0x071 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 5) ) )
  23427. 0x071 {
  23428. 0x090 LocalVar:SpclChance <- 4
  23429. 0x096 }
  23430. 0x096 Else
  23431. 0x096 {
  23432. 0x099 LocalVar:SpclChance <- 5
  23433. 0x09FSCRIPT END
  23434.  
  23435.  
  23436. MAGIC COUNTER:
  23437.  
  23438. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  23439. 0x00BPerform("Sword of Doom"[037C], EnemyAttack)
  23440. 0x011SCRIPT END
  23441.  
  23442.  
  23443.  
  23444.  
  23445. 238 - [EE] Death Machine
  23446.  
  23447.  
  23448. LocalVar:0000 = LocalVar:Count
  23449. LocalVar:0020 = LocalVar:LastAttacker
  23450.  
  23451. BattleAddr(&2060) = BattleAddr(&Self)
  23452. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23453. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23454.  
  23455. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  23456. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  23457. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  23458. BattleAddr(&4180) = BattleAddr(&MaxHP)
  23459.  
  23460.  
  23461.  
  23462. MAIN:
  23463.  
  23464. 0x000 If (LocalVar:Count == 0)
  23465. 0x000 {
  23466. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23467. 0x010 Perform("100 Needles"[02FC], EnemyAttack)
  23468. 0x016 LocalVar:Count <- 1
  23469. 0x01C }
  23470. 0x01C Else
  23471. 0x01C {
  23472. 0x01F }
  23473. 0x01F Else
  23474. 0x01F {
  23475. 0x022 If (LocalVar:Count == 1)
  23476. 0x022 {
  23477. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23478. 0x02F Perform("W Machine Gun"[0118], EnemyAttack)
  23479. 0x035 If (Not (Random MOD 2) )
  23480. 0x035 {
  23481. 0x03D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23482. 0x045 Perform("W Machine Gun"[0118], EnemyAttack)
  23483. 0x04B LocalVar:Count <- 2
  23484. 0x051 }
  23485. 0x051 Else
  23486. 0x051 {
  23487. 0x054 }
  23488. 0x054 Else
  23489. 0x054 {
  23490. 0x057 If (LocalVar:Count == 2)
  23491. 0x057 {
  23492. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23493. 0x064 Perform("W Machine Gun"[0118], EnemyAttack)
  23494. 0x06A If (Not (Random MOD 2) )
  23495. 0x06A {
  23496. 0x072 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23497. 0x07A Perform("W Machine Gun"[0118], EnemyAttack)
  23498. 0x080 LocalVar:Count <- 0
  23499. 0x086 }
  23500. 0x086 Else
  23501. 0x086 {
  23502. 0x089 }
  23503. 0x089 Else
  23504. 0x089 {
  23505. 0x08C If (LocalVar:Count == 3)
  23506. 0x08C {
  23507. 0x091 If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23508. 0x091 {
  23509. 0x09E BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23510. 0x0A5 }
  23511. 0x0A5 Else
  23512. 0x0A5 {
  23513. 0x0A8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23514. 0x0B0 Perform("100 Needles"[02FC], EnemyAttack)
  23515. 0x0B6 If (Not (Random MOD 2) )
  23516. 0x0B6 {
  23517. 0x0BE If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23518. 0x0BE {
  23519. 0x0CB BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23520. 0x0D2 }
  23521. 0x0D2 Else
  23522. 0x0D2 {
  23523. 0x0D5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23524. 0x0DD Perform("100 Needles"[02FC], EnemyAttack)
  23525. 0x0E3 }
  23526. 0x0E3 Else
  23527. 0x0E3 {
  23528. 0x0E6 If (LocalVar:Count == 4)
  23529. 0x0E6 {
  23530. 0x0EB If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23531. 0x0EB {
  23532. 0x0F8 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23533. 0x0FF }
  23534. 0x0FF Else
  23535. 0x0FF {
  23536. 0x102 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23537. 0x10A Perform("W Machine Gun"[0118], EnemyAttack)
  23538. 0x110 If (Not (Random MOD 2) )
  23539. 0x110 {
  23540. 0x118 If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23541. 0x118 {
  23542. 0x125 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23543. 0x12C }
  23544. 0x12C Else
  23545. 0x12C {
  23546. 0x12F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23547. 0x137 Perform("W Machine Gun"[0118], EnemyAttack)
  23548. 0x13D LocalVar:Count <- 0
  23549. 0x143 }
  23550. 0x143 Else
  23551. 0x143 {
  23552. 0x146 }
  23553. 0x146 Else
  23554. 0x146 {
  23555. 0x149 If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23556. 0x149 {
  23557. 0x156 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23558. 0x15D }
  23559. 0x15D Else
  23560. 0x15D {
  23561. 0x160 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23562. 0x168 Perform("Matra Magic"[0052], EnemyAttack)
  23563. 0x16D If (Not (Random MOD 2) )
  23564. 0x16D {
  23565. 0x175 If ( (LocalVar:LastAttacker.BattleAddr(&DeathStatus) == 0) )
  23566. 0x175 {
  23567. 0x182 BattleAddr(&TarSelected) <- LocalVar:LastAttacker
  23568. 0x189 }
  23569. 0x189 Else
  23570. 0x189 {
  23571. 0x18C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23572. 0x194 Perform("Matra Magic"[0052], EnemyAttack)
  23573. 0x199 LocalVar:Count <- 0
  23574. 0x19F }
  23575. 0x19F Else
  23576. 0x19F {
  23577. 0x1A2POP(LocalVar:Count)
  23578. 0x1A3SCRIPT END
  23579.  
  23580.  
  23581. GENERAL COUNTER:
  23582.  
  23583. 0x000LocalVar:LastAttacker <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  23584. 0x00B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 2) )
  23585. 0x00B {
  23586. 0x023 LocalVar:Count <- 5
  23587. 0x029 }
  23588. 0x029 Else
  23589. 0x029 {
  23590. 0x02C If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 3) )
  23591. 0x02C {
  23592. 0x044 LocalVar:Count <- 3
  23593. 0x04A }
  23594. 0x04A Else
  23595. 0x04A {
  23596. 0x04D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 4) )
  23597. 0x04D {
  23598. 0x065 LocalVar:Count <- 3
  23599. 0x06B }
  23600. 0x06B Else
  23601. 0x06B {
  23602. 0x06E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 6 * 5) )
  23603. 0x06E {
  23604. 0x086 LocalVar:Count <- 4
  23605. 0x08CSCRIPT END
  23606.  
  23607.  
  23608.  
  23609.  
  23610. 239 - [EF] Slalom
  23611.  
  23612.  
  23613. LocalVar:0000 = LocalVar:Count
  23614. LocalVar:0020 = LocalVar:SpclChance
  23615.  
  23616. BattleAddr(&2060) = BattleAddr(&Self)
  23617. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23618. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23619.  
  23620.  
  23621.  
  23622. PRE-BATTLE:
  23623.  
  23624. 0x000 If (Not (Random MOD 2) )
  23625. 0x000 {
  23626. 0x008 LocalVar:Count <- 1
  23627. 0x00E }
  23628. 0x00E Else
  23629. 0x00E {
  23630. 0x011 LocalVar:Count <- 2
  23631. 0x017LocalVar:SpclChance <- 8
  23632. 0x01DSCRIPT END
  23633.  
  23634.  
  23635. MAIN:
  23636.  
  23637. 0x000 If (LocalVar:Count == 0)
  23638. 0x000 {
  23639. 0x008 }
  23640. 0x008 Else
  23641. 0x008 {
  23642. 0x00B If (LocalVar:Count == 1)
  23643. 0x00B {
  23644. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23645. 0x018 Perform("Punch"[0128], EnemyAttack)
  23646. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  23647. 0x01E {
  23648. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23649. 0x02F Perform("Punch"[0128], EnemyAttack)
  23650. 0x035 LocalVar:Count <- LocalVar:Count + 1
  23651. 0x03F }
  23652. 0x03F Else
  23653. 0x03F {
  23654. 0x042 }
  23655. 0x042 Else
  23656. 0x042 {
  23657. 0x045 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23658. 0x04D Perform("Smog"[0129], EnemyAttack)
  23659. 0x053 If (Not (Random MOD LocalVar:SpclChance) )
  23660. 0x053 {
  23661. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23662. 0x064 Perform("Smog"[012A], EnemyAttack)
  23663. 0x06A LocalVar:Count <- 0
  23664. 0x070 }
  23665. 0x070 Else
  23666. 0x070 {
  23667. 0x073POP(LocalVar:Count)
  23668. 0x074SCRIPT END
  23669.  
  23670.  
  23671. GENERAL COUNTER:
  23672.  
  23673. 0x000 If ( (BattleAddr(&Self).BattleAddr(&4160) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 1) )
  23674. 0x000 {
  23675. 0x018 LocalVar:SpclChance <- 2
  23676. 0x01E }
  23677. 0x01E Else
  23678. 0x01E {
  23679. 0x021 If ( (BattleAddr(&Self).BattleAddr(&4160) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 2) )
  23680. 0x021 {
  23681. 0x039 LocalVar:SpclChance <- 3
  23682. 0x03F }
  23683. 0x03F Else
  23684. 0x03F {
  23685. 0x042 If ( (BattleAddr(&Self).BattleAddr(&4160) <= BattleAddr(&Self).BattleAddr(&4180) / 4 * 3) )
  23686. 0x042 {
  23687. 0x05A LocalVar:SpclChance <- 6
  23688. 0x060 }
  23689. 0x060 Else
  23690. 0x060 {
  23691. 0x063 LocalVar:SpclChance <- 8
  23692. 0x069SCRIPT END
  23693.  
  23694.  
  23695.  
  23696.  
  23697. 240 - [F0] Scissors
  23698.  
  23699.  
  23700. LocalVar:0000 = LocalVar:Allies
  23701. LocalVar:0020 = LocalVar:Scissors(Upper)
  23702. LocalVar:0040 = LocalVar:Scissors(Lower)
  23703.  
  23704. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  23705. BattleAddr(&2060) = BattleAddr(&Self)
  23706. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23707. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23708.  
  23709. BattleAddr(&4020) = BattleAddr(&SelfActive)
  23710. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  23711. BattleAddr(&4023) = BattleAddr(&Targetable)
  23712. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  23713. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  23714. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  23715. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  23716. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  23717. BattleAddr(&4150) = BattleAddr(&MaxMP)
  23718. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  23719. BattleAddr(&4180) = BattleAddr(&MaxHP)
  23720.  
  23721.  
  23722.  
  23723. PRE-BATTLE:
  23724.  
  23725. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  23726. 0x014LocalVar:Allies <- LocalVar:Allies AND NOT BattleAddr(&Self)
  23727. 0x020LocalVar:Scissors(Upper) <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 241)
  23728. 0x02ELocalVar:Scissors(Lower) <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 242)
  23729. 0x03CSCRIPT END
  23730.  
  23731.  
  23732. MAIN:
  23733.  
  23734. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  23735. 0x008 If (Not (Random MOD 2) )
  23736. 0x008 {
  23737. 0x010 Perform("Cross Scissor"[0330], EnemyAttack)
  23738. 0x016 }
  23739. 0x016 Else
  23740. 0x016 {
  23741. 0x019 Perform("Scissor Kick"[0331], EnemyAttack)
  23742. 0x01FSCRIPT END
  23743.  
  23744.  
  23745. GENERAL COUNTER:
  23746.  
  23747. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  23748. 0x000 {
  23749. 0x018 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  23750. 0x023 Perform("Scissor Attack"[0332], EnemyAttack)
  23751. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  23752. 0x030 Perform([011F], EnemyAttack)
  23753. 0x036 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  23754. 0x040 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  23755. 0x04A LocalVar:Allies.BattleAddr(&SelfActive) <- 1
  23756. 0x054 LocalVar:Allies.BattleAddr(&Targetable) <- 1
  23757. 0x05E LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 1
  23758. 0x068 LocalVar:Allies.BattleAddr(&AIScriptActive) <- 1
  23759. 0x072 BattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP)
  23760. 0x081 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  23761. 0x090 TransferStatus(BattleAddr(&Self), LocalVar:Allies)
  23762. 0x097 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  23763. 0x0A1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  23764. 0x0AB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  23765. 0x0B5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  23766. 0x0BFSCRIPT END
  23767.  
  23768.  
  23769. DEATH COUNTER:
  23770.  
  23771. 0x000LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  23772. 0x00ALocalVar:Allies.BattleAddr(&Targetable) <- 0
  23773. 0x014LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  23774. 0x01ELocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  23775. 0x028SCRIPT END
  23776.  
  23777.  
  23778.  
  23779.  
  23780. 241 - [F1] Scissors(Upper)
  23781.  
  23782.  
  23783. LocalVar:0000 = LocalVar:Scissors(Lower)
  23784. LocalVar:0020 = LocalVar:Count
  23785. LocalVar:0040 = LocalVar:SpclAttack
  23786.  
  23787. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  23788. BattleAddr(&2060) = BattleAddr(&Self)
  23789. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23790. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23791.  
  23792. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  23793. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  23794. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  23795. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  23796. BattleAddr(&4180) = BattleAddr(&MaxHP)
  23797.  
  23798.  
  23799.  
  23800. PRE-BATTLE:
  23801.  
  23802. 0x000LocalVar:Scissors(Lower) <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  23803. 0x014LocalVar:Scissors(Lower) <- (LocalVar:Scissors(Lower).BattleAddr(&IndexOfActor) == 242)
  23804. 0x022SCRIPT END
  23805.  
  23806.  
  23807. MAIN:
  23808.  
  23809. 0x000 If (LocalVar:Count == 0)
  23810. 0x000 {
  23811. 0x008 }
  23812. 0x008 Else
  23813. 0x008 {
  23814. 0x00B If (LocalVar:Count == 1)
  23815. 0x00B {
  23816. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23817. 0x010 {
  23818. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23819. 0x02C Perform("Cross Scissor"[0330], EnemyAttack)
  23820. 0x032 LocalVar:Count <- LocalVar:Count + 1
  23821. 0x03C }
  23822. 0x03C Else
  23823. 0x03C {
  23824. 0x03F }
  23825. 0x03F Else
  23826. 0x03F {
  23827. 0x042 If (LocalVar:Count == 2)
  23828. 0x042 {
  23829. 0x047 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP)) And (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) ) )
  23830. 0x047 {
  23831. 0x064 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  23832. 0x072 Bad Code0x07D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentHP))
  23833. 0x07F Perform("Bloody Nail"[0334], EnemyAttack)
  23834. 0x085 }
  23835. 0x085 Else
  23836. 0x085 {
  23837. 0x088 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23838. 0x088 {
  23839. 0x095 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23840. 0x0A4 Perform("Cross Scissor"[0330], EnemyAttack)
  23841. 0x0AA If (Not (LocalVar:SpclAttack) )
  23842. 0x0AA {
  23843. 0x0B1 LocalVar:Count <- 3
  23844. 0x0B7 }
  23845. 0x0B7 Else
  23846. 0x0B7 {
  23847. 0x0BA LocalVar:Count <- 0
  23848. 0x0C0 }
  23849. 0x0C0 Else
  23850. 0x0C0 {
  23851. 0x0C3 }
  23852. 0x0C3 Else
  23853. 0x0C3 {
  23854. 0x0C6 If ( ( (Not (LocalVar:SpclAttack) And (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) ) And Not (Random MOD 3) ) )
  23855. 0x0C6 {
  23856. 0x0DE BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  23857. 0x0EC Bad Code0x0F7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected).BattleAddr(&CurrentHP))
  23858. 0x0F9 Perform("Scissor Tornado"[0333], EnemyAttack)
  23859. 0x0FF LocalVar:SpclAttack <- 1
  23860. 0x105 }
  23861. 0x105 Else
  23862. 0x105 {
  23863. 0x108 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23864. 0x108 {
  23865. 0x115 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23866. 0x124 Perform("Cross Scissor"[0330], EnemyAttack)
  23867. 0x12A LocalVar:Count <- 0
  23868. 0x130 }
  23869. 0x130 Else
  23870. 0x130 {
  23871. 0x133POP(LocalVar:Count)
  23872. 0x134SCRIPT END
  23873.  
  23874. NOTE - 0x07C uses HMSK
  23875. - 0x0F6 uses HMSK
  23876.  
  23877.  
  23878.  
  23879.  
  23880. 242 - [F2] Scissors(Lower)
  23881.  
  23882.  
  23883. LocalVar:0000 = LocalVar:Scissors(Upper)
  23884. LocalVar:0020 = LocalVar:TarSelected
  23885. LocalVar:0040 = LocalVar:Count
  23886. LocalVar:0060 = LocalVar:SpclAttack
  23887.  
  23888. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  23889. BattleAddr(&2060) = BattleAddr(&Self)
  23890. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23891. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  23892.  
  23893. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  23894. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  23895. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  23896. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  23897. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  23898. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  23899. BattleAddr(&4180) = BattleAddr(&MaxHP)
  23900.  
  23901.  
  23902.  
  23903. PRE-BATTLE:
  23904.  
  23905. 0x000LocalVar:Scissors(Upper) <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  23906. 0x014LocalVar:Scissors(Upper) <- (LocalVar:Scissors(Upper).BattleAddr(&IndexOfActor) == 241)
  23907. 0x022SCRIPT END
  23908.  
  23909.  
  23910. MAIN:
  23911.  
  23912. 0x000 If (LocalVar:Count == 0)
  23913. 0x000 {
  23914. 0x008 }
  23915. 0x008 Else
  23916. 0x008 {
  23917. 0x00B If (LocalVar:Count == 1)
  23918. 0x00B {
  23919. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23920. 0x010 {
  23921. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23922. 0x02C Perform("Scissor Kick"[0331], EnemyAttack)
  23923. 0x032 LocalVar:Count <- LocalVar:Count + 1
  23924. 0x03C }
  23925. 0x03C Else
  23926. 0x03C {
  23927. 0x03F }
  23928. 0x03F Else
  23929. 0x03F {
  23930. 0x042 If (LocalVar:Count == 2)
  23931. 0x042 {
  23932. 0x047 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Confu [000C])) ) )
  23933. 0x047 {
  23934. 0x060 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23935. 0x06F Perform("Confu"[000C], EnemyAttack)
  23936. 0x074 }
  23937. 0x074 Else
  23938. 0x074 {
  23939. 0x077 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23940. 0x077 {
  23941. 0x084 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23942. 0x093 Perform("Scissor Kick"[0331], EnemyAttack)
  23943. 0x099 LocalVar:Count <- 3
  23944. 0x09F }
  23945. 0x09F Else
  23946. 0x09F {
  23947. 0x0A2 }
  23948. 0x0A2 Else
  23949. 0x0A2 {
  23950. 0x0A5 If ( ( (LocalVar:Scissors(Upper).BattleAddr(&DeathStatus) == 0) And LocalVar:SpclAttack) )
  23951. 0x0A5 {
  23952. 0x0B6 LocalVar:TarSelected <- LocalVar:Scissors(Upper)
  23953. 0x0BD LocalVar:SpclAttack <- 0
  23954. 0x0C3 }
  23955. 0x0C3 Else
  23956. 0x0C3 {
  23957. 0x0C6 LocalVar:TarSelected <- BattleAddr(&Self)
  23958. 0x0CD LocalVar:SpclAttack <- 1
  23959. 0x0D3 If ( ( (LocalVar:TarSelected.BattleAddr(&CurrentHP) <= LocalVar:TarSelected.BattleAddr(&MaxHP) / 3) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure3 [0002])) ) )
  23960. 0x0D3 {
  23961. 0x0F4 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  23962. 0x0FB Perform("Cure3"[0002], EnemyAttack)
  23963. 0x100 }
  23964. 0x100 Else
  23965. 0x100 {
  23966. 0x103 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23967. 0x103 {
  23968. 0x110 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  23969. 0x11F Perform("Scissor Kick"[0331], EnemyAttack)
  23970. 0x125 LocalVar:Count <- 0
  23971. 0x12B }
  23972. 0x12B Else
  23973. 0x12B {
  23974. 0x12EPOP(LocalVar:Count)
  23975. 0x12FSCRIPT END
  23976.  
  23977.  
  23978.  
  23979.  
  23980. 243 - [F3] Guard System
  23981.  
  23982.  
  23983. LocalVar:0000 = LocalVar:Setup
  23984. LocalVar:0020 = LocalVar:CounterpartID
  23985.  
  23986. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  23987. BattleAddr(&2060) = BattleAddr(&Self)
  23988. BattleAddr(&2070) = BattleAddr(&TarSelected)
  23989.  
  23990. BattleAddr(&4020) = BattleAddr(&SelfActive)
  23991. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  23992. BattleAddr(&4023) = BattleAddr(&Targetable)
  23993. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  23994. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  23995. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  23996. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  23997.  
  23998.  
  23999.  
  24000. PRE-BATTLE:
  24001.  
  24002. 0x000LocalVar:CounterpartID <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  24003. 0x014SCRIPT END
  24004.  
  24005.  
  24006. MAIN:
  24007.  
  24008. 0x000 If (Not (LocalVar:Setup) )
  24009. 0x000 {
  24010. 0x007 If (Not (Random MOD 2) )
  24011. 0x007 {
  24012. 0x00F Display String: "Warning! Warning!"
  24013. 0x022 }
  24014. 0x022 Else
  24015. 0x022 {
  24016. 0x025 Display String: "Leave at once!!"
  24017. 0x036 LocalVar:Setup <- 1
  24018. 0x03C LocalVar:CounterpartID.BattleAddr(&AllyAngry) <- 1
  24019. 0x046SCRIPT END
  24020.  
  24021.  
  24022. DEATH COUNTER:
  24023.  
  24024. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  24025. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  24026. 0x011Perform("Vanish"[014E], EnemyAttack)
  24027. 0x017LocalVar:CounterpartID.BattleAddr(&SelfActive) <- 0
  24028. 0x021LocalVar:CounterpartID.BattleAddr(&Needed2EndBattle) <- 0
  24029. 0x02BLocalVar:CounterpartID.BattleAddr(&Targetable) <- 0
  24030. 0x035LocalVar:CounterpartID.BattleAddr(&AIScriptActive) <- 0
  24031. 0x03FSCRIPT END
  24032.  
  24033.  
  24034.  
  24035.  
  24036. 244 - [F4] Quick Machine Gun
  24037.  
  24038.  
  24039. LocalVar:0000 = LocalVar:GuardSysytem
  24040. LocalVar:0020 = LocalVar:RocketLauncher
  24041. LocalVar:0040 = LocalVar:1stChr
  24042. LocalVar:0060 = LocalVar:2ndChr
  24043. LocalVar:0080 = LocalVar:3rdChr
  24044. LocalVar:00A0 = LocalVar:SelfActive
  24045.  
  24046. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  24047. BattleAddr(&2060) = BattleAddr(&Self)
  24048. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24049. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24050.  
  24051. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  24052. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  24053. BattleAddr(&4020) = BattleAddr(&SelfActive)
  24054. BattleAddr(&4023) = BattleAddr(&Targetable)
  24055. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  24056. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  24057. BattleAddr(&41A0) = BattleAddr(&Angry)
  24058. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  24059.  
  24060.  
  24061.  
  24062. PRE-BATTLE:
  24063.  
  24064. 0x000LocalVar:GuardSysytem <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  24065. 0x014LocalVar:GuardSysytem <- (LocalVar:GuardSysytem.BattleAddr(&IndexOfActor) == 243)
  24066. 0x022LocalVar:RocketLauncher <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  24067. 0x036LocalVar:RocketLauncher <- (LocalVar:RocketLauncher.BattleAddr(&IndexOfActor) == 245)
  24068. 0x044LocalVar:1stChr <- FlagBit(0)
  24069. 0x04BLocalVar:2ndChr <- FlagBit(1)
  24070. 0x052LocalVar:3rdChr <- FlagBit(2)
  24071. 0x059SCRIPT END
  24072.  
  24073.  
  24074. MAIN:
  24075.  
  24076. 0x000LocalVar:SelfActive <- 0
  24077. 0x006 If ( (LocalVar:GuardSysytem.BattleAddr(&SelfActive) == 1) )
  24078. 0x006 {
  24079. 0x013 LocalVar:SelfActive <- LocalVar:SelfActive OR 1
  24080. 0x01D If ( (BattleAddr(&Self).BattleAddr(&SelfActive) == 1) )
  24081. 0x01D {
  24082. 0x02A LocalVar:SelfActive <- LocalVar:SelfActive OR 2
  24083. 0x034 If ( (LocalVar:RocketLauncher.BattleAddr(&SelfActive) == 1) )
  24084. 0x034 {
  24085. 0x041 LocalVar:SelfActive <- LocalVar:SelfActive OR 4
  24086. 0x04B If ( (BattleAddr(&Self).BattleAddr(&AllyAngry) == 1) )
  24087. 0x04B {
  24088. 0x058 If (LocalVar:SelfActive == 1)
  24089. 0x058 {
  24090. 0x060 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 0) )
  24091. 0x060 {
  24092. 0x06D If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24093. 0x06D {
  24094. 0x07A BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24095. 0x084 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24096. 0x08E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24097. 0x095 Perform("Appear"[014F], EnemyAttack)
  24098. 0x09B If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  24099. 0x09B {
  24100. 0x0A8 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  24101. 0x0AF Perform("Machine Gun"[02DE], EnemyAttack)
  24102. 0x0B5 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  24103. 0x0B5 {
  24104. 0x0C2 BattleAddr(&TarSelected) <- LocalVar:1stChr
  24105. 0x0C9 Perform("Machine Gun"[02DE], EnemyAttack)
  24106. 0x0CF If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  24107. 0x0CF {
  24108. 0x0DC BattleAddr(&TarSelected) <- LocalVar:3rdChr
  24109. 0x0E3 Perform("Machine Gun"[02DE], EnemyAttack)
  24110. 0x0E9 }
  24111. 0x0E9 Else
  24112. 0x0E9 {
  24113. 0x0EC BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24114. 0x0F6 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24115. 0x100 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24116. 0x107 Perform("Appear"[014F], EnemyAttack)
  24117. 0x10D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24118. 0x115 Perform("Machine Gun"[0110], EnemyAttack)
  24119. 0x11B }
  24120. 0x11B Else
  24121. 0x11B {
  24122. 0x11E BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24123. 0x128 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24124. 0x132 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24125. 0x139 Perform("Appear"[014F], EnemyAttack)
  24126. 0x13F BattleAddr(&Self).BattleAddr(&Angry) <- 0
  24127. 0x149 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  24128. 0x149 {
  24129. 0x156 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  24130. 0x15D Perform("Machine Gun"[02DE], EnemyAttack)
  24131. 0x163 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  24132. 0x163 {
  24133. 0x170 BattleAddr(&TarSelected) <- LocalVar:1stChr
  24134. 0x177 Perform("Machine Gun"[02DE], EnemyAttack)
  24135. 0x17D If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  24136. 0x17D {
  24137. 0x18A BattleAddr(&TarSelected) <- LocalVar:3rdChr
  24138. 0x191 Perform("Machine Gun"[02DE], EnemyAttack)
  24139. 0x197 }
  24140. 0x197 Else
  24141. 0x197 {
  24142. 0x19A }
  24143. 0x19A Else
  24144. 0x19A {
  24145. 0x19D If (LocalVar:SelfActive == 3)
  24146. 0x19D {
  24147. 0x1A2 If ( (LocalVar:RocketLauncher.BattleAddr(&DeathStatus) == 0) )
  24148. 0x1A2 {
  24149. 0x1AF If (Random MOD 4 == 0)
  24150. 0x1AF {
  24151. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24152. 0x1BF Perform("Vanish"[014E], EnemyAttack)
  24153. 0x1C5 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  24154. 0x1CF BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  24155. 0x1D9 LocalVar:RocketLauncher.BattleAddr(&Angry) <- 1
  24156. 0x1E3 }
  24157. 0x1E3 Else
  24158. 0x1E3 {
  24159. 0x1E6 }
  24160. 0x1E6 Else
  24161. 0x1E6 {
  24162. 0x1E9 If (Random MOD 4 == 1)
  24163. 0x1E9 {
  24164. 0x1EE BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24165. 0x1F5 Perform("Vanish"[014E], EnemyAttack)
  24166. 0x1FB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  24167. 0x205 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  24168. 0x20F }
  24169. 0x20F Else
  24170. 0x20F {
  24171. 0x212 }
  24172. 0x212 Else
  24173. 0x212 {
  24174. 0x215 If (Random MOD 4 == 2)
  24175. 0x215 {
  24176. 0x21A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24177. 0x222 Perform("Machine Gun"[0110], EnemyAttack)
  24178. 0x228 }
  24179. 0x228 Else
  24180. 0x228 {
  24181. 0x22B }
  24182. 0x22B Else
  24183. 0x22B {
  24184. 0x22E If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  24185. 0x22E {
  24186. 0x23B BattleAddr(&TarSelected) <- LocalVar:2ndChr
  24187. 0x242 Perform("Machine Gun"[02DE], EnemyAttack)
  24188. 0x248 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  24189. 0x248 {
  24190. 0x255 BattleAddr(&TarSelected) <- LocalVar:1stChr
  24191. 0x25C Perform("Machine Gun"[02DE], EnemyAttack)
  24192. 0x262 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  24193. 0x262 {
  24194. 0x26F BattleAddr(&TarSelected) <- LocalVar:3rdChr
  24195. 0x276 Perform("Machine Gun"[02DE], EnemyAttack)
  24196. 0x27C }
  24197. 0x27C Else
  24198. 0x27C {
  24199. 0x27F POP(Random MOD 4)
  24200. 0x280 }
  24201. 0x280 Else
  24202. 0x280 {
  24203. 0x283 If (Not (Random MOD 2) )
  24204. 0x283 {
  24205. 0x28B If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  24206. 0x28B {
  24207. 0x298 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  24208. 0x29F Perform("Machine Gun"[02DE], EnemyAttack)
  24209. 0x2A5 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  24210. 0x2A5 {
  24211. 0x2B2 BattleAddr(&TarSelected) <- LocalVar:1stChr
  24212. 0x2B9 Perform("Machine Gun"[02DE], EnemyAttack)
  24213. 0x2BF If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  24214. 0x2BF {
  24215. 0x2CC BattleAddr(&TarSelected) <- LocalVar:3rdChr
  24216. 0x2D3 Perform("Machine Gun"[02DE], EnemyAttack)
  24217. 0x2D9 }
  24218. 0x2D9 Else
  24219. 0x2D9 {
  24220. 0x2DC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24221. 0x2E4 Perform("Machine Gun"[0110], EnemyAttack)
  24222. 0x2EA }
  24223. 0x2EA Else
  24224. 0x2EA {
  24225. 0x2ED }
  24226. 0x2ED Else
  24227. 0x2ED {
  24228. 0x2F0 If (LocalVar:SelfActive == 5)
  24229. 0x2F0 {
  24230. 0x2F5 }
  24231. 0x2F5 Else
  24232. 0x2F5 {
  24233. 0x2F8 }
  24234. 0x2F8 Else
  24235. 0x2F8 {
  24236. 0x2FB POP(LocalVar:SelfActive)
  24237. 0x2FCSCRIPT END
  24238.  
  24239.  
  24240.  
  24241.  
  24242. 245 - [F5] Rocket Launcher
  24243.  
  24244.  
  24245. LocalVar:0000 = LocalVar:Guard System
  24246. LocalVar:0020 = LocalVar:QuickMachineGun
  24247. LocalVar:0040 = LocalVar:SelfActive
  24248.  
  24249. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  24250. BattleAddr(&2060) = BattleAddr(&Self)
  24251. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24252. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24253.  
  24254. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  24255. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  24256. BattleAddr(&4020) = BattleAddr(&SelfActive)
  24257. BattleAddr(&4023) = BattleAddr(&Targetable)
  24258. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  24259. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  24260. BattleAddr(&41A0) = BattleAddr(&Angry)
  24261. BattleAddr(&41C0) = BattleAddr(&AllyAngry)
  24262.  
  24263.  
  24264.  
  24265. PRE-BATTLE:
  24266.  
  24267. 0x000LocalVar:Guard System <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  24268. 0x014LocalVar:Guard System <- (LocalVar:Guard System.BattleAddr(&IndexOfActor) == 243)
  24269. 0x022LocalVar:QuickMachineGun <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  24270. 0x036LocalVar:QuickMachineGun <- (LocalVar:QuickMachineGun.BattleAddr(&IndexOfActor) == 244)
  24271. 0x044SCRIPT END
  24272.  
  24273.  
  24274. MAIN:
  24275.  
  24276. 0x000LocalVar:SelfActive <- 0
  24277. 0x006 If ( (LocalVar:Guard System.BattleAddr(&SelfActive) == 1) )
  24278. 0x006 {
  24279. 0x013 LocalVar:SelfActive <- LocalVar:SelfActive OR 1
  24280. 0x01D If ( (BattleAddr(&Self).BattleAddr(&SelfActive) == 1) )
  24281. 0x01D {
  24282. 0x02A LocalVar:SelfActive <- LocalVar:SelfActive OR 2
  24283. 0x034 If ( (LocalVar:QuickMachineGun.BattleAddr(&SelfActive) == 1) )
  24284. 0x034 {
  24285. 0x041 LocalVar:SelfActive <- LocalVar:SelfActive OR 4
  24286. 0x04B If ( (BattleAddr(&Self).BattleAddr(&AllyAngry) == 1) )
  24287. 0x04B {
  24288. 0x058 If (LocalVar:SelfActive == 1)
  24289. 0x058 {
  24290. 0x060 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 0) )
  24291. 0x060 {
  24292. 0x06D If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24293. 0x06D {
  24294. 0x07A BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24295. 0x084 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24296. 0x08E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24297. 0x095 Perform("Appear"[014F], EnemyAttack)
  24298. 0x09B If (Not (Random MOD 4) )
  24299. 0x09B {
  24300. 0x0A3 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24301. 0x0A3 {
  24302. 0x0B0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24303. 0x0BF }
  24304. 0x0BF Else
  24305. 0x0BF {
  24306. 0x0C2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24307. 0x0CA Perform("Confu Missile"[02DF], EnemyAttack)
  24308. 0x0D0 }
  24309. 0x0D0 Else
  24310. 0x0D0 {
  24311. 0x0D3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24312. 0x0DB Perform("Rocket Launcher"[0123], EnemyAttack)
  24313. 0x0E1 }
  24314. 0x0E1 Else
  24315. 0x0E1 {
  24316. 0x0E4 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24317. 0x0EE BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24318. 0x0F8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24319. 0x0FF Perform("Appear"[014F], EnemyAttack)
  24320. 0x105 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24321. 0x10D Perform("Rocket Launcher"[0123], EnemyAttack)
  24322. 0x113 }
  24323. 0x113 Else
  24324. 0x113 {
  24325. 0x116 BattleAddr(&Self).BattleAddr(&SelfActive) <- 1
  24326. 0x120 BattleAddr(&Self).BattleAddr(&Targetable) <- 1
  24327. 0x12A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24328. 0x131 Perform("Appear"[014F], EnemyAttack)
  24329. 0x137 BattleAddr(&Self).BattleAddr(&Angry) <- 0
  24330. 0x141 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24331. 0x149 Perform("Rocket Launcher"[0123], EnemyAttack)
  24332. 0x14F }
  24333. 0x14F Else
  24334. 0x14F {
  24335. 0x152 }
  24336. 0x152 Else
  24337. 0x152 {
  24338. 0x155 If (LocalVar:SelfActive == 3)
  24339. 0x155 {
  24340. 0x15A If ( (LocalVar:QuickMachineGun.BattleAddr(&DeathStatus) == 0) )
  24341. 0x15A {
  24342. 0x167 If (Random MOD 4 == 0)
  24343. 0x167 {
  24344. 0x170 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24345. 0x177 Perform("Vanish"[014E], EnemyAttack)
  24346. 0x17D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  24347. 0x187 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  24348. 0x191 LocalVar:QuickMachineGun.BattleAddr(&Angry) <- 1
  24349. 0x19B }
  24350. 0x19B Else
  24351. 0x19B {
  24352. 0x19E }
  24353. 0x19E Else
  24354. 0x19E {
  24355. 0x1A1 If (Random MOD 4 == 1)
  24356. 0x1A1 {
  24357. 0x1A6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  24358. 0x1AD Perform("Vanish"[014E], EnemyAttack)
  24359. 0x1B3 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  24360. 0x1BD BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  24361. 0x1C7 }
  24362. 0x1C7 Else
  24363. 0x1C7 {
  24364. 0x1CA }
  24365. 0x1CA Else
  24366. 0x1CA {
  24367. 0x1CD If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24368. 0x1CD {
  24369. 0x1DA If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24370. 0x1DA {
  24371. 0x1E7 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24372. 0x1F6 }
  24373. 0x1F6 Else
  24374. 0x1F6 {
  24375. 0x1F9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24376. 0x201 Perform("Confu Missile"[02DF], EnemyAttack)
  24377. 0x207 }
  24378. 0x207 Else
  24379. 0x207 {
  24380. 0x20A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24381. 0x212 Perform("Rocket Launcher"[0123], EnemyAttack)
  24382. 0x218 }
  24383. 0x218 Else
  24384. 0x218 {
  24385. 0x21B POP(Random MOD 4)
  24386. 0x21C }
  24387. 0x21C Else
  24388. 0x21C {
  24389. 0x21F If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24390. 0x21F {
  24391. 0x22C If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24392. 0x22C {
  24393. 0x239 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  24394. 0x248 }
  24395. 0x248 Else
  24396. 0x248 {
  24397. 0x24B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24398. 0x253 Perform("Confu Missile"[02DF], EnemyAttack)
  24399. 0x259 }
  24400. 0x259 Else
  24401. 0x259 {
  24402. 0x25C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24403. 0x264 Perform("Rocket Launcher"[0123], EnemyAttack)
  24404. 0x26A }
  24405. 0x26A Else
  24406. 0x26A {
  24407. 0x26D }
  24408. 0x26D Else
  24409. 0x26D {
  24410. 0x270 If (LocalVar:SelfActive == 5)
  24411. 0x270 {
  24412. 0x275 }
  24413. 0x275 Else
  24414. 0x275 {
  24415. 0x278 }
  24416. 0x278 Else
  24417. 0x278 {
  24418. 0x27B POP(LocalVar:SelfActive)
  24419. 0x27CSCRIPT END
  24420.  
  24421.  
  24422.  
  24423.  
  24424. 246 - [F6] Ghost Ship
  24425.  
  24426.  
  24427. LocalVar:0000 = LocalVar:Count
  24428. LocalVar:0020 = LocalVar:SpclHitCount
  24429.  
  24430. BattleAddr(&2060) = BattleAddr(&Self)
  24431. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24432. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24433.  
  24434. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  24435. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  24436.  
  24437.  
  24438.  
  24439. PRE-BATTLE:
  24440.  
  24441. 0x000LocalVar:Count <- Random MOD 6
  24442. 0x008LocalVar:SpclHitCount <- 2
  24443. 0x00ESCRIPT END
  24444.  
  24445.  
  24446. MAIN:
  24447.  
  24448. 0x000 If (LocalVar:Count == 0)
  24449. 0x000 {
  24450. 0x008 }
  24451. 0x008 Else
  24452. 0x008 {
  24453. 0x00B If (LocalVar:Count == 1)
  24454. 0x00B {
  24455. 0x010 }
  24456. 0x010 Else
  24457. 0x010 {
  24458. 0x013 If (LocalVar:Count == 2)
  24459. 0x013 {
  24460. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24461. 0x020 Perform("Fight"[0362], EnemyAttack)
  24462. 0x026 If (Not (Random MOD 3) )
  24463. 0x026 {
  24464. 0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24465. 0x036 Perform("Fight"[0362], EnemyAttack)
  24466. 0x03C LocalVar:Count <- 3
  24467. 0x042 }
  24468. 0x042 Else
  24469. 0x042 {
  24470. 0x045 LocalVar:Count <- LocalVar:Count + 1
  24471. 0x04F }
  24472. 0x04F Else
  24473. 0x04F {
  24474. 0x052 }
  24475. 0x052 Else
  24476. 0x052 {
  24477. 0x055 If (LocalVar:Count == 3)
  24478. 0x055 {
  24479. 0x05A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24480. 0x062 Perform("Fight"[0362], EnemyAttack)
  24481. 0x068 If (Not (Random MOD 3) )
  24482. 0x068 {
  24483. 0x070 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24484. 0x078 Perform("Fight"[0362], EnemyAttack)
  24485. 0x07E LocalVar:Count <- 4
  24486. 0x084 }
  24487. 0x084 Else
  24488. 0x084 {
  24489. 0x087 }
  24490. 0x087 Else
  24491. 0x087 {
  24492. 0x08A If (LocalVar:Count == 4)
  24493. 0x08A {
  24494. 0x08F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(St.Elmos Fire [0388])) )
  24495. 0x08F {
  24496. 0x09E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24497. 0x0A6 Perform("St.Elmos Fire"[0388], EnemyAttack)
  24498. 0x0AC }
  24499. 0x0AC Else
  24500. 0x0AC {
  24501. 0x0AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24502. 0x0B7 Perform("Fight"[0362], EnemyAttack)
  24503. 0x0BD LocalVar:Count <- 5
  24504. 0x0C3 }
  24505. 0x0C3 Else
  24506. 0x0C3 {
  24507. 0x0C6 }
  24508. 0x0C6 Else
  24509. 0x0C6 {
  24510. 0x0C9 If ( (LocalVar:SpclHitCount And Not (Random MOD 2) ) )
  24511. 0x0C9 {
  24512. 0x0D5 Bad Code0x0E0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  24513. 0x0E2 Perform("Goannai"[0389], EnemyAttack)
  24514. 0x0E8 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  24515. 0x0F2 }
  24516. 0x0F2 Else
  24517. 0x0F2 {
  24518. 0x0F5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24519. 0x0FD Perform("Fight"[0362], EnemyAttack)
  24520. 0x103 LocalVar:Count <- 0
  24521. 0x109 }
  24522. 0x109 Else
  24523. 0x109 {
  24524. 0x10CPOP(LocalVar:Count)
  24525. 0x10DSCRIPT END
  24526.  
  24527. NOTE - 0x0DF uses HMSK
  24528.  
  24529.  
  24530.  
  24531.  
  24532. 247 - [F7] Corvette
  24533.  
  24534.  
  24535. LocalVar:0000 = LocalVar:Count
  24536. LocalVar:0020 = LocalVar:SpclChance
  24537. LocalVar:0040 = LocalVar:TarSelected
  24538.  
  24539. BattleAddr(&2060) = BattleAddr(&Self)
  24540. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24541. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24542.  
  24543. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  24544. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  24545. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  24546. BattleAddr(&4180) = BattleAddr(&MaxHP)
  24547.  
  24548.  
  24549.  
  24550. PRE-BATTLE:
  24551.  
  24552. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  24553. 0x008LocalVar:SpclChance <- 5
  24554. 0x00ELocalVar:Count <- Random MOD 4
  24555. 0x016SCRIPT END
  24556.  
  24557.  
  24558. MAIN:
  24559.  
  24560. 0x000 If (LocalVar:Count == 0)
  24561. 0x000 {
  24562. 0x008 }
  24563. 0x008 Else
  24564. 0x008 {
  24565. 0x00B If (LocalVar:Count == 1)
  24566. 0x00B {
  24567. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24568. 0x018 Perform("Gash"[02E9], EnemyAttack)
  24569. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  24570. 0x01E {
  24571. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24572. 0x02F Perform("Gash"[02E9], EnemyAttack)
  24573. 0x035 LocalVar:Count <- LocalVar:Count + 1
  24574. 0x03F }
  24575. 0x03F Else
  24576. 0x03F {
  24577. 0x042 }
  24578. 0x042 Else
  24579. 0x042 {
  24580. 0x045 If (LocalVar:Count == 2)
  24581. 0x045 {
  24582. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24583. 0x052 Perform("Spinning Cut"[03A4], EnemyAttack)
  24584. 0x058 If ( ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  24585. 0x058 {
  24586. 0x06C Perform("Spinning Cut"[03A4], EnemyAttack)
  24587. 0x072 LocalVar:Count <- 0
  24588. 0x078 }
  24589. 0x078 Else
  24590. 0x078 {
  24591. 0x07B }
  24592. 0x07B Else
  24593. 0x07B {
  24594. 0x07E If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  24595. 0x07E {
  24596. 0x08B BattleAddr(&TarSelected) <- LocalVar:TarSelected
  24597. 0x092 Perform("Slap"[0173], EnemyAttack)
  24598. 0x098 LocalVar:Count <- 1
  24599. 0x09E }
  24600. 0x09E Else
  24601. 0x09E {
  24602. 0x0A1POP(LocalVar:Count)
  24603. 0x0A2SCRIPT END
  24604.  
  24605.  
  24606. GENERAL COUNTER:
  24607.  
  24608. 0x000LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  24609. 0x00B If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 3) ) )
  24610. 0x00B {
  24611. 0x02A LocalVar:SpclChance <- 2
  24612. 0x030 LocalVar:Count <- 3
  24613. 0x036 }
  24614. 0x036 Else
  24615. 0x036 {
  24616. 0x039 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 4) ) )
  24617. 0x039 {
  24618. 0x058 LocalVar:SpclChance <- 3
  24619. 0x05E LocalVar:Count <- 3
  24620. 0x064 }
  24621. 0x064 Else
  24622. 0x064 {
  24623. 0x067 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 5) ) )
  24624. 0x067 {
  24625. 0x086 LocalVar:SpclChance <- 4
  24626. 0x08C LocalVar:Count <- 3
  24627. 0x092 }
  24628. 0x092 Else
  24629. 0x092 {
  24630. 0x095 LocalVar:SpclChance <- 5
  24631. 0x09BSCRIPT END
  24632.  
  24633.  
  24634.  
  24635.  
  24636. 248 - [F8] Diver Nest
  24637.  
  24638.  
  24639. LocalVar:0000 = LocalVar:Stage
  24640.  
  24641. BattleAddr(&2060) = BattleAddr(&Self)
  24642. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24643. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24644.  
  24645. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  24646. BattleAddr(&4180) = BattleAddr(&MaxHP)
  24647.  
  24648.  
  24649.  
  24650. MAIN:
  24651.  
  24652. 0x000 If (LocalVar:Stage == 0)
  24653. 0x000 {
  24654. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24655. 0x010 Perform("Bodyblow"[012D], EnemyAttack)
  24656. 0x016 }
  24657. 0x016 Else
  24658. 0x016 {
  24659. 0x019 }
  24660. 0x019 Else
  24661. 0x019 {
  24662. 0x01C If (LocalVar:Stage == 1)
  24663. 0x01C {
  24664. 0x021 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24665. 0x029 Perform("Bodyblow"[012D], EnemyAttack)
  24666. 0x02F If (Not (Random MOD 2) )
  24667. 0x02F {
  24668. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24669. 0x03F Perform("Bodyblow"[012D], EnemyAttack)
  24670. 0x045 }
  24671. 0x045 Else
  24672. 0x045 {
  24673. 0x048 }
  24674. 0x048 Else
  24675. 0x048 {
  24676. 0x04B If (LocalVar:Stage == 2)
  24677. 0x04B {
  24678. 0x050 If (Not (Random MOD 3) )
  24679. 0x050 {
  24680. 0x058 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24681. 0x060 Perform("Bodyblow"[012D], EnemyAttack)
  24682. 0x066 If (Not (Random MOD 2) )
  24683. 0x066 {
  24684. 0x06E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24685. 0x076 Perform("Bodyblow"[012D], EnemyAttack)
  24686. 0x07C }
  24687. 0x07C Else
  24688. 0x07C {
  24689. 0x07F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24690. 0x087 Perform("Tornade Wave"[02FA], EnemyAttack)
  24691. 0x08D If (Not (Random MOD 2) )
  24692. 0x08D {
  24693. 0x095 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24694. 0x09D Perform("Tornade Wave"[02FA], EnemyAttack)
  24695. 0x0A3 }
  24696. 0x0A3 Else
  24697. 0x0A3 {
  24698. 0x0A6 }
  24699. 0x0A6 Else
  24700. 0x0A6 {
  24701. 0x0A9 If (Not (Random MOD 3) )
  24702. 0x0A9 {
  24703. 0x0B1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24704. 0x0B9 Perform("Tornade Wave"[02FA], EnemyAttack)
  24705. 0x0BF If (Not (Random MOD 2) )
  24706. 0x0BF {
  24707. 0x0C7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24708. 0x0CF Perform("Tornade Wave"[02FA], EnemyAttack)
  24709. 0x0D5 }
  24710. 0x0D5 Else
  24711. 0x0D5 {
  24712. 0x0D8 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  24713. 0x0DF Perform("Big Wave"[02F9], EnemyAttack)
  24714. 0x0E5 }
  24715. 0x0E5 Else
  24716. 0x0E5 {
  24717. 0x0E8POP(LocalVar:Stage)
  24718. 0x0E9SCRIPT END
  24719.  
  24720.  
  24721. GENERAL COUNTER:
  24722.  
  24723. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  24724. 0x000 {
  24725. 0x018 LocalVar:Stage <- 3
  24726. 0x01E }
  24727. 0x01E Else
  24728. 0x01E {
  24729. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  24730. 0x021 {
  24731. 0x039 LocalVar:Stage <- 2
  24732. 0x03F }
  24733. 0x03F Else
  24734. 0x03F {
  24735. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  24736. 0x042 {
  24737. 0x05A LocalVar:Stage <- 1
  24738. 0x060 }
  24739. 0x060 Else
  24740. 0x060 {
  24741. 0x063 LocalVar:Stage <- 0
  24742. 0x069SCRIPT END
  24743.  
  24744.  
  24745.  
  24746.  
  24747. 249 - [F9] Submarine Crew
  24748.  
  24749.  
  24750. LocalVar:0000 = LocalVar:HitCount
  24751. LocalVar:0020 = LocalVar:Stage
  24752. LocalVar:0040 = LocalVar:OpenAttack
  24753.  
  24754. BattleAddr(&2060) = BattleAddr(&Self)
  24755. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24756. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24757. BattleAddr(&2140) = BattleAddr(&FormationID)
  24758.  
  24759. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  24760. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  24761. BattleAddr(&4180) = BattleAddr(&MaxHP)
  24762.  
  24763.  
  24764.  
  24765. PRE-BATTLE:
  24766.  
  24767. 0x000LocalVar:HitCount <- 3
  24768. 0x006SCRIPT END
  24769.  
  24770.  
  24771. MAIN:
  24772.  
  24773. 0x000 If ( ( (LocalVar:OpenAttack == 0) And (BattleAddr(&FormationID) == 786) ) )
  24774. 0x000 {
  24775. 0x011 Display String: "“Eyaaarrrgh!”"
  24776. 0x020 LocalVar:OpenAttack <- 1
  24777. 0x026 Pause(0)
  24778. 0x02B If (Not (LocalVar:Stage) )
  24779. 0x02B {
  24780. 0x032 If (Not (LocalVar:HitCount) )
  24781. 0x032 {
  24782. 0x039 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24783. 0x041 Perform("Machine Gun"[0110], EnemyAttack)
  24784. 0x047 }
  24785. 0x047 Else
  24786. 0x047 {
  24787. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24788. 0x052 Perform("Machine Gun"[0110], EnemyAttack)
  24789. 0x058 LocalVar:HitCount <- LocalVar:HitCount - 1
  24790. 0x062 }
  24791. 0x062 Else
  24792. 0x062 {
  24793. 0x065 Bad Code0x070 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  24794. 0x072 Perform("Machine Gun"[0110], EnemyAttack)
  24795. 0x078SCRIPT END
  24796.  
  24797. NOTE - 0x06F uses LMSK
  24798.  
  24799.  
  24800. GENERAL COUNTER:
  24801.  
  24802. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  24803. 0x000 {
  24804. 0x018 LocalVar:Stage <- 1
  24805. 0x01E }
  24806. 0x01E Else
  24807. 0x01E {
  24808. 0x021 LocalVar:Stage <- 0
  24809. 0x027SCRIPT END
  24810.  
  24811.  
  24812. DEATH COUNTER:
  24813.  
  24814. 0x000 If ( (BattleAddr(&FormationID) == 786) )
  24815. 0x000 {
  24816. 0x00A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  24817. 0x00A {
  24818. 0x016 Display String: "“Captain… I can't hold on any longer!”"
  24819. 0x03E }
  24820. 0x03E Else
  24821. 0x03E {
  24822. 0x041 }
  24823. 0x041 Else
  24824. 0x041 {
  24825. 0x044 Display String: "“The Special Pose…”"
  24826. 0x059 POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  24827. 0x05A Pause(0)
  24828. 0x05FSCRIPT END
  24829.  
  24830.  
  24831.  
  24832.  
  24833. 250 - [FA] Captain
  24834.  
  24835.  
  24836. LocalVar:0000 = LocalVar:1stChr
  24837. LocalVar:0020 = LocalVar:2ndChr
  24838. LocalVar:0040 = LocalVar:3rdChr
  24839. LocalVar:0060 = LocalVar:HitCount
  24840. LocalVar:0080 = LocalVar:Stage
  24841. LocalVar:00A0 = LocalVar:OpenAttack
  24842.  
  24843. BattleAddr(&2060) = BattleAddr(&Self)
  24844. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24845. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24846. BattleAddr(&2140) = BattleAddr(&FormationID)
  24847.  
  24848. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  24849. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  24850. BattleAddr(&4180) = BattleAddr(&MaxHP)
  24851.  
  24852.  
  24853.  
  24854. PRE-BATTLE:
  24855.  
  24856. 0x000LocalVar:HitCount <- 3
  24857. 0x006LocalVar:1stChr <- FlagBit(0)
  24858. 0x00DLocalVar:2ndChr <- FlagBit(1)
  24859. 0x014LocalVar:3rdChr <- FlagBit(2)
  24860. 0x01BSCRIPT END
  24861.  
  24862.  
  24863. MAIN:
  24864.  
  24865. 0x000 If ( ( (LocalVar:OpenAttack == 0) And (BattleAddr(&FormationID) == 786) ) )
  24866. 0x000 {
  24867. 0x011 Display String: "Captain “Let me show you how it's done.”"
  24868. 0x03B Pause(0)
  24869. 0x040 LocalVar:OpenAttack <- 1
  24870. 0x046 If (Not (LocalVar:Stage) )
  24871. 0x046 {
  24872. 0x04D If (Not (LocalVar:HitCount) )
  24873. 0x04D {
  24874. 0x054 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24875. 0x05C Perform("Machine Gun"[0110], EnemyAttack)
  24876. 0x062 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24877. 0x06A Perform("Machine Gun"[0110], EnemyAttack)
  24878. 0x070 LocalVar:HitCount <- 3
  24879. 0x076 }
  24880. 0x076 Else
  24881. 0x076 {
  24882. 0x079 Bad Code0x084 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  24883. 0x086 Perform("Machine Gun"[0110], EnemyAttack)
  24884. 0x08C LocalVar:HitCount <- LocalVar:HitCount - 1
  24885. 0x096 }
  24886. 0x096 Else
  24887. 0x096 {
  24888. 0x099 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  24889. 0x099 {
  24890. 0x0A6 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  24891. 0x0AD Perform("Machine Gun"[0110], EnemyAttack)
  24892. 0x0B3 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  24893. 0x0B3 {
  24894. 0x0C0 BattleAddr(&TarSelected) <- LocalVar:1stChr
  24895. 0x0C7 Perform("Machine Gun"[0110], EnemyAttack)
  24896. 0x0CD If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  24897. 0x0CD {
  24898. 0x0DA BattleAddr(&TarSelected) <- LocalVar:3rdChr
  24899. 0x0E1 Perform("Machine Gun"[0110], EnemyAttack)
  24900. 0x0E7SCRIPT END
  24901.  
  24902. NOTE - 0x083 uses LMSK
  24903.  
  24904.  
  24905. GENERAL COUNTER:
  24906.  
  24907. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  24908. 0x000 {
  24909. 0x018 LocalVar:Stage <- 1
  24910. 0x01E }
  24911. 0x01E Else
  24912. 0x01E {
  24913. 0x021 LocalVar:Stage <- 0
  24914. 0x027SCRIPT END
  24915.  
  24916.  
  24917. DEATH COUNTER:
  24918.  
  24919. 0x000 If ( (BattleAddr(&FormationID) == 786) )
  24920. 0x000 {
  24921. 0x00A Display String: "Captain “Ugh… they got me.”"
  24922. 0x027 Pause(0)
  24923. 0x02CSCRIPT END
  24924.  
  24925.  
  24926.  
  24927.  
  24928. 251 - [FB] Underwater MP
  24929.  
  24930.  
  24931. LocalVar:0000 = LocalVar:Count
  24932.  
  24933. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24934. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24935.  
  24936.  
  24937.  
  24938. MAIN:
  24939.  
  24940. 0x000 If (LocalVar:Count == 0)
  24941. 0x000 {
  24942. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24943. 0x010 Perform("Machine Gun"[0110], EnemyAttack)
  24944. 0x016 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24945. 0x01E Perform("Machine Gun"[0110], EnemyAttack)
  24946. 0x024 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24947. 0x02C Perform("Machine Gun"[0110], EnemyAttack)
  24948. 0x032 LocalVar:Count <- 1
  24949. 0x038 }
  24950. 0x038 Else
  24951. 0x038 {
  24952. 0x03B }
  24953. 0x03B Else
  24954. 0x03B {
  24955. 0x03E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24956. 0x046 Perform("Hand Grenade"[017C], EnemyAttack)
  24957. 0x04C LocalVar:Count <- 0
  24958. 0x052 }
  24959. 0x052 Else
  24960. 0x052 {
  24961. 0x055POP(LocalVar:Count)
  24962. 0x056SCRIPT END
  24963.  
  24964.  
  24965.  
  24966.  
  24967. 252 - [FC] Senior Grunt
  24968.  
  24969.  
  24970. LocalVar:0000 = LocalVar:EnemyAttack
  24971.  
  24972. BattleAddr(&2060) = BattleAddr(&Self)
  24973. BattleAddr(&2070) = BattleAddr(&TarSelected)
  24974. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  24975.  
  24976. BattleAddr(&4026) = BattleAddr(&BackRow)
  24977.  
  24978.  
  24979.  
  24980. MAIN:
  24981.  
  24982. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  24983. 0x008 If ( (BattleAddr(&Self).BattleAddr(&BackRow) == 0) )
  24984. 0x008 {
  24985. 0x015 If (Random MOD 4 == 0)
  24986. 0x015 {
  24987. 0x01E LocalVar:EnemyAttack <- 737 (Water Wave)
  24988. 0x025 }
  24989. 0x025 Else
  24990. 0x025 {
  24991. 0x028 }
  24992. 0x028 Else
  24993. 0x028 {
  24994. 0x02B If (Random MOD 4 == 1)
  24995. 0x02B {
  24996. 0x030 LocalVar:EnemyAttack <- 736 (Harrier Beam)
  24997. 0x037 }
  24998. 0x037 Else
  24999. 0x037 {
  25000. 0x03A }
  25001. 0x03A Else
  25002. 0x03A {
  25003. 0x03D LocalVar:EnemyAttack <- 277 (Handclaw)
  25004. 0x044 }
  25005. 0x044 Else
  25006. 0x044 {
  25007. 0x047 POP(Random MOD 4)
  25008. 0x048 }
  25009. 0x048 Else
  25010. 0x048 {
  25011. 0x04B If (Random MOD 4 == 0)
  25012. 0x04B {
  25013. 0x054 LocalVar:EnemyAttack <- 737 (Water Wave)
  25014. 0x05B }
  25015. 0x05B Else
  25016. 0x05B {
  25017. 0x05E }
  25018. 0x05E Else
  25019. 0x05E {
  25020. 0x061 If (Random MOD 4 == 1)
  25021. 0x061 {
  25022. 0x066 LocalVar:EnemyAttack <- 277 (Handclaw)
  25023. 0x06D }
  25024. 0x06D Else
  25025. 0x06D {
  25026. 0x070 }
  25027. 0x070 Else
  25028. 0x070 {
  25029. 0x073 LocalVar:EnemyAttack <- 736 (Harrier Beam)
  25030. 0x07A }
  25031. 0x07A Else
  25032. 0x07A {
  25033. 0x07D POP(Random MOD 4)
  25034. 0x07EPerform(LocalVar:EnemyAttack, EnemyAttack)
  25035. 0x084SCRIPT END
  25036.  
  25037.  
  25038.  
  25039.  
  25040. 253 - [FD] Hard Attacker
  25041.  
  25042.  
  25043. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25044. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25045.  
  25046. BattleAddr(&4026) = BattleAddr(&BackRow)
  25047.  
  25048.  
  25049.  
  25050. MAIN:
  25051.  
  25052. 0x000 If (Not (Random MOD 2) )
  25053. 0x000 {
  25054. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  25055. 0x008 {
  25056. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&BackRow) == 0) )
  25057. 0x024 }
  25058. 0x024 Else
  25059. 0x024 {
  25060. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25061. 0x02F Perform("Bodyblow"[0172], EnemyAttack)
  25062. 0x035 }
  25063. 0x035 Else
  25064. 0x035 {
  25065. 0x038 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25066. 0x040 Perform("Oil"[01A4], EnemyAttack)
  25067. 0x046SCRIPT END
  25068.  
  25069.  
  25070.  
  25071.  
  25072. 254 - [FE] Guardian
  25073.  
  25074.  
  25075. LocalVar:0000 = LocalVar:Guardian(Right)
  25076. LocalVar:0020 = LocalVar:Guardian(Left)
  25077. LocalVar:0040 = LocalVar:Count
  25078. LocalVar:0060 = LocalVar:SpclChance
  25079.  
  25080. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  25081. BattleAddr(&2060) = BattleAddr(&Self)
  25082. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25083. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25084.  
  25085. BattleAddr(&4020) = BattleAddr(&SelfActive)
  25086. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  25087. BattleAddr(&4023) = BattleAddr(&Targetable)
  25088. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  25089. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  25090. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  25091. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  25092. BattleAddr(&4180) = BattleAddr(&MaxHP)
  25093.  
  25094.  
  25095.  
  25096. PRE-BATTLE:
  25097.  
  25098. 0x000LocalVar:Guardian(Right) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 255)
  25099. 0x00ELocalVar:Guardian(Left) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 256)
  25100. 0x01DLocalVar:Count <- Random MOD 5
  25101. 0x025LocalVar:SpclChance <- 8
  25102. 0x02B If (Not (Random MOD 3) )
  25103. 0x02B {
  25104. 0x033 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  25105. 0x03A Perform("Power Plus"[02E5], EnemyAttack)
  25106. 0x040 LocalVar:Count <- 3
  25107. 0x046SCRIPT END
  25108.  
  25109.  
  25110. MAIN:
  25111.  
  25112. 0x000 If (LocalVar:Count == 0)
  25113. 0x000 {
  25114. 0x008 }
  25115. 0x008 Else
  25116. 0x008 {
  25117. 0x00B If (LocalVar:Count == 1)
  25118. 0x00B {
  25119. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25120. 0x018 Perform("Rocket Punch"[02E2], EnemyAttack)
  25121. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  25122. 0x01E {
  25123. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25124. 0x02F Perform("Rocket Punch"[02E2], EnemyAttack)
  25125. 0x035 LocalVar:Count <- LocalVar:Count + 1
  25126. 0x03F }
  25127. 0x03F Else
  25128. 0x03F {
  25129. 0x042 }
  25130. 0x042 Else
  25131. 0x042 {
  25132. 0x045 If (LocalVar:Count == 2)
  25133. 0x045 {
  25134. 0x04A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25135. 0x052 Perform("Rocket Punch"[02E2], EnemyAttack)
  25136. 0x058 If (Not (Random MOD LocalVar:SpclChance) )
  25137. 0x058 {
  25138. 0x061 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25139. 0x069 Perform("Rocket Punch"[02E2], EnemyAttack)
  25140. 0x06F LocalVar:Count <- 3 + Random MOD 2
  25141. 0x07A }
  25142. 0x07A Else
  25143. 0x07A {
  25144. 0x07D }
  25145. 0x07D Else
  25146. 0x07D {
  25147. 0x080 If (LocalVar:Count == 3)
  25148. 0x080 {
  25149. 0x085 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25150. 0x08D Perform("W Rocket Punch"[02E3], EnemyAttack)
  25151. 0x093 If (Not (Random MOD LocalVar:SpclChance) )
  25152. 0x093 {
  25153. 0x09C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25154. 0x0A4 Perform("W Rocket Punch"[02E3], EnemyAttack)
  25155. 0x0AA LocalVar:Count <- 0
  25156. 0x0B0 }
  25157. 0x0B0 Else
  25158. 0x0B0 {
  25159. 0x0B3 }
  25160. 0x0B3 Else
  25161. 0x0B3 {
  25162. 0x0B6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25163. 0x0BE Perform("Jumping Blow"[02E4], EnemyAttack)
  25164. 0x0C4 If (Not (Random MOD LocalVar:SpclChance) )
  25165. 0x0C4 {
  25166. 0x0CD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25167. 0x0D5 Perform("Jumping Blow"[02E4], EnemyAttack)
  25168. 0x0DB LocalVar:Count <- 0
  25169. 0x0E1 }
  25170. 0x0E1 Else
  25171. 0x0E1 {
  25172. 0x0E4POP(LocalVar:Count)
  25173. 0x0E5SCRIPT END
  25174.  
  25175.  
  25176. GENERAL COUNTER:
  25177.  
  25178. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  25179. 0x000 {
  25180. 0x018 LocalVar:SpclChance <- 2
  25181. 0x01E }
  25182. 0x01E Else
  25183. 0x01E {
  25184. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  25185. 0x021 {
  25186. 0x039 LocalVar:SpclChance <- 4
  25187. 0x03F }
  25188. 0x03F Else
  25189. 0x03F {
  25190. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  25191. 0x042 {
  25192. 0x05A LocalVar:SpclChance <- 6
  25193. 0x060 }
  25194. 0x060 Else
  25195. 0x060 {
  25196. 0x063 LocalVar:SpclChance <- 8
  25197. 0x069SCRIPT END
  25198.  
  25199.  
  25200. DEATH COUNTER:
  25201.  
  25202. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  25203. 0x00ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  25204. 0x011Perform("Vanish"[014E], EnemyAttack)
  25205. 0x017LocalVar:Guardian(Right).BattleAddr(&SelfActive) <- 0
  25206. 0x021LocalVar:Guardian(Right).BattleAddr(&Targetable) <- 0
  25207. 0x02BLocalVar:Guardian(Right).BattleAddr(&Needed2EndBattle) <- 0
  25208. 0x035LocalVar:Guardian(Right).BattleAddr(&AIScriptActive) <- 0
  25209. 0x03FLocalVar:Guardian(Left).BattleAddr(&SelfActive) <- 0
  25210. 0x049LocalVar:Guardian(Left).BattleAddr(&Targetable) <- 0
  25211. 0x053LocalVar:Guardian(Left).BattleAddr(&Needed2EndBattle) <- 0
  25212. 0x05DLocalVar:Guardian(Left).BattleAddr(&AIScriptActive) <- 0
  25213. 0x067SCRIPT END
  25214.  
  25215.  
  25216.  
  25217.  
  25218. 255 - [FF] Guardian(Right)
  25219.  
  25220.  
  25221. MAIN:
  25222.  
  25223. 0x000SCRIPT END
  25224.  
  25225.  
  25226.  
  25227.  
  25228. 256 - [100] Guardian(Left)
  25229.  
  25230.  
  25231. MAIN:
  25232.  
  25233. 0x000SCRIPT END
  25234.  
  25235.  
  25236.  
  25237.  
  25238. 257 - [101] Gun Carrier
  25239.  
  25240.  
  25241. LocalVar:0000 = LocalVar:Count
  25242. LocalVar:0020 = LocalVar:1stChr
  25243. LocalVar:0040 = LocalVar:2ndChr
  25244. LocalVar:0060 = LocalVar:3rdChr
  25245.  
  25246. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25247. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25248.  
  25249. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  25250. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  25251. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  25252.  
  25253.  
  25254.  
  25255. PRE-BATTLE:
  25256.  
  25257. 0x000LocalVar:1stChr <- FlagBit(0)
  25258. 0x007LocalVar:2ndChr <- FlagBit(1)
  25259. 0x00ELocalVar:3rdChr <- FlagBit(2)
  25260. 0x015SCRIPT END
  25261.  
  25262.  
  25263. MAIN:
  25264.  
  25265. 0x000 If (LocalVar:Count == 0)
  25266. 0x000 {
  25267. 0x008 LocalVar:Count <- 1
  25268. 0x00E }
  25269. 0x00E Else
  25270. 0x00E {
  25271. 0x011 }
  25272. 0x011 Else
  25273. 0x011 {
  25274. 0x014 If (LocalVar:Count == 1)
  25275. 0x014 {
  25276. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25277. 0x021 Perform("Abnormal Shell"[02E7], EnemyAttack)
  25278. 0x027 LocalVar:Count <- 2
  25279. 0x02D }
  25280. 0x02D Else
  25281. 0x02D {
  25282. 0x030 }
  25283. 0x030 Else
  25284. 0x030 {
  25285. 0x033 If (LocalVar:Count == 2)
  25286. 0x033 {
  25287. 0x038 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  25288. 0x038 {
  25289. 0x045 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  25290. 0x054 }
  25291. 0x054 Else
  25292. 0x054 {
  25293. 0x057 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25294. 0x05F Perform("Normal Shell"[02E6], EnemyAttack)
  25295. 0x065 LocalVar:Count <- 3
  25296. 0x06B }
  25297. 0x06B Else
  25298. 0x06B {
  25299. 0x06E }
  25300. 0x06E Else
  25301. 0x06E {
  25302. 0x071 If (LocalVar:Count == 3)
  25303. 0x071 {
  25304. 0x076 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  25305. 0x076 {
  25306. 0x083 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  25307. 0x092 }
  25308. 0x092 Else
  25309. 0x092 {
  25310. 0x095 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  25311. 0x09D Perform("Bodyblow"[012D], EnemyAttack)
  25312. 0x0A3 LocalVar:Count <- 4
  25313. 0x0A9 }
  25314. 0x0A9 Else
  25315. 0x0A9 {
  25316. 0x0AC }
  25317. 0x0AC Else
  25318. 0x0AC {
  25319. 0x0AF If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  25320. 0x0AF {
  25321. 0x0BC BattleAddr(&TarSelected) <- LocalVar:2ndChr
  25322. 0x0C3 Perform("Normal Shell"[02E6], EnemyAttack)
  25323. 0x0C9 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  25324. 0x0C9 {
  25325. 0x0D6 BattleAddr(&TarSelected) <- LocalVar:1stChr
  25326. 0x0DD Perform("Normal Shell"[02E6], EnemyAttack)
  25327. 0x0E3 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  25328. 0x0E3 {
  25329. 0x0F0 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  25330. 0x0F7 Perform("Normal Shell"[02E6], EnemyAttack)
  25331. 0x0FD If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) Or (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) ) And Not (Random MOD 2) ) )
  25332. 0x0FD {
  25333. 0x11B LocalVar:Count <- 1
  25334. 0x121 }
  25335. 0x121 Else
  25336. 0x121 {
  25337. 0x124 LocalVar:Count <- 2
  25338. 0x12A }
  25339. 0x12A Else
  25340. 0x12A {
  25341. 0x12DPOP(LocalVar:Count)
  25342. 0x12ESCRIPT END
  25343.  
  25344.  
  25345.  
  25346.  
  25347. 258 - [102] Carry Armor
  25348.  
  25349.  
  25350. LocalVar:0000 = LocalVar:Allies
  25351. LocalVar:0020 = LocalVar:RightArm
  25352. LocalVar:0040 = LocalVar:LeftArm
  25353. LocalVar:0060 = LocalVar:CarryArmor
  25354. LocalVar:0080 = LocalVar:1stChr
  25355. LocalVar:00A0 = LocalVar:2ndChr
  25356. LocalVar:00C0 = LocalVar:3rdChr
  25357. LocalVar:00E0 = LocalVar:Count
  25358. LocalVar:0100 = LocalVar:SpclChance
  25359.  
  25360. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  25361. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  25362. BattleAddr(&2060) = BattleAddr(&Self)
  25363. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25364. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25365. BattleAddr(&2180) = BattleAddr(&ChrFlagBit)
  25366. BattleAddr(&2190) = BattleAddr(&ActorsImprisoned)
  25367.  
  25368. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  25369. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  25370. BattleAddr(&4020) = BattleAddr(&SelfActive)
  25371. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  25372. BattleAddr(&4023) = BattleAddr(&Targetable)
  25373. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  25374. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  25375. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  25376. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  25377. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  25378. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  25379. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  25380. BattleAddr(&4180) = BattleAddr(&MaxHP)
  25381. BattleAddr(&41A0) = BattleAddr(&Angry)
  25382. BattleAddr(&4300) = BattleAddr(&ChrImprisoned)
  25383.  
  25384.  
  25385.  
  25386. PRE-BATTLE:
  25387.  
  25388. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  25389. 0x00ALocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  25390. 0x01ELocalVar:Allies <- LocalVar:Allies AND NOT BattleAddr(&Self)
  25391. 0x02ALocalVar:RightArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 259)
  25392. 0x039LocalVar:LeftArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 260)
  25393. 0x048LocalVar:CarryArmor <- BattleAddr(&Self)
  25394. 0x04FLocalVar:1stChr <- FlagBit(0)
  25395. 0x056LocalVar:2ndChr <- FlagBit(1)
  25396. 0x05DLocalVar:3rdChr <- FlagBit(2)
  25397. 0x064LocalVar:SpclChance <- 4
  25398. 0x06A If (Not (Random MOD 3) )
  25399. 0x06A {
  25400. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  25401. 0x079 Perform("Lapis Laser"[02F2], EnemyAttack)
  25402. 0x07FSCRIPT END
  25403.  
  25404.  
  25405. MAIN:
  25406.  
  25407. 0x000 If (LocalVar:Count == 0)
  25408. 0x000 {
  25409. 0x008 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  25410. 0x008 {
  25411. 0x01C BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  25412. 0x02A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25413. 0x02A {
  25414. 0x037 Perform("Lapis Laser"[02F2], EnemyAttack)
  25415. 0x03D }
  25416. 0x03D Else
  25417. 0x03D {
  25418. 0x040 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25419. 0x040 {
  25420. 0x04D Perform("Lapis Laser"[02F3], EnemyAttack)
  25421. 0x053 }
  25422. 0x053 Else
  25423. 0x053 {
  25424. 0x056 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25425. 0x056 {
  25426. 0x063 Perform("Lapis Laser"[02F4], EnemyAttack)
  25427. 0x069 }
  25428. 0x069 Else
  25429. 0x069 {
  25430. 0x06C If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  25431. 0x06C {
  25432. 0x079 Perform("Lapis Laser"[02F5], EnemyAttack)
  25433. 0x07F LocalVar:Count <- 1
  25434. 0x085 }
  25435. 0x085 Else
  25436. 0x085 {
  25437. 0x088 }
  25438. 0x088 Else
  25439. 0x088 {
  25440. 0x08B LocalVar:Count <- 0
  25441. 0x091 }
  25442. 0x091 Else
  25443. 0x091 {
  25444. 0x094POP(LocalVar:Count)
  25445. 0x095SCRIPT END
  25446.  
  25447.  
  25448. GENERAL COUNTER:
  25449.  
  25450. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25451. 0x000 {
  25452. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  25453. 0x017 }
  25454. 0x017 Else
  25455. 0x017 {
  25456. 0x01A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25457. 0x01A {
  25458. 0x027 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  25459. 0x031 }
  25460. 0x031 Else
  25461. 0x031 {
  25462. 0x034 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25463. 0x034 {
  25464. 0x041 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 14
  25465. 0x04B }
  25466. 0x04B Else
  25467. 0x04B {
  25468. 0x04E If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  25469. 0x04E {
  25470. 0x05B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  25471. 0x065 If ( (LocalVar:RightArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25472. 0x065 {
  25473. 0x073 BattleAddr(&TarSelected) <- LocalVar:RightArm.BattleAddr(&ChrImprisoned)
  25474. 0x07E Perform("Damage Attack"[02F8], EnemyAttack)
  25475. 0x084 If ( (LocalVar:LeftArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25476. 0x084 {
  25477. 0x092 BattleAddr(&TarSelected) <- LocalVar:LeftArm.BattleAddr(&ChrImprisoned)
  25478. 0x09D Perform("Damage Attack"[02F8], EnemyAttack)
  25479. 0x0A3 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  25480. 0x0A3 {
  25481. 0x0BB LocalVar:SpclChance <- 1
  25482. 0x0C1 }
  25483. 0x0C1 Else
  25484. 0x0C1 {
  25485. 0x0C4 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  25486. 0x0C4 {
  25487. 0x0DC LocalVar:SpclChance <- 2
  25488. 0x0E2 }
  25489. 0x0E2 Else
  25490. 0x0E2 {
  25491. 0x0E5 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  25492. 0x0E5 {
  25493. 0x0FD LocalVar:SpclChance <- 3
  25494. 0x103 }
  25495. 0x103 Else
  25496. 0x103 {
  25497. 0x106 LocalVar:SpclChance <- 4
  25498. 0x10CSCRIPT END
  25499.  
  25500.  
  25501. DEATH COUNTER:
  25502.  
  25503. 0x000BattleAddr(&Self) <- LocalVar:RightArm
  25504. 0x007 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 1) )
  25505. 0x007 {
  25506. 0x014 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25507. 0x01F BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25508. 0x029 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25509. 0x033 Perform("Free Right Character"[02F6], EnemyAttack)
  25510. 0x039BattleAddr(&Self) <- LocalVar:LeftArm
  25511. 0x040 If ( (BattleAddr(&Self).BattleAddr(&Angry) == 1) )
  25512. 0x040 {
  25513. 0x04D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25514. 0x058 BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25515. 0x062 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25516. 0x06C Perform("Free Left Character"[02F7], EnemyAttack)
  25517. 0x072BattleAddr(&Self) <- LocalVar:CarryArmor
  25518. 0x079BattleAddr(&TarSelected) <- BattleAddr(&Self)
  25519. 0x080Perform("Vanish"[014E], EnemyAttack)
  25520. 0x086LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  25521. 0x090LocalVar:Allies.BattleAddr(&Targetable) <- 0
  25522. 0x09ALocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  25523. 0x0A4LocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  25524. 0x0AESCRIPT END
  25525.  
  25526.  
  25527. FORMATION DEATH COUNTER:
  25528.  
  25529. 0x000BattleAddr(&ChrFlagBit) <- 0
  25530. 0x006 If ( (BattleAddr(&ChrFlagBit) < 3) )
  25531. 0x006 {
  25532. 0x00F BattleAddr(&TarSelected) <- FlagBit(BattleAddr(&ChrFlagBit))
  25533. 0x017 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 1) )
  25534. 0x017 {
  25535. 0x024 If ( (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) )
  25536. 0x024 {
  25537. 0x031 BattleAddr(&Self) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 259)
  25538. 0x040 If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) == BattleAddr(&TarSelected)) )
  25539. 0x040 {
  25540. 0x04E BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25541. 0x058 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25542. 0x062 BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25543. 0x06D BattleAddr(&Self).BattleAddr(&Angry) <- 0
  25544. 0x077 Perform("Free Right Character"[02F6], EnemyAttack)
  25545. 0x07D BattleAddr(&Self) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 260)
  25546. 0x08C If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) == BattleAddr(&TarSelected)) )
  25547. 0x08C {
  25548. 0x09A BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25549. 0x0A4 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25550. 0x0AE BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25551. 0x0B9 BattleAddr(&Self).BattleAddr(&Angry) <- 0
  25552. 0x0C3 Perform("Free Left Character"[02F7], EnemyAttack)
  25553. 0x0C9 BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  25554. 0x0D3 LOOP 0x006
  25555. 0x0D6 BattleAddr(&ActorsImprisoned) <- 0
  25556. 0x0DC BattleAddr(&Self) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 259)
  25557. 0x0EB If (BattleAddr(&Self).BattleAddr(&ChrImprisoned))
  25558. 0x0EB {
  25559. 0x0F5 BattleAddr(&ActorsImprisoned) <- BattleAddr(&ActorsImprisoned) OR 1
  25560. 0x0FF BattleAddr(&Self) <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 260)
  25561. 0x10E If (BattleAddr(&Self).BattleAddr(&ChrImprisoned))
  25562. 0x10E {
  25563. 0x118 BattleAddr(&ActorsImprisoned) <- BattleAddr(&ActorsImprisoned) OR 2
  25564. 0x122 BattleAddr(&ChrFlagBit) <- 4
  25565. 0x128 If ( (BattleAddr(&ChrFlagBit) < 7) )
  25566. 0x128 {
  25567. 0x131 BattleAddr(&Self) <- FlagBit(BattleAddr(&ChrFlagBit))
  25568. 0x139 If (BattleAddr(&ActorsImprisoned) == 0)
  25569. 0x139 {
  25570. 0x141 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  25571. 0x14B }
  25572. 0x14B Else
  25573. 0x14B {
  25574. 0x14E }
  25575. 0x14E Else
  25576. 0x14E {
  25577. 0x151 If (BattleAddr(&ActorsImprisoned) == 1)
  25578. 0x151 {
  25579. 0x156 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 8
  25580. 0x160 }
  25581. 0x160 Else
  25582. 0x160 {
  25583. 0x163 }
  25584. 0x163 Else
  25585. 0x163 {
  25586. 0x166 If (BattleAddr(&ActorsImprisoned) == 2)
  25587. 0x166 {
  25588. 0x16B BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 13
  25589. 0x175 }
  25590. 0x175 Else
  25591. 0x175 {
  25592. 0x178 }
  25593. 0x178 Else
  25594. 0x178 {
  25595. 0x17B If (BattleAddr(&ActorsImprisoned) == 3)
  25596. 0x17B {
  25597. 0x180 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 18
  25598. 0x18A POP(BattleAddr(&ActorsImprisoned))
  25599. 0x18B BattleAddr(&ChrFlagBit) <- BattleAddr(&ChrFlagBit) + 1
  25600. 0x195 LOOP 0x128
  25601. 0x198 SCRIPT END
  25602.  
  25603.  
  25604.  
  25605.  
  25606. 259 - [103] Right Arm (Carry Armor)
  25607.  
  25608.  
  25609. LocalVar:0000 = LocalVar:Allies
  25610. LocalVar:0020 = LocalVar:CarryArmor
  25611. LocalVar:0040 = LocalVar:LeftArm
  25612. LocalVar:0060 = LocalVar:SpclChance
  25613.  
  25614. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  25615. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  25616. BattleAddr(&2060) = BattleAddr(&Self)
  25617. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25618. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25619.  
  25620. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  25621. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  25622. BattleAddr(&4023) = BattleAddr(&Targetable)
  25623. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  25624. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  25625. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  25626. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  25627. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  25628. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  25629. BattleAddr(&4180) = BattleAddr(&MaxHP)
  25630. BattleAddr(&41A0) = BattleAddr(&Angry)
  25631. BattleAddr(&4300) = BattleAddr(&ChrImprisoned)
  25632.  
  25633.  
  25634.  
  25635. PRE-BATTLE:
  25636.  
  25637. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  25638. 0x014LocalVar:CarryArmor <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 258)
  25639. 0x023LocalVar:LeftArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 260)
  25640. 0x032BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25641. 0x03DLocalVar:SpclChance <- 16
  25642. 0x043SCRIPT END
  25643.  
  25644.  
  25645. MAIN:
  25646.  
  25647. 0x000 If (Not (BattleAddr(&Self).BattleAddr(&Angry)) )
  25648. 0x000 {
  25649. 0x00B If (Not (Random MOD LocalVar:SpclChance) )
  25650. 0x00B {
  25651. 0x014 If ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0) )
  25652. 0x014 {
  25653. 0x021 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  25654. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  25655. 0x037 BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&TarSelected)
  25656. 0x042 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25657. 0x042 {
  25658. 0x04F Perform("Arm Grab"[02F0], EnemyAttack)
  25659. 0x055 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 8
  25660. 0x05F }
  25661. 0x05F Else
  25662. 0x05F {
  25663. 0x062 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25664. 0x062 {
  25665. 0x06F Perform("Arm Grab"[02F1], EnemyAttack)
  25666. 0x075 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 18
  25667. 0x07F BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 0
  25668. 0x089 BattleAddr(&Self).BattleAddr(&Angry) <- 1
  25669. 0x093 }
  25670. 0x093 Else
  25671. 0x093 {
  25672. 0x096 If (Not (Random MOD 2) )
  25673. 0x096 {
  25674. 0x09E If ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0) )
  25675. 0x09E {
  25676. 0x0AB BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  25677. 0x0B9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  25678. 0x0C1 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25679. 0x0C1 {
  25680. 0x0CE Perform("Arm Punch"[02EE], EnemyAttack)
  25681. 0x0D4 }
  25682. 0x0D4 Else
  25683. 0x0D4 {
  25684. 0x0D7 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25685. 0x0D7 {
  25686. 0x0E4 Perform("Arm Punch"[02EF], EnemyAttack)
  25687. 0x0EASCRIPT END
  25688.  
  25689.  
  25690. GENERAL COUNTER:
  25691.  
  25692. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25693. 0x000 {
  25694. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  25695. 0x017 }
  25696. 0x017 Else
  25697. 0x017 {
  25698. 0x01A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25699. 0x01A {
  25700. 0x027 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  25701. 0x031 }
  25702. 0x031 Else
  25703. 0x031 {
  25704. 0x034 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25705. 0x034 {
  25706. 0x041 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 14
  25707. 0x04B }
  25708. 0x04B Else
  25709. 0x04B {
  25710. 0x04E If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  25711. 0x04E {
  25712. 0x05B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  25713. 0x065 If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25714. 0x065 {
  25715. 0x073 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25716. 0x07E Perform("Damage Attack"[02F8], EnemyAttack)
  25717. 0x084 If ( (LocalVar:LeftArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25718. 0x084 {
  25719. 0x092 BattleAddr(&TarSelected) <- LocalVar:LeftArm.BattleAddr(&ChrImprisoned)
  25720. 0x09D Perform("Damage Attack"[02F8], EnemyAttack)
  25721. 0x0A3 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  25722. 0x0A3 {
  25723. 0x0BB LocalVar:SpclChance <- 2
  25724. 0x0C1 }
  25725. 0x0C1 Else
  25726. 0x0C1 {
  25727. 0x0C4 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  25728. 0x0C4 {
  25729. 0x0DC LocalVar:SpclChance <- 8
  25730. 0x0E2 }
  25731. 0x0E2 Else
  25732. 0x0E2 {
  25733. 0x0E5 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  25734. 0x0E5 {
  25735. 0x0FD LocalVar:SpclChance <- 32
  25736. 0x103 }
  25737. 0x103 Else
  25738. 0x103 {
  25739. 0x106 LocalVar:SpclChance <- 128
  25740. 0x10CSCRIPT END
  25741.  
  25742.  
  25743. DEATH COUNTER:
  25744.  
  25745. 0x000 If ( (LocalVar:CarryArmor.BattleAddr(&DeathStatus) == 0) )
  25746. 0x000 {
  25747. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25748. 0x018 If ( (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) )
  25749. 0x018 {
  25750. 0x025 BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25751. 0x02F BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25752. 0x039 Perform("Free Right Character"[02F6], EnemyAttack)
  25753. 0x03F BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25754. 0x04A BattleAddr(&Self).BattleAddr(&Angry) <- 0
  25755. 0x054 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  25756. 0x05B Perform("Vanish"[014E], EnemyAttack)
  25757. 0x061 If ( (LocalVar:LeftArm.BattleAddr(&Angry) == 0) )
  25758. 0x061 {
  25759. 0x06E LocalVar:Allies.BattleAddr(&IdleAnimID) <- 0
  25760. 0x078 }
  25761. 0x078 Else
  25762. 0x078 {
  25763. 0x07B LocalVar:Allies.BattleAddr(&IdleAnimID) <- 13
  25764. 0x085 }
  25765. 0x085 Else
  25766. 0x085 {
  25767. 0x088 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  25768. 0x092SCRIPT END
  25769.  
  25770.  
  25771.  
  25772.  
  25773. 260 - [104] Left Arm (Carry Armor)
  25774.  
  25775.  
  25776. LocalVar:0000 = LocalVar:Allies
  25777. LocalVar:0020 = LocalVar:CarryArmor
  25778. LocalVar:0040 = LocalVar:RightArm
  25779. LocalVar:0060 = LocalVar:SpclChance
  25780.  
  25781. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  25782. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  25783. BattleAddr(&2060) = BattleAddr(&Self)
  25784. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25785. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25786.  
  25787. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  25788. BattleAddr(&401F) = BattleAddr(&ImprisonedStatus)
  25789. BattleAddr(&4023) = BattleAddr(&Targetable)
  25790. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  25791. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  25792. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  25793. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  25794. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  25795. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  25796. BattleAddr(&4180) = BattleAddr(&MaxHP)
  25797. BattleAddr(&41A0) = BattleAddr(&Angry)
  25798. BattleAddr(&4300) = BattleAddr(&ChrImprisoned)
  25799.  
  25800.  
  25801.  
  25802. PRE-BATTLE:
  25803.  
  25804. 0x000LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  25805. 0x014LocalVar:CarryArmor <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 258)
  25806. 0x023LocalVar:RightArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 259)
  25807. 0x032BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25808. 0x03DLocalVar:SpclChance <- 16
  25809. 0x043SCRIPT END
  25810.  
  25811.  
  25812. MAIN:
  25813.  
  25814. 0x000 If (Not (BattleAddr(&Self).BattleAddr(&Angry)) )
  25815. 0x000 {
  25816. 0x00B If (Not (Random MOD LocalVar:SpclChance) )
  25817. 0x00B {
  25818. 0x014 If ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0) )
  25819. 0x014 {
  25820. 0x021 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  25821. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  25822. 0x037 BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&TarSelected)
  25823. 0x042 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25824. 0x042 {
  25825. 0x04F Perform("Arm Grab"[02EC], EnemyAttack)
  25826. 0x055 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 13
  25827. 0x05F }
  25828. 0x05F Else
  25829. 0x05F {
  25830. 0x062 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25831. 0x062 {
  25832. 0x06F Perform("Arm Grab"[02ED], EnemyAttack)
  25833. 0x075 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 18
  25834. 0x07F BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 0
  25835. 0x089 BattleAddr(&Self).BattleAddr(&Angry) <- 1
  25836. 0x093 }
  25837. 0x093 Else
  25838. 0x093 {
  25839. 0x096 If (Not (Random MOD 2) )
  25840. 0x096 {
  25841. 0x09E If ( (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0) )
  25842. 0x09E {
  25843. 0x0AB BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ImprisonedStatus) == 0)
  25844. 0x0B9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  25845. 0x0C1 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25846. 0x0C1 {
  25847. 0x0CE Perform("Arm Punch"[02EA], EnemyAttack)
  25848. 0x0D4 }
  25849. 0x0D4 Else
  25850. 0x0D4 {
  25851. 0x0D7 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25852. 0x0D7 {
  25853. 0x0E4 Perform("Arm Punch"[02EB], EnemyAttack)
  25854. 0x0EASCRIPT END
  25855.  
  25856.  
  25857. GENERAL COUNTER:
  25858.  
  25859. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  25860. 0x000 {
  25861. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  25862. 0x017 }
  25863. 0x017 Else
  25864. 0x017 {
  25865. 0x01A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  25866. 0x01A {
  25867. 0x027 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  25868. 0x031 }
  25869. 0x031 Else
  25870. 0x031 {
  25871. 0x034 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 13) )
  25872. 0x034 {
  25873. 0x041 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 14
  25874. 0x04B }
  25875. 0x04B Else
  25876. 0x04B {
  25877. 0x04E If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 18) )
  25878. 0x04E {
  25879. 0x05B BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  25880. 0x065 If ( (BattleAddr(&Self).BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25881. 0x065 {
  25882. 0x073 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25883. 0x07E Perform("Damage Attack"[02F8], EnemyAttack)
  25884. 0x084 If ( (LocalVar:RightArm.BattleAddr(&ChrImprisoned) != BattleAddr(&NoTarSelected)) )
  25885. 0x084 {
  25886. 0x092 BattleAddr(&TarSelected) <- LocalVar:RightArm.BattleAddr(&ChrImprisoned)
  25887. 0x09D Perform("Damage Attack"[02F8], EnemyAttack)
  25888. 0x0A3 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  25889. 0x0A3 {
  25890. 0x0BB LocalVar:SpclChance <- 2
  25891. 0x0C1 }
  25892. 0x0C1 Else
  25893. 0x0C1 {
  25894. 0x0C4 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  25895. 0x0C4 {
  25896. 0x0DC LocalVar:SpclChance <- 8
  25897. 0x0E2 }
  25898. 0x0E2 Else
  25899. 0x0E2 {
  25900. 0x0E5 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  25901. 0x0E5 {
  25902. 0x0FD LocalVar:SpclChance <- 32
  25903. 0x103 }
  25904. 0x103 Else
  25905. 0x103 {
  25906. 0x106 LocalVar:SpclChance <- 128
  25907. 0x10CSCRIPT END
  25908.  
  25909.  
  25910. DEATH COUNTER:
  25911.  
  25912. 0x000 If ( (LocalVar:CarryArmor.BattleAddr(&DeathStatus) == 0) )
  25913. 0x000 {
  25914. 0x00D BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&ChrImprisoned)
  25915. 0x018 If ( (BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) == 1) )
  25916. 0x018 {
  25917. 0x025 BattleAddr(&TarSelected).BattleAddr(&ImprisonedStatus) <- 0
  25918. 0x02F BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  25919. 0x039 Perform("Free Left Character"[02F7], EnemyAttack)
  25920. 0x03F BattleAddr(&Self).BattleAddr(&ChrImprisoned) <- BattleAddr(&NoTarSelected)
  25921. 0x04A BattleAddr(&Self).BattleAddr(&Angry) <- 0
  25922. 0x054 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  25923. 0x05B Perform("Vanish"[014E], EnemyAttack)
  25924. 0x061 If ( (LocalVar:RightArm.BattleAddr(&Angry) == 0) )
  25925. 0x061 {
  25926. 0x06E LocalVar:Allies.BattleAddr(&IdleAnimID) <- 0
  25927. 0x078 }
  25928. 0x078 Else
  25929. 0x078 {
  25930. 0x07B LocalVar:Allies.BattleAddr(&IdleAnimID) <- 8
  25931. 0x085 }
  25932. 0x085 Else
  25933. 0x085 {
  25934. 0x088 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  25935. 0x092SCRIPT END
  25936.  
  25937.  
  25938.  
  25939.  
  25940. 261 - [105] Rilfsak
  25941.  
  25942.  
  25943. LocalVar:0000 = LocalVar:Count
  25944. LocalVar:0020 = LocalVar:BaseEvadeAnimID
  25945. LocalVar:0040 = LocalVar:BaseEvade
  25946. LocalVar:0060 = LocalVar:SpclHitCount
  25947.  
  25948. BattleAddr(&2060) = BattleAddr(&Self)
  25949. BattleAddr(&2070) = BattleAddr(&TarSelected)
  25950. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  25951.  
  25952. BattleAddr(&4078) = BattleAddr(&Evade)
  25953. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  25954. BattleAddr(&4180) = BattleAddr(&MaxHP)
  25955. BattleAddr(&42B0) = BattleAddr(&EvadeAnimID)
  25956.  
  25957.  
  25958.  
  25959. PRE-BATTLE:
  25960.  
  25961. 0x000LocalVar:BaseEvadeAnimID <- BattleAddr(&Self).BattleAddr(&EvadeAnimID)
  25962. 0x00BLocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  25963. 0x016LocalVar:Count <- Random MOD 4
  25964. 0x01ELocalVar:SpclHitCount <- 2
  25965. 0x024SCRIPT END
  25966.  
  25967.  
  25968. MAIN:
  25969.  
  25970. 0x000 If (LocalVar:Count == 0)
  25971. 0x000 {
  25972. 0x008 }
  25973. 0x008 Else
  25974. 0x008 {
  25975. 0x00B If (LocalVar:Count == 1)
  25976. 0x00B {
  25977. 0x010 Bad Code0x01B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  25978. 0x01D Perform("Blood Suck"[0239], EnemyAttack)
  25979. 0x023 LocalVar:Count <- LocalVar:Count + 1
  25980. 0x02D }
  25981. 0x02D Else
  25982. 0x02D {
  25983. 0x030 }
  25984. 0x030 Else
  25985. 0x030 {
  25986. 0x033 If (LocalVar:Count == 2)
  25987. 0x033 {
  25988. 0x038 LocalVar:Count <- 0
  25989. 0x03E }
  25990. 0x03E Else
  25991. 0x03E {
  25992. 0x041 }
  25993. 0x041 Else
  25994. 0x041 {
  25995. 0x044 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  25996. 0x04B Perform("Autumn Leaves"[0289], EnemyAttack)
  25997. 0x051 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  25998. 0x05B LocalVar:Count <- Random MOD 3
  25999. 0x063 }
  26000. 0x063 Else
  26001. 0x063 {
  26002. 0x066POP(LocalVar:Count)
  26003. 0x067SCRIPT END
  26004.  
  26005. NOTE - 0x01A uses HMSK
  26006.  
  26007.  
  26008. MAGIC COUNTER:
  26009.  
  26010. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3) And LocalVar:SpclHitCount) And Not (Random MOD 2) ) )
  26011. 0x000 {
  26012. 0x01F BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26013. 0x026 Perform("Autumn Leaves"[0289], EnemyAttack)
  26014. 0x02C LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  26015. 0x036SCRIPT END
  26016.  
  26017.  
  26018. PRE-ACTION SETUP:
  26019.  
  26020. 0x000BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- LocalVar:BaseEvadeAnimID
  26021. 0x00BBattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  26022. 0x016 If (Random MOD 8)
  26023. 0x016 {
  26024. 0x01D If (Not (Random MOD 2) )
  26025. 0x01D {
  26026. 0x025 BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- 5
  26027. 0x02F }
  26028. 0x02F Else
  26029. 0x02F {
  26030. 0x032 BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- 6
  26031. 0x03C BattleAddr(&Self).BattleAddr(&Evade) <- 255
  26032. 0x046SCRIPT END
  26033.  
  26034.  
  26035.  
  26036.  
  26037. 262 - [106] Diablo
  26038.  
  26039.  
  26040. LocalVar:0000 = LocalVar:TarSelected
  26041. LocalVar:0020 = LocalVar:EnemyAttack
  26042. LocalVar:0040 = LocalVar:Counter
  26043.  
  26044. BattleAddr(&2008) = BattleAddr(&LastAttID)
  26045. BattleAddr(&2060) = BattleAddr(&Self)
  26046. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26047. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26048.  
  26049. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  26050.  
  26051.  
  26052.  
  26053. MAIN:
  26054.  
  26055. 0x000 If ( (LocalVar:Counter == 1) )
  26056. 0x000 {
  26057. 0x009 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  26058. 0x010 Perform(LocalVar:EnemyAttack, EnemyAttack)
  26059. 0x016 LocalVar:Counter <- 0
  26060. 0x01C }
  26061. 0x01C Else
  26062. 0x01C {
  26063. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26064. 0x027 Perform("Horn Bomber"[028A], EnemyAttack)
  26065. 0x02DSCRIPT END
  26066.  
  26067.  
  26068. MAGIC COUNTER:
  26069.  
  26070. 0x000 If ( ( ( ( ( ( ( ( (BattleAddr(&LastAttID) == 27 [01B]) Or (BattleAddr(&LastAttID) == 28 [01C]) ) Or (BattleAddr(&LastAttID) == 29 [01D]) ) Or (BattleAddr(&LastAttID) == 50 [032]) ) Or (BattleAddr(&LastAttID) == 58 [03A]) ) Or (BattleAddr(&LastAttID) == 66 [042]) ) Or (BattleAddr(&LastAttID) == 80 [050]) ) Or (BattleAddr(&LastAttID) == 84 [054]) ) )
  26071. 0x000 {
  26072. 0x03A LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  26073. 0x045 LocalVar:Counter <- 1
  26074. 0x04B LocalVar:EnemyAttack <- 652 (Cold)
  26075. 0x052 }
  26076. 0x052 Else
  26077. 0x052 {
  26078. 0x055 If ( ( ( ( ( (BattleAddr(&LastAttID) == 30 [01E]) Or (BattleAddr(&LastAttID) == 31 [01F]) ) Or (BattleAddr(&LastAttID) == 32 [020]) ) Or (BattleAddr(&LastAttID) == 47 [02F]) ) Or (BattleAddr(&LastAttID) == 57 [039]) ) )
  26079. 0x055 {
  26080. 0x07A LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  26081. 0x085 LocalVar:Counter <- 1
  26082. 0x08B LocalVar:EnemyAttack <- 651 (Flame)
  26083. 0x092SCRIPT END
  26084.  
  26085.  
  26086.  
  26087.  
  26088. 263 - [107] Epiolnis
  26089.  
  26090.  
  26091. LocalVar:0000 = LocalVar:OpenAttack
  26092.  
  26093. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26094. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26095.  
  26096. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26097.  
  26098.  
  26099.  
  26100. MAIN:
  26101.  
  26102. 0x000 If (Not (LocalVar:OpenAttack) )
  26103. 0x000 {
  26104. 0x007 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26105. 0x00F Perform("Bird Kick"[01B6], EnemyAttack)
  26106. 0x015 LocalVar:OpenAttack <- 1
  26107. 0x01B }
  26108. 0x01B Else
  26109. 0x01B {
  26110. 0x01E If (Random MOD 4 == 0)
  26111. 0x01E {
  26112. 0x027 Bad Code0x032 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  26113. 0x034 Perform("Acid Rain"[028E], EnemyAttack)
  26114. 0x03A }
  26115. 0x03A Else
  26116. 0x03A {
  26117. 0x03D }
  26118. 0x03D Else
  26119. 0x03D {
  26120. 0x040 If (Random MOD 4 == 1)
  26121. 0x040 {
  26122. 0x045 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26123. 0x04D Perform("Catapult"[028D], EnemyAttack)
  26124. 0x053 }
  26125. 0x053 Else
  26126. 0x053 {
  26127. 0x056 }
  26128. 0x056 Else
  26129. 0x056 {
  26130. 0x059 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26131. 0x061 Perform("Bird Kick"[01B6], EnemyAttack)
  26132. 0x067 }
  26133. 0x067 Else
  26134. 0x067 {
  26135. 0x06A POP(Random MOD 4)
  26136. 0x06BSCRIPT END
  26137.  
  26138. NOTE - 0x031 uses HMSK
  26139.  
  26140.  
  26141.  
  26142.  
  26143. 264 - [108] Ho-chu
  26144.  
  26145.  
  26146. LocalVar:0000 = LocalVar:Count
  26147.  
  26148. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26149. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26150.  
  26151. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  26152.  
  26153.  
  26154.  
  26155. MAIN:
  26156.  
  26157. 0x000 If (Not (LocalVar:0000) )
  26158. 0x000 {
  26159. 0x007 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26160. 0x00E Perform("Big Pollen"[0290], EnemyAttack)
  26161. 0x014 LocalVar:0000 <- 1
  26162. 0x01A }
  26163. 0x01A Else
  26164. 0x01A {
  26165. 0x01D If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  26166. 0x01D {
  26167. 0x02A If (Not (Random MOD 4) )
  26168. 0x02A {
  26169. 0x032 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26170. 0x039 Perform("Big Pollen"[0290], EnemyAttack)
  26171. 0x03F }
  26172. 0x03F Else
  26173. 0x03F {
  26174. 0x042 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26175. 0x04A Perform("Whip Sting"[028F], EnemyAttack)
  26176. 0x050 }
  26177. 0x050 Else
  26178. 0x050 {
  26179. 0x053 If (Not (Random MOD 8) )
  26180. 0x053 {
  26181. 0x05B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26182. 0x062 Perform("Big Pollen"[0290], EnemyAttack)
  26183. 0x068 }
  26184. 0x068 Else
  26185. 0x068 {
  26186. 0x06B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26187. 0x073 Perform("Whip Sting"[028F], EnemyAttack)
  26188. 0x079SCRIPT END
  26189.  
  26190.  
  26191.  
  26192.  
  26193. 265 - [109] Gas Ducter
  26194.  
  26195.  
  26196. LocalVar:0000 = LocalVar:Count
  26197. LocalVar:0020 = LocalVar:SpclChance
  26198.  
  26199. BattleAddr(&2060) = BattleAddr(&Self)
  26200. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26201. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26202.  
  26203. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26204. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26205.  
  26206.  
  26207.  
  26208. PRE-BATTLE:
  26209.  
  26210. 0x000 If (Not (Random MOD 2) )
  26211. 0x000 {
  26212. 0x008 LocalVar:Count <- 1
  26213. 0x00E }
  26214. 0x00E Else
  26215. 0x00E {
  26216. 0x011 LocalVar:Count <- 2
  26217. 0x017LocalVar:SpclChance <- 8
  26218. 0x01DSCRIPT END
  26219.  
  26220.  
  26221. MAIN:
  26222.  
  26223. 0x000 If (LocalVar:Count == 0)
  26224. 0x000 {
  26225. 0x008 }
  26226. 0x008 Else
  26227. 0x008 {
  26228. 0x00B If (LocalVar:Count == 1)
  26229. 0x00B {
  26230. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26231. 0x018 Perform("Punch"[0128], EnemyAttack)
  26232. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  26233. 0x01E {
  26234. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26235. 0x02F Perform("Punch"[0128], EnemyAttack)
  26236. 0x035 LocalVar:Count <- LocalVar:Count + 1
  26237. 0x03F }
  26238. 0x03F Else
  26239. 0x03F {
  26240. 0x042 }
  26241. 0x042 Else
  26242. 0x042 {
  26243. 0x045 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26244. 0x04D Perform("Smog Alert"[02FB], EnemyAttack)
  26245. 0x053 If (Not (Random MOD LocalVar:SpclChance) )
  26246. 0x053 {
  26247. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26248. 0x064 Perform("Smog Alert"[02FB], EnemyAttack)
  26249. 0x06A LocalVar:Count <- 0
  26250. 0x070 }
  26251. 0x070 Else
  26252. 0x070 {
  26253. 0x073POP(LocalVar:Count)
  26254. 0x074SCRIPT END
  26255.  
  26256.  
  26257. GENERAL COUNTER:
  26258.  
  26259. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  26260. 0x000 {
  26261. 0x018 LocalVar:SpclChance <- 2
  26262. 0x01E }
  26263. 0x01E Else
  26264. 0x01E {
  26265. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  26266. 0x021 {
  26267. 0x039 LocalVar:SpclChance <- 3
  26268. 0x03F }
  26269. 0x03F Else
  26270. 0x03F {
  26271. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  26272. 0x042 {
  26273. 0x05A LocalVar:SpclChance <- 6
  26274. 0x060 }
  26275. 0x060 Else
  26276. 0x060 {
  26277. 0x063 LocalVar:SpclChance <- 8
  26278. 0x069SCRIPT END
  26279.  
  26280.  
  26281.  
  26282.  
  26283. 266 - [10A] Wolfmeister
  26284.  
  26285.  
  26286. LocalVar:0000 = LocalVar:Count
  26287. LocalVar:0020 = LocalVar:SpclChance
  26288.  
  26289. BattleAddr(&2060) = BattleAddr(&Self)
  26290. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26291. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26292.  
  26293. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  26294. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  26295. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  26296. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  26297. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26298. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26299.  
  26300.  
  26301.  
  26302. PRE-BATTLE:
  26303.  
  26304. 0x000LocalVar:Count <- Random MOD 5
  26305. 0x008LocalVar:SpclChance <- 8
  26306. 0x00ESCRIPT END
  26307.  
  26308.  
  26309. MAIN:
  26310.  
  26311. 0x000 If (LocalVar:Count == 0)
  26312. 0x000 {
  26313. 0x008 }
  26314. 0x008 Else
  26315. 0x008 {
  26316. 0x00B If (LocalVar:Count == 1)
  26317. 0x00B {
  26318. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26319. 0x018 Perform("Big Punch"[02FD], EnemyAttack)
  26320. 0x01E LocalVar:Count <- LocalVar:Count + 1
  26321. 0x028 }
  26322. 0x028 Else
  26323. 0x028 {
  26324. 0x02B }
  26325. 0x02B Else
  26326. 0x02B {
  26327. 0x02E If (LocalVar:Count == 2)
  26328. 0x02E {
  26329. 0x033 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26330. 0x03B Perform("Heavy Sword"[02FE], EnemyAttack)
  26331. 0x041 LocalVar:Count <- 3
  26332. 0x047 }
  26333. 0x047 Else
  26334. 0x047 {
  26335. 0x04A }
  26336. 0x04A Else
  26337. 0x04A {
  26338. 0x04D If (LocalVar:Count == 3)
  26339. 0x04D {
  26340. 0x052 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Atomic Ray [02FF])) And Not (Random MOD LocalVar:SpclChance) ) )
  26341. 0x052 {
  26342. 0x068 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26343. 0x070 Perform("Atomic Ray"[02FF], EnemyAttack)
  26344. 0x076 }
  26345. 0x076 Else
  26346. 0x076 {
  26347. 0x079 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26348. 0x081 Perform("Big Punch"[02FD], EnemyAttack)
  26349. 0x087 LocalVar:Count <- 4
  26350. 0x08D }
  26351. 0x08D Else
  26352. 0x08D {
  26353. 0x090 }
  26354. 0x090 Else
  26355. 0x090 {
  26356. 0x093 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Big Guard [004C])) And Not (Random MOD LocalVar:SpclChance) ) )
  26357. 0x093 {
  26358. 0x0A8 If ( ( ( (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 0) And (BattleAddr(&Self).BattleAddr(&MBarrierStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&HasteStatus) == 0) ) )
  26359. 0x0A8 {
  26360. 0x0CB BattleAddr(&TarSelected) <- BattleAddr(&Self)
  26361. 0x0D2 Perform("Big Guard"[004C], EnemyAttack)
  26362. 0x0D7 }
  26363. 0x0D7 Else
  26364. 0x0D7 {
  26365. 0x0DA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26366. 0x0E2 Perform("Big Punch"[02FD], EnemyAttack)
  26367. 0x0E8 }
  26368. 0x0E8 Else
  26369. 0x0E8 {
  26370. 0x0EB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26371. 0x0F3 Perform("Big Punch"[02FD], EnemyAttack)
  26372. 0x0F9 LocalVar:Count <- 0
  26373. 0x0FF }
  26374. 0x0FF Else
  26375. 0x0FF {
  26376. 0x102POP(LocalVar:Count)
  26377. 0x103SCRIPT END
  26378.  
  26379.  
  26380. GENERAL COUNTER:
  26381.  
  26382. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  26383. 0x000 {
  26384. 0x018 LocalVar:SpclChance <- 2
  26385. 0x01E }
  26386. 0x01E Else
  26387. 0x01E {
  26388. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  26389. 0x021 {
  26390. 0x039 LocalVar:SpclChance <- 3
  26391. 0x03F }
  26392. 0x03F Else
  26393. 0x03F {
  26394. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  26395. 0x042 {
  26396. 0x05A LocalVar:SpclChance <- 4
  26397. 0x060 }
  26398. 0x060 Else
  26399. 0x060 {
  26400. 0x063 LocalVar:SpclChance <- 8
  26401. 0x069SCRIPT END
  26402.  
  26403.  
  26404.  
  26405.  
  26406. 267 - [10B] Eagle Gun
  26407.  
  26408.  
  26409. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26410. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26411.  
  26412.  
  26413.  
  26414. MAIN:
  26415.  
  26416. 0x000 If (Random MOD 4 == 0)
  26417. 0x000 {
  26418. 0x009 }
  26419. 0x009 Else
  26420. 0x009 {
  26421. 0x00C If (Random MOD 4 == 1)
  26422. 0x00C {
  26423. 0x011 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26424. 0x019 Perform("Claw"[020F], EnemyAttack)
  26425. 0x01F }
  26426. 0x01F Else
  26427. 0x01F {
  26428. 0x022 }
  26429. 0x022 Else
  26430. 0x022 {
  26431. 0x025 If (Random MOD 4 == 2)
  26432. 0x025 {
  26433. 0x02A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26434. 0x032 Perform("Single Wing Fire"[032E], EnemyAttack)
  26435. 0x038 If (Not (Random MOD 2) )
  26436. 0x038 {
  26437. 0x040 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26438. 0x048 Perform("Single Wing Fire"[032E], EnemyAttack)
  26439. 0x04E }
  26440. 0x04E Else
  26441. 0x04E {
  26442. 0x051 }
  26443. 0x051 Else
  26444. 0x051 {
  26445. 0x054 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26446. 0x05B Perform("Dual Wing Fire"[032F], EnemyAttack)
  26447. 0x061 If (Not (Random MOD 2) )
  26448. 0x061 {
  26449. 0x069 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26450. 0x070 Perform("Dual Wing Fire"[032F], EnemyAttack)
  26451. 0x076 }
  26452. 0x076 Else
  26453. 0x076 {
  26454. 0x079POP(Random MOD 4)
  26455. 0x07ASCRIPT END
  26456.  
  26457.  
  26458.  
  26459.  
  26460. 268 - [10C] Serpent
  26461.  
  26462.  
  26463. LocalVar:0000 = LocalVar:TurnCount
  26464. LocalVar:0020 = LocalVar:1stChr
  26465. LocalVar:0040 = LocalVar:2ndChr
  26466. LocalVar:0060 = LocalVar:3rdChr
  26467. LocalVar:0080 = LocalVar:AverageHP
  26468. LocalVar:00A0 = LocalVar:ActivePlayerCount
  26469.  
  26470. BattleAddr(&2060) = BattleAddr(&Self)
  26471. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26472. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26473.  
  26474. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  26475. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26476.  
  26477.  
  26478.  
  26479. PRE-BATTLE:
  26480.  
  26481. 0x000LocalVar:TurnCount <- 1
  26482. 0x006SCRIPT END
  26483.  
  26484.  
  26485. MAIN:
  26486.  
  26487. 0x000LocalVar:1stChr <- FlagBit(0)
  26488. 0x007LocalVar:2ndChr <- FlagBit(1)
  26489. 0x00ELocalVar:3rdChr <- FlagBit(2)
  26490. 0x015LocalVar:AverageHP <- 0
  26491. 0x01BLocalVar:ActivePlayerCount <- 0
  26492. 0x021 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  26493. 0x021 {
  26494. 0x02E LocalVar:AverageHP <- LocalVar:AverageHP + LocalVar:1stChr.BattleAddr(&CurrentHP)
  26495. 0x03D LocalVar:ActivePlayerCount <- LocalVar:ActivePlayerCount + 1
  26496. 0x047 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  26497. 0x047 {
  26498. 0x054 LocalVar:AverageHP <- LocalVar:AverageHP + LocalVar:2ndChr.BattleAddr(&CurrentHP)
  26499. 0x063 LocalVar:ActivePlayerCount <- LocalVar:ActivePlayerCount + 1
  26500. 0x06D If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  26501. 0x06D {
  26502. 0x07A LocalVar:AverageHP <- LocalVar:AverageHP + LocalVar:3rdChr.BattleAddr(&CurrentHP)
  26503. 0x089 LocalVar:ActivePlayerCount <- LocalVar:ActivePlayerCount + 1
  26504. 0x093LocalVar:AverageHP <- LocalVar:AverageHP / LocalVar:ActivePlayerCount
  26505. 0x09E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= LocalVar:AverageHP / 10 * 2) )
  26506. 0x09E {
  26507. 0x0B2 If (Not (LocalVar:TurnCount) )
  26508. 0x0B2 {
  26509. 0x0B9 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26510. 0x0C0 Perform("Dragon Dance"[0301], EnemyAttack)
  26511. 0x0C6 LocalVar:TurnCount <- 2
  26512. 0x0CC }
  26513. 0x0CC Else
  26514. 0x0CC {
  26515. 0x0CF LocalVar:TurnCount <- LocalVar:TurnCount - 1
  26516. 0x0D9 }
  26517. 0x0D9 Else
  26518. 0x0D9 {
  26519. 0x0DC If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= LocalVar:AverageHP / 10 * 4) )
  26520. 0x0DC {
  26521. 0x0F0 If (Not (LocalVar:TurnCount) )
  26522. 0x0F0 {
  26523. 0x0F7 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26524. 0x0FE Perform("Huge Tidal Wave"[0293], EnemyAttack)
  26525. 0x104 LocalVar:TurnCount <- 1
  26526. 0x10A }
  26527. 0x10A Else
  26528. 0x10A {
  26529. 0x10D LocalVar:TurnCount <- LocalVar:TurnCount - 1
  26530. 0x117 }
  26531. 0x117 Else
  26532. 0x117 {
  26533. 0x11A If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= LocalVar:AverageHP / 10 * 8) )
  26534. 0x11A {
  26535. 0x12E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  26536. 0x135 Perform("Aqualung"[0055], EnemyAttack)
  26537. 0x13A }
  26538. 0x13A Else
  26539. 0x13A {
  26540. 0x13D Bad Code0x148 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  26541. 0x14A Perform("Viper Breath"[0300], EnemyAttack)
  26542. 0x150SCRIPT END
  26543.  
  26544. NOTE - 0x147 uses HMSK
  26545.  
  26546.  
  26547.  
  26548.  
  26549. 269 - [10D] Poodler
  26550.  
  26551.  
  26552. LocalVar:0000 = LocalVar:Count
  26553. LocalVar:0020 = LocalVar:1stChr
  26554. LocalVar:0040 = LocalVar:2ndChr
  26555. LocalVar:0060 = LocalVar:3rdChr
  26556.  
  26557. BattleAddr(&2060) = BattleAddr(&Self)
  26558. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26559.  
  26560. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  26561. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  26562. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  26563. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26564. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26565.  
  26566.  
  26567.  
  26568. PRE-BATTLE:
  26569.  
  26570. 0x000LocalVar:1stChr <- FlagBit(0)
  26571. 0x007LocalVar:2ndChr <- FlagBit(1)
  26572. 0x00ELocalVar:3rdChr <- FlagBit(2)
  26573. 0x015 If (Random MOD 3 == 0)
  26574. 0x015 {
  26575. 0x01E LocalVar:Count <- 0
  26576. 0x024 }
  26577. 0x024 Else
  26578. 0x024 {
  26579. 0x027 }
  26580. 0x027 Else
  26581. 0x027 {
  26582. 0x02A If (Random MOD 3 == 1)
  26583. 0x02A {
  26584. 0x02F LocalVar:Count <- 1
  26585. 0x035 }
  26586. 0x035 Else
  26587. 0x035 {
  26588. 0x038 }
  26589. 0x038 Else
  26590. 0x038 {
  26591. 0x03B LocalVar:Count <- 2
  26592. 0x041 }
  26593. 0x041 Else
  26594. 0x041 {
  26595. 0x044POP(Random MOD 3)
  26596. 0x045SCRIPT END
  26597.  
  26598.  
  26599. MAIN:
  26600.  
  26601. 0x000 If (LocalVar:Count == 0)
  26602. 0x000 {
  26603. 0x008 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  26604. 0x008 {
  26605. 0x015 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  26606. 0x01C Perform("Bodyblow"[0172], EnemyAttack)
  26607. 0x022 LocalVar:Count <- 1
  26608. 0x028 }
  26609. 0x028 Else
  26610. 0x028 {
  26611. 0x02B }
  26612. 0x02B Else
  26613. 0x02B {
  26614. 0x02E If (LocalVar:Count == 1)
  26615. 0x02E {
  26616. 0x033 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  26617. 0x033 {
  26618. 0x040 BattleAddr(&TarSelected) <- LocalVar:1stChr
  26619. 0x047 Perform("Bodyblow"[0172], EnemyAttack)
  26620. 0x04D LocalVar:Count <- 2
  26621. 0x053 }
  26622. 0x053 Else
  26623. 0x053 {
  26624. 0x056 }
  26625. 0x056 Else
  26626. 0x056 {
  26627. 0x059 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  26628. 0x059 {
  26629. 0x066 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  26630. 0x06D Perform("Bodyblow"[0172], EnemyAttack)
  26631. 0x073 LocalVar:Count <- 0
  26632. 0x079 }
  26633. 0x079 Else
  26634. 0x079 {
  26635. 0x07CPOP(LocalVar:Count)
  26636. 0x07DSCRIPT END
  26637.  
  26638.  
  26639. GENERAL COUNTER:
  26640.  
  26641. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) And Not (Random MOD 3) ) )
  26642. 0x000 {
  26643. 0x01B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire [001B])) )
  26644. 0x01B {
  26645. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  26646. 0x034 Perform("Fire"[001B], EnemyAttack)
  26647. 0x039SCRIPT END
  26648.  
  26649.  
  26650.  
  26651.  
  26652. 270 - [10E] Bad Rap
  26653.  
  26654.  
  26655. LocalVar:0000 = LocalVar:Count
  26656. LocalVar:0020 = LocalVar:SpclChance
  26657.  
  26658. BattleAddr(&2060) = BattleAddr(&Self)
  26659. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26660. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26661.  
  26662. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  26663. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26664. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26665.  
  26666.  
  26667.  
  26668. PRE-BATTLE:
  26669.  
  26670. 0x000LocalVar:SpclChance <- 16
  26671. 0x006SCRIPT END
  26672.  
  26673.  
  26674. MAIN:
  26675.  
  26676. 0x000 If (LocalVar:Count == 0)
  26677. 0x000 {
  26678. 0x008 }
  26679. 0x008 Else
  26680. 0x008 {
  26681. 0x00B If (LocalVar:Count == 1)
  26682. 0x00B {
  26683. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26684. 0x018 Perform("Whip"[0180], EnemyAttack)
  26685. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  26686. 0x01E {
  26687. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26688. 0x02F Perform("Whip"[0180], EnemyAttack)
  26689. 0x035 LocalVar:Count <- LocalVar:Count + 1
  26690. 0x03F }
  26691. 0x03F Else
  26692. 0x03F {
  26693. 0x042 }
  26694. 0x042 Else
  26695. 0x042 {
  26696. 0x045 If (LocalVar:Count == 2)
  26697. 0x045 {
  26698. 0x04A If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  26699. 0x04A {
  26700. 0x05E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  26701. 0x06D Perform("Evil Poison"[0182], EnemyAttack)
  26702. 0x073 }
  26703. 0x073 Else
  26704. 0x073 {
  26705. 0x076 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26706. 0x07E Perform("Whip"[0180], EnemyAttack)
  26707. 0x084 If (Not (Random MOD LocalVar:SpclChance) )
  26708. 0x084 {
  26709. 0x08D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26710. 0x095 Perform("Whip"[0180], EnemyAttack)
  26711. 0x09B LocalVar:Count <- 3
  26712. 0x0A1 }
  26713. 0x0A1 Else
  26714. 0x0A1 {
  26715. 0x0A4 LocalVar:Count <- 0
  26716. 0x0AA }
  26717. 0x0AA Else
  26718. 0x0AA {
  26719. 0x0AD }
  26720. 0x0AD Else
  26721. 0x0AD {
  26722. 0x0B0 Bad Code0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  26723. 0x0BD Perform("Big Fang"[0181], EnemyAttack)
  26724. 0x0C3 LocalVar:Count <- 1
  26725. 0x0C9 }
  26726. 0x0C9 Else
  26727. 0x0C9 {
  26728. 0x0CCPOP(LocalVar:Count)
  26729. 0x0CDSCRIPT END
  26730.  
  26731. NOTE - 0x0B0 uses HMSK
  26732.  
  26733.  
  26734. GENERAL COUNTER:
  26735.  
  26736. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  26737. 0x000 {
  26738. 0x018 LocalVar:SpclChance <- 2
  26739. 0x01E }
  26740. 0x01E Else
  26741. 0x01E {
  26742. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  26743. 0x021 {
  26744. 0x039 LocalVar:SpclChance <- 3
  26745. 0x03F }
  26746. 0x03F Else
  26747. 0x03F {
  26748. 0x042 LocalVar:SpclChance <- 4
  26749. 0x048SCRIPT END
  26750.  
  26751.  
  26752.  
  26753.  
  26754. 271 - [10F] Unknown
  26755.  
  26756.  
  26757. LocalVar:0000 = LocalVar:Count
  26758. LocalVar:0020 = LocalVar:Stage
  26759.  
  26760. BattleAddr(&2060) = BattleAddr(&Self)
  26761. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26762. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26763.  
  26764. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26765. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26766.  
  26767.  
  26768.  
  26769. PRE-BATTLE:
  26770.  
  26771. 0x000 If (Not (Random MOD 2) )
  26772. 0x000 {
  26773. 0x008 LocalVar:Count <- 1
  26774. 0x00ESCRIPT END
  26775.  
  26776.  
  26777. MAIN:
  26778.  
  26779. 0x000 If (Not (LocalVar:Stage) )
  26780. 0x000 {
  26781. 0x007 If (LocalVar:Count == 0)
  26782. 0x007 {
  26783. 0x00F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26784. 0x017 Perform("Tongue"[0307], EnemyAttack)
  26785. 0x01D If (Not (Random MOD 3) )
  26786. 0x01D {
  26787. 0x025 LocalVar:Count <- 2
  26788. 0x02B }
  26789. 0x02B Else
  26790. 0x02B {
  26791. 0x02E LocalVar:Count <- 1
  26792. 0x034 }
  26793. 0x034 Else
  26794. 0x034 {
  26795. 0x037 }
  26796. 0x037 Else
  26797. 0x037 {
  26798. 0x03A If (LocalVar:Count == 1)
  26799. 0x03A {
  26800. 0x03F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26801. 0x047 Perform("Tongue"[0308], EnemyAttack)
  26802. 0x04D LocalVar:Count <- 0
  26803. 0x053 }
  26804. 0x053 Else
  26805. 0x053 {
  26806. 0x056 }
  26807. 0x056 Else
  26808. 0x056 {
  26809. 0x059 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26810. 0x061 Perform("Bite"[01B8], EnemyAttack)
  26811. 0x067 LocalVar:Count <- 0
  26812. 0x06D }
  26813. 0x06D Else
  26814. 0x06D {
  26815. 0x070 POP(LocalVar:Count)
  26816. 0x071 }
  26817. 0x071 Else
  26818. 0x071 {
  26819. 0x074 If (LocalVar:Count == 0)
  26820. 0x074 {
  26821. 0x07C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26822. 0x084 Perform("Blaster"[02B8], EnemyAttack)
  26823. 0x08A }
  26824. 0x08A Else
  26825. 0x08A {
  26826. 0x08D If (LocalVar:Count == 1)
  26827. 0x08D {
  26828. 0x092 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26829. 0x09A Perform("Blaster"[02B8], EnemyAttack)
  26830. 0x0A0 }
  26831. 0x0A0 Else
  26832. 0x0A0 {
  26833. 0x0A3 If (LocalVar:Count == 2)
  26834. 0x0A3 {
  26835. 0x0A8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26836. 0x0B0 Perform("Blaster"[02B8], EnemyAttack)
  26837. 0x0B6 }
  26838. 0x0B6 Else
  26839. 0x0B6 {
  26840. 0x0B9 }
  26841. 0x0B9 Else
  26842. 0x0B9 {
  26843. 0x0BC POP(LocalVar:Count)
  26844. 0x0BDSCRIPT END
  26845.  
  26846.  
  26847. PHYSICAL COUNTER:
  26848.  
  26849. 0x000 If (Not (LocalVar:Stage) )
  26850. 0x000 {
  26851. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 3) )
  26852. 0x007 {
  26853. 0x01C LocalVar:Stage <- 1
  26854. 0x022 LocalVar:Count <- 2
  26855. 0x028SCRIPT END
  26856.  
  26857.  
  26858. MAGIC COUNTER:
  26859.  
  26860. 0x000 If (LocalVar:Stage)
  26861. 0x000 {
  26862. 0x006 If ( (LocalVar:Count == 3) )
  26863. 0x006 {
  26864. 0x00F LocalVar:Count <- 0
  26865. 0x015 }
  26866. 0x015 Else
  26867. 0x015 {
  26868. 0x018 LocalVar:Count <- LocalVar:Count + 1
  26869. 0x022SCRIPT END
  26870.  
  26871.  
  26872.  
  26873.  
  26874. 272 - [110] Unknown 3
  26875.  
  26876.  
  26877. LocalVar:0000 = LocalVar:SpclChance
  26878.  
  26879. BattleAddr(&2060) = BattleAddr(&Self)
  26880. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26881. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26882.  
  26883. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  26884. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  26885. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  26886. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26887. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26888.  
  26889.  
  26890.  
  26891. MAIN:
  26892.  
  26893. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  26894. 0x000 {
  26895. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  26896. 0x01C If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost( [001B])) )
  26897. 0x01C {
  26898. 0x02A LocalVar:SpclChance <- 7
  26899. 0x030 }
  26900. 0x030 Else
  26901. 0x030 {
  26902. 0x033 LocalVar:SpclChance <- 6
  26903. 0x039 If (Random MOD LocalVar:SpclChance == 0)
  26904. 0x039 {
  26905. 0x043 }
  26906. 0x043 Else
  26907. 0x043 {
  26908. 0x046 If (Random MOD LocalVar:SpclChance == 1)
  26909. 0x046 {
  26910. 0x04B }
  26911. 0x04B Else
  26912. 0x04B {
  26913. 0x04E If (Random MOD LocalVar:SpclChance == 2)
  26914. 0x04E {
  26915. 0x053 }
  26916. 0x053 Else
  26917. 0x053 {
  26918. 0x056 If (Random MOD LocalVar:SpclChance == 3)
  26919. 0x056 {
  26920. 0x05B Perform("Poison Fang"[030C], EnemyAttack)
  26921. 0x061 }
  26922. 0x061 Else
  26923. 0x061 {
  26924. 0x064 }
  26925. 0x064 Else
  26926. 0x064 {
  26927. 0x067 If (Random MOD LocalVar:SpclChance == 3)
  26928. 0x067 {
  26929. 0x06C }
  26930. 0x06C Else
  26931. 0x06C {
  26932. 0x06F If (Random MOD LocalVar:SpclChance == 4)
  26933. 0x06F {
  26934. 0x074 Perform("Slap"[030D], EnemyAttack)
  26935. 0x07A }
  26936. 0x07A Else
  26937. 0x07A {
  26938. 0x07D }
  26939. 0x07D Else
  26940. 0x07D {
  26941. 0x080 Perform("Bolt2"[0022], EnemyAttack)
  26942. 0x085 }
  26943. 0x085 Else
  26944. 0x085 {
  26945. 0x088 POP(Random MOD LocalVar:SpclChance)
  26946. 0x089SCRIPT END
  26947.  
  26948.  
  26949. GENERAL COUNTER:
  26950.  
  26951. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  26952. 0x00B If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  26953. 0x00B {
  26954. 0x020 Perform("Creepy Touch"[030E], EnemyAttack)
  26955. 0x026 }
  26956. 0x026 Else
  26957. 0x026 {
  26958. 0x029 If ( (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 0) )
  26959. 0x029 {
  26960. 0x036 Perform("Creepy Touch"[030E], EnemyAttack)
  26961. 0x03CSCRIPT END
  26962.  
  26963.  
  26964.  
  26965.  
  26966. 273 - [111] Unknown 2
  26967.  
  26968.  
  26969. LocalVar:0000 = LocalVar:OpenAttack
  26970.  
  26971. BattleAddr(&2060) = BattleAddr(&Self)
  26972. BattleAddr(&2070) = BattleAddr(&TarSelected)
  26973. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  26974.  
  26975. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  26976. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  26977. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  26978. BattleAddr(&4180) = BattleAddr(&MaxHP)
  26979.  
  26980.  
  26981.  
  26982. MAIN:
  26983.  
  26984. 0x000 If (Not (LocalVar:OpenAttack) )
  26985. 0x000 {
  26986. 0x007 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  26987. 0x007 {
  26988. 0x014 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  26989. 0x023 }
  26990. 0x023 Else
  26991. 0x023 {
  26992. 0x026 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  26993. 0x02E Perform("Abnormal Breath"[030B], EnemyAttack)
  26994. 0x034 LocalVar:OpenAttack <- 1
  26995. 0x03A }
  26996. 0x03A Else
  26997. 0x03A {
  26998. 0x03D If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  26999. 0x03D {
  27000. 0x04A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27001. 0x059 }
  27002. 0x059 Else
  27003. 0x059 {
  27004. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27005. 0x064 Perform("Tentacle"[0309], EnemyAttack)
  27006. 0x06ASCRIPT END
  27007.  
  27008.  
  27009. PHYSICAL COUNTER:
  27010.  
  27011. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  27012. 0x000 {
  27013. 0x018 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  27014. 0x023 Perform("? Needle"[030A], EnemyAttack)
  27015. 0x029 }
  27016. 0x029 Else
  27017. 0x029 {
  27018. 0x02C If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  27019. 0x02C {
  27020. 0x044 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  27021. 0x04F Perform("Abnormal Breath"[030B], EnemyAttack)
  27022. 0x055SCRIPT END
  27023.  
  27024.  
  27025.  
  27026.  
  27027. 274 - [112] Turks:Reno III (Gelnika)
  27028.  
  27029.  
  27030. LocalVar:0000 = LocalVar:TarSelected
  27031. LocalVar:0020 = LocalVar:Counter
  27032. LocalVar:0040 = LocalVar:Count
  27033.  
  27034. BattleAddr(&2008) = BattleAddr(&LastAttID)
  27035. BattleAddr(&2060) = BattleAddr(&Self)
  27036. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27037. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27038.  
  27039. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  27040. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  27041. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  27042. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  27043. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  27044. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  27045. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  27046. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  27047. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  27048. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  27049. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  27050.  
  27051.  
  27052.  
  27053. MAIN:
  27054.  
  27055. 0x000LocalVar:Count <- 0
  27056. 0x006 If ( ( (LocalVar:Count == 0) And LocalVar:Counter) )
  27057. 0x006 {
  27058. 0x013 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  27059. 0x01A Perform("Electroprod 2"[0373], EnemyAttack)
  27060. 0x020 LocalVar:Counter <- 0
  27061. 0x026 }
  27062. 0x026 Else
  27063. 0x026 {
  27064. 0x029 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27065. 0x031 If (Random MOD 2)
  27066. 0x031 {
  27067. 0x038 Perform("Short Staff"[015C], EnemyAttack)
  27068. 0x03E }
  27069. 0x03E Else
  27070. 0x03E {
  27071. 0x041 Perform("Neo Turk Light"[0371], EnemyAttack)
  27072. 0x047SCRIPT END
  27073.  
  27074.  
  27075. MAGIC COUNTER:
  27076.  
  27077. 0x000 If ( ( ( (BattleAddr(&LastAttID) == 33) Or (BattleAddr(&LastAttID) == 34) ) Or (BattleAddr(&LastAttID) == 35) ) )
  27078. 0x000 {
  27079. 0x017 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  27080. 0x022 LocalVar:Counter <- 1
  27081. 0x028SCRIPT END
  27082.  
  27083.  
  27084. DEATH COUNTER:
  27085.  
  27086. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  27087. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  27088. 0x014BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  27089. 0x01EBattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  27090. 0x028BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  27091. 0x032BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  27092. 0x03CBattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  27093. 0x046BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  27094. 0x050BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  27095. 0x05ADisplay String: "Reno “These guys are pretty tough.”"
  27096. 0x07FBattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  27097. 0x089BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27098. 0x090Perform("(Report)"[0164], EnemyAttack)
  27099. 0x096SCRIPT END
  27100.  
  27101.  
  27102.  
  27103.  
  27104. 275 - [113] Turks:Rude II (Gelnika)
  27105.  
  27106.  
  27107. LocalVar:0000 = LocalVar:Tifa
  27108. LocalVar:0020 = Unused
  27109. LocalVar:0040 = LocalVar:TurnCount
  27110. LocalVar:0060 = LocalVar:TakeTurn
  27111.  
  27112. BattleAddr(&2060) = BattleAddr(&Self)
  27113. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27114. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  27115. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27116.  
  27117. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  27118. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  27119. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  27120. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  27121. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  27122. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  27123. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  27124. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  27125. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  27126. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  27127. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  27128. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  27129. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  27130. BattleAddr(&4180) = BattleAddr(&MaxHP)
  27131.  
  27132.  
  27133.  
  27134. PRE-BATTLE:
  27135.  
  27136. 0x000LocalVar:Tifa <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  27137. 0x00ESCRIPT END
  27138.  
  27139.  
  27140. MAIN:
  27141.  
  27142. 0x000 If ( ( (LocalVar:TakeTurn == 0) And (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 2) ) )
  27143. 0x000 {
  27144. 0x01C LocalVar:TurnCount <- LocalVar:TurnCount + 1
  27145. 0x026 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) And (LocalVar:TurnCount >= 2) ) )
  27146. 0x026 {
  27147. 0x03B BattleAddr(&TarSelected) <- BattleAddr(&AllEnemies)
  27148. 0x042 Perform("Cure2"[0001], EnemyAttack)
  27149. 0x047 LocalVar:TakeTurn <- 1
  27150. 0x04D LocalVar:TurnCount <- 0
  27151. 0x053 If ( (LocalVar:TakeTurn == 0) )
  27152. 0x053 {
  27153. 0x05C If (Random MOD 5 == 0)
  27154. 0x05C {
  27155. 0x065 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ice2 [001F])) )
  27156. 0x065 {
  27157. 0x073 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27158. 0x07B If ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) != 18) )
  27159. 0x07B {
  27160. 0x088 Perform("Ice2"[001F], EnemyAttack)
  27161. 0x08D LocalVar:TakeTurn <- 1
  27162. 0x093 }
  27163. 0x093 Else
  27164. 0x093 {
  27165. 0x096 }
  27166. 0x096 Else
  27167. 0x096 {
  27168. 0x099 If (Random MOD 5 == 1)
  27169. 0x099 {
  27170. 0x09E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  27171. 0x09E {
  27172. 0x0AC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27173. 0x0B4 If ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) != 18) )
  27174. 0x0B4 {
  27175. 0x0C1 Perform("Bolt2"[0022], EnemyAttack)
  27176. 0x0C6 LocalVar:TakeTurn <- 1
  27177. 0x0CC }
  27178. 0x0CC Else
  27179. 0x0CC {
  27180. 0x0CF }
  27181. 0x0CF Else
  27182. 0x0CF {
  27183. 0x0D2 If (Random MOD 5 == 2)
  27184. 0x0D2 {
  27185. 0x0D7 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  27186. 0x0D7 {
  27187. 0x0E5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27188. 0x0ED If ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) != 18) )
  27189. 0x0ED {
  27190. 0x0FA Perform("Fire2"[001C], EnemyAttack)
  27191. 0x0FF LocalVar:TakeTurn <- 1
  27192. 0x105 }
  27193. 0x105 Else
  27194. 0x105 {
  27195. 0x108 POP(Random MOD 5)
  27196. 0x109 If ( (LocalVar:TakeTurn == 0) )
  27197. 0x109 {
  27198. 0x112 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) != 18)
  27199. 0x120 If (BattleAddr(&TarSelected))
  27200. 0x120 {
  27201. 0x126 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  27202. 0x12E Perform("Shoulder Attack"[0374], EnemyAttack)
  27203. 0x134 }
  27204. 0x134 Else
  27205. 0x134 {
  27206. 0x137 If ( (Random MOD 3 == 0) )
  27207. 0x137 {
  27208. 0x141 Display String: "Rude “………………”"
  27209. 0x150 }
  27210. 0x150 Else
  27211. 0x150 {
  27212. 0x153 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  27213. 0x161 Perform("Shoulder Attack"[0374], EnemyAttack)
  27214. 0x167SCRIPT END
  27215.  
  27216.  
  27217. DEATH COUNTER:
  27218.  
  27219. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  27220. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  27221. 0x014BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  27222. 0x01EBattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  27223. 0x028BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  27224. 0x032BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  27225. 0x03CBattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  27226. 0x046BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  27227. 0x050BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  27228. 0x05ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  27229. 0x061Display String: "Rude “………………”"
  27230. 0x070BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  27231. 0x07ABattleAddr(&TarSelected) <- BattleAddr(&Self)
  27232. 0x081Perform("(Report)"[0164], EnemyAttack)
  27233. 0x087SCRIPT END
  27234.  
  27235.  
  27236.  
  27237.  
  27238. 276 - [114] Hippogriff
  27239.  
  27240.  
  27241. LocalVar:0000 = LocalVar:BaseEvade
  27242. LocalVar:0020 = LocalVar:Count
  27243. LocalVar:0040 = LocalVar:Stage
  27244. LocalVar:0060 = LocalVar:HitCount
  27245.  
  27246. BattleAddr(&2060) = BattleAddr(&Self)
  27247. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27248. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27249.  
  27250. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  27251. BattleAddr(&4078) = BattleAddr(&Evade)
  27252. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  27253. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  27254. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  27255. BattleAddr(&4180) = BattleAddr(&MaxHP)
  27256. BattleAddr(&4270) = BattleAddr(&Row)
  27257.  
  27258.  
  27259.  
  27260. PRE-BATTLE:
  27261.  
  27262. 0x000LocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  27263. 0x00BSCRIPT END
  27264.  
  27265.  
  27266. MAIN:
  27267.  
  27268. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  27269. 0x000 {
  27270. 0x00D If (LocalVar:Count == 0)
  27271. 0x00D {
  27272. 0x015 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27273. 0x015 {
  27274. 0x022 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27275. 0x031 Perform("L2 Confu"[02D2], EnemyAttack)
  27276. 0x037 LocalVar:Count <- 1
  27277. 0x03D }
  27278. 0x03D Else
  27279. 0x03D {
  27280. 0x040 }
  27281. 0x040 Else
  27282. 0x040 {
  27283. 0x043 If (LocalVar:Count == 1)
  27284. 0x043 {
  27285. 0x048 }
  27286. 0x048 Else
  27287. 0x048 {
  27288. 0x04B If (LocalVar:Count == 2)
  27289. 0x04B {
  27290. 0x050 }
  27291. 0x050 Else
  27292. 0x050 {
  27293. 0x053 If (LocalVar:Count == 3)
  27294. 0x053 {
  27295. 0x058 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27296. 0x058 {
  27297. 0x065 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27298. 0x074 Perform("Beak"[01E7], EnemyAttack)
  27299. 0x07A LocalVar:Count <- LocalVar:Count + 1
  27300. 0x084 }
  27301. 0x084 Else
  27302. 0x084 {
  27303. 0x087 }
  27304. 0x087 Else
  27305. 0x087 {
  27306. 0x08A If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27307. 0x08A {
  27308. 0x097 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27309. 0x0A6 If (Not (LocalVar:Stage) )
  27310. 0x0A6 {
  27311. 0x0AD Perform("Beak"[01E7], EnemyAttack)
  27312. 0x0B3 }
  27313. 0x0B3 Else
  27314. 0x0B3 {
  27315. 0x0B6 Perform("???"[0369], EnemyAttack)
  27316. 0x0BC LocalVar:Count <- 1
  27317. 0x0C2 }
  27318. 0x0C2 Else
  27319. 0x0C2 {
  27320. 0x0C5 POP(LocalVar:Count)
  27321. 0x0C6 }
  27322. 0x0C6 Else
  27323. 0x0C6 {
  27324. 0x0C9 If (LocalVar:Count == 0)
  27325. 0x0C9 {
  27326. 0x0D1 }
  27327. 0x0D1 Else
  27328. 0x0D1 {
  27329. 0x0D4 If (LocalVar:Count == 1)
  27330. 0x0D4 {
  27331. 0x0D9 }
  27332. 0x0D9 Else
  27333. 0x0D9 {
  27334. 0x0DC If (LocalVar:Count == 2)
  27335. 0x0DC {
  27336. 0x0E1 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27337. 0x0E1 {
  27338. 0x0EE BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27339. 0x0FD Perform("Beak"[02D3], EnemyAttack)
  27340. 0x103 LocalVar:Count <- LocalVar:Count + 1
  27341. 0x10D }
  27342. 0x10D Else
  27343. 0x10D {
  27344. 0x110 }
  27345. 0x110 Else
  27346. 0x110 {
  27347. 0x113 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27348. 0x113 {
  27349. 0x120 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  27350. 0x12F If (Not (LocalVar:HitCount) )
  27351. 0x12F {
  27352. 0x136 Perform("Beak"[02D3], EnemyAttack)
  27353. 0x13C }
  27354. 0x13C Else
  27355. 0x13C {
  27356. 0x13F Perform("???"[036A], EnemyAttack)
  27357. 0x145 LocalVar:Count <- 1
  27358. 0x14B }
  27359. 0x14B Else
  27360. 0x14B {
  27361. 0x14E POP(LocalVar:Count)
  27362. 0x14FSCRIPT END
  27363.  
  27364.  
  27365. PHYSICAL COUNTER:
  27366.  
  27367. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  27368. 0x000 {
  27369. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  27370. 0x017 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) )
  27371. 0x017 {
  27372. 0x02C If (Not (LocalVar:Stage) )
  27373. 0x02C {
  27374. 0x033 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27375. 0x03A Perform([011F], EnemyAttack)
  27376. 0x040 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  27377. 0x04A BattleAddr(&Self).BattleAddr(&Evade) <- BattleAddr(&Self).BattleAddr(&Evade) + 30
  27378. 0x05C BattleAddr(&Self).BattleAddr(&Row) <- 16
  27379. 0x066 LocalVar:Stage <- 1
  27380. 0x06C }
  27381. 0x06C Else
  27382. 0x06C {
  27383. 0x06F BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  27384. 0x079SCRIPT END
  27385.  
  27386.  
  27387. MAGIC COUNTER:
  27388.  
  27389. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) != 0) )
  27390. 0x000 {
  27391. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  27392. 0x017 If (Not (LocalVar:HitCount) )
  27393. 0x017 {
  27394. 0x01E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27395. 0x025 Perform([0120], EnemyAttack)
  27396. 0x02B BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  27397. 0x035 BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  27398. 0x040 BattleAddr(&Self).BattleAddr(&Row) <- 1
  27399. 0x04A }
  27400. 0x04A Else
  27401. 0x04A {
  27402. 0x04D LocalVar:HitCount <- LocalVar:HitCount - 1
  27403. 0x057 }
  27404. 0x057 Else
  27405. 0x057 {
  27406. 0x05A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  27407. 0x064SCRIPT END
  27408.  
  27409.  
  27410.  
  27411.  
  27412. 277 - [115] Head Hunter
  27413.  
  27414.  
  27415. LocalVar:0000 = LocalVar:ChocID
  27416. LocalVar:0020 = LocalVar:ChocPresent
  27417.  
  27418. GlobalVar(0054) = GlobalVar(CaughtChoc)
  27419.  
  27420. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  27421. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27422. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  27423. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27424.  
  27425. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  27426. BattleAddr(&4023) = BattleAddr(&Targetable)
  27427. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  27428. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  27429.  
  27430.  
  27431.  
  27432. PRE-BATTLE:
  27433.  
  27434. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  27435. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  27436. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  27437. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  27438. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  27439. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  27440. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  27441. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  27442. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  27443. 0x0A7 If (LocalVar:ChocID)
  27444. 0x0A7 {
  27445. 0x0AD LocalVar:ChocPresent <- 1
  27446. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  27447. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  27448. 0x0BE Display String: "A Chocobo!"
  27449. 0x0CASCRIPT END
  27450.  
  27451.  
  27452. MAIN:
  27453.  
  27454. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27455. 0x008 If (Random MOD 4 == 0)
  27456. 0x008 {
  27457. 0x011 Perform("Rising Dagger"[01C7], EnemyAttack)
  27458. 0x017 }
  27459. 0x017 Else
  27460. 0x017 {
  27461. 0x01A }
  27462. 0x01A Else
  27463. 0x01A {
  27464. 0x01D Perform("Sickle"[0121], EnemyAttack)
  27465. 0x023 }
  27466. 0x023 Else
  27467. 0x023 {
  27468. 0x026POP(Random MOD 4)
  27469. 0x027SCRIPT END
  27470.  
  27471.  
  27472. DEATH COUNTER:
  27473.  
  27474. 0x000 If ( (LocalVar:ChocPresent == 1) )
  27475. 0x000 {
  27476. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  27477. 0x009 {
  27478. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  27479. 0x013 {
  27480. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  27481. 0x035 Display String: "Caught a Chocobo."
  27482. 0x048 BattleAddr(&MemBank1/2) <- 1
  27483. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  27484. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  27485. 0x05DSCRIPT END
  27486.  
  27487.  
  27488.  
  27489.  
  27490. 278 - [116] Spiral
  27491.  
  27492.  
  27493. LocalVar:0000 = LocalVar:ChocID
  27494. LocalVar:0020 = LocalVar:SpclHitCount
  27495. LocalVar:0040 = LocalVar:ChocPresent
  27496. LocalVar:0060 = LocalVar:Stage
  27497. LocalVar:0080 = LocalVar:NextStage
  27498.  
  27499. GlobalVar(0054) = GlobalVar(CaughtChoc)
  27500.  
  27501. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  27502. BattleAddr(&2060) = BattleAddr(&Self)
  27503. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27504. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  27505. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27506.  
  27507. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  27508. BattleAddr(&4023) = BattleAddr(&Targetable)
  27509. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  27510. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  27511. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  27512. BattleAddr(&4100) = BattleAddr(&Def)
  27513. BattleAddr(&4110) = BattleAddr(&MDef)
  27514. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  27515.  
  27516.  
  27517.  
  27518. PRE-BATTLE:
  27519.  
  27520. 0x000LocalVar:ChocID <- (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 339)
  27521. 0x00FLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 340)
  27522. 0x022LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 341)
  27523. 0x035LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 342)
  27524. 0x048LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 343)
  27525. 0x05BLocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 344)
  27526. 0x06ELocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 347)
  27527. 0x081LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 349)
  27528. 0x094LocalVar:ChocID <- LocalVar:ChocID + (BattleAddr(&AllEnemies).BattleAddr(&IndexOfActor) == 350)
  27529. 0x0A7 If (LocalVar:ChocID)
  27530. 0x0A7 {
  27531. 0x0AD LocalVar:ChocPresent <- 1
  27532. 0x0B3 BattleAddr(&MemBank1/2) <- 0
  27533. 0x0B9 GlobalVar(CaughtChoc) <- &TempGlobal)
  27534. 0x0BE Display String: "A Chocobo!"
  27535. 0x0CASCRIPT END
  27536.  
  27537.  
  27538. MAIN:
  27539.  
  27540. 0x000 If ( (LocalVar:NextStage == 1) )
  27541. 0x000 {
  27542. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27543. 0x010 Perform([0120], EnemyAttack)
  27544. 0x016 LocalVar:SpclHitCount <- 0
  27545. 0x01C BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  27546. 0x026 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  27547. 0x030 BattleAddr(&Self).BattleAddr(&Def) <- 80
  27548. 0x03A BattleAddr(&Self).BattleAddr(&MDef) <- 80
  27549. 0x044 LocalVar:Stage <- 0
  27550. 0x04A LocalVar:NextStage <- 0
  27551. 0x050 }
  27552. 0x050 Else
  27553. 0x050 {
  27554. 0x053 If ( (LocalVar:Stage == 0) )
  27555. 0x053 {
  27556. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27557. 0x064 Perform("Angle Punch"[0282], EnemyAttack)
  27558. 0x06A LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  27559. 0x074 If ( (LocalVar:SpclHitCount > 10) )
  27560. 0x074 {
  27561. 0x07D LocalVar:SpclHitCount <- 10
  27562. 0x083 }
  27563. 0x083 Else
  27564. 0x083 {
  27565. 0x086 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27566. 0x08E Perform("Spin"[0283], EnemyAttack)
  27567. 0x094 If ( (Random MOD 4 < LocalVar:SpclHitCount) )
  27568. 0x094 {
  27569. 0x09F LocalVar:NextStage <- 1
  27570. 0x0A5 }
  27571. 0x0A5 Else
  27572. 0x0A5 {
  27573. 0x0A8 LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  27574. 0x0B2 If ( (LocalVar:SpclHitCount > 10) )
  27575. 0x0B2 {
  27576. 0x0BB LocalVar:SpclHitCount <- 10
  27577. 0x0C1SCRIPT END
  27578.  
  27579.  
  27580. GENERAL COUNTER:
  27581.  
  27582. 0x000 If ( ( (Random MOD 4 < LocalVar:SpclHitCount) And (LocalVar:Stage == 0) ) )
  27583. 0x000 {
  27584. 0x012 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27585. 0x019 Perform([011F], EnemyAttack)
  27586. 0x01F BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  27587. 0x029 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  27588. 0x033 BattleAddr(&Self).BattleAddr(&Def) <- 320
  27589. 0x03E BattleAddr(&Self).BattleAddr(&MDef) <- 320
  27590. 0x049 LocalVar:Stage <- 1
  27591. 0x04F LocalVar:SpclHitCount <- 0
  27592. 0x055SCRIPT END
  27593.  
  27594.  
  27595. DEATH COUNTER:
  27596.  
  27597. 0x000 If ( (LocalVar:ChocPresent == 1) )
  27598. 0x000 {
  27599. 0x009 If ( (BitCount(BattleAddr(&AllEnemies)) == 2) )
  27600. 0x009 {
  27601. 0x013 If ( ( (LocalVar:ChocID.BattleAddr(&AIScriptActive) == 1) And (LocalVar:ChocID.BattleAddr(&DeathStatus) == 0) ) )
  27602. 0x013 {
  27603. 0x02B LocalVar:ChocID.BattleAddr(&Targetable) <- 0
  27604. 0x035 Display String: "Caught a Chocobo."
  27605. 0x048 BattleAddr(&MemBank1/2) <- 1
  27606. 0x04E GlobalVar(CaughtChoc) <- &TempGlobal)
  27607. 0x053 LocalVar:ChocID.BattleAddr(&AIScriptActive) <- 0
  27608. 0x05DSCRIPT END
  27609.  
  27610.  
  27611.  
  27612.  
  27613. 279 - [117] Crysales
  27614.  
  27615.  
  27616. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27617. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27618.  
  27619. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  27620.  
  27621.  
  27622.  
  27623. MAIN:
  27624.  
  27625. 0x000 If (BitCount( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) ) == 0)
  27626. 0x000 {
  27627. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27628. 0x018 If (Not (Random MOD 4) )
  27629. 0x018 {
  27630. 0x020 Perform("Bite"[0112], EnemyAttack)
  27631. 0x026 }
  27632. 0x026 Else
  27633. 0x026 {
  27634. 0x029 Perform("Sleep Scales"[01CB], EnemyAttack)
  27635. 0x02F }
  27636. 0x02F Else
  27637. 0x02F {
  27638. 0x032 }
  27639. 0x032 Else
  27640. 0x032 {
  27641. 0x035 If (BitCount( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) ) == 1)
  27642. 0x035 {
  27643. 0x03A }
  27644. 0x03A Else
  27645. 0x03A {
  27646. 0x03D If (BitCount( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) ) == 2)
  27647. 0x03D {
  27648. 0x042 If (Not (Random MOD 2) )
  27649. 0x042 {
  27650. 0x04A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  27651. 0x059 Perform("Bite"[0112], EnemyAttack)
  27652. 0x05F }
  27653. 0x05F Else
  27654. 0x05F {
  27655. 0x062 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  27656. 0x071 Perform("Sleep Scales"[01CB], EnemyAttack)
  27657. 0x077 }
  27658. 0x077 Else
  27659. 0x077 {
  27660. 0x07A }
  27661. 0x07A Else
  27662. 0x07A {
  27663. 0x07D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27664. 0x085 Perform("Bite"[0112], EnemyAttack)
  27665. 0x08B }
  27666. 0x08B Else
  27667. 0x08B {
  27668. 0x08EPOP(BitCount( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) ))
  27669. 0x08FSCRIPT END
  27670.  
  27671.  
  27672.  
  27673.  
  27674. 280 - [118] Sea Worm
  27675.  
  27676.  
  27677. LocalVar:0000 = LocalVar:Count
  27678. LocalVar:0020 = LocalVar:SpclHitCount
  27679.  
  27680. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27681. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27682.  
  27683. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  27684.  
  27685.  
  27686.  
  27687. PRE-BATTLE:
  27688.  
  27689. 0x000LocalVar:SpclHitCount <- 5
  27690. 0x006 If (Not (Random MOD 16) )
  27691. 0x006 {
  27692. 0x00E LocalVar:Count <- 5
  27693. 0x014 }
  27694. 0x014 Else
  27695. 0x014 {
  27696. 0x017 LocalVar:Count <- 0
  27697. 0x01DSCRIPT END
  27698.  
  27699.  
  27700. MAIN:
  27701.  
  27702. 0x000 If (LocalVar:Count == 0)
  27703. 0x000 {
  27704. 0x008 LocalVar:Count <- 1
  27705. 0x00E }
  27706. 0x00E Else
  27707. 0x00E {
  27708. 0x011 }
  27709. 0x011 Else
  27710. 0x011 {
  27711. 0x014 If (LocalVar:Count == 1)
  27712. 0x014 {
  27713. 0x019 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) And LocalVar:SpclHitCount) )
  27714. 0x019 {
  27715. 0x02A BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0)
  27716. 0x038 Perform("Sandstorm"[01F1], EnemyAttack)
  27717. 0x03E LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  27718. 0x048 }
  27719. 0x048 Else
  27720. 0x048 {
  27721. 0x04B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27722. 0x053 Perform("Crush"[037E], EnemyAttack)
  27723. 0x059 LocalVar:Count <- 2
  27724. 0x05F }
  27725. 0x05F Else
  27726. 0x05F {
  27727. 0x062 }
  27728. 0x062 Else
  27729. 0x062 {
  27730. 0x065 If (LocalVar:Count == 2)
  27731. 0x065 {
  27732. 0x06A LocalVar:Count <- 3
  27733. 0x070 }
  27734. 0x070 Else
  27735. 0x070 {
  27736. 0x073 }
  27737. 0x073 Else
  27738. 0x073 {
  27739. 0x076 If (LocalVar:Count == 3)
  27740. 0x076 {
  27741. 0x07B If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  27742. 0x07B {
  27743. 0x088 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  27744. 0x097 Perform("Crush"[037E], EnemyAttack)
  27745. 0x09D }
  27746. 0x09D Else
  27747. 0x09D {
  27748. 0x0A0 If (Not (Random MOD 2) )
  27749. 0x0A0 {
  27750. 0x0A8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27751. 0x0B0 Perform("Crush"[037E], EnemyAttack)
  27752. 0x0B6 LocalVar:Count <- 4
  27753. 0x0BC }
  27754. 0x0BC Else
  27755. 0x0BC {
  27756. 0x0BF }
  27757. 0x0BF Else
  27758. 0x0BF {
  27759. 0x0C2 If (LocalVar:Count == 4)
  27760. 0x0C2 {
  27761. 0x0C7 LocalVar:Count <- 5
  27762. 0x0CD }
  27763. 0x0CD Else
  27764. 0x0CD {
  27765. 0x0D0 }
  27766. 0x0D0 Else
  27767. 0x0D0 {
  27768. 0x0D3 If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  27769. 0x0D3 {
  27770. 0x0E0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  27771. 0x0E7 Perform("Earthquake"[01F0], EnemyAttack)
  27772. 0x0ED }
  27773. 0x0ED Else
  27774. 0x0ED {
  27775. 0x0F0 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 1) )
  27776. 0x0FF Perform("Crush"[037E], EnemyAttack)
  27777. 0x105 LocalVar:Count <- 0
  27778. 0x10B }
  27779. 0x10B Else
  27780. 0x10B {
  27781. 0x10EPOP(LocalVar:Count)
  27782. 0x10FSCRIPT END
  27783.  
  27784.  
  27785.  
  27786.  
  27787. 281 - [119] Turks:Rude (Rocket Town)
  27788.  
  27789.  
  27790. LocalVar:0000 = LocalVar:Tifa
  27791. LocalVar:0020 = LocalVar:TarSelected
  27792. LocalVar:0040 = LocalVar:HitCount
  27793. LocalVar:0060 = LocalVar:AttackConfirmed
  27794.  
  27795. BattleAddr(&2040) = BattleAddr(&NoTarSelected)
  27796. BattleAddr(&2060) = BattleAddr(&Self)
  27797. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27798. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  27799. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27800.  
  27801. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  27802. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  27803. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  27804. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  27805. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  27806. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  27807. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  27808. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  27809. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  27810. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  27811. BattleAddr(&4023) = BattleAddr(&Targetable)
  27812. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  27813. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  27814. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  27815. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  27816. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  27817. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  27818. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  27819. BattleAddr(&4180) = BattleAddr(&MaxHP)
  27820.  
  27821.  
  27822.  
  27823. PRE-BATTLE:
  27824.  
  27825. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  27826. 0x00ALocalVar:Tifa <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  27827. 0x018SCRIPT END
  27828.  
  27829.  
  27830. MAIN:
  27831.  
  27832. 0x000 If (LocalVar:TarSelected)
  27833. 0x000 {
  27834. 0x006 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  27835. 0x00D If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt2 [0022])) )
  27836. 0x00D {
  27837. 0x01B Perform("Bolt2"[0022], EnemyAttack)
  27838. 0x020 LocalVar:AttackConfirmed <- 1
  27839. 0x026 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 4) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) ) )
  27840. 0x026 {
  27841. 0x047 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27842. 0x04E Perform("Cure2"[0001], EnemyAttack)
  27843. 0x053 LocalVar:AttackConfirmed <- 1
  27844. 0x059 If ( ( (Not (Random MOD 4) And (BattleAddr(&Self).BattleAddr(&MBarrierStatus) == 0) ) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(MBarrier [0010])) ) )
  27845. 0x059 {
  27846. 0x078 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27847. 0x07F Perform("MBarrier"[0010], EnemyAttack)
  27848. 0x084 LocalVar:AttackConfirmed <- 1
  27849. 0x08A If ( ( (LocalVar:AttackConfirmed == 0) And (Random MOD 3 == 0) ) )
  27850. 0x08A {
  27851. 0x09B LocalVar:HitCount <- 0
  27852. 0x0A1 If ( (LocalVar:HitCount < 3) )
  27853. 0x0A1 {
  27854. 0x0AA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27855. 0x0B2 If ( (BattleAddr(&TarSelected).BattleAddr(&GrpFormID) != 18) )
  27856. 0x0B2 {
  27857. 0x0BF Perform("Grand Spark"[01CD], EnemyAttack)
  27858. 0x0C5 LocalVar:AttackConfirmed <- 1
  27859. 0x0CB LocalVar:HitCount <- LocalVar:HitCount + 1
  27860. 0x0D5 LOOP 0x0A1
  27861. 0x0D8 If ( (LocalVar:AttackConfirmed == 0) )
  27862. 0x0D8 {
  27863. 0x0E1 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) != 18)
  27864. 0x0EF If (BattleAddr(&TarSelected))
  27865. 0x0EF {
  27866. 0x0F5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  27867. 0x0FD Perform("Shoulder Attack"[0374], EnemyAttack)
  27868. 0x103 }
  27869. 0x103 Else
  27870. 0x103 {
  27871. 0x106 If ( (Random MOD 3 == 0) )
  27872. 0x106 {
  27873. 0x110 Display String: "Rude “………………”"
  27874. 0x11F }
  27875. 0x11F Else
  27876. 0x11F {
  27877. 0x122 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  27878. 0x130 Perform("Shoulder Attack"[0374], EnemyAttack)
  27879. 0x136 LocalVar:AttackConfirmed <- 0
  27880. 0x13C SCRIPT END
  27881.  
  27882.  
  27883. PHYSICAL COUNTER:
  27884.  
  27885. 0x000LocalVar:TarSelected <- BattleAddr(&NoTarSelected)
  27886. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  27887. 0x007 {
  27888. 0x01C LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  27889. 0x027SCRIPT END
  27890.  
  27891.  
  27892. MAGIC COUNTER:
  27893.  
  27894. 0x000LocalVar:TarSelected <- BattleAddr(&NoTarSelected)
  27895. 0x007 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  27896. 0x007 {
  27897. 0x01C LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  27898. 0x027SCRIPT END
  27899.  
  27900.  
  27901. DEATH COUNTER:
  27902.  
  27903. 0x000BattleAddr(&AllEnemies).BattleAddr(&SleepStatus) <- 0
  27904. 0x00ABattleAddr(&AllEnemies).BattleAddr(&PoisonStatus) <- 0
  27905. 0x014BattleAddr(&AllEnemies).BattleAddr(&SilenceStatus) <- 0
  27906. 0x01EBattleAddr(&AllEnemies).BattleAddr(&HasteStatus) <- 0
  27907. 0x028BattleAddr(&AllEnemies).BattleAddr(&SlowStatus) <- 0
  27908. 0x032BattleAddr(&AllEnemies).BattleAddr(&RegenStatus) <- 0
  27909. 0x03CBattleAddr(&AllEnemies).BattleAddr(&DSentenceStatus) <- 0
  27910. 0x046BattleAddr(&AllEnemies).BattleAddr(&BerserkStatus) <- 0
  27911. 0x050BattleAddr(&AllEnemies).BattleAddr(&ManipulateStatus) <- 0
  27912. 0x05ABattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  27913. 0x064BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  27914. 0x06EBattleAddr(&TarSelected) <- BattleAddr(&Self)
  27915. 0x075Display String: "Rude “Ugh………gh………”"
  27916. 0x089BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  27917. 0x093BattleAddr(&TarSelected) <- BattleAddr(&Self)
  27918. 0x09APerform("(Report)"[0164], EnemyAttack)
  27919. 0x0A0SCRIPT END
  27920.  
  27921.  
  27922.  
  27923.  
  27924. 282 - [11A] CMD.Grand Horn (Lv 19)
  27925.  
  27926.  
  27927. LocalVar:0000 = LocalVar:Count
  27928.  
  27929. BattleAddr(&2060) = BattleAddr(&Self)
  27930. BattleAddr(&2070) = BattleAddr(&TarSelected)
  27931. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  27932.  
  27933. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  27934. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  27935. BattleAddr(&4180) = BattleAddr(&MaxHP)
  27936.  
  27937.  
  27938.  
  27939. MAIN:
  27940.  
  27941. 0x000 If (LocalVar:Count == 0)
  27942. 0x000 {
  27943. 0x008 }
  27944. 0x008 Else
  27945. 0x008 {
  27946. 0x00B If (LocalVar:Count == 1)
  27947. 0x00B {
  27948. 0x010 }
  27949. 0x010 Else
  27950. 0x010 {
  27951. 0x013 If (LocalVar:Count == 2)
  27952. 0x013 {
  27953. 0x018 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27954. 0x020 Perform("Punch"[0185], EnemyAttack)
  27955. 0x026 LocalVar:Count <- LocalVar:Count + 1
  27956. 0x030 }
  27957. 0x030 Else
  27958. 0x030 {
  27959. 0x033 }
  27960. 0x033 Else
  27961. 0x033 {
  27962. 0x036 If (LocalVar:Count == 3)
  27963. 0x036 {
  27964. 0x03B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And Not (Random MOD 2) ) )
  27965. 0x03B {
  27966. 0x04E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  27967. 0x05D Perform("Poison Breath"[01E6], EnemyAttack)
  27968. 0x063 }
  27969. 0x063 Else
  27970. 0x063 {
  27971. 0x066 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  27972. 0x06E Perform("Punch"[0185], EnemyAttack)
  27973. 0x074 LocalVar:Count <- 0
  27974. 0x07A }
  27975. 0x07A Else
  27976. 0x07A {
  27977. 0x07D }
  27978. 0x07D Else
  27979. 0x07D {
  27980. 0x080 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  27981. 0x087 Perform("Grand Attack"[0315], EnemyAttack)
  27982. 0x08D LocalVar:Count <- 0
  27983. 0x093 }
  27984. 0x093 Else
  27985. 0x093 {
  27986. 0x096POP(LocalVar:Count)
  27987. 0x097SCRIPT END
  27988.  
  27989.  
  27990. GENERAL COUNTER:
  27991.  
  27992. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 2) And Not (Random MOD 2) ) )
  27993. 0x000 {
  27994. 0x01B LocalVar:Count <- 4
  27995. 0x021SCRIPT END
  27996.  
  27997.  
  27998.  
  27999.  
  28000. 283 - [11B] CMD.Grand Horn (Lv 25)
  28001.  
  28002.  
  28003. LocalVar:0000 = LocalVar:Count
  28004.  
  28005. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28006. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28007.  
  28008. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  28009.  
  28010.  
  28011.  
  28012. MAIN:
  28013.  
  28014. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  28015. 0x000 {
  28016. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  28017. 0x01C Perform("Poison Breath"[01E6], EnemyAttack)
  28018. 0x022 LocalVar:Count <- 0
  28019. 0x028 }
  28020. 0x028 Else
  28021. 0x028 {
  28022. 0x02B If (LocalVar:Count == 0)
  28023. 0x02B {
  28024. 0x033 }
  28025. 0x033 Else
  28026. 0x033 {
  28027. 0x036 If (LocalVar:Count == 1)
  28028. 0x036 {
  28029. 0x03B }
  28030. 0x03B Else
  28031. 0x03B {
  28032. 0x03E If (LocalVar:Count == 2)
  28033. 0x03E {
  28034. 0x043 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 1) )
  28035. 0x052 Perform("Punch"[0185], EnemyAttack)
  28036. 0x058 LocalVar:Count <- LocalVar:Count + 1
  28037. 0x062 }
  28038. 0x062 Else
  28039. 0x062 {
  28040. 0x065 }
  28041. 0x065 Else
  28042. 0x065 {
  28043. 0x068 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28044. 0x06F Perform("Grand Attack"[0315], EnemyAttack)
  28045. 0x075 LocalVar:Count <- 0
  28046. 0x07B }
  28047. 0x07B Else
  28048. 0x07B {
  28049. 0x07E POP(LocalVar:Count)
  28050. 0x07FSCRIPT END
  28051.  
  28052.  
  28053.  
  28054.  
  28055. 284 - [11C] CMD.Grand Horn (Lv 37)
  28056.  
  28057.  
  28058. LocalVar:0000 = LocalVar:TarSelected
  28059.  
  28060. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28061. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28062.  
  28063. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  28064. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  28065.  
  28066.  
  28067.  
  28068. MAIN:
  28069.  
  28070. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  28071. 0x000 {
  28072. 0x00D LocalVar:TarSelected <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  28073. 0x01C BattleAddr(&TarSelected) <- LocalVar:TarSelected
  28074. 0x023 Perform("Poison Breath"[01E6], EnemyAttack)
  28075. 0x029 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  28076. 0x029 {
  28077. 0x036 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  28078. 0x03D }
  28079. 0x03D Else
  28080. 0x03D {
  28081. 0x040 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  28082. 0x048 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  28083. 0x04FPerform("Punch"[0185], EnemyAttack)
  28084. 0x055 If (Not (Random MOD 2) )
  28085. 0x055 {
  28086. 0x05D If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  28087. 0x05D {
  28088. 0x06A BattleAddr(&TarSelected) <- LocalVar:TarSelected
  28089. 0x071 }
  28090. 0x071 Else
  28091. 0x071 {
  28092. 0x074 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  28093. 0x07C BattleAddr(&TarSelected) <- LocalVar:TarSelected
  28094. 0x083 Perform("Punch"[0185], EnemyAttack)
  28095. 0x089SCRIPT END
  28096.  
  28097.  
  28098. DEATH COUNTER:
  28099.  
  28100. 0x000BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28101. 0x007Perform("Grand Attack"[0315], EnemyAttack)
  28102. 0x00DSCRIPT END
  28103.  
  28104.  
  28105.  
  28106.  
  28107. 285 - [11D] Behemoth
  28108.  
  28109.  
  28110. LocalVar:0000 = LocalVar:Count
  28111. LocalVar:0020 = LocalVar:SpclChance
  28112.  
  28113. BattleAddr(&2060) = BattleAddr(&Self)
  28114. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28115. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28116.  
  28117. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  28118. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  28119. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  28120. BattleAddr(&4180) = BattleAddr(&MaxHP)
  28121.  
  28122.  
  28123.  
  28124. PRE-BATTLE:
  28125.  
  28126. 0x000LocalVar:Count <- Random MOD 5
  28127. 0x008LocalVar:SpclChance <- 8
  28128. 0x00ESCRIPT END
  28129.  
  28130.  
  28131. MAIN:
  28132.  
  28133. 0x000 If (LocalVar:Count == 0)
  28134. 0x000 {
  28135. 0x008 }
  28136. 0x008 Else
  28137. 0x008 {
  28138. 0x00B If (LocalVar:Count == 1)
  28139. 0x00B {
  28140. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28141. 0x018 Perform("Claw"[020F], EnemyAttack)
  28142. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  28143. 0x01E {
  28144. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28145. 0x02F Perform("Claw"[020F], EnemyAttack)
  28146. 0x035 If (Not (Random MOD LocalVar:SpclChance) )
  28147. 0x035 {
  28148. 0x03E LocalVar:Count <- 4
  28149. 0x044 }
  28150. 0x044 Else
  28151. 0x044 {
  28152. 0x047 LocalVar:Count <- LocalVar:Count + 1
  28153. 0x051 }
  28154. 0x051 Else
  28155. 0x051 {
  28156. 0x054 }
  28157. 0x054 Else
  28158. 0x054 {
  28159. 0x057 If (LocalVar:Count == 2)
  28160. 0x057 {
  28161. 0x05C }
  28162. 0x05C Else
  28163. 0x05C {
  28164. 0x05F If (LocalVar:Count == 3)
  28165. 0x05F {
  28166. 0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28167. 0x06C Perform("Behemoth Horn"[0313], EnemyAttack)
  28168. 0x072 If (Not (Random MOD LocalVar:SpclChance) )
  28169. 0x072 {
  28170. 0x07B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28171. 0x083 Perform("Behemoth Horn"[0313], EnemyAttack)
  28172. 0x089 If (Not (Random MOD LocalVar:SpclChance) )
  28173. 0x089 {
  28174. 0x092 LocalVar:Count <- 4
  28175. 0x098 }
  28176. 0x098 Else
  28177. 0x098 {
  28178. 0x09B LocalVar:Count <- LocalVar:Count + 1
  28179. 0x0A5 }
  28180. 0x0A5 Else
  28181. 0x0A5 {
  28182. 0x0A8 }
  28183. 0x0A8 Else
  28184. 0x0A8 {
  28185. 0x0AB If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(???? [0058])) And Not (Random MOD LocalVar:SpclChance) ) )
  28186. 0x0AB {
  28187. 0x0C0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28188. 0x0C8 Perform("????"[0058], EnemyAttack)
  28189. 0x0CD }
  28190. 0x0CD Else
  28191. 0x0CD {
  28192. 0x0D0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28193. 0x0D8 Perform("Claw"[020F], EnemyAttack)
  28194. 0x0DE If (Not (Random MOD LocalVar:SpclChance) )
  28195. 0x0DE {
  28196. 0x0E7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28197. 0x0EF Perform("Behemoth Horn"[0313], EnemyAttack)
  28198. 0x0F5 LocalVar:Count <- Random MOD 3
  28199. 0x0FD }
  28200. 0x0FD Else
  28201. 0x0FD {
  28202. 0x100POP(LocalVar:Count)
  28203. 0x101SCRIPT END
  28204.  
  28205.  
  28206. GENERAL COUNTER:
  28207.  
  28208. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  28209. 0x000 {
  28210. 0x018 LocalVar:SpclChance <- 3
  28211. 0x01E }
  28212. 0x01E Else
  28213. 0x01E {
  28214. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  28215. 0x021 {
  28216. 0x039 LocalVar:SpclChance <- 4
  28217. 0x03F }
  28218. 0x03F Else
  28219. 0x03F {
  28220. 0x042 LocalVar:SpclChance <- 8
  28221. 0x048SCRIPT END
  28222.  
  28223.  
  28224. MAGIC COUNTER:
  28225.  
  28226. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Flare [0032])) )
  28227. 0x000 {
  28228. 0x00E BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  28229. 0x019 Perform("Flare"[0032], EnemyAttack)
  28230. 0x01ESCRIPT END
  28231.  
  28232.  
  28233.  
  28234.  
  28235. 286 - [11E] Cromwell
  28236.  
  28237.  
  28238. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28239. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28240.  
  28241.  
  28242.  
  28243. MAIN:
  28244.  
  28245. 0x000BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28246. 0x008Perform("Normal Shell"[02E6], EnemyAttack)
  28247. 0x00E If (Not (Random MOD 2) )
  28248. 0x00E {
  28249. 0x016 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28250. 0x01E Perform("Normal Shell"[02E6], EnemyAttack)
  28251. 0x024SCRIPT END
  28252.  
  28253.  
  28254.  
  28255.  
  28256. 287 - [11F] Manhole
  28257.  
  28258.  
  28259. LocalVar:0000 = LocalVar:ActiveManhole
  28260. LocalVar:0020 = LocalVar:Counter
  28261.  
  28262. BattleAddr(&2060) = BattleAddr(&Self)
  28263. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28264. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28265. BattleAddr(&21A0) = BattleAddr(&ManholePosition)
  28266.  
  28267. BattleAddr(&4023) = BattleAddr(&Targetable)
  28268. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  28269. BattleAddr(&402E) = BattleAddr(&SelfInvis)
  28270. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  28271.  
  28272.  
  28273.  
  28274. PRE-BATTLE:
  28275.  
  28276. 0x000BattleAddr(&ManholePosition) <- 4
  28277. 0x006 If ( (BattleAddr(&Self) == FlagBit(6)) )
  28278. 0x006 {
  28279. 0x010 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28280. 0x01A If ( (BattleAddr(&Self) == FlagBit(8)) )
  28281. 0x01A {
  28282. 0x024 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28283. 0x02ESCRIPT END
  28284.  
  28285.  
  28286. MAIN:
  28287.  
  28288. 0x000 If ( ( (BattleAddr(&Self) == FlagBit(4)) And (BattleAddr(&ManholePosition) == 4) ) )
  28289. 0x000 {
  28290. 0x011 If (LocalVar:Counter == 0)
  28291. 0x011 {
  28292. 0x019 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28293. 0x021 Perform("Rockbreaker"[01F2], EnemyAttack)
  28294. 0x027 LocalVar:Counter <- 2
  28295. 0x02D }
  28296. 0x02D Else
  28297. 0x02D {
  28298. 0x030 }
  28299. 0x030 Else
  28300. 0x030 {
  28301. 0x033 If (Random MOD 4 == 0)
  28302. 0x033 {
  28303. 0x03C }
  28304. 0x03C Else
  28305. 0x03C {
  28306. 0x03F If (Random MOD 4 == 1)
  28307. 0x03F {
  28308. 0x044 }
  28309. 0x044 Else
  28310. 0x044 {
  28311. 0x047 If (Random MOD 4 == 2)
  28312. 0x047 {
  28313. 0x04C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28314. 0x053 Perform([011F], EnemyAttack)
  28315. 0x059 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28316. 0x063 LocalVar:ActiveManhole <- FlagBit(6)
  28317. 0x06A BattleAddr(&ManholePosition) <- 6
  28318. 0x070 TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28319. 0x077 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28320. 0x081 LocalVar:Counter <- 0
  28321. 0x087 }
  28322. 0x087 Else
  28323. 0x087 {
  28324. 0x08A }
  28325. 0x08A Else
  28326. 0x08A {
  28327. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28328. 0x094 Perform("Vanish"[014E], EnemyAttack)
  28329. 0x09A BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28330. 0x0A4 LocalVar:ActiveManhole <- FlagBit(8)
  28331. 0x0AB BattleAddr(&ManholePosition) <- 8
  28332. 0x0B1 TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28333. 0x0B8 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28334. 0x0C2 LocalVar:Counter <- 0
  28335. 0x0C8 }
  28336. 0x0C8 Else
  28337. 0x0C8 {
  28338. 0x0CB POP(Random MOD 4)
  28339. 0x0CC }
  28340. 0x0CC Else
  28341. 0x0CC {
  28342. 0x0CF POP(LocalVar:Counter)
  28343. 0x0D0 If ( ( (BattleAddr(&Self) == FlagBit(6)) And (BattleAddr(&ManholePosition) == 6) ) )
  28344. 0x0D0 {
  28345. 0x0E1 If (LocalVar:Counter == 0)
  28346. 0x0E1 {
  28347. 0x0E9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28348. 0x0F1 Perform("Rockbreaker"[01F2], EnemyAttack)
  28349. 0x0F7 LocalVar:Counter <- 2
  28350. 0x0FD }
  28351. 0x0FD Else
  28352. 0x0FD {
  28353. 0x100 }
  28354. 0x100 Else
  28355. 0x100 {
  28356. 0x103 If (LocalVar:Counter == 1)
  28357. 0x103 {
  28358. 0x108 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28359. 0x10F Perform("Ice2"[001F], EnemyAttack)
  28360. 0x114 LocalVar:Counter <- 3
  28361. 0x11A }
  28362. 0x11A Else
  28363. 0x11A {
  28364. 0x11D }
  28365. 0x11D Else
  28366. 0x11D {
  28367. 0x120 If (Random MOD 8 == 0)
  28368. 0x120 {
  28369. 0x129 }
  28370. 0x129 Else
  28371. 0x129 {
  28372. 0x12C If (Random MOD 8 == 1)
  28373. 0x12C {
  28374. 0x131 }
  28375. 0x131 Else
  28376. 0x131 {
  28377. 0x134 If (Random MOD 8 == 2)
  28378. 0x134 {
  28379. 0x139 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28380. 0x140 Perform([011F], EnemyAttack)
  28381. 0x146 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28382. 0x150 LocalVar:ActiveManhole <- FlagBit(8)
  28383. 0x157 BattleAddr(&ManholePosition) <- 8
  28384. 0x15D TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28385. 0x164 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28386. 0x16E LocalVar:Counter <- 0
  28387. 0x174 }
  28388. 0x174 Else
  28389. 0x174 {
  28390. 0x177 }
  28391. 0x177 Else
  28392. 0x177 {
  28393. 0x17A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28394. 0x181 Perform("Vanish"[0150], EnemyAttack)
  28395. 0x187 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28396. 0x191 LocalVar:ActiveManhole <- FlagBit(4)
  28397. 0x198 BattleAddr(&ManholePosition) <- 4
  28398. 0x19E TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28399. 0x1A5 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28400. 0x1AF LocalVar:Counter <- 0
  28401. 0x1B5 }
  28402. 0x1B5 Else
  28403. 0x1B5 {
  28404. 0x1B8 POP(Random MOD 8)
  28405. 0x1B9 }
  28406. 0x1B9 Else
  28407. 0x1B9 {
  28408. 0x1BC POP(LocalVar:Counter)
  28409. 0x1BD If ( ( (BattleAddr(&Self) == FlagBit(8)) And (BattleAddr(&ManholePosition) == 8) ) )
  28410. 0x1BD {
  28411. 0x1CE If (LocalVar:Counter == 0)
  28412. 0x1CE {
  28413. 0x1D6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28414. 0x1DE Perform("Rockbreaker"[01F2], EnemyAttack)
  28415. 0x1E4 LocalVar:Counter <- 2
  28416. 0x1EA }
  28417. 0x1EA Else
  28418. 0x1EA {
  28419. 0x1ED }
  28420. 0x1ED Else
  28421. 0x1ED {
  28422. 0x1F0 If (LocalVar:Counter == 1)
  28423. 0x1F0 {
  28424. 0x1F5 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28425. 0x1FC Perform("Fire2"[001C], EnemyAttack)
  28426. 0x201 LocalVar:Counter <- 3
  28427. 0x207 }
  28428. 0x207 Else
  28429. 0x207 {
  28430. 0x20A }
  28431. 0x20A Else
  28432. 0x20A {
  28433. 0x20D If (Random MOD 8 == 0)
  28434. 0x20D {
  28435. 0x216 }
  28436. 0x216 Else
  28437. 0x216 {
  28438. 0x219 If (Random MOD 8 == 1)
  28439. 0x219 {
  28440. 0x21E }
  28441. 0x21E Else
  28442. 0x21E {
  28443. 0x221 If (Random MOD 8 == 2)
  28444. 0x221 {
  28445. 0x226 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28446. 0x22D Perform([0120], EnemyAttack)
  28447. 0x233 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28448. 0x23D LocalVar:ActiveManhole <- FlagBit(4)
  28449. 0x244 BattleAddr(&ManholePosition) <- 4
  28450. 0x24A TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28451. 0x251 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28452. 0x25B LocalVar:Counter <- 0
  28453. 0x261 }
  28454. 0x261 Else
  28455. 0x261 {
  28456. 0x264 }
  28457. 0x264 Else
  28458. 0x264 {
  28459. 0x267 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28460. 0x26E Perform("Vanish"[0150], EnemyAttack)
  28461. 0x274 BattleAddr(&Self).BattleAddr(&SelfInvis) <- 1
  28462. 0x27E LocalVar:ActiveManhole <- FlagBit(6)
  28463. 0x285 BattleAddr(&ManholePosition) <- 6
  28464. 0x28B TransferStatus(BattleAddr(&Self), LocalVar:ActiveManhole)
  28465. 0x292 LocalVar:ActiveManhole.BattleAddr(&SelfInvis) <- 0
  28466. 0x29C LocalVar:Counter <- 0
  28467. 0x2A2 }
  28468. 0x2A2 Else
  28469. 0x2A2 {
  28470. 0x2A5 POP(Random MOD 8)
  28471. 0x2A6 }
  28472. 0x2A6 Else
  28473. 0x2A6 {
  28474. 0x2A9 POP(LocalVar:Counter)
  28475. 0x2AASCRIPT END
  28476.  
  28477.  
  28478. GENERAL COUNTER:
  28479.  
  28480. 0x000 If ( (LocalVar:Counter == 2) )
  28481. 0x000 {
  28482. 0x009 LocalVar:Counter <- 1
  28483. 0x00F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(Fire2 [001C])) )
  28484. 0x00F {
  28485. 0x01D LocalVar:Counter <- 2
  28486. 0x023 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < MPCost(Ice2 [001F])) )
  28487. 0x023 {
  28488. 0x031 LocalVar:Counter <- 2
  28489. 0x037SCRIPT END
  28490.  
  28491.  
  28492. DEATH COUNTER:
  28493.  
  28494. 0x000LocalVar:ActiveManhole <- FlagBit(4)
  28495. 0x007LocalVar:ActiveManhole.BattleAddr(&AIScriptActive) <- 0
  28496. 0x011LocalVar:ActiveManhole.BattleAddr(&Targetable) <- 0
  28497. 0x01BLocalVar:ActiveManhole <- FlagBit(6)
  28498. 0x022LocalVar:ActiveManhole.BattleAddr(&AIScriptActive) <- 0
  28499. 0x02CLocalVar:ActiveManhole.BattleAddr(&Targetable) <- 0
  28500. 0x036LocalVar:ActiveManhole <- FlagBit(8)
  28501. 0x03DLocalVar:ActiveManhole.BattleAddr(&AIScriptActive) <- 0
  28502. 0x047LocalVar:ActiveManhole.BattleAddr(&Targetable) <- 0
  28503. 0x051SCRIPT END
  28504.  
  28505.  
  28506.  
  28507.  
  28508. 288 - [120] Manhole(Lid)
  28509.  
  28510. No Script exists for the Manhole(Lid)
  28511.  
  28512.  
  28513.  
  28514.  
  28515. 289 - [121] Crazy Saw
  28516.  
  28517.  
  28518. LocalVar:0000 = LocalVar:Count
  28519.  
  28520. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28521. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28522.  
  28523. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  28524.  
  28525.  
  28526.  
  28527. MAIN:
  28528.  
  28529. 0x000 If (LocalVar:Count == 0)
  28530. 0x000 {
  28531. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28532. 0x008 {
  28533. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28534. 0x024 Perform("Uppercut"[02DB], EnemyAttack)
  28535. 0x02A LocalVar:Count <- 1
  28536. 0x030 }
  28537. 0x030 Else
  28538. 0x030 {
  28539. 0x033 }
  28540. 0x033 Else
  28541. 0x033 {
  28542. 0x036 If (LocalVar:Count == 1)
  28543. 0x036 {
  28544. 0x03B }
  28545. 0x03B Else
  28546. 0x03B {
  28547. 0x03E If (LocalVar:Count == 2)
  28548. 0x03E {
  28549. 0x043 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28550. 0x043 {
  28551. 0x050 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28552. 0x05F }
  28553. 0x05F Else
  28554. 0x05F {
  28555. 0x062 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28556. 0x06A Perform("Rifle"[011A], EnemyAttack)
  28557. 0x070 LocalVar:Count <- LocalVar:Count + 1
  28558. 0x07A }
  28559. 0x07A Else
  28560. 0x07A {
  28561. 0x07D }
  28562. 0x07D Else
  28563. 0x07D {
  28564. 0x080 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28565. 0x080 {
  28566. 0x08D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  28567. 0x09C }
  28568. 0x09C Else
  28569. 0x09C {
  28570. 0x09F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  28571. 0x0A7 Perform("Rifle"[011A], EnemyAttack)
  28572. 0x0AD LocalVar:Count <- Random MOD 2
  28573. 0x0B5 }
  28574. 0x0B5 Else
  28575. 0x0B5 {
  28576. 0x0B8POP(LocalVar:Count)
  28577. 0x0B9SCRIPT END
  28578.  
  28579.  
  28580.  
  28581.  
  28582. 290 - [122] Shadow Maker
  28583.  
  28584.  
  28585. BattleAddr(&2060) = BattleAddr(&Self)
  28586. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28587. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28588.  
  28589. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  28590. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  28591.  
  28592.  
  28593.  
  28594. MAIN:
  28595.  
  28596. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Support Beam [0393])) And (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) ) )
  28597. 0x000 {
  28598. 0x01A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  28599. 0x029 Perform("Support Beam"[0393], EnemyAttack)
  28600. 0x02F If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Support Beam [0393])) And (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) ) And Not (Random MOD 2) ) )
  28601. 0x02F {
  28602. 0x04F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  28603. 0x05E Perform("Support Beam"[0393], EnemyAttack)
  28604. 0x064SCRIPT END
  28605.  
  28606.  
  28607.  
  28608.  
  28609. 291 - [123] Grosspanzer-Big
  28610.  
  28611.  
  28612. BattleAddr(&2060) = BattleAddr(&Self)
  28613. BattleAddr(&21A0) = BattleAddr(&GrosspanzerPartsDead)
  28614.  
  28615. BattleAddr(&4020) = BattleAddr(&SelfActive)
  28616. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  28617. BattleAddr(&4023) = BattleAddr(&Targetable)
  28618. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  28619. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  28620.  
  28621.  
  28622.  
  28623.  
  28624. PRE-BATTLE:
  28625.  
  28626. 0x000BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  28627. 0x00ASCRIPT END
  28628.  
  28629.  
  28630. DEATH COUNTER:
  28631.  
  28632. 0x000BattleAddr(&GrosspanzerPartsDead) <- BattleAddr(&GrosspanzerPartsDead) + 1
  28633. 0x00ABattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  28634. 0x014BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  28635. 0x01EBattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  28636. 0x028BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  28637. 0x032SCRIPT END
  28638.  
  28639.  
  28640.  
  28641.  
  28642. 292 - [124] Grosspanzer-Small
  28643.  
  28644.  
  28645. LocalVar:0000 = LocalVar:Count
  28646.  
  28647. BattleAddr(&2060) = BattleAddr(&Self)
  28648. BattleAddr(&21A0) = BattleAddr(&GrosspanzerPartsDead)
  28649.  
  28650. BattleAddr(&4020) = BattleAddr(&SelfActive)
  28651. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  28652. BattleAddr(&4023) = BattleAddr(&Targetable)
  28653. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  28654. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  28655. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  28656. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  28657.  
  28658.  
  28659.  
  28660. PRE-BATTLE:
  28661.  
  28662. 0x000BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  28663. 0x00A If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1) )
  28664. 0x00A {
  28665. 0x017 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  28666. 0x021 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 19
  28667. 0x02BSCRIPT END
  28668.  
  28669.  
  28670. DEATH COUNTER:
  28671.  
  28672. 0x000BattleAddr(&GrosspanzerPartsDead) <- BattleAddr(&GrosspanzerPartsDead) + 2
  28673. 0x00ABattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  28674. 0x014BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  28675. 0x01EBattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  28676. 0x028BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  28677. 0x032SCRIPT END
  28678.  
  28679.  
  28680.  
  28681.  
  28682. 293 - [125] Grosspanzer-Mobile
  28683.  
  28684.  
  28685. LocalVar:0000 = LocalVar:TarSelected
  28686. LocalVar:0020 = LocalVar:Count
  28687.  
  28688. BattleAddr(&2060) = BattleAddr(&Self)
  28689. BattleAddr(&2070) = BattleAddr(&TarSelected)
  28690. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  28691. BattleAddr(&21A0) = BattleAddr(&GrosspanzerPartsDead)
  28692.  
  28693. BattleAddr(&4020) = BattleAddr(&SelfActive)
  28694. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  28695. BattleAddr(&4023) = BattleAddr(&Targetable)
  28696. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  28697.  
  28698.  
  28699.  
  28700. MAIN:
  28701.  
  28702. 0x000 If (BattleAddr(&GrosspanzerPartsDead) == 0)
  28703. 0x000 {
  28704. 0x008 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28705. 0x00F If (LocalVar:Count == 0)
  28706. 0x00F {
  28707. 0x017 }
  28708. 0x017 Else
  28709. 0x017 {
  28710. 0x01A If (LocalVar:Count == 1)
  28711. 0x01A {
  28712. 0x01F }
  28713. 0x01F Else
  28714. 0x01F {
  28715. 0x022 If (LocalVar:Count == 2)
  28716. 0x022 {
  28717. 0x027 Perform("Normal Shell"[03A9], EnemyAttack)
  28718. 0x02D LocalVar:Count <- LocalVar:Count + 1
  28719. 0x037 }
  28720. 0x037 Else
  28721. 0x037 {
  28722. 0x03A }
  28723. 0x03A Else
  28724. 0x03A {
  28725. 0x03D If (LocalVar:Count == 3)
  28726. 0x03D {
  28727. 0x042 Perform("Napalm Bomb"[0319], EnemyAttack)
  28728. 0x048 LocalVar:Count <- LocalVar:Count + 1
  28729. 0x052 }
  28730. 0x052 Else
  28731. 0x052 {
  28732. 0x055 }
  28733. 0x055 Else
  28734. 0x055 {
  28735. 0x058 If (LocalVar:Count == 4)
  28736. 0x058 {
  28737. 0x05D }
  28738. 0x05D Else
  28739. 0x05D {
  28740. 0x060 If (LocalVar:Count == 5)
  28741. 0x060 {
  28742. 0x065 Perform("Normal Shell"[03A9], EnemyAttack)
  28743. 0x06B LocalVar:Count <- LocalVar:Count + 1
  28744. 0x075 }
  28745. 0x075 Else
  28746. 0x075 {
  28747. 0x078 }
  28748. 0x078 Else
  28749. 0x078 {
  28750. 0x07B If (LocalVar:Count == 6)
  28751. 0x07B {
  28752. 0x080 Perform("Napalm Bomb"[0319], EnemyAttack)
  28753. 0x086 LocalVar:Count <- LocalVar:Count + 1
  28754. 0x090 }
  28755. 0x090 Else
  28756. 0x090 {
  28757. 0x093 }
  28758. 0x093 Else
  28759. 0x093 {
  28760. 0x096 If (LocalVar:Count == 7)
  28761. 0x096 {
  28762. 0x09B Perform("Deadly Wheel"[01A8], EnemyAttack)
  28763. 0x0A1 LocalVar:Count <- LocalVar:Count + 1
  28764. 0x0AB }
  28765. 0x0AB Else
  28766. 0x0AB {
  28767. 0x0AE }
  28768. 0x0AE Else
  28769. 0x0AE {
  28770. 0x0B1 Perform("Bodyblow"[012D], EnemyAttack)
  28771. 0x0B7 LocalVar:Count <- 0
  28772. 0x0BD }
  28773. 0x0BD Else
  28774. 0x0BD {
  28775. 0x0C0 POP(LocalVar:Count)
  28776. 0x0C1 }
  28777. 0x0C1 Else
  28778. 0x0C1 {
  28779. 0x0C4 }
  28780. 0x0C4 Else
  28781. 0x0C4 {
  28782. 0x0C7 If (BattleAddr(&GrosspanzerPartsDead) == 1)
  28783. 0x0C7 {
  28784. 0x0CC BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28785. 0x0D3 If (LocalVar:Count == 0)
  28786. 0x0D3 {
  28787. 0x0DB }
  28788. 0x0DB Else
  28789. 0x0DB {
  28790. 0x0DE If (LocalVar:Count == 1)
  28791. 0x0DE {
  28792. 0x0E3 }
  28793. 0x0E3 Else
  28794. 0x0E3 {
  28795. 0x0E6 If (LocalVar:Count == 2)
  28796. 0x0E6 {
  28797. 0x0EB Perform("Normal Shell"[03A9], EnemyAttack)
  28798. 0x0F1 LocalVar:Count <- LocalVar:Count + 1
  28799. 0x0FB }
  28800. 0x0FB Else
  28801. 0x0FB {
  28802. 0x0FE }
  28803. 0x0FE Else
  28804. 0x0FE {
  28805. 0x101 Perform("Deadly Wheel"[01A8], EnemyAttack)
  28806. 0x107 LocalVar:Count <- 0
  28807. 0x10D }
  28808. 0x10D Else
  28809. 0x10D {
  28810. 0x110 POP(LocalVar:Count)
  28811. 0x111 }
  28812. 0x111 Else
  28813. 0x111 {
  28814. 0x114 }
  28815. 0x114 Else
  28816. 0x114 {
  28817. 0x117 If (BattleAddr(&GrosspanzerPartsDead) == 2)
  28818. 0x117 {
  28819. 0x11C BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28820. 0x123 If (LocalVar:Count == 0)
  28821. 0x123 {
  28822. 0x12B }
  28823. 0x12B Else
  28824. 0x12B {
  28825. 0x12E If (LocalVar:Count == 1)
  28826. 0x12E {
  28827. 0x133 }
  28828. 0x133 Else
  28829. 0x133 {
  28830. 0x136 If (LocalVar:Count == 2)
  28831. 0x136 {
  28832. 0x13B Perform("Normal Shell"[02E6], EnemyAttack)
  28833. 0x141 LocalVar:Count <- LocalVar:Count + 1
  28834. 0x14B }
  28835. 0x14B Else
  28836. 0x14B {
  28837. 0x14E }
  28838. 0x14E Else
  28839. 0x14E {
  28840. 0x151 Perform("Napalm Bomb"[0319], EnemyAttack)
  28841. 0x157 LocalVar:Count <- 0
  28842. 0x15D }
  28843. 0x15D Else
  28844. 0x15D {
  28845. 0x160 POP(LocalVar:Count)
  28846. 0x161 }
  28847. 0x161 Else
  28848. 0x161 {
  28849. 0x164 }
  28850. 0x164 Else
  28851. 0x164 {
  28852. 0x167 If (BattleAddr(&GrosspanzerPartsDead) == 3)
  28853. 0x167 {
  28854. 0x16C BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28855. 0x173 If (LocalVar:Count == 0)
  28856. 0x173 {
  28857. 0x17B }
  28858. 0x17B Else
  28859. 0x17B {
  28860. 0x17E If (LocalVar:Count == 1)
  28861. 0x17E {
  28862. 0x183 }
  28863. 0x183 Else
  28864. 0x183 {
  28865. 0x186 If (LocalVar:Count == 2)
  28866. 0x186 {
  28867. 0x18B Perform("Normal Shell"[02E6], EnemyAttack)
  28868. 0x191 LocalVar:Count <- LocalVar:Count + 1
  28869. 0x19B }
  28870. 0x19B Else
  28871. 0x19B {
  28872. 0x19E }
  28873. 0x19E Else
  28874. 0x19E {
  28875. 0x1A1 Perform("Deadly Wheel"[01A8], EnemyAttack)
  28876. 0x1A7 LocalVar:Count <- 0
  28877. 0x1AD }
  28878. 0x1AD Else
  28879. 0x1AD {
  28880. 0x1B0 POP(LocalVar:Count)
  28881. 0x1B1 }
  28882. 0x1B1 Else
  28883. 0x1B1 {
  28884. 0x1B4 }
  28885. 0x1B4 Else
  28886. 0x1B4 {
  28887. 0x1B7 If (BattleAddr(&GrosspanzerPartsDead) == 4)
  28888. 0x1B7 {
  28889. 0x1BC BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28890. 0x1C3 If (LocalVar:Count == 0)
  28891. 0x1C3 {
  28892. 0x1CB LocalVar:Count <- LocalVar:Count + 1
  28893. 0x1D5 }
  28894. 0x1D5 Else
  28895. 0x1D5 {
  28896. 0x1D8 }
  28897. 0x1D8 Else
  28898. 0x1D8 {
  28899. 0x1DB If (LocalVar:Count == 1)
  28900. 0x1DB {
  28901. 0x1E0 Perform("Deadly Wheel"[01A8], EnemyAttack)
  28902. 0x1E6 LocalVar:Count <- LocalVar:Count + 1
  28903. 0x1F0 }
  28904. 0x1F0 Else
  28905. 0x1F0 {
  28906. 0x1F3 }
  28907. 0x1F3 Else
  28908. 0x1F3 {
  28909. 0x1F6 If (LocalVar:Count == 2)
  28910. 0x1F6 {
  28911. 0x1FB LocalVar:Count <- LocalVar:Count + 1
  28912. 0x205 }
  28913. 0x205 Else
  28914. 0x205 {
  28915. 0x208 }
  28916. 0x208 Else
  28917. 0x208 {
  28918. 0x20B Perform("Napalm Bomb"[0319], EnemyAttack)
  28919. 0x211 LocalVar:Count <- 0
  28920. 0x217 }
  28921. 0x217 Else
  28922. 0x217 {
  28923. 0x21A POP(LocalVar:Count)
  28924. 0x21B }
  28925. 0x21B Else
  28926. 0x21B {
  28927. 0x21E }
  28928. 0x21E Else
  28929. 0x21E {
  28930. 0x221 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  28931. 0x228 If (LocalVar:Count == 0)
  28932. 0x228 {
  28933. 0x230 Perform("Deadly Wheel"[01A8], EnemyAttack)
  28934. 0x236 }
  28935. 0x236 Else
  28936. 0x236 {
  28937. 0x239 If (LocalVar:Count == 1)
  28938. 0x239 {
  28939. 0x23E Perform("Deadly Wheel"[01A8], EnemyAttack)
  28940. 0x244 LocalVar:Count <- LocalVar:Count + 1
  28941. 0x24E }
  28942. 0x24E Else
  28943. 0x24E {
  28944. 0x251 }
  28945. 0x251 Else
  28946. 0x251 {
  28947. 0x254 If (LocalVar:Count == 2)
  28948. 0x254 {
  28949. 0x259 LocalVar:Count <- LocalVar:Count + 1
  28950. 0x263 }
  28951. 0x263 Else
  28952. 0x263 {
  28953. 0x266 }
  28954. 0x266 Else
  28955. 0x266 {
  28956. 0x269 Perform("Bodyblow"[012D], EnemyAttack)
  28957. 0x26F LocalVar:Count <- 0
  28958. 0x275 }
  28959. 0x275 Else
  28960. 0x275 {
  28961. 0x278 POP(LocalVar:Count)
  28962. 0x279 }
  28963. 0x279 Else
  28964. 0x279 {
  28965. 0x27CPOP(BattleAddr(&GrosspanzerPartsDead))
  28966. 0x27DSCRIPT END
  28967.  
  28968.  
  28969. DEATH COUNTER:
  28970.  
  28971. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  28972. 0x007Perform("Vanish"[014E], EnemyAttack)
  28973. 0x00DLocalVar:TarSelected <- FlagBit(4)
  28974. 0x014LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  28975. 0x01ELocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  28976. 0x028LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  28977. 0x032LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  28978. 0x03CLocalVar:TarSelected <- FlagBit(5)
  28979. 0x043LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  28980. 0x04DLocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  28981. 0x057LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  28982. 0x061LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  28983. 0x06BLocalVar:TarSelected <- FlagBit(6)
  28984. 0x072LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  28985. 0x07CLocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  28986. 0x086LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  28987. 0x090LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  28988. 0x09ASCRIPT END
  28989.  
  28990.  
  28991.  
  28992.  
  28993. 294 - [126] Gargoyle (1st Form)
  28994.  
  28995.  
  28996. LocalVar:0000 = LocalVar:Gargoyle2ndForm
  28997. LocalVar:0020 = LocalVar:Count
  28998.  
  28999. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  29000. BattleAddr(&2008) = BattleAddr(&LastAttID)
  29001. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  29002. BattleAddr(&2060) = BattleAddr(&Self)
  29003. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29004.  
  29005. BattleAddr(&4020) = BattleAddr(&SelfActive)
  29006. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  29007. BattleAddr(&4023) = BattleAddr(&Targetable)
  29008. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29009. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  29010. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  29011. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  29012. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  29013. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  29014.  
  29015.  
  29016.  
  29017. PRE-BATTLE:
  29018.  
  29019. 0x000BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  29020. 0x00ABattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  29021. 0x014LocalVar:Gargoyle2ndForm <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  29022. 0x028LocalVar:Gargoyle2ndForm <- (LocalVar:Gargoyle2ndForm.BattleAddr(&IndexOfActor) == 295)
  29023. 0x037SCRIPT END
  29024.  
  29025.  
  29026. MAIN:
  29027.  
  29028. 0x000 If (LocalVar:Count == 0)
  29029. 0x000 {
  29030. 0x008 }
  29031. 0x008 Else
  29032. 0x008 {
  29033. 0x00B If (LocalVar:Count == 1)
  29034. 0x00B {
  29035. 0x010 LocalVar:Count <- LocalVar:Count + 1
  29036. 0x01A }
  29037. 0x01A Else
  29038. 0x01A {
  29039. 0x01D }
  29040. 0x01D Else
  29041. 0x01D {
  29042. 0x020 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29043. 0x027 Perform([011F], EnemyAttack)
  29044. 0x02D LocalVar:Gargoyle2ndForm.BattleAddr(&SelfActive) <- 1
  29045. 0x037 LocalVar:Gargoyle2ndForm.BattleAddr(&Targetable) <- 1
  29046. 0x041 LocalVar:Gargoyle2ndForm.BattleAddr(&Needed2EndBattle) <- 1
  29047. 0x04B LocalVar:Gargoyle2ndForm.BattleAddr(&AIScriptActive) <- 1
  29048. 0x055 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29049. 0x05C Perform("Vanish"[014E], EnemyAttack)
  29050. 0x062 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  29051. 0x06C BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  29052. 0x076 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  29053. 0x080 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  29054. 0x08A }
  29055. 0x08A Else
  29056. 0x08A {
  29057. 0x08DPOP(LocalVar:Count)
  29058. 0x08ESCRIPT END
  29059.  
  29060.  
  29061. GENERAL COUNTER:
  29062.  
  29063. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) And (BattleAddr(&LastAttID) == 9) ) )
  29064. 0x000 {
  29065. 0x010 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29066. 0x017 Perform("Vanish"[014E], EnemyAttack)
  29067. 0x01D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  29068. 0x027 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  29069. 0x031 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  29070. 0x03B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  29071. 0x045 LocalVar:Gargoyle2ndForm.BattleAddr(&SelfActive) <- 0
  29072. 0x04F LocalVar:Gargoyle2ndForm.BattleAddr(&Targetable) <- 0
  29073. 0x059 LocalVar:Gargoyle2ndForm.BattleAddr(&Needed2EndBattle) <- 0
  29074. 0x063 LocalVar:Gargoyle2ndForm.BattleAddr(&AIScriptActive) <- 0
  29075. 0x06D }
  29076. 0x06D Else
  29077. 0x06D {
  29078. 0x070 If ( (BattleAddr(&LastCommndID) != 1) )
  29079. 0x070 {
  29080. 0x079 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  29081. 0x084 Perform("Rock Finger"[031D], EnemyAttack)
  29082. 0x08A LocalVar:Gargoyle2ndForm.BattleAddr(&SelfActive) <- 1
  29083. 0x094 LocalVar:Gargoyle2ndForm.BattleAddr(&Targetable) <- 1
  29084. 0x09E LocalVar:Gargoyle2ndForm.BattleAddr(&Needed2EndBattle) <- 1
  29085. 0x0A8 LocalVar:Gargoyle2ndForm.BattleAddr(&AIScriptActive) <- 1
  29086. 0x0B2 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  29087. 0x0BC BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  29088. 0x0C6 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  29089. 0x0D0 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  29090. 0x0DASCRIPT END
  29091.  
  29092.  
  29093.  
  29094.  
  29095. 295 - [127] Gargoyle (2nd Form)
  29096.  
  29097.  
  29098. BattleAddr(&2060) = BattleAddr(&Self)
  29099. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29100. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29101.  
  29102. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  29103. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  29104.  
  29105.  
  29106.  
  29107. MAIN:
  29108.  
  29109. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  29110. 0x000 {
  29111. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  29112. 0x01C Perform("Kick"[031C], EnemyAttack)
  29113. 0x022 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And Not (Random MOD 2) ) )
  29114. 0x022 {
  29115. 0x035 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  29116. 0x044 Perform("Kick"[031C], EnemyAttack)
  29117. 0x04ASCRIPT END
  29118.  
  29119.  
  29120. GENERAL COUNTER:
  29121.  
  29122. 0x000 If (Not (Random MOD 2) )
  29123. 0x000 {
  29124. 0x008 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(L4 Death [031E])) ) )
  29125. 0x008 {
  29126. 0x022 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0)
  29127. 0x030 Perform("L4 Death"[031E], EnemyAttack)
  29128. 0x036SCRIPT END
  29129.  
  29130.  
  29131.  
  29132.  
  29133. 296 - [128] Turks:Elena
  29134.  
  29135.  
  29136. LocalVar:0000 = LocalVar:TarSelected
  29137. LocalVar:0020 = LocalVar:Count
  29138. LocalVar:0040 = LocalVar:HitCount
  29139. LocalVar:0060 = LocalVar:Stage
  29140.  
  29141. BattleAddr(&2060) = BattleAddr(&Self)
  29142. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29143. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29144. BattleAddr(&21A0) = BattleAddr(&EndBattle)
  29145.  
  29146. BattleAddr(&4020) = BattleAddr(&SelfActive)
  29147. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  29148. BattleAddr(&4023) = BattleAddr(&Targetable)
  29149. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29150. BattleAddr(&4270) = BattleAddr(&Row)
  29151.  
  29152.  
  29153.  
  29154. PRE-BATTLE:
  29155.  
  29156. 0x000Display String: "Elena “Try this on for size!”"
  29157. 0x01FBattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29158. 0x026Perform("Throw"[0378], EnemyAttack)
  29159. 0x02CSCRIPT END
  29160.  
  29161.  
  29162. MAIN:
  29163.  
  29164. 0x000 If ( (LocalVar:Stage == 0) )
  29165. 0x000 {
  29166. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29167. 0x011 If (Random MOD 2)
  29168. 0x011 {
  29169. 0x018 Perform("Kick"[0376], EnemyAttack)
  29170. 0x01E }
  29171. 0x01E Else
  29172. 0x01E {
  29173. 0x021 Perform("Throw"[0379], EnemyAttack)
  29174. 0x027 }
  29175. 0x027 Else
  29176. 0x027 {
  29177. 0x02A If (LocalVar:Count == 0)
  29178. 0x02A {
  29179. 0x032 LocalVar:Count <- LocalVar:Count + 1
  29180. 0x03C }
  29181. 0x03C Else
  29182. 0x03C {
  29183. 0x03F }
  29184. 0x03F Else
  29185. 0x03F {
  29186. 0x042 If (LocalVar:Count == 1)
  29187. 0x042 {
  29188. 0x047 Display String: "Elena “Take THAT!!”"
  29189. 0x05C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29190. 0x064 Perform("Bewildered"[0377], EnemyAttack)
  29191. 0x06A LocalVar:Count <- LocalVar:Count + 1
  29192. 0x074 }
  29193. 0x074 Else
  29194. 0x074 {
  29195. 0x077 }
  29196. 0x077 Else
  29197. 0x077 {
  29198. 0x07A If (LocalVar:Count == 2)
  29199. 0x07A {
  29200. 0x07F }
  29201. 0x07F Else
  29202. 0x07F {
  29203. 0x082 If (LocalVar:Count == 3)
  29204. 0x082 {
  29205. 0x087 }
  29206. 0x087 Else
  29207. 0x087 {
  29208. 0x08A If (LocalVar:Count == 4)
  29209. 0x08A {
  29210. 0x08F }
  29211. 0x08F Else
  29212. 0x08F {
  29213. 0x092 If (LocalVar:Count == 5)
  29214. 0x092 {
  29215. 0x097 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29216. 0x09E Perform("Throw"[0379], EnemyAttack)
  29217. 0x0A4 LocalVar:Count <- LocalVar:Count + 1
  29218. 0x0AE }
  29219. 0x0AE Else
  29220. 0x0AE {
  29221. 0x0B1 }
  29222. 0x0B1 Else
  29223. 0x0B1 {
  29224. 0x0B4 Display String: "Elena “Take THAT!!”"
  29225. 0x0C9 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29226. 0x0D0 Perform([011F], EnemyAttack)
  29227. 0x0D6 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29228. 0x0DD Perform("Throw"[0378], EnemyAttack)
  29229. 0x0E3 LocalVar:Count <- 0
  29230. 0x0E9 LocalVar:HitCount <- 0
  29231. 0x0EF LocalVar:Stage <- 0
  29232. 0x0F5 BattleAddr(&Self).BattleAddr(&Row) <- 1
  29233. 0x0FF POP(LocalVar:Count)
  29234. 0x100SCRIPT END
  29235.  
  29236.  
  29237. GENERAL COUNTER:
  29238.  
  29239. 0x000 If ( (LocalVar:Stage == 0) )
  29240. 0x000 {
  29241. 0x009 LocalVar:HitCount <- LocalVar:HitCount + 1
  29242. 0x013 If ( (LocalVar:HitCount == 2) )
  29243. 0x013 {
  29244. 0x01C Display String: "Elena “Yeow! That hurts!”"
  29245. 0x037 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29246. 0x03E Perform([0120], EnemyAttack)
  29247. 0x044 LocalVar:Count <- 0
  29248. 0x04A LocalVar:HitCount <- 0
  29249. 0x050 LocalVar:Stage <- 1
  29250. 0x056 BattleAddr(&Self).BattleAddr(&Row) <- 3
  29251. 0x060 }
  29252. 0x060 Else
  29253. 0x060 {
  29254. 0x063 LocalVar:HitCount <- LocalVar:HitCount + 1
  29255. 0x06D If ( (LocalVar:HitCount == 2) )
  29256. 0x06D {
  29257. 0x076 Display String: "Elena “Take THAT!!”"
  29258. 0x08B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29259. 0x092 Perform([011F], EnemyAttack)
  29260. 0x098 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29261. 0x09F Perform("Throw"[0378], EnemyAttack)
  29262. 0x0A5 LocalVar:Count <- 0
  29263. 0x0AB LocalVar:HitCount <- 0
  29264. 0x0B1 LocalVar:Stage <- 0
  29265. 0x0B7 BattleAddr(&Self).BattleAddr(&Row) <- 1
  29266. 0x0C1SCRIPT END
  29267.  
  29268.  
  29269. DEATH COUNTER:
  29270.  
  29271. 0x000 If ( (BattleAddr(&EndBattle) == 0) )
  29272. 0x000 {
  29273. 0x009 BattleAddr(&EndBattle) <- 1
  29274. 0x00F Display String: "Reno “Let's call it a day.”"
  29275. 0x02C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29276. 0x033 Perform("(Report)"[0164], EnemyAttack)
  29277. 0x039 LocalVar:TarSelected <- FlagBit(4)
  29278. 0x040 LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29279. 0x04A LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29280. 0x054 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29281. 0x05E LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29282. 0x068 LocalVar:TarSelected <- FlagBit(5)
  29283. 0x06F LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29284. 0x079 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29285. 0x083 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29286. 0x08D LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29287. 0x097 LocalVar:TarSelected <- FlagBit(6)
  29288. 0x09E LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29289. 0x0A8 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29290. 0x0B2 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29291. 0x0BC LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29292. 0x0C6SCRIPT END
  29293.  
  29294.  
  29295.  
  29296.  
  29297. 297 - [129] Turks:Reno (Sector 8)
  29298.  
  29299.  
  29300. LocalVar:0000 = LocalVar:TarSelected
  29301. LocalVar:0020 = LocalVar:Count
  29302.  
  29303. BattleAddr(&2060) = BattleAddr(&Self)
  29304. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29305. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29306. BattleAddr(&21A0) = BattleAddr(&EndBattle)
  29307.  
  29308. BattleAddr(&4020) = BattleAddr(&SelfActive)
  29309. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  29310. BattleAddr(&4023) = BattleAddr(&Targetable)
  29311. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29312.  
  29313.  
  29314.  
  29315. MAIN:
  29316.  
  29317. 0x000 If (LocalVar:Count == 0)
  29318. 0x000 {
  29319. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29320. 0x010 Perform("Short Staff"[015C], EnemyAttack)
  29321. 0x016 LocalVar:Count <- LocalVar:Count + 1
  29322. 0x020 }
  29323. 0x020 Else
  29324. 0x020 {
  29325. 0x023 }
  29326. 0x023 Else
  29327. 0x023 {
  29328. 0x026 If (LocalVar:Count == 1)
  29329. 0x026 {
  29330. 0x02B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29331. 0x033 If (Random MOD 2)
  29332. 0x033 {
  29333. 0x03A Perform("Electroprod"[0372], EnemyAttack)
  29334. 0x040 }
  29335. 0x040 Else
  29336. 0x040 {
  29337. 0x043 Perform("Short Staff"[015C], EnemyAttack)
  29338. 0x049 LocalVar:Count <- LocalVar:Count + 1
  29339. 0x053 }
  29340. 0x053 Else
  29341. 0x053 {
  29342. 0x056 }
  29343. 0x056 Else
  29344. 0x056 {
  29345. 0x059 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29346. 0x061 Perform("Turk Light"[0370], EnemyAttack)
  29347. 0x067 LocalVar:Count <- 0
  29348. 0x06D }
  29349. 0x06D Else
  29350. 0x06D {
  29351. 0x070POP(LocalVar:Count)
  29352. 0x071SCRIPT END
  29353.  
  29354.  
  29355. DEATH COUNTER:
  29356.  
  29357. 0x000 If ( (BattleAddr(&EndBattle) == 0) )
  29358. 0x000 {
  29359. 0x009 BattleAddr(&EndBattle) <- 1
  29360. 0x00F Display String: "Reno “Let's call it a day.”"
  29361. 0x02C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29362. 0x033 Perform("(Report)"[0164], EnemyAttack)
  29363. 0x039 LocalVar:TarSelected <- FlagBit(4)
  29364. 0x040 LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29365. 0x04A LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29366. 0x054 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29367. 0x05E LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0)
  29368. 0x068 LocalVar:TarSelected <- FlagBit(5)
  29369. 0x06F LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29370. 0x079 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29371. 0x083 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29372. 0x08D LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29373. 0x097 LocalVar:TarSelected <- FlagBit(6)
  29374. 0x09E LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29375. 0x0A8 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29376. 0x0B2 LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29377. 0x0BC LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29378. 0x0C6SCRIPT END
  29379.  
  29380.  
  29381.  
  29382.  
  29383. 298 - [12A] Turks:Rude (Sector 8)
  29384.  
  29385.  
  29386. LocalVar:0000 = LocalVar:TarSelected
  29387. LocalVar:0020 = LocalVar:Count
  29388.  
  29389. BattleAddr(&2060) = BattleAddr(&Self)
  29390. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29391. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29392. BattleAddr(&21A0) = BattleAddr(&EndBattle)
  29393.  
  29394. BattleAddr(&4020) = BattleAddr(&SelfActive)
  29395. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  29396. BattleAddr(&4023) = BattleAddr(&Targetable)
  29397. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29398. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  29399.  
  29400.  
  29401.  
  29402. MAIN:
  29403.  
  29404. 0x000BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) != 18)
  29405. 0x00E If (BattleAddr(&TarSelected))
  29406. 0x00E {
  29407. 0x014 If (LocalVar:Count == 0)
  29408. 0x014 {
  29409. 0x01C }
  29410. 0x01C Else
  29411. 0x01C {
  29412. 0x01F If (LocalVar:Count == 1)
  29413. 0x01F {
  29414. 0x024 Perform("Shoulder Attack"[0374], EnemyAttack)
  29415. 0x02A LocalVar:Count <- LocalVar:Count + 1
  29416. 0x034 }
  29417. 0x034 Else
  29418. 0x034 {
  29419. 0x037 }
  29420. 0x037 Else
  29421. 0x037 {
  29422. 0x03A If (LocalVar:Count == 2)
  29423. 0x03A {
  29424. 0x03F Perform("Grand Spark"[01CD], EnemyAttack)
  29425. 0x045 LocalVar:Count <- LocalVar:Count + 1
  29426. 0x04F }
  29427. 0x04F Else
  29428. 0x04F {
  29429. 0x052 }
  29430. 0x052 Else
  29431. 0x052 {
  29432. 0x055 If (LocalVar:Count == 3)
  29433. 0x055 {
  29434. 0x05A }
  29435. 0x05A Else
  29436. 0x05A {
  29437. 0x05D If (LocalVar:Count == 4)
  29438. 0x05D {
  29439. 0x062 }
  29440. 0x062 Else
  29441. 0x062 {
  29442. 0x065 If (LocalVar:Count == 5)
  29443. 0x065 {
  29444. 0x06A Perform("Shoulder Attack"[0374], EnemyAttack)
  29445. 0x070 LocalVar:Count <- LocalVar:Count + 1
  29446. 0x07A }
  29447. 0x07A Else
  29448. 0x07A {
  29449. 0x07D }
  29450. 0x07D Else
  29451. 0x07D {
  29452. 0x080 Perform("Grand Spark"[01CD], EnemyAttack)
  29453. 0x086 LocalVar:Count <- 0
  29454. 0x08C }
  29455. 0x08C Else
  29456. 0x08C {
  29457. 0x08F POP(LocalVar:Count)
  29458. 0x090 }
  29459. 0x090 Else
  29460. 0x090 {
  29461. 0x093 If (Random MOD 3)
  29462. 0x093 {
  29463. 0x09A Display String: "Rude “………………”"
  29464. 0x0A9 }
  29465. 0x0A9 Else
  29466. 0x0A9 {
  29467. 0x0AC BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&GrpFormID) == 18)
  29468. 0x0BA Perform("Shoulder Attack"[0374], EnemyAttack)
  29469. 0x0C0SCRIPT END
  29470.  
  29471.  
  29472. DEATH COUNTER:
  29473.  
  29474. 0x000 If ( (BattleAddr(&EndBattle) == 0) )
  29475. 0x000 {
  29476. 0x009 BattleAddr(&EndBattle) <- 1
  29477. 0x00F Display String: "Rude “Reno! Elena! Let's pull out!”"
  29478. 0x034 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29479. 0x03B Perform("(Report)"[0164], EnemyAttack)
  29480. 0x041 LocalVar:TarSelected <- FlagBit(4)
  29481. 0x048 LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29482. 0x052 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29483. 0x05C LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29484. 0x066 LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29485. 0x070 LocalVar:TarSelected <- FlagBit(5)
  29486. 0x077 LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29487. 0x081 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29488. 0x08B LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29489. 0x095 LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29490. 0x09F LocalVar:TarSelected <- FlagBit(6)
  29491. 0x0A6 LocalVar:TarSelected.BattleAddr(&SelfActive) <- 0
  29492. 0x0B0 LocalVar:TarSelected.BattleAddr(&Targetable) <- 0
  29493. 0x0BA LocalVar:TarSelected.BattleAddr(&Needed2EndBattle) <- 0
  29494. 0x0C4 LocalVar:TarSelected.BattleAddr(&AIScriptActive) <- 0
  29495. 0x0CESCRIPT END
  29496.  
  29497.  
  29498.  
  29499.  
  29500. 299 - [12B] Proud Clod
  29501.  
  29502.  
  29503. LocalVar:0000 = LocalVar:Allies
  29504. LocalVar:0020 = LocalVar:JamarArmor
  29505. LocalVar:0040 = LocalVar:Count
  29506. LocalVar:0060 = LocalVar:SpclChance
  29507. LocalVar:0080 = LocalVar:EnemyAttack
  29508.  
  29509. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  29510. BattleAddr(&2060) = BattleAddr(&Self)
  29511. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29512. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29513.  
  29514. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  29515. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  29516. BattleAddr(&4020) = BattleAddr(&SelfActive)
  29517. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  29518. BattleAddr(&4023) = BattleAddr(&Targetable)
  29519. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  29520. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  29521. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  29522. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  29523. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  29524. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  29525. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  29526. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  29527. BattleAddr(&4180) = BattleAddr(&MaxHP)
  29528.  
  29529.  
  29530.  
  29531. PRE-BATTLE:
  29532.  
  29533. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  29534. 0x00ALocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  29535. 0x01ELocalVar:JamarArmor <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 300)
  29536. 0x02DLocalVar:Count <- Random MOD 7
  29537. 0x035LocalVar:SpclChance <- 5
  29538. 0x03BSCRIPT END
  29539.  
  29540.  
  29541. MAIN:
  29542.  
  29543. 0x000 If (LocalVar:Count == 0)
  29544. 0x000 {
  29545. 0x008 }
  29546. 0x008 Else
  29547. 0x008 {
  29548. 0x00B If (LocalVar:Count == 1)
  29549. 0x00B {
  29550. 0x010 LocalVar:EnemyAttack <- 280 (W Machine Gun)
  29551. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29552. 0x01F Perform(LocalVar:EnemyAttack, EnemyAttack)
  29553. 0x025 If (Not (Random MOD LocalVar:SpclChance) )
  29554. 0x025 {
  29555. 0x02E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29556. 0x036 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29557. 0x03C LocalVar:Count <- 2 + Random MOD 2
  29558. 0x047 }
  29559. 0x047 Else
  29560. 0x047 {
  29561. 0x04A }
  29562. 0x04A Else
  29563. 0x04A {
  29564. 0x04D If (LocalVar:Count == 2)
  29565. 0x04D {
  29566. 0x052 LocalVar:EnemyAttack <- 799 (Big Hand Clash)
  29567. 0x059 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29568. 0x061 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29569. 0x067 If (Not (Random MOD LocalVar:SpclChance) )
  29570. 0x067 {
  29571. 0x070 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29572. 0x078 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29573. 0x07E LocalVar:Count <- 4 + Random MOD 2
  29574. 0x089 }
  29575. 0x089 Else
  29576. 0x089 {
  29577. 0x08C }
  29578. 0x08C Else
  29579. 0x08C {
  29580. 0x08F If (LocalVar:Count == 3)
  29581. 0x08F {
  29582. 0x094 LocalVar:EnemyAttack <- 800 (Wrist Laser)
  29583. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29584. 0x0A3 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29585. 0x0A9 If (Not (Random MOD LocalVar:SpclChance) )
  29586. 0x0A9 {
  29587. 0x0B2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29588. 0x0BA Perform(LocalVar:EnemyAttack, EnemyAttack)
  29589. 0x0C0 LocalVar:Count <- 4 + Random MOD 2
  29590. 0x0CB }
  29591. 0x0CB Else
  29592. 0x0CB {
  29593. 0x0CE }
  29594. 0x0CE Else
  29595. 0x0CE {
  29596. 0x0D1 If (LocalVar:Count == 4)
  29597. 0x0D1 {
  29598. 0x0D6 LocalVar:EnemyAttack <- 801 (Knee Fire)
  29599. 0x0DD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29600. 0x0E5 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29601. 0x0EB If (Not (Random MOD LocalVar:SpclChance) )
  29602. 0x0EB {
  29603. 0x0F4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29604. 0x0FC Perform(LocalVar:EnemyAttack, EnemyAttack)
  29605. 0x102 LocalVar:Count <- 6
  29606. 0x108 }
  29607. 0x108 Else
  29608. 0x108 {
  29609. 0x10B }
  29610. 0x10B Else
  29611. 0x10B {
  29612. 0x10E If (LocalVar:Count == 5)
  29613. 0x10E {
  29614. 0x113 LocalVar:EnemyAttack <- 802 (Knee Blend)
  29615. 0x11A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29616. 0x122 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29617. 0x128 If (Not (Random MOD LocalVar:SpclChance) )
  29618. 0x128 {
  29619. 0x131 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29620. 0x139 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29621. 0x13F LocalVar:Count <- 6
  29622. 0x145 }
  29623. 0x145 Else
  29624. 0x145 {
  29625. 0x148 }
  29626. 0x148 Else
  29627. 0x148 {
  29628. 0x14B If (LocalVar:Count == 6)
  29629. 0x14B {
  29630. 0x150 If ( ( (LocalVar:JamarArmor.BattleAddr(&DeathStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) ) )
  29631. 0x150 {
  29632. 0x168 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Materia-jammer [0323])) And Not (Random MOD LocalVar:SpclChance) ) )
  29633. 0x168 {
  29634. 0x17E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) )
  29635. 0x18D Perform("Materia-jammer"[0323], EnemyAttack)
  29636. 0x193 }
  29637. 0x193 Else
  29638. 0x193 {
  29639. 0x196 LocalVar:EnemyAttack <- 799 (Big Hand Clash)
  29640. 0x19D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29641. 0x1A5 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29642. 0x1AB If (Not (Random MOD LocalVar:SpclChance) )
  29643. 0x1AB {
  29644. 0x1B4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29645. 0x1BC Perform(LocalVar:EnemyAttack, EnemyAttack)
  29646. 0x1C2 }
  29647. 0x1C2 Else
  29648. 0x1C2 {
  29649. 0x1C5 LocalVar:EnemyAttack <- 280 (W Machine Gun)
  29650. 0x1CC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29651. 0x1D4 Perform(LocalVar:EnemyAttack, EnemyAttack)
  29652. 0x1DA If (Not (Random MOD LocalVar:SpclChance) )
  29653. 0x1DA {
  29654. 0x1E3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29655. 0x1EB Perform(LocalVar:EnemyAttack, EnemyAttack)
  29656. 0x1F1 If ( (LocalVar:SpclChance <= 3) )
  29657. 0x1F1 {
  29658. 0x1FA LocalVar:Count <- 7
  29659. 0x200 }
  29660. 0x200 Else
  29661. 0x200 {
  29662. 0x203 LocalVar:Count <- Random MOD 2
  29663. 0x20B }
  29664. 0x20B Else
  29665. 0x20B {
  29666. 0x20E }
  29667. 0x20E Else
  29668. 0x20E {
  29669. 0x211 If (LocalVar:Count == 7)
  29670. 0x211 {
  29671. 0x216 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29672. 0x21D Perform([011F], EnemyAttack)
  29673. 0x223 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 10
  29674. 0x22D LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 11
  29675. 0x237 LocalVar:Count <- 8
  29676. 0x23D }
  29677. 0x23D Else
  29678. 0x23D {
  29679. 0x240 }
  29680. 0x240 Else
  29681. 0x240 {
  29682. 0x243 If (LocalVar:Count == 8)
  29683. 0x243 {
  29684. 0x248 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29685. 0x24F Perform("Charging"[019C], EnemyAttack)
  29686. 0x255 LocalVar:Count <- 9
  29687. 0x25B }
  29688. 0x25B Else
  29689. 0x25B {
  29690. 0x25E }
  29691. 0x25E Else
  29692. 0x25E {
  29693. 0x261 If (LocalVar:Count == 9)
  29694. 0x261 {
  29695. 0x266 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29696. 0x26D Perform("Beam Cannon"[0325], EnemyAttack)
  29697. 0x273 LocalVar:Count <- 10
  29698. 0x279 }
  29699. 0x279 Else
  29700. 0x279 {
  29701. 0x27C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29702. 0x283 Perform([0120], EnemyAttack)
  29703. 0x289 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 0
  29704. 0x293 LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 1
  29705. 0x29D LocalVar:Count <- Random MOD 2
  29706. 0x2A5 }
  29707. 0x2A5 Else
  29708. 0x2A5 {
  29709. 0x2A8POP(LocalVar:Count)
  29710. 0x2A9SCRIPT END
  29711.  
  29712.  
  29713. GENERAL COUNTER:
  29714.  
  29715. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  29716. 0x000 {
  29717. 0x00D LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 1
  29718. 0x017 }
  29719. 0x017 Else
  29720. 0x017 {
  29721. 0x01A LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 11
  29722. 0x024 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 1) )
  29723. 0x024 {
  29724. 0x03C LocalVar:SpclChance <- 1
  29725. 0x042 }
  29726. 0x042 Else
  29727. 0x042 {
  29728. 0x045 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 2) )
  29729. 0x045 {
  29730. 0x05D LocalVar:SpclChance <- 2
  29731. 0x063 }
  29732. 0x063 Else
  29733. 0x063 {
  29734. 0x066 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 3) )
  29735. 0x066 {
  29736. 0x07E LocalVar:SpclChance <- 3
  29737. 0x084 }
  29738. 0x084 Else
  29739. 0x084 {
  29740. 0x087 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 4) )
  29741. 0x087 {
  29742. 0x09F LocalVar:SpclChance <- 4
  29743. 0x0A5 }
  29744. 0x0A5 Else
  29745. 0x0A5 {
  29746. 0x0A8 LocalVar:SpclChance <- 5
  29747. 0x0AESCRIPT END
  29748.  
  29749.  
  29750. DEATH COUNTER:
  29751.  
  29752. 0x000LocalVar:JamarArmor.BattleAddr(&SelfActive) <- 0
  29753. 0x00ALocalVar:JamarArmor.BattleAddr(&Targetable) <- 0
  29754. 0x014LocalVar:JamarArmor.BattleAddr(&Needed2EndBattle) <- 0
  29755. 0x01ELocalVar:JamarArmor.BattleAddr(&AIScriptActive) <- 0
  29756. 0x028SCRIPT END
  29757.  
  29758.  
  29759.  
  29760.  
  29761. 300 - [12C] Jamar Armor
  29762.  
  29763. MAIN:
  29764.  
  29765. 0x000SCRIPT END
  29766.  
  29767.  
  29768.  
  29769.  
  29770. 301 - [12D] SOLDIER:1st
  29771.  
  29772.  
  29773. LocalVar:0000 = LocalVar:TarSelected
  29774. LocalVar:0020 = LocalVar:Count
  29775. LocalVar:0040 = LocalVar:SpclChance
  29776.  
  29777. BattleAddr(&2060) = BattleAddr(&Self)
  29778. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29779. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29780.  
  29781. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  29782. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  29783. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  29784. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  29785. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  29786. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  29787. BattleAddr(&4180) = BattleAddr(&MaxHP)
  29788.  
  29789.  
  29790.  
  29791. PRE-BATTLE:
  29792.  
  29793. 0x000LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  29794. 0x008LocalVar:Count <- Random MOD 3
  29795. 0x010LocalVar:SpclChance <- 5
  29796. 0x016SCRIPT END
  29797.  
  29798.  
  29799. MAIN:
  29800.  
  29801. 0x000 If (LocalVar:Count == 0)
  29802. 0x000 {
  29803. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29804. 0x010 Perform("Fight"[0362], EnemyAttack)
  29805. 0x016 If (Not (Random MOD LocalVar:SpclChance) )
  29806. 0x016 {
  29807. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29808. 0x027 Perform("Fight"[0362], EnemyAttack)
  29809. 0x02D LocalVar:Count <- 0
  29810. 0x033 }
  29811. 0x033 Else
  29812. 0x033 {
  29813. 0x036 }
  29814. 0x036 Else
  29815. 0x036 {
  29816. 0x039 If (LocalVar:Count == 1)
  29817. 0x039 {
  29818. 0x03E If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  29819. 0x03E {
  29820. 0x04B BattleAddr(&TarSelected) <- LocalVar:TarSelected
  29821. 0x052 }
  29822. 0x052 Else
  29823. 0x052 {
  29824. 0x055 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29825. 0x05D Perform("Quadra-Cut"[037D], EnemyAttack)
  29826. 0x063 LocalVar:Count <- 0
  29827. 0x069 }
  29828. 0x069 Else
  29829. 0x069 {
  29830. 0x06C }
  29831. 0x06C Else
  29832. 0x06C {
  29833. 0x06F If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  29834. 0x06F {
  29835. 0x07C BattleAddr(&TarSelected) <- LocalVar:TarSelected
  29836. 0x083 }
  29837. 0x083 Else
  29838. 0x083 {
  29839. 0x086 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  29840. 0x08E Perform("Sword of Doom"[037C], EnemyAttack)
  29841. 0x094 LocalVar:Count <- 0
  29842. 0x09A }
  29843. 0x09A Else
  29844. 0x09A {
  29845. 0x09DPOP(LocalVar:Count)
  29846. 0x09ESCRIPT END
  29847.  
  29848.  
  29849. GENERAL COUNTER:
  29850.  
  29851. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 3) ) )
  29852. 0x000 {
  29853. 0x01F LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  29854. 0x02A LocalVar:SpclChance <- 2
  29855. 0x030 LocalVar:Count <- 2
  29856. 0x036 }
  29857. 0x036 Else
  29858. 0x036 {
  29859. 0x039 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 4) ) )
  29860. 0x039 {
  29861. 0x058 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  29862. 0x063 LocalVar:SpclChance <- 3
  29863. 0x069 LocalVar:Count <- 1
  29864. 0x06F }
  29865. 0x06F Else
  29866. 0x06F {
  29867. 0x072 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 5) ) )
  29868. 0x072 {
  29869. 0x091 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  29870. 0x09C LocalVar:SpclChance <- 4
  29871. 0x0A2 LocalVar:Count <- 1
  29872. 0x0A8 }
  29873. 0x0A8 Else
  29874. 0x0A8 {
  29875. 0x0AB LocalVar:SpclChance <- 5
  29876. 0x0B1 LocalVar:Count <- 0
  29877. 0x0B7SCRIPT END
  29878.  
  29879.  
  29880. MAGIC COUNTER:
  29881.  
  29882. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  29883. 0x00B If ( ( (BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) ) )
  29884. 0x00B {
  29885. 0x024 Perform("Silence"[000D], EnemyAttack)
  29886. 0x029SCRIPT END
  29887.  
  29888.  
  29889.  
  29890.  
  29891. 302 - [12E] XCannon
  29892.  
  29893.  
  29894. LocalVar:0000 = LocalVar:Count
  29895. LocalVar:0020 = LocalVar:1stChr
  29896. LocalVar:0040 = LocalVar:2ndChr
  29897. LocalVar:0060 = LocalVar:3rdChr
  29898.  
  29899. BattleAddr(&2060) = BattleAddr(&Self)
  29900. BattleAddr(&2070) = BattleAddr(&TarSelected)
  29901. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  29902.  
  29903. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  29904. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  29905. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  29906.  
  29907.  
  29908.  
  29909. PRE-BATTLE:
  29910.  
  29911. 0x000LocalVar:1stChr <- FlagBit(0)
  29912. 0x007LocalVar:2ndChr <- FlagBit(1)
  29913. 0x00ELocalVar:3rdChr <- FlagBit(2)
  29914. 0x015SCRIPT END
  29915.  
  29916.  
  29917. MAIN:
  29918.  
  29919. 0x000 If (LocalVar:Count == 0)
  29920. 0x000 {
  29921. 0x008 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  29922. 0x008 {
  29923. 0x015 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  29924. 0x01C Perform("Search"[0328], EnemyAttack)
  29925. 0x022 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  29926. 0x022 {
  29927. 0x02F BattleAddr(&TarSelected) <- LocalVar:1stChr
  29928. 0x036 Perform("Search"[0328], EnemyAttack)
  29929. 0x03C If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  29930. 0x03C {
  29931. 0x049 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  29932. 0x050 Perform("Search"[0328], EnemyAttack)
  29933. 0x056 Display String: "Target: set"
  29934. 0x063 Pause(0)
  29935. 0x068 Display String: "Countdown"
  29936. 0x073 Pause(0)
  29937. 0x078 LocalVar:Count <- 1
  29938. 0x07E }
  29939. 0x07E Else
  29940. 0x07E {
  29941. 0x081 }
  29942. 0x081 Else
  29943. 0x081 {
  29944. 0x084 If (LocalVar:Count == 1)
  29945. 0x084 {
  29946. 0x089 Display String: "3"
  29947. 0x08C Pause(0)
  29948. 0x091 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29949. 0x098 Perform([011F], EnemyAttack)
  29950. 0x09E BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 6
  29951. 0x0A8 LocalVar:Count <- 2
  29952. 0x0AE }
  29953. 0x0AE Else
  29954. 0x0AE {
  29955. 0x0B1 }
  29956. 0x0B1 Else
  29957. 0x0B1 {
  29958. 0x0B4 If (LocalVar:Count == 2)
  29959. 0x0B4 {
  29960. 0x0B9 Display String: "2"
  29961. 0x0BC Pause(0)
  29962. 0x0C1 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 9
  29963. 0x0CB LocalVar:Count <- 3
  29964. 0x0D1 }
  29965. 0x0D1 Else
  29966. 0x0D1 {
  29967. 0x0D4 }
  29968. 0x0D4 Else
  29969. 0x0D4 {
  29970. 0x0D7 If (LocalVar:Count == 3)
  29971. 0x0D7 {
  29972. 0x0DC Display String: "1"
  29973. 0x0DF Pause(0)
  29974. 0x0E4 LocalVar:Count <- 4
  29975. 0x0EA }
  29976. 0x0EA Else
  29977. 0x0EA {
  29978. 0x0ED }
  29979. 0x0ED Else
  29980. 0x0ED {
  29981. 0x0F0 If (LocalVar:Count == 4)
  29982. 0x0F0 {
  29983. 0x0F5 Display String: "0"
  29984. 0x0F8 Pause(0)
  29985. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  29986. 0x104 Perform("Dragon Cannon"[032B], EnemyAttack)
  29987. 0x10A LocalVar:Count <- 5
  29988. 0x110 }
  29989. 0x110 Else
  29990. 0x110 {
  29991. 0x113 }
  29992. 0x113 Else
  29993. 0x113 {
  29994. 0x116 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  29995. 0x11D Perform([0120], EnemyAttack)
  29996. 0x123 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  29997. 0x12D LocalVar:Count <- 0
  29998. 0x133 }
  29999. 0x133 Else
  30000. 0x133 {
  30001. 0x136POP(LocalVar:Count)
  30002. 0x137SCRIPT END
  30003.  
  30004.  
  30005. GENERAL COUNTER:
  30006.  
  30007. 0x000 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  30008. 0x000 {
  30009. 0x00D BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  30010. 0x017 }
  30011. 0x017 Else
  30012. 0x017 {
  30013. 0x01A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 7
  30014. 0x024SCRIPT END
  30015.  
  30016.  
  30017.  
  30018.  
  30019. 303 - [12F] Blank
  30020.  
  30021.  
  30022.  
  30023.  
  30024. 304 - [130] Maximum Kimaira
  30025.  
  30026.  
  30027. LocalVar:0000 = LocalVar:Count
  30028. LocalVar:0020 = LocalVar:SpclChance
  30029. LocalVar:0040 = LocalVar:SpclHitCount
  30030.  
  30031. BattleAddr(&2060) = BattleAddr(&Self)
  30032. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30033. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  30034.  
  30035. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  30036. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  30037. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  30038. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  30039. BattleAddr(&4180) = BattleAddr(&MaxHP)
  30040.  
  30041.  
  30042.  
  30043. PRE-BATTLE:
  30044.  
  30045. 0x000LocalVar:Count <- Random MOD 4
  30046. 0x008LocalVar:SpclChance <- 5
  30047. 0x00ELocalVar:SpclHitCount <- 3
  30048. 0x014SCRIPT END
  30049.  
  30050.  
  30051. MAIN:
  30052.  
  30053. 0x000 If (LocalVar:Count == 0)
  30054. 0x000 {
  30055. 0x008 }
  30056. 0x008 Else
  30057. 0x008 {
  30058. 0x00B If (LocalVar:Count == 1)
  30059. 0x00B {
  30060. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30061. 0x010 {
  30062. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30063. 0x02C }
  30064. 0x02C Else
  30065. 0x02C {
  30066. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30067. 0x037 Perform("Claw"[020F], EnemyAttack)
  30068. 0x03D If (Not (Random MOD LocalVar:SpclChance) )
  30069. 0x03D {
  30070. 0x046 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30071. 0x046 {
  30072. 0x053 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30073. 0x062 }
  30074. 0x062 Else
  30075. 0x062 {
  30076. 0x065 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30077. 0x06D Perform("Claw"[020F], EnemyAttack)
  30078. 0x073 LocalVar:Count <- LocalVar:Count + 1
  30079. 0x07D }
  30080. 0x07D Else
  30081. 0x07D {
  30082. 0x080 }
  30083. 0x080 Else
  30084. 0x080 {
  30085. 0x083 If (LocalVar:Count == 2)
  30086. 0x083 {
  30087. 0x088 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Northern Cross [0395])) ) )
  30088. 0x088 {
  30089. 0x0A2 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30090. 0x0B1 Perform("Northern Cross"[0395], EnemyAttack)
  30091. 0x0B7 }
  30092. 0x0B7 Else
  30093. 0x0B7 {
  30094. 0x0BA If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30095. 0x0BA {
  30096. 0x0C7 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30097. 0x0D6 }
  30098. 0x0D6 Else
  30099. 0x0D6 {
  30100. 0x0D9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30101. 0x0E1 Perform("Claw"[020F], EnemyAttack)
  30102. 0x0E7 If (Not (Random MOD LocalVar:SpclChance) )
  30103. 0x0E7 {
  30104. 0x0F0 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30105. 0x0F0 {
  30106. 0x0FD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30107. 0x10C }
  30108. 0x10C Else
  30109. 0x10C {
  30110. 0x10F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30111. 0x117 Perform("Claw"[020F], EnemyAttack)
  30112. 0x11D If (Not (Random MOD LocalVar:SpclChance) )
  30113. 0x11D {
  30114. 0x126 LocalVar:Count <- 3
  30115. 0x12C }
  30116. 0x12C Else
  30117. 0x12C {
  30118. 0x12F LocalVar:Count <- 0
  30119. 0x135 }
  30120. 0x135 Else
  30121. 0x135 {
  30122. 0x138 }
  30123. 0x138 Else
  30124. 0x138 {
  30125. 0x13B If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Freeze [002F])) And Not (Random MOD LocalVar:SpclChance) ) And LocalVar:SpclHitCount) )
  30126. 0x13B {
  30127. 0x154 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30128. 0x15C Perform("Freeze"[002F], EnemyAttack)
  30129. 0x161 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  30130. 0x16B }
  30131. 0x16B Else
  30132. 0x16B {
  30133. 0x16E If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30134. 0x16E {
  30135. 0x17B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30136. 0x18A }
  30137. 0x18A Else
  30138. 0x18A {
  30139. 0x18D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30140. 0x195 Perform("Claw"[020F], EnemyAttack)
  30141. 0x19B If (Not (Random MOD LocalVar:SpclChance) )
  30142. 0x19B {
  30143. 0x1A4 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30144. 0x1A4 {
  30145. 0x1B1 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  30146. 0x1C0 }
  30147. 0x1C0 Else
  30148. 0x1C0 {
  30149. 0x1C3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30150. 0x1CB Perform("Claw"[020F], EnemyAttack)
  30151. 0x1D1 LocalVar:Count <- 0
  30152. 0x1D7 }
  30153. 0x1D7 Else
  30154. 0x1D7 {
  30155. 0x1DAPOP(LocalVar:Count)
  30156. 0x1DBSCRIPT END
  30157.  
  30158.  
  30159. GENERAL COUNTER:
  30160.  
  30161. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  30162. 0x000 {
  30163. 0x018 LocalVar:SpclChance <- 2
  30164. 0x01E }
  30165. 0x01E Else
  30166. 0x01E {
  30167. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  30168. 0x021 {
  30169. 0x039 LocalVar:SpclChance <- 4
  30170. 0x03F }
  30171. 0x03F Else
  30172. 0x03F {
  30173. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  30174. 0x042 {
  30175. 0x05A LocalVar:SpclChance <- 6
  30176. 0x060 }
  30177. 0x060 Else
  30178. 0x060 {
  30179. 0x063 LocalVar:SpclChance <- 8
  30180. 0x069SCRIPT END
  30181.  
  30182.  
  30183. PHYSICAL COUNTER:
  30184.  
  30185. 0x000 If (Not (Random MOD LocalVar:SpclChance) )
  30186. 0x000 {
  30187. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  30188. 0x014 Perform("Claw"[020F], EnemyAttack)
  30189. 0x01ASCRIPT END
  30190.  
  30191.  
  30192. MAGIC COUNTER:
  30193.  
  30194. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Freeze [002F])) And Not (Random MOD LocalVar:SpclChance) ) And LocalVar:SpclHitCount) )
  30195. 0x000 {
  30196. 0x019 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  30197. 0x024 Perform("Freeze"[002F], EnemyAttack)
  30198. 0x029 LocalVar:SpclHitCount <- LocalVar:SpclHitCount - 1
  30199. 0x033SCRIPT END
  30200.  
  30201.  
  30202.  
  30203.  
  30204. 305 - [131] Hojo
  30205.  
  30206.  
  30207. LocalVar:0000 = LocalVar:Allies
  30208. LocalVar:0020 = LocalVar:PoodlerSample
  30209. LocalVar:0040 = LocalVar:BadRapSample
  30210.  
  30211. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  30212. BattleAddr(&2060) = BattleAddr(&Self)
  30213. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30214.  
  30215. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  30216. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  30217. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  30218. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  30219. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  30220. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  30221. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  30222. BattleAddr(&4020) = BattleAddr(&SelfActive)
  30223. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  30224. BattleAddr(&4023) = BattleAddr(&Targetable)
  30225. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  30226. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  30227. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  30228. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  30229. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  30230. BattleAddr(&4150) = BattleAddr(&MaxMP)
  30231. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  30232. BattleAddr(&4180) = BattleAddr(&MaxHP)
  30233.  
  30234.  
  30235.  
  30236. PRE-BATTLE:
  30237.  
  30238. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30239. 0x00ADisplay String: "Hojo “Gwah, haw, haw!!”"
  30240. 0x023Pause(0)
  30241. 0x028BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30242. 0x02FPerform([011F], EnemyAttack)
  30243. 0x035LocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  30244. 0x049LocalVar:Allies <- LocalVar:Allies AND NOT BattleAddr(&Self)
  30245. 0x055LocalVar:PoodlerSample <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 363)
  30246. 0x064LocalVar:BadRapSample <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 362)
  30247. 0x073LocalVar:Allies.BattleAddr(&DeathStatus) <- 1
  30248. 0x07DSCRIPT END
  30249.  
  30250.  
  30251. MAIN:
  30252.  
  30253. 0x000 If ( ( (LocalVar:Allies.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Capsule [038B])) ) )
  30254. 0x000 {
  30255. 0x01A BattleAddr(&TarSelected) <- (LocalVar:Allies.BattleAddr(&DeathStatus) == 1)
  30256. 0x028 Perform("Capsule"[038B], EnemyAttack)
  30257. 0x02E BattleAddr(&TarSelected).BattleAddr(&SelfActive) <- 1
  30258. 0x038 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  30259. 0x042 BattleAddr(&TarSelected).BattleAddr(&Needed2EndBattle) <- 1
  30260. 0x04C BattleAddr(&TarSelected).BattleAddr(&Needed2EndBattle) <- 1
  30261. 0x056 BattleAddr(&TarSelected).BattleAddr(&CurrentHP) <- BattleAddr(&TarSelected).BattleAddr(&MaxHP)
  30262. 0x065 BattleAddr(&TarSelected).BattleAddr(&CurrentMP) <- BattleAddr(&TarSelected).BattleAddr(&MaxMP)
  30263. 0x074SCRIPT END
  30264.  
  30265.  
  30266. DEATH COUNTER:
  30267.  
  30268. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  30269. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  30270. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  30271. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  30272. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  30273. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  30274. 0x03CDisplay String: "Hojo “Haw…now let's see"
  30275. 0x055Pause(0)
  30276. 0x05ADisplay String: "how the Mako Juice is reacting?”"
  30277. 0x07CPause(0)
  30278. 0x081BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30279. 0x088Perform("Vanish"[014E], EnemyAttack)
  30280. 0x08EBattleAddr(&TarSelected) <- BattleAddr(&Self)
  30281. 0x095Perform("Change"[03AB], EnemyAttack)
  30282. 0x09BLocalVar:Allies.BattleAddr(&SelfActive) <- 0
  30283. 0x0A5LocalVar:Allies.BattleAddr(&Targetable) <- 0
  30284. 0x0AFLocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  30285. 0x0B9LocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  30286. 0x0C3SCRIPT END
  30287.  
  30288.  
  30289.  
  30290.  
  30291. 306 - [132] Helletic Hojo
  30292.  
  30293.  
  30294. LocalVar:0000 = LocalVar:Count
  30295. LocalVar:0020 = Unused
  30296. LocalVar:0040 = LocalVar:Allies
  30297. LocalVar:0060 = LocalVar:RightArm
  30298. LocalVar:0080 = LocalVar:LeftArm
  30299.  
  30300. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  30301. BattleAddr(&2060) = BattleAddr(&Self)
  30302. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30303. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  30304.  
  30305. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  30306. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  30307. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  30308. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  30309. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  30310. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  30311. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  30312. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  30313. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  30314. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  30315. BattleAddr(&4020) = BattleAddr(&SelfActive)
  30316. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  30317. BattleAddr(&4023) = BattleAddr(&Targetable)
  30318. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  30319. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  30320. BattleAddr(&402D) = BattleAddr(&SelfDead)
  30321. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  30322. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  30323. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  30324. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  30325. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  30326. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  30327. BattleAddr(&4180) = BattleAddr(&MaxHP)
  30328.  
  30329.  
  30330.  
  30331. PRE-BATTLE:
  30332.  
  30333. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30334. 0x00ALocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  30335. 0x01ELocalVar:RightArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 307)
  30336. 0x02DLocalVar:LeftArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 308)
  30337. 0x03CLocalVar:Count <- Random MOD 5
  30338. 0x044SCRIPT END
  30339.  
  30340.  
  30341. MAIN:
  30342.  
  30343. 0x000 If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0)
  30344. 0x000 {
  30345. 0x00C If (LocalVar:Count == 0)
  30346. 0x00C {
  30347. 0x014 }
  30348. 0x014 Else
  30349. 0x014 {
  30350. 0x017 If (LocalVar:Count == 1)
  30351. 0x017 {
  30352. 0x01C If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30353. 0x01C {
  30354. 0x02B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30355. 0x02B {
  30356. 0x043 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30357. 0x051 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30358. 0x05F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30359. 0x067 }
  30360. 0x067 Else
  30361. 0x067 {
  30362. 0x06A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30363. 0x072 Perform("Pile Banger"[038D], EnemyAttack)
  30364. 0x078 If (Not (Random MOD 3) )
  30365. 0x078 {
  30366. 0x080 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30367. 0x080 {
  30368. 0x08F If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30369. 0x08F {
  30370. 0x0A7 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30371. 0x0B5 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30372. 0x0C3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30373. 0x0CB }
  30374. 0x0CB Else
  30375. 0x0CB {
  30376. 0x0CE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30377. 0x0D6 Perform("Pile Banger"[038D], EnemyAttack)
  30378. 0x0DC LocalVar:Count <- LocalVar:Count + 1
  30379. 0x0E6 }
  30380. 0x0E6 Else
  30381. 0x0E6 {
  30382. 0x0E9 }
  30383. 0x0E9 Else
  30384. 0x0E9 {
  30385. 0x0EC If (LocalVar:Count == 2)
  30386. 0x0EC {
  30387. 0x0F1 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30388. 0x0F1 {
  30389. 0x100 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30390. 0x100 {
  30391. 0x118 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30392. 0x126 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30393. 0x134 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30394. 0x13C }
  30395. 0x13C Else
  30396. 0x13C {
  30397. 0x13F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30398. 0x147 Perform("Pile Banger"[038D], EnemyAttack)
  30399. 0x14D If (Not (Random MOD 3) )
  30400. 0x14D {
  30401. 0x155 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30402. 0x155 {
  30403. 0x164 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30404. 0x164 {
  30405. 0x17C BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30406. 0x18A BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30407. 0x198 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30408. 0x1A0 }
  30409. 0x1A0 Else
  30410. 0x1A0 {
  30411. 0x1A3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30412. 0x1AB Perform("Pile Banger"[038D], EnemyAttack)
  30413. 0x1B1 If (Random MOD 3)
  30414. 0x1B1 {
  30415. 0x1B8 LocalVar:Count <- 4
  30416. 0x1BE }
  30417. 0x1BE Else
  30418. 0x1BE {
  30419. 0x1C1 LocalVar:Count <- 3
  30420. 0x1C7 }
  30421. 0x1C7 Else
  30422. 0x1C7 {
  30423. 0x1CA }
  30424. 0x1CA Else
  30425. 0x1CA {
  30426. 0x1CD If (LocalVar:Count == 3)
  30427. 0x1CD {
  30428. 0x1D2 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio Gas [038E])) And ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) ) ) )
  30429. 0x1D2 {
  30430. 0x1F7 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30431. 0x205 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) == 0)
  30432. 0x213 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30433. 0x21B Perform("Bio Gas"[038E], EnemyAttack)
  30434. 0x221 }
  30435. 0x221 Else
  30436. 0x221 {
  30437. 0x224 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30438. 0x224 {
  30439. 0x233 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30440. 0x233 {
  30441. 0x24B BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30442. 0x259 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30443. 0x267 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30444. 0x26F }
  30445. 0x26F Else
  30446. 0x26F {
  30447. 0x272 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30448. 0x27A Perform("Pile Banger"[038D], EnemyAttack)
  30449. 0x280 LocalVar:Count <- 0
  30450. 0x286 }
  30451. 0x286 Else
  30452. 0x286 {
  30453. 0x289 }
  30454. 0x289 Else
  30455. 0x289 {
  30456. 0x28C If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Confu [000C])) And (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) ) And (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) ) )
  30457. 0x28C {
  30458. 0x2B0 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  30459. 0x2BE BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0)
  30460. 0x2CC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30461. 0x2D4 Perform("Confu"[000C], EnemyAttack)
  30462. 0x2D9 }
  30463. 0x2D9 Else
  30464. 0x2D9 {
  30465. 0x2DC If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [038D])) )
  30466. 0x2DC {
  30467. 0x2EB If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30468. 0x2EB {
  30469. 0x303 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30470. 0x311 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30471. 0x31F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30472. 0x327 }
  30473. 0x327 Else
  30474. 0x327 {
  30475. 0x32A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30476. 0x332 Perform("Pile Banger"[038D], EnemyAttack)
  30477. 0x338 LocalVar:Count <- 0
  30478. 0x33E }
  30479. 0x33E Else
  30480. 0x33E {
  30481. 0x341 POP(LocalVar:Count)
  30482. 0x342 }
  30483. 0x342 Else
  30484. 0x342 {
  30485. 0x345 }
  30486. 0x345 Else
  30487. 0x345 {
  30488. 0x348 If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 9)
  30489. 0x348 {
  30490. 0x34D If (LocalVar:Count == 0)
  30491. 0x34D {
  30492. 0x355 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) )
  30493. 0x355 {
  30494. 0x363 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) ) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30495. 0x363 {
  30496. 0x386 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  30497. 0x394 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0)
  30498. 0x3A2 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30499. 0x3B0 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30500. 0x3B8 Perform("Sleepel"[000B], EnemyAttack)
  30501. 0x3BD LocalVar:Count <- 1
  30502. 0x3C3 }
  30503. 0x3C3 Else
  30504. 0x3C3 {
  30505. 0x3C6 }
  30506. 0x3C6 Else
  30507. 0x3C6 {
  30508. 0x3C9 If ( ( (LocalVar:RightArm.BattleAddr(&DeathStatus) == 1) And Not (Random MOD 2) ) )
  30509. 0x3C9 {
  30510. 0x3DC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30511. 0x3E3 Perform("Right Arm Revive"[038F], EnemyAttack)
  30512. 0x3E9 LocalVar:RightArm.BattleAddr(&DeathStatus) <- 0
  30513. 0x3F3 LocalVar:RightArm.BattleAddr(&SelfDead) <- 0
  30514. 0x3FD LocalVar:RightArm.BattleAddr(&SelfActive) <- 1
  30515. 0x407 LocalVar:RightArm.BattleAddr(&Targetable) <- 1
  30516. 0x411 LocalVar:RightArm.BattleAddr(&Needed2EndBattle) <- 1
  30517. 0x41B LocalVar:RightArm.BattleAddr(&AIScriptActive) <- 1
  30518. 0x425 LocalVar:RightArm.BattleAddr(&CurrentHP) <- LocalVar:RightArm.BattleAddr(&MaxHP)
  30519. 0x434 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 0
  30520. 0x43E LocalVar:Count <- 0
  30521. 0x444 }
  30522. 0x444 Else
  30523. 0x444 {
  30524. 0x447 POP(LocalVar:Count)
  30525. 0x448 }
  30526. 0x448 Else
  30527. 0x448 {
  30528. 0x44B }
  30529. 0x44B Else
  30530. 0x44B {
  30531. 0x44E If (LocalVar:Count == 0)
  30532. 0x44E {
  30533. 0x456 }
  30534. 0x456 Else
  30535. 0x456 {
  30536. 0x459 If (LocalVar:Count == 1)
  30537. 0x459 {
  30538. 0x45E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [0390])) )
  30539. 0x45E {
  30540. 0x46D If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30541. 0x46D {
  30542. 0x485 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30543. 0x493 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30544. 0x4A1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30545. 0x4A9 }
  30546. 0x4A9 Else
  30547. 0x4A9 {
  30548. 0x4AC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30549. 0x4B4 Perform("Pile Banger"[0390], EnemyAttack)
  30550. 0x4BA If (Not (Random MOD 2) )
  30551. 0x4BA {
  30552. 0x4C2 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [0390])) )
  30553. 0x4C2 {
  30554. 0x4D1 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30555. 0x4D1 {
  30556. 0x4E9 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30557. 0x4F7 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30558. 0x505 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30559. 0x50D }
  30560. 0x50D Else
  30561. 0x50D {
  30562. 0x510 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30563. 0x518 Perform("Pile Banger"[0390], EnemyAttack)
  30564. 0x51E LocalVar:Count <- LocalVar:Count + 1
  30565. 0x528 }
  30566. 0x528 Else
  30567. 0x528 {
  30568. 0x52B }
  30569. 0x52B Else
  30570. 0x52B {
  30571. 0x52E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) And ( (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) ) ) )
  30572. 0x52E {
  30573. 0x552 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ReflectStatus) == 0)
  30574. 0x560 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) == 0)
  30575. 0x56E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30576. 0x576 Perform("Silence"[000D], EnemyAttack)
  30577. 0x57B }
  30578. 0x57B Else
  30579. 0x57B {
  30580. 0x57E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Pile Banger [0390])) )
  30581. 0x57E {
  30582. 0x58D If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) And (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) ) )
  30583. 0x58D {
  30584. 0x5A5 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0)
  30585. 0x5B3 BattleAddr(&TarSelected) <- (BattleAddr(&TarSelected).BattleAddr(&SleepStatus) == 0)
  30586. 0x5C1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&TarSelected))
  30587. 0x5C9 }
  30588. 0x5C9 Else
  30589. 0x5C9 {
  30590. 0x5CC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  30591. 0x5D4 Perform("Pile Banger"[0390], EnemyAttack)
  30592. 0x5DA LocalVar:Count <- 0
  30593. 0x5E0 }
  30594. 0x5E0 Else
  30595. 0x5E0 {
  30596. 0x5E3 POP(LocalVar:Count)
  30597. 0x5E4 }
  30598. 0x5E4 Else
  30599. 0x5E4 {
  30600. 0x5E7POP(BattleAddr(&Self).BattleAddr(&IdleAnimID))
  30601. 0x5E8SCRIPT END
  30602.  
  30603.  
  30604. GENERAL COUNTER:
  30605.  
  30606. 0x000 If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0)
  30607. 0x000 {
  30608. 0x00C LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 1
  30609. 0x016 }
  30610. 0x016 Else
  30611. 0x016 {
  30612. 0x019 }
  30613. 0x019 Else
  30614. 0x019 {
  30615. 0x01C If (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 9)
  30616. 0x01C {
  30617. 0x021 LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 10
  30618. 0x02B }
  30619. 0x02B Else
  30620. 0x02B {
  30621. 0x02E }
  30622. 0x02E Else
  30623. 0x02E {
  30624. 0x031 LocalVar:Allies.BattleAddr(&DamagedAnimID) <- 15
  30625. 0x03B }
  30626. 0x03B Else
  30627. 0x03B {
  30628. 0x03EPOP(BattleAddr(&Self).BattleAddr(&IdleAnimID))
  30629. 0x03FSCRIPT END
  30630.  
  30631.  
  30632. DEATH COUNTER:
  30633.  
  30634. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  30635. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  30636. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  30637. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  30638. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  30639. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  30640. 0x03CLocalVar:Allies.BattleAddr(&DeathImmunity) <- 0
  30641. 0x046BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30642. 0x04DPerform("Vanish"[014E], EnemyAttack)
  30643. 0x053BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30644. 0x05APerform("Transform"[0391], EnemyAttack)
  30645. 0x060LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  30646. 0x06ALocalVar:Allies.BattleAddr(&Targetable) <- 0
  30647. 0x074LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  30648. 0x07ELocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  30649. 0x088SCRIPT END
  30650.  
  30651.  
  30652.  
  30653.  
  30654. 307 - [133] Right Arm (Helletic Hojo)
  30655.  
  30656.  
  30657. LocalVar:0000 = LocalVar:Allies
  30658. LocalVar:0020 = LocalVar:HelleticHojo
  30659. LocalVar:0040 = LocalVar:LeftArm
  30660.  
  30661. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  30662. BattleAddr(&2060) = BattleAddr(&Self)
  30663. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30664.  
  30665. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  30666. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  30667. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  30668. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  30669. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  30670. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  30671. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  30672. BattleAddr(&4020) = BattleAddr(&SelfActive)
  30673. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  30674. BattleAddr(&4023) = BattleAddr(&Targetable)
  30675. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  30676. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  30677. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  30678. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  30679. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  30680.  
  30681.  
  30682.  
  30683. PRE-BATTLE:
  30684.  
  30685. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30686. 0x00ALocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  30687. 0x01ELocalVar:HelleticHojo <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 306)
  30688. 0x02DLocalVar:LeftArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 308)
  30689. 0x03CBattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30690. 0x046SCRIPT END
  30691.  
  30692.  
  30693. DEATH COUNTER:
  30694.  
  30695. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  30696. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  30697. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  30698. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  30699. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  30700. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  30701. 0x03C If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  30702. 0x03C {
  30703. 0x049 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30704. 0x050 Perform([011F], EnemyAttack)
  30705. 0x056 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 9
  30706. 0x060 }
  30707. 0x060 Else
  30708. 0x060 {
  30709. 0x063 If ( ( (LocalVar:HelleticHojo.BattleAddr(&DeathStatus) == 0) And (LocalVar:LeftArm.BattleAddr(&DeathStatus) == 1) ) )
  30710. 0x063 {
  30711. 0x07B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30712. 0x082 Perform("Appear"[0151], EnemyAttack)
  30713. 0x088 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30714. 0x08F Perform("Transform"[0391], EnemyAttack)
  30715. 0x095 LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  30716. 0x09F LocalVar:Allies.BattleAddr(&Targetable) <- 0
  30717. 0x0A9 LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  30718. 0x0B3 LocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  30719. 0x0BDSCRIPT END
  30720.  
  30721.  
  30722.  
  30723.  
  30724. 308 - [134] Left Arm (Helletic Hojo)
  30725.  
  30726.  
  30727. LocalVar:0000 = LocalVar:Allies
  30728. LocalVar:0020 = LocalVar:HelleticHojo
  30729. LocalVar:0040 = LocalVar:RightArm
  30730.  
  30731. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  30732. BattleAddr(&2060) = BattleAddr(&Self)
  30733. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30734.  
  30735. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  30736. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  30737. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  30738. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  30739. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  30740. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  30741. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  30742. BattleAddr(&4020) = BattleAddr(&SelfActive)
  30743. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  30744. BattleAddr(&4023) = BattleAddr(&Targetable)
  30745. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  30746. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  30747. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  30748. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  30749. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  30750.  
  30751.  
  30752.  
  30753. PRE-BATTLE:
  30754.  
  30755. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30756. 0x00ALocalVar:Allies <- (BitCount(BattleAddr(&Self).BattleAddr(&GrpFormID)) == BattleAddr(&ActiveActors).BattleAddr(&GrpFormID))
  30757. 0x01ELocalVar:HelleticHojo <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 306)
  30758. 0x02DLocalVar:RightArm <- (LocalVar:Allies.BattleAddr(&IndexOfActor) == 307)
  30759. 0x03CBattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  30760. 0x046SCRIPT END
  30761.  
  30762.  
  30763. DEATH COUNTER:
  30764.  
  30765. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  30766. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  30767. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  30768. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  30769. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  30770. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  30771. 0x03C If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  30772. 0x03C {
  30773. 0x049 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30774. 0x050 Perform([0120], EnemyAttack)
  30775. 0x056 LocalVar:Allies.BattleAddr(&IdleAnimID) <- 14
  30776. 0x060 }
  30777. 0x060 Else
  30778. 0x060 {
  30779. 0x063 If ( ( (LocalVar:HelleticHojo.BattleAddr(&DeathStatus) == 0) And (LocalVar:RightArm.BattleAddr(&DeathStatus) == 1) ) )
  30780. 0x063 {
  30781. 0x07B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30782. 0x082 Perform("Appear"[014F], EnemyAttack)
  30783. 0x088 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  30784. 0x08F Perform("Transform"[0391], EnemyAttack)
  30785. 0x095 LocalVar:Allies.BattleAddr(&SelfActive) <- 0
  30786. 0x09F LocalVar:Allies.BattleAddr(&Targetable) <- 0
  30787. 0x0A9 LocalVar:Allies.BattleAddr(&Needed2EndBattle) <- 0
  30788. 0x0B3 LocalVar:Allies.BattleAddr(&AIScriptActive) <- 0
  30789. 0x0BDSCRIPT END
  30790.  
  30791.  
  30792.  
  30793.  
  30794. 309 - [135] Lifeform-Hojo N
  30795.  
  30796.  
  30797. LocalVar:0000 = LocalVar:Count
  30798. LocalVar:0020 = LocalVar:SpclChance
  30799. LocalVar:0040 = LocalVar:TarSelected
  30800.  
  30801. BattleAddr(&2060) = BattleAddr(&Self)
  30802. BattleAddr(&2070) = BattleAddr(&TarSelected)
  30803. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  30804. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  30805.  
  30806. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  30807. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  30808. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  30809. BattleAddr(&4023) = BattleAddr(&Targetable)
  30810. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  30811. BattleAddr(&402D) = BattleAddr(&SelfDead)
  30812. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  30813. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  30814. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  30815. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  30816. BattleAddr(&4150) = BattleAddr(&MaxMP)
  30817. BattleAddr(&4180) = BattleAddr(&MaxHP)
  30818. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  30819.  
  30820.  
  30821.  
  30822. PRE-BATTLE:
  30823.  
  30824. 0x000BattleAddr(&TarSelected) <- (BattleAddr(&AllEnemies).BattleAddr(&GrpFormID) == 1) + (BattleAddr(&AllEnemies).BattleAddr(&GrpFormID) == 2)
  30825. 0x019BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 1
  30826. 0x023BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 1
  30827. 0x02DBattleAddr(&TarSelected).BattleAddr(&CurrentHP) <- 0
  30828. 0x037BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 0
  30829. 0x041BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 0
  30830. 0x04BLocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30831. 0x053LocalVar:SpclChance <- 4
  30832. 0x059 If (Random MOD 3 == 0)
  30833. 0x059 {
  30834. 0x062 LocalVar:Count <- 0
  30835. 0x068 }
  30836. 0x068 Else
  30837. 0x068 {
  30838. 0x06B }
  30839. 0x06B Else
  30840. 0x06B {
  30841. 0x06E If (Random MOD 3 == 1)
  30842. 0x06E {
  30843. 0x073 LocalVar:Count <- 2
  30844. 0x079 }
  30845. 0x079 Else
  30846. 0x079 {
  30847. 0x07C }
  30848. 0x07C Else
  30849. 0x07C {
  30850. 0x07F LocalVar:Count <- 3
  30851. 0x085 }
  30852. 0x085 Else
  30853. 0x085 {
  30854. 0x088POP(Random MOD 3)
  30855. 0x089SCRIPT END
  30856.  
  30857.  
  30858. MAIN:
  30859.  
  30860. 0x000 If (LocalVar:Count == 0)
  30861. 0x000 {
  30862. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  30863. 0x008 {
  30864. 0x015 LocalVar:TarSelected <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 1) )
  30865. 0x024 }
  30866. 0x024 Else
  30867. 0x024 {
  30868. 0x027 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30869. 0x02F }
  30870. 0x02F Else
  30871. 0x02F {
  30872. 0x032 If (LocalVar:Count == 1)
  30873. 0x032 {
  30874. 0x037 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  30875. 0x037 {
  30876. 0x044 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30877. 0x04B }
  30878. 0x04B Else
  30879. 0x04B {
  30880. 0x04E LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30881. 0x056 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30882. 0x05D Perform("Combo"[0392], EnemyAttack)
  30883. 0x063 If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  30884. 0x063 {
  30885. 0x070 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30886. 0x077 }
  30887. 0x077 Else
  30888. 0x077 {
  30889. 0x07A LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30890. 0x082 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30891. 0x089 Perform("Combo"[03A6], EnemyAttack)
  30892. 0x08F If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  30893. 0x08F {
  30894. 0x09C BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30895. 0x0A3 }
  30896. 0x0A3 Else
  30897. 0x0A3 {
  30898. 0x0A6 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30899. 0x0AE BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30900. 0x0B5 Perform("Combo"[03A7], EnemyAttack)
  30901. 0x0BB If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  30902. 0x0BB {
  30903. 0x0C8 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30904. 0x0CF }
  30905. 0x0CF Else
  30906. 0x0CF {
  30907. 0x0D2 LocalVar:TarSelected <- RandomBit(BattleAddr(&AllPlayers))
  30908. 0x0DA BattleAddr(&TarSelected) <- LocalVar:TarSelected
  30909. 0x0E1 Perform("Combo"[03A8], EnemyAttack)
  30910. 0x0E7 If (Random MOD 5 == 0)
  30911. 0x0E7 {
  30912. 0x0F0 LocalVar:Count <- 0
  30913. 0x0F6 }
  30914. 0x0F6 Else
  30915. 0x0F6 {
  30916. 0x0F9 }
  30917. 0x0F9 Else
  30918. 0x0F9 {
  30919. 0x0FC If (Random MOD 5 == 1)
  30920. 0x0FC {
  30921. 0x101 }
  30922. 0x101 Else
  30923. 0x101 {
  30924. 0x104 If (Random MOD 5 == 2)
  30925. 0x104 {
  30926. 0x109 LocalVar:Count <- 2
  30927. 0x10F }
  30928. 0x10F Else
  30929. 0x10F {
  30930. 0x112 }
  30931. 0x112 Else
  30932. 0x112 {
  30933. 0x115 LocalVar:Count <- 3
  30934. 0x11B }
  30935. 0x11B Else
  30936. 0x11B {
  30937. 0x11E POP(Random MOD 5)
  30938. 0x11F }
  30939. 0x11F Else
  30940. 0x11F {
  30941. 0x122 }
  30942. 0x122 Else
  30943. 0x122 {
  30944. 0x125 If (LocalVar:Count == 2)
  30945. 0x125 {
  30946. 0x12A If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  30947. 0x12A {
  30948. 0x137 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Slow [0014])) )
  30949. 0x137 {
  30950. 0x145 BattleAddr(&TarSelected) <- (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0)
  30951. 0x153 Perform("Slow"[0014], EnemyAttack)
  30952. 0x158 LocalVar:Count <- 0
  30953. 0x15E }
  30954. 0x15E Else
  30955. 0x15E {
  30956. 0x161 LocalVar:Count <- 3
  30957. 0x167 }
  30958. 0x167 Else
  30959. 0x167 {
  30960. 0x16A LocalVar:Count <- 0
  30961. 0x170 }
  30962. 0x170 Else
  30963. 0x170 {
  30964. 0x173 }
  30965. 0x173 Else
  30966. 0x173 {
  30967. 0x176 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP)) )
  30968. 0x176 {
  30969. 0x188 Bad Code0x193 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  30970. 0x195 Perform("Absorb"[03A2], EnemyAttack)
  30971. 0x19B }
  30972. 0x19B Else
  30973. 0x19B {
  30974. 0x19E If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) < BattleAddr(&Self).BattleAddr(&MaxMP)) )
  30975. 0x19E {
  30976. 0x1B0 Bad Code0x1BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  30977. 0x1BD Perform("Absorb"[03A2], EnemyAttack)
  30978. 0x1C3 LocalVar:Count <- 0
  30979. 0x1C9 }
  30980. 0x1C9 Else
  30981. 0x1C9 {
  30982. 0x1CCPOP(LocalVar:Count)
  30983. 0x1CDSCRIPT END
  30984.  
  30985. NOTE - 0x192 uses HMSK
  30986. - 0x1BA uses HMSK
  30987.  
  30988.  
  30989. GENERAL COUNTER:
  30990.  
  30991. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) And (LocalVar:SpclChance == 2) ) )
  30992. 0x000 {
  30993. 0x01F LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  30994. 0x02A LocalVar:Count <- 1
  30995. 0x030 LocalVar:SpclChance <- 1
  30996. 0x036 }
  30997. 0x036 Else
  30998. 0x036 {
  30999. 0x039 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And (LocalVar:SpclChance == 3) ) )
  31000. 0x039 {
  31001. 0x058 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  31002. 0x063 LocalVar:Count <- 1
  31003. 0x069 LocalVar:SpclChance <- 2
  31004. 0x06F }
  31005. 0x06F Else
  31006. 0x06F {
  31007. 0x072 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And (LocalVar:SpclChance == 4) ) )
  31008. 0x072 {
  31009. 0x091 LocalVar:TarSelected <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  31010. 0x09C LocalVar:Count <- 1
  31011. 0x0A2 LocalVar:SpclChance <- 3
  31012. 0x0A8 }
  31013. 0x0A8 Else
  31014. 0x0A8 {
  31015. 0x0AB LocalVar:SpclChance <- 4
  31016. 0x0B1SCRIPT END
  31017.  
  31018.  
  31019. MAGIC COUNTER:
  31020.  
  31021. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  31022. 0x00B If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Silence [000D])) And (BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) == 0) ) )
  31023. 0x00B {
  31024. 0x024 Perform("Silence"[000D], EnemyAttack)
  31025. 0x029SCRIPT END
  31026.  
  31027.  
  31028.  
  31029.  
  31030. 310 - [136] Magic Pot
  31031.  
  31032.  
  31033. LocalVar:0000 = LocalVar:Stage
  31034.  
  31035. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  31036. BattleAddr(&2008) = BattleAddr(&LastAttID)
  31037. BattleAddr(&2060) = BattleAddr(&Self)
  31038. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31039.  
  31040. BattleAddr(&4020) = BattleAddr(&SelfActive)
  31041. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  31042. BattleAddr(&4023) = BattleAddr(&Targetable)
  31043. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  31044. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  31045. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  31046. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  31047.  
  31048.  
  31049.  
  31050. PRE-BATTLE:
  31051.  
  31052. 0x000BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  31053. 0x00ABattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  31054. 0x014SCRIPT END
  31055.  
  31056.  
  31057. MAIN:
  31058.  
  31059. 0x000 If ( (LocalVar:Stage == 0) )
  31060. 0x000 {
  31061. 0x009 Display String: "Magic Pot “Gimme Elixir!”"
  31062. 0x024SCRIPT END
  31063.  
  31064.  
  31065. GENERAL COUNTER:
  31066.  
  31067. 0x000 If ( ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) And (BattleAddr(&LastAttID) == 5) ) )
  31068. 0x000 {
  31069. 0x017 LocalVar:Stage <- 1
  31070. 0x01D BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  31071. 0x027 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  31072. 0x031 }
  31073. 0x031 Else
  31074. 0x031 {
  31075. 0x034 If ( (LocalVar:Stage == 0) )
  31076. 0x034 {
  31077. 0x03D If ( (Random MOD 4 == 0) )
  31078. 0x03D {
  31079. 0x047 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  31080. 0x052 Perform("Gimme"[038A], EnemyAttack)
  31081. 0x058 }
  31082. 0x058 Else
  31083. 0x058 {
  31084. 0x05B If ( (Random MOD 16 == 0) )
  31085. 0x05B {
  31086. 0x065 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  31087. 0x06C Perform("(Report)"[0164], EnemyAttack)
  31088. 0x072 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  31089. 0x07C BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  31090. 0x086 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  31091. 0x090 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  31092. 0x09ASCRIPT END
  31093.  
  31094.  
  31095.  
  31096.  
  31097. 311 - [137] Christopher
  31098.  
  31099.  
  31100. LocalVar:0000 = LocalVar:Gighee
  31101. LocalVar:0020 = LocalVar:TarSelected
  31102. LocalVar:0040 = LocalVar:Count
  31103. LocalVar:0060 = LocalVar:SpclChance
  31104.  
  31105. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  31106. BattleAddr(&2060) = BattleAddr(&Self)
  31107. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31108. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  31109. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  31110.  
  31111. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  31112. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  31113. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  31114. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  31115. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  31116. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  31117. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  31118. BattleAddr(&4180) = BattleAddr(&MaxHP)
  31119.  
  31120.  
  31121.  
  31122. PRE-BATTLE:
  31123.  
  31124. 0x000LocalVar:Gighee <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 312)
  31125. 0x00FLocalVar:Count <- Random MOD 7
  31126. 0x017LocalVar:SpclChance <- 5
  31127. 0x01DSCRIPT END
  31128.  
  31129.  
  31130. MAIN:
  31131.  
  31132. 0x000 If (LocalVar:Count == 0)
  31133. 0x000 {
  31134. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31135. 0x008 {
  31136. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31137. 0x024 }
  31138. 0x024 Else
  31139. 0x024 {
  31140. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31141. 0x02F Perform("Flutilizer"[034F], EnemyAttack)
  31142. 0x035 If (Not (Random MOD LocalVar:SpclChance) )
  31143. 0x035 {
  31144. 0x03E If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31145. 0x03E {
  31146. 0x04B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31147. 0x05A }
  31148. 0x05A Else
  31149. 0x05A {
  31150. 0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31151. 0x065 Perform("Flutilizer"[034F], EnemyAttack)
  31152. 0x06B LocalVar:Count <- 1
  31153. 0x071 }
  31154. 0x071 Else
  31155. 0x071 {
  31156. 0x074 }
  31157. 0x074 Else
  31158. 0x074 {
  31159. 0x077 If (LocalVar:Count == 1)
  31160. 0x077 {
  31161. 0x07C If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31162. 0x07C {
  31163. 0x089 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31164. 0x098 }
  31165. 0x098 Else
  31166. 0x098 {
  31167. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31168. 0x0A3 Perform("Flutilizer"[034F], EnemyAttack)
  31169. 0x0A9 If (Not (Random MOD LocalVar:SpclChance) )
  31170. 0x0A9 {
  31171. 0x0B2 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31172. 0x0B2 {
  31173. 0x0BF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31174. 0x0CE }
  31175. 0x0CE Else
  31176. 0x0CE {
  31177. 0x0D1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31178. 0x0D9 Perform("Flutilizer"[034F], EnemyAttack)
  31179. 0x0DF If (Not (Random MOD 2) )
  31180. 0x0DF {
  31181. 0x0E7 LocalVar:Count <- 2
  31182. 0x0ED }
  31183. 0x0ED Else
  31184. 0x0ED {
  31185. 0x0F0 LocalVar:Count <- 3
  31186. 0x0F6 }
  31187. 0x0F6 Else
  31188. 0x0F6 {
  31189. 0x0F9 }
  31190. 0x0F9 Else
  31191. 0x0F9 {
  31192. 0x0FC If (LocalVar:Count == 2)
  31193. 0x0FC {
  31194. 0x101 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31195. 0x101 {
  31196. 0x115 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Frog Song [0048])) )
  31197. 0x115 {
  31198. 0x123 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  31199. 0x132 Perform("Frog Song"[0048], EnemyAttack)
  31200. 0x137 }
  31201. 0x137 Else
  31202. 0x137 {
  31203. 0x13A Bad Code0x145 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31204. 0x147 Perform("Aspil"[0188], EnemyAttack)
  31205. 0x14D }
  31206. 0x14D Else
  31207. 0x14D {
  31208. 0x150 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31209. 0x150 {
  31210. 0x15D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31211. 0x16C }
  31212. 0x16C Else
  31213. 0x16C {
  31214. 0x16F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31215. 0x177 Perform("Flutilizer"[034F], EnemyAttack)
  31216. 0x17D If (Not (Random MOD LocalVar:SpclChance) )
  31217. 0x17D {
  31218. 0x186 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31219. 0x186 {
  31220. 0x193 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31221. 0x1A2 }
  31222. 0x1A2 Else
  31223. 0x1A2 {
  31224. 0x1A5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31225. 0x1AD Perform("Flutilizer"[034F], EnemyAttack)
  31226. 0x1B3 LocalVar:Count <- 3
  31227. 0x1B9 }
  31228. 0x1B9 Else
  31229. 0x1B9 {
  31230. 0x1BC }
  31231. 0x1BC Else
  31232. 0x1BC {
  31233. 0x1BF If (LocalVar:Count == 3)
  31234. 0x1BF {
  31235. 0x1C4 If ( (LocalVar:SpclChance <= 3) )
  31236. 0x1C4 {
  31237. 0x1CD If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure2 [0001])) )
  31238. 0x1CD {
  31239. 0x1DB BattleAddr(&TarSelected) <- (BattleAddr(&AllEnemies).BattleAddr(&CurrentHP) <= BattleAddr(&AllEnemies).BattleAddr(&MaxHP) / 3 * 2)
  31240. 0x1F4 Perform("Cure2"[0001], EnemyAttack)
  31241. 0x1F9 }
  31242. 0x1F9 Else
  31243. 0x1F9 {
  31244. 0x1FC Bad Code0x207 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31245. 0x209 Perform("Aspil"[0188], EnemyAttack)
  31246. 0x20F }
  31247. 0x20F Else
  31248. 0x20F {
  31249. 0x212 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31250. 0x212 {
  31251. 0x21F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31252. 0x22E }
  31253. 0x22E Else
  31254. 0x22E {
  31255. 0x231 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31256. 0x239 Perform("Flutilizer"[034F], EnemyAttack)
  31257. 0x23F If (Not (Random MOD LocalVar:SpclChance) )
  31258. 0x23F {
  31259. 0x248 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31260. 0x248 {
  31261. 0x255 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31262. 0x264 }
  31263. 0x264 Else
  31264. 0x264 {
  31265. 0x267 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31266. 0x26F Perform("Flutilizer"[034F], EnemyAttack)
  31267. 0x275 LocalVar:Count <- 4
  31268. 0x27B }
  31269. 0x27B Else
  31270. 0x27B {
  31271. 0x27E }
  31272. 0x27E Else
  31273. 0x27E {
  31274. 0x281 If (LocalVar:Count == 4)
  31275. 0x281 {
  31276. 0x286 If ( (LocalVar:Gighee.BattleAddr(&DeathStatus) == 0) )
  31277. 0x286 {
  31278. 0x293 If ( (BattleAddr(&AllPlayers).BattleAddr(&FuryStatus) == 1) )
  31279. 0x293 {
  31280. 0x2A0 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(High/Low Suit [0351])) )
  31281. 0x2A0 {
  31282. 0x2AF LocalVar:TarSelected <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FuryStatus) == 1) )
  31283. 0x2BE BattleAddr(&TarSelected) <- LocalVar:TarSelected
  31284. 0x2C5 Perform("High/Low Suit"[0351], EnemyAttack)
  31285. 0x2CB If ( (LocalVar:TarSelected.BattleAddr(&DeathStatus) == 0) )
  31286. 0x2CB {
  31287. 0x2D8 BattleAddr(&TarSelected) <- LocalVar:TarSelected
  31288. 0x2DF Perform("High/Low Suit"[0351], EnemyAttack)
  31289. 0x2E5 }
  31290. 0x2E5 Else
  31291. 0x2E5 {
  31292. 0x2E8 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31293. 0x2E8 {
  31294. 0x2F5 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31295. 0x304 }
  31296. 0x304 Else
  31297. 0x304 {
  31298. 0x307 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31299. 0x30F Perform("Flutilizer"[034F], EnemyAttack)
  31300. 0x315 If (Not (Random MOD LocalVar:SpclChance) )
  31301. 0x315 {
  31302. 0x31E If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31303. 0x31E {
  31304. 0x32B BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31305. 0x33A }
  31306. 0x33A Else
  31307. 0x33A {
  31308. 0x33D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31309. 0x345 Perform("Flutilizer"[034F], EnemyAttack)
  31310. 0x34B }
  31311. 0x34B Else
  31312. 0x34B {
  31313. 0x34E Bad Code0x359 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31314. 0x35B Perform("Aspil"[0188], EnemyAttack)
  31315. 0x361 }
  31316. 0x361 Else
  31317. 0x361 {
  31318. 0x364 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31319. 0x364 {
  31320. 0x371 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31321. 0x380 }
  31322. 0x380 Else
  31323. 0x380 {
  31324. 0x383 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31325. 0x38B Perform("Flutilizer"[034F], EnemyAttack)
  31326. 0x391 If (Not (Random MOD LocalVar:SpclChance) )
  31327. 0x391 {
  31328. 0x39A If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31329. 0x39A {
  31330. 0x3A7 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31331. 0x3B6 }
  31332. 0x3B6 Else
  31333. 0x3B6 {
  31334. 0x3B9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31335. 0x3C1 Perform("Flutilizer"[034F], EnemyAttack)
  31336. 0x3C7 LocalVar:Count <- 5
  31337. 0x3CD }
  31338. 0x3CD Else
  31339. 0x3CD {
  31340. 0x3D0 }
  31341. 0x3D0 Else
  31342. 0x3D0 {
  31343. 0x3D3 If (LocalVar:Count == 5)
  31344. 0x3D3 {
  31345. 0x3D8 If ( (LocalVar:Gighee.BattleAddr(&DeathStatus) == 0) )
  31346. 0x3D8 {
  31347. 0x3E5 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  31348. 0x3E5 {
  31349. 0x3F2 If (Not (Random MOD LocalVar:SpclChance) )
  31350. 0x3F2 {
  31351. 0x3FB If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Suffocation Song [0352])) )
  31352. 0x3FB {
  31353. 0x40A BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  31354. 0x419 Perform("Suffocation Song"[0352], EnemyAttack)
  31355. 0x41F }
  31356. 0x41F Else
  31357. 0x41F {
  31358. 0x422 Bad Code0x42D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31359. 0x42F Perform("Aspil"[0188], EnemyAttack)
  31360. 0x435 }
  31361. 0x435 Else
  31362. 0x435 {
  31363. 0x438 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(High/Low Suit [03A5])) )
  31364. 0x438 {
  31365. 0x447 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 1) )
  31366. 0x456 Perform("Suffocation Song"[0352], EnemyAttack)
  31367. 0x45C }
  31368. 0x45C Else
  31369. 0x45C {
  31370. 0x45F Bad Code0x46A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31371. 0x46C Perform("Aspil"[0188], EnemyAttack)
  31372. 0x472 }
  31373. 0x472 Else
  31374. 0x472 {
  31375. 0x475 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt3 [0023])) )
  31376. 0x475 {
  31377. 0x483 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31378. 0x48B Perform("Bolt3"[0023], EnemyAttack)
  31379. 0x490 }
  31380. 0x490 Else
  31381. 0x490 {
  31382. 0x493 Bad Code0x49E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31383. 0x4A0 Perform("Aspil"[0188], EnemyAttack)
  31384. 0x4A6 }
  31385. 0x4A6 Else
  31386. 0x4A6 {
  31387. 0x4A9 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31388. 0x4A9 {
  31389. 0x4B6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31390. 0x4C5 }
  31391. 0x4C5 Else
  31392. 0x4C5 {
  31393. 0x4C8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31394. 0x4D0 Perform("Flutilizer"[034F], EnemyAttack)
  31395. 0x4D6 If (Not (Random MOD LocalVar:SpclChance) )
  31396. 0x4D6 {
  31397. 0x4DF If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31398. 0x4DF {
  31399. 0x4EC BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 1) )
  31400. 0x4FB }
  31401. 0x4FB Else
  31402. 0x4FB {
  31403. 0x4FE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31404. 0x506 Perform("Flutilizer"[034F], EnemyAttack)
  31405. 0x50C LocalVar:Count <- 6
  31406. 0x512 }
  31407. 0x512 Else
  31408. 0x512 {
  31409. 0x515 }
  31410. 0x515 Else
  31411. 0x515 {
  31412. 0x518 If ( (LocalVar:Gighee.BattleAddr(&DeathStatus) == 0) )
  31413. 0x518 {
  31414. 0x525 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Stardust March [0353])) )
  31415. 0x525 {
  31416. 0x534 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31417. 0x53C Perform("Stardust March"[0353], EnemyAttack)
  31418. 0x542 }
  31419. 0x542 Else
  31420. 0x542 {
  31421. 0x545 Bad Code0x550 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31422. 0x552 Perform("Aspil"[0188], EnemyAttack)
  31423. 0x558 }
  31424. 0x558 Else
  31425. 0x558 {
  31426. 0x55B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bolt3 [0023])) )
  31427. 0x55B {
  31428. 0x569 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31429. 0x571 Perform("Bolt3"[0023], EnemyAttack)
  31430. 0x576 }
  31431. 0x576 Else
  31432. 0x576 {
  31433. 0x579 Bad Code0x584 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentMP))
  31434. 0x586 Perform("Aspil"[0188], EnemyAttack)
  31435. 0x58C If (Not (Random MOD 2) )
  31436. 0x58C {
  31437. 0x594 LocalVar:Count <- 0
  31438. 0x59A }
  31439. 0x59A Else
  31440. 0x59A {
  31441. 0x59D LocalVar:Count <- 1
  31442. 0x5A3 }
  31443. 0x5A3 Else
  31444. 0x5A3 {
  31445. 0x5A6POP(LocalVar:Count)
  31446. 0x5A7SCRIPT END
  31447.  
  31448. NOTE - 0x144 uses HMSK
  31449. 0x206 uses HMSK
  31450. 0x358 uses HMSK
  31451. 0x42C uses HMSK
  31452. 0x469 uses HMSK
  31453. 0x49D uses HMSK
  31454. 0x54F uses HMSK
  31455. 0x583 uses HMSK
  31456.  
  31457.  
  31458. GENERAL COUNTER:
  31459.  
  31460. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  31461. 0x000 {
  31462. 0x018 LocalVar:SpclChance <- 2
  31463. 0x01E }
  31464. 0x01E Else
  31465. 0x01E {
  31466. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  31467. 0x021 {
  31468. 0x039 LocalVar:SpclChance <- 3
  31469. 0x03F }
  31470. 0x03F Else
  31471. 0x03F {
  31472. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  31473. 0x042 {
  31474. 0x05A LocalVar:SpclChance <- 4
  31475. 0x060 }
  31476. 0x060 Else
  31477. 0x060 {
  31478. 0x063 LocalVar:SpclChance <- 5
  31479. 0x069SCRIPT END
  31480.  
  31481.  
  31482.  
  31483.  
  31484. 312 - [138] Gighee
  31485.  
  31486.  
  31487. LocalVar:0000 = LocalVar:Count
  31488. LocalVar:0020 = LocalVar:SpclChance
  31489.  
  31490. BattleAddr(&2060) = BattleAddr(&Self)
  31491. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31492. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  31493.  
  31494. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  31495. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  31496. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  31497. BattleAddr(&4180) = BattleAddr(&MaxHP)
  31498.  
  31499.  
  31500.  
  31501. PRE-BATTLE:
  31502.  
  31503. 0x000LocalVar:Count <- Random MOD 3
  31504. 0x008LocalVar:SpclChance <- 6
  31505. 0x00ESCRIPT END
  31506.  
  31507.  
  31508. MAIN:
  31509.  
  31510. 0x000 If (LocalVar:Count == 0)
  31511. 0x000 {
  31512. 0x008 }
  31513. 0x008 Else
  31514. 0x008 {
  31515. 0x00B If (LocalVar:Count == 1)
  31516. 0x00B {
  31517. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31518. 0x010 {
  31519. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31520. 0x02C Perform("Guitar Slap"[0354], EnemyAttack)
  31521. 0x032 If (Not (Random MOD LocalVar:SpclChance) )
  31522. 0x032 {
  31523. 0x03B If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31524. 0x03B {
  31525. 0x048 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31526. 0x057 Perform("Guitar Slap"[0354], EnemyAttack)
  31527. 0x05D LocalVar:Count <- LocalVar:Count + 1
  31528. 0x067 }
  31529. 0x067 Else
  31530. 0x067 {
  31531. 0x06A }
  31532. 0x06A Else
  31533. 0x06A {
  31534. 0x06D If (LocalVar:Count == 2)
  31535. 0x06D {
  31536. 0x072 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31537. 0x072 {
  31538. 0x086 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31539. 0x095 Perform("Petrif-Eye"[0355], EnemyAttack)
  31540. 0x09B }
  31541. 0x09B Else
  31542. 0x09B {
  31543. 0x09E If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31544. 0x09E {
  31545. 0x0AB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31546. 0x0BA Perform("Guitar Slap"[0354], EnemyAttack)
  31547. 0x0C0 If (Not (Random MOD LocalVar:SpclChance) )
  31548. 0x0C0 {
  31549. 0x0C9 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31550. 0x0C9 {
  31551. 0x0D6 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31552. 0x0E5 Perform("Guitar Slap"[0354], EnemyAttack)
  31553. 0x0EB If (Not (Random MOD LocalVar:SpclChance) )
  31554. 0x0EB {
  31555. 0x0F4 LocalVar:Count <- 3
  31556. 0x0FA }
  31557. 0x0FA Else
  31558. 0x0FA {
  31559. 0x0FD LocalVar:Count <- Random MOD 2
  31560. 0x105 }
  31561. 0x105 Else
  31562. 0x105 {
  31563. 0x108 }
  31564. 0x108 Else
  31565. 0x108 {
  31566. 0x10B If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31567. 0x10B {
  31568. 0x11F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31569. 0x12E Perform("Sun Diver"[0357], EnemyAttack)
  31570. 0x134 }
  31571. 0x134 Else
  31572. 0x134 {
  31573. 0x137 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31574. 0x137 {
  31575. 0x144 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31576. 0x153 Perform("Guitar Slap"[0354], EnemyAttack)
  31577. 0x159 If (Not (Random MOD LocalVar:SpclChance) )
  31578. 0x159 {
  31579. 0x162 If ( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31580. 0x162 {
  31581. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PetrifyStatus) == 0) )
  31582. 0x17E Perform("Guitar Slap"[0354], EnemyAttack)
  31583. 0x184 LocalVar:Count <- Random MOD 2
  31584. 0x18C }
  31585. 0x18C Else
  31586. 0x18C {
  31587. 0x18FPOP(LocalVar:Count)
  31588. 0x190SCRIPT END
  31589.  
  31590.  
  31591. GENERAL COUNTER:
  31592.  
  31593. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  31594. 0x000 {
  31595. 0x018 LocalVar:SpclChance <- 3
  31596. 0x01E }
  31597. 0x01E Else
  31598. 0x01E {
  31599. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  31600. 0x021 {
  31601. 0x039 LocalVar:SpclChance <- 4
  31602. 0x03F }
  31603. 0x03F Else
  31604. 0x03F {
  31605. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  31606. 0x042 {
  31607. 0x05A LocalVar:SpclChance <- 5
  31608. 0x060 }
  31609. 0x060 Else
  31610. 0x060 {
  31611. 0x063 LocalVar:SpclChance <- 6
  31612. 0x069SCRIPT END
  31613.  
  31614.  
  31615. MAGIC COUNTER:
  31616.  
  31617. 0x000 If ( (LocalVar:SpclChance > 2) )
  31618. 0x000 {
  31619. 0x009 If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  31620. 0x009 {
  31621. 0x016 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31622. 0x01D Perform("Voice of Ages"[0356], EnemyAttack)
  31623. 0x023 LocalVar:SpclChance <- 2
  31624. 0x029SCRIPT END
  31625.  
  31626.  
  31627.  
  31628.  
  31629. 313 - [139] King Behemoth
  31630.  
  31631.  
  31632. LocalVar:0000 = LocalVar:SpclChance
  31633.  
  31634. BattleAddr(&2060) = BattleAddr(&Self)
  31635. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31636. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  31637.  
  31638. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  31639. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  31640. BattleAddr(&4180) = BattleAddr(&MaxHP)
  31641.  
  31642.  
  31643.  
  31644. PRE-BATTLE:
  31645.  
  31646. 0x000LocalVar:SpclChance <- 6
  31647. 0x006SCRIPT END
  31648.  
  31649.  
  31650. MAIN:
  31651.  
  31652. 0x000 If (Random MOD 3 == 0)
  31653. 0x000 {
  31654. 0x009 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31655. 0x011 Perform("Behemoth Horn"[0313], EnemyAttack)
  31656. 0x017 If (Not (Random MOD LocalVar:SpclChance) )
  31657. 0x017 {
  31658. 0x020 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31659. 0x028 Perform("Behemoth Horn"[0313], EnemyAttack)
  31660. 0x02E }
  31661. 0x02E Else
  31662. 0x02E {
  31663. 0x031 }
  31664. 0x031 Else
  31665. 0x031 {
  31666. 0x034 If (Random MOD 3 == 1)
  31667. 0x034 {
  31668. 0x039 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31669. 0x041 Perform("King Teel"[0314], EnemyAttack)
  31670. 0x047 If (Not (Random MOD LocalVar:SpclChance) )
  31671. 0x047 {
  31672. 0x050 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31673. 0x058 Perform("King Teel"[0314], EnemyAttack)
  31674. 0x05E }
  31675. 0x05E Else
  31676. 0x05E {
  31677. 0x061 }
  31678. 0x061 Else
  31679. 0x061 {
  31680. 0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31681. 0x06C Perform("Bite"[01B8], EnemyAttack)
  31682. 0x072 If (Not (Random MOD LocalVar:SpclChance) )
  31683. 0x072 {
  31684. 0x07B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31685. 0x083 Perform("Bite"[01B8], EnemyAttack)
  31686. 0x089 }
  31687. 0x089 Else
  31688. 0x089 {
  31689. 0x08CPOP(Random MOD 3)
  31690. 0x08DSCRIPT END
  31691.  
  31692.  
  31693. GENERAL COUNTER:
  31694.  
  31695. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  31696. 0x000 {
  31697. 0x018 LocalVar:SpclChance <- 2
  31698. 0x01E }
  31699. 0x01E Else
  31700. 0x01E {
  31701. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  31702. 0x021 {
  31703. 0x039 LocalVar:SpclChance <- 3
  31704. 0x03F }
  31705. 0x03F Else
  31706. 0x03F {
  31707. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  31708. 0x042 {
  31709. 0x05A LocalVar:SpclChance <- 4
  31710. 0x060 }
  31711. 0x060 Else
  31712. 0x060 {
  31713. 0x063 LocalVar:SpclChance <- 6
  31714. 0x069SCRIPT END
  31715.  
  31716.  
  31717. MAGIC COUNTER:
  31718.  
  31719. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Comet2 [002E])) )
  31720. 0x000 {
  31721. 0x00E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31722. 0x015 Perform("Comet2"[002E], EnemyAttack)
  31723. 0x01ASCRIPT END
  31724.  
  31725.  
  31726.  
  31727.  
  31728. 314 - [13A] Allemagne
  31729.  
  31730.  
  31731. LocalVar:0000 = LocalVar:Count
  31732. LocalVar:0020 = LocalVar:SpclChance
  31733. LocalVar:0040 = LocalVar:MagCounter1
  31734. LocalVar:0060 = LocalVar:MagCounter2
  31735.  
  31736. BattleAddr(&2060) = BattleAddr(&Self)
  31737. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31738. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  31739.  
  31740. BattleAddr(&40E0) = BattleAddr(&LastPhysAttacker)
  31741. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  31742. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  31743. BattleAddr(&4180) = BattleAddr(&MaxHP)
  31744.  
  31745.  
  31746.  
  31747. PRE-BATTLE:
  31748.  
  31749. 0x000LocalVar:Count <- Random MOD 3
  31750. 0x008LocalVar:SpclChance <- 5
  31751. 0x00ESCRIPT END
  31752.  
  31753.  
  31754. MAIN:
  31755.  
  31756. 0x000 If (LocalVar:Count == 0)
  31757. 0x000 {
  31758. 0x008 }
  31759. 0x008 Else
  31760. 0x008 {
  31761. 0x00B If (LocalVar:Count == 1)
  31762. 0x00B {
  31763. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31764. 0x018 Perform("Claw"[01BE], EnemyAttack)
  31765. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  31766. 0x01E {
  31767. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31768. 0x02F Perform("Claw"[01BE], EnemyAttack)
  31769. 0x035 LocalVar:Count <- LocalVar:Count + 1
  31770. 0x03F }
  31771. 0x03F Else
  31772. 0x03F {
  31773. 0x042 }
  31774. 0x042 Else
  31775. 0x042 {
  31776. 0x045 If (Not (Random MOD LocalVar:SpclChance) )
  31777. 0x045 {
  31778. 0x04E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31779. 0x056 Perform("Big Breath"[0338], EnemyAttack)
  31780. 0x05C }
  31781. 0x05C Else
  31782. 0x05C {
  31783. 0x05F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31784. 0x067 Perform("Claw"[01BE], EnemyAttack)
  31785. 0x06D LocalVar:Count <- 0
  31786. 0x073 }
  31787. 0x073 Else
  31788. 0x073 {
  31789. 0x076POP(LocalVar:Count)
  31790. 0x077SCRIPT END
  31791.  
  31792.  
  31793. GENERAL COUNTER:
  31794.  
  31795. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  31796. 0x000 {
  31797. 0x018 LocalVar:SpclChance <- 2
  31798. 0x01E }
  31799. 0x01E Else
  31800. 0x01E {
  31801. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  31802. 0x021 {
  31803. 0x039 LocalVar:SpclChance <- 3
  31804. 0x03F }
  31805. 0x03F Else
  31806. 0x03F {
  31807. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  31808. 0x042 {
  31809. 0x05A LocalVar:SpclChance <- 4
  31810. 0x060 }
  31811. 0x060 Else
  31812. 0x060 {
  31813. 0x063 LocalVar:SpclChance <- 5
  31814. 0x069SCRIPT END
  31815.  
  31816.  
  31817. PHYSICAL COUNTER:
  31818.  
  31819. 0x000 If (Not (Random MOD LocalVar:SpclChance) )
  31820. 0x000 {
  31821. 0x009 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastPhysAttacker)
  31822. 0x014 Perform("Teardrop"[0337], EnemyAttack)
  31823. 0x01ASCRIPT END
  31824.  
  31825.  
  31826. MAGICAL COUNTER:
  31827.  
  31828. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(L3 Flare [0336])) And Not (Random MOD LocalVar:SpclChance) ) And Not (LocalVar:MagCounter1) ) )
  31829. 0x000 {
  31830. 0x01B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31831. 0x022 Perform("L3 Flare"[0336], EnemyAttack)
  31832. 0x028 LocalVar:MagCounter1 <- 1
  31833. 0x02E }
  31834. 0x02E Else
  31835. 0x02E {
  31836. 0x031 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(L3 Flare [0336])) And Not (Random MOD LocalVar:SpclChance) ) And Not (LocalVar:MagCounter2) ) )
  31837. 0x031 {
  31838. 0x04C BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31839. 0x053 Perform("L4 Death"[031E], EnemyAttack)
  31840. 0x059 LocalVar:MagCounter2 <- 1
  31841. 0x05FSCRIPT END
  31842.  
  31843.  
  31844.  
  31845.  
  31846. 315 - [13B] Dragon Zombie
  31847.  
  31848.  
  31849. LocalVar:0000 = LocalVar:Count
  31850. LocalVar:0020 = LocalVar:SpclChance
  31851.  
  31852. GlobalVar(005E) = GlobalVar(Pandora'sBox)
  31853.  
  31854. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  31855. BattleAddr(&2060) = BattleAddr(&Self)
  31856. BattleAddr(&2070) = BattleAddr(&TarSelected)
  31857. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  31858.  
  31859. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  31860. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  31861. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  31862. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  31863. BattleAddr(&4180) = BattleAddr(&MaxHP)
  31864.  
  31865.  
  31866.  
  31867. PRE-BATTLE:
  31868.  
  31869. 0x000LocalVar:Count <- Random MOD 5
  31870. 0x008LocalVar:SpclChance <- 5
  31871. 0x00ESCRIPT END
  31872.  
  31873.  
  31874. MAIN:
  31875.  
  31876. 0x000 If (LocalVar:Count == 0)
  31877. 0x000 {
  31878. 0x008 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31879. 0x008 {
  31880. 0x015 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31881. 0x024 }
  31882. 0x024 Else
  31883. 0x024 {
  31884. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31885. 0x02F Perform("Poison Fang"[030C], EnemyAttack)
  31886. 0x035 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31887. 0x035 {
  31888. 0x049 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31889. 0x049 {
  31890. 0x056 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31891. 0x065 }
  31892. 0x065 Else
  31893. 0x065 {
  31894. 0x068 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31895. 0x070 Perform("Poison Fang"[030C], EnemyAttack)
  31896. 0x076 If (Not (Random MOD LocalVar:SpclChance) )
  31897. 0x076 {
  31898. 0x07F LocalVar:Count <- 2
  31899. 0x085 }
  31900. 0x085 Else
  31901. 0x085 {
  31902. 0x088 LocalVar:Count <- 1
  31903. 0x08E }
  31904. 0x08E Else
  31905. 0x08E {
  31906. 0x091 }
  31907. 0x091 Else
  31908. 0x091 {
  31909. 0x094 If (LocalVar:Count == 1)
  31910. 0x094 {
  31911. 0x099 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31912. 0x0A0 Perform("Body Tail"[0339], EnemyAttack)
  31913. 0x0A6 LocalVar:Count <- 3
  31914. 0x0AC }
  31915. 0x0AC Else
  31916. 0x0AC {
  31917. 0x0AF }
  31918. 0x0AF Else
  31919. 0x0AF {
  31920. 0x0B2 If (LocalVar:Count == 2)
  31921. 0x0B2 {
  31922. 0x0B7 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31923. 0x0B7 {
  31924. 0x0CB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 0) )
  31925. 0x0DA Perform("Bone"[033B], EnemyAttack)
  31926. 0x0E0 }
  31927. 0x0E0 Else
  31928. 0x0E0 {
  31929. 0x0E3 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31930. 0x0EA Perform("Body Tail"[0339], EnemyAttack)
  31931. 0x0F0 LocalVar:Count <- 3
  31932. 0x0F6 }
  31933. 0x0F6 Else
  31934. 0x0F6 {
  31935. 0x0F9 }
  31936. 0x0F9 Else
  31937. 0x0F9 {
  31938. 0x0FC If (LocalVar:Count == 3)
  31939. 0x0FC {
  31940. 0x101 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Abnormal Breath [033A])) And (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) ) )
  31941. 0x101 {
  31942. 0x11B If (Not (Random MOD LocalVar:SpclChance) )
  31943. 0x11B {
  31944. 0x124 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31945. 0x12C Perform("Abnormal Breath"[033A], EnemyAttack)
  31946. 0x132 }
  31947. 0x132 Else
  31948. 0x132 {
  31949. 0x135 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31950. 0x135 {
  31951. 0x142 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31952. 0x151 }
  31953. 0x151 Else
  31954. 0x151 {
  31955. 0x154 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31956. 0x15C Perform("Poison Fang"[030C], EnemyAttack)
  31957. 0x162 If ( ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  31958. 0x162 {
  31959. 0x176 If ( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31960. 0x176 {
  31961. 0x183 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&PoisonStatus) == 0) )
  31962. 0x192 }
  31963. 0x192 Else
  31964. 0x192 {
  31965. 0x195 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31966. 0x19D Perform("Poison Fang"[030C], EnemyAttack)
  31967. 0x1A3 LocalVar:Count <- 4
  31968. 0x1A9 }
  31969. 0x1A9 Else
  31970. 0x1A9 {
  31971. 0x1AC }
  31972. 0x1AC Else
  31973. 0x1AC {
  31974. 0x1AF If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Shadow Flare [005E])) And Not (Random MOD LocalVar:SpclChance) ) )
  31975. 0x1AF {
  31976. 0x1C4 If ( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  31977. 0x1C4 {
  31978. 0x1D1 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ParalyzedStatus) == 1) )
  31979. 0x1E0 }
  31980. 0x1E0 Else
  31981. 0x1E0 {
  31982. 0x1E3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  31983. 0x1EB Perform("Shadow Flare"[005E], EnemyAttack)
  31984. 0x1F0 }
  31985. 0x1F0 Else
  31986. 0x1F0 {
  31987. 0x1F3 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  31988. 0x1FA Perform("Body Tail"[0339], EnemyAttack)
  31989. 0x200 LocalVar:Count <- Random MOD 2
  31990. 0x208 }
  31991. 0x208 Else
  31992. 0x208 {
  31993. 0x20BPOP(LocalVar:Count)
  31994. 0x20CSCRIPT END
  31995.  
  31996.  
  31997. GENERAL COUNTER:
  31998.  
  31999. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  32000. 0x000 {
  32001. 0x018 LocalVar:SpclChance <- 2
  32002. 0x01E }
  32003. 0x01E Else
  32004. 0x01E {
  32005. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  32006. 0x021 {
  32007. 0x039 LocalVar:SpclChance <- 3
  32008. 0x03F }
  32009. 0x03F Else
  32010. 0x03F {
  32011. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  32012. 0x042 {
  32013. 0x05A LocalVar:SpclChance <- 4
  32014. 0x060 }
  32015. 0x060 Else
  32016. 0x060 {
  32017. 0x063 LocalVar:SpclChance <- 5
  32018. 0x069SCRIPT END
  32019.  
  32020.  
  32021. DEATH COUNTER:
  32022.  
  32023. 0x000TempGlobal <- &GlobalVar(Pandora'sBox)
  32024. 0x005 If (Not (BattleAddr(&MemBank1/2) AND 1) )
  32025. 0x005 {
  32026. 0x00F BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32027. 0x016 Perform("Pandora's Box"[005F], EnemyAttack)
  32028. 0x01B BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 1
  32029. 0x025 GlobalVar(Pandora'sBox) <- &TempGlobal)
  32030. 0x02ASCRIPT END
  32031.  
  32032.  
  32033.  
  32034.  
  32035. 316 - [13C] Armored Golem
  32036.  
  32037.  
  32038. LocalVar:0000 = Unused
  32039. LocalVar:0020 = LocalVar:BaseCurrentHP
  32040. LocalVar:0040 = LocalVar:HPDiff
  32041. LocalVar:0060 = LocalVar:BaseDef
  32042. LocalVar:0080 = LocalVar:BaseMDef
  32043. LocalVar:00A0 = LocalVar:BaseStrength
  32044. LocalVar:00C0 = LocalVar:BaseMagic
  32045. LocalVar:00E0 = LocalVar:Stage
  32046. LocalVar:0100 = LocalVar:SpclStage
  32047. LocalVar:0120 = LocalVar:AttackConfirmed
  32048. LocalVar:0140 = LocalVar:SpclAttack
  32049.  
  32050. BattleAddr(&2060) = BattleAddr(&Self)
  32051. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32052. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32053.  
  32054. BattleAddr(&4068) = BattleAddr(&Strength)
  32055. BattleAddr(&4070) = BattleAddr(&Magic)
  32056. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  32057. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  32058. BattleAddr(&4100) = BattleAddr(&Def)
  32059. BattleAddr(&4110) = BattleAddr(&MDef)
  32060. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  32061. BattleAddr(&4180) = BattleAddr(&MaxHP)
  32062.  
  32063.  
  32064.  
  32065. PRE-BATTLE:
  32066.  
  32067. 0x000LocalVar:Stage <- 4
  32068. 0x006LocalVar:BaseStrength <- BattleAddr(&Self).BattleAddr(&Strength)
  32069. 0x011LocalVar:BaseMagic <- BattleAddr(&Self).BattleAddr(&Magic)
  32070. 0x01CLocalVar:BaseDef <- BattleAddr(&Self).BattleAddr(&Def)
  32071. 0x027LocalVar:BaseMDef <- BattleAddr(&Self).BattleAddr(&MDef)
  32072. 0x032LocalVar:BaseCurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  32073. 0x03DSCRIPT END
  32074.  
  32075.  
  32076. MAIN:
  32077.  
  32078. 0x000LocalVar:AttackConfirmed <- 0
  32079. 0x006 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < BattleAddr(&Self).BattleAddr(&MaxHP) / 2) And (LocalVar:SpclStage == 0) ) And (LocalVar:SpclAttack == 0) ) )
  32080. 0x006 {
  32081. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32082. 0x030 Perform("Defense Start"[029D], EnemyAttack)
  32083. 0x036 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 10
  32084. 0x040 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 11
  32085. 0x04A LocalVar:SpclStage <- 1
  32086. 0x050 LocalVar:AttackConfirmed <- 1
  32087. 0x056 If ( ( (LocalVar:SpclAttack == 1) And (LocalVar:AttackConfirmed == 0) ) )
  32088. 0x056 {
  32089. 0x066 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32090. 0x06D Perform("Golem Laser"[029C], EnemyAttack)
  32091. 0x073 LocalVar:SpclAttack <- 0
  32092. 0x079 }
  32093. 0x079 Else
  32094. 0x079 {
  32095. 0x07C If ( (LocalVar:AttackConfirmed == 0) )
  32096. 0x07C {
  32097. 0x085 If (LocalVar:Stage == 1)
  32098. 0x085 {
  32099. 0x08D If ( (LocalVar:SpclStage == 0) )
  32100. 0x08D {
  32101. 0x096 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32102. 0x09E Perform("Megaton Punch"[0215], EnemyAttack)
  32103. 0x0A4 }
  32104. 0x0A4 Else
  32105. 0x0A4 {
  32106. 0x0A7 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32107. 0x0AE Perform("Defense Down"[029E], EnemyAttack)
  32108. 0x0B4 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  32109. 0x0BE BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  32110. 0x0C8 LocalVar:SpclAttack <- 1
  32111. 0x0CE LocalVar:SpclStage <- 0
  32112. 0x0D4 }
  32113. 0x0D4 Else
  32114. 0x0D4 {
  32115. 0x0D7 }
  32116. 0x0D7 Else
  32117. 0x0D7 {
  32118. 0x0DA If ( (Random MOD 2 And (LocalVar:SpclStage == 0) ) )
  32119. 0x0DA {
  32120. 0x0E8 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32121. 0x0EF If (Random MOD 3)
  32122. 0x0EF {
  32123. 0x0F6 Perform("Snap"[033C], EnemyAttack)
  32124. 0x0FC }
  32125. 0x0FC Else
  32126. 0x0FC {
  32127. 0x0FF Perform("Golem Laser"[029C], EnemyAttack)
  32128. 0x105 }
  32129. 0x105 Else
  32130. 0x105 {
  32131. 0x108 If ( (LocalVar:Stage > 1) )
  32132. 0x108 {
  32133. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32134. 0x118 If ( (LocalVar:SpclStage == 1) )
  32135. 0x118 {
  32136. 0x121 Perform("Advance"[029F], EnemyAttack)
  32137. 0x127 }
  32138. 0x127 Else
  32139. 0x127 {
  32140. 0x12A Perform("Advance"[0216], EnemyAttack)
  32141. 0x130 LocalVar:Stage <- LocalVar:Stage - 1
  32142. 0x13A }
  32143. 0x13A Else
  32144. 0x13A {
  32145. 0x13D POP(LocalVar:Stage)
  32146. 0x13E If ( (LocalVar:SpclStage == 1) )
  32147. 0x13E {
  32148. 0x147 BattleAddr(&Self).BattleAddr(&Def) <- 400
  32149. 0x152 BattleAddr(&Self).BattleAddr(&MDef) <- 470
  32150. 0x15D }
  32151. 0x15D Else
  32152. 0x15D {
  32153. 0x160 BattleAddr(&Self).BattleAddr(&Strength) <- LocalVar:BaseStrength - LocalVar:Stage * 4
  32154. 0x172 BattleAddr(&Self).BattleAddr(&Magic) <- LocalVar:BaseMagic - LocalVar:Stage * 6
  32155. 0x184 BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef + LocalVar:Stage * 8
  32156. 0x196 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef + LocalVar:Stage * 10
  32157. 0x1A8SCRIPT END
  32158.  
  32159.  
  32160. GENERAL COUNTER:
  32161.  
  32162. 0x000LocalVar:AttackConfirmed <- 0
  32163. 0x006LocalVar:HPDiff <- LocalVar:HPDiff + LocalVar:BaseCurrentHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  32164. 0x019LocalVar:BaseCurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  32165. 0x024 If ( ( (LocalVar:HPDiff > 1000) And (LocalVar:AttackConfirmed == 0) ) )
  32166. 0x024 {
  32167. 0x035 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32168. 0x03C If ( (LocalVar:Stage < 4) )
  32169. 0x03C {
  32170. 0x045 If ( (LocalVar:SpclStage == 0) )
  32171. 0x045 {
  32172. 0x04E Perform("Retreat"[0217], EnemyAttack)
  32173. 0x054 }
  32174. 0x054 Else
  32175. 0x054 {
  32176. 0x057 Perform("Retreat"[02A0], EnemyAttack)
  32177. 0x05D LocalVar:Stage <- LocalVar:Stage + 1
  32178. 0x067 LocalVar:HPDiff <- 0
  32179. 0x06D If ( (LocalVar:SpclStage == 1) )
  32180. 0x06D {
  32181. 0x076 BattleAddr(&Self).BattleAddr(&Def) <- 400
  32182. 0x081 BattleAddr(&Self).BattleAddr(&MDef) <- 470
  32183. 0x08C }
  32184. 0x08C Else
  32185. 0x08C {
  32186. 0x08F BattleAddr(&Self).BattleAddr(&Strength) <- LocalVar:BaseStrength - LocalVar:Stage * 4
  32187. 0x0A1 BattleAddr(&Self).BattleAddr(&Magic) <- LocalVar:BaseMagic - LocalVar:Stage * 6
  32188. 0x0B3 BattleAddr(&Self).BattleAddr(&Def) <- LocalVar:BaseDef + LocalVar:Stage * 8
  32189. 0x0C5 BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:BaseMDef + LocalVar:Stage * 10
  32190. 0x0D7SCRIPT END
  32191.  
  32192.  
  32193.  
  32194.  
  32195. 317 - [13D] Master Tonberry
  32196.  
  32197.  
  32198. LocalVar:0000 = LocalVar:FBPosition
  32199. LocalVar:0020 = LocalVar:LRPosition
  32200. LocalVar:0040 = LocalVar:SpclHitCount
  32201. LocalVar:0060 = LocalVar:AttackConfirmed
  32202. LocalVar:0080 = LocalVar:1stChr
  32203. LocalVar:00A0 = LocalVar:2ndChr
  32204. LocalVar:00C0 = LocalVar:3rdChr
  32205.  
  32206. BattleAddr(&2060) = BattleAddr(&Self)
  32207. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32208. BattleAddr(&2140) = BattleAddr(&FormationID)
  32209.  
  32210. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  32211. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  32212.  
  32213.  
  32214.  
  32215. PRE-BATTLE:
  32216.  
  32217. 0x000LocalVar:LRPosition <- 1
  32218. 0x006SCRIPT END
  32219.  
  32220.  
  32221. MAIN:
  32222.  
  32223. 0x000LocalVar:AttackConfirmed <- 0
  32224. 0x006LocalVar:SpclHitCount <- 0
  32225. 0x00CLocalVar:1stChr <- FlagBit(0)
  32226. 0x013LocalVar:2ndChr <- FlagBit(1)
  32227. 0x01ALocalVar:3rdChr <- FlagBit(2)
  32228. 0x021 If (LocalVar:LRPosition == 0)
  32229. 0x021 {
  32230. 0x029 If (LocalVar:FBPosition == 0)
  32231. 0x029 {
  32232. 0x031 }
  32233. 0x031 Else
  32234. 0x031 {
  32235. 0x034 }
  32236. 0x034 Else
  32237. 0x034 {
  32238. 0x037 If (LocalVar:FBPosition == 1)
  32239. 0x037 {
  32240. 0x03C If (Random MOD 8 == 0)
  32241. 0x03C {
  32242. 0x045 }
  32243. 0x045 Else
  32244. 0x045 {
  32245. 0x048 If (Random MOD 8 == 1)
  32246. 0x048 {
  32247. 0x04D }
  32248. 0x04D Else
  32249. 0x04D {
  32250. 0x050 If (Random MOD 8 == 2)
  32251. 0x050 {
  32252. 0x055 Perform("Move Left"[0305], EnemyAttack)
  32253. 0x05B LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32254. 0x065 }
  32255. 0x065 Else
  32256. 0x065 {
  32257. 0x068 }
  32258. 0x068 Else
  32259. 0x068 {
  32260. 0x06B }
  32261. 0x06B Else
  32262. 0x06B {
  32263. 0x06E POP(Random MOD 8)
  32264. 0x06F }
  32265. 0x06F Else
  32266. 0x06F {
  32267. 0x072 }
  32268. 0x072 Else
  32269. 0x072 {
  32270. 0x075 If (LocalVar:FBPosition == 2)
  32271. 0x075 {
  32272. 0x07A BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32273. 0x081 If (Random MOD 8 == 0)
  32274. 0x081 {
  32275. 0x08A }
  32276. 0x08A Else
  32277. 0x08A {
  32278. 0x08D If (Random MOD 8 == 1)
  32279. 0x08D {
  32280. 0x092 }
  32281. 0x092 Else
  32282. 0x092 {
  32283. 0x095 If (Random MOD 8 == 2)
  32284. 0x095 {
  32285. 0x09A Perform("Move Left"[0305], EnemyAttack)
  32286. 0x0A0 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32287. 0x0AA }
  32288. 0x0AA Else
  32289. 0x0AA {
  32290. 0x0AD }
  32291. 0x0AD Else
  32292. 0x0AD {
  32293. 0x0B0 }
  32294. 0x0B0 Else
  32295. 0x0B0 {
  32296. 0x0B3 POP(Random MOD 8)
  32297. 0x0B4 }
  32298. 0x0B4 Else
  32299. 0x0B4 {
  32300. 0x0B7 }
  32301. 0x0B7 Else
  32302. 0x0B7 {
  32303. 0x0BA If ( ( ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) And (BattleAddr(&FormationID) != 956) ) )
  32304. 0x0BA {
  32305. 0x0D4 BattleAddr(&TarSelected) <- LocalVar:1stChr
  32306. 0x0DB Perform("Knife"[02D7], EnemyAttack)
  32307. 0x0E1 LocalVar:FBPosition <- 0
  32308. 0x0E7 LocalVar:LRPosition <- 1
  32309. 0x0ED LocalVar:AttackConfirmed <- 1
  32310. 0x0F3 }
  32311. 0x0F3 Else
  32312. 0x0F3 {
  32313. 0x0F6 Perform("Move Left"[0305], EnemyAttack)
  32314. 0x0FC LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32315. 0x106 LocalVar:AttackConfirmed <- 1
  32316. 0x10C }
  32317. 0x10C Else
  32318. 0x10C {
  32319. 0x10F POP(LocalVar:FBPosition)
  32320. 0x110 }
  32321. 0x110 Else
  32322. 0x110 {
  32323. 0x113 }
  32324. 0x113 Else
  32325. 0x113 {
  32326. 0x116 If (LocalVar:LRPosition == 1)
  32327. 0x116 {
  32328. 0x11B If (LocalVar:FBPosition == 0)
  32329. 0x11B {
  32330. 0x123 }
  32331. 0x123 Else
  32332. 0x123 {
  32333. 0x126 }
  32334. 0x126 Else
  32335. 0x126 {
  32336. 0x129 If (LocalVar:FBPosition == 1)
  32337. 0x129 {
  32338. 0x12E If (Random MOD 8 == 0)
  32339. 0x12E {
  32340. 0x137 }
  32341. 0x137 Else
  32342. 0x137 {
  32343. 0x13A If (Random MOD 8 == 1)
  32344. 0x13A {
  32345. 0x13F Perform("Move Right"[0304], EnemyAttack)
  32346. 0x145 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32347. 0x14F LocalVar:AttackConfirmed <- 1
  32348. 0x155 }
  32349. 0x155 Else
  32350. 0x155 {
  32351. 0x158 }
  32352. 0x158 Else
  32353. 0x158 {
  32354. 0x15B If (Random MOD 8 == 2)
  32355. 0x15B {
  32356. 0x160 }
  32357. 0x160 Else
  32358. 0x160 {
  32359. 0x163 If (Random MOD 8 == 3)
  32360. 0x163 {
  32361. 0x168 Perform("Move Left"[0305], EnemyAttack)
  32362. 0x16E LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32363. 0x178 LocalVar:AttackConfirmed <- 1
  32364. 0x17E }
  32365. 0x17E Else
  32366. 0x17E {
  32367. 0x181 }
  32368. 0x181 Else
  32369. 0x181 {
  32370. 0x184 }
  32371. 0x184 Else
  32372. 0x184 {
  32373. 0x187 POP(Random MOD 8)
  32374. 0x188 }
  32375. 0x188 Else
  32376. 0x188 {
  32377. 0x18B }
  32378. 0x18B Else
  32379. 0x18B {
  32380. 0x18E If (LocalVar:FBPosition == 2)
  32381. 0x18E {
  32382. 0x193 If (Random MOD 8 == 0)
  32383. 0x193 {
  32384. 0x19C }
  32385. 0x19C Else
  32386. 0x19C {
  32387. 0x19F If (Random MOD 8 == 1)
  32388. 0x19F {
  32389. 0x1A4 }
  32390. 0x1A4 Else
  32391. 0x1A4 {
  32392. 0x1A7 If (Random MOD 8 == 2)
  32393. 0x1A7 {
  32394. 0x1AC Perform("Move Right"[0304], EnemyAttack)
  32395. 0x1B2 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32396. 0x1BC LocalVar:AttackConfirmed <- 1
  32397. 0x1C2 }
  32398. 0x1C2 Else
  32399. 0x1C2 {
  32400. 0x1C5 }
  32401. 0x1C5 Else
  32402. 0x1C5 {
  32403. 0x1C8 If (Random MOD 8 == 3)
  32404. 0x1C8 {
  32405. 0x1CD }
  32406. 0x1CD Else
  32407. 0x1CD {
  32408. 0x1D0 If (Random MOD 8 == 4)
  32409. 0x1D0 {
  32410. 0x1D5 }
  32411. 0x1D5 Else
  32412. 0x1D5 {
  32413. 0x1D8 If (Random MOD 8 == 5)
  32414. 0x1D8 {
  32415. 0x1DD Perform("Move Left"[0305], EnemyAttack)
  32416. 0x1E3 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32417. 0x1ED LocalVar:AttackConfirmed <- 1
  32418. 0x1F3 }
  32419. 0x1F3 Else
  32420. 0x1F3 {
  32421. 0x1F6 }
  32422. 0x1F6 Else
  32423. 0x1F6 {
  32424. 0x1F9 }
  32425. 0x1F9 Else
  32426. 0x1F9 {
  32427. 0x1FC POP(Random MOD 8)
  32428. 0x1FD }
  32429. 0x1FD Else
  32430. 0x1FD {
  32431. 0x200 }
  32432. 0x200 Else
  32433. 0x200 {
  32434. 0x203 If ( ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) )
  32435. 0x203 {
  32436. 0x215 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  32437. 0x21C Perform("Knife"[02D7], EnemyAttack)
  32438. 0x222 LocalVar:FBPosition <- 0
  32439. 0x228 LocalVar:LRPosition <- 1
  32440. 0x22E LocalVar:AttackConfirmed <- 1
  32441. 0x234 }
  32442. 0x234 Else
  32443. 0x234 {
  32444. 0x237 If ( (Random MOD 2 == 0) )
  32445. 0x237 {
  32446. 0x241 Perform("Move Right"[0304], EnemyAttack)
  32447. 0x247 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32448. 0x251 LocalVar:AttackConfirmed <- 1
  32449. 0x257 }
  32450. 0x257 Else
  32451. 0x257 {
  32452. 0x25A Perform("Move Left"[0305], EnemyAttack)
  32453. 0x260 LocalVar:LRPosition <- LocalVar:LRPosition + 1
  32454. 0x26A LocalVar:AttackConfirmed <- 1
  32455. 0x270 }
  32456. 0x270 Else
  32457. 0x270 {
  32458. 0x273 POP(LocalVar:FBPosition)
  32459. 0x274 }
  32460. 0x274 Else
  32461. 0x274 {
  32462. 0x277 }
  32463. 0x277 Else
  32464. 0x277 {
  32465. 0x27A If (LocalVar:FBPosition == 0)
  32466. 0x27A {
  32467. 0x282 }
  32468. 0x282 Else
  32469. 0x282 {
  32470. 0x285 }
  32471. 0x285 Else
  32472. 0x285 {
  32473. 0x288 If (LocalVar:FBPosition == 1)
  32474. 0x288 {
  32475. 0x28D If (Random MOD 8 == 0)
  32476. 0x28D {
  32477. 0x296 }
  32478. 0x296 Else
  32479. 0x296 {
  32480. 0x299 If (Random MOD 8 == 1)
  32481. 0x299 {
  32482. 0x29E }
  32483. 0x29E Else
  32484. 0x29E {
  32485. 0x2A1 If (Random MOD 8 == 2)
  32486. 0x2A1 {
  32487. 0x2A6 Perform("Move Right"[0304], EnemyAttack)
  32488. 0x2AC LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32489. 0x2B6 LocalVar:AttackConfirmed <- 1
  32490. 0x2BC }
  32491. 0x2BC Else
  32492. 0x2BC {
  32493. 0x2BF }
  32494. 0x2BF Else
  32495. 0x2BF {
  32496. 0x2C2 }
  32497. 0x2C2 Else
  32498. 0x2C2 {
  32499. 0x2C5 POP(Random MOD 8)
  32500. 0x2C6 }
  32501. 0x2C6 Else
  32502. 0x2C6 {
  32503. 0x2C9 }
  32504. 0x2C9 Else
  32505. 0x2C9 {
  32506. 0x2CC If (LocalVar:FBPosition == 2)
  32507. 0x2CC {
  32508. 0x2D1 If (Random MOD 8 == 0)
  32509. 0x2D1 {
  32510. 0x2DA }
  32511. 0x2DA Else
  32512. 0x2DA {
  32513. 0x2DD If (Random MOD 8 == 1)
  32514. 0x2DD {
  32515. 0x2E2 }
  32516. 0x2E2 Else
  32517. 0x2E2 {
  32518. 0x2E5 If (Random MOD 8 == 2)
  32519. 0x2E5 {
  32520. 0x2EA Perform("Move Right"[0304], EnemyAttack)
  32521. 0x2F0 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32522. 0x2FA LocalVar:AttackConfirmed <- 1
  32523. 0x300 }
  32524. 0x300 Else
  32525. 0x300 {
  32526. 0x303 }
  32527. 0x303 Else
  32528. 0x303 {
  32529. 0x306 }
  32530. 0x306 Else
  32531. 0x306 {
  32532. 0x309 POP(Random MOD 8)
  32533. 0x30A }
  32534. 0x30A Else
  32535. 0x30A {
  32536. 0x30D }
  32537. 0x30D Else
  32538. 0x30D {
  32539. 0x310 If ( ( ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) And Random MOD 2) And (BattleAddr(&FormationID) != 956) ) )
  32540. 0x310 {
  32541. 0x32A BattleAddr(&TarSelected) <- LocalVar:3rdChr
  32542. 0x331 Perform("Knife"[02D7], EnemyAttack)
  32543. 0x337 LocalVar:FBPosition <- 0
  32544. 0x33D LocalVar:LRPosition <- 1
  32545. 0x343 LocalVar:AttackConfirmed <- 1
  32546. 0x349 }
  32547. 0x349 Else
  32548. 0x349 {
  32549. 0x34C Perform("Move Right"[0304], EnemyAttack)
  32550. 0x352 LocalVar:LRPosition <- LocalVar:LRPosition - 1
  32551. 0x35C LocalVar:AttackConfirmed <- 1
  32552. 0x362 }
  32553. 0x362 Else
  32554. 0x362 {
  32555. 0x365 POP(LocalVar:FBPosition)
  32556. 0x366 }
  32557. 0x366 Else
  32558. 0x366 {
  32559. 0x369POP(LocalVar:LRPosition)
  32560. 0x36A If ( (LocalVar:AttackConfirmed == 0) )
  32561. 0x36A {
  32562. 0x373 Perform("Move"[0303], EnemyAttack)
  32563. 0x379 LocalVar:FBPosition <- LocalVar:FBPosition + 1
  32564. 0x383SCRIPT END
  32565.  
  32566.  
  32567. GENERAL COUNTER:
  32568.  
  32569. 0x000LocalVar:SpclHitCount <- LocalVar:SpclHitCount + 1
  32570. 0x00A If ( (LocalVar:SpclHitCount == 2) )
  32571. 0x00A {
  32572. 0x013 LocalVar:SpclHitCount <- 0
  32573. 0x019 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  32574. 0x024 Perform("Everyone's Grudge"[033E], EnemyAttack)
  32575. 0x02ASCRIPT END
  32576.  
  32577.  
  32578.  
  32579.  
  32580. 318 - [13E] Pollensalta
  32581.  
  32582.  
  32583. LocalVar:0000 = LocalVar:SpclChance
  32584.  
  32585. BattleAddr(&2060) = BattleAddr(&Self)
  32586. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32587. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32588.  
  32589. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  32590. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  32591. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  32592. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  32593. BattleAddr(&4180) = BattleAddr(&MaxHP)
  32594.  
  32595.  
  32596.  
  32597. PRE-BATTLE:
  32598.  
  32599. 0x000LocalVar:SpclChance <- 6
  32600. 0x006SCRIPT END
  32601.  
  32602.  
  32603. MAIN:
  32604.  
  32605. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  32606. 0x000 {
  32607. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&ConfusionStatus) == 0) )
  32608. 0x01C }
  32609. 0x01C Else
  32610. 0x01C {
  32611. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32612. 0x027Perform("Cold Breath"[037B], EnemyAttack)
  32613. 0x02DSCRIPT END
  32614.  
  32615.  
  32616. GENERAL COUNTER:
  32617.  
  32618. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 1) And (LocalVar:SpclChance == 3) ) )
  32619. 0x000 {
  32620. 0x01F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Angel Whisper [004D])) )
  32621. 0x01F {
  32622. 0x02D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32623. 0x034 Perform("Angel Whisper"[004D], EnemyAttack)
  32624. 0x039 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  32625. 0x044 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire3 [001D])) )
  32626. 0x044 {
  32627. 0x052 Perform("Fire3"[001D], EnemyAttack)
  32628. 0x057 LocalVar:SpclChance <- 2
  32629. 0x05D }
  32630. 0x05D Else
  32631. 0x05D {
  32632. 0x060 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 2) And (LocalVar:SpclChance == 4) ) )
  32633. 0x060 {
  32634. 0x07F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Angel Whisper [004D])) )
  32635. 0x07F {
  32636. 0x08D BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32637. 0x094 Perform("Angel Whisper"[004D], EnemyAttack)
  32638. 0x099 LocalVar:SpclChance <- 3
  32639. 0x09F }
  32640. 0x09F Else
  32641. 0x09F {
  32642. 0x0A2 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 3) And (LocalVar:SpclChance == 5) ) )
  32643. 0x0A2 {
  32644. 0x0C1 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  32645. 0x0CC If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire3 [001D])) )
  32646. 0x0CC {
  32647. 0x0DA Perform("Fire3"[001D], EnemyAttack)
  32648. 0x0DF LocalVar:SpclChance <- 4
  32649. 0x0E5 }
  32650. 0x0E5 Else
  32651. 0x0E5 {
  32652. 0x0E8 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 5 * 4) And (LocalVar:SpclChance == 6) ) )
  32653. 0x0E8 {
  32654. 0x107 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  32655. 0x112 If ( (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0) )
  32656. 0x112 {
  32657. 0x11F Perform("Fascination"[037A], EnemyAttack)
  32658. 0x125 LocalVar:SpclChance <- 5
  32659. 0x12B }
  32660. 0x12B Else
  32661. 0x12B {
  32662. 0x12E BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  32663. 0x139 If ( (BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) == 0) )
  32664. 0x139 {
  32665. 0x146 Perform("Fascination"[037A], EnemyAttack)
  32666. 0x14C LocalVar:SpclChance <- 6
  32667. 0x152SCRIPT END
  32668.  
  32669.  
  32670.  
  32671.  
  32672. 319 - [13F] Mover
  32673.  
  32674.  
  32675. LocalVar:0000 = LocalVar:Mover
  32676. LocalVar:0020 = LocalVar:TurnCount
  32677.  
  32678. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  32679. BattleAddr(&2060) = BattleAddr(&Self)
  32680. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32681. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32682.  
  32683. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  32684. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  32685. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  32686. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  32687. BattleAddr(&4120) = BattleAddr(&IndexOfActor)
  32688. BattleAddr(&41A0) = BattleAddr(&Angry)
  32689. BattleAddr(&42B0) = BattleAddr(&EvadeAnimID)
  32690.  
  32691.  
  32692.  
  32693. PRE-BATTLE:
  32694.  
  32695. 0x000LocalVar:Mover <- (BattleAddr(&ActiveActors).BattleAddr(&IndexOfActor) == 319)
  32696. 0x00FBattleAddr(&Self).BattleAddr(&IdleAnimID) <- BattleAddr(&Self).BattleAddr(&GrpFormID) * 8
  32697. 0x021BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- BattleAddr(&Self).BattleAddr(&GrpFormID) * 8 + 1
  32698. 0x036BattleAddr(&Self).BattleAddr(&EvadeAnimID) <- BattleAddr(&Self).BattleAddr(&GrpFormID) * 8 + 2
  32699. 0x04BBattleAddr(&Self).BattleAddr(&Angry) <- 5
  32700. 0x055LocalVar:TurnCount <- Random MOD 4
  32701. 0x05DSCRIPT END
  32702.  
  32703. MAIN:
  32704.  
  32705. 0x000 If ( ( (LocalVar:Mover.BattleAddr(&DeathStatus) == 1) Or (BattleAddr(&Self).BattleAddr(&Angry) != 0) ) )
  32706. 0x000 {
  32707. 0x018 If (Not (LocalVar:TurnCount) )
  32708. 0x018 {
  32709. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32710. 0x027 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  32711. 0x027 {
  32712. 0x034 Perform("Bodyblow"[0342], EnemyAttack)
  32713. 0x03A }
  32714. 0x03A Else
  32715. 0x03A {
  32716. 0x03D If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  32717. 0x03D {
  32718. 0x04A Perform("Bodyblow"[0343], EnemyAttack)
  32719. 0x050 }
  32720. 0x050 Else
  32721. 0x050 {
  32722. 0x053 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 16) )
  32723. 0x053 {
  32724. 0x060 Perform("Bodyblow"[0344], EnemyAttack)
  32725. 0x066 LocalVar:TurnCount <- 3
  32726. 0x06C }
  32727. 0x06C Else
  32728. 0x06C {
  32729. 0x06F LocalVar:TurnCount <- LocalVar:TurnCount - 1
  32730. 0x079 If ( (BattleAddr(&Self).BattleAddr(&Angry) > 0) )
  32731. 0x079 {
  32732. 0x086 BattleAddr(&Self).BattleAddr(&Angry) <- BattleAddr(&Self).BattleAddr(&Angry) - 1
  32733. 0x098 }
  32734. 0x098 Else
  32735. 0x098 {
  32736. 0x09B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32737. 0x0A3 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  32738. 0x0A3 {
  32739. 0x0B0 Perform("Triangle Attack"[0345], EnemyAttack)
  32740. 0x0B6 }
  32741. 0x0B6 Else
  32742. 0x0B6 {
  32743. 0x0B9 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 8) )
  32744. 0x0B9 {
  32745. 0x0C6 Perform("Triangle Attack"[0346], EnemyAttack)
  32746. 0x0CC }
  32747. 0x0CC Else
  32748. 0x0CC {
  32749. 0x0CF If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 16) )
  32750. 0x0CF {
  32751. 0x0DC Perform("Triangle Attack"[0347], EnemyAttack)
  32752. 0x0E2 LocalVar:Mover.BattleAddr(&Angry) <- 5
  32753. 0x0ECSCRIPT END
  32754.  
  32755.  
  32756.  
  32757.  
  32758. 320 - [140] Iron Man
  32759.  
  32760.  
  32761. LocalVar:0000 = LocalVar:TurnCount
  32762.  
  32763. BattleAddr(&2060) = BattleAddr(&Self)
  32764. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32765. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32766.  
  32767. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  32768. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  32769. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  32770. BattleAddr(&4180) = BattleAddr(&MaxHP)
  32771.  
  32772.  
  32773.  
  32774. PRE-BATTLE:
  32775.  
  32776. 0x000LocalVar:TurnCount <- 4
  32777. 0x006SCRIPT END
  32778.  
  32779.  
  32780. MAIN:
  32781.  
  32782. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&HasteStatus) == 1) And (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 1) ) )
  32783. 0x000 {
  32784. 0x018 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32785. 0x01F Perform("Grand Sword"[0348], EnemyAttack)
  32786. 0x025 If (Not (Random MOD 4) )
  32787. 0x025 {
  32788. 0x02D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32789. 0x034 Perform("Grand Sword"[0348], EnemyAttack)
  32790. 0x03A }
  32791. 0x03A Else
  32792. 0x03A {
  32793. 0x03D If (Not (Random MOD 4) )
  32794. 0x03D {
  32795. 0x045 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32796. 0x04C Perform("Grand Sword"[0348], EnemyAttack)
  32797. 0x052 }
  32798. 0x052 Else
  32799. 0x052 {
  32800. 0x055 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32801. 0x05D Perform("Heavy Sword"[02FE], EnemyAttack)
  32802. 0x063 If (Not (Random MOD 2) )
  32803. 0x063 {
  32804. 0x06B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32805. 0x073 Perform("Heavy Sword"[02FE], EnemyAttack)
  32806. 0x079SCRIPT END
  32807.  
  32808.  
  32809. GENERAL COUNTER:
  32810.  
  32811. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) And LocalVar:TurnCount) )
  32812. 0x000 {
  32813. 0x01C If ( ( (BattleAddr(&Self).BattleAddr(&HasteStatus) == 0) Or (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 0) ) )
  32814. 0x01C {
  32815. 0x034 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32816. 0x03B Perform("Adrenaline"[0349], EnemyAttack)
  32817. 0x041 LocalVar:TurnCount <- LocalVar:TurnCount - 1
  32818. 0x04B }
  32819. 0x04B Else
  32820. 0x04B {
  32821. 0x04E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) And LocalVar:TurnCount) )
  32822. 0x04E {
  32823. 0x06A If ( ( (BattleAddr(&Self).BattleAddr(&HasteStatus) == 0) Or (BattleAddr(&Self).BattleAddr(&BarrierStatus) == 0) ) )
  32824. 0x06A {
  32825. 0x082 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32826. 0x089 Perform("Adrenaline"[0349], EnemyAttack)
  32827. 0x08F LocalVar:TurnCount <- LocalVar:TurnCount - 1
  32828. 0x099SCRIPT END
  32829.  
  32830.  
  32831.  
  32832.  
  32833. 321 - [141] Parasite
  32834.  
  32835.  
  32836. BattleAddr(&2060) = BattleAddr(&Self)
  32837. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32838. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32839.  
  32840. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  32841. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  32842. BattleAddr(&40F0) = BattleAddr(&LastMagAttacker)
  32843. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  32844.  
  32845.  
  32846.  
  32847. MAIN:
  32848.  
  32849. 0x000 If ( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  32850. 0x000 {
  32851. 0x00D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SadnessStatus) == 0) )
  32852. 0x01C Perform("Para Tail"[034B], EnemyAttack)
  32853. 0x022 }
  32854. 0x022 Else
  32855. 0x022 {
  32856. 0x025 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32857. 0x02D Perform("Head Attack"[034A], EnemyAttack)
  32858. 0x033SCRIPT END
  32859.  
  32860.  
  32861. MAGIC COUNTER:
  32862.  
  32863. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastMagAttacker)
  32864. 0x00B If ( ( (BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Magic Extinguish [034C])) ) )
  32865. 0x00B {
  32866. 0x025 Perform("Magic Extinguish"[034C], EnemyAttack)
  32867. 0x02BSCRIPT END
  32868.  
  32869.  
  32870.  
  32871.  
  32872. 322 - [142] Dark Dragon
  32873.  
  32874.  
  32875. LocalVar:0000 = LocalVar:Count
  32876. LocalVar:0020 = LocalVar:SpclChance
  32877. LocalVar:0040 = LocalVar:MagCounter
  32878.  
  32879. BattleAddr(&2060) = BattleAddr(&Self)
  32880. BattleAddr(&2070) = BattleAddr(&TarSelected)
  32881. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  32882.  
  32883. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  32884. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  32885. BattleAddr(&4180) = BattleAddr(&MaxHP)
  32886.  
  32887.  
  32888.  
  32889. PRE-BATTLE:
  32890.  
  32891. 0x000LocalVar:Count <- Random MOD 4
  32892. 0x008LocalVar:SpclChance <- 5
  32893. 0x00ESCRIPT END
  32894.  
  32895.  
  32896. MAIN:
  32897.  
  32898. 0x000 If (LocalVar:Count == 0)
  32899. 0x000 {
  32900. 0x008 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32901. 0x010 Perform("Tail Attack"[0142], EnemyAttack)
  32902. 0x016 If (Not (Random MOD LocalVar:SpclChance) )
  32903. 0x016 {
  32904. 0x01F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32905. 0x027 Perform("Tail Attack"[0142], EnemyAttack)
  32906. 0x02D LocalVar:Count <- 1
  32907. 0x033 }
  32908. 0x033 Else
  32909. 0x033 {
  32910. 0x036 }
  32911. 0x036 Else
  32912. 0x036 {
  32913. 0x039 If (LocalVar:Count == 1)
  32914. 0x039 {
  32915. 0x03E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32916. 0x046 Perform("Claw"[020F], EnemyAttack)
  32917. 0x04C If (Not (Random MOD LocalVar:SpclChance) )
  32918. 0x04C {
  32919. 0x055 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32920. 0x05D Perform("Claw"[020F], EnemyAttack)
  32921. 0x063 LocalVar:Count <- 2
  32922. 0x069 }
  32923. 0x069 Else
  32924. 0x069 {
  32925. 0x06C }
  32926. 0x06C Else
  32927. 0x06C {
  32928. 0x06F If (LocalVar:Count == 2)
  32929. 0x06F {
  32930. 0x074 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Dragon Force [004E])) And Not (Random MOD LocalVar:SpclChance) ) )
  32931. 0x074 {
  32932. 0x089 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  32933. 0x090 Perform("Dragon Force"[004E], EnemyAttack)
  32934. 0x095 }
  32935. 0x095 Else
  32936. 0x095 {
  32937. 0x098 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32938. 0x0A0 Perform("Claw"[020F], EnemyAttack)
  32939. 0x0A6 If (Not (Random MOD LocalVar:SpclChance) )
  32940. 0x0A6 {
  32941. 0x0AF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32942. 0x0B7 Perform("Claw"[020F], EnemyAttack)
  32943. 0x0BD LocalVar:Count <- 3
  32944. 0x0C3 }
  32945. 0x0C3 Else
  32946. 0x0C3 {
  32947. 0x0C6 }
  32948. 0x0C6 Else
  32949. 0x0C6 {
  32950. 0x0C9 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Dark Dragon Breath [034D])) And Not (Random MOD LocalVar:SpclChance) ) )
  32951. 0x0C9 {
  32952. 0x0DF BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  32953. 0x0E6 Perform("Dark Dragon Breath"[034D], EnemyAttack)
  32954. 0x0EC }
  32955. 0x0EC Else
  32956. 0x0EC {
  32957. 0x0EF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32958. 0x0F7 Perform("Tail Attack"[0142], EnemyAttack)
  32959. 0x0FD If (Not (Random MOD LocalVar:SpclChance) )
  32960. 0x0FD {
  32961. 0x106 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  32962. 0x10E Perform("Tail Attack"[0142], EnemyAttack)
  32963. 0x114 LocalVar:Count <- Random MOD 2
  32964. 0x11C }
  32965. 0x11C Else
  32966. 0x11C {
  32967. 0x11FPOP(LocalVar:Count)
  32968. 0x120SCRIPT END
  32969.  
  32970.  
  32971. GENERAL COUNTER:
  32972.  
  32973. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  32974. 0x000 {
  32975. 0x018 LocalVar:SpclChance <- 2
  32976. 0x01E }
  32977. 0x01E Else
  32978. 0x01E {
  32979. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  32980. 0x021 {
  32981. 0x039 LocalVar:SpclChance <- 3
  32982. 0x03F }
  32983. 0x03F Else
  32984. 0x03F {
  32985. 0x042 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  32986. 0x042 {
  32987. 0x05A LocalVar:SpclChance <- 4
  32988. 0x060 }
  32989. 0x060 Else
  32990. 0x060 {
  32991. 0x063 LocalVar:SpclChance <- 5
  32992. 0x069SCRIPT END
  32993.  
  32994.  
  32995. MAGIC COUNTER:
  32996.  
  32997. 0x000 If ( ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Ultima [0034])) And Not (Random MOD LocalVar:SpclChance) ) And Not (LocalVar:MagCounter) ) )
  32998. 0x000 {
  32999. 0x01A BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  33000. 0x021 Perform("Ultima"[0034], EnemyAttack)
  33001. 0x026 LocalVar:MagCounter <- 1
  33002. 0x02CSCRIPT END
  33003.  
  33004.  
  33005.  
  33006.  
  33007. 323 - [143] Death Dealer
  33008.  
  33009.  
  33010. LocalVar:0000 = LocalVar:Count
  33011. LocalVar:0020 = LocalVar:HPStage
  33012. LocalVar:0040 = LocalVar:SpclAttack
  33013.  
  33014. BattleAddr(&2060) = BattleAddr(&Self)
  33015. BattleAddr(&2070) = BattleAddr(&TarSelected)
  33016. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  33017.  
  33018. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  33019. BattleAddr(&400A) = BattleAddr(&StopStatus)
  33020. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  33021. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  33022. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  33023. BattleAddr(&4180) = BattleAddr(&MaxHP)
  33024.  
  33025.  
  33026.  
  33027. PRE-BATTLE:
  33028.  
  33029. 0x000 If (Random MOD 5 == 0)
  33030. 0x000 {
  33031. 0x009 LocalVar:Count <- 3
  33032. 0x00F }
  33033. 0x00F Else
  33034. 0x00F {
  33035. 0x012 }
  33036. 0x012 Else
  33037. 0x012 {
  33038. 0x015 If (Random MOD 5 == 1)
  33039. 0x015 {
  33040. 0x01A }
  33041. 0x01A Else
  33042. 0x01A {
  33043. 0x01D If (Random MOD 5 == 2)
  33044. 0x01D {
  33045. 0x022 LocalVar:Count <- 0
  33046. 0x028 }
  33047. 0x028 Else
  33048. 0x028 {
  33049. 0x02B }
  33050. 0x02B Else
  33051. 0x02B {
  33052. 0x02E LocalVar:Count <- 1
  33053. 0x034 }
  33054. 0x034 Else
  33055. 0x034 {
  33056. 0x037POP(Random MOD 5)
  33057. 0x038SCRIPT END
  33058.  
  33059.  
  33060. MAIN:
  33061.  
  33062. 0x000 If (LocalVar:Count == 0)
  33063. 0x000 {
  33064. 0x008 }
  33065. 0x008 Else
  33066. 0x008 {
  33067. 0x00B If (LocalVar:Count == 1)
  33068. 0x00B {
  33069. 0x010 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33070. 0x010 {
  33071. 0x01D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33072. 0x02C }
  33073. 0x02C Else
  33074. 0x02C {
  33075. 0x02F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33076. 0x037 Perform("Spin Turn"[01F5], EnemyAttack)
  33077. 0x03D If (Not (Random MOD 2) )
  33078. 0x03D {
  33079. 0x045 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33080. 0x045 {
  33081. 0x052 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33082. 0x061 }
  33083. 0x061 Else
  33084. 0x061 {
  33085. 0x064 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33086. 0x06C Perform("Spin Turn"[01F5], EnemyAttack)
  33087. 0x072 LocalVar:Count <- LocalVar:Count + 1
  33088. 0x07C }
  33089. 0x07C Else
  33090. 0x07C {
  33091. 0x07F }
  33092. 0x07F Else
  33093. 0x07F {
  33094. 0x082 If (LocalVar:Count == 2)
  33095. 0x082 {
  33096. 0x087 If ( (LocalVar:HPStage > 1) )
  33097. 0x087 {
  33098. 0x090 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  33099. 0x097 Perform("Emperor"[01F6], EnemyAttack)
  33100. 0x09D }
  33101. 0x09D Else
  33102. 0x09D {
  33103. 0x0A0 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33104. 0x0A0 {
  33105. 0x0AD BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33106. 0x0BC }
  33107. 0x0BC Else
  33108. 0x0BC {
  33109. 0x0BF BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33110. 0x0C7 Perform("Spin Turn"[01F5], EnemyAttack)
  33111. 0x0CD LocalVar:Count <- 3
  33112. 0x0D3 }
  33113. 0x0D3 Else
  33114. 0x0D3 {
  33115. 0x0D6 }
  33116. 0x0D6 Else
  33117. 0x0D6 {
  33118. 0x0D9 If (LocalVar:Count == 3)
  33119. 0x0D9 {
  33120. 0x0DE If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33121. 0x0DE {
  33122. 0x0EB BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33123. 0x0FA }
  33124. 0x0FA Else
  33125. 0x0FA {
  33126. 0x0FD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33127. 0x105 Perform("Star"[01F8], EnemyAttack)
  33128. 0x10B If (Not (Random MOD 2) )
  33129. 0x10B {
  33130. 0x113 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33131. 0x113 {
  33132. 0x120 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33133. 0x12F }
  33134. 0x12F Else
  33135. 0x12F {
  33136. 0x132 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33137. 0x13A Perform("Star"[01F8], EnemyAttack)
  33138. 0x140 If (LocalVar:HPStage == 0)
  33139. 0x140 {
  33140. 0x148 LocalVar:Count <- 0
  33141. 0x14E }
  33142. 0x14E Else
  33143. 0x14E {
  33144. 0x151 }
  33145. 0x151 Else
  33146. 0x151 {
  33147. 0x154 If (LocalVar:HPStage == 1)
  33148. 0x154 {
  33149. 0x159 If (Not (Random MOD 2) )
  33150. 0x159 {
  33151. 0x161 LocalVar:Count <- 7
  33152. 0x167 }
  33153. 0x167 Else
  33154. 0x167 {
  33155. 0x16A LocalVar:Count <- 8
  33156. 0x170 }
  33157. 0x170 Else
  33158. 0x170 {
  33159. 0x173 }
  33160. 0x173 Else
  33161. 0x173 {
  33162. 0x176 If (LocalVar:HPStage == 2)
  33163. 0x176 {
  33164. 0x17B If (Random MOD 3 == 0)
  33165. 0x17B {
  33166. 0x184 LocalVar:Count <- 4
  33167. 0x18A }
  33168. 0x18A Else
  33169. 0x18A {
  33170. 0x18D }
  33171. 0x18D Else
  33172. 0x18D {
  33173. 0x190 If (Random MOD 3 == 1)
  33174. 0x190 {
  33175. 0x195 LocalVar:Count <- 7
  33176. 0x19B }
  33177. 0x19B Else
  33178. 0x19B {
  33179. 0x19E }
  33180. 0x19E Else
  33181. 0x19E {
  33182. 0x1A1 LocalVar:Count <- 8
  33183. 0x1A7 }
  33184. 0x1A7 Else
  33185. 0x1A7 {
  33186. 0x1AA POP(Random MOD 3)
  33187. 0x1AB }
  33188. 0x1AB Else
  33189. 0x1AB {
  33190. 0x1AE }
  33191. 0x1AE Else
  33192. 0x1AE {
  33193. 0x1B1 LocalVar:Count <- 4
  33194. 0x1B7 }
  33195. 0x1B7 Else
  33196. 0x1B7 {
  33197. 0x1BA POP(LocalVar:HPStage)
  33198. 0x1BB }
  33199. 0x1BB Else
  33200. 0x1BB {
  33201. 0x1BE }
  33202. 0x1BE Else
  33203. 0x1BE {
  33204. 0x1C1 If (LocalVar:Count == 4)
  33205. 0x1C1 {
  33206. 0x1C6 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33207. 0x1C6 {
  33208. 0x1D3 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33209. 0x1E2 Perform("World"[01FA], EnemyAttack)
  33210. 0x1E8 }
  33211. 0x1E8 Else
  33212. 0x1E8 {
  33213. 0x1EB If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33214. 0x1EB {
  33215. 0x1F8 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33216. 0x207 }
  33217. 0x207 Else
  33218. 0x207 {
  33219. 0x20A BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33220. 0x212 Perform("Spin Turn"[01F5], EnemyAttack)
  33221. 0x218 LocalVar:Count <- 5
  33222. 0x21E }
  33223. 0x21E Else
  33224. 0x21E {
  33225. 0x221 }
  33226. 0x221 Else
  33227. 0x221 {
  33228. 0x224 If (LocalVar:Count == 5)
  33229. 0x224 {
  33230. 0x229 LocalVar:Count <- 6
  33231. 0x22F }
  33232. 0x22F Else
  33233. 0x22F {
  33234. 0x232 }
  33235. 0x232 Else
  33236. 0x232 {
  33237. 0x235 If (LocalVar:Count == 6)
  33238. 0x235 {
  33239. 0x23A If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  33240. 0x23A {
  33241. 0x247 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 1) )
  33242. 0x256 Perform("Hidden One"[01F7], EnemyAttack)
  33243. 0x25C }
  33244. 0x25C Else
  33245. 0x25C {
  33246. 0x25F If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33247. 0x25F {
  33248. 0x26C BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33249. 0x27B }
  33250. 0x27B Else
  33251. 0x27B {
  33252. 0x27E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33253. 0x286 Perform("Star"[01F8], EnemyAttack)
  33254. 0x28C LocalVar:Count <- 0
  33255. 0x292 }
  33256. 0x292 Else
  33257. 0x292 {
  33258. 0x295 }
  33259. 0x295 Else
  33260. 0x295 {
  33261. 0x298 If (LocalVar:Count == 7)
  33262. 0x298 {
  33263. 0x29D If ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  33264. 0x29D {
  33265. 0x2AA BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  33266. 0x2B9 Perform("Sun"[01F9], EnemyAttack)
  33267. 0x2BF }
  33268. 0x2BF Else
  33269. 0x2BF {
  33270. 0x2C2 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33271. 0x2C2 {
  33272. 0x2CF BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33273. 0x2DE }
  33274. 0x2DE Else
  33275. 0x2DE {
  33276. 0x2E1 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33277. 0x2E9 Perform("Spin Turn"[01F5], EnemyAttack)
  33278. 0x2EF LocalVar:Count <- 0
  33279. 0x2F5 }
  33280. 0x2F5 Else
  33281. 0x2F5 {
  33282. 0x2F8 }
  33283. 0x2F8 Else
  33284. 0x2F8 {
  33285. 0x2FB If ( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  33286. 0x2FB {
  33287. 0x308 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SilenceStatus) == 0) )
  33288. 0x317 Perform("Sun"[01F9], EnemyAttack)
  33289. 0x31D }
  33290. 0x31D Else
  33291. 0x31D {
  33292. 0x320 If ( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33293. 0x320 {
  33294. 0x32D BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&StopStatus) == 0) )
  33295. 0x33C }
  33296. 0x33C Else
  33297. 0x33C {
  33298. 0x33F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33299. 0x347 Perform("Spin Turn"[01F5], EnemyAttack)
  33300. 0x34D LocalVar:Count <- 0
  33301. 0x353 }
  33302. 0x353 Else
  33303. 0x353 {
  33304. 0x356POP(LocalVar:Count)
  33305. 0x357SCRIPT END
  33306.  
  33307.  
  33308. GENERAL COUNTER:
  33309.  
  33310. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 1) )
  33311. 0x000 {
  33312. 0x018 LocalVar:HPStage <- 3
  33313. 0x01E If (Not (LocalVar:SpclAttack) )
  33314. 0x01E {
  33315. 0x025 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  33316. 0x030 Perform("Roulette"[005D], EnemyAttack)
  33317. 0x035 LocalVar:SpclAttack <- 1
  33318. 0x03B }
  33319. 0x03B Else
  33320. 0x03B {
  33321. 0x03E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  33322. 0x03E {
  33323. 0x056 LocalVar:HPStage <- 2
  33324. 0x05C }
  33325. 0x05C Else
  33326. 0x05C {
  33327. 0x05F If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  33328. 0x05F {
  33329. 0x077 LocalVar:HPStage <- 1
  33330. 0x07D }
  33331. 0x07D Else
  33332. 0x07D {
  33333. 0x080 LocalVar:HPStage <- 0
  33334. 0x086SCRIPT END
  33335.  
  33336.  
  33337.  
  33338.  
  33339. 324 - [144] Jenova-SYNTHESIS
  33340.  
  33341.  
  33342. LocalVar:0000 = LocalVar:Jen-SynthA
  33343. LocalVar:0020 = LocalVar:Jen-SynthB
  33344. LocalVar:0040 = LocalVar:Jen-SynthC
  33345. LocalVar:0060 = LocalVar:AverageLevel
  33346. LocalVar:0080 = LocalVar:QtyOfLevels
  33347. LocalVar:00A0 = Unused
  33348. LocalVar:00C0 = LocalVar:Count
  33349. LocalVar:00E0 = LocalVar:SpclTurnCount
  33350. LocalVar:0100 = LocalVar:QtyOfLevels<35
  33351. LocalVar:0120 = LocalVar:QtyOfLevels<45
  33352. LocalVar:0140 = LocalVar:QtyOfLevels=99
  33353. LocalVar:0160 = LocalVar:Cloud'sLv>60
  33354.  
  33355. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  33356. GlobalVar(005C) = GlobalVar(MainDeathMask)
  33357. GlobalVar(005D) = GlobalVar(AltDeathMask)
  33358. GlobalVar(005E) = GlobalVar(OpeningSetup)
  33359. GlobalVar(01C4) = GlobalVar(Cloud'sLv)
  33360. GlobalVar(01C5) = GlobalVar(Barret'sLv)
  33361. GlobalVar(01C6) = GlobalVar(Tifa'sLv)
  33362. GlobalVar(01C7) = GlobalVar(RedXIII'sLv)
  33363. GlobalVar(01C8) = GlobalVar(Yuffie'sLv)
  33364. GlobalVar(01C9) = GlobalVar(CaitSith'sLv)
  33365. GlobalVar(01CA) = GlobalVar(Vincent'sLv)
  33366. GlobalVar(01CB) = GlobalVar(Cid'sLv)
  33367. GlobalVar(01CC) = GlobalVar(BizarroGroupCount)
  33368. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  33369. GlobalVar(026C) = GlobalVar(JenovaKOTR)
  33370.  
  33371. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  33372. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  33373. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  33374. BattleAddr(&2060) = BattleAddr(&Self)
  33375. BattleAddr(&2070) = BattleAddr(&TarSelected)
  33376. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  33377. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  33378. BattleAddr(&2150) = BattleAddr(&LastAttIndex)
  33379. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  33380.  
  33381. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  33382. BattleAddr(&4023) = BattleAddr(&Targetable)
  33383. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  33384. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  33385. BattleAddr(&402D) = BattleAddr(&SelfDead)
  33386. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  33387. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  33388. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  33389. BattleAddr(&4100) = BattleAddr(&Def)
  33390. BattleAddr(&4110) = BattleAddr(&MDef)
  33391. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  33392. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  33393. BattleAddr(&4180) = BattleAddr(&MaxHP)
  33394. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  33395. BattleAddr(&42C0) = BattleAddr(&SelfGIL)
  33396. BattleAddr(&42E0) = BattleAddr(&SelfEXP)
  33397.  
  33398.  
  33399.  
  33400. PRE-BATTLE:
  33401.  
  33402. 0x000LocalVar:Jen-SynthA <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  33403. 0x00ELocalVar:Jen-SynthB <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  33404. 0x01CLocalVar:Jen-SynthC <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  33405. 0x02ABattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  33406. 0x034LocalVar:SpclTurnCount <- 9
  33407. 0x03ABattleAddr(&MemBank1/2) <- 0
  33408. 0x040GlobalVar(JenovaKOTR) <- &TempGlobal)
  33409. 0x046 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  33410. 0x046 {
  33411. 0x052 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 0
  33412. 0x05C BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 3
  33413. 0x066 TempGlobal <- &GlobalVar(Cloud'sLv)
  33414. 0x06C LocalVar:QtyOfLevels <- 1
  33415. 0x072 If ( (BattleAddr(&MemBank1/2) > 0) )
  33416. 0x072 {
  33417. 0x07B LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33418. 0x086 If ( (BattleAddr(&MemBank1/2) > 60) )
  33419. 0x086 {
  33420. 0x08F LocalVar:Cloud'sLv>60 <- 1
  33421. 0x095 If ( (BattleAddr(&MemBank1/2) == 99) )
  33422. 0x095 {
  33423. 0x09E LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33424. 0x0A8 If ( (BattleAddr(&MemBank1/2) < 45) )
  33425. 0x0A8 {
  33426. 0x0B1 LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33427. 0x0BB If ( (BattleAddr(&MemBank1/2) < 35) )
  33428. 0x0BB {
  33429. 0x0C4 LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33430. 0x0CE TempGlobal <- &GlobalVar(Barret'sLv)
  33431. 0x0D4 If ( (BattleAddr(&MemBank1/2) > 0) )
  33432. 0x0D4 {
  33433. 0x0DD LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33434. 0x0E8 LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33435. 0x0F2 If ( (BattleAddr(&MemBank1/2) == 99) )
  33436. 0x0F2 {
  33437. 0x0FB LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33438. 0x105 If ( (BattleAddr(&MemBank1/2) < 45) )
  33439. 0x105 {
  33440. 0x10E LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33441. 0x118 If ( (BattleAddr(&MemBank1/2) < 35) )
  33442. 0x118 {
  33443. 0x121 LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33444. 0x12B TempGlobal <- &GlobalVar(Tifa'sLv)
  33445. 0x131 If ( (BattleAddr(&MemBank1/2) > 0) )
  33446. 0x131 {
  33447. 0x13A LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33448. 0x145 LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33449. 0x14F If ( (BattleAddr(&MemBank1/2) == 99) )
  33450. 0x14F {
  33451. 0x158 LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33452. 0x162 If ( (BattleAddr(&MemBank1/2) < 45) )
  33453. 0x162 {
  33454. 0x16B LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33455. 0x175 If ( (BattleAddr(&MemBank1/2) < 35) )
  33456. 0x175 {
  33457. 0x17E LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33458. 0x188 TempGlobal <- &GlobalVar(RedXIII'sLv)
  33459. 0x18E If ( (BattleAddr(&MemBank1/2) > 0) )
  33460. 0x18E {
  33461. 0x197 LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33462. 0x1A2 LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33463. 0x1AC If ( (BattleAddr(&MemBank1/2) == 99) )
  33464. 0x1AC {
  33465. 0x1B5 LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33466. 0x1BF If ( (BattleAddr(&MemBank1/2) < 45) )
  33467. 0x1BF {
  33468. 0x1C8 LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33469. 0x1D2 If ( (BattleAddr(&MemBank1/2) < 35) )
  33470. 0x1D2 {
  33471. 0x1DB LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33472. 0x1E5 TempGlobal <- &GlobalVar(Yuffie'sLv)
  33473. 0x1EB If ( (BattleAddr(&MemBank1/2) > 0) )
  33474. 0x1EB {
  33475. 0x1F4 LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33476. 0x1FF LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33477. 0x209 If ( (BattleAddr(&MemBank1/2) == 99) )
  33478. 0x209 {
  33479. 0x212 LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33480. 0x21C If ( (BattleAddr(&MemBank1/2) < 45) )
  33481. 0x21C {
  33482. 0x225 LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33483. 0x22F If ( (BattleAddr(&MemBank1/2) < 35) )
  33484. 0x22F {
  33485. 0x238 LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33486. 0x242 TempGlobal <- &GlobalVar(CaitSith'sLv)
  33487. 0x248 If ( (BattleAddr(&MemBank1/2) > 0) )
  33488. 0x248 {
  33489. 0x251 LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33490. 0x25C LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33491. 0x266 If ( (BattleAddr(&MemBank1/2) == 99) )
  33492. 0x266 {
  33493. 0x26F LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33494. 0x279 If ( (BattleAddr(&MemBank1/2) < 45) )
  33495. 0x279 {
  33496. 0x282 LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33497. 0x28C If ( (BattleAddr(&MemBank1/2) < 35) )
  33498. 0x28C {
  33499. 0x295 LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33500. 0x29F TempGlobal <- &GlobalVar(Vincent'sLv)
  33501. 0x2A5 If ( (BattleAddr(&MemBank1/2) > 0) )
  33502. 0x2A5 {
  33503. 0x2AE LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33504. 0x2B9 LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33505. 0x2C3 If ( (BattleAddr(&MemBank1/2) == 99) )
  33506. 0x2C3 {
  33507. 0x2CC LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33508. 0x2D6 If ( (BattleAddr(&MemBank1/2) < 45) )
  33509. 0x2D6 {
  33510. 0x2DF LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33511. 0x2E9 If ( (BattleAddr(&MemBank1/2) < 35) )
  33512. 0x2E9 {
  33513. 0x2F2 LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33514. 0x2FC TempGlobal <- &GlobalVar(Cid'sLv)
  33515. 0x302 If ( (BattleAddr(&MemBank1/2) > 0) )
  33516. 0x302 {
  33517. 0x30B LocalVar:AverageLevel <- LocalVar:AverageLevel + BattleAddr(&MemBank1/2)
  33518. 0x316 LocalVar:QtyOfLevels <- LocalVar:QtyOfLevels + 1
  33519. 0x320 If ( (BattleAddr(&MemBank1/2) == 99) )
  33520. 0x320 {
  33521. 0x329 LocalVar:QtyOfLevels=99 <- LocalVar:QtyOfLevels=99 + 1
  33522. 0x333 If ( (BattleAddr(&MemBank1/2) < 45) )
  33523. 0x333 {
  33524. 0x33C LocalVar:QtyOfLevels<45 <- LocalVar:QtyOfLevels<45 + 1
  33525. 0x346 If ( (BattleAddr(&MemBank1/2) < 35) )
  33526. 0x346 {
  33527. 0x34F LocalVar:QtyOfLevels<35 <- LocalVar:QtyOfLevels<35 + 1
  33528. 0x359 LocalVar:AverageLevel <- LocalVar:AverageLevel / LocalVar:QtyOfLevels
  33529. 0x364 }
  33530. 0x364 Else
  33531. 0x364 {
  33532. 0x367 }
  33533. 0x367 Else
  33534. 0x367 {
  33535. 0x36A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  33536. 0x36A {
  33537. 0x36F BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 16
  33538. 0x379 BattleAddr(&Self).BattleAddr(&MaxHP) <- 10000
  33539. 0x384 BattleAddr(&Self).BattleAddr(&CurrentHP) <- 10000
  33540. 0x38F BattleAddr(&Self).BattleAddr(&SelfEXP) <- 0
  33541. 0x399 BattleAddr(&Self).BattleAddr(&SelfGIL) <- 0
  33542. 0x3A3 }
  33543. 0x3A3 Else
  33544. 0x3A3 {
  33545. 0x3A6 }
  33546. 0x3A6 Else
  33547. 0x3A6 {
  33548. 0x3A9 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  33549. 0x3A9 {
  33550. 0x3AE BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  33551. 0x3B8 BattleAddr(&Self).BattleAddr(&MaxHP) <- 8000
  33552. 0x3C3 BattleAddr(&Self).BattleAddr(&CurrentHP) <- 8000
  33553. 0x3CE BattleAddr(&Self).BattleAddr(&SelfEXP) <- 0
  33554. 0x3D8 BattleAddr(&Self).BattleAddr(&SelfGIL) <- 0
  33555. 0x3E2 }
  33556. 0x3E2 Else
  33557. 0x3E2 {
  33558. 0x3E5POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  33559. 0x3E6SCRIPT END
  33560.  
  33561.  
  33562. MAIN:
  33563.  
  33564. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  33565. 0x000 {
  33566. 0x00C If ( (LocalVar:SpclTurnCount < 6) )
  33567. 0x00C {
  33568. 0x015 If (LocalVar:SpclTurnCount == 0)
  33569. 0x015 {
  33570. 0x01D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  33571. 0x024 Perform("Ultima"[0034], EnemyAttack)
  33572. 0x029 If ( (LocalVar:Cloud'sLv>60 == 1) )
  33573. 0x029 {
  33574. 0x032 BattleAddr(&MemBank1/2) <- 3
  33575. 0x038 }
  33576. 0x038 Else
  33577. 0x038 {
  33578. 0x03B BattleAddr(&MemBank1/2) <- 2
  33579. 0x041 If ( ( (LocalVar:Count < 6) Or (LocalVar:QtyOfLevels<45 == 0) ) )
  33580. 0x041 {
  33581. 0x051 BattleAddr(&MemBank1/2) <- 3
  33582. 0x057 If ( ( ( (LocalVar:QtyOfLevels<45 > 0) Or (LocalVar:QtyOfLevels < 8) ) Or (LocalVar:AverageLevel < 68) ) )
  33583. 0x057 {
  33584. 0x06E BattleAddr(&MemBank1/2) <- 2
  33585. 0x074 If ( ( ( (LocalVar:Count > 12) Or (LocalVar:AverageLevel < 54) ) Or (LocalVar:QtyOfLevels<35 > 0) ) )
  33586. 0x074 {
  33587. 0x08B BattleAddr(&MemBank1/2) <- 1
  33588. 0x091 GlobalVar(BizarroGroupCount) <- &TempGlobal)
  33589. 0x097 BattleAddr(&MemBank1/2) <- 0
  33590. 0x09D GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  33591. 0x0A2 GlobalVar(MainDeathMask) <- &TempGlobal)
  33592. 0x0A7 GlobalVar(AltDeathMask) <- &TempGlobal)
  33593. 0x0AC GlobalVar(OpeningSetup) <- &TempGlobal)
  33594. 0x0B1 BattleAddr(&MemBank1/2) <- LocalVar:QtyOfLevels=99
  33595. 0x0B8 GlobalVar(QtyOfLevels=99) <- &TempGlobal)
  33596. 0x0BE BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  33597. 0x0C8 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  33598. 0x0D2 }
  33599. 0x0D2 Else
  33600. 0x0D2 {
  33601. 0x0D5 }
  33602. 0x0D5 Else
  33603. 0x0D5 {
  33604. 0x0D8 If (LocalVar:SpclTurnCount == 1)
  33605. 0x0D8 {
  33606. 0x0DD Display String: "1"
  33607. 0x0E0 }
  33608. 0x0E0 Else
  33609. 0x0E0 {
  33610. 0x0E3 }
  33611. 0x0E3 Else
  33612. 0x0E3 {
  33613. 0x0E6 If (LocalVar:SpclTurnCount == 2)
  33614. 0x0E6 {
  33615. 0x0EB Display String: "2"
  33616. 0x0EE }
  33617. 0x0EE Else
  33618. 0x0EE {
  33619. 0x0F1 }
  33620. 0x0F1 Else
  33621. 0x0F1 {
  33622. 0x0F4 If (LocalVar:SpclTurnCount == 3)
  33623. 0x0F4 {
  33624. 0x0F9 Display String: "3"
  33625. 0x0FC }
  33626. 0x0FC Else
  33627. 0x0FC {
  33628. 0x0FF }
  33629. 0x0FF Else
  33630. 0x0FF {
  33631. 0x102 If (LocalVar:SpclTurnCount == 4)
  33632. 0x102 {
  33633. 0x107 Display String: "4"
  33634. 0x10A }
  33635. 0x10A Else
  33636. 0x10A {
  33637. 0x10D }
  33638. 0x10D Else
  33639. 0x10D {
  33640. 0x110 If (LocalVar:SpclTurnCount == 5)
  33641. 0x110 {
  33642. 0x115 Display String: "5"
  33643. 0x118 }
  33644. 0x118 Else
  33645. 0x118 {
  33646. 0x11B POP(LocalVar:SpclTurnCount)
  33647. 0x11C LocalVar:SpclTurnCount <- LocalVar:SpclTurnCount - 1
  33648. 0x126 }
  33649. 0x126 Else
  33650. 0x126 {
  33651. 0x129 If ( (LocalVar:Count < 250) )
  33652. 0x129 {
  33653. 0x132 LocalVar:Count <- LocalVar:Count + 1
  33654. 0x13C }
  33655. 0x13C Else
  33656. 0x13C {
  33657. 0x13F LocalVar:Count <- LocalVar:Count - 9
  33658. 0x149 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33659. 0x151 If (LocalVar:Count MOD 5 == 1)
  33660. 0x151 {
  33661. 0x15C }
  33662. 0x15C Else
  33663. 0x15C {
  33664. 0x15F If (LocalVar:Count MOD 5 == 3)
  33665. 0x15F {
  33666. 0x164 If ( (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 0) )
  33667. 0x164 {
  33668. 0x171 If ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 0) )
  33669. 0x171 {
  33670. 0x17E Perform("Repeating Slap"[03B4], EnemyAttack)
  33671. 0x184 }
  33672. 0x184 Else
  33673. 0x184 {
  33674. 0x187 Perform("Repeating Slap"[03B7], EnemyAttack)
  33675. 0x18D }
  33676. 0x18D Else
  33677. 0x18D {
  33678. 0x190 BattleAddr(&Self).BattleAddr(&Def) <- 80
  33679. 0x19A }
  33680. 0x19A Else
  33681. 0x19A {
  33682. 0x19D }
  33683. 0x19D Else
  33684. 0x19D {
  33685. 0x1A0 If (LocalVar:Count MOD 5 == 2)
  33686. 0x1A0 {
  33687. 0x1A5 }
  33688. 0x1A5 Else
  33689. 0x1A5 {
  33690. 0x1A8 If (LocalVar:Count MOD 5 == 4)
  33691. 0x1A8 {
  33692. 0x1AD If ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 0) )
  33693. 0x1AD {
  33694. 0x1BA If ( (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 0) )
  33695. 0x1BA {
  33696. 0x1C7 Perform("Absorb"[03B3], EnemyAttack)
  33697. 0x1CD }
  33698. 0x1CD Else
  33699. 0x1CD {
  33700. 0x1D0 Perform("Absorb"[03B9], EnemyAttack)
  33701. 0x1D6 }
  33702. 0x1D6 Else
  33703. 0x1D6 {
  33704. 0x1D9 BattleAddr(&Self).BattleAddr(&MDef) <- 150
  33705. 0x1E3 }
  33706. 0x1E3 Else
  33707. 0x1E3 {
  33708. 0x1E6 }
  33709. 0x1E6 Else
  33710. 0x1E6 {
  33711. 0x1E9 If ( ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 1) And (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 1) ) )
  33712. 0x1E9 {
  33713. 0x201 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  33714. 0x208 Perform("Right Hand Revived"[03BA], EnemyAttack)
  33715. 0x20E LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) <- 0
  33716. 0x218 LocalVar:Jen-SynthC.BattleAddr(&SelfDead) <- 0
  33717. 0x222 LocalVar:Jen-SynthC.BattleAddr(&Targetable) <- 1
  33718. 0x22C LocalVar:Jen-SynthC.BattleAddr(&AIScriptActive) <- 1
  33719. 0x236 LocalVar:Jen-SynthC.BattleAddr(&CurrentHP) <- LocalVar:Jen-SynthC.BattleAddr(&MaxHP) / 4
  33720. 0x248 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 13
  33721. 0x252 Perform("Left Hand Revived"[03B6], EnemyAttack)
  33722. 0x258 LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) <- 0
  33723. 0x262 LocalVar:Jen-SynthB.BattleAddr(&SelfDead) <- 0
  33724. 0x26C LocalVar:Jen-SynthB.BattleAddr(&Targetable) <- 1
  33725. 0x276 LocalVar:Jen-SynthB.BattleAddr(&AIScriptActive) <- 1
  33726. 0x280 LocalVar:Jen-SynthB.BattleAddr(&CurrentHP) <- LocalVar:Jen-SynthB.BattleAddr(&MaxHP) / 4
  33727. 0x292 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  33728. 0x29C BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  33729. 0x2A6 BattleAddr(&Self).BattleAddr(&Def) <- 100
  33730. 0x2B0 BattleAddr(&Self).BattleAddr(&MDef) <- 180
  33731. 0x2BA }
  33732. 0x2BA Else
  33733. 0x2BA {
  33734. 0x2BD If ( ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 1) And (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 0) ) )
  33735. 0x2BD {
  33736. 0x2D5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  33737. 0x2DD If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Stop [0015])) )
  33738. 0x2DD {
  33739. 0x2EB Perform("Stop"[0015], EnemyAttack)
  33740. 0x2F0 }
  33741. 0x2F0 Else
  33742. 0x2F0 {
  33743. 0x2F3 If ( ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 0) And (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 1) ) )
  33744. 0x2F3 {
  33745. 0x30B BattleAddr(&TarSelected) <- BattleAddr(&AllEnemies)
  33746. 0x312 If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Cure3 [0002])) )
  33747. 0x312 {
  33748. 0x320 Perform("Cure3"[0002], EnemyAttack)
  33749. 0x325 }
  33750. 0x325 Else
  33751. 0x325 {
  33752. 0x328 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  33753. 0x32F If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Bio2 [0028])) )
  33754. 0x32F {
  33755. 0x33D Perform("Bio2"[0028], EnemyAttack)
  33756. 0x342 }
  33757. 0x342 Else
  33758. 0x342 {
  33759. 0x345 POP(LocalVar:Count MOD 5)
  33760. 0x346 }
  33761. 0x346 Else
  33762. 0x346 {
  33763. 0x349 }
  33764. 0x349 Else
  33765. 0x349 {
  33766. 0x34C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  33767. 0x34C {
  33768. 0x351 }
  33769. 0x351 Else
  33770. 0x351 {
  33771. 0x354 }
  33772. 0x354 Else
  33773. 0x354 {
  33774. 0x357 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  33775. 0x357 {
  33776. 0x35C }
  33777. 0x35C Else
  33778. 0x35C {
  33779. 0x35FPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  33780. 0x360SCRIPT END
  33781.  
  33782.  
  33783. GENERAL COUNTER:
  33784.  
  33785. 0x000 If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  33786. 0x000 {
  33787. 0x00D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < 15000) And (LocalVar:SpclTurnCount > 5) ) )
  33788. 0x00D {
  33789. 0x022 LocalVar:SpclTurnCount <- 5
  33790. 0x028 If ( ( ( (BattleAddr(&LastCommndID) == 3) Or (BattleAddr(&LastCommndID) == 22) ) And (BattleAddr(&LastAttIndex) == 71) ) )
  33791. 0x028 {
  33792. 0x03F BattleAddr(&MemBank1/2) <- 1
  33793. 0x045 GlobalVar(JenovaKOTR) <- &TempGlobal)
  33794. 0x04BSCRIPT END
  33795.  
  33796.  
  33797. DEATH COUNTER:
  33798.  
  33799. 0x000 If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  33800. 0x000 {
  33801. 0x00D If ( ( ( (BattleAddr(&LastCommndID) == 3) Or (BattleAddr(&LastCommndID) == 22) ) And (BattleAddr(&LastAttIndex) == 71) ) )
  33802. 0x00D {
  33803. 0x024 BattleAddr(&MemBank1/2) <- 1
  33804. 0x02A GlobalVar(JenovaKOTR) <- &TempGlobal)
  33805. 0x030 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  33806. 0x03A BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  33807. 0x044 If ( (LocalVar:Cloud'sLv>60 == 1) )
  33808. 0x044 {
  33809. 0x04D BattleAddr(&MemBank1/2) <- 3
  33810. 0x053 }
  33811. 0x053 Else
  33812. 0x053 {
  33813. 0x056 BattleAddr(&MemBank1/2) <- 2
  33814. 0x05C If ( ( (LocalVar:Count < 6) Or (LocalVar:QtyOfLevels<45 == 0) ) )
  33815. 0x05C {
  33816. 0x06C BattleAddr(&MemBank1/2) <- 3
  33817. 0x072 If ( ( ( (LocalVar:QtyOfLevels<45 > 0) Or (LocalVar:QtyOfLevels < 8) ) Or (LocalVar:AverageLevel < 68) ) )
  33818. 0x072 {
  33819. 0x089 BattleAddr(&MemBank1/2) <- 2
  33820. 0x08F If ( ( ( (LocalVar:Count > 12) Or (LocalVar:AverageLevel < 54) ) Or (LocalVar:QtyOfLevels<35 > 0) ) )
  33821. 0x08F {
  33822. 0x0A6 BattleAddr(&MemBank1/2) <- 1
  33823. 0x0AC GlobalVar(BizarroGroupCount) <- &TempGlobal)
  33824. 0x0B2 BattleAddr(&MemBank1/2) <- 0
  33825. 0x0B8 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  33826. 0x0BD GlobalVar(MainDeathMask) <- &TempGlobal)
  33827. 0x0C2 GlobalVar(AltDeathMask) <- &TempGlobal)
  33828. 0x0C7 GlobalVar(OpeningSetup) <- &TempGlobal)
  33829. 0x0CC BattleAddr(&MemBank1/2) <- LocalVar:QtyOfLevels=99
  33830. 0x0D3 GlobalVar(QtyOfLevels=99) <- &TempGlobal)
  33831. 0x0D9 }
  33832. 0x0D9 Else
  33833. 0x0D9 {
  33834. 0x0DC If ( (LocalVar:Jen-SynthA.BattleAddr(&DeathStatus) == 0) )
  33835. 0x0DC {
  33836. 0x0E9 BattleAddr(&TarSelected) <- (BattleAddr(&AllEnemies).BattleAddr(&GrpFormID) == 0)
  33837. 0x0F7 If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1) )
  33838. 0x0F7 {
  33839. 0x104 BattleAddr(&TarSelected).BattleAddr(&Def) <- 80
  33840. 0x10E }
  33841. 0x10E Else
  33842. 0x10E {
  33843. 0x111 BattleAddr(&TarSelected).BattleAddr(&MDef) <- 150
  33844. 0x11B If ( (LocalVar:Jen-SynthC.BattleAddr(&DeathStatus) == 0) )
  33845. 0x11B {
  33846. 0x128 If ( (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 1) )
  33847. 0x128 {
  33848. 0x135 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 13
  33849. 0x13F BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 14
  33850. 0x149 }
  33851. 0x149 Else
  33852. 0x149 {
  33853. 0x14C If ( (LocalVar:Jen-SynthB.BattleAddr(&DeathStatus) == 1) )
  33854. 0x14C {
  33855. 0x159 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 18
  33856. 0x163 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 19
  33857. 0x16D }
  33858. 0x16D Else
  33859. 0x16D {
  33860. 0x170 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 8
  33861. 0x17A BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 9
  33862. 0x184SCRIPT END
  33863.  
  33864.  
  33865.  
  33866.  
  33867. 325 - [145] Bizarro-Sephiroth (1 Party Centre)
  33868.  
  33869. Perspective is from Bizarro's perspective (Right Shoulder is Right Magic)
  33870.  
  33871.  
  33872. LocalVar:0000 = LocalVar:BizHead [B]
  33873. LocalVar:0020 = LocalVar:BizBody [A]
  33874. LocalVar:0040 = LocalVar:BizCore [C]
  33875. LocalVar:0060 = LocalVar:BizRightShld [D]
  33876. LocalVar:0080 = LocalVar:BizLeftShld [E]
  33877. LocalVar:00A0 = LocalVar:HPTempVar
  33878. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  33879. LocalVar:00E0 = LocalVar:KotrHPBoost
  33880. LocalVar:0100 = LocalVar:Count
  33881. LocalVar:0120 = LocalVar:CoreVulTurnCount
  33882. LocalVar:0140 = LocalVar:AttackConfirmed
  33883.  
  33884. GlobalVar(0048) = GlobalVar(Party1TurnCount)
  33885. GlobalVar(0049) = GlobalVar(Party2TurnCount)
  33886. GlobalVar(004A) = GlobalVar(Party3TurnCount)
  33887. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  33888. GlobalVar(005C) = GlobalVar(MainDeathMask)
  33889. GlobalVar(005D) = GlobalVar(AltDeathMask)
  33890. GlobalVar(005E) = GlobalVar(OpeningSetup)
  33891.  
  33892. &32 0x20 = 3rdPartyStarted
  33893. &64 0x40 = 2ndPartyStarted
  33894. &128 0x80 = MainPartyStarted
  33895.  
  33896. GlobalVar(01CD) = GlobalVar(SwitchParty)
  33897. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  33898. GlobalVar(0269) = GlobalVar(1stPartyCoreVulTurnCount)
  33899. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount)
  33900. GlobalVar(026B) = GlobalVar(3rdPartyCoreVulTurnCount)
  33901. GlobalVar(026C) = GlobalVar(JenovaKOTR)
  33902.  
  33903. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  33904. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  33905. BattleAddr(&2060) = BattleAddr(&Self)
  33906. BattleAddr(&2070) = BattleAddr(&TarSelected)
  33907. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  33908. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  33909. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  33910. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  33911.  
  33912. &1 0x01 = ?
  33913. &2 0x02 = Don's apply Poison/Regen?
  33914. &4 0x04 = Other Battles in sequence
  33915. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  33916. &16 0x10 = Cloud learns all limits
  33917. &32 0x20 = No reward screen
  33918.  
  33919. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  33920. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  33921. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  33922. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  33923. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  33924. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  33925. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  33926. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  33927. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  33928. BattleAddr(&400A) = BattleAddr(&StopStatus)
  33929. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  33930. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  33931. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  33932. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  33933. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  33934. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  33935. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  33936. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  33937. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  33938. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  33939. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  33940. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  33941. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  33942. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  33943. BattleAddr(&4020) = BattleAddr(&SelfActive)
  33944. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  33945. BattleAddr(&4023) = BattleAddr(&Targetable)
  33946. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  33947. BattleAddr(&402D) = BattleAddr(&SelfDead)
  33948. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  33949. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  33950. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  33951. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  33952. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  33953. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  33954. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  33955. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  33956. BattleAddr(&4150) = BattleAddr(&MaxMP)
  33957. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  33958. BattleAddr(&4180) = BattleAddr(&MaxHP)
  33959. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  33960. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  33961.  
  33962.  
  33963.  
  33964. FORMATION PRE-BATTLE:
  33965.  
  33966. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 32
  33967. 0x00ASCRIPT END
  33968.  
  33969.  
  33970. PRE-BATTLE:
  33971.  
  33972. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  33973. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  33974. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  33975. 0x02ALocalVar:BizRightShld <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  33976. 0x038LocalVar:BizLeftShld <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  33977. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  33978. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  33979. 0x050 {
  33980. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  33981. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  33982. 0x069 TempGlobal <- &GlobalVar(JenovaKOTR)
  33983. 0x06F If ( (BattleAddr(&MemBank1/2) == 1) )
  33984. 0x06F {
  33985. 0x078 LocalVar:KotrHPBoost <- 60000
  33986. 0x07F }
  33987. 0x07F Else
  33988. 0x07F {
  33989. 0x082 LocalVar:KotrHPBoost <- 0
  33990. 0x088 LocalVar:HPTempVar <- 40000 + LocalVar:QtyOfLevels=99 * 5000
  33991. 0x097 LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar + LocalVar:KotrHPBoost
  33992. 0x0A6 LocalVar:HPTempVar <- 4000 - ((8 - LocalVar:QtyOfLevels=99) * 250)
  33993. 0x0B7 LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  33994. 0x0C2 LocalVar:HPTempVar <- 10000 + LocalVar:QtyOfLevels=99 * 1250
  33995. 0x0D1 LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  33996. 0x0DC LocalVar:HPTempVar <- 4000 + LocalVar:QtyOfLevels=99 * 500
  33997. 0x0EB LocalVar:BizRightShld.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  33998. 0x0F6 LocalVar:HPTempVar <- 4000 + LocalVar:QtyOfLevels=99 * 500
  33999. 0x105 LocalVar:BizLeftShld.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34000. 0x110 TempGlobal <- &GlobalVar(OpeningSetup)
  34001. 0x115 If ( (BattleAddr(&MemBank1/2) AND 128 == 0) )
  34002. 0x115 {
  34003. 0x121 LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  34004. 0x130 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  34005. 0x13F LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  34006. 0x14E LocalVar:BizRightShld.BattleAddr(&CurrentHP) <- LocalVar:BizRightShld.BattleAddr(&MaxHP)
  34007. 0x15D LocalVar:BizLeftShld.BattleAddr(&CurrentHP) <- LocalVar:BizLeftShld.BattleAddr(&MaxHP)
  34008. 0x16C BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 128
  34009. 0x176 GlobalVar(OpeningSetup) <- &TempGlobal)
  34010. 0x17B BattleAddr(&MemBank1/2) <- 0
  34011. 0x181 GlobalVar(Party1TurnCount) <- &TempGlobal)
  34012. 0x186 GlobalVar(Party2TurnCount) <- &TempGlobal)
  34013. 0x18B GlobalVar(Party3TurnCount) <- &TempGlobal)
  34014. 0x190 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34015. 0x196 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34016. 0x19C GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  34017. 0x1A2 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  34018. 0x1A7 GlobalVar(MainDeathMask) <- &TempGlobal)
  34019. 0x1AC GlobalVar(AltDeathMask) <- &TempGlobal)
  34020. 0x1B1 Display String: "Think about the sequence of the 5 targets"
  34021. 0x1DC Display String: " and beat them!"
  34022. 0x1ED BattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP)
  34023. 0x1FC }
  34024. 0x1FC Else
  34025. 0x1FC {
  34026. 0x1FF }
  34027. 0x1FF Else
  34028. 0x1FF {
  34029. 0x202 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  34030. 0x202 {
  34031. 0x207 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  34032. 0x211 }
  34033. 0x211 Else
  34034. 0x211 {
  34035. 0x214 }
  34036. 0x214 Else
  34037. 0x214 {
  34038. 0x217 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  34039. 0x217 {
  34040. 0x21C BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 7
  34041. 0x226 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  34042. 0x230 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  34043. 0x23A BattleAddr(&MemBank1/2) <- 0
  34044. 0x240 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34045. 0x246 }
  34046. 0x246 Else
  34047. 0x246 {
  34048. 0x249 }
  34049. 0x249 Else
  34050. 0x249 {
  34051. 0x24C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  34052. 0x24C {
  34053. 0x251 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 29
  34054. 0x25B BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  34055. 0x265 }
  34056. 0x265 Else
  34057. 0x265 {
  34058. 0x268 }
  34059. 0x268 Else
  34060. 0x268 {
  34061. 0x26B If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  34062. 0x26B {
  34063. 0x270 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 25
  34064. 0x27A BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 9
  34065. 0x284 }
  34066. 0x284 Else
  34067. 0x284 {
  34068. 0x287 }
  34069. 0x287 Else
  34070. 0x287 {
  34071. 0x28A BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  34072. 0x294 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34073. 0x29E BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  34074. 0x2A8 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34075. 0x2B2POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  34076. 0x2B3BattleAddr(&MemBank1/2) <- 0
  34077. 0x2B9GlobalVar(SwitchParty) <- &TempGlobal)
  34078. 0x2BFSCRIPT END
  34079.  
  34080.  
  34081. MAIN:
  34082.  
  34083. 0x000 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  34084. 0x000 {
  34085. 0x00C BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  34086. 0x01B TempGlobal <- &GlobalVar(1stPartyCoreVulTurnCount)
  34087. 0x021 LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  34088. 0x028 If ( (LocalVar:CoreVulTurnCount > 0) )
  34089. 0x028 {
  34090. 0x031 LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  34091. 0x03B BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  34092. 0x042 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34093. 0x048 LocalVar:AttackConfirmed <- 0
  34094. 0x04E If ( ( (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) )
  34095. 0x04E {
  34096. 0x066 LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  34097. 0x070 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  34098. 0x07A LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  34099. 0x084 LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  34100. 0x08E LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  34101. 0x09D Display String: "Head Portion (B) Revived"
  34102. 0x0B7 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  34103. 0x0BE Perform([0120], EnemyAttack)
  34104. 0x0C4 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  34105. 0x0CE BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  34106. 0x0D8 LocalVar:AttackConfirmed <- 1
  34107. 0x0DE }
  34108. 0x0DE Else
  34109. 0x0DE {
  34110. 0x0E1 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  34111. 0x0E1 {
  34112. 0x0EE BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  34113. 0x100 LocalVar:Count <- LocalVar:Count + 1
  34114. 0x10A If (LocalVar:Count == 1)
  34115. 0x10A {
  34116. 0x112 If ( ( ( ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  34117. 0x112 {
  34118. 0x13C BattleAddr(&TarSelected) <- LocalVar:BizRightShld + LocalVar:BizLeftShld
  34119. 0x147 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  34120. 0x151 BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  34121. 0x15B BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  34122. 0x165 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  34123. 0x16F Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  34124. 0x175 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  34125. 0x17F LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  34126. 0x189 Display String: "Left&Right-Magic (D&E) Revived"
  34127. 0x1A9 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  34128. 0x1A9 {
  34129. 0x1B6 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  34130. 0x1C0 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  34131. 0x1CA }
  34132. 0x1CA Else
  34133. 0x1CA {
  34134. 0x1CD BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  34135. 0x1D7 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  34136. 0x1E1 BattleAddr(&MemBank1/2) <- 0
  34137. 0x1E7 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34138. 0x1ED LocalVar:AttackConfirmed <- 1
  34139. 0x1F3 }
  34140. 0x1F3 Else
  34141. 0x1F3 {
  34142. 0x1F6 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  34143. 0x1F6 {
  34144. 0x203 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  34145. 0x20E Perform("Aurora Fence"[03B1], EnemyAttack)
  34146. 0x214 BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  34147. 0x21E BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  34148. 0x228 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  34149. 0x232 BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  34150. 0x23C BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  34151. 0x246 BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  34152. 0x250 BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  34153. 0x25A BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  34154. 0x264 BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  34155. 0x26E BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  34156. 0x278 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  34157. 0x282 BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  34158. 0x28C BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  34159. 0x296 BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  34160. 0x2A0 BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  34161. 0x2AA BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  34162. 0x2B4 BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  34163. 0x2BE BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  34164. 0x2C8 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  34165. 0x2D2 BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  34166. 0x2DC BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  34167. 0x2E6 BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  34168. 0x2F0 BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  34169. 0x2FA BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  34170. 0x304 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  34171. 0x30E BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  34172. 0x318 LocalVar:AttackConfirmed <- 1
  34173. 0x31E }
  34174. 0x31E Else
  34175. 0x31E {
  34176. 0x321 }
  34177. 0x321 Else
  34178. 0x321 {
  34179. 0x324 If (LocalVar:Count == 2)
  34180. 0x324 {
  34181. 0x329 If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 0) )
  34182. 0x329 {
  34183. 0x336 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34184. 0x33E Perform("Bolt3"[0023], EnemyAttack)
  34185. 0x343 LocalVar:AttackConfirmed <- 1
  34186. 0x349 }
  34187. 0x349 Else
  34188. 0x349 {
  34189. 0x34C }
  34190. 0x34C Else
  34191. 0x34C {
  34192. 0x34F If (LocalVar:Count == 3)
  34193. 0x34F {
  34194. 0x354 If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 0) )
  34195. 0x354 {
  34196. 0x361 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34197. 0x369 Perform("Quake3"[0026], EnemyAttack)
  34198. 0x36E LocalVar:AttackConfirmed <- 1
  34199. 0x374 }
  34200. 0x374 Else
  34201. 0x374 {
  34202. 0x377 }
  34203. 0x377 Else
  34204. 0x377 {
  34205. 0x37A If (LocalVar:Count == 4)
  34206. 0x37A {
  34207. 0x37F If ( ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  34208. 0x37F {
  34209. 0x397 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  34210. 0x39E If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  34211. 0x39E {
  34212. 0x3AB Perform("Stigma"[03AF], EnemyAttack)
  34213. 0x3B1 }
  34214. 0x3B1 Else
  34215. 0x3B1 {
  34216. 0x3B4 Perform("Stigma"[03B2], EnemyAttack)
  34217. 0x3BA LocalVar:AttackConfirmed <- 1
  34218. 0x3C0 }
  34219. 0x3C0 Else
  34220. 0x3C0 {
  34221. 0x3C3 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  34222. 0x3C3 {
  34223. 0x3D0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  34224. 0x3D7 Perform("Heartless Angel"[03AE], EnemyAttack)
  34225. 0x3DD LocalVar:AttackConfirmed <- 1
  34226. 0x3E3 }
  34227. 0x3E3 Else
  34228. 0x3E3 {
  34229. 0x3E6 }
  34230. 0x3E6 Else
  34231. 0x3E6 {
  34232. 0x3E9 If (LocalVar:Count == 5)
  34233. 0x3E9 {
  34234. 0x3EE }
  34235. 0x3EE Else
  34236. 0x3EE {
  34237. 0x3F1 If (LocalVar:Count == 6)
  34238. 0x3F1 {
  34239. 0x3F6 LocalVar:AttackConfirmed <- 1
  34240. 0x3FC }
  34241. 0x3FC Else
  34242. 0x3FC {
  34243. 0x3FF }
  34244. 0x3FF Else
  34245. 0x3FF {
  34246. 0x402 If (LocalVar:Count == 7)
  34247. 0x402 {
  34248. 0x407 If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 0) )
  34249. 0x407 {
  34250. 0x414 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34251. 0x41C Perform("Ice3"[0020], EnemyAttack)
  34252. 0x421 LocalVar:AttackConfirmed <- 1
  34253. 0x427 }
  34254. 0x427 Else
  34255. 0x427 {
  34256. 0x42A }
  34257. 0x42A Else
  34258. 0x42A {
  34259. 0x42D LocalVar:Count <- 0
  34260. 0x433 If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 0) )
  34261. 0x433 {
  34262. 0x440 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34263. 0x448 Perform("Fire3"[001D], EnemyAttack)
  34264. 0x44D LocalVar:AttackConfirmed <- 1
  34265. 0x453 }
  34266. 0x453 Else
  34267. 0x453 {
  34268. 0x456 POP(LocalVar:Count)
  34269. 0x457 If ( (LocalVar:AttackConfirmed == 0) )
  34270. 0x457 {
  34271. 0x460 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34272. 0x468 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  34273. 0x468 {
  34274. 0x475 Perform("Sephiroth Shock"[03AC], EnemyAttack)
  34275. 0x47B }
  34276. 0x47B Else
  34277. 0x47B {
  34278. 0x47E Perform("Sephiroth Shock"[03B0], EnemyAttack)
  34279. 0x484 LocalVar:AttackConfirmed <- 1
  34280. 0x48A }
  34281. 0x48A Else
  34282. 0x48A {
  34283. 0x48D }
  34284. 0x48D Else
  34285. 0x48D {
  34286. 0x490 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  34287. 0x490 {
  34288. 0x495 BattleAddr(&TarSelected) <- LocalVar:BizBody
  34289. 0x49C Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  34290. 0x4A2 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  34291. 0x4B1 }
  34292. 0x4B1 Else
  34293. 0x4B1 {
  34294. 0x4B4POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  34295. 0x4B5SCRIPT END
  34296.  
  34297.  
  34298. DEATH COUNTER:
  34299.  
  34300. 0x000BattleAddr(&MemBank1/2) <- 0
  34301. 0x006GlobalVar(SwitchParty) <- &TempGlobal)
  34302. 0x00CBattleAddr(&TarSelected) <- BattleAddr(&Self)
  34303. 0x013 If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  34304. 0x013 {
  34305. 0x020 Perform("Vanish"[0150], EnemyAttack)
  34306. 0x026 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  34307. 0x030 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  34308. 0x03A }
  34309. 0x03A Else
  34310. 0x03A {
  34311. 0x03D If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34312. 0x03D {
  34313. 0x04A Perform("Vanish"[014E], EnemyAttack)
  34314. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  34315. 0x050 {
  34316. 0x05C BattleAddr(&MemBank1/2) <- 0
  34317. 0x062 GlobalVar(SwitchParty) <- &TempGlobal)
  34318. 0x068 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  34319. 0x072 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  34320. 0x07C }
  34321. 0x07C Else
  34322. 0x07C {
  34323. 0x07F }
  34324. 0x07F Else
  34325. 0x07F {
  34326. 0x082 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  34327. 0x082 {
  34328. 0x087 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34329. 0x087 {
  34330. 0x094 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  34331. 0x09B Perform([011F], EnemyAttack)
  34332. 0x0A1 Display String: "Head Portion (B) Dead"
  34333. 0x0B8 LocalVar:BizBody.BattleAddr(&IdleAnimID) <- 11
  34334. 0x0C2 LocalVar:BizBody.BattleAddr(&DamagedAnimID) <- 12
  34335. 0x0CC LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  34336. 0x0DB TempGlobal <- &GlobalVar(BizHeadDeathCount)
  34337. 0x0E0 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  34338. 0x0EA If ( (BattleAddr(&MemBank1/2) < 250) )
  34339. 0x0EA {
  34340. 0x0F3 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  34341. 0x0F8 }
  34342. 0x0F8 Else
  34343. 0x0F8 {
  34344. 0x0FB }
  34345. 0x0FB Else
  34346. 0x0FB {
  34347. 0x0FE If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  34348. 0x0FE {
  34349. 0x103 BattleAddr(&MemBank1/2) <- 0
  34350. 0x109 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34351. 0x10F Display String: "Core (C) Dead"
  34352. 0x11E }
  34353. 0x11E Else
  34354. 0x11E {
  34355. 0x121 }
  34356. 0x121 Else
  34357. 0x121 {
  34358. 0x124 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  34359. 0x124 {
  34360. 0x129 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34361. 0x129 {
  34362. 0x136 Display String: "Right Magic (D) Dead"
  34363. 0x14C If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 1) )
  34364. 0x14C {
  34365. 0x159 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  34366. 0x163 LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  34367. 0x16D BattleAddr(&MemBank1/2) <- 1
  34368. 0x173 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34369. 0x179 Display String: "Core (C) Defense Down"
  34370. 0x190 }
  34371. 0x190 Else
  34372. 0x190 {
  34373. 0x193 }
  34374. 0x193 Else
  34375. 0x193 {
  34376. 0x196 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  34377. 0x196 {
  34378. 0x19B If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34379. 0x19B {
  34380. 0x1A8 Display String: "Left Magic (E) Dead"
  34381. 0x1BD If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 1) )
  34382. 0x1BD {
  34383. 0x1CA LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  34384. 0x1D4 LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  34385. 0x1DE BattleAddr(&MemBank1/2) <- 1
  34386. 0x1E4 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  34387. 0x1EA Display String: "Core (C) Defense Down"
  34388. 0x201 }
  34389. 0x201 Else
  34390. 0x201 {
  34391. 0x204POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  34392. 0x205SCRIPT END
  34393.  
  34394.  
  34395.  
  34396.  
  34397. 326 - [146] Bizarro-Sephiroth (2 Parties Right)
  34398.  
  34399. Perspective is from Bizarro's perspective (Shoulder is Left Magic)
  34400.  
  34401.  
  34402. LocalVar:0000 = LocalVar:BizHead [B]
  34403. LocalVar:0020 = LocalVar:BizBody [A]
  34404. LocalVar:0040 = LocalVar:BizCore [C]
  34405. LocalVar:0060 = LocalVar:BizShoulder [D]
  34406. LocalVar:0080 = LocalVar:BizWing [E]
  34407. LocalVar:00A0 = LocalVar:HPTempVar
  34408. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  34409. LocalVar:00E0 = LocalVar:Count
  34410. LocalVar:0100 = LocalVar:CoreVulTurnCount
  34411. LocalVar:0120 = Unused
  34412. LocalVar:0140 = LocalVar:TempMask
  34413. LocalVar:0160 = LocalVar:AttackConfirmed
  34414.  
  34415. GlobalVar(0049) = GlobalVar(Party2TurnCount)
  34416. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  34417. GlobalVar(005C) = GlobalVar(MainDeathMask)
  34418.  
  34419. &1 0x01 = 2ndPartyCoreDead
  34420. &8 0x08 = 1stPartyWingDead
  34421. &16 0x10 = 1stPartyShldDead (Right Magic)
  34422. &32 0x20 = MainPartyCoreDead
  34423. &64 0x40 = HeadDead
  34424.  
  34425. GlobalVar(005D) = GlobalVar(AltDeathMask)
  34426.  
  34427. &64 0x40 = 2ndPartyWingDead
  34428. &128 0x80 = 2ndPartyShldDead (Left Magic)
  34429.  
  34430. GlobalVar(005E) = GlobalVar(OpeningSetup)
  34431. GlobalVar(01CD) = GlobalVar(SwitchParty)
  34432. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  34433. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount)
  34434.  
  34435. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  34436. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  34437. BattleAddr(&2060) = BattleAddr(&Self)
  34438. BattleAddr(&2070) = BattleAddr(&TarSelected)
  34439. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  34440. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  34441. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  34442. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  34443.  
  34444. &1 0x01 = ?
  34445. &2 0x02 = Don's apply Poison/Regen?
  34446. &4 0x04 = Other Battles in sequence
  34447. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  34448. &16 0x10 = Cloud learns all limits
  34449. &32 0x20 = No reward screen
  34450.  
  34451. BattleAddr(&2180) = BattleAddr(&PartyActive)
  34452.  
  34453. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  34454. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  34455. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  34456. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  34457. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  34458. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  34459. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  34460. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  34461. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  34462. BattleAddr(&400A) = BattleAddr(&StopStatus)
  34463. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  34464. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  34465. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  34466. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  34467. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  34468. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  34469. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  34470. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  34471. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  34472. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  34473. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  34474. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  34475. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  34476. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  34477. BattleAddr(&4020) = BattleAddr(&SelfActive)
  34478. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  34479. BattleAddr(&4023) = BattleAddr(&Targetable)
  34480. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  34481. BattleAddr(&402D) = BattleAddr(&SelfDead)
  34482. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  34483. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  34484. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  34485. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  34486. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  34487. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  34488. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  34489. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  34490. BattleAddr(&4150) = BattleAddr(&MaxMP)
  34491. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  34492. BattleAddr(&4180) = BattleAddr(&MaxHP)
  34493. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  34494. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  34495.  
  34496.  
  34497.  
  34498. FORMATION PRE-BATTLE:
  34499.  
  34500. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 36
  34501. 0x00ABattleAddr(&PartyActive) <- 1
  34502. 0x010SCRIPT END
  34503.  
  34504.  
  34505. PRE-BATTLE:
  34506.  
  34507. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  34508. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  34509. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  34510. 0x02ALocalVar:BizShoulder <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  34511. 0x038LocalVar:BizWing <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  34512. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  34513. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  34514. 0x050 {
  34515. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  34516. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  34517. 0x069 LocalVar:HPTempVar <- 35000 + LocalVar:QtyOfLevels=99 * 5000
  34518. 0x078 LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34519. 0x083 LocalVar:HPTempVar <- 4000 - 8 - LocalVar:QtyOfLevels=99 * 250
  34520. 0x094 LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34521. 0x09F LocalVar:HPTempVar <- 12000 + LocalVar:QtyOfLevels=99 * 1500
  34522. 0x0AE LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34523. 0x0B9 LocalVar:HPTempVar <- 6000 + LocalVar:QtyOfLevels=99 * 750
  34524. 0x0C8 LocalVar:BizShoulder.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34525. 0x0D3 LocalVar:HPTempVar <- 4000 + LocalVar:QtyOfLevels=99 * 500
  34526. 0x0E2 LocalVar:BizWing.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  34527. 0x0ED TempGlobal <- &GlobalVar(OpeningSetup)
  34528. 0x0F2 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34529. 0x0F9 If ( (LocalVar:TempMask AND 64 == 0) )
  34530. 0x0F9 {
  34531. 0x105 LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  34532. 0x114 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  34533. 0x123 LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  34534. 0x132 LocalVar:BizShoulder.BattleAddr(&CurrentHP) <- LocalVar:BizShoulder.BattleAddr(&MaxHP)
  34535. 0x141 LocalVar:BizWing.BattleAddr(&CurrentHP) <- LocalVar:BizWing.BattleAddr(&MaxHP)
  34536. 0x150 LocalVar:TempMask <- LocalVar:TempMask OR 64
  34537. 0x15A BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  34538. 0x161 GlobalVar(OpeningSetup) <- &TempGlobal)
  34539. 0x166 BattleAddr(&MemBank1/2) <- 0
  34540. 0x16C GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34541. 0x172 TempGlobal <- &GlobalVar(Party2TurnCount)
  34542. 0x177 LocalVar:Count <- BattleAddr(&MemBank1/2)
  34543. 0x17E BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34544. 0x188 Display String: "If a part dies, change to a different party."
  34545. 0x1B6 }
  34546. 0x1B6 Else
  34547. 0x1B6 {
  34548. 0x1B9 }
  34549. 0x1B9 Else
  34550. 0x1B9 {
  34551. 0x1BC If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  34552. 0x1BC {
  34553. 0x1C1 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  34554. 0x1CB TempGlobal <- &GlobalVar(MainDeathMask)
  34555. 0x1D0 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34556. 0x1D7 If (LocalVar:TempMask AND 64)
  34557. 0x1D7 {
  34558. 0x1E0 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  34559. 0x1EA BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34560. 0x1F4 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34561. 0x1FE BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  34562. 0x208 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  34563. 0x212 }
  34564. 0x212 Else
  34565. 0x212 {
  34566. 0x215 }
  34567. 0x215 Else
  34568. 0x215 {
  34569. 0x218 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  34570. 0x218 {
  34571. 0x21D BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 7
  34572. 0x227 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  34573. 0x231 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  34574. 0x23B TempGlobal <- &GlobalVar(AltDeathMask)
  34575. 0x240 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34576. 0x247 If ( (LocalVar:TempMask AND 192 == 192) )
  34577. 0x247 {
  34578. 0x253 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  34579. 0x25D BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  34580. 0x267 TempGlobal <- &GlobalVar(MainDeathMask)
  34581. 0x26C LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34582. 0x273 If (LocalVar:TempMask AND 1)
  34583. 0x273 {
  34584. 0x27C BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  34585. 0x286 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34586. 0x290 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34587. 0x29A }
  34588. 0x29A Else
  34589. 0x29A {
  34590. 0x29D }
  34591. 0x29D Else
  34592. 0x29D {
  34593. 0x2A0 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  34594. 0x2A0 {
  34595. 0x2A5 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 25
  34596. 0x2AF TempGlobal <- &GlobalVar(AltDeathMask)
  34597. 0x2B4 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34598. 0x2BB If (LocalVar:TempMask AND 128)
  34599. 0x2BB {
  34600. 0x2C4 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  34601. 0x2CE BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34602. 0x2D8 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34603. 0x2E2 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 33
  34604. 0x2EC }
  34605. 0x2EC Else
  34606. 0x2EC {
  34607. 0x2EF }
  34608. 0x2EF Else
  34609. 0x2EF {
  34610. 0x2F2 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  34611. 0x2F2 {
  34612. 0x2F7 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 26
  34613. 0x301 TempGlobal <- &GlobalVar(AltDeathMask)
  34614. 0x306 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34615. 0x30D If (LocalVar:TempMask AND 64)
  34616. 0x30D {
  34617. 0x316 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  34618. 0x320 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34619. 0x32A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34620. 0x334 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 33
  34621. 0x33E }
  34622. 0x33E Else
  34623. 0x33E {
  34624. 0x341 }
  34625. 0x341 Else
  34626. 0x341 {
  34627. 0x344 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  34628. 0x34E BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  34629. 0x358 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  34630. 0x362 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  34631. 0x36CPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  34632. 0x36DBattleAddr(&MemBank1/2) <- 0
  34633. 0x373GlobalVar(SwitchParty) <- &TempGlobal)
  34634. 0x379SCRIPT END
  34635.  
  34636.  
  34637. MAIN:
  34638.  
  34639. 0x000 If ( ( ( ( ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) )
  34640. 0x000 {
  34641. 0x039 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  34642. 0x043 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  34643. 0x04D BattleAddr(&MemBank1/2) <- 0
  34644. 0x053 GlobalVar(SwitchParty) <- &TempGlobal)
  34645. 0x059 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  34646. 0x059 {
  34647. 0x065 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  34648. 0x074 TempGlobal <- &GlobalVar(2ndPartyCoreVulTurnCount)
  34649. 0x07A LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  34650. 0x081 If ( (LocalVar:CoreVulTurnCount > 0) )
  34651. 0x081 {
  34652. 0x08A LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  34653. 0x094 BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  34654. 0x09B GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34655. 0x0A1 LocalVar:Count <- BattleAddr(&MemBank1/2)
  34656. 0x0A8 LocalVar:AttackConfirmed <- 0
  34657. 0x0AE If ( ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) ) )
  34658. 0x0AE {
  34659. 0x0C6 LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  34660. 0x0D0 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  34661. 0x0DA LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  34662. 0x0E4 LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  34663. 0x0EE LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  34664. 0x0FD Display String: "Head Portion (B) Revived"
  34665. 0x117 TempGlobal <- &GlobalVar(MainDeathMask)
  34666. 0x11C LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34667. 0x123 LocalVar:TempMask <- LocalVar:TempMask AND 191 Unset &64
  34668. 0x12D BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  34669. 0x134 GlobalVar(MainDeathMask) <- &TempGlobal)
  34670. 0x139 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  34671. 0x140 Perform([0120], EnemyAttack)
  34672. 0x146 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  34673. 0x150 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  34674. 0x15A LocalVar:AttackConfirmed <- 1
  34675. 0x160 }
  34676. 0x160 Else
  34677. 0x160 {
  34678. 0x163 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  34679. 0x163 {
  34680. 0x170 BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  34681. 0x182 TempGlobal <- &GlobalVar(Party2TurnCount)
  34682. 0x187 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  34683. 0x191 GlobalVar(Party2TurnCount) <- &TempGlobal)
  34684. 0x196 If (LocalVar:Count == 1)
  34685. 0x196 {
  34686. 0x19E If ( ( ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  34687. 0x19E {
  34688. 0x1C8 BattleAddr(&TarSelected) <- LocalVar:BizShoulder + LocalVar:BizWing
  34689. 0x1D3 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  34690. 0x1DD BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  34691. 0x1E7 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  34692. 0x1F1 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  34693. 0x1FB Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  34694. 0x201 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  34695. 0x20B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  34696. 0x215 Display String: "Left Magic (D&E) Revived"
  34697. 0x22F TempGlobal <- &GlobalVar(AltDeathMask)
  34698. 0x234 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34699. 0x23B LocalVar:TempMask <- LocalVar:TempMask AND 63
  34700. 0x245 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  34701. 0x24C GlobalVar(AltDeathMask) <- &TempGlobal)
  34702. 0x251 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  34703. 0x251 {
  34704. 0x25E BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  34705. 0x268 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  34706. 0x272 }
  34707. 0x272 Else
  34708. 0x272 {
  34709. 0x275 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  34710. 0x27F BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  34711. 0x289 BattleAddr(&MemBank1/2) <- 0
  34712. 0x28F GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34713. 0x295 LocalVar:AttackConfirmed <- 1
  34714. 0x29B }
  34715. 0x29B Else
  34716. 0x29B {
  34717. 0x29E If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  34718. 0x29E {
  34719. 0x2AB BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  34720. 0x2B6 Perform("Aurora Fence"[03B1], EnemyAttack)
  34721. 0x2BC BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  34722. 0x2C6 BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  34723. 0x2D0 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  34724. 0x2DA BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  34725. 0x2E4 BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  34726. 0x2EE BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  34727. 0x2F8 BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  34728. 0x302 BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  34729. 0x30C BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  34730. 0x316 BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  34731. 0x320 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  34732. 0x32A BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  34733. 0x334 BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  34734. 0x33E BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  34735. 0x348 BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  34736. 0x352 BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  34737. 0x35C BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  34738. 0x366 BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  34739. 0x370 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  34740. 0x37A BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  34741. 0x384 BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  34742. 0x38E BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  34743. 0x398 BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  34744. 0x3A2 BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  34745. 0x3AC BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  34746. 0x3B6 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  34747. 0x3C0 LocalVar:AttackConfirmed <- 1
  34748. 0x3C6 }
  34749. 0x3C6 Else
  34750. 0x3C6 {
  34751. 0x3C9 }
  34752. 0x3C9 Else
  34753. 0x3C9 {
  34754. 0x3CC If (LocalVar:Count == 2)
  34755. 0x3CC {
  34756. 0x3D1 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  34757. 0x3D1 {
  34758. 0x3DE BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34759. 0x3E6 Perform("Fire3"[001D], EnemyAttack)
  34760. 0x3EB LocalVar:AttackConfirmed <- 1
  34761. 0x3F1 }
  34762. 0x3F1 Else
  34763. 0x3F1 {
  34764. 0x3F4 }
  34765. 0x3F4 Else
  34766. 0x3F4 {
  34767. 0x3F7 If (LocalVar:Count == 3)
  34768. 0x3F7 {
  34769. 0x3FC If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  34770. 0x3FC {
  34771. 0x409 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34772. 0x411 Perform("Stop"[0015], EnemyAttack)
  34773. 0x416 LocalVar:AttackConfirmed <- 1
  34774. 0x41C }
  34775. 0x41C Else
  34776. 0x41C {
  34777. 0x41F }
  34778. 0x41F Else
  34779. 0x41F {
  34780. 0x422 If (LocalVar:Count == 4)
  34781. 0x422 {
  34782. 0x427 If ( ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  34783. 0x427 {
  34784. 0x43F BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  34785. 0x446 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  34786. 0x446 {
  34787. 0x453 Perform("Stigma"[03AF], EnemyAttack)
  34788. 0x459 }
  34789. 0x459 Else
  34790. 0x459 {
  34791. 0x45C Perform("Stigma"[03B2], EnemyAttack)
  34792. 0x462 LocalVar:AttackConfirmed <- 1
  34793. 0x468 }
  34794. 0x468 Else
  34795. 0x468 {
  34796. 0x46B If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  34797. 0x46B {
  34798. 0x478 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  34799. 0x47F Perform("Heartless Angel"[03AE], EnemyAttack)
  34800. 0x485 LocalVar:AttackConfirmed <- 1
  34801. 0x48B }
  34802. 0x48B Else
  34803. 0x48B {
  34804. 0x48E }
  34805. 0x48E Else
  34806. 0x48E {
  34807. 0x491 If (LocalVar:Count == 5)
  34808. 0x491 {
  34809. 0x496 }
  34810. 0x496 Else
  34811. 0x496 {
  34812. 0x499 If (LocalVar:Count == 6)
  34813. 0x499 {
  34814. 0x49E LocalVar:AttackConfirmed <- 1
  34815. 0x4A4 }
  34816. 0x4A4 Else
  34817. 0x4A4 {
  34818. 0x4A7 }
  34819. 0x4A7 Else
  34820. 0x4A7 {
  34821. 0x4AA If (LocalVar:Count == 7)
  34822. 0x4AA {
  34823. 0x4AF If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  34824. 0x4AF {
  34825. 0x4BC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34826. 0x4C4 Perform("Quake3"[0026], EnemyAttack)
  34827. 0x4C9 LocalVar:AttackConfirmed <- 1
  34828. 0x4CF }
  34829. 0x4CF Else
  34830. 0x4CF {
  34831. 0x4D2 }
  34832. 0x4D2 Else
  34833. 0x4D2 {
  34834. 0x4D5 LocalVar:Count <- 0
  34835. 0x4DB BattleAddr(&MemBank1/2) <- 0
  34836. 0x4E1 GlobalVar(Party2TurnCount) <- &TempGlobal)
  34837. 0x4E6 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  34838. 0x4E6 {
  34839. 0x4F3 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34840. 0x4FB Perform("Demi3"[002C], EnemyAttack)
  34841. 0x500 LocalVar:AttackConfirmed <- 1
  34842. 0x506 }
  34843. 0x506 Else
  34844. 0x506 {
  34845. 0x509 POP(LocalVar:Count)
  34846. 0x50A If ( (LocalVar:AttackConfirmed == 0) )
  34847. 0x50A {
  34848. 0x513 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  34849. 0x51B If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  34850. 0x51B {
  34851. 0x528 Perform("Sephiroth Shock"[03AC], EnemyAttack)
  34852. 0x52E }
  34853. 0x52E Else
  34854. 0x52E {
  34855. 0x531 Perform("Sephiroth Shock"[03B0], EnemyAttack)
  34856. 0x537 LocalVar:AttackConfirmed <- 1
  34857. 0x53D }
  34858. 0x53D Else
  34859. 0x53D {
  34860. 0x540POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  34861. 0x541SCRIPT END
  34862.  
  34863.  
  34864. DEATH COUNTER:
  34865.  
  34866. 0x000TempGlobal <- &GlobalVar(MainDeathMask)
  34867. 0x005LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34868. 0x00C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  34869. 0x00C {
  34870. 0x019 LocalVar:TempMask <- LocalVar:TempMask OR 64
  34871. 0x023 }
  34872. 0x023 Else
  34873. 0x023 {
  34874. 0x026 LocalVar:TempMask <- LocalVar:TempMask AND 191
  34875. 0x030 If ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) )
  34876. 0x030 {
  34877. 0x03D LocalVar:TempMask <- LocalVar:TempMask OR 1
  34878. 0x047 }
  34879. 0x047 Else
  34880. 0x047 {
  34881. 0x04A LocalVar:TempMask <- LocalVar:TempMask AND 254
  34882. 0x054BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  34883. 0x05BGlobalVar(MainDeathMask) <- &TempGlobal)
  34884. 0x060TempGlobal <- &GlobalVar(AltDeathMask)
  34885. 0x065LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34886. 0x06C If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) )
  34887. 0x06C {
  34888. 0x079 LocalVar:TempMask <- LocalVar:TempMask OR 128
  34889. 0x083 }
  34890. 0x083 Else
  34891. 0x083 {
  34892. 0x086 LocalVar:TempMask <- LocalVar:TempMask AND 127
  34893. 0x090 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) )
  34894. 0x090 {
  34895. 0x09D LocalVar:TempMask <- LocalVar:TempMask OR 64
  34896. 0x0A7 }
  34897. 0x0A7 Else
  34898. 0x0A7 {
  34899. 0x0AA LocalVar:TempMask <- LocalVar:TempMask AND 191
  34900. 0x0B4BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  34901. 0x0BBGlobalVar(AltDeathMask) <- &TempGlobal)
  34902. 0x0C0BattleAddr(&TarSelected) <- BattleAddr(&Self)
  34903. 0x0C7Perform("Vanish"[014E], EnemyAttack)
  34904. 0x0CD If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  34905. 0x0CD {
  34906. 0x0D9 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34907. 0x0D9 {
  34908. 0x0E6 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  34909. 0x0ED Perform([011F], EnemyAttack)
  34910. 0x0F3 Display String: "Head Portion (B) Dead"
  34911. 0x10A BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  34912. 0x114 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  34913. 0x11E LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  34914. 0x12D TempGlobal <- &GlobalVar(BizHeadDeathCount)
  34915. 0x132 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  34916. 0x13C If ( (BattleAddr(&MemBank1/2) < 250) )
  34917. 0x13C {
  34918. 0x145 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  34919. 0x14A BattleAddr(&MemBank1/2) <- 2
  34920. 0x150 }
  34921. 0x150 Else
  34922. 0x150 {
  34923. 0x153 BattleAddr(&MemBank1/2) <- 0
  34924. 0x159 GlobalVar(SwitchParty) <- &TempGlobal)
  34925. 0x15F }
  34926. 0x15F Else
  34927. 0x15F {
  34928. 0x162 }
  34929. 0x162 Else
  34930. 0x162 {
  34931. 0x165 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  34932. 0x165 {
  34933. 0x16A If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34934. 0x16A {
  34935. 0x177 Display String: "Left Core (C) Dead"
  34936. 0x18B TempGlobal <- &GlobalVar(MainDeathMask)
  34937. 0x190 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  34938. 0x197 If ( (LocalVar:TempMask AND 24 == 24) ) (If 1st Party Wing and Shoulder Dead)
  34939. 0x197 {
  34940. 0x1A3 Display String: "Core (C) Defense Down"
  34941. 0x1BA Display String: " in front of {EA0000h}'s party."
  34942. 0x1D5 BattleAddr(&MemBank1/2) <- 2
  34943. 0x1DB }
  34944. 0x1DB Else
  34945. 0x1DB {
  34946. 0x1DE BattleAddr(&MemBank1/2) <- 0
  34947. 0x1E4 GlobalVar(SwitchParty) <- &TempGlobal)
  34948. 0x1EA }
  34949. 0x1EA Else
  34950. 0x1EA {
  34951. 0x1ED }
  34952. 0x1ED Else
  34953. 0x1ED {
  34954. 0x1F0 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  34955. 0x1F0 {
  34956. 0x1F5 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34957. 0x1F5 {
  34958. 0x202 Display String: "Left Magic (D) Dead"
  34959. 0x217 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) )
  34960. 0x217 {
  34961. 0x224 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  34962. 0x22E LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  34963. 0x238 BattleAddr(&MemBank1/2) <- 1
  34964. 0x23E GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34965. 0x244 Display String: "Left Core (C) Defense Down"
  34966. 0x260 BattleAddr(&MemBank1/2) <- 2
  34967. 0x266 }
  34968. 0x266 Else
  34969. 0x266 {
  34970. 0x269 BattleAddr(&MemBank1/2) <- 0
  34971. 0x26F GlobalVar(SwitchParty) <- &TempGlobal)
  34972. 0x275 }
  34973. 0x275 Else
  34974. 0x275 {
  34975. 0x278 }
  34976. 0x278 Else
  34977. 0x278 {
  34978. 0x27B If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  34979. 0x27B {
  34980. 0x280 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  34981. 0x280 {
  34982. 0x28D Display String: "Left Magic (E) Dead"
  34983. 0x2A2 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) )
  34984. 0x2A2 {
  34985. 0x2AF LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  34986. 0x2B9 LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  34987. 0x2C3 BattleAddr(&MemBank1/2) <- 1
  34988. 0x2C9 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  34989. 0x2CF Display String: "Left Core (C) Defense Down"
  34990. 0x2EB BattleAddr(&MemBank1/2) <- 2
  34991. 0x2F1 }
  34992. 0x2F1 Else
  34993. 0x2F1 {
  34994. 0x2F4 BattleAddr(&MemBank1/2) <- 0
  34995. 0x2FA GlobalVar(SwitchParty) <- &TempGlobal)
  34996. 0x300 }
  34997. 0x300 Else
  34998. 0x300 {
  34999. 0x303POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  35000. 0x304SCRIPT END
  35001.  
  35002.  
  35003.  
  35004.  
  35005. 327 - [147] Bizarro-Sephiroth (2 Parties Left)
  35006.  
  35007. Perspective is from Bizarro's perspective (Shoulder is Right Magic)
  35008.  
  35009.  
  35010. LocalVar:0000 = LocalVar:BizHead [B]
  35011. LocalVar:0020 = LocalVar:BizBody [A]
  35012. LocalVar:0040 = LocalVar:BizCore [C]
  35013. LocalVar:0060 = LocalVar:BizShoulder [D]
  35014. LocalVar:0080 = LocalVar:BizWing [E]
  35015. LocalVar:00A0 = LocalVar:HPTempVar
  35016. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  35017. LocalVar:00E0 = LocalVar:KotrHPBoost
  35018. LocalVar:0100 = LocalVar:Count
  35019. LocalVar:0120 = LocalVar:CoreVulTurnCount
  35020. LocalVar:0140 = Unused
  35021. LocalVar:0160 = LocalVar:TempMask
  35022. LocalVar:0180 = LocalVar:AttackConfirmed
  35023.  
  35024. GlobalVar(0048) = GlobalVar(Party1TurnCount)
  35025. GlobalVar(0049) = GlobalVar(Party2TurnCount)
  35026. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  35027. GlobalVar(005C) = GlobalVar(MainDeathMask)
  35028.  
  35029. &1 0x01 = 2ndPartyCoreDead
  35030. &8 0x08 = 1stPartyWingDead
  35031. &16 0x10 = 1stPartyShldDead (Right Magic)
  35032. &32 0x20 = MainPartyCoreDead
  35033. &64 0x40 = HeadDead
  35034.  
  35035. GlobalVar(005D) = GlobalVar(AltDeathMask)
  35036.  
  35037. &64 0x40 = 2ndPartyWingDead
  35038. &128 0x80 = 2ndPartyShldDead (Left Magic)
  35039.  
  35040. GlobalVar(005E) = GlobalVar(OpeningSetup)
  35041. GlobalVar(01CD) = GlobalVar(SwitchParty)
  35042. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  35043. GlobalVar(0269) = GlobalVar(1stPartyCoreVulTurnCount)
  35044. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount)
  35045. GlobalVar(026B) = GlobalVar(3rdPartyCoreVulTurnCount)
  35046. GlobalVar(026C) = GlobalVar(JenovaKOTR)
  35047.  
  35048. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  35049. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  35050. BattleAddr(&2060) = BattleAddr(&Self)
  35051. BattleAddr(&2070) = BattleAddr(&TarSelected)
  35052. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  35053. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  35054. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  35055. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  35056.  
  35057. &1 0x01 = ?
  35058. &2 0x02 = Don's apply Poison/Regen?
  35059. &4 0x04 = Other Battles in sequence
  35060. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  35061. &16 0x10 = Cloud learns all limits
  35062. &32 0x20 = No reward screen
  35063.  
  35064. BattleAddr(&2180) = BattleAddr(&PartyActive)
  35065.  
  35066. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  35067. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  35068. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  35069. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  35070. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  35071. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  35072. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  35073. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  35074. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  35075. BattleAddr(&400A) = BattleAddr(&StopStatus)
  35076. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  35077. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  35078. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  35079. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  35080. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  35081. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  35082. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  35083. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  35084. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  35085. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  35086. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  35087. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  35088. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  35089. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  35090. BattleAddr(&4020) = BattleAddr(&SelfActive)
  35091. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  35092. BattleAddr(&4023) = BattleAddr(&Targetable)
  35093. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  35094. BattleAddr(&402D) = BattleAddr(&SelfDead)
  35095. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  35096. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  35097. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  35098. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  35099. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  35100. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  35101. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  35102. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  35103. BattleAddr(&4150) = BattleAddr(&MaxMP)
  35104. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  35105. BattleAddr(&4180) = BattleAddr(&MaxHP)
  35106. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  35107. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  35108.  
  35109.  
  35110.  
  35111. FORMATION PRE-BATTLE:
  35112.  
  35113. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 36
  35114. 0x00ABattleAddr(&PartyActive) <- 0
  35115. 0x010SCRIPT END
  35116.  
  35117.  
  35118. PRE-BATTLE:
  35119.  
  35120. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  35121. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  35122. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  35123. 0x02ALocalVar:BizShoulder <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  35124. 0x038LocalVar:BizWing <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  35125. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  35126. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  35127. 0x050 {
  35128. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  35129. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  35130. 0x069 TempGlobal <- &GlobalVar(JenovaKOTR)
  35131. 0x06F LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35132. 0x076 If ( (LocalVar:TempMask == 1) )
  35133. 0x076 {
  35134. 0x07F LocalVar:KotrHPBoost <- 60000
  35135. 0x086 }
  35136. 0x086 Else
  35137. 0x086 {
  35138. 0x089 LocalVar:KotrHPBoost <- 0
  35139. 0x08F LocalVar:HPTempVar <- 40000 + LocalVar:QtyOfLevels=99 * 5000
  35140. 0x09E LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar + LocalVar:KotrHPBoost
  35141. 0x0AD LocalVar:HPTempVar <- 4000 - 8 - LocalVar:QtyOfLevels=99 * 250
  35142. 0x0BE LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35143. 0x0C9 LocalVar:HPTempVar <- 14000 + LocalVar:QtyOfLevels=99 * 1750
  35144. 0x0D8 LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35145. 0x0E3 LocalVar:HPTempVar <- 6000 + LocalVar:QtyOfLevels=99 * 750
  35146. 0x0F2 LocalVar:BizShoulder.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35147. 0x0FD LocalVar:HPTempVar <- 4000 + LocalVar:QtyOfLevels=99 * 500
  35148. 0x10C LocalVar:BizWing.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35149. 0x117 TempGlobal <- &GlobalVar(OpeningSetup)
  35150. 0x11C LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35151. 0x123 If ( (LocalVar:TempMask AND 128 == 0) )
  35152. 0x123 {
  35153. 0x12F LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  35154. 0x13E LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  35155. 0x14D LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  35156. 0x15C LocalVar:BizShoulder.BattleAddr(&CurrentHP) <- LocalVar:BizShoulder.BattleAddr(&MaxHP)
  35157. 0x16B LocalVar:BizWing.BattleAddr(&CurrentHP) <- LocalVar:BizWing.BattleAddr(&MaxHP)
  35158. 0x17A LocalVar:TempMask <- LocalVar:TempMask OR 128
  35159. 0x184 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35160. 0x18B GlobalVar(OpeningSetup) <- &TempGlobal)
  35161. 0x190 BattleAddr(&MemBank1/2) <- 0
  35162. 0x196 GlobalVar(Party1TurnCount) <- &TempGlobal)
  35163. 0x19B BattleAddr(&MemBank1/2) <- 0
  35164. 0x1A1 GlobalVar(Party2TurnCount) <- &TempGlobal)
  35165. 0x1A6 BattleAddr(&MemBank1/2) <- 0
  35166. 0x1AC GlobalVar(Party3TurnCount) <- &TempGlobal)
  35167. 0x1B1 BattleAddr(&MemBank1/2) <- 0
  35168. 0x1B7 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35169. 0x1BD BattleAddr(&MemBank1/2) <- 0
  35170. 0x1C3 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  35171. 0x1C9 BattleAddr(&MemBank1/2) <- 0
  35172. 0x1CF GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  35173. 0x1D5 BattleAddr(&MemBank1/2) <- 0
  35174. 0x1DB GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  35175. 0x1E0 BattleAddr(&MemBank1/2) <- 0
  35176. 0x1E6 GlobalVar(MainDeathMask) <- &TempGlobal)
  35177. 0x1EB BattleAddr(&MemBank1/2) <- 0
  35178. 0x1F1 GlobalVar(AltDeathMask) <- &TempGlobal)
  35179. 0x1F6 Display String: "Think about the sequence of the 5 targets"
  35180. 0x221 Display String: " and beat them!"
  35181. 0x232 TempGlobal <- &GlobalVar(Party1TurnCount)
  35182. 0x237 LocalVar:Count <- BattleAddr(&MemBank1/2)
  35183. 0x23E Display String: "If a part dies, change to a different party."
  35184. 0x26C }
  35185. 0x26C Else
  35186. 0x26C {
  35187. 0x26F }
  35188. 0x26F Else
  35189. 0x26F {
  35190. 0x272 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  35191. 0x272 {
  35192. 0x277 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  35193. 0x281 TempGlobal <- &GlobalVar(MainDeathMask)
  35194. 0x286 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35195. 0x28D If (LocalVar:TempMask AND 64)
  35196. 0x28D {
  35197. 0x296 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35198. 0x2A0 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35199. 0x2AA BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35200. 0x2B4 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  35201. 0x2BE BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  35202. 0x2C8 }
  35203. 0x2C8 Else
  35204. 0x2C8 {
  35205. 0x2CB }
  35206. 0x2CB Else
  35207. 0x2CB {
  35208. 0x2CE If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  35209. 0x2CE {
  35210. 0x2D3 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 7
  35211. 0x2DD BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  35212. 0x2E7 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  35213. 0x2F1 TempGlobal <- &GlobalVar(MainDeathMask)
  35214. 0x2F6 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35215. 0x2FD If ( (LocalVar:TempMask AND 25 == 25) )
  35216. 0x2FD {
  35217. 0x309 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  35218. 0x313 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  35219. 0x31D TempGlobal <- &GlobalVar(MainDeathMask)
  35220. 0x322 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35221. 0x329 If (LocalVar:TempMask AND 32)
  35222. 0x329 {
  35223. 0x332 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35224. 0x33C BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35225. 0x346 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35226. 0x350 }
  35227. 0x350 Else
  35228. 0x350 {
  35229. 0x353 }
  35230. 0x353 Else
  35231. 0x353 {
  35232. 0x356 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  35233. 0x356 {
  35234. 0x35B BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 29
  35235. 0x365 TempGlobal <- &GlobalVar(MainDeathMask)
  35236. 0x36A LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35237. 0x371 If (LocalVar:TempMask AND 16)
  35238. 0x371 {
  35239. 0x37A BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35240. 0x384 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35241. 0x38E BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35242. 0x398 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  35243. 0x3A2 }
  35244. 0x3A2 Else
  35245. 0x3A2 {
  35246. 0x3A5 }
  35247. 0x3A5 Else
  35248. 0x3A5 {
  35249. 0x3A8 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  35250. 0x3A8 {
  35251. 0x3AD BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 30
  35252. 0x3B7 TempGlobal <- &GlobalVar(MainDeathMask)
  35253. 0x3BC LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35254. 0x3C3 If (LocalVar:TempMask AND 8)
  35255. 0x3C3 {
  35256. 0x3CC BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35257. 0x3D6 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35258. 0x3E0 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35259. 0x3EA BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  35260. 0x3F4 }
  35261. 0x3F4 Else
  35262. 0x3F4 {
  35263. 0x3F7 }
  35264. 0x3F7 Else
  35265. 0x3F7 {
  35266. 0x3FA BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  35267. 0x404 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35268. 0x40E BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  35269. 0x418 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35270. 0x422POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  35271. 0x423BattleAddr(&MemBank1/2) <- 0
  35272. 0x429GlobalVar(SwitchParty) <- &TempGlobal)
  35273. 0x42FSCRIPT END
  35274.  
  35275.  
  35276. MAIN:
  35277.  
  35278. 0x000 If ( ( ( ( ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) )
  35279. 0x000 {
  35280. 0x039 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  35281. 0x043 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  35282. 0x04D BattleAddr(&MemBank1/2) <- 0
  35283. 0x053 GlobalVar(SwitchParty) <- &TempGlobal)
  35284. 0x059 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  35285. 0x059 {
  35286. 0x065 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  35287. 0x074 TempGlobal <- &GlobalVar(1stPartyCoreVulTurnCount)
  35288. 0x07A LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  35289. 0x081 If ( (LocalVar:CoreVulTurnCount > 0) )
  35290. 0x081 {
  35291. 0x08A LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  35292. 0x094 BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  35293. 0x09B GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35294. 0x0A1 LocalVar:AttackConfirmed <- 0
  35295. 0x0A7 If ( ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) ) )
  35296. 0x0A7 {
  35297. 0x0BF LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  35298. 0x0C9 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  35299. 0x0D3 LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  35300. 0x0DD LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  35301. 0x0E7 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  35302. 0x0F6 Display String: "Head Portion (B) Revived"
  35303. 0x110 TempGlobal <- &GlobalVar(MainDeathMask)
  35304. 0x115 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35305. 0x11C LocalVar:TempMask <- LocalVar:TempMask AND 191 Unset &64
  35306. 0x126 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35307. 0x12D GlobalVar(MainDeathMask) <- &TempGlobal)
  35308. 0x132 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  35309. 0x139 Perform([0120], EnemyAttack)
  35310. 0x13F BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  35311. 0x149 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  35312. 0x153 LocalVar:AttackConfirmed <- 1
  35313. 0x159 }
  35314. 0x159 Else
  35315. 0x159 {
  35316. 0x15C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  35317. 0x15C {
  35318. 0x169 BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  35319. 0x17B TempGlobal <- &GlobalVar(Party1TurnCount)
  35320. 0x180 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  35321. 0x18A GlobalVar(Party1TurnCount) <- &TempGlobal)
  35322. 0x18F LocalVar:Count <- BattleAddr(&MemBank1/2)
  35323. 0x196 If (LocalVar:Count == 1)
  35324. 0x196 {
  35325. 0x19E If ( ( ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  35326. 0x19E {
  35327. 0x1C8 BattleAddr(&TarSelected) <- LocalVar:BizShoulder + LocalVar:BizWing
  35328. 0x1D3 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  35329. 0x1DD BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  35330. 0x1E7 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  35331. 0x1F1 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  35332. 0x1FB Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  35333. 0x201 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  35334. 0x20B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  35335. 0x215 Display String: "Right Magic (D&E) Revived"
  35336. 0x230 TempGlobal <- &GlobalVar(MainDeathMask)
  35337. 0x235 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35338. 0x23C LocalVar:TempMask <- LocalVar:TempMask AND 231 Unset &16 &8
  35339. 0x246 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35340. 0x24D GlobalVar(MainDeathMask) <- &TempGlobal)
  35341. 0x252 LocalVar:CoreVulTurnCount <- 0
  35342. 0x258 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  35343. 0x258 {
  35344. 0x265 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  35345. 0x26F BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  35346. 0x279 }
  35347. 0x279 Else
  35348. 0x279 {
  35349. 0x27C BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  35350. 0x286 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  35351. 0x290 BattleAddr(&MemBank1/2) <- 0
  35352. 0x296 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35353. 0x29C LocalVar:AttackConfirmed <- 1
  35354. 0x2A2 }
  35355. 0x2A2 Else
  35356. 0x2A2 {
  35357. 0x2A5 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  35358. 0x2A5 {
  35359. 0x2B2 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  35360. 0x2BD Perform("Aurora Fence"[03B1], EnemyAttack)
  35361. 0x2C3 BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  35362. 0x2CD BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  35363. 0x2D7 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  35364. 0x2E1 BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  35365. 0x2EB BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  35366. 0x2F5 BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  35367. 0x2FF BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  35368. 0x309 BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  35369. 0x313 BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  35370. 0x31D BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  35371. 0x327 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  35372. 0x331 BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  35373. 0x33B BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  35374. 0x345 BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  35375. 0x34F BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  35376. 0x359 BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  35377. 0x363 BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  35378. 0x36D BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  35379. 0x377 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  35380. 0x381 BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  35381. 0x38B BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  35382. 0x395 BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  35383. 0x39F BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  35384. 0x3A9 BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  35385. 0x3B3 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  35386. 0x3BD BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  35387. 0x3C7 LocalVar:AttackConfirmed <- 1
  35388. 0x3CD }
  35389. 0x3CD Else
  35390. 0x3CD {
  35391. 0x3D0 }
  35392. 0x3D0 Else
  35393. 0x3D0 {
  35394. 0x3D3 If (LocalVar:Count == 2)
  35395. 0x3D3 {
  35396. 0x3D8 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  35397. 0x3D8 {
  35398. 0x3E5 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  35399. 0x3ED Perform("Bolt3"[0023], EnemyAttack)
  35400. 0x3F2 LocalVar:AttackConfirmed <- 1
  35401. 0x3F8 }
  35402. 0x3F8 Else
  35403. 0x3F8 {
  35404. 0x3FB }
  35405. 0x3FB Else
  35406. 0x3FB {
  35407. 0x3FE If (LocalVar:Count == 3)
  35408. 0x3FE {
  35409. 0x403 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  35410. 0x403 {
  35411. 0x410 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  35412. 0x418 Perform("Slow"[0014], EnemyAttack)
  35413. 0x41D LocalVar:AttackConfirmed <- 1
  35414. 0x423 }
  35415. 0x423 Else
  35416. 0x423 {
  35417. 0x426 }
  35418. 0x426 Else
  35419. 0x426 {
  35420. 0x429 If (LocalVar:Count == 4)
  35421. 0x429 {
  35422. 0x42E If ( ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  35423. 0x42E {
  35424. 0x446 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  35425. 0x44D If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  35426. 0x44D {
  35427. 0x45A Perform("Stigma"[03AF], EnemyAttack)
  35428. 0x460 }
  35429. 0x460 Else
  35430. 0x460 {
  35431. 0x463 Perform("Stigma"[03B2], EnemyAttack)
  35432. 0x469 }
  35433. 0x469 Else
  35434. 0x469 {
  35435. 0x46C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  35436. 0x46C {
  35437. 0x479 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  35438. 0x480 Perform("Heartless Angel"[03AE], EnemyAttack)
  35439. 0x486 LocalVar:AttackConfirmed <- 1
  35440. 0x48C }
  35441. 0x48C Else
  35442. 0x48C {
  35443. 0x48F }
  35444. 0x48F Else
  35445. 0x48F {
  35446. 0x492 If (LocalVar:Count == 5)
  35447. 0x492 {
  35448. 0x497 }
  35449. 0x497 Else
  35450. 0x497 {
  35451. 0x49A If (LocalVar:Count == 6)
  35452. 0x49A {
  35453. 0x49F LocalVar:AttackConfirmed <- 1
  35454. 0x4A5 }
  35455. 0x4A5 Else
  35456. 0x4A5 {
  35457. 0x4A8 }
  35458. 0x4A8 Else
  35459. 0x4A8 {
  35460. 0x4AB If (LocalVar:Count == 7)
  35461. 0x4AB {
  35462. 0x4B0 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  35463. 0x4B0 {
  35464. 0x4BD BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  35465. 0x4C5 Perform("Sleepel"[000B], EnemyAttack)
  35466. 0x4CA LocalVar:AttackConfirmed <- 1
  35467. 0x4D0 }
  35468. 0x4D0 Else
  35469. 0x4D0 {
  35470. 0x4D3 }
  35471. 0x4D3 Else
  35472. 0x4D3 {
  35473. 0x4D6 LocalVar:Count <- 0
  35474. 0x4DC BattleAddr(&MemBank1/2) <- 0
  35475. 0x4E2 GlobalVar(Party1TurnCount) <- &TempGlobal)
  35476. 0x4E7 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  35477. 0x4E7 {
  35478. 0x4F4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  35479. 0x4FC Perform("Ice3"[0020], EnemyAttack)
  35480. 0x501 LocalVar:AttackConfirmed <- 1
  35481. 0x507 }
  35482. 0x507 Else
  35483. 0x507 {
  35484. 0x50A POP(LocalVar:Count)
  35485. 0x50B If ( (LocalVar:AttackConfirmed == 0) )
  35486. 0x50B {
  35487. 0x514 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  35488. 0x51C If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  35489. 0x51C {
  35490. 0x529 Perform("Sephiroth Shock"[03AC], EnemyAttack)
  35491. 0x52F }
  35492. 0x52F Else
  35493. 0x52F {
  35494. 0x532 Perform("Sephiroth Shock"[03B0], EnemyAttack)
  35495. 0x538 LocalVar:AttackConfirmed <- 1
  35496. 0x53E }
  35497. 0x53E Else
  35498. 0x53E {
  35499. 0x541 }
  35500. 0x541 Else
  35501. 0x541 {
  35502. 0x544 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  35503. 0x544 {
  35504. 0x549 BattleAddr(&TarSelected) <- LocalVar:BizBody
  35505. 0x550 Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  35506. 0x556 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  35507. 0x565 }
  35508. 0x565 Else
  35509. 0x565 {
  35510. 0x568POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  35511. 0x569SCRIPT END
  35512.  
  35513.  
  35514. DEATH COUNTER:
  35515.  
  35516. 0x000TempGlobal <- &GlobalVar(MainDeathMask)
  35517. 0x005LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35518. 0x00C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  35519. 0x00C {
  35520. 0x019 LocalVar:TempMask <- LocalVar:TempMask OR 64
  35521. 0x023 }
  35522. 0x023 Else
  35523. 0x023 {
  35524. 0x026 LocalVar:TempMask <- LocalVar:TempMask AND 191
  35525. 0x030 If ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) )
  35526. 0x030 {
  35527. 0x03D LocalVar:TempMask <- LocalVar:TempMask OR 32
  35528. 0x047 }
  35529. 0x047 Else
  35530. 0x047 {
  35531. 0x04A LocalVar:TempMask <- LocalVar:TempMask AND 223
  35532. 0x054 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) )
  35533. 0x054 {
  35534. 0x061 LocalVar:TempMask <- LocalVar:TempMask OR 16
  35535. 0x06B }
  35536. 0x06B Else
  35537. 0x06B {
  35538. 0x06E LocalVar:TempMask <- LocalVar:TempMask AND 239
  35539. 0x078 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) )
  35540. 0x078 {
  35541. 0x085 LocalVar:TempMask <- LocalVar:TempMask OR 8
  35542. 0x08F }
  35543. 0x08F Else
  35544. 0x08F {
  35545. 0x092 LocalVar:TempMask <- LocalVar:TempMask AND 8 (This should be 247)
  35546. 0x09CBattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35547. 0x0A3GlobalVar(MainDeathMask) <- &TempGlobal)
  35548. 0x0A8BattleAddr(&TarSelected) <- BattleAddr(&Self)
  35549. 0x0AF If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  35550. 0x0AF {
  35551. 0x0BC Perform("Vanish"[0150], EnemyAttack)
  35552. 0x0C2 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  35553. 0x0CC BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  35554. 0x0D6 BattleAddr(&MemBank1/2) <- 0
  35555. 0x0DC GlobalVar(SwitchParty) <- &TempGlobal)
  35556. 0x0E2 }
  35557. 0x0E2 Else
  35558. 0x0E2 {
  35559. 0x0E5 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  35560. 0x0E5 {
  35561. 0x0F2 Perform("Vanish"[014E], EnemyAttack)
  35562. 0x0F8 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  35563. 0x0F8 {
  35564. 0x104 BattleAddr(&MemBank1/2) <- 0
  35565. 0x10A GlobalVar(SwitchParty) <- &TempGlobal)
  35566. 0x110 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  35567. 0x11A BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  35568. 0x124 }
  35569. 0x124 Else
  35570. 0x124 {
  35571. 0x127 }
  35572. 0x127 Else
  35573. 0x127 {
  35574. 0x12A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  35575. 0x12A {
  35576. 0x12F If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  35577. 0x12F {
  35578. 0x13C BattleAddr(&TarSelected) <- BattleAddr(&Self)
  35579. 0x143 Perform([011F], EnemyAttack)
  35580. 0x149 Display String: "Head Portion (B) Dead"
  35581. 0x160 LocalVar:BizBody.BattleAddr(&IdleAnimID) <- 11
  35582. 0x16A LocalVar:BizBody.BattleAddr(&DamagedAnimID) <- 12
  35583. 0x174 LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  35584. 0x183 TempGlobal <- &GlobalVar(BizHeadDeathCount)
  35585. 0x188 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  35586. 0x192 If ( (BattleAddr(&MemBank1/2) < 250) )
  35587. 0x192 {
  35588. 0x19B GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  35589. 0x1A0 BattleAddr(&MemBank1/2) <- 3
  35590. 0x1A6 }
  35591. 0x1A6 Else
  35592. 0x1A6 {
  35593. 0x1A9 BattleAddr(&MemBank1/2) <- 0
  35594. 0x1AF GlobalVar(SwitchParty) <- &TempGlobal)
  35595. 0x1B5 }
  35596. 0x1B5 Else
  35597. 0x1B5 {
  35598. 0x1B8 }
  35599. 0x1B8 Else
  35600. 0x1B8 {
  35601. 0x1BB If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  35602. 0x1BB {
  35603. 0x1C0 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  35604. 0x1C0 {
  35605. 0x1CD BattleAddr(&MemBank1/2) <- 0
  35606. 0x1D3 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35607. 0x1D9 Display String: "Right Core (C) Dead"
  35608. 0x1EE BattleAddr(&MemBank1/2) <- 3
  35609. 0x1F4 }
  35610. 0x1F4 Else
  35611. 0x1F4 {
  35612. 0x1F7 BattleAddr(&MemBank1/2) <- 0
  35613. 0x1FD GlobalVar(SwitchParty) <- &TempGlobal)
  35614. 0x203 }
  35615. 0x203 Else
  35616. 0x203 {
  35617. 0x206 }
  35618. 0x206 Else
  35619. 0x206 {
  35620. 0x209 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  35621. 0x209 {
  35622. 0x20E If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  35623. 0x20E {
  35624. 0x21B Display String: "Right Magic (D) Dead"
  35625. 0x231 TempGlobal <- &GlobalVar(MainDeathMask)
  35626. 0x236 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35627. 0x23D If ( ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) And LocalVar:TempMask AND 1) )
  35628. 0x23D {
  35629. 0x251 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  35630. 0x25B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  35631. 0x265 BattleAddr(&MemBank1/2) <- 1
  35632. 0x26B GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35633. 0x271 Display String: "Right Core (C) Defense Down"
  35634. 0x28E BattleAddr(&MemBank1/2) <- 3
  35635. 0x294 }
  35636. 0x294 Else
  35637. 0x294 {
  35638. 0x297 BattleAddr(&MemBank1/2) <- 0
  35639. 0x29D GlobalVar(SwitchParty) <- &TempGlobal)
  35640. 0x2A3 }
  35641. 0x2A3 Else
  35642. 0x2A3 {
  35643. 0x2A6 }
  35644. 0x2A6 Else
  35645. 0x2A6 {
  35646. 0x2A9 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  35647. 0x2A9 {
  35648. 0x2AE If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  35649. 0x2AE {
  35650. 0x2BB Display String: "Right Magic (E) Dead"
  35651. 0x2D1 TempGlobal <- &GlobalVar(MainDeathMask)
  35652. 0x2D6 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35653. 0x2DD If ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And LocalVar:TempMask AND 1) )
  35654. 0x2DD {
  35655. 0x2F1 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  35656. 0x2FB LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  35657. 0x305 BattleAddr(&MemBank1/2) <- 1
  35658. 0x30B GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35659. 0x311 Display String: "Right Core (C) Defense Down"
  35660. 0x32E BattleAddr(&MemBank1/2) <- 3
  35661. 0x334 }
  35662. 0x334 Else
  35663. 0x334 {
  35664. 0x337 BattleAddr(&MemBank1/2) <- 0
  35665. 0x33D GlobalVar(SwitchParty) <- &TempGlobal)
  35666. 0x343 }
  35667. 0x343 Else
  35668. 0x343 {
  35669. 0x346POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  35670. 0x347SCRIPT END
  35671.  
  35672.  
  35673.  
  35674.  
  35675. 328 - [148] Bizarro-Sephiroth (3 Parties Centre)
  35676.  
  35677. Perspective is from Bizarro's perspective (Right Shoulder is Right Magic)
  35678.  
  35679.  
  35680. LocalVar:0000 = LocalVar:BizHead [B]
  35681. LocalVar:0020 = LocalVar:BizBody [A]
  35682. LocalVar:0040 = LocalVar:BizCore [C]
  35683. LocalVar:0060 = LocalVar:BizRightShld [D]
  35684. LocalVar:0080 = LocalVar:BizLeftShld [E]
  35685. LocalVar:00A0 = LocalVar:HPTempVar
  35686. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  35687. LocalVar:00E0 = LocalVar:KotrHPBoost
  35688. LocalVar:0100 = LocalVar:Count
  35689. LocalVar:0120 = LocalVar:CoreVulTurnCount
  35690. LocalVar:0140 = LocalVar:TempMask2
  35691. LocalVar:0160 = LocalVar:TempMask
  35692. LocalVar:0180 = LocalVar:AttackConfirmed
  35693.  
  35694. GlobalVar(0048) = GlobalVar(Party1TurnCount)
  35695. GlobalVar(0049) = GlobalVar(Party2TurnCount)
  35696. GlobalVar(004A) = GlobalVar(Party3TurnCount)
  35697. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  35698. GlobalVar(005C) = GlobalVar(MainDeathMask)
  35699.  
  35700. &1 0x01 = 2ndPartyCoreDead
  35701. &8 0x08 = 3rdPartyShldDead (Left Magic)
  35702. &16 0x10 = 2ndPartyShldDead (Right Magic)
  35703. &32 0x20 = MainPartyCoreDead
  35704. &64 0x40 = HeadDead
  35705.  
  35706. GlobalVar(005D) = GlobalVar(AltDeathMask)
  35707.  
  35708. &2 0x02 = 3rdPartyWingDead
  35709. &8 0x08 = 3rdPartyCoreDead
  35710. &64 0x40 = 2ndPartyWingDead
  35711.  
  35712. GlobalVar(005E) = GlobalVar(OpeningSetup)
  35713. GlobalVar(01CD) = GlobalVar(SwitchParty)
  35714. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  35715. GlobalVar(0269) = GlobalVar(1stPartyCoreVulTurnCount)
  35716. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount)
  35717. GlobalVar(026B) = GlobalVar(3rdPartyCoreVulTurnCount)
  35718. GlobalVar(026C) = GlobalVar(JenovaKOTR)
  35719.  
  35720. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  35721. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  35722. BattleAddr(&2060) = BattleAddr(&Self)
  35723. BattleAddr(&2070) = BattleAddr(&TarSelected)
  35724. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  35725. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  35726. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  35727. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  35728.  
  35729. &1 0x01 = ?
  35730. &2 0x02 = Don's apply Poison/Regen?
  35731. &4 0x04 = Other Battles in sequence
  35732. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  35733. &16 0x10 = Cloud learns all limits
  35734. &32 0x20 = No reward screen
  35735.  
  35736. BattleAddr(&2180) = BattleAddr(&PartyActive)
  35737.  
  35738. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  35739. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  35740. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  35741. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  35742. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  35743. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  35744. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  35745. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  35746. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  35747. BattleAddr(&400A) = BattleAddr(&StopStatus)
  35748. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  35749. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  35750. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  35751. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  35752. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  35753. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  35754. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  35755. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  35756. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  35757. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  35758. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  35759. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  35760. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  35761. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  35762. BattleAddr(&4020) = BattleAddr(&SelfActive)
  35763. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  35764. BattleAddr(&4023) = BattleAddr(&Targetable)
  35765. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  35766. BattleAddr(&402D) = BattleAddr(&SelfDead)
  35767. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  35768. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  35769. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  35770. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  35771. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  35772. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  35773. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  35774. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  35775. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  35776. BattleAddr(&4150) = BattleAddr(&MaxMP)
  35777. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  35778. BattleAddr(&4180) = BattleAddr(&MaxHP)
  35779. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  35780. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  35781.  
  35782.  
  35783.  
  35784. FORMATION PRE-BATTLE:
  35785.  
  35786. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 36
  35787. 0x00ABattleAddr(&PartyActive) <- 0
  35788. 0x010SCRIPT END
  35789.  
  35790.  
  35791. PRE-BATTLE:
  35792.  
  35793. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  35794. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  35795. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  35796. 0x02ALocalVar:BizRightShld <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  35797. 0x038LocalVar:BizLeftShld <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  35798. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  35799. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  35800. 0x050 {
  35801. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  35802. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  35803. 0x069 TempGlobal <- &GlobalVar(JenovaKOTR)
  35804. 0x06F LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35805. 0x076 If ( (LocalVar:TempMask == 1) )
  35806. 0x076 {
  35807. 0x07F LocalVar:KotrHPBoost <- 60000
  35808. 0x086 }
  35809. 0x086 Else
  35810. 0x086 {
  35811. 0x089 LocalVar:KotrHPBoost <- 0
  35812. 0x08F LocalVar:HPTempVar <- 40000 + LocalVar:QtyOfLevels=99 * 5000
  35813. 0x09E LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar + LocalVar:KotrHPBoost
  35814. 0x0AD LocalVar:HPTempVar <- 4000 - 8 - LocalVar:QtyOfLevels=99 * 250
  35815. 0x0BE LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35816. 0x0C9 LocalVar:HPTempVar <- 16000 + LocalVar:QtyOfLevels=99 * 2000
  35817. 0x0D8 LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35818. 0x0E3 LocalVar:HPTempVar <- 8000 + LocalVar:QtyOfLevels=99 * 1000
  35819. 0x0F2 LocalVar:BizRightShld.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35820. 0x0FD LocalVar:HPTempVar <- 8000 + LocalVar:QtyOfLevels=99 * 1000
  35821. 0x10C LocalVar:BizLeftShld.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  35822. 0x117 TempGlobal <- &GlobalVar(OpeningSetup)
  35823. 0x11C LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35824. 0x123 If ( (LocalVar:TempMask AND 128 == 0) )
  35825. 0x123 {
  35826. 0x12F LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  35827. 0x13E LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  35828. 0x14D LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  35829. 0x15C LocalVar:BizRightShld.BattleAddr(&CurrentHP) <- LocalVar:BizRightShld.BattleAddr(&MaxHP)
  35830. 0x16B LocalVar:BizLeftShld.BattleAddr(&CurrentHP) <- LocalVar:BizLeftShld.BattleAddr(&MaxHP)
  35831. 0x17A LocalVar:TempMask <- LocalVar:TempMask OR 128
  35832. 0x184 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35833. 0x18B GlobalVar(OpeningSetup) <- &TempGlobal)
  35834. 0x190 BattleAddr(&MemBank1/2) <- 0
  35835. 0x196 GlobalVar(Party1TurnCount) <- &TempGlobal)
  35836. 0x19B BattleAddr(&MemBank1/2) <- 0
  35837. 0x1A1 GlobalVar(Party2TurnCount) <- &TempGlobal)
  35838. 0x1A6 BattleAddr(&MemBank1/2) <- 0
  35839. 0x1AC GlobalVar(Party3TurnCount) <- &TempGlobal)
  35840. 0x1B1 BattleAddr(&MemBank1/2) <- 0
  35841. 0x1B7 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35842. 0x1BD BattleAddr(&MemBank1/2) <- 0
  35843. 0x1C3 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  35844. 0x1C9 BattleAddr(&MemBank1/2) <- 0
  35845. 0x1CF GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  35846. 0x1D5 BattleAddr(&MemBank1/2) <- 0
  35847. 0x1DB GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  35848. 0x1E0 BattleAddr(&MemBank1/2) <- 0
  35849. 0x1E6 GlobalVar(MainDeathMask) <- &TempGlobal)
  35850. 0x1EB BattleAddr(&MemBank1/2) <- 0
  35851. 0x1F1 GlobalVar(AltDeathMask) <- &TempGlobal)
  35852. 0x1F6 BattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP)
  35853. 0x205 Display String: "Think about the sequence of the 5 targets"
  35854. 0x230 Display String: " and beat them!"
  35855. 0x241 Display String: "If a part dies, change to a different party."
  35856. 0x26F TempGlobal <- &GlobalVar(Party1TurnCount)
  35857. 0x274 LocalVar:Count <- BattleAddr(&MemBank1/2)
  35858. 0x27B }
  35859. 0x27B Else
  35860. 0x27B {
  35861. 0x27E }
  35862. 0x27E Else
  35863. 0x27E {
  35864. 0x281 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  35865. 0x281 {
  35866. 0x286 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  35867. 0x290 TempGlobal <- &GlobalVar(MainDeathMask)
  35868. 0x295 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35869. 0x29C If (LocalVar:TempMask AND 64)
  35870. 0x29C {
  35871. 0x2A5 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35872. 0x2AF BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35873. 0x2B9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35874. 0x2C3 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  35875. 0x2CD BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  35876. 0x2D7 }
  35877. 0x2D7 Else
  35878. 0x2D7 {
  35879. 0x2DA }
  35880. 0x2DA Else
  35881. 0x2DA {
  35882. 0x2DD If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  35883. 0x2DD {
  35884. 0x2E2 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 7
  35885. 0x2EC BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  35886. 0x2F6 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  35887. 0x300 TempGlobal <- &GlobalVar(AltDeathMask)
  35888. 0x305 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35889. 0x30C LocalVar:TempMask2 <- LocalVar:TempMask AND 8
  35890. 0x316 TempGlobal <- &GlobalVar(MainDeathMask)
  35891. 0x31B LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35892. 0x322 If ( (LocalVar:TempMask2 And (LocalVar:TempMask AND 25 == 25) ) )
  35893. 0x322 {
  35894. 0x332 BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  35895. 0x33C BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  35896. 0x346 TempGlobal <- &GlobalVar(MainDeathMask)
  35897. 0x34B LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35898. 0x352 If (LocalVar:TempMask AND 32)
  35899. 0x352 {
  35900. 0x35B BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35901. 0x365 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35902. 0x36F BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35903. 0x379 }
  35904. 0x379 Else
  35905. 0x379 {
  35906. 0x37C }
  35907. 0x37C Else
  35908. 0x37C {
  35909. 0x37F If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  35910. 0x37F {
  35911. 0x384 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 29
  35912. 0x38E TempGlobal <- &GlobalVar(MainDeathMask)
  35913. 0x393 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35914. 0x39A If (LocalVar:TempMask AND 16)
  35915. 0x39A {
  35916. 0x3A3 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35917. 0x3AD BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35918. 0x3B7 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35919. 0x3C1 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  35920. 0x3CB }
  35921. 0x3CB Else
  35922. 0x3CB {
  35923. 0x3CE }
  35924. 0x3CE Else
  35925. 0x3CE {
  35926. 0x3D1 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  35927. 0x3D1 {
  35928. 0x3D6 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 25
  35929. 0x3E0 TempGlobal <- &GlobalVar(MainDeathMask)
  35930. 0x3E5 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35931. 0x3EC If (LocalVar:TempMask AND 8)
  35932. 0x3EC {
  35933. 0x3F5 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  35934. 0x3FF BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35935. 0x409 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35936. 0x413 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6 (This should be 9)
  35937. 0x41D }
  35938. 0x41D Else
  35939. 0x41D {
  35940. 0x420 }
  35941. 0x420 Else
  35942. 0x420 {
  35943. 0x423 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  35944. 0x42D BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  35945. 0x437 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  35946. 0x441 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  35947. 0x44BPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  35948. 0x44CBattleAddr(&MemBank1/2) <- 0
  35949. 0x452GlobalVar(SwitchParty) <- &TempGlobal)
  35950. 0x458SCRIPT END
  35951.  
  35952.  
  35953. MAIN:
  35954.  
  35955. 0x000 If ( ( ( ( ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 1) ) )
  35956. 0x000 {
  35957. 0x039 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  35958. 0x043 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  35959. 0x04D BattleAddr(&MemBank1/2) <- 0
  35960. 0x053 GlobalVar(SwitchParty) <- &TempGlobal)
  35961. 0x059 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  35962. 0x059 {
  35963. 0x065 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  35964. 0x074 TempGlobal <- &GlobalVar(1stPartyCoreVulTurnCount)
  35965. 0x07A LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  35966. 0x081 If ( (LocalVar:CoreVulTurnCount > 0) )
  35967. 0x081 {
  35968. 0x08A LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  35969. 0x094 BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  35970. 0x09B GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  35971. 0x0A1 LocalVar:AttackConfirmed <- 0
  35972. 0x0A7 If ( ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) ) )
  35973. 0x0A7 {
  35974. 0x0BF LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  35975. 0x0C9 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  35976. 0x0D3 LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  35977. 0x0DD LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  35978. 0x0E7 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  35979. 0x0F6 Display String: "Head Portion (B) Revived"
  35980. 0x110 TempGlobal <- &GlobalVar(MainDeathMask)
  35981. 0x115 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  35982. 0x11C LocalVar:TempMask <- LocalVar:TempMask AND 191 Unset &64
  35983. 0x126 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  35984. 0x12D GlobalVar(MainDeathMask) <- &TempGlobal)
  35985. 0x132 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  35986. 0x139 Perform([0120], EnemyAttack)
  35987. 0x13F BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  35988. 0x149 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  35989. 0x153 LocalVar:AttackConfirmed <- 1
  35990. 0x159 }
  35991. 0x159 Else
  35992. 0x159 {
  35993. 0x15C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  35994. 0x15C {
  35995. 0x169 BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  35996. 0x17B TempGlobal <- &GlobalVar(Party1TurnCount)
  35997. 0x180 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  35998. 0x18A GlobalVar(Party1TurnCount) <- &TempGlobal)
  35999. 0x18F LocalVar:Count <- BattleAddr(&MemBank1/2)
  36000. 0x196 If (LocalVar:Count == 1)
  36001. 0x196 {
  36002. 0x19E If ( ( ( ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  36003. 0x19E {
  36004. 0x1C8 BattleAddr(&TarSelected) <- LocalVar:BizRightShld + LocalVar:BizLeftShld
  36005. 0x1D3 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  36006. 0x1DD BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  36007. 0x1E7 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  36008. 0x1F1 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  36009. 0x1FB Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  36010. 0x201 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  36011. 0x20B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  36012. 0x215 Display String: "Left&Right Magic (D&E) Revived"
  36013. 0x235 TempGlobal <- &GlobalVar(MainDeathMask)
  36014. 0x23A LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36015. 0x241 LocalVar:TempMask <- LocalVar:TempMask AND 231 Unset &8 &16
  36016. 0x24B BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36017. 0x252 GlobalVar(MainDeathMask) <- &TempGlobal)
  36018. 0x257 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  36019. 0x257 {
  36020. 0x264 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  36021. 0x26E BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  36022. 0x278 }
  36023. 0x278 Else
  36024. 0x278 {
  36025. 0x27B BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  36026. 0x285 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  36027. 0x28F BattleAddr(&MemBank1/2) <- 0
  36028. 0x295 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  36029. 0x29B LocalVar:AttackConfirmed <- 1
  36030. 0x2A1 }
  36031. 0x2A1 Else
  36032. 0x2A1 {
  36033. 0x2A4 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  36034. 0x2A4 {
  36035. 0x2B1 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  36036. 0x2BC Perform("Aurora Fence"[03B1], EnemyAttack)
  36037. 0x2C2 BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  36038. 0x2CC BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  36039. 0x2D6 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  36040. 0x2E0 BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  36041. 0x2EA BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  36042. 0x2F4 BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  36043. 0x2FE BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  36044. 0x308 BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  36045. 0x312 BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  36046. 0x31C BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  36047. 0x326 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  36048. 0x330 BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  36049. 0x33A BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  36050. 0x344 BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  36051. 0x34E BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  36052. 0x358 BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  36053. 0x362 BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  36054. 0x36C BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  36055. 0x376 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  36056. 0x380 BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  36057. 0x38A BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  36058. 0x394 BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  36059. 0x39E BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  36060. 0x3A8 BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  36061. 0x3B2 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  36062. 0x3BC BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  36063. 0x3C6 LocalVar:AttackConfirmed <- 1
  36064. 0x3CC }
  36065. 0x3CC Else
  36066. 0x3CC {
  36067. 0x3CF }
  36068. 0x3CF Else
  36069. 0x3CF {
  36070. 0x3D2 If (LocalVar:Count == 2)
  36071. 0x3D2 {
  36072. 0x3D7 If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 0) )
  36073. 0x3D7 {
  36074. 0x3E4 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36075. 0x3EC Perform("Bolt3"[0023], EnemyAttack)
  36076. 0x3F1 LocalVar:AttackConfirmed <- 1
  36077. 0x3F7 }
  36078. 0x3F7 Else
  36079. 0x3F7 {
  36080. 0x3FA }
  36081. 0x3FA Else
  36082. 0x3FA {
  36083. 0x3FD If (LocalVar:Count == 3)
  36084. 0x3FD {
  36085. 0x402 If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 0) )
  36086. 0x402 {
  36087. 0x40F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36088. 0x417 Perform("Quake3"[0026], EnemyAttack)
  36089. 0x41C LocalVar:AttackConfirmed <- 1
  36090. 0x422 }
  36091. 0x422 Else
  36092. 0x422 {
  36093. 0x425 }
  36094. 0x425 Else
  36095. 0x425 {
  36096. 0x428 If (LocalVar:Count == 4)
  36097. 0x428 {
  36098. 0x42D If ( ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  36099. 0x42D {
  36100. 0x445 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  36101. 0x44C If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  36102. 0x44C {
  36103. 0x459 Perform("Stigma"[03AF], EnemyAttack)
  36104. 0x45F }
  36105. 0x45F Else
  36106. 0x45F {
  36107. 0x462 Perform("Stigma"[03B2], EnemyAttack)
  36108. 0x468 LocalVar:AttackConfirmed <- 1
  36109. 0x46E }
  36110. 0x46E Else
  36111. 0x46E {
  36112. 0x471 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  36113. 0x471 {
  36114. 0x47E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  36115. 0x485 Perform("Heartless Angel"[03AE], EnemyAttack)
  36116. 0x48B LocalVar:AttackConfirmed <- 1
  36117. 0x491 }
  36118. 0x491 Else
  36119. 0x491 {
  36120. 0x494 }
  36121. 0x494 Else
  36122. 0x494 {
  36123. 0x497 If (LocalVar:Count == 5)
  36124. 0x497 {
  36125. 0x49C }
  36126. 0x49C Else
  36127. 0x49C {
  36128. 0x49F If (LocalVar:Count == 6)
  36129. 0x49F {
  36130. 0x4A4 LocalVar:AttackConfirmed <- 1
  36131. 0x4AA }
  36132. 0x4AA Else
  36133. 0x4AA {
  36134. 0x4AD }
  36135. 0x4AD Else
  36136. 0x4AD {
  36137. 0x4B0 If (LocalVar:Count == 7)
  36138. 0x4B0 {
  36139. 0x4B5 If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 0) )
  36140. 0x4B5 {
  36141. 0x4C2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36142. 0x4CA Perform("Ice3"[0020], EnemyAttack)
  36143. 0x4CF LocalVar:AttackConfirmed <- 1
  36144. 0x4D5 }
  36145. 0x4D5 Else
  36146. 0x4D5 {
  36147. 0x4D8 }
  36148. 0x4D8 Else
  36149. 0x4D8 {
  36150. 0x4DB LocalVar:Count <- 0
  36151. 0x4E1 BattleAddr(&MemBank1/2) <- 0
  36152. 0x4E7 GlobalVar(Party1TurnCount) <- &TempGlobal)
  36153. 0x4EC If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 0) )
  36154. 0x4EC {
  36155. 0x4F9 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36156. 0x501 Perform("Fire3"[001D], EnemyAttack)
  36157. 0x506 LocalVar:AttackConfirmed <- 1
  36158. 0x50C }
  36159. 0x50C Else
  36160. 0x50C {
  36161. 0x50F POP(LocalVar:Count)
  36162. 0x510 If ( (LocalVar:AttackConfirmed == 0) )
  36163. 0x510 {
  36164. 0x519 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36165. 0x521 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  36166. 0x521 {
  36167. 0x52E Perform("Sephiroth Shock"[03AC], EnemyAttack)
  36168. 0x534 }
  36169. 0x534 Else
  36170. 0x534 {
  36171. 0x537 Perform("Sephiroth Shock"[03B0], EnemyAttack)
  36172. 0x53D LocalVar:AttackConfirmed <- 1
  36173. 0x543 }
  36174. 0x543 Else
  36175. 0x543 {
  36176. 0x546 }
  36177. 0x546 Else
  36178. 0x546 {
  36179. 0x549 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  36180. 0x549 {
  36181. 0x54E BattleAddr(&TarSelected) <- LocalVar:BizBody
  36182. 0x555 Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  36183. 0x55B BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  36184. 0x56A }
  36185. 0x56A Else
  36186. 0x56A {
  36187. 0x56DPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  36188. 0x56ESCRIPT END
  36189.  
  36190.  
  36191. DEATH COUNTER:
  36192.  
  36193. 0x000TempGlobal <- &GlobalVar(MainDeathMask)
  36194. 0x005LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36195. 0x00C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  36196. 0x00C {
  36197. 0x019 LocalVar:TempMask <- LocalVar:TempMask OR 64
  36198. 0x023 }
  36199. 0x023 Else
  36200. 0x023 {
  36201. 0x026 LocalVar:TempMask <- LocalVar:TempMask AND 191
  36202. 0x030 If ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) )
  36203. 0x030 {
  36204. 0x03D LocalVar:TempMask <- LocalVar:TempMask OR 32
  36205. 0x047 }
  36206. 0x047 Else
  36207. 0x047 {
  36208. 0x04A LocalVar:TempMask <- LocalVar:TempMask AND 223
  36209. 0x054 If ( (LocalVar:BizRightShld.BattleAddr(&DeathStatus) == 1) )
  36210. 0x054 {
  36211. 0x061 LocalVar:TempMask <- LocalVar:TempMask OR 16
  36212. 0x06B }
  36213. 0x06B Else
  36214. 0x06B {
  36215. 0x06E LocalVar:TempMask <- LocalVar:TempMask AND 239
  36216. 0x078 If ( (LocalVar:BizLeftShld.BattleAddr(&DeathStatus) == 1) )
  36217. 0x078 {
  36218. 0x085 LocalVar:TempMask <- LocalVar:TempMask OR 8
  36219. 0x08F }
  36220. 0x08F Else
  36221. 0x08F {
  36222. 0x092 LocalVar:TempMask <- LocalVar:TempMask AND 247
  36223. 0x09CBattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36224. 0x0A3GlobalVar(MainDeathMask) <- &TempGlobal)
  36225. 0x0A8BattleAddr(&TarSelected) <- BattleAddr(&Self)
  36226. 0x0AF If ( (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0) )
  36227. 0x0AF {
  36228. 0x0BC BattleAddr(&MemBank1/2) <- 0
  36229. 0x0C2 GlobalVar(SwitchParty) <- &TempGlobal)
  36230. 0x0C8 Perform("Vanish"[0150], EnemyAttack)
  36231. 0x0CE BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  36232. 0x0D8 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  36233. 0x0E2 }
  36234. 0x0E2 Else
  36235. 0x0E2 {
  36236. 0x0E5 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36237. 0x0E5 {
  36238. 0x0F2 Perform("Vanish"[014E], EnemyAttack)
  36239. 0x0F8 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  36240. 0x0F8 {
  36241. 0x104 BattleAddr(&MemBank1/2) <- 0
  36242. 0x10A GlobalVar(SwitchParty) <- &TempGlobal)
  36243. 0x110 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  36244. 0x11A BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  36245. 0x124 }
  36246. 0x124 Else
  36247. 0x124 {
  36248. 0x127 }
  36249. 0x127 Else
  36250. 0x127 {
  36251. 0x12A If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  36252. 0x12A {
  36253. 0x12F If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36254. 0x12F {
  36255. 0x13C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  36256. 0x147 Perform("Demi3"[002C], EnemyAttack)
  36257. 0x14C Display String: "Head Portion (B) Dead"
  36258. 0x163 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  36259. 0x16A Perform([011F], EnemyAttack)
  36260. 0x170 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  36261. 0x17A BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  36262. 0x184 LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  36263. 0x193 TempGlobal <- &GlobalVar(BizHeadDeathCount)
  36264. 0x198 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  36265. 0x1A2 If ( (BattleAddr(&MemBank1/2) < 250) )
  36266. 0x1A2 {
  36267. 0x1AB GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  36268. 0x1B0 BattleAddr(&MemBank1/2) <- 5
  36269. 0x1B6 }
  36270. 0x1B6 Else
  36271. 0x1B6 {
  36272. 0x1B9 BattleAddr(&MemBank1/2) <- 0
  36273. 0x1BF GlobalVar(SwitchParty) <- &TempGlobal)
  36274. 0x1C5 }
  36275. 0x1C5 Else
  36276. 0x1C5 {
  36277. 0x1C8 }
  36278. 0x1C8 Else
  36279. 0x1C8 {
  36280. 0x1CB If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  36281. 0x1CB {
  36282. 0x1D0 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36283. 0x1D0 {
  36284. 0x1DD Display String: "Core (C) Dead"
  36285. 0x1EC BattleAddr(&MemBank1/2) <- 0
  36286. 0x1F2 GlobalVar(1stPartyCoreVulTurnCount) <- &TempGlobal)
  36287. 0x1F8 BattleAddr(&MemBank1/2) <- 6
  36288. 0x1FE }
  36289. 0x1FE Else
  36290. 0x1FE {
  36291. 0x201 BattleAddr(&MemBank1/2) <- 0
  36292. 0x207 GlobalVar(SwitchParty) <- &TempGlobal)
  36293. 0x20D }
  36294. 0x20D Else
  36295. 0x20D {
  36296. 0x210 }
  36297. 0x210 Else
  36298. 0x210 {
  36299. 0x213 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  36300. 0x213 {
  36301. 0x218 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36302. 0x218 {
  36303. 0x225 Display String: "Right Magic (D) Dead"
  36304. 0x23B BattleAddr(&MemBank1/2) <- 5
  36305. 0x241 }
  36306. 0x241 Else
  36307. 0x241 {
  36308. 0x244 BattleAddr(&MemBank1/2) <- 0
  36309. 0x24A GlobalVar(SwitchParty) <- &TempGlobal)
  36310. 0x250 }
  36311. 0x250 Else
  36312. 0x250 {
  36313. 0x253 }
  36314. 0x253 Else
  36315. 0x253 {
  36316. 0x256 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  36317. 0x256 {
  36318. 0x25B If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36319. 0x25B {
  36320. 0x268 Display String: "Left Magic (E) Dead"
  36321. 0x27D BattleAddr(&MemBank1/2) <- 6
  36322. 0x283 }
  36323. 0x283 Else
  36324. 0x283 {
  36325. 0x286 BattleAddr(&MemBank1/2) <- 0
  36326. 0x28C GlobalVar(SwitchParty) <- &TempGlobal)
  36327. 0x292 }
  36328. 0x292 Else
  36329. 0x292 {
  36330. 0x295POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  36331. 0x296SCRIPT END
  36332.  
  36333.  
  36334.  
  36335.  
  36336. 329 - [149] Bizarro-Sephiroth (3 Parties Right)
  36337.  
  36338. Perspective is from Bizarro's perspective (Shoulder is Left Magic)
  36339.  
  36340.  
  36341. LocalVar:0000 = LocalVar:BizHead [B]
  36342. LocalVar:0020 = LocalVar:BizBody [A]
  36343. LocalVar:0040 = LocalVar:BizCore [C]
  36344. LocalVar:0060 = LocalVar:BizShoulder [D]
  36345. LocalVar:0080 = LocalVar:BizWing [E]
  36346. LocalVar:00A0 = LocalVar:HPTempVar
  36347. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  36348. LocalVar:00E0 = LocalVar:Count
  36349. LocalVar:0100 = LocalVar:CoreVulTurnCount
  36350. LocalVar:0120 = LocalVar:TempMask2
  36351. LocalVar:0140 = LocalVar:TempMask
  36352. LocalVar:0160 = LocalVar:AttackConfirmed
  36353.  
  36354. GlobalVar(004A) = GlobalVar(Party3TurnCount)
  36355. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  36356. GlobalVar(005C) = GlobalVar(MainDeathMask)
  36357.  
  36358. &1 0x01 = 2ndPartyCoreDead
  36359. &8 0x08 = 3rdPartyShldDead (Left Magic)
  36360. &16 0x10 = 2ndPartyShldDead (Right Magic)
  36361. &32 0x20 = MainPartyCoreDead
  36362. &64 0x40 = HeadDead
  36363.  
  36364. GlobalVar(005D) = GlobalVar(AltDeathMask)
  36365.  
  36366. &2 0x02 = 3rdPartyWingDead
  36367. &8 0x08 = 3rdPartyCoreDead
  36368. &64 0x40 = 2ndPartyWingDead
  36369.  
  36370. GlobalVar(005E) = GlobalVar(OpeningSetup)
  36371. GlobalVar(01CD) = GlobalVar(SwitchParty)
  36372. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  36373. GlobalVar(026B) = GlobalVar(3rdPartyCoreVulTurnCount)
  36374.  
  36375. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  36376. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  36377. BattleAddr(&2060) = BattleAddr(&Self)
  36378. BattleAddr(&2070) = BattleAddr(&TarSelected)
  36379. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  36380. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  36381. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  36382. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  36383.  
  36384. &1 0x01 = ?
  36385. &2 0x02 = Don's apply Poison/Regen?
  36386. &4 0x04 = Other Battles in sequence
  36387. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  36388. &16 0x10 = Cloud learns all limits
  36389. &32 0x20 = No reward screen
  36390.  
  36391. BattleAddr(&2180) = BattleAddr(&PartyActive)
  36392.  
  36393. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  36394. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  36395. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  36396. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  36397. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  36398. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  36399. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  36400. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  36401. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  36402. BattleAddr(&400A) = BattleAddr(&StopStatus)
  36403. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  36404. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  36405. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  36406. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  36407. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  36408. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  36409. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  36410. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  36411. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  36412. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  36413. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  36414. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  36415. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  36416. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  36417. BattleAddr(&4020) = BattleAddr(&SelfActive)
  36418. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  36419. BattleAddr(&4023) = BattleAddr(&Targetable)
  36420. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  36421. BattleAddr(&402D) = BattleAddr(&SelfDead)
  36422. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  36423. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  36424. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  36425. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  36426. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  36427. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  36428. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  36429. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  36430. BattleAddr(&4150) = BattleAddr(&MaxMP)
  36431. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  36432. BattleAddr(&4180) = BattleAddr(&MaxHP)
  36433. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  36434. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  36435.  
  36436.  
  36437.  
  36438. FORMATION PRE-BATTLE:
  36439.  
  36440. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 36
  36441. 0x00ABattleAddr(&PartyActive) <- 2
  36442. 0x010SCRIPT END
  36443.  
  36444.  
  36445. PRE-BATTLE:
  36446.  
  36447. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  36448. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  36449. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  36450. 0x02ALocalVar:BizShoulder <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  36451. 0x038LocalVar:BizWing <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  36452. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  36453. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  36454. 0x050 {
  36455. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  36456. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  36457. 0x069 LocalVar:HPTempVar <- 30000 + LocalVar:QtyOfLevels=99 * 3000
  36458. 0x078 LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  36459. 0x083 LocalVar:HPTempVar <- 4000 - 8 - LocalVar:QtyOfLevels=99 * 250
  36460. 0x094 LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  36461. 0x09F LocalVar:HPTempVar <- 12000 + LocalVar:QtyOfLevels=99 * 1500
  36462. 0x0AE LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  36463. 0x0B9 LocalVar:HPTempVar <- 8000 + LocalVar:QtyOfLevels=99 * 1000
  36464. 0x0C8 LocalVar:BizShoulder.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  36465. 0x0D3 LocalVar:HPTempVar <- 6000 + LocalVar:QtyOfLevels=99 * 750
  36466. 0x0E2 LocalVar:BizWing.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  36467. 0x0ED TempGlobal <- &GlobalVar(OpeningSetup)
  36468. 0x0F2 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36469. 0x0F9 If ( (LocalVar:TempMask AND 32 == 0) )
  36470. 0x0F9 {
  36471. 0x105 LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  36472. 0x114 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  36473. 0x123 LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  36474. 0x132 LocalVar:BizShoulder.BattleAddr(&CurrentHP) <- LocalVar:BizShoulder.BattleAddr(&MaxHP)
  36475. 0x141 LocalVar:BizWing.BattleAddr(&CurrentHP) <- LocalVar:BizWing.BattleAddr(&MaxHP)
  36476. 0x150 LocalVar:TempMask <- LocalVar:TempMask OR 32
  36477. 0x15A BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36478. 0x161 GlobalVar(OpeningSetup) <- &TempGlobal)
  36479. 0x166 Display String: "If a part dies, change to a different party."
  36480. 0x194 TempGlobal <- &GlobalVar(Party3TurnCount)
  36481. 0x199 LocalVar:Count <- BattleAddr(&MemBank1/2)
  36482. 0x1A0 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36483. 0x1AA }
  36484. 0x1AA Else
  36485. 0x1AA {
  36486. 0x1AD }
  36487. 0x1AD Else
  36488. 0x1AD {
  36489. 0x1B0 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  36490. 0x1B0 {
  36491. 0x1B5 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  36492. 0x1BF TempGlobal <- &GlobalVar(MainDeathMask)
  36493. 0x1C4 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36494. 0x1CB If (LocalVar:TempMask AND 64)
  36495. 0x1CB {
  36496. 0x1D4 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  36497. 0x1DE BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36498. 0x1E8 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  36499. 0x1F2 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  36500. 0x1FC BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  36501. 0x206 }
  36502. 0x206 Else
  36503. 0x206 {
  36504. 0x209 }
  36505. 0x209 Else
  36506. 0x209 {
  36507. 0x20C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  36508. 0x20C {
  36509. 0x211 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 3
  36510. 0x21B BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  36511. 0x225 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  36512. 0x22F TempGlobal <- &GlobalVar(MainDeathMask)
  36513. 0x234 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36514. 0x23B LocalVar:TempMask2 <- LocalVar:TempMask AND 8
  36515. 0x245 TempGlobal <- &GlobalVar(AltDeathMask)
  36516. 0x24A LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36517. 0x251 If ( (LocalVar:TempMask AND 2 And LocalVar:TempMask2) )
  36518. 0x251 {
  36519. 0x25E BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  36520. 0x268 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  36521. 0x272 TempGlobal <- &GlobalVar(AltDeathMask)
  36522. 0x277 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36523. 0x27E If (LocalVar:TempMask AND 8)
  36524. 0x27E {
  36525. 0x287 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  36526. 0x291 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36527. 0x29B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  36528. 0x2A5 }
  36529. 0x2A5 Else
  36530. 0x2A5 {
  36531. 0x2A8 }
  36532. 0x2A8 Else
  36533. 0x2A8 {
  36534. 0x2AB If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  36535. 0x2AB {
  36536. 0x2B0 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 25
  36537. 0x2BA BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 9
  36538. 0x2C4 TempGlobal <- &GlobalVar(MainDeathMask)
  36539. 0x2C9 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36540. 0x2D0 If (LocalVar:TempMask AND 8)
  36541. 0x2D0 {
  36542. 0x2D9 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  36543. 0x2E3 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36544. 0x2ED BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  36545. 0x2F7 }
  36546. 0x2F7 Else
  36547. 0x2F7 {
  36548. 0x2FA }
  36549. 0x2FA Else
  36550. 0x2FA {
  36551. 0x2FD If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  36552. 0x2FD {
  36553. 0x302 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 26
  36554. 0x30C BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 9
  36555. 0x316 TempGlobal <- &GlobalVar(AltDeathMask)
  36556. 0x31B LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36557. 0x322 If (LocalVar:TempMask AND 2)
  36558. 0x322 {
  36559. 0x32B BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  36560. 0x335 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36561. 0x33F BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  36562. 0x349 }
  36563. 0x349 Else
  36564. 0x349 {
  36565. 0x34C }
  36566. 0x34C Else
  36567. 0x34C {
  36568. 0x34F BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  36569. 0x359 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  36570. 0x363 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  36571. 0x36D BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  36572. 0x377POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  36573. 0x378BattleAddr(&MemBank1/2) <- 0
  36574. 0x37EGlobalVar(SwitchParty) <- &TempGlobal)
  36575. 0x384SCRIPT END
  36576.  
  36577.  
  36578. MAIN:
  36579.  
  36580. 0x000 If ( ( ( ( ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) )
  36581. 0x000 {
  36582. 0x039 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  36583. 0x043 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  36584. 0x04D BattleAddr(&MemBank1/2) <- 0
  36585. 0x053 GlobalVar(SwitchParty) <- &TempGlobal)
  36586. 0x059 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  36587. 0x059 {
  36588. 0x065 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  36589. 0x074 TempGlobal <- &GlobalVar(3rdPartyCoreVulTurnCount)
  36590. 0x07A LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  36591. 0x081 If ( (LocalVar:CoreVulTurnCount > 0) )
  36592. 0x081 {
  36593. 0x08A LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  36594. 0x094 BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  36595. 0x09B GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  36596. 0x0A1 LocalVar:AttackConfirmed <- 0
  36597. 0x0A7 If ( ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) ) )
  36598. 0x0A7 {
  36599. 0x0BF LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  36600. 0x0C9 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  36601. 0x0D3 LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  36602. 0x0DD LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  36603. 0x0E7 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  36604. 0x0F6 Display String: "Head Portion (B) Revived"
  36605. 0x110 TempGlobal <- &GlobalVar(MainDeathMask)
  36606. 0x115 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36607. 0x11C LocalVar:TempMask <- LocalVar:TempMask AND 191
  36608. 0x126 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36609. 0x12D GlobalVar(MainDeathMask) <- &TempGlobal)
  36610. 0x132 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  36611. 0x139 Perform([0120], EnemyAttack)
  36612. 0x13F BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  36613. 0x149 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  36614. 0x153 LocalVar:AttackConfirmed <- 1
  36615. 0x159 }
  36616. 0x159 Else
  36617. 0x159 {
  36618. 0x15C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  36619. 0x15C {
  36620. 0x169 BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  36621. 0x17B TempGlobal <- &GlobalVar(Party3TurnCount)
  36622. 0x180 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  36623. 0x18A GlobalVar(Party3TurnCount) <- &TempGlobal)
  36624. 0x18F LocalVar:Count <- BattleAddr(&MemBank1/2)
  36625. 0x196 If (LocalVar:Count == 1)
  36626. 0x196 {
  36627. 0x19E If ( ( ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  36628. 0x19E {
  36629. 0x1C8 BattleAddr(&TarSelected) <- LocalVar:BizShoulder + LocalVar:BizWing
  36630. 0x1D3 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  36631. 0x1DD BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  36632. 0x1E7 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  36633. 0x1F1 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  36634. 0x1FB Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  36635. 0x201 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  36636. 0x20B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  36637. 0x215 Display String: "Left Magic (D&E) Revived"
  36638. 0x22F TempGlobal <- &GlobalVar(MainDeathMask)
  36639. 0x234 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36640. 0x23B LocalVar:TempMask <- LocalVar:TempMask AND 247
  36641. 0x245 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36642. 0x24C GlobalVar(MainDeathMask) <- &TempGlobal)
  36643. 0x251 TempGlobal <- &GlobalVar(AltDeathMask)
  36644. 0x256 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36645. 0x25D LocalVar:TempMask <- LocalVar:TempMask AND 253
  36646. 0x267 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36647. 0x26E GlobalVar(AltDeathMask) <- &TempGlobal)
  36648. 0x273 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  36649. 0x273 {
  36650. 0x280 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  36651. 0x28A BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  36652. 0x294 }
  36653. 0x294 Else
  36654. 0x294 {
  36655. 0x297 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  36656. 0x2A1 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  36657. 0x2AB BattleAddr(&MemBank1/2) <- 0
  36658. 0x2B1 GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  36659. 0x2B7 LocalVar:AttackConfirmed <- 1
  36660. 0x2BD }
  36661. 0x2BD Else
  36662. 0x2BD {
  36663. 0x2C0 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  36664. 0x2C0 {
  36665. 0x2CD BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  36666. 0x2D8 Perform("Aurora Fence"[03B1], EnemyAttack)
  36667. 0x2DE BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  36668. 0x2E8 BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  36669. 0x2F2 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  36670. 0x2FC BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  36671. 0x306 BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  36672. 0x310 BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  36673. 0x31A BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  36674. 0x324 BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  36675. 0x32E BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  36676. 0x338 BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  36677. 0x342 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  36678. 0x34C BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  36679. 0x356 BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  36680. 0x360 BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  36681. 0x36A BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  36682. 0x374 BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  36683. 0x37E BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  36684. 0x388 BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  36685. 0x392 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  36686. 0x39C BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  36687. 0x3A6 BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  36688. 0x3B0 BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  36689. 0x3BA BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  36690. 0x3C4 BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  36691. 0x3CE BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  36692. 0x3D8 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  36693. 0x3E2 LocalVar:AttackConfirmed <- 1
  36694. 0x3E8 }
  36695. 0x3E8 Else
  36696. 0x3E8 {
  36697. 0x3EB }
  36698. 0x3EB Else
  36699. 0x3EB {
  36700. 0x3EE If (LocalVar:Count == 2)
  36701. 0x3EE {
  36702. 0x3F3 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  36703. 0x3F3 {
  36704. 0x400 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36705. 0x408 Perform("Fire3"[001D], EnemyAttack)
  36706. 0x40D LocalVar:AttackConfirmed <- 1
  36707. 0x413 }
  36708. 0x413 Else
  36709. 0x413 {
  36710. 0x416 }
  36711. 0x416 Else
  36712. 0x416 {
  36713. 0x419 If (LocalVar:Count == 3)
  36714. 0x419 {
  36715. 0x41E If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  36716. 0x41E {
  36717. 0x42B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36718. 0x433 Perform("Stop"[0015], EnemyAttack)
  36719. 0x438 LocalVar:AttackConfirmed <- 1
  36720. 0x43E }
  36721. 0x43E Else
  36722. 0x43E {
  36723. 0x441 }
  36724. 0x441 Else
  36725. 0x441 {
  36726. 0x444 If (LocalVar:Count == 4)
  36727. 0x444 {
  36728. 0x449 TempGlobal <- &GlobalVar(MainDeathMask)
  36729. 0x44E LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36730. 0x455 If ( (LocalVar:TempMask AND 32 And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  36731. 0x455 {
  36732. 0x469 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  36733. 0x470 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  36734. 0x470 {
  36735. 0x47D Perform("Stigma"[03AF], EnemyAttack)
  36736. 0x483 }
  36737. 0x483 Else
  36738. 0x483 {
  36739. 0x486 Perform("Stigma"[03B2], EnemyAttack)
  36740. 0x48C LocalVar:AttackConfirmed <- 1
  36741. 0x492 }
  36742. 0x492 Else
  36743. 0x492 {
  36744. 0x495 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  36745. 0x495 {
  36746. 0x4A2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36747. 0x4AA Perform("Heartless Angel"[03AE], EnemyAttack)
  36748. 0x4B0 LocalVar:AttackConfirmed <- 1
  36749. 0x4B6 }
  36750. 0x4B6 Else
  36751. 0x4B6 {
  36752. 0x4B9 }
  36753. 0x4B9 Else
  36754. 0x4B9 {
  36755. 0x4BC If (LocalVar:Count == 5)
  36756. 0x4BC {
  36757. 0x4C1 }
  36758. 0x4C1 Else
  36759. 0x4C1 {
  36760. 0x4C4 If (LocalVar:Count == 6)
  36761. 0x4C4 {
  36762. 0x4C9 LocalVar:AttackConfirmed <- 1
  36763. 0x4CF }
  36764. 0x4CF Else
  36765. 0x4CF {
  36766. 0x4D2 }
  36767. 0x4D2 Else
  36768. 0x4D2 {
  36769. 0x4D5 If (LocalVar:Count == 7)
  36770. 0x4D5 {
  36771. 0x4DA If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  36772. 0x4DA {
  36773. 0x4E7 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36774. 0x4EF Perform("Quake3"[0026], EnemyAttack)
  36775. 0x4F4 LocalVar:AttackConfirmed <- 1
  36776. 0x4FA }
  36777. 0x4FA Else
  36778. 0x4FA {
  36779. 0x4FD }
  36780. 0x4FD Else
  36781. 0x4FD {
  36782. 0x500 LocalVar:Count <- 0
  36783. 0x506 BattleAddr(&MemBank1/2) <- 0
  36784. 0x50C GlobalVar(Party3TurnCount) <- &TempGlobal)
  36785. 0x511 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  36786. 0x511 {
  36787. 0x51E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36788. 0x526 Perform("Demi3"[002C], EnemyAttack)
  36789. 0x52B LocalVar:AttackConfirmed <- 1
  36790. 0x531 }
  36791. 0x531 Else
  36792. 0x531 {
  36793. 0x534 POP(LocalVar:Count)
  36794. 0x535 If ( (LocalVar:AttackConfirmed == 0) )
  36795. 0x535 {
  36796. 0x53E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  36797. 0x546 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  36798. 0x546 {
  36799. 0x553 Perform("Sephiroth Shock"[03AC], EnemyAttack)
  36800. 0x559 }
  36801. 0x559 Else
  36802. 0x559 {
  36803. 0x55C Perform("Sephiroth Shock"[03B0], EnemyAttack)
  36804. 0x562 LocalVar:AttackConfirmed <- 1
  36805. 0x568 }
  36806. 0x568 Else
  36807. 0x568 {
  36808. 0x56BPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  36809. 0x56CSCRIPT END
  36810.  
  36811.  
  36812. DEATH COUNTER:
  36813.  
  36814. 0x000TempGlobal <- &GlobalVar(MainDeathMask)
  36815. 0x005LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36816. 0x00C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  36817. 0x00C {
  36818. 0x019 LocalVar:TempMask <- LocalVar:TempMask OR 64
  36819. 0x023 }
  36820. 0x023 Else
  36821. 0x023 {
  36822. 0x026 LocalVar:TempMask <- LocalVar:TempMask AND 191
  36823. 0x030 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) )
  36824. 0x030 {
  36825. 0x03D LocalVar:TempMask <- LocalVar:TempMask OR 8
  36826. 0x047 }
  36827. 0x047 Else
  36828. 0x047 {
  36829. 0x04A LocalVar:TempMask <- LocalVar:TempMask AND 247
  36830. 0x054BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36831. 0x05BGlobalVar(MainDeathMask) <- &TempGlobal)
  36832. 0x060TempGlobal <- &GlobalVar(AltDeathMask)
  36833. 0x065LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36834. 0x06C If ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) )
  36835. 0x06C {
  36836. 0x079 LocalVar:TempMask <- LocalVar:TempMask OR 8
  36837. 0x083 }
  36838. 0x083 Else
  36839. 0x083 {
  36840. 0x086 LocalVar:TempMask <- LocalVar:TempMask AND 247
  36841. 0x090 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) )
  36842. 0x090 {
  36843. 0x09D LocalVar:TempMask <- LocalVar:TempMask OR 2
  36844. 0x0A7 }
  36845. 0x0A7 Else
  36846. 0x0A7 {
  36847. 0x0AA LocalVar:TempMask <- LocalVar:TempMask AND 253
  36848. 0x0B4BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36849. 0x0BBGlobalVar(AltDeathMask) <- &TempGlobal)
  36850. 0x0C0BattleAddr(&TarSelected) <- BattleAddr(&Self)
  36851. 0x0C7Perform("Vanish"[014E], EnemyAttack)
  36852. 0x0CD If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  36853. 0x0CD {
  36854. 0x0D9 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36855. 0x0D9 {
  36856. 0x0E6 Display String: "Head Portion (B) Dead"
  36857. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  36858. 0x104 Perform([011F], EnemyAttack)
  36859. 0x10A LocalVar:BizBody.BattleAddr(&IdleAnimID) <- 11
  36860. 0x114 LocalVar:BizBody.BattleAddr(&DamagedAnimID) <- 12
  36861. 0x11E LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  36862. 0x12D TempGlobal <- &GlobalVar(BizHeadDeathCount)
  36863. 0x132 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  36864. 0x13C If ( (BattleAddr(&MemBank1/2) < 250) )
  36865. 0x13C {
  36866. 0x145 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  36867. 0x14A BattleAddr(&MemBank1/2) <- 4
  36868. 0x150 GlobalVar(SwitchParty) <- &TempGlobal)
  36869. 0x156 }
  36870. 0x156 Else
  36871. 0x156 {
  36872. 0x159 }
  36873. 0x159 Else
  36874. 0x159 {
  36875. 0x15C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  36876. 0x15C {
  36877. 0x161 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36878. 0x161 {
  36879. 0x16E Display String: "Left Core (C) Dead"
  36880. 0x182 BattleAddr(&MemBank1/2) <- 0
  36881. 0x188 GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  36882. 0x18E TempGlobal <- &GlobalVar(MainDeathMask)
  36883. 0x193 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36884. 0x19A If (LocalVar:TempMask AND 1)
  36885. 0x19A {
  36886. 0x1A3 Display String: "Core (C) Defense Down"
  36887. 0x1BA Display String: " in front of {EA0000h}'s party"
  36888. 0x1D4 BattleAddr(&MemBank1/2) <- 4
  36889. 0x1DA }
  36890. 0x1DA Else
  36891. 0x1DA {
  36892. 0x1DD BattleAddr(&MemBank1/2) <- 5
  36893. 0x1E3 GlobalVar(SwitchParty) <- &TempGlobal)
  36894. 0x1E9 }
  36895. 0x1E9 Else
  36896. 0x1E9 {
  36897. 0x1EC }
  36898. 0x1EC Else
  36899. 0x1EC {
  36900. 0x1EF If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  36901. 0x1EF {
  36902. 0x1F4 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36903. 0x1F4 {
  36904. 0x201 Display String: "Left Magic (D) Dead"
  36905. 0x216 If ( ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) )
  36906. 0x216 {
  36907. 0x22E LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  36908. 0x238 LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  36909. 0x242 BattleAddr(&MemBank1/2) <- 1
  36910. 0x248 GlobalVar(3rdPartyCoreVulTurnCount) <- &TempGlobal)
  36911. 0x24E Display String: "Left Core (C) Defense Down"
  36912. 0x26A BattleAddr(&MemBank1/2) <- 5
  36913. 0x270 GlobalVar(SwitchParty) <- &TempGlobal)
  36914. 0x276 }
  36915. 0x276 Else
  36916. 0x276 {
  36917. 0x279 }
  36918. 0x279 Else
  36919. 0x279 {
  36920. 0x27C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  36921. 0x27C {
  36922. 0x281 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  36923. 0x281 {
  36924. 0x28E Display String: "Left Magic (E) Dead"
  36925. 0x2A3 If ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) )
  36926. 0x2A3 {
  36927. 0x2BB LocalVar:BizShoulder.BattleAddr(&DeathStatus) <- 0
  36928. 0x2C5 LocalVar:BizShoulder.BattleAddr(&SelfDead) <- 0
  36929. 0x2CF LocalVar:BizShoulder.BattleAddr(&Targetable) <- 1
  36930. 0x2D9 LocalVar:BizShoulder.BattleAddr(&AIScriptActive) <- 1
  36931. 0x2E3 BattleAddr(&TarSelected) <- LocalVar:BizShoulder
  36932. 0x2EA Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  36933. 0x2F0 Display String: "Left Magic (D) Revived"
  36934. 0x308 TempGlobal <- &GlobalVar(MainDeathMask)
  36935. 0x30D LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  36936. 0x314 LocalVar:TempMask <- LocalVar:TempMask AND 247
  36937. 0x31E BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  36938. 0x325 GlobalVar(MainDeathMask) <- &TempGlobal)
  36939. 0x32A BattleAddr(&MemBank1/2) <- 5
  36940. 0x330 GlobalVar(SwitchParty) <- &TempGlobal)
  36941. 0x336 }
  36942. 0x336 Else
  36943. 0x336 {
  36944. 0x339POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  36945. 0x33ASCRIPT END
  36946.  
  36947.  
  36948.  
  36949.  
  36950. 330 - [14A] Bizarro-Sephiroth (3 Parties Left)
  36951.  
  36952. Perspective is from Bizarro's perspective (Shoulder is Right Magic)
  36953.  
  36954.  
  36955. LocalVar:0000 = LocalVar:BizHead [B]
  36956. LocalVar:0020 = LocalVar:BizBody [A]
  36957. LocalVar:0040 = LocalVar:BizCore [C]
  36958. LocalVar:0060 = LocalVar:BizShoulder [D]
  36959. LocalVar:0080 = LocalVar:BizWing [E]
  36960. LocalVar:00A0 = LocalVar:HPTempVar
  36961. LocalVar:00C0 = LocalVar:QtyOfLevels=99
  36962. LocalVar:00E0 = LocalVar:Count
  36963. LocalVar:0100 = LocalVar:CoreVulTurnCount
  36964. LocalVar:0120 = LocalVar:TempMask2
  36965. LocalVar:0140 = LocalVar:TempMask
  36966. LocalVar:0160 = LocalVar:AttackConfirmed
  36967.  
  36968. GlobalVar(0049) = GlobalVar(Party2TurnCount)
  36969. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  36970. GlobalVar(005C) = GlobalVar(MainDeathMask)
  36971.  
  36972. &1 0x01 = 2ndPartyCoreDead
  36973. &8 0x08 = 3rdPartyShldDead (Left Magic)
  36974. &16 0x10 = 2ndPartyShldDead (Right Magic)
  36975. &32 0x20 = MainPartyCoreDead
  36976. &64 0x40 = HeadDead
  36977.  
  36978. GlobalVar(005D) = GlobalVar(AltDeathMask)
  36979.  
  36980. &2 0x02 = 3rdPartyWingDead
  36981. &8 0x08 = 3rdPartyCoreDead
  36982. &64 0x40 = 2ndPartyWingDead
  36983.  
  36984. GlobalVar(005E) = GlobalVar(OpeningSetup)
  36985. GlobalVar(01CD) = GlobalVar(SwitchParty)
  36986. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  36987. GlobalVar(026A) = GlobalVar(2ndPartyCoreVulTurnCount)
  36988.  
  36989. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  36990. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  36991. BattleAddr(&2060) = BattleAddr(&Self)
  36992. BattleAddr(&2070) = BattleAddr(&TarSelected)
  36993. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  36994. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  36995. BattleAddr(&20B0) = BattleAddr(&ActivePlayers)
  36996. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  36997.  
  36998. &1 0x01 = ?
  36999. &2 0x02 = Don's apply Poison/Regen?
  37000. &4 0x04 = Other Battles in sequence
  37001. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  37002. &16 0x10 = Cloud learns all limits
  37003. &32 0x20 = No reward screen
  37004.  
  37005. BattleAddr(&2180) = BattleAddr(&PartyActive)
  37006.  
  37007. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  37008. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  37009. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  37010. BattleAddr(&4004) = BattleAddr(&SadnessStatus)
  37011. BattleAddr(&4005) = BattleAddr(&FuryStatus)
  37012. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  37013. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  37014. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  37015. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  37016. BattleAddr(&400A) = BattleAddr(&StopStatus)
  37017. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  37018. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  37019. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  37020. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  37021. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  37022. BattleAddr(&4010) = BattleAddr(&BarrierStatus)
  37023. BattleAddr(&4011) = BattleAddr(&MBarrierStatus)
  37024. BattleAddr(&4012) = BattleAddr(&ReflectStatus)
  37025. BattleAddr(&4014) = BattleAddr(&ShieldStatus)
  37026. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  37027. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  37028. BattleAddr(&4018) = BattleAddr(&PeerlessStatus)
  37029. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  37030. BattleAddr(&401B) = BattleAddr(&DualDrainStatus)
  37031. BattleAddr(&4020) = BattleAddr(&SelfActive)
  37032. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  37033. BattleAddr(&4023) = BattleAddr(&Targetable)
  37034. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  37035. BattleAddr(&402D) = BattleAddr(&SelfDead)
  37036. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  37037. BattleAddr(&4028) = BattleAddr(&PhysImmunity)
  37038. BattleAddr(&4029) = BattleAddr(&MagImmunity)
  37039. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  37040. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  37041. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  37042. BattleAddr(&4130) = BattleAddr(&AbsorbedElements)
  37043. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  37044. BattleAddr(&4150) = BattleAddr(&MaxMP)
  37045. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  37046. BattleAddr(&4180) = BattleAddr(&MaxHP)
  37047. BattleAddr(&4200) = BattleAddr(&HeadDeathTurnCount)
  37048. BattleAddr(&4278) = BattleAddr(&BodyPartTargeted)
  37049.  
  37050.  
  37051.  
  37052. FORMATION PRE-BATTLE:
  37053.  
  37054. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 36
  37055. 0x00ABattleAddr(&PartyActive) <- 1
  37056. 0x010SCRIPT END
  37057.  
  37058.  
  37059. PRE-BATTLE:
  37060.  
  37061. 0x000LocalVar:BizBody <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 0)
  37062. 0x00ELocalVar:BizHead <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 1)
  37063. 0x01CLocalVar:BizCore <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 2)
  37064. 0x02ALocalVar:BizShoulder <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 3)
  37065. 0x038LocalVar:BizWing <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 4)
  37066. 0x046BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  37067. 0x050 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  37068. 0x050 {
  37069. 0x05C TempGlobal <- &GlobalVar(QtyOfLevels=99)
  37070. 0x062 LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  37071. 0x069 LocalVar:HPTempVar <- 35000 + LocalVar:QtyOfLevels=99 * 4000
  37072. 0x078 LocalVar:BizBody.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  37073. 0x083 LocalVar:HPTempVar <- 4000 - 8 - LocalVar:QtyOfLevels=99 * 250
  37074. 0x094 LocalVar:BizHead.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  37075. 0x09F LocalVar:HPTempVar <- 12000 + LocalVar:QtyOfLevels=99 * 1500
  37076. 0x0AE LocalVar:BizCore.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  37077. 0x0B9 LocalVar:HPTempVar <- 8000 + LocalVar:QtyOfLevels=99 * 1000
  37078. 0x0C8 LocalVar:BizShoulder.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  37079. 0x0D3 LocalVar:HPTempVar <- 6000 + LocalVar:QtyOfLevels=99 * 750
  37080. 0x0E2 LocalVar:BizWing.BattleAddr(&MaxHP) <- LocalVar:HPTempVar
  37081. 0x0ED TempGlobal <- &GlobalVar(OpeningSetup)
  37082. 0x0F2 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37083. 0x0F9 If ( (LocalVar:TempMask AND 64 == 0) )
  37084. 0x0F9 {
  37085. 0x105 LocalVar:BizBody.BattleAddr(&CurrentHP) <- LocalVar:BizBody.BattleAddr(&MaxHP)
  37086. 0x114 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  37087. 0x123 LocalVar:BizCore.BattleAddr(&CurrentHP) <- LocalVar:BizCore.BattleAddr(&MaxHP)
  37088. 0x132 LocalVar:BizShoulder.BattleAddr(&CurrentHP) <- LocalVar:BizShoulder.BattleAddr(&MaxHP)
  37089. 0x141 LocalVar:BizWing.BattleAddr(&CurrentHP) <- LocalVar:BizWing.BattleAddr(&MaxHP)
  37090. 0x150 LocalVar:TempMask <- LocalVar:TempMask OR 64
  37091. 0x15A BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37092. 0x161 GlobalVar(OpeningSetup) <- &TempGlobal)
  37093. 0x166 BattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP)
  37094. 0x175 Display String: "If a part dies, change to a different party."
  37095. 0x1A3 TempGlobal <- &GlobalVar(Party2TurnCount)
  37096. 0x1A8 LocalVar:Count <- BattleAddr(&MemBank1/2)
  37097. 0x1AF BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37098. 0x1B9 }
  37099. 0x1B9 Else
  37100. 0x1B9 {
  37101. 0x1BC }
  37102. 0x1BC Else
  37103. 0x1BC {
  37104. 0x1BF If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  37105. 0x1BF {
  37106. 0x1C4 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 20
  37107. 0x1CE TempGlobal <- &GlobalVar(MainDeathMask)
  37108. 0x1D3 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37109. 0x1DA If (LocalVar:TempMask AND 64)
  37110. 0x1DA {
  37111. 0x1E3 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  37112. 0x1ED BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37113. 0x1F7 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37114. 0x201 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  37115. 0x20B BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  37116. 0x215 }
  37117. 0x215 Else
  37118. 0x215 {
  37119. 0x218 }
  37120. 0x218 Else
  37121. 0x218 {
  37122. 0x21B If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  37123. 0x21B {
  37124. 0x220 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 5
  37125. 0x22A BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 1
  37126. 0x234 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 1
  37127. 0x23E TempGlobal <- &GlobalVar(MainDeathMask)
  37128. 0x243 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37129. 0x24A LocalVar:TempMask2 <- LocalVar:TempMask AND 16
  37130. 0x254 TempGlobal <- &GlobalVar(AltDeathMask)
  37131. 0x259 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37132. 0x260 If ( (LocalVar:TempMask AND 64 And LocalVar:TempMask2) )
  37133. 0x260 {
  37134. 0x26D BattleAddr(&Self).BattleAddr(&PhysImmunity) <- 0
  37135. 0x277 BattleAddr(&Self).BattleAddr(&MagImmunity) <- 0
  37136. 0x281 TempGlobal <- &GlobalVar(MainDeathMask)
  37137. 0x286 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37138. 0x28D If (LocalVar:TempMask AND 1)
  37139. 0x28D {
  37140. 0x296 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  37141. 0x2A0 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37142. 0x2AA BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37143. 0x2B4 }
  37144. 0x2B4 Else
  37145. 0x2B4 {
  37146. 0x2B7 }
  37147. 0x2B7 Else
  37148. 0x2B7 {
  37149. 0x2BA If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  37150. 0x2BA {
  37151. 0x2BF BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 29
  37152. 0x2C9 BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  37153. 0x2D3 TempGlobal <- &GlobalVar(MainDeathMask)
  37154. 0x2D8 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37155. 0x2DF If (LocalVar:TempMask AND 16)
  37156. 0x2DF {
  37157. 0x2E8 BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  37158. 0x2F2 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37159. 0x2FC BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37160. 0x306 }
  37161. 0x306 Else
  37162. 0x306 {
  37163. 0x309 }
  37164. 0x309 Else
  37165. 0x309 {
  37166. 0x30C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  37167. 0x30C {
  37168. 0x311 BattleAddr(&Self).BattleAddr(&BodyPartTargeted) <- 30
  37169. 0x31B BattleAddr(&Self).BattleAddr(&AbsorbedElements) <- 6
  37170. 0x325 TempGlobal <- &GlobalVar(AltDeathMask)
  37171. 0x32A LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37172. 0x331 If (LocalVar:TempMask AND 64)
  37173. 0x331 {
  37174. 0x33A BattleAddr(&Self).BattleAddr(&DeathStatus) <- 1
  37175. 0x344 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37176. 0x34E BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37177. 0x358 }
  37178. 0x358 Else
  37179. 0x358 {
  37180. 0x35B }
  37181. 0x35B Else
  37182. 0x35B {
  37183. 0x35E BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  37184. 0x368 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37185. 0x372 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  37186. 0x37C BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37187. 0x386POP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  37188. 0x387BattleAddr(&MemBank1/2) <- 0
  37189. 0x38DGlobalVar(SwitchParty) <- &TempGlobal)
  37190. 0x393SCRIPT END
  37191.  
  37192.  
  37193. MAIN:
  37194.  
  37195. 0x000 If ( ( ( ( ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) )
  37196. 0x000 {
  37197. 0x039 BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  37198. 0x043 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  37199. 0x04D BattleAddr(&MemBank1/2) <- 0
  37200. 0x053 GlobalVar(SwitchParty) <- &TempGlobal)
  37201. 0x059 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 0)
  37202. 0x059 {
  37203. 0x065 BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  37204. 0x074 TempGlobal <- &GlobalVar(2ndPartyCoreVulTurnCount)
  37205. 0x07A LocalVar:CoreVulTurnCount <- BattleAddr(&MemBank1/2)
  37206. 0x081 If ( (LocalVar:CoreVulTurnCount > 0) )
  37207. 0x081 {
  37208. 0x08A LocalVar:CoreVulTurnCount <- LocalVar:CoreVulTurnCount + 1
  37209. 0x094 BattleAddr(&MemBank1/2) <- LocalVar:CoreVulTurnCount
  37210. 0x09B GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  37211. 0x0A1 LocalVar:AttackConfirmed <- 0
  37212. 0x0A7 If ( ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) And (BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) == 0) ) )
  37213. 0x0A7 {
  37214. 0x0BF LocalVar:BizHead.BattleAddr(&DeathStatus) <- 0
  37215. 0x0C9 LocalVar:BizHead.BattleAddr(&SelfDead) <- 0
  37216. 0x0D3 LocalVar:BizHead.BattleAddr(&AIScriptActive) <- 1
  37217. 0x0DD LocalVar:BizHead.BattleAddr(&Targetable) <- 1
  37218. 0x0E7 LocalVar:BizHead.BattleAddr(&CurrentHP) <- LocalVar:BizHead.BattleAddr(&MaxHP)
  37219. 0x0F6 Display String: "Head Portion (B) Revived"
  37220. 0x110 TempGlobal <- &GlobalVar(MainDeathMask)
  37221. 0x115 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37222. 0x11C LocalVar:TempMask <- LocalVar:TempMask AND 191
  37223. 0x126 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37224. 0x12D GlobalVar(MainDeathMask) <- &TempGlobal)
  37225. 0x132 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37226. 0x139 Perform([0120], EnemyAttack)
  37227. 0x13F BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  37228. 0x149 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  37229. 0x153 LocalVar:AttackConfirmed <- 1
  37230. 0x159 }
  37231. 0x159 Else
  37232. 0x159 {
  37233. 0x15C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  37234. 0x15C {
  37235. 0x169 BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) <- BattleAddr(&Self).BattleAddr(&HeadDeathTurnCount) - 1
  37236. 0x17B TempGlobal <- &GlobalVar(Party2TurnCount)
  37237. 0x180 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  37238. 0x18A GlobalVar(Party2TurnCount) <- &TempGlobal)
  37239. 0x18F LocalVar:Count <- BattleAddr(&MemBank1/2)
  37240. 0x196 If (LocalVar:Count == 1)
  37241. 0x196 {
  37242. 0x19E If ( ( ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) ) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) And (LocalVar:CoreVulTurnCount > 8) ) )
  37243. 0x19E {
  37244. 0x1C8 BattleAddr(&TarSelected) <- LocalVar:BizShoulder + LocalVar:BizWing
  37245. 0x1D3 BattleAddr(&TarSelected).BattleAddr(&DeathStatus) <- 0
  37246. 0x1DD BattleAddr(&TarSelected).BattleAddr(&SelfDead) <- 0
  37247. 0x1E7 BattleAddr(&TarSelected).BattleAddr(&AIScriptActive) <- 1
  37248. 0x1F1 BattleAddr(&TarSelected).BattleAddr(&Targetable) <- 1
  37249. 0x1FB Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  37250. 0x201 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 1
  37251. 0x20B LocalVar:BizCore.BattleAddr(&MagImmunity) <- 1
  37252. 0x215 Display String: "Right Magic (D&E) Revived"
  37253. 0x230 TempGlobal <- &GlobalVar(MainDeathMask)
  37254. 0x235 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37255. 0x23C LocalVar:TempMask <- LocalVar:TempMask AND 239
  37256. 0x246 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37257. 0x24D GlobalVar(MainDeathMask) <- &TempGlobal)
  37258. 0x252 TempGlobal <- &GlobalVar(AltDeathMask)
  37259. 0x257 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37260. 0x25E LocalVar:TempMask <- LocalVar:TempMask AND 191 (Unset & 64)
  37261. 0x268 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37262. 0x26F GlobalVar(AltDeathMask) <- &TempGlobal)
  37263. 0x274 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  37264. 0x274 {
  37265. 0x281 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 0
  37266. 0x28B BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 1
  37267. 0x295 }
  37268. 0x295 Else
  37269. 0x295 {
  37270. 0x298 BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  37271. 0x2A2 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  37272. 0x2AC BattleAddr(&MemBank1/2) <- 0
  37273. 0x2B2 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  37274. 0x2B8 LocalVar:AttackConfirmed <- 1
  37275. 0x2BE }
  37276. 0x2BE Else
  37277. 0x2BE {
  37278. 0x2C1 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  37279. 0x2C1 {
  37280. 0x2CE BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers) + BattleAddr(&ActivePlayers)
  37281. 0x2D9 Perform("Aurora Fence"[03B1], EnemyAttack)
  37282. 0x2DF BattleAddr(&TarSelected).BattleAddr(&SlowStatus) <- 0
  37283. 0x2E9 BattleAddr(&TarSelected).BattleAddr(&HasteStatus) <- 0
  37284. 0x2F3 BattleAddr(&TarSelected).BBattleAddr(&StopStatus) <- 0
  37285. 0x2FD BattleAddr(&TarSelected).BattleAddr(&DualDrainStatus) <- 0
  37286. 0x307 BattleAddr(&TarSelected).BattleAddr(&RegenStatus) <- 0
  37287. 0x311 BattleAddr(&TarSelected).BattleAddr(&BarrierStatus) <- 0
  37288. 0x31B BattleAddr(&TarSelected).BattleAddr(&MBarrierStatus) <- 0
  37289. 0x325 BattleAddr(&TarSelected).BattleAddr(&ReflectStatus) <- 0
  37290. 0x32F BattleAddr(&TarSelected).BattleAddr(&PoisonStatus) <- 0
  37291. 0x339 BattleAddr(&TarSelected).BattleAddr(&SadnessStatus) <- 0
  37292. 0x343 BattleAddr(&TarSelected).BattleAddr(&FuryStatus) <- 0
  37293. 0x34D BattleAddr(&TarSelected).BattleAddr(&ConfusionStatus) <- 0
  37294. 0x357 BattleAddr(&TarSelected).BattleAddr(&SilenceStatus) <- 0
  37295. 0x361 BattleAddr(&TarSelected).BattleAddr(&SleepStatus) <- 0
  37296. 0x36B BattleAddr(&TarSelected).BattleAddr(&FrogStatus) <- 0
  37297. 0x375 BattleAddr(&TarSelected).BattleAddr(&SmallStatus) <- 0
  37298. 0x37F BattleAddr(&TarSelected).BattleAddr(&SlowNumbStatus) <- 0
  37299. 0x389 BattleAddr(&TarSelected).BattleAddr(&PetrifyStatus) <- 0
  37300. 0x393 BattleAddr(&TarSelected).BattleAddr(&ShieldStatus) <- 0
  37301. 0x39D BattleAddr(&TarSelected).BattleAddr(&DSentenceStatus) <- 0
  37302. 0x3A7 BattleAddr(&TarSelected).BattleAddr(&BerserkStatus) <- 0
  37303. 0x3B1 BattleAddr(&TarSelected).BattleAddr(&PeerlessStatus) <- 0
  37304. 0x3BB BattleAddr(&TarSelected).BattleAddr(&ParalyzedStatus) <- 0
  37305. 0x3C5 BattleAddr(&Self).BattleAddr(&DualDrainStatus) <- 0
  37306. 0x3CF BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  37307. 0x3D9 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  37308. 0x3E3 LocalVar:AttackConfirmed <- 1
  37309. 0x3E9 }
  37310. 0x3E9 Else
  37311. 0x3E9 {
  37312. 0x3EC }
  37313. 0x3EC Else
  37314. 0x3EC {
  37315. 0x3EF If (LocalVar:Count == 2)
  37316. 0x3EF {
  37317. 0x3F4 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  37318. 0x3F4 {
  37319. 0x401 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37320. 0x409 Perform("Bolt3"[0023], EnemyAttack)
  37321. 0x40E LocalVar:AttackConfirmed <- 1
  37322. 0x414 }
  37323. 0x414 Else
  37324. 0x414 {
  37325. 0x417 }
  37326. 0x417 Else
  37327. 0x417 {
  37328. 0x41A If (LocalVar:Count == 3)
  37329. 0x41A {
  37330. 0x41F If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  37331. 0x41F {
  37332. 0x42C BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37333. 0x434 Perform("Slow"[0014], EnemyAttack)
  37334. 0x439 LocalVar:AttackConfirmed <- 1
  37335. 0x43F }
  37336. 0x43F Else
  37337. 0x43F {
  37338. 0x442 }
  37339. 0x442 Else
  37340. 0x442 {
  37341. 0x445 If (LocalVar:Count == 4)
  37342. 0x445 {
  37343. 0x44A TempGlobal <- &GlobalVar(MainDeathMask)
  37344. 0x44F If ( (BattleAddr(&MemBank1/2) AND 32 And (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) ) )
  37345. 0x44F {
  37346. 0x463 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37347. 0x46A If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  37348. 0x46A {
  37349. 0x477 Perform("Stigma"[03AF], EnemyAttack)
  37350. 0x47D }
  37351. 0x47D Else
  37352. 0x47D {
  37353. 0x480 Perform("Stigma"[03B2], EnemyAttack)
  37354. 0x486 }
  37355. 0x486 Else
  37356. 0x486 {
  37357. 0x489 If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 0) )
  37358. 0x489 {
  37359. 0x496 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37360. 0x49D Perform("Heartless Angel"[03AE], EnemyAttack)
  37361. 0x4A3 LocalVar:AttackConfirmed <- 1
  37362. 0x4A9 }
  37363. 0x4A9 Else
  37364. 0x4A9 {
  37365. 0x4AC }
  37366. 0x4AC Else
  37367. 0x4AC {
  37368. 0x4AF If (LocalVar:Count == 5)
  37369. 0x4AF {
  37370. 0x4B4 }
  37371. 0x4B4 Else
  37372. 0x4B4 {
  37373. 0x4B7 If (LocalVar:Count == 6)
  37374. 0x4B7 {
  37375. 0x4BC LocalVar:AttackConfirmed <- 1
  37376. 0x4C2 }
  37377. 0x4C2 Else
  37378. 0x4C2 {
  37379. 0x4C5 }
  37380. 0x4C5 Else
  37381. 0x4C5 {
  37382. 0x4C8 If (LocalVar:Count == 7)
  37383. 0x4C8 {
  37384. 0x4CD If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 0) )
  37385. 0x4CD {
  37386. 0x4DA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37387. 0x4E2 Perform("Sleepel"[000B], EnemyAttack)
  37388. 0x4E7 LocalVar:AttackConfirmed <- 1
  37389. 0x4ED }
  37390. 0x4ED Else
  37391. 0x4ED {
  37392. 0x4F0 }
  37393. 0x4F0 Else
  37394. 0x4F0 {
  37395. 0x4F3 LocalVar:Count <- 0
  37396. 0x4F9 BattleAddr(&MemBank1/2) <- 0
  37397. 0x4FF GlobalVar(Party2TurnCount) <- &TempGlobal)
  37398. 0x504 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 0) )
  37399. 0x504 {
  37400. 0x511 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37401. 0x519 Perform("Ice3"[0020], EnemyAttack)
  37402. 0x51E LocalVar:AttackConfirmed <- 1
  37403. 0x524 }
  37404. 0x524 Else
  37405. 0x524 {
  37406. 0x527 POP(LocalVar:Count)
  37407. 0x528 If ( (LocalVar:AttackConfirmed == 0) )
  37408. 0x528 {
  37409. 0x531 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37410. 0x539 If ( (BattleAddr(&Self).BattleAddr(&IdleAnimID) == 0) )
  37411. 0x539 {
  37412. 0x546 Perform("Sephiroth Shock"[03AC], EnemyAttack)
  37413. 0x54C }
  37414. 0x54C Else
  37415. 0x54C {
  37416. 0x54F Perform("Sephiroth Shock"[03B0], EnemyAttack)
  37417. 0x555 LocalVar:AttackConfirmed <- 1
  37418. 0x55B }
  37419. 0x55B Else
  37420. 0x55B {
  37421. 0x55EPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  37422. 0x55FSCRIPT END
  37423.  
  37424.  
  37425. DEATH COUNTER:
  37426.  
  37427. 0x000TempGlobal <- &GlobalVar(MainDeathMask)
  37428. 0x005LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37429. 0x00C If ( (LocalVar:BizHead.BattleAddr(&DeathStatus) == 1) )
  37430. 0x00C {
  37431. 0x019 LocalVar:TempMask <- LocalVar:TempMask OR 64
  37432. 0x023 }
  37433. 0x023 Else
  37434. 0x023 {
  37435. 0x026 LocalVar:TempMask <- LocalVar:TempMask AND 191
  37436. 0x030 If ( (LocalVar:BizCore.BattleAddr(&DeathStatus) == 1) )
  37437. 0x030 {
  37438. 0x03D LocalVar:TempMask <- LocalVar:TempMask OR 1
  37439. 0x047 }
  37440. 0x047 Else
  37441. 0x047 {
  37442. 0x04A LocalVar:TempMask <- LocalVar:TempMask AND 254
  37443. 0x054 If ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) )
  37444. 0x054 {
  37445. 0x061 LocalVar:TempMask <- LocalVar:TempMask OR 16
  37446. 0x06B }
  37447. 0x06B Else
  37448. 0x06B {
  37449. 0x06E LocalVar:TempMask <- LocalVar:TempMask AND 239
  37450. 0x078BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37451. 0x07FGlobalVar(MainDeathMask) <- &TempGlobal)
  37452. 0x084TempGlobal <- &GlobalVar(AltDeathMask)
  37453. 0x089LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37454. 0x090 If ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) )
  37455. 0x090 {
  37456. 0x09D LocalVar:TempMask <- LocalVar:TempMask OR 64
  37457. 0x0A7 }
  37458. 0x0A7 Else
  37459. 0x0A7 {
  37460. 0x0AA LocalVar:TempMask <- LocalVar:TempMask AND 191
  37461. 0x0B4BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37462. 0x0BBGlobalVar(AltDeathMask) <- &TempGlobal)
  37463. 0x0C0BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37464. 0x0C7Perform("Vanish"[014E], EnemyAttack)
  37465. 0x0CD If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 1)
  37466. 0x0CD {
  37467. 0x0D9 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  37468. 0x0D9 {
  37469. 0x0E6 Display String: "Head Portion (B) Dead"
  37470. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37471. 0x104 Perform([011F], EnemyAttack)
  37472. 0x10A BattleAddr(&AllEnemies).BattleAddr(&IdleAnimID) <- 11
  37473. 0x114 BattleAddr(&AllEnemies).BattleAddr(&DamagedAnimID) <- 12
  37474. 0x11E LocalVar:BizBody.BattleAddr(&HeadDeathTurnCount) <- Random MOD 3 + 1
  37475. 0x12D TempGlobal <- &GlobalVar(BizHeadDeathCount)
  37476. 0x132 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) + 1
  37477. 0x13C If ( (BattleAddr(&MemBank1/2) < 250) )
  37478. 0x13C {
  37479. 0x145 GlobalVar(BizHeadDeathCount) <- &TempGlobal)
  37480. 0x14A BattleAddr(&MemBank1/2) <- 6
  37481. 0x150 GlobalVar(SwitchParty) <- &TempGlobal)
  37482. 0x156 }
  37483. 0x156 Else
  37484. 0x156 {
  37485. 0x159 }
  37486. 0x159 Else
  37487. 0x159 {
  37488. 0x15C If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 2)
  37489. 0x15C {
  37490. 0x161 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  37491. 0x161 {
  37492. 0x16E Display String: "Right Core (C) Dead"
  37493. 0x183 BattleAddr(&MemBank1/2) <- 0
  37494. 0x189 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  37495. 0x18F TempGlobal <- &GlobalVar(AltDeathMask)
  37496. 0x194 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37497. 0x19B If (LocalVar:TempMask AND 8)
  37498. 0x19B {
  37499. 0x1A4 Display String: "Core (C) Defense Down"
  37500. 0x1BB Display String: " in front of {EA0000h}'s party"
  37501. 0x1D5 BattleAddr(&MemBank1/2) <- 4
  37502. 0x1DB }
  37503. 0x1DB Else
  37504. 0x1DB {
  37505. 0x1DE BattleAddr(&MemBank1/2) <- 6
  37506. 0x1E4 GlobalVar(SwitchParty) <- &TempGlobal)
  37507. 0x1EA }
  37508. 0x1EA Else
  37509. 0x1EA {
  37510. 0x1ED }
  37511. 0x1ED Else
  37512. 0x1ED {
  37513. 0x1F0 If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 3)
  37514. 0x1F0 {
  37515. 0x1F5 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  37516. 0x1F5 {
  37517. 0x202 Display String: "Right Magic (D) Dead"
  37518. 0x218 If ( ( (LocalVar:BizWing.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) )
  37519. 0x218 {
  37520. 0x230 LocalVar:BizCore.BattleAddr(&PhysImmunity) <- 0
  37521. 0x23A LocalVar:BizCore.BattleAddr(&MagImmunity) <- 0
  37522. 0x244 Display String: "Right Core (C) Defense Down"
  37523. 0x261 BattleAddr(&MemBank1/2) <- 1
  37524. 0x267 GlobalVar(2ndPartyCoreVulTurnCount) <- &TempGlobal)
  37525. 0x26D BattleAddr(&MemBank1/2) <- 6
  37526. 0x273 GlobalVar(SwitchParty) <- &TempGlobal)
  37527. 0x279 }
  37528. 0x279 Else
  37529. 0x279 {
  37530. 0x27C }
  37531. 0x27C Else
  37532. 0x27C {
  37533. 0x27F If (BattleAddr(&Self).BattleAddr(&GrpFormID) == 4)
  37534. 0x27F {
  37535. 0x284 If ( (LocalVar:BizBody.BattleAddr(&DeathStatus) == 0) )
  37536. 0x284 {
  37537. 0x291 Display String: "Right Magic (E) Dead"
  37538. 0x2A7 If ( ( (LocalVar:BizShoulder.BattleAddr(&DeathStatus) == 1) And (LocalVar:BizCore.BattleAddr(&DeathStatus) == 0) ) )
  37539. 0x2A7 {
  37540. 0x2BF LocalVar:BizShoulder.BattleAddr(&DeathStatus) <- 0
  37541. 0x2C9 LocalVar:BizShoulder.BattleAddr(&SelfDead) <- 0
  37542. 0x2D3 LocalVar:BizShoulder.BattleAddr(&Targetable) <- 1
  37543. 0x2DD LocalVar:BizShoulder.BattleAddr(&AIScriptActive) <- 1
  37544. 0x2E7 BattleAddr(&TarSelected) <- LocalVar:BizShoulder
  37545. 0x2EE Perform("Bizzarro Enegy"[03C5], EnemyAttack)
  37546. 0x2F4 Display String: "Right Magic (D) Revived"
  37547. 0x30D TempGlobal <- &GlobalVar(MainDeathMask)
  37548. 0x312 LocalVar:TempMask <- BattleAddr(&MemBank1/2)
  37549. 0x319 LocalVar:TempMask <- LocalVar:TempMask AND 239 Unset &16
  37550. 0x323 BattleAddr(&MemBank1/2) <- LocalVar:TempMask
  37551. 0x32A GlobalVar(MainDeathMask) <- &TempGlobal)
  37552. 0x32F BattleAddr(&MemBank1/2) <- 6
  37553. 0x335 GlobalVar(SwitchParty) <- &TempGlobal)
  37554. 0x33B }
  37555. 0x33B Else
  37556. 0x33B {
  37557. 0x33EPOP(BattleAddr(&Self).BattleAddr(&GrpFormID))
  37558. 0x33FSCRIPT END
  37559.  
  37560.  
  37561.  
  37562.  
  37563. 331 - [14B] Safer-Sephiroth
  37564.  
  37565.  
  37566. LocalVar:0000 = LocalVar:TempStatMod
  37567. LocalVar:0020 = LocalVar:QtyOfLevels=99
  37568. LocalVar:0040 = LocalVar:BizHeadDeathCount
  37569. LocalVar:0060 = LocalVar:KotrHPBoost
  37570. LocalVar:0080 = LocalVar:Count
  37571. LocalVar:00A0 = LocalVar:Dummied
  37572. LocalVar:00C0 = LocalVar:Stage
  37573. LocalVar:00E0 = LocalVar:Cycle
  37574.  
  37575. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  37576. BattleAddr(&2060) = BattleAddr(&Self)
  37577. BattleAddr(&2070) = BattleAddr(&TarSelected)
  37578. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  37579. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  37580.  
  37581. &1 0x01 = ?
  37582. &2 0x02 = Don's apply Poison/Regen?
  37583. &4 0x04 = Other Battles in sequence
  37584. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  37585. &16 0x10 = Cloud learns all limits
  37586. &32 0x20 = No reward screen
  37587.  
  37588. BattleAddr(&2180) = BattleAddr(&Unknown)
  37589.  
  37590. GlobalVar(005B) = GlobalVar(BizHeadDeathCount)
  37591. GlobalVar(0268) = GlobalVar(QtyOfLevels=99)
  37592. GlobalVar(026C) = GlobalVar(JenovaKOTR)
  37593.  
  37594. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  37595. BattleAddr(&4023) = BattleAddr(&Targetable)
  37596. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  37597. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  37598. BattleAddr(&4068) = BattleAddr(&Strength)
  37599. BattleAddr(&4070) = BattleAddr(&Magic)
  37600. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  37601. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  37602. BattleAddr(&4100) = BattleAddr(&Def)
  37603. BattleAddr(&4110) = BattleAddr(&MDef)
  37604. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  37605. BattleAddr(&4150) = BattleAddr(&MaxMP)
  37606. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  37607. BattleAddr(&4180) = BattleAddr(&MaxHP)
  37608. BattleAddr(&4270) = BattleAddr(&Row)
  37609.  
  37610.  
  37611.  
  37612. FORMATION PRE-BATTLE:
  37613.  
  37614. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 48
  37615. 0x00ASCRIPT END
  37616. 0x00BBad Code0x00CBad Code0x00DBad Code0x011Bad Code0x012Bad Code0x013Bad Code0x014Bad Code0x015Bad Code0x016Bad Code0x017Bad Code0x018Bad Code0x019Bad Code0x01ABad Code0x01BBad Code0x01CBad Code0x01DBad Code0x01EBad Code0x01FBad Code0x020Bad Code0x021Bad Code0x022Bad Code0x023Bad Code0x024Bad Code0x025Bad Code0x026Bad Code0x027Bad Code0x028Bad Code0x029Bad Code0x02ABad Code0x02BBad Code0x02C
  37617. BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 8
  37618. 0x036BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 32
  37619. 0x040BattleAddr(&Unknown) <- 222
  37620. 0x046SCRIPT END
  37621.  
  37622.  
  37623. PRE-BATTLE:
  37624.  
  37625. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  37626. 0x00ATempGlobal <- &GlobalVar(QtyOfLevels=99)
  37627. 0x010LocalVar:QtyOfLevels=99 <- BattleAddr(&MemBank1/2)
  37628. 0x017TempGlobal <- &GlobalVar(BizHeadDeathCount)
  37629. 0x01CLocalVar:BizHeadDeathCount <- BattleAddr(&MemBank1/2)
  37630. 0x023TempGlobal <- &GlobalVar(JenovaKOTR)
  37631. 0x029 If ( (BattleAddr(&MemBank1/2) == 1) )
  37632. 0x029 {
  37633. 0x032 LocalVar:KotrHPBoost <- 80000
  37634. 0x03A }
  37635. 0x03A Else
  37636. 0x03A {
  37637. 0x03D LocalVar:KotrHPBoost <- 0
  37638. 0x043LocalVar:TempStatMod <- 320000
  37639. 0x04BLocalVar:TempStatMod <- LocalVar:TempStatMod - 8 - LocalVar:QtyOfLevels=99 * 30000
  37640. 0x05DBattleAddr(&Self).BattleAddr(&MaxHP) <- LocalVar:TempStatMod + LocalVar:KotrHPBoost
  37641. 0x06CBattleAddr(&Self).BattleAddr(&CurrentHP) <- BattleAddr(&Self).BattleAddr(&MaxHP) - LocalVar:BizHeadDeathCount * 100
  37642. 0x082Debug.Print: "HP = %d / %d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); BattleAddr(&Self).BattleAddr(&MaxHP)
  37643. 0x09FLocalVar:TempStatMod <- BattleAddr(&Self).BattleAddr(&Strength) + LocalVar:QtyOfLevels=99 * 2
  37644. 0x0B1BattleAddr(&Self).BattleAddr(&Strength) <- LocalVar:TempStatMod
  37645. 0x0BCLocalVar:TempStatMod <- BattleAddr(&Self).BattleAddr(&Def) + LocalVar:QtyOfLevels=99 * 20
  37646. 0x0CEBattleAddr(&Self).BattleAddr(&Def) <- LocalVar:TempStatMod
  37647. 0x0D9LocalVar:TempStatMod <- BattleAddr(&Self).BattleAddr(&Magic) + LocalVar:QtyOfLevels=99 * 5
  37648. 0x0EBBattleAddr(&Self).BattleAddr(&Magic) <- LocalVar:TempStatMod
  37649. 0x0F6LocalVar:TempStatMod <- BattleAddr(&Self).BattleAddr(&MDef) + LocalVar:QtyOfLevels=99 * 16
  37650. 0x108BattleAddr(&Self).BattleAddr(&MDef) <- LocalVar:TempStatMod
  37651. 0x113Debug.Print: "AT %d DF %d ATM %d DFM %d" ; BattleAddr(&Self).BattleAddr(&Strength); BattleAddr(&Self).BattleAddr(&Def); BattleAddr(&Self).BattleAddr(&Magic); BattleAddr(&Self).BattleAddr(&MDef)
  37652. 0x14BBattleAddr(&TarSelected) <- BattleAddr(&Self)
  37653. 0x152Perform("x"[0368], EnemyAttack)
  37654. 0x158Perform("Appear"[014F], EnemyAttack)
  37655. 0x15ESCRIPT END
  37656.  
  37657.  
  37658. MAIN:
  37659.  
  37660. 0x000BattleAddr(&Self).BattleAddr(&CurrentMP) <- BattleAddr(&Self).BattleAddr(&MaxMP)
  37661. 0x00FLocalVar:Count <- LocalVar:Count + 1
  37662. 0x019 If (LocalVar:Count == 1)
  37663. 0x019 {
  37664. 0x021 If ( (BattleAddr(&Self).BattleAddr(&SlowStatus) == 1) )
  37665. 0x021 {
  37666. 0x02E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37667. 0x035 Perform("DeSpell"[0017], EnemyAttack)
  37668. 0x03A }
  37669. 0x03A Else
  37670. 0x03A {
  37671. 0x03D If ( (LocalVar:Cycle == 1) )
  37672. 0x03D {
  37673. 0x046 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37674. 0x04D Perform("DeSpell"[0017], EnemyAttack)
  37675. 0x052 LocalVar:Cycle <- 0
  37676. 0x058 }
  37677. 0x058 Else
  37678. 0x058 {
  37679. 0x05B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37680. 0x062 Perform("Wall"[0012], EnemyAttack)
  37681. 0x067 LocalVar:Cycle <- 1
  37682. 0x06D LocalVar:Dummied <- 1
  37683. 0x073 }
  37684. 0x073 Else
  37685. 0x073 {
  37686. 0x076 }
  37687. 0x076 Else
  37688. 0x076 {
  37689. 0x079 If (LocalVar:Count == 2)
  37690. 0x079 {
  37691. 0x07E If ( (LocalVar:Cycle == 0) )
  37692. 0x07E {
  37693. 0x087 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37694. 0x08E Perform("Deen"[03BC], EnemyAttack)
  37695. 0x094 }
  37696. 0x094 Else
  37697. 0x094 {
  37698. 0x097 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37699. 0x09F Perform("Shadow Flare"[005E], EnemyAttack)
  37700. 0x0A4 }
  37701. 0x0A4 Else
  37702. 0x0A4 {
  37703. 0x0A7 }
  37704. 0x0A7 Else
  37705. 0x0A7 {
  37706. 0x0AA If (LocalVar:Count == 3)
  37707. 0x0AA {
  37708. 0x0AF Bad Code0x0BA BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  37709. 0x0BC Perform(" "[03BB], EnemyAttack)
  37710. 0x0C2 }
  37711. 0x0C2 Else
  37712. 0x0C2 {
  37713. 0x0C5 }
  37714. 0x0C5 Else
  37715. 0x0C5 {
  37716. 0x0C8 If (LocalVar:Count == 4)
  37717. 0x0C8 {
  37718. 0x0CD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37719. 0x0D4 Perform([011F], EnemyAttack)
  37720. 0x0DA BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 8
  37721. 0x0E4 LocalVar:Stage <- 1
  37722. 0x0EA BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 9
  37723. 0x0F4 BattleAddr(&Self).BattleAddr(&Row) <- 16
  37724. 0x0FE }
  37725. 0x0FE Else
  37726. 0x0FE {
  37727. 0x101 }
  37728. 0x101 Else
  37729. 0x101 {
  37730. 0x104 If (LocalVar:Count == 5)
  37731. 0x104 {
  37732. 0x109 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37733. 0x111 Perform("Pale Horse"[03BD], EnemyAttack)
  37734. 0x117 }
  37735. 0x117 Else
  37736. 0x117 {
  37737. 0x11A }
  37738. 0x11A Else
  37739. 0x11A {
  37740. 0x11D If (LocalVar:Count == 6)
  37741. 0x11D {
  37742. 0x122 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37743. 0x129 Perform("Super Nova"[03BE], EnemyAttack)
  37744. 0x12F }
  37745. 0x12F Else
  37746. 0x12F {
  37747. 0x132 }
  37748. 0x132 Else
  37749. 0x132 {
  37750. 0x135 If (LocalVar:Count == 7)
  37751. 0x135 {
  37752. 0x13A If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) > BattleAddr(&Self).BattleAddr(&MaxHP) / 4) )
  37753. 0x13A {
  37754. 0x14F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37755. 0x157 Perform("Break"[0030], EnemyAttack)
  37756. 0x15C }
  37757. 0x15C Else
  37758. 0x15C {
  37759. 0x15F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37760. 0x167 Perform("Heartless Angel"[03AE], EnemyAttack)
  37761. 0x16D }
  37762. 0x16D Else
  37763. 0x16D {
  37764. 0x170 }
  37765. 0x170 Else
  37766. 0x170 {
  37767. 0x173 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37768. 0x17A Perform([0120], EnemyAttack)
  37769. 0x180 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  37770. 0x18A LocalVar:Stage <- 0
  37771. 0x190 BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  37772. 0x19A BattleAddr(&Self).BattleAddr(&Row) <- 1
  37773. 0x1A4 LocalVar:Count <- 0
  37774. 0x1AAPOP(LocalVar:Count)
  37775. 0x1ABSCRIPT END
  37776.  
  37777. NOTE - 0x0B9 uses HMSK
  37778.  
  37779.  
  37780. DEATH COUNTER:
  37781.  
  37782. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37783. 0x007 If ( (LocalVar:Stage == 0) )
  37784. 0x007 {
  37785. 0x010 Perform(" "[03C3], EnemyAttack)
  37786. 0x016 }
  37787. 0x016 Else
  37788. 0x016 {
  37789. 0x019 Perform(" "[03C4], EnemyAttack)
  37790. 0x01FRunScript(15)
  37791. 0x024SCRIPT END
  37792.  
  37793.  
  37794. CUSTOM EVENT 8:
  37795.  
  37796. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37797. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37798. 0x014SCRIPT END
  37799.  
  37800.  
  37801.  
  37802.  
  37803. 332 - [14C] Sephiroth
  37804.  
  37805.  
  37806. LocalVar:0000 = LocalVar:Sephiroth
  37807. LocalVar:0020 = LocalVar:Cloud
  37808.  
  37809. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  37810. BattleAddr(&2060) = BattleAddr(&Self)
  37811. BattleAddr(&2070) = BattleAddr(&TarSelected)
  37812. BattleAddr(&2110) = BattleAddr(&BattleRewardsFlag)
  37813.  
  37814. &1 0x01 = ?
  37815. &2 0x02 = End battle; Marked as Escaped
  37816. &4 0x04 = End battle; Pose for Victory (if 0x2116 is unset)
  37817. &8 0x08 = End battle; No Reward
  37818. &16 0x10 = End battle (unsets 0x2113 unless escaped, unsets 0x2111 in that case)
  37819. &32 0x20 = (unsets 0x2112)
  37820. &64 0x40 = No Victory Pose (unsets 0x2115)
  37821.  
  37822. BattleAddr(&2160) = BattleAddr(&FinalBattlesFlag)
  37823.  
  37824. &1 0x01 = ?
  37825. &2 0x02 = Don's apply Poison/Regen?
  37826. &4 0x04 = Other Battles in sequence
  37827. &8 0x08 = Disable Commands, only Cloud Attacks with Limit (Final Battle)
  37828. &16 0x10 = Cloud learns all limits
  37829. &32 0x20 = No reward screen
  37830.  
  37831. BattleAddr(&2180) = BattleAddr(&LimitFillRate)
  37832.  
  37833. BattleAddr(&4023) = BattleAddr(&Targetable)
  37834. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  37835. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  37836. BattleAddr(&4060) = BattleAddr(&GrpFormID)
  37837.  
  37838.  
  37839.  
  37840. FORMATION PRE-BATTLE:
  37841.  
  37842. 0x000BattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 8
  37843. 0x00ABattleAddr(&FinalBattlesFlag) <- BattleAddr(&FinalBattlesFlag) OR 32
  37844. 0x014BattleAddr(&LimitFillRate) <- 222
  37845. 0x01ASCRIPT END
  37846.  
  37847.  
  37848. PRE-BATTLE:
  37849.  
  37850. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  37851. 0x00ASCRIPT END
  37852.  
  37853.  
  37854. MAIN:
  37855.  
  37856. 0x000LocalVar:Sephiroth <- BattleAddr(&Self)
  37857. 0x007LocalVar:Cloud <- (BattleAddr(&ActiveActors).BattleAddr(&GrpFormID) == 16)
  37858. 0x015BattleAddr(&TarSelected) <- LocalVar:Cloud
  37859. 0x01CPerform("Cut"[03BF], EnemyAttack)
  37860. 0x022BattleAddr(&Self) <- LocalVar:Cloud
  37861. 0x029BattleAddr(&TarSelected) <- LocalVar:Sephiroth
  37862. 0x030Perform([0000], 1)
  37863. 0x035SCRIPT END
  37864.  
  37865.  
  37866. GENERAL COUNTER:
  37867.  
  37868. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37869. 0x007Perform("Done-in"[03C0], EnemyAttack)
  37870. 0x00DBattleAddr(&Self).BattleAddr(&Targetable) <- 0
  37871. 0x017BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  37872. 0x021RunScript(15)
  37873. 0x026SCRIPT END
  37874.  
  37875.  
  37876. DEATH COUNTER:
  37877.  
  37878. 0x000BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37879. 0x007Perform("Done-in"[03C0], EnemyAttack)
  37880. 0x00DRunScript(15)
  37881. 0x012SCRIPT END
  37882.  
  37883.  
  37884. CUSTOM EVENT 8:
  37885.  
  37886. 0x000BattleAddr(&BattleRewardsFlag) <- BattleAddr(&BattleRewardsFlag) OR 8
  37887. 0x00ASCRIPT END
  37888.  
  37889.  
  37890.  
  37891.  
  37892. 333 - [14D] Ultimate Weapon (Mideel)
  37893.  
  37894.  
  37895. LocalVar:0000 = LocalVar:UpperByte
  37896. LocalVar:0020 = LocalVar:MidleByte
  37897. LocalVar:0040 = LocalVar:LowerByte
  37898. LocalVar:0060 = LocalVar:HPCount
  37899. LocalVar:0080 = LocalVar:CurrentHP
  37900. LocalVar:00A0 = LocalVar:Count
  37901.  
  37902. GlobalVar(005B) = GlobalVar(Ultimate'sHPByte3)
  37903. GlobalVar(005C) = GlobalVar(Ultimate'sHPByte2)
  37904. GlobalVar(005D) = GlobalVar(Ultimate'sHPByte1)
  37905. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  37906.  
  37907. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  37908. BattleAddr(&2060) = BattleAddr(&Self)
  37909. BattleAddr(&2070) = BattleAddr(&TarSelected)
  37910. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  37911.  
  37912. BattleAddr(&4023) = BattleAddr(&Targetable)
  37913. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  37914. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  37915. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  37916.  
  37917.  
  37918.  
  37919. PRE-BATTLE:
  37920.  
  37921. 0x000 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  37922. 0x00A LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  37923. 0x01A LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) / 256
  37924. 0x032 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) - (LocalVar:MidleByte * 256)
  37925. 0x04E Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  37926. 0x079 BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  37927. 0x080 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  37928. 0x085 BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  37929. 0x08C GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  37930. 0x091 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  37931. 0x098 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  37932. 0x09D If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  37933. 0x09D {
  37934. 0x0AB TempGlobal <- &GlobalVar(WeaponsKilled)
  37935. 0x0B0 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  37936. 0x0BA GlobalVar(WeaponsKilled) <- &TempGlobal)
  37937. 0x0BF Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  37938. 0x0D3 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  37939. 0x0DE SCRIPT END
  37940.  
  37941. MAIN:
  37942.  
  37943. 0x000 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  37944. 0x010 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  37945. 0x028 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  37946. 0x044 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  37947. 0x06F BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  37948. 0x076 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  37949. 0x07B BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  37950. 0x082 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  37951. 0x087 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  37952. 0x08E GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  37953. 0x093 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  37954. 0x093 {
  37955. 0x0A1 TempGlobal <- &GlobalVar(WeaponsKilled)
  37956. 0x0A6 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  37957. 0x0B0 GlobalVar(WeaponsKilled) <- &TempGlobal)
  37958. 0x0B5 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  37959. 0x0C9 LocalVar:Count <- LocalVar:Count + 1
  37960. 0x0D3 If (LocalVar:Count == 1)
  37961. 0x0D3 {
  37962. 0x0DB BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37963. 0x0E2 Perform("Quake2"[0025], EnemyAttack)
  37964. 0x0E7 }
  37965. 0x0E7 Else
  37966. 0x0E7 {
  37967. 0x0EA }
  37968. 0x0EA Else
  37969. 0x0EA {
  37970. 0x0ED If (LocalVar:Count == 2)
  37971. 0x0ED {
  37972. 0x0F2 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  37973. 0x0FA Perform("Claw"[0249], EnemyAttack)
  37974. 0x100 }
  37975. 0x100 Else
  37976. 0x100 {
  37977. 0x103 }
  37978. 0x103 Else
  37979. 0x103 {
  37980. 0x106 If (LocalVar:Count == 3)
  37981. 0x106 {
  37982. 0x10B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  37983. 0x112 Perform("Ultima Beam"[039E], EnemyAttack)
  37984. 0x118 }
  37985. 0x118 Else
  37986. 0x118 {
  37987. 0x11B }
  37988. 0x11B Else
  37989. 0x11B {
  37990. 0x11E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  37991. 0x125 Perform("(Report)"[0164], EnemyAttack)
  37992. 0x12B RunScript(15)
  37993. 0x130 POP(LocalVar:Count)
  37994. 0x131 SCRIPT END
  37995.  
  37996.  
  37997. GENERAL COUNTER:
  37998.  
  37999. 0x000 LocalVar:HPCount <- LocalVar:HPCount + LocalVar:CurrentHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  38000. 0x013 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  38001. 0x01E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < 20000) Or (LocalVar:HPCount > 20000) ) )
  38002. 0x01E {
  38003. 0x034 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38004. 0x044 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38005. 0x05C LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38006. 0x078 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38007. 0x0A3 BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38008. 0x0AA GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38009. 0x0AF BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38010. 0x0B6 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38011. 0x0BB BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38012. 0x0C2 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38013. 0x0C7 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38014. 0x0C7 {
  38015. 0x0D5 TempGlobal <- &GlobalVar(WeaponsKilled)
  38016. 0x0DA BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38017. 0x0E4 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38018. 0x0E9 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38019. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38020. 0x104 Perform("(Report)"[0164], EnemyAttack)
  38021. 0x10A RunScript(15)
  38022. 0x10F SCRIPT END
  38023.  
  38024.  
  38025. DEATH COUNTER:
  38026.  
  38027. 0x000 BattleAddr(&Self).BattleAddr(&CurrentHP) <- 20000
  38028. 0x00B LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38029. 0x01B LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) / 256
  38030. 0x033 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) - (LocalVar:MidleByte * 256)
  38031. 0x04F Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38032. 0x07A BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38033. 0x081 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38034. 0x086 BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38035. 0x08D GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38036. 0x092 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38037. 0x099 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38038. 0x09E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38039. 0x09E {
  38040. 0x0AC TempGlobal <- &GlobalVar(WeaponsKilled)
  38041. 0x0B1 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38042. 0x0BB GlobalVar(WeaponsKilled) <- &TempGlobal)
  38043. 0x0C0 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38044. 0x0D4 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38045. 0x0DB Perform("(Report)"[0164], EnemyAttack)
  38046. 0x0E1 RunScript(15)
  38047. 0x0E6 SCRIPT END
  38048.  
  38049.  
  38050. CUSTOM EVENT 8:
  38051.  
  38052. 0x000 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38053. 0x00A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38054. 0x014 SCRIPT END
  38055.  
  38056.  
  38057.  
  38058.  
  38059. 334 - [14E] Ultimate Weapon (Ground)
  38060.  
  38061.  
  38062. LocalVar:0000 = LocalVar:UpperByte
  38063. LocalVar:0020 = LocalVar:MidleByte
  38064. LocalVar:0040 = LocalVar:LowerByte
  38065. LocalVar:0060 = LocalVar:HPCount
  38066. LocalVar:0080 = LocalVar:CurrentHP
  38067. LocalVar:00A0 = LocalVar:Count
  38068.  
  38069. GlobalVar(005B) = GlobalVar(Ultimate'sHPByte3)
  38070. GlobalVar(005C) = GlobalVar(Ultimate'sHPByte2)
  38071. GlobalVar(005D) = GlobalVar(Ultimate'sHPByte1)
  38072. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  38073.  
  38074. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  38075. BattleAddr(&2060) = BattleAddr(&Self)
  38076. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38077. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  38078.  
  38079. BattleAddr(&4023) = BattleAddr(&Targetable)
  38080. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  38081. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  38082. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  38083.  
  38084.  
  38085.  
  38086. PRE-BATTLE:
  38087.  
  38088. 0x000 TempGlobal <- &GlobalVar(Ultimate'sHPByte3)
  38089. 0x005 LocalVar:UpperByte <- BattleAddr(&MemBank1/2)
  38090. 0x00C TempGlobal <- &GlobalVar(Ultimate'sHPByte2)
  38091. 0x011 LocalVar:MidleByte <- BattleAddr(&MemBank1/2)
  38092. 0x018 TempGlobal <- &GlobalVar(Ultimate'sHPByte1)
  38093. 0x01D LocalVar:LowerByte <- BattleAddr(&MemBank1/2)
  38094. 0x024 BattleAddr(&Self).BattleAddr(&CurrentHP) <- LocalVar:UpperByte * 65536 + LocalVar:MidleByte * 256 + LocalVar:LowerByte
  38095. 0x040 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  38096. 0x04A LocalVar:Count <- 3 + Random MOD 3
  38097. 0x055 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  38098. 0x060 SCRIPT END
  38099.  
  38100.  
  38101. MAIN:
  38102.  
  38103. 0x000 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38104. 0x010 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38105. 0x028 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38106. 0x044 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38107. 0x06F BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38108. 0x076 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38109. 0x07B BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38110. 0x082 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38111. 0x087 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38112. 0x08E GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38113. 0x093 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38114. 0x093 {
  38115. 0x0A1 TempGlobal <- &GlobalVar(WeaponsKilled)
  38116. 0x0A6 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38117. 0x0B0 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38118. 0x0B5 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38119. 0x0C9 LocalVar:Count <- LocalVar:Count - 1
  38120. 0x0D3 If (LocalVar:Count == 0)
  38121. 0x0D3 {
  38122. 0x0DB BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38123. 0x0E2 Perform("(Report)"[0164], EnemyAttack)
  38124. 0x0E8 RunScript(15)
  38125. 0x0ED }
  38126. 0x0ED Else
  38127. 0x0ED {
  38128. 0x0F0 }
  38129. 0x0F0 Else
  38130. 0x0F0 {
  38131. 0x0F3 If (LocalVar:Count == 1)
  38132. 0x0F3 {
  38133. 0x0F8 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  38134. 0x0FF Perform("Quake2"[0025], EnemyAttack)
  38135. 0x104 }
  38136. 0x104 Else
  38137. 0x104 {
  38138. 0x107 }
  38139. 0x107 Else
  38140. 0x107 {
  38141. 0x10A If (LocalVar:Count == 2)
  38142. 0x10A {
  38143. 0x10F BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38144. 0x117 Perform("Claw"[0249], EnemyAttack)
  38145. 0x11D }
  38146. 0x11D Else
  38147. 0x11D {
  38148. 0x120 }
  38149. 0x120 Else
  38150. 0x120 {
  38151. 0x123 If (LocalVar:Count == 3)
  38152. 0x123 {
  38153. 0x128 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  38154. 0x12F Perform("Ultima Beam"[039E], EnemyAttack)
  38155. 0x135 }
  38156. 0x135 Else
  38157. 0x135 {
  38158. 0x138 }
  38159. 0x138 Else
  38160. 0x138 {
  38161. 0x13B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38162. 0x143 Perform("Claw"[0249], EnemyAttack)
  38163. 0x149 }
  38164. 0x149 Else
  38165. 0x149 {
  38166. 0x14C POP(LocalVar:Count)
  38167. 0x14D SCRIPT END
  38168.  
  38169.  
  38170. GENERAL COUNTER:
  38171.  
  38172. 0x000 LocalVar:HPCount <- LocalVar:HPCount + LocalVar:CurrentHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  38173. 0x013 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  38174. 0x01E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < 20000) Or (LocalVar:HPCount > 20000) ) )
  38175. 0x01E {
  38176. 0x034 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38177. 0x044 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38178. 0x05C LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38179. 0x078 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38180. 0x0A3 BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38181. 0x0AA GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38182. 0x0AF BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38183. 0x0B6 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38184. 0x0BB BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38185. 0x0C2 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38186. 0x0C7 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38187. 0x0C7 {
  38188. 0x0D5 TempGlobal <- &GlobalVar(WeaponsKilled)
  38189. 0x0DA BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38190. 0x0E4 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38191. 0x0E9 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38192. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38193. 0x104 Perform("(Report)"[0164], EnemyAttack)
  38194. 0x10A RunScript(15)
  38195. 0x10F SCRIPT END
  38196.  
  38197.  
  38198. DEATH COUNTER:
  38199.  
  38200. 0x000 BattleAddr(&Self).BattleAddr(&CurrentHP) <- 20000
  38201. 0x00B LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38202. 0x01B LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) / 256
  38203. 0x033 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) - (LocalVar:MidleByte * 256)
  38204. 0x04F Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38205. 0x07A BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38206. 0x081 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38207. 0x086 BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38208. 0x08D GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38209. 0x092 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38210. 0x099 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38211. 0x09E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38212. 0x09E {
  38213. 0x0AC TempGlobal <- &GlobalVar(WeaponsKilled)
  38214. 0x0B1 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38215. 0x0BB GlobalVar(WeaponsKilled) <- &TempGlobal)
  38216. 0x0C0 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38217. 0x0D4 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38218. 0x0DB Perform("(Report)"[0164], EnemyAttack)
  38219. 0x0E1 RunScript(15)
  38220. 0x0E6 SCRIPT END
  38221.  
  38222.  
  38223. CUSTOM EVENT 8:
  38224.  
  38225. 0x000 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38226. 0x00A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38227. 0x014 SCRIPT END
  38228.  
  38229.  
  38230.  
  38231.  
  38232. 335 - [14F] Ultimate Weapon (Flying)
  38233.  
  38234.  
  38235. LocalVar:0000 = LocalVar:UpperByte
  38236. LocalVar:0020 = LocalVar:MidleByte
  38237. LocalVar:0040 = LocalVar:LowerByte
  38238. LocalVar:0060 = LocalVar:HPCount
  38239. LocalVar:0080 = LocalVar:CurrentHP
  38240. LocalVar:00A0 = LocalVar:Count
  38241.  
  38242. GlobalVar(005B) = GlobalVar(Ultimate'sHPByte3)
  38243. GlobalVar(005C) = GlobalVar(Ultimate'sHPByte2)
  38244. GlobalVar(005D) = GlobalVar(Ultimate'sHPByte1)
  38245. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  38246.  
  38247. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  38248. BattleAddr(&2060) = BattleAddr(&Self)
  38249. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38250. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  38251.  
  38252. BattleAddr(&4023) = BattleAddr(&Targetable)
  38253. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  38254. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  38255. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  38256.  
  38257.  
  38258.  
  38259. PRE-BATTLE:
  38260.  
  38261. 0x000 TempGlobal <- &GlobalVar(Ultimate'sHPByte3)
  38262. 0x005 LocalVar:UpperByte <- BattleAddr(&MemBank1/2)
  38263. 0x00C TempGlobal <- &GlobalVar(Ultimate'sHPByte2)
  38264. 0x011 LocalVar:MidleByte <- BattleAddr(&MemBank1/2)
  38265. 0x018 TempGlobal <- &GlobalVar(Ultimate'sHPByte1)
  38266. 0x01D LocalVar:LowerByte <- BattleAddr(&MemBank1/2)
  38267. 0x024 BattleAddr(&Self).BattleAddr(&CurrentHP) <- LocalVar:UpperByte * 65536 + LocalVar:MidleByte * 256 + LocalVar:LowerByte
  38268. 0x040 BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  38269. 0x04A LocalVar:Count <- 3 + Random MOD 3
  38270. 0x055 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  38271. 0x060 SCRIPT END
  38272.  
  38273.  
  38274. MAIN:
  38275.  
  38276. 0x000 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38277. 0x010 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38278. 0x028 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38279. 0x044 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38280. 0x06F BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38281. 0x076 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38282. 0x07B BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38283. 0x082 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38284. 0x087 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38285. 0x08E GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38286. 0x093 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38287. 0x093 {
  38288. 0x0A1 TempGlobal <- &GlobalVar(WeaponsKilled)
  38289. 0x0A6 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38290. 0x0B0 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38291. 0x0B5 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38292. 0x0C9 LocalVar:Count <- LocalVar:Count - 1
  38293. 0x0D3 If (LocalVar:Count == 0)
  38294. 0x0D3 {
  38295. 0x0DB BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38296. 0x0E2 Perform("(Report)"[0164], EnemyAttack)
  38297. 0x0E8 RunScript(15)
  38298. 0x0ED }
  38299. 0x0ED Else
  38300. 0x0ED {
  38301. 0x0F0 }
  38302. 0x0F0 Else
  38303. 0x0F0 {
  38304. 0x0F3 If (LocalVar:Count == 1)
  38305. 0x0F3 {
  38306. 0x0F8 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38307. 0x100 Perform("Thunderball"[039F], EnemyAttack)
  38308. 0x106 }
  38309. 0x106 Else
  38310. 0x106 {
  38311. 0x109 }
  38312. 0x109 Else
  38313. 0x109 {
  38314. 0x10C If (LocalVar:Count == 2)
  38315. 0x10C {
  38316. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  38317. 0x118 Perform("Ultima Beam"[039E], EnemyAttack)
  38318. 0x11E }
  38319. 0x11E Else
  38320. 0x11E {
  38321. 0x121 }
  38322. 0x121 Else
  38323. 0x121 {
  38324. 0x124 If (LocalVar:Count == 3)
  38325. 0x124 {
  38326. 0x129 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38327. 0x131 Perform("Thunderball"[039F], EnemyAttack)
  38328. 0x137 }
  38329. 0x137 Else
  38330. 0x137 {
  38331. 0x13A }
  38332. 0x13A Else
  38333. 0x13A {
  38334. 0x13D BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  38335. 0x144 Perform("Ultima Beam"[039E], EnemyAttack)
  38336. 0x14A }
  38337. 0x14A Else
  38338. 0x14A {
  38339. 0x14D POP(LocalVar:Count)
  38340. 0x14E SCRIPT END
  38341.  
  38342.  
  38343. GENERAL COUNTER:
  38344.  
  38345. 0x000 LocalVar:HPCount <- LocalVar:HPCount + LocalVar:CurrentHP - BattleAddr(&Self).BattleAddr(&CurrentHP)
  38346. 0x013 LocalVar:CurrentHP <- BattleAddr(&Self).BattleAddr(&CurrentHP)
  38347. 0x01E If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) < 20000) Or (LocalVar:HPCount > 20000) ) )
  38348. 0x01E {
  38349. 0x034 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38350. 0x044 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38351. 0x05C LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38352. 0x078 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38353. 0x0A3 BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38354. 0x0AA GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38355. 0x0AF BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38356. 0x0B6 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38357. 0x0BB BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38358. 0x0C2 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38359. 0x0C7 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38360. 0x0C7 {
  38361. 0x0D5 TempGlobal <- &GlobalVar(WeaponsKilled)
  38362. 0x0DA BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38363. 0x0E4 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38364. 0x0E9 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38365. 0x0FD BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38366. 0x104 Perform("(Report)"[0164], EnemyAttack)
  38367. 0x10A RunScript(15)
  38368. 0x10F SCRIPT END
  38369.  
  38370.  
  38371. DEATH COUNTER:
  38372.  
  38373. 0x000 BattleAddr(&Self).BattleAddr(&CurrentHP) <- 20000
  38374. 0x00B LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38375. 0x01B LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) / 256
  38376. 0x033 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - (LocalVar:UpperByte * 65536) - (LocalVar:MidleByte * 256)
  38377. 0x04F Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38378. 0x07A BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38379. 0x081 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38380. 0x086 BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38381. 0x08D GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38382. 0x092 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38383. 0x099 GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38384. 0x09E If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38385. 0x09E {
  38386. 0x0AC TempGlobal <- &GlobalVar(WeaponsKilled)
  38387. 0x0B1 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38388. 0x0BB GlobalVar(WeaponsKilled) <- &TempGlobal)
  38389. 0x0C0 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38390. 0x0D4 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38391. 0x0DB Perform("(Report)"[0164], EnemyAttack)
  38392. 0x0E1 RunScript(15)
  38393. 0x0E6 SCRIPT END
  38394.  
  38395.  
  38396. CUSTOM EVENT 8:
  38397.  
  38398. 0x000 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38399. 0x00A BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38400. 0x014 SCRIPT END
  38401.  
  38402.  
  38403.  
  38404.  
  38405. 336 - [150] Ultimate Weapon (Cosmo)
  38406.  
  38407.  
  38408. LocalVar:0000 = LocalVar:UpperByte
  38409. LocalVar:0020 = LocalVar:MidleByte
  38410. LocalVar:0040 = LocalVar:LowerByte
  38411. LocalVar:0060 = LocalVar:Count
  38412.  
  38413. GlobalVar(005B) = GlobalVar(Ultimate'sHPByte3)
  38414. GlobalVar(005C) = GlobalVar(Ultimate'sHPByte2)
  38415. GlobalVar(005D) = GlobalVar(Ultimate'sHPByte1)
  38416. GlobalVar(007B) = GlobalVar(WeaponsKilled)
  38417.  
  38418. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  38419. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38420. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  38421.  
  38422. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  38423. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  38424.  
  38425.  
  38426.  
  38427. PRE-BATTLE:
  38428.  
  38429. 0x000 TempGlobal <- &GlobalVar(Ultimate'sHPByte3)
  38430. 0x005 LocalVar:UpperByte <- BattleAddr(&MemBank1/2)
  38431. 0x00C TempGlobal <- &GlobalVar(Ultimate'sHPByte2)
  38432. 0x011 LocalVar:MidleByte <- BattleAddr(&MemBank1/2)
  38433. 0x018 TempGlobal <- &GlobalVar(Ultimate'sHPByte1)
  38434. 0x01D LocalVar:LowerByte <- BattleAddr(&MemBank1/2)
  38435. 0x024 BattleAddr(&Self).BattleAddr(&CurrentHP) <- LocalVar:UpperByte * 65536 + LocalVar:MidleByte * 256 + LocalVar:LowerByte
  38436. 0x040 SCRIPT END
  38437.  
  38438.  
  38439. MAIN:
  38440.  
  38441. 0x000 LocalVar:UpperByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) / 65536
  38442. 0x010 LocalVar:MidleByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 / 256
  38443. 0x028 LocalVar:LowerByte <- BattleAddr(&Self).BattleAddr(&CurrentHP) - LocalVar:UpperByte * 65536 - LocalVar:MidleByte * 256
  38444. 0x044 Debug.Print: "HP = %d SCFLAG %d,%d,%d" ; BattleAddr(&Self).BattleAddr(&CurrentHP); LocalVar:UpperByte; LocalVar:MidleByte; LocalVar:LowerByte
  38445. 0x06F BattleAddr(&MemBank1/2) <- LocalVar:UpperByte
  38446. 0x076 GlobalVar(Ultimate'sHPByte3) <- &TempGlobal)
  38447. 0x07B BattleAddr(&MemBank1/2) <- LocalVar:MidleByte
  38448. 0x082 GlobalVar(Ultimate'sHPByte2) <- &TempGlobal)
  38449. 0x087 BattleAddr(&MemBank1/2) <- LocalVar:LowerByte
  38450. 0x08E GlobalVar(Ultimate'sHPByte1) <- &TempGlobal)
  38451. 0x093 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= 20000) )
  38452. 0x093 {
  38453. 0x0A1 TempGlobal <- &GlobalVar(WeaponsKilled)
  38454. 0x0A6 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 4
  38455. 0x0B0 GlobalVar(WeaponsKilled) <- &TempGlobal)
  38456. 0x0B5 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38457. 0x0C9 LocalVar:Count <- LocalVar:Count + 1
  38458. 0x0D3 If (Random MOD 2 == 1)
  38459. 0x0D3 {
  38460. 0x0DC BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38461. 0x0E4 Perform("Thunderball"[039F], EnemyAttack)
  38462. 0x0EA }
  38463. 0x0EA Else
  38464. 0x0EA {
  38465. 0x0ED }
  38466. 0x0ED Else
  38467. 0x0ED {
  38468. 0x0F0 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  38469. 0x0F7 Perform("Ultima Beam"[039E], EnemyAttack)
  38470. 0x0FD }
  38471. 0x0FD Else
  38472. 0x0FD {
  38473. 0x100 POP(Random MOD 2)
  38474. 0x101 SCRIPT END
  38475.  
  38476.  
  38477. DEATH COUNTER:
  38478.  
  38479. 0x000 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  38480. 0x00B Perform("Shadow Flare"[005E], EnemyAttack)
  38481. 0x010 TempGlobal <- &GlobalVar(WeaponsKilled)
  38482. 0x015 BattleAddr(&MemBank1/2) <- BattleAddr(&MemBank1/2) OR 1
  38483. 0x01F GlobalVar(WeaponsKilled) <- &TempGlobal)
  38484. 0x024 Debug.Print: "SCFLAG 7B = %d" ; BattleAddr(&MemBank1/2)
  38485. 0x038 SCRIPT END
  38486.  
  38487.  
  38488.  
  38489.  
  38490. 337 - [151] Cactuer
  38491.  
  38492.  
  38493. LocalVar:0000 = LocalVar:Count
  38494. LocalVar:0020 = LocalVar:BaseDamagedAnimID
  38495. LocalVar:0040 = LocalVar:BaseEvade
  38496.  
  38497. BattleAddr(&2060) = BattleAddr(&Self)
  38498. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38499. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  38500.  
  38501. BattleAddr(&4078) = BattleAddr(&Evade)
  38502. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  38503.  
  38504.  
  38505.  
  38506. PRE-BATTLE:
  38507.  
  38508. 0x000LocalVar:Count <- Random MOD 5
  38509. 0x008LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  38510. 0x013LocalVar:BaseEvade <- BattleAddr(&Self).BattleAddr(&Evade)
  38511. 0x01ESCRIPT END
  38512.  
  38513.  
  38514. MAIN:
  38515.  
  38516. 0x000 If (LocalVar:Count == 0)
  38517. 0x000 {
  38518. 0x008 }
  38519. 0x008 Else
  38520. 0x008 {
  38521. 0x00B If (LocalVar:Count == 1)
  38522. 0x00B {
  38523. 0x010 }
  38524. 0x010 Else
  38525. 0x010 {
  38526. 0x013 If (LocalVar:Count == 2)
  38527. 0x013 {
  38528. 0x018 }
  38529. 0x018 Else
  38530. 0x018 {
  38531. 0x01B If (LocalVar:Count == 3)
  38532. 0x01B {
  38533. 0x020 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38534. 0x028 Perform("Mystery Kick"[036B], EnemyAttack)
  38535. 0x02E If (Not (Random MOD 3) )
  38536. 0x02E {
  38537. 0x036 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38538. 0x03E Perform("Mystery Kick"[036B], EnemyAttack)
  38539. 0x044 LocalVar:Count <- 4
  38540. 0x04A }
  38541. 0x04A Else
  38542. 0x04A {
  38543. 0x04D LocalVar:Count <- LocalVar:Count + 1
  38544. 0x057 }
  38545. 0x057 Else
  38546. 0x057 {
  38547. 0x05A }
  38548. 0x05A Else
  38549. 0x05A {
  38550. 0x05D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38551. 0x065 Perform("1000 Needles"[034E], EnemyAttack)
  38552. 0x06B LocalVar:Count <- 0
  38553. 0x071 }
  38554. 0x071 Else
  38555. 0x071 {
  38556. 0x074POP(LocalVar:Count)
  38557. 0x075SCRIPT END
  38558.  
  38559.  
  38560. PRE-ACTION SETIP:
  38561.  
  38562. 0x000BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:BaseEvade
  38563. 0x00B If (Random MOD 8)
  38564. 0x00B {
  38565. 0x012 BattleAddr(&Self).BattleAddr(&Evade) <- 255
  38566. 0x01CSCRIPT END
  38567.  
  38568.  
  38569.  
  38570.  
  38571. 338 - [152] Goblin
  38572.  
  38573.  
  38574. LocalVar:0000 = LocalVar:Count
  38575.  
  38576. BattleAddr(&2060) = BattleAddr(&Self)
  38577. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38578. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  38579.  
  38580. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  38581. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  38582.  
  38583.  
  38584.  
  38585. PRE-BATTLE:
  38586.  
  38587. 0x000LocalVar:Count <- Random MOD 4
  38588. 0x008SCRIPT END
  38589.  
  38590.  
  38591. MAIN:
  38592.  
  38593. 0x000 If (LocalVar:Count == 0)
  38594. 0x000 {
  38595. 0x008 }
  38596. 0x008 Else
  38597. 0x008 {
  38598. 0x00B If (LocalVar:Count == 1)
  38599. 0x00B {
  38600. 0x010 }
  38601. 0x010 Else
  38602. 0x010 {
  38603. 0x013 If (LocalVar:Count == 2)
  38604. 0x013 {
  38605. 0x018 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  38606. 0x018 {
  38607. 0x025 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  38608. 0x034 }
  38609. 0x034 Else
  38610. 0x034 {
  38611. 0x037 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38612. 0x03F If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Goblin Punch [0059])) And Not (Random MOD 3) ) )
  38613. 0x03F {
  38614. 0x053 Perform("Goblin Punch"[0059], EnemyAttack)
  38615. 0x058 }
  38616. 0x058 Else
  38617. 0x058 {
  38618. 0x05B Perform("Fight"[0362], EnemyAttack)
  38619. 0x061 LocalVar:Count <- LocalVar:Count + 1
  38620. 0x06B }
  38621. 0x06B Else
  38622. 0x06B {
  38623. 0x06E }
  38624. 0x06E Else
  38625. 0x06E {
  38626. 0x071 If ( ( ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) And (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Sleepel [000B])) ) And Not (Random MOD 2) ) )
  38627. 0x071 {
  38628. 0x090 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 0) )
  38629. 0x09F Perform("Sleepel"[000B], EnemyAttack)
  38630. 0x0A4 }
  38631. 0x0A4 Else
  38632. 0x0A4 {
  38633. 0x0A7 If ( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  38634. 0x0A7 {
  38635. 0x0B4 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SleepStatus) == 1) )
  38636. 0x0C3 }
  38637. 0x0C3 Else
  38638. 0x0C3 {
  38639. 0x0C6 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  38640. 0x0CE If ( ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Goblin Punch [0059])) And Not (Random MOD 3) ) )
  38641. 0x0CE {
  38642. 0x0E2 Perform("Goblin Punch"[0059], EnemyAttack)
  38643. 0x0E7 }
  38644. 0x0E7 Else
  38645. 0x0E7 {
  38646. 0x0EA Perform("Fight"[0362], EnemyAttack)
  38647. 0x0F0 LocalVar:Count <- Random MOD 2
  38648. 0x0F8 }
  38649. 0x0F8 Else
  38650. 0x0F8 {
  38651. 0x0FBPOP(LocalVar:Count)
  38652. 0x0FCSCRIPT END
  38653.  
  38654.  
  38655.  
  38656.  
  38657. 339 - [153] Chocobo (Lv 13)
  38658.  
  38659.  
  38660. LocalVar:0000 = LocalVar:SylkisUsed
  38661. LocalVar:0020 = LocalVar:MimettUsed
  38662. LocalVar:0040 = LocalVar:ChocGreenCount
  38663. LocalVar:0060 = LocalVar:ChocRunChance
  38664. LocalVar:0080 = LocalVar:ActorsHit
  38665. LocalVar:00A0 = LocalVar:ChocEatGreen
  38666. LocalVar:00C0 = LocalVar:TakeTurn
  38667. LocalVar:00E0 = LocalVar:Chocobuckle
  38668. LocalVar:0100 = LocalVar:ChocGreensUsed
  38669. LocalVar:0120 = LocalVar:ChocEscape
  38670.  
  38671. GlobalVar(0054) = GlobalVar(CaughtChoc)
  38672.  
  38673. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  38674. BattleAddr(&2008) = BattleAddr(&LastAttID)
  38675. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  38676. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  38677. BattleAddr(&2060) = BattleAddr(&Self)
  38678. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38679. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  38680.  
  38681. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  38682. BattleAddr(&4020) = BattleAddr(&SelfActive)
  38683. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  38684. BattleAddr(&4023) = BattleAddr(&Targetable)
  38685. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  38686. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  38687. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  38688. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  38689. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  38690. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  38691. BattleAddr(&4180) = BattleAddr(&MaxHP)
  38692. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  38693.  
  38694.  
  38695.  
  38696. PRE-BATTLE:
  38697.  
  38698. 0x000LocalVar:ChocRunChance <- 2
  38699. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  38700. 0x010SCRIPT END
  38701.  
  38702.  
  38703. MAIN:
  38704.  
  38705. 0x000 If ( (LocalVar:TakeTurn == 0) )
  38706. 0x000 {
  38707. 0x009 LocalVar:TakeTurn <- 1
  38708. 0x00F }
  38709. 0x00F Else
  38710. 0x00F {
  38711. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  38712. 0x012 {
  38713. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  38714. 0x01B {
  38715. 0x026 LocalVar:ChocEscape <- 1
  38716. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  38717. 0x02C {
  38718. 0x05B Display String: "Chocobo “Wark! Wark!”"
  38719. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38720. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  38721. 0x079 {
  38722. 0x082 Perform("Escape"[035B], EnemyAttack)
  38723. 0x088 }
  38724. 0x088 Else
  38725. 0x088 {
  38726. 0x08B Perform("Escape"[035A], EnemyAttack)
  38727. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  38728. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38729. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  38730. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38731. 0x0B9 }
  38732. 0x0B9 Else
  38733. 0x0B9 {
  38734. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  38735. 0x0BC {
  38736. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38737. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  38738. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  38739. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  38740. 0x0E6 LocalVar:ChocEatGreen <- 0
  38741. 0x0EC }
  38742. 0x0EC Else
  38743. 0x0EC {
  38744. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  38745. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  38746. 0x0F9 {
  38747. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  38748. 0x118 Display String: "Caught a Chocobo."
  38749. 0x12B BattleAddr(&MemBank1/2) <- 1
  38750. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  38751. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  38752. 0x140SCRIPT END
  38753.  
  38754.  
  38755. GENERAL COUNTER:
  38756.  
  38757. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  38758. 0x000 {
  38759. 0x010 LocalVar:ChocGreensUsed <- 0
  38760. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  38761. 0x016 {
  38762. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  38763. 0x029 LocalVar:ChocGreensUsed <- 1
  38764. 0x02F LocalVar:Chocobuckle <- 1
  38765. 0x035 }
  38766. 0x035 Else
  38767. 0x035 {
  38768. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  38769. 0x038 {
  38770. 0x041 LocalVar:ChocGreenCount <- 8
  38771. 0x047 LocalVar:ChocRunChance <- 8
  38772. 0x04D LocalVar:ChocGreensUsed <- 1
  38773. 0x053 }
  38774. 0x053 Else
  38775. 0x053 {
  38776. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  38777. 0x056 {
  38778. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  38779. 0x069 LocalVar:Chocobuckle <- 1
  38780. 0x06F LocalVar:ChocGreensUsed <- 1
  38781. 0x075 }
  38782. 0x075 Else
  38783. 0x075 {
  38784. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  38785. 0x078 {
  38786. 0x081 LocalVar:ChocGreenCount <- 5
  38787. 0x087 LocalVar:ChocGreensUsed <- 1
  38788. 0x08D }
  38789. 0x08D Else
  38790. 0x08D {
  38791. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  38792. 0x090 {
  38793. 0x099 LocalVar:ChocRunChance <- 5
  38794. 0x09F LocalVar:ChocGreensUsed <- 1
  38795. 0x0A5 }
  38796. 0x0A5 Else
  38797. 0x0A5 {
  38798. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  38799. 0x0A8 {
  38800. 0x0B1 LocalVar:ChocGreenCount <- 3
  38801. 0x0B7 LocalVar:ChocGreensUsed <- 1
  38802. 0x0BD }
  38803. 0x0BD Else
  38804. 0x0BD {
  38805. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  38806. 0x0C0 {
  38807. 0x0C9 LocalVar:ChocRunChance <- 3
  38808. 0x0CF LocalVar:ChocGreensUsed <- 1
  38809. 0x0D5 }
  38810. 0x0D5 Else
  38811. 0x0D5 {
  38812. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  38813. 0x0D8 {
  38814. 0x0E1 LocalVar:ChocGreenCount <- 2
  38815. 0x0E7 LocalVar:ChocGreensUsed <- 1
  38816. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  38817. 0x0ED {
  38818. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  38819. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38820. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  38821. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  38822. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  38823. 0x134 LocalVar:ChocEatGreen <- 1
  38824. 0x13A }
  38825. 0x13A Else
  38826. 0x13A {
  38827. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  38828. 0x13D {
  38829. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  38830. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  38831. 0x16C LocalVar:ChocEscape <- 1
  38832. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  38833. 0x172 {
  38834. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  38835. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38836. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  38837. 0x1BF {
  38838. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  38839. 0x1CE }
  38840. 0x1CE Else
  38841. 0x1CE {
  38842. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  38843. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  38844. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38845. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  38846. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38847. 0x1FF }
  38848. 0x1FF Else
  38849. 0x1FF {
  38850. 0x202 LocalVar:ChocEscape <- 1
  38851. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  38852. 0x208 {
  38853. 0x237 Display String: "Chocobo “Wark! Wark!”"
  38854. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38855. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  38856. 0x255 {
  38857. 0x25E Perform("Escape"[035B], EnemyAttack)
  38858. 0x264 }
  38859. 0x264 Else
  38860. 0x264 {
  38861. 0x267 Perform("Escape"[035A], EnemyAttack)
  38862. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  38863. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38864. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  38865. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38866. 0x295SCRIPT END
  38867.  
  38868.  
  38869. DEATH COUNTER:
  38870.  
  38871. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  38872. 0x00A If ( (LocalVar:ActorsHit < 8) )
  38873. 0x00A {
  38874. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  38875. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  38876. 0x022 {
  38877. 0x02F Display String: "Chocobo “Warrrrk!”"
  38878. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  38879. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  38880. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  38881. 0x05D LOOP 0x00A
  38882. 0x060 LocalVar:ChocEscape <- 1
  38883. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  38884. 0x066 {
  38885. 0x095 Display String: "Chocobo “Wark! Wark!”"
  38886. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38887. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  38888. 0x0B3 {
  38889. 0x0BC Perform("Escape"[035B], EnemyAttack)
  38890. 0x0C2 }
  38891. 0x0C2 Else
  38892. 0x0C2 {
  38893. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  38894. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  38895. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38896. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  38897. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38898. 0x0F3 SCRIPT END
  38899.  
  38900.  
  38901.  
  38902.  
  38903. 340 - [154] Chocobo (Lv 16)
  38904.  
  38905.  
  38906. LocalVar:0000 = LocalVar:SylkisUsed
  38907. LocalVar:0020 = LocalVar:MimettUsed
  38908. LocalVar:0040 = LocalVar:ChocGreenCount
  38909. LocalVar:0060 = LocalVar:ChocRunChance
  38910. LocalVar:0080 = LocalVar:ActorsHit
  38911. LocalVar:00A0 = LocalVar:ChocEatGreen
  38912. LocalVar:00C0 = LocalVar:TakeTurn
  38913. LocalVar:00E0 = LocalVar:Chocobuckle
  38914. LocalVar:0100 = LocalVar:ChocGreensUsed
  38915. LocalVar:0120 = LocalVar:ChocEscape
  38916.  
  38917. GlobalVar(0054) = GlobalVar(CaughtChoc)
  38918.  
  38919. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  38920. BattleAddr(&2008) = BattleAddr(&LastAttID)
  38921. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  38922. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  38923. BattleAddr(&2060) = BattleAddr(&Self)
  38924. BattleAddr(&2070) = BattleAddr(&TarSelected)
  38925. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  38926.  
  38927. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  38928. BattleAddr(&4020) = BattleAddr(&SelfActive)
  38929. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  38930. BattleAddr(&4023) = BattleAddr(&Targetable)
  38931. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  38932. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  38933. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  38934. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  38935. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  38936. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  38937. BattleAddr(&4180) = BattleAddr(&MaxHP)
  38938. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  38939.  
  38940.  
  38941. PRE-BATTLE:
  38942.  
  38943. 0x000LocalVar:ChocRunChance <- 2
  38944. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  38945. 0x010SCRIPT END
  38946.  
  38947.  
  38948. MAIN:
  38949.  
  38950. 0x000 If ( (LocalVar:TakeTurn == 0) )
  38951. 0x000 {
  38952. 0x009 LocalVar:TakeTurn <- 1
  38953. 0x00F }
  38954. 0x00F Else
  38955. 0x00F {
  38956. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  38957. 0x012 {
  38958. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  38959. 0x01B {
  38960. 0x026 LocalVar:ChocEscape <- 1
  38961. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  38962. 0x02C {
  38963. 0x05B Display String: "Chocobo “Wark! Wark!”"
  38964. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38965. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  38966. 0x079 {
  38967. 0x082 Perform("Escape"[035B], EnemyAttack)
  38968. 0x088 }
  38969. 0x088 Else
  38970. 0x088 {
  38971. 0x08B Perform("Escape"[035A], EnemyAttack)
  38972. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  38973. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  38974. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  38975. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  38976. 0x0B9 }
  38977. 0x0B9 Else
  38978. 0x0B9 {
  38979. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  38980. 0x0BC {
  38981. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  38982. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  38983. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  38984. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  38985. 0x0E6 LocalVar:ChocEatGreen <- 0
  38986. 0x0EC }
  38987. 0x0EC Else
  38988. 0x0EC {
  38989. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  38990. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  38991. 0x0F9 {
  38992. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  38993. 0x118 Display String: "Caught a Chocobo."
  38994. 0x12B BattleAddr(&MemBank1/2) <- 1
  38995. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  38996. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  38997. 0x140SCRIPT END
  38998.  
  38999.  
  39000. GENERAL COUNTER:
  39001.  
  39002. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  39003. 0x000 {
  39004. 0x010 LocalVar:ChocGreensUsed <- 0
  39005. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  39006. 0x016 {
  39007. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  39008. 0x029 LocalVar:ChocGreensUsed <- 1
  39009. 0x02F LocalVar:Chocobuckle <- 1
  39010. 0x035 }
  39011. 0x035 Else
  39012. 0x035 {
  39013. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  39014. 0x038 {
  39015. 0x041 LocalVar:ChocGreenCount <- 8
  39016. 0x047 LocalVar:ChocRunChance <- 8
  39017. 0x04D LocalVar:ChocGreensUsed <- 1
  39018. 0x053 }
  39019. 0x053 Else
  39020. 0x053 {
  39021. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  39022. 0x056 {
  39023. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  39024. 0x069 LocalVar:Chocobuckle <- 1
  39025. 0x06F LocalVar:ChocGreensUsed <- 1
  39026. 0x075 }
  39027. 0x075 Else
  39028. 0x075 {
  39029. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  39030. 0x078 {
  39031. 0x081 LocalVar:ChocGreenCount <- 5
  39032. 0x087 LocalVar:ChocGreensUsed <- 1
  39033. 0x08D }
  39034. 0x08D Else
  39035. 0x08D {
  39036. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  39037. 0x090 {
  39038. 0x099 LocalVar:ChocRunChance <- 5
  39039. 0x09F LocalVar:ChocGreensUsed <- 1
  39040. 0x0A5 }
  39041. 0x0A5 Else
  39042. 0x0A5 {
  39043. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  39044. 0x0A8 {
  39045. 0x0B1 LocalVar:ChocGreenCount <- 3
  39046. 0x0B7 LocalVar:ChocGreensUsed <- 1
  39047. 0x0BD }
  39048. 0x0BD Else
  39049. 0x0BD {
  39050. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  39051. 0x0C0 {
  39052. 0x0C9 LocalVar:ChocRunChance <- 3
  39053. 0x0CF LocalVar:ChocGreensUsed <- 1
  39054. 0x0D5 }
  39055. 0x0D5 Else
  39056. 0x0D5 {
  39057. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  39058. 0x0D8 {
  39059. 0x0E1 LocalVar:ChocGreenCount <- 2
  39060. 0x0E7 LocalVar:ChocGreensUsed <- 1
  39061. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  39062. 0x0ED {
  39063. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  39064. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39065. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  39066. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  39067. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  39068. 0x134 LocalVar:ChocEatGreen <- 1
  39069. 0x13A }
  39070. 0x13A Else
  39071. 0x13A {
  39072. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  39073. 0x13D {
  39074. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  39075. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  39076. 0x16C LocalVar:ChocEscape <- 1
  39077. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39078. 0x172 {
  39079. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  39080. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39081. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  39082. 0x1BF {
  39083. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  39084. 0x1CE }
  39085. 0x1CE Else
  39086. 0x1CE {
  39087. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  39088. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39089. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39090. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39091. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39092. 0x1FF }
  39093. 0x1FF Else
  39094. 0x1FF {
  39095. 0x202 LocalVar:ChocEscape <- 1
  39096. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39097. 0x208 {
  39098. 0x237 Display String: "Chocobo “Wark! Wark!”"
  39099. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39100. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  39101. 0x255 {
  39102. 0x25E Perform("Escape"[035B], EnemyAttack)
  39103. 0x264 }
  39104. 0x264 Else
  39105. 0x264 {
  39106. 0x267 Perform("Escape"[035A], EnemyAttack)
  39107. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39108. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39109. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39110. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39111. 0x295SCRIPT END
  39112.  
  39113.  
  39114. DEATH COUNTER:
  39115.  
  39116. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  39117. 0x00A If ( (LocalVar:ActorsHit < 8) )
  39118. 0x00A {
  39119. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  39120. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  39121. 0x022 {
  39122. 0x02F Display String: "Chocobo “Warrrrk!”"
  39123. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  39124. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  39125. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  39126. 0x05D LOOP 0x00A
  39127. 0x060 LocalVar:ChocEscape <- 1
  39128. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39129. 0x066 {
  39130. 0x095 Display String: "Chocobo “Wark! Wark!”"
  39131. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39132. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  39133. 0x0B3 {
  39134. 0x0BC Perform("Escape"[035B], EnemyAttack)
  39135. 0x0C2 }
  39136. 0x0C2 Else
  39137. 0x0C2 {
  39138. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  39139. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39140. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39141. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39142. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39143. 0x0F3 SCRIPT END
  39144.  
  39145.  
  39146.  
  39147.  
  39148. 341 - [155] Chocobo (Lv 19)
  39149.  
  39150.  
  39151. LocalVar:0000 = LocalVar:SylkisUsed
  39152. LocalVar:0020 = LocalVar:MimettUsed
  39153. LocalVar:0040 = LocalVar:ChocGreenCount
  39154. LocalVar:0060 = LocalVar:ChocRunChance
  39155. LocalVar:0080 = LocalVar:ActorsHit
  39156. LocalVar:00A0 = LocalVar:ChocEatGreen
  39157. LocalVar:00C0 = LocalVar:TakeTurn
  39158. LocalVar:00E0 = LocalVar:Chocobuckle
  39159. LocalVar:0100 = LocalVar:ChocGreensUsed
  39160. LocalVar:0120 = LocalVar:ChocEscape
  39161.  
  39162. GlobalVar(0054) = GlobalVar(CaughtChoc)
  39163.  
  39164. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  39165. BattleAddr(&2008) = BattleAddr(&LastAttID)
  39166. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  39167. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  39168. BattleAddr(&2060) = BattleAddr(&Self)
  39169. BattleAddr(&2070) = BattleAddr(&TarSelected)
  39170. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  39171.  
  39172. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  39173. BattleAddr(&4020) = BattleAddr(&SelfActive)
  39174. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  39175. BattleAddr(&4023) = BattleAddr(&Targetable)
  39176. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  39177. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  39178. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  39179. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  39180. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  39181. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  39182. BattleAddr(&4180) = BattleAddr(&MaxHP)
  39183. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  39184.  
  39185.  
  39186.  
  39187. PRE-BATTLE:
  39188.  
  39189. 0x000LocalVar:ChocRunChance <- 2
  39190. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  39191. 0x010SCRIPT END
  39192.  
  39193.  
  39194. MAIN:
  39195.  
  39196. 0x000 If ( (LocalVar:TakeTurn == 0) )
  39197. 0x000 {
  39198. 0x009 LocalVar:TakeTurn <- 1
  39199. 0x00F }
  39200. 0x00F Else
  39201. 0x00F {
  39202. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  39203. 0x012 {
  39204. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  39205. 0x01B {
  39206. 0x026 LocalVar:ChocEscape <- 1
  39207. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39208. 0x02C {
  39209. 0x05B Display String: "Chocobo “Wark! Wark!”"
  39210. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39211. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  39212. 0x079 {
  39213. 0x082 Perform("Escape"[035B], EnemyAttack)
  39214. 0x088 }
  39215. 0x088 Else
  39216. 0x088 {
  39217. 0x08B Perform("Escape"[035A], EnemyAttack)
  39218. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39219. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39220. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39221. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39222. 0x0B9 }
  39223. 0x0B9 Else
  39224. 0x0B9 {
  39225. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  39226. 0x0BC {
  39227. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39228. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  39229. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  39230. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  39231. 0x0E6 LocalVar:ChocEatGreen <- 0
  39232. 0x0EC }
  39233. 0x0EC Else
  39234. 0x0EC {
  39235. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  39236. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  39237. 0x0F9 {
  39238. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  39239. 0x118 Display String: "Caught a Chocobo."
  39240. 0x12B BattleAddr(&MemBank1/2) <- 1
  39241. 0x131 GlobalVar(0054) <- &TempGlobal)
  39242. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  39243. 0x140SCRIPT END
  39244.  
  39245.  
  39246. GENERAL COUNTER:
  39247.  
  39248. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  39249. 0x000 {
  39250. 0x010 LocalVar:ChocGreensUsed <- 0
  39251. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  39252. 0x016 {
  39253. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  39254. 0x029 LocalVar:ChocGreensUsed <- 1
  39255. 0x02F LocalVar:Chocobuckle <- 1
  39256. 0x035 }
  39257. 0x035 Else
  39258. 0x035 {
  39259. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  39260. 0x038 {
  39261. 0x041 LocalVar:ChocGreenCount <- 8
  39262. 0x047 LocalVar:ChocRunChance <- 8
  39263. 0x04D LocalVar:ChocGreensUsed <- 1
  39264. 0x053 }
  39265. 0x053 Else
  39266. 0x053 {
  39267. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  39268. 0x056 {
  39269. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  39270. 0x069 LocalVar:Chocobuckle <- 1
  39271. 0x06F LocalVar:ChocGreensUsed <- 1
  39272. 0x075 }
  39273. 0x075 Else
  39274. 0x075 {
  39275. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  39276. 0x078 {
  39277. 0x081 LocalVar:ChocGreenCount <- 5
  39278. 0x087 LocalVar:ChocGreensUsed <- 1
  39279. 0x08D }
  39280. 0x08D Else
  39281. 0x08D {
  39282. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  39283. 0x090 {
  39284. 0x099 LocalVar:ChocRunChance <- 5
  39285. 0x09F LocalVar:ChocGreensUsed <- 1
  39286. 0x0A5 }
  39287. 0x0A5 Else
  39288. 0x0A5 {
  39289. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  39290. 0x0A8 {
  39291. 0x0B1 LocalVar:ChocGreenCount <- 3
  39292. 0x0B7 LocalVar:ChocGreensUsed <- 1
  39293. 0x0BD }
  39294. 0x0BD Else
  39295. 0x0BD {
  39296. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  39297. 0x0C0 {
  39298. 0x0C9 LocalVar:ChocRunChance <- 3
  39299. 0x0CF LocalVar:ChocGreensUsed <- 1
  39300. 0x0D5 }
  39301. 0x0D5 Else
  39302. 0x0D5 {
  39303. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  39304. 0x0D8 {
  39305. 0x0E1 LocalVar:ChocGreenCount <- 2
  39306. 0x0E7 LocalVar:ChocGreensUsed <- 1
  39307. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  39308. 0x0ED {
  39309. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  39310. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39311. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  39312. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  39313. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  39314. 0x134 LocalVar:ChocEatGreen <- 1
  39315. 0x13A }
  39316. 0x13A Else
  39317. 0x13A {
  39318. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  39319. 0x13D {
  39320. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  39321. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  39322. 0x16C LocalVar:ChocEscape <- 1
  39323. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39324. 0x172 {
  39325. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  39326. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39327. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  39328. 0x1BF {
  39329. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  39330. 0x1CE }
  39331. 0x1CE Else
  39332. 0x1CE {
  39333. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  39334. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39335. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39336. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39337. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39338. 0x1FF }
  39339. 0x1FF Else
  39340. 0x1FF {
  39341. 0x202 LocalVar:ChocEscape <- 1
  39342. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39343. 0x208 {
  39344. 0x237 Display String: "Chocobo “Wark! Wark!”"
  39345. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39346. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  39347. 0x255 {
  39348. 0x25E Perform("Escape"[035B], EnemyAttack)
  39349. 0x264 }
  39350. 0x264 Else
  39351. 0x264 {
  39352. 0x267 Perform("Escape"[035A], EnemyAttack)
  39353. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39354. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39355. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39356. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39357. 0x295SCRIPT END
  39358.  
  39359.  
  39360. DEATH COUNTER:
  39361.  
  39362. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  39363. 0x00A If ( (LocalVar:ActorsHit < 8) )
  39364. 0x00A {
  39365. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  39366. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  39367. 0x022 {
  39368. 0x02F Display String: "Chocobo “Warrrrk!”"
  39369. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  39370. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  39371. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  39372. 0x05D LOOP 0x00A
  39373. 0x060 LocalVar:ChocEscape <- 1
  39374. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39375. 0x066 {
  39376. 0x095 Display String: "Chocobo “Wark! Wark!”"
  39377. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39378. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  39379. 0x0B3 {
  39380. 0x0BC Perform("Escape"[035B], EnemyAttack)
  39381. 0x0C2 }
  39382. 0x0C2 Else
  39383. 0x0C2 {
  39384. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  39385. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39386. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39387. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39388. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39389. 0x0F3 SCRIPT END
  39390.  
  39391.  
  39392.  
  39393.  
  39394. 342 - [156] Chocobo Lv 22 A
  39395.  
  39396.  
  39397. LocalVar:0000 = LocalVar:SylkisUsed
  39398. LocalVar:0020 = LocalVar:MimettUsed
  39399. LocalVar:0040 = LocalVar:ChocGreenCount
  39400. LocalVar:0060 = LocalVar:ChocRunChance
  39401. LocalVar:0080 = LocalVar:ActorsHit
  39402. LocalVar:00A0 = LocalVar:ChocEatGreen
  39403. LocalVar:00C0 = LocalVar:TakeTurn
  39404. LocalVar:00E0 = LocalVar:Chocobuckle
  39405. LocalVar:0100 = LocalVar:ChocGreensUsed
  39406. LocalVar:0120 = LocalVar:ChocEscape
  39407.  
  39408. GlobalVar(0054) = GlobalVar(CaughtChoc)
  39409.  
  39410. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  39411. BattleAddr(&2008) = BattleAddr(&LastAttID)
  39412. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  39413. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  39414. BattleAddr(&2060) = BattleAddr(&Self)
  39415. BattleAddr(&2070) = BattleAddr(&TarSelected)
  39416. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  39417.  
  39418. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  39419. BattleAddr(&4020) = BattleAddr(&SelfActive)
  39420. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  39421. BattleAddr(&4023) = BattleAddr(&Targetable)
  39422. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  39423. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  39424. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  39425. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  39426. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  39427. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  39428. BattleAddr(&4180) = BattleAddr(&MaxHP)
  39429. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  39430.  
  39431.  
  39432.  
  39433. PRE-BATTLE:
  39434.  
  39435. 0x000LocalVar:ChocRunChance <- 2
  39436. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  39437. 0x010SCRIPT END
  39438.  
  39439.  
  39440. MAIN:
  39441.  
  39442. 0x000 If ( (LocalVar:TakeTurn == 0) )
  39443. 0x000 {
  39444. 0x009 LocalVar:TakeTurn <- 1
  39445. 0x00F }
  39446. 0x00F Else
  39447. 0x00F {
  39448. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  39449. 0x012 {
  39450. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  39451. 0x01B {
  39452. 0x026 LocalVar:ChocEscape <- 1
  39453. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39454. 0x02C {
  39455. 0x05B Display String: "Chocobo “Wark! Wark!”"
  39456. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39457. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  39458. 0x079 {
  39459. 0x082 Perform("Escape"[035B], EnemyAttack)
  39460. 0x088 }
  39461. 0x088 Else
  39462. 0x088 {
  39463. 0x08B Perform("Escape"[035A], EnemyAttack)
  39464. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39465. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39466. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39467. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39468. 0x0B9 }
  39469. 0x0B9 Else
  39470. 0x0B9 {
  39471. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  39472. 0x0BC {
  39473. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39474. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  39475. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  39476. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  39477. 0x0E6 LocalVar:ChocEatGreen <- 0
  39478. 0x0EC }
  39479. 0x0EC Else
  39480. 0x0EC {
  39481. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  39482. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  39483. 0x0F9 {
  39484. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  39485. 0x118 Display String: "Caught a Chocobo."
  39486. 0x12B BattleAddr(&MemBank1/2) <- 1
  39487. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  39488. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  39489. 0x140SCRIPT END
  39490.  
  39491.  
  39492. GENERAL COUNTER:
  39493.  
  39494. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  39495. 0x000 {
  39496. 0x010 LocalVar:ChocGreensUsed <- 0
  39497. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  39498. 0x016 {
  39499. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  39500. 0x029 LocalVar:ChocGreensUsed <- 1
  39501. 0x02F LocalVar:Chocobuckle <- 1
  39502. 0x035 }
  39503. 0x035 Else
  39504. 0x035 {
  39505. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  39506. 0x038 {
  39507. 0x041 LocalVar:ChocGreenCount <- 8
  39508. 0x047 LocalVar:ChocRunChance <- 8
  39509. 0x04D LocalVar:ChocGreensUsed <- 1
  39510. 0x053 }
  39511. 0x053 Else
  39512. 0x053 {
  39513. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  39514. 0x056 {
  39515. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  39516. 0x069 LocalVar:Chocobuckle <- 1
  39517. 0x06F LocalVar:ChocGreensUsed <- 1
  39518. 0x075 }
  39519. 0x075 Else
  39520. 0x075 {
  39521. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  39522. 0x078 {
  39523. 0x081 LocalVar:ChocGreenCount <- 5
  39524. 0x087 LocalVar:ChocGreensUsed <- 1
  39525. 0x08D }
  39526. 0x08D Else
  39527. 0x08D {
  39528. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  39529. 0x090 {
  39530. 0x099 LocalVar:ChocRunChance <- 5
  39531. 0x09F LocalVar:ChocGreensUsed <- 1
  39532. 0x0A5 }
  39533. 0x0A5 Else
  39534. 0x0A5 {
  39535. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  39536. 0x0A8 {
  39537. 0x0B1 LocalVar:ChocGreenCount <- 3
  39538. 0x0B7 LocalVar:ChocGreensUsed <- 1
  39539. 0x0BD }
  39540. 0x0BD Else
  39541. 0x0BD {
  39542. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  39543. 0x0C0 {
  39544. 0x0C9 LocalVar:ChocRunChance <- 3
  39545. 0x0CF LocalVar:ChocGreensUsed <- 1
  39546. 0x0D5 }
  39547. 0x0D5 Else
  39548. 0x0D5 {
  39549. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  39550. 0x0D8 {
  39551. 0x0E1 LocalVar:ChocGreenCount <- 2
  39552. 0x0E7 LocalVar:ChocGreensUsed <- 1
  39553. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  39554. 0x0ED {
  39555. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  39556. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39557. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  39558. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  39559. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  39560. 0x134 LocalVar:ChocEatGreen <- 1
  39561. 0x13A }
  39562. 0x13A Else
  39563. 0x13A {
  39564. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  39565. 0x13D {
  39566. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  39567. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  39568. 0x16C LocalVar:ChocEscape <- 1
  39569. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39570. 0x172 {
  39571. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  39572. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39573. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  39574. 0x1BF {
  39575. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  39576. 0x1CE }
  39577. 0x1CE Else
  39578. 0x1CE {
  39579. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  39580. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39581. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39582. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39583. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39584. 0x1FF }
  39585. 0x1FF Else
  39586. 0x1FF {
  39587. 0x202 LocalVar:ChocEscape <- 1
  39588. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39589. 0x208 {
  39590. 0x237 Display String: "Chocobo “Wark! Wark!”"
  39591. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39592. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  39593. 0x255 {
  39594. 0x25E Perform("Escape"[035B], EnemyAttack)
  39595. 0x264 }
  39596. 0x264 Else
  39597. 0x264 {
  39598. 0x267 Perform("Escape"[035A], EnemyAttack)
  39599. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39600. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39601. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39602. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39603. 0x295SCRIPT END
  39604.  
  39605.  
  39606. DEATH COUNTER:
  39607.  
  39608. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  39609. 0x00A If ( (LocalVar:ActorsHit < 8) )
  39610. 0x00A {
  39611. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  39612. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  39613. 0x022 {
  39614. 0x02F Display String: "Chocobo “Warrrrk!”"
  39615. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  39616. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  39617. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  39618. 0x05D LOOP 0x00A
  39619. 0x060 LocalVar:ChocEscape <- 1
  39620. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39621. 0x066 {
  39622. 0x095 Display String: "Chocobo “Wark! Wark!”"
  39623. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39624. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  39625. 0x0B3 {
  39626. 0x0BC Perform("Escape"[035B], EnemyAttack)
  39627. 0x0C2 }
  39628. 0x0C2 Else
  39629. 0x0C2 {
  39630. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  39631. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39632. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39633. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39634. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39635. 0x0F3 SCRIPT END
  39636.  
  39637.  
  39638.  
  39639.  
  39640. 343 - [157] Chocobo (Lv 22 B)
  39641.  
  39642.  
  39643. LocalVar:0000 = LocalVar:SylkisUsed
  39644. LocalVar:0020 = LocalVar:MimettUsed
  39645. LocalVar:0040 = LocalVar:ChocGreenCount
  39646. LocalVar:0060 = LocalVar:ChocRunChance
  39647. LocalVar:0080 = LocalVar:ActorsHit
  39648. LocalVar:00A0 = LocalVar:ChocEatGreen
  39649. LocalVar:00C0 = LocalVar:TakeTurn
  39650. LocalVar:00E0 = LocalVar:Chocobuckle
  39651. LocalVar:0100 = LocalVar:ChocGreensUsed
  39652. LocalVar:0120 = LocalVar:ChocEscape
  39653.  
  39654. GlobalVar(0054) = GlobalVar(CaughtChoc)
  39655.  
  39656. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  39657. BattleAddr(&2008) = BattleAddr(&LastAttID)
  39658. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  39659. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  39660. BattleAddr(&2060) = BattleAddr(&Self)
  39661. BattleAddr(&2070) = BattleAddr(&TarSelected)
  39662. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  39663.  
  39664. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  39665. BattleAddr(&4020) = BattleAddr(&SelfActive)
  39666. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  39667. BattleAddr(&4023) = BattleAddr(&Targetable)
  39668. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  39669. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  39670. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  39671. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  39672. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  39673. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  39674. BattleAddr(&4180) = BattleAddr(&MaxHP)
  39675. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  39676.  
  39677.  
  39678.  
  39679. PRE-BATTLE:
  39680.  
  39681. 0x000LocalVar:ChocRunChance <- 2
  39682. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  39683. 0x010SCRIPT END
  39684.  
  39685.  
  39686. MAIN:
  39687.  
  39688. 0x000 If ( (LocalVar:TakeTurn == 0) )
  39689. 0x000 {
  39690. 0x009 LocalVar:TakeTurn <- 1
  39691. 0x00F }
  39692. 0x00F Else
  39693. 0x00F {
  39694. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  39695. 0x012 {
  39696. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  39697. 0x01B {
  39698. 0x026 LocalVar:ChocEscape <- 1
  39699. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39700. 0x02C {
  39701. 0x05B Display String: "Chocobo “Wark! Wark!”"
  39702. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39703. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  39704. 0x079 {
  39705. 0x082 Perform("Escape"[035B], EnemyAttack)
  39706. 0x088 }
  39707. 0x088 Else
  39708. 0x088 {
  39709. 0x08B Perform("Escape"[035A], EnemyAttack)
  39710. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39711. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39712. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39713. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39714. 0x0B9 }
  39715. 0x0B9 Else
  39716. 0x0B9 {
  39717. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  39718. 0x0BC {
  39719. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39720. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  39721. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  39722. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  39723. 0x0E6 LocalVar:ChocEatGreen <- 0
  39724. 0x0EC }
  39725. 0x0EC Else
  39726. 0x0EC {
  39727. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  39728. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  39729. 0x0F9 {
  39730. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  39731. 0x118 Display String: "Caught a Chocobo."
  39732. 0x12B BattleAddr(&MemBank1/2) <- 1
  39733. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  39734. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  39735. 0x140SCRIPT END
  39736.  
  39737. GENERAL COUNTER:
  39738.  
  39739. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  39740. 0x000 {
  39741. 0x010 LocalVar:ChocGreensUsed <- 0
  39742. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  39743. 0x016 {
  39744. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  39745. 0x029 LocalVar:ChocGreensUsed <- 1
  39746. 0x02F LocalVar:Chocobuckle <- 1
  39747. 0x035 }
  39748. 0x035 Else
  39749. 0x035 {
  39750. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  39751. 0x038 {
  39752. 0x041 LocalVar:ChocGreenCount <- 8
  39753. 0x047 LocalVar:ChocRunChance <- 8
  39754. 0x04D LocalVar:ChocGreensUsed <- 1
  39755. 0x053 }
  39756. 0x053 Else
  39757. 0x053 {
  39758. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  39759. 0x056 {
  39760. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  39761. 0x069 LocalVar:Chocobuckle <- 1
  39762. 0x06F LocalVar:ChocGreensUsed <- 1
  39763. 0x075 }
  39764. 0x075 Else
  39765. 0x075 {
  39766. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  39767. 0x078 {
  39768. 0x081 LocalVar:ChocGreenCount <- 5
  39769. 0x087 LocalVar:ChocGreensUsed <- 1
  39770. 0x08D }
  39771. 0x08D Else
  39772. 0x08D {
  39773. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  39774. 0x090 {
  39775. 0x099 LocalVar:ChocRunChance <- 5
  39776. 0x09F LocalVar:ChocGreensUsed <- 1
  39777. 0x0A5 }
  39778. 0x0A5 Else
  39779. 0x0A5 {
  39780. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  39781. 0x0A8 {
  39782. 0x0B1 LocalVar:ChocGreenCount <- 3
  39783. 0x0B7 LocalVar:ChocGreensUsed <- 1
  39784. 0x0BD }
  39785. 0x0BD Else
  39786. 0x0BD {
  39787. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  39788. 0x0C0 {
  39789. 0x0C9 LocalVar:ChocRunChance <- 3
  39790. 0x0CF LocalVar:ChocGreensUsed <- 1
  39791. 0x0D5 }
  39792. 0x0D5 Else
  39793. 0x0D5 {
  39794. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  39795. 0x0D8 {
  39796. 0x0E1 LocalVar:ChocGreenCount <- 2
  39797. 0x0E7 LocalVar:ChocGreensUsed <- 1
  39798. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  39799. 0x0ED {
  39800. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  39801. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39802. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  39803. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  39804. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  39805. 0x134 LocalVar:ChocEatGreen <- 1
  39806. 0x13A }
  39807. 0x13A Else
  39808. 0x13A {
  39809. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  39810. 0x13D {
  39811. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  39812. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  39813. 0x16C LocalVar:ChocEscape <- 1
  39814. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39815. 0x172 {
  39816. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  39817. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39818. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  39819. 0x1BF {
  39820. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  39821. 0x1CE }
  39822. 0x1CE Else
  39823. 0x1CE {
  39824. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  39825. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39826. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39827. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39828. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39829. 0x1FF }
  39830. 0x1FF Else
  39831. 0x1FF {
  39832. 0x202 LocalVar:ChocEscape <- 1
  39833. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39834. 0x208 {
  39835. 0x237 Display String: "Chocobo “Wark! Wark!”"
  39836. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39837. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  39838. 0x255 {
  39839. 0x25E Perform("Escape"[035B], EnemyAttack)
  39840. 0x264 }
  39841. 0x264 Else
  39842. 0x264 {
  39843. 0x267 Perform("Escape"[035A], EnemyAttack)
  39844. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39845. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39846. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39847. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39848. 0x295SCRIPT END
  39849.  
  39850.  
  39851. DEATH COUNTER:
  39852.  
  39853. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  39854. 0x00A If ( (LocalVar:ActorsHit < 8) )
  39855. 0x00A {
  39856. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  39857. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  39858. 0x022 {
  39859. 0x02F Display String: "Chocobo “Warrrrk!”"
  39860. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  39861. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  39862. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  39863. 0x05D LOOP 0x00A
  39864. 0x060 LocalVar:ChocEscape <- 1
  39865. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39866. 0x066 {
  39867. 0x095 Display String: "Chocobo “Wark! Wark!”"
  39868. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39869. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  39870. 0x0B3 {
  39871. 0x0BC Perform("Escape"[035B], EnemyAttack)
  39872. 0x0C2 }
  39873. 0x0C2 Else
  39874. 0x0C2 {
  39875. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  39876. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39877. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39878. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39879. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  39880. 0x0F3 SCRIPT END
  39881.  
  39882.  
  39883.  
  39884.  
  39885. 344 - [158] Chocobo (Lv 29)
  39886.  
  39887.  
  39888. LocalVar:0000 = LocalVar:SylkisUsed
  39889. LocalVar:0020 = LocalVar:MimettUsed
  39890. LocalVar:0040 = LocalVar:ChocGreenCount
  39891. LocalVar:0060 = LocalVar:ChocRunChance
  39892. LocalVar:0080 = LocalVar:ActorsHit
  39893. LocalVar:00A0 = LocalVar:ChocEatGreen
  39894. LocalVar:00C0 = LocalVar:TakeTurn
  39895. LocalVar:00E0 = LocalVar:Chocobuckle
  39896. LocalVar:0100 = LocalVar:ChocGreensUsed
  39897. LocalVar:0120 = LocalVar:ChocEscape
  39898.  
  39899. GlobalVar(0054) = GlobalVar(CaughtChoc)
  39900.  
  39901. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  39902. BattleAddr(&2008) = BattleAddr(&LastAttID)
  39903. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  39904. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  39905. BattleAddr(&2060) = BattleAddr(&Self)
  39906. BattleAddr(&2070) = BattleAddr(&TarSelected)
  39907. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  39908.  
  39909. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  39910. BattleAddr(&4020) = BattleAddr(&SelfActive)
  39911. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  39912. BattleAddr(&4023) = BattleAddr(&Targetable)
  39913. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  39914. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  39915. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  39916. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  39917. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  39918. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  39919. BattleAddr(&4180) = BattleAddr(&MaxHP)
  39920. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  39921.  
  39922.  
  39923.  
  39924. PRE-BATTLE:
  39925.  
  39926. 0x000LocalVar:ChocRunChance <- 2
  39927. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  39928. 0x010SCRIPT END
  39929.  
  39930. MAIN:
  39931.  
  39932. 0x000 If ( (LocalVar:TakeTurn == 0) )
  39933. 0x000 {
  39934. 0x009 LocalVar:TakeTurn <- 1
  39935. 0x00F }
  39936. 0x00F Else
  39937. 0x00F {
  39938. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  39939. 0x012 {
  39940. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  39941. 0x01B {
  39942. 0x026 LocalVar:ChocEscape <- 1
  39943. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  39944. 0x02C {
  39945. 0x05B Display String: "Chocobo “Wark! Wark!”"
  39946. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39947. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  39948. 0x079 {
  39949. 0x082 Perform("Escape"[035B], EnemyAttack)
  39950. 0x088 }
  39951. 0x088 Else
  39952. 0x088 {
  39953. 0x08B Perform("Escape"[035A], EnemyAttack)
  39954. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  39955. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  39956. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  39957. 0x0AF BattleAddr(&Self).BattleAddr(&TargetableAIScriptActive) <- 0
  39958. 0x0B9 }
  39959. 0x0B9 Else
  39960. 0x0B9 {
  39961. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  39962. 0x0BC {
  39963. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  39964. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  39965. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  39966. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  39967. 0x0E6 LocalVar:ChocEatGreen <- 0
  39968. 0x0EC }
  39969. 0x0EC Else
  39970. 0x0EC {
  39971. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  39972. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  39973. 0x0F9 {
  39974. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  39975. 0x118 Display String: "Caught a Chocobo."
  39976. 0x12B BattleAddr(&MemBank1/2) <- 1
  39977. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  39978. 0x136 BattleAddr(&AllEnemies).BattleAddr(&TargetableAIScriptActive) <- 0
  39979. 0x140SCRIPT END
  39980.  
  39981.  
  39982. GENERAL COUNTER:
  39983.  
  39984. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  39985. 0x000 {
  39986. 0x010 LocalVar:ChocGreensUsed <- 0
  39987. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  39988. 0x016 {
  39989. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  39990. 0x029 LocalVar:ChocGreensUsed <- 1
  39991. 0x02F LocalVar:Chocobuckle <- 1
  39992. 0x035 }
  39993. 0x035 Else
  39994. 0x035 {
  39995. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  39996. 0x038 {
  39997. 0x041 LocalVar:ChocGreenCount <- 8
  39998. 0x047 LocalVar:ChocRunChance <- 8
  39999. 0x04D LocalVar:ChocGreensUsed <- 1
  40000. 0x053 }
  40001. 0x053 Else
  40002. 0x053 {
  40003. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  40004. 0x056 {
  40005. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  40006. 0x069 LocalVar:Chocobuckle <- 1
  40007. 0x06F LocalVar:ChocGreensUsed <- 1
  40008. 0x075 }
  40009. 0x075 Else
  40010. 0x075 {
  40011. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  40012. 0x078 {
  40013. 0x081 LocalVar:ChocGreenCount <- 5
  40014. 0x087 LocalVar:ChocGreensUsed <- 1
  40015. 0x08D }
  40016. 0x08D Else
  40017. 0x08D {
  40018. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  40019. 0x090 {
  40020. 0x099 LocalVar:ChocRunChance <- 5
  40021. 0x09F LocalVar:ChocGreensUsed <- 1
  40022. 0x0A5 }
  40023. 0x0A5 Else
  40024. 0x0A5 {
  40025. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  40026. 0x0A8 {
  40027. 0x0B1 LocalVar:ChocGreenCount <- 3
  40028. 0x0B7 LocalVar:ChocGreensUsed <- 1
  40029. 0x0BD }
  40030. 0x0BD Else
  40031. 0x0BD {
  40032. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  40033. 0x0C0 {
  40034. 0x0C9 LocalVar:ChocRunChance <- 3
  40035. 0x0CF LocalVar:ChocGreensUsed <- 1
  40036. 0x0D5 }
  40037. 0x0D5 Else
  40038. 0x0D5 {
  40039. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  40040. 0x0D8 {
  40041. 0x0E1 LocalVar:ChocGreenCount <- 2
  40042. 0x0E7 LocalVar:ChocGreensUsed <- 1
  40043. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  40044. 0x0ED {
  40045. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  40046. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40047. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  40048. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  40049. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  40050. 0x134 LocalVar:ChocEatGreen <- 1
  40051. 0x13A }
  40052. 0x13A Else
  40053. 0x13A {
  40054. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  40055. 0x13D {
  40056. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  40057. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  40058. 0x16C LocalVar:ChocEscape <- 1
  40059. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40060. 0x172 {
  40061. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  40062. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40063. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  40064. 0x1BF {
  40065. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  40066. 0x1CE }
  40067. 0x1CE Else
  40068. 0x1CE {
  40069. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  40070. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40071. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40072. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40073. 0x1F5 BattleAddr(&Self).BattleAddr(&TargetableAIScriptActive) <- 0
  40074. 0x1FF }
  40075. 0x1FF Else
  40076. 0x1FF {
  40077. 0x202 LocalVar:ChocEscape <- 1
  40078. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40079. 0x208 {
  40080. 0x237 Display String: "Chocobo “Wark! Wark!”"
  40081. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40082. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  40083. 0x255 {
  40084. 0x25E Perform("Escape"[035B], EnemyAttack)
  40085. 0x264 }
  40086. 0x264 Else
  40087. 0x264 {
  40088. 0x267 Perform("Escape"[035A], EnemyAttack)
  40089. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40090. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40091. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40092. 0x28B BattleAddr(&Self).BattleAddr(&TargetableAIScriptActive) <- 0
  40093. 0x295SCRIPT END
  40094.  
  40095.  
  40096. DEATH COUNTER:
  40097.  
  40098. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  40099. 0x00A If ( (LocalVar:ActorsHit < 8) )
  40100. 0x00A {
  40101. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  40102. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  40103. 0x022 {
  40104. 0x02F Display String: "Chocobo “Warrrrk!”"
  40105. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  40106. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  40107. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  40108. 0x05D LOOP 0x00A
  40109. 0x060 LocalVar:ChocEscape <- 1
  40110. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40111. 0x066 {
  40112. 0x095 Display String: "Chocobo “Wark! Wark!”"
  40113. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40114. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  40115. 0x0B3 {
  40116. 0x0BC Perform("Escape"[035B], EnemyAttack)
  40117. 0x0C2 }
  40118. 0x0C2 Else
  40119. 0x0C2 {
  40120. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  40121. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40122. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40123. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40124. 0x0E9 BattleAddr(&Self).BattleAddr(&TargetableAIScriptActive) <- 0
  40125. 0x0F3 SCRIPT END
  40126.  
  40127.  
  40128.  
  40129.  
  40130. 345 - [159] Blank
  40131.  
  40132.  
  40133.  
  40134.  
  40135. 346 - [15A] Blank
  40136.  
  40137.  
  40138.  
  40139.  
  40140. 347 - [15B] Chocobo Lv 30
  40141.  
  40142.  
  40143. LocalVar:0000 = LocalVar:SylkisUsed
  40144. LocalVar:0020 = LocalVar:MimettUsed
  40145. LocalVar:0040 = LocalVar:ChocGreenCount
  40146. LocalVar:0060 = LocalVar:ChocRunChance
  40147. LocalVar:0080 = LocalVar:ActorsHit
  40148. LocalVar:00A0 = LocalVar:ChocEatGreen
  40149. LocalVar:00C0 = LocalVar:TakeTurn
  40150. LocalVar:00E0 = LocalVar:Chocobuckle
  40151. LocalVar:0100 = LocalVar:ChocGreensUsed
  40152. LocalVar:0120 = LocalVar:ChocEscape
  40153.  
  40154. GlobalVar(0054) = GlobalVar(CaughtChoc)
  40155.  
  40156. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  40157. BattleAddr(&2008) = BattleAddr(&LastAttID)
  40158. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  40159. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  40160. BattleAddr(&2060) = BattleAddr(&Self)
  40161. BattleAddr(&2070) = BattleAddr(&TarSelected)
  40162. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  40163.  
  40164. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  40165. BattleAddr(&4020) = BattleAddr(&SelfActive)
  40166. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  40167. BattleAddr(&4023) = BattleAddr(&Targetable)
  40168. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  40169. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  40170. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  40171. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  40172. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  40173. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  40174. BattleAddr(&4180) = BattleAddr(&MaxHP)
  40175. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  40176.  
  40177.  
  40178.  
  40179. PRE-BATTLE:
  40180.  
  40181. 0x000LocalVar:ChocRunChance <- 2
  40182. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  40183. 0x010SCRIPT END
  40184.  
  40185.  
  40186. MAIN:
  40187.  
  40188. 0x000 If ( (LocalVar:TakeTurn == 0) )
  40189. 0x000 {
  40190. 0x009 LocalVar:TakeTurn <- 1
  40191. 0x00F }
  40192. 0x00F Else
  40193. 0x00F {
  40194. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  40195. 0x012 {
  40196. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  40197. 0x01B {
  40198. 0x026 LocalVar:ChocEscape <- 1
  40199. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40200. 0x02C {
  40201. 0x05B Display String: "Chocobo “Wark! Wark!”"
  40202. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40203. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  40204. 0x079 {
  40205. 0x082 Perform("Escape"[035B], EnemyAttack)
  40206. 0x088 }
  40207. 0x088 Else
  40208. 0x088 {
  40209. 0x08B Perform("Escape"[035A], EnemyAttack)
  40210. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40211. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40212. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40213. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40214. 0x0B9 }
  40215. 0x0B9 Else
  40216. 0x0B9 {
  40217. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  40218. 0x0BC {
  40219. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40220. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  40221. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  40222. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  40223. 0x0E6 LocalVar:ChocEatGreen <- 0
  40224. 0x0EC }
  40225. 0x0EC Else
  40226. 0x0EC {
  40227. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  40228. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  40229. 0x0F9 {
  40230. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  40231. 0x118 Display String: "Caught a Chocobo."
  40232. 0x12B BattleAddr(&MemBank1/2) <- 1
  40233. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  40234. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  40235. 0x140SCRIPT END
  40236.  
  40237.  
  40238. GENERAL COUNTER:
  40239.  
  40240. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  40241. 0x000 {
  40242. 0x010 LocalVar:ChocGreensUsed <- 0
  40243. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  40244. 0x016 {
  40245. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  40246. 0x029 LocalVar:ChocGreensUsed <- 1
  40247. 0x02F LocalVar:Chocobuckle <- 1
  40248. 0x035 }
  40249. 0x035 Else
  40250. 0x035 {
  40251. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  40252. 0x038 {
  40253. 0x041 LocalVar:ChocGreenCount <- 8
  40254. 0x047 LocalVar:ChocRunChance <- 8
  40255. 0x04D LocalVar:ChocGreensUsed <- 1
  40256. 0x053 }
  40257. 0x053 Else
  40258. 0x053 {
  40259. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  40260. 0x056 {
  40261. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  40262. 0x069 LocalVar:Chocobuckle <- 1
  40263. 0x06F LocalVar:ChocGreensUsed <- 1
  40264. 0x075 }
  40265. 0x075 Else
  40266. 0x075 {
  40267. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  40268. 0x078 {
  40269. 0x081 LocalVar:ChocGreenCount <- 5
  40270. 0x087 LocalVar:ChocGreensUsed <- 1
  40271. 0x08D }
  40272. 0x08D Else
  40273. 0x08D {
  40274. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  40275. 0x090 {
  40276. 0x099 LocalVar:ChocRunChance <- 5
  40277. 0x09F LocalVar:ChocGreensUsed <- 1
  40278. 0x0A5 }
  40279. 0x0A5 Else
  40280. 0x0A5 {
  40281. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  40282. 0x0A8 {
  40283. 0x0B1 LocalVar:ChocGreenCount <- 3
  40284. 0x0B7 LocalVar:ChocGreensUsed <- 1
  40285. 0x0BD }
  40286. 0x0BD Else
  40287. 0x0BD {
  40288. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  40289. 0x0C0 {
  40290. 0x0C9 LocalVar:ChocRunChance <- 3
  40291. 0x0CF LocalVar:ChocGreensUsed <- 1
  40292. 0x0D5 }
  40293. 0x0D5 Else
  40294. 0x0D5 {
  40295. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  40296. 0x0D8 {
  40297. 0x0E1 LocalVar:ChocGreenCount <- 2
  40298. 0x0E7 LocalVar:ChocGreensUsed <- 1
  40299. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  40300. 0x0ED {
  40301. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  40302. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40303. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  40304. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  40305. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  40306. 0x134 LocalVar:ChocEatGreen <- 1
  40307. 0x13A }
  40308. 0x13A Else
  40309. 0x13A {
  40310. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  40311. 0x13D {
  40312. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  40313. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  40314. 0x16C LocalVar:ChocEscape <- 1
  40315. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40316. 0x172 {
  40317. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  40318. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40319. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  40320. 0x1BF {
  40321. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  40322. 0x1CE }
  40323. 0x1CE Else
  40324. 0x1CE {
  40325. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  40326. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40327. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40328. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40329. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40330. 0x1FF }
  40331. 0x1FF Else
  40332. 0x1FF {
  40333. 0x202 LocalVar:ChocEscape <- 1
  40334. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40335. 0x208 {
  40336. 0x237 Display String: "Chocobo “Wark! Wark!”"
  40337. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40338. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  40339. 0x255 {
  40340. 0x25E Perform("Escape"[035B], EnemyAttack)
  40341. 0x264 }
  40342. 0x264 Else
  40343. 0x264 {
  40344. 0x267 Perform("Escape"[035A], EnemyAttack)
  40345. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40346. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40347. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40348. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40349. 0x295SCRIPT END
  40350.  
  40351.  
  40352. DEATH COUNTER:
  40353.  
  40354. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  40355. 0x00A If ( (LocalVar:ActorsHit < 8) )
  40356. 0x00A {
  40357. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  40358. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  40359. 0x022 {
  40360. 0x02F Display String: "Chocobo “Warrrrk!”"
  40361. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  40362. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  40363. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  40364. 0x05D LOOP 0x00A
  40365. 0x060 LocalVar:ChocEscape <- 1
  40366. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40367. 0x066 {
  40368. 0x095 Display String: "Chocobo “Wark! Wark!”"
  40369. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40370. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  40371. 0x0B3 {
  40372. 0x0BC Perform("Escape"[035B], EnemyAttack)
  40373. 0x0C2 }
  40374. 0x0C2 Else
  40375. 0x0C2 {
  40376. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  40377. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40378. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40379. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40380. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40381. 0x0F3 SCRIPT END
  40382.  
  40383.  
  40384.  
  40385.  
  40386. 348 - [15C] Blank
  40387.  
  40388.  
  40389.  
  40390.  
  40391. 349 - [15D] Chocobo Lv 33
  40392.  
  40393.  
  40394. LocalVar:0000 = LocalVar:SylkisUsed
  40395. LocalVar:0020 = LocalVar:MimettUsed
  40396. LocalVar:0040 = LocalVar:ChocGreenCount
  40397. LocalVar:0060 = LocalVar:ChocRunChance
  40398. LocalVar:0080 = LocalVar:ActorsHit
  40399. LocalVar:00A0 = LocalVar:ChocEatGreen
  40400. LocalVar:00C0 = LocalVar:TakeTurn
  40401. LocalVar:00E0 = LocalVar:Chocobuckle
  40402. LocalVar:0100 = LocalVar:ChocGreensUsed
  40403. LocalVar:0120 = LocalVar:ChocEscape
  40404.  
  40405. GlobalVar(0054) = GlobalVar(CaughtChoc)
  40406.  
  40407. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  40408. BattleAddr(&2008) = BattleAddr(&LastAttID)
  40409. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  40410. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  40411. BattleAddr(&2060) = BattleAddr(&Self)
  40412. BattleAddr(&2070) = BattleAddr(&TarSelected)
  40413. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  40414.  
  40415. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  40416. BattleAddr(&4020) = BattleAddr(&SelfActive)
  40417. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  40418. BattleAddr(&4023) = BattleAddr(&Targetable)
  40419. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  40420. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  40421. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  40422. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  40423. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  40424. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  40425. BattleAddr(&4180) = BattleAddr(&MaxHP)
  40426. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  40427.  
  40428.  
  40429.  
  40430. PRE-BATTLE:
  40431.  
  40432. 0x000LocalVar:ChocRunChance <- 2
  40433. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  40434. 0x010SCRIPT END
  40435.  
  40436.  
  40437. MAIN:
  40438.  
  40439. 0x000 If ( (LocalVar:TakeTurn == 0) )
  40440. 0x000 {
  40441. 0x009 LocalVar:TakeTurn <- 1
  40442. 0x00F }
  40443. 0x00F Else
  40444. 0x00F {
  40445. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  40446. 0x012 {
  40447. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  40448. 0x01B {
  40449. 0x026 LocalVar:ChocEscape <- 1
  40450. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40451. 0x02C {
  40452. 0x05B Display String: "Chocobo “Wark! Wark!”"
  40453. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40454. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  40455. 0x079 {
  40456. 0x082 Perform("Escape"[035B], EnemyAttack)
  40457. 0x088 }
  40458. 0x088 Else
  40459. 0x088 {
  40460. 0x08B Perform("Escape"[035A], EnemyAttack)
  40461. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40462. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40463. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40464. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40465. 0x0B9 }
  40466. 0x0B9 Else
  40467. 0x0B9 {
  40468. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  40469. 0x0BC {
  40470. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40471. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  40472. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  40473. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  40474. 0x0E6 LocalVar:ChocEatGreen <- 0
  40475. 0x0EC }
  40476. 0x0EC Else
  40477. 0x0EC {
  40478. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  40479. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  40480. 0x0F9 {
  40481. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  40482. 0x118 Display String: "Caught a Chocobo."
  40483. 0x12B BattleAddr(&MemBank1/2) <- 1
  40484. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  40485. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  40486. 0x140SCRIPT END
  40487.  
  40488.  
  40489. GENERAL COUNTER:
  40490.  
  40491. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  40492. 0x000 {
  40493. 0x010 LocalVar:ChocGreensUsed <- 0
  40494. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  40495. 0x016 {
  40496. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  40497. 0x029 LocalVar:ChocGreensUsed <- 1
  40498. 0x02F LocalVar:Chocobuckle <- 1
  40499. 0x035 }
  40500. 0x035 Else
  40501. 0x035 {
  40502. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  40503. 0x038 {
  40504. 0x041 LocalVar:ChocGreenCount <- 8
  40505. 0x047 LocalVar:ChocRunChance <- 8
  40506. 0x04D LocalVar:ChocGreensUsed <- 1
  40507. 0x053 }
  40508. 0x053 Else
  40509. 0x053 {
  40510. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  40511. 0x056 {
  40512. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  40513. 0x069 LocalVar:Chocobuckle <- 1
  40514. 0x06F LocalVar:ChocGreensUsed <- 1
  40515. 0x075 }
  40516. 0x075 Else
  40517. 0x075 {
  40518. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  40519. 0x078 {
  40520. 0x081 LocalVar:ChocGreenCount <- 5
  40521. 0x087 LocalVar:ChocGreensUsed <- 1
  40522. 0x08D }
  40523. 0x08D Else
  40524. 0x08D {
  40525. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  40526. 0x090 {
  40527. 0x099 LocalVar:ChocRunChance <- 5
  40528. 0x09F LocalVar:ChocGreensUsed <- 1
  40529. 0x0A5 }
  40530. 0x0A5 Else
  40531. 0x0A5 {
  40532. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  40533. 0x0A8 {
  40534. 0x0B1 LocalVar:ChocGreenCount <- 3
  40535. 0x0B7 LocalVar:ChocGreensUsed <- 1
  40536. 0x0BD }
  40537. 0x0BD Else
  40538. 0x0BD {
  40539. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  40540. 0x0C0 {
  40541. 0x0C9 LocalVar:ChocRunChance <- 3
  40542. 0x0CF LocalVar:ChocGreensUsed <- 1
  40543. 0x0D5 }
  40544. 0x0D5 Else
  40545. 0x0D5 {
  40546. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  40547. 0x0D8 {
  40548. 0x0E1 LocalVar:ChocGreenCount <- 2
  40549. 0x0E7 LocalVar:ChocGreensUsed <- 1
  40550. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  40551. 0x0ED {
  40552. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  40553. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40554. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  40555. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  40556. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  40557. 0x134 LocalVar:ChocEatGreen <- 1
  40558. 0x13A }
  40559. 0x13A Else
  40560. 0x13A {
  40561. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  40562. 0x13D {
  40563. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  40564. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  40565. 0x16C LocalVar:ChocEscape <- 1
  40566. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40567. 0x172 {
  40568. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  40569. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40570. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  40571. 0x1BF {
  40572. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  40573. 0x1CE }
  40574. 0x1CE Else
  40575. 0x1CE {
  40576. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  40577. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40578. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40579. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40580. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40581. 0x1FF }
  40582. 0x1FF Else
  40583. 0x1FF {
  40584. 0x202 LocalVar:ChocEscape <- 1
  40585. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40586. 0x208 {
  40587. 0x237 Display String: "Chocobo “Wark! Wark!”"
  40588. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40589. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  40590. 0x255 {
  40591. 0x25E Perform("Escape"[035B], EnemyAttack)
  40592. 0x264 }
  40593. 0x264 Else
  40594. 0x264 {
  40595. 0x267 Perform("Escape"[035A], EnemyAttack)
  40596. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40597. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40598. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40599. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40600. 0x295SCRIPT END
  40601.  
  40602.  
  40603. DEATH COUNTER:
  40604.  
  40605. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  40606. 0x00A If ( (LocalVar:ActorsHit < 8) )
  40607. 0x00A {
  40608. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  40609. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  40610. 0x022 {
  40611. 0x02F Display String: "Chocobo “Warrrrk!”"
  40612. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  40613. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  40614. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  40615. 0x05D LOOP 0x00A
  40616. 0x060 LocalVar:ChocEscape <- 1
  40617. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40618. 0x066 {
  40619. 0x095 Display String: "Chocobo “Wark! Wark!”"
  40620. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40621. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  40622. 0x0B3 {
  40623. 0x0BC Perform("Escape"[035B], EnemyAttack)
  40624. 0x0C2 }
  40625. 0x0C2 Else
  40626. 0x0C2 {
  40627. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  40628. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40629. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40630. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40631. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40632. 0x0F3 SCRIPT END
  40633.  
  40634.  
  40635.  
  40636.  
  40637. 350 - [15E] Chocobo Lv 36
  40638.  
  40639.  
  40640. LocalVar:0000 = LocalVar:SylkisUsed
  40641. LocalVar:0020 = LocalVar:MimettUsed
  40642. LocalVar:0040 = LocalVar:ChocGreenCount
  40643. LocalVar:0060 = LocalVar:ChocRunChance
  40644. LocalVar:0080 = LocalVar:ActorsHit
  40645. LocalVar:00A0 = LocalVar:ChocEatGreen
  40646. LocalVar:00C0 = LocalVar:TakeTurn
  40647. LocalVar:00E0 = LocalVar:Chocobuckle
  40648. LocalVar:0100 = LocalVar:ChocGreensUsed
  40649. LocalVar:0120 = LocalVar:ChocEscape
  40650.  
  40651. GlobalVar(0054) = GlobalVar(CaughtChoc)
  40652.  
  40653. BattleAddr(&2000) = BattleAddr(&LastCommndID)
  40654. BattleAddr(&2008) = BattleAddr(&LastAttID)
  40655. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  40656. BattleAddr(&2050) = BattleAddr(&ActiveActors)
  40657. BattleAddr(&2060) = BattleAddr(&Self)
  40658. BattleAddr(&2070) = BattleAddr(&TarSelected)
  40659. BattleAddr(&2080) = BattleAddr(&AllEnemies)
  40660.  
  40661. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  40662. BattleAddr(&4020) = BattleAddr(&SelfActive)
  40663. BattleAddr(&4022) = BattleAddr(&Needed2EndBattle)
  40664. BattleAddr(&4023) = BattleAddr(&Targetable)
  40665. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  40666. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  40667. BattleAddr(&4080) = BattleAddr(&IdleAnimID)
  40668. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  40669. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  40670. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  40671. BattleAddr(&4180) = BattleAddr(&MaxHP)
  40672. BattleAddr(&4200) = BattleAddr(&SpclAttFlag)
  40673.  
  40674.  
  40675.  
  40676. PRE-BATTLE:
  40677.  
  40678. 0x000LocalVar:ChocRunChance <- 2
  40679. 0x006BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  40680. 0x010SCRIPT END
  40681.  
  40682.  
  40683. MAIN:
  40684.  
  40685. 0x000 If ( (LocalVar:TakeTurn == 0) )
  40686. 0x000 {
  40687. 0x009 LocalVar:TakeTurn <- 1
  40688. 0x00F }
  40689. 0x00F Else
  40690. 0x00F {
  40691. 0x012 If ( (LocalVar:ChocEatGreen == 0) )
  40692. 0x012 {
  40693. 0x01B If ( (Random MOD LocalVar:ChocRunChance == 0) )
  40694. 0x01B {
  40695. 0x026 LocalVar:ChocEscape <- 1
  40696. 0x02C If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40697. 0x02C {
  40698. 0x05B Display String: "Chocobo “Wark! Wark!”"
  40699. 0x072 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40700. 0x079 If ( (LocalVar:ChocEatGreen == 1) )
  40701. 0x079 {
  40702. 0x082 Perform("Escape"[035B], EnemyAttack)
  40703. 0x088 }
  40704. 0x088 Else
  40705. 0x088 {
  40706. 0x08B Perform("Escape"[035A], EnemyAttack)
  40707. 0x091 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40708. 0x09B BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40709. 0x0A5 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40710. 0x0AF BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40711. 0x0B9 }
  40712. 0x0B9 Else
  40713. 0x0B9 {
  40714. 0x0BC If ( (LocalVar:ChocGreenCount == 0) )
  40715. 0x0BC {
  40716. 0x0C5 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40717. 0x0CC Perform("Finished Bait"[035D], EnemyAttack)
  40718. 0x0D2 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 0
  40719. 0x0DC BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 1
  40720. 0x0E6 LocalVar:ChocEatGreen <- 0
  40721. 0x0EC }
  40722. 0x0EC Else
  40723. 0x0EC {
  40724. 0x0EF LocalVar:ChocGreenCount <- LocalVar:ChocGreenCount - 1
  40725. 0x0F9 If ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) )
  40726. 0x0F9 {
  40727. 0x10E BattleAddr(&AllEnemies).BattleAddr(&Targetable) <- 0
  40728. 0x118 Display String: "Caught a Chocobo."
  40729. 0x12B BattleAddr(&MemBank1/2) <- 1
  40730. 0x131 GlobalVar(CaughtChoc) <- &TempGlobal)
  40731. 0x136 BattleAddr(&AllEnemies).BattleAddr(&AIScriptActive) <- 0
  40732. 0x140SCRIPT END
  40733.  
  40734.  
  40735. GENERAL COUNTER:
  40736.  
  40737. 0x000 If ( ( (BattleAddr(&LastCommndID) == 4) Or (BattleAddr(&LastCommndID) == 23) ) )
  40738. 0x000 {
  40739. 0x010 LocalVar:ChocGreensUsed <- 0
  40740. 0x016 If ( (BattleAddr(&LastAttID) == 62) )
  40741. 0x016 {
  40742. 0x01F LocalVar:SylkisUsed <- LocalVar:SylkisUsed + 1
  40743. 0x029 LocalVar:ChocGreensUsed <- 1
  40744. 0x02F LocalVar:Chocobuckle <- 1
  40745. 0x035 }
  40746. 0x035 Else
  40747. 0x035 {
  40748. 0x038 If ( (BattleAddr(&LastAttID) == 63) )
  40749. 0x038 {
  40750. 0x041 LocalVar:ChocGreenCount <- 8
  40751. 0x047 LocalVar:ChocRunChance <- 8
  40752. 0x04D LocalVar:ChocGreensUsed <- 1
  40753. 0x053 }
  40754. 0x053 Else
  40755. 0x053 {
  40756. 0x056 If ( (BattleAddr(&LastAttID) == 64) )
  40757. 0x056 {
  40758. 0x05F LocalVar:MimettUsed <- LocalVar:MimettUsed + 1
  40759. 0x069 LocalVar:Chocobuckle <- 1
  40760. 0x06F LocalVar:ChocGreensUsed <- 1
  40761. 0x075 }
  40762. 0x075 Else
  40763. 0x075 {
  40764. 0x078 If ( (BattleAddr(&LastAttID) == 65) )
  40765. 0x078 {
  40766. 0x081 LocalVar:ChocGreenCount <- 5
  40767. 0x087 LocalVar:ChocGreensUsed <- 1
  40768. 0x08D }
  40769. 0x08D Else
  40770. 0x08D {
  40771. 0x090 If ( (BattleAddr(&LastAttID) == 66) )
  40772. 0x090 {
  40773. 0x099 LocalVar:ChocRunChance <- 5
  40774. 0x09F LocalVar:ChocGreensUsed <- 1
  40775. 0x0A5 }
  40776. 0x0A5 Else
  40777. 0x0A5 {
  40778. 0x0A8 If ( (BattleAddr(&LastAttID) == 67) )
  40779. 0x0A8 {
  40780. 0x0B1 LocalVar:ChocGreenCount <- 3
  40781. 0x0B7 LocalVar:ChocGreensUsed <- 1
  40782. 0x0BD }
  40783. 0x0BD Else
  40784. 0x0BD {
  40785. 0x0C0 If ( (BattleAddr(&LastAttID) == 68) )
  40786. 0x0C0 {
  40787. 0x0C9 LocalVar:ChocRunChance <- 3
  40788. 0x0CF LocalVar:ChocGreensUsed <- 1
  40789. 0x0D5 }
  40790. 0x0D5 Else
  40791. 0x0D5 {
  40792. 0x0D8 If ( (BattleAddr(&LastAttID) == 69) )
  40793. 0x0D8 {
  40794. 0x0E1 LocalVar:ChocGreenCount <- 2
  40795. 0x0E7 LocalVar:ChocGreensUsed <- 1
  40796. 0x0ED If ( ( (LocalVar:ChocEatGreen == 0) And (LocalVar:ChocGreensUsed == 1) ) )
  40797. 0x0ED {
  40798. 0x0FD Display String: "Chocobo “Wark……kkk!”"
  40799. 0x113 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40800. 0x11A Perform("Taking Bait"[0359], EnemyAttack)
  40801. 0x120 BattleAddr(&Self).BattleAddr(&IdleAnimID) <- 7
  40802. 0x12A BattleAddr(&Self).BattleAddr(&DamagedAnimID) <- 8
  40803. 0x134 LocalVar:ChocEatGreen <- 1
  40804. 0x13A }
  40805. 0x13A Else
  40806. 0x13A {
  40807. 0x13D If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 32 + 1) And (LocalVar:Chocobuckle == 1) ) )
  40808. 0x13D {
  40809. 0x15C BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  40810. 0x167 Perform("Chocobuckle"[005A], EnemyAttack)
  40811. 0x16C LocalVar:ChocEscape <- 1
  40812. 0x172 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40813. 0x172 {
  40814. 0x1A1 Display String: "Chocobo “Wark! Wark!”"
  40815. 0x1B8 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40816. 0x1BF If ( (LocalVar:ChocEatGreen == 1) )
  40817. 0x1BF {
  40818. 0x1C8 Perform("Escape"[035B], EnemyAttack)
  40819. 0x1CE }
  40820. 0x1CE Else
  40821. 0x1CE {
  40822. 0x1D1 Perform("Escape"[035A], EnemyAttack)
  40823. 0x1D7 BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40824. 0x1E1 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40825. 0x1EB BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40826. 0x1F5 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40827. 0x1FF }
  40828. 0x1FF Else
  40829. 0x1FF {
  40830. 0x202 LocalVar:ChocEscape <- 1
  40831. 0x208 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40832. 0x208 {
  40833. 0x237 Display String: "Chocobo “Wark! Wark!”"
  40834. 0x24E BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40835. 0x255 If ( (LocalVar:ChocEatGreen == 1) )
  40836. 0x255 {
  40837. 0x25E Perform("Escape"[035B], EnemyAttack)
  40838. 0x264 }
  40839. 0x264 Else
  40840. 0x264 {
  40841. 0x267 Perform("Escape"[035A], EnemyAttack)
  40842. 0x26D BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40843. 0x277 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40844. 0x281 BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40845. 0x28B BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40846. 0x295SCRIPT END
  40847.  
  40848.  
  40849. DEATH COUNTER:
  40850.  
  40851. 0x000BattleAddr(&Self).BattleAddr(&SpclAttFlag) <- 1
  40852. 0x00A If ( (LocalVar:ActorsHit < 8) )
  40853. 0x00A {
  40854. 0x013 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&ActiveActors).BattleAddr(&SpclAttFlag) != 1) )
  40855. 0x022 If ( (BattleAddr(&TarSelected).BattleAddr(&DeathStatus) == 0) )
  40856. 0x022 {
  40857. 0x02F Display String: "Chocobo “Warrrrk!”"
  40858. 0x043 Perform("Chocobo, goes nuts"[0358], EnemyAttack)
  40859. 0x049 BattleAddr(&TarSelected).BattleAddr(&SpclAttFlag) <- 1
  40860. 0x053 LocalVar:ActorsHit <- LocalVar:ActorsHit + 1
  40861. 0x05D LOOP 0x00A
  40862. 0x060 LocalVar:ChocEscape <- 1
  40863. 0x066 If ( ( ( ( ( (BitCount(BattleAddr(&AllEnemies)) == 1) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 0) ) Or (BitCount(BattleAddr(&AllEnemies)) > 1) ) And (BattleAddr(&Self).BattleAddr(&DeathStatus) == 1) ) Or (LocalVar:ChocEscape == 1) ) )
  40864. 0x066 {
  40865. 0x095 Display String: "Chocobo “Wark! Wark!”"
  40866. 0x0AC BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40867. 0x0B3 If ( (LocalVar:ChocEatGreen == 1) )
  40868. 0x0B3 {
  40869. 0x0BC Perform("Escape"[035B], EnemyAttack)
  40870. 0x0C2 }
  40871. 0x0C2 Else
  40872. 0x0C2 {
  40873. 0x0C5 Perform("Escape"[035A], EnemyAttack)
  40874. 0x0CB BattleAddr(&Self).BattleAddr(&SelfActive) <- 0
  40875. 0x0D5 BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  40876. 0x0DF BattleAddr(&Self).BattleAddr(&Needed2EndBattle) <- 0
  40877. 0x0E9 BattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  40878. 0x0F3 SCRIPT END
  40879.  
  40880.  
  40881.  
  40882.  
  40883. 351 - [15F] Blank
  40884.  
  40885.  
  40886.  
  40887.  
  40888. 352 - [160] Blank
  40889.  
  40890.  
  40891.  
  40892.  
  40893. 353 - [161] Mystery Ninja
  40894.  
  40895.  
  40896. LocalVar:0000 = LocalVar:Count
  40897. LocalVar:0020 = LocalVar:OpenAttack
  40898.  
  40899. GlobalVar(0002) = GlobalVar(YuffieLevel)
  40900.  
  40901. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  40902. BattleAddr(&2060) = BattleAddr(&Self)
  40903. BattleAddr(&2070) = BattleAddr(&TarSelected)
  40904. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  40905.  
  40906. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  40907. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  40908. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  40909. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  40910. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  40911. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  40912. BattleAddr(&400A) = BattleAddr(&StopStatus)
  40913. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  40914. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  40915. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  40916. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  40917. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  40918. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  40919. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  40920. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  40921. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  40922. BattleAddr(&4023) = BattleAddr(&Targetable)
  40923. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  40924. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  40925.  
  40926.  
  40927.  
  40928. PRE-BATTLE:
  40929.  
  40930. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  40931. 0x00ASCRIPT END
  40932.  
  40933.  
  40934. MAIN:
  40935.  
  40936. 0x000LocalVar:Count <- Local Var:Count + 1
  40937. 0x00A If (Not (LocalVar:OpenAttack) )
  40938. 0x00A {
  40939. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  40940. 0x018 Perform("Fire Fang"[0360], EnemyAttack)
  40941. 0x01E LocalVar:OpenAttack <- 1
  40942. 0x024 }
  40943. 0x024 Else
  40944. 0x024 {
  40945. 0x027 If ( (LocalVar:Count > 10) )
  40946. 0x027 {
  40947. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  40948. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  40949. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  40950. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  40951. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  40952. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  40953. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  40954. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  40955. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  40956. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  40957. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  40958. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  40959. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  40960. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  40961. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  40962. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  40963. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  40964. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  40965. 0x0DD RunScript(15)
  40966. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  40967. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  40968. 0x0ED }
  40969. 0x0ED Else
  40970. 0x0ED {
  40971. 0x0F0 If (Random MOD 8 == 0)
  40972. 0x0F0 {
  40973. 0x0F9 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  40974. 0x0F9 {
  40975. 0x106 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  40976. 0x115 Perform("Spider Web"[035E], EnemyAttack)
  40977. 0x11B }
  40978. 0x11B Else
  40979. 0x11B {
  40980. 0x11E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  40981. 0x125 Perform("Fire Fang"[0360], EnemyAttack)
  40982. 0x12B }
  40983. 0x12B Else
  40984. 0x12B {
  40985. 0x12E }
  40986. 0x12E Else
  40987. 0x12E {
  40988. 0x131 If (Random MOD 8 == 1)
  40989. 0x131 {
  40990. 0x136 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  40991. 0x136 {
  40992. 0x143 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  40993. 0x152 Perform("Impaler"[035F], EnemyAttack)
  40994. 0x158 }
  40995. 0x158 Else
  40996. 0x158 {
  40997. 0x15B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  40998. 0x162 Perform("Fire Fang"[0360], EnemyAttack)
  40999. 0x168 }
  41000. 0x168 Else
  41001. 0x168 {
  41002. 0x16B }
  41003. 0x16B Else
  41004. 0x16B {
  41005. 0x16E If (Random MOD 8 == 2)
  41006. 0x16E {
  41007. 0x173 }
  41008. 0x173 Else
  41009. 0x173 {
  41010. 0x176 If (Random MOD 8 == 3)
  41011. 0x176 {
  41012. 0x17B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41013. 0x182 Perform("Fire Fang"[0360], EnemyAttack)
  41014. 0x188 }
  41015. 0x188 Else
  41016. 0x188 {
  41017. 0x18B }
  41018. 0x18B Else
  41019. 0x18B {
  41020. 0x18E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41021. 0x196 Perform("Fight"[0362], EnemyAttack)
  41022. 0x19C }
  41023. 0x19C Else
  41024. 0x19C {
  41025. 0x19F POP(Random MOD 8)
  41026. 0x1A0SCRIPT END
  41027.  
  41028.  
  41029. DEATH COUNTER:
  41030.  
  41031. 0x000BattleAddr(&MemBank1/2) <- 17
  41032. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41033. 0x00BSCRIPT END
  41034.  
  41035. CUSTOM EVENT 8:
  41036.  
  41037. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41038. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41039. 0x014SCRIPT END
  41040.  
  41041.  
  41042.  
  41043.  
  41044. 354 - [162] Mystery Ninja (Lv 22)
  41045.  
  41046.  
  41047. LocalVar:0000 = LocalVar:Count
  41048. LocalVar:0020 = LocalVar:OpenAttack
  41049.  
  41050. GlobalVar(0002) = GlobalVar(YuffieLevel)
  41051.  
  41052. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  41053. BattleAddr(&2060) = BattleAddr(&Self)
  41054. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41055. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41056.  
  41057. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41058. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41059. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  41060. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  41061. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41062. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41063. BattleAddr(&400A) = BattleAddr(&StopStatus)
  41064. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  41065. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  41066. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  41067. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  41068. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  41069. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41070. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  41071. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41072. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  41073. BattleAddr(&4023) = BattleAddr(&Targetable)
  41074. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  41075. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  41076.  
  41077.  
  41078.  
  41079. PRE-BATTLE:
  41080.  
  41081. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  41082. 0x00ASCRIPT END
  41083.  
  41084.  
  41085. MAIN:
  41086.  
  41087. 0x000LocalVar:Count <- LocalVar:Count + 1
  41088. 0x00A If (Not (LocalVar:OpenAttack) )
  41089. 0x00A {
  41090. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41091. 0x018 Perform("Fire Fang"[0360], EnemyAttack)
  41092. 0x01E LocalVar:OpenAttack <- 1
  41093. 0x024 }
  41094. 0x024 Else
  41095. 0x024 {
  41096. 0x027 If ( (LocalVar:Count > 10) )
  41097. 0x027 {
  41098. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41099. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41100. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  41101. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  41102. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41103. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41104. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  41105. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  41106. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  41107. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  41108. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  41109. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  41110. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41111. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  41112. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41113. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  41114. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  41115. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  41116. 0x0DD RunScript(15)
  41117. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  41118. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  41119. 0x0ED }
  41120. 0x0ED Else
  41121. 0x0ED {
  41122. 0x0F0 If (Random MOD 8 == 0)
  41123. 0x0F0 {
  41124. 0x0F9 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41125. 0x0F9 {
  41126. 0x106 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41127. 0x115 Perform("Spider Web"[035E], EnemyAttack)
  41128. 0x11B }
  41129. 0x11B Else
  41130. 0x11B {
  41131. 0x11E BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41132. 0x125 Perform("Fire Fang"[0360], EnemyAttack)
  41133. 0x12B }
  41134. 0x12B Else
  41135. 0x12B {
  41136. 0x12E }
  41137. 0x12E Else
  41138. 0x12E {
  41139. 0x131 If (Random MOD 8 == 1)
  41140. 0x131 {
  41141. 0x136 If ( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  41142. 0x136 {
  41143. 0x143 BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&FrogStatus) == 0) )
  41144. 0x152 Perform("Impaler"[035F], EnemyAttack)
  41145. 0x158 }
  41146. 0x158 Else
  41147. 0x158 {
  41148. 0x15B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41149. 0x162 Perform("Fire Fang"[0360], EnemyAttack)
  41150. 0x168 }
  41151. 0x168 Else
  41152. 0x168 {
  41153. 0x16B }
  41154. 0x16B Else
  41155. 0x16B {
  41156. 0x16E If (Random MOD 8 == 2)
  41157. 0x16E {
  41158. 0x173 }
  41159. 0x173 Else
  41160. 0x173 {
  41161. 0x176 If (Random MOD 8 == 3)
  41162. 0x176 {
  41163. 0x17B BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41164. 0x182 Perform("Fire Fang"[0360], EnemyAttack)
  41165. 0x188 }
  41166. 0x188 Else
  41167. 0x188 {
  41168. 0x18B }
  41169. 0x18B Else
  41170. 0x18B {
  41171. 0x18E BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41172. 0x196 Perform("Fight"[0362], EnemyAttack)
  41173. 0x19C }
  41174. 0x19C Else
  41175. 0x19C {
  41176. 0x19F POP(Random MOD 8)
  41177. 0x1A0SCRIPT END
  41178.  
  41179.  
  41180. DEATH COUNTER:
  41181.  
  41182. 0x000BattleAddr(&MemBank1/2) <- 22
  41183. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41184. 0x00BSCRIPT END
  41185.  
  41186. CUSTOM EVENT 8:
  41187.  
  41188. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41189. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41190. 0x014SCRIPT END
  41191.  
  41192.  
  41193.  
  41194.  
  41195. 355 - [163] Mystery Ninja (Lv 27)
  41196.  
  41197.  
  41198. LocalVar:0000 = LocalVar:Count
  41199. LocalVar:0020 = LocalVar:OpenAttack
  41200.  
  41201. GlobalVar(0002) = GlobalVar(YuffieLevel)
  41202.  
  41203. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  41204. BattleAddr(&2060) = BattleAddr(&Self)
  41205. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41206. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41207.  
  41208. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41209. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41210. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  41211. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  41212. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41213. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41214. BattleAddr(&400A) = BattleAddr(&StopStatus)
  41215. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  41216. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  41217. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  41218. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  41219. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  41220. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41221. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  41222. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41223. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  41224. BattleAddr(&4023) = BattleAddr(&Targetable)
  41225. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  41226. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  41227.  
  41228.  
  41229.  
  41230. PRE-BATTLE:
  41231.  
  41232. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  41233. 0x00ASCRIPT END
  41234.  
  41235.  
  41236. MAIN:
  41237.  
  41238. 0x000LocalVar:Count <- LocalVar:Count + 1
  41239. 0x00A If (Not (LocalVar:OpenAttack) )
  41240. 0x00A {
  41241. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41242. 0x018 Perform("Fire Veil"[0363], EnemyAttack)
  41243. 0x01E LocalVar:OpenAttack <- 1
  41244. 0x024 }
  41245. 0x024 Else
  41246. 0x024 {
  41247. 0x027 If ( (LocalVar:Count > 10) )
  41248. 0x027 {
  41249. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41250. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41251. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  41252. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  41253. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41254. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41255. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  41256. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  41257. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  41258. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  41259. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  41260. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  41261. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41262. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  41263. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41264. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  41265. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  41266. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  41267. 0x0DD RunScript(15)
  41268. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  41269. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  41270. 0x0ED }
  41271. 0x0ED Else
  41272. 0x0ED {
  41273. 0x0F0 If (Random MOD 8 == 0)
  41274. 0x0F0 {
  41275. 0x0F9 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41276. 0x100 Perform("Fire Veil"[0363], EnemyAttack)
  41277. 0x106 }
  41278. 0x106 Else
  41279. 0x106 {
  41280. 0x109 }
  41281. 0x109 Else
  41282. 0x109 {
  41283. 0x10C If (Random MOD 8 == 1)
  41284. 0x10C {
  41285. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41286. 0x118 Perform("Leviathan Scales"[0364], EnemyAttack)
  41287. 0x11E }
  41288. 0x11E Else
  41289. 0x11E {
  41290. 0x121 }
  41291. 0x121 Else
  41292. 0x121 {
  41293. 0x124 If (Random MOD 8 == 2)
  41294. 0x124 {
  41295. 0x129 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41296. 0x130 Perform("Swift Bolt"[0365], EnemyAttack)
  41297. 0x136 }
  41298. 0x136 Else
  41299. 0x136 {
  41300. 0x139 }
  41301. 0x139 Else
  41302. 0x139 {
  41303. 0x13C If (Random MOD 8 == 3)
  41304. 0x13C {
  41305. 0x141 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41306. 0x149 Perform("Swift Bolt"[0365], EnemyAttack)
  41307. 0x14F }
  41308. 0x14F Else
  41309. 0x14F {
  41310. 0x152 }
  41311. 0x152 Else
  41312. 0x152 {
  41313. 0x155 If (Random MOD 8 == 5)
  41314. 0x155 {
  41315. 0x15A }
  41316. 0x15A Else
  41317. 0x15A {
  41318. 0x15D If (Random MOD 8 == 6)
  41319. 0x15D {
  41320. 0x162 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41321. 0x162 {
  41322. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41323. 0x17E Perform("Spider Web"[035E], EnemyAttack)
  41324. 0x184 }
  41325. 0x184 Else
  41326. 0x184 {
  41327. 0x187 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41328. 0x18F Perform("Fight"[0362], EnemyAttack)
  41329. 0x195 }
  41330. 0x195 Else
  41331. 0x195 {
  41332. 0x198 }
  41333. 0x198 Else
  41334. 0x198 {
  41335. 0x19B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41336. 0x1A3 Perform("Fight"[0362], EnemyAttack)
  41337. 0x1A9 }
  41338. 0x1A9 Else
  41339. 0x1A9 {
  41340. 0x1AC POP(Random MOD 8)
  41341. 0x1ADSCRIPT END
  41342.  
  41343.  
  41344. GENERAL COUNTER:
  41345.  
  41346. 0x000BattleAddr(&MemBank1/2) <- 27
  41347. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41348. 0x00BSCRIPT END
  41349.  
  41350. CUSTOM EVENT 8:
  41351.  
  41352. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41353. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41354. 0x014SCRIPT END
  41355.  
  41356.  
  41357.  
  41358.  
  41359. 356 - [164] Mystery Ninja (Lv 32)
  41360.  
  41361.  
  41362. LocalVar:0000 = LocalVar:Count
  41363. LocalVar:0020 = LocalVar:OpenAttack
  41364.  
  41365. GlobalVar(0002) = GlobalVar(YuffieLevel)
  41366.  
  41367. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  41368. BattleAddr(&2060) = BattleAddr(&Self)
  41369. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41370. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41371.  
  41372. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41373. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41374. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  41375. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  41376. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41377. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41378. BattleAddr(&400A) = BattleAddr(&StopStatus)
  41379. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  41380. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  41381. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  41382. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  41383. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  41384. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41385. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  41386. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41387. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  41388. BattleAddr(&4023) = BattleAddr(&Targetable)
  41389. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  41390. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  41391.  
  41392.  
  41393.  
  41394. PRE-BATTLE:
  41395.  
  41396. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  41397. 0x00ASCRIPT END
  41398.  
  41399.  
  41400. MAIN:
  41401.  
  41402. 0x000LocalVar:Count <- LocalVar:Count + 1
  41403. 0x00A If (Not (LocalVar:OpenAttack) )
  41404. 0x00A {
  41405. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41406. 0x018 Perform("Fire Veil"[0363], EnemyAttack)
  41407. 0x01E LocalVar:OpenAttack <- 1
  41408. 0x024 }
  41409. 0x024 Else
  41410. 0x024 {
  41411. 0x027 If ( (LocalVar:Count > 10) )
  41412. 0x027 {
  41413. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41414. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41415. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  41416. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  41417. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41418. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41419. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  41420. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  41421. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  41422. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  41423. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  41424. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  41425. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41426. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  41427. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41428. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  41429. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  41430. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  41431. 0x0DD RunScript(15)
  41432. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  41433. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  41434. 0x0ED }
  41435. 0x0ED Else
  41436. 0x0ED {
  41437. 0x0F0 If (Random MOD 8 == 0)
  41438. 0x0F0 {
  41439. 0x0F9 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41440. 0x100 Perform("Fire Veil"[0363], EnemyAttack)
  41441. 0x106 }
  41442. 0x106 Else
  41443. 0x106 {
  41444. 0x109 }
  41445. 0x109 Else
  41446. 0x109 {
  41447. 0x10C If (Random MOD 8 == 1)
  41448. 0x10C {
  41449. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41450. 0x118 Perform("Leviathan Scales"[0364], EnemyAttack)
  41451. 0x11E }
  41452. 0x11E Else
  41453. 0x11E {
  41454. 0x121 }
  41455. 0x121 Else
  41456. 0x121 {
  41457. 0x124 If (Random MOD 8 == 2)
  41458. 0x124 {
  41459. 0x129 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41460. 0x130 Perform("Swift Bolt"[0365], EnemyAttack)
  41461. 0x136 }
  41462. 0x136 Else
  41463. 0x136 {
  41464. 0x139 }
  41465. 0x139 Else
  41466. 0x139 {
  41467. 0x13C If (Random MOD 8 == 3)
  41468. 0x13C {
  41469. 0x141 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41470. 0x149 Perform("Swift Bolt"[0365], EnemyAttack)
  41471. 0x14F }
  41472. 0x14F Else
  41473. 0x14F {
  41474. 0x152 }
  41475. 0x152 Else
  41476. 0x152 {
  41477. 0x155 If (Random MOD 8 == 5)
  41478. 0x155 {
  41479. 0x15A }
  41480. 0x15A Else
  41481. 0x15A {
  41482. 0x15D If (Random MOD 8 == 6)
  41483. 0x15D {
  41484. 0x162 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41485. 0x162 {
  41486. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41487. 0x17E Perform("Spider Web"[035E], EnemyAttack)
  41488. 0x184 }
  41489. 0x184 Else
  41490. 0x184 {
  41491. 0x187 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41492. 0x18F Perform("Fight"[0362], EnemyAttack)
  41493. 0x195 }
  41494. 0x195 Else
  41495. 0x195 {
  41496. 0x198 }
  41497. 0x198 Else
  41498. 0x198 {
  41499. 0x19B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41500. 0x1A3 Perform("Fight"[0362], EnemyAttack)
  41501. 0x1A9 }
  41502. 0x1A9 Else
  41503. 0x1A9 {
  41504. 0x1AC POP(Random MOD 8)
  41505. 0x1ADSCRIPT END
  41506.  
  41507.  
  41508. Death COUNTER:
  41509.  
  41510. 0x000BattleAddr(&MemBank1/2) <- 32
  41511. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41512. 0x00BSCRIPT END
  41513.  
  41514. CUSTOM EVENT 8:
  41515.  
  41516. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41517. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41518. 0x014SCRIPT END
  41519.  
  41520.  
  41521.  
  41522.  
  41523. 357 - [165] Mystery Ninja (Lv 37)
  41524.  
  41525.  
  41526. LocalVar:0000 = LocalVar:Count
  41527. LocalVar:0020 = LocalVar:OpenAttack
  41528.  
  41529. GlobalVar(0002) = GlobalVar(YuffieLevel)
  41530.  
  41531. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  41532. BattleAddr(&2060) = BattleAddr(&Self)
  41533. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41534. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41535.  
  41536. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41537. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41538. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  41539. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  41540. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41541. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41542. BattleAddr(&400A) = BattleAddr(&StopStatus)
  41543. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  41544. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  41545. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  41546. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  41547. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  41548. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41549. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  41550. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41551. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  41552. BattleAddr(&4023) = BattleAddr(&Targetable)
  41553. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  41554. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  41555.  
  41556.  
  41557.  
  41558. PRE-BATTLE:
  41559.  
  41560. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  41561. 0x00ASCRIPT END
  41562.  
  41563.  
  41564. MAIN:
  41565.  
  41566. 0x000LocalVar:Count <- LocalVar:Count + 1
  41567. 0x00A If (Not (LocalVar:OpenAttack) )
  41568. 0x00A {
  41569. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41570. 0x018 Perform("Fire Veil"[0363], EnemyAttack)
  41571. 0x01E LocalVar:OpenAttack <- 1
  41572. 0x024 }
  41573. 0x024 Else
  41574. 0x024 {
  41575. 0x027 If ( (LocalVar:Count > 10) )
  41576. 0x027 {
  41577. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41578. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41579. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  41580. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  41581. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41582. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41583. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  41584. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  41585. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  41586. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  41587. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  41588. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  41589. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41590. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  41591. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41592. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  41593. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  41594. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  41595. 0x0DD RunScript(15)
  41596. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  41597. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  41598. 0x0ED }
  41599. 0x0ED Else
  41600. 0x0ED {
  41601. 0x0F0 If (Random MOD 8 == 0)
  41602. 0x0F0 {
  41603. 0x0F9 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41604. 0x100 Perform("Fire Veil"[0363], EnemyAttack)
  41605. 0x106 }
  41606. 0x106 Else
  41607. 0x106 {
  41608. 0x109 }
  41609. 0x109 Else
  41610. 0x109 {
  41611. 0x10C If (Random MOD 8 == 1)
  41612. 0x10C {
  41613. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41614. 0x118 Perform("Leviathan Scales"[0364], EnemyAttack)
  41615. 0x11E }
  41616. 0x11E Else
  41617. 0x11E {
  41618. 0x121 }
  41619. 0x121 Else
  41620. 0x121 {
  41621. 0x124 If (Random MOD 8 == 2)
  41622. 0x124 {
  41623. 0x129 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41624. 0x130 Perform("Swift Bolt"[0365], EnemyAttack)
  41625. 0x136 }
  41626. 0x136 Else
  41627. 0x136 {
  41628. 0x139 }
  41629. 0x139 Else
  41630. 0x139 {
  41631. 0x13C If (Random MOD 8 == 3)
  41632. 0x13C {
  41633. 0x141 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41634. 0x149 Perform("Swift Bolt"[0365], EnemyAttack)
  41635. 0x14F }
  41636. 0x14F Else
  41637. 0x14F {
  41638. 0x152 }
  41639. 0x152 Else
  41640. 0x152 {
  41641. 0x155 If (Random MOD 8 == 5)
  41642. 0x155 {
  41643. 0x15A }
  41644. 0x15A Else
  41645. 0x15A {
  41646. 0x15D If (Random MOD 8 == 6)
  41647. 0x15D {
  41648. 0x162 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41649. 0x162 {
  41650. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41651. 0x17E Perform("Spider Web"[035E], EnemyAttack)
  41652. 0x184 }
  41653. 0x184 Else
  41654. 0x184 {
  41655. 0x187 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41656. 0x18F Perform("Fight"[0362], EnemyAttack)
  41657. 0x195 }
  41658. 0x195 Else
  41659. 0x195 {
  41660. 0x198 }
  41661. 0x198 Else
  41662. 0x198 {
  41663. 0x19B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41664. 0x1A3 Perform("Fight"[0362], EnemyAttack)
  41665. 0x1A9 }
  41666. 0x1A9 Else
  41667. 0x1A9 {
  41668. 0x1AC POP(Random MOD 8)
  41669. 0x1ADSCRIPT END
  41670.  
  41671.  
  41672. GENERAL COUNTER:
  41673.  
  41674. 0x000BattleAddr(&MemBank1/2) <- 37
  41675. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41676. 0x00BSCRIPT END
  41677.  
  41678. CUSTOM EVENT 8:
  41679.  
  41680. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41681. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41682. 0x014SCRIPT END
  41683.  
  41684.  
  41685.  
  41686.  
  41687. 358 - [166] Mystery Ninja (Lv 42)
  41688.  
  41689.  
  41690. LocalVar:0000 = LocalVar:Count
  41691. LocalVar:0020 = LocalVar:OpenAttack
  41692.  
  41693. GlobalVar(0002) = GlobalVar(YuffieLevel)
  41694.  
  41695. BattleAddr(&2010) = BattleAddr(&MemBank1/2)
  41696. BattleAddr(&2060) = BattleAddr(&Self)
  41697. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41698. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41699.  
  41700. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41701. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41702. BattleAddr(&4006) = BattleAddr(&ConfusionStatus)
  41703. BattleAddr(&4007) = BattleAddr(&SilenceStatus)
  41704. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41705. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41706. BattleAddr(&400A) = BattleAddr(&StopStatus)
  41707. BattleAddr(&400B) = BattleAddr(&FrogStatus)
  41708. BattleAddr(&400C) = BattleAddr(&SmallStatus)
  41709. BattleAddr(&400D) = BattleAddr(&SlowNumbStatus)
  41710. BattleAddr(&400E) = BattleAddr(&PetrifyStatus)
  41711. BattleAddr(&400F) = BattleAddr(&RegenStatus)
  41712. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41713. BattleAddr(&4016) = BattleAddr(&ManipulateStatus)
  41714. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41715. BattleAddr(&4019) = BattleAddr(&ParalyzedStatus)
  41716. BattleAddr(&4023) = BattleAddr(&Targetable)
  41717. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  41718. BattleAddr(&402C) = BattleAddr(&DeathImmunity)
  41719.  
  41720.  
  41721.  
  41722. PRE-BATTLE:
  41723.  
  41724. 0x000BattleAddr(&Self).BattleAddr(&DeathImmunity) <- 1
  41725. 0x00ASCRIPT END
  41726.  
  41727.  
  41728. MAIN:
  41729.  
  41730. 0x000LocalVar:Count <- LocalVar:Count + 1
  41731. 0x00A If (Not (LocalVar:OpenAttack) )
  41732. 0x00A {
  41733. 0x011 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41734. 0x018 Perform("Fire Veil"[0363], EnemyAttack)
  41735. 0x01E LocalVar:OpenAttack <- 1
  41736. 0x024 }
  41737. 0x024 Else
  41738. 0x024 {
  41739. 0x027 If ( (LocalVar:Count > 10) )
  41740. 0x027 {
  41741. 0x030 BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41742. 0x03A BattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41743. 0x044 BattleAddr(&Self).BattleAddr(&ConfusionStatus) <- 0
  41744. 0x04E BattleAddr(&Self).BattleAddr(&SilenceStatus) <- 0
  41745. 0x058 BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41746. 0x062 BattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41747. 0x06C BattleAddr(&Self).BattleAddr(&StopStatus) <- 0
  41748. 0x076 BattleAddr(&Self).BattleAddr(&FrogStatus) <- 0
  41749. 0x080 BattleAddr(&Self).BattleAddr(&SmallStatus) <- 0
  41750. 0x08A BattleAddr(&Self).BattleAddr(&SlowNumbStatus) <- 0
  41751. 0x094 BattleAddr(&Self).BattleAddr(&PetrifyStatus) <- 0
  41752. 0x09E BattleAddr(&Self).BattleAddr(&RegenStatus) <- 0
  41753. 0x0A8 BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41754. 0x0B2 BattleAddr(&Self).BattleAddr(&ManipulateStatus) <- 0
  41755. 0x0BC BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41756. 0x0C6 BattleAddr(&Self).BattleAddr(&ParalyzedStatus) <- 0
  41757. 0x0D0 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  41758. 0x0D7 Perform("Throw"[0361], EnemyAttack)
  41759. 0x0DD RunScript(15)
  41760. 0x0E2 BattleAddr(&MemBank1/2) <- 0
  41761. 0x0E8 GlobalVar(YuffieLevel) <- &TempGlobal)
  41762. 0x0ED }
  41763. 0x0ED Else
  41764. 0x0ED {
  41765. 0x0F0 If (Random MOD 8 == 0)
  41766. 0x0F0 {
  41767. 0x0F9 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41768. 0x100 Perform("Fire Veil"[0363], EnemyAttack)
  41769. 0x106 }
  41770. 0x106 Else
  41771. 0x106 {
  41772. 0x109 }
  41773. 0x109 Else
  41774. 0x109 {
  41775. 0x10C If (Random MOD 8 == 1)
  41776. 0x10C {
  41777. 0x111 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41778. 0x118 Perform("Leviathan Scales"[0364], EnemyAttack)
  41779. 0x11E }
  41780. 0x11E Else
  41781. 0x11E {
  41782. 0x121 }
  41783. 0x121 Else
  41784. 0x121 {
  41785. 0x124 If (Random MOD 8 == 2)
  41786. 0x124 {
  41787. 0x129 BattleAddr(&TarSelected) <- BattleAddr(&AllPlayers)
  41788. 0x130 Perform("Swift Bolt"[0365], EnemyAttack)
  41789. 0x136 }
  41790. 0x136 Else
  41791. 0x136 {
  41792. 0x139 }
  41793. 0x139 Else
  41794. 0x139 {
  41795. 0x13C If (Random MOD 8 == 3)
  41796. 0x13C {
  41797. 0x141 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41798. 0x149 Perform("Swift Bolt"[0365], EnemyAttack)
  41799. 0x14F }
  41800. 0x14F Else
  41801. 0x14F {
  41802. 0x152 }
  41803. 0x152 Else
  41804. 0x152 {
  41805. 0x155 If (Random MOD 8 == 5)
  41806. 0x155 {
  41807. 0x15A }
  41808. 0x15A Else
  41809. 0x15A {
  41810. 0x15D If (Random MOD 8 == 6)
  41811. 0x15D {
  41812. 0x162 If ( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41813. 0x162 {
  41814. 0x16F BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&SlowStatus) == 0) )
  41815. 0x17E Perform("Spider Web"[035E], EnemyAttack)
  41816. 0x184 }
  41817. 0x184 Else
  41818. 0x184 {
  41819. 0x187 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41820. 0x18F Perform("Fight"[0362], EnemyAttack)
  41821. 0x195 }
  41822. 0x195 Else
  41823. 0x195 {
  41824. 0x198 }
  41825. 0x198 Else
  41826. 0x198 {
  41827. 0x19B BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41828. 0x1A3 Perform("Fight"[0362], EnemyAttack)
  41829. 0x1A9 }
  41830. 0x1A9 Else
  41831. 0x1A9 {
  41832. 0x1AC POP(Random MOD 8)
  41833. 0x1ADSCRIPT END
  41834.  
  41835.  
  41836. GENERAL COUNTER:
  41837.  
  41838. 0x000BattleAddr(&MemBank1/2) <- 42
  41839. 0x006GlobalVar(YuffieLevel) <- &TempGlobal)
  41840. 0x00BSCRIPT END
  41841.  
  41842. CUSTOM EVENT 8:
  41843.  
  41844. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  41845. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  41846. 0x014SCRIPT END
  41847.  
  41848.  
  41849.  
  41850.  
  41851. 359 - [167] Blank
  41852.  
  41853.  
  41854.  
  41855.  
  41856. 360 - [168] Blank
  41857.  
  41858.  
  41859.  
  41860.  
  41861. 361 - [169] Blank
  41862.  
  41863.  
  41864.  
  41865.  
  41866. 362 - [16A] Bad Rap Sample
  41867.  
  41868.  
  41869. LocalVar:0000 = LocalVar:Count
  41870. LocalVar:0020 = LocalVar:SpclChance
  41871. LocalVar:0040 = LocalVar:BaseDamagedAnimID
  41872.  
  41873. BattleAddr(&2060) = BattleAddr(&Self)
  41874. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41875. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  41876.  
  41877. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  41878. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  41879. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  41880. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  41881. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  41882. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  41883. BattleAddr(&401A) = BattleAddr(&DarknessStatus)
  41884. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  41885. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  41886. BattleAddr(&4180) = BattleAddr(&MaxHP)
  41887.  
  41888.  
  41889.  
  41890. PRE-BATTLE:
  41891.  
  41892. 0x000LocalVar:SpclChance <- 16
  41893. 0x006LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  41894. 0x011SCRIPT END
  41895.  
  41896.  
  41897. MAIN:
  41898.  
  41899. 0x000 If (LocalVar:Count == 0)
  41900. 0x000 {
  41901. 0x008 }
  41902. 0x008 Else
  41903. 0x008 {
  41904. 0x00B If (LocalVar:Count == 1)
  41905. 0x00B {
  41906. 0x010 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41907. 0x018 Perform("Whip"[0180], EnemyAttack)
  41908. 0x01E If (Not (Random MOD LocalVar:SpclChance) )
  41909. 0x01E {
  41910. 0x027 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41911. 0x02F Perform("Whip"[0180], EnemyAttack)
  41912. 0x035 LocalVar:Count <- LocalVar:Count + 1
  41913. 0x03F }
  41914. 0x03F Else
  41915. 0x03F {
  41916. 0x042 }
  41917. 0x042 Else
  41918. 0x042 {
  41919. 0x045 If (LocalVar:Count == 2)
  41920. 0x045 {
  41921. 0x04A If ( ( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) And Not (Random MOD LocalVar:SpclChance) ) )
  41922. 0x04A {
  41923. 0x05E BattleAddr(&TarSelected) <- RandomBit( (BattleAddr(&AllPlayers).BattleAddr(&DarknessStatus) == 0) )
  41924. 0x06D Perform("Evil Poison"[0182], EnemyAttack)
  41925. 0x073 }
  41926. 0x073 Else
  41927. 0x073 {
  41928. 0x076 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41929. 0x07E Perform("Whip"[0180], EnemyAttack)
  41930. 0x084 If (Not (Random MOD LocalVar:SpclChance) )
  41931. 0x084 {
  41932. 0x08D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  41933. 0x095 Perform("Whip"[0180], EnemyAttack)
  41934. 0x09B LocalVar:Count <- 3
  41935. 0x0A1 }
  41936. 0x0A1 Else
  41937. 0x0A1 {
  41938. 0x0A4 LocalVar:Count <- 0
  41939. 0x0AA }
  41940. 0x0AA Else
  41941. 0x0AA {
  41942. 0x0AD }
  41943. 0x0AD Else
  41944. 0x0AD {
  41945. 0x0B0 Bad Code0x0BB BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers).BattleAddr(&CurrentHP))
  41946. 0x0BD Perform("Big Fang"[0181], EnemyAttack)
  41947. 0x0C3 LocalVar:Count <- 1
  41948. 0x0C9 }
  41949. 0x0C9 Else
  41950. 0x0C9 {
  41951. 0x0CCPOP(LocalVar:Count)
  41952. 0x0CDSCRIPT END
  41953.  
  41954. NOTE - 0x0BA uses HMSK
  41955.  
  41956.  
  41957. GENERAL COUNTER:
  41958.  
  41959. 0x000 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 2) )
  41960. 0x000 {
  41961. 0x018 LocalVar:SpclChance <- 2
  41962. 0x01E }
  41963. 0x01E Else
  41964. 0x01E {
  41965. 0x021 If ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4 * 3) )
  41966. 0x021 {
  41967. 0x039 LocalVar:SpclChance <- 3
  41968. 0x03F }
  41969. 0x03F Else
  41970. 0x03F {
  41971. 0x042 LocalVar:SpclChance <- 4
  41972. 0x048SCRIPT END
  41973.  
  41974.  
  41975. DEATH COUNTER:
  41976.  
  41977. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  41978. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  41979. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  41980. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  41981. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  41982. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  41983. 0x03CSCRIPT END
  41984.  
  41985.  
  41986.  
  41987.  
  41988. 363 - [16B] Poodler Sample
  41989.  
  41990.  
  41991. LocalVar:0000 = LocalVar:Count
  41992. LocalVar:0020 = LocalVar:1stChr
  41993. LocalVar:0040 = LocalVar:2ndChr
  41994. LocalVar:0060 = LocalVar:3rdChr
  41995. LocalVar:0080 = LocalVar:BaseDamagedAnimID
  41996.  
  41997. BattleAddr(&2060) = BattleAddr(&Self)
  41998. BattleAddr(&2070) = BattleAddr(&TarSelected)
  41999.  
  42000. BattleAddr(&4000) = BattleAddr(&DeathStatus)
  42001. BattleAddr(&4002) = BattleAddr(&SleepStatus)
  42002. BattleAddr(&4003) = BattleAddr(&PoisonStatus)
  42003. BattleAddr(&4008) = BattleAddr(&HasteStatus)
  42004. BattleAddr(&4009) = BattleAddr(&SlowStatus)
  42005. BattleAddr(&4015) = BattleAddr(&DSentenceStatus)
  42006. BattleAddr(&4017) = BattleAddr(&BerserkStatus)
  42007. BattleAddr(&4088) = BattleAddr(&DamagedAnimID)
  42008. BattleAddr(&40D0) = BattleAddr(&LastAttacker)
  42009. BattleAddr(&4140) = BattleAddr(&CurrentMP)
  42010. BattleAddr(&4160) = BattleAddr(&CurrentHP)
  42011. BattleAddr(&4180) = BattleAddr(&MaxHP)
  42012.  
  42013.  
  42014.  
  42015. PRE-BATTLE:
  42016.  
  42017. 0x000LocalVar:1stChr <- FlagBit(0)
  42018. 0x007LocalVar:2ndChr <- FlagBit(1)
  42019. 0x00ELocalVar:3rdChr <- FlagBit(2)
  42020. 0x015 If (Random MOD 3 == 0)
  42021. 0x015 {
  42022. 0x01E LocalVar:Count <- 0
  42023. 0x024 }
  42024. 0x024 Else
  42025. 0x024 {
  42026. 0x027 }
  42027. 0x027 Else
  42028. 0x027 {
  42029. 0x02A If (Random MOD 3 == 1)
  42030. 0x02A {
  42031. 0x02F LocalVar:Count <- 1
  42032. 0x035 }
  42033. 0x035 Else
  42034. 0x035 {
  42035. 0x038 }
  42036. 0x038 Else
  42037. 0x038 {
  42038. 0x03B LocalVar:Count <- 2
  42039. 0x041 }
  42040. 0x041 Else
  42041. 0x041 {
  42042. 0x044POP(Random MOD 3)
  42043. 0x045LocalVar:BaseDamagedAnimID <- BattleAddr(&Self).BattleAddr(&DamagedAnimID)
  42044. 0x050SCRIPT END
  42045.  
  42046.  
  42047. MAIN:
  42048.  
  42049. 0x000 If (LocalVar:Count == 0)
  42050. 0x000 {
  42051. 0x008 If ( (LocalVar:2ndChr.BattleAddr(&DeathStatus) == 0) )
  42052. 0x008 {
  42053. 0x015 BattleAddr(&TarSelected) <- LocalVar:2ndChr
  42054. 0x01C Perform("Bodyblow"[0172], EnemyAttack)
  42055. 0x022 LocalVar:Count <- 1
  42056. 0x028 }
  42057. 0x028 Else
  42058. 0x028 {
  42059. 0x02B }
  42060. 0x02B Else
  42061. 0x02B {
  42062. 0x02E If (LocalVar:Count == 1)
  42063. 0x02E {
  42064. 0x033 If ( (LocalVar:1stChr.BattleAddr(&DeathStatus) == 0) )
  42065. 0x033 {
  42066. 0x040 BattleAddr(&TarSelected) <- LocalVar:1stChr
  42067. 0x047 Perform("Bodyblow"[0172], EnemyAttack)
  42068. 0x04D LocalVar:Count <- 2
  42069. 0x053 }
  42070. 0x053 Else
  42071. 0x053 {
  42072. 0x056 }
  42073. 0x056 Else
  42074. 0x056 {
  42075. 0x059 If ( (LocalVar:3rdChr.BattleAddr(&DeathStatus) == 0) )
  42076. 0x059 {
  42077. 0x066 BattleAddr(&TarSelected) <- LocalVar:3rdChr
  42078. 0x06D Perform("Bodyblow"[0172], EnemyAttack)
  42079. 0x073 LocalVar:Count <- 0
  42080. 0x079 }
  42081. 0x079 Else
  42082. 0x079 {
  42083. 0x07CPOP(LocalVar:Count)
  42084. 0x07DSCRIPT END
  42085.  
  42086.  
  42087. GENERAL COUNTER:
  42088.  
  42089. 0x000 If ( ( (BattleAddr(&Self).BattleAddr(&CurrentHP) <= BattleAddr(&Self).BattleAddr(&MaxHP) / 4) And Not (Random MOD 3) ) )
  42090. 0x000 {
  42091. 0x01B If ( (BattleAddr(&Self).BattleAddr(&CurrentMP) >= MPCost(Fire2 [001C])) )
  42092. 0x01B {
  42093. 0x029 BattleAddr(&TarSelected) <- BattleAddr(&Self).BattleAddr(&LastAttacker)
  42094. 0x034 Perform("Fire2"[001C], EnemyAttack)
  42095. 0x039SCRIPT END
  42096.  
  42097.  
  42098. DEATH COUNTER:
  42099.  
  42100. 0x000BattleAddr(&Self).BattleAddr(&SleepStatus) <- 0
  42101. 0x00ABattleAddr(&Self).BattleAddr(&PoisonStatus) <- 0
  42102. 0x014BattleAddr(&Self).BattleAddr(&HasteStatus) <- 0
  42103. 0x01EBattleAddr(&Self).BattleAddr(&SlowStatus) <- 0
  42104. 0x028BattleAddr(&Self).BattleAddr(&DSentenceStatus) <- 0
  42105. 0x032BattleAddr(&Self).BattleAddr(&BerserkStatus) <- 0
  42106. 0x03CSCRIPT END
  42107.  
  42108.  
  42109.  
  42110.  
  42111. 364 - [16C] Cactuar
  42112.  
  42113.  
  42114. LocalVar:0000 = LocalVar:Count
  42115. LocalVar:0020 = LocalVar:Evade
  42116.  
  42117. BattleAddr(&2060) = BattleAddr(&Self)
  42118. BattleAddr(&2070) = BattleAddr(&TarSelected)
  42119. BattleAddr(&20A0) = BattleAddr(&AllPlayers)
  42120.  
  42121. BattleAddr(&4023) = BattleAddr(&Targetable)
  42122. BattleAddr(&4024) = BattleAddr(&AIScriptActive)
  42123. BattleAddr(&4078) = BattleAddr(&Evade)
  42124.  
  42125.  
  42126.  
  42127. PRE-BATTLE:
  42128.  
  42129. 0x000LocalVar:Evade <- BattleAddr(&Self).BattleAddr(&Evade)
  42130. 0x00BSCRIPT END
  42131.  
  42132.  
  42133. MAIN:
  42134.  
  42135. 0x000 If (LocalVar:Count == 0)
  42136. 0x000 {
  42137. 0x008 }
  42138. 0x008 Else
  42139. 0x008 {
  42140. 0x00B If (LocalVar:Count == 1)
  42141. 0x00B {
  42142. 0x010 If (Random MOD 2)
  42143. 0x010 {
  42144. 0x017 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  42145. 0x01F Perform("Mystery Kick"[036B], EnemyAttack)
  42146. 0x025 }
  42147. 0x025 Else
  42148. 0x025 {
  42149. 0x028 }
  42150. 0x028 Else
  42151. 0x028 {
  42152. 0x02B If (LocalVar:Count == 2)
  42153. 0x02B {
  42154. 0x030 }
  42155. 0x030 Else
  42156. 0x030 {
  42157. 0x033 If (LocalVar:Count == 3)
  42158. 0x033 {
  42159. 0x038 }
  42160. 0x038 Else
  42161. 0x038 {
  42162. 0x03B If (LocalVar:Count == 4)
  42163. 0x03B {
  42164. 0x040 BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  42165. 0x048 Perform("Mystery Kick"[036B], EnemyAttack)
  42166. 0x04E If (Random MOD 2)
  42167. 0x04E {
  42168. 0x055 BattleAddr(&TarSelected) <- BattleAddr(&Self)
  42169. 0x05C Perform("(Report)"[0164], EnemyAttack)
  42170. 0x062 RunScript(15)
  42171. 0x067 }
  42172. 0x067 Else
  42173. 0x067 {
  42174. 0x06A }
  42175. 0x06A Else
  42176. 0x06A {
  42177. 0x06D BattleAddr(&TarSelected) <- RandomBit(BattleAddr(&AllPlayers))
  42178. 0x075 Perform("Mystery Kick"[036B], EnemyAttack)
  42179. 0x07B BattleAddr(&TarSelected) <- BattleAddr(&Self)
  42180. 0x082 Perform("(Report)"[0164], EnemyAttack)
  42181. 0x088 RunScript(15)
  42182. 0x08D }
  42183. 0x08D Else
  42184. 0x08D {
  42185. 0x090POP(LocalVar:Count)
  42186. 0x091LocalVar:Count <- LocalVar:Count + 1
  42187. 0x09BSCRIPT END
  42188.  
  42189.  
  42190. PRE-ACTION SETUP:
  42191.  
  42192. 0x000BattleAddr(&Self).BattleAddr(&Evade) <- LocalVar:Evade
  42193. 0x00B If ( (Random MOD 8 != 0) )
  42194. 0x00B {
  42195. 0x015 BattleAddr(&Self).BattleAddr(&Evade) <- 255
  42196. 0x01FSCRIPT END
  42197.  
  42198.  
  42199. CUSTOM EVENT 8:
  42200.  
  42201. 0x000BattleAddr(&Self).BattleAddr(&Targetable) <- 0
  42202. 0x00ABattleAddr(&Self).BattleAddr(&AIScriptActive) <- 0
  42203. 0x014SCRIPT END
Add Comment
Please, Sign In to add comment