;Created hy Mugenfutacharsmaker

;fvar(27) Speeds 1/2/3/4/5/Cum
;fvar(26) Pose Changer 
;fVar(24) Minigame - Directional selector - Cooldown - Transparency
;fVar(23) Minigame - Correct or wrong - Cum munition
;Fvar(29) Cum bar load
;fvar(28) Failed times
;fvar(31) Cum resizer randomness

;Futa Normal Grab
[Statedef 50100]
type = S
movetype= A
physics = S
velset = 5,0
ctrl = 0
anim = 25100
sprpriority = 3

[State 0, VarSet]; Grab Cooldown
type = VarSet
trigger1 = time = 0
fv = 24
value = 15

[State 0, HitDef]
type = HitDef
Trigger1 = Time = 0
attr = S, HT
hitflag = MAF
affectteam = E
priority = 1, Miss
sparkno = -1
p1sprpriority = 1
hitsound = S45645,0
p1facing = 1
p2facing = -1
guard.dist = 0
fall = 1
snap = 0,0
hitonce = 1

[State 0, TargetState]; If sucess
type = TargetState
triggerall = target,ishelper = 0
trigger1 = Movehit
trigger1 = NumTarget
value = 50002

[State 0, ChangeState]; If sucess
type = ChangeState
triggerall = target,ishelper = 0
trigger1 = MoveHit = 1 && numtarget
trigger1 = Target,movetype=H && !moveguarded && movehit
value = 50001

[State 0, ChangeState]; if Miss
type = ChangeState
trigger1 = AnimTime = 0 
value = 0
ctrl = 1

;----------------------------------------------------------------------------------------------------------
;Demon Futas compatibility stuff

[State 0, TargetState]; Grab Helpers
type = TargetState
triggerall = target,ishelper
trigger1 = Movehit
trigger1 = NumTarget
value = 75009

[State 0, ChangeState]; Grab Helpers
type = ChangeState
triggerall = target,ishelper
trigger1 = MoveHit = 1 && numtarget
value = 75008


;----------------------------------------------------------------------------------------------------------
;Futa Normal Taunt
[Statedef 50001]
type = S
movetype= A
physics = S
velset = 0,0
anim = 53300 ; Burla
sprpriority = 3

;---------------------;Remove Char effects

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = time = 0

[State 0, Trans]
type = Trans
trigger1 = time = 0
trans = none

;---------------------; Positions

[State 0, TargetBind]; Keep Victim in Position
type = TargetBind
trigger1 = time > 0
pos = 0,0

[State 0, TargetFacing]; Keep Victim Facing
type = TargetFacing
trigger1 = time > 0
value = -1

[State 0, PosSet]; Futa Position
type = PosAdd
trigger1 = frontedgedist < 70 && time = 0
trigger2 = backedgedist < 70 && time = 0
y = 0
x = ifelse(frontedgedist <70,-77,77)

[State 0, PosAdd]; Move Futa partner
type = PosAdd
triggerall = (time % 25) = 0 && random < 500
triggerall = enemynear(1),stateno = 50001  || enemynear(1),stateno = 50002 || enemynear(1),stateno = 50003 || enemynear(1),stateno = 50004 || enemynear(1),stateno = 70001  || enemynear(1),stateno = 70002 || enemynear(1),stateno = 70003 || enemynear(1),stateno = 70004
trigger1 =  abs(enemynear(1),Pos X - Pos X) <= 45
x = ifElse(Facing,-65,65)

;---------------------; Victim Defeated or nope

[State 0, VarSet]; Check if grabbed Victim has been Defeated && RESET
type = VarSet
trigger1 = time = 0
fv = 29
value = IfElse(target,numhelper(50150) = 1,100,8)

[State 0, VarSet]; Free Mode if both AI
type = VarSet
trigger1 = AILevel > 0 && Target,AILevel > 0
fv = 29
value = 100

;---------------------; Demon said no

[State 0, VarSet]; Send to Demon state
type = TargetState
trigger1 = time >= 0 && target,numhelper(52150) >= 1
value = 75002

[State 0, VarSet]; Send to Demon state
type = ChangeState
trigger1 = time >= 0 && target,numhelper(52150) >= 1
value = 75001

;---------------------; Minigame Reset Var
[State 0, VarSet]; Minigame reset
type = VarSet
trigger1 = time = 0
fv = 23
value = 4

[State 0, VarSet]; Minigame reset 2
type = VarSet
trigger1 = time = 0
fv = 24
value = 0

[State 0, VarSet]; Minigame reset 3
type = VarSet
trigger1 = time = 0
fv = 28
value = 0

;---------------------; Sounds and Effects

[State 0, PlaySnd]; Sex first Penetration
type = PlaySnd
trigger1 = AnimElem = 3
value = 45645,1

[State 0, PlaySnd]; Futa word before penetration
type = PlaySnd
trigger1 = animelem = 2
value = 182,0

;---------------------; Next State

[State 0, TargetState]; Taunt End Target
type = TargetState
trigger1 = Animtime = 0
value = 50004

[State 0, ChangeState ]; Taunt End
type = ChangeState
trigger1 = AnimTime = 0 
value = 50003

;----------------------------------------------------------------------------------------------------------

;Victim Normal Taunt
[Statedef 50002]
type = S
movetype= H
physics = S
sprpriority = 2
ctrl = 0

[State 0, ChangeAnim2]; Taunt Bottom
type = ChangeAnim2
trigger1 = time = 0
value = 54300

[State 0, PlaySnd]; Penetration Sound
type = PlaySnd
trigger1 = animelem = 2
value = 4218,25 +random%3

[State 0, LifeAdd]; Initial Damage
type = LifeAdd
trigger1 = animelem = 2
kill = 0
value = -50

;----------------------------------------------------------------------------------------------------------

;Futa Normal Assault
[Statedef 50003]
type = S
movetype= A
physics = S
velset = 0,0
anim = 70000
sprpriority = 4

[State 0, TargetBind]; Keep Victim in Position
type = TargetBind
trigger1 = time > 0
pos = 0,0

; VIOLENT ACTIVATE
[State 0, Explod]
type = Explod
triggerall = numexplod(443010) = 0
trigger1 = fvar(29) > 40 && fvar(28) = 0 && AILevel = 0
trigger2 = FVAR(29) > 40 && FVAR(28) != 0 && AILevel > 0
trigger3 = prevstateno = 70001
anim = 443010
ID = 443010

; AI FIRST CUM UTILITY
[State 0, Explod]
type = Explod
triggerall = AILevel > 0 && numexplod(443014) = 0
trigger1 = numexplod(44201) = 1 
trigger2 = target,numhelper(50150) = 1
anim = 443014
ID = 443014

[State 0, ChangeState ]; AI Random Release
type = ChangeState
triggerall = animtime = 0 && random < 500 && AILevel > 0
trigger1 = Anim = 70006 || Anim = 70026 || Anim = 70046 || Anim = 70066
trigger2 = Anim = 70007 || Anim = 70027 || Anim = 70047 || Anim = 70067
trigger3 = Anim = 70008 || Anim = 70028 || Anim = 70048 || Anim = 70068
value = 60000
ctrl = 1

[State 0, RemoveExplod]; Remove Violent once failed
type = RemoveExplod
trigger1 = fvar(28) != 0 && prevstateno = 50001 && AILevel = 0
ID = 443010

;-------------------- SEX SOUND AND EFFECTS------------------------------------;

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
triggerall = numexplod(443010) = 0
trigger1 = numexplod(443001) = 1
value = 45653,0 + random%12
channel = 1

[State 0, PlaySnd]; Sex Futa moans
type = PlaySnd
triggerall = numexplod(443010) = 0
trigger1 = numexplod(443001) = 1 && random < 100
trigger2 = numexplod(443009) = 1 && random < 500
value = 4601,0 + random%4
channel = 0
lowpriority = 1

[State 0, PlaySnd]; Sex penetration sounds VIOLENT
type = PlaySnd
triggerall = numexplod(443010) = 1
trigger1 = numexplod(443001) = 1
value = 45654,0 + random%12
channel = 1

[State 0, PlaySnd]; Sex Futa moans VIOLENT AND CRITICAL
type = PlaySnd
trigger1 = numexplod(443001) = 1 && numexplod(443010) = 1 && random < 100
trigger2 = numexplod(443009) = 1 && random < 500
value = 4601,0 + random%4
channel = 0
lowpriority = 1

[State 0, EnvShake]; Sex EnvShake VIOLENT
type = EnvShake
triggerall = numexplod(443010) = 1
trigger1 = numexplod(443001) = 1
time = 5
freq = 120
ampl = -4

[State 0, HitAdd]; Hit Count
type = HitAdd
trigger1 = numexplod(443001) = 1
trigger2 = numexplod(443009) = 1
value = 1

; Hit Sex utility (Sex sound, Futa moan, Hit, Effects and Victim stuff)
[State 0, Explod]
type = Explod
trigger1 = animelem = 3 && Anim = 70001 || animelem = 3 && Anim = 70002 || animelem = 3 && Anim = 70003 || animelem = 3 && Anim = 70004 || animelem = 2 && Anim = 70005;Missionary
trigger2 = animelem = 3 && Anim = 70021 || animelem = 3 && Anim = 70022 || animelem = 3 && Anim = 70023 || animelem = 3 && Anim = 70024 || animelem = 2 && Anim = 70025;Cowgirl
trigger3 = animelem = 4 && Anim = 70041 || animelem = 4 && Anim = 70042 || animelem = 4 && Anim = 70043 || animelem = 3 && Anim = 70044 || animelem = 2 && Anim = 70045;Doggystyle
trigger4 = animelem = 2 && Anim = 70061 || animelem = 2 && Anim = 70062 || animelem = 2 && Anim = 70063 || animelem = 2 && Anim = 70064 || animelem = 2 && Anim = 70065;Press
anim = 443001
ID = 443001

;-------------- CRITICAL STUFF------------------------------------;

[State 0, PlaySnd]; Sex Critical penetration sounds
type = PlaySnd
trigger1 = numexplod(443002) = 1
value = 45655,0 + random%6
channel = 1

[State 0, PlaySnd]; Futa Critical moan
type = PlaySnd
trigger1 = numexplod(443002) = 1
value = 4603,0 + random% 4

[State 0, EnvShake]; Sex Critical EnvShake
type = EnvShake
trigger1 = numexplod(443002) = 1;Sex
trigger2 = numexplod(443009) = 1;Cum
time = ifElse(numexplod(443002),20,30)
freq = 120
ampl = -4

[State 0, SuperPause]; Critical Futa Slowmo
type = SuperPause
trigger1 = numexplod(443003) = 1 && fvar(29) = 100
time = 3
anim = -1
sound = -1
darken = 0
movetime = -1
ignorehitpause = 1

; Critical Futa Slowmo
[State 0, Explod]
type = Explod
trigger1 = numexplod(443002) = 1 && random < 100
trigger2 = animelem = 66 && Anim = 70008 || animelem = 65 && Anim = 70028 || animelem = 64 && Anim = 70048 || animelem = 64 && Anim = 70068
anim = 443003
ID = 443003

; Critical Futa reaction/Critical cooldown
[State 0, Explod]
type = Explod
trigger1 = numexplod(443002) = 1
anim = 443004
ID = 443004

; Critical hit Explod utility (Sex sound, Futa moan, Cum Hit Effect and Victim stuff)
[State 0, Explod]
type = Explod
triggerall = random < 100 && numexplod(443004) = 0
trigger1 = animelem = 3 && Anim = 70001 || animelem = 3 && Anim = 70002 || animelem = 3 && Anim = 70003 || animelem = 3 && Anim = 70004 || animelem = 2 && Anim = 70005;Missionary
trigger2 = animelem = 3 && Anim = 70021 || animelem = 3 && Anim = 70022 || animelem = 3 && Anim = 70023 || animelem = 3 && Anim = 70024 || animelem = 2 && Anim = 70025;Cowgirl
trigger3 = animelem = 4 && Anim = 70041 || animelem = 4 && Anim = 70042 || animelem = 4 && Anim = 70043 || animelem = 3 && Anim = 70044 || animelem = 2 && Anim = 70045;Doggystyle
trigger4 = animelem = 2 && Anim = 70061 || animelem = 2 && Anim = 70062 || animelem = 2 && Anim = 70063 || animelem = 2 && Anim = 70064 || animelem = 2 && Anim = 70065;Press
anim = 443002
ID = 443002

;------------------ CUM SOUND AND EFFECTS, IMPREGNATION

[State 0, PlaySnd]; Sex First penetration sound when cum
type = PlaySnd
trigger1 = animelem = 4 && Anim = 70006
trigger2 = animelem = 2 && Anim = 70026
trigger3 = animelem = 3 && Anim = 70046
trigger4 = animelem = 3 && Anim = 70066
value = 45645,1

[State 0, PlaySnd]; Cum moan
type = PlaySnd
trigger1 = animelem = 4 && Anim = 70006
trigger2 = animelem = 2 && Anim = 70026
trigger3 = animelem = 3 && Anim = 70046
trigger4 = animelem = 3 && Anim = 70066
value = 4602,0 + random%3

[State 0, PlaySnd]; Cum sounds
type = PlaySnd
trigger1 = numexplod(443009) = 1
value = 45645,7+random%2

;CUM SOUND AND EFFECTS - Short

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MISSIONARY
[State 0, Explod]
type = Explod
triggerall = anim = 70006
trigger1 = animelem = 6 || animelem = 13 || animelem = 20 || animelem = 27
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - COWGIRL
[State 0, Explod]
type = Explod
triggerall = anim = 70026
trigger1 = animelem = 4 || animelem = 10 || animelem = 16 || animelem = 22
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - DOGGYSTYLE
[State 0, Explod]
type = Explod
triggerall = anim = 70046
trigger1 = animelem = 5 || animelem = 11 || animelem = 17 || animelem = 23
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MATINGPRESS
[State 0, Explod]
type = Explod
triggerall = anim = 70066
trigger1 = animelem = 4 || animelem = 10 || animelem = 16 || animelem = 22
anim = 443009
ID = 443009

;CUM SOUND AND EFFECTS - Loose

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MISSIONARY
[State 0, Explod]
type = Explod
triggerall = anim = 70007
trigger1 = animelem = 3 || animelem = 9 || animelem = 15
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - COWGIRL
[State 0, Explod]
type = Explod
triggerall = anim = 70027
trigger1 = animelem = 2 || animelem = 8 || animelem = 14
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - DOGGYSTYLE
[State 0, Explod]
type = Explod
triggerall = anim = 70047
trigger1 = animelem = 2 || animelem = 8 || animelem = 14
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MATINGPRESS
[State 0, Explod]
type = Explod
triggerall = anim = 70067
trigger1 = animelem = 2 || animelem = 8 || animelem = 14
anim = 443009
ID = 443009

;CUM SOUND AND EFFECTS - Long

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MISSIONARY
[State 0, Explod]
type = Explod
triggerall = anim = 70008
trigger1 = animelem = 4 || animelem = 10 || animelem = 16 || animelem = 29
trigger2 = animelem = 35 || animelem = 41 || animelem = 54 || animelem = 60
trigger3 = animelem = 66
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - COWGIRL
[State 0, Explod]
type = Explod
triggerall = anim = 70028
trigger1 = animelem = 5 || animelem = 11 || animelem = 17 || animelem = 29 || animelem = 35 || animelem = 41
trigger2 = animelem = 53 || animelem = 59 || animelem = 65
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - DOGGYSTYLE
[State 0, Explod]
type = Explod
triggerall = anim = 70048
trigger1 = animelem = 4 || animelem = 10 || animelem = 16 || animelem = 28 || animelem = 34 || animelem = 40
trigger2 = animelem = 52 || animelem = 58 || animelem = 64
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MATINGPRESS
[State 0, Explod]
type = Explod
triggerall = anim = 70068
trigger1 = animelem = 4 || animelem = 10 || animelem = 16 || animelem = 28 || animelem = 34 || animelem = 40
trigger2 = animelem = 52 || animelem = 58 || animelem = 64
anim = 443009
ID = 443009

;CUM SOUND AND EFFECTS - Failed

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MISSIONARY
[State 0, Explod]
type = Explod
triggerall = anim = 70009
trigger1 = animelem = 11
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - COWGIRL
[State 0, Explod]
type = Explod
triggerall = anim = 70029
trigger1 = animelem = 5
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - DOGGYSTYLE
[State 0, Explod]
type = Explod
triggerall = anim = 70049
trigger1 = animelem = 6
anim = 443009
ID = 443009

; Invisible Hit and Cum Sounds and Moans Explod for Triggers - MATINGPRESS
[State 0, Explod]
type = Explod
triggerall = anim = 70069
trigger1 = animelem = 4
anim = 443009
ID = 443009

;-------------------IMPREGNATION AND CUM

[State 0, VarSet]; Cum minition
type = VarSet
trigger1 = fvar(27) = 6
trigger2 = fvar(27) = 7
trigger3 = fvar(27) = 8
trigger4 = fvar(27) = 9
fv = 31
value = 0

[State 0, PlaySnd]; Cum expel
type = PlaySnd
trigger1 = animelem = 72 && Anim = 70008
trigger2 = animelem = 71 && Anim = 70028
trigger3 = animelem = 70 && Anim = 70048
trigger4 = animelem = 70 && Anim = 70068
value = 45645,9

[State 0, PlaySnd]; Cum moan
type = PlaySnd
trigger1 = animelem = 72 && Anim = 70008
trigger2 = animelem = 71 && Anim = 70028
trigger3 = animelem = 70 && Anim = 70048
trigger4 = animelem = 70 && Anim = 70068
value = 45655,6

[State 0, PlaySnd]; Cum moan
type = PlaySnd
trigger1 = animelem = 72 && Anim = 70008
trigger2 = animelem = 71 && Anim = 70028
trigger3 = animelem = 70 && Anim = 70048
trigger4 = animelem = 70 && Anim = 70068
value = 4606,0

[State 0, Explod]
type = Explod
triggerall = numexplod(110205) < 5 && fvar(26) != 40; MISS PRESS COWGIRL
trigger1 = numexplod(443009) = 1 && random < 300 
trigger2 = numexplod(443001) = 1 &&  fvar(29) = 100 && random < 25 && numexplod(443010) = 0
trigger3 = numexplod(443001) = 1 && fvar(29) = 100 && random < 100 && numexplod(443010) = 1
anim = ifelse(random < 500,110200,110205)
ID = 110205
pos = 0 , ifElse(fvar(26) = 20,-16,-8)
facing = ifElse(random < 500,1,-1)
postype = p1
scale = 1+(Random%300)*.001, .5
sprpriority = ifElse(fvar(26) = 20,5,3)

[State 0, Explod]
type = Explod
triggerall = numexplod(113200) < 5;
trigger1 = numexplod(443009) = 1 && random < 300 
trigger2 = numexplod(443001) = 1 &&  fvar(29) = 100 && random < 25 && numexplod(443010) = 0
trigger3 = numexplod(443001) = 1 && fvar(29) = 100 && random < 100 && numexplod(443010) = 1
anim = 113200
ID = 113200
pos = 0 , ifElse(fvar(26) = 20 || fvar(26) = 40,-16,-8)
facing = ifElse(fvar(26) = 40,-1,ifElse(random < 500,1,-1))
postype = p1
scale = 1+(Random%400)*.001, .8+(Random%300)*.001
sprpriority = ifElse(fvar(26) = 20,5,ifElse(fvar(26) = 40,2,3))

[State 0, Explod]
type = Explod
triggerall = numexplod(113201) < 5;
trigger1 = numexplod(443009) = 1 && random < 300 
trigger2 = numexplod(443001) = 1 &&  fvar(29) = 100 && random < 25 && numexplod(443010) = 0
trigger3 = numexplod(443001) = 1 && fvar(29) = 100 && random < 100 && numexplod(443010) = 1
anim = 113201
ID = 113201
pos = 0 , ifElse(fvar(26) = 20 || fvar(26) = 40,-16,-8)
facing = ifElse(fvar(26) = 40,-1,ifElse(random < 500,1,-1))
postype = p1
scale = 1+(Random%400)*.001, .8+(Random%200)*.001
sprpriority = ifElse(fvar(26) = 20,5,ifElse(fvar(26) = 40,2,3))


[State 0, Explod]
type = Explod
triggerall = numexplod(113203) < 5; 
trigger1 = numexplod(443009) = 1 && random < 300 
trigger2 = numexplod(443001) = 1 &&  fvar(29) = 100 && random < 25 && numexplod(443010) = 0
trigger3 = numexplod(443001) = 1 && fvar(29) = 100 && random < 100 && numexplod(443010) = 1
anim = 113203
ID = 113203
pos = 0 , ifElse(fvar(26) = 20 || fvar(26) = 40,-16,-8)
facing = ifElse(fvar(26) = 40,-1,ifElse(random < 500,1,-1))
postype = p1
scale = 1+(Random%400)*.001, .8+(Random%200)*.001
sprpriority = ifElse(fvar(26) = 20,5,ifElse(fvar(26) = 40,2,3))

[State 0, Explod]
type = Explod
trigger1 = anim = 70008 && animelem = 35
trigger2 = anim = 70028 && animelem = 35
trigger3 = anim = 70048 && animelem = 35
trigger4 = anim = 70068 && animelem = 34
anim = 113204
ID = 113204
pos = 0 , ifElse(fvar(26) = 20 || fvar(26) = 40,-16,-8)
facing = ifElse(fvar(26) = 40,-1,ifElse(random < 500,1,-1))
postype = p1
scale = 1, .8
sprpriority = ifElse(fvar(26) = 20,5,ifElse(fvar(26) = 40,2,3))

[State 0, Explod]
type = Explod
trigger1 = anim = 70008 && animelem = 72
trigger2 = anim = 70028 && animelem = 71
trigger3 = anim = 70048 && animelem = 71
trigger4 = anim = 70068 && animelem = 70
anim = 113202
ID = 113202
pos = 0 , ifElse(fvar(26) = 20 || fvar(26) = 40,-16,-8)
facing = ifElse(fvar(26) = 40,-1,ifElse(random < 500,1,-1))
postype = p1
scale = 1, .8
sprpriority = 5

[State 0, Explod]; Impregnation Explod
type = Explod
triggerall = fvar(29) < 99 && AILevel = 0
trigger1 = animelem = 7 && anim = 70006 || animelem = 5 && anim = 70026 || animelem = 6 && anim = 70046 || animelem = 5 && anim = 70066
trigger2 = animelem = 7 && anim = 70007 || animelem = 5 && anim = 70027 || animelem = 6 && anim = 70047 || animelem = 5 && anim = 70067
trigger3 = animelem = 7 && anim = 70008 || animelem = 5 && anim = 70028 || animelem = 6 && anim = 70048 || animelem = 5 && anim = 70068
anim = 44201+random%5
ID = 44201
pos = 0 , ifElse(anim = 70026,-20,ifElse(anim = 70046,-15,-8))
facing = facing
postype = p1
scale = .2, .2
sprpriority = 5

[State 0, Explod]; Impregnation Explod AI
type = Explod
triggerall = numexplod(443014) = 0 && AILevel > 0
trigger1 = animelem = 7 && anim = 70006 || animelem = 5 && anim = 70026 || animelem = 6 && anim = 70046 || animelem = 5 && anim = 70066
trigger2 = animelem = 7 && anim = 70007 || animelem = 5 && anim = 70027 || animelem = 6 && anim = 70047 || animelem = 5 && anim = 70067
trigger3 = animelem = 7 && anim = 70008 || animelem = 5 && anim = 70028 || animelem = 6 && anim = 70048 || animelem = 5 && anim = 70068
anim = 44201+random%5
ID = 44201
pos = 0 , ifElse(anim = 70026,-20,ifElse(anim = 70046,-15,-8))
facing = facing
postype = p1
scale = .2, .2
sprpriority = 5

[State 0, ChangeState ]; Cum Failed
type = ChangeState
triggerall = animtime = 0 && fvar(29) = 90
trigger1 = Anim = 70009 || Anim = 70029 || Anim = 70049 || Anim = 70069
value = 60000
ctrl = 1


;------------------ Minigame Stuff


[State 0, VarSet]; Directional
type = VarSet
triggerall = AILevel = 0
triggerall = fvar(29) < 59
triggerall = numexplod(40131+fvar(24)) = 1
trigger1 = command = "fwd" || command = "back" || command = "up" || command = "down"
fv = 23
value = ifElse(numexplod(40131) = 1 && command = "fwd",1,Ifelse(numexplod(40132) = 1 && command = "back",1,ifElse(numexplod(40133) && command = "up",1,ifElse(numexplod(40134) && command = "down",1,ifElse(numexplod(40135) = 1 && command = "back",1,Ifelse(numexplod(40136) = 1 && command = "fwd",1,ifElse(numexplod(40137) && command = "down",1,ifElse(numexplod(40138) && command = "up",1,2))))))))

[State 0, VarSet]; Directional AI
type = VarSet
triggerall = AILevel > 0 && target,AILevel = 0
triggerall = fvar(29) < 59
triggerall = numexplod(40131+fvar(24)) = 1
trigger1 = target,command = "fwd" || target,command = "back" || target,command = "up" || target,command = "down"
fv = 23
value = ifElse(numexplod(40131) = 1 && target,command = "back",1,Ifelse(numexplod(40132) = 1 && target,command = "fwd",1,ifElse(numexplod(40133) && target,command = "up",1,ifElse(numexplod(40134) && target,command = "down",1,ifElse(numexplod(40135) = 1 && target,command = "fwd",1,Ifelse(numexplod(40136) = 1 && target,command = "back",1,ifElse(numexplod(40137) && target,command = "down",1,ifElse(numexplod(40138) && target,command = "up",1,2))))))))

[State 0, Explod]; Directional Explods
type = Explod
triggerall = AILevel = 0 || target,AILevel = 0
triggerall = fvar(29) < 59 && time > 140 && numexplod(40131+fvar(24)) = 0
trigger1 = numexplod(40141) = 0 && fvar(23) = 4
anim = 40131+fvar(24)
ID = 40131+fvar(24)
pos = 0, -60
postype = p1
scale = .7, .7
sprpriority = 5
bindtime = -1
removetime = 40

[State 0, RemoveExplod]; Remove Direcional once pressed
type = RemoveExplod
trigger1 = fvar(23) = 1
trigger2 = fvar(23) = 2
ID = 40131+fvar(24)

[State 0, PlaySnd]; Correct
type = PlaySnd
trigger1 = fvar(23) = 1
value = 11301,0

[State 0, VarSet]; Time out (Wrong)
type = VarSet
trigger1 = fvar(23) = 0 && numexplod(40131+fvar(24)) = 0
fv = 23
value = 2

[State 0, VarSet]; Wrong Counter
type = VarAdd
trigger1 = fvar(23) = 2
fv = 28
value = 1

[State 0, VarSet]; Wrong
type = VarSet
trigger1 = fvar(23) = 2
fv = 23
value = 3

[State 0, PlaySnd]; Wrong
type = PlaySnd
trigger1 = fvar(23) = 3
value = 11301,1

[State 0, VarSet]; Directional Selector
type = VarSet
triggerall = fvar(29) < 59
trigger1 = time = 0 || fvar(23) = 3 || fvar(23) = 1
fv = 24
value = 0+random%8

[State 0, Explod]; Directional Explods TIMER
type = Explod
triggerall = AILevel = 0 || target,AILevel = 0
triggerall = fvar(29) < 59 && time > 140 && numexplod(40141) = 0
trigger1 =  fvar(23) = 3 || fvar(23) = 1
anim = 40141+fvar(27)
ID = 40141


;Cum Bar-------------------------------------;

;[State 0, VarAdd]; Cum once bar filled
;type = VarSet
;trigger1 = fvar(29) < 60
;trigger2 = numexplod(40140) = 0 && command = "z"
;fv = 27
;value = 7

[State 0, VarAdd]; Minigame Cum Bar Increase
type = VarAdd
triggerall = fvar(29) < 59 && AILevel = 0
trigger1 = fvar(23) = 1
fv = 29
value = ifelse(fvar(29) < 56,2,1)

[State 0, VarAdd]; Cum Bar AI
type = VarAdd
triggerall = AILevel > 0
triggerall = fvar(29) < 59
trigger1 = (time%50) = 0
fv = 29
value = 1

[State 0, Explod]; Cum Bar Bar
type = Explod
triggerall = fvar(29) < 59
trigger1 = time = 0
anim = 40001
ID = 40001
pos = -50, -40
postype = p1
scale = .5, .5
sprpriority = 5
bindtime = -1
removetime = -1

[State 0, Explod]; Cum Bar Amount
type = Explod
triggerall = fvar(29) < 59
trigger1 = time = 0
anim = 40002
ID = 40002
pos = -50, -39
postype = p1
scale = .5, .5
sprpriority = 4
bindtime = -1
removetime = -1

[State 0, ModifyExplod]; Cum Bar  updater
type = Modifyexplod
triggerall = fvar(29) < 59 && numexplod(40002) = 1 
trigger1 = 1
ID = 40002
postype = p1
pos = -50, -39
scale = .5, .5-fvar(29)

[State 0, Explod]; Cum Finisher
type = Explod
trigger1 = fvar(29) = 59 && numexplod(40140) = 0
anim = 40140
ID = 40140
pos = 0, -69
postype = p1
scale = .8, .8
sprpriority = 4
bindtime = -1
removetime = -2
persistent = 0

[State 0, VarSet]; Wrong or Correct reset to avoid loop
type = VarSet
trigger1 = fvar(23) = 3 || fvar(23) = 1
fv = 23
value = 4

[State 0, VarSet]; Wrong or Correct reset to register
type = VarSet
trigger1 = numexplod(40131+fvar(24)) = 1 && fvar(23) != 0
fv = 23
value = 0

; Cum Bar Explod Remove once first cum
[State 0, Explod]
type = RemoveExplod
trigger1 = fvar(29) >= 59
trigger2 = AILevel > 0 && Target,AILevel > 0
ID = 40001

; Cum Explod Remove once first cum
[State 0, Explod]
type = RemoveExplod
trigger1 = fvar(29) >= 59
trigger2 = AILevel > 0 && Target,AILevel > 0
ID = 40002

[State 0, VarAdd]; Move Speed reset
type = VarSet
trigger1 = time = 0 || Anim = 70006 || Anim = 70026 || Anim = 70046 || Anim = 70066
trigger2 = Anim = 70007 || Anim = 70027 || Anim = 70047 || Anim = 70067
trigger3 = Anim = 70008 || Anim = 70028 || Anim = 70048 || Anim = 70068
trigger4 = Anim = 70009 || Anim = 70029 || Anim = 70049 || Anim = 70069
fv = 27
value = 0+random%5

[State 0, VarAdd]; Transparency Var Reset
type = VarSet
trigger1 = Anim = 70006 || Anim = 70026 || Anim = 70046 || Anim = 70066
trigger2 = Anim = 70007 || Anim = 70027 || Anim = 70047 || Anim = 70067
trigger3 = Anim = 70008 || Anim = 70028 || Anim = 70048 || Anim = 70068
fv = 24
value = 0
persistent = 0

;---- Speed Stuff ------;

[State 0, VarAdd]; Speed increase
type = VarSet
triggerall = fvar(29) != 100
trigger1 = 1
fv = 27
value = fvar(29)/10

;---- First Cum Stuff ------;

[State 0, VarAdd]; Cum Bar Increase
type = VarAdd
triggerall = fvar(29) = 59
trigger1 = command = "z"
trigger2 = numexplod(40140) = 0
fv = 29
value = ifElse(command = "z" && numexplod(40140) = 1,21,ifElse(AILevel > 0,21,31))

[State 0, VarAdd]; First Cum Var then General Cum Var
type = VarSet
trigger1 = Anim = 70006 || Anim = 70026 || Anim = 70046 || Anim = 70066
trigger2 = Anim = 70007 || Anim = 70027 || Anim = 70047 || Anim = 70067
trigger3 = Anim = 70008 || Anim = 70028 || Anim = 70048 || Anim = 70068
fv = 29
value = 100

;---- Sex Moves ------;

[State 0, VarAdd]; Sex Speed set
type = VarSet
triggerall = AILevel = 0 && fvar(29) = 100
trigger1 = command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z"
fv = 27
value = ifElse(command = "a",1,ifElse(command = "b",2,ifElse(command = "c",3,ifElse(command = "x",4,ifElse(command = "y",5,ifElse(command = "z" && fvar(27) != 1 && fvar(31) < 10,9,ifELse(command = "z" && fvar(27) != 1 && fvar(31) >= 10 && fvar(31) < 80,6,ifElse(command = "z" && fvar(27) != 1 && fvar(31) >= 80,8,(ifElse(command = "z" && fvar(27) = 1,7,fvar(27)))))))))))

[State 0, VarAdd]; Sex Move set
type = VarSet
triggerall = AILevel = 0 && fvar(29) = 100
trigger1 = command = "down" || command = "up" || command = "back"
fv = 26
value = ifElse(command = "down" && fvar(26) != 0,0,ifElse(command = "up",20,ifElse(command = "back",40,ifElse(command = "down" && fvar(26) !=60,60,fvar(26)))))

;---- Sex Moves AI ------;

[State 0, VarAdd]; Random speed select
type = VarSet
triggerall = fvar(29) = 100 && AILevel > 0  && target,AILevel = 0 || target,AILevel > 0 || AILevel = 0 && fvar(29) = 200
trigger1 = (gametime % 300) = 0 && random < 500
trigger2 = Anim = 70006 || Anim = 70026 || Anim = 70046 || Anim = 70066
fv = 27
value = 1 + random%5

[State 0, VarAdd]; Cum once Var29 (Cum load) = 70 || Cum every some time when Cum load = 100
type = VarSet
triggerall =  AILevel > 0 || AILevel = 0 && fvar(29) = 200; So futa don't cum instantly on swaps
trigger1 = time > 10 &&  (time % 2200) = 0 && random < 650  && fvar(29) = 100
fv = 27
value = 6

[State 0, VarAdd]; Random Move select
type = VarSet
triggerall = AILevel > 0 || AILevel = 0 && fvar(29) < 99
trigger1 = time = 0
trigger2 = (time % 1000) = 0 && fvar(29) < 70 && random < 250
trigger3 = (time % 1500) = 0 && fvar(29) = 100 && random < 350
fv = 26
value = 0 + random%4*20

;---- Sex Moves Utility ------;

[State 0, Explod]; MOVE FUTA EXPLOD Changer
type = Explod
trigger1 = time = 0 || animtime = 0 
anim = 70000 + fvar(27) + fvar(26) + 10
ID = 70055
postype = p1
scale = 1, 1
sprpriority = 1
bindtime = -1
removetime = -2

[State 0, ChangeAnim]; Speed/Move Changer
type = ChangeAnim
trigger1 = time = 0 || animtime = 0 
value = 70000 + fvar(27) + fvar(26);ifElse(random < 500,70000 + fvar(27) + fvar(26),70000 + fvar(27) + fvar(26) + 10000)

;---Transparency Stuff---;

[State 0, VarSet]; Transparency (Cum load reused var)
type = VarSet
triggerall = fvar(29) = 100
trigger1 = command = "Transparency" && AILevel = 0 || target,command = "Transparency" && target,AILevel = 0
fv = 24
value = ifElse(fvar(24) >= 1,0,1)

[State 0, Trans]; Transparency
type = Trans
triggerall = fvar(29) = 100
trigger1 = fvar(24) = 1
trans = add 
alpha = 170,90  

;----- END Cum Load, Free mode,etc/ Skip minigame
[State 0, VarSet]; 
type = VarSet
triggerall = fvar(29) < 99
trigger1 = numexplod(44201) = 1 || command = "s" && AILevel = 0 || target,command = "s" && target,AILevel = 0
fv = 29
value = 80

;----- END Cum Load, Free mode,etc/ Skip minigame
[State 0, VarSet]; 
type = VarSet
triggerall = fvar(29) < 99
trigger1 = fvar(28) = 3 && AILevel > 0
fv = 29
value = 80


;----------------------------------------- Release---------------------------------------;

[State 0, ChangeState ]; Release
type = ChangeState
triggerall = Anim != 70006 && Anim != 70026 && Anim != 70046 && Anim != 70066
triggerall = Anim != 70007 && Anim != 70027 && Anim != 70047 && Anim != 70067
triggerall = Anim != 70008 && Anim != 70028 && Anim != 70048 && Anim != 70068
trigger1 = command = "release"  && AILevel = 0 && fvar(29) = 100
trigger2 = fvar(28) = 3 && AILevel = 0
trigger3 = AILevel > 0 && fvar(28) < 2 && fvar(29) = 58 
trigger4 = roundstate = 4 || roundstate = 3 || DrawGame || wintime || losetime
;trigger2 = time > 3000 && fvar(29) < 70 && AILevel > 0 && target,AILevel = 0 || time > 5000 && fvar(29) < 70 && AILevel > 0 && target,AILevel > 0 ||  AILevel > 0 && Target,AILevel > 0 && (time % 1750) = 0  && time > 10 && fvar(29) <70 && random < 250
value = 60000
ctrl = 1

;----------------------------------------------------------------------------------------------------------

;Victim Normal Assault
[Statedef 50004]
type = S
movetype = H
physics = N
sprpriority = 2

[State 0, PlaySnd]; Sex Victim Sound
type = PlaySnd
triggerall = enemynear,numexplod(443010) = 0
trigger1 = enemynear,numexplod(443001) = 1 && random < 200 
value = 4218,21 +random%3
channel = 3
lowpriority = 1

[State 0, LifeAdd]
type = LifeAdd
trigger1 = enemynear,numexplod(443001) = 1
trigger2 = enemynear,numexplod(443009) = 1
kill = 0
value = -1
absolute = 1


[State 0, PlaySnd]; Penetration, Cum Victim
type = PlaySnd
trigger1 = enemynear,numexplod(443009) = 1 && random < 500
trigger2 = enemynear,numexplod(443002) = 1 && random < 200
trigger3 = enemynear,numexplod(443001) = 1 && enemynear,numexplod(443010) = 1 && random < 300
value = 4218,25 +random%3
channel = 3
lowpriority = 1

[State 0, LifeAdd]
type = LifeAdd
trigger1 = animelem = 66 && Anim = 71006  
trigger2 = animelem = 65 && Anim = 71026
trigger3 = animelem = 64 && Anim = 71046
trigger4 = animelem = 64 && Anim = 71066
kill = 1
value = -50

[State 0, PlaySnd]; Penetration, Cum Victim
type = PlaySnd
trigger1 = animelem = 66 && Anim = 71008  
trigger2 = animelem = 65 && Anim = 71028
trigger3 = animelem = 64 && Anim = 71048
trigger4 = animelem = 64 && Anim = 71068
value = 11,0
channel = 3

[State 0, ChangeAnim2];
type = ChangeAnim2
triggerall = enemynear,anim - 1000
trigger1 = enemynear,animelem = 1
value = enemynear,anim + 1000

;----------------------------------------------------------------------------------------------------------
;Violent Explod
[Statedef 69990]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0
anim = 25200
ctrl = 0
sprpriority = 2
poweradd = -2000

[State 0, PlaySnd]
type = PlaySnd
trigger1 =  time = 0
value = 1000,0


[State 3009, pause]
type = SuperPause
trigger1 = Animelem = 1
time = 20
anim = 55125
movetime = 20
darken = 1
p2defmul = 1

[State 0,ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 70000

;----------------------------------------------------------------------------------------------

;Violent Grab Failed
[Statedef 69991]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0
ctrl = 0
anim = 25202
sprpriority = 2

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = time = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 5
value = 900,1

[State 0,ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 0
ctrl = 1


;-------------------------------------------------------------------------------

;Violent Futa Grab
[Statedef 70000]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 30,0
ctrl = 0
anim = 25201
sprpriority = 2
poweradd = -2000

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 1000,1

[State 0, VarSet]; Grab Cooldown
type = VarSet
trigger1 = time = 0
fv = 24
value = 30

[State 0, Explod]
type = Explod
trigger1 =  time = 0
anim =  10501
ID = 10501
pos = 0,-10
postype = p1
facing = -1
removetime = -2
sprpriority = 1

[State 3000, –³“G]
type = NotHitBy
trigger1 = AnimElemTime(1) = 0
value = SCA
time = 7

[State 0, Velset]; Keep Victim in Position
type = Velset
trigger1 = time > 0
x = 8

[State 0, HitDef]
type = HitDef
Trigger1 = Time = 0
attr = S, HT
hitflag = MAF
affectteam = E
priority = 1, Miss
sparkno = -1
p1sprpriority = 1
hitsound = S45645,0
p1facing = 1
p2facing = -1
guard.dist = 0
fall = 1
snap = 0,0
hitonce = 1

[State 0, TargetState]; If sucess
type = TargetState
triggerall = target,ishelper = 0
trigger1 = Movehit
trigger1 = NumTarget
value = 70002

[State 0, ChangeState]; If sucess
type = ChangeState
triggerall = target,ishelper = 0
trigger1 = MoveHit = 1 && numtarget
trigger1 = Target,movetype=H && !moveguarded && movehit
value = 70001

[State 0, ChangeState]; if Miss
type = ChangeState
trigger1 = AnimTime = 0 
value = 0
ctrl = 1

;----------------------------------------------------------------------------------------------------------
;Demon Futas compatibility stuff

[State 0, TargetState]; Grab Helpers
type = TargetState
triggerall = target,ishelper
trigger1 = Movehit
trigger1 = NumTarget
value = 75009

[State 0, ChangeState]; Grab Helpers
type = ChangeState
triggerall = target,ishelper
trigger1 = MoveHit = 1 && numtarget
value = 75008

[State 0, VarSet]; Grab Cooldown
type = VarSet
trigger1 = time = 0
fv = 29
value = 15


[State 0, ChangeState]
type = ChangeState
Trigger1 = AnimTime = 0
value = 69991

;-------------------------------------------------------------------

;Futa Violent Taunt
[Statedef 70001]
type = S
movetype = A
physics = S
anim = 53301
velset = 0,0
SprPriority = 3

;---------------------;Remove Char effects

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = time = 0

[State 0, Trans]
type = Trans
trigger1 = time = 0
trans = none

;---------------------; Positions

[State 0, TargetBind]; Keep Victim in Position
type = TargetBind
trigger1 = time > 0
pos = 0,0

[State 0, Offset]; Keep Victim in Position
type = Offset
trigger1 = facing =-1 && target,facing = 1
x = 1

[State 0, TargetFacing]; Keep Victim Facing
type = TargetFacing
trigger1 = time > 0
value = -1

[State 0, PosSet]; Futa Position
type = PosAdd
trigger1 = frontedgedist < 70 && time = 0
trigger2 = backedgedist < 70 && time = 0
y = 0
x = ifelse(frontedgedist <70,-77,77)

[State 0, PosAdd]; Move Futa partner
type = PosAdd
triggerall = (time % 25) = 0 && random < 500
triggerall = enemynear(1),stateno = 50001  || enemynear(1),stateno = 50002 || enemynear(1),stateno = 50003 || enemynear(1),stateno = 50004 || enemynear(1),stateno = 70001  || enemynear(1),stateno = 70002 || enemynear(1),stateno = 70003 || enemynear(1),stateno = 70004
trigger1 =  abs(enemynear(1),Pos X - Pos X) <= 45
x = ifElse(Facing,-65,65)

;---------------------; Set Cum Bar to 2 Keys before speed 1

[State 0, VarSet]
type = VarSet
trigger1 = time = 0
fv = 29
value = 8

[State 0, VarSet]; Free Mode if both AI
type = VarSet
trigger1 = AILevel > 0 && Target,AILevel > 0
fv = 29
value = 100


;---------------------; Victim Defeated or nope

[State 0, VarSet]; Check if grabbed Victim has been Defeated
type = VarSet
trigger1 = time = 0
fv = 29
value = IfElse(target,numhelper(50150) = 1,100,fvar(29))

;---------------------; Demon said no

[State 0, VarSet]; Send to Demon state
type = TargetState
trigger1 = time >= 0 && target,numhelper(52150) >= 1
value = 75002

[State 0, VarSet]; Send to Demon state
type = ChangeState
trigger1 = time >= 0 && target,numhelper(52150) >= 1
value = 75001

;---------------------; Minigame Reset Var
[State 0, VarSet]; Minigame reset
type = VarSet
trigger1 = time = 0
fv = 23
value = 4

[State 0, VarSet]; Minigame reset 2
type = VarSet
trigger1 = time = 0
fv = 24
value = 0

[State 0, VarSet]; Minigame reset 3
type = VarSet
trigger1 = time = 0
fv = 28
value = 0

;---------------------; Sounds and Effects

[State 0, HitAdd]
type = HitAdd
trigger1 = AnimElem = 7
value = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 7
value = 45645,2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 6
value = 4607,0

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 7
time = 120
freq = 120
ampl = -3

;---------------------; Next State

[State 0, TargetState]
type = TargetState
trigger1 = Animtime = 0
value = 50004

[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 50003

;-----------------------------------------------------------------------------

;Victim Violent Taunt
[Statedef 70002]
type = S
movetype = H
physics = S
velset = 0,0
SprPriority = 2

[State 0, ChangeAnim2];
type = ChangeAnim2
trigger1 = time = 0
value = 54301

[State 0, LifeAdd]
type = LifeAdd
trigger1 = AnimElem = 2
kill = 0
value = -200
absolute = 1

[State 0, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = 11,0

;-------------------------------------------------------------------------------------------
;Release
[Statedef 60000]
type = S
movetype = A
physics = S
SprPriority = 3

[State 0, Playerpush]
type = Playerpush
trigger1 = 1
value = 0

[State 0, Trans]
type = Trans
trigger1 = time = 0
trans = none

[State 0, targetstate]
type = targetstate
trigger1 = time = 0
value = ifElse(fvar(29) < 60 || fvar(29) = 90 || Target,Animexist(71101) = 0,89112,50005)

[State 0, Position]
type = PosSet
trigger1 = time = 100
y = 0

[State 0, VarSet]; Cooldown
type = VarSet
trigger1 = time = 0
fv = 24
value = 50

[State 0, LifeAdd]
type = LifeAdd
trigger1 = time = 0 && fvar(29) < 99
kill = 1
value = -2*fvar(29)

[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = time = 0

[State -2, ChangeState]
type = ChangeState
trigger1 = time = 0 
value = ifElse(fvar(29) < 60 || fvar(29) = 90,89112,0)
ctrl = 1

;-------------------------------------------------------------------------------------------
;Throw Chars
[Statedef 89112]; Futa won victim release, left on ground
type = A
movetype = H
physics = N
velset = 0,0

[State 757, 1]
type = SprPriority
trigger1 = 1
value = 2

[State 757, 2]
type = ChangeAnim
trigger1 = Time = 0
value = 5030

[State 757, 3]
type = VelSet
trigger1 = AnimElem = 1
X = 3
Y = -1.5

[State 757, 4]
type = VelAdd
trigger1 = 1
Y = 0.3

[State 0, VarSet]; Lose minigame reset
type = VarSet
trigger1 = fvar(29) = 90
fv = 29
value = 0

[State 0, VarSet]; Lose minigame reset
type = LifeADD
trigger1 = fvar(29) = 90
value = -100

[State 757, 9]
type = SelfState
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 5100

;Throw Victim
[Statedef 89113]; Futa lost futa release, pushed violently
type = A
movetype = H
physics = N
velset = 0,0

[State 757, 1]
type = SprPriority
trigger1 = 1
value = 2

[State 757, 2]
type = ChangeAnim
trigger1 = Time = 0
value = 5030

[State 757, 3]
type = VelSet
trigger1 = AnimElem = 1
X = 3
Y = -1.5

[State 757, 4]
type = VelAdd
trigger1 = 1
Y = 0.3

[State 757, 9]
type = SelfState
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 5100


;---------------------------------------------------------------------------------------------------------

;Demon Said no
[Statedef 75001]
type = S
movetype = H
physics = N
sprpriority = 2


[State 0, ChangeAnim2];
type = ChangeAnim
trigger1 = time = 0
value = 42590

;Demon Said no
[Statedef 75002]; Futa lost futa release, pushed violently
type = A
movetype = H
physics = N
velset = 0,0

[State 757, 9]
type = SelfState
trigger1 = time = 0
value = 75003

;---------------------------------------------------------------------------------------------------------

; Sex Demon
[Statedef 75008]
type    = S
movetype= A
physics = S
sprpriority = 2
velset = 0

[State 0, PosSet]; Futa Position
type = PosSet
trigger1 = time < 50
y = 0
x = 0

[State 20, 1]
type = VelSet
trigger1 = time > 0
x = 0
y = 0

[State 0, TargetBind]; Keep Victim in Position
type = TargetBind
trigger1 = time > 0
pos = 0,0

[State 0, TargetFacing]; Keep Victim Facing
type = Turn
trigger1 = target,facing = -1

[State 0, TargetBind]; Keep Victim in Position
type = Offset
trigger1 = facing =-1 && target,facing = 1
x = 1

[State 0, LifeADd]
type = LifeADd
trigger1 = animelem = 4
value = 4

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
trigger1 = animelem = 4 && random < 300
value = 4601,0 +random%3
channel = 0
lowpriority = 1

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
trigger1 = animelem = 4
value = 45653,0 + random%12
channel = 1

[State 0, PlaySnd]; Cum sounds
type = PlaySnd
triggerall = anim = 70066
trigger1 = animelem = 10 || animelem = 16 || animelem = 22 || animelem = 28
value = 45645,7


[State 0, Explod]; Impregnation Explod
type = Explod
triggerall = anim = 70066
trigger1 = animelem = 13
anim = 44201+random%3
ID = 44201
pos = 0,-8
facing = facing
postype = p1
scale = .2, .2
sprpriority = 5

[State 0, PlaySnd]; Sex penetration sounds VIOLENT
type = PlaySnd
trigger1 = prevstateno = 70000 && animelem = 4
value = 45654,0 + random%12
channel = 1

[State 0, EnvShake]; Sex EnvShake VIOLENT
type = EnvShake
trigger1 = prevstateno = 70000 && animelem = 4
time = 5
freq = 120
ampl = -4

[State 0, Null];
type = ChangeState
triggerall = animtime = 0
trigger1 = anim = 70066
value = 0
ctrl = 1

[State 757, 2]
type = ChangeAnim
trigger1 = Time = 0
value = 70063

[State 757, 2]
type = ChangeAnim
trigger1 = Time > 300 && Time < 600 && animtime = 0
value = 70064

[State 757, 2]
type = ChangeAnim
trigger1 = Time > 600 && Time < 900 && animtime = 0
value = 70065

[State 757, 2]
type = ChangeAnim
trigger1 = Time > 900 && animtime = 0
value = 70066


; Sex H Victim
[Statedef 75009]
type    = S
movetype= A
physics = S
sprpriority = 1
velset = 0

[State 0, PosSet]; Futa Position
type = PosSet
trigger1 = time < 50
y = 0
x = 0

[State 20, 1]
type = VelSet
trigger1 = time > 0
x = 0
y = 0

[State 0, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,NT,ST
slot = 0
stateno = 56162

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
triggerall = ishelper(56151)
trigger1 = animelem = 4 && random < 200
value = 5820,50 + random%2
channel = 3
lowpriority = 1

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
triggerall = ishelper(57151)
trigger1 = animelem = 4 && random < 200
value = 5821,50 + random%2
channel = 3
lowpriority = 1

[State 0, PlaySnd]; Sex penetration sounds
type = PlaySnd
triggerall = ishelper(58151)
trigger1 = animelem = 4  && random < 200
value = 5822,50 + random%3
channel = 3
lowpriority = 1

[State 757, 2]
type = ChangeAnim2
trigger1 = Time = 0
value = ifElse(ishelper(57151),43752,ifElse(ishelper(58151),44752,42752))

[State 757, 2]
type = ChangeAnim2
trigger1 = Time > 300 && Time < 600 && animtime = 0
value = ifElse(ishelper(57151),43753,ifElse(ishelper(58151),44753,42753))

[State 757, 2]
type = ChangeAnim2
trigger1 = Time > 600 && Time < 900 && animtime = 0
value = ifElse(ishelper(57151),43754,ifElse(ishelper(58151),44754,42754))

[State 757, 2]
type = ChangeAnim2
trigger1 = Time > 900 && animtime = 0
value = ifElse(ishelper(57151),43755,ifElse(ishelper(58151),44755,42755))