OctoAori

To Fix

May 12th, 2025
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.67 KB | None | 0 0
  1. ; The CMD file.
  2. ;
  3. ; Two parts: 1. Command definition and 2. State entry
  4. ; (state entry is after the commands def section)
  5. ;
  6. ; 1. Command definition
  7. ; ---------------------
  8. ; Note: The commands are CASE-SENSITIVE, and so are the command names.
  9. ; The eight directions are:
  10. ; B, DB, D, DF, F, UF, U, UB (all CAPS)
  11. ; corresponding to back, down-back, down, downforward, etc.
  12. ; The six buttons are:
  13. ; a, b, c, x, y, z (all lower case)
  14. ; In default key config, abc are are the bottom, and xyz are on the
  15. ; top row. For 2 button characters, we recommend you use a and b.
  16. ; For 6 button characters, use abc for kicks and xyz for punches.
  17. ;
  18. ; Each [Command] section defines a command that you can use for
  19. ; state entry, as well as in the CNS file.
  20. ; The command section should look like:
  21. ;
  22. ; [Command]
  23. ; name = some_name
  24. ; command = the_command
  25. ; time = time (optional)
  26. ; buffer.time = time (optional)
  27. ;
  28. ; - some_name
  29. ; A name to give that command. You'll use this name to refer to
  30. ; that command in the state entry, as well as the CNS. It is case-
  31. ; sensitive (QCB_a is NOT the same as Qcb_a or QCB_A).
  32. ;
  33. ; - command
  34. ; list of buttons or directions, separated by commas. Each of these
  35. ; buttons or directions is referred to as a "symbol".
  36. ; Directions and buttons can be preceded by special characters:
  37. ; slash (/) - means the key must be held down
  38. ; egs. command = /D ;hold the down direction
  39. ; command = /DB, a ;hold down-back while you press a
  40. ; tilde (~) - to detect key releases
  41. ; egs. command = ~a ;release the a button
  42. ; command = ~D, F, a ;release down, press fwd, then a
  43. ; If you want to detect "charge moves", you can specify
  44. ; the time the key must be held down for (in game-ticks)
  45. ; egs. command = ~30a ;hold a for at least 30 ticks, then release
  46. ; dollar ($) - Direction-only: detect as 4-way
  47. ; egs. command = $D ;will detect if D, DB or DF is held
  48. ; command = $B ;will detect if B, DB or UB is held
  49. ; plus (+) - Buttons only: simultaneous press
  50. ; egs. command = a+b ;press a and b at the same time
  51. ; command = x+y+z ;press x, y and z at the same time
  52. ; greater-than (>) - means there must be no other keys pressed or released
  53. ; between the previous and the current symbol.
  54. ; egs. command = a, >~a ;press a and release it without having hit
  55. ; ;or released any other keys in between
  56. ; You can combine the symbols:
  57. ; eg. command = ~30$D, a+b ;hold D, DB or DF for 30 ticks, release,
  58. ; ;then press a and b together
  59. ;
  60. ; Note: Successive direction symbols are always expanded in a manner similar
  61. ; to this example:
  62. ; command = F, F
  63. ; is expanded when MUGEN reads it, to become equivalent to:
  64. ; command = F, >~F, >F
  65. ;
  66. ; It is recommended that for most "motion" commads, eg. quarter-circle-fwd,
  67. ; you start off with a "release direction". This makes the command easier
  68. ; to do.
  69. ;
  70. ; - time (optional)
  71. ; Time allowed to do the command, given in game-ticks. The default
  72. ; value for this is set in the [Defaults] section below. A typical
  73. ; value is 15.
  74. ;
  75. ; - buffer.time (optional)
  76. ; Time that the command will be buffered for. If the command is done
  77. ; successfully, then it will be valid for this time. The simplest
  78. ; case is to set this to 1. That means that the command is valid
  79. ; only in the same tick it is performed. With a higher value, such
  80. ; as 3 or 4, you can get a "looser" feel to the command. The result
  81. ; is that combos can become easier to do because you can perform
  82. ; the command early. Attacks just as you regain control (eg. from
  83. ; getting up) also become easier to do. The side effect of this is
  84. ; that the command is continuously asserted, so it will seem as if
  85. ; you had performed the move rapidly in succession during the valid
  86. ; time. To understand this, try setting buffer.time to 30 and hit
  87. ; a fast attack, such as KFM's light punch.
  88. ; The default value for this is set in the [Defaults] section below.
  89. ; This parameter does not affect hold-only commands (eg. /F). It
  90. ; will be assumed to be 1 for those commands.
  91. ;
  92. ; If you have two or more commands with the same name, all of them will
  93. ; work. You can use it to allow multiple motions for the same move.
  94. ;
  95. ; Some common commands examples are given below.
  96. ;
  97. ; [Command] ;Quarter circle forward + x
  98. ; name = "QCF_x"
  99. ; command = ~D, DF, F, x
  100. ;
  101. ; [Command] ;Half circle back + a
  102. ; name = "HCB_a"
  103. ; command = ~F, DF, D, DB, B, a
  104. ;
  105. ; [Command] ;Two quarter circles forward + y
  106. ; name = "2QCF_y"
  107. ; command = ~D, DF, F, D, DF, F, y
  108. ;
  109. ; [Command] ;Tap b rapidly
  110. ; name = "5b"
  111. ; command = b, b, b, b, b
  112. ; time = 30
  113. ;
  114. ; [Command] ;Charge back, then forward + z
  115. ; name = "charge_B_F_z"
  116. ; command = ~60$B, F, z
  117. ; time = 10
  118. ;
  119. ; [Command] ;Charge down, then up + c
  120. ; name = "charge_D_U_c"
  121. ; command = ~60$D, U, c
  122. ; time = 10
  123.  
  124.  
  125. ;-| Button Remapping |-----------------------------------------------------
  126. ; This section lets you remap the player's buttons (to easily change the
  127. ; button configuration). The format is:
  128. ; old_button = new_button
  129. ; If new_button is left blank, the button cannot be pressed.
  130. [Remap]
  131. x = x
  132. y = y
  133. z = z
  134. a = a
  135. b = b
  136. c = c
  137. s = s
  138.  
  139. ;-| Default Values |-------------------------------------------------------
  140. [Defaults]
  141. ; Default value for the "time" parameter of a Command. Minimum 1.
  142. command.time = 15
  143.  
  144. ; Default value for the "buffer.time" parameter of a Command. Minimum 1,
  145. ; maximum 30.
  146. command.buffer.time = 1
  147.  
  148.  
  149. ;-| Super Motions |--------------------------------------------------------
  150. ;The following two have the same name, but different motion.
  151. ;Either one will be detected by a "command = TripleKFPalm" trigger.
  152. ;Time is set to 20 (instead of default of 15) to make the move
  153. ;easier to do.
  154. ;
  155. [Command]
  156. name = "SRS"
  157. command = ~D, DF, F, D, DF, F, y
  158. time = 30
  159.  
  160. [Command]
  161. name = "SRS"
  162. command = ~D, DF, F, D, DF, F, x
  163. time = 30
  164.  
  165. [Command]
  166. name = "SSRS"
  167. command = ~D, DF, F, D, DF, F, x+y
  168. time = 30
  169.  
  170. [Command]
  171. name = "SDC"
  172. command = ~D, DB, B, D, DB, B, y
  173. time = 30
  174.  
  175. [Command]
  176. name = "SDC"
  177. command = ~D, DB, B, D, DB, B, x
  178. time = 30
  179.  
  180. [Command]
  181. name = "SSDC"
  182. command = ~D, DB, B, D, DB, B, x+y
  183. time = 30
  184.  
  185. [Command]
  186. name = "DC"
  187. command = ~10$B, F, B, F, x+y
  188. time = 30
  189.  
  190. ;-| Special Motions |------------------------------------------------------
  191. [Command]
  192. name = "upper_x"
  193. command = ~F, D, DF, x
  194.  
  195. [Command]
  196. name = "upper_y"
  197. command = ~F, D, DF, y
  198.  
  199. [Command]
  200. name = "upper_xy"
  201. command = ~F, D, DF, x+y
  202.  
  203. [Command]
  204. name = "QCF_x"
  205. command = ~D, DF, F, x
  206.  
  207. [Command]
  208. name = "QCF_y"
  209. command = ~D, DF, F, y
  210.  
  211. [Command]
  212. name = "QCF_xy"
  213. command = ~D, DF, F, x+y
  214.  
  215. [Command]
  216. name = "QCB_x"
  217. command = ~D, DB, B, x
  218.  
  219. [Command]
  220. name = "QCB_y"
  221. command = ~D, DB, B, y
  222.  
  223. [Command]
  224. name = "QCB_xy"
  225. command = ~D, DB, B, x+y
  226.  
  227. [Command]
  228. name = "DU_x"
  229. command = ~10$D, U, x
  230.  
  231. [Command]
  232. name = "FF_ab"
  233. command = F, F, a+b
  234.  
  235. [Command]
  236. name = "FF_a"
  237. command = F, F, a
  238.  
  239. [Command]
  240. name = "FF_b"
  241. command = F, F, b
  242.  
  243. ;-| Double Tap |-----------------------------------------------------------
  244. [Command]
  245. name = "FF" ;Required (do not remove)
  246. command = F, F
  247. time = 10
  248.  
  249. [Command]
  250. name = "BB" ;Required (do not remove)
  251. command = B, B
  252. time = 10
  253.  
  254. ;-| 2/3 Button Combination |-----------------------------------------------
  255. [Command]
  256. name = "recovery";Required (do not remove)
  257. command = x+y
  258. time = 1
  259.  
  260. ;-| Dir + Button |---------------------------------------------------------
  261. [Command]
  262. name = "down_a"
  263. command = /$D,a
  264. time = 1
  265.  
  266. [Command]
  267. name = "down_b"
  268. command = /$D,b
  269. time = 1
  270.  
  271. ;-| Single Button |---------------------------------------------------------
  272. [Command]
  273. name = "a"
  274. command = a
  275. time = 1
  276.  
  277. [Command]
  278. name = "b"
  279. command = b
  280. time = 1
  281.  
  282. [Command]
  283. name = "c"
  284. command = c
  285. time = 1
  286.  
  287. [Command]
  288. name = "x"
  289. command = x
  290. time = 1
  291.  
  292. [Command]
  293. name = "y"
  294. command = y
  295. time = 1
  296.  
  297. [Command]
  298. name = "z"
  299. command = z
  300. time = 1
  301.  
  302. [Command]
  303. name = "start"
  304. command = s
  305. time = 1
  306.  
  307. ;-| Hold Dir |--------------------------------------------------------------
  308. [Command]
  309. name = "holdfwd";Required (do not remove)
  310. command = /$F
  311. time = 1
  312.  
  313. [Command]
  314. name = "holdback";Required (do not remove)
  315. command = /$B
  316. time = 1
  317.  
  318. [Command]
  319. name = "holdup" ;Required (do not remove)
  320. command = /$U
  321. time = 1
  322.  
  323. [Command]
  324. name = "holddown";Required (do not remove)
  325. command = /$D
  326. time = 1
  327.  
  328. ;---------------------------------------------------------------------------
  329. ; 2. State entry
  330. ; --------------
  331. ; This is where you define what commands bring you to what states.
  332. ;
  333. ; Each state entry block looks like:
  334. ; [State -1, Label] ;Change Label to any name you want to use to
  335. ; ;identify the state with.
  336. ; type = ChangeState ;Don't change this
  337. ; value = new_state_number
  338. ; trigger1 = command = command_name
  339. ; . . . (any additional triggers)
  340. ;
  341. ; - new_state_number is the number of the state to change to
  342. ; - command_name is the name of the command (from the section above)
  343. ; - Useful triggers to know:
  344. ; - statetype
  345. ; S, C or A : current state-type of player (stand, crouch, air)
  346. ; - ctrl
  347. ; 0 or 1 : 1 if player has control. Unless "interrupting" another
  348. ; move, you'll want ctrl = 1
  349. ; - stateno
  350. ; number of state player is in - useful for "move interrupts"
  351. ; - movecontact
  352. ; 0 or 1 : 1 if player's last attack touched the opponent
  353. ; useful for "move interrupts"
  354. ;
  355. ; Note: The order of state entry is important.
  356. ; State entry with a certain command must come before another state
  357. ; entry with a command that is the subset of the first.
  358. ; For example, command "fwd_a" must be listed before "a", and
  359. ; "fwd_ab" should come before both of the others.
  360. ;
  361. ; For reference on triggers, see CNS documentation.
  362. ;
  363. ; Just for your information (skip if you're not interested):
  364. ; This part is an extension of the CNS. "State -1" is a special state
  365. ; that is executed once every game-tick, regardless of what other state
  366. ; you are in.
  367.  
  368.  
  369. ; Don't remove the following line. It's required by the CMD standard.
  370. [Statedef -1]
  371.  
  372. ;===========================================================================
  373. ;---------------------------------------------------------------------------
  374. ;AI Only
  375. [State -1, Taunt]
  376. type = ChangeState
  377. value = 195
  378. triggerall = AILevel
  379. triggerall = statetype != A
  380. triggerall = ctrl
  381. triggerall = enemynear, numproj = 0
  382. triggerall = enemynear, movetype != A
  383. triggerall = ((Life*100)/LifeMax) >= 40
  384. trigger1 = p2bodydist x >= 150
  385. trigger1 = life >= enemynear, life
  386. trigger1 = random <= 6 && AILevel >= 6 || random <= 20 && AIlevel >= 3 && AIlevel <= 5 || random <= 40 &&AIlevel >= 1 && AIlevel <= 2
  387. trigger1 = roundstate = 2
  388. trigger2 = roundstate = 3
  389. trigger2 = prevstateno != [195,199]
  390. trigger2 = win
  391.  
  392. [State -1, AI Jump]
  393. type = null
  394. value = 40
  395. triggerall = var(59)
  396. triggerall = roundstate = 2
  397. triggerall = statetype != A
  398. triggerall = ctrl
  399. triggerall = stateno != 40
  400. trigger1 = enemynear, movetype = A && p2bodydist x < 160 && enemynear, hitdefattr = SC, AT
  401. trigger1 = AILevel >= 4
  402. trigger1 = random<var(50)*2.0
  403. trigger2 = numtarget(1000)
  404. trigger2 = random<var(50)*2.0
  405. trigger2 = enemynear,statetype = A
  406. trigger2 = enemynear,movetype = H
  407. trigger2 = AILevel > 3
  408.  
  409. ;Dragon Crush
  410. [State -1, DC]
  411. type = ChangeState
  412. value = 3020
  413. triggerall = var(59)
  414. triggerall = power >= 3000
  415. triggerall = AILevel>2
  416. triggerall = statetype != A
  417. triggerall = p2bodydist x <= 195
  418. triggerall = p2bodydist y >= -50
  419. triggerall = p2statetype != A
  420. triggerall = p2statetype != L
  421. triggerall = p2movetype != H
  422. triggerall = enemynear,stateno != [1120,1122]
  423. triggerall = enemynear,stateno != 5120
  424. triggerall = enemynear,prevstateno != 5120
  425. trigger1 = AILevel >= 3 && AILevel <= 5 && random<var(50)*1.0 || AILevel >= 6 && random<var(50)*2.0
  426. trigger1 = ctrl
  427.  
  428. ;SSRS
  429. [State -1, SRS]
  430. type = ChangeState
  431. value = 3010
  432. triggerall = var(59)
  433. triggerall = power >= 2000
  434. triggerall = AILevel>2
  435. triggerall = statetype != A
  436. triggerall = p2bodydist x <= 120
  437. triggerall = p2bodydist y >= -73
  438. triggerall = p2statetype != L
  439. trigger1 = ctrl || stateno = 100 || stateno = 101
  440. trigger1 = random<var(50)*0.02
  441. trigger2 = stateno = 400
  442. trigger2 = movehit
  443. trigger2 = var(0) && var(3) && var(4)
  444. trigger2 = random<var(50)*0.5
  445. trigger3 = stateno = 210
  446. trigger3 = numtarget(210)
  447. trigger3 = random<var(50)*0.5
  448. trigger3 = var(0) && var(3) && var(4)
  449. trigger4 = stateno = 210
  450. trigger4 = movehit
  451. trigger4 = time >= 32 || p2bodydist x >= 40
  452. trigger4 = random<var(50)*0.5
  453. trigger4 = var(0) && var(3) && var(4)
  454. trigger5 = ctrl || stateno = 100 || stateno = 101
  455. trigger5 = enemynear,movetype = A
  456. trigger5 = enemynear,time <= 6
  457. trigger5 = random<var(50)*0.2
  458. trigger5 = AILevel >= 6
  459.  
  460. ;SSDC
  461. [State -1, SRS]
  462. type = ChangeState
  463. value = 3015
  464. triggerall = var(59)
  465. triggerall = power >= 2000
  466. triggerall = AILevel>2
  467. triggerall = statetype != A
  468. triggerall = p2bodydist x <= 100
  469. triggerall = p2bodydist y >= -70
  470. triggerall = p2statetype != L
  471. trigger1 = ctrl || stateno = 100 || stateno = 101
  472. trigger1 = random<var(50)*0.02
  473. trigger2 = stateno = 400
  474. trigger2 = movehit
  475. trigger2 = var(0) && var(3) && var(4)
  476. trigger2 = random<var(50)*0.5
  477. trigger3 = stateno = 210
  478. trigger3 = numtarget(210)
  479. trigger3 = random<var(50)*0.5
  480. trigger3 = var(0) && var(3) && var(4)
  481. trigger4 = stateno = 210
  482. trigger4 = movehit
  483. trigger4 = time >= 32 || p2bodydist x >= 40
  484. trigger4 = random<var(50)*0.5
  485. trigger4 = var(0) && var(3) && var(4)
  486. trigger5 = ctrl || stateno = 100 || stateno = 101
  487. trigger5 = enemynear,movetype = A
  488. trigger5 = enemynear,time <= 6
  489. trigger5 = random<var(50)*0.2
  490. trigger5 = AILevel >= 6
  491.  
  492. ;SRS
  493. [State -1, SRS]
  494. type = ChangeState
  495. value = 3000
  496. triggerall = var(59)
  497. triggerall = power >= 1000
  498. triggerall = AILevel>2
  499. triggerall = statetype != A
  500. triggerall = p2bodydist x <= 138
  501. triggerall = p2bodydist y >= -83
  502. triggerall = p2statetype != L
  503. trigger1 = ctrl || stateno = 100 || stateno = 101
  504. trigger1 = random<var(50)*0.02
  505. trigger2 = stateno = 400
  506. trigger2 = movehit
  507. trigger2 = var(0) && var(3) && var(4)
  508. trigger2 = random<var(50)*0.5
  509. trigger3 = stateno = 210
  510. trigger3 = numtarget(210)
  511. trigger3 = random<var(50)*0.5
  512. trigger3 = var(0) && var(3) && var(4)
  513. trigger4 = stateno = 210
  514. trigger4 = movehit
  515. trigger4 = time >= 32 || p2bodydist x >= 40
  516. trigger4 = random<var(50)*0.5
  517. trigger4 = var(0) && var(3) && var(4)
  518. trigger5 = ctrl || stateno = 100 || stateno = 101
  519. trigger5 = enemynear,movetype = A
  520. trigger5 = enemynear,time <= 6
  521. trigger5 = random<var(50)*0.2
  522. trigger5 = AILevel >= 6
  523.  
  524. ;SDC
  525. [State -1, SRS]
  526. type = ChangeState
  527. value = 3005
  528. triggerall = var(59)
  529. triggerall = power >= 1000
  530. triggerall = AILevel>2
  531. triggerall = statetype != A
  532. triggerall = p2bodydist x <= 117
  533. triggerall = p2bodydist y >= -83
  534. triggerall = p2statetype != L
  535. trigger1 = ctrl || stateno = 100 || stateno = 101
  536. trigger1 = random<var(50)*0.02
  537. trigger2 = stateno = 400
  538. trigger2 = movehit
  539. trigger2 = var(0) && var(3) && var(4)
  540. trigger2 = random<var(50)*0.5
  541. trigger3 = stateno = 210
  542. trigger3 = numtarget(210)
  543. trigger3 = random<var(50)*0.5
  544. trigger3 = var(0) && var(3) && var(4)
  545. trigger4 = stateno = 210
  546. trigger4 = movehit
  547. trigger4 = time >= 32 || p2bodydist x >= 40
  548. trigger4 = random<var(50)*0.5
  549. trigger4 = var(0) && var(3) && var(4)
  550. trigger5 = ctrl || stateno = 100 || stateno = 101
  551. trigger5 = enemynear,movetype = A
  552. trigger5 = enemynear,time <= 6
  553. trigger5 = random<var(50)*0.2
  554. trigger5 = AILevel >= 6
  555.  
  556. ;AI Throw
  557. [State -1, AI throw them]
  558. type = ChangeState
  559. value = 800
  560. triggerall = var(59)
  561. triggerall = statetype != A
  562. triggerall = ctrl
  563. triggerall = p2statetype != L
  564. triggerall = enemynear,stateno != [1120,1122]
  565. triggerall = enemynear,stateno != 5120
  566. triggerall = enemynear,prevstateno != 5120
  567. trigger1 = p2bodydist x <= 24
  568. trigger1 = p2movetype != H
  569. trigger1 = p2statetype != A
  570. trigger1 = random<var(50)*0.5
  571. trigger2 = enemynear, stateno >= 120 && enemynear, stateno <= 155 && p2bodydist x <= 24
  572. trigger2 = p2statetype != A
  573. trigger2 = p2movetype != H
  574. trigger2 = random<var(50)*1.0
  575. trigger2 = AILevel >= 6
  576.  
  577. ;AI Run Fwd
  578. [State -1, AI stumble really fast to the enemy]
  579. type = ChangeState
  580. value = 100
  581. Triggerall=!Inguarddist
  582. triggerall = var(59)
  583. triggerall = AILevel >= 3
  584. triggerall = statetype != A
  585. triggerall = ctrl
  586. triggerall = stateno != [100,101]
  587. triggerall = p2movetype != A
  588. triggerall = enemynear, numproj = 0
  589. trigger1 = p2bodydist x >= 50
  590. trigger1 = random<var(50)*0.1
  591. trigger2 = p2statetype = L && p2bodydist x >= 50
  592. trigger2 = random<var(50)*1.0
  593.  
  594. ;Stand Light Punch
  595. [State -1, AI Stand Light Punch]
  596. type = ChangeState
  597. value = 200
  598. triggerall = var(59)
  599. triggerall = statetype != A
  600. triggerall = ctrl || stateno = [100,101]
  601. triggerall = p2bodydist x <= 33
  602. triggerall = p2bodydist Y = [-44,88]
  603. triggerall = p2statetype != L
  604. triggerall = enemynear,stateno != 5120
  605. trigger1 = random<var(50)*1.1
  606.  
  607. [State -1, AI Crouch kick]
  608. type = ChangeState
  609. value = 400
  610. triggerall = !inguarddist
  611. triggerall = var(59)
  612. triggerall = !var(0)
  613. triggerall = statetype != A
  614. triggerall = p2bodydist x <= 72
  615. triggerall = p2bodydist Y >= -32
  616. triggerall = enemynear,stateno != 5120
  617. trigger1 = ctrl || stateno = 101
  618. trigger1 = random<var(50)*0.2
  619. trigger1 = AILevel <= 5
  620. trigger2 = ctrl || stateno = 101
  621. trigger2 = random<var(50)*0.3
  622. trigger2 = enemynear,statetype != C
  623. trigger2 = AILevel > 5
  624. trigger3 = stateno = 220
  625. trigger3 = movehit && random<var(50)*2.0 || movecontact && random<var(50)*0.6 && AILevel <= 5 || movecontact && enemynear,statetype != C && random<var(50)*0.6 && AILevel > 5
  626. trigger4 = stateno = 210
  627. trigger4 = p2bodydist x > 47
  628. trigger4 = movehit && random<var(50)*2.0 || movecontact && random<var(50)*0.6 && AILevel <= 5 || movecontact && enemynear,statetype != C && random<var(50)*0.6 && AILevel > 5
  629. trigger5 = ctrl || stateno = 101
  630. trigger5 = enemynear,statetype = L
  631. trigger5 = random<var(50)*2.0
  632.  
  633. [State -1, AI jump Light Punch]
  634. type = ChangeState
  635. value = 600
  636. triggerall = !inguarddist
  637. triggerall = var(59)
  638. triggerall = statetype = A
  639. triggerall = p2bodydist x <= 33 || vel x > 0 && p2bodydist x <= 60
  640. triggerall = p2bodydist Y = [-44,88]
  641. triggerall = p2statetype != L
  642. triggerall = random<var(50)*1.1
  643. triggerall = enemynear,stateno != 5120
  644. trigger1 = ctrl
  645. ;trigger2 = stateno = 400
  646. ;trigger2 = time >= 6
  647.  
  648. ;AI Guarding
  649.  
  650. [State -1]
  651. type = ChangeState
  652. triggerall = (roundstate = 2) && (var(59) != 0)
  653. triggerall = (Ctrl) && (p2movetype = A) && (statetype = S)
  654. trigger1 = (p2bodydist X <= 250) && (random <= 799)
  655. value = 130
  656.  
  657. [State -1]
  658. type = ChangeState
  659. triggerall = (roundstate = 2) && (var(59) != 0)
  660. triggerall = (Ctrl) && (p2movetype = A) && (statetype = C)
  661. trigger1 = (p2bodydist X <= 250) && (random <= 799)
  662. value = 131
  663.  
  664. [State -1]
  665. type = ChangeState
  666. triggerall = (roundstate = 2) && (var(59) != 0)
  667. triggerall = (Ctrl) && (p2movetype = A) && (statetype = A)
  668. trigger1 = (p2bodydist X <= 250) && (random <= 799)
  669. value = 132
  670.  
  671. [State -1, ]
  672. type = ChangeState
  673. value = 1000
  674. triggerall = var(59)
  675. triggerall = AILevel>1
  676. triggerall = statetype != A
  677. triggerall = p2bodydist x <= 30
  678. triggerall = p2bodydist Y >= -60
  679. triggerall = p2statetype != L
  680. triggerall = enemynear,stateno != 5120
  681. trigger1 = ctrl || stateno = 100 || stateno = 101
  682. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  683. trigger1 = !var(3) || var(1) && var(0) && var(4)
  684. trigger1 = p2bodydist x > 33
  685. trigger2 = stateno = 400
  686. trigger2 = movehit
  687. trigger2 = random<var(50)*2.0
  688. trigger2 = !var(3) || var(1) && var(0) && var(4)
  689. trigger3 = stateno = 210
  690. trigger3 = numtarget(210) || numtarget(600)
  691. trigger3 = random<var(50)*2.0
  692. trigger3 = !var(3) || var(1) && var(0) && var(4)
  693. trigger4 = stateno = 210
  694. trigger4 = movehit
  695. trigger4 = time >= 32 || p2bodydist x >= 40
  696. trigger4 = random<var(50)*2.0
  697. trigger4 = !var(3) || var(1) && var(0) && var(4)
  698.  
  699. [State -1, ]
  700. type = ChangeState
  701. value = 1011
  702. triggerall = var(59)
  703. triggerall = AILevel>1
  704. triggerall = statetype = A
  705. triggerall = p2bodydist x <= 20
  706. triggerall = p2bodydist Y >= -40
  707. triggerall = p2statetype != L
  708. triggerall = enemynear,stateno != 5120
  709. trigger1 = ctrl || stateno = 100 || stateno = 101
  710. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  711. trigger1 = !var(3) || var(1) && var(0) && var(4)
  712. trigger1 = p2bodydist x > 33
  713. trigger2 = stateno = 600
  714. trigger2 = movehit
  715. trigger2 = random<var(50)*2.0
  716. trigger2 = !var(3) || var(1) && var(0) && var(4)
  717.  
  718. [State -1, ]
  719. type = ChangeState
  720. value = 1020
  721. ;triggerall = power >= 500
  722. triggerall = fvar(3) = 1
  723. triggerall = var(59)
  724. triggerall = AILevel>1
  725. triggerall = statetype != A
  726. triggerall = p2bodydist x <= 57
  727. triggerall = p2bodydist Y >= -68
  728. triggerall = p2statetype != L
  729. triggerall = enemynear,stateno != 5120
  730. trigger1 = ctrl || stateno = 100 || stateno = 101
  731. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  732. trigger1 = !var(3) || var(1) && var(0) && var(4)
  733. trigger1 = p2bodydist x > 33
  734. trigger2 = stateno = 400
  735. trigger2 = movehit
  736. trigger2 = random<var(50)*2.0
  737. trigger2 = !var(3) || var(1) && var(0) && var(4)
  738. trigger3 = stateno = 210
  739. trigger3 = numtarget(210) || numtarget(600)
  740. trigger3 = random<var(50)*2.0
  741. trigger3 = !var(3) || var(1) && var(0) && var(4)
  742. trigger4 = stateno = 210
  743. trigger4 = movehit
  744. trigger4 = time >= 32 || p2bodydist x >= 40
  745. trigger4 = random<var(50)*2.0
  746. trigger4 = !var(3) || var(1) && var(0) && var(4)
  747.  
  748. [State -1, ]
  749. type = ChangeState
  750. value = 1020
  751. ;triggerall = power >= 500
  752. triggerall = fvar(3) = 1
  753. triggerall = var(59)
  754. triggerall = AILevel>1
  755. triggerall = statetype = A
  756. triggerall = p2bodydist x <= 57
  757. triggerall = p2bodydist Y >= -68
  758. triggerall = p2statetype != L
  759. triggerall = enemynear,stateno != 5120
  760. trigger1 = ctrl || stateno = 100 || stateno = 101
  761. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  762. trigger1 = !var(3) || var(1) && var(0) && var(4)
  763. trigger1 = p2bodydist x > 33
  764. trigger2 = stateno = 600
  765. trigger2 = movehit
  766. trigger2 = random<var(50)*2.0
  767. trigger2 = !var(3) || var(1) && var(0) && var(4)
  768.  
  769. [State -1, Downward]
  770. type = ChangeState
  771. value = 1050
  772. ;triggerall = power >= 500
  773. triggerall = fvar(3) = 1
  774. triggerall = var(59)
  775. triggerall = AILevel>1
  776. triggerall = statetype = A
  777. triggerall = p2bodydist x <= 30
  778. triggerall = p2bodydist Y >= -20
  779. triggerall = p2statetype != L
  780. triggerall = enemynear,stateno != 5120
  781. trigger1 = ctrl || stateno = 100 || stateno = 101
  782. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  783. trigger1 = !var(3) || var(1) && var(0) && var(4)
  784. trigger1 = p2bodydist x > 33
  785. trigger2 = stateno = 600
  786. trigger2 = movehit
  787. trigger2 = random<var(50)*2.0
  788. trigger2 = !var(3) || var(1) && var(0) && var(4)
  789.  
  790. [State -1, Upward]
  791. type = ChangeState
  792. value = 1023
  793. ;triggerall = power >= 500
  794. triggerall = fvar(3) = 1
  795. triggerall = var(59)
  796. triggerall = AILevel>1
  797. triggerall = statetype = A
  798. triggerall = p2bodydist x <= 50
  799. triggerall = p2bodydist Y >= -100
  800. triggerall = p2statetype != L
  801. triggerall = enemynear,stateno != 5120
  802. trigger1 = ctrl || stateno = 100 || stateno = 101
  803. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  804. trigger1 = !var(3) || var(1) && var(0) && var(4)
  805. trigger1 = p2bodydist x > 33
  806. trigger2 = stateno = 600
  807. trigger2 = movehit
  808. trigger2 = random<var(50)*2.0
  809. trigger2 = !var(3) || var(1) && var(0) && var(4)
  810.  
  811. [State -1, ]
  812. type = ChangeState
  813. value = 1025
  814. triggerall = var(59)
  815. triggerall = AILevel>1
  816. triggerall = statetype != A
  817. triggerall = p2bodydist x <= 70
  818. triggerall = p2bodydist Y >= -68
  819. triggerall = p2statetype != L
  820. triggerall = enemynear,stateno != 5120
  821. trigger1 = ctrl || stateno = 100 || stateno = 101
  822. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  823. trigger1 = !var(3) || var(1) && var(0) && var(4)
  824. trigger1 = p2bodydist x > 33
  825. trigger2 = stateno = 400
  826. trigger2 = movehit
  827. trigger2 = random<var(50)*2.0
  828. trigger2 = !var(3) || var(1) && var(0) && var(4)
  829. trigger3 = stateno = 210
  830. trigger3 = numtarget(210) || numtarget(600)
  831. trigger3 = random<var(50)*2.0
  832. trigger3 = !var(3) || var(1) && var(0) && var(4)
  833. trigger4 = stateno = 210
  834. trigger4 = movehit
  835. trigger4 = time >= 32 || p2bodydist x >= 40
  836. trigger4 = random<var(50)*2.0
  837. trigger4 = !var(3) || var(1) && var(0) && var(4)
  838.  
  839. [State -1, ]
  840. type = ChangeState
  841. value = 1069
  842. triggerall = var(59)
  843. triggerall = AILevel>1
  844. triggerall = statetype = A
  845. triggerall = p2bodydist x <= 70
  846. triggerall = p2bodydist Y >= -68
  847. triggerall = p2statetype != L
  848. triggerall = enemynear,stateno != 5120
  849. trigger1 = ctrl || stateno = 100 || stateno = 101
  850. trigger1 = random<var(50)*0.2 || enemynear,statetype = A && random<var(50)*0.5
  851. trigger1 = !var(3) || var(1) && var(0) && var(4)
  852. trigger1 = p2bodydist x > 33
  853. trigger2 = stateno = 600
  854. trigger2 = movehit
  855. trigger2 = random<var(50)*2.0
  856. trigger2 = !var(3) || var(1) && var(0) && var(4)
  857.  
  858. ;---------------------------------------------------------------------------
  859. [State -1, DC]
  860. type = ChangeState
  861. value = 3020
  862. triggerall = !var(59)
  863. triggerall = command = "DC"
  864. triggerall = power >= 3000
  865. trigger1 = statetype = S
  866. trigger1 = ctrl
  867. trigger2 = stateno = 200 || stateno = 210
  868. trigger2 = movecontact
  869. trigger3 = stateno = 400
  870. trigger3 = movecontact
  871.  
  872. [State -1, SSRS]
  873. type = ChangeState
  874. value = 3010
  875. triggerall = !var(59)
  876. triggerall = command = "SSRS"
  877. triggerall = power >= 2000
  878. trigger1 = statetype = S
  879. trigger1 = ctrl
  880. trigger2 = stateno = 200 || stateno = 210
  881. trigger2 = movecontact
  882. trigger3 = stateno = 400
  883. trigger3 = movecontact
  884.  
  885. [State -1, SSDC]
  886. type = ChangeState
  887. value = 3015
  888. triggerall = numhelper(3305)!=1
  889. triggerall = !var(59)
  890. triggerall = command = "SSDC"
  891. triggerall = power >= 2000
  892. trigger1 = statetype = S
  893. trigger1 = ctrl
  894. trigger2 = stateno = 200 || stateno = 210
  895. trigger2 = movecontact
  896. trigger3 = stateno = 400
  897. trigger3 = movecontact
  898.  
  899. [State -1, SRS]
  900. type = ChangeState
  901. value = 3000
  902. triggerall = !var(59)
  903. triggerall = command = "SRS"
  904. triggerall = power >= 1000
  905. trigger1 = statetype = S
  906. trigger1 = ctrl
  907. trigger2 = stateno = 200 || stateno = 210
  908. trigger2 = movecontact
  909. trigger3 = stateno = 400
  910. trigger3 = movecontact
  911.  
  912. [State -1, SDC]
  913. type = ChangeState
  914. value = 3005
  915. triggerall = !var(59)
  916. triggerall = command = "SDC"
  917. triggerall = power >= 1000
  918. trigger1 = statetype = S
  919. trigger1 = ctrl
  920. trigger2 = stateno = 200 || stateno = 210
  921. trigger2 = movecontact
  922. trigger3 = stateno = 400
  923. trigger3 = movecontact
  924.  
  925.  
  926. ;===========================================================================
  927. ;This is not a move, but it sets up var(1) to be 1 if conditions are right
  928. ;for a combo into a special move (used below).
  929. ;Since a lot of special moves rely on the same conditions, this reduces
  930. ;redundant logic.
  931. [State -1, Combo condition Reset]
  932. type = VarSet
  933. trigger1 = 1
  934. var(1) = 0
  935.  
  936. [State -1, Combo condition Check]
  937. type = VarSet
  938. trigger1 = statetype != A
  939. trigger1 = ctrl
  940. trigger2 = (stateno = [200,299]) || (stateno = [400,499])
  941. trigger2 = stateno != 440 ;Except for sweep kick
  942. trigger2 = movecontact
  943. var(1) = 1
  944.  
  945. [State -1, Combo condition Reset]
  946. type = VarSet
  947. trigger1 = 1
  948. var(2) = 0
  949.  
  950. [State -1, Combo condition Check]
  951. type = VarSet
  952. trigger1 = statetype = A
  953. trigger1 = ctrl
  954. trigger2 = (stateno = [600,699])
  955. trigger2 = movecontact
  956. var(2) = 2
  957.  
  958. ;---------------------------------------------------------------------------
  959. [State -1, Dive kick from ground]
  960. type = NULL
  961. value = 1010
  962. triggerall = !var(59)
  963. triggerall = command = "DU_x"
  964. trigger1 = var(1)
  965.  
  966. [State -1, Rising slash]
  967. type = changestate
  968. value = 1000
  969. triggerall = !var(59)
  970. triggerall = command = "upper_x"
  971. trigger1 = var(1)
  972.  
  973. [State -1, Dive kick from air]
  974. type = changestate
  975. value = 1012
  976. triggerall = !var(59)
  977. triggerall = command = "holddown"
  978. triggerall = command = "x"
  979. trigger1 = var(2)
  980.  
  981. [State -1, Dragon cycle]
  982. type = changestate
  983. value = 1025
  984. triggerall = !var(59)
  985. triggerall = command = "QCB_x"
  986. trigger1 = var(1)
  987.  
  988. [State -1, Dragon cycle]
  989. type = changestate
  990. value = 1069
  991. triggerall = !var(59)
  992. triggerall = command = "QCB_x"
  993. trigger1 = var(2)
  994.  
  995. [State -1, Dragoon boost from ground]
  996. type = changestate
  997. value = 1020
  998. triggerall = !var(59)
  999. triggerall = command = "y"
  1000. ;triggerall = power >= 500
  1001. trigger1 = fvar(3) = 1
  1002. trigger1 = statetype != A
  1003. trigger1 = ctrl
  1004.  
  1005. [State -1, Dragoon boost from air upwards]
  1006. type = changestate
  1007. value = 1023
  1008. triggerall = !var(59)
  1009. triggerall = command = "y"
  1010. triggerall = command = "holdup"
  1011. triggerall = fvar(3) = 1
  1012. ;triggerall = power >= 500
  1013. trigger1 = var(2)
  1014.  
  1015. [State -1, Dragoon boost from air downward]
  1016. type = changestate
  1017. value = 1050
  1018. triggerall = !var(59)
  1019. triggerall = command = "y"
  1020. triggerall = command = "holddown"
  1021. triggerall = fvar(3) = 1
  1022. ;triggerall = power >= 500
  1023. trigger1 = var(2)
  1024.  
  1025. [State -1, Dragoon boost from air]
  1026. type = changestate
  1027. value = 1020
  1028. triggerall = !var(59)
  1029. triggerall = fvar(3) = 1
  1030. ;triggerall = power >= 500
  1031. ;triggerall = command = "holdup"
  1032. triggerall = command = "y"
  1033. trigger1 = var(2)
  1034.  
  1035. ;===========================================================================
  1036. ;---------------------------------------------------------------------------
  1037. ;Run Fwd
  1038. ;ƒ_ƒbƒVƒ…
  1039. [State -1, Run Fwd]
  1040. type = ChangeState
  1041. triggerall = !var(59)
  1042. value = 100
  1043. trigger1 = command = "FF"
  1044. trigger1 = statetype = S
  1045. trigger1 = ctrl
  1046.  
  1047. ;---------------------------------------------------------------------------
  1048. ;Run Back
  1049. ;Œã‘Þƒ_ƒbƒVƒ…
  1050. [State -1, Run Back]
  1051. type = changestate
  1052. triggerall = !var(59)
  1053. value = 105
  1054. trigger1 = command = "BB"
  1055. trigger1 = statetype = S
  1056. trigger1 = ctrl
  1057.  
  1058. ;---------------------------------------------------------------------------
  1059. ;Kung Fu Throw
  1060. ;“Š‚°
  1061. [State -1, Kung Fu Throw]
  1062. type = ChangeState
  1063. value = 800
  1064. triggerall = !var(59)
  1065. triggerall = command = "z"
  1066. triggerall = stateno != 100
  1067. trigger1 = statetype = S
  1068. trigger1 = ctrl
  1069.  
  1070.  
  1071.  
  1072. ;===========================================================================
  1073. ;---------------------------------------------------------------------------
  1074. [State -1, Attack]
  1075. type = ChangeState
  1076. value = 200
  1077. triggerall = !var(59)
  1078. triggerall = command = "x"
  1079. triggerall = command != "holddown"
  1080. trigger1 = statetype = S
  1081. trigger1 = ctrl || stateno = 100 || stateno = 101
  1082. trigger1 = ctrl
  1083.  
  1084. ;---------------------------------------------------------------------------
  1085.  
  1086. ;---------------------------------------------------------------------------
  1087.  
  1088.  
  1089. ;---------------------------------------------------------------------------
  1090.  
  1091.  
  1092. ;---------------------------------------------------------------------------
  1093.  
  1094. ;Taunt
  1095. ;’§”­
  1096. [State -1, Taunt]
  1097. type = ChangeState
  1098. ;value = 903
  1099. ;value = 181 +random%3
  1100. value = 195
  1101. triggerall = !var(59)
  1102. triggerall = command = "start"
  1103. trigger1 = statetype != A
  1104. trigger1 = ctrl
  1105.  
  1106. ;Taunt
  1107. ;’§”­
  1108. ;[State -1, Taunt]
  1109. ;type = ChangeState
  1110. ;value = 906
  1111. ;triggerall = !var(59)
  1112. ;triggerall = command = "b"
  1113. ;trigger1 = statetype != A
  1114. ;trigger1 = ctrl
  1115.  
  1116. ;Test Victory 2
  1117. ;’§”­
  1118. ;[State -1, Taunt]
  1119. ;type = ChangeState
  1120. ;value = 188
  1121. ;triggerall = !var(59)
  1122. ;triggerall = command = "a"
  1123. ;triggerall = command = "holddown"
  1124. ;trigger1 = statetype = C
  1125. ;trigger1 = ctrl
  1126.  
  1127. ;Test Victory
  1128. ;’§”­
  1129. ;[State -1, Taunt]
  1130. ;type = ChangeState
  1131. ;value = 182
  1132. ;triggerall = !var(59)
  1133. ;triggerall = command = "a"
  1134. ;trigger1 = statetype != A
  1135. ;trigger1 = ctrl
  1136.  
  1137. ;---------------------------------------------------------------------------
  1138. ;Crouching Light Punch
  1139. ;‚µ‚Ⴊ‚ÝŽãƒpƒ“ƒ`
  1140. [State -1, Crouching Light Punch]
  1141. type = ChangeState
  1142. value = 400
  1143. triggerall = !var(59)
  1144. triggerall = command = "x"
  1145. triggerall = command = "holddown"
  1146. trigger1 = statetype = C
  1147. trigger1 = ctrl
  1148. trigger2 = stateno = 200 || stateno = 210
  1149. trigger2 = movecontact
  1150.  
  1151. ;---------------------------------------------------------------------------
  1152.  
  1153. ;---------------------------------------------------------------------------
  1154.  
  1155.  
  1156. ;---------------------------------------------------------------------------
  1157. ;Jump Light Punch
  1158. ;‹ó’†Žãƒpƒ“ƒ`
  1159. [State -1, Jump Light Punch]
  1160. type = ChangeState
  1161. value = 600
  1162. triggerall = !var(59)
  1163. triggerall = command = "x"
  1164. trigger1 = statetype = A
  1165. trigger1 = ctrl
  1166.  
  1167.  
  1168. ;---------------------------------------------------------------------------
  1169.  
  1170.  
  1171. ;---------------------------------------------------------------------------
  1172.  
  1173. ;vore
  1174. ;“Š‚°
  1175. [State -1, vore]
  1176. type = ChangeState
  1177. value = 890
  1178. triggerall = command = "c"
  1179. triggerall = statetype = S
  1180. trigger1 = statetype != A
  1181. trigger1 = stateno = 0 || stateno = 20
  1182. trigger2 = stateno = 210 && movecontact
  1183. trigger3 = time > 5 ; Ensure enough time has passed before changing state
  1184.  
  1185. ; Toggle Logic for Inescapable Hold Move
  1186. [State -2, Init Toggle]
  1187. type = VarSet
  1188. trigger1 = roundno = 1 ; Reset at the start of each round
  1189. var(10) = 1 ; 0 = escapable, 1 = inescapable
  1190.  
  1191. [State 890, Hold Move]
  1192. type = TargetState
  1193. triggerall = var(10) = 1 ; Check if inescapable mode is ON
  1194. trigger1 = numtarget ; Ensure a target is grabbed
  1195. value = 890 ; Keep the opponent in the hold state
  1196.  
  1197. [State 890, Escape Logic]
  1198. type = TargetState
  1199. triggerall = var(10) = 0 ; Check if escapable mode is ON
  1200. trigger1 = numtarget
  1201. trigger1 = target,command = "up" || target,command = "back" ; Escape input
  1202. value = 0 ; Return opponent to neutral state
  1203.  
  1204. ; Display Toggle State (optional)
  1205. [State -2, Display Toggle State]
  1206. type = Helper
  1207. trigger1 = 1
  1208. helpertype = normal
  1209. state = 9999
  1210. name = "ToggleDisplay"
  1211. id = 9999
  1212. pos = 0, -100 ; Position above Sash
  1213.  
  1214. [State 9999, Display Message]
  1215. type = Explod
  1216. trigger1 = var(10) = 1
  1217. anim = 1001 ; Animation for "INESCAPABLE" message
  1218. pos = 0, -100
  1219. bindtime = -1
  1220.  
  1221. [State 890, Hold Move]
  1222. type = TargetState
  1223. triggerall = var(10) = 1 ; Check if inescapable mode is ON
  1224. trigger1 = numtarget ; Ensure a target is grabbed
  1225. value = 890 ; Keep the opponent in the hold state
  1226.  
  1227. [State 890, Escape Logic]
  1228. type = TargetState
  1229. triggerall = var(10) = 0 ; Only allow escape if toggle is OFF
  1230. trigger1 = numtarget ; Ensure a target is grabbed
  1231. trigger1 = target,state = 40 || target,state = 50 ; Check if opponent is jumping or moving
  1232. value = 0 ; Release the opponent ; Return opponent to neutral state
  1233.  
  1234. [State 890, Hold Move]
  1235. type = TargetState
  1236. triggerall = var(10) = 1 ; Check if inescapable mode is ON
  1237. trigger1 = numtarget ; Ensure a target is grabbed
  1238. trigger2 = time < 60 ; Hold for 60 ticks (adjust as needed)
  1239. value = 890 ; Keep the opponent in the hold state
  1240.  
  1241. [Statedef 5000]
  1242. type = S
  1243. movetype = H
  1244. physics = N
  1245. anim = 5000 ; Use an animation that represents them being trapped
  1246. ctrl = 0 ; Disable their control
  1247.  
  1248. [State 890, Trap Opponent in Belly]
  1249. type = TargetState
  1250. trigger1 = numtarget ; Ensure a target is grabbed
  1251. value = 5001 ; Send the opponent to the belly state
  1252.  
  1253. [State 5000, Prevent Escape]
  1254. type = HitOverride
  1255. trigger1 = 1
  1256. attr = SCA, NA, SA, HA ; Override all normal and special attacks
  1257. stateno = 5000 ; Keep them in the trapped state
  1258. time = -1 ; Make it last indefinitely
  1259.  
  1260. [Statedef 5001]
  1261. type = S
  1262. movetype = H
  1263. physics = N
  1264. anim = 5001 ; Use an animation that represents them being trapped in the belly
  1265. ctrl = 0 ; Disable their control
  1266.  
  1267. [State 5001, Prevent Escape]
  1268. type = HitOverride
  1269. trigger1 = 1
  1270. attr = SCA, NA, SA, HA ; Override all normal and special attacks
  1271. stateno = 5001 ; Keep them in the belly state
  1272. time = -1 ; Make it last indefinitely
  1273.  
  1274. [State 5001, Belly Animation]
  1275. type = Explod
  1276. trigger1 = 1
  1277. anim = 6001 ; Belly animation
  1278. pos = 0, 0
  1279. bindtime = -1
  1280.  
  1281. [State -2, Start Digestion]
  1282. type = VarSet
  1283. trigger1 = command = "start_digestion" ; Input to start digestion
  1284. var(11) = 1 ; 1 = digestion active
  1285.  
  1286. [Statedef 5002]
  1287. type = S
  1288. movetype = H
  1289. physics = N
  1290. anim = 5002 ; Use an animation for digestion
  1291. ctrl = 0 ; Disable their control
  1292.  
  1293. [State 5002, Damage Over Time]
  1294. type = LifeAdd
  1295. trigger1 = time % 30 = 0 ; Apply damage every 30 ticks
  1296. value = -10 ; Adjust damage as needed
  1297.  
  1298. [State 5002, Release Opponent]
  1299. type = SelfState
  1300. trigger1 = life <= 0 ; Release when health is 0
  1301. value = 0 ; Return to neutral state
  1302.  
  1303. [Command]
  1304. name = "start_digestion"
  1305. command = x ; Replace with your desired input (e.g., A + B)
  1306. time = 1
  1307.  
  1308. [State -2, Start Digestion]
  1309. type = VarSet
  1310. trigger1 = command = "start_digestion" ; Matches the name in the .cmd file
  1311. var(11) = 1 ; 1 = digestion active
Advertisement
Add Comment
Please, Sign In to add comment