package Ġgg . r sm od . plugins . content . skills . her blo re . actions Ċ Ċ import Ġgg . r sm od . game . model . queue . Queue Task Ċ import Ġgg . r sm od . plugins . api . Skills Ċ import Ġgg . r sm od . plugins . api . cfg . Items Ċ import Ġgg . r sm od . plugins . api . ext . message Ċ import Ġgg . r sm od . plugins . api . ext . player Ċ Ċ class Ġcreate P otion Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate New P otion ( task : ĠQueue Task , Ġp otion Id : ĠInt , Ġun f P otion Id : ĠInt , Ġg ained Xp : ĠDouble , Ġlevel Req : ĠInt , Ġsecondary : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġtask . player ĊĠĠĠĠĠĠĠ Ġif ( player . get Skills ()[ Skills . HER B LO RE ]. current Level Ġ>= Ġlevel Req ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġplayer . inventory . getItem Count ( un f P otion Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( a ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( player . inventory . getItem Count ( un f P otion Id ) Ġ< Ġ 1 Ġ|| Ġplayer . inventory . getItem Count ( secondary ) Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . animate (- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . animate ( HER B _ ANIM ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( un f P otion Id , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( secondary , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . add ( p otion Id , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add Xp ( Skills . HER B LO RE , Ġg ained Xp ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . wait ( WAIT _ CYCLE ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġsuspend Ġfun Ġcreate Super Combat P otion ( task : ĠQueue Task ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġtask . player ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġplayer . inventory . getItem Count ( Items . TOR ST OL ) ĊĊĠĠĠĠĠĠĠ Ġrepeat ( a ) ĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( player . inventory . getItem Count ( Items . SUPER _ DEF ENCE 4 ) Ġ< Ġ 1 Ġ|| Ġplayer . inventory . getItem Count ( Items . SUPER _ ATT ACK 4 ) Ġ< Ġ 1 Ġ|| Ġplayer . inventory . getItem Count ( Items . SUPER _ STRE NG TH 4 ) Ġ< Ġ 1 Ġ|| Ġplayer . inventory . getItem Count ( Items . TOR ST OL ) Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . animate (- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . animate ( HER B _ ANIM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( Items . SUPER _ DEF ENCE 4 , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( Items . SUPER _ STRE NG TH 4 , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( Items . SUPER _ ATT ACK 4 , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( Items . TOR ST OL , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . add ( Items . SUPER _ COMB AT _ P OT ION 4 , 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add Xp ( Skills . HER B LO RE , Ġ 1 5 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . wait ( WAIT _ CYCLE ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġanimation Ġplayed Ġwhen Ġs mel ting Ġa Ġher b ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠH ER B _ ANIM Ġ= Ġ 3 6 3 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġnumber Ġof Ġticks Ġbetween Ġstarting Ġthe Ġanimation , Ġand Ġlocking Ġthe Ġplayer Ġto Ġthe Ġaction ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAN IM ATION _ CYCLE Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġnumber Ġof Ġticks Ġbefore Ġautomatically Ġcontinuing Ġthe Ġproduce Ġthe Ġnext Ġher b ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWAIT _ CYCLE Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊ Ċ }