package Ġcharacter . classes . h unter . abilities Ċ Ċ import Ġcharacter .* Ċ import Ġcharacter . classes . h unter . t alent s . Impro ved H unter s Mark Ċ import Ġcharacter . classes . h unter . t alent s . The Be ast Within Ċ import Ġdata . model . Item Ċ import Ġmechan ics . General Ċ import Ġsim . Event Ċ import Ġsim . Sim Participant Ċ Ċ class ĠH unter s Mark Ġ: ĠAbility () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġname Ġ= Ġ" H unter 's ĠMark " ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġid : ĠInt Ġ= Ġ 1 4 3 2 5 ĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" ability _ h unter _ sn iper shot . jpg " ĊĠĠĠ Ġoverride Ġfun Ġgcd Ms ( sp : ĠSim Participant ): ĠInt Ġ= Ġsp . physical G cd (). toInt () ĊĊĠĠĠ Ġval Ġbase Cost Ġ= Ġ 6 0 . 0 ĊĠĠĠ Ġoverride Ġfun Ġresource Cost ( sp : ĠSim Participant ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtb w Discount Ġ= Ġif ( sp . buff s [ The Be ast Within . name ] Ġ!= Ġnull ) Ġ{ Ġ 0 . 2 Ġ} Ġelse Ġ 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġreturn ĠGeneral . resource Cost Reduction ( base Cost , ĠlistOf ( tb w Discount )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbase Ap Bonus Ġ= Ġ 1 1 0 . 0 ĊĠĠĠ Ġval Ġap Increment Ġ= Ġ 1 1 . 0 ĊĠĠĠ Ġval Ġmax Ap Bonus Ġ= Ġ 4 4 0 . 0 ĊĊĠĠĠ Ġclass ĠH unter s Mark State Ġ: ĠBu ff . State () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrange d Attack Count : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġap Inc Proc ( buff : ĠBu ff ): ĠProc Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠThis Ġshould Ġincrease Ġwith Ġother Ġr aid Ġmembers ' Ġrange d Ġattacks Ġas Ġwell ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProc () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtriggers : ĠList < Trigger > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ AUTO _ HIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ AUTO _ CR IT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ WHITE _ HIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ WHITE _ CR IT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ YELLOW _ HIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ YELLOW _ CR IT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrigger . RAN GED _ BLOCK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype : ĠType Ġ= ĠType . STATIC ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġproc ( sp : ĠSim Participant , Ġitems : ĠList < Item > ?, Ġability : ĠAbility ?, Ġevent : ĠEvent ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġbuff . state ( sp ) Ġas ĠH unter s Mark State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . range d Attack Count Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġap Buff Ġ= Ġobject Ġ: ĠBu ff () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġicon : ĠString Ġ= Ġ" ability _ h unter _ sn iper shot . jpg " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ 1 2 0 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmutex : ĠList < Mutex > Ġ= ĠlistOf ( Mutex . BU FF _ H UN TER S _ MARK ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmutex Priority ( sp : ĠSim Participant ): ĠMap < Mutex , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMutex . BU FF _ H UN TER S _ MARK Ġto Ġget Ap Bonus ( sp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġstate Factory (): ĠState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠH unter s Mark State () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġap Proc Ġ= Ġap Inc Proc ( this ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Ap Bonus ( sp : ĠSim Participant ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimp H unter s Mark R anks Ġ= Ġsp . character . klass . t alent s [ Impro ved H unter s Mark . name ]?. current Rank Ġ?: Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattack Count Ġ= Ġ( state ( sp ) Ġas ĠH unter s Mark State ). range d Attack Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrange d Ap Ġ= Ġ( base Ap Bonus Ġ+ Ġ( ap Increment Ġ* Ġattack Count )). coerce At Most ( max Ap Bonus ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( range d Ap Ġ* Ġimp H unter s Mark R anks Ġ* Ġ 0 . 2 ). toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmodify Stats ( sp : ĠSim Participant ): ĠStats Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbonus Ap Ġ= Ġget Ap Bonus ( sp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStats ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattack Power Ġ= Ġbonus Ap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrange d Attack Power Ġ= Ġbonus Ap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpro cs ( sp : ĠSim Participant ): ĠList < Proc > Ġ= ĠlistOf ( ap Proc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcast ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsp . sim . add R aid Buff ( ap Buff ) ĊĠĠĠ Ġ} Ċ } Ċ