package Ġcom . ascending . games . id 1 . edit . world . action Ċ Ċ import Ġcom . ascending . games . id 1 . model . me chan ics . R it ual Ċ import Ġcom . ascending . games . id 1 . model . me chan ics . Stat Type Ċ import Ġcom . ascending . games . id 1 . model . world . Player Ċ import Ġcom . ascending . games . id 1 . model . world . Player Service Ċ import Ġcom . ascending . games . engine . edit . action . I Action Ċ Ċ class ĠPerform R it ual Action ( private Ġval Ġplayer Ġ: ĠPlayer , Ġprivate Ġval Ġr it ual Ġ: ĠR it ual ) Ġ: Ġcom . ascending . games . engine . edit . action . I Action Ġ{ ĊĠĠĠ Ġprivate Ġval Ġplayer Service Ġ= Ġ ĠPlayer Service () ĊĊĠĠĠ Ġoverride Ġval Ġcan Execute : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġplayer . enabled R it ual s . contains ( rit ual . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( player . stats [ Stat Type . G OLD . name ] Ġ?: Ġ 0 f ) Ġ>= Ġr it ual . gold Cost s . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( player . stats [ Stat Type . MAX _ HP . name ] Ġ?: Ġ 0 f ) Ġ> Ġr it ual . hp Cost s . toFloat () ĊĊĠĠĠ Ġoverride Ġfun Ġexecute (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperformed R it ual s . add ( rit ual . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled R it ual s . remove ( rit ual . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstats [ Stat Type . G OLD . name ] Ġ= Ġ( stats [ Stat Type . G OLD . name ] Ġ?: Ġ 0 f ) Ġ- Ġr it ual . gold Cost s . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstats [ Stat Type . MAX _ HP . name ] Ġ= Ġ( stats [ Stat Type . MAX _ HP . name ] Ġ?: Ġ 0 f ) Ġ- Ġr it ual . hp Cost s . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstats [ Stat Type . CURRENT _ HP . name ] Ġ= Ġ( stats [ Stat Type . CURRENT _ HP . name ] Ġ?: Ġ 0 f ) Ġ- Ġr it ual . hp Cost s . toFloat () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġplayer Service . update Enabled B less ings ( player ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }