/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 1 7 ĠF arb od ĠS alamat - Z ade h Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . sat sum aso ftware . poke dex . framework . move Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġcom . sat sum aso ftware . poke dex . db . Moves DB Helper Ċ import Ġcom . sat sum aso ftware . poke dex . db . Po ke DB Ċ import Ġcom . sat sum aso ftware . poke dex . util . NULL _ INT Ċ import Ġjava . util . regex . Pattern Ċ Ċ class ĠMove ( val Ġid : ĠInt , Ġval Ġgeneration Id : ĠInt , Ġval Ġtype Id : ĠInt , Ġval Ġpower : ĠInt , Ġval Ġpp : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccuracy : ĠInt , Ġval Ġpriority : ĠInt , Ġval Ġtarget Id : ĠInt , Ġval Ġdamage Class Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġeffect Id : ĠInt , Ġval Ġeffect Chance : ĠInt , Ġval Ġcontest TypeId : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontest Effect Id : ĠInt , Ġval Ġsuper Cont est Effect Id : ĠInt , Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġj apanese Name : ĠString , Ġval Ġk orean Name : ĠString , Ġval Ġf rench Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġger man Name : ĠString , Ġval Ġspan ish Name : ĠString , Ġval Ġit alian Name : ĠString ) Ġ{ ĊĊĠĠĠ Ġconstructor ( cursor : ĠCursor ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ GENER ATION _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ TYPE _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ POWER )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ PP )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ AC CUR ACY )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ PRIORITY )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ TARGET _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ DA MAGE _ CLASS _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ EFFECT _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ EFFECT _ CH ANCE )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ CON TEST _ TYPE _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ CON TEST _ EFFECT _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex ( Moves DB Helper . COL _ SUPER _ CON TEST _ EFFECT _ ID )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ J AP ANE SE )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ K ORE AN )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ F REN CH )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ GER MAN )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ SPAN ISH )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Moves DB Helper . COL _ NAME _ IT ALI AN ))) ĊĊĠĠĠ Ġfun Ġhas Power () Ġ= Ġpower Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġfun Ġhas Accuracy () Ġ= Ġaccuracy Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġfun Ġhas Effect Chance () Ġ= Ġeffect Chance Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġfun Ġhas Cont est Type () Ġ= Ġcontest TypeId Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġfun Ġhas Cont est Effect () Ġ= Ġcontest Effect Id Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġfun Ġhas Super Cont est Effect () Ġ= Ġsuper Cont est Effect Id Ġ!= ĠNULL _ INT ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget Effect Pro se ( context : ĠContext , Ġshort Effect : ĠBoolean , Ġlang Id : ĠInt Ġ= Ġ 9 ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpoke DB Ġ= ĠPo ke DB . getInstance ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġpoke DB . readable Database . query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPo ke DB . Move Effect Pro se . TABLE _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Po ke DB . Move Effect Pro se . COL _ MOVE _ EFFECT _ ID } =? ĠAND Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Po ke DB . Move Effect Pro se . COL _ LOCAL _ LANGUAGE _ ID }= ?", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( effect Id . toString (), Ġlang Id . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcursor . moveTo First () ĊĠĠĠĠĠĠĠ Ġvar Ġeffect Text Ġ= Ġif Ġ( short Effect ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Po ke DB . Move Effect Pro se . COL _ SHORT _ EFFECT )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex ( Po ke DB . Move Effect Pro se . COL _ EFFECT )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĊĠĠĠĠĠĠĠ Ġeffect Text Ġ= Ġeffect Text . replace ("\ $ effect _ chance ", Ġeffect Chance . toString ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġmatching Ġthe Ġpattern : Ġ[ label ]{ category : target } ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("\\ [( .* ?) \\ ]\\ { (.* ?): (.* ?) \\ }") ĊĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( effect Text ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( matcher . find ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentire Pattern Ġ= Ġmatcher . group ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= Ġmatcher . group ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= Ġmatcher . group ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmatcher . group ( 3 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplayed Text Ġ= Ġif Ġ( label Ġ== Ġ"") Ġtarget Ġelse Ġlabel ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġeffect Text Ġ= Ġeffect Text . replace ( ent ire Pattern , Ġdisplayed Text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġeffect Text ĊĠĠĠ Ġ} Ċ Ċ } Ċ