Commit 97aa2ec3 authored by nanahira's avatar nanahira

Merge branch 'mc'

parents ae8fdbc9 464164f0
......@@ -167,6 +167,7 @@
"check_permit": "https://api.mycard.moe/ygopro/match/permit",
"post_score": false,
"get_score": false,
"punish_quit_before_match": false,
"init_post": {
"enabled": false,
"url": "https://api.mycard.moe/ygopro/match/clear",
......
......@@ -1531,10 +1531,13 @@ class Room
else
#log.info(client.name, @started, @disconnector, @random_type, @players.length)
if @arena and !@started and @disconnector != 'server' and !@arena_score_handled
for player in @players when player.pos != 7
@scores[player.name_vpass] = 0
if @players.length == 2 and !client.arena_quit_free
if settings.modules.arena_mode.punish_quit_before_match and @players.length == 2 and !client.arena_quit_free
for player in @players when player.pos != 7
@scores[player.name_vpass] = 0
@scores[client.name_vpass] = -9
else
for player in @players when player.pos != 7
@scores[player.name_vpass] = -5
@arena_score_handled = true
index = _.indexOf(@players, client)
@players.splice(index, 1) unless index == -1
......@@ -3811,15 +3814,16 @@ if settings.modules.mycard.enabled
CLIENT_kick(room.waiting_for_player)
else if time_passed >= (settings.modules.random_duel.hang_timeout - 20) and not (time_passed % 10)
ygopro.stoc_send_chat_to_room(room, "#{room.waiting_for_player.name} ${afk_warn_part1}#{settings.modules.random_duel.hang_timeout - time_passed}${afk_warn_part2}", ygopro.constants.COLORS.RED)
for room in ROOM_all when room and room.arena and !room.started and room.get_playing_player().length < 2
player = room.get_playing_player()[0]
if player and player.join_time and !player.arena_quit_free
waited_time = moment() - player.join_time
if waited_time >= 30000
ygopro.stoc_send_chat(player, "${arena_wait_timeout}", ygopro.constants.COLORS.BABYBLUE)
player.arena_quit_free = true
else if waited_time >= 5000 and waited_time < 6000
ygopro.stoc_send_chat(player, "${arena_wait_hint}", ygopro.constants.COLORS.BABYBLUE)
if settings.modules.arena_mode.punish_quit_before_match
for room in ROOM_all when room and room.arena and !room.started and room.get_playing_player().length < 2
player = room.get_playing_player()[0]
if player and player.join_time and !player.arena_quit_free
waited_time = moment() - player.join_time
if waited_time >= 30000
ygopro.stoc_send_chat(player, "${arena_wait_timeout}", ygopro.constants.COLORS.BABYBLUE)
player.arena_quit_free = true
else if waited_time >= 5000 and waited_time < 6000
ygopro.stoc_send_chat(player, "${arena_wait_hint}", ygopro.constants.COLORS.BABYBLUE)
return
, 1000
......
......@@ -1982,7 +1982,7 @@
};
Room.prototype.disconnect = function(client, error) {
var index, left_name, len3, m, player, ref3;
var index, left_name, len3, len4, m, n, player, ref3, ref4;
if (client.had_new_reconnection) {
return;
}
......@@ -1995,15 +1995,23 @@
client.server.destroy();
} else {
if (this.arena && !this.started && this.disconnector !== 'server' && !this.arena_score_handled) {
ref3 = this.players;
for (m = 0, len3 = ref3.length; m < len3; m++) {
player = ref3[m];
if (player.pos !== 7) {
this.scores[player.name_vpass] = 0;
if (settings.modules.arena_mode.punish_quit_before_match && this.players.length === 2 && !client.arena_quit_free) {
ref3 = this.players;
for (m = 0, len3 = ref3.length; m < len3; m++) {
player = ref3[m];
if (player.pos !== 7) {
this.scores[player.name_vpass] = 0;
}
}
}
if (this.players.length === 2 && !client.arena_quit_free) {
this.scores[client.name_vpass] = -9;
} else {
ref4 = this.players;
for (n = 0, len4 = ref4.length; n < len4; n++) {
player = ref4[n];
if (player.pos !== 7) {
this.scores[player.name_vpass] = -5;
}
}
}
this.arena_score_handled = true;
}
......@@ -4940,19 +4948,21 @@
ygopro.stoc_send_chat_to_room(room, room.waiting_for_player.name + " ${afk_warn_part1}" + (settings.modules.random_duel.hang_timeout - time_passed) + "${afk_warn_part2}", ygopro.constants.COLORS.RED);
}
}
for (n = 0, len4 = ROOM_all.length; n < len4; n++) {
room = ROOM_all[n];
if (!(room && room.arena && !room.started && room.get_playing_player().length < 2)) {
continue;
}
player = room.get_playing_player()[0];
if (player && player.join_time && !player.arena_quit_free) {
waited_time = moment() - player.join_time;
if (waited_time >= 30000) {
ygopro.stoc_send_chat(player, "${arena_wait_timeout}", ygopro.constants.COLORS.BABYBLUE);
player.arena_quit_free = true;
} else if (waited_time >= 5000 && waited_time < 6000) {
ygopro.stoc_send_chat(player, "${arena_wait_hint}", ygopro.constants.COLORS.BABYBLUE);
if (settings.modules.arena_mode.punish_quit_before_match) {
for (n = 0, len4 = ROOM_all.length; n < len4; n++) {
room = ROOM_all[n];
if (!(room && room.arena && !room.started && room.get_playing_player().length < 2)) {
continue;
}
player = room.get_playing_player()[0];
if (player && player.join_time && !player.arena_quit_free) {
waited_time = moment() - player.join_time;
if (waited_time >= 30000) {
ygopro.stoc_send_chat(player, "${arena_wait_timeout}", ygopro.constants.COLORS.BABYBLUE);
player.arena_quit_free = true;
} else if (waited_time >= 5000 && waited_time < 6000) {
ygopro.stoc_send_chat(player, "${arena_wait_hint}", ygopro.constants.COLORS.BABYBLUE);
}
}
}
}
......
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