Continued implementing the Megamon and move database. Added the Megamon
party menu along with testing Megamon HP values and displays.
This commit is contained in:
parent
7cb1714247
commit
5322cb402d
@ -2,7 +2,7 @@
|
|||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="src" path="assets"/>
|
<classpathentry kind="src" path="assets"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6/"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx/1.9.6/47d1e9b890e364ec28f128e9bb3b9a12a94c164/gdx-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx/1.9.6/7d903ecd6b0df2ec334814b8e70618e4c93fd37c/gdx-1.9.6-sources.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx/1.9.6/47d1e9b890e364ec28f128e9bb3b9a12a94c164/gdx-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx/1.9.6/7d903ecd6b0df2ec334814b8e70618e4c93fd37c/gdx-1.9.6-sources.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-box2d/1.9.6/c249ef4060a4fada952f278455c8f7b9cba3c18a/gdx-box2d-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-box2d/1.9.6/584f96799f8fedc8e6bb87eef1e261f0e7f92900/gdx-box2d-1.9.6-sources.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-box2d/1.9.6/c249ef4060a4fada952f278455c8f7b9cba3c18a/gdx-box2d-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-box2d/1.9.6/584f96799f8fedc8e6bb87eef1e261f0e7f92900/gdx-box2d-1.9.6-sources.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-controllers/1.9.6/ea1fd4884be631d9b7cd0f496b1ab39e31eb434b/gdx-controllers-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-controllers/1.9.6/a730ab024c77f376b24e635f1d82e7d69fc5c648/gdx-controllers-1.9.6-sources.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-controllers/1.9.6/ea1fd4884be631d9b7cd0f496b1ab39e31eb434b/gdx-controllers-1.9.6.jar" sourcepath="C:/Users/Joshua Sigona/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-controllers/1.9.6/a730ab024c77f376b24e635f1d82e7d69fc5c648/gdx-controllers-1.9.6-sources.jar"/>
|
||||||
|
BIN
Megamon-core/assets/Megamon/1.png
Normal file
BIN
Megamon-core/assets/Megamon/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
Megamon-core/assets/Megamon/1_back.png
Normal file
BIN
Megamon-core/assets/Megamon/1_back.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
Megamon-core/assets/Megamon/1_icon.png
Normal file
BIN
Megamon-core/assets/Megamon/1_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 498 B |
BIN
Megamon-core/assets/interface/healthbar.png
Normal file
BIN
Megamon-core/assets/interface/healthbar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 254 B |
BIN
Megamon-core/assets/interface/megamon_party.png
Normal file
BIN
Megamon-core/assets/interface/megamon_party.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
Megamon-core/assets/interface/megamon_party_selection.png
Normal file
BIN
Megamon-core/assets/interface/megamon_party_selection.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 572 B |
@ -1,7 +1,15 @@
|
|||||||
package sig.megamon;
|
package sig.megamon;
|
||||||
|
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
import sig.megamon.creature.Category;
|
||||||
|
import sig.megamon.creature.CreatureMove;
|
||||||
|
import sig.megamon.creature.CreatureMoveLinker;
|
||||||
|
import sig.megamon.creature.CreatureType;
|
||||||
|
import sig.megamon.creature.Evolution;
|
||||||
|
import sig.megamon.creature.ExperienceRate;
|
||||||
import sig.megamon.ref.RoomRef;
|
import sig.megamon.ref.RoomRef;
|
||||||
import sig.megamon.ref.SignRef;
|
import sig.megamon.ref.SignRef;
|
||||||
|
|
||||||
@ -27,4 +35,193 @@ public class Database {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SetupMoveDatabase() {
|
||||||
|
String moveName = "M.Buster";Megamon.moveDatabase.put(moveName, new CreatureMove(
|
||||||
|
moveName,"Damages the target. Exclusive to Mega Man.",
|
||||||
|
CreatureType.NORMAL, Category.SPECIAL,
|
||||||
|
35,35,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="P.Buster", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Exclusive to Proto Man.",
|
||||||
|
CreatureType.NORMAL, Category.SPECIAL,
|
||||||
|
35,35,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="B.Buster", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Exclusive to Bass.",
|
||||||
|
CreatureType.NORMAL, Category.SPECIAL,
|
||||||
|
35,35,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="Bubble Lead", new CreatureMove(
|
||||||
|
moveName,"Damages the target with bubbles. Exclusive to Mega Man.",
|
||||||
|
CreatureType.WATER, Category.SPECIAL,
|
||||||
|
25,40,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Magma Bazooka", new CreatureMove(
|
||||||
|
moveName,"Has a 10% chance to burn the target. Exclusive to Proto Man.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
15,95,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Slide", new CreatureMove(
|
||||||
|
moveName,"Increases the user's evasion by one stage.",
|
||||||
|
CreatureType.NORMAL, Category.STATUS,
|
||||||
|
15,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Water Balloon", new CreatureMove(
|
||||||
|
moveName,"Damages the target with a large water baloon. Exclusive to Mega Man.",
|
||||||
|
CreatureType.WATER, Category.SPECIAL,
|
||||||
|
5,120,80));
|
||||||
|
Megamon.moveDatabase.put(moveName="Quick Jab", new CreatureMove(
|
||||||
|
moveName,"Damages the target, and is an increased priority move. Will go first regardless of the user's or targets speed.",
|
||||||
|
CreatureType.STRENGTH, Category.PHYSICAL,
|
||||||
|
30,60,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Haymaker", new CreatureMove(
|
||||||
|
moveName,"Damages the target, and has a 10% chance to paralyze the target.",
|
||||||
|
CreatureType.STRENGTH, Category.PHYSICAL,
|
||||||
|
15,90,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Proto Shield", new CreatureMove(
|
||||||
|
moveName,"If the target uses a damaging move you block 75% of the damage. If the move is non damaging the user's defense falls 1 stage.",
|
||||||
|
CreatureType.SHIELD, Category.STATUS,
|
||||||
|
25,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Shield Charge", new CreatureMove(
|
||||||
|
moveName,"Damages the target, and has a 10% chance to paralyze the target.",
|
||||||
|
CreatureType.SHIELD, Category.PHYSICAL,
|
||||||
|
15,90,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Jamming", new CreatureMove(
|
||||||
|
moveName,"Lowers the target's attack by 1 stage",
|
||||||
|
CreatureType.NORMAL, Category.STATUS,
|
||||||
|
40,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Degrade", new CreatureMove(
|
||||||
|
moveName,"Lowers the target's defense by 1 stage",
|
||||||
|
CreatureType.NORMAL, Category.STATUS,
|
||||||
|
40,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Shadow Punch", new CreatureMove(
|
||||||
|
moveName,"Inflicts damage and is unaffected by ACC & EVA stat mods. Will not hit targets using Fly or Dig.",
|
||||||
|
CreatureType.DARK, Category.PHYSICAL,
|
||||||
|
20,60,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Evil Energy", new CreatureMove(
|
||||||
|
moveName,"Increases the Attack by 2 Stages. Cannot Stack.",
|
||||||
|
CreatureType.DARK, Category.STATUS,
|
||||||
|
10,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Octagon Shot", new CreatureMove(
|
||||||
|
moveName,"Attacks 3-5 times in one turn; if one of these attacks breaks a target's Substitute, the target will take damage for the rest",
|
||||||
|
CreatureType.DARK, Category.PHYSICAL,
|
||||||
|
20,25,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Aerial Barrage", new CreatureMove(
|
||||||
|
moveName,"A powerful aerial strike.",
|
||||||
|
CreatureType.FLYING, Category.PHYSICAL,
|
||||||
|
15,95,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Beat Plane", new CreatureMove(
|
||||||
|
moveName,"Beats the target, and has a 10% chance to confuse the target.",
|
||||||
|
CreatureType.FLYING, Category.PHYSICAL,
|
||||||
|
15,75,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="Double Jump", new CreatureMove(
|
||||||
|
moveName,"Increases the user's evasion by 1 stage.",
|
||||||
|
CreatureType.NORMAL, Category.STATUS,
|
||||||
|
15,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Double Jump", new CreatureMove(
|
||||||
|
moveName,"First turn, the user jumps into the air, becoming uncontrollable, and evades most attacks. Swift may still hit. The second turn, the user slams into the ground dealing heavy damage.",
|
||||||
|
CreatureType.NORMAL, Category.PHYSICAL,
|
||||||
|
15,70,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="Spread Shot", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Exclusive to Mets.",
|
||||||
|
CreatureType.NORMAL, Category.PHYSICAL,
|
||||||
|
30,35,95));
|
||||||
|
Megamon.moveDatabase.put(moveName="Taunt", new CreatureMove(
|
||||||
|
moveName,"Raises the target's attack by 2 stages and confuses it.",
|
||||||
|
CreatureType.NORMAL, Category.STATUS,
|
||||||
|
15,0,90));
|
||||||
|
Megamon.moveDatabase.put(moveName="Spark Shock", new CreatureMove(
|
||||||
|
moveName,"Damages the target, and has a 50% chance to paralyze the target. Exclusive to Spark Man.",
|
||||||
|
CreatureType.ELECTRIC, Category.SPECIAL,
|
||||||
|
10,50,85));
|
||||||
|
Megamon.moveDatabase.put(moveName="Charge", new CreatureMove(
|
||||||
|
moveName,"Raises the user's Special Attack by 1 stage.",
|
||||||
|
CreatureType.ELECTRIC, Category.STATUS,
|
||||||
|
15,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Rain Flush", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Has a 25% chance to poison the target. Exclusive to Toad Man.",
|
||||||
|
CreatureType.WATER, Category.SPECIAL,
|
||||||
|
15,75,90));
|
||||||
|
Megamon.moveDatabase.put(moveName="Fade to Black", new CreatureMove(
|
||||||
|
moveName,"Raises the user's evasion by 1 stage.",
|
||||||
|
CreatureType.DARK, Category.STATUS,
|
||||||
|
20,0,0));
|
||||||
|
Megamon.moveDatabase.put(moveName="Dive Bomb", new CreatureMove(
|
||||||
|
moveName,"Flies up and dives straight for the target.",
|
||||||
|
CreatureType.FLYING, Category.PHYSICAL,
|
||||||
|
15,60,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Shield & Burst", new CreatureMove(
|
||||||
|
moveName,"On turn 1 a shield is put up and will absorb 25% of the attack damage. On Turn 2 the shield bursts into shrapnel-like pieces.",
|
||||||
|
CreatureType.SHIELD, Category.SPECIAL,
|
||||||
|
15,60,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Pharaoh Shot", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Has a 10% chance to burn the target. Exclusive to Pharoah Man.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
15,95,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Pharaoh Shot", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Has a 10% chance to burn the target. Exclusive to Pharoah Man.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
15,95,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Yamato Spear", new CreatureMove(
|
||||||
|
moveName,"Damages the target.",
|
||||||
|
CreatureType.NORMAL, Category.PHYSICAL,
|
||||||
|
15,80,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Burn", new CreatureMove(
|
||||||
|
moveName,"Inflicts a burn damage to the target. It has no effect on Fire-types.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
15,0,75));
|
||||||
|
Megamon.moveDatabase.put(moveName="Fire Storm", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Has a 10% chance to Burn the target. Also increases Special & Attack by 1 stage to the user.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
15,60,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Bug Bite", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Has a 20% chance to poison the target.",
|
||||||
|
CreatureType.BUG, Category.PHYSICAL,
|
||||||
|
15,65,85));
|
||||||
|
Megamon.moveDatabase.put(moveName="Air Shooter", new CreatureMove(
|
||||||
|
moveName,"Damages the target with air waves. Exclusive to Air Man.",
|
||||||
|
CreatureType.FLYING, Category.SPECIAL,
|
||||||
|
15,95,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Plant Barrier", new CreatureMove(
|
||||||
|
moveName,"It blocks any attack made by the enemy. Will always go first.",
|
||||||
|
CreatureType.SHIELD, Category.STATUS,
|
||||||
|
5,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Noise Crush", new CreatureMove(
|
||||||
|
moveName,"Damages the Target. If used on an enemy that has barrier, light screen, or reflect active the damage doubles.",
|
||||||
|
CreatureType.DARK, Category.PHYSICAL,
|
||||||
|
15,85,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Crystal Eye", new CreatureMove(
|
||||||
|
moveName,"Damages the target. Excluse to Crystal Man.",
|
||||||
|
CreatureType.NORMAL, Category.SPECIAL,
|
||||||
|
15,90,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Proto Song", new CreatureMove(
|
||||||
|
moveName,"Puts the target to sleep. Exclusive to Proto Man.",
|
||||||
|
CreatureType.NORMAL, Category.SPECIAL,
|
||||||
|
15,0,75));
|
||||||
|
Megamon.moveDatabase.put(moveName="Last Round", new CreatureMove(
|
||||||
|
moveName,"Lowers the user's speed by 1 stage, but increases the user's attack and defense by 1 stage.",
|
||||||
|
CreatureType.STRENGTH, Category.STATUS,
|
||||||
|
5,0,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Fire Armor", new CreatureMove(
|
||||||
|
moveName,"Damages the target and increases the users defense by 1 stage.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
20,50,100));
|
||||||
|
Megamon.moveDatabase.put(moveName="Ultimate Defense", new CreatureMove(
|
||||||
|
moveName,"If successful, the user's defense increases by 2 stages, If not successful the user suffers from a random status condition.",
|
||||||
|
CreatureType.FIRE, Category.SPECIAL,
|
||||||
|
5,0,50));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetupMegamonDatabase() {
|
||||||
|
Megamon.megamonDatabase = new LinkedList<MegamonCreature>(Arrays.asList(
|
||||||
|
new MegamonCreature("1_icon.png","1.png","1_back.png",
|
||||||
|
"Basic M", "Basic Megaman", 1, 1,
|
||||||
|
CreatureType.WATER, 44, 48, 65, 50, 43,
|
||||||
|
3, 64, ExperienceRate.MEDIUM_SLOW,
|
||||||
|
new CreatureMoveLinker[]{
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("M.Buster"),1),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Degrade"),1),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Bubble Lead"),8),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Slide"),15),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Bubble Beam"),22),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Water Shield"),28),
|
||||||
|
new CreatureMoveLinker(Megamon.moveDatabase.get("Water Balloon"),38),
|
||||||
|
})
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,11 @@ import com.badlogic.gdx.maps.tiled.TmxMapLoader;
|
|||||||
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
|
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
|
||||||
|
|
||||||
import sig.megamon.creature.CreatureMove;
|
import sig.megamon.creature.CreatureMove;
|
||||||
|
import sig.megamon.creature.CreatureMoveLinker;
|
||||||
import sig.megamon.creature.CreatureType;
|
import sig.megamon.creature.CreatureType;
|
||||||
import sig.megamon.creature.ExperienceRate;
|
import sig.megamon.creature.ExperienceRate;
|
||||||
import sig.megamon.menu.DialogBox;
|
import sig.megamon.menu.DialogBox;
|
||||||
|
import sig.megamon.menu.MegamonPartyScreen;
|
||||||
import sig.megamon.menu.StartMenuBox;
|
import sig.megamon.menu.StartMenuBox;
|
||||||
import sig.megamon.ref.Ref;
|
import sig.megamon.ref.Ref;
|
||||||
import sig.megamon.ref.RoomRef;
|
import sig.megamon.ref.RoomRef;
|
||||||
@ -49,6 +51,8 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
public static BitmapFont font;
|
public static BitmapFont font;
|
||||||
public static DialogBox messagebox;
|
public static DialogBox messagebox;
|
||||||
public static StartMenuBox startmenubox;
|
public static StartMenuBox startmenubox;
|
||||||
|
public static MegamonPartyScreen partyscreen;
|
||||||
|
public static Texture healthbar;
|
||||||
//AssetManager assets;
|
//AssetManager assets;
|
||||||
//TiledMap map;
|
//TiledMap map;
|
||||||
static OrthographicCamera camera;
|
static OrthographicCamera camera;
|
||||||
@ -67,6 +71,8 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
final public static int MOVEUPKEY = Keys.UP;
|
final public static int MOVEUPKEY = Keys.UP;
|
||||||
final public static int MOVEDOWNKEY = Keys.DOWN;
|
final public static int MOVEDOWNKEY = Keys.DOWN;
|
||||||
final public static int MENUKEY = Keys.ENTER;
|
final public static int MENUKEY = Keys.ENTER;
|
||||||
|
public static List<MegamonCreature> megamonDatabase = new ArrayList<MegamonCreature>();
|
||||||
|
public static HashMap<String,CreatureMove> moveDatabase = new HashMap<String,CreatureMove>();
|
||||||
//public static List<Object> objects = new ArrayList<Object>();
|
//public static List<Object> objects = new ArrayList<Object>();
|
||||||
public static Room currentLevel;
|
public static Room currentLevel;
|
||||||
public static HashMap<String,RoomRef> doorDatabase = new HashMap<String,RoomRef>();
|
public static HashMap<String,RoomRef> doorDatabase = new HashMap<String,RoomRef>();
|
||||||
@ -77,6 +83,7 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
batch = new SpriteBatch();
|
batch = new SpriteBatch();
|
||||||
font = new BitmapFont(Gdx.files.internal("fonts/AgencyFB.fnt"));
|
font = new BitmapFont(Gdx.files.internal("fonts/AgencyFB.fnt"));
|
||||||
mainP = new Player(new Point2D.Double(1,1),"megamon_icon64.png");
|
mainP = new Player(new Point2D.Double(1,1),"megamon_icon64.png");
|
||||||
|
healthbar = new Texture("interface/healthbar.png");
|
||||||
//assets = new AssetManager();
|
//assets = new AssetManager();
|
||||||
|
|
||||||
/*assets.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
|
/*assets.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
|
||||||
@ -91,14 +98,39 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
objects.add(new Object("megamonlogowip.png",new Point2D.Double(3, 7)));*/
|
objects.add(new Object("megamonlogowip.png",new Point2D.Double(3, 7)));*/
|
||||||
Database.SetupDoorDatabase();
|
Database.SetupDoorDatabase();
|
||||||
Database.SetupInfoDatabase();
|
Database.SetupInfoDatabase();
|
||||||
|
Database.SetupMoveDatabase();
|
||||||
|
Database.SetupMegamonDatabase();
|
||||||
currentLevel = new Room(mainP.position,"Test Map");
|
currentLevel = new Room(mainP.position,"Test Map");
|
||||||
|
|
||||||
/*MegamonPet testPet = new MegamonPet("Test",
|
MegamonPet testPet = new MegamonPet("Test Name",
|
||||||
new MegamonCreature("test_mini_sprite.png","test_sprite.png","test_sprite.png",
|
new MegamonCreature("test_mini_sprite.png","test_sprite.png","test_sprite.png",
|
||||||
"Test Creature", "This is for testing purposes only.", 14, 60, CreatureType.NORMAL,
|
"Test Creature", "This is for testing purposes only.", 14, 60, CreatureType.NORMAL,
|
||||||
40,60,30,30,50,55,30,ExperienceRate.MEDIUM_FAST,new CreatureMove[]{}),
|
40,60,30,30,50,55,30,ExperienceRate.MEDIUM_FAST,new CreatureMoveLinker[]{}),
|
||||||
100);
|
100);
|
||||||
System.out.println(testPet);*/
|
MegamonPet testPet2 = new MegamonPet("Test Name",
|
||||||
|
new MegamonCreature("test_mini_sprite.png","test_sprite.png","test_sprite.png",
|
||||||
|
"Test Creature", "This is for testing purposes only.", 14, 60, CreatureType.NORMAL,
|
||||||
|
40,60,30,30,50,55,30,ExperienceRate.MEDIUM_FAST,new CreatureMoveLinker[]{}),
|
||||||
|
100);
|
||||||
|
MegamonPet testPet3 = new MegamonPet("Test Name",
|
||||||
|
new MegamonCreature("test_mini_sprite.png","test_sprite.png","test_sprite.png",
|
||||||
|
"Test Creature", "This is for testing purposes only.", 14, 60, CreatureType.NORMAL,
|
||||||
|
40,60,30,30,50,55,30,ExperienceRate.MEDIUM_FAST,new CreatureMoveLinker[]{}),
|
||||||
|
100);
|
||||||
|
MegamonPet testPet4 = new MegamonPet("Test Name",
|
||||||
|
new MegamonCreature("test_mini_sprite.png","test_sprite.png","test_sprite.png",
|
||||||
|
"Test Creature", "This is for testing purposes only.", 14, 60, CreatureType.NORMAL,
|
||||||
|
40,60,30,30,50,55,30,ExperienceRate.MEDIUM_FAST,new CreatureMoveLinker[]{}),
|
||||||
|
100);
|
||||||
|
testPet.setHP((int)(Math.random()*testPet.getMaxHP()));
|
||||||
|
testPet2.setHP((int)(Math.random()*testPet2.getMaxHP()));
|
||||||
|
testPet3.setHP((int)(Math.random()*testPet3.getMaxHP()));
|
||||||
|
testPet4.setHP((int)(1));
|
||||||
|
mainP.getMegamonParty().add(testPet);
|
||||||
|
mainP.getMegamonParty().add(testPet2);
|
||||||
|
mainP.getMegamonParty().add(testPet3);
|
||||||
|
mainP.getMegamonParty().add(testPet4);
|
||||||
|
/*System.out.println(testPet);*/
|
||||||
//messagebox = new DialogBox("This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.");
|
//messagebox = new DialogBox("This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.This is a test message.");
|
||||||
//startmenubox = new StartMenuBox(0);
|
//startmenubox = new StartMenuBox(0);
|
||||||
}
|
}
|
||||||
@ -112,6 +144,9 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
Gdx.graphics.set
|
Gdx.graphics.set
|
||||||
//Potential resizing code.
|
//Potential resizing code.
|
||||||
}*/
|
}*/
|
||||||
|
if (partyscreen!=null) {
|
||||||
|
partyscreen.run();
|
||||||
|
} else
|
||||||
if (messagebox!=null) {
|
if (messagebox!=null) {
|
||||||
messagebox.run();
|
messagebox.run();
|
||||||
}
|
}
|
||||||
@ -142,20 +177,27 @@ public class Megamon extends ApplicationAdapter implements ApplicationListener{
|
|||||||
currentLevel.renderer.render();
|
currentLevel.renderer.render();
|
||||||
batch.begin();
|
batch.begin();
|
||||||
//batch.draw(img, 0, 0);
|
//batch.draw(img, 0, 0);
|
||||||
for (Object o : currentLevel.getObjects()) {
|
|
||||||
batch.draw(o.sprite,
|
if (partyscreen!=null) {
|
||||||
(float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).x,
|
partyscreen.draw(batch);
|
||||||
(float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).y);
|
|
||||||
o.draw();
|
|
||||||
}
|
}
|
||||||
mainP.draw(batch);
|
else
|
||||||
if (messagebox!=null) {
|
{
|
||||||
messagebox.draw(batch);
|
for (Object o : currentLevel.getObjects()) {
|
||||||
|
batch.draw(o.sprite,
|
||||||
|
(float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).x,
|
||||||
|
(float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).y);
|
||||||
|
o.draw();
|
||||||
|
}
|
||||||
|
mainP.draw(batch);
|
||||||
|
if (messagebox!=null) {
|
||||||
|
messagebox.draw(batch);
|
||||||
|
}
|
||||||
|
if (startmenubox!=null) {
|
||||||
|
startmenubox.draw(batch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (startmenubox!=null) {
|
//GlyphLayout size = font.draw(batch, "Test Text", 0, 32);
|
||||||
startmenubox.draw(batch);
|
|
||||||
}
|
|
||||||
GlyphLayout size = font.draw(batch, "Test Text", 0, 32);
|
|
||||||
//font.draw(batch, "Test Text", Megamon.WINDOW_WIDTH-size.width, 128-size.height);
|
//font.draw(batch, "Test Text", Megamon.WINDOW_WIDTH-size.width, 128-size.height);
|
||||||
batch.end();
|
batch.end();
|
||||||
framesPassed++;
|
framesPassed++;
|
||||||
|
@ -8,7 +8,9 @@ import java.util.List;
|
|||||||
|
|
||||||
import sig.megamon.creature.CreatureLore;
|
import sig.megamon.creature.CreatureLore;
|
||||||
import sig.megamon.creature.CreatureMove;
|
import sig.megamon.creature.CreatureMove;
|
||||||
|
import sig.megamon.creature.CreatureMoveLinker;
|
||||||
import sig.megamon.creature.CreatureType;
|
import sig.megamon.creature.CreatureType;
|
||||||
|
import sig.megamon.creature.Evolution;
|
||||||
import sig.megamon.creature.ExperienceRate;
|
import sig.megamon.creature.ExperienceRate;
|
||||||
import sig.megamon.creature.SpriteCollection;
|
import sig.megamon.creature.SpriteCollection;
|
||||||
|
|
||||||
@ -26,23 +28,34 @@ public class MegamonCreature {
|
|||||||
final int catch_rate;
|
final int catch_rate;
|
||||||
final int base_exp;
|
final int base_exp;
|
||||||
final ExperienceRate exp_rate;
|
final ExperienceRate exp_rate;
|
||||||
final List<CreatureMove> moveset;
|
final List<CreatureMoveLinker> moveset;
|
||||||
|
final List<Evolution> evolution_rules;
|
||||||
boolean seenByPlayer=false;
|
boolean seenByPlayer=false;
|
||||||
|
|
||||||
public MegamonCreature(String mini_icon, String sprite, String back_sprite,
|
public MegamonCreature(String mini_icon, String sprite, String back_sprite,
|
||||||
String name, String bio, int size, float weight, CreatureType type1,
|
String name, String bio, int size, float weight, CreatureType type1,
|
||||||
int base_hp, int base_atk, int base_def, int base_spd, int base_spc,
|
int base_hp, int base_atk, int base_def, int base_spc, int base_spd,
|
||||||
int catch_rate, int base_exp, ExperienceRate exp_rate,
|
int catch_rate, int base_exp, ExperienceRate exp_rate,
|
||||||
CreatureMove...moveset) {
|
CreatureMoveLinker...moveset) {
|
||||||
this(mini_icon,sprite,back_sprite,name,bio,size, weight,type1,CreatureType.NONE,base_hp,base_atk,base_def,base_spd,base_spc,catch_rate,base_exp,exp_rate,moveset);
|
this(mini_icon,sprite,back_sprite,name,bio,size, weight,type1,CreatureType.NONE,base_hp,base_atk,base_def,base_spc,base_spd,catch_rate,base_exp,exp_rate,new ArrayList<Evolution>(),moveset);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MegamonCreature(String mini_icon, String sprite, String back_sprite,
|
||||||
|
String name, String bio, int size, float weight, CreatureType type1,
|
||||||
|
int base_hp, int base_atk, int base_def, int base_spc, int base_spd,
|
||||||
|
int catch_rate, int base_exp, ExperienceRate exp_rate,
|
||||||
|
List<Evolution> evolution_rules,
|
||||||
|
CreatureMoveLinker...moveset) {
|
||||||
|
this(mini_icon,sprite,back_sprite,name,bio,size, weight,type1,CreatureType.NONE,base_hp,base_atk,base_def,base_spc,base_spd,catch_rate,base_exp,exp_rate,evolution_rules,moveset);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MegamonCreature(String mini_icon, String sprite, String back_sprite,
|
public MegamonCreature(String mini_icon, String sprite, String back_sprite,
|
||||||
String name, String bio, int size, float weight, CreatureType type1,
|
String name, String bio, int size, float weight, CreatureType type1,
|
||||||
CreatureType type2,
|
CreatureType type2,
|
||||||
int base_hp, int base_atk, int base_def, int base_spd, int base_spc,
|
int base_hp, int base_atk, int base_def, int base_spc, int base_spd,
|
||||||
int catch_rate, int base_exp, ExperienceRate exp_rate,
|
int catch_rate, int base_exp, ExperienceRate exp_rate,
|
||||||
CreatureMove...moveset) {
|
List<Evolution> evolution_rules,
|
||||||
|
CreatureMoveLinker...moveset) {
|
||||||
this.sprites = new SpriteCollection(mini_icon,sprite,back_sprite);
|
this.sprites = new SpriteCollection(mini_icon,sprite,back_sprite);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.bio = new CreatureLore(bio,size,weight);
|
this.bio = new CreatureLore(bio,size,weight);
|
||||||
@ -57,12 +70,77 @@ public class MegamonCreature {
|
|||||||
this.base_exp=base_exp;
|
this.base_exp=base_exp;
|
||||||
this.exp_rate = exp_rate;
|
this.exp_rate = exp_rate;
|
||||||
this.moveset = new LinkedList(Arrays.asList(moveset));
|
this.moveset = new LinkedList(Arrays.asList(moveset));
|
||||||
|
this.evolution_rules=evolution_rules;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSeen(boolean seenByPlayer) {
|
public void setSeen(boolean seenByPlayer) {
|
||||||
this.seenByPlayer=seenByPlayer;
|
this.seenByPlayer=seenByPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SpriteCollection getSprites() {
|
||||||
|
return sprites;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CreatureLore getBio() {
|
||||||
|
return bio;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CreatureType getType1() {
|
||||||
|
return type1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CreatureType getType2() {
|
||||||
|
return type2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHP() {
|
||||||
|
return hp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getATK() {
|
||||||
|
return atk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDEF() {
|
||||||
|
return def;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSPD() {
|
||||||
|
return spd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSPC() {
|
||||||
|
return spc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCatchRate() {
|
||||||
|
return catch_rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBaseEXP() {
|
||||||
|
return base_exp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExperienceRate getEXPRate() {
|
||||||
|
return exp_rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<CreatureMoveLinker> getMoveset() {
|
||||||
|
return moveset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSeenByPlayer() {
|
||||||
|
return seenByPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Evolution> getEvolutionRules() {
|
||||||
|
return evolution_rules;
|
||||||
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder(this.getClass().getSimpleName()+"(");
|
StringBuilder sb = new StringBuilder(this.getClass().getSimpleName()+"(");
|
||||||
boolean first=true;
|
boolean first=true;
|
||||||
|
@ -4,6 +4,7 @@ import java.lang.reflect.Field;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import sig.megamon.creature.CreatureMove;
|
||||||
import sig.megamon.creature.NonVolatileStatus;
|
import sig.megamon.creature.NonVolatileStatus;
|
||||||
import sig.megamon.creature.VolatileStatus;
|
import sig.megamon.creature.VolatileStatus;
|
||||||
|
|
||||||
@ -37,6 +38,7 @@ public class MegamonPet {
|
|||||||
String original_trainer_name;
|
String original_trainer_name;
|
||||||
Integer level;
|
Integer level;
|
||||||
Integer hp_iv;
|
Integer hp_iv;
|
||||||
|
List<CreatureMove> moveset = new ArrayList<CreatureMove>();
|
||||||
|
|
||||||
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level) {
|
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level) {
|
||||||
this(nickname,creature_type,level,Megamon.mainP.trainer_id,Megamon.mainP.name);
|
this(nickname,creature_type,level,Megamon.mainP.trainer_id,Megamon.mainP.name);
|
||||||
@ -44,13 +46,19 @@ public class MegamonPet {
|
|||||||
|
|
||||||
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level,
|
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level,
|
||||||
Integer original_trainer, String original_trainer_name) {
|
Integer original_trainer, String original_trainer_name) {
|
||||||
this(nickname,creature_type,level,original_trainer,original_trainer_name,
|
this(nickname,creature_type,level,original_trainer,original_trainer_name, new ArrayList<CreatureMove>(),
|
||||||
new Integer[]{}, new Integer[]{});
|
new Integer[]{}, new Integer[]{});
|
||||||
}
|
}
|
||||||
|
|
||||||
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level,
|
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level,
|
||||||
Integer original_trainer, String original_trainer_name, Integer[] stats_collection,
|
Integer original_trainer, String original_trainer_name, List<CreatureMove> moveset) {
|
||||||
Integer...IV_EV_Collection) {
|
this(nickname,creature_type,level,original_trainer,original_trainer_name, moveset,
|
||||||
|
new Integer[]{}, new Integer[]{});
|
||||||
|
}
|
||||||
|
|
||||||
|
public MegamonPet(String nickname, MegamonCreature creature_type, Integer level,
|
||||||
|
Integer original_trainer, String original_trainer_name, List<CreatureMove> moveset,
|
||||||
|
Integer[] stats_collection, Integer...IV_EV_Collection) {
|
||||||
this.creature = creature_type;
|
this.creature = creature_type;
|
||||||
if (nickname.length()>0) {
|
if (nickname.length()>0) {
|
||||||
this.nickname = nickname;
|
this.nickname = nickname;
|
||||||
@ -61,8 +69,13 @@ public class MegamonPet {
|
|||||||
this.original_trainer = original_trainer;
|
this.original_trainer = original_trainer;
|
||||||
this.original_trainer_name = original_trainer_name;
|
this.original_trainer_name = original_trainer_name;
|
||||||
InitializeStats(stats_collection,IV_EV_Collection);
|
InitializeStats(stats_collection,IV_EV_Collection);
|
||||||
|
LearnDefaultMoves();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void LearnDefaultMoves() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
}
|
||||||
|
|
||||||
private void InitializeStats(Integer[] stats_collection, Integer[] IV_EV_Collection) {
|
private void InitializeStats(Integer[] stats_collection, Integer[] IV_EV_Collection) {
|
||||||
/*if (stats_collection.length<6) {
|
/*if (stats_collection.length<6) {
|
||||||
//System.out.println("WARNING! Malformed stats array! Will fill in with defaults.");
|
//System.out.println("WARNING! Malformed stats array! Will fill in with defaults.");
|
||||||
@ -119,6 +132,238 @@ public class MegamonPet {
|
|||||||
return (int)(((((base+iv)*2)+(Math.sqrt(ev)/4))*lv)/100)+5;
|
return (int)(((((base+iv)*2)+(Math.sqrt(ev)/4))*lv)/100)+5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MegamonCreature getCreature() {
|
||||||
|
return creature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public NonVolatileStatus getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VolatileStatus getBattleStatus() {
|
||||||
|
return battlestatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getATKModifier() {
|
||||||
|
return atk_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDEFModifier() {
|
||||||
|
return def_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPDModifier() {
|
||||||
|
return spd_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPCModifier() {
|
||||||
|
return spc_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getEVAModifier() {
|
||||||
|
return eva_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getACCModifier() {
|
||||||
|
return acc_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getATKIV() {
|
||||||
|
return atk_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDEFIV() {
|
||||||
|
return def_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPDIV() {
|
||||||
|
return spd_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPCIV() {
|
||||||
|
return spc_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getATKEV() {
|
||||||
|
return atk_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDEFEV() {
|
||||||
|
return def_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPDEV() {
|
||||||
|
return spd_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPCEV() {
|
||||||
|
return spc_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHPEV() {
|
||||||
|
return hp_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHP() {
|
||||||
|
return hp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMaxHP() {
|
||||||
|
return maxhp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getATK() {
|
||||||
|
return atk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDEF() {
|
||||||
|
return def;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPD() {
|
||||||
|
return spd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSPC() {
|
||||||
|
return spc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNickname() {
|
||||||
|
return nickname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getOriginalTrainerID() {
|
||||||
|
return original_trainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOriginalTrainerName() {
|
||||||
|
return original_trainer_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getLevel() {
|
||||||
|
return level;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHPIV() {
|
||||||
|
return hp_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreature(MegamonCreature creature) {
|
||||||
|
this.creature = creature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(NonVolatileStatus status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBattleStatus(VolatileStatus battlestatus) {
|
||||||
|
this.battlestatus = battlestatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setATKModifier(Integer atk_modifier) {
|
||||||
|
this.atk_modifier = atk_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDEFModifier(Integer def_modifier) {
|
||||||
|
this.def_modifier = def_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPDModifier(Integer spd_modifier) {
|
||||||
|
this.spd_modifier = spd_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPCModifier(Integer spc_modifier) {
|
||||||
|
this.spc_modifier = spc_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEVAModifier(Integer eva_modifier) {
|
||||||
|
this.eva_modifier = eva_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setACCModifier(Integer acc_modifier) {
|
||||||
|
this.acc_modifier = acc_modifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setATKIV(Integer atk_iv) {
|
||||||
|
this.atk_iv = atk_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDEFIV(Integer def_iv) {
|
||||||
|
this.def_iv = def_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPDIV(Integer spd_iv) {
|
||||||
|
this.spd_iv = spd_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPCIV(Integer spc_iv) {
|
||||||
|
this.spc_iv = spc_iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setATKEV(Integer atk_ev) {
|
||||||
|
this.atk_ev = atk_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDEFEV(Integer def_ev) {
|
||||||
|
this.def_ev = def_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPDEV(Integer spd_ev) {
|
||||||
|
this.spd_ev = spd_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPCEV(Integer spc_ev) {
|
||||||
|
this.spc_ev = spc_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHPEV(Integer hp_ev) {
|
||||||
|
this.hp_ev = hp_ev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHP(Integer hp) {
|
||||||
|
this.hp = hp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMaxHP(Integer maxhp) {
|
||||||
|
this.maxhp = maxhp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setATK(Integer atk) {
|
||||||
|
this.atk = atk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDEF(Integer def) {
|
||||||
|
this.def = def;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPD(Integer spd) {
|
||||||
|
this.spd = spd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSPC(Integer spc) {
|
||||||
|
this.spc = spc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNickname(String nickname) {
|
||||||
|
this.nickname = nickname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOriginalTrainerID(Integer original_trainer) {
|
||||||
|
this.original_trainer = original_trainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOriginalTrainerName(String original_trainer_name) {
|
||||||
|
this.original_trainer_name = original_trainer_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLevel(Integer level) {
|
||||||
|
this.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHPIV(Integer hp_iv) {
|
||||||
|
this.hp_iv = hp_iv;
|
||||||
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder(this.getClass().getSimpleName()+"(");
|
StringBuilder sb = new StringBuilder(this.getClass().getSimpleName()+"(");
|
||||||
boolean first=true;
|
boolean first=true;
|
||||||
|
@ -22,7 +22,7 @@ public class Player {
|
|||||||
Point2D.Double direction = new Point2D.Double(0,0);
|
Point2D.Double direction = new Point2D.Double(0,0);
|
||||||
Point2D.Double lastdirection = new Point2D.Double(0,1);
|
Point2D.Double lastdirection = new Point2D.Double(0,1);
|
||||||
Texture sprite;
|
Texture sprite;
|
||||||
List<MegamonPet> megamon_party = new ArrayList<MegamonPet>();
|
private List<MegamonPet> megamon_party = new ArrayList<MegamonPet>();
|
||||||
int trainer_id;
|
int trainer_id;
|
||||||
String name;
|
String name;
|
||||||
|
|
||||||
@ -89,4 +89,12 @@ public class Player {
|
|||||||
public void draw(SpriteBatch batch) {
|
public void draw(SpriteBatch batch) {
|
||||||
batch.draw(sprite, (int)GraphicUtils.getPlayerPixelPosition(Megamon.camera).getX(), (int)GraphicUtils.getPlayerPixelPosition(Megamon.camera).getY(), (int)GraphicUtils.getTileSize(Megamon.camera).getX(), (int)GraphicUtils.getTileSize(Megamon.camera).getY());
|
batch.draw(sprite, (int)GraphicUtils.getPlayerPixelPosition(Megamon.camera).getX(), (int)GraphicUtils.getPlayerPixelPosition(Megamon.camera).getY(), (int)GraphicUtils.getTileSize(Megamon.camera).getX(), (int)GraphicUtils.getTileSize(Megamon.camera).getY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addMegamonToParty(MegamonPet megamon) {
|
||||||
|
megamon_party.add(megamon);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MegamonPet> getMegamonParty() {
|
||||||
|
return megamon_party;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,18 +3,23 @@ package sig.megamon.creature;
|
|||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
public class CreatureMove {
|
public class CreatureMove {
|
||||||
int lvLearned=0;
|
|
||||||
String name="";
|
String name="";
|
||||||
String desc="";
|
String desc="";
|
||||||
CreatureType type;
|
CreatureType type;
|
||||||
Category cat;
|
Category cat;
|
||||||
|
int pp;
|
||||||
|
int accuracy;
|
||||||
|
int power;
|
||||||
|
|
||||||
public CreatureMove(String name, String description, int levelLearned, CreatureType type, Category category) {
|
public CreatureMove(String name, String description, CreatureType type, Category category,
|
||||||
|
int initialPP, int power, int accuracy) {
|
||||||
this.name=name;
|
this.name=name;
|
||||||
this.desc=description;
|
this.desc=description;
|
||||||
this.lvLearned=levelLearned;
|
|
||||||
this.type=type;
|
this.type=type;
|
||||||
this.cat=category;
|
this.cat=category;
|
||||||
|
this.pp=initialPP;
|
||||||
|
this.power = power;
|
||||||
|
this.accuracy = accuracy;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
package sig.megamon.creature;
|
||||||
|
|
||||||
|
public class CreatureMoveLinker {
|
||||||
|
CreatureMove move;
|
||||||
|
int lvLearned=0;
|
||||||
|
|
||||||
|
public CreatureMoveLinker(CreatureMove move, int lvLearnedAt) {
|
||||||
|
this.move=move;
|
||||||
|
this.lvLearned=lvLearnedAt;
|
||||||
|
}
|
||||||
|
}
|
19
Megamon-core/src/sig/megamon/creature/Evolution.java
Normal file
19
Megamon-core/src/sig/megamon/creature/Evolution.java
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package sig.megamon.creature;
|
||||||
|
|
||||||
|
import sig.megamon.MegamonCreature;
|
||||||
|
|
||||||
|
public class Evolution {
|
||||||
|
MegamonCreature creature;
|
||||||
|
int level;
|
||||||
|
boolean trade;
|
||||||
|
|
||||||
|
public Evolution(MegamonCreature creatureEvolvesInto, int levelOfEvolution) {
|
||||||
|
this(creatureEvolvesInto,levelOfEvolution,false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Evolution(MegamonCreature creatureEvolvesInto, int levelOfEvolution, boolean tradeRequired) {
|
||||||
|
this.creature = creatureEvolvesInto;
|
||||||
|
this.level = levelOfEvolution;
|
||||||
|
this.trade = tradeRequired;
|
||||||
|
}
|
||||||
|
}
|
5
Megamon-core/src/sig/megamon/menu/MegadexMenu.java
Normal file
5
Megamon-core/src/sig/megamon/menu/MegadexMenu.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package sig.megamon.menu;
|
||||||
|
|
||||||
|
public class MegadexMenu {
|
||||||
|
|
||||||
|
}
|
99
Megamon-core/src/sig/megamon/menu/MegamonPartyScreen.java
Normal file
99
Megamon-core/src/sig/megamon/menu/MegamonPartyScreen.java
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
package sig.megamon.menu;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
|
||||||
|
import sig.megamon.Megamon;
|
||||||
|
import sig.megamon.MegamonPet;
|
||||||
|
|
||||||
|
public class MegamonPartyScreen {
|
||||||
|
static Color backgroundColor = new Color(63/255f,72/255f,204/255f,1);
|
||||||
|
static Texture party_window = new Texture("interface/megamon_party.png");
|
||||||
|
static Texture party_window_selection = new Texture("interface/megamon_party_selection.png");
|
||||||
|
int selection = 0;
|
||||||
|
final static int MEGAMON_SLOT_SPACING = 140;
|
||||||
|
final static int WINDOW_MARGIN = 140;
|
||||||
|
int alpha=0;
|
||||||
|
final int ALPHA_SPD=4;
|
||||||
|
boolean alpha_dir=true;
|
||||||
|
|
||||||
|
public MegamonPartyScreen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
alpha+=(alpha_dir)?ALPHA_SPD:-ALPHA_SPD;
|
||||||
|
if (Math.abs(alpha)>=255) {
|
||||||
|
alpha_dir=!alpha_dir;
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.MOVELEFTKEY)) {
|
||||||
|
if (selection<3) {
|
||||||
|
selection = Math.floorMod(selection-1, 3);
|
||||||
|
} else {
|
||||||
|
selection = Math.floorMod(selection-4, 3)+3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.MOVERIGHTKEY)) {
|
||||||
|
if (selection<3) {
|
||||||
|
selection = Math.floorMod(selection+1, 3);
|
||||||
|
} else {
|
||||||
|
selection = Math.floorMod(selection-2, 3)+3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.MOVEUPKEY)) {
|
||||||
|
selection = Math.floorMod(selection-3, 6);
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.MOVEDOWNKEY)) {
|
||||||
|
selection = Math.floorMod(selection+3, 6);
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.CANCELKEY) ||
|
||||||
|
Gdx.input.isKeyJustPressed(Megamon.MENUKEY)) {
|
||||||
|
Megamon.partyscreen=null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void draw(SpriteBatch batch) {
|
||||||
|
Gdx.gl.glClearColor(backgroundColor.r,backgroundColor.g,backgroundColor.b,backgroundColor.a);
|
||||||
|
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||||
|
int i=0;
|
||||||
|
batch.draw(party_window, 0, 0);
|
||||||
|
|
||||||
|
batch.setColor(new Color(1,1,1,Math.abs(alpha)/255f));
|
||||||
|
batch.draw(party_window_selection,
|
||||||
|
WINDOW_MARGIN + ((selection%3)*MEGAMON_SLOT_SPACING)-36,
|
||||||
|
(int)(Megamon.WINDOW_HEIGHT/(selection>2?1.9:1.1))-party_window_selection.getHeight()-32);
|
||||||
|
batch.setColor(new Color(1,1,1,1));
|
||||||
|
for (MegamonPet mp : Megamon.mainP.getMegamonParty()) {
|
||||||
|
batch.draw(
|
||||||
|
mp.getCreature().getSprites().getMiniIcon(),
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING)+4,(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1)-64));
|
||||||
|
Megamon.font.draw(batch, "Lv",
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING),(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1))-
|
||||||
|
mp.getCreature().getSprites().getMiniIcon().getHeight()*2-40);
|
||||||
|
DialogBox.messageboxfont.draw(batch, Integer.toString(mp.getLevel()),
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING),(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1))-
|
||||||
|
mp.getCreature().getSprites().getMiniIcon().getHeight()*2-72,24,Align.center,false);
|
||||||
|
DialogBox.messageboxfont.draw(batch, mp.getHP()+"/"+mp.getMaxHP(),
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING),(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1))-
|
||||||
|
mp.getCreature().getSprites().getMiniIcon().getHeight()*2-96,24,Align.center,false);
|
||||||
|
if ((float)mp.getHP()/mp.getMaxHP()<0.3) {
|
||||||
|
batch.setColor(Color.RED);
|
||||||
|
}
|
||||||
|
batch.draw(Megamon.healthbar,
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING)+
|
||||||
|
mp.getCreature().getSprites().getMiniIcon().getWidth()+32,
|
||||||
|
(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1)-48-Megamon.healthbar.getHeight()),
|
||||||
|
0,0,Megamon.healthbar.getWidth(),Math.max(3,(int)(((float)mp.getHP()/mp.getMaxHP())*Megamon.healthbar.getHeight())));
|
||||||
|
batch.setColor(Color.WHITE);
|
||||||
|
Megamon.font.draw(batch, mp.getNickname(),
|
||||||
|
WINDOW_MARGIN+((i%3)*MEGAMON_SLOT_SPACING)-24,(int)(Megamon.WINDOW_HEIGHT/(i>2?1.9:1.1)-
|
||||||
|
mp.getCreature().getSprites().getMiniIcon().getHeight()*2-120),0,mp.getNickname().length(),100,Align.center,true,"...");
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
21
Megamon-core/src/sig/megamon/menu/MenuItem.java
Normal file
21
Megamon-core/src/sig/megamon/menu/MenuItem.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package sig.megamon.menu;
|
||||||
|
|
||||||
|
public enum MenuItem {
|
||||||
|
MEGADEX("Megadex"),
|
||||||
|
MEGAMON("Megamon"),
|
||||||
|
BAG("Bag"),
|
||||||
|
TRAINER("<Trainer>"),
|
||||||
|
SAVE("Save"),
|
||||||
|
OPTIONS("Options"),
|
||||||
|
EXIT("Exit");
|
||||||
|
|
||||||
|
String displayName;
|
||||||
|
|
||||||
|
MenuItem(String displayName) {
|
||||||
|
this.displayName = displayName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplayText() {
|
||||||
|
return this.displayName;
|
||||||
|
}
|
||||||
|
}
|
@ -12,14 +12,7 @@ public class StartMenuBox {
|
|||||||
static Texture startmenu_background_top = new Texture("startmenu_box.png");
|
static Texture startmenu_background_top = new Texture("startmenu_box.png");
|
||||||
static Texture startmenu_highlight = new Texture("startmenu_highlight.png");
|
static Texture startmenu_highlight = new Texture("startmenu_highlight.png");
|
||||||
int selection=0;
|
int selection=0;
|
||||||
String[] menuitems = new String[]
|
MenuItem[] menuitems = MenuItem.values();
|
||||||
{"Megadex",
|
|
||||||
"Megamon",
|
|
||||||
"Bag",
|
|
||||||
"<Trainer>",
|
|
||||||
"Save",
|
|
||||||
"Options",
|
|
||||||
"Exit"};
|
|
||||||
int menuitem_spacing = 28;
|
int menuitem_spacing = 28;
|
||||||
|
|
||||||
public StartMenuBox(int cursorStartingPosition) {
|
public StartMenuBox(int cursorStartingPosition) {
|
||||||
@ -35,6 +28,30 @@ public class StartMenuBox {
|
|||||||
}
|
}
|
||||||
if (Gdx.input.isKeyJustPressed(Megamon.MENUKEY)) {
|
if (Gdx.input.isKeyJustPressed(Megamon.MENUKEY)) {
|
||||||
Megamon.startmenubox=null;
|
Megamon.startmenubox=null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.ACTIONKEY)) {
|
||||||
|
switch (menuitems[selection]) {
|
||||||
|
case MEGADEX:
|
||||||
|
break;
|
||||||
|
case MEGAMON:
|
||||||
|
Megamon.partyscreen = new MegamonPartyScreen();
|
||||||
|
break;
|
||||||
|
case BAG:
|
||||||
|
break;
|
||||||
|
case TRAINER:
|
||||||
|
break;
|
||||||
|
case OPTIONS:
|
||||||
|
break;
|
||||||
|
case SAVE:
|
||||||
|
break;
|
||||||
|
case EXIT:
|
||||||
|
Megamon.startmenubox = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyJustPressed(Megamon.CANCELKEY)) {
|
||||||
|
Megamon.startmenubox=null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,11 +65,11 @@ public class StartMenuBox {
|
|||||||
spacingpixels);
|
spacingpixels);
|
||||||
batch.draw(startmenu_background_bottom, windowx,menubot-startmenu_background_bottom.getHeight());
|
batch.draw(startmenu_background_bottom, windowx,menubot-startmenu_background_bottom.getHeight());
|
||||||
int i=0;
|
int i=0;
|
||||||
for (String s : menuitems) {
|
for (MenuItem s : menuitems) {
|
||||||
if (i==selection) {
|
if (i==selection) {
|
||||||
batch.draw(startmenu_highlight, windowx-4, windowy-((i+1)*menuitem_spacing)+8);
|
batch.draw(startmenu_highlight, windowx-4, windowy-((i+1)*menuitem_spacing)+8);
|
||||||
}
|
}
|
||||||
DialogBox.messageboxfont.draw(batch, s, windowx+28, windowy-(i++*menuitem_spacing));
|
DialogBox.messageboxfont.draw(batch, s.getDisplayText(), windowx+28, windowy-(i++*menuitem_spacing));
|
||||||
}
|
}
|
||||||
Megamon.font.draw(batch, ">", windowx+8, windowy-(selection*menuitem_spacing)+8);
|
Megamon.font.draw(batch, ">", windowx+8, windowy-(selection*menuitem_spacing)+8);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user