package Ġcharacter . classes . rog ue . de buff s Ċ Ċ import Ġcharacter . Ability Ċ import Ġcharacter . De buff Ċ import Ġdata . Constants Ċ import Ġsim . Event Ċ import Ġsim . Sim Participant Ċ import Ġcharacter . Proc Ċ import Ġcharacter . classes . rog ue . t alent s .* Ċ Ċ class ĠGar rote Dot ( owner : ĠSim Participant ) Ġ: ĠDe buff ( owner ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġname Ġ= Ġ" Gar rote Ġ( Do T )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ 1 8 0 0 0 ĊĠĠĠ Ġoverride Ġval Ġtick Delta Ms : ĠInt Ġ= Ġ 3 0 0 0 ĊĊĠĠĠ Ġval Ġdot Ġ= Ġobject Ġ: ĠAbility () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid : ĠInt Ġ= Ġ 2 6 8 8 4 ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġgcd Ms ( sp : ĠSim Participant ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġd mg Per Tick ( sp : ĠSim Participant ): ĠDouble { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopportunity Ġ= Ġsp . character . klass . t alent s [ Opp ort unity . name ] Ġas ĠO pp ort unity ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġincreased Damage Percent Ġ= Ġopportunity ?. damage Increase Percent () Ġ?: Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd mg Multiplier Ġ= Ġ 1 Ġ+ Ġ( increase d Damage Percent Ġ/ Ġ 1 0 0 . 0 ). coerce At Least ( 0 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( 8 1 0 . 0 Ġ* Ġd mg Multiplier Ġ+ Ġsp . attack Power () Ġ* Ġ 0 . 1 8 ) Ġ/ Ġ 6 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcast ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠeventType Ġ= ĠEvent . Type . DA MAGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdamage Type Ġ= ĠConstants . Damage Type . PHYSICAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġability Name Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġd mg Per Tick ( sp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= ĠEvent . Result . HIT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner . log Event ( event ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner . fire Proc ( listOf ( Proc . Trigger . PHYSICAL _ DA MAGE _ PERIOD IC ), ĠlistOf (), Ġthis , Ġevent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtick ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdot . cast ( owner ) ĊĠĠĠ Ġ} Ċ } Ċ