Skip to content

Instantly share code, notes, and snippets.

@Jesuszilla
Last active August 13, 2021 03:27
Show Gist options
  • Save Jesuszilla/2847ed8eed699be82274e323638bc72b to your computer and use it in GitHub Desktop.
Save Jesuszilla/2847ed8eed699be82274e323638bc72b to your computer and use it in GitHub Desktop.
Projectile Detection for MUGEN (by Inktrebuchet)
;==========================================================================
;[Info]
;author = "Inktrebuchet"
;versiondate = 12/13/2018
;goal = Detect enemy projectile (helper). For use with AI. ( M.U.G.E.N | IKEMEN )
; 敵の発射物(helper)を検出する。 AIで使用する場合。
;==========================================================================
; Notes
;==========================================================================
;notes:
;-Enemy projectile now has a PlayerID use PlayerID(helper(33333333),var(3)) as a redirect.
;
;base examples of trigger use:
;
;;Enemy projectile helper distance from character.
;trigger1 = PlayerIDExist(helper(33333333),var(3))
;trigger1 = PlayerID(helper(33333333),var(3)), p2bodydist x
;
;;Enemy projectile helper velocity.
;trigger1 = PlayerIDExist(helper(33333333),var(3))
;trigger1 = PlayerID(helper(33333333),var(3)), Vel X
;
;==========================================================================
; Helper var usage.
;==========================================================================
; numhelper(33333333) Variable usage:
; This is a record of the variables that are used
;
; var(0) - highest playerid + 1
; var(3) - projectile player id while it exists
;
;==========================================================================
[Statedef 33333333]
type = A
movetype = I
physics = N
ctrl = 0
velset = 0, 0
;==========================================================================
; Config Section
;==========================================================================
anim = 9741 ; blank animation
;==========================================================================
[state 33333333, Clipboard]
type = DisplayToClipboard
trigger1 = 1
text = "Highest Playerid = %d , Projectile helper's PlayerId = %d\nBy Inktrebuchet"
params = var(0)-1, var(3)
;==========================================================================
; Detect Enemy Projectile Helper
;==========================================================================
[State 33333333, 0]
type = Null
trigger1 = var(0) = 0
trigger1 = (var(0) := id)
ignorehitpause = 1
[state 33333333, 1]
type = varadd
trigger1 = PlayerIdExist(var(0))
trigger2 = PlayerIdExist(var(0)+1)
trigger3 = PlayerIdExist(var(0)+2)
trigger4 = PlayerIdExist(var(0)+3)
trigger5 = PlayerIdExist(var(0)+4)
trigger6 = PlayerIdExist(var(0)+5)
trigger7 = PlayerIdExist(var(0)+6)
trigger8 = PlayerIdExist(var(0)+7)
trigger9 = PlayerIdExist(var(0)+8)
trigger10 = PlayerIdExist(var(0)+9)
trigger11 = PlayerIdExist(var(0)+10)
trigger12 = PlayerIdExist(var(0)+11)
trigger13 = PlayerIdExist(var(0)+12)
trigger14 = PlayerIdExist(var(0)+13)
trigger15 = PlayerIdExist(var(0)+14)
trigger16 = PlayerIdExist(var(0)+15)
trigger17 = PlayerIdExist(var(0)+16)
trigger18 = PlayerIdExist(var(0)+17)
trigger19 = PlayerIdExist(var(0)+18)
trigger20 = PlayerIdExist(var(0)+19)
trigger21 = PlayerIdExist(var(0)+20)
trigger22 = PlayerIdExist(var(0)+21)
trigger23 = PlayerIdExist(var(0)+22)
trigger24 = PlayerIdExist(var(0)+23)
trigger25 = PlayerIdExist(var(0)+24)
trigger26 = PlayerIdExist(var(0)+25)
v = 0
value = 1
ignorehitpause = 1
[State 33333333, 2]
type = Null
triggerall = PlayerIdExist(Root,ID)
trigger1 = PlayerIdExist(var(0)-1)
trigger1 = IfElse(root,teamside = 1, PlayerID(var(0)-1),teamside = 2, PlayerID(var(0)-1),teamside = 1)
trigger1 = PlayerID(var(0)-1),hitdefattr = ASC, NP, SP, HP
trigger1 = var(3) := (var(0)-1)
trigger2 = PlayerIdExist(var(0)-2)
trigger2 = IfElse(root,teamside = 1, PlayerID(var(0)-2),teamside = 2, PlayerID(var(0)-2),teamside = 1)
trigger2 = PlayerID(var(0)-2),hitdefattr = ASC, NP, SP, HP
trigger2 = var(3) := (var(0)-2)
trigger3 = PlayerIdExist(var(0)-3)
trigger3 = IfElse(root,teamside = 1, PlayerID(var(0)-3),teamside = 2, PlayerID(var(0)-3),teamside = 1)
trigger3 = PlayerID(var(0)-3),hitdefattr = ASC, NP, SP, HP
trigger3 = var(3) := (var(0)-3)
trigger4 = PlayerIdExist(var(0)-4)
trigger4 = IfElse(root,teamside = 1, PlayerID(var(0)-4),teamside = 2, PlayerID(var(0)-4),teamside = 1)
trigger4 = PlayerID(var(0)-4),hitdefattr = ASC, NP, SP, HP
trigger4 = var(3) := (var(0)-4)
trigger5 = PlayerIdExist(var(0)-5)
trigger5 = IfElse(root,teamside = 1, PlayerID(var(0)-5),teamside = 2, PlayerID(var(0)-5),teamside = 1)
trigger5 = PlayerID(var(0)-5),hitdefattr = ASC, NP, SP, HP
trigger5 = var(3) := (var(0)-5)
trigger6 = PlayerIdExist(var(0)-6)
trigger6 = IfElse(root,teamside = 1, PlayerID(var(0)-6),teamside = 2, PlayerID(var(0)-6),teamside = 1)
trigger6 = PlayerID(var(0)-6),hitdefattr = ASC, NP, SP, HP
trigger6 = var(3) := (var(0)-6)
trigger7 = PlayerIdExist(var(0)-7)
trigger7 = IfElse(root,teamside = 1, PlayerID(var(0)-7),teamside = 2, PlayerID(var(0)-7),teamside = 1)
trigger7 = PlayerID(var(0)-7),hitdefattr = ASC, NP, SP, HP
trigger7 = var(3) := (var(0)-7)
trigger8 = PlayerIdExist(var(0)-8)
trigger8 = IfElse(root,teamside = 1, PlayerID(var(0)-8),teamside = 2, PlayerID(var(0)-8),teamside = 1)
trigger8 = PlayerID(var(0)-8),hitdefattr = ASC, NP, SP, HP
trigger8 = var(3) := (var(0)-8)
trigger9 = PlayerIdExist(var(0)-9)
trigger9 = IfElse(root,teamside = 1, PlayerID(var(0)-9),teamside = 2, PlayerID(var(0)-9),teamside = 1)
trigger9 = PlayerID(var(0)-9),hitdefattr = ASC, NP, SP, HP
trigger9 = var(3) := (var(0)-9)
trigger10 = PlayerIdExist(var(0)-10)
trigger10 = IfElse(root,teamside = 1, PlayerID(var(0)-10),teamside = 2, PlayerID(var(0)-10),teamside = 1)
trigger10 = PlayerID(var(0)-10),hitdefattr = ASC, NP, SP, HP
trigger10 = var(3) := (var(0)-10)
ignorehitpause = 1
[State 33333333, BindToRoot]
type = BindToRoot
trigger1 = PlayerIdExist(Root,ID)
time = 1
facing = 1
pos =0,-2
ignorehitpause = 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment