; Player's constants. ; Format (case insensitive): ; [groupname] ; constname = value [Data] life = 1000 ;Amount of life to start with attack = 100 ;100% attack power (more is stronger) defence = 100 ;100% defensive power (more is stronger) fall.defence_up = 50 ;Def goes up by 50% everytime player is hit on ground liedown.time = 0 ;Time player takes before getting up from HIT_LIEDOWN airjuggle = 15 ;Can do 15 points of juggling sparkno = 7 ;Default spark number guard.sparkno = 0,20 ;Default guard spark number KO.echo = 0 ;1 to enable echo on KO volume = 2000 ;Volume offset (negative for softer) [Size] xscale = 1 ;Horizontal scaling factor. yscale = 1 ;Vertical scaling factor. ground.back = 8 ;Player width (back, ground) ground.front = 8 ;Player width (front, ground) air.back = 8 ;Player width (back, air) air.front = 8 ;Player width (front, air) z.width = 8 ;Player width (into and out) height = 30 ;Height of player (for opponent to jump over) attack.width = 4,4 ;Default attack width: back, front attack.dist = 160 ;Default attack distance proj.attack.dist = 90 ;Default attack distance for projectiles proj.doscale = 0 ;Set to 1 to scale projectiles too [Velocity] walk.fwd = 2.5 ;Walk forward walk.back = -2.5 ;Walk backward run.fwd = 4.5, 0 ;Run forward (x, y) - if y<0, player will hop run.back = -4.5,0 ;Run backward (x, y) - if y=0, player will run jump.neu = 0,0 ;Neutral jumping velocity (x, y) jump.back = 0 ;Jump back Speed (x, y) jump.fwd = 0 ;Jump forward Speed (x, y) runjump.back = 0,0 ;Running jump speeds (opt) runjump.fwd = 0,0 ;. [Movement] airjump.num = 0 ;Number of air jumps allowed (opt) airjump.height = 35 ;Minimum distance from ground before you can air jump (opt) yaccel = .43 ;Vertical acceleration stand.friction = .85 ;Friction coefficient when standing crouch.friction = .82 ;Friction coefficient when crouching ;--------------------------------------------------------------------------- ; Variables ; Var(1) = Size ; Var(2) = Invincibility ;--------------------------------------------------------------------------- ; Format: ; [Statedef STATENO] ; type = ? S/C/A/L stand/crouch/air/liedown ; movetype = ? I/A/H idle/attack/gethit ; physics = ? S/C/A/N stand/crouch/air/none ; juggle = ? air juggle points move requires ; ; [State STATENO, ?] ? - any number you choose ; type = ? ; ... ;--------------------------------------------------------------------------- ; Lose (Time over) [Statedef 170] type = S ctrl = 0 anim = 170 velset = 0,0 [State 170, 1] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;--------------------------------------------------------------------------- ; Win [Statedef 180] type = S [State 180, 1] type = ChangeState trigger1 = Time = 0 value = 181 ;--------------------------------------------------------------------------- ; Win1 [Statedef 181] type = S ctrl = 0 anim = 181 velset = 0,0 [State 181, 1] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;--------------------------------------------------------------------------- ; Introduction [Statedef 191] type = S ctrl = 0 anim = 0 velset = 0,0 [State 191, 1] ;Freeze animation until PreIntro is over type = ChangeAnim trigger1 = RoundState = 0 value = 190 [State 191, 2] ;Assert this until you want "round 1, fight" to begin type = AssertSpecial trigger1 = 1 flag = Intro [State 191, 3] type = PlaySnd trigger1 = RoundState != 0 trigger1 = AnimElemTime(2) = 0 value = 10, 2 [State 191, 4] type = ChangeState trigger1 = AnimTime = 0 value = 0 ;--------------------------------------------------------------------------- ; Override common states (use same number to override) : ;--------------------------------------------------------------------------- ;--------------------------------------------------------------------------- ; Stand [Statedef 0] type = S physics = N sprpriority = 0 [State 0, 1] type = ChangeAnim trigger1 = Vel X = 0 trigger1 = Anim != 0 && Anim != 10000 value = ifelse(var(1)=1000,10000,0) [State 0, 2a] type = ChangeAnim trigger1 = Vel X > 0 trigger1 = Anim != 20 && Anim != 10020 value = ifelse(var(1)=1000,10020,20) [State 0, 2b] type = ChangeAnim trigger1 = Vel X < 0 trigger1 = Anim != 21 && Anim != 10021 value = ifelse(var(1)=1000,10021,21) [State 0, 3] ;Friction type = VelAdd trigger1 = 1 x = ifelse(Vel X > 0, -.2, .2) [State 0, 4] ;Stop moving if low velocity type = VelSet trigger1 = abs(vel x) < 2 x = 0 [State 0, 5] ;Bring Back if Revived from Death type = VelSet trigger1 = Vel Y != 0 y = 0 [State 0, 6] ;Bring Back if Revived from Death type = PosSet trigger1 = Life > 0 trigger1 = Pos Y > 0 y = 0 ;--------------------------------------------------------------------------- ; Slide [Statedef 7] type = S physics = N sprpriority = 0 ctrl = 0 [State 7, 1] type = VelAdd trigger1 = 1 x = ifelse(Vel X > 0, -.3, .3) [State 7, 2] type = ChangeAnim trigger1 = Time = 0 value = ifelse(var(1)=1000,10007,7) [State 7, 3] type = ChangeAnim triggerall = Vel X < 0 trigger1 = Time = 0 value = ifelse(var(1)=1000,10008,8) [State 7, 4] type = ChangeState trigger1 = ((Anim = 7) || (Anim = 10007)) && (Vel X <= 0) trigger2 = ((Anim = 8) || (Anim = 10008)) && (Vel X >= 0) value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; Crouching [Statedef 11] type = S physics = N anim = 11 sprpriority = 0 [State 11, 1] type = ChangeAnim trigger1 = Time = 0 value = ifelse(var(1)=1000,10011,11) [State 11, 2] ;Friction type = VelAdd trigger1 = Vel X != 0 x = ifelse(Vel X > 0, -.3, .3) [State 11, 3] ;Stop moving if low velocity type = VelSet trigger1 = abs(vel x) < 2 x = 0 ;--------------------------------------------------------------------------- ; Walk [Statedef 20] type = S physics = N sprpriority = 0 [State 20, 1] type = VelAdd trigger1 = command = "holdfwd" trigger1 = Vel X < const(velocity.walk.fwd.x) x = .1 [State 20, 2] type = VelAdd trigger1 = command = "holdback" trigger1 = Vel X > const(velocity.walk.back.x) x = -.1 [State 20, 3] ;Speed Limit type = VelAdd trigger1 = Vel X > const(velocity.walk.fwd.x) x = -.1 [State 20, 4] ;Speed Limit type = VelAdd trigger1 = Vel X < const(velocity.walk.back.x) x = .1 [State 20, 5] type = ChangeAnim triggerall = vel x > 0 trigger1 = Anim != 20 && Anim != 10020 value = ifelse(var(1) = 1000,10020,20) [State 20, 6] type = ChangeAnim triggerall = vel x < 0 trigger1 = Anim != 21 && Anim != 10021 value = ifelse(var(1) = 1000,10021,21) [State 20, 7] type = ChangeState trigger1 = (Vel X < 0) && (command = "holdfwd") trigger2 = (Vel X > 0) && (command = "holdback") value = 7 ;--------------------------------------------------------------------------- ;Jump Land [Statedef 52] type = S physics = S [State 52, 1] type = VelSet trigger1 = Time = 0 y = 0 [State 52, 3] type = PosSet trigger1 = Time = 0 y = 0 [State 52, 4] type = ChangeState trigger1 = Time = 0 value = 0 ;--------------------------------------------------------------------------- ;Run Forward [Statedef 107] type = S physics = N [State 107, 1] type = ChangeAnim trigger1 = Time = 0 trigger1 = Anim != 100 && Anim != 10100 value = ifelse(var(1)=1000,10100,100) [State 107, 2] type = VelAdd trigger1 = vel x < 4.5 x = 0.25 [State 107, 2] type = VelSet trigger1 = vel x > 4.5 x = 4.5 [State 107, 4] type = ChangeState trigger1 = command = "b" value = 200 [State 107, 5] type = ChangeState trigger1 = Vel X < 0 trigger2 = command = "holdback" value = 7 [State 107, 6] type = ChangeState trigger1 = command != "holdfwd" value = 0 ;--------------------------------------------------------------------------- ;Run Backward [Statedef 108] type = S physics = N [State 108, 1] type = ChangeAnim trigger1 = Time = 0 trigger1 = Anim != 105 && Anim != 10105 value = ifelse(var(1)=1000,10105,105) [State 108, 2] type = VelAdd trigger1 = vel x > -4.5 x = -0.25 [State 108, 3] type = VelSet trigger1 = vel x < -4.5 x = -4.5 [State 108, 4] type = ChangeState trigger1 = command = "b" value = 200 [State 108, 5] type = ChangeState trigger1 = Vel X > 0 trigger2 = command = "holdfwd" value = 7 [State 108, 6] type = ChangeState trigger1 = command != "holdback" value = 0 ;--------------------------------------------------------------------------- ;JUMP_UP [Statedef 200] type = A movetype= A physics = A poweradd= 0 anim = 200 ; Initialize Points to 100 [State 200, 0] type = VarSet trigger1 = Time = 0 v = 2 value = 1 [State 200, 1] type = ChangeAnim trigger1 = Time = 0 value = ifelse(var(1)=1000,10200,200) + ifelse(vel x < 0,1,0) [State 200, 2] type = Velset trigger1 = Time = 0 y = -8.5 [State 200, 3] type = PlaySnd trigger1 = Time = 0 value = 10, 0 [State 200, 4] type = ChangeState trigger1 = Vel Y >= 0 value = 210 [State 200, 5] type = VelAdd trigger1 = command != "holdb" y = 0.5 [State 200, 6] ;Slower Gravity type = VelAdd trigger1 = 1 y = -0.05 ;--------------------------------------------------------------------------- ;JUMP_DOWN [Statedef 210] type = A movetype= A physics = A [State 210, 1] type = HitDef trigger1 = Time >= 0 attr = A, NA sparkno = -1 hitsound = 10,1 guardsound = 6,0 numhits = 1 damage = 250 getpower = 40 givepower = 40 guardflag = HA ground.type = High ground.hittime = 15 ground.velocity = 0 air.velocity = 0, 0 [State 210, 3] ; Points type = explod trigger1 = MoveHit = 1 trigger1 = var(2) != 0 anim = 6000 + var(2) postype = p1 facing = facing bindtime = 1 sprpriority = 1 [State 210, 4] type = PlaySnd trigger1 = MoveHit = 1 trigger1 = Var(2) != 10 value = 10, 1 [State 210, 4] type = PlaySnd trigger1 = MoveHit = 1 trigger1 = Var(2) = 10 value = 10, 4 [State 210, 5] type = VarAdd trigger1 = MoveHit = 1 trigger1 = Var(2) != 10 v = 2 value = 1 [State 210, 6] type = ChangeState trigger1 = MoveContact = 1 value = 209 [State 210, 7] ;Slower Gravity type = VelAdd trigger1 = 1 y = -0.05 ;------------------------------------ ;JUMP-DOWN - BOUNCE [Statedef 209] type = A movetype = A physics = A [State 209, 1] type = VelSet trigger1 = Time = 0 trigger1 = Vel X = [0,2] x = ifelse(command = "holdfwd",Vel X,Vel X*0.6) [State 209, 2] type = VelSet trigger1 = Time = 0 y = -3.8 [State 209, 3] ;Slower Gravity type = VelAdd trigger1 = 1 y = -0.05 [State 209, 4] type = ChangeState trigger1 = Vel Y > 0 value = 210 ;--------------------------------------------------------------------------- ;Shrink [Statedef 4000] movetype = H physics = N anim = 4000 ctrl = 0 velset = 0,0,0 [State 4000, 1] type = PlaySnd trigger1 = Time = 0 value = 10, 3 [State 4000, 2] ;Size type = VarSet trigger1 = Time = 0 v = 1 value = 1 [State 4000, 3] ;Invincibility type = VarSet trigger1 = AnimTime = 0 v = 2 value = 60 [State 4000, 4] type = ChangeState trigger1 = AnimTime = 0 trigger1 = Pos Y < 0 value = 210 ctrl = 1 [State 4000, 5] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ;Die (HitPause) [Statedef 4001] type = A movetype = H physics = N anim = 4001 ctrl = 0 velset = 0,0 addlife= -1000 sprpriority = 7 [State 4001, 1] type = PlaySnd trigger1 = Time = 1 value = 10, 5 [State 4001, 2] type = LifeSet trigger1 = Time = 0 value = 0 [State 4001, 2] type = ChangeState trigger1 = Time = 15 value = 4002 ;--------------------------------------------------------------------------- ;Die (Fall) [Statedef 4002] type = A movetype = H physics = N ctrl = 0 velset = 0,-6 sprpriority = 7 [State 4002, 1] type = VelAdd trigger1 = Vel y <= 4.9 y = .2 [State 4002, 2] type = VelSet trigger1 = Vel y >= 4.9 y = 5 [State 4002, 3] type = ChangeState trigger1 = Pos y > 250 value = 5150 ;--------------------------------------------------------------------------- ; Super Mario States: ;--------------------------------------------------------------------------- ;--------------------------------------------------------------------------- ;Grow [Statedef 9999] movetype = I physics = N anim = 9999 ctrl = 0 velset = 0,0,0 [State 9999, 1] type = PlaySnd trigger1 = Time = 0 value = 10, 2 [State 9999, 2] type = VarSet trigger1 = time = 0 v = 1 value = 1000 [State 9999, 2] type = ChangeState trigger1 = AnimTime = 0 trigger1 = Pos Y < 0 value = 210 [State 9999, 2] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; States that are always checked (use -2) : ;--------------------------------------------------------------------------- ;--------------------------------------------------------------------------- [Statedef -2] [State -2, 1] type = VarSet trigger1 = var(1) = 0 v = 1 value = 1000 [State -2, 2] type = LifeSet trigger1 = 1 value = var(1) [State -2, 3] ;Go fwd type = VelAdd trigger1 = stateno = [200,299] trigger1 = Pos Y < 50 trigger1 = Vel X < 3 trigger1 = Command = "holdfwd" x = .1 [State -2, 4] ;Go back type = VelAdd trigger1 = stateno = [200,299] trigger1 = Pos Y < 50 trigger1 = Vel X > -3 trigger1 = Command = "holdback" x = -.1 [State -2, 5] type = AssertSpecial trigger1 = 1 flag = nostandguard flag2 = nocrouchguard flag3 = noairguard [State -2, 6] type = HitOverride trigger1 = 1 attr = SCA, AA, AT, AP stateno = ifelse(var(1)=1000,4000,4001) [State -2, 7] type = ChangeState trigger1 = stateno = [5000,5300] trigger1 = stateno != 5150 trigger1 = stateno != 5120 value = ifelse(var(1)=1000,4000,4001) [State -2, 8] ;Invincibility type = AssertSpecial trigger1 = var(2) != 0 trigger1 = Time % 4 = [0,1] flag = invisible [State -2, 9] ;Invincibility type = NotHitBy trigger1 = var(2) != 0 value = SCA [State -2, 10] ;Invincibility type = PlayerPush trigger1 = var(2) != 0 value = 0 [State -2, 11] ;Invincibility type = VarAdd trigger1 = var(2) != 0 v = 2 value = -1 ;[State -2, 1] ;type = Turn ;triggerall = StateType = S ;trigger1 = facing = 1 ;trigger1 = Command = "holdfwd" ;trigger2 = facing = 1 ;trigger2 = Command = "holdback"