package Ġcharacter . classes . war lock . de buff s Ċ Ċ import Ġcharacter . Ability Ċ import Ġcharacter . De buff Ċ import Ġcharacter . Proc Ċ import Ġcharacter . classes . war lock . t alent s .* Ċ import Ġdata . Constants Ċ import Ġmechan ics . Spell Ċ import Ġsim . Event Ċ import Ġsim . Event Result Ċ import Ġsim . EventType Ċ import Ġsim . Sim Participant Ċ Ċ class ĠCur se Of Ag ony Dot ( owner : ĠSim Participant ) Ġ: ĠDe buff ( owner ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġname Ġ= Ġ" Cur se Ġof ĠAg ony Ġ( Do T )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠ Ġoverride Ġval Ġduration Ms : ĠInt Ġ= Ġ 2 4 0 0 0 ĊĠĠĠ Ġoverride Ġval Ġtick Delta Ms : ĠInt Ġ= Ġ 2 0 0 0 ĊĊĠĠĠ Ġ// ĠDo T Ġbehavior : Ġfirst Ġ 4 Ġticks Ġdeal Ġ 0 . 5 x Ġtick Ġdamage , Ġnext Ġ 4 Ġdo Ġnormal , Ġlast Ġ 4 Ġdo Ġ 1 . 5 x ĊĊĠĠĠ Ġval Ġdot Ġ= Ġobject Ġ: ĠAbility () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid : ĠInt Ġ= Ġ 2 7 2 1 8 ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= ĠComp anion . name ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġgcd Ms ( sp : ĠSim Participant ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġd mg Per Tick Ġ= Ġ 1 1 3 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġnum Ticks Ġ= Ġduration Ms Ġ/ Ġtick Delta Ms ĊĠĠĠĠĠĠĠ Ġval Ġschool Ġ= ĠConstants . Damage Type . SH ADOW ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcast ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimp Co a Ġ= Ġowner . character . klass . t alent s [ Impro ved Cur se Of Ag ony . name ] Ġas ĠImproved Cur se Of Ag ony ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimp Co a Multiplier Ġ= Ġimp Co a ?. damage Multiplier () Ġ?: Ġ 1 . 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcont ag ion Ġ= Ġowner . character . klass . t alent s [ Cont ag ion . name ] Ġas ĠCont ag ion ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcont ag ion Multiplier Ġ= Ġcont ag ion ?. additional Damage Multiplier () Ġ?: Ġ 1 . 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠPer Ġlock Ġdiscord ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspell Power Coeff Ġ= Ġ 1 . 0 Ġ/ Ġnum Ticks ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdamage Roll Ġ= ĠSpell . base Damage Roll Single ( owner , Ġd mg Per Tick , Ġschool , Ġspell Power Coeff ) Ġ* Ġcont ag ion Multiplier Ġ* Ġimp Co a Multiplier ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠeventType Ġ= ĠEventType . DA MAGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdamage Type Ġ= Ġschool , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġability Name Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġdamage Roll , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= ĠEvent Result . HIT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner . log Event ( event ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner . fire Proc ( listOf ( Proc . Trigger . SH ADOW _ DA MAGE _ PERIOD IC ), ĠlistOf (), Ġthis , Ġevent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtick ( sp : ĠSim Participant ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdot . cast ( owner ) ĊĠĠĠ Ġ} Ċ } Ċ