From 4351333703415ea9114f3e61ffa0d5f74ce5e85f Mon Sep 17 00:00:00 2001 From: infinitefusion Date: Sat, 12 Nov 2022 09:35:32 -0500 Subject: [PATCH] non custom finals export + random changes --- Data/Actors.rxdata | Bin 1574 -> 1574 bytes Data/Animations.rxdata | Bin 15969 -> 15969 bytes Data/Armors.rxdata | Bin 222 -> 222 bytes Data/CommonEvents.rxdata | Bin 122533 -> 122611 bytes Data/Enemies.rxdata | Bin 541 -> 541 bytes Data/Items.rxdata | Bin 428 -> 428 bytes Data/Map019.rxdata | Bin 56014 -> 56005 bytes Data/Map055.rxdata | Bin 30861 -> 30861 bytes Data/Map305.rxdata | Bin 54271 -> 54269 bytes Data/Map359.rxdata | Bin 49345 -> 49343 bytes Data/Map561.rxdata | Bin 43728 -> 43945 bytes Data/Map580.rxdata | Bin 23036 -> 23041 bytes Data/Map638.rxdata | Bin 33646 -> 33646 bytes Data/Map645.rxdata | Bin 38375 -> 38375 bytes Data/MapInfos.rxdata | Bin 37520 -> 37521 bytes Data/Scripts/001_Settings.rb | 2 +- .../010_Data/002_PBS data/008_Species.rb | 33 + .../002_Trainer_LoadAndNew.rb | 9 +- Data/Scripts/016_UI/005_UI_Party.rb | 2 +- Data/Scripts/016_UI/017_UI_PokemonStorage.rb | 1 - .../Scripts/048_Fusion/FusionPreviewScreen.rb | 38 + Data/Scripts/048_Fusion/PokemonFusion.rb | 3 + .../049_Compatibility/MarinUtilities.rb | 2424 ++++++++--------- .../049_Compatibility/UtilityMethods.rb | 69 + Data/Scripts/050_AddOns/FusionSprites.rb | 2 +- Data/Scripts/050_AddOns/WonderTrade_names.rb | 8 + Data/Skills.rxdata | Bin 377 -> 377 bytes Data/States.rxdata | Bin 431 -> 431 bytes Data/System.rxdata | Bin 29245 -> 29200 bytes Data/Tilesets.rxdata | Bin 342257 -> 342257 bytes Data/Weapons.rxdata | Bin 245 -> 245 bytes 31 files changed, 1374 insertions(+), 1217 deletions(-) create mode 100644 Data/Scripts/048_Fusion/FusionPreviewScreen.rb diff --git a/Data/Actors.rxdata b/Data/Actors.rxdata index 7967a5432e745ce89c252788128efc799d8cd787..41edc8e26959a1891c0cc015aaa682e411768576 100644 GIT binary patch delta 322 zcmYk1%?`mp5XT)v1VPmk@B}TVJ9+w&^6>t!x){@(P~9-2-_StE0HhWajt( zxDW1w+jKhuw0U8dlJ?XRA&?Y=~Z zcu`i2Sud6;RjbGG*}jILs)HnxYIIZ>ntRRKbHSQJNHmt^d+9WIRO9~fjqb3d@`uHY yeT_*qRKCc#iJfkI4iP{~=G!W35=1N&{@oRzaP=2J*llqD delta 289 zcmX|+Jr06E5QQy_F-k;*%Ekmw09a9tjkS&SX2c~-vM#vbU*#3_67(L(yNJ6R>i53+ z-ZW0*y!?0IFHoHdwPtjrUNQoSCmxJ<0v}wxH~!Lv8^^McCij5fOGYviSW_Ws^*Mk0 z&nf5|5zFYlO(u{Etg1gSNL&-e26r`nz=|qbB^C<}W}A^|&ftJ`Ex2O&g}1|OcWt^e p$Vj4Kf?v6yecr})rCu-u?e-weQDItlSF9s6j(O+MPj`}7OMXQCVXpuH diff --git a/Data/Animations.rxdata b/Data/Animations.rxdata index 8e67182baeb252ba0d0979934e4df48cc34d83fa..826e1e8a63af0fa8b4f0a28602f9d6b9658a310c 100644 GIT binary patch delta 346 zcmaD@^RQ+^B9jn@LuN`Qn-#A^NoHGldPR=O_Z7AQG3-Z4(jWIM?$ zkjb&xko_GaOD3l^|73a2$jvpJUzpi4xvcr488(;k{$PS=;oe*#u$zS~lLstrD(cG! zRBSu>u$TnU2;R-N#QuW>94E_3iUI}rHXBLuGl5k!Ns9pm_%~0Nwr66=6aZV|I9Xgy zWV60pG80>-AkaXL$%>rzlP@dm+dNfKn~5o!9n5D{Nd)Q?nw+ZgmL*ddsxefBpOInn za@8Y1!$iPhwv$(A$ZS5L(Fzn1g{tb)7GW05WY{dDE5gVskSPWg{;wmlSzK3&5oW`G v9pTBHdI>;V#5cdtYh{CYRbp|mDH~g+B-p2w);$n^xYsMUAPfHa|*I#N*>aGx=nHcjryn?XFHV z&&OSeTQDxPq6V@_`e}|-h&|w2@vOjTe6eVNdS|6o1~1Ec6*Z`VvgrUmP>)QXK+Va? zm{dYZ`WNK?K`jik3VOXoOkKg%8b3Luf|2ZEIjfVjkWb_+|5XB) FZNGu5Mj-$I literal 222 zcmYL@y$-@K41_x%C`D?8P{qy@FlRCoD`M>sMUAN}nja-8;_-255aZeR-QB9}HfJZA z`|T>kB^Vc4u?2i7Dnt!rll0>hSyW(^!BZg`px#-TRRu=lgZ~FmQ*tsUl~9uA%MN^? z9=}0qpns5Gh!%!P1)Y(IsheA#WM{Yrjqe|F%uXE9AWvGnC2-AJ?AaOnKt7SPysw6s GLMA_Fghn9% diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index 63c207abb2a878e78595d74de81212bfbbde0cb9..0c83a0a05dad40d22052af8d02d85bfd9d0fdc59 100644 GIT binary patch literal 122611 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 C^3bvX literal 122533 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 diff --git a/Data/Enemies.rxdata b/Data/Enemies.rxdata index 004ee903d43ce9b12af462584bf5b7d3c088f468..be622f513a4092bfe4cd8545a48325fbbbe0276f 100644 GIT binary patch delta 319 zcmYk1O-chn5QUu>1{3i&i3^v42QVVSxG6k=H)tw$nH1B1boa#B37$ZS+uX@pcmWS! z_Y8`wYO3G&UcK#bJA9kIOaKjQjBL%7V97hx2xyJn4AJx8YqvUrXF_L9|38MMRarO& zE$N9lJq&8P$S9l0x77rqCk%}z;k;cW$v$XogX6(>kpo)S@lIZL1|z^FC+-l?YwP=* z4p}AS=Jow^evh$EJ}0oi7!`T3YAAX9JAeLrzN9vJ9RNqt{caCZvvR}5$Mp;zt&yDj m3Po#DT&CDivr<`GCPz}F$wcAN)SsW delta 318 zcmYk2OG*Pl5I{`~gQFPHCWV!=)gXrc#T}Z z1K4A$xGSpaz4~ki+riuUO9>%*?(gHUJW1#6>>GC3k|sX1E?G*z1^;r(#NED% zA)wdRXYnb_Fh)gQE*r`~teMyE)5nV1ME+ZPnvnxYyBFdZIFin(vp>tvJtH7RnoN`) kO&yy1@%rO(GwE%vh7f92s^bcA0Z-Oc+s*zS;t$!ENc?*)X#*9T?elZ* z$62|(cnE5?`FK<6ozdN?IoRNH>&&jfPqhT&$r+~LA2n4}s1-Q!ZPu9$qt3|NLfrrf zq`h%?U#JNj4^waz?)844657yV(sk5H$l=Wf=Y+!!Js-ATK}=-(=?sFkCX29KZXq`R zH0LmG%u#+!A&y#Wh$e{@7PT12bC&rvIP|Uf4Qe^0eQ7HSuhd{EY!{l=A$>hh#J_kT zwl$HQvJJ6!vjA*RHt;d=>O_6aa|t!EP-6C1pT7tEq{gR1&;?YOZKBv$E21SxyXTU+ OGl`5JD)@_7OT-_!gN?TU literal 428 zcmZ9IKTpFj5XCbf2(*M&C5#Mw0$?=Dv4Gf61ycvhI9KJQ_>b&MB)&bDwxo#7XWhN` zd+(&&oZSait>0gjdSi6AY6ZrVGfcrhXlkfX3$VfG-kGlsKhyBXzrckvUIww0gpy$0<4GC=+FzGhxB)eiT2iM?MZ{=A*u-0TTmth7mksUV{ z(^ZZ#UPJ8ud0m1---~fjt6iGszM=3!9hRa$gsyi;pHHQLi!8BiiPQ~5lOzobP7LHZ zi})PkFU<_H4RHiGV&@5a3D}{y@*(b@<{tN9g>%y9@14*&w8Uavf^>VTme63fiQ?F| RupNW8W6%l)lgRk7gdcsUjkN#( diff --git a/Data/Map019.rxdata b/Data/Map019.rxdata index f7bb235c3402fc44591de26c03b8464bbf257a55..c39f295ede7fd6959da48d84cf520fe4367bd7fd 100644 GIT binary patch literal 56005 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 Jq)Nsa|_ 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 diff --git a/Data/Map055.rxdata b/Data/Map055.rxdata index 08c8b9b541952ad6e9386c7714a7a1939dd428e6..3d3df31833c2d363d1245d0ab80ce935a73fcb79 100644 GIT binary patch literal 30861 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 F{XZSGus8q! literal 30861 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 QVax0Do{I%mt=;ST{{er$S^xk5 diff --git a/Data/Map359.rxdata b/Data/Map359.rxdata index b328a3c5b19f5260b63fba33a8e080eb11a21c8e..7cf8602964c8c98b40382f11ad8a1951f48dc1ea 100644 GIT binary patch literal 49343 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 literal 49345 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 diff --git a/Data/Map561.rxdata b/Data/Map561.rxdata index a62d958f74625b4bd705528c918da3c0c3222538..27800db7a8b9ebf4abb61c0a06a496474622b0be 100644 GIT binary patch literal 43945 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 literal 43728 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 J&!StY{|79&3Z(!5 diff --git a/Data/Map580.rxdata b/Data/Map580.rxdata index c9aaae81be3f252cb4bf1ff4938def964f4c0a66..7f5a2ebcd7c780cae7f605dcf935f49b0aef1c10 100644 GIT binary patch literal 23041 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 delta 28 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 A2mk;8 literal 38375 zcmeHQZEPIJdA_}nN9v9uDT$KLjzTTZvL!h*LrSt}-CD_sj80Y@395XqkSYbUyj$`n z+`GNp?uoj%by1)xV4(fcHc5XtK^r(mnt%QJVgGZI0=4WEv1_1BQ6RQkpiSzcRT~s- z90ck6?(W>o?#@zsB=4i{>9n^q@6N|F@7KIDvj+~18ri+qu3pS$FRQi5?4I1}dd0{d zuqo#oC1T`>u8n5LayJdVQPBv=CUaG_qGk5!>V_s8YjRy(*RrWxjabDpJRZwwH?^u| zK0QT}Ms~t(=mJubSP06RHxfqnAfsoqSAn`8+SQ3^-AEbPL+s(QQK_ia(r9)P>eiuO zORHl8%E+iPN}f{oWX3PtB9{Dd!>B7syL(bCL2o1m4Hk`(Mx^%)WpY&6cVncH-BU2C z+5<8C_qOq}@D4yZQ>Pwk&`ms9^ ze+B!Ax$VTV6S<0UQ(Li`H4TPxAXg%Ft!NRWy0S)Y<>7JBsFny4jI7M~>MXE2H`O{(S9J|34a9Vh zrx~~HeYsXSyP+wTcT3QoPC7kJI^(Px4NIeXcNs>04GE*l1XC8Iy6P|j(nR?no6HST zt0AyFs9s&GX{uGo?#)?svc9g>VJy(0rPWr{Dycx3DW|`+y7sw-RxLKkC=6EBH`S)O z0?f6HS{`bz*VS5?6pie3khK?`XJb&zsHsI_HHq|dXt!7f1ucSpuGsbwgXcBXf_xQl z0wAy>95P~V36qQfJiuNpF-fy_$~K=TbDOHZ;ovVoaa%9Unx>TiJG5H{-mRDOU<%0# zzc@etNOmOGBq!ke7CE0C%|Vw*GHEDdNo6k@&iH;{>U~tNGbamWO*Sns3z?Ymx^8Te z>bk7TtH8gqC9i_4=j4LXD3)bneauzQ&r&VFF_IbmlxAi|t{7y*eYim%l2~rurNw_& zYV~;Ryu7K_D>8IclFddP;Dg1MWD9_(bxoa{n}b>j5HIa!l*C_<>hrN=!KjPY&gkdkiH#uH2hf?gQVVd=Q3vIInyNo=xYK zBaoBx$_(5xhH}4S;>yvMNh=TJl?MyTF(`dJubd#G%0qeO!-g_DraTOWrp#qx%17Yg zJX{OF*pqNS1=s0<@(2_@Lk(eJL0Kdxlt;;<%31KyDc1t_xEAn9szGGJ9S;@q2*_a6 zrAgmw6}#70%+ZBCE|uy6RCWh7Zm>a(a%lk28f;j4gewyz9kZF12Q0P%zd=FgZn~uS z�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 "Marin's Scripting Utilities", -# # # :version => "1.5", -# # # :credits => "Marin", -# # # :link => "https://reliccastle.com/resources/165/" -# # # }) -# # -# # # Whether or not you want the custom/better errors message. -# # SPECIAL_ERRORS = true -# # -# # -# # -# # # These two settings only apply if SPECIAL_ERRORS is TRUE -# # -# # DOUBLE_BACKTRACE = false # The interpreter already contains a small -# # # backtrace for errors in events and such by default. -# # # Settings this to false will not show the custom -# # # backtrace. -# # -# # BACKTRACE_MAX_SIZE = 12 # The backtrace can go all the way from the very first -# # # call to the very last call. This is the limit as far -# # # as it can go back, because you could have a massive -# # # backtrace otherwise. -# # -# # -# # class Object -# # def get_variables -# # return self.instance_variables.map { |v| [v,self.method(v.to_s.gsub(/@/, "").to_sym).call] } -# # end -# # -# # def set_variables(vars) -# # vars.each do |v| -# # self.method((v[0].to_s.gsub(/@/, "") + "=").to_sym).call(v[1]) -# # end -# # end -# # end -# # -# # # E.g. PokeBattle_Pokemon -> to_sym -> :PokeBattle_Pokemon -# # class Class -# # def to_sym -# # return self.to_s.to_sym -# # end -# # end -# # -# # class NilClass -# # def empty? -# # return true -# # end -# # -# # def numeric? -# # return false -# # end -# # end -# # -# # class Numeric -# # # Formats the number nicely (e.g. 1234567890 -> format() -> 1,234,567,890) -# # def format(separator = ',') -# # a = self.to_s.split('').reverse.breakup(3) -# # return a.map { |e| e.join('') }.join(separator).reverse -# # end -# # -# # # Makes sure the returned string is at least n characters long -# # # (e.g. 4 -> to_digits -> "004") -# # # (e.g. 19 -> to_digits -> "019") -# # # (e.g. 123 -> to_digits -> "123") +# # PluginManager.register({ +# # :name => "Marin's Scripting Utilities", +# # :version => "1.5", +# # :credits => "Marin", +# # :link => "https://reliccastle.com/resources/165/" +# # }) +# +# # Whether or not you want the custom/better errors message. +# SPECIAL_ERRORS = true +# +# +# +# # These two settings only apply if SPECIAL_ERRORS is TRUE +# +# DOUBLE_BACKTRACE = false # The interpreter already contains a small +# # backtrace for errors in events and such by default. +# # Settings this to false will not show the custom +# # backtrace. +# +# BACKTRACE_MAX_SIZE = 12 # The backtrace can go all the way from the very first +# # call to the very last call. This is the limit as far +# # as it can go back, because you could have a massive +# # backtrace otherwise. +# +# +# class Object +# def get_variables +# return self.instance_variables.map { |v| [v,self.method(v.to_s.gsub(/@/, "").to_sym).call] } +# end +# +# def set_variables(vars) +# vars.each do |v| +# self.method((v[0].to_s.gsub(/@/, "") + "=").to_sym).call(v[1]) +# end +# end +# end +# +# # E.g. PokeBattle_Pokemon -> to_sym -> :PokeBattle_Pokemon +# class Class +# def to_sym +# return self.to_s.to_sym +# end +# end +# +# class NilClass +# def empty? +# return true +# end +# +# def numeric? +# return false +# end +# end +# # class Numeric -# def to_digits(n = 3) -# str = self.to_s -# return str if str.size >= n -# ret = "" -# (n - str.size).times { ret += "0" } -# return ret + str +# # Formats the number nicely (e.g. 1234567890 -> format() -> 1,234,567,890) +# def format(separator = ',') +# a = self.to_s.split('').reverse.breakup(3) +# return a.map { |e| e.join('') }.join(separator).reverse # end -# end # -# # -# # # n root of self. Defaults to 2 => square root. -# # def root(n = 2) -# # return (self ** (1.0 / n)) -# # end -# # -# # # Factorial -# # # 4 -> fact -> (4 * 3 * 2 * 1) -> 24 -# # def fact -# # raise ArgumentError, "Cannot execute factorial on negative numerics" if self < 0 -# # tot = 1 -# # for i in 2..self -# # tot *= i -# # end -# # return tot -# # end -# # -# # # Combinations -# # def ncr(k) -# # return (self.fact / (k.fact * (self - k).fact)) -# # end -# # -# # # k permutations of n (self) -# # def npr(k) -# # return (self.fact / (self - k).fact) -# # end -# # -# # # Converts number to binary number (returns as string) -# # def to_b -# # return self.to_s(2) -# # end -# # -# # def empty? -# # return false -# # end -# # -# # def numeric? -# # return true -# # end -# # end -# # -# # class NilClass -# # def numeric? -# # return false -# # end -# # end -# # -# # # Calculates the total amount of elements in an Enumerable. Example: -# # # ["one","two","three"].fullsize #=> 11 -# # module Enumerable -# # def fullsize -# # n = 0 -# # for e in self -# # if e.is_a?(String) -# # n += e.size -# # elsif e.respond_to?(:fullsize) -# # n += e.fullsize -# # elsif e.respond_to?(:size) && !e.is_a?(Numeric) -# # n += e.size -# # else -# # n += 1 -# # end -# # end -# # return n -# # end -# # end -# # -# # class Array -# # # Returns a random element of the array -# # def random -# # return self[Object.method(:rand).call(self.size)] -# # end -# # -# # # Returns whether or not the array is empty. -# # def empty? -# # return self.size == 0 -# # end -# # -# # # Shuffles the order of the array -# # def shuffle -# # indexes = [] -# # new = [] -# # while new.size != self.size -# # # Weird way of calling rand for compatibility -# # # with Luka's scripting utilities -# # i = Object.method(:rand).call(self.size) -# # if !indexes.include?(i) -# # indexes << i -# # new << self[i] -# # end -# # end -# # return new -# # end -# # -# # # Shuffles the order of the array and replaces itself -# # def shuffle! -# # self.replace(shuffle) -# # end -# # -# # # Breaks the array up every n elements -# # def breakup(n) -# # ret = [] -# # for i in 0...self.size -# # ret[(i / n).floor] ||= [] -# # ret[(i / n).floor] << self[i] -# # end -# # return ret -# # end -# # -# # # Breaks the array up every n elements and replaces itself -# # def breakup!(n) -# # self.replace(breakup(n)) -# # end -# # -# # # Swaps two elements' indexes -# # def swap(index1, index2) -# # new = self.clone -# # tmp = new[index2].clone -# # new[index2] = new[index1] -# # new[index1] = tmp -# # return new -# # end -# # -# # # Swaps two elements' indexes and replaces itself -# # def swap!(index1, index2) -# # self.replace(swap(index1, index2)) -# # end -# # -# # # Returns whether or not the first element is equal to the passed argument -# # def starts_with?(e) -# # return self.first == e -# # end -# # -# # # Returns whether or not the last element is equal to the passed argument -# # def ends_with?(e) -# # return self.last == e -# # end -# # -# # # Converts itself to a hash where possible -# # def to_hash(delete_nil_entries = false) -# # ret = {} -# # for i in 0...self.size -# # next if self[i].nil? && delete_nil_entries -# # ret[i] = self[i] -# # end -# # return ret -# # end -# # -# # # If you have 8 elements, if true, grabs the 5th element, the 4th if false. -# # # If you have 7 elements, grabs the 4th. -# # def mid(round_up = true) -# # i = (self.size - 1) / 2.0 -# # i = i.ceil if round_up -# # return self[i].floor -# # end -# # -# # # Returns the average of all elements in the array. Will throw errors on non-numerics. -# # # Skips entries. -# # def average -# # total = 0 -# # self.each { |n| total += n unless n.nil? } -# # return total / self.compact.size.to_f -# # end -# # -# # # Adds some aliases for : , , -# # alias has? include? -# # alias includes? include? -# # alias contains? include? -# # -# # # Evaluates the block you pass it for every number between 0 and "slots". -# # # Example usage: -# # # Array.make_table { |i| i ** 2 } -# # # => [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] -# # # Array.make_table(10..16) { |i| i.to_s(2) } -# # # => ["1010", "1011", "1100", "1101", "1110", "1111", "10000"] -# # # (you can also pass it an array of values to iterate over) -# # def self.make_table(range = 1..10, &proc) -# # return range.map { |n| next proc.call(n) } -# # end -# # -# # # If true: -# # # [0, 1, 3, 4, 5] -- etc -# # # If false: -# # # [0,1,2,3,4,5] -- etc -# # Json_Extra_Space_After_Entry = false -# # -# # # Converts _self_ to a JSON string with an indent of Json_Indent_Width per layer. -# # def to_json(indent = Hash::Json_Indent_Width, inline = false) -# # return "[]" unless self.size > 0 -# # full = "[" -# # for i in 0...self.size -# # nl = false -# # if self[i].is_a?(Hash) || self[i].is_a?(Array) -# # val = self[i].to_json(indent + Hash::Json_Indent_Width, i == 0) -# # nl = !(inline && i == 0) -# # else -# # val = self[i] -# # val = "\"#{val}\"" if val.is_a?(String) -# # nl = (self.fullsize > 24 || self.map { |e| e.class.to_sym }.include?(:Hash)) -# # end -# # full += "\n" + " " * indent if nl -# # full += val.to_s + "," -# # full += " " if Json_Extra_Space_After_Entry -# # end -# # i = 2 + Json_Extra_Space_After_Entry.to_i -# # full = full[0..(-i)] -# # full += "\n#{" " * (indent - Hash::Json_Indent_Width)}" if self.fullsize > 24 || -# # self.map { |e| e.class.to_sym }.include?(:Hash) -# # full += "]" -# # return full -# # end -# # end -# # -# # class Hash -# # # Converts itself to an array where possible -# # def to_array(delete_nil_entries = false) -# # ret = [] -# # keys = self.keys.sort -# # for key in keys -# # next if self[key].nil? && delete_nil_entries -# # ret[key] = self[key] -# # end -# # return ret -# # end -# # -# # def compact -# # new = {} -# # for key in self.keys -# # new[key] = self[key] unless self[key].nil? -# # end -# # return new -# # end -# # -# # def compact! -# # self.replace(compact) -# # end -# # -# # # Amount of spaces per "layer" in the JSON. -# # Json_Indent_Width = 4 -# # -# # # Converts _self_ to a JSON string with an indent of Json_Indent_Width per layer. -# # def to_json(indent = Json_Indent_Width, _ = nil) -# # return "{}" if self.size == 0 -# # full = "{" -# # keys = self.keys.sort do |a,b| -# # if $JSON_Sort_Order -# # if $JSON_Sort_Order.include?(a) -# # if $JSON_Sort_Order.include?(b) -# # next $JSON_Sort_Order.index(a) <=> $JSON_Sort_Order.index(b) -# # else -# # next -1 -# # end -# # else -# # if $JSON_Sort_Order.include?(b) -# # next 1 -# # end -# # # If neither are in the key, go alphabetical -# # end -# # end -# # if a.numeric? -# # if b.numeric? -# # next a <=> b -# # else -# # next -1 -# # end -# # else -# # if b.numeric? -# # next 1 -# # else -# # next a <=> b -# # end -# # end -# # end -# # for key in keys -# # if self[key].is_a?(Hash) || self[key].is_a?(Array) -# # val = self[key].to_json(indent + Json_Indent_Width, key == self.keys[0]) -# # else -# # val = self[key] -# # val = "\"#{val}\"" if val.is_a?(String) -# # end -# # full += "\n#{" " * indent}\"#{key}\": #{val}," -# # end -# # full = full[0..-2] -# # full += "\n#{" " * (indent - Json_Indent_Width)}}" -# # return full -# # end -# # end -# # -# # # String class extensions -# # class String -# # # Converts to bits -# # def to_b -# # return self.unpack('b*')[0] -# # end -# # -# # # Converts to bits and replaces itself -# # def to_b! -# # self.replace(to_b) -# # end -# # -# # # Converts from bits -# # def from_b -# # return [self].pack('b*') -# # end -# # -# # # Convert from bits and replaces itself -# # def from_b! -# # self.replace(from_b) -# # end -# # -# # # Returns a random character from the string -# # def random -# # return self[rand(self.size)] -# # end -# # -# # # Shuffles the order of the characters -# # def shuffle -# # return self.split("").shuffle.join("") -# # end -# # -# # # Breaks the string up every _n_ characters -# # def breakup(n) -# # new = [] -# # for i in 0...self.size -# # new[(i / n).floor] ||= "" -# # new[(i / n).floor] += self[i] -# # end -# # return new -# # end -# # -# # def empty? -# # return (self.size == 0) -# # end -# # -# # def numeric? -# # i = 0 -# # for e in self.split("") -# # next if i == 0 && e == "-" -# # return false unless [0,1,2,3,4,5,6,7,8,9].map { |n| n.to_s }.include?(e) -# # end -# # return true -# # end -# # -# # # Deflates itself and returns the result -# # def deflate -# # return Zlib::Deflate.deflate(self) -# # end -# # -# # # Deflates and replaces itself -# # def deflate! -# # self.replace(deflate) -# # end -# # -# # # Inflates itself and returns the result -# # def inflate -# # return Zlib::Inflate.inflate(self) -# # end -# # -# # # Inflates and replaces itself -# # def inflate! -# # self.replace(inflate) -# # end -# # -# # # Adds some aliases for : , , -# # alias has? include? -# # alias includes? include? -# # alias contains? include? -# # end -# # -# # # File class extensions -# # class File -# # # Copies the source file to the destination path. -# # def self.copy(source, destination) -# # data = "" -# # t = Time.now -# # File.open(source, 'rb') do |f| -# # while r = f.read(4096) -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data += r -# # end -# # end -# # File.delete(destination) if File.file?(destination) -# # f = File.new(destination, 'wb') -# # f.write data -# # f.close -# # end -# # -# # # Renames the old file to be the new file. //exact same as File::move -# # def self.rename(old, new) -# # File.move(old, new) -# # end -# # -# # # Copies the source to the destination and deletes the source. -# # def self.move(source, destination) -# # File.copy(source, destination) -# # File.delete(source) -# # end -# # -# # # Reads the file's data and inflates it with Zlib -# # def self.inflate(file) -# # data = "" -# # t = Time.now -# # File.open(file, 'rb') do |f| -# # while r = f.read(4096) -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data += r -# # end -# # end -# # data.inflate! -# # File.delete(file) -# # f = File.new(file, 'wb') -# # f.write data -# # f.close -# # return data -# # end -# # -# # # Reads the file's data and deflates it with Zlib -# # def self.deflate(file) -# # data = "" -# # t = Time.now -# # File.open(file, 'rb') do |f| -# # while r = f.read(4096) -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data += r -# # end -# # end -# # data.deflate! -# # File.delete(file) -# # f = File.new(file, 'wb') -# # f.write data -# # f.close -# # return data -# # end -# # -# # # Note: This is VERY basic compression and should NOT serve as encryption. -# # # Compresses all specified files into one, big package -# # def self.compress(outfile, files, delete_files = true) -# # start = Time.now -# # files = [files] unless files.is_a?(Array) -# # for i in 0...files.size -# # if !File.file?(files[i]) -# # raise "Could not find part of the path `#{files[i]}`" -# # end -# # end -# # files.breakup(500) # 500 files per compressed file -# # full = "" -# # t = Time.now -# # for i in 0...files.size -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data = "" -# # File.open(files[i], 'rb') do |f| -# # while r = f.read(4096) -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data += r -# # end -# # end -# # File.delete(files[i]) if delete_files -# # full += "#{data.size}|#{files[i]}|#{data}" -# # full += "|" if i != files.size - 1 -# # end -# # File.delete(outfile) if File.file?(outfile) -# # f = File.new(outfile, 'wb') -# # f.write full.deflate -# # f.close -# # return Time.now - start -# # end -# # -# # # Decompresses files compressed with File.compress -# # def self.decompress(filename, delete_package = true) -# # start = Time.now -# # data = "" -# # t = Time.now -# # File.open(filename, 'rb') do |f| -# # while r = f.read(4096) -# # if Time.now - t > 1 -# # Graphics.update -# # t = Time.now -# # end -# # data += r -# # end -# # end -# # data.inflate! -# # loop do -# # size, name = data.split('|') -# # data = data.split(size + "|" + name + "|")[1..-1].join(size + "|" + name + "|") -# # size = size.to_i -# # content = data[0...size] -# # data = data[(size + 1)..-1] -# # File.delete(name) if File.file?(name) -# # f = File.new(name, 'wb') -# # f.write content -# # f.close -# # break if !data || data.size == 0 || data.split('|').size <= 1 -# # end -# # File.delete(filename) if delete_package -# # return Time.now - start -# # end -# # -# # # Creates all directories that don't exist in the given path, as well as the -# # # file. If given a second argument, it'll write that to the file. -# # def self.create(path, data = nil) -# # start = Time.now -# # Dir.create(path.split('/')[0..-2].join('/')) -# # f = File.new(path, 'wb') -# # f.write data if data && data.size > 0 -# # f.close -# # return Time.now - start -# # end -# # end -# # -# # # Dir class extensions -# # class Dir -# # class << Dir -# # alias marin_delete delete -# # end -# # -# # # Returns all files in the targeted path -# # def self.get_files(path, recursive = true) -# # return Dir.get_all(path, recursive).select { |path| File.file?(path) } -# # end -# # -# # # Returns all directories in the targeted path -# # def self.get_dirs(path, recursive = true) -# # return Dir.get_all(path, recursive).select { |path| File.directory?(path) } -# # end -# # -# # # Returns all files and directories in the targeted path -# # def self.get_all(path, recursive = true) -# # files = [] -# # Dir.foreach(path) do |f| -# # next if f == "." || f == ".." -# # if File.directory?(path + "/" + f) && recursive -# # files.concat(Dir.get_files(path + "/" + f)) -# # end -# # files << path + "/" + f -# # end -# # return files -# # end -# # -# # # Deletes a directory and all files/directories within, unless non_empty is false -# # def self.delete(path, non_empty = true) -# # if non_empty -# # for file in Dir.get_all(path) -# # if File.directory?(file) -# # Dir.delete(file, non_empty) -# # elsif File.file?(file) -# # File.delete(file) -# # end -# # end -# # end -# # marin_delete(path) -# # end -# # -# # # Creates all directories that don't exist in the given path. -# # def self.create(path) -# # split = path.split('/') -# # for i in 0...split.size -# # Dir.mkdir(split[0..i].join('/')) unless File.directory?(split[0..i].join('/')) -# # end -# # end -# # end -# # -# # -# # Sprite class extensions -# class Sprite -# # Shorthand for initializing a bitmap by path, bitmap, or width/height: -# # -> bmp("Graphics/Pictures/bag") -# # -> bmp(32, 32) -# # -> bmp(some_other_bitmap) -# def bmp(arg1 = nil, arg2 = nil) -# if arg1 -# if arg2 -# arg1 = Graphics.width if arg1 == -1 -# arg2 = Graphics.height if arg2 == -1 -# self.bitmap = Bitmap.new(arg1, arg2) -# elsif arg1.is_a?(Bitmap) -# self.bitmap = arg1.clone -# else -# self.bitmap = Bitmap.new(arg1) -# end -# else -# return self.bitmap +# # Makes sure the returned string is at least n characters long +# # (e.g. 4 -> to_digits -> "004") +# # (e.g. 19 -> to_digits -> "019") +# # (e.g. 123 -> to_digits -> "123") +class Numeric + def to_digits(n = 3) + str = self.to_s + return str if str.size >= n + ret = "" + (n - str.size).times { ret += "0" } + return ret + str + end +end + +# +# # n root of self. Defaults to 2 => square root. +# def root(n = 2) +# return (self ** (1.0 / n)) +# end +# +# # Factorial +# # 4 -> fact -> (4 * 3 * 2 * 1) -> 24 +# def fact +# raise ArgumentError, "Cannot execute factorial on negative numerics" if self < 0 +# tot = 1 +# for i in 2..self +# tot *= i # end +# return tot # end # -# # Alternative to bmp(path): -# # -> bmp = "Graphics/Pictures/bag" -# def bmp=(arg1) -# bmp(arg1) +# # Combinations +# def ncr(k) +# return (self.fact / (k.fact * (self - k).fact)) # end # -# # Usage: -# # -> [x] # Sets sprite.x to x -# # -> [x,y] # Sets sprite.x to x and sprite.y to y -# # -> [x,y,z] # Sets sprite.x to x and sprite.y to y and sprite.z to z -# # -> [nil,y] # Sets sprite.y to y -# # -> [nil,nil,z] # Sets sprite.z to z -# # -> [x,nil,z] # Sets sprite.x to x and sprite.z to z -# # Etc. -# def xyz=(args) -# self.x = args[0] || self.x -# self.y = args[1] || self.y -# self.z = args[2] || self.z +# # k permutations of n (self) +# def npr(k) +# return (self.fact / (self - k).fact) # end # -# # Returns the x, y, and z coordinates in the xyz=(args) format, [x,y,z] -# def xyz -# return [self.x, self.y, self.z] +# # Converts number to binary number (returns as string) +# def to_b +# return self.to_s(2) # end # -# # Centers the sprite by setting the origin points to half the width and height -# def center_origins -# return if !self.bitmap -# self.ox = self.bitmap.width / 2 -# self.oy = self.bitmap.height / 2 -# end -# -# # Returns the sprite's full width, taking zoom_x into account -# def fullwidth -# return self.bitmap.width.to_f * self.zoom_x -# end -# -# # Returns the sprite's full height, taking zoom_y into account -# def fullheight -# return self.bitmap.height.to_f * self.zoom_y -# end -# end -# -# # -# class TextSprite < Sprite -# # Sets up the sprite and bitmap. You can also pass text to draw -# # either an array of arrays, or an array containing the normal "parameters" -# # for drawing text: -# # [text,x,y,align,basecolor,shadowcolor] -# def initialize(viewport = nil, text = nil, width = -1, height = -1) -# super(viewport) -# @width = width -# @height = height -# self.bmp(@width, @height) -# pbSetSystemFont(self.bmp) -# if text.is_a?(Array) -# if text[0].is_a?(Array) -# pbDrawTextPositions(self.bmp, text) -# else -# pbDrawTextPositions(self.bmp, [text]) -# end -# end -# end -# -# # Clears the bitmap (and thus all drawn text) -# def clear -# self.bmp.clear -# pbSetSystemFont(self.bmp) -# end -# -# # You can also pass text to draw either an array of arrays, or an array -# # containing the normal "parameters" for drawing text: -# # [text,x,y,align,basecolor,shadowcolor] -# def draw(text, clear = false) -# self.clear if clear -# if text[0].is_a?(Array) -# pbDrawTextPositions(self.bmp, text) -# else -# pbDrawTextPositions(self.bmp, [text]) -# end -# end -# -# # Draws text with outline -# # [text,x,y,align,basecolor,shadowcolor] -# def draw_outline(text, clear = false) -# self.clear if clear -# if text[0].is_a?(Array) -# for e in text -# e[2] -= 224 -# pbDrawOutlineText(self.bmp, e[1], e[2], 640, 480, e[0], e[4], e[5], e[3]) -# end -# else -# e = text -# e[2] -= 224 -# pbDrawOutlineText(self.bmp, e[1], e[2], 640, 480, e[0], e[4], e[5], e[3]) -# end -# end -# -# # Draws and breaks a line if the width is exceeded -# # [text,x,y,width,numlines,basecolor,shadowcolor] -# def draw_ex(text, clear = false) -# self.clear if clear -# if text[0].is_a?(Array) -# for e in text -# drawTextEx(self.bmp, e[1], e[2], e[3], e[4], e[0], e[5], e[6]) -# end -# else -# e = text -# drawTextEx(self.bmp, e[1], e[2], e[3], e[4], e[0], e[5], e[6]) -# end -# end -# -# # Clears and disposes the sprite -# def dispose -# clear -# super -# end -# end -# -# # A better alternative to the typical @sprites = {} -# class SpriteHash -# attr_reader :x -# attr_reader :y -# attr_reader :z -# attr_reader :visible -# attr_reader :opacity -# -# def initialize -# @hash = {} -# @x = 0 -# @y = 0 -# @z = 0 -# @visible = true -# @opacity = 255 -# end -# -# # Returns the object in the specified key -# def [](key) -# key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) -# return @hash[key] -# end -# -# # Sets an object in specified key to the specified value -# def []=(key, value) -# key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) -# add(key, value) -# end -# -# # Returns the raw hash -# def raw -# return @hash -# end -# -# # Returns the keys in the hash -# def keys -# return @hash.keys -# end -# -# def length -# return self.size; -# end -# -# def count -# return self.size; -# end -# -# # Returns the amount of keys in the hash -# def size -# return @hash.keys.size -# end -# -# # Clones the hash -# def clone -# return @hash.clone -# end -# -# # Adds an object to the specified key -# def add(key, value) -# clear_disposed -# key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) -# @hash[key] if @hash[key] && @hash[key].respond_to?(:dispose) -# @hash[key] = value -# clear_disposed -# end -# -# # Deletes an object in the specified key -# def delete(key) -# key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) -# @hash[key] = nil -# clear_disposed -# end -# -# # Iterates over all sprites -# def each -# clear_disposed -# @hash.each { |s| yield s[1] if block_given? } -# end -# -# # Updates all sprites -# def update -# clear_disposed -# for key in @hash.keys -# @hash[key].update if @hash[key].respond_to?(:update) -# end -# end -# -# # Disposes all sprites -# def dispose -# clear_disposed -# for key in @hash.keys -# @hash[key].dispose if @hash[key].respond_to?(:dispose) -# end -# clear_disposed -# end -# -# # Compatibility -# def disposed? +# def empty? # return false # end # -# # Changes x on all sprites -# def x=(value) -# clear_disposed -# for key in @hash.keys -# @hash[key].x += value - @x -# end -# @x = value -# end -# -# # Changes y on all sprites -# def y=(value) -# clear_disposed -# for key in @hash.keys -# @hash[key].y += value - @y -# end -# @y = value -# end -# -# # Changes z on all sprites -# def z=(value) -# clear_disposed -# for key in @hash.keys -# @hash[key].z += value - @z -# end -# @z = value -# end -# -# # Changes visibility on all sprites -# def visible=(value) -# clear_disposed -# for key in @hash.keys -# @hash[key].visible = value -# end -# end -# -# # Changes opacity on all sprites -# def opacity=(value) -# clear_disposed -# for key in @hash.keys -# @hash[key].opacity += value - @opacity -# end -# @opacity = [0, value, 255].sort[1] -# end -# -# # Fades out all sprites -# def hide(frames = 16) -# clear_disposed -# frames.times do -# Graphics.update -# Input.update -# for key in @hash.keys -# @hash[key].opacity -= 255 / frames.to_f -# end -# end -# @opacity = 0 -# end -# -# # Fades in all sprites -# def show(frames = 16) -# clear_disposed -# frames.times do -# Graphics.update -# Input.update -# for key in @hash.keys -# @hash[key].opacity += 255 / frames.to_f -# end -# end -# @opacity = 255 -# end -# -# # Deletes all disposed sprites from the hash -# def clear_disposed -# for key in @hash.keys -# if (@hash[key].disposed? rescue true) -# @hash[key] = nil -# @hash.delete(key) -# end -# end -# end -# -# # Renames the old key to the new key -# def rename(old, new) -# self[new] = self[old] -# delete(old) +# def numeric? +# return true # end # end # +# class NilClass +# def numeric? +# return false +# end +# end +# +# # Calculates the total amount of elements in an Enumerable. Example: +# # ["one","two","three"].fullsize #=> 11 +# module Enumerable +# def fullsize +# n = 0 +# for e in self +# if e.is_a?(String) +# n += e.size +# elsif e.respond_to?(:fullsize) +# n += e.fullsize +# elsif e.respond_to?(:size) && !e.is_a?(Numeric) +# n += e.size +# else +# n += 1 +# end +# end +# return n +# end +# end +# +# class Array +# # Returns a random element of the array +# def random +# return self[Object.method(:rand).call(self.size)] +# end +# +# # Returns whether or not the array is empty. +# def empty? +# return self.size == 0 +# end +# +# # Shuffles the order of the array +# def shuffle +# indexes = [] +# new = [] +# while new.size != self.size +# # Weird way of calling rand for compatibility +# # with Luka's scripting utilities +# i = Object.method(:rand).call(self.size) +# if !indexes.include?(i) +# indexes << i +# new << self[i] +# end +# end +# return new +# end +# +# # Shuffles the order of the array and replaces itself +# def shuffle! +# self.replace(shuffle) +# end +# +# # Breaks the array up every n elements +# def breakup(n) +# ret = [] +# for i in 0...self.size +# ret[(i / n).floor] ||= [] +# ret[(i / n).floor] << self[i] +# end +# return ret +# end +# +# # Breaks the array up every n elements and replaces itself +# def breakup!(n) +# self.replace(breakup(n)) +# end +# +# # Swaps two elements' indexes +# def swap(index1, index2) +# new = self.clone +# tmp = new[index2].clone +# new[index2] = new[index1] +# new[index1] = tmp +# return new +# end +# +# # Swaps two elements' indexes and replaces itself +# def swap!(index1, index2) +# self.replace(swap(index1, index2)) +# end +# +# # Returns whether or not the first element is equal to the passed argument +# def starts_with?(e) +# return self.first == e +# end +# +# # Returns whether or not the last element is equal to the passed argument +# def ends_with?(e) +# return self.last == e +# end +# +# # Converts itself to a hash where possible +# def to_hash(delete_nil_entries = false) +# ret = {} +# for i in 0...self.size +# next if self[i].nil? && delete_nil_entries +# ret[i] = self[i] +# end +# return ret +# end +# +# # If you have 8 elements, if true, grabs the 5th element, the 4th if false. +# # If you have 7 elements, grabs the 4th. +# def mid(round_up = true) +# i = (self.size - 1) / 2.0 +# i = i.ceil if round_up +# return self[i].floor +# end +# +# # Returns the average of all elements in the array. Will throw errors on non-numerics. +# # Skips entries. +# def average +# total = 0 +# self.each { |n| total += n unless n.nil? } +# return total / self.compact.size.to_f +# end +# +# # Adds some aliases for : , , +# alias has? include? +# alias includes? include? +# alias contains? include? +# +# # Evaluates the block you pass it for every number between 0 and "slots". +# # Example usage: +# # Array.make_table { |i| i ** 2 } +# # => [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] +# # Array.make_table(10..16) { |i| i.to_s(2) } +# # => ["1010", "1011", "1100", "1101", "1110", "1111", "10000"] +# # (you can also pass it an array of values to iterate over) +# def self.make_table(range = 1..10, &proc) +# return range.map { |n| next proc.call(n) } +# end +# +# # If true: +# # [0, 1, 3, 4, 5] -- etc +# # If false: +# # [0,1,2,3,4,5] -- etc +# Json_Extra_Space_After_Entry = false +# +# # Converts _self_ to a JSON string with an indent of Json_Indent_Width per layer. +# def to_json(indent = Hash::Json_Indent_Width, inline = false) +# return "[]" unless self.size > 0 +# full = "[" +# for i in 0...self.size +# nl = false +# if self[i].is_a?(Hash) || self[i].is_a?(Array) +# val = self[i].to_json(indent + Hash::Json_Indent_Width, i == 0) +# nl = !(inline && i == 0) +# else +# val = self[i] +# val = "\"#{val}\"" if val.is_a?(String) +# nl = (self.fullsize > 24 || self.map { |e| e.class.to_sym }.include?(:Hash)) +# end +# full += "\n" + " " * indent if nl +# full += val.to_s + "," +# full += " " if Json_Extra_Space_After_Entry +# end +# i = 2 + Json_Extra_Space_After_Entry.to_i +# full = full[0..(-i)] +# full += "\n#{" " * (indent - Hash::Json_Indent_Width)}" if self.fullsize > 24 || +# self.map { |e| e.class.to_sym }.include?(:Hash) +# full += "]" +# return full +# end +# end +# +# class Hash +# # Converts itself to an array where possible +# def to_array(delete_nil_entries = false) +# ret = [] +# keys = self.keys.sort +# for key in keys +# next if self[key].nil? && delete_nil_entries +# ret[key] = self[key] +# end +# return ret +# end +# +# def compact +# new = {} +# for key in self.keys +# new[key] = self[key] unless self[key].nil? +# end +# return new +# end +# +# def compact! +# self.replace(compact) +# end +# +# # Amount of spaces per "layer" in the JSON. +# Json_Indent_Width = 4 +# +# # Converts _self_ to a JSON string with an indent of Json_Indent_Width per layer. +# def to_json(indent = Json_Indent_Width, _ = nil) +# return "{}" if self.size == 0 +# full = "{" +# keys = self.keys.sort do |a,b| +# if $JSON_Sort_Order +# if $JSON_Sort_Order.include?(a) +# if $JSON_Sort_Order.include?(b) +# next $JSON_Sort_Order.index(a) <=> $JSON_Sort_Order.index(b) +# else +# next -1 +# end +# else +# if $JSON_Sort_Order.include?(b) +# next 1 +# end +# # If neither are in the key, go alphabetical +# end +# end +# if a.numeric? +# if b.numeric? +# next a <=> b +# else +# next -1 +# end +# else +# if b.numeric? +# next 1 +# else +# next a <=> b +# end +# end +# end +# for key in keys +# if self[key].is_a?(Hash) || self[key].is_a?(Array) +# val = self[key].to_json(indent + Json_Indent_Width, key == self.keys[0]) +# else +# val = self[key] +# val = "\"#{val}\"" if val.is_a?(String) +# end +# full += "\n#{" " * indent}\"#{key}\": #{val}," +# end +# full = full[0..-2] +# full += "\n#{" " * (indent - Json_Indent_Width)}}" +# return full +# end +# end +# +# # String class extensions +# class String +# # Converts to bits +# def to_b +# return self.unpack('b*')[0] +# end +# +# # Converts to bits and replaces itself +# def to_b! +# self.replace(to_b) +# end +# +# # Converts from bits +# def from_b +# return [self].pack('b*') +# end +# +# # Convert from bits and replaces itself +# def from_b! +# self.replace(from_b) +# end +# +# # Returns a random character from the string +# def random +# return self[rand(self.size)] +# end +# +# # Shuffles the order of the characters +# def shuffle +# return self.split("").shuffle.join("") +# end +# +# # Breaks the string up every _n_ characters +# def breakup(n) +# new = [] +# for i in 0...self.size +# new[(i / n).floor] ||= "" +# new[(i / n).floor] += self[i] +# end +# return new +# end +# +# def empty? +# return (self.size == 0) +# end +# +# def numeric? +# i = 0 +# for e in self.split("") +# next if i == 0 && e == "-" +# return false unless [0,1,2,3,4,5,6,7,8,9].map { |n| n.to_s }.include?(e) +# end +# return true +# end +# +# # Deflates itself and returns the result +# def deflate +# return Zlib::Deflate.deflate(self) +# end +# +# # Deflates and replaces itself +# def deflate! +# self.replace(deflate) +# end +# +# # Inflates itself and returns the result +# def inflate +# return Zlib::Inflate.inflate(self) +# end +# +# # Inflates and replaces itself +# def inflate! +# self.replace(inflate) +# end +# +# # Adds some aliases for : , , +# alias has? include? +# alias includes? include? +# alias contains? include? +# end +# +# # File class extensions +# class File +# # Copies the source file to the destination path. +# def self.copy(source, destination) +# data = "" +# t = Time.now +# File.open(source, 'rb') do |f| +# while r = f.read(4096) +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data += r +# end +# end +# File.delete(destination) if File.file?(destination) +# f = File.new(destination, 'wb') +# f.write data +# f.close +# end +# +# # Renames the old file to be the new file. //exact same as File::move +# def self.rename(old, new) +# File.move(old, new) +# end +# +# # Copies the source to the destination and deletes the source. +# def self.move(source, destination) +# File.copy(source, destination) +# File.delete(source) +# end +# +# # Reads the file's data and inflates it with Zlib +# def self.inflate(file) +# data = "" +# t = Time.now +# File.open(file, 'rb') do |f| +# while r = f.read(4096) +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data += r +# end +# end +# data.inflate! +# File.delete(file) +# f = File.new(file, 'wb') +# f.write data +# f.close +# return data +# end +# +# # Reads the file's data and deflates it with Zlib +# def self.deflate(file) +# data = "" +# t = Time.now +# File.open(file, 'rb') do |f| +# while r = f.read(4096) +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data += r +# end +# end +# data.deflate! +# File.delete(file) +# f = File.new(file, 'wb') +# f.write data +# f.close +# return data +# end +# +# # Note: This is VERY basic compression and should NOT serve as encryption. +# # Compresses all specified files into one, big package +# def self.compress(outfile, files, delete_files = true) +# start = Time.now +# files = [files] unless files.is_a?(Array) +# for i in 0...files.size +# if !File.file?(files[i]) +# raise "Could not find part of the path `#{files[i]}`" +# end +# end +# files.breakup(500) # 500 files per compressed file +# full = "" +# t = Time.now +# for i in 0...files.size +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data = "" +# File.open(files[i], 'rb') do |f| +# while r = f.read(4096) +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data += r +# end +# end +# File.delete(files[i]) if delete_files +# full += "#{data.size}|#{files[i]}|#{data}" +# full += "|" if i != files.size - 1 +# end +# File.delete(outfile) if File.file?(outfile) +# f = File.new(outfile, 'wb') +# f.write full.deflate +# f.close +# return Time.now - start +# end +# +# # Decompresses files compressed with File.compress +# def self.decompress(filename, delete_package = true) +# start = Time.now +# data = "" +# t = Time.now +# File.open(filename, 'rb') do |f| +# while r = f.read(4096) +# if Time.now - t > 1 +# Graphics.update +# t = Time.now +# end +# data += r +# end +# end +# data.inflate! +# loop do +# size, name = data.split('|') +# data = data.split(size + "|" + name + "|")[1..-1].join(size + "|" + name + "|") +# size = size.to_i +# content = data[0...size] +# data = data[(size + 1)..-1] +# File.delete(name) if File.file?(name) +# f = File.new(name, 'wb') +# f.write content +# f.close +# break if !data || data.size == 0 || data.split('|').size <= 1 +# end +# File.delete(filename) if delete_package +# return Time.now - start +# end +# +# # Creates all directories that don't exist in the given path, as well as the +# # file. If given a second argument, it'll write that to the file. +# def self.create(path, data = nil) +# start = Time.now +# Dir.create(path.split('/')[0..-2].join('/')) +# f = File.new(path, 'wb') +# f.write data if data && data.size > 0 +# f.close +# return Time.now - start +# end +# end +# +# # Dir class extensions +# class Dir +# class << Dir +# alias marin_delete delete +# end +# +# # Returns all files in the targeted path +# def self.get_files(path, recursive = true) +# return Dir.get_all(path, recursive).select { |path| File.file?(path) } +# end +# +# # Returns all directories in the targeted path +# def self.get_dirs(path, recursive = true) +# return Dir.get_all(path, recursive).select { |path| File.directory?(path) } +# end +# +# # Returns all files and directories in the targeted path +# def self.get_all(path, recursive = true) +# files = [] +# Dir.foreach(path) do |f| +# next if f == "." || f == ".." +# if File.directory?(path + "/" + f) && recursive +# files.concat(Dir.get_files(path + "/" + f)) +# end +# files << path + "/" + f +# end +# return files +# end +# +# # Deletes a directory and all files/directories within, unless non_empty is false +# def self.delete(path, non_empty = true) +# if non_empty +# for file in Dir.get_all(path) +# if File.directory?(file) +# Dir.delete(file, non_empty) +# elsif File.file?(file) +# File.delete(file) +# end +# end +# end +# marin_delete(path) +# end +# +# # Creates all directories that don't exist in the given path. +# def self.create(path) +# split = path.split('/') +# for i in 0...split.size +# Dir.mkdir(split[0..i].join('/')) unless File.directory?(split[0..i].join('/')) +# end +# end +# end +# +# +# Sprite class extensions +class Sprite + # Shorthand for initializing a bitmap by path, bitmap, or width/height: + # -> bmp("Graphics/Pictures/bag") + # -> bmp(32, 32) + # -> bmp(some_other_bitmap) + def bmp(arg1 = nil, arg2 = nil) + if arg1 + if arg2 + arg1 = Graphics.width if arg1 == -1 + arg2 = Graphics.height if arg2 == -1 + self.bitmap = Bitmap.new(arg1, arg2) + elsif arg1.is_a?(Bitmap) + self.bitmap = arg1.clone + else + self.bitmap = Bitmap.new(arg1) + end + else + return self.bitmap + end + end + + # Alternative to bmp(path): + # -> bmp = "Graphics/Pictures/bag" + def bmp=(arg1) + bmp(arg1) + end + + # Usage: + # -> [x] # Sets sprite.x to x + # -> [x,y] # Sets sprite.x to x and sprite.y to y + # -> [x,y,z] # Sets sprite.x to x and sprite.y to y and sprite.z to z + # -> [nil,y] # Sets sprite.y to y + # -> [nil,nil,z] # Sets sprite.z to z + # -> [x,nil,z] # Sets sprite.x to x and sprite.z to z + # Etc. + def xyz=(args) + self.x = args[0] || self.x + self.y = args[1] || self.y + self.z = args[2] || self.z + end + + # Returns the x, y, and z coordinates in the xyz=(args) format, [x,y,z] + def xyz + return [self.x, self.y, self.z] + end + + # Centers the sprite by setting the origin points to half the width and height + def center_origins + return if !self.bitmap + self.ox = self.bitmap.width / 2 + self.oy = self.bitmap.height / 2 + end + + # Returns the sprite's full width, taking zoom_x into account + def fullwidth + return self.bitmap.width.to_f * self.zoom_x + end + + # Returns the sprite's full height, taking zoom_y into account + def fullheight + return self.bitmap.height.to_f * self.zoom_y + end +end + +# +class TextSprite < Sprite + # Sets up the sprite and bitmap. You can also pass text to draw + # either an array of arrays, or an array containing the normal "parameters" + # for drawing text: + # [text,x,y,align,basecolor,shadowcolor] + def initialize(viewport = nil, text = nil, width = -1, height = -1) + super(viewport) + @width = width + @height = height + self.bmp(@width, @height) + pbSetSystemFont(self.bmp) + if text.is_a?(Array) + if text[0].is_a?(Array) + pbDrawTextPositions(self.bmp, text) + else + pbDrawTextPositions(self.bmp, [text]) + end + end + end + + # Clears the bitmap (and thus all drawn text) + def clear + self.bmp.clear + pbSetSystemFont(self.bmp) + end + + # You can also pass text to draw either an array of arrays, or an array + # containing the normal "parameters" for drawing text: + # [text,x,y,align,basecolor,shadowcolor] + def draw(text, clear = false) + self.clear if clear + if text[0].is_a?(Array) + pbDrawTextPositions(self.bmp, text) + else + pbDrawTextPositions(self.bmp, [text]) + end + end + + # Draws text with outline + # [text,x,y,align,basecolor,shadowcolor] + def draw_outline(text, clear = false) + self.clear if clear + if text[0].is_a?(Array) + for e in text + e[2] -= 224 + pbDrawOutlineText(self.bmp, e[1], e[2], 640, 480, e[0], e[4], e[5], e[3]) + end + else + e = text + e[2] -= 224 + pbDrawOutlineText(self.bmp, e[1], e[2], 640, 480, e[0], e[4], e[5], e[3]) + end + end + + # Draws and breaks a line if the width is exceeded + # [text,x,y,width,numlines,basecolor,shadowcolor] + def draw_ex(text, clear = false) + self.clear if clear + if text[0].is_a?(Array) + for e in text + drawTextEx(self.bmp, e[1], e[2], e[3], e[4], e[0], e[5], e[6]) + end + else + e = text + drawTextEx(self.bmp, e[1], e[2], e[3], e[4], e[0], e[5], e[6]) + end + end + + # Clears and disposes the sprite + def dispose + clear + super + end +end + +# A better alternative to the typical @sprites = {} +class SpriteHash + attr_reader :x + attr_reader :y + attr_reader :z + attr_reader :visible + attr_reader :opacity + + def initialize + @hash = {} + @x = 0 + @y = 0 + @z = 0 + @visible = true + @opacity = 255 + end + + # Returns the object in the specified key + def [](key) + key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) + return @hash[key] + end + + # Sets an object in specified key to the specified value + def []=(key, value) + key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) + add(key, value) + end + + # Returns the raw hash + def raw + return @hash + end + + # Returns the keys in the hash + def keys + return @hash.keys + end + + def length + return self.size; + end + + def count + return self.size; + end + + # Returns the amount of keys in the hash + def size + return @hash.keys.size + end + + # Clones the hash + def clone + return @hash.clone + end + + # Adds an object to the specified key + def add(key, value) + clear_disposed + key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) + @hash[key] if @hash[key] && @hash[key].respond_to?(:dispose) + @hash[key] = value + clear_disposed + end + + # Deletes an object in the specified key + def delete(key) + key = key.to_sym if key.respond_to?(:to_sym) && !key.is_a?(Numeric) + @hash[key] = nil + clear_disposed + end + + # Iterates over all sprites + def each + clear_disposed + @hash.each { |s| yield s[1] if block_given? } + end + + # Updates all sprites + def update + clear_disposed + for key in @hash.keys + @hash[key].update if @hash[key].respond_to?(:update) + end + end + + # Disposes all sprites + def dispose + clear_disposed + for key in @hash.keys + @hash[key].dispose if @hash[key].respond_to?(:dispose) + end + clear_disposed + end + + # Compatibility + def disposed? + return false + end + + # Changes x on all sprites + def x=(value) + clear_disposed + for key in @hash.keys + @hash[key].x += value - @x + end + @x = value + end + + # Changes y on all sprites + def y=(value) + clear_disposed + for key in @hash.keys + @hash[key].y += value - @y + end + @y = value + end + + # Changes z on all sprites + def z=(value) + clear_disposed + for key in @hash.keys + @hash[key].z += value - @z + end + @z = value + end + + # Changes visibility on all sprites + def visible=(value) + clear_disposed + for key in @hash.keys + @hash[key].visible = value + end + end + + # Changes opacity on all sprites + def opacity=(value) + clear_disposed + for key in @hash.keys + @hash[key].opacity += value - @opacity + end + @opacity = [0, value, 255].sort[1] + end + + # Fades out all sprites + def hide(frames = 16) + clear_disposed + frames.times do + Graphics.update + Input.update + for key in @hash.keys + @hash[key].opacity -= 255 / frames.to_f + end + end + @opacity = 0 + end + + # Fades in all sprites + def show(frames = 16) + clear_disposed + frames.times do + Graphics.update + Input.update + for key in @hash.keys + @hash[key].opacity += 255 / frames.to_f + end + end + @opacity = 255 + end + + # Deletes all disposed sprites from the hash + def clear_disposed + for key in @hash.keys + if (@hash[key].disposed? rescue true) + @hash[key] = nil + @hash.delete(key) + end + end + end + + # Renames the old key to the new key + def rename(old, new) + self[new] = self[old] + delete(old) + end +end + # class ByteWriter # def initialize(filename) # @file = File.new(filename, "wb") @@ -1019,268 +1019,268 @@ # ] # end # end -# -# class Bitmap -# def save_to_png(filename) -# f = ByteWriter.new(filename) -# -# #============================= Writing header ===============================# -# # PNG signature -# f << [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A] -# # Header length -# f << [0x00, 0x00, 0x00, 0x0D] -# # IHDR -# headertype = [0x49, 0x48, 0x44, 0x52] -# f << headertype -# -# # Width, height, compression, filter, interlacing -# headerdata = ByteWriter.to_bytes(self.width). -# concat(ByteWriter.to_bytes(self.height)). -# concat([0x08, 0x06, 0x00, 0x00, 0x00]) -# f << headerdata -# -# # CRC32 checksum -# sum = headertype.concat(headerdata) -# f.write_int Zlib::crc32(sum.pack("C*")) -# -# #============================== Writing data ================================# -# data = [] -# for y in 0...self.height -# # Start scanline -# data << 0x00 # Filter: None -# for x in 0...self.width -# px = self.get_pixel(x, y) -# # Write raw RGBA pixels -# data << px.red -# data << px.green -# data << px.blue -# data << px.alpha + +class Bitmap + def save_to_png(filename) + f = ByteWriter.new(filename) + + #============================= Writing header ===============================# + # PNG signature + f << [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A] + # Header length + f << [0x00, 0x00, 0x00, 0x0D] + # IHDR + headertype = [0x49, 0x48, 0x44, 0x52] + f << headertype + + # Width, height, compression, filter, interlacing + headerdata = ByteWriter.to_bytes(self.width). + concat(ByteWriter.to_bytes(self.height)). + concat([0x08, 0x06, 0x00, 0x00, 0x00]) + f << headerdata + + # CRC32 checksum + sum = headertype.concat(headerdata) + f.write_int Zlib::crc32(sum.pack("C*")) + + #============================== Writing data ================================# + data = [] + for y in 0...self.height + # Start scanline + data << 0x00 # Filter: None + for x in 0...self.width + px = self.get_pixel(x, y) + # Write raw RGBA pixels + data << px.red + data << px.green + data << px.blue + data << px.alpha + end + end + # Zlib deflation + smoldata = Zlib::Deflate.deflate(data.pack("C*")).bytes.map + # data chunk length + f.write_int smoldata.size + # IDAT + f << [0x49, 0x44, 0x41, 0x54] + f << smoldata + # CRC32 checksum + f.write_int Zlib::crc32([0x49, 0x44, 0x41, 0x54].concat(smoldata).pack("C*")) + + #============================== End Of File =================================# + # Empty chunk + f << [0x00, 0x00, 0x00, 0x00] + # IEND + f << [0x49, 0x45, 0x4E, 0x44] + # CRC32 checksum + f.write_int Zlib::crc32([0x49, 0x45, 0x4E, 0x44].pack("C*")) + f.close + return nil + end +end + +# Stand-alone methods + +# Fades in a black overlay +def showBlk(n = 16) + return if $blkVp || $blk + $blkVp = Viewport.new(0, 0, Settings::SCREEN_WIDTH, Settings::SCREEN_HEIGHT) + $blkVp.z = 9999999 + $blk = Sprite.new($blkVp) + $blk.bmp(-1, -1) + $blk.bitmap.fill_rect(0, 0, Settings::SCREEN_WIDTH, Settings::SCREEN_HEIGHT, Color.new(0, 0, 0)) + $blk.opacity = 0 + for i in 0...(n + 1) + Graphics.update + Input.update + yield i if block_given? + $blk.opacity += 256 / n.to_f + end +end + +# Fades out and disposes a black overlay +def hideBlk(n = 16) + return if !$blk || !$blkVp + for i in 0...(n + 1) + Graphics.update + Input.update + yield i if block_given? + $blk.opacity -= 256 / n.to_f + end + $blk.dispose + $blk = nil + $blkVp.dispose + $blkVp = nil +end + +# Returns the percentage of exp the Pokémon has compared to the next level +# def pbGetE +# xpPercentage(pokemon) +# pokemon = pokemon.pokemon if pokemon.respond_to?("pokemon") +# startexp = PBExperience.pbGetStartExperience(pokemon.level, pokemon.growthrate) +# endexp = PBExperience.pbGetStartExperience(pokemon.level + 1, pokemon.growthrate) +# return (pokemon.exp - startexp).to_f / (endexp - startexp).to_f +# end + +# unless defined?(oldrand) +# alias oldrand rand +# def rand(a = nil, b = nil) +# if a.is_a?(Range) +# l = a.min +# u = a.max +# return l + oldrand(u - l + 1) +# elsif a.is_a?(Numeric) +# if b.is_a?(Numeric) +# return a + oldrand(b - a) +# else +# return oldrand(a) +# end +# elsif a.nil? +# if b +# return rand(b) +# else +# return oldrand(2) # end # end -# # Zlib deflation -# smoldata = Zlib::Deflate.deflate(data.pack("C*")).bytes.map -# # data chunk length -# f.write_int smoldata.size -# # IDAT -# f << [0x49, 0x44, 0x41, 0x54] -# f << smoldata -# # CRC32 checksum -# f.write_int Zlib::crc32([0x49, 0x44, 0x41, 0x54].concat(smoldata).pack("C*")) -# -# #============================== End Of File =================================# -# # Empty chunk -# f << [0x00, 0x00, 0x00, 0x00] -# # IEND -# f << [0x49, 0x45, 0x4E, 0x44] -# # CRC32 checksum -# f.write_int Zlib::crc32([0x49, 0x45, 0x4E, 0x44].pack("C*")) -# f.close -# return nil # end # end + +# Input module extensions +# module Input +# # Returns true if any of the buttons below are pressed +# def self.any? +# return true if defined?(Game_Mouse) && $mouse && $mouse.click? +# keys = [Input::C,Input::B,Input::LEFT,Input::RIGHT,Input::UP,Input::DOWN, +# # 0-9, a-z +# 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44, +# 0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x50,0x51,0x52,0x53, +# 0x54,0x55,0x56,0x57,0x58,0x59,0x5A] +# for key in keys +# return true if Input.triggerex?(key) +# end +# return false +# end +# end + # -# # Stand-alone methods +# if SPECIAL_ERRORS # -# # Fades in a black overlay -# def showBlk(n = 16) -# return if $blkVp || $blk -# $blkVp = Viewport.new(0, 0, Settings::SCREEN_WIDTH, Settings::SCREEN_HEIGHT) -# $blkVp.z = 9999999 -# $blk = Sprite.new($blkVp) -# $blk.bmp(-1, -1) -# $blk.bitmap.fill_rect(0, 0, Settings::SCREEN_WIDTH, Settings::SCREEN_HEIGHT, Color.new(0, 0, 0)) -# $blk.opacity = 0 -# for i in 0...(n + 1) +# MessageBox = Win32API.new('user32', 'MessageBox', ['I','P','P','I'], 'I') +# +# def p_msg(msg, title = nil, icon = nil) +# case icon +# when :error, :err +# uType = 0x10 +# title ||= "Error" +# when :q, :question, :ask +# uType = 0x20 +# title ||= "Question" +# when :warning, :warn +# uType = 0x30 +# title ||= "Warning" +# when :inform, :info, :information +# uType = 0x40 +# title ||= "Info" +# else +# uType = 0 +# title ||= "Pokémon" +# end +# hwnd = Win32API.pbFindRgssWindow # Graphics.update -# Input.update -# yield i if block_given? -# $blk.opacity += 256 / n.to_f +# t = Thread.new { MessageBox.call(hwnd, msg, title, uType); Thread.exit } +# while t.status +# Graphics.update +# end # end -# end # -# # Fades out and disposes a black overlay -# def hideBlk(n = 16) -# return if !$blk || !$blkVp -# for i in 0...(n + 1) -# Graphics.update -# Input.update -# yield i if block_given? -# $blk.opacity -= 256 / n.to_f +# def p_err(ex = $!, message = nil) +# if $Rescue +# raise +# return +# end +# if ex.is_a?(String) +# ex = RuntimeError.new ex +# elsif ex.is_a?(Class) +# ex = ex.new +# end +# trace = ex.backtrace || caller +# script_id = trace[0][7..-1].split(':')[0].to_i +# script = $RGSS_SCRIPTS[script_id][1] +# line = trace[0].split(':')[1].to_i +# msg = "Script '[#{script}]' line #{line}: #{ex.class} occurred." +# if message || ex.message != ex.class.to_s +# if message +# msg << "\n\n#{message}" +# else +# msg << "\n\n#{ex.message}" +# message = ex.message +# end +# end +# showtrace = (trace.size > 2) +# showtrace = false if !DOUBLE_BACKTRACE && message.include?(':in `') +# if showtrace +# msg << "\n\n" +# msg << trace[0...BACKTRACE_MAX_SIZE].map do |e| +# sID = e.split(':')[0][7..-1] +# if sID && sID.numeric? +# sID = sID.to_i +# s = "'" + $RGSS_SCRIPTS[sID][1] + "'" +# else +# s = "eval" +# end +# line = e.split(':')[1].to_i +# code = e.split(':')[2..-1].join(':') +# str = "from #{s} line #{line}" +# str << " #{code}" unless code.empty? +# next str +# end.join("\n") +# end +# p_msg(msg, "Error", :err) +# Kernel.exit! true # end -# $blk.dispose -# $blk = nil -# $blkVp.dispose -# $blkVp = nil -# end # -# # Returns the percentage of exp the Pokémon has compared to the next level -# # def pbGetE -# # xpPercentage(pokemon) -# # pokemon = pokemon.pokemon if pokemon.respond_to?("pokemon") -# # startexp = PBExperience.pbGetStartExperience(pokemon.level, pokemon.growthrate) -# # endexp = PBExperience.pbGetStartExperience(pokemon.level + 1, pokemon.growthrate) -# # return (pokemon.exp - startexp).to_f / (endexp - startexp).to_f -# # end +# def p_info(msg, title = nil) +# p_msg(msg, title, :info) +# end # -# # unless defined?(oldrand) -# # alias oldrand rand -# # def rand(a = nil, b = nil) -# # if a.is_a?(Range) -# # l = a.min -# # u = a.max -# # return l + oldrand(u - l + 1) -# # elsif a.is_a?(Numeric) -# # if b.is_a?(Numeric) -# # return a + oldrand(b - a) -# # else -# # return oldrand(a) -# # end -# # elsif a.nil? -# # if b -# # return rand(b) -# # else -# # return oldrand(2) -# # end -# # end -# # end -# # end +# def p_warn(msg, title = nil) +# p_msg(msg, title, :warn) +# end # -# # Input module extensions -# # module Input -# # # Returns true if any of the buttons below are pressed -# # def self.any? -# # return true if defined?(Game_Mouse) && $mouse && $mouse.click? -# # keys = [Input::C,Input::B,Input::LEFT,Input::RIGHT,Input::UP,Input::DOWN, -# # # 0-9, a-z -# # 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44, -# # 0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x50,0x51,0x52,0x53, -# # 0x54,0x55,0x56,0x57,0x58,0x59,0x5A] -# # for key in keys -# # return true if Input.triggerex?(key) -# # end -# # return false -# # end -# # end +# def p_question(msg, title = nil) +# p_msg(msg, title, :question) +# end # -# # -# # if SPECIAL_ERRORS -# # -# # MessageBox = Win32API.new('user32', 'MessageBox', ['I','P','P','I'], 'I') -# # -# # def p_msg(msg, title = nil, icon = nil) -# # case icon -# # when :error, :err -# # uType = 0x10 -# # title ||= "Error" -# # when :q, :question, :ask -# # uType = 0x20 -# # title ||= "Question" -# # when :warning, :warn -# # uType = 0x30 -# # title ||= "Warning" -# # when :inform, :info, :information -# # uType = 0x40 -# # title ||= "Info" -# # else -# # uType = 0 -# # title ||= "Pokémon" -# # end -# # hwnd = Win32API.pbFindRgssWindow -# # Graphics.update -# # t = Thread.new { MessageBox.call(hwnd, msg, title, uType); Thread.exit } -# # while t.status -# # Graphics.update -# # end -# # end -# # -# # def p_err(ex = $!, message = nil) -# # if $Rescue -# # raise -# # return -# # end -# # if ex.is_a?(String) -# # ex = RuntimeError.new ex -# # elsif ex.is_a?(Class) -# # ex = ex.new -# # end -# # trace = ex.backtrace || caller -# # script_id = trace[0][7..-1].split(':')[0].to_i -# # script = $RGSS_SCRIPTS[script_id][1] -# # line = trace[0].split(':')[1].to_i -# # msg = "Script '[#{script}]' line #{line}: #{ex.class} occurred." -# # if message || ex.message != ex.class.to_s -# # if message -# # msg << "\n\n#{message}" -# # else -# # msg << "\n\n#{ex.message}" -# # message = ex.message -# # end -# # end -# # showtrace = (trace.size > 2) -# # showtrace = false if !DOUBLE_BACKTRACE && message.include?(':in `') -# # if showtrace -# # msg << "\n\n" -# # msg << trace[0...BACKTRACE_MAX_SIZE].map do |e| -# # sID = e.split(':')[0][7..-1] -# # if sID && sID.numeric? -# # sID = sID.to_i -# # s = "'" + $RGSS_SCRIPTS[sID][1] + "'" -# # else -# # s = "eval" -# # end -# # line = e.split(':')[1].to_i -# # code = e.split(':')[2..-1].join(':') -# # str = "from #{s} line #{line}" -# # str << " #{code}" unless code.empty? -# # next str -# # end.join("\n") -# # end -# # p_msg(msg, "Error", :err) -# # Kernel.exit! true -# # end -# # -# # def p_info(msg, title = nil) -# # p_msg(msg, title, :info) -# # end -# # -# # def p_warn(msg, title = nil) -# # p_msg(msg, title, :warn) -# # end -# # -# # def p_question(msg, title = nil) -# # p_msg(msg, title, :question) -# # end -# # + + # +# else # -# # -# # else -# # -# # def p_err(*args) -# # raise *args -# # end -# # -# # end # if SPECIAL_ERRORS +# def p_err(*args) +# raise *args +# end # -# # def pbGetActiveEventPage(event, mapid = nil) -# # mapid ||= event.map.map_id if event.respond_to?(:map) -# # pages = (event.is_a?(RPG::Event) ? event.pages : event.instance_eval { @event.pages }) -# # for i in 0...pages.size -# # c = pages[pages.size - 1 - i].condition -# # ss = !(c.self_switch_valid && !$game_self_switches[[mapid, -# # event.id,c.self_switch_ch]]) -# # sw1 = !(c.switch1_valid && !$game_switches[c.switch1_id]) -# # sw2 = !(c.switch2_valid && !$game_switches[c.switch2_id]) -# # var = true -# # if c.variable_valid -# # if !c.variable_value || !$game_variables[c.variable_id].is_a?(Numeric) || -# # $game_variables[c.variable_id] < c.variable_value -# # var = false -# # end -# # end -# # if ss && sw1 && sw2 && var # All conditions are met -# # return pages[pages.size - 1 - i] -# # end -# # end -# # return nil -# # end \ No newline at end of file +# end # if SPECIAL_ERRORS + +# def pbGetActiveEventPage(event, mapid = nil) +# mapid ||= event.map.map_id if event.respond_to?(:map) +# pages = (event.is_a?(RPG::Event) ? event.pages : event.instance_eval { @event.pages }) +# for i in 0...pages.size +# c = pages[pages.size - 1 - i].condition +# ss = !(c.self_switch_valid && !$game_self_switches[[mapid, +# event.id,c.self_switch_ch]]) +# sw1 = !(c.switch1_valid && !$game_switches[c.switch1_id]) +# sw2 = !(c.switch2_valid && !$game_switches[c.switch2_id]) +# var = true +# if c.variable_valid +# if !c.variable_value || !$game_variables[c.variable_id].is_a?(Numeric) || +# $game_variables[c.variable_id] < c.variable_value +# var = false +# end +# end +# if ss && sw1 && sw2 && var # All conditions are met +# return pages[pages.size - 1 - i] +# end +# end +# return nil +# end \ No newline at end of file diff --git a/Data/Scripts/049_Compatibility/UtilityMethods.rb b/Data/Scripts/049_Compatibility/UtilityMethods.rb index 356579bb8..186e9e602 100644 --- a/Data/Scripts/049_Compatibility/UtilityMethods.rb +++ b/Data/Scripts/049_Compatibility/UtilityMethods.rb @@ -85,6 +85,75 @@ def extract_custom_sprites_that_evolve_into_non_customs(includeOnlyNextEvos=true end +def listAllFinalEvos + finalEvos = [] + for dexNum in 1..PBSpecies.maxValue + species = GameData::Species.get(dexNum) + if species.get_evolutions.length==0 + finalEvos << species + end + end + return finalEvos +end + +def getPreEvoCustomSprites(species, customSPritesList) + pre_evos_with_custom_sprites = [] + + for species_id in species.get_pre_evolutions + species = GameData::Species.get(species_id) + dexNum = species.id_number + if customSPritesList.include?(dexNum) + pre_evos_with_custom_sprites << species + # echo species + # echo "\n" + end + end + return pre_evos_with_custom_sprites +end + +def extract_pokes_with_non_custom_final_evos2() + + outfile = "nonCustomFinals2.csv" + customSpecies = getCustomSpeciesList() + alreadyWritten = [] + finalEvolutions = listAllFinalEvos() + echo "\n\n" + echo "WRITING FILE..." + echo "\n\n" + + File.open(outfile,"wb") { |f| + for evo in finalEvolutions + dexnum = evo.id_number + if !customSpecies.include?(dexnum) + preEvoCustomSprites = getPreEvoCustomSprites(evo,customSpecies) + if preEvoCustomSprites.length >0 + + body = getBodyID(evo.id_number) + head = getHeadID(evo.id_number,body) + + # f.write((head.to_s) +";") + # f.write(".;") + # f.write((body.to_s) +";") + f.write((head.to_s + "." + body.to_s) +";") + f.write(" evolves from : ;") + written_prevos=[] + for prevo in preEvoCustomSprites + next if written_prevos.include?(prevo) + prevoBody = getBodyID(prevo.id_number) + prevoHead = getHeadID(prevo.id_number,prevoBody) + + f.write((prevoHead.to_s + "." + prevoBody.to_s) +";") + written_prevos << prevo + end + f.write("\n") + end + end + end + + } +end + + def extract_pokes_with_non_custom_final_evos(includeOnlyNextEvos=true) outfile = "nonCustomFinals.csv" diff --git a/Data/Scripts/050_AddOns/FusionSprites.rb b/Data/Scripts/050_AddOns/FusionSprites.rb index 55466299e..63a58d8b6 100644 --- a/Data/Scripts/050_AddOns/FusionSprites.rb +++ b/Data/Scripts/050_AddOns/FusionSprites.rb @@ -165,7 +165,7 @@ module GameData customPath = pbResolveBitmap(Settings::CUSTOM_BATTLERS_FOLDER + filename) species = getSpecies(dex_number) use_custom = customPath && !species.always_use_generated - if use_custom + if use_custom && dex_number > Settings::NB_POKEMON return customPath end return Settings::BATTLERS_FOLDER + folder + "/" + filename diff --git a/Data/Scripts/050_AddOns/WonderTrade_names.rb b/Data/Scripts/050_AddOns/WonderTrade_names.rb index b7d01cea8..543f969aa 100644 --- a/Data/Scripts/050_AddOns/WonderTrade_names.rb +++ b/Data/Scripts/050_AddOns/WonderTrade_names.rb @@ -198,6 +198,12 @@ RandPokeNick = [ "Skyrim", "Zeffy", "Hydra", + "Lil' Wayne", + "Drake", + "Jay-Z", + "50 Cent", + "Kanye", + "Nicki", "Ultimo!", "Sohcahtoa", "The Beast", @@ -468,6 +474,7 @@ RandPokeNick = [ "Twitter", "Facebook", "Mia", + "miam", "Lame-o", "Snoop", "Mephesto", @@ -538,6 +545,7 @@ RandPokeNick = [ "Sniper", "Suzy", "Lucy", + "Mike", "Molly", "Leela", "Pauvcon", diff --git a/Data/Skills.rxdata b/Data/Skills.rxdata index 61cba7ea20a63c0e9690c50c61f05185b5871497..a45219f5ef10c891f9d68fbf2dff723516dc2843 100644 GIT binary patch literal 377 zcmZXQJ5K{a41}*h;b4zMQIeK|UjUS*F%7f`M3rK-+H;7Ned%`Z;OAqOhlJ8u^7xw> zpS0W4>j;bIr$>O713PyK3ON+LV}=!)z}^&&;YM@M4Q$YJ7_-jB6w;Z>wh=u|M)VCV zkZlY)7*AIXoa4{Xq3>x|i5s-hd(qHDVp5q3%^TPIIYw(u7CWB78k0M6GUZT}9j0$& z0~hEijFKh7s@Aw4dyWt6sD%!v=tfWcdZ#3j!oJ}OCJwlR^UUm`gYR{86d y;yVqpIm11d|NprC&7R9pIZGjCJ8=5?mUy)&G_p{s z9e4^u(kYvaI$_>Vnq}{08%GpQLAKyKJQU^%*jkgsjuv8NzNnC7%BM1IA-aFaC3p;j z@L6q2_UEA^ej$goYGGtIc%;v#T9P&pDchrjZy}yNCox%$Sh{uiGaE+!#$L1=K!;+G x=K_B&@_3Ga1xLz)tU=l=TqNKjeU&dxWp zC-dFeV^GVN=O?9J3l_RpOX!0&x(vzlOq~OLqP$nobJ0l@%<2{#`yuN*ZRkv8HwmzO zRKX>DQwq9|TeSd>jvgjKE~yF{*kdV{bny1;O*N1$M{UqyM_Y9R(f+Y#|I5Ds3BtbP zg}MeGe4@;f#kaD12e}WeBq2+fNyilSl79sb#~dqv3C_@a{jH!yahIk>9HdFdb<}{E zm&9%1Fx_JV-GIqxad#v;hw>Z1p@e^#{Sh-BG1muXN5UQDPIF+xrvf)LR`?pwvy-a9 IYnje|0Q{Df%K!iX literal 431 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 delta 4660 zcmc(jUuauZ9LIC+IZ2b7G;RLgteah$)^*mcZlfsVZg7j1Hi#~>0|VmH+x4zqOmnm3 zrZq2Harz)kXejImd$6LSFdtU-a6}NhmoYYB!cbv|Fu^@(x3HIi3_SOy`O~b4dFVWZ zoZOuAJLmJgzu&pP`@6SP@|Q~frI0%#r?sp+Cnw*@E2?ER@B$p;rL;V!L@ZI4bV{2| z<_fAM>M;+sjC@kn3+h*YVtm`RdT0Z%1rO$8jr&CILCaD)PRH`Og zf}%~eh#dy)G#`Sy9kGbT7PXBX7kS$6RL4Y@(IbYAi=AajA?R?^p)UIEUcNd#f;^SU zBVH9;7kw3bzuF-NDu05N17Ry{uZcAv+d#E5p*omQc_vgR6RL{|wUY_e&4k*;gxbx7 z>S03lGNJmIQ2k7(0VdQS6RN<38e&4-!Gzk=1{JRfXyJja;PwOR_VzYi{&#T22#7?2+)KwtE5V@&_K?YFT3eB; z=fKyAosNiW!@gEtMJ#4LhpB}?F8&6Ji8>{Je$1UPl^DYdc<~J2@e*$hekElPAh%!S zJa6tR>!Qo})m>tsMhMcbr(fee(@tEzzsm{a?N7MT*Z>WTGnO`7);ubN+9zUlZaAky zrR)Y{B}`YEYVZaA!-qonfe-Pm8-Q@}9^8Rf?m@nFL(cApa6H-=^(8KR%<)nI z3Z&}{@;wF2)bxTMvPq{PGC?+*@}w6(-S#)%5nQ_(WpsH_mmlzNVXe`{O&%hNp?=1bWmF zp>A}%EYG*f@6=ErM^2%;9d!=aH;>Mj(+M5^6(6_*?0Dq^kie-4Fhy=?NVbWM*Zs4G zEZ1yS({&~HAIbjyJi6}fr|S4|B^^H4JkeolDUiQDLaW}Iyy~Mop`(PWB|5w~0VKS3 z6xhhEPtm2WBaIsO7#iJk`IN5C)AZ6>CDxF20mp5~i?z$>b@IbybnH3vz8OpFit+ZN zd{5hYYtqRAiQPe-p-sYv@wH*Aue`aa$=)GPqsBpef7sd=dTK8r1{;BUx86_x0vWCn A2mk;8 diff --git a/Data/Weapons.rxdata b/Data/Weapons.rxdata index d9bd3526099d335d192e97c503f107f02c8aa2ea..c7ea19a7a791e601e24bbc538d8611eb1e1025b0 100644 GIT binary patch literal 245 zcmZ9Hy$-@K41_x%C?Ew8KM%kY0AnU^tcZo7LliXzSu{UNT#3ggRjCkc*4cOWc~n-D zgO|(eYxzqGeUbo!ufehcY|vuH>iedk`T0wC>gfa|j$fO> PR7VOOeKe=vRnGgMAO literal 245 zcmY+9y9&ZU5Jgjn#t5t8;{*HxwVY}?Td}c7u`Jn92D1;c8}Repn21_l=HA1ZQC?2= z4i=a53E)b~JG+GyD$7PicJ?4ya|Qz0M(OJ|q)?z$hISdukt=8AkP0-KZt1>3!?q1F zL={N}ie&~f^bJ?^MyWf0QNG`-v4j6j1ZsMIic?hak=9G3nhYhGp8KPE>{WA2#^Y4f Q6sm@O_eF9Q7-BQfUe5qdLI3~&