Commit 7a3fe6f3 authored by nanahira's avatar nanahira

Merge branch 'replay_delay' into replay_delay_koishi

parents 857b8070 63d5bc3c
...@@ -1321,14 +1321,6 @@ class Room ...@@ -1321,14 +1321,6 @@ class Room
challonge_duel_log.scoresCsv = "0-0" challonge_duel_log.scoresCsv = "0-0"
return challonge_duel_log return challonge_duel_log
send_replays: () ->
return false unless settings.modules.replay_delay and @replays.length and @hostinfo.mode == 1
for player in @players
CLIENT_send_replays(player, this)
for player in @watchers
CLIENT_send_replays(player, this)
return true
add_windbot: (botdata)-> add_windbot: (botdata)->
@windbot = botdata @windbot = botdata
request request
...@@ -1473,8 +1465,8 @@ net.createServer (client) -> ...@@ -1473,8 +1465,8 @@ net.createServer (client) ->
return return
unless server.client.closed unless server.client.closed
ygopro.stoc_send_chat(server.client, "${server_closed}", ygopro.constants.COLORS.RED) ygopro.stoc_send_chat(server.client, "${server_closed}", ygopro.constants.COLORS.RED)
if room and settings.modules.replay_delay #if room and settings.modules.replay_delay
room.send_replays() # room.send_replays()
CLIENT_kick(server.client) CLIENT_kick(server.client)
SERVER_clear_disconnect(server) SERVER_clear_disconnect(server)
return return
...@@ -1489,8 +1481,8 @@ net.createServer (client) -> ...@@ -1489,8 +1481,8 @@ net.createServer (client) ->
return return
unless server.client.closed unless server.client.closed
ygopro.stoc_send_chat(server.client, "${server_error}: #{error}", ygopro.constants.COLORS.RED) ygopro.stoc_send_chat(server.client, "${server_error}: #{error}", ygopro.constants.COLORS.RED)
if room and settings.modules.replay_delay #if room and settings.modules.replay_delay
room.send_replays() # room.send_replays()
CLIENT_kick(server.client) CLIENT_kick(server.client)
SERVER_clear_disconnect(server) SERVER_clear_disconnect(server)
return return
...@@ -2702,6 +2694,15 @@ ygopro.stoc_follow 'FIELD_FINISH', true, (buffer, info, client, server)-> ...@@ -2702,6 +2694,15 @@ ygopro.stoc_follow 'FIELD_FINISH', true, (buffer, info, client, server)->
ygopro.stoc_send(client, 'GAME_MSG', client.last_game_msg) ygopro.stoc_send(client, 'GAME_MSG', client.last_game_msg)
return true return true
ygopro.stoc_follow 'DUEL_END', false, (buffer, info, client, server)->
room=ROOM_all[client.rid]
return unless room and settings.modules.replay_delay and room.hostinfo.mode == 1
CLIENT_send_replays(client, room)
if !room.replays_sent_to_watchers
room.replays_sent_to_watchers = true
for player in room.watchers when player
CLIENT_send_replays(player, room)
wait_room_start = (room, time)-> wait_room_start = (room, time)->
unless !room or room.started or room.ready_player_count_without_host < room.max_player - 1 unless !room or room.started or room.ready_player_count_without_host < room.max_player - 1
time -= 1 time -= 1
......
...@@ -1726,24 +1726,6 @@ ...@@ -1726,24 +1726,6 @@
return challonge_duel_log; return challonge_duel_log;
}; };
Room.prototype.send_replays = function() {
var len2, len3, m, n, player, ref3, ref4;
if (!(settings.modules.replay_delay && this.replays.length && this.hostinfo.mode === 1)) {
return false;
}
ref3 = this.players;
for (m = 0, len2 = ref3.length; m < len2; m++) {
player = ref3[m];
CLIENT_send_replays(player, this);
}
ref4 = this.watchers;
for (n = 0, len3 = ref4.length; n < len3; n++) {
player = ref4[n];
CLIENT_send_replays(player, this);
}
return true;
};
Room.prototype.add_windbot = function(botdata) { Room.prototype.add_windbot = function(botdata) {
this.windbot = botdata; this.windbot = botdata;
request({ request({
...@@ -1921,9 +1903,6 @@ ...@@ -1921,9 +1903,6 @@
} }
if (!server.client.closed) { if (!server.client.closed) {
ygopro.stoc_send_chat(server.client, "${server_closed}", ygopro.constants.COLORS.RED); ygopro.stoc_send_chat(server.client, "${server_closed}", ygopro.constants.COLORS.RED);
if (room && settings.modules.replay_delay) {
room.send_replays();
}
CLIENT_kick(server.client); CLIENT_kick(server.client);
SERVER_clear_disconnect(server); SERVER_clear_disconnect(server);
} }
...@@ -1940,9 +1919,6 @@ ...@@ -1940,9 +1919,6 @@
} }
if (!server.client.closed) { if (!server.client.closed) {
ygopro.stoc_send_chat(server.client, "${server_error}: " + error, ygopro.constants.COLORS.RED); ygopro.stoc_send_chat(server.client, "${server_error}: " + error, ygopro.constants.COLORS.RED);
if (room && settings.modules.replay_delay) {
room.send_replays();
}
CLIENT_kick(server.client); CLIENT_kick(server.client);
SERVER_clear_disconnect(server); SERVER_clear_disconnect(server);
} }
...@@ -3415,6 +3391,27 @@ ...@@ -3415,6 +3391,27 @@
return true; return true;
}); });
ygopro.stoc_follow('DUEL_END', false, function(buffer, info, client, server) {
var len2, m, player, ref3, results, room;
room = ROOM_all[client.rid];
if (!(room && settings.modules.replay_delay && room.hostinfo.mode === 1)) {
return;
}
CLIENT_send_replays(client, room);
if (!room.replays_sent_to_watchers) {
room.replays_sent_to_watchers = true;
ref3 = room.watchers;
results = [];
for (m = 0, len2 = ref3.length; m < len2; m++) {
player = ref3[m];
if (player) {
results.push(CLIENT_send_replays(player, room));
}
}
return results;
}
});
wait_room_start = function(room, time) { wait_room_start = function(room, time) {
var len2, m, player, ref3; var len2, m, player, ref3;
if (!(!room || room.started || room.ready_player_count_without_host < room.max_player - 1)) { if (!(!room || room.started || room.ready_player_count_without_host < room.max_player - 1)) {
......
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