名将擂台:更新防守战力

This commit is contained in:
luying
2022-07-18 15:01:05 +08:00
parent 4d81de52d7
commit def35055e3
11 changed files with 1691 additions and 141 deletions

View File

@@ -15,6 +15,7 @@ import { DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_STATUS,
import { getHeroesAttributes } from '../../../services/playerCeService';
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
import { ServerlistModel } from '../../../db/Serverlist';
import { saveLadderDefCeByData } from '../../../services/redisService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -255,6 +256,7 @@ export class LadderHandler {
// 返回
let result = new LadderDataReturn();
result.setLadderData(ladderData);
await saveLadderDefCeByData(roleId, ladderData);
return resResult(STATUS.SUCCESS, pick(result, 'defense'));
}

View File

@@ -13,6 +13,7 @@ import { sendMailByContent } from "./mailService";
import { getHeroesAttributes } from "./playerCeService";
import { sendMessageToUserWithSuc } from "./pushService";
import { Rank } from "./rankService";
import { getLadderDefCe, saveLadderDefCeByData } from "./redisService";
import { addItems } from "./role/rewardService";
import { combineItems } from "./role/util";
import { WarReward } from "./warRewardService";
@@ -122,7 +123,8 @@ async function generateOppPlayer(serverId: number, rank: number, oppPlayers: { r
if(player) {
let r = new Rank(REDIS_KEY.LADDER, { serverId }, false);
let param = <RoleRankInfo>await r.getParam(player.rank, player.roleId, [player.rank]);
result.setByRedis(param, 0);
let defCe = await getLadderDefCe(player.roleId);
result.setByRedis(param, defCe);
} else {
let dicLadderDifficultRatio = gameData.ladderDifficultRatio.get(rank);
result.setByRobot(dicLadderDifficultRatio);
@@ -285,7 +287,8 @@ export async function battleEndWhenChange(ladderMatch: LadderMatchType) {
// 更新redis
if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) {
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
await r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
await saveLadderDefCeByData(ladderMatch.roleId, ladderMatch);
}
// 刷新对手

View File

@@ -7,7 +7,7 @@ import { EPlace, HeroModel, HeroType, HeroUpdate } from '../db/Hero';
import { RoleUpdate, RoleType, RoleModel } from '../db/Role';
import { Rank } from './rankService';
import { HERO_SYSTEM_TYPE, PUSH_ROUTE, REDIS_KEY } from '../consts';
import { updateRoleOnlineInfo, updateUserInfo } from './redisService';
import { saveLadderDefCe, saveLadderDefCeByData, updateRoleOnlineInfo, updateUserInfo } from './redisService';
import { GuildModel, GuildType } from '../db/Guild';
import { CalCe } from './role/calCe';
import { RoleCeModel, RoleCeUpdate } from '../db/RoleCe';
@@ -18,6 +18,7 @@ import { SchoolModel, SchoolType } from '../db/School';
import { AttributeCal } from '../domain/roleField/attribute';
import { sendMessageToUserWithSuc } from './pushService';
import { SkinType } from '../db/Skin';
import { LadderMatchModel } from '../db/LadderMatch';
interface Param {
isInitRole?: boolean,
@@ -332,6 +333,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
calCe.setResultHero(hero);
heroes.push(hero);
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力
await LadderMatchModel.updateCe(roleId, hid, ce);
pushHeros.push({ hid, ce, incHeroCe: inc });
changeHids.push(hid);
} else {
@@ -343,6 +345,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
if(changeHids.indexOf(hid) == -1) {
let hero = await HeroModel.updateHeroInfo(roleId, hid, { ce });
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力
await LadderMatchModel.updateCe(roleId, hid, ce);
pushHeros.push({ hid, ce: hero.ce, incHeroCe: inc });
changeHids.push(hid);
}
@@ -406,7 +409,9 @@ async function updateRank(roleId: string, serverId: number, topLineupCe: number,
// 武将数量
let r6 = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
await r6.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
await r6.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
await saveLadderDefCeByData(roleId);
}
export async function getSumCe(roleId: string) {

View File

@@ -1,6 +1,6 @@
import { KeyName, KeyNameParam, RankParam, GuildRankParam, RoleRankInfo, LineupParam, myIdInter, GeneralRankParam, ValueConfig, GuildRankInfo, RoleAndGuildRankInfo } from "../domain/rank";
import { getInfoKeyByRedisKey, ROLE_SELECT, GUILD_SELECT, REDIS_KEY, HERO_SELECT, COMPOSE_FIELD_TYPE, KEY_TO_COMPOSE_FIELD, getRedisKeyByRankType, COUNTER, RANK_TYPE, PUSH_ROUTE } from "../consts";
import { redisClient, delKeys } from "./redisService";
import { redisClient, delKeys, saveLadderDefCeByData } from "./redisService";
import { RoleType, RoleModel } from "../db/Role";
import { GuildType, GuildModel } from "../db/Guild";
import { HeroModel, HeroType, HeroUpdate } from "../db/Hero";
@@ -1111,6 +1111,7 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
for (let rank of ranks) {
let role = <RoleType>rank.role;
await r.setRankWithRoleInfo(rank.roleId, rank.rank, 0, role);
await saveLadderDefCeByData(rank.roleId, rank);
}
}
}

View File

@@ -15,6 +15,7 @@ import { ActivityTimeLimitRankModel } from '../db/ActivityTimeLimitRank';
import { RoleModel, RoleType } from '../db/Role';
import { GuildType } from '../db/Guild';
import { ActivityGroupModel } from '../db/ActivityGroup';
import { LadderMatchModel, LadderMatchType } from '../db/LadderMatch';
/**
* 在服务重新启动时将信息存入redis
@@ -521,6 +522,27 @@ export async function hasKey(key: string) {
/**************** 数据库表end */
/**************** 名将擂台防守战力 */
export async function saveLadderDefCeByData(roleId: string, ladderMatch?: LadderMatchType) {
if(!ladderMatch) {
ladderMatch = await LadderMatchModel.findByRoleId(roleId);
if(!ladderMatch) return;
}
let heroes = ladderMatch.defense?.heroes||[];
let defCe = heroes.reduce((pre, cur) => pre + cur.ce, 0);
await saveLadderDefCe(roleId, defCe);
}
export async function saveLadderDefCe(roleId: string, defCe: number) {
await redisClient().hsetAsync(REDIS_KEY.LADDER_DEFCE, `${roleId}`, defCe);
}
export async function getLadderDefCe(roleId: string) {
let defCe = await redisClient().hgetAsync(REDIS_KEY.LADDER_DEFCE, `${roleId}`);
return defCe||0;
}
/**************** 名将擂台防守战力end */
/*************** 将connector服插入redis *******/

View File

@@ -245,6 +245,7 @@ export enum REDIS_KEY {
USER_CHANNEL = 'userChannel', // 玩家登录频道
USER_CODE = 'userCode', // 玩家userCode对应roleId
LADDER = 'ladder', // 名将擂台
LADDER_DEFCE = 'ladderDefCe', // 名将擂台的防守战力
}
// 各排行榜对应hash的key

View File

@@ -259,7 +259,7 @@ export const STATUS = {
CHALLENGE_TIME_NOT_NEED_RESET: { code: 21110, simStr: '不需要重置' },
// 名将擂台
LADDER_NOT_OPEN: { code: 21200, simStr: '名将擂台未开放' },
LADDER_NOT_OPEN: { code: 21200, simStr: '请先布置防守阵容' },
LADDER_BUY_MAX: { code: 21201, simStr: '名将擂台购买次数达到上限' },
LADDER_RANK_ERROR: { code: 21202, simStr: '该排名玩家不可挑战' },
LADDER_REFRESH_CNT_MAX: { code: 21203, simStr: '刷新次数达到上限' },

View File

@@ -49,7 +49,7 @@ export default class LadderMatch extends BaseModel {
public static async findByRoleIdAndInclude(roleId: string) {
const result: LadderMatchType = await LadderMatchModel.findOne({ roleId })
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
.populate('defense.hero', 'hid skinId quality star colorStar lv')
.populate('defense.heroes', 'hid skinId quality star colorStar lv')
.lean();
return result;
}
@@ -71,7 +71,7 @@ export default class LadderMatch extends BaseModel {
public static async updateByRoleIdAndInclude(roleId: string, params: LadderUpdateInter) {
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: params}, { new: true })
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
.populate('defense.hero', 'hid skinId quality star colorStar lv')
.populate('defense.heroes', 'hid skinId quality star colorStar lv')
.lean();
return defense;
}
@@ -124,6 +124,15 @@ export default class LadderMatch extends BaseModel {
session.endSession()
}
}
public static async updateCe(roleId: string, hid: number, ce: number) {
console.log('##### updateCe', roleId, hid, ce)
const rec: LadderMatchType = await LadderMatchModel.findOneAndUpdate(
{ roleId },
{ $set: { 'defense.heroes.$[t].ce': ce } },
{ arrayFilters: [{"t.actorId": hid}] }).lean();
return rec
}
}
export const LadderMatchModel = getModelForClass(LadderMatch);

View File

@@ -2094,5 +2094,181 @@
"condition": 1,
"taskReward": "40005&4000",
"point": 30
},
{
"id": 132,
"achieveTaskId": 134,
"tab": 2,
"tabName": "游历",
"subTab": 16,
"subTabName": "羁绊",
"taskType": 124,
"taskParam": "5&",
"achieveType": 57,
"achieveTaskName": "亲密无间·壹",
"taskInfo": "单个最高等级的羁绊达5级",
"condition": 5,
"taskReward": "11014&1",
"point": 5
},
{
"id": 133,
"achieveTaskId": 135,
"tab": 2,
"tabName": "游历",
"subTab": 16,
"subTabName": "羁绊",
"taskType": 124,
"taskParam": "10&",
"achieveType": 57,
"achieveTaskName": "亲密无间·贰",
"taskInfo": "单个最高等级的羁绊达10级",
"condition": 10,
"taskReward": "11014&2",
"point": 10
},
{
"id": 134,
"achieveTaskId": 136,
"tab": 2,
"tabName": "游历",
"subTab": 16,
"subTabName": "羁绊",
"taskType": 124,
"taskParam": "12&",
"achieveType": 57,
"achieveTaskName": "亲密无间·叁",
"taskInfo": "单个最高等级的羁绊达12级",
"condition": 12,
"taskReward": "11014&5",
"point": 15
},
{
"id": 135,
"achieveTaskId": 137,
"tab": 2,
"tabName": "游历",
"subTab": 16,
"subTabName": "羁绊",
"taskType": 125,
"taskParam": "15&",
"achieveType": 58,
"achieveTaskName": "同生共死·壹",
"taskInfo": "单个3条羁绊共提升15级",
"condition": 15,
"taskReward": "11014&10",
"point": 20
},
{
"id": 136,
"achieveTaskId": 138,
"tab": 2,
"tabName": "游历",
"subTab": 16,
"subTabName": "羁绊",
"taskType": 125,
"taskParam": "36&",
"achieveType": 58,
"achieveTaskName": "同生共死·贰",
"taskInfo": "单个3条羁绊共提升36级",
"condition": 36,
"taskReward": "11014&5",
"point": 15
},
{
"id": 137,
"achieveTaskId": 139,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 121,
"taskParam": "10&",
"achieveType": 59,
"achieveTaskName": "死战·壹",
"taskInfo": "名将擂台挑战10次",
"condition": 10,
"taskReward": "40007&50",
"point": 30
},
{
"id": 138,
"achieveTaskId": 140,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 121,
"taskParam": "50&",
"achieveType": 59,
"achieveTaskName": "死战·贰",
"taskInfo": "名将擂台挑战50次",
"condition": 50,
"taskReward": "40007&100",
"point": 5
},
{
"id": 139,
"achieveTaskId": 141,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 122,
"taskParam": "10&",
"achieveType": 60,
"achieveTaskName": "胜利者·壹",
"taskInfo": "名将擂台胜利10次",
"condition": 10,
"taskReward": "40007&150",
"point": 10
},
{
"id": 140,
"achieveTaskId": 142,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 122,
"taskParam": "50&",
"achieveType": 60,
"achieveTaskName": "胜利者·贰",
"taskInfo": "名将擂台胜利50次",
"condition": 50,
"taskReward": "40007&200",
"point": 10
},
{
"id": 141,
"achieveTaskId": 143,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 123,
"taskParam": "100&",
"achieveType": 61,
"achieveTaskName": "不屈不挠·壹",
"taskInfo": "名将擂台排名进入前100名",
"condition": 100,
"taskReward": "17054&100",
"point": 10
},
{
"id": 142,
"achieveTaskId": 144,
"tab": 8,
"tabName": "试炼",
"subTab": 17,
"subTabName": "攻擂",
"taskType": 123,
"taskParam": "50&",
"achieveType": 61,
"achieveTaskName": "不屈不挠·贰",
"taskInfo": "名将擂台排名进入前50名",
"condition": 50,
"taskReward": "17054&100",
"point": 10
}
]

View File

@@ -4,7 +4,7 @@
"name": "ROLE_SEND_TEXT",
"mean": "玩家发送消息",
"type": "2&3&4&5",
"template": "<color=#301B0C>%d</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>%d</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>%d</outline>",
"comments": "%d玩家发送的消息内容"
},
@@ -13,7 +13,7 @@
"name": "PRIVATE_SEND_GIFT",
"mean": "发送礼物",
"type": "5&",
"template": "<color=#301B0C>我挥了挥小手,给你送了</color><color=#fc879b>%d</color><color=#a49a48>,你一定要喜欢哦!</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>我挥了挥小手,给你送了</outline></color><color=#fc879b><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,你一定要喜欢哦!</outline></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#301B0C>我挥了挥小手,给你送了</color><color=#fc879b>%d</color><color=#a49a48>,你一定要喜欢哦!</color></outline>",
"comments": "1:%d(赠送的道具)"
},
@@ -22,7 +22,7 @@
"name": "TEAM_ROLE",
"mean": "玩家发送组队消息",
"type": "5&",
"template": "<color=#301B0C>%d</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>%d</outline></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#301B0C>%d</color></outline>",
"comments": "1:%d(发出组队邀请的玩家名)2:%d(跳转链接)"
},
@@ -31,7 +31,7 @@
"name": "HERO_QUALITY_UP",
"mean": "武将升品",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>将</color><outline color=#ad5712 width=1>%d</outline><color=#301B0C>升品至</color><outline color=#ad5712 width=1>%d</outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>将</outline></color><outline color=#1c613 width=1>%d</outline><color=#ffffff><outline color=#1c613 width=1>升品至</outline></color><outline color=#ad5712 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1><color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#a49a48>将</color>%d<color=#a49a48>升品至</color>%d</outline>",
"comments": "1:%d(玩家名)2:%d(武将名)3.%d(武将品质)"
},
@@ -40,7 +40,7 @@
"name": "COMPOSE_ORANGE_HERO",
"mean": "玩家获得传奇武将(橙)",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>时来运转,获得传奇武将</color><outline color=#ad5712 width=1>%d</outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>时来运转,获得传奇武将</outline></color><outline color=#ad5712 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#E6CB68>%d</color>时来运转,获得传奇武将%d</outline>",
"comments": "1:%d(玩家名)2:%d(武将名)"
},
@@ -49,7 +49,7 @@
"name": "HERO_STAR_MAX",
"mean": "武将满星",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>将</color><outline color=#ad5712 width=1><color=#ffd800>%d</color></outline><color=#301B0C>培养至</color><outline color=#bd1616 width=1><color=#ff8080>彩星满星</color></outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>将</color><outline color=#ad5712 width=1><color=#ffd800>%d</color></outline><color=#ffffff><outline color=#1c613 width=1>培养至</outline></color><outline color=#bd1616 width=1><color=#ff8080>彩星满星</color></outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color><color=#a49a48>将</color><color=#f03420>%d</color>培养至彩星满星</outline>",
"comments": "1:%d(玩家名)2:%d(武将名)"
},
@@ -58,7 +58,7 @@
"name": "GUILD_NOTICE",
"mean": "军团修改公告",
"type": "3&",
"template": "<color=#5885BC>公告:%d</color>",
"template": "<color=#5885BC><outline color=#1c613 width=1>公告:</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<color=#301B0C>公告:%d</color>",
"comments": "%d玩家发送的消息内容"
},
@@ -67,7 +67,7 @@
"name": "GUILD_STRUCTURE_LV_UP",
"mean": "军团升级建筑",
"type": "3&",
"template": "<color=#301B0C>恭喜主公,军团</color><color=#d9973a>%d</color><color=#301B0C>已升至</color><color=#907ffb>%d</color><color=#301B0C>级</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜主公,军团</outline></color><color=#d9973a><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>已升至</outline></color><color=#907ffb><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>级</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜各位小将军,军团<outline color=#5a5cc width=1><color=#53e1fb>%d</color></outline>已升至<color=#907ffb>%d</color>级</outline>",
"comments": "1:%d(军团名)2:%d(军团升级后的等级数)"
},
@@ -76,7 +76,7 @@
"name": "GUILD_TRAIN_SUC",
"mean": "军团练兵场压制成功",
"type": "3&",
"template": "<color=#301B0C>军团据点</color><outline color=#ad5712 width=1>%d</outline><color=#301B0C>被成功压制,对应宝藏已开启,请各位成员前往领取宝藏</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>军团据点</outline></color><outline color=#ad5712 width=1>%d</outline><color=#ffffff><outline color=#1c613 width=1>被成功压制,对应宝藏已开启,请各位成员前往领取宝藏</outline></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#301B0C>军团据点</color>%d<color=#a49a48>被成功压制,对应宝藏已开启,请各位成员前往领取宝藏</color></outline>",
"comments": "1:%d(武将名)"
},
@@ -85,7 +85,7 @@
"name": "GUILD_BOSS_SUC",
"mean": "军团BOSS胜利",
"type": "3&",
"template": "<color=#301B0C>恭喜主公军团BOSS</color><color=#f019fd>%d</color><color=#301B0C>被成功压制,拍卖行即将开启</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜主公军团BOSS</outline></color><color=#f019fd><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>被成功压制,拍卖行即将开启</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜各位小将军军团BOSS<color=#f019fd>%d</color>被成功压制,拍卖行即将开启</outline>",
"comments": "1:%d(BOSS名)"
},
@@ -94,8 +94,8 @@
"name": "EQUIP_REFINE_SUC",
"mean": "玩家首次精炼成功",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,成功将</color><on click=%d>%d</on><color=#301B0C>进行精炼</color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将<on click=%d>%d</on>进行精炼</outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>进行精炼</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>进行精炼</outline>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
{
@@ -103,7 +103,7 @@
"name": "EQUIP_COMPOSE_SUIT",
"mean": "装备合成套装",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,合成套装装备</color>%d",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,合成套装装备</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,合成套装装备%d</outline>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
@@ -112,7 +112,7 @@
"name": "EQUIP_COMPOSE_ORANGE",
"mean": "装备合成出橙色品质及其以上装备",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,获得</color>%d",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,获得</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,获得%d</outline>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
@@ -121,7 +121,7 @@
"name": "JEWEL_COMPOSE",
"mean": "宝石合成7阶及其以上",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,合成出%d",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,合成出</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,合成出%d</outline>",
"comments": "1:%d(玩家名)2:%d(宝石阶数)3.%d(宝石名)"
},
@@ -130,7 +130,7 @@
"name": "ORANGE_BLUEPRT_COMPOSE",
"mean": "合成橙色及其以上藏宝图",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,合成</color>%d",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,合成</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,合成</color>%d</outline>",
"comments": "1:%d(玩家名)2:%d(藏宝图名)"
},
@@ -139,7 +139,7 @@
"name": "TOWER_SUC",
"mean": "镇念塔100层后每通关50层",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,镇念塔通关</color><color=#e5955a>%d</color><color=#301B0C>层</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,镇念塔通关</outline></color><color=#e5955a><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>层</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,镇念塔通关<color=#e5955a>%d</color>层</outline>",
"comments": "1:%d(玩家名)2:%d(镇念塔层数)"
},
@@ -148,7 +148,7 @@
"name": "MYSTERY_FIRST_SUC",
"mean": "秘境首通",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,在秘境中成功压制通关</color><color=#e5955a>%d</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,在秘境中成功压制通关</outline></color><color=#e5955a><outline color=#1c613 width=1>%d</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,在秘境中成功压制通关<color=#e5955a>%d</color></outline>",
"comments": "1:%d(玩家名)2:%d(关卡名)"
},
@@ -157,7 +157,7 @@
"name": "VESTIGE_FIRST_SUC",
"mean": "遗迹首通",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,在遗迹中成功压制通关</color><color=#e5955a>%d</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,在遗迹中成功压制通关</outline></color><color=#e5955a><outline color=#1c613 width=1>%d</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,在遗迹中成功压制通关<color=#e5955a>%d</color></outline>",
"comments": "1:%d(玩家名)2:%d(关卡名)"
},
@@ -166,7 +166,7 @@
"name": "TEAM_INVITE",
"mean": "组队一键邀请",
"type": "2&3",
"template": "<color=#c08834>%d</color><color=#301B0C>发起组队邀请,诚邀各路侠士加入</color><color=#301B0C> %d</color><color=#301B0C>寻宝队伍,</color><color=#2f9b00><on click=%d>[加入]</on></color>",
"template": "<color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>发起组队邀请,诚邀各路侠士加入</outline></color><color=#ffffff><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>寻宝队伍,</outline></color><color=#2f9b00><on click=%d>[加入]</on></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#c08834>%d</color>发起组队邀请,诚邀各路侠士加入<color=#a49a48> %d寻宝队伍</color><color=#2f9b00><on click=%d>[加入]</on></color></outline>",
"comments": "1:%d(发出组队邀请的玩家名)2:%d(藏宝图对应的关卡名); 3:%d(跳转链接)"
},
@@ -175,7 +175,7 @@
"name": "HERO_WAKEUP",
"mean": "武将觉醒",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,成功将</color><outline color=#ad5712 width=1><color=#ffd800>%d</color></outline><color=#301B0C>觉醒</color>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,成功将</outline></color><outline color=#ad5712 width=1><color=#ffd800>%d</color></outline><color=#ffffff><outline color=#1c613 width=1>觉醒</outline></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,成功将</color><color=#f03420>%d</color><color=#301B0C>觉醒</color>",
"comments": "1:%d(玩家名)2:%d(武将名)"
},
@@ -184,7 +184,7 @@
"name": "EQUIP_REFRESH_BEST",
"mean": "装备洗炼出特殊属性",
"type": "1&",
"template": "<color=#c08834>%d</color><color=#c08834>锲而不舍,将</color>%d<color=#c08834>洗炼出极品属性</color>",
"template": "<color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=##ffffff><outline color=#1c613 width=1>锲而不舍,将</outline></color><outline color=#1c613 width=1>%d</outline><color=#c08834><color=##ffffff><outline color=#1c613 width=1>洗炼出极品属性</outline></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#c08834>%d</color>锲而不舍,将%d洗炼出极品属性</outline>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
@@ -193,7 +193,7 @@
"name": "ACQUIRE_RARE_GOODS",
"mean": "掉落其他稀有道具",
"type": "1&",
"template": "<color=#c08834>%d</color><color=#c08834>福星高照,获得稀有物资</color>%d",
"template": "<color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>福星高照,获得稀有物资</outline></color><outline color=#1c613 width=1>%d</outline>",
"worldchat": "<outline color=#1c1613 width=1><color=#c08834>%d</color>福星高照,获得稀有物资%d</outline>",
"comments": "1:%d(玩家名)2:%d(物品名)"
},
@@ -202,7 +202,7 @@
"name": "GROUP_SEND_GIFT",
"mean": "发送礼物",
"type": "1&",
"template": "<color=#c08834>%d</color><color=#301B0C>赠送给</color><color=#c08834>%d</color><outline color=#5a5ccc width=1><color=#f09fed>%d</color></outline>",
"template": "<color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>赠送给</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><outline color=#5a5ccc width=1><color=#f09fed>%d</color></outline>",
"worldchat": "<outline color=#1c1613 width=1><color=#c08834>%d</color>赠送给<color=#c08834>%d</color><color=#5a5ccc>%d</color></outline>",
"comments": "1:%d(赠送的玩家名)2:%d(赠送的玩家名)3.%d(赠送的道具)"
},
@@ -211,7 +211,7 @@
"name": "SEND_MARQUEE",
"mean": "跑马灯内容",
"type": "1&",
"template": "%d",
"template": "<outline color=#1c613 width=1>%d</outline>",
"worldchat": "%d",
"comments": "&"
},
@@ -220,7 +220,7 @@
"name": "GUILD_RECURIT",
"mean": "军团招募",
"type": "2&",
"template": "<color=#53e1fb>%d</color><color=#301B0C>正在招兵买马:</color><color=#c08834>%d</color><color=#2f9b00><on click=%d>[前往]</on></color>",
"template": "<color=#53e1fb><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>正在招兵买马:</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#2f9b00><on click=%d>[前往]</on></color>",
"worldchat": "<outline color=#1c1613 width=1><color=#53e1fb>%d</color>正在招兵买马:%d<color=#2f9b00><on click=%d>[前往]</on></color></outline>",
"comments": "1:%d(军团名)2:%d(军团招募内容)"
},
@@ -229,8 +229,8 @@
"name": "EQUIP_STAR_UP",
"mean": "装备升至12星",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,成功将</color><on click=%d>%d</on><color=#301B0C>升至满星</color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将<on click=%d>%d</on>升至满星</outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>升至满星</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>升至满星</outline></color>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
{
@@ -238,8 +238,17 @@
"name": "EQUIP_QUALITY_UP",
"mean": "装备升至金色",
"type": "1&",
"template": "<color=#301B0C>恭喜</color><color=#c08834>%d</color><color=#301B0C>,成功将</color><on click=%d>%d</on><color=#301B0C>升至最高品质</color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将<on click=%d>%d</on>升至最高品质</outline>",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>升至最高品质</outline></color>",
"worldchat": "<outline color=#1c1613 width=1>恭喜<color=#c08834>%d</color>,成功将</outline></color><color=%d><outline color=%d width=1><on click=%d>%d</on></outline></color><color=#ffffff><outline color=#1c613 width=1>升至最高品质</outline></color>",
"comments": "1:%d(玩家名)2:%d(装备名)"
},
{
"id": 27,
"name": "LADDER_FIRST_CHANGE",
"mean": "名将擂台第一名换人",
"type": "1&",
"template": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,在名将擂台中攻擂成功,登顶第一</outline></color>",
"worldchat": "<color=#ffffff><outline color=#1c613 width=1>恭喜</outline></color><color=#c08834><outline color=#1c613 width=1>%d</outline></color><color=#ffffff><outline color=#1c613 width=1>,在名将擂台中攻擂成功,登顶第一</outline></color>",
"comments": "1:%d(玩家名)"
}
]

File diff suppressed because it is too large Load Diff