package Ġcharacter . r aces Ċ Ċ import Ġcharacter . Race Ċ import Ġcharacter . Ability Ċ import Ġcharacter . Buff Ċ import Ġcharacter . Stats Ċ import Ġcharacter . classes . mage . M age Ċ import Ġcharacter . classes . pri est . Pri est Ċ import Ġcharacter . classes . sh aman . Sh aman Ċ import Ġmechan ics . Rating Ċ import Ġsim . Sim Participant Ċ Ċ class ĠD ra ene i Ġ: ĠRace () Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġbase Stats : ĠStats Ġ= ĠStats ( ĊĠĠĠĠĠĠĠ Ġstrength Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ Ġag ility Ġ= Ġ- 3 , ĊĠĠĠĠĠĠĠ Ġspirit Ġ= Ġ 2 ĊĠĠĠ Ġ) ĊĠĠĠ Ġoverride Ġfun Ġrac ial ByName ( name : ĠString ): ĠAbility ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġhero ic Presence Ġ= Ġobject Ġ: ĠBu ff () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" Hero ic ĠPres ence " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" inv _ helmet _ 2 1 . jpg " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ- 1 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmodify Stats ( sp : ĠSim Participant ): ĠStats Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStats ( physical Hit Rating Ġ= Ġ 1 . 0 Ġ* ĠRating . physical Hit Per Pct ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġinsp iring Presence Ġ= Ġobject Ġ: ĠBu ff () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" In sp iring ĠPres ence " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" inv _ staff _ 2 3 . jpg " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ- 1 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmodify Stats ( sp : ĠSim Participant ): ĠStats Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStats ( spell Hit Rating Ġ= Ġ 1 . 0 Ġ* ĠRating . spell Hit Per Pct ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuff s ( sp : ĠSim Participant ): ĠList < Buff > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk Ġ= Ġsp . character . klass ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( k Ġis ĠSh aman Ġ|| Ġk Ġis ĠMage Ġ|| Ġk Ġis ĠPri est ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( insp iring Presence ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( hero ic Presence ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ