import Move import Random import Type Burst = Move.Add("flameburst") Burst.DisplayName = "Flame Burst" def Attack(player): if (player.OnGround): player.SetAnimation("ember", False) player.Disable(1.0) player.Cooldown = 4.0 Hit = player.AddDamageBox(0, 0.2, 2.0, 2.0) Hit.Duration = 0.5 for i in range(10): Fire = player.AddProjectile(0, 0, .5, .5) Fire.SetVelocity((Random.NextDouble() - 0.5) * 10, Random.NextDouble() + 3) Fire.SetSkeleton("Moves/Flameburst/Flameburst") Fire.SetAnimation("idle", False) Fire.CollisionMask = 0x0001 def Destroy(self): self.Unload() Fire.OnCollideEarth = Destroy def FireParticle(self, other): other.TakeSpecialDamage(5, player)
import Move import Type Face = Move.Add("scaryface") Face.DisplayName = "Scary Face" def Attack(player): player.SetAnimation("ember", False) player.Disable(0.25) player.Cooldown = 1.0 Hit = player.AddDamageBox(player.Direction * 0.8, 0, 0.8, 0.8) Hit.Duration = 0.5 Hit.SetSkeleton("Moves/ScaryFace/ScaryFace") Hit.SetAnimation("idle", False) if (player.Direction < 0): Hit.FlipAnimation() def DefDown(self, other): other.Disable(1) other.Defense *= 0.9 Hit.OnCollidePlayer = DefDown Face.OnUse = Attack Face.Type = Type.Normal Face.Category = Type.Status
import Move import Timer import Type Vinewhip = Move.Add("vinewhip") Vinewhip.DisplayName = "Vinewhip" def Attack(player): player.SetAnimation("vinewhip", False) player.Disable(0.5) player.Cooldown = 1.0 Animation = player.AddDamageBox(0, 0, 0.1, 0.1) Animation.SetSkeleton("Moves/Vinewhip/vinewhip") Animation.SetAnimation("idle", False) Animation.Duration = 0.5 if (player.Direction == -1): Animation.FlipAnimation(True) def SpawnDamage(): Hit = player.AddDamageBox(player.Direction * .75, 0, 1, 0.6) Hit.Duration = 0.2 def Damage(self, other): other.SetVelocity(player.Direction * 2, 3) other.Disable(0.25) other.TakeDamage(10, player) Hit.OnCollidePlayer = Damage Timer.Schedule(SpawnDamage, 0.20)
import Move import Type import StatusEffect Hypnosis = Move.Add("hypnosis") Hypnosis.DisplayName = "Hypnosis" def Attack(player): player.SetAnimation("hypnosis", False) player.Disable(2) player.Cooldown = 10 Hit = player.AddProjectile(player.Direction * 0.8, 0, 0.8, 0.8) Hit.SetVelocity(player.Direction * 3, 0) Hit.Duration = 0.5 Hit.SetSkeleton("Moves/Hypnosis/Hypnosis") Hit.SetAnimation("idle", True) def Sleep(self, other): other.AddEffect(StatusEffect.Sleep(player, 5)) Hit.OnCollidePlayer = Sleep def KeepUp(self, time): self.SetVelocity(player.Direction * 3, 0) Hit.OnUpdate = KeepUp
import Move; import Type; Withdraw = Move.Add("withdraw"); Withdraw.DisplayName = "Withdraw"; def Attack(player): player.SetAnimation("withdraw", False); player.Disable(0.5); player.Cooldown = 1.0; player.Defense *= 10; Hit = player.AddDamageBox(player.Direction * 0.8, 0, 0.8, 0.8); Hit.Duration = 0.5; def Withdraw(self, time): if (time > 0.4): player.Defense /= 10; self.Unload(); Hit.OnUpdate = Withdraw; Withdraw.OnUse = Attack; Withdraw.Type = Type.Water; Withdraw.Category = Type.Status;
import Move import Type Whip = Move.Add("tailwhip") Whip.DisplayName = "Tail Whip" def Attack(player): player.SetAnimation("tailwhip", False) player.Disable(0.25) player.Cooldown = 1.0 Hit = player.AddDamageBox(player.Direction * 0.8, 0, 0.8, 0.8) Hit.Duration = 0.5 def AttackDown(self, other): other.Disable(1) other.Defense *= 0.9 Hit.OnCollidePlayer = AttackDown Whip.OnUse = Attack Whip.Type = Type.Normal Whip.Category = Type.Status
import Move; import Random; import Type; Bubble = Move.Add("bubble"); Bubble.DisplayName = "Bubble"; def ShootBubble(player): bubble = player.AddProjectile(player.Direction * 0.3, 0.3, 0.1, 0.1); bubble.SetVelocity(player.Direction * 2 * (Random.NextDouble() + 1), 0); bubble.CollisionMask = 0x0001; bubble.SetSkeleton("Moves/Bubble/Bubble"); bubble.SetAnimation("idle", True); bubble.Mass = 0.001; bubble.Scale = 0.005; bubble.Duration = Random.NextDouble() + 0.5; def Hit(self, other): other.TakeSpecialDamage(1, player); self.Unload(); bubble.OnCollidePlayer = Hit; def Earth(self): self.Unload(); bubble.OnCollideEarth = Earth; def Float(self, time): self.ApplyForce(0, 0.008 + (Random.NextDouble() * 0.004)); bubble.OnUpdate = Float; return bubble;
import Move; import Type; Growl = Move.Add("growl"); Growl.DisplayName = "Growl"; def Attack(player): player.SetAnimation("growl", False); player.Disable(0.25); player.Cooldown = 1.0; Hit = player.AddDamageBox(player.Direction * 0.8, 0, 0.8, 0.8); Hit.Duration = 0.5; Hit.SetSkeleton("Moves/Growl/Growl"); Hit.SetAnimation("idle", False); if (player.Direction < 0): Hit.FlipAnimation(); def AttackDown(self, other): other.Disable(1); other.Attack *= 0.9; Hit.OnCollidePlayer = AttackDown; Growl.OnUse = Attack; Growl.Type = Type.Normal; Growl.Category = Type.Status;
import Move; import Random; import Type; Seed = Move.Add("leechseed"); Seed.DisplayName = "Leech Seed"; def Attack(player): player.SetAnimation("leech_seed", False); player.Disable(1); player.Cooldown = 1.5; seed = player.AddProjectile(0, 0, 0.1, 0.1); seed.SetVelocity((Random.NextDouble() + 1) * player.Direction, 3 + (Random.NextDouble() * 2)); seed.CollisionMask = 0x0001; seed.SetSkeleton("Moves/LeechSeed/LeechSeed"); seed.SetAnimation("seed", False); seed.Z = Random.NextDouble() - 0.5; seed.Permanent = True; def Leech(self, other): amount = other.HP / 10; other.HP -= amount; player.HP += amount; seed.OnCollidePlayer = Leech; def Earth(self): self.SetAnimation("plant", False); seed.OnCollideEarth = Earth; Seed.OnUse = Attack; Seed.Type = Type.Grass; Seed.Category = Type.Status;
import Move import Type Tackle = Move.Add("tackle") Tackle.DisplayName = "Tackle" def Attack(player): if (player.OnGround): player.SetVelocity(player.Direction * 7, 3) player.SetAnimation("tackle", False) player.Disable(0.5) player.Cooldown = 1.0 Hit = player.AddDamageBox(player.Direction * 0.4, 0, 0.2, 0.6) Hit.Duration = 0.5 def KnockBack(self, other): other.SetVelocity(player.Direction * 5, 3) player.SetVelocity(0, 0) other.Disable(0.25) other.TakeDamage(10, player) Hit.OnCollidePlayer = KnockBack Tackle.OnUse = Attack Tackle.Type = Type.Normal Tackle.Category = Type.Physical
import Move import Random import Type Razor = Move.Add("razorleaf") Razor.DisplayName = "Razor Leaf" def Attack(player): player.SetAnimation("leech_seed", False) player.Disable(0.5) player.Cooldown = 1 seed = player.AddProjectile(player.Direction * 0.3, 0, 0.1, 0.1) seed.SetVelocity(player.Direction * 10, 2) seed.CollisionMask = 0x0001 seed.SetSkeleton("Moves/RazorLeaf/RazorLeaf") seed.SetAnimation("idle", True) seed.Z = 0.5 seed.Permanent = True def Razor(self, other): other.TakeDamage(7, player) self.Unload() seed.OnCollidePlayer = Razor def Earth(self): self.Unload() seed.OnCollideEarth = Earth
import Move import Type Scratch = Move.Add("scratch") Scratch.DisplayName = "Scratch" def Attack(player): player.SetAnimation("scratch", False) player.Disable(0.25) player.Cooldown = 1.0 Hit = player.AddDamageBox(player.Direction * 0.4, 0.1, 0.5, 0.8) Hit.Duration = 0.5 Hit.SetSkeleton("Moves/Scratch/Scratch") Hit.SetAnimation("idle", False) if (player.Direction > 0): Hit.FlipAnimation() def KnockBack(self, other): other.SetVelocity(player.Direction * 2, 3) other.Disable(0.25) other.TakeDamage(10, player) Hit.OnCollidePlayer = KnockBack Scratch.OnUse = Attack Scratch.Type = Type.Normal Scratch.Category = Type.Physical
import Move import Random import Type Ember = Move.Add("ember") Ember.DisplayName = "Ember" def Attack(player): player.SetAnimation("ember", False) player.Disable(0.5) player.Cooldown = 1 for i in range(Random.Next(3) + 6): fire = player.AddProjectile(player.Direction * 0.3, 0.3, 0.1, 0.1) fire.SetVelocity(player.Direction * (Random.NextDouble() + 4), 2 + (Random.NextDouble() / 3)) fire.CollisionMask = 0x0001 fire.SetSkeleton("Moves/Ember/Ember") fire.SetAnimation("idle", True) fire.Z = Random.NextDouble() - 0.5 fire.Permanent = True def Hit(self, other): other.TakeSpecialDamage(2, player) self.SetAnimation("burn", True) self.Duration = 0.5 self.Permanent = False fire.OnCollidePlayer = Hit def Earth(self): self.Permanent = False
import Move import Type Tackle = Move.Add("takedown") Tackle.DisplayName = "Take Down" def Attack(player): if (player.OnGround): player.SetVelocity(player.Direction * 10, 3) player.SetAnimation("tackle", False) player.Disable(1) player.Cooldown = 2 Hit = player.AddDamageBox(player.Direction * 0.4, 0, 0.2, 0.6) Hit.Duration = 0.5 def KnockBack(self, other): other.SetVelocity(player.Direction * 5, 3) player.SetVelocity(player.Direction * -3, 3) player.SetVelocity(0, 0) other.Disable(0.25) other.TakeDamage(20, player) player.TakeDamage(20 / 4, player) self.Unload() Hit.OnCollidePlayer = KnockBack Tackle.OnUse = Attack Tackle.Type = Type.Normal Tackle.Category = Type.Physical