package Ġcharacter . classes . war ri or . abilities Ċ Ċ import Ġcharacter .* Ċ import Ġcharacter . classes . war ri or . t alent s . Command ing Presence Ċ import Ġsim . Sim Participant Ċ Ċ class ĠBattle Sh out Ġ: ĠAbility () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġname : ĠString Ġ= Ġ" Battle ĠSh out " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġid : ĠInt Ġ= Ġ 2 0 4 8 ĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" ability _ war ri or _ battle sh out . jpg " ĊĊĠĠĠ Ġoverride Ġfun Ġgcd Ms ( sp : ĠSim Participant ): ĠInt Ġ= Ġsp . physical G cd (). toInt () ĊĊĠĠĠ Ġoverride Ġfun Ġresource Type ( sp : ĠSim Participant ): ĠResource . Type Ġ= ĠResource . Type . R AGE ĊĠĠĠ Ġoverride Ġfun Ġresource Cost ( sp : ĠSim Participant ): ĠDouble Ġ= Ġ 1 0 . 0 ĊĊĠĠĠ Ġprivate Ġfun Ġtotal Ap ( sp : ĠSim Participant ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcmd Pres Ġ= Ġsp . character . klass . t alent s [ Command ing Presence . name ] Ġas ĠCommand ing Presence ? ĊĠĠĠĠĠĠĠ Ġreturn Ġ( 3 0 5 . 0 Ġ* Ġ( cmd Pres ?. sh out Multiplier () Ġ?: Ġ 1 . 0 )). toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbuff Ġ= Ġobject Ġ: ĠBu ff () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" Battle ĠSh out " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" ability _ war ri or _ battle sh out . jpg " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ 1 2 0 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmutex : ĠList < Mutex > Ġ= ĠlistOf ( Mutex . BU FF _ B ATT LE _ S HOUT ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmutex Priority ( sp : ĠSim Participant ): ĠMap < Mutex , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMutex . BU FF _ B ATT LE _ S HOUT Ġto Ġtotal Ap ( sp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmodify Stats ( sp : ĠSim Participant ): ĠStats Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattack Power Ġ= Ġtotal Ap ( sp ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcast ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsp . add Buff ( buff ) ĊĠĠĠ Ġ} Ċ } Ċ