diff --git a/maps/world1.map b/maps/world1.map index 80ee1a4..214e92b 100644 Binary files a/maps/world1.map and b/maps/world1.map differ diff --git a/sprites/bluegirl_stand.gif b/sprites/bluegirl_stand.gif new file mode 100644 index 0000000..2fcc01f Binary files /dev/null and b/sprites/bluegirl_stand.gif differ diff --git a/sprites/bluegirl_walk.gif b/sprites/bluegirl_walk.gif new file mode 100644 index 0000000..3def476 Binary files /dev/null and b/sprites/bluegirl_walk.gif differ diff --git a/sprites/bunnygirls.zip b/sprites/bunnygirls.zip new file mode 100644 index 0000000..bcf500f Binary files /dev/null and b/sprites/bunnygirls.zip differ diff --git a/sprites/greengirl_stand.gif b/sprites/greengirl_stand.gif new file mode 100644 index 0000000..d35fe48 Binary files /dev/null and b/sprites/greengirl_stand.gif differ diff --git a/sprites/greengirl_walk.gif b/sprites/greengirl_walk.gif new file mode 100644 index 0000000..04349ce Binary files /dev/null and b/sprites/greengirl_walk.gif differ diff --git a/sprites/redgirl_stand.gif b/sprites/redgirl_stand.gif new file mode 100644 index 0000000..45f0312 Binary files /dev/null and b/sprites/redgirl_stand.gif differ diff --git a/sprites/redgirl_walk.gif b/sprites/redgirl_walk.gif new file mode 100644 index 0000000..3853273 Binary files /dev/null and b/sprites/redgirl_walk.gif differ diff --git a/sprites/yellowgirl_stand.gif b/sprites/yellowgirl_stand.gif new file mode 100644 index 0000000..9e8b63a Binary files /dev/null and b/sprites/yellowgirl_stand.gif differ diff --git a/sprites/yellowgirl_walk.gif b/sprites/yellowgirl_walk.gif new file mode 100644 index 0000000..34f50e6 Binary files /dev/null and b/sprites/yellowgirl_walk.gif differ diff --git a/src/sig/engine/Sprite.java b/src/sig/engine/Sprite.java index c827593..92fdcc8 100644 --- a/src/sig/engine/Sprite.java +++ b/src/sig/engine/Sprite.java @@ -27,6 +27,14 @@ public class Sprite{ public static AnimatedSprite ERINA_SLIDE1 = new AnimatedSprite(new File(new File("..","sprites"),"erina_slide1.gif"),32,32); public static AnimatedSprite ERINA_SLIDE = new AnimatedSprite(new File(new File("..","sprites"),"erina_slide.gif"),32,32); public static AnimatedSprite KNIFE_SWING = new AnimatedSprite(new File(new File("..","sprites"),"knife-swing.gif"),32,32); + public static AnimatedSprite RED_STAND = new AnimatedSprite(new File(new File("..","sprites"),"redgirl_stand.gif"),32,32); + public static AnimatedSprite RED_WALK = new AnimatedSprite(new File(new File("..","sprites"),"redgirl_walk.gif"),32,32); + public static AnimatedSprite BLUE_STAND = new AnimatedSprite(new File(new File("..","sprites"),"bluegirl_stand.gif"),32,32); + public static AnimatedSprite BLUE_WALK = new AnimatedSprite(new File(new File("..","sprites"),"bluegirl_walk.gif"),32,32); + public static AnimatedSprite YELLOW_STAND = new AnimatedSprite(new File(new File("..","sprites"),"yellowgirl_stand.gif"),32,32); + public static AnimatedSprite YELLOW_WALK = new AnimatedSprite(new File(new File("..","sprites"),"yellowgirl_walk.gif"),32,32); + public static AnimatedSprite GREEN_STAND = new AnimatedSprite(new File(new File("..","sprites"),"greengirl_stand.gif"),32,32); + public static AnimatedSprite GREEN_WALK = new AnimatedSprite(new File(new File("..","sprites"),"greengirl_walk.gif"),32,32); diff --git a/src/sig/map/DataTile.java b/src/sig/map/DataTile.java index 4fe174f..90f0205 100644 --- a/src/sig/map/DataTile.java +++ b/src/sig/map/DataTile.java @@ -3,14 +3,19 @@ package sig.map; import sig.engine.String; import sig.events.Event; import sig.events.SpawnEvent; +import sig.objects.enemies.BlueBun; import sig.objects.Erinoah; +import sig.objects.enemies.GreenBun; +import sig.objects.enemies.RedBun; +import sig.objects.enemies.YellowBun; public enum DataTile { NULL, //File is populated by 0s by default. This represents nothing. - BUN1(new SpawnEvent("Spawns a blue bun",Erinoah.class)), - BUN2(new SpawnEvent("Spawns a green bun",Erinoah.class)), - BUN3(new SpawnEvent("Spawns a yellow bun",Erinoah.class)), - BUN4(new SpawnEvent("Spawns a red bun",Erinoah.class)); + BUN0(new SpawnEvent("Spawns an Erinoa bun",Erinoah.class)), + BUN1(new SpawnEvent("Spawns a red bun",RedBun.class)), + BUN2(new SpawnEvent("Spawns a blue bun",BlueBun.class)), + BUN3(new SpawnEvent("Spawns a yellow bun",YellowBun.class)), + BUN4(new SpawnEvent("Spawns a green bun",GreenBun.class)); String description; Event event; diff --git a/src/sig/objects/BunnyGirls.java b/src/sig/objects/BunnyGirls.java new file mode 100644 index 0000000..7a02106 --- /dev/null +++ b/src/sig/objects/BunnyGirls.java @@ -0,0 +1,80 @@ +package sig.objects; + +import sig.engine.AnimatedSprite; +import sig.engine.Panel; +import sig.engine.Rectangle; +import sig.engine.Transform; +import sig.objects.actor.PhysicsObject; + +public class BunnyGirls extends PhysicsObject{ + + double lastMoved = 0; + double lastJumped = 0; + boolean moveDir = false; + double moveTimer = 0; + + protected BunnyGirls(AnimatedSprite spr, double animationSpd, Panel panel) { + super(spr, animationSpd, panel); + } + + @Override + public void update(double updateMult) { + super.update(updateMult); + lastMoved+=updateMult; + lastJumped+=updateMult; + if (lastMoved>5) { + switch ((int)(Math.random()*3)) { + case 0:{ + moveDir=true; + moveTimer=Math.random()*3; + }break; + case 1:{ + moveDir=false; + moveTimer=Math.random()*3; + }break; + } + lastMoved=0; + } + if (lastJumped>3) { + if (Math.random()<=0.4&&jumpCount>0) { + y_velocity = jump_velocity; + jumpCount--; + lastJumped=2.5+Math.random()*0.5; + lastMoved=4.5+Math.random()*0.5; + } else { + lastJumped=0; + } + } + moveTimer-=updateMult; + } + + @Override + public boolean rightKeyHeld() { + return moveTimer>0&&moveDir; + } + + @Override + public boolean leftKeyHeld() { + return moveTimer>0&&!moveDir; + } + + @Override + public Rectangle setCollisionBounds() { + return new Rectangle(10,6,12,25); + } + + @Override + public boolean isFriendlyObject() { + return false; + } + + @Override + public void draw(byte[] p) { + } + + @Override + public Transform getSpriteTransform() { + return moveDir?Transform.HORIZONTAL:Transform.NONE; + } + +} diff --git a/src/sig/objects/Erinoah.java b/src/sig/objects/Erinoah.java index 2029859..663c3b5 100644 --- a/src/sig/objects/Erinoah.java +++ b/src/sig/objects/Erinoah.java @@ -4,10 +4,7 @@ import sig.RabiClone; import sig.engine.Rectangle; import sig.engine.Sprite; import sig.engine.Transform; -import sig.engine.objects.AnimatedObject; import sig.objects.actor.PhysicsObject; -import sig.objects.actor.RenderedObject; -import sig.objects.weapons.KnifeSwing; public class Erinoah extends PhysicsObject{ diff --git a/src/sig/objects/enemies/BlueBun.java b/src/sig/objects/enemies/BlueBun.java new file mode 100644 index 0000000..f6b359b --- /dev/null +++ b/src/sig/objects/enemies/BlueBun.java @@ -0,0 +1,27 @@ +package sig.objects.enemies; + +import sig.RabiClone; +import sig.engine.Sprite; +import sig.objects.BunnyGirls; +import sig.objects.actor.PhysicsObject; + +public class BlueBun extends BunnyGirls{ + + public BlueBun(double x, double y) { + super(Sprite.BLUE_STAND, 6.5, RabiClone.p); + setX(x); + setY(y); + setAccelerationLimits(100, 100); + setVelocityLimits(500, 500); + setGroundDrag(2000); + setGroundFriction(PhysicsObject.NORMAL_FRICTION); + setAirDrag(800); + setAirFriction(180); + setSlidingVelocity(164); + setSlidingAcceleration(120); + setJumpVelocity(PhysicsObject.NORMAL_JUMP_VELOCITY); + setGravity(950); + } + + +} diff --git a/src/sig/objects/enemies/GreenBun.java b/src/sig/objects/enemies/GreenBun.java new file mode 100644 index 0000000..04e7f2b --- /dev/null +++ b/src/sig/objects/enemies/GreenBun.java @@ -0,0 +1,29 @@ +package sig.objects.enemies; + +import sig.RabiClone; +import sig.engine.AnimatedSprite; +import sig.engine.Panel; +import sig.engine.Sprite; +import sig.objects.BunnyGirls; +import sig.objects.actor.PhysicsObject; + +public class GreenBun extends BunnyGirls{ + + public GreenBun(double x, double y) { + super(Sprite.GREEN_STAND, 6.5, RabiClone.p); + setX(x); + setY(y); + setAccelerationLimits(100, 100); + setVelocityLimits(500, 500); + setGroundDrag(2000); + setGroundFriction(PhysicsObject.NORMAL_FRICTION); + setAirDrag(800); + setAirFriction(180); + setSlidingVelocity(164); + setSlidingAcceleration(120); + setJumpVelocity(PhysicsObject.NORMAL_JUMP_VELOCITY); + setGravity(1550); + } + + +} diff --git a/src/sig/objects/enemies/RedBun.java b/src/sig/objects/enemies/RedBun.java new file mode 100644 index 0000000..e96d6a7 --- /dev/null +++ b/src/sig/objects/enemies/RedBun.java @@ -0,0 +1,26 @@ +package sig.objects.enemies; + +import sig.RabiClone; +import sig.engine.Sprite; +import sig.objects.BunnyGirls; +import sig.objects.actor.PhysicsObject; + +public class RedBun extends BunnyGirls{ + + public RedBun(double x, double y) { + super(Sprite.RED_STAND, 6.5, RabiClone.p); + setX(x); + setY(y); + setAccelerationLimits(100, 100); + setVelocityLimits(500, 500); + setGroundDrag(2000); + setGroundFriction(PhysicsObject.NORMAL_FRICTION); + setAirDrag(800); + setAirFriction(180); + setSlidingVelocity(164); + setSlidingAcceleration(120); + setJumpVelocity(PhysicsObject.NORMAL_JUMP_VELOCITY); + setGravity(750); + } + +} diff --git a/src/sig/objects/enemies/YellowBun.java b/src/sig/objects/enemies/YellowBun.java new file mode 100644 index 0000000..badd0b1 --- /dev/null +++ b/src/sig/objects/enemies/YellowBun.java @@ -0,0 +1,29 @@ +package sig.objects.enemies; + +import sig.RabiClone; +import sig.engine.AnimatedSprite; +import sig.engine.Panel; +import sig.engine.Sprite; +import sig.objects.BunnyGirls; +import sig.objects.actor.PhysicsObject; + +public class YellowBun extends BunnyGirls{ + + public YellowBun(double x, double y) { + super(Sprite.YELLOW_STAND, 6.5, RabiClone.p); + setX(x); + setY(y); + setAccelerationLimits(100, 100); + setVelocityLimits(500, 500); + setGroundDrag(2000); + setGroundFriction(PhysicsObject.NORMAL_FRICTION); + setAirDrag(800); + setAirFriction(180); + setSlidingVelocity(164); + setSlidingAcceleration(120); + setJumpVelocity(PhysicsObject.NORMAL_JUMP_VELOCITY); + setGravity(150); + } + + +} diff --git a/src/sig/objects/weapons/KnifeSwing.java b/src/sig/objects/weapons/KnifeSwing.java index bb34b78..1b92786 100644 --- a/src/sig/objects/weapons/KnifeSwing.java +++ b/src/sig/objects/weapons/KnifeSwing.java @@ -40,12 +40,12 @@ public class KnifeSwing extends AttachableObject{ if(pobj.state!=State.STAGGER){ if(getSpriteTransform()==Transform.NONE){ pobj.staggerDuration=0.3; - pobj.x_velocity = -300; + pobj.x_velocity = -500; pobj.y_velocity = -300; pobj.state = State.STAGGER; }else{ pobj.staggerDuration=0.3; - pobj.x_velocity = 300; + pobj.x_velocity = 500; pobj.y_velocity = -300; pobj.state = State.STAGGER; }