package Ġworld . greg s . void ps . world . interact . entity . player . com bat . range . am mo Ċ Ċ import Ġworld . greg s . void ps . engine . client . message Ċ import Ġworld . greg s . void ps . engine . entity . character . player . Player Ċ import Ġworld . greg s . void ps . engine . entity . get Ċ import Ġworld . greg s . void ps . engine . entity . item . Equip Slot Ċ import Ġworld . greg s . void ps . engine . entity . item . Item Ċ import Ġworld . greg s . void ps . engine . entity . item . equ ipped Ċ import Ġworld . greg s . void ps . engine . entity . set Ċ import Ġworld . greg s . void ps . engine . event . Priority Ċ import Ġworld . greg s . void ps . engine . event . on Ċ import Ġworld . greg s . void ps . world . interact . entity . com bat .* Ċ Ċ fun Ġis B ow Or Cross bow ( item : ĠItem ) Ġ= Ġitem . name . endsWith (" bow ") Ġ|| Ġitem . name Ġ== Ġ" se erc ull " Ġ|| Ġitem . name . endsWith (" long bow _ sight ed ") Ċ Ċ on < Combat Swing >({ Ġplayer Ġ-> Ġis B ow Or Cross bow ( player . weapon ) Ġ&& Ġam mo Required ( player . weapon ) Ġ}, ĠPriority . HIG HE ST ) Ġ{ Ġplayer : ĠPlayer Ġ-> ĊĠĠĠ Ġplayer [" required _ am mo "] Ġ= Ġplayer . weapon . def [" am mo _ required ", Ġ 1 ] Ċ } Ċ Ċ on < Combat Swing >({ Ġplayer Ġ-> Ġis B ow Or Cross bow ( player . weapon ) Ġ&& Ġam mo Required ( player . weapon ) Ġ}, ĠPriority . HIGH ) Ġ{ Ġplayer : ĠPlayer Ġ-> ĊĠĠĠ Ġval Ġrequired Ġ= Ġplayer [" required _ am mo ", Ġ 1 ] ĊĠĠĠ Ġval Ġam mo Ġ= Ġplayer . equ ipped ( Equip Slot . Ammo ) ĊĠĠĠ Ġplayer . am mo Ġ= Ġ"" ĊĠĠĠ Ġif Ġ( am mo . amount Ġ< Ġrequired ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . message (" There Ġis Ġno Ġam mo Ġleft Ġin Ġyour Ġqu iver .") ĊĠĠĠĠĠĠĠ Ġdelay Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġreturn @ on ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġweapon Ġ= Ġplayer . weapon ĊĠĠĠ Ġif Ġ( weapon . def . am mo ?. contains ( am mo . name ) Ġ!= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . message (" You Ġcan 't Ġuse Ġthat Ġam mo Ġwith Ġyour Ġb ow .") ĊĠĠĠĠĠĠĠ Ġdelay Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġreturn @ on ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġremove Ammo ( player , Ġtarget , Ġam mo . name , Ġrequired ) ĊĊĠĠĠ Ġ// ĠAm mo Ġis Ġkept Ġtrack Ġof Ġas ĠE quip Slot . Ammo Ġcould 've Ġbeen Ġused Ġup ĊĠĠĠ Ġplayer . am mo Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġam mo . name . endsWith (" fire _ arrows _ lit ") Ġ-> Ġ" fire _ arrows _ lit " ĊĠĠĠĠĠĠĠ Ġam mo . name . endsWith (" fire _ arrows _ un lit ") Ġ-> Ġ" fire _ arrows _ un lit " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġam mo . name ĊĠĠĠ Ġ} Ċ } Ċ Ċ on < Combat Swing >({ Ġplayer Ġ-> Ġ! am mo Required ( player . weapon ) Ġ}, ĠPriority . HIGH ) Ġ{ Ġplayer : ĠPlayer Ġ-> ĊĠĠĠ Ġplayer . am mo Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . weapon . name Ġ== Ġ" z ary te _ bow " Ġ-> Ġ" z ary te _ arrow " ĊĠĠĠĠĠĠĠ Ġplayer . weapon . name . endsWith (" sl ing ") Ġ-> Ġ" sl ing _ rock " ĊĠĠĠĠĠĠĠ Ġplayer . weapon . name . endsWith (" ch in ch omp a ") Ġ-> Ġplayer . weapon . name ĊĠĠĠĠĠĠĠ Ġplayer . weapon . name . startsWith (" crystal _ bow ") Ġ-> Ġ" special _ arrow " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn @ on ĊĠĠĠ Ġ} Ċ }