Package org.pokenet.client.backend.entity

Source Code of org.pokenet.client.backend.entity.Pokemon

package org.pokenet.client.backend.entity;

import java.io.InputStream;

import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.loading.LoadingList;
import org.pokenet.client.backend.FileLoader;

public class Pokemon {
        static final long serialVersionUID = 1;
      
        //load sprite and icon
        private Image m_sprite;
        private Image m_icon;
        private int m_spriteNum;
      
        //load trainer data
        private int m_trainerID;
      
        // 0 or 1
        private int m_gender;
        //name and species data
        private String m_name;
        private String m_nick;
        private Enums.Pokenum m_species;
        private boolean m_shiny;
      
        //level and types
        private int m_level;
        private Enums.Poketype m_type1, m_type2;
      
        //moves and pp
        private String[] m_moves = new String[4];
        private int[] m_movemaxPP = new int[4];
        private int[] m_movecurPP = new int[4];
      
        //stats
        private int m_maxHP, m_curHP;
      
        /**
         * Returns the sprite
         * @return
         */
        public Image getSprite() {
                return m_sprite;
        }
       
        /**
         * Loads the sprite
         */
        private void setSprite() {
          String respath = System.getProperty("res.path");
      if(respath==null)
        respath="";
        LoadingList.setDeferredLoading(true);
          try{
            InputStream f;
            String path = new String();
            String index, isShiny = new String();

            if (!isShiny()){
              isShiny = "normal/";
            } else {
              isShiny = "shiny/";
            }

            if (m_spriteNum < 10) {
              index = "00" + String.valueOf(m_spriteNum);
            } else if (m_spriteNum < 100) {
              index = "0" + String.valueOf(m_spriteNum);
            } else {
              if(getSpriteNumber() > 389)
              index = String.valueOf(getSpriteNumber() - 3);
            else
              index = String.valueOf(getSpriteNumber());
            }
           
            int pathGender;
            if (getGender() != 2)
              pathGender = 3;
            else
              pathGender = 2;

            try {
              path = respath+"res/pokemon/front/" + isShiny + index + "-"
                + pathGender + ".png";
              f = FileLoader.loadFile(path);
              m_sprite = new Image(f, path.toString(), false);
            } catch (Exception e) {
              if(pathGender == 3)
                pathGender = 2;
              else
                pathGender = 3;
              path = respath+"res/pokemon/front/" + isShiny + index + "-"
                + pathGender + ".png";
              m_sprite = new Image(path.toString(), false);
              e.printStackTrace();
            }
            LoadingList.setDeferredLoading(false);
          }catch (SlickException e){e.printStackTrace();}
        }

        /**
         * Returns the icon
         * @return
         */
        public Image getIcon() {
                return m_icon;
        }
       
        /**
         * Loads the icon
         */
        private void setIcon() {
          String respath = System.getProperty("res.path");
      if(respath==null)
        respath="";
                try{
                    LoadingList.setDeferredLoading(true);
                        String path = new String();
                        String index = new String();
                      
                        if (m_spriteNum < 10) {
                                index = "00" + String.valueOf(m_spriteNum);
                        }
                        else if (m_spriteNum < 100){
                                index = "0" + String.valueOf(m_spriteNum);
                        }
                        else{
                          if(getSpriteNumber() > 389)
                      index = String.valueOf(getSpriteNumber() - 3);
                    else
                      index = String.valueOf(getSpriteNumber());
                        }
                      
                        path = respath+"res/pokemon/icons/" + index + ".gif";
                        m_icon = new Image(path, false);
                        LoadingList.setDeferredLoading(false);
                }catch (SlickException e){e.printStackTrace();}
        }     
       
        /**
         * Returns trainer ID
         * @return
         */
        public int getTrainerID() {
                return m_trainerID;
        }
       
        /**
         * Sets Trainer ID
         * @param trainerID
         */
        public void setTrainerID(int trainerID) {
                this.m_trainerID = trainerID;
        }
       
        /**
         * Returns gender
         * @return
         */
        public int getGender() {
                return m_gender;
        }
       
        /**
         * Sets gender
         * @param gender
         */
        public void setGender(int gender) {
                this.m_gender = gender;
        }
       
        /**
         * Returns name
         * @return
         */
        public String getName() {
                return m_name;
        }
       
        /**
         * Sets name
         * @param name
         */
        public void setName(String name) {
            this.m_name = name;
        }
       
        /**
         * Returns nickname
         * @return
         */
        public String getNick() {
                return m_nick;
        }
       
        /**
         * Sets nickname
         */
        public void setNick(String nick) {
                this.m_nick = nick;
        }
       
        /**
         * Returns species
         * @return
         */
        public Enums.Pokenum getSpecies() {
                return m_species;
        }
       
        /**
         * Sets species
         * @param species
         */
        public void setSpecies(Enums.Pokenum species) {
                this.m_species = species;
        }
       
        /**
         * Returns whether or not a pokemon is shiny
         * @return
         */
        public boolean isShiny() {
                return m_shiny;
        }
       
        /**
         * Sets whether a pokemon is shiny
         * @param shiny
         */
        public void setShiny(boolean shiny) {
                this.m_shiny = shiny;
        }
       
        /**
         * Returns level
         * @return
         */
        public int getLevel() {
                return m_level;
        }
       
        /**
         * Sets level
         * @param level
         */
        public void setLevel(int level) {
                this.m_level = level;
        }
       
        /**
         * Returns type 1
         * @return
         */
        public Enums.Poketype getType1() {
                return m_type1;
        }
       
        /**
         * Sets type 1
         * @param type1
         */
        public void setType1(Enums.Poketype type1) {
                this.m_type1 = type1;
        }
       
        /**
         * Returns type 2
         * @return
         */
        public Enums.Poketype getType2() {
                return m_type2;
        }
       
        /**
         * Sets type 2
         * @param type2
         */
        public void setType2(Enums.Poketype type2) {
                this.m_type2 = type2;
        }
       
        /**
         * Returns moves
         * @return
         */
        public String[] getMoves() {
                return m_moves;
        }
       
        /**
         * Sets moves
         * @param moves
         */
        public void setMoves(String[] moves) {
          this.m_moves = moves;
        }
       
        /**
         * Sets a specific move
         * @param index
         * @param move
         */
        public void setMoves(int index, String move) {
          this.m_moves[index] = move;
        }
       
        /**
         * Returns maximum PP for moves
         * @return
         */
        public int[] getMoveMaxPP() {
                return m_movemaxPP;
        }
       
        /**
         * Sets maximum PP for moves
         * @param movemaxPP
         */
        public void setMoveMaxPP(int[] movemaxPP) {
                this.m_movemaxPP = movemaxPP;
        }
       
        /**
         * Sets maximum PP of a move
         * @param move
         * @param pp
         */
        public void setMoveMaxPP(int move, int pp) {
          m_movemaxPP[move] = pp;
        }
       
        /**
         * Returns current PP for moves
         * @return
         */
        public int[] getMoveCurPP() {
                return m_movecurPP;
        }
       
        /**
         * Sets current PP for moves
         * @param movecurPP
         */
        public void setMoveCurPP(int[] movecurPP) {
                this.m_movecurPP = movecurPP;
        }
       
        /**
         * Sets current PP for a specified move
         * @param move
         * @param pp
         */
        public void setMoveCurPP(int move, int pp) {
                this.m_movecurPP[move] = pp;
        }
       
        /**
         * Returns max HP
         * @return
         */
        public int getMaxHP() {
                return m_maxHP;
        }
       
        /**
         * Sets max HP
         * @param maxHP
         */
        public void setMaxHP(int maxHP) {
                this.m_maxHP = maxHP;
        }
       
        /**
         * Returns current HP
         * @return
         */
        public int getCurHP() {
                return m_curHP;
        }
       
        /**
         * Set current HP
         * @param curHP
         */
        public void setCurHP(int curHP) {
                this.m_curHP = curHP;
        }
       
        /**
         * Sets sprite number and loads sprites
         * @param x
         * @return
         */
        public void setSpriteNumber(int x) {
          m_spriteNum = x;
          try{
            setSprite();
          } catch (Exception e){
            setSprite();
          }
          try{
            setIcon();
          } catch (Exception e){
            setIcon();
          }
        }
       
        /**
         * Returns the sprite number
         * @return
         */
        public int getSpriteNumber(){
          return m_spriteNum;
        }
       
        /**
         * Ststic method to get the file path for a pokemon's icon by it's index number
         * @param i
         * @return
         */
        public static String getIconPathByIndex(int i){
          String path = new String();
          String index = new String();
          String respath = System.getProperty("res.path");
      if(respath==null)
        respath="";
     
          if (i < 10) {
            index = "00" + String.valueOf(i);
          } else if (i < 100){
            index = "0" + String.valueOf(i);
          } else {
            index = String.valueOf(i);
          }
              
                path = respath+"res/pokemon/icons/" + index + ".gif";
                return path;
        }
}
TOP

Related Classes of org.pokenet.client.backend.entity.Pokemon

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.