Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PokemonOWSprite
- def initialize(event,index,viewport)
- @event=event
- @event.character_name=""
- @index=index
- pkmn=($PokemonGlobal.daycarePokemon[@index][0] rescue nil) # change this to point to the wild pokemon that you've created.
- @form=(pkmn)? pkmn.form : 0
- if !pkmn
- @event.moveto(0,0)
- end
- setGraphic
- end
- def dispose
- @event=nil
- @index=nil
- @form=0
- @disposed=true
- end
- def disposed?
- @disposed
- end
- def update
- pkmn=($PokemonGlobal.daycarePokemon[@index][0] rescue nil)
- if pkmn && pkmn.form != @form
- setGraphic
- @form = pkmn.form
- end
- end
- def setGraphic
- pkmn=($PokemonGlobal.daycarePokemon[@index][0] rescue nil)
- if pkmn
- @event.character_name=pbPokemonOverworldFile([pkmn.species,false,(pkmn.isFemale?),
- pkmn.isShiny?,(pkmn.form rescue 0),(pkmn.isShadow? rescue false)])
- end
- end
- end
- def pbPokemonOverworldFile(params)
- species = params[0]
- back = params[1]
- factors = []
- factors.push([5,params[5],false]) if params[5] && params[5]!=false # shadow
- factors.push([2,params[2],false]) if params[2] && params[2]!=false # gender
- factors.push([3,params[3],false]) if params[3] && params[3]!=false # shiny
- factors.push([4,params[4].to_s,""]) if params[4] && params[4].to_s!="" &&
- params[4].to_s!="0" # form
- tshadow = false
- tgender = false
- tshiny = false
- tform = ""
- for i in 0...2**factors.length
- for j in 0...factors.length
- case factors[j][0]
- when 2 # gender
- tgender = ((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
- when 3 # shiny
- tshiny = ((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
- when 4 # form
- tform = ((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
- when 5 # shadow
- tshadow = ((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
- end
- end
- bitmapFileName = sprintf("pkmn/%s%s%s%s%s%s",
- getConstantName(PBSpecies,species),
- (tgender) ? "f" : "",
- (tshiny) ? "s" : "",
- (back) ? "b" : "",
- (tform!="") ? "_"+tform : "",
- (tshadow) ? "_shadow" : "") rescue nil
- ret = pbResolveBitmap("Graphics/Characters/"+bitmapFileName)
- return bitmapFileName if ret
- bitmapFileName = sprintf("pkmn/%03d%s%s%s%s%s",
- species,
- (tgender) ? "f" : "",
- (tshiny) ? "s" : "",
- (back) ? "b" : "",
- (tform!="") ? "_"+tform : "",
- (tshadow) ? "_shadow" : "")
- ret = pbResolveBitmap("Graphics/Characters/"+bitmapFileName)
- return bitmapFileName if ret
- end
- return ""
- end
- Events.onSpritesetCreate+=proc{|sender,e|
- spriteset=e[0]
- viewport=e[1]
- map=spriteset.map
- next if map.map_id!=5
- for i in 2..6 # event ids that get the pokemon sprite
- spriteset.addUserSprite(PokemonOWSprite.new(map.events[i],i-2,viewport))
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement