gitxsm 9 часов назад
Родитель
Сommit
f5059e6ede

+ 2 - 2
script/common/InnerProto.lua

@@ -1528,7 +1528,7 @@ LW_BZCS_FIGHT_END = {
 WL_BZCS_FIGHT_END = {
   {"playerUuid",            "string"}, -- 攻方 uuid
   {"atkWin",                "int"},    -- 同 LW atkWin
-  {"scoreChange",           "int"},    -- 攻方本场积分变化(+20/-10)
+  {"scoreChange",           "int"},    -- 攻方本场积分变化(+100/-50)
   {"myScore",               "int"},    -- 攻方战后积分
   {"defName",               "string"},
   {"defServerId",           "int"},
@@ -1541,7 +1541,7 @@ WL_BZCS_DEF_NOTIFY = {
   {"atkName",               "string"},
   {"atkServerId",           "int"},
   {"atkWin",                "int"},    -- 守方视角 1=守方胜 0=守方负
-  {"scoreChange",           "int"},    -- 守方积分变化(+10/-20)
+  {"scoreChange",           "int"},    -- 守方积分变化(+50/-50)
   {"myScore",               "int"},
   {"raceResults",           "table"},
 }

+ 1 - 1
script/module/baiZhanChengShen/BaiZhanChengShenCS.lua

@@ -326,7 +326,7 @@ local function errTips(sourceServerId, playerUuid, errCode)
     sendWL(fd, msgData)
 end
 
--- LW_BZCS_MATCH -> WL_BZCS_MATCH (±100 步进匹配最多3人; refreshRanks 非空时仅刷新展示)
+-- LW_BZCS_MATCH -> WL_BZCS_MATCH (±500步进扩大匹配最多3人; refreshRanks 非空时仅刷新展示)
 function N2C_Match(msg)
     local fd = MiddleManager.getFDBySvrIndex(msg.sourceServerId)
     if not isRunning() then

+ 2 - 2
script/module/baiZhanChengShen/BaiZhanChengShenDB.lua

@@ -432,7 +432,7 @@ local function makeMatchOpponentEntry(uuid, pinfo, uuid2rank)
     }
 end
 
--- 步进匹配不足时: 按与己方积分差升序补满(真人与机器人一视同仁, 可超出 ±5000 窗口)
+-- 步进匹配不足时: 按与己方积分差升序补满(真人与机器人一视同仁, 可超出步进窗口)
 local function fillMatchOpponentsFallback(selected, excludeTb, myScore, uuid2rank)
     local need = BaiZhanChengShenDefine.BZCS_OPPONENT_CNT - #selected
     if need <= 0 then
@@ -469,7 +469,7 @@ local function fillMatchOpponentsFallback(selected, excludeTb, myScore, uuid2ran
     end
 end
 
--- 按积分±step*100 步进扩大(最多±5000); 不足 BZCS_OPPONENT_CNT 时按积分差兜底补满
+-- 按积分±step*500 步进扩大(±500/±1000/±1500...); 不足3人时按积分差兜底补满
 -- 返回 {rank,uuid,serverId,name,power,score,isRobot}[], rank 为全服积分榜名次(匹配标识)
 function GetMatchOpponents(myUuid, myScore, excludeTb)
     excludeTb = excludeTb or {}

+ 7 - 7
script/module/baiZhanChengShen/BaiZhanChengShenDefine.lua

@@ -4,7 +4,7 @@
 --   跨服 5v5 积分 PvP, 5 种族独立阵容(COMBAT_TYPE39~43), 5 局 3 胜制。
 --   开服>=45 天可参与; 周六 0:10 ~ 周日 23:00 可挑战; 每 21 天(3 周) 开新轮。
 --   一次点击挑战仅扣 1 次(每日 5 次免费, 不足扣道具 115 x5)。
---   攻胜+20/攻负-10, 守胜+10/守负-20; 初始积分 3000。
+--   攻胜+100/攻负-50, 守胜+50/守负-50; 初始积分 3000。
 --
 -- 架构: 普通服 NS + 跨服 CS + Mongo DB(db_bzcs)
 --   首次挑战完成 REGISTER; 阵容变更 UPDATE_SHOW; 积分/匹配/排行在跨服
@@ -32,10 +32,10 @@ end
 -- 积分规则
 --------------------------------------------------------------------------------
 BZCS_INIT_SCORE       = 3000      -- 每轮初始/重置积分
-BZCS_ATK_WIN_SCORE    = 20        -- 进攻方整场获胜加分
-BZCS_ATK_LOSE_SCORE   = -10       -- 进攻方整场失败扣分
-BZCS_DEF_WIN_SCORE    = 10        -- 防守方整场获胜加分(对手进攻失败)
-BZCS_DEF_LOSE_SCORE   = -20       -- 防守方整场失败扣分(对手进攻成功)
+BZCS_ATK_WIN_SCORE    = 100       -- 进攻方整场获胜加分
+BZCS_ATK_LOSE_SCORE   = -50       -- 进攻方整场失败扣分
+BZCS_DEF_WIN_SCORE    = 50        -- 防守方整场获胜加分(对手进攻失败)
+BZCS_DEF_LOSE_SCORE   = -50       -- 防守方整场失败扣分(对手进攻成功)
 
 -- excel.baiZhanChengShen.fightReward 配置 id
 BZCS_FIGHT_REWARD_WIN_ID  = 1     -- 挑战整场胜利奖励
@@ -63,8 +63,8 @@ BZCS_TICKET_COST      = 5         -- 无免费时每次消耗数量
 --------------------------------------------------------------------------------
 BZCS_OPPONENT_CNT     = 3         -- 单次匹配对手数量
 BZCS_MATCH_CACHE_TTL  = 30        -- 匹配列表内存缓存有效期(秒); 过期按 rank 轻量刷新展示
-BZCS_MATCH_STEP       = 100       -- 积分匹配步进(每步 ±100 分扩大)
-BZCS_MATCH_MAX_STEP   = 50        -- 最大扩大步数(最多 ±5000 分范围)
+BZCS_MATCH_STEP       = 500       -- 积分匹配步进(第1步±500, 第2步±1000, 第3步±1500...)
+BZCS_MATCH_MAX_STEP   = 50        -- 最大扩大步数(最多 ±25000 分范围)
 
 BZCS_RANK_MAX         = 100       -- 客户端展示排行榜条数(全服积分榜含机器人, 规模更大)
 -- 全服排行: 积分高者优先; 同分则 scoreTime 小者优先(先达到该积分)

+ 1 - 1
script/module/baiZhanChengShen/BaiZhanChengShenNS.lua

@@ -675,7 +675,7 @@ function BZCS_MatchList(human)
     requestMatchList(human, false)
 end
 
--- 客户端刷新匹配对手(强制跨服重算, 回包 GC_BZCS_MATCH_LIST)
+-- 客户端刷新匹配对手(清缓存后跨服按积分±500步进重匹配3人, 回包 GC_BZCS_MATCH_LIST)
 function BZCS_MatchRefresh(human)
     if not actStartTimeCheck() then
         return Broadcast.sendErr(human, Lang.COMMOM_NOT_ENABLED)

+ 1 - 1
script/module/baiZhanChengShen/Proto.lua

@@ -60,7 +60,7 @@ BZCS_WAR_REPORT_INFO = {
     {"warType",         1,      "byte"},   -- 1主动胜 2主动负 3被挑战胜 4被挑战负(已含胜负)
     {"oppServerId",     1,      "int"},    -- 对手区服值, 减 BZCS_SVR_BASE_NUM 为第几服
     {"oppName",         1,      "string"}, -- 对手昵称
-    {"scoreChange",     1,      "short"},  -- 本场积分变化(+20/-10/+10/-20)
+    {"scoreChange",     1,      "short"},  -- 本场积分变化(+100/-50/+50/-50)
 }
 
 -- 周期排名奖励预览(读 excel.baiZhanChengShen.rankReward)