/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 5 ĠN athan ĠTemp lon . Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . jupiter . eu rop a . entity . stats . character class Ċ Ċ import Ġcom . badlogic . gdx . utils . Json Ċ import Ġcom . badlogic . gdx . utils . JsonValue Ċ import Ġcom . jupiter . eu rop a . entity . component . Resource Component Ċ import Ġcom . jupiter . eu rop a . entity . stats . Attribute Set Ċ import Ġcom . jupiter . eu rop a . entity . stats . Skill Set . Skills Ċ import Ġjava . util . Collections Ċ import Ġjava . util . Tree Set Ċ Ċ /** ĊĊ Ġ* Ġ@ author ĠN athan ĠTemp lon Ċ Ġ*/ Ċ public Ġclass ĠCh amp ion Ġ: ĠCharacter Class () Ġ{ ĊĊĠĠĠ Ġ// ĠProperties ĊĠĠĠ Ġprivate Ġval Ġclass Skills Internal Ġ= ĠTree Set ( listOf ( Skills . INT IM ID ATE , ĠSk ills . PER CEPT ION , ĠSk ills . USE _ MAGIC _ DEVICE )) ĊĊĠĠĠ Ġoverride Ġval Ġtexture SetName : ĠString Ġ= Ġ" champ ion " ĊĠĠĠ Ġoverride Ġval Ġhealth Per Level : ĠInt Ġ= Ġ 6 ĊĠĠĠ Ġoverride Ġval Ġstarting Health : ĠInt Ġ= Ġ 2 0 ĊĠĠĠ Ġoverride Ġval Ġskill Points Per Level : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġval Ġattack Bonus : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCharacter Class . good Attack Bonus ( this . level ) ĊĠĠĠ Ġoverride Ġval Ġfort itude : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCharacter Class . good Save ( this . level ) ĊĠĠĠ Ġoverride Ġval Ġref lex es : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCharacter Class . po or Save ( this . level ) ĊĠĠĠ Ġoverride Ġval Ġwill : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCharacter Class . good Save ( this . level ) ĊĠĠĠ Ġoverride Ġval Ġst am ina : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠResource Component . HIGH _ ST AM INA [ this . level ] Ġ?: Ġ 0 ĊĠĠĠ Ġoverride Ġval Ġman a : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠResource Component . MIN IMAL _ MAN A [ this . level ] Ġ?: Ġ 0 ĊĠĠĠ Ġoverride Ġval Ġae ther : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠResource Component . MIN IMAL _ A ETHER [ this . level ] Ġ?: Ġ 0 ĊĠĠĠ Ġoverride Ġval Ġae ther Attribute : ĠAttributeSet . Attributes Ġ= ĠAttributeSet . Attributes . W IS DOM ĊĠĠĠ Ġoverride Ġval Ġman a Attribute Ġ= ĠAttributeSet . Attributes . IN TE LL IGENCE ĊĠĠĠ Ġoverride Ġval Ġclass Skills : ĠSet < Skills > Ġ= ĠCollections . unmodifiable Set ( this . class Skills Internal ) ĊĊĊĠĠĠ Ġ// ĠPublic ĠMethods ĊĠĠĠ Ġoverride Ġfun Ġinitialize () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . initialize () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon First Creation () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . feat Pool . increase Capacity ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlevel Up () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . level Ġ< ĠCharacter Class . MAX _ LEVEL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . level Up () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . level Ġ% Ġ 4 Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . feat Pool . increase Capacity ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ĠSerializable Ġ( Json ) ĠImplementation ĊĠĠĠ Ġoverride Ġfun Ġwrite ( json : ĠJson ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . write ( json ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread ( json : ĠJson , Ġjson Data : ĠJson Value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . read ( json , Ġjson Data ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ