- Pokémon Essentials Version
 - v20.1 ➖
 
Give players a little more freedom to teambuild by letting them Sketch off party members!
Code
Unfortunately, this isn't really suited for a plug-and-play script. Luckily, it's not too much hassle to add.These changes are in UI_Party. If you’re using a script that modifies the party UI, such as Deep_Blue’s BW UI, you’ll need to edit that script instead.
Find:
			
				Ruby:
			
		
		
		          next if !HiddenMoveHandlers.hasHandler(move.id) &&
                  ![:MILKDRINK, :SOFTBOILED].include?(move.id)
	
			
				Ruby:
			
		
		
		          next if !HiddenMoveHandlers.hasHandler(move.id) &&
                  ![:MILKDRINK, :SOFTBOILED,:SKETCH].include?(move.id)
	
			
				Ruby:
			
		
		
		        elsif pbCanUseHiddenMove?(pkmn, move.id)
	Right above that line, paste this:
			
				Ruby:
			
		
		
		        elsif move.id == :SKETCH
          if move.pp <= 0
            pbDisplay(_INTL("Not enough PP..."))
            next
          end
          @scene.pbSetHelpText(_INTL("Sketch from which Pokémon?"))
          old_party_idx = party_idx
          loop do
            @scene.pbPreSelect(old_party_idx)
            party_idx = @scene.pbChoosePokemon(true, party_idx)
            break if party_idx < 0
            newpkmn = @party[party_idx]
            movename = move.name
            if party_idx == old_party_idx
              pbDisplay(_INTL("{1} can't use {2} on itself!", pkmn.name, movename))
            elsif newpkmn.egg?
              pbDisplay(_INTL("{1} can't be used on an Egg!", movename))
            else
              newcommands = []
              newpkmn.moves.each do |move|
                newcommands.push(move.name)
              end
              newcommands.push("Cancel")
              newmove = @scene.pbShowCommands(_INTL("Sketch which of {1}'s moves?", newpkmn.name), newcommands)
              if newmove < (newcommands.length-1) && newmove > -1
                newmove = newpkmn.moves[newmove]
                if pkmn.hasMove?(newmove.id)
                    pbDisplay(_INTL("{1} already knows {2}.", pkmn.name, newmove.name))
                elsif newmove.type == :SHADOW
                    pbDisplay(_INTL("{1} can't be sketched.",newmove.name))
                elsif pbConfirm(_INTL("Sketch {1}?",newmove.name))
                  for i in 0..pkmn.moves.length
                    if pkmn.moves[i].id == :SKETCH
                      pkmn.moves[i] = Pokemon::Move.new(newmove.id)
                      break
                    end
                  end
                  pbRefresh
                  break
                else
                  @scene.pbSetHelpText(_INTL("Sketch from which Pokémon?"))
                end
              else
                @scene.pbSetHelpText(_INTL("Sketch from which Pokémon?"))
              end
            end
          end
          @scene.pbSelect(old_party_idx)
          pbRefresh
	Looking for more field moves?
- Weather-summoning moves
 - Extreme Speed
 - Camouflage
 - Bounce
 - Recovery moves
 - Move Reminder Field Move
 - Future Sight
 
- Credits
 - Credit to TechSkylander1518, please!
 
	