Commit 14c787df authored by nanahira's avatar nanahira

Merge branch 'master' into tcg_random

parents 4844a678 9494c3c6
......@@ -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;
......@@ -2049,7 +2049,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
......@@ -2554,7 +2554,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)->
#欢迎信息
......@@ -2637,7 +2637,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) ->
......@@ -2675,7 +2675,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
......@@ -2998,7 +2998,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)->
......@@ -3013,7 +3013,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]
......@@ -3031,7 +3031,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
......@@ -3042,7 +3042,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]
......@@ -3053,7 +3053,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]
......@@ -3099,10 +3099,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]
......@@ -3114,7 +3114,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]
......@@ -3127,6 +3127,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
......@@ -3141,7 +3142,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
......@@ -3157,7 +3158,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)->
......@@ -3166,14 +3167,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
......@@ -3190,7 +3191,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
......@@ -3207,7 +3208,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()
......@@ -3296,7 +3297,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]
......@@ -3315,7 +3316,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
......@@ -3336,7 +3337,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]
......@@ -3596,7 +3597,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
......@@ -3697,13 +3698,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]
......@@ -3743,7 +3744,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]
......@@ -3762,7 +3763,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]
......@@ -3772,7 +3773,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]
......@@ -3781,7 +3782,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]
......@@ -3807,7 +3808,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]
......@@ -3827,12 +3828,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]
......@@ -3849,7 +3850,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]
......@@ -3897,7 +3898,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]
......@@ -3946,9 +3947,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 ()->
......
......@@ -2674,7 +2674,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
......@@ -2745,7 +2745,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();
......@@ -3343,7 +3343,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];
......@@ -3479,7 +3479,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
......@@ -3525,7 +3525,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)) {
......@@ -3944,7 +3944,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) {
......@@ -3968,7 +3968,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) {
......@@ -3996,7 +3996,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;
......@@ -4009,7 +4009,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)) {
......@@ -4025,7 +4025,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)) {
......@@ -4096,11 +4096,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)) {
......@@ -4118,8 +4118,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;
......@@ -4136,18 +4136,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;
......@@ -4172,7 +4170,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;
......@@ -4200,7 +4198,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") {
......@@ -4211,7 +4209,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;
......@@ -4231,7 +4229,7 @@
}
};
load_tips = global.load_tips = function(callback) {
load_tips = global.load_tips = async function(callback) {
request({
url: settings.modules.tips.get,
json: true
......@@ -4250,7 +4248,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
......@@ -4291,7 +4289,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)) {
......@@ -4407,7 +4405,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) {
......@@ -4434,7 +4432,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;
}
......@@ -4462,7 +4460,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) {
......@@ -4804,7 +4802,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)) {
......@@ -4951,7 +4949,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))) {
......@@ -4960,7 +4958,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) {
......@@ -5017,7 +5015,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) {
......@@ -5045,7 +5043,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) {
......@@ -5060,7 +5058,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) {
......@@ -5074,7 +5072,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;
......@@ -5113,7 +5111,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) {
......@@ -5141,7 +5139,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) {
......@@ -5150,7 +5148,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) {
......@@ -5173,7 +5171,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) {
......@@ -5232,7 +5230,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