MonsterType - JayhawkZombie/EECS581Project GitHub Wiki
##Abstract The MonsterType class handles the 'kind' of each monster, multiple monsters could be Charmanders, however, there is only 1 Charmander monsterType.
##DerivesFrom None
##DependsOn Skill
##MemberVariables
- Element m_primary
- Element m_secondary
- int m_EvolutionStage
- Where the MonsterType is in the hierarchy
- if EvolutionStage = 0, its an eggs
- if EvolutionStage = 1, its an infant
- if EvolutionStage = 2, its an adolescent
- if EvolutionStage = 3, its an adult
- if EvolutionStage = 4, its an elder
- Note: In this implementation, we probably will only worry about the first 3 -eggs, infants, and adolescents, unless we get a lot done, then we can add the others
- Where the MonsterType is in the hierarchy
- int m_EvolutionType
- This holds the index of the last array
- of all the Fire/Fire adolescents, I'm second - then the evolutionType will be 1 because we start counting at 0
- int m_numOfEvolutions
- determines the number of evolutions the MonsterType can evolve into
- if m_numOfEvolutions = 0, its the last stage for that monster
- if m_numOfEvolutions = 1, it only has one successor - the 'balanced' evolution, and the other evolution will be set to Null
- if m_numOfEvolutions = 2, it has two possible evolution paths, physical and magical, which path the specific monster goes down will depend on the number of physical attacks vs number of magical attacks for that monster
- if m_numOfEvolutions = 3, it has three possible evolution paths, physical, balanced and magical -no evolution will be null
- MonsterType m_physicalEvolution
- The physical evolution of the monster
- MonsterType m_magicalEvolution
- the magical evolution of the monster
- MonsterType m_balancedEvolution
- the balanced evolution of the monster
- static int num;
- the number of monsterTypes
- Skill m_skill
- Each type corresponds to a certain skill that the monster learns when they become that type
- static MonsterType[] Types1d
- This holds all of the monsters in a single dimensional array
- static MonsterType[][][][] Types4d
- This holds all of the monsters in a 4-dimensional array for easy use by bestiary class
- First Dimension is m_primary
- Second Dimension is m_secondary
- Third Dimension is m_EvolutionStage
##Functions
- getters - no setters, we don't want to alter these outside of the class
- PopluateFromFile()
- reads all of the information about the monsters from file
###Stage Base Damage Lookup
Stage | BaseDamage |
---|---|
1 | 8 |
2 | 25 |
3 | 45 |
4 | 65 |
+3 per level > 25 |
##JavaVersion The Java Version Did a lot of stuff that was unnecessary, so we're scaling back from there
##Note It looks like a lot of member variables and not a lot of methods - and it is - because this is what the monster will lookup when its evolving/ doing a lot of other things
##Future Plans Its all about designing them - making sure they have sprites etc. I may put all of the sprites for the monsters here and then have the monsters lookup the sprites from their corresponding MonsterType to keep things simple