Commit b2c66f0a authored by purerosefallen's avatar purerosefallen

refa hostinfo

parent b658bd0a
...@@ -458,6 +458,7 @@ export class CloudReplayService { ...@@ -458,6 +458,7 @@ export class CloudReplayService {
...hostInfo, ...hostInfo,
mode: mode:
hostInfo.mode > 2 ? (this.isTagMode(hostInfo) ? 2 : 1) : hostInfo.mode, hostInfo.mode > 2 ? (this.isTagMode(hostInfo) ? 2 : 1) : hostInfo.mode,
lflist: 0,
}; };
} }
......
...@@ -10,6 +10,7 @@ import { Client } from '../../client'; ...@@ -10,6 +10,7 @@ import { Client } from '../../client';
import { MAX_ROOM_NAME_LENGTH } from '../../constants/room'; import { MAX_ROOM_NAME_LENGTH } from '../../constants/room';
import { import {
DuelStage, DuelStage,
DefaultHostInfoProvider,
OnRoomFinalize, OnRoomFinalize,
OnRoomJoinPlayer, OnRoomJoinPlayer,
OnRoomLeavePlayer, OnRoomLeavePlayer,
...@@ -98,6 +99,7 @@ export class RandomDuelProvider { ...@@ -98,6 +99,7 @@ export class RandomDuelProvider {
private waitForPlayerProvider = this.ctx.get(() => WaitForPlayerProvider); private waitForPlayerProvider = this.ctx.get(() => WaitForPlayerProvider);
private clientKeyProvider = this.ctx.get(() => ClientKeyProvider); private clientKeyProvider = this.ctx.get(() => ClientKeyProvider);
private hidePlayerNameProvider = this.ctx.get(() => HidePlayerNameProvider); private hidePlayerNameProvider = this.ctx.get(() => HidePlayerNameProvider);
private defaultHostInfoProvider = this.ctx.get(() => DefaultHostInfoProvider);
enabled = this.ctx.config.getBoolean('ENABLE_RANDOM_DUEL'); enabled = this.ctx.config.getBoolean('ENABLE_RANDOM_DUEL');
noRematchCheck = this.ctx.config.getBoolean('RANDOM_DUEL_NO_REMATCH_CHECK'); noRematchCheck = this.ctx.config.getBoolean('RANDOM_DUEL_NO_REMATCH_CHECK');
...@@ -120,6 +122,7 @@ export class RandomDuelProvider { ...@@ -120,6 +122,7 @@ export class RandomDuelProvider {
if (!this.enabled) { if (!this.enabled) {
return; return;
} }
this.registerRandomRoomModes();
this.waitForPlayerProvider.registerTick({ this.waitForPlayerProvider.registerTick({
roomFilter: (room) => !!room.randomType, roomFilter: (room) => !!room.randomType,
raadyTimeoutMs: this.waitForPlayerReadyTimeoutMs, raadyTimeoutMs: this.waitForPlayerReadyTimeoutMs,
...@@ -280,6 +283,51 @@ export class RandomDuelProvider { ...@@ -280,6 +283,51 @@ export class RandomDuelProvider {
return uniqModes; return uniqModes;
} }
private registerRandomRoomModes() {
this.defaultHostInfoProvider
.registerRoomMode('(OOR|OCGONLYRANDOM)', {
rule: 0,
lflist: 0,
})
.registerRoomMode('(OR|OCGRANDOM)', {
rule: 5,
lflist: 0,
})
.registerRoomMode('(CR|CCGRANDOM)', {
rule: 2,
lflist: -1,
})
.registerRoomMode('(TOR|TCGONLYRANDOM)', {
rule: 1,
})
.registerRoomMode('(TR|TCGRANDOM)', {
rule: 5,
})
.registerRoomMode('(OOMR|OCGONLYMATCHRANDOM)', {
rule: 0,
lflist: 0,
mode: 1,
})
.registerRoomMode('(OMR|OCGMATCHRANDOM)', {
rule: 5,
lflist: 0,
mode: 1,
})
.registerRoomMode('(CMR|CCGMATCHRANDOM)', {
rule: 2,
lflist: -1,
mode: 1,
})
.registerRoomMode('(TOMR|TCGONLYMATCHRANDOM)', {
rule: 1,
mode: 1,
})
.registerRoomMode('(TMR|TCGMATCHRANDOM)', {
rule: 5,
mode: 1,
});
}
private resolveSupportedTypes() { private resolveSupportedTypes() {
return new Set([...BUILTIN_RANDOM_TYPES, ...this.blankPassModes]); return new Set([...BUILTIN_RANDOM_TYPES, ...this.blankPassModes]);
} }
......
This diff is collapsed.
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