Commit fe974547 authored by 神楽坂玲奈's avatar 神楽坂玲奈

iduel观战初步

parent aebd808b
...@@ -95,6 +95,9 @@ class Action ...@@ -95,6 +95,9 @@ class Action
player_field.extra player_field.extra
when :removed when :removed
player_field.removed player_field.removed
else
puts '奇怪的from_field'
puts
end end
if @from_pos.is_a? Integer if @from_pos.is_a? Integer
......
...@@ -2,8 +2,11 @@ module Cacheable ...@@ -2,8 +2,11 @@ module Cacheable
@@all = {} @@all = {}
def new(id, *args) def new(id, *args)
@@all[self] ||= {} @@all[self] ||= {}
@@all[self][id] ||= super() if result = @@all[self][id]
@@all[self][id].set(id, *args) result.set(id, *args)
@@all[self][id] result
else
@@all[self][id] = super(id, *args)
end
end end
end end
\ No newline at end of file
...@@ -8,10 +8,10 @@ class Game ...@@ -8,10 +8,10 @@ class Game
@users = [] @users = []
@rooms = [] @rooms = []
end end
def refresh
end
def login(username, password=nil) def login(username, password=nil)
end end
def refresh
end
def host def host
end end
def join(room) def join(room)
......
...@@ -98,7 +98,10 @@ class Game_Event ...@@ -98,7 +98,10 @@ class Game_Event
$game.room = @room $game.room = @room
end end
end end
class Leave < Game_Event
def initialize
end
end
class PlayerJoin < Game_Event class PlayerJoin < Game_Event
attr_reader :user attr_reader :user
def initialize(user) def initialize(user)
...@@ -114,7 +117,7 @@ class Game_Event ...@@ -114,7 +117,7 @@ class Game_Event
class Action < Game_Event class Action < Game_Event
attr_reader :action, :str attr_reader :action, :str
def initialize(action, str=Action.escape) def initialize(action, str=action.escape)
@action = action @action = action
@str = str @str = str
end end
......
This diff is collapsed.
#encoding: UTF-8 #encoding: UTF-8
Game_Event = Class.new #避开SDL::Event问题,所以没有用class Game_Event::Event
class Game_Event class Game_Event
@queue = []
def self.push(event)
@queue << event
end
def self.poll
@queue.shift
end
def self.parse(info) def self.parse(info)
info =~ /^\$([A-Z])\|(.*)$/m info =~ /^\$([A-Z])\|(.*)$/m
case $1 case $1
when "A" when "A"
Game_Event::Error Error
when "B" when "B"
Game_Event::LOGINOK Login
when "C" when "C"
Game_Event::AllUsers AllUsers
when "F" when "F"
Game_Event::JOINROOMOK Join
when "G" when "G"
Game_Event::WATCHROOMSTART Watch
when "H"
Leave
when "J" when "J"
Game_Event::Action Action
when "K" when "K"
Game_Event::WMSG WatchAction
when "M" when "M"
Game_Event::QROOMOK #TODO QROOMOK #TODO
when "O" when "O"
Game_Event::PCHAT Chat
when "P" when "P"
Game_Event::AllRooms AllRooms
when "Q" when "Q"
Game_Event::NewRoom NewRoom
when "R" when "R"
Game_Event::QROOMOK #卡表 QROOMOK #卡表
else else
Game_Event::UNKNOWN Unknown
end.new($2) end.parse($2)
end end
end
class Game_Event::LOGINOK < Game_Event
attr_reader :user, :session class Login
def initialize(info) def self.parse(info)
info = info.split(",") info = info.split(",")
#>> $B|201629,zh99997,5da9e5fa,Level-1 (总经验:183),,20101118 #>> $B|201629,zh99997,5da9e5fa,Level-1 (总经验:183),,20101118
info[3] =~ /Level-(\d)+ \(总经验:(\d+)\)/ info[3] =~ /Level-(\d)+ \(总经验:(\d+)\)/
$game.user = @user = Iduel::User.new(info[0].to_i, info[1], $1.to_i, $2.to_i) result = self.new User.new(info[0].to_i, info[1], $1.to_i, $2.to_i)
$game.session = @session = info[2] $game.session = info[2]
$game.key = ($game.user.id - 0x186a0) ^ 0x22133 $game.key = ($game.user.id - 0x186a0) ^ 0x22133
result
end end
end end
class Game_Event::AllUsers < Game_Event class AllUsers
attr_reader :users def self.parse(info)
def initialize(info) self.new info.split(',').collect{|user|User.parse(user)}
@users = info.split(',').collect do |user|
Iduel::User.new(user)
end end
end end
end class AllRooms
class Game_Event::AllRooms < Game_Event def self.parse(info)
attr_reader :rooms
def initialize(info)
info = info.split("|") info = info.split("|")
@rooms = [] rooms = []
templist = @rooms templist = rooms
empty = false empty = false
info.each do |room| info.each do |room|
if room == '~~' if room == '~~'
...@@ -74,89 +64,87 @@ class Game_Event::AllRooms < Game_Event ...@@ -74,89 +64,87 @@ class Game_Event::AllRooms < Game_Event
else else
room = room.split(",") room = room.split(",")
templist << if empty templist << if empty
Iduel::Room.new(room[0].to_i, room[1], Iduel::User.new(room[2]), nil, room[3]=="1", Iduel::Color[room[4].to_i], nil, room[6]) Room.new(room[0].to_i, room[1], User.parse(room[2]), nil, room[3]=="1", Room::Color[room[4].to_i], nil, room[6])
else else
Iduel::Room.new(room[0].to_i, room[3], Iduel::User.new(room[1]), Iduel::User.new(room[2]), false, Iduel::Color[room[5].to_i], room[3]) Room.new(room[0].to_i, room[3], User.parse(room[1]), User.parse(room[2]), false, Room::Color[room[5].to_i], room[3])
end end
end end
end end
@rooms = templist + @rooms rooms = templist + rooms
$game.rooms = @rooms self.new rooms
end end
end
class Game_Event::NOL < Game_Event
def initialize(info)
super
@args = @args.collect do |user|
Iduel::User.new(user)
end end
class NewUser
def self.parse(info)
p info
#super
#@args = @args.collect do |user|
# User.new(user)
#end
end end
end end
class Game_Event::DOL < Game_Event class MissingUser
def initialize(info) def self.parse(info)
super p info
@args = @args.collect do |user| #super
Iduel::User.new(user) #@args = @args.collect do |user|
# User.new(user)
#end
end end
end end
end
class Game_Event::PCHAT < Game_Event class Join
attr_reader :user, :content def self.parse(info)
def initialize(info) self.new Room.new(info.to_i)
user, @content = info.split(",", 2)
@user = user == "System" ? Iduel::User.new(100000, "iDuel管理中心") : Iduel::User.new(user)
end end
end
class Game_Event::JOINROOMOK < Game_Event
attr_reader :room
def initialize(id)
@room = Iduel::Room.new(id)
end end
end class Leave
class Game_Event::QROOMOK < Game_Event def self.parse(info)
end self.new
class Game_Event::NewRoom < Game_Event end
def initialize(info) end
class NewRoom
def self.parse(info)
id, x, player1, player2 = info.split(",", 4) id, x, player1, player2 = info.split(",", 4)
@room = Iduel::Room.new(id) room = Room.new(id)
@room.player1 = Iduel::User.new(player1) room.player1 = User.parse(player1)
@room.player2 = Iduel::User.new(player2) room.player2 = User.parse(player2)
$game.rooms << @room unless $game.rooms.include? @room self.new room
end end
end end
#"Q" #"Q"
#"273,1,zh99998(201448),zh99997(201629)" #"273,1,zh99998(201448),zh99997(201629)"
class Game_Event::WATCHROOMSTART < Game_Event class Watch
attr_reader :room attr_reader :room
def initialize(info) def self.parse(info)
id, name = info.split(",", 1) id, name = info.split(",", 2)
@room = Iduel::Room.new(id.to_i, name, '', '', false, Iduel::Color[0])#:name, :player1, :player2, :crypted, :color self.new Room.new(id.to_i, name)
end end
end end
class Game_Event::Action < Game_Event class Action
attr_reader :action attr_reader :action
def initialize(info) def self.parse(info)
info["◎"] = "●" if info =~ /^\[\d+\] (?:.*\r\n){0,1}(◎)→.*▊▊▊.*$/ info =~ /(.*)▊▊▊.*?$/
@action = ::Action.parse info info = $1
p @action info["◎"] = "●" if info["◎"]
self.new ::Action.parse info
end end
end
class Game_Event::WMSG < Game_Event
def initialize(info)
#black_st(212671), [109] ┊墓地,苍岩┊
#p info
#p $1, $2
info =~ /(.+)\((\d+)\), \[(\d+)\] (.*)/m #cchenwor(211650), [27] ◎→<[效果怪兽][盟军·次世代鸟人] 1400 400>攻击8
@args = [$1, $2, $3, $4]
end end
end class Leave
class Game_Event::WATCHSTOP < Game_Event end
end class Chat
class Game_Event::Error < Game_Event attr_reader :user, :content
alias old_initialize initialize
def self.parse(info)
user, content = info.split(",", 2)
user = user == "System" ? User.new(100000, "iDuel管理中心") : User.parse(user)
self.new(user, content, :hall)
end
end
class Error
attr_reader :title, :message attr_reader :title, :message
def initialize(info) def self.parse(info)
@title, @message = case info.to_i title, message = case info.to_i
when 0x00 when 0x00
["网络错误", "网络连接中断"] ["网络错误", "网络连接中断"]
when 0x65 when 0x65
...@@ -190,17 +178,32 @@ class Game_Event::Error < Game_Event ...@@ -190,17 +178,32 @@ class Game_Event::Error < Game_Event
when 0x135 when 0x135
["错误", "请求的房间无效"] ["错误", "请求的房间无效"]
end end
#Exception.new(@message).raise self.new title, message
p caller
p @title
p @message
#system("pause")
end end
end end
class Game_Event::UNKNOWN < Game_Event class Unknown
def initialize(*args) def self.parse(*args)
puts '--------UnKnown Iduel Event-------' puts '--------Unknown Iduel Event-------'
p $1, $2, args p $1, $2, args
system("pause") end
end
#以下iduel专有
class WatchAction < Action
attr_reader :user
def initialize(action, str, user)
@user = user
super(action, str)
@action.from_player = @user == $game.room.player1
end
def self.parse(info)
info =~ /(.+)\((\d+)\), (.*)/m
self.new ::Action.parse($3), $3, User.new($2.to_i, $1)
end
end
class QROOMOK < Game_Event
end end
end end
\ No newline at end of file
...@@ -5,81 +5,83 @@ class Iduel < Game ...@@ -5,81 +5,83 @@ class Iduel < Game
Port = 38522 Port = 38522
RS = "\xA1\xE9".force_encoding "GBK" RS = "\xA1\xE9".force_encoding "GBK"
Color = [[0,0,0], [255,0,0], [0,255,0], [0,0,255], [255, 165, 0]]
attr_accessor :session attr_accessor :session
attr_accessor :key attr_accessor :key
def initialize def initialize
super
require 'socket' require 'socket'
require 'digest/md5' require 'digest/md5'
require 'open-uri' require 'open-uri'
require_relative 'action' require_relative 'action'
require_relative 'event' require_relative 'event'
require_relative 'user' require_relative 'user'
require_relative 'room'
@conn = TCPSocket.open(Server, Port) @conn = TCPSocket.open(Server, Port)
@conn.set_encoding "GBK" @conn.set_encoding "GBK"
Thread.abort_on_exception = true Thread.abort_on_exception = true
@recv = Thread.new { recv @conn.gets(RS) while @conn } @recv = Thread.new { recv @conn.gets(RS) while @conn }
end end
def login(username, password)
md5 = Digest::MD5.hexdigest(password)
send(0, username, md5, checknum("LOGINMSG", username, md5), VERSION)
end
def refresh
send(1, @key, checknum("UPINFOMSG", @session))
end
def host(name, password="", lv=0, color = 0)
send(6, @key, name, password, checknum("JOINROOMMSG", @session + name + password + "0"), 0, color, lv, 0, nil, nil) #TODO:v.ak, v.al
end
def join(room, password="")
send(6, @key, room.id, password, checknum("JOINROOMMSG", @session + room.id.to_s + password + "1"),1)
end
def watch(room, password="")
send(5, @key, room.id, password, checknum("WATCHROOMMSG", "#{@session}#{room.id}#{password}"))
end
def leave
if @room.include? @user
#
else
send("QUITWATCHROOM", @key, checknum("QUITWATCHROOM", @session))
end
end
def action(action)
send(2, "#{checknum("RMSG", @session)}@#{@key}", "#{action.escape}▊▊▊000000") if @room.include? @user#TODO:iduel校验字串
end
def exit
send(11, @key, checknum("ULO", "#{@session}"))
@recv.exit
@conn.close
@conn = nil
end
def send(head, *args) def send(head, *args)
info = "##{head.to_s(16).upcase}|#{args.join(',')}".encode("GBK") + RS info = "##{head.to_s(16).upcase}|#{args.join(',')}".encode("GBK") + RS
puts "<< #{info}" puts "<< #{info}"
(@conn.write info) rescue Event.push Event::Error.new(0) (@conn.write info) rescue Game_Event.push Game_Event::Error.new(0)
end end
def recv(info) def recv(info)
if info.nil? if info.nil?
@conn.close @conn.close
@conn = nil @conn = nil
Event::Error.new(0) Game_Event::Error.new(0)
else else
info.chomp!(RS) info.chomp!(RS)
info.encode! "UTF-8", :invalid => :replace, :undef => :replace info.encode! "UTF-8", :invalid => :replace, :undef => :replace
puts ">> #{info}" puts ">> #{info}"
Event.push Event.parse info Game_Event.push Game_Event.parse info
end end
end end
def close
$game.quit
@recv.exit
@conn.close
@conn = nil
end
def checknum(head, *args) def checknum(head, *args)
Digest::MD5.hexdigest("[#{head}]_#{args.join('_')}_SCNERO") Digest::MD5.hexdigest("[#{head}]_#{args.join('_')}_SCNERO")
end end
def login(username, password)
md5 = Digest::MD5.hexdigest(password)
send(0, username, md5, checknum("LOGINMSG", username, md5), VERSION)
end
def refresh
send(1, @key, checknum("UPINFOMSG", @session))
end
def join(room, password="")
send(6, @key, room.id, password, checknum("JOINROOMMSG", @session + room.id.to_s + password + "1"),1)
end
def qroom(room) def qroom(room)
send(10, @key, room.id, checknum("QROOM", @session + room.id.to_s)) send(10, @key, room.id, checknum("QROOM", @session + room.id.to_s))
end end
def action(action)
send(2, "#{checknum("RMSG", @session)}@#{@key}", "#{action.escape}▊▊▊000000") #TODO:iduel校验字串
end
def host(name, password="", lv=0, color = 0)
send(6, @key, name, password, checknum("JOINROOMMSG", @session + name + password + "0"), 0, color, lv, 0, nil, nil) #TODO:v.ak, v.al
end
def watch(room, password="")
send(5, @key, room.id, password, checknum("WATCHROOMMSG", "#{@session}#{room.id}#{password}"))
end
def chat(msg) def chat(msg)
send(4, @key, msg, checknum("CHATP", @session)) send(4, @key, msg, checknum("CHATP", @session))
#4|241019,test,2368c6b89b3e2eedb92e1b624a2a157c #4|241019,test,2368c6b89b3e2eedb92e1b624a2a157c
end end
def quitwatchroom
send("QUITWATCHROOM", @key, checknum("QUITWATCHROOM", @session))
end
def quit
send(11, @key, checknum("ULO", "#{@session}"))
end
end end
\ No newline at end of file
class Iduel::Room
@@all = []
attr_accessor :id, :name, :player1, :player2, :private, :color
class << self
alias old_new new
def new(id, *args)
id = id.to_i
room = @@all.find{|room| room.id == id }
if room
room
else
room = old_new(id, *args)
@@all << room
room
end
end
end
def initialize(id, name, player1, player2, private, color, session = nil, forbid = nil)
@id =id
@name = name
@player1 = player1
@player2 = player2
@private = private
@color = color
@forbid = forbid
@session = session
end
alias full? player2
alias private? private
end
\ No newline at end of file
class Iduel::User class User
@@all = [] attr_accessor :level, :exp
attr_accessor :id, :name, :level, :exp def self.parse(info)
class << self info =~ /(.+)\((\d+)\)/
alias old_new new new $2.to_i, $1
def new(id, name = "", level = nil, exp = nil)
if id.is_a? String and id =~ /(.*)\((\d+)\)/
id = $2.to_i
name=$1
else
id = id.to_i
end
user = @@all.find{|user| user.id == id }
if user
user.name = name if name
user.level = level if level
user.exp = exp if exp
user
else
user = old_new(id, name, level, exp)
@@all << user
user
end
end
end end
def initialize(id, name = "", level = nil, exp = nil) def initialize(id, name = "", level = nil, exp = nil)
@id = id @id = id
@name = name @name = name
@level = level @level = level
@exp = exp @exp = exp
#@status = :waiting end
#@room = nil def set(id, name = :keep, level = :keep, exp = :keep)
@id = id unless id == :keep
@name = name unless name == :keep
@level = level unless level == :keep
@exp = exp unless exp == :keep
end end
def avatar(size = :small) def avatar(size = :small)
cache = "graphics/avatars/#{@id}_#{size}.png" cache = "graphics/avatars/#{@id}_#{size}.png"
...@@ -57,6 +42,6 @@ class Iduel::User ...@@ -57,6 +42,6 @@ class Iduel::User
result result
end end
def room def room
$game.rooms.find{|room|room.player1 == self or room.player2 == self} $game.rooms.find{|room|room.include? self}
end end
end end
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
class Game_Event class Game_Event
def self.parse(info, host=nil) def self.parse(info, host=nil)
result = (if host #来自大厅的udp消息 if host #来自大厅的udp消息
info =~ /^(\w*)\|(.*)$/m info =~ /^(\w*)\|(.*)$/m
case $1 case $1
when "NewUser" when "NewUser"
...@@ -31,9 +31,7 @@ class Game_Event ...@@ -31,9 +31,7 @@ class Game_Event
else else
Error Error
end.parse($1) end.parse($1)
end) end
p info, result
result
end end
...@@ -79,6 +77,8 @@ class Game_Event ...@@ -79,6 +77,8 @@ class Game_Event
self.new ::Action.parse(info), info self.new ::Action.parse(info), info
end end
end end
#以下NBX专有
class VerInf class VerInf
def self.parse(info) def self.parse(info)
......
...@@ -10,8 +10,6 @@ class NBX < Game ...@@ -10,8 +10,6 @@ class NBX < Game
require 'open-uri' require 'open-uri'
require_relative 'action' require_relative 'action'
require_relative 'event' require_relative 'event'
require_relative 'user'
require_relative 'room'
@conn_hall = UDPSocket.new @conn_hall = UDPSocket.new
@conn_hall.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true) @conn_hall.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
......
#class NBX::Room < Room
#end
\ No newline at end of file
#class NBX::User < User
#end
\ No newline at end of file
class Room class Room
Color = [[0,0,0], [255,0,0], [0,255,0], [0,0,255], [255, 165, 0]]
extend Cacheable extend Cacheable
attr_accessor :id, :name, :player1, :player2, :private, :color, :forbid attr_accessor :id, :name, :player1, :player2, :private, :color, :forbid
def set(id, name, player1, player2=nil, private=false, color=[0,0,0], forbid = nil) def initialize(id, name="", player1=nil, player2=nil, private=false, color=[0,0,0], session = nil, forbid = nil)
@id = id @id = id
@name = name @name = name
@player1 = player1 @player1 = player1
@player2 = player2 @player2 = player2
@private = private @private = private
@color = color @color = color
@session = session
@forbid = forbid @forbid = forbid
end end
def set(id=:keep, name=:keep, player1=:keep, player2=:keep, private=:keep, color=:keep, session = nil, forbid=:keep)
@id = id unless id == :keep
@name = name unless name == :keep
@player1 = player1 unless player1 == :keep
@player2 = player2 unless player2 == :keep
@private = private unless private == :keep
@color = color unless color == :keep
@session = session unless session == :keep
@forbid = forbid unless forbid == :keep
end
def include?(user)
@player1 == user or @player2 == user
end
alias full? player2 alias full? player2
alias private? private alias private? private
end end
\ No newline at end of file
...@@ -21,9 +21,10 @@ class Scene_Duel < Scene ...@@ -21,9 +21,10 @@ class Scene_Duel < Scene
attr_reader :player_field_window attr_reader :player_field_window
attr_reader :opponent_field_window attr_reader :opponent_field_window
attr_reader :fieldback_window attr_reader :fieldback_window
def initialize(room) def initialize(room, deck=nil)
super() super()
@room = room @room = room
@deck = deck
end end
def start def start
$game.refresh if $game $game.refresh if $game
...@@ -37,7 +38,7 @@ class Scene_Duel < Scene ...@@ -37,7 +38,7 @@ class Scene_Duel < Scene
@phases_window = Window_Phases.new(124, 357) @phases_window = Window_Phases.new(124, 357)
@turn_player = true @turn_player = true
$game.player_field = Game_Field.new Deck.load("test1.TXT") $game.player_field = Game_Field.new @deck
$game.opponent_field = Game_Field.new $game.opponent_field = Game_Field.new
@fieldback_window = Window_FieldBack.new(130,174) @fieldback_window = Window_FieldBack.new(130,174)
...@@ -135,6 +136,8 @@ class Scene_Duel < Scene ...@@ -135,6 +136,8 @@ class Scene_Duel < Scene
@opponent_field_window.refresh @opponent_field_window.refresh
when Game_Event::Error when Game_Event::Error
Widget_Msgbox.new(event.title, event.message){$scene = Scene_Title.new} Widget_Msgbox.new(event.title, event.message){$scene = Scene_Title.new}
when Game_Event::Leave
$scene = Scene_Hall.new
end end
end end
def update def update
......
...@@ -80,7 +80,7 @@ class Scene_Hall < Scene ...@@ -80,7 +80,7 @@ class Scene_Hall < Scene
@roomlist.list = $game.rooms @roomlist.list = $game.rooms
when Game_Event::Join when Game_Event::Join
require_relative 'scene_duel' require_relative 'scene_duel'
$scene = Scene_Duel.new(event.room) $scene = Scene_Duel.new(event.room, Deck.load("test1.TXT"))
when Game_Event::Watch when Game_Event::Watch
require_relative 'scene_watch' require_relative 'scene_watch'
$scene = Scene_Watch.new(event.room) $scene = Scene_Watch.new(event.room)
......
...@@ -16,24 +16,25 @@ class Scene_Login < Scene ...@@ -16,24 +16,25 @@ class Scene_Login < Scene
end end
end end
def login def login
@font.draw_blended_utf8($screen, Vocab_Logging, 0,0,255,0,255) @font.draw_blended_utf8($screen, Vocab_Logging, 0,0,255,0,255)
$screen.update_rect(0,0,100,24)
$game = Iduel.new $game = Iduel.new
$game.login(@username, @password) $game.login(@username, @password)
end end
def update def update
while event = Event.poll while event = Game_Event.poll
handle_game(event)
end
super
end
def handle(event)
case event case event
when Event::Quit when Event::Quit
$scene = nil $scene = nil
end end
end end
def handle_game(event)
while event = Game_Event.poll
case event case event
when Game_Event::LOGINOK when Game_Event::Login
require_relative 'scene_hall' require_relative 'scene_hall'
$scene = Scene_Hall.new $scene = Scene_Hall.new
when Game_Event::Error when Game_Event::Error
...@@ -42,5 +43,5 @@ class Scene_Login < Scene ...@@ -42,5 +43,5 @@ class Scene_Login < Scene
p event p event
end end
end end
end
end end
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#============================================================================== #==============================================================================
require_relative 'scene_duel' require_relative 'scene_duel'
class Scene_Watch < Scene_Duel class Scene_Watch < Scene_Duel
def action(action)
action.run
end
end end
class User class User
attr_accessor :id, :name attr_accessor :id, :name
extend Cacheable extend Cacheable
def set(id, name = "") def initialize(id, name="")
@id = id @id = id
@name = name if name @name = name
end
def set(id, name = :keep)
@id = id
@name = name unless name == :keep
end end
def avatar(size = :small) def avatar(size = :small)
Surface.new(SWSURFACE, 1, 1, 32, 0,0,0,0) Surface.new(SWSURFACE, 1, 1, 32, 0,0,0,0)
......
...@@ -25,7 +25,6 @@ class Window_Action < Window_List ...@@ -25,7 +25,6 @@ class Window_Action < Window_List
@list_available = list.values @list_available = list.values
@height = @viewport[3] = @list.size*WLH+15*2 @height = @viewport[3] = @list.size*WLH+15*2
@item_max = @list.size @item_max = @list.size
p list
@index = @list_available.find_index(true) || 0 @index = @list_available.find_index(true) || 0
refresh refresh
@visible = true @visible = true
......
...@@ -78,7 +78,6 @@ class Window_Field < Window ...@@ -78,7 +78,6 @@ class Window_Field < Window
Surface.transform_draw(@cards[index].image_small, @contents, 90, 1, 1, 0, 0, @items[index][0]+Card_Size[1], @items[index][1],Surface::TRANSFORM_SAFE) Surface.transform_draw(@cards[index].image_small, @contents, 90, 1, 1, 0, 0, @items[index][0]+Card_Size[1], @items[index][1],Surface::TRANSFORM_SAFE)
@contents.put(@border_horizontal, @items[index][0]-1, @items[index][1]-1) if status == 1 @contents.put(@border_horizontal, @items[index][0]-1, @items[index][1]-1) if status == 1
else else
p index, @cards[index]
@contents.put(@cards[index].image_small, @items[index][0], @items[index][1]) @contents.put(@cards[index].image_small, @items[index][0], @items[index][1])
@contents.put(@border, @items[index][0]-1, @items[index][1]-1) if status == 1 @contents.put(@border, @items[index][0]-1, @items[index][1]-1) if status == 1
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment