Skip to content

Instantly share code, notes, and snippets.

@notblizzard
Last active August 29, 2015 14:23
Show Gist options
  • Save notblizzard/5ab1c92cc8b345e3857b to your computer and use it in GitHub Desktop.
Save notblizzard/5ab1c92cc8b345e3857b to your computer and use it in GitHub Desktop.
def switch(team, bot, opponent)
if @player_one
if @data.include? "p1a"
bot = self.get_bot_switch(team)
else
opponent = self.get_opponent_switch.freeze
end
else
if @data.include? "p2a"
bot = self.get_bot_switch(team)
else
opponent = self.get_opponent_switch.freeze
end
end
end
def get_bot_switch(team)
you = {}
you[:name] = @messages[3].split(',')[0].downcase.gsub(/[^A-z0-9]/,'')
you[:type] = POKEDEX[you[:name]]['types'].map(&:downcase)
you[:item] = team.find{|x| x[:name] == you[:name]}[:item]
you[:speed] = POKEDEX[you[:name]]['baseStats']['spe']
you
end
require 'json'
require 'byebug'
require './helpers.rb'
require './battle-helpers.rb'
require './battle-parser.rb'
class Battle
attr_accessor :team, :moves, :bot, :opponent, :tier, :room
include BattleHelpers
def initialize(tier, player_one)
@tier = tier
@team = []
@moves = []
@bot = {}
@opponent = {}
@player_one = player_one
@have_team = false
end
def run(ws, data, room)
handler = BattleParser.new(ws, @bot, @opponent, @tier, data, room)
@player_one = @challenged
message = data.split('|')
case message[1]
when 'request'
@moves = handler.get_moves if message[2].split(':')[0].include? "active"
unless @have_team
@team = handler.get_team(message[2])
@team.freeze
@have_team = true
end
#handler.request(message[2], @room)
when 'win','lose','tie'
#handler.win_lose_tie(room)
when 'faint'
#handler.faint(room, @team)
when 'player'
#handler.player(@moves,@team)
when '-damage'
#handler.damage
when 'turn'
byebug
move = decide(@moves, @bot, @opponent)
handler.mega_or_not(@team, @bot, ws)
when 'switch'
#handler.switch(@team, @bot, @opponent)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment