Try something like
MultipleForms.register(:NAME,{
#THIS HANDLES ALL YOUR LEVEL UP MOVES
"getMoveList"=>proc{|pokemon|
next if pokemon.form==0 # Midday
movelist=[]
case pokemon.form # Midnight, Dusk
when 1 ; movelist=[[0,:COUNTER],[1,:REVERSAL],[1,:TAUNT]...