Initial draft implementations for stats and skills

This commit is contained in:
Joshua-Ashton01
2022-10-11 09:14:37 -06:00
parent 6a57e9bcd9
commit 2ec63ae289
24 changed files with 550 additions and 0 deletions
@@ -0,0 +1,7 @@
package com.builder;
public class Character {
public CharacterStats stats = new CharacterStats();
}
@@ -0,0 +1,27 @@
package com.builder;
public class CharacterStats {
private Stats[] stats;
public CharacterStats() {
}
// FIXME: Need to implement constructor, validates all proposed ability scores and creates new objects containing corresponding values.
public CharacterStats(Strength str, Dexterity dex, Constitution con, Intelligence intel, Wisdom wis, Charisma cha) {
this.stats = new Stats[]{str, dex, con, intel, wis, cha};
}
// FIXME: Need to implement ability score validation.
public boolean validateAbilityScore(int abilityScore) {
return false;
}
}
@@ -0,0 +1,29 @@
package com.builder;
public class Charisma extends Stats {
@Override
int getScore() {
// TODO Auto-generated method stub
return 0;
}
@Override
int getModifier() {
// TODO Auto-generated method stub
return 0;
}
@Override
String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
int getSavingThrow() {
// TODO Auto-generated method stub
return 0;
}
}
@@ -0,0 +1,29 @@
package com.builder;
public class Constitution extends Stats {
@Override
int getScore() {
// TODO Auto-generated method stub
return 0;
}
@Override
int getModifier() {
// TODO Auto-generated method stub
return 0;
}
@Override
String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
int getSavingThrow() {
// TODO Auto-generated method stub
return 0;
}
}
@@ -0,0 +1,48 @@
package com.builder;
public class Dexterity extends Stats {
private int abilityScore;
private int abilityScoreModifier;
public Dexterity(int abilityScore) {
this.abilityScore = abilityScore;
this.abilityScoreModifier = calcSavingThrow(abilityScore);
}
public int getScore() {
return abilityScore;
}
public int getModifier() {
return abilityScoreModifier;
}
public int getSavingThrow() {
return getModifier();
}
// FIXME: Need to implement.
public String getDescription() {
return "";
}
@Override
public String toString() {
return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: "
+ getDescription();
}
}
@@ -0,0 +1,29 @@
package com.builder;
public class Intelligence extends Stats{
@Override
int getScore() {
// TODO Auto-generated method stub
return 0;
}
@Override
int getModifier() {
// TODO Auto-generated method stub
return 0;
}
@Override
String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
int getSavingThrow() {
// TODO Auto-generated method stub
return 0;
}
}
@@ -0,0 +1,21 @@
package com.builder;
public class Skills extends Character {
private String[] allSkillsText = {"Animal Handling", "Acrobatics", "Arcana", "Athletics", "Deception", "History", "Insight", "Intimidation", "Investigation", "Medicine", "Nature", "Perception", "Performance", "Persuasion", "Religion", "Sleight of Hand", "Stealth", "Survival"};
private int[] skills;
public Skills(int[] skills) {
this.skills = skills;
}
public int[] getAllSkills() {
return skills;
}
}
@@ -0,0 +1,69 @@
package com.builder;
public abstract class Stats {
public int calcSavingThrow(int abilityScore) {
switch (abilityScore) {
case 1:
return -5;
case 2:
case 3:
return -4;
case 4:
case 5:
return -3;
case 6:
case 7:
return -2;
case 8:
case 9:
return -1;
case 10:
case 11:
return 0;
case 12:
case 13:
return 1;
case 14:
case 15:
return 2;
case 16:
case 17:
return 3;
case 18:
case 19:
return 4;
case 20:
case 21:
return 5;
case 22:
case 23:
return 6;
case 24:
case 25:
return 7;
case 26:
case 27:
return 8;
case 28:
case 29:
return 9;
case 30:
return 10;
default:
return -10;
}
}
abstract int getScore();
abstract int getModifier();
abstract int getSavingThrow();
abstract String getDescription();
}
@@ -0,0 +1,54 @@
package com.builder;
public class Strength extends Stats {
private int abilityScore;
private int abilityScoreModifier;
// FIXME: Need to implement standard constructor.
public Strength(int abilityScore) {
this.abilityScore = abilityScore;
this.abilityScoreModifier = calcSavingThrow(abilityScore);
}
public int getScore() {
return abilityScore;
}
public int getModifier() {
return abilityScoreModifier;
}
public int getSavingThrow() {
return getModifier();
}
public String getDescription() {
return "Natural athleticism and bodily power.";
}
public int getMaxCarryWeight() {
return abilityScore * 15;
}
@Override
public String toString() {
return "Ability Score: " + abilityScore + " | Modifier: " + abilityScoreModifier + " | Description: "
+ getDescription();
}
}
@@ -0,0 +1,29 @@
package com.builder;
public class Wisdom extends Stats {
@Override
int getScore() {
// TODO Auto-generated method stub
return 0;
}
@Override
int getModifier() {
// TODO Auto-generated method stub
return 0;
}
@Override
String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
int getSavingThrow() {
// TODO Auto-generated method stub
return 0;
}
}