修改,特技战力加成通过时装表获得
This commit is contained in:
@@ -76,7 +76,7 @@ export class HeroHandler {
|
||||
let curHero = await HeroModel.createHero({
|
||||
roleId, serverId, roleName, hid, hName, star, quality, job, skins:[{id: initialSkin, enable: true}]
|
||||
});
|
||||
await calPlayerCeAndSave(sid, roleId, [curHero], HERO_SYSTEM_TYPE.STAR, getAllAttrStage());
|
||||
await calPlayerCeAndSave(sid, roleId, [curHero], HERO_SYSTEM_TYPE.INIT);
|
||||
return resResult(STATUS.SUCCESS, {curHero});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// 时装表
|
||||
import { decodeArrayListStr, readJsonFile, parseNumberList } from '../util';
|
||||
import { decodeArrayListStr, readJsonFile } from '../util';
|
||||
import { FILENAME } from '../../consts';
|
||||
|
||||
export interface DicFashions {
|
||||
// 时装id
|
||||
readonly id: number;
|
||||
// 增加的被动技能
|
||||
readonly seid: Array<number>;
|
||||
// 指向heroSkill表
|
||||
readonly skillId: number;
|
||||
// 全局加成
|
||||
readonly globalAttr: Array<{id: number, number: number}>;
|
||||
// 单体加成
|
||||
@@ -20,7 +20,6 @@ let arr = JSON.parse(str);
|
||||
|
||||
export const dicFashions = new Map<number, DicFashions>();
|
||||
arr.forEach(o => {
|
||||
o.seid = parseNumberList(o.seid);
|
||||
o.globalAttr = parseAttr(o.globalAttr);
|
||||
o.actorAttr = parseAttr(o.actorAttr);
|
||||
dicFashions.set(o.id, o);
|
||||
|
||||
@@ -9,9 +9,9 @@ export interface DicHeroSkill {
|
||||
// 技能名
|
||||
readonly name: string;
|
||||
// 星级解锁
|
||||
readonly starSeidArr: Array<{star: number, value: number}>;
|
||||
readonly starSeidArr: Array<{star: number, value: number, type: number}>;
|
||||
// 觉醒解锁
|
||||
readonly colorStarSeidArr: Array<{star: number, value: number}>;
|
||||
readonly colorStarSeidArr: Array<{star: number, value: number, type: number}>;
|
||||
|
||||
}
|
||||
|
||||
@@ -26,15 +26,15 @@ arr.forEach(o => {
|
||||
});
|
||||
|
||||
function parseSeid(str: string) {
|
||||
let arr = new Array<{star: number, value: number}>();
|
||||
let arr = new Array<{star: number, value: number, type: number}>();
|
||||
if(!str) return arr;
|
||||
let decodeArr = decodeArrayListStr(str);
|
||||
for(let [star, value] of decodeArr) {
|
||||
if(isNaN(parseInt(star)) || isNaN(parseInt(value))) {
|
||||
for(let [star, value, type] of decodeArr) {
|
||||
if(isNaN(parseInt(star)) || isNaN(parseInt(value)) || isNaN(parseInt(type))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
arr.push({ star: parseInt(star), value: parseInt(value)});
|
||||
arr.push({ star: parseInt(star), value: parseInt(value), type: parseInt(type)});
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
@@ -30,13 +30,13 @@ export function calPlayerCe(globalCeAttr: CeAttr, hero: HeroType, type: number,
|
||||
if (type == HERO_SYSTEM_TYPE.INIT) {
|
||||
reIncAttr = calHeroInitIncAttr(hero, addSeidList, removeSeidList); // args: 升的星盘
|
||||
} else if (type == HERO_SYSTEM_TYPE.STAR) {
|
||||
reIncAttr = calHeroStarIncAttr(hero, args, addSeidList); // args: 升的星盘
|
||||
reIncAttr = calHeroStarIncAttr(hero, args, addSeidList, removeSeidList); // args: 升的星盘
|
||||
} else if (type == HERO_SYSTEM_TYPE.TRAIN) {
|
||||
reIncAttr = calHeroTrainIncAttr(hero);
|
||||
} else if (type == HERO_SYSTEM_TYPE.STAGEUP) {
|
||||
reIncAttr = calHeroJobStageUpIncAttr(hero, args, addSeidList, removeSeidList )
|
||||
reIncAttr = calHeroJobStageUpIncAttr(hero, args, addSeidList, removeSeidList );
|
||||
} else if (type == HERO_SYSTEM_TYPE.SKIN) {
|
||||
reIncAttr = calHeroWearSkinIncAttr(hero, args);
|
||||
reIncAttr = calHeroWearSkinIncAttr(hero, args, addSeidList, removeSeidList );
|
||||
} else if (type == HERO_SYSTEM_TYPE.FAVOUR) {
|
||||
reIncAttr = calHeroFavourUpIncAttr(hero, args);
|
||||
} else if (type == HERO_SYSTEM_TYPE.CONNECT) {
|
||||
@@ -86,6 +86,8 @@ export async function calPlayerCeAndSave(roleId: string, heros: Array<HeroType>,
|
||||
|
||||
if (type == HERO_SYSTEM_TYPE.INIT) {
|
||||
reIncAttr = calRoleInitIncAttr(heros, role.globalCeAttr); // 全局变量增
|
||||
} else if (type == HERO_SYSTEM_TYPE.ADD_SKIN) {
|
||||
reIncAttr = calHeroAddSkin(args, role.globalCeAttr);
|
||||
}
|
||||
|
||||
for (let attrName in reIncAttr) {
|
||||
@@ -110,12 +112,16 @@ export async function calPlayerCeAndSave(roleId: string, heros: Array<HeroType>,
|
||||
|
||||
// 初始战力
|
||||
export function calHeroInitIncAttr(hero: HeroType, addSeidList: Array<number>, removeSeidList: Array<number>) {
|
||||
let res1 = calHeroStarIncAttr(hero, getAllAttrStage(), addSeidList);
|
||||
let hero1 = combineHeroCeAttr(hero, res1)
|
||||
calHeroJobStageUpIncAttr(hero1, [0], addSeidList, removeSeidList);
|
||||
let res1 = calHeroStarIncAttr(hero, getAllAttrStage(), addSeidList, removeSeidList, true);
|
||||
let hero1 = combineHeroCeAttr(hero, res1);
|
||||
|
||||
console.log(JSON.stringify(res1));
|
||||
return res1
|
||||
let curSkin = hero.skins.find(cur => cur.enable);
|
||||
let res2 = calHeroWearSkinIncAttr(hero1, [curSkin?curSkin.id:0, 0], addSeidList, removeSeidList, true);
|
||||
let hero2 = combineHeroCeAttr(hero, res2);
|
||||
|
||||
calHeroJobStageUpIncAttr(hero2, [0], addSeidList, removeSeidList);
|
||||
|
||||
return res2
|
||||
}
|
||||
|
||||
export function calRoleInitIncAttr(heros: HeroType[], globalCeAttr: CeAttr) {
|
||||
@@ -144,18 +150,28 @@ function combineHeroCeAttr(originalHero: HeroType, result: CeAttr) {
|
||||
return hero;
|
||||
}
|
||||
|
||||
export function calHeroStarIncAttr (hero: HeroType, args: Array<number>, addSeidList: Array<number>) {
|
||||
let {star, starStage, quality, colorStar, colorStarStage, ceAttr} = hero;
|
||||
/**
|
||||
*
|
||||
* @param hero HeroType 武将更新后的值
|
||||
* @param args number[] 参数,表示需要更新多少个维
|
||||
* @param addSeidList number[] 用于更新被动
|
||||
* @param removeSeidList number[] 用于更新被动
|
||||
* @param isInit boolean 是否是初次创建武将
|
||||
*/
|
||||
export function calHeroStarIncAttr (hero: HeroType, args: Array<number>, addSeidList: Array<number>, removeSeidList: Array<number>, isInit = false) {
|
||||
let {star, starStage, quality, colorStar, colorStarStage, ceAttr, skins} = hero;
|
||||
let originStar = star, originColorStar = colorStar;
|
||||
|
||||
let res: CeAttr = {};
|
||||
const dicHero = gameData.hero.get(hero.hid);
|
||||
|
||||
const isWake = colorStar > 0; // 是否觉醒,只要激活了觉醒,彩星就会 > 1
|
||||
if(isWake) {
|
||||
if(colorStarStage == ABI_STAGE.START) colorStar = colorStar -1;
|
||||
if(colorStarStage == ABI_STAGE.START) originColorStar = colorStar - 1;
|
||||
} else {
|
||||
if(starStage == ABI_STAGE.START) star = star -1;
|
||||
if(starStage == ABI_STAGE.START) originStar = star - 1;
|
||||
}
|
||||
const dicStar = isWake? getHeroWakeByQuality(quality, colorStar): getHeroStarByQuality(quality, star); // 星级表
|
||||
const dicStar = isWake? getHeroWakeByQuality(quality, originColorStar): getHeroStarByQuality(quality, originStar); // 星级表
|
||||
|
||||
for(let stage of args) {
|
||||
|
||||
@@ -174,26 +190,43 @@ export function calHeroStarIncAttr (hero: HeroType, args: Array<number>, addSeid
|
||||
}
|
||||
|
||||
// 解锁技能
|
||||
if(dicHero.skill){
|
||||
let {starSeidArr, colorStarSeidArr} = gameData.heroSkill.get(dicHero.skill);
|
||||
if(isWake) {
|
||||
for(let {star, value} of starSeidArr){
|
||||
if(hero.star == star){
|
||||
addSeidList.push(value, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for(let {star, value} of colorStarSeidArr){
|
||||
if(hero.colorStar == star){
|
||||
addSeidList.push(value, 0);
|
||||
}
|
||||
}
|
||||
let curSkin = skins.find(cur => cur.enable);
|
||||
let curSeidList = getSeidListOfFashion(curSkin.id, star, colorStar);
|
||||
let preSeidList = getSeidListOfFashion(curSkin.id, isInit?0:originStar, isInit?0:originColorStar);
|
||||
for(let [type, seid] of curSeidList) {
|
||||
if(!preSeidList.has(type)) {
|
||||
addSeidList.push(seid, 0);
|
||||
}
|
||||
}
|
||||
for(let [type, seid] of preSeidList) {
|
||||
console.log(type, seid)
|
||||
if(!curSeidList.has(type)) {
|
||||
removeSeidList.push(seid, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return res;//属性增量可以是多个
|
||||
}
|
||||
|
||||
function getSeidListOfFashion(fashionid: number, originStar: number, originColorStar: number) {
|
||||
let seidList = new Map<number, number>(); // type => seid
|
||||
if(!gameData.fashion.has(fashionid)) return seidList;
|
||||
|
||||
let { skillId } = gameData.fashion.get(fashionid);
|
||||
let { starSeidArr, colorStarSeidArr } = gameData.heroSkill.get(skillId);
|
||||
for(let {star, value, type} of starSeidArr) {
|
||||
if(originStar >= star) {
|
||||
seidList.set(type, value);
|
||||
}
|
||||
}
|
||||
for(let {star, value, type} of colorStarSeidArr) {
|
||||
if(originColorStar >= star) {
|
||||
seidList.set(type, value);
|
||||
}
|
||||
}
|
||||
return seidList
|
||||
}
|
||||
|
||||
export function getAllAttrStage () {
|
||||
let attrs = new Array<number>(); // 有升级的属性 1-hp 2-atk 3-def 4-mdef 5-agi 6-luk
|
||||
for(let stage = ABI_STAGE.START + 1; stage <= ABI_STAGE.END; stage++) {
|
||||
@@ -238,21 +271,41 @@ export function calHeroJobStageUpIncAttr(hero: HeroType, args: Array<number>, ad
|
||||
}
|
||||
|
||||
//穿戴时装
|
||||
export function calHeroWearSkinIncAttr(hero: HeroType, args: Array<number>) {
|
||||
export function calHeroWearSkinIncAttr(hero: HeroType, args: Array<number>, addSeidList: Array<number>, removeSeidList: Array<number>, isInit = false) {
|
||||
let res: CeAttr = {};
|
||||
let addSkin = gameData.fashion.get(args[0]);
|
||||
let delSkin = gameData.fashion.get(args[1]);
|
||||
let attrName: string;
|
||||
for (let attr of delSkin.actorAttr) {
|
||||
attrName = getAtrrNameById(attr.id);
|
||||
res[attrName] = {fixUp: hero.ceAttr[attrName].fixUp, base: hero.ceAttr[attrName].base, ratioUp: hero.ceAttr[attrName].ratioUp};
|
||||
res[attrName].fixUp -= attr.number * HERO_CE_RATIO;
|
||||
if(delSkin) {
|
||||
for (let attr of delSkin.actorAttr) {
|
||||
attrName = getAtrrNameById(attr.id);
|
||||
res[attrName] = {fixUp: hero.ceAttr[attrName].fixUp, base: hero.ceAttr[attrName].base, ratioUp: hero.ceAttr[attrName].ratioUp};
|
||||
res[attrName].fixUp -= attr.number * HERO_CE_RATIO;
|
||||
}
|
||||
}
|
||||
for (let attr of addSkin.actorAttr) {
|
||||
attrName = getAtrrNameById(attr.id);
|
||||
res[attrName] = {fixUp: hero.ceAttr[attrName].fixUp, base: hero.ceAttr[attrName].base, ratioUp: hero.ceAttr[attrName].ratioUp};
|
||||
res[attrName].fixUp += attr.number * HERO_CE_RATIO;
|
||||
}
|
||||
|
||||
if(!isInit) { // 初始的时候,这一段技能在calHeroStarIncAttr里计算了,不用重复算
|
||||
let { star, colorStar } = hero;
|
||||
|
||||
let curSeidList = getSeidListOfFashion(args[0], star, colorStar);
|
||||
let preSeidList = getSeidListOfFashion(args[1], star, colorStar);
|
||||
for(let [type, seid] of curSeidList) {
|
||||
if(!preSeidList.has(type)) {
|
||||
removeSeidList.push(seid, 0);
|
||||
}
|
||||
}
|
||||
for(let [type, seid] of preSeidList) {
|
||||
if(!curSeidList.has(type)) {
|
||||
addSeidList.push(seid, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -436,6 +489,8 @@ function getFieldByStage(stage: number, jobid: number) {
|
||||
// 添加技能增加的被动属性
|
||||
function addSeidEffect(reIncAttr: CeAttr, heroCeAttr: CeAttr,addSeidList: Array<number>, removeSeidList: Array<number>) {
|
||||
|
||||
console.log('addSeidList', addSeidList)
|
||||
console.log('removeSeidList', removeSeidList)
|
||||
let otiginalSeidList = [
|
||||
{list: addSeidList, multi: 1},
|
||||
{list: removeSeidList, multi: -1}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -367,7 +367,7 @@
|
||||
"isShow": 1,
|
||||
"gainvalue": "20&48&13&0",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有20%概率给自身添加一个基于自身最大血量10%护盾"
|
||||
},
|
||||
{
|
||||
"id": 1038,
|
||||
@@ -377,7 +377,7 @@
|
||||
"isShow": 1,
|
||||
"gainvalue": "20&48&13&10000",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有20%概率给自身添加一个基于自身最大血量10%护盾,该次攻击伤害加深提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1039,
|
||||
@@ -387,7 +387,7 @@
|
||||
"isShow": 1,
|
||||
"gainvalue": "25&48&13&10000",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有25%概率给自身添加一个基于自身最大血量10%护盾,该次攻击伤害加深提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1040,
|
||||
@@ -485,9 +485,9 @@
|
||||
"img": 1,
|
||||
"type": 205,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"gainvalue": "15&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有15%额外获得怒气10点怒气"
|
||||
},
|
||||
{
|
||||
"id": 1050,
|
||||
@@ -495,9 +495,9 @@
|
||||
"img": 1,
|
||||
"type": 205,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"gainvalue": "20&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有20%额外获得怒气10点怒气"
|
||||
},
|
||||
{
|
||||
"id": 1051,
|
||||
@@ -505,9 +505,9 @@
|
||||
"img": 1,
|
||||
"type": 205,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"gainvalue": "25&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "&"
|
||||
"info": "攻击时有25%额外获得怒气10点怒气"
|
||||
},
|
||||
{
|
||||
"id": 1052,
|
||||
@@ -6719,6 +6719,406 @@
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受到的所有治疗效果提升"
|
||||
},
|
||||
{
|
||||
"id": 1701,
|
||||
"name": "步甲I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "2&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受枪兵攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1702,
|
||||
"name": "步甲II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "2&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受枪兵攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1703,
|
||||
"name": "长刀I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "2&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击枪兵时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1704,
|
||||
"name": "长刀II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "2&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击枪兵时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1705,
|
||||
"name": "大盾I",
|
||||
"img": 1,
|
||||
"type": 0,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "物理伤害免减提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1706,
|
||||
"name": "勇士I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "3&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受骑兵攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1707,
|
||||
"name": "勇士II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "3&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受骑兵攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1708,
|
||||
"name": "横枪I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "3&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击骑兵时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1709,
|
||||
"name": "横枪II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "3&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击骑兵时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1710,
|
||||
"name": "枪阵I",
|
||||
"img": 1,
|
||||
"type": 101,
|
||||
"isShow": 1,
|
||||
"gainvalue": "13&10000",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "物理伤害加深提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1711,
|
||||
"name": "铁骑I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "4&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受弓兵攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1712,
|
||||
"name": "铁骑II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "4&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受弓兵攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1713,
|
||||
"name": "冲阵I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "4&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击弓兵时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1714,
|
||||
"name": "冲阵II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "4&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击弓兵时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1715,
|
||||
"name": "呼啸I",
|
||||
"img": 1,
|
||||
"type": 0,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "移动力提升1"
|
||||
},
|
||||
{
|
||||
"id": 1716,
|
||||
"name": "长守I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "1&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受步兵攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1717,
|
||||
"name": "长守II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "1&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受步兵攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1718,
|
||||
"name": "箭雨I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "1&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击步兵时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1719,
|
||||
"name": "箭雨II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "1&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击步兵时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1720,
|
||||
"name": "穿杨I",
|
||||
"img": 1,
|
||||
"type": 0,
|
||||
"isShow": 1,
|
||||
"gainvalue": "&",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "射程提升1"
|
||||
},
|
||||
{
|
||||
"id": 1721,
|
||||
"name": "锤石I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "6&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受策士攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1722,
|
||||
"name": "锤石II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "6&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受策士攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1723,
|
||||
"name": "斗气I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "6&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击策士时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1724,
|
||||
"name": "斗气II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "6&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击策士时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1725,
|
||||
"name": "怒冲I",
|
||||
"img": 1,
|
||||
"type": 101,
|
||||
"isShow": 1,
|
||||
"gainvalue": "10&5000",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "暴击提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1726,
|
||||
"name": "遁甲I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "7&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受医者攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1727,
|
||||
"name": "遁甲II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "7&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受医者攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1728,
|
||||
"name": "寒心I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "7&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击医者时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1729,
|
||||
"name": "寒心II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "7&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击医者时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1730,
|
||||
"name": "筹谋I",
|
||||
"img": 1,
|
||||
"type": 101,
|
||||
"isShow": 1,
|
||||
"gainvalue": "13&10000",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "策略伤害加深提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1731,
|
||||
"name": "光盾I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "8&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受道士攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1732,
|
||||
"name": "光盾II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "8&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受道士攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1733,
|
||||
"name": "圣手I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "8&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击道士时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1734,
|
||||
"name": "圣手II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "8&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击道士时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1735,
|
||||
"name": "灵药I",
|
||||
"img": 1,
|
||||
"type": 101,
|
||||
"isShow": 1,
|
||||
"gainvalue": "14&5000",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1736,
|
||||
"name": "卸力I",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "5&14&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受斗士攻击时,伤害减免提升5%"
|
||||
},
|
||||
{
|
||||
"id": 1737,
|
||||
"name": "卸力II",
|
||||
"img": 1,
|
||||
"type": 123,
|
||||
"isShow": 1,
|
||||
"gainvalue": "5&14&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "受斗士攻击时,伤害减免提升10%"
|
||||
},
|
||||
{
|
||||
"id": 1738,
|
||||
"name": "借势I",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "5&13&5",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击斗士时,伤害加深提高5%"
|
||||
},
|
||||
{
|
||||
"id": 1739,
|
||||
"name": "借势II",
|
||||
"img": 1,
|
||||
"type": 122,
|
||||
"isShow": 1,
|
||||
"gainvalue": "5&13&10",
|
||||
"maxOnlyNum": 1,
|
||||
"info": "攻击斗士时,伤害加深提高10%"
|
||||
},
|
||||
{
|
||||
"id": 1740,
|
||||
"name": "专注I",
|
||||
"img": 1,
|
||||
"type": 101,
|
||||
"isShow": 1,
|
||||
"gainvalue": "9&5000",
|
||||
"maxOnlyNum": 0,
|
||||
"info": "命中提升5%"
|
||||
},
|
||||
{
|
||||
"id": 301,
|
||||
"name": "血量提升",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"imgId": 2,
|
||||
"name": "砍一刀",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -20,6 +21,7 @@
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"imgId": 2,
|
||||
"name": "无双画戟",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -39,6 +41,7 @@
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"imgId": 3,
|
||||
"name": "温侯斩",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -58,6 +61,7 @@
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"imgId": 4,
|
||||
"name": "长枪投射I",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -77,6 +81,7 @@
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"imgId": 5,
|
||||
"name": "赦免I",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -96,6 +101,7 @@
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"imgId": 6,
|
||||
"name": "连珠三箭 I",
|
||||
"hurt_formula": " (ownAtk*1.2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -115,6 +121,7 @@
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"imgId": 7,
|
||||
"name": "鼓舞 I",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -134,6 +141,7 @@
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"imgId": 8,
|
||||
"name": "猛毒迷雾",
|
||||
"hurt_formula": " (ownAtk*1*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -153,6 +161,7 @@
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"imgId": 9,
|
||||
"name": "投毒",
|
||||
"hurt_formula": " (ownAtk*1.5*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -172,6 +181,7 @@
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"imgId": 10,
|
||||
"name": "巨锤震击 I",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -191,6 +201,7 @@
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"imgId": 11,
|
||||
"name": "虎痴 I",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -210,6 +221,7 @@
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"imgId": 11,
|
||||
"name": "薤叶芸香",
|
||||
"hurt_formula": "ownAtk*1",
|
||||
"gain_formula": "&",
|
||||
@@ -229,6 +241,7 @@
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"imgId": 11,
|
||||
"name": "麻沸散",
|
||||
"hurt_formula": "ownAtk*1",
|
||||
"gain_formula": "&",
|
||||
@@ -248,6 +261,7 @@
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"imgId": 14,
|
||||
"name": "敌阵突破 I",
|
||||
"hurt_formula": " (ownAtk*2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -267,6 +281,7 @@
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"imgId": 15,
|
||||
"name": "坚壁 I",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -286,6 +301,7 @@
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"imgId": 16,
|
||||
"name": "回春",
|
||||
"hurt_formula": "ownAtk*0.6",
|
||||
"gain_formula": "&",
|
||||
@@ -305,6 +321,7 @@
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"imgId": 17,
|
||||
"name": "反馈",
|
||||
"hurt_formula": "ownAtk*1",
|
||||
"gain_formula": "&",
|
||||
@@ -324,6 +341,7 @@
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"imgId": 18,
|
||||
"name": "狼王爪击",
|
||||
"hurt_formula": " (ownAtk*1.2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -343,6 +361,7 @@
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"imgId": 19,
|
||||
"name": "召唤狼群",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -362,6 +381,7 @@
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"imgId": 4,
|
||||
"name": "长枪投射II",
|
||||
"hurt_formula": " (ownAtk*3*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -381,6 +401,7 @@
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"imgId": 5,
|
||||
"name": "赦免II",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -400,6 +421,7 @@
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"imgId": 14,
|
||||
"name": "敌阵突破 II",
|
||||
"hurt_formula": " (ownAtk*3*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -419,6 +441,7 @@
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"imgId": 15,
|
||||
"name": "坚壁 II",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -438,6 +461,7 @@
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"imgId": 6,
|
||||
"name": "连珠三箭 II",
|
||||
"hurt_formula": " (ownAtk*1.5*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -457,6 +481,7 @@
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"imgId": 7,
|
||||
"name": "鼓舞 II",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -476,6 +501,7 @@
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"imgId": 8,
|
||||
"name": "猛毒迷雾",
|
||||
"hurt_formula": " (ownAtk*1.2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -495,7 +521,8 @@
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"name": "投毒",
|
||||
"imgId": 9,
|
||||
"name": "投毒II",
|
||||
"hurt_formula": " (ownAtk*1.8*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
"rage_cost": 0,
|
||||
@@ -514,6 +541,7 @@
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"imgId": 10,
|
||||
"name": "巨锤震击 II",
|
||||
"hurt_formula": " (ownAtk*2.2*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
@@ -533,6 +561,7 @@
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"imgId": 11,
|
||||
"name": "虎痴 II",
|
||||
"hurt_formula": 0,
|
||||
"gain_formula": "&",
|
||||
@@ -549,5 +578,85 @@
|
||||
"skill_info": "恢复自身20%攻击力的血量,并且给自身附加伤害减免15%,4回合内作用2次",
|
||||
"skilNameImage": 0,
|
||||
"skillSceneSpine": "&"
|
||||
},
|
||||
{
|
||||
"id": 5001,
|
||||
"imgId": 2,
|
||||
"name": "战龙无双I",
|
||||
"hurt_formula": " (ownAtk*2.5*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
"rage_cost": 100,
|
||||
"cd": 0,
|
||||
"attack_area": 5,
|
||||
"strike_area": 2,
|
||||
"object": 0,
|
||||
"skill_class": 1,
|
||||
"effect": "3348&",
|
||||
"actionName": "skill1",
|
||||
"secondActionName": "skill1_B",
|
||||
"oppoSecondActionName": "&",
|
||||
"skill_info": "猛击地面造成250%的范围伤害,范围内人数越多总伤害越高,同时给目标添加封怒的以及物攻下降效果,命中的目标会降低少量怒气",
|
||||
"skilNameImage": 0,
|
||||
"skillSceneSpine": "nuqijidonghuablue"
|
||||
},
|
||||
{
|
||||
"id": 5002,
|
||||
"imgId": 2,
|
||||
"name": "战龙无双II",
|
||||
"hurt_formula": " (ownAtk*3*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
"rage_cost": 100,
|
||||
"cd": 0,
|
||||
"attack_area": 5,
|
||||
"strike_area": 2,
|
||||
"object": 0,
|
||||
"skill_class": 1,
|
||||
"effect": "3348&",
|
||||
"actionName": "skill1",
|
||||
"secondActionName": "skill1_B",
|
||||
"oppoSecondActionName": "&",
|
||||
"skill_info": "猛击地面造成300%的范围伤害,范围内人数越多总伤害越高,同时给目标添加封怒的以及物攻下降效果,命中的目标会降低少量怒气",
|
||||
"skilNameImage": 0,
|
||||
"skillSceneSpine": "nuqijidonghuablue"
|
||||
},
|
||||
{
|
||||
"id": 5003,
|
||||
"imgId": 3,
|
||||
"name": "降龙斩I",
|
||||
"hurt_formula": " (ownAtk*2.5*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
"rage_cost": 0,
|
||||
"cd": 3,
|
||||
"attack_area": 1,
|
||||
"strike_area": 1,
|
||||
"object": 0,
|
||||
"skill_class": 2,
|
||||
"effect": "3352&",
|
||||
"actionName": "skill2",
|
||||
"secondActionName": "&",
|
||||
"oppoSecondActionName": "&",
|
||||
"skill_info": "对敌人连续攻击两次,每击造成250%的伤害",
|
||||
"skilNameImage": 0,
|
||||
"skillSceneSpine": "&"
|
||||
},
|
||||
{
|
||||
"id": 5004,
|
||||
"imgId": 3,
|
||||
"name": "降龙斩II",
|
||||
"hurt_formula": " (ownAtk*3*ownTerAddtion/100 - oppoDef*oppoTerAddtion/100)*(1 + ownDamInc/100000 - oppoDamDec/100000)",
|
||||
"gain_formula": "&",
|
||||
"rage_cost": 0,
|
||||
"cd": 3,
|
||||
"attack_area": 1,
|
||||
"strike_area": 1,
|
||||
"object": 0,
|
||||
"skill_class": 2,
|
||||
"effect": "3352&",
|
||||
"actionName": "skill2",
|
||||
"secondActionName": "&",
|
||||
"oppoSecondActionName": "&",
|
||||
"skill_info": "对敌人连续攻击两次,每击造成300%的伤害",
|
||||
"skilNameImage": 0,
|
||||
"skillSceneSpine": "&"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user