package Ġnet . tor val d . ter rar um . module base game . game actors Ċ Ċ import Ġnet . tor val d . ter rar um . App Ċ import Ġnet . tor val d . ter rar um . Item Code x Ċ import Ġnet . tor val d . ter rar um . game actors . Actor Value Ċ import Ġnet . tor val d . ter rar um . game actors . Actor With Body Ċ import Ġnet . tor val d . ter rar um . game items . Game Item Ċ import Ġnet . tor val d . ter rar um . game items . Item ID Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġmin ja es ong Ġon Ġ 2 0 1 6 - 0 1 - 1 5 . Ċ Ġ*/ Ċ interface ĠP ocket ed Ġ{ ĊĊĠĠĠ Ġvar Ġinventory : ĠActor Inventory ĊĠĠĠ Ġval Ġactor Value : ĠActor Value ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE quip s Ġan Ġitem . ĠIf Ġthe Ġitem Ġis Ġnot Ġin Ġthe Ġinventory , Ġan Ġerror Ġwill Ġbe Ġthrown . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġune quip Item ( item : ĠGame Item ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( item . equip Position Ġ== ĠGame Item . Equip Position . NULL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠError (" Une qu ipping Ġthe Ġitem Ġthat Ġcannot Ġbe Ġequ ipped Ġin Ġthe Ġfirst Ġplace ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! inventory . contains ( item )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// throw ĠError (" Une qu ipping Ġthe Ġitem Ġthat Ġdoes Ġnot Ġexist Ġin Ġinventory ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . err . println ("[ P ocket ed ] ĠWarning Ġ-- ĠU ne qu ipping Ġthe Ġitem Ġthat Ġdoes Ġnot Ġexist Ġin Ġinventory ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ// Ġjust Ġdo Ġnothing ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinventory . item Equ ipped [ item . equip Position ] Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ// ĠNOTE : ĠD ON ' T ĠTO UCH ĠQU ICK SLOT ĠHERE ĊĠĠĠĠĠĠĠ Ġ// ĠRe levant ĠActor value Ġis ĠNOT Ġbeing Ġupdated Ġon Ġtime ĊĠĠĠĠĠĠĠ Ġ// ĠThey 're Ġbeing Ġsafely Ġhandled Ġby ĠUI Item Inventory Elem *. touch Down () Ġand ĠActor Inventory . remove ĊĊĠĠĠĠĠĠĠ Ġitem . effect On Une quip ( this Ġas ĠActor With Body , ĠApp . UPDATE _ RATE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġune quip Item ( item ID : ĠItem ID ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem ID ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġune quip Item ( Item Code x [ item ID ]) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġno Ġneed Ġfor Ġequip Slot ( Int ) ĊĠĠĠ Ġfun Ġune quip Slot ( slot : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( slot Ġ< Ġ 0 Ġ|| Ġslot Ġ> ĠGame Item . Equip Position . INDEX _ MAX ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Slot Ġindex Ġout Ġof Ġrange : Ġ$ slot ") ĊĊĠĠĠĠĠĠĠ Ġune quip Item ( inventory . item Equ ipped [ slot ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE quip s Ġan Ġitem . ĠIf Ġthe Ġitem Ġis Ġnot Ġin Ġthe Ġinventory , Ġadds Ġthe Ġitem Ġfirst . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġequip Item ( item : ĠGame Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Item ID Ġ= Ġinventory . item Equ ipped [ item . equip Position ] ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! inventory . contains ( item )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("[ P ocket ed ] ĠItem Ġdoes Ġnot Ġexist ; Ġadding Ġone Ġbefore Ġequ ipped ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . add ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġune quip Ġitem Ġthat 's Ġalready Ġthere ĊĠĠĠĠĠĠĠ Ġif Ġ( item . dynamic ID Ġ!= Ġold Item ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġune quip Slot ( item . equip Position ) Ġ// Ġalso Ġfires Ġeffect On Une quip Ġun condition ally ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( item . equip Position Ġ>= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . item Equ ipped [ item . equip Position ] Ġ= Ġitem . dynamic ID ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . effect While Equ ipped ( this Ġas ĠActor With Body , ĠApp . UPDATE _ RATE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġelse Ġdo Ġnothing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġequip Item ( item ID : ĠItem ID ) Ġ{ ĊĠĠĠĠĠĠĠ Ġequip Item ( Item Code x [ item ID ] !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġequ ipped ( item : ĠGame Item ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinventory . item Equ ipped [ item . equip Position ] Ġ== Ġitem . dynamic ID ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġequ ipped ( item ID : ĠItem ID ) Ġ= Ġequ ipped ( Item Code x [ item ID ] !! ) ĊĊĠĠĠ Ġfun Ġadd Item ( item ID : ĠItem ID , Ġcount : ĠLong Ġ= Ġ 1 L ) Ġ= Ġinventory . add ( Item Code x [ item ID ] !! , Ġcount ) ĊĠĠĠ Ġfun Ġadd Item ( item : ĠGame Item , Ġcount : ĠLong Ġ= Ġ 1 L ) Ġ= Ġinventory . add ( item , Ġcount ) ĊĠĠĠ Ġfun Ġremove Item ( item ID : ĠItem ID , Ġcount : ĠLong Ġ= Ġ 1 L ) Ġ= Ġinventory . remove ( Item Code x [ item ID ] !! , Ġcount ) ĊĠĠĠ Ġfun Ġremove Item ( item : ĠGame Item , Ġcount : ĠLong Ġ= Ġ 1 L ) Ġ= Ġinventory . remove ( item , Ġcount ) ĊĊĠĠĠ Ġfun Ġhas Item ( item : ĠGame Item ) Ġ= Ġinventory . contains ( item . dynamic ID ) ĊĠĠĠ Ġfun Ġhas Item ( id : ĠItem ID ) Ġ= Ġinventory . contains ( id ) Ċ Ċ }