From 2ec63ae289f7d612e9eb4fee589da09f8602de98 Mon Sep 17 00:00:00 2001 From: Joshua-Ashton01 Date: Tue, 11 Oct 2022 09:14:37 -0600 Subject: [PATCH] Initial draft implementations for stats and skills --- dndcharacterbuilder/.editorconfig | 17 ++ dndcharacterbuilder/pom.xml | 173 ++++++++++++++++++ .../src/main/java/com/builder/Character.java | 7 + .../main/java/com/builder/CharacterStats.java | 27 +++ .../src/main/java/com/builder/Charisma.java | 29 +++ .../main/java/com/builder/Constitution.java | 29 +++ .../src/main/java/com/builder/Dexterity.java | 48 +++++ .../main/java/com/builder/Intelligence.java | 29 +++ .../src/main/java/com/builder/Skills.java | 21 +++ .../src/main/java/com/builder/Stats.java | 69 +++++++ .../src/main/java/com/builder/Strength.java | 54 ++++++ .../src/main/java/com/builder/Wisdom.java | 29 +++ .../src/test/java/com/builder/AppTest.java | 18 ++ .../classes/com/builder/Character.class | Bin 0 -> 389 bytes .../classes/com/builder/CharacterStats.class | Bin 0 -> 989 bytes .../target/classes/com/builder/Charisma.class | Bin 0 -> 594 bytes .../classes/com/builder/Constitution.class | Bin 0 -> 606 bytes .../classes/com/builder/Dexterity.class | Bin 0 -> 1151 bytes .../classes/com/builder/Intelligence.class | Bin 0 -> 606 bytes .../target/classes/com/builder/Skills.class | Bin 0 -> 890 bytes .../target/classes/com/builder/Stats.class | Bin 0 -> 785 bytes .../target/classes/com/builder/Strength.class | Bin 0 -> 1269 bytes .../target/classes/com/builder/Wisdom.class | Bin 0 -> 588 bytes .../test-classes/com/builder/AppTest.class | Bin 0 -> 488 bytes 24 files changed, 550 insertions(+) create mode 100644 dndcharacterbuilder/.editorconfig create mode 100644 dndcharacterbuilder/pom.xml create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Character.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Charisma.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Constitution.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Dexterity.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Intelligence.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Skills.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Stats.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Strength.java create mode 100644 dndcharacterbuilder/src/main/java/com/builder/Wisdom.java create mode 100644 dndcharacterbuilder/src/test/java/com/builder/AppTest.java create mode 100644 dndcharacterbuilder/target/classes/com/builder/Character.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/CharacterStats.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Charisma.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Constitution.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Dexterity.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Intelligence.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Skills.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Stats.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Strength.class create mode 100644 dndcharacterbuilder/target/classes/com/builder/Wisdom.class create mode 100644 dndcharacterbuilder/target/test-classes/com/builder/AppTest.class diff --git a/dndcharacterbuilder/.editorconfig b/dndcharacterbuilder/.editorconfig new file mode 100644 index 0000000..1f494b0 --- /dev/null +++ b/dndcharacterbuilder/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 80 + +[*.sh] +end_of_line = lf + +[*.java] +indent_size = 4 +max_line_length = 120 diff --git a/dndcharacterbuilder/pom.xml b/dndcharacterbuilder/pom.xml new file mode 100644 index 0000000..2a209fe --- /dev/null +++ b/dndcharacterbuilder/pom.xml @@ -0,0 +1,173 @@ + + 4.0.0 + com.builder + dndcharacterbuilder + 10 + + 1.8 + 1.8 + UTF-8 + 5.6.0 + 3.0.0-M3 + 3.1.2 + 8.45.1 + 3.0.0-M5 + 0.8.4 + 3.0.0 + + 0% + 0% + 20 + 5 + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + test + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + + + + enforce + + + + + 3.6.3 + + + true + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + com.puppycrawl.tools + checkstyle + ${checkstyle.version} + + + com.github.ngeor + checkstyle-rules + 4.9.3 + + + + com/github/ngeor/checkstyle.xml + true + ${skipTests} + + + + checkstyle + validate + + check + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + check-unit-test + test + + check + + + ${project.build.directory}/jacoco.exec + + + BUNDLE + + + INSTRUCTION + COVEREDRATIO + ${jacoco.unit-tests.limit.instruction-ratio} + + + BRANCH + COVEREDRATIO + ${jacoco.unit-tests.limit.branch-ratio} + + + + + CLASS + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.class-complexity} + + + + + METHOD + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.method-complexity} + + + + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + + diff --git a/dndcharacterbuilder/src/main/java/com/builder/Character.java b/dndcharacterbuilder/src/main/java/com/builder/Character.java new file mode 100644 index 0000000..0aeb862 --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Character.java @@ -0,0 +1,7 @@ +package com.builder; + +public class Character { + + public CharacterStats stats = new CharacterStats(); + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java b/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java new file mode 100644 index 0000000..a00f17f --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/CharacterStats.java @@ -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; + + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Charisma.java b/dndcharacterbuilder/src/main/java/com/builder/Charisma.java new file mode 100644 index 0000000..6949379 --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Charisma.java @@ -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; + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Constitution.java b/dndcharacterbuilder/src/main/java/com/builder/Constitution.java new file mode 100644 index 0000000..33e1691 --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Constitution.java @@ -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; + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java b/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java new file mode 100644 index 0000000..1cfcff5 --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Dexterity.java @@ -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(); + + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java b/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java new file mode 100644 index 0000000..7ae9392 --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Intelligence.java @@ -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; + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Skills.java b/dndcharacterbuilder/src/main/java/com/builder/Skills.java new file mode 100644 index 0000000..77c772c --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Skills.java @@ -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; + + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Stats.java b/dndcharacterbuilder/src/main/java/com/builder/Stats.java new file mode 100644 index 0000000..38d9aca --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Stats.java @@ -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(); + + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Strength.java b/dndcharacterbuilder/src/main/java/com/builder/Strength.java new file mode 100644 index 0000000..62a1ddd --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Strength.java @@ -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(); + + } + +} diff --git a/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java b/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java new file mode 100644 index 0000000..0b7f2cc --- /dev/null +++ b/dndcharacterbuilder/src/main/java/com/builder/Wisdom.java @@ -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; + } + +} diff --git a/dndcharacterbuilder/src/test/java/com/builder/AppTest.java b/dndcharacterbuilder/src/test/java/com/builder/AppTest.java new file mode 100644 index 0000000..d81e15c --- /dev/null +++ b/dndcharacterbuilder/src/test/java/com/builder/AppTest.java @@ -0,0 +1,18 @@ +package com.builder; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * Unit test for simple App. + */ +class AppTest { + /** + * Rigorous Test. + */ + @Test + void testApp() { + assertEquals(1, 1); + } +} diff --git a/dndcharacterbuilder/target/classes/com/builder/Character.class b/dndcharacterbuilder/target/classes/com/builder/Character.class new file mode 100644 index 0000000000000000000000000000000000000000..586b12c189cfe78ee63c6515a36bf018306569cc GIT binary patch literal 389 zcmZ`#O-sW-5Pj36jZN32){laC@uoePi#NrC1y4Z_m4e63cClO11hyOhmj@{*^au1u ziIZA9RTg&Vz1cVOX4c=ID*)H%2WSwERXImWVzOzcbgs0pHO^@4;t%%yEx7@vFfhju`Q} IH@{DQ0DiPopa1{> literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class b/dndcharacterbuilder/target/classes/com/builder/CharacterStats.class new file mode 100644 index 0000000000000000000000000000000000000000..8cfd4f695f0c2cf8ebf54f063af908e374ebf560 GIT binary patch literal 989 zcmZWn%Wl&^6g?B$ahrxTO-o8jd6idO9$A3c1RgRU%2`M5K{0k$19)vzh7Bq+~JUeQ)fd#jy3?RMtV$ zs>4B*rc$V!p=}Uc(Iz++rwqFWe8!*fC`)N;25tzU{YXv!e2}4u>U_}C-7)Gc#pxzf zexBn>C1suPM8;f+=b=n!tbUZ`v_`u-^xiYnx#49)hMJ$v^GLjudfVIP5+CXhh8r{? zi@qg8MURPY7TxK;(78^pM`RgU=kPmfU+Gdooz5CrP?(JkT%cQh5rhUd>7@%a>C^>2 zQ(2d+rwbf5t3R<7Soi$EzV8Rl13##CY(H>2jvuUbs{S`@pEYTe%o^0Bi7r}YqgRV! z%SKcd7tt=8d)URLl9q=K_R3rjm$6UzI_?Ut5*2;BhU=u1k@kZn$tPsBpo;ZHpQS_{ X0jjCxwHN5BYXvuPi*Sb9W&EAL)tBNe literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/classes/com/builder/Charisma.class b/dndcharacterbuilder/target/classes/com/builder/Charisma.class new file mode 100644 index 0000000000000000000000000000000000000000..82b605b57665fb19b8f4e14a6e1b9bd371bc09c6 GIT binary patch literal 594 zcma)&zfJ-{5XQeb5KjIIB88nD7~?f|8XJs>$!T+hemPcHbKII`4`0ecD-#PJz=tx< zs+bF*pqbfkc7F5i?C00}2Y@ql%kT)DSkHrTrjm&?!C)qgTFgZmMM5io6Io#wgwlmd zmAxbsdi@chIM5SWK>@op?4U$whANeJ*?cU`P>d5vXoor$$%yAV{Z}m7nc`{PFmJIk zKPUK8X`@&h=Go|mQ02m{o~U~z4WYs6N-kof9<9-MdNEqexU(vTS#nZY` z(W1D(IU$%z8z{Y0q7IyZ^DR&Kji(e%{eI075;CxKr??o}KstU}J@s>g2#Uisjm%F$he zff~p9Zv*EYRzL$yt~mIFv+MIp&n_0opg?;6ow#u{ksIO8@)W(Da{X#?H7n226dJSdCcBz{9ll-8G zrHLl~0DqM6+}#xjC1#U5b7$wwoH=uU|M~F?zz&{-;1gKwm`Bz2NcOviRoyo}+J+_V zPay;Z60^UWwr(E_XnI@rnb7Q*mLVYO0;$>1E3+%#Ny8Ed?#Y3)p9%!>^+Jp0h1oSC z@I%uOMohq;FSIT|;G%{l1S9kk8j@IHq@(vcP5nd;dIyJ=`N6GGSIMgyLI^UYAqU3m z(NWv54)k`PRFVyou$FE~b@ze+`%sc~x-mP-WXhUAxM$ejEaby!q6|!jh^yaIB8ucS z4eQ7Vs9*cWamSKFTbcvvkS{de>nD1(uMc|FrfrdaEsPriM1^hBjf8NMeCG3>y9)>- z&(WT_5@#J=yV(e~P*j?gIDYbAM3itGqf7Pa|Lu?GUnEH)#DswePBLl!wjZ&$-6asrX2IkGy&OQ}{CpKM}V34$CU ze!fi~KRyY^GJq0zAV!BLqfy zk0H&-nhV7xT;`2MoK}3wxPpw=pi0ZNVX62X@h^0Igt;t$gi}Uy6TC8%dm%VA4^A%x zZ!7?hadjTNu@Fp!J=ztIwm*6O>m2FL8K{3knk(_3Zz-voxcn1aZ<4ppP*9_fQBK|- l<1YP_^6x8ujE6L1Jf8N5J8LVkS{ZqiW_pz;y=o4ly}#A%&G!HR literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/classes/com/builder/Intelligence.class b/dndcharacterbuilder/target/classes/com/builder/Intelligence.class new file mode 100644 index 0000000000000000000000000000000000000000..50adc484b30ad5e1177f8ae9459d3d99b71a9e54 GIT binary patch literal 606 zcma)&u}%U(5QhIb5D*Xq(HJ^AFve@_G&UL&lGEl0{c^0wnq${23%-|QrS1h`z;%VI| zZ;@Z%oKQ)nixXpc2Ad5CH7?wmiMm(P5*nwo6&e*;npUZ4N~ literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/classes/com/builder/Skills.class b/dndcharacterbuilder/target/classes/com/builder/Skills.class new file mode 100644 index 0000000000000000000000000000000000000000..2f7d31f2a97cbdbd18c33850ce6752c72276f79e GIT binary patch literal 890 zcmZ8fX>Zd&5Ph4=PU5ub_TYw=GfAQ0C=_TZL`A5PLWOWu$?B(#vrQH@HnKNS`>#Nv zLLk8p;71|GPCy7*dOL4+^ybZufByRR1Hd|37BURn4~Na}Na>!8n(lk0b!;KWu=sC& zXCNZs8yPWFgw~U?eR*sc<_|mX#8@=72>MOeL@MZSG8E!ei6L{?Cbp#lWwsgewZnG( zfFZXN_GAfJR2&pB!;r1j4=hv}s{f1G;0&{^Kn;an-W5SlQwJLh45gMIg zF0IHHfv|Cwq1ZA5Ehks!iN2J+{9sfV*tp1G?W)*>(TR=AMA|{D`U7KQnZaoXMh#Vu zRFm4PG;cc?%h;&?G`rD|%P$qs9Mne(!RB(Gz z5RXKhs;`mMTd7q)Wp`;zSIfl8a(I-EYU4inbBz?*3~a1Zy*rA=YAkdS438Y-QAnc4 z4lLLt&>>fQqhVJ@`=YBQt+x~ULLZ1oC48F9nSqKK7CQg#c(PR5ozs`5^=HYnt6DwT zVaW|gG}|kcsFo+iYss>(LI$$*M`h?EKWRj6(vzMZCAu#Y`%1SNI!_v3;54fIJ7&Es zpL4w&pLe}HUv#|!KjV59Kj(Tjzu4CP@hgNjUm+~=YlJ0!gRsnR5jwn1SmCRL zGyD$WEN>E4`8~op{=hxO!^Y|!O5Zn|HJzGf%VtyY7g!WU z@%vkgqUb0V1i=S?fIrBWYU!C|K*51?&z(DW?#KDL{rv}kV<>xY1d2hlQfu~ArxnJv zM&c(u53Yb*_SgJc$M3dl7n{prkO*W>sjf;+3#2O5MFICr)C%)RAy+^e8G*67>V_Bk zE6p%o@SB}bV7wj$erM5-mATuXn=GlGz(oDO#wS^W`9Z^9Q{DE$QXE}jo62l;R-oWF zRYxUP8$lGavS4VG(*~F4{Z(5y+YS@^%n6w=!oYmgQkPU13+yt_|5i4EvtciY)oP-m zuE1oaTK~ItBZ)Z$XUaFCejJ47lvyc1km#^UbEiQqC?$}gM-6B_-fCn)PS1Qpc9V{S zyiEc>jLa@;iPiM8vXz6K5C#Pjz%U_!L zsll#u7^m-H9XZ_KmbbXy9mejVga_DzM=0Y7cY20tyubmx!a;0c25)f)?{NelaTK3% z9Gf^X&}(X_iPekhK%z)pOqUXhTUd8^#PAr`ae)a;0_2kADa*S#fDv^st%H3#EX|na literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/classes/com/builder/Strength.class b/dndcharacterbuilder/target/classes/com/builder/Strength.class new file mode 100644 index 0000000000000000000000000000000000000000..dffb031a9393c00c86403ed8fd87cd3881bc1b07 GIT binary patch literal 1269 zcmaJ=T~8B16g|@xx|F5BQUNXERsq`;s33j;k|@T6r1DZyB>p5H zG?9{M;t%jg8Sm_tQc7c*%)L8v&pqdU^v~a)zX5DuCy5wC#`X@2)s}Q>!Y`HsU%2(4 zkwk)F^6Co@ju>=am5vNf%eLnW2DV2DdavGkHTh8rpJ8}gx-!^dNaXhl6*9YCO{5Tq zu0z8ZLp)!ojDTTW#}I~7`hjy)B8Lq`(B6jG9|*l!(H zg@3@S4oNXe9>FTym+HH7nFtz^R8N<#mJ$`Y#h}$i&?$xFP%)!)aaluJJzwfj8t>?s zLzY23y%tBdFPnk%TxvtUQ2NA=dC}o+T{V)_Z)v#4u(;2Imd_oN2MtFA(w0YuCU;y0=492G#WE3Xwyt# z2@h1Sm#J;}>)Hwx6|t(Lh=(*T-fRlD#xO_Yx)$8wp?cOC#>_9~MUNty4VC0E!^$9< z|0H|LFhR+B`l#|TJlA0&r{rzvSVWE?RrXrGE#62q>amM8T~+-+ju3I$=otNIlR}S{ zglv*tG^o8v(N~$GVq~YRbBtQqGo&pm+s4EhGT%ecG@S+#bdJzDN~c=LG-l{#I)Y*r zH|dL#gjDnoz%67u1Vyrp-iE9nNPi_KMlg^Pb!miY^eCW{hPpivoaqP84g}vG0B&Qx zA3Q%0ObsS2sxK>KmBP4j_ZyjB(F;A$cvtj7mv^0_6;x9dPmDMEsjVKo*2U9AJJcU& zBnrR$3rp{f{5dR@sErk4t&K*a2RF~_Z07W`8dTA5h*1N>3O zS=9n9SIvck-p$Ae%pvme=&0|APmUPBzdj0TGE@hC)Y!XD)P&VN;ZZ48b z7Q?C0&jNm=7baHMj3TUFmj)PCQyE(7);%b4c6-e)&+}(g|t|i;(tY(VWmCWv1a&Lpo!!;y7`tSbz EAGxSkZU6uP literal 0 HcmV?d00001 diff --git a/dndcharacterbuilder/target/test-classes/com/builder/AppTest.class b/dndcharacterbuilder/target/test-classes/com/builder/AppTest.class new file mode 100644 index 0000000000000000000000000000000000000000..66bce2e15a52029635f4b7e3eb6f89f56d659246 GIT binary patch literal 488 zcmZutO-sW-5Ph4biNf z#)2Mt*qNP=_vX!feSdrc7-QhVV(2B=I*2QoE<_Q8c|H@Rc40HLSNw$sDObzjK3<7L zGdP!0Nqxo87@f@-?CWeHJT$QDqX~zh6-g!Ts&y=i8IM!J(2cT$r*mFN6K|5Xev&0a zKiV>S!r*F>KuQ<}50%n#E#|V61P_(UG}kgygg%Y3Vi~L|5=1tan&k6b21ftHLl=iG zdJMzuU13>@qGs~Z#}R|i>&(q_#ZzK$j;2$yqW73pMIvscS;pU-=fYeDL(m=Qkbp&x z_NUmTUqGIj%=sI3UhA?))|3Gcdu09J2J-t90S8pI(4wE|YLhoaW6BwfW83fO{4sg; Tz&4HS{9|)AYz)VQv2gMO{;y>? literal 0 HcmV?d00001