路由:修复单个路由情况
This commit is contained in:
@@ -31,7 +31,7 @@ import { getBattleListOfMain, getMainChapter } from './normalBattleService';
|
|||||||
import { GuildModel, GuildType } from '../db/Guild';
|
import { GuildModel, GuildType } from '../db/Guild';
|
||||||
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
||||||
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
||||||
import { getAllOnlineRoles, getAllServers } from './redisService';
|
import { getAllOnlineRoles, getAllServers, incConnectorNum } from './redisService';
|
||||||
import Item, { ItemModel } from '../db/Item';
|
import Item, { ItemModel } from '../db/Item';
|
||||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||||
import { getDonation } from './donateService';
|
import { getDonation } from './donateService';
|
||||||
@@ -363,17 +363,14 @@ function _assignServer(roleId: string, serverType: string) {
|
|||||||
let servers = pinus.app.getServersByType(serverType)||[];
|
let servers = pinus.app.getServersByType(serverType)||[];
|
||||||
let sum = servers.reduce((pre, cur) => pre + (cur['num']||0), 0);
|
let sum = servers.reduce((pre, cur) => pre + (cur['num']||0), 0);
|
||||||
let id = '';
|
let id = '';
|
||||||
if(sum <= 0) {
|
if(sum > 0) {
|
||||||
id = dispatch(roleId, servers, serverType)?.id;
|
|
||||||
} else {
|
|
||||||
let serversWithWeight = servers.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
|
let serversWithWeight = servers.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
|
||||||
let { dic: server } = getRandEelmWithWeight(serversWithWeight);
|
let { dic: server } = getRandEelmWithWeight(serversWithWeight);
|
||||||
id = server?.id;
|
id = server?.id;
|
||||||
}
|
}
|
||||||
|
if(!id) {
|
||||||
// if(id) {
|
id = dispatch(roleId, servers, serverType)?.id;
|
||||||
// pinus.app.rpc.connector.connectorRemote.incServerNum.broadcast(id, 1);
|
}
|
||||||
// }
|
|
||||||
return id
|
return id
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -404,4 +401,5 @@ export async function leaveServer(session: FrontendOrBackendSession) {
|
|||||||
pinus.app.rpc.connector.connectorRemote.incServerNum.broadcast(order, -1);
|
pinus.app.rpc.connector.connectorRemote.incServerNum.broadcast(order, -1);
|
||||||
|
|
||||||
incServerNum(sid, -1);
|
incServerNum(sid, -1);
|
||||||
|
incConnectorNum(sid, -1);
|
||||||
}
|
}
|
||||||
@@ -581,7 +581,7 @@ export async function incConnectorNum(sid: string, inc: number) {
|
|||||||
let { id, serverType, clientHost, clientPort, num = 0 } = json;
|
let { id, serverType, clientHost, clientPort, num = 0 } = json;
|
||||||
let newNum = num + inc;
|
let newNum = num + inc;
|
||||||
if(newNum < 0) newNum = 0;
|
if(newNum < 0) newNum = 0;
|
||||||
await redisClient().hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + inc }));
|
await redisClient().hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: newNum }));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************** 将connector服插入redis *******/
|
/*************** 将connector服插入redis *******/
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ export async function getTeraphStrengthenResult(role: RoleType, count: number, d
|
|||||||
|
|
||||||
if(!isEnough) break; // 消耗不足
|
if(!isEnough) break; // 消耗不足
|
||||||
|
|
||||||
let num = getRandValueByMinMax(TERAPH_RANDOM.MIN, TERAPH_RANDOM.MAX); // 强化时随机增加 2-4 属性
|
// let num = getRandValueByMinMax(TERAPH_RANDOM.MIN, TERAPH_RANDOM.MAX); // 强化时随机增加 2-4 属性
|
||||||
let arr = getRandEelm(attrs, num); // 随机出的属性id
|
let arr = getRandEelm(attrs, 1); // 随机出的属性id
|
||||||
let critical = getRandValueByMinMax(0, 100);//属性暴击率
|
let critical = getRandValueByMinMax(0, 100);//属性暴击率
|
||||||
if(teraph.criCount == undefined || teraph.count == undefined) {
|
if(teraph.criCount == undefined || teraph.count == undefined) {
|
||||||
teraph.criCount = 0;
|
teraph.criCount = 0;
|
||||||
|
|||||||
@@ -160,13 +160,14 @@ export default class GameController extends Controller {
|
|||||||
// select connector
|
// select connector
|
||||||
let sum = connectors.reduce((pre, cur) => pre + (cur['num']||0), 0);
|
let sum = connectors.reduce((pre, cur) => pre + (cur['num']||0), 0);
|
||||||
let res;
|
let res;
|
||||||
if(sum == 0) {
|
if(sum > 0) {
|
||||||
res = dispatch(userCode, connectors, 'connector');
|
|
||||||
} else {
|
|
||||||
let serversWithWeight = connectors.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
|
let serversWithWeight = connectors.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
|
||||||
let randResult = getRandEelmWithWeight(serversWithWeight);
|
let randResult = getRandEelmWithWeight(serversWithWeight);
|
||||||
res = randResult.dic;
|
res = randResult.dic;
|
||||||
}
|
}
|
||||||
|
if(!res) {
|
||||||
|
res = dispatch(userCode, connectors, 'connector');
|
||||||
|
}
|
||||||
let { id, serverType, clientHost, clientPort, num = 0 } = res;
|
let { id, serverType, clientHost, clientPort, num = 0 } = res;
|
||||||
|
|
||||||
await redisClient.hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + 1 }));
|
await redisClient.hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + 1 }));
|
||||||
|
|||||||
Reference in New Issue
Block a user