package Ġcom . github . serv b . pp h . ph ero es . common . common Ċ Ċ import Ġcom . github . serv b . pp h . gx lib . i Rand Table Ċ import Ġcom . so y wiz . k orm a . geom . I Point Int Ċ Ċ const Ġval ĠE MAP _ FILE _ HDR _ KEY : ĠUInt Ġ= Ġ 0 x 7 6 2 3 5 2 7 8 u Ċ const Ġval ĠE MAP _ FILE _ VERSION : ĠUInt Ġ= Ġ 0 x 1 9 u Ċ Ċ val ĠG MAP _ FILE _ HDR _ KEY : ĠUInt Ġ= ĊĠĠĠ Ġ(' G '. code Ġor Ġ(' M '. code Ġshl Ġ 8 ) Ġor Ġ(' A '. code Ġshl Ġ 1 6 ) Ġor Ġ(' P '. code Ġshl Ġ 2 4 )). to UInt () Ċ const Ġval ĠG MAP _ FILE _ VERSION : ĠU Short Ġ= Ġ 0 x 3 9 u Ċ Ċ val ĠG OBJ _ FILE _ HDR _ KEY : ĠUInt Ġ= ĊĠĠĠ Ġ(' G '. code Ġor Ġ(' O '. code Ġshl Ġ 8 ) Ġor Ġ(' B '. code Ġshl Ġ 1 6 ) Ġor Ġ(' J '. code Ġshl Ġ 2 4 )). to UInt () Ċ const Ġval ĠG OBJ _ FILE _ VERSION : ĠU Short Ġ= Ġ 0 x 0 7 u Ċ Ċ val ĠGF NT _ FILE _ HDR _ KEY : ĠUInt Ġ= ĊĠĠĠ Ġ(' G '. code Ġor Ġ(' F '. code Ġshl Ġ 8 ) Ġor Ġ(' N '. code Ġshl Ġ 1 6 ) Ġor Ġ(' T '. code Ġshl Ġ 2 4 )). to UInt () Ċ const Ġval ĠGF NT _ FILE _ VERSION : ĠU Short Ġ= Ġ 0 x 0 1 u Ċ Ċ const Ġval ĠR AN DOM _ QU ANT ITY Ġ= Ġ 0 Ċ const Ġval ĠR AND _ VAL Ġ= Ġ- 1 Ċ Ċ fun ĠCalc Cell Seq Game ( pnt : ĠI Point Int , Ġmax v : ĠUInt ): ĠUInt Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġp nt . x . to UInt () ĊĠĠĠ Ġresult Ġ+= Ġ( pnt . y . to UInt () Ġshl Ġ 1 6 ). inv () ĊĠĠĠ Ġresult Ġ= Ġresult Ġxor Ġ( pnt . x . to UInt () Ġshr Ġ 5 ) ĊĠĠĠ Ġresult Ġ+= Ġp nt . y . to UInt () Ġshl Ġ 3 ĊĠĠĠ Ġresult Ġ= Ġresult Ġxor Ġ( pnt . x . to UInt () Ġshr Ġ 1 3 ) ĊĠĠĠ Ġresult Ġ+= Ġ( pnt . y . to UInt () Ġshl Ġ 9 ). inv () ĊĠĠĠ Ġresult Ġ= Ġresult Ġxor Ġ( result Ġshr Ġ 1 7 ) ĊĊĠĠĠ Ġval Ġidx Ġ= Ġ( result Ġxor Ġ( result Ġshr Ġ 8 ) Ġxor Ġ( result Ġshr Ġ 1 6 ) Ġand Ġ 2 5 5 u ). toInt () ĊĠĠĠ Ġresult Ġ= Ġi Rand Table [ idx ] ĊĊĠĠĠ Ġreturn Ġresult Ġ% Ġmax v Ċ } Ċ Ċ fun ĠCalc Cell Seq Game In Editor ( pnt : ĠI Point Int , Ġmax v : ĠInt ): ĠInt Ġ{ ĊĠĠĠ ĠTODO (" Un comment Ġwhen Ġeditor Ġwill Ġbe Ġcoded ") Ċ // ĠĠĠ Ġint Ġresult Ġ= Ġp nt . x ; Ċ // ĠĠĠ Ġresult Ġ+= Ġ~( pnt . y Ġ<< Ġ 1 6 ); Ċ // ĠĠĠ Ġresult Ġ^= Ġ( pnt . x Ġ>> Ġ 5 ); Ċ // ĠĠĠ Ġresult Ġ+= Ġ( pnt . y Ġ<< Ġ 3 ); Ċ // ĠĠĠ Ġresult Ġ^= Ġ( pnt . x Ġ>> Ġ 1 3 ); Ċ // ĠĠĠ Ġresult Ġ+= Ġ~( pnt . y Ġ<< Ġ 9 ); Ċ // ĠĠĠ Ġresult Ġ^= Ġ( result Ġ>> Ġ 1 7 ); Ċ // Ċ // ĠĠĠ Ġfinal Ġint Ġidx Ġ= Ġ( result Ġ^ Ġ( result Ġ>> Ġ 8 ) Ġ^ Ġ( result Ġ>> Ġ 1 6 )) Ġ& Ġ 2 5 5 ; Ċ // ĠĠĠ Ġresult Ġ= Ġi Tables . crc 3 2 [ idx ]; Ġ Ġ// Ġ< == Ċ // Ċ // ĠĠĠ Ġreturn Ġresult Ġ% Ġmax v ; Ċ } Ċ Ċ const Ġval ĠDEF _ HER O _ SCO UT ING Ġ= Ġ 4 Ċ const Ġval ĠDEF _ HER O _ MY ST IC IS M Ġ= Ġ 1 Ċ const Ġval ĠDEF _ HER O _ MOV ES Ġ= Ġ 6 0 Ċ Ċ private Ġval ĠMIN ER AL _ EX CH _ RATE Ġ= ĠlistOf ( 1 , Ġ 2 5 0 , Ġ 2 5 0 , Ġ 5 0 0 , Ġ 5 0 0 , Ġ 5 0 0 , Ġ 5 0 0 ) Ċ Ċ fun ĠMin eral Ex ch Rate ( from : ĠMin eral Type , Ġto : ĠMin eral Type , Ġm lvl : ĠInt ): ĠFraction Coeff Ġ{ ĊĠĠĠ Ġval Ġfrom Idx Ġ= Ġfrom . v ĊĠĠĠ Ġval Ġto Idx Ġ= Ġto . v ĊĊĠĠĠ Ġreturn ĠFraction Coeff ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMIN ER AL _ EX CH _ RATE [ from Idx ] Ġ* Ġ( ml vl Ġ+ Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ* Ġ 2 Ġ* ĠMIN ER AL _ EX CH _ RATE [ to Idx ] ĊĠĠĠ Ġ) Ċ } Ċ Ċ val ĠMIN ER ALS _ DI VIDER Ġ= ĠlistOf ( 1 0 0 0 , Ġ 2 , Ġ 2 , Ġ 1 , Ġ 1 , Ġ 1 , Ġ 1 ) Ċ Ċ private Ġin fix Ġfun ĠInt . x ( other : ĠInt ): ĠI Point Int Ġ= ĠI Point Int ( this , Ġother ) Ċ Ċ val ĠH ERO _ FLAG _ AN CH OR Ġ= ĠlistOf ( ĊĠĠĠĠ 4 Ġx Ġ 7 , Ġ 4 Ġx Ġ 5 , Ġ 4 Ġx Ġ 4 , Ġ 4 Ġx Ġ 5 , Ġ 4 Ġx Ġ 7 , Ġ 4 Ġx Ġ 6 , Ġ 4 Ġx Ġ 4 , Ġ 4 Ġx Ġ 5 , Ġ 4 Ġx Ġ 6 , ĊĠĠĠĠ 8 Ġx Ġ 7 , Ġ 9 Ġx Ġ 7 , Ġ 8 Ġx Ġ 7 , Ġ 9 Ġx Ġ 8 , Ġ 1 0 Ġx Ġ 8 , Ġ 1 0 Ġx Ġ 7 , Ġ 9 Ġx Ġ 7 , Ġ 8 Ġx Ġ 7 , Ġ 7 Ġx Ġ 7 , ĊĠĠĠĠ 1 1 Ġx Ġ 8 , Ġ 1 2 Ġx Ġ 8 , Ġ 1 1 Ġx Ġ 8 , Ġ 1 0 Ġx Ġ 8 , Ġ 1 0 Ġx Ġ 9 , Ġ 9 Ġx Ġ 9 , Ġ 1 0 Ġx Ġ 8 , Ġ 1 1 Ġx Ġ 8 , Ġ 1 0 Ġx Ġ 8 , ĊĠĠĠĠ 1 3 Ġx Ġ 7 , Ġ 1 4 Ġx Ġ 7 , Ġ 1 3 Ġx Ġ 8 , Ġ 1 1 Ġx Ġ 9 , Ġ 1 3 Ġx Ġ 9 , Ġ 1 4 Ġx Ġ 1 0 , Ġ 1 4 Ġx Ġ 9 , Ġ 1 4 Ġx Ġ 8 , Ġ 1 2 Ġx Ġ 7 , ĊĠĠĠĠ 3 2 Ġx Ġ 8 , Ġ 3 2 Ġx Ġ 9 , Ġ 3 2 Ġx Ġ 1 0 , Ġ 3 2 Ġx Ġ 8 , Ġ 3 2 Ġx Ġ 9 , Ġ 3 2 Ġx Ġ 1 0 , Ġ 3 2 Ġx Ġ 1 1 , Ġ 3 2 Ġx Ġ 8 , Ġ 3 2 Ġx Ġ 9 , ĊĠĠĠĠ 2 0 Ġx Ġ 7 , Ġ 1 9 Ġx Ġ 7 , Ġ 2 0 Ġx Ġ 8 , Ġ 1 9 Ġx Ġ 9 , Ġ 2 0 Ġx Ġ 9 , Ġ 1 9 Ġx Ġ 1 0 , Ġ 1 9 Ġx Ġ 9 , Ġ 1 9 Ġx Ġ 8 , Ġ 2 2 Ġx Ġ 7 , ĊĠĠĠĠ 2 2 Ġx Ġ 8 , Ġ 2 1 Ġx Ġ 8 , Ġ 2 2 Ġx Ġ 8 , Ġ 2 3 Ġx Ġ 8 , Ġ 2 3 Ġx Ġ 9 , Ġ 2 4 Ġx Ġ 9 , Ġ 2 3 Ġx Ġ 8 , Ġ 2 2 Ġx Ġ 8 , Ġ 2 3 Ġx Ġ 8 , ĊĠĠĠĠ 2 5 Ġx Ġ 7 , Ġ 2 4 Ġx Ġ 7 , Ġ 2 5 Ġx Ġ 7 , Ġ 2 4 Ġx Ġ 8 , Ġ 2 3 Ġx Ġ 8 , Ġ 2 3 Ġx Ġ 7 , Ġ 2 4 Ġx Ġ 7 , Ġ 2 5 Ġx Ġ 7 , Ġ 2 6 Ġx Ġ 7 , Ċ ) Ċ