################################################################################ # "Lottery" mini-game # By Maruno ################################################################################ def pbSetLotteryNumber(variable=1) t = pbGetTimeNow hash = t.day + (t.month << 5) + (t.year << 9) srand(hash) # seed RNG with fixed value depending on date lottery = rand(65536) # get a number srand # reseed RNG pbSet(variable,sprintf("%05d",lottery)) end def pbLottery(winnum,nameVar=2,positionVar=3,matchedVar=4) winnum=winnum.to_i winpoke=nil winpos=0 winmatched=0 for i in $Trainer.party thismatched=0 id=i.owner.public_id for j in 0...5 if (id/(10**j))%10 == (winnum/(10**j))%10 thismatched+=1 else break end end if thismatched>winmatched winpoke=i.name winpos=1 # Party winmatched=thismatched end end pbEachPokemon { |poke,_box| thismatched=0 id=poke.owner.public_id for j in 0...5 if (id/(10**j))%10 == (winnum/(10**j))%10 thismatched+=1 else break end end if thismatched>winmatched winpoke=poke.name winpos=2 # Storage winmatched=thismatched end } $game_variables[nameVar]=winpoke $game_variables[positionVar]=winpos $game_variables[matchedVar]=winmatched end