;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 150100]
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 150001]
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 150002]
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

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



;----------------------------------------------------------------------------------------------------------
;Violent Explod
[Statedef 169990]
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 169991]
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 170000]
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 170001]
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 170002]
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 160000]
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 189112]; 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 189113]; 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 175001]
type = S
movetype = H
physics = N
sprpriority = 2


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

;Demon Said no
[Statedef 175002]; 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 175008]
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 175009]
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))