From 6863b399da49eb01fd0e8f698ed21b1d94bde562 Mon Sep 17 00:00:00 2001 From: Azra Victor Date: Wed, 16 Jun 2021 11:04:20 +0200 Subject: [PATCH] Added blue light rising punch special. --- .../Characters/Blue/BlueSpecials.java | 256 ++++++++++++++++++ .../Characters/Blue/CharacterBlue.java | 3 +- 2 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 src/gameplay/Characters/Blue/BlueSpecials.java diff --git a/src/gameplay/Characters/Blue/BlueSpecials.java b/src/gameplay/Characters/Blue/BlueSpecials.java new file mode 100644 index 0000000..b802537 --- /dev/null +++ b/src/gameplay/Characters/Blue/BlueSpecials.java @@ -0,0 +1,256 @@ +package gameplay.Characters.Blue; + +import engine.Engine; +import engine.math.Vector3f; +import engine.object.Hitbox; +import engine.object.ObjectGl; +import gameplay.actions.Attack; +import gameplay.actions.attackPart; +import gameplay.entities.Status; +import gameplay.frames.Frame; +import gameplay.hitboxes.*; +import gameplay.input.ButtonIG; + +import java.util.ArrayList; + +import static gameplay.input.ButtonIG.*; + +public class BlueSpecials { + private static Frame lDPFrame1(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(0.0,0.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(102,0,102,120); + return f; + } + private static Frame lDPFrame2(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(0.0,0.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(306,0,102,120); + return f; + } + private static Frame lDPFrame3(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(3.0,3.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(714,0,102,120); + return f; + } + + private static Frame lDPFrame4(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(3.0,0.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(714,0,102,120); + return f; + } + + private static Frame lDPFrame5(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(-3.0,0.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(714,0,102,120); + return f; + } + + private static Frame lDPFrame6(){ + + /* + Hitboxes lists creation + */ + ArrayList phb = new ArrayList(); + ArrayList pthb = new ArrayList(); + ArrayList ahb = new ArrayList(); + ArrayList athb = new ArrayList(); + + /* + Individual hitboxes creation + */ + Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); + Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); + Push_HitBox pushB = new Push_HitBox(70,70,150,500); + + /* + adding hitboxes to lists + */ + phb.add(phb1); + pthb.add(pthb1); + + /* + frame creation + */ + Frame f = new Frame(0.0,0.0,phb,ahb,pthb,athb,pushB, + //cancels (in order : normal, special, jump, move, dash) + false,false,false,false,false); + f.setSpriteWrap(112,0,102,120); + return f; + } + + private static attackPart lDPStartup() { + Frame[] f = new Frame[3]; + f[0] = lDPFrame1(); + f[1] = lDPFrame2(); + f[2] = lDPFrame3(); + return(new attackPart(f)); + } + + private static attackPart lDPRecovery() { + Frame[] f = new Frame[29]; + for(int i = 0; i < 11; i++) { + f[i] = lDPFrame5(); + } + for(int i = 11; i < f.length; i++) { + f[i] = lDPFrame6(); + } + return(new attackPart(f)); + } + + private static attackPart lDPActive() { + Frame[] f = new Frame[11]; + for(int i = 0; i < 5; i++) { + f[i] = lDPFrame3(); + } + + for(int i = 5; i < f.length; i++) { + f[i] = lDPFrame4(); + } + + return(new attackPart(100,4,20,18,16,14,f,false,false,true)); + } + + protected static Attack blueLDP() { + ButtonIG[][] cmd = {{FORWARD},{DOWN},{DOWN,FORWARD},{A}}; + boolean isSpecial = true; + Status rS = Status.NORMAL; + attackPart[] parts = {lDPStartup(),lDPActive(),lDPRecovery()}; + return new Attack(isSpecial,rS,cmd,parts); + } + + +} diff --git a/src/gameplay/Characters/Blue/CharacterBlue.java b/src/gameplay/Characters/Blue/CharacterBlue.java index ca859f3..4320ea0 100644 --- a/src/gameplay/Characters/Blue/CharacterBlue.java +++ b/src/gameplay/Characters/Blue/CharacterBlue.java @@ -9,6 +9,7 @@ import gameplay.input.ButtonIG; import java.util.ArrayList; import static gameplay.Characters.Blue.BlueNormals.*; +import static gameplay.Characters.Blue.BlueSpecials.blueLDP; import static gameplay.input.ButtonIG.*; public class CharacterBlue { @@ -30,7 +31,7 @@ public class CharacterBlue { Jump nJ = new Jump(njcmd,nJumpF); Jump bJ = new Jump(bjcmd,bJumpF); - Attack[] atks = {blueCrouchJab(),blueStandJab(),blueStandHeavyKick()}; + Attack[] atks = {blueLDP(),blueCrouchJab(),blueStandHeavyKick(),blueStandJab()}; /* * Temporary values to change later