修改,特技战力加成通过时装表获得

This commit is contained in:
luying
2020-12-23 20:32:58 +08:00
parent 3732c536d2
commit 557ee27f43
9 changed files with 7353 additions and 802 deletions

View File

@@ -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});
}

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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": "血量提升",

View File

@@ -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": "&"
}
]