Commit 9494c3c6 authored by nanahira's avatar nanahira

Merge branch 'mc'

parents 5b108161 160c8f96
......@@ -27,6 +27,20 @@ class Handler {
class YGOProMessagesHelper {
constructor() {
this.handlers = {
STOC: [{},
{},
{},
{},
{},
],
CTOS: [{},
{},
{},
{},
{},
]
}
this.initDatas();
this.initStructs();
}
......@@ -39,6 +53,7 @@ class YGOProMessagesHelper {
}
initStructs() {
this.structs = {};
for (let name in this.structs_declaration ) {
const declaration = this.structs_declaration [name];
let result = Struct();
......@@ -232,20 +247,4 @@ class YGOProMessagesHelper {
}
YGOProMessagesHelper.prototype.structs = {}
YGOProMessagesHelper.prototype.handlers = {
STOC: [{},
{},
{},
{},
{},
],
CTOS: [{},
{},
{},
{},
{},
]
}
module.exports = YGOProMessagesHelper;
......@@ -1989,7 +1989,7 @@ ygopro.ctos_follow 'PLAYER_INFO', true, (buffer, info, client, server, datas)->
else
#log.info("Not in map", geo.country, client.name, client.ip)
client.lang=settings.modules.i18n.fallback
return false
await return false
ygopro.ctos_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
#log.info info
......@@ -2494,7 +2494,7 @@ ygopro.ctos_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
client.setTimeout(300000) #连接后超时5分钟
client.rid = _.indexOf(ROOM_all, room)
room.connect(client)
return
await return
ygopro.stoc_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
#欢迎信息
......@@ -2577,7 +2577,7 @@ ygopro.stoc_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
watcher.on 'error', (error)->
log.error "watcher error", error
return
return
await return
# 登场台词
load_words = global.load_words = (callback) ->
......@@ -2615,7 +2615,7 @@ load_dialogues = global.load_dialogues = (callback) ->
if callback
callback(error, body)
return
return
await return
load_dialogues_custom = global.load_dialogues_custom = (callback) ->
request
......@@ -2938,7 +2938,7 @@ ygopro.stoc_follow 'GAME_MSG', true, (buffer, info, client, server, datas)->
room.recover_buffers[client.pos].push(buffer)
return true
return false
await return false
#房间管理
ygopro.ctos_follow 'HS_TOOBSERVER', true, (buffer, info, client, server, datas)->
......@@ -2953,7 +2953,7 @@ ygopro.ctos_follow 'HS_TOOBSERVER', true, (buffer, info, client, server, datas)-
if player == client
ygopro.stoc_send_chat(client, "${cannot_to_observer}", ygopro.constants.COLORS.BABYBLUE)
return true
return false
await return false
ygopro.ctos_follow 'HS_KICK', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -2971,7 +2971,7 @@ ygopro.ctos_follow 'HS_KICK', true, (buffer, info, client, server, datas)->
CLIENT_kick(client)
return true
ygopro.stoc_send_chat_to_room(room, "#{player.name} ${kicked_by_player}", ygopro.constants.COLORS.RED)
return false
await return false
ygopro.stoc_follow 'TYPE_CHANGE', true, (buffer, info, client, server, datas)->
selftype = info.type & 0xf
......@@ -2982,7 +2982,7 @@ ygopro.stoc_follow 'TYPE_CHANGE', true, (buffer, info, client, server, datas)->
client.is_host = is_host
client.pos = selftype
#console.log "TYPE_CHANGE to #{client.name}:", info, selftype, is_host
return false
await return false
ygopro.stoc_follow 'HS_PLAYER_ENTER', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -2993,7 +2993,7 @@ ygopro.stoc_follow 'HS_PLAYER_ENTER', true, (buffer, info, client, server, datas
struct._setBuff(buffer)
struct.set("name", "********")
buffer = struct.buffer
return false
await return false
ygopro.stoc_follow 'HS_PLAYER_CHANGE', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3039,10 +3039,10 @@ ygopro.stoc_follow 'HS_PLAYER_CHANGE', false, (buffer, info, client, server, dat
if room.ready_player_count_without_host >= room.max_player - 1
#log.info "all ready"
setTimeout (()-> wait_room_start(ROOM_all[client.rid], settings.modules.random_duel.ready_time);return), 1000
return
await return
ygopro.ctos_follow 'REQUEST_FIELD', true, (buffer, info, client, server, datas)->
return true
await return true
ygopro.stoc_follow 'FIELD_FINISH', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3054,7 +3054,7 @@ ygopro.stoc_follow 'FIELD_FINISH', true, (buffer, info, client, server, datas)->
if client.last_hint_msg
ygopro.stoc_send(client, 'GAME_MSG', client.last_hint_msg)
ygopro.stoc_send(client, 'GAME_MSG', client.last_game_msg)
return true
await return true
ygopro.stoc_follow 'DUEL_END', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3067,6 +3067,7 @@ ygopro.stoc_follow 'DUEL_END', false, (buffer, info, client, server, datas)->
CLIENT_send_replays(player, room)
for player in room.watchers when player
CLIENT_send_replays(player, room)
await return
wait_room_start = (room, time)->
if room and room.duel_stage == ygopro.constants.DUEL_STAGE.BEGIN and room.ready_player_count_without_host >= room.max_player - 1
......@@ -3081,7 +3082,7 @@ wait_room_start = (room, time)->
ROOM_ban_player(player.name, player.ip, "${random_ban_reason_zombie}")
ygopro.stoc_send_chat_to_room(room, "#{player.name} ${kicked_by_system}", ygopro.constants.COLORS.RED)
CLIENT_kick(player)
return
await return
wait_room_start_arena = (room)->
if room and room.duel_stage == ygopro.constants.DUEL_STAGE.BEGIN and room.waiting_for_player
......@@ -3097,7 +3098,7 @@ wait_room_start_arena = (room)->
if room.waiting_for_player_interval
clearInterval room.waiting_for_player_interval
room.waiting_for_player_interval = null
return
await return
#tip
ygopro.stoc_send_random_tip = (client)->
......@@ -3106,14 +3107,14 @@ ygopro.stoc_send_random_tip = (client)->
tip_type = "tips_zh"
if settings.modules.tips.enabled && tips.tips.length && !client.is_local && !client.closed
ygopro.stoc_send_chat(client, "Tip: " + tips[tip_type][Math.floor(Math.random() * tips[tip_type].length)])
return
await return
ygopro.stoc_send_random_tip_to_room = (room)->
if settings.modules.tips.enabled && tips.tips.length
for player in room.players when player and !player.is_local and !player.closed
ygopro.stoc_send_random_tip(player)
for player in room.watchers when player and !player.is_local and !player.closed
ygopro.stoc_send_random_tip(player)
return
await return
load_tips = global.load_tips = (callback)->
request
......@@ -3130,7 +3131,7 @@ load_tips = global.load_tips = (callback)->
if callback
callback(error, body)
return
return
await return
load_tips_zh = global.load_tips_zh = (callback)->
request
......@@ -3147,7 +3148,7 @@ load_tips_zh = global.load_tips_zh = (callback)->
if callback
callback(error, body)
return
return
await return
if settings.modules.tips.enabled and settings.modules.tips.get
load_tips()
......@@ -3231,7 +3232,7 @@ ygopro.stoc_follow 'DUEL_START', false, (buffer, info, client, server, datas)->
#log.info 'DECK POST OK', response.statusCode, client.name, body
return
client.deck_saved = true
return
await return
ygopro.ctos_follow 'SURRENDER', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3250,7 +3251,7 @@ ygopro.ctos_follow 'SURRENDER', true, (buffer, info, client, server, datas)->
ygopro.stoc_send_chat(client, "${surrender_confirm_sent}", ygopro.constants.COLORS.BABYBLUE)
sur_player.surrend_confirm = true
return true
return false
await return false
report_to_big_brother = global.report_to_big_brother = (roomname, sender, ip, level, content, match) ->
return unless settings.modules.big_brother.enabled
......@@ -3271,7 +3272,7 @@ report_to_big_brother = global.report_to_big_brother = (roomname, sender, ip, le
#else
#log.info 'BIG BROTHER OK', response.statusCode, roomname, body
return
return
await return
ygopro.ctos_follow 'CHAT', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3531,7 +3532,7 @@ ygopro.ctos_follow 'CHAT', true, (buffer, info, client, server, datas)->
if client.abuse_count>=5
ygopro.stoc_send_chat_to_room(room, "#{client.name} ${chat_banned}", ygopro.constants.COLORS.RED)
ROOM_ban_player(client.name, client.ip, "${random_ban_reason_abuse}")
return cancel
await return cancel
ygopro.ctos_follow 'UPDATE_DECK', true, (buffer, info, client, server, datas)->
if settings.modules.reconnect.enabled and client.pre_reconnecting
......@@ -3632,13 +3633,13 @@ ygopro.ctos_follow 'UPDATE_DECK', true, (buffer, info, client, server, datas)->
else
#log.info("player deck not found: " + client.name)
ygopro.stoc_send_chat(client, "#{client.name}${deck_not_found}", ygopro.constants.COLORS.RED)
return false
await return false
ygopro.ctos_follow 'RESPONSE', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
return unless room and (room.random_type or room.arena)
room.last_active_time = moment()
return
await return
ygopro.stoc_follow 'TIME_LIMIT', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3678,7 +3679,7 @@ ygopro.stoc_follow 'TIME_LIMIT', true, (buffer, info, client, server, datas)->
return unless settings.modules.heartbeat_detection.enabled and room.duel_stage == ygopro.constants.DUEL_STAGE.DUELING and !room.windbot
if check
CLIENT_heartbeat_register(client, false)
return false
await return false
ygopro.ctos_follow 'TIME_CONFIRM', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3697,7 +3698,7 @@ ygopro.ctos_follow 'TIME_CONFIRM', false, (buffer, info, client, server, datas)-
client.heartbeat_protected = false
client.heartbeat_responsed = true
CLIENT_heartbeat_unregister(client)
return
await return
ygopro.ctos_follow 'HAND_RESULT', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3707,7 +3708,7 @@ ygopro.ctos_follow 'HAND_RESULT', false, (buffer, info, client, server, datas)->
if client.pos == 0
room.waiting_for_player = room.waiting_for_player2
room.last_active_time = moment().subtract(settings.modules.random_duel.hang_timeout - 19, 's')
return
await return
ygopro.ctos_follow 'TP_RESULT', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3716,7 +3717,7 @@ ygopro.ctos_follow 'TP_RESULT', false, (buffer, info, client, server, datas)->
# room.selecting_tp = false
return unless room.random_type or room.arena
room.last_active_time = moment()
return
await return
ygopro.stoc_follow 'CHAT', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3742,7 +3743,7 @@ ygopro.stoc_follow 'CHAT', true, (buffer, info, client, server, datas)->
msg: tplayer.name + ": " + info.msg
}
return true
return
await return
ygopro.stoc_follow 'SELECT_HAND', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3762,12 +3763,12 @@ ygopro.stoc_follow 'SELECT_HAND', true, (buffer, info, client, server, datas)->
return true
else
client.selected_preduel = false
return false
await return false
ygopro.stoc_follow 'HAND_RESULT', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
return false unless room
return room.determine_firstgo
await return room.determine_firstgo
ygopro.stoc_follow 'SELECT_TP', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3784,7 +3785,7 @@ ygopro.stoc_follow 'SELECT_TP', true, (buffer, info, client, server, datas)->
else
client.selected_preduel = false
room.selecting_tp = client
return false
await return false
ygopro.stoc_follow 'CHANGE_SIDE', false, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3832,7 +3833,7 @@ ygopro.stoc_follow 'CHANGE_SIDE', false, (buffer, info, client, server, datas)->
else
room.waiting_for_player2 = client
room.last_active_time = moment()
return
await return
ygopro.stoc_follow 'REPLAY', true, (buffer, info, client, server, datas)->
room=ROOM_all[client.rid]
......@@ -3881,9 +3882,9 @@ ygopro.stoc_follow 'REPLAY', true, (buffer, info, client, server, datas)->
)
if settings.modules.cloud_replay.enabled and settings.modules.tournament_mode.enabled and settings.modules.tournament_mode.replay_safe
ygopro.stoc_send_chat(client, "${cloud_replay_delay_part1}R##{room.cloud_replay_id}${cloud_replay_delay_part2}", ygopro.constants.COLORS.BABYBLUE)
return settings.modules.tournament_mode.enabled and settings.modules.tournament_mode.block_replay_to_player or settings.modules.replay_delay and room.hostinfo.mode == 1
await return settings.modules.tournament_mode.enabled and settings.modules.tournament_mode.block_replay_to_player or settings.modules.replay_delay and room.hostinfo.mode == 1
else
return settings.modules.replay_delay and room.hostinfo.mode == 1
await return settings.modules.replay_delay and room.hostinfo.mode == 1
if settings.modules.random_duel.enabled
setInterval ()->
......
......@@ -2614,7 +2614,7 @@
// 功能模块
// return true to cancel a synchronous message
ygopro.ctos_follow('PLAYER_INFO', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('PLAYER_INFO', true, async function(buffer, info, client, server, datas) {
var geo, lang, name, name_full, struct, vpass;
// checkmate use username$password, but here don't
// so remove the password
......@@ -2685,7 +2685,7 @@
return false;
});
ygopro.ctos_follow('JOIN_GAME', false, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('JOIN_GAME', false, async function(buffer, info, client, server, datas) {
var available_logs, check_buffer_indentity, create_room_with_action, len3, len4, len5, len6, line, n, name, o, p, pre_room, q, recover_match, ref4, ref5, ref6, ref7, replay_id, room;
//log.info info
info.pass = info.pass.trim();
......@@ -3283,7 +3283,7 @@
}
});
ygopro.stoc_follow('JOIN_GAME', false, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('JOIN_GAME', false, async function(buffer, info, client, server, datas) {
var len3, len4, len5, line, n, o, p, player, recorder, ref4, ref5, ref6, room, watcher;
//欢迎信息
room = ROOM_all[client.rid];
......@@ -3419,7 +3419,7 @@
load_words();
}
load_dialogues = global.load_dialogues = function(callback) {
load_dialogues = global.load_dialogues = async function(callback) {
request({
url: settings.modules.dialogues.get,
json: true
......@@ -3465,7 +3465,7 @@
load_dialogues_custom();
}
ygopro.stoc_follow('GAME_MSG', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('GAME_MSG', true, async function(buffer, info, client, server, datas) {
var act_pos, card, chain, check, count, cpos, deck_found, found, hint_type, i, id, len10, len11, len3, len4, len5, len6, len7, len8, len9, limbo_found, line, loc, max_loop, msg, n, o, oppo_pos, p, phase, player, playertype, pos, ppos, q, r, r_player, reason, ref10, ref11, ref12, ref13, ref14, ref4, ref5, ref6, ref7, ref8, ref9, room, s, t, trigger_location, val, win_pos, x, y, z;
room = ROOM_all[client.rid];
if (!(room && !client.reconnecting)) {
......@@ -3884,7 +3884,7 @@
});
//房间管理
ygopro.ctos_follow('HS_TOOBSERVER', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('HS_TOOBSERVER', true, async function(buffer, info, client, server, datas) {
var len3, n, player, ref4, room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -3908,7 +3908,7 @@
return false;
});
ygopro.ctos_follow('HS_KICK', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('HS_KICK', true, async function(buffer, info, client, server, datas) {
var len3, n, player, ref4, room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -3936,7 +3936,7 @@
return false;
});
ygopro.stoc_follow('TYPE_CHANGE', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('TYPE_CHANGE', true, async function(buffer, info, client, server, datas) {
var is_host, selftype;
selftype = info.type & 0xf;
is_host = ((info.type >> 4) & 0xf) !== 0;
......@@ -3949,7 +3949,7 @@
return false;
});
ygopro.stoc_follow('HS_PLAYER_ENTER', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('HS_PLAYER_ENTER', true, async function(buffer, info, client, server, datas) {
var pos, room, struct;
room = ROOM_all[client.rid];
if (!(room && settings.modules.hide_name && room.duel_stage === ygopro.constants.DUEL_STAGE.BEGIN)) {
......@@ -3965,7 +3965,7 @@
return false;
});
ygopro.stoc_follow('HS_PLAYER_CHANGE', false, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('HS_PLAYER_CHANGE', false, async function(buffer, info, client, server, datas) {
var is_ready, len3, len4, n, o, p1, p2, player, pos, ref4, ref5, room;
room = ROOM_all[client.rid];
if (!(room && room.max_player && client.is_host)) {
......@@ -4036,11 +4036,11 @@
}
});
ygopro.ctos_follow('REQUEST_FIELD', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('REQUEST_FIELD', true, async function(buffer, info, client, server, datas) {
return true;
});
ygopro.stoc_follow('FIELD_FINISH', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('FIELD_FINISH', true, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!(room && settings.modules.reconnect.enabled)) {
......@@ -4058,8 +4058,8 @@
return true;
});
ygopro.stoc_follow('DUEL_END', false, function(buffer, info, client, server, datas) {
var len3, len4, n, o, player, ref4, ref5, results, room;
ygopro.stoc_follow('DUEL_END', false, async function(buffer, info, client, server, datas) {
var len3, len4, n, o, player, ref4, ref5, room;
room = ROOM_all[client.rid];
if (!(room && settings.modules.replay_delay && room.hostinfo.mode === 1)) {
return;
......@@ -4076,18 +4076,16 @@
}
}
ref5 = room.watchers;
results = [];
for (o = 0, len4 = ref5.length; o < len4; o++) {
player = ref5[o];
if (player) {
results.push(CLIENT_send_replays(player, room));
CLIENT_send_replays(player, room);
}
}
return results;
}
});
wait_room_start = function(room, time) {
wait_room_start = async function(room, time) {
var len3, n, player, ref4;
if (room && room.duel_stage === ygopro.constants.DUEL_STAGE.BEGIN && room.ready_player_count_without_host >= room.max_player - 1) {
time -= 1;
......@@ -4112,7 +4110,7 @@
}
};
wait_room_start_arena = function(room) {
wait_room_start_arena = async function(room) {
var display_name, len3, n, player, ref4;
if (room && room.duel_stage === ygopro.constants.DUEL_STAGE.BEGIN && room.waiting_for_player) {
room.waiting_for_player_time = room.waiting_for_player_time - 1;
......@@ -4140,7 +4138,7 @@
};
//tip
ygopro.stoc_send_random_tip = function(client) {
ygopro.stoc_send_random_tip = async function(client) {
var tip_type;
tip_type = "tips";
if (settings.modules.tips.split_zh && tips.tips_zh.length && client.lang === "zh-cn") {
......@@ -4151,7 +4149,7 @@
}
};
ygopro.stoc_send_random_tip_to_room = function(room) {
ygopro.stoc_send_random_tip_to_room = async function(room) {
var len3, len4, n, o, player, ref4, ref5;
if (settings.modules.tips.enabled && tips.tips.length) {
ref4 = room.players;
......@@ -4171,7 +4169,7 @@
}
};
load_tips = global.load_tips = function(callback) {
load_tips = global.load_tips = async function(callback) {
request({
url: settings.modules.tips.get,
json: true
......@@ -4190,7 +4188,7 @@
});
};
load_tips_zh = global.load_tips_zh = function(callback) {
load_tips_zh = global.load_tips_zh = async function(callback) {
request({
url: settings.modules.tips.get_zh,
json: true
......@@ -4231,7 +4229,7 @@
}, 30000);
}
ygopro.stoc_follow('DUEL_START', false, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('DUEL_START', false, async function(buffer, info, client, server, datas) {
var deck_arena, deck_name, deck_text, len3, len4, n, o, player, ref4, ref5, room;
room = ROOM_all[client.rid];
if (!(room && !client.reconnecting)) {
......@@ -4341,7 +4339,7 @@
}
});
ygopro.ctos_follow('SURRENDER', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('SURRENDER', true, async function(buffer, info, client, server, datas) {
var room, sur_player;
room = ROOM_all[client.rid];
if (!room) {
......@@ -4368,7 +4366,7 @@
return false;
});
report_to_big_brother = global.report_to_big_brother = function(roomname, sender, ip, level, content, match) {
report_to_big_brother = global.report_to_big_brother = async function(roomname, sender, ip, level, content, match) {
if (!settings.modules.big_brother.enabled) {
return;
}
......@@ -4396,7 +4394,7 @@
//else
//log.info 'BIG BROTHER OK', response.statusCode, roomname, body
ygopro.ctos_follow('CHAT', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('CHAT', true, async function(buffer, info, client, server, datas) {
var buy_result, cancel, ccolor, cip, cmd, cmsg, cname, code, color, cvalue, key, msg, name, oldmsg, ref4, room, struct, sur_player, uname, windbot, word;
room = ROOM_all[client.rid];
if (!room) {
......@@ -4738,7 +4736,7 @@
return cancel;
});
ygopro.ctos_follow('UPDATE_DECK', true, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('UPDATE_DECK', true, async function(buffer, info, client, server, datas) {
var buff_main, buff_side, card, current_deck, deck, deck_array, deck_main, deck_side, deck_text, deckbuf, decks, found_deck, i, len3, len4, line, n, o, oppo_pos, recover_player_data, room, struct, win_pos;
if (settings.modules.reconnect.enabled && client.pre_reconnecting) {
if (!CLIENT_is_able_to_reconnect(client) && !CLIENT_is_able_to_kick_reconnect(client)) {
......@@ -4885,7 +4883,7 @@
return false;
});
ygopro.ctos_follow('RESPONSE', false, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('RESPONSE', false, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!(room && (room.random_type || room.arena))) {
......@@ -4894,7 +4892,7 @@
room.last_active_time = moment();
});
ygopro.stoc_follow('TIME_LIMIT', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('TIME_LIMIT', true, async function(buffer, info, client, server, datas) {
var check, cur_players, room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -4951,7 +4949,7 @@
return false;
});
ygopro.ctos_follow('TIME_CONFIRM', false, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('TIME_CONFIRM', false, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -4979,7 +4977,7 @@
}
});
ygopro.ctos_follow('HAND_RESULT', false, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('HAND_RESULT', false, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -4994,7 +4992,7 @@
}
});
ygopro.ctos_follow('TP_RESULT', false, function(buffer, info, client, server, datas) {
ygopro.ctos_follow('TP_RESULT', false, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -5008,7 +5006,7 @@
room.last_active_time = moment();
});
ygopro.stoc_follow('CHAT', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('CHAT', true, async function(buffer, info, client, server, datas) {
var len3, n, pid, player, ref4, room, tcolor, tplayer;
room = ROOM_all[client.rid];
pid = info.player;
......@@ -5047,7 +5045,7 @@
}
});
ygopro.stoc_follow('SELECT_HAND', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('SELECT_HAND', true, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -5075,7 +5073,7 @@
return false;
});
ygopro.stoc_follow('HAND_RESULT', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('HAND_RESULT', true, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -5084,7 +5082,7 @@
return room.determine_firstgo;
});
ygopro.stoc_follow('SELECT_TP', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('SELECT_TP', true, async function(buffer, info, client, server, datas) {
var room;
room = ROOM_all[client.rid];
if (!room) {
......@@ -5107,7 +5105,7 @@
return false;
});
ygopro.stoc_follow('CHANGE_SIDE', false, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('CHANGE_SIDE', false, async function(buffer, info, client, server, datas) {
var room, room_name, sinterval, temp_log;
room = ROOM_all[client.rid];
if (!room) {
......@@ -5166,7 +5164,7 @@
}
});
ygopro.stoc_follow('REPLAY', true, function(buffer, info, client, server, datas) {
ygopro.stoc_follow('REPLAY', true, async function(buffer, info, client, server, datas) {
var duellog, dueltime, i, len3, len4, n, o, player, ref4, ref5, replay_filename, room;
room = ROOM_all[client.rid];
if (!room) {
......
......@@ -18,7 +18,7 @@ YGOProMessageHelper = require("./YGOProMessages.js") # 为 SRVPro2 准备的库
translateHandler = (handler) ->
return (buffer, info, datas, params)->
await return handler(buffer, info, params.client, params.server, datas)
await return await handler(buffer, info, params.client, params.server, datas)
@stoc_follow = (proto, synchronous, callback)->
@helper.addHandler("STOC_#{proto}", translateHandler(callback), synchronous, 1)
......
......@@ -30,7 +30,7 @@
translateHandler = function(handler) {
return async function(buffer, info, datas, params) {
return handler(buffer, info, params.client, params.server, datas);
return (await handler(buffer, info, params.client, params.server, datas));
};
};
......
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