修改机器人作弊机率
This commit is contained in:
parent
ad3e12011a
commit
43f0a21063
@ -66,8 +66,18 @@ export class GameEnv {
|
|||||||
public petInheritRate: number
|
public petInheritRate: number
|
||||||
// 低级机器人的胜率值
|
// 低级机器人的胜率值
|
||||||
public robotLvlLow: number
|
public robotLvlLow: number
|
||||||
|
public robotRateLow: number
|
||||||
|
|
||||||
|
// 中等机器人的胜率值
|
||||||
|
public robotLvlMid: number
|
||||||
|
public robotRateMid: number
|
||||||
|
|
||||||
// 高级机器人的胜率值
|
// 高级机器人的胜率值
|
||||||
public robotLvlHigh: number
|
public robotLvlHigh: number
|
||||||
|
public robotRateHigh: number
|
||||||
|
// 变态机器人的胜率值
|
||||||
|
public robotLvlExtra: number
|
||||||
|
public robotRateExtra: number
|
||||||
|
|
||||||
public init(data: Map<number, BaseCfg>) {
|
public init(data: Map<number, BaseCfg>) {
|
||||||
this.initCardNum = data.get(BaseConst.INIT_CARD_NUM).value
|
this.initCardNum = data.get(BaseConst.INIT_CARD_NUM).value
|
||||||
@ -106,6 +116,23 @@ export class GameEnv {
|
|||||||
this.canEatAdv = !!data.get(BaseConst.CAN_EAT_ADV).value
|
this.canEatAdv = !!data.get(BaseConst.CAN_EAT_ADV).value
|
||||||
this.petInheritRate = data.get(BaseConst.PET_INHERIT_RATE).value / 100
|
this.petInheritRate = data.get(BaseConst.PET_INHERIT_RATE).value / 100
|
||||||
this.robotLvlLow = data.get(BaseConst.ROBOT_LVL_LOW).value
|
this.robotLvlLow = data.get(BaseConst.ROBOT_LVL_LOW).value
|
||||||
|
this.robotLvlMid = data.get(BaseConst.ROBOT_LVL_MID).value
|
||||||
this.robotLvlHigh = data.get(BaseConst.ROBOT_LVL_HIGHT).value
|
this.robotLvlHigh = data.get(BaseConst.ROBOT_LVL_HIGHT).value
|
||||||
|
this.robotLvlExtra = data.get(BaseConst.ROBOT_LVL_EXTRA).value
|
||||||
|
this.robotRateLow = data.get(BaseConst.ROBOT_RATE_LOW).value
|
||||||
|
this.robotRateMid = data.get(BaseConst.ROBOT_RATE_MID).value
|
||||||
|
this.robotRateHigh = data.get(BaseConst.ROBOT_RATE_HIGHT).value
|
||||||
|
this.robotRateExtra = data.get(BaseConst.ROBOT_RATE_EXTRA).value
|
||||||
|
}
|
||||||
|
public getCheatRate(val: number) {
|
||||||
|
if (val < this.robotLvlLow) {
|
||||||
|
return this.robotRateLow
|
||||||
|
} else if (val < this.robotLvlMid) {
|
||||||
|
return this.robotRateMid
|
||||||
|
} else if (val < this.robotLvlHigh) {
|
||||||
|
return this.robotRateHigh
|
||||||
|
} else {
|
||||||
|
return this.robotRateExtra
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,8 +64,21 @@ export class BaseConst {
|
|||||||
public static readonly PET_INHERIT_RATE = 99041
|
public static readonly PET_INHERIT_RATE = 99041
|
||||||
// 低级机器人的胜率值
|
// 低级机器人的胜率值
|
||||||
public static readonly ROBOT_LVL_LOW = 99042
|
public static readonly ROBOT_LVL_LOW = 99042
|
||||||
|
// 中等机器人胜率值
|
||||||
|
public static readonly ROBOT_LVL_MID = 99043
|
||||||
// 高级机器人的胜率值
|
// 高级机器人的胜率值
|
||||||
public static readonly ROBOT_LVL_HIGHT = 99044
|
public static readonly ROBOT_LVL_HIGHT = 99044
|
||||||
|
// 变态机器人胜率值
|
||||||
|
public static readonly ROBOT_LVL_EXTRA = 99045
|
||||||
|
|
||||||
|
// 低级机器人的胜率值
|
||||||
|
public static readonly ROBOT_RATE_LOW = 99046
|
||||||
|
// 中等机器人胜率值
|
||||||
|
public static readonly ROBOT_RATE_MID = 99047
|
||||||
|
// 高级机器人的胜率值
|
||||||
|
public static readonly ROBOT_RATE_HIGHT = 99048
|
||||||
|
// 变态机器人胜率值
|
||||||
|
public static readonly ROBOT_RATE_EXTRA = 99049
|
||||||
|
|
||||||
public static readonly COMPOUND = 'compound'
|
public static readonly COMPOUND = 'compound'
|
||||||
public static readonly EFFECTCARD = 'effectcard'
|
public static readonly EFFECTCARD = 'effectcard'
|
||||||
|
@ -21,8 +21,6 @@ export class BeginGameCommand extends Command<CardGameState, {}> {
|
|||||||
cardAll.randomSort()
|
cardAll.randomSort()
|
||||||
// 如果是匹配模式, 挑战机器人作弊比率
|
// 如果是匹配模式, 挑战机器人作弊比率
|
||||||
if (this.state.mode == 1) {
|
if (this.state.mode == 1) {
|
||||||
let highRate = new GameEnv().robotLvlHigh / 100
|
|
||||||
let lowRate = new GameEnv().robotLvlLow / 100
|
|
||||||
for (let [, player] of this.state.players) {
|
for (let [, player] of this.state.players) {
|
||||||
if (!player.robot) {
|
if (!player.robot) {
|
||||||
continue
|
continue
|
||||||
@ -46,21 +44,12 @@ export class BeginGameCommand extends Command<CardGameState, {}> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let assistClient = this.room.getAssistClient(player.id)
|
let assistClient = this.room.getAssistClient(player.id)
|
||||||
if (global.isProd) {
|
let rate = new GameEnv().getCheatRate(oplayer.winRate * 100)
|
||||||
let rate = 0
|
if (rate) {
|
||||||
if (oplayer.winRate > highRate) {
|
debugRoom(`opposite play win rate: ${ oplayer.winRate }, robot cheat rate: ${ rate }`)
|
||||||
rate = oplayer.winRate * 100 | 0
|
|
||||||
} else if (oplayer.winRate > lowRate) {
|
|
||||||
rate = oplayer.winRate / 2 * 100 | 0
|
|
||||||
}
|
|
||||||
debugRoom(`opposite play win rate: ${ oplayer.winRate }, robot change rate: ${ rate }`)
|
|
||||||
client.send('update_change_rate', { val: rate })
|
client.send('update_change_rate', { val: rate })
|
||||||
assistClient.send('update_change_rate', { val: rate })
|
assistClient.send('update_change_rate', { val: rate })
|
||||||
} else {
|
|
||||||
client.send('update_change_rate', { val: 100 })
|
|
||||||
assistClient.send('update_change_rate', { val: 100 })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user