Commit 35acf8cd authored by nanahira's avatar nanahira

xl

parent 46bdd961
Pipeline #38157 failed with stages
in 6 minutes and 42 seconds
......@@ -2150,7 +2150,7 @@ netRequestHandler = (client) ->
if client.is_post_watcher
room=ROOM_all[client.rid]
if room
handle_data = await ygopro.helper.handleBuffer(ctos_buffer, "CTOS", ["CHAT"], {
handle_data = await ygopro.helper.handleBuffer(ctos_buffer, "CTOS", ["CHAT"], {UPDATE_DECK
client: client,
server: client.server
})
......@@ -3699,6 +3699,29 @@ ygopro.ctos_follow 'UPDATE_DECK', true, (buffer, info, client, server, datas)->
else
return deck_bad("${deck_incorrect_reconnect}")
else if room.duel_stage == ygopro.constants.DUEL_STAGE.BEGIN
xl_min = 15
xl_cards = new Set [
101302017,
101302016,
101302015,
101302014,
101302013,
101302012,
5318639,
101302061,
101302062,
101302063,
101302076,
]
all_deck_cards = buff_main.concat(buff_side)
xl_count = 0
for code in all_deck_cards
if xl_cards.has(code)
xl_count += 1
if xl_count >= xl_min
break
if xl_count < xl_min
return deck_bad("绚岚相关卡片数量不足 (至少 #{xl_min} 张,当前 #{xl_count} 张),请检查卡组。")
if room.arena and settings.modules.athletic_check.enabled and settings.modules.athletic_check.banCount
athleticCheckResult = await athleticChecker.checkAthletic({main: buff_main, side: buff_side})
if athleticCheckResult.success
......
......@@ -2872,6 +2872,7 @@
room = ROOM_all[client.rid];
if (room) {
handle_data = (await ygopro.helper.handleBuffer(ctos_buffer, "CTOS", ["CHAT"], {
UPDATE_DECK,
client: client,
server: client.server
}));
......@@ -4851,7 +4852,7 @@
});
ygopro.ctos_follow('UPDATE_DECK', true, async function(buffer, info, client, server, datas) {
var athleticCheckResult, buff_main, buff_side, card, current_deck, deck, deck_array, deck_bad, deck_main, deck_ok, deck_side, deck_text, deckbuf_from_challonge, decks, found_deck, i, j, l, len, len1, line, oppo_pos, recover_player_data, recoveredDeck, room, struct, trim_deckbuf, win_pos;
var all_deck_cards, athleticCheckResult, buff_main, buff_side, card, code, current_deck, deck, deck_array, deck_bad, deck_main, deck_ok, deck_side, deck_text, deckbuf_from_challonge, decks, found_deck, i, j, l, len, len1, len2, line, m, oppo_pos, recover_player_data, recoveredDeck, room, struct, trim_deckbuf, win_pos, xl_cards, xl_count, xl_min;
if (settings.modules.reconnect.enabled && client.pre_reconnecting) {
if (!CLIENT_is_able_to_reconnect(client) && !CLIENT_is_able_to_kick_reconnect(client)) {
ygopro.stoc_send_chat(client, "${reconnect_failed}", ygopro.constants.COLORS.RED);
......@@ -4956,6 +4957,22 @@
return deck_bad("${deck_incorrect_reconnect}");
}
} else if (room.duel_stage === ygopro.constants.DUEL_STAGE.BEGIN) {
xl_min = 15;
xl_cards = new Set([101302017, 101302016, 101302015, 101302014, 101302013, 101302012, 5318639, 101302061, 101302062, 101302063, 101302076]);
all_deck_cards = buff_main.concat(buff_side);
xl_count = 0;
for (j = 0, len = all_deck_cards.length; j < len; j++) {
code = all_deck_cards[j];
if (xl_cards.has(code)) {
xl_count += 1;
if (xl_count >= xl_min) {
break;
}
}
}
if (xl_count < xl_min) {
return deck_bad(`绚岚相关卡片数量不足 (至少 ${xl_min} 张,当前 ${xl_count} 张),请检查卡组。`);
}
if (room.arena && settings.modules.athletic_check.enabled && settings.modules.athletic_check.banCount) {
athleticCheckResult = (await athleticChecker.checkAthletic({
main: buff_main,
......@@ -4990,8 +5007,8 @@
decks = (await fs.promises.readdir(settings.modules.tournament_mode.deck_path));
if (decks.length) {
found_deck = false;
for (j = 0, len = decks.length; j < len; j++) {
deck = decks[j];
for (l = 0, len1 = decks.length; l < len1; l++) {
deck = decks[l];
if (deck_name_match(deck, client.name)) {
found_deck = deck;
}
......@@ -5004,8 +5021,8 @@
deck_main = [];
deck_side = [];
current_deck = deck_main;
for (l = 0, len1 = deck_array.length; l < len1; l++) {
line = deck_array[l];
for (m = 0, len2 = deck_array.length; m < len2; m++) {
line = deck_array[m];
if (line.indexOf("!side") >= 0) {
current_deck = deck_side;
}
......
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