修订参数计算问题;整理逻辑
This commit is contained in:
parent
62208ee97a
commit
d049126b68
16
.vscode/launch.json
vendored
16
.vscode/launch.json
vendored
@ -48,6 +48,22 @@
|
||||
"type": "node",
|
||||
"trace": true
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
"address": "127.0.0.1",
|
||||
"localRoot": "${workspaceFolder}/src",
|
||||
"name": "homework",
|
||||
"port": 9229,
|
||||
"remoteRoot": "C:\\work\\git\\card_svr\\src",
|
||||
"request": "attach",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**",
|
||||
"node_modules/**"
|
||||
],
|
||||
"type": "node",
|
||||
"trace": true
|
||||
|
||||
}
|
||||
]
|
||||
}
|
@ -4,7 +4,7 @@ import { SkillCfg } from "cfg/parsers/SkillCfg";
|
||||
import { UnitCfg } from "cfg/parsers/UnitCfg";
|
||||
import arrUtil from "../../utils/array.util";
|
||||
import { BaseConst } from "../../constants/BaseConst";
|
||||
import { EffectCardType, EnhanceCalcType, EnhanceEffectType, SkillEffectSignType, SkillEffectValueType, SkillTargetType } from "./skill/SkillConst";
|
||||
import { EffectCardType, EnhanceCalcType, EnhanceCustomType, EnhanceEffectType, SkillEffectSignType, SkillEffectValueType, SkillTargetType } from "./skill/SkillConst";
|
||||
|
||||
let CfgMan = {
|
||||
/**
|
||||
@ -39,10 +39,10 @@ let CfgMan = {
|
||||
): number{
|
||||
switch(eT){
|
||||
case EnhanceEffectType.EN_POWER_BYAP:
|
||||
case EnhanceEffectType.EN_SKILL_BYAP:
|
||||
case EnhanceEffectType.EN_EFFV_BYAP:
|
||||
return eV * eC * aP;
|
||||
case EnhanceEffectType.EN_POWER_BYCFG:
|
||||
case EnhanceEffectType.EN_SKILL_BYCFG:
|
||||
case EnhanceEffectType.EN_EFFV_BYCV:
|
||||
return eV * eC;
|
||||
case EnhanceEffectType.EN_QCOUNT:
|
||||
return eC;
|
||||
@ -88,7 +88,8 @@ let CfgMan = {
|
||||
return n;
|
||||
},
|
||||
|
||||
calcEffctValueEx(
|
||||
calcEffctValueEx(
|
||||
eCT: EnhanceCustomType,
|
||||
eVT: SkillEffectValueType,
|
||||
eST: SkillEffectSignType,
|
||||
eV: number,
|
||||
@ -96,18 +97,49 @@ let CfgMan = {
|
||||
sP: number)
|
||||
{
|
||||
let n = this._calcValue(eV, eST);
|
||||
switch(eVT){
|
||||
case SkillEffectValueType.RATIO_AP:
|
||||
n *= aP;
|
||||
break;
|
||||
case SkillEffectValueType.RATIO_SP:
|
||||
n *= sP;
|
||||
break;
|
||||
if(eCT == EnhanceCustomType.EFF_VALUE){
|
||||
switch(eVT){
|
||||
case SkillEffectValueType.RATIO_AP:
|
||||
aP && (n *= aP);
|
||||
break;
|
||||
case SkillEffectValueType.RATIO_SP:
|
||||
sP && (n *= sP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return n;
|
||||
},
|
||||
|
||||
randomEffectValue(
|
||||
canEnhanceValue(eCT: EnhanceCustomType, eET: EnhanceEffectType): boolean{
|
||||
switch(eCT){
|
||||
case EnhanceCustomType.EFF_VALUE:
|
||||
return eET == EnhanceEffectType.EN_EFFV_BYAP ||
|
||||
eET == EnhanceEffectType.EN_EFFV_BYAP_MAX ||
|
||||
eET == EnhanceEffectType.EN_EFFV_BYAP_MM ||
|
||||
eET == EnhanceEffectType.EN_EFFV_BYCV ||
|
||||
eET == EnhanceEffectType.EN_EFFV_BYCV_MAX ||
|
||||
eET == EnhanceEffectType.EN_EFFV_BYCV_MM;
|
||||
case EnhanceCustomType.ENHANCE_MAGIC:
|
||||
return eET == EnhanceEffectType.EN_EM;
|
||||
case EnhanceCustomType.QUOTE_TIMES:
|
||||
case EnhanceCustomType.GET_TIMES:
|
||||
return eET == EnhanceEffectType.EN_QCOUNT ||
|
||||
eET == EnhanceEffectType.EN_QCOUNT_MAX ||
|
||||
eET == EnhanceEffectType.EN_QCOUNT_MM;
|
||||
case EnhanceCustomType.POWER:
|
||||
return eET == EnhanceEffectType.EN_POWER_BYAP ||
|
||||
eET == EnhanceEffectType.EN_POWER_BYCFG;
|
||||
case EnhanceCustomType.RELEASE_TIMES:
|
||||
return eET == EnhanceEffectType.EN_SKILL_RELEASE_MAX ||
|
||||
eET == EnhanceEffectType.EN_SKILL_RELEASE_MIN ||
|
||||
eET == EnhanceEffectType.EN_SKILL_RELEASE_MM;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
randomEffValue(
|
||||
vMin: number,
|
||||
vMax: number,
|
||||
|
||||
@ -121,57 +153,59 @@ let CfgMan = {
|
||||
let eV = this._calcValue(eEV, eST);
|
||||
let nmin = vMin;
|
||||
let nmax = vMax;
|
||||
switch(eET){
|
||||
case EnhanceEffectType.EN_SKILL_BYCFG:
|
||||
nmin += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_BYAP:
|
||||
nmin += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_QCOUNT:
|
||||
nmin += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_POWER_BYCFG:
|
||||
nmin += eV * aC;
|
||||
nmax = nmin;
|
||||
break;
|
||||
case EnhanceEffectType.EN_POWER_BYAP:
|
||||
nmin += eV * aC;
|
||||
nmax = nmin;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MIN:
|
||||
nmin += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MAX:
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_QCOUNT_MAX:
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_BYCFG_MAX:
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_BYCFG_MM:
|
||||
nmin += eV * aC;
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_BYAP_MAX:
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_BYAP_MM:
|
||||
nmin += eV * aC;
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_QCOUNT_MM:
|
||||
nmin += aC;
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MM:
|
||||
nmin += aC;
|
||||
nmax += aC;
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
if(aC){
|
||||
switch(eET){
|
||||
case EnhanceEffectType.EN_EFFV_BYCV:
|
||||
nmin += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_EFFV_BYAP:
|
||||
nmin += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_QCOUNT:
|
||||
nmin += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_POWER_BYCFG:
|
||||
nmin += eV * aC;
|
||||
nmax = nmin;
|
||||
break;
|
||||
case EnhanceEffectType.EN_POWER_BYAP:
|
||||
nmin += eV * aC;
|
||||
nmax = nmin;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MIN:
|
||||
nmin += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MAX:
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_QCOUNT_MAX:
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_EFFV_BYCV_MAX:
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_EFFV_BYCV_MM:
|
||||
nmin += eV * aC;
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_EFFV_BYAP_MAX:
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_EFFV_BYAP_MM:
|
||||
nmin += eV * aC;
|
||||
nmax += eV * aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_QCOUNT_MM:
|
||||
nmin += aC;
|
||||
nmax += aC;
|
||||
break;
|
||||
case EnhanceEffectType.EN_SKILL_RELEASE_MM:
|
||||
nmin += aC;
|
||||
nmax += aC;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return this.roundV(nmin, nmax);
|
||||
},
|
||||
|
@ -187,7 +187,7 @@ export class BattleHandler {
|
||||
case GameUnitType.PET:
|
||||
if(skill.isSingleTarget()){
|
||||
let pet = this.getFinalTarget(skill._data.rangeid, players, param.dstpet, param.srcpet, skill._data.targetid,
|
||||
skill.isHurtPowerSkill());
|
||||
!!skill._data.ridicule);
|
||||
pet && lst.push(new SkillTarget(skill, param.srcplayer, param.srcpet,
|
||||
pet, pet._isHero? GameUnitType.HERO: GameUnitType.PET));
|
||||
}else{
|
||||
@ -247,8 +247,10 @@ export class BattleHandler {
|
||||
break;
|
||||
case GameCampType.ENEMYTEAM:
|
||||
for(let [key, obj] of this._players){
|
||||
if(obj != src && obj != src._friend && obj.isAlive()){
|
||||
lst.push(obj);
|
||||
if(obj != src && obj.isAlive()){
|
||||
if(src && obj != src._friend){
|
||||
lst.push(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -263,11 +265,13 @@ export class BattleHandler {
|
||||
{
|
||||
let tmp: PlayerHandler[] = [];
|
||||
for(let [key, obj] of this._players){
|
||||
if(obj != src && obj != src._friend && obj.isAlive()){
|
||||
tmp.push(obj);
|
||||
if(obj != src && obj.isAlive()){
|
||||
if(src && obj != src._friend){
|
||||
tmp.push(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
lst.push(arrUtil.randomOne(tmp));
|
||||
(tmp.length > 0) && lst.push(arrUtil.randomOne(tmp));
|
||||
}
|
||||
break;
|
||||
case GameCampType.RANDOM_US:
|
||||
|
@ -66,7 +66,7 @@ export class PetHandler {
|
||||
this._id = id || 0;
|
||||
this._cfg = CfgMan.findUnitCfg(this._id);
|
||||
|
||||
this._exredhurt = this._cfg.defense;
|
||||
this._exredhurt = this._cfg.defense / 100;
|
||||
this._enmagic = this._cfg.spell_power;
|
||||
|
||||
if(!param || !param.cardpoint){
|
||||
@ -329,9 +329,9 @@ export class PetHandler {
|
||||
public attack(apet: PetHandler, param: SkillParam, ev: number = 0, isAtkBack: boolean = false){
|
||||
!isAtkBack && this._owner.onAttackBefore(this, param);
|
||||
|
||||
let myap = this.totalAP();
|
||||
myap += myap*ev;
|
||||
// let otherap = apet.totalAP();
|
||||
// let myap = this.totalAP();
|
||||
// myap += myap*ev;
|
||||
let myap = ev? ev: this.totalAP();
|
||||
|
||||
let n = apet.beHurt(myap);
|
||||
|
||||
|
@ -298,8 +298,8 @@ export class PlayerHandler {
|
||||
return this._self.reborn();
|
||||
};
|
||||
|
||||
public attack(apet: PetHandler, param: SkillParam, ev: number){
|
||||
return this._self.attack(apet, param, ev);
|
||||
public attack(apet: PetHandler, param: SkillParam, ev: number, isAtkBack: boolean = false){
|
||||
return this._self.attack(apet, param, ev, isAtkBack);
|
||||
};
|
||||
|
||||
public beSilent(count: number){
|
||||
|
@ -3,7 +3,7 @@ import { SKillEffectData } from "message/SkillInfo";
|
||||
import CfgMan from "../CfgMan";
|
||||
import { PetHandler } from "../Handler/PetHandler";
|
||||
import { PlayerHandler } from "../Handler/PlayerHandler";
|
||||
import { CondDecideType, GameCampType, GameUnitType, SkillEffectType, SkillEffectValueType, SkillRangeUnitType, SkillType, TriggerType } from "./SkillConst";
|
||||
import { CondDecideType, EnhanceCustomType, GameCampType, GameUnitType, SkillEffectType, SkillEffectValueType, SkillRangeUnitType, SkillType, TriggerType } from "./SkillConst";
|
||||
import { SkillParam, SkillTarget } from "./SkillParam";
|
||||
import { TriggerCtrl } from "./TriggerCtrl";
|
||||
import TriggerManager from "./TriggerMan";
|
||||
@ -100,8 +100,13 @@ export class Skill {
|
||||
return this._data.effect_typeid == SkillEffectType.CARD_CHG_EN;
|
||||
};
|
||||
|
||||
isHurtPowerSkill(){
|
||||
return this._data.effect_typeid == SkillEffectType.HURT_POWER;
|
||||
isHurtSkill(){
|
||||
return this._data.effect_typeid == SkillEffectType.HURT_POWER ||
|
||||
this._data.effect_typeid == SkillEffectType.HURT_ALL;
|
||||
};
|
||||
|
||||
isAttackSkill(){
|
||||
return this._data.effect_typeid == SkillEffectType.ATTACK;
|
||||
};
|
||||
|
||||
isRebornSkill(){
|
||||
@ -172,14 +177,21 @@ export class Skill {
|
||||
};
|
||||
|
||||
|
||||
getEffValue(ac?: number, ap?: number): number{
|
||||
return this.getFinalValue(this._data.eff_num, this._data.eff_nummax, ac, ap);
|
||||
getEffValue(ac?: number, ap?: number, sp?: number): number{
|
||||
let nmin = CfgMan.calcEffctValueEx(EnhanceCustomType.EFF_VALUE, this._data.eff_numtypeid, this._data.num_signid, this._data.eff_num, ap, sp);
|
||||
let nmax = CfgMan.calcEffctValueEx(EnhanceCustomType.EFF_VALUE, this._data.eff_numtypeid, this._data.num_signid, this._data.eff_nummax, ap, sp);
|
||||
return this.getFinalValue(EnhanceCustomType.EFF_VALUE, nmin, nmax, ac, ap, sp);
|
||||
};
|
||||
|
||||
getFinalValue(nmin: number, nmax: number, ac:number, ap: number, sp: number = 0): number{
|
||||
let n = CfgMan.randomEffectValue(nmin, nmax, this._data.edd_effid, this._data.eddeffnum_signid,
|
||||
this._data.edd_effnum, ac);
|
||||
return CfgMan.calcEffctValueEx(this._data.eff_numtypeid, this._data.num_signid, n, ap, sp);
|
||||
getFinalValue(vtype:EnhanceCustomType, nmin: number, nmax: number, ac:number, ap: number, sp: number = 0): number{
|
||||
let n = 0;
|
||||
if(CfgMan.canEnhanceValue(vtype, this._data.edd_effid)){
|
||||
n = CfgMan.randomEffValue(nmin, nmax, this._data.edd_effid, this._data.eddeffnum_signid,
|
||||
this._data.edd_effnum, ac);
|
||||
}else{
|
||||
n = CfgMan.roundV(nmin, nmax);
|
||||
}
|
||||
return n;
|
||||
};
|
||||
|
||||
getHaloValue(): number{
|
||||
@ -220,10 +232,14 @@ export class Skill {
|
||||
if(this._subskill){
|
||||
let subparam = this._data.skill_users? param.clone(): param;
|
||||
if(this._data.skill_users){
|
||||
let tmpplayer = subparam.srcplayer;
|
||||
let tmppet = subparam.srcpet;
|
||||
subparam.srcplayer = subparam.dstplayer;
|
||||
subparam.srcpet = subparam.dstpet;
|
||||
subparam.dstpet = tmppet;
|
||||
subparam.dstplayer = tmpplayer;
|
||||
}
|
||||
let ncount = this.getFinalValue(this._data.quotecard_times,
|
||||
let ncount = this.getFinalValue(EnhanceCustomType.QUOTE_TIMES, this._data.quotecard_times,
|
||||
this._data.quotecard_timesmax, param.edd_cnt, param.cardpoint);
|
||||
if(ncount == 0){
|
||||
ncount = 1;
|
||||
@ -252,7 +268,7 @@ export class Skill {
|
||||
};
|
||||
|
||||
trigger(param: SkillParam, cb?: any) {
|
||||
let ncount = this.getFinalValue(this._data.release_times,
|
||||
let ncount = this.getFinalValue(EnhanceCustomType.RELEASE_TIMES, this._data.release_times,
|
||||
this._data.release_timesmax, param.edd_cnt, param.cardpoint);
|
||||
if(ncount == 0){
|
||||
ncount = 1;
|
||||
@ -386,7 +402,7 @@ export class Skill {
|
||||
switch(efftype){
|
||||
case SkillEffectType.SUMMON_NPC:
|
||||
{
|
||||
let ncount = this.getFinalValue(this._data.quoteunit_times, this._data.quoteunit_timesmax,
|
||||
let ncount = this.getFinalValue(EnhanceCustomType.QUOTE_TIMES, this._data.quoteunit_times, this._data.quoteunit_timesmax,
|
||||
exparam.edd_cnt, exparam.cardpoint);
|
||||
if(ncount == 0){
|
||||
ncount = 1;
|
||||
@ -402,7 +418,7 @@ export class Skill {
|
||||
break;
|
||||
case SkillEffectType.SUMMON_SKILL:
|
||||
{
|
||||
let ncount = this.getFinalValue(this._data.quoteskill_times, this._data.quoteskill_timesmax,
|
||||
let ncount = this.getFinalValue(EnhanceCustomType.QUOTE_TIMES, this._data.quoteskill_times, this._data.quoteskill_timesmax,
|
||||
exparam.edd_cnt, exparam.cardpoint);
|
||||
if(ncount == 0){
|
||||
ncount = 1;
|
||||
@ -418,7 +434,7 @@ export class Skill {
|
||||
break;
|
||||
case SkillEffectType.SKILL_GET:
|
||||
{
|
||||
let ncount = this.getFinalValue(this._data.getskill_times, this._data.getskill_timesmax,
|
||||
let ncount = this.getFinalValue(EnhanceCustomType.GET_TIMES, this._data.getskill_times, this._data.getskill_timesmax,
|
||||
exparam.edd_cnt, exparam.cardpoint);
|
||||
if(ncount == 0){
|
||||
ncount = 1;
|
||||
@ -526,18 +542,20 @@ export class Skill {
|
||||
let res = obj.attack((tgt.dst as PetHandler), param, v);
|
||||
if(res){
|
||||
tgt.success(efftype, res);
|
||||
if(this._data.quoteskillid == 40112){
|
||||
let dp = this._data.skill_users? param.clone(): param;
|
||||
if(this._data.skill_users){
|
||||
dp.srcpet = param.dstpet;
|
||||
dp.srcplayer = param.dstplayer;
|
||||
}
|
||||
let pet = tgt.srcpet;
|
||||
if(!pet && tgt.srcplayer){
|
||||
pet = tgt.srcplayer._self;
|
||||
}
|
||||
(tgt.dst as PetHandler).attack(pet, dp, 0, true);
|
||||
}
|
||||
// if(this._data.quoteskillid){
|
||||
// let dp = this._data.skill_users? param.clone(): param;
|
||||
// if(this._data.skill_users){
|
||||
// dp.srcpet = param.dstpet;
|
||||
// dp.srcplayer = param.dstplayer;
|
||||
// dp.dstpet = param.srcpet;
|
||||
// dp.dstplayer = param.srcplayer;
|
||||
// }
|
||||
// let pet = tgt.srcpet;
|
||||
// if(!pet && tgt.srcplayer){
|
||||
// pet = tgt.srcplayer._self;
|
||||
// }
|
||||
// (tgt.dst as PetHandler).attack(pet, dp, 0, true);
|
||||
// }
|
||||
}else{
|
||||
tgt.fail(efftype, -1);
|
||||
}
|
||||
@ -551,7 +569,7 @@ export class Skill {
|
||||
if(tgt.dsttype == GameUnitType.HERO || tgt.dsttype == GameUnitType.PET){
|
||||
let obj = tgt.srcpet? tgt.srcpet: tgt.srcplayer;
|
||||
let v = effvalue;
|
||||
let res = obj.attack((tgt.dst as PetHandler), param, v);
|
||||
let res = obj.attack((tgt.dst as PetHandler), param, v, true);
|
||||
if(res){
|
||||
tgt.success(efftype, res);
|
||||
}else{
|
||||
|
@ -186,6 +186,17 @@ export const enum EffectCardType
|
||||
NPC_CUSTOM = 11,
|
||||
};
|
||||
|
||||
export const enum EnhanceCustomType
|
||||
{
|
||||
NONE = 0,
|
||||
EFF_VALUE = 1, // 效果参数
|
||||
QUOTE_TIMES = 2, // 引用随从/技能/卡牌次数
|
||||
POWER = 4, // 出场战力
|
||||
RELEASE_TIMES = 5, // 技能释放次数
|
||||
ENHANCE_MAGIC = 6, // 法强
|
||||
GET_TIMES = 7, // 获得技能
|
||||
};
|
||||
|
||||
// 技能效果强化类型
|
||||
/**
|
||||
* 1.(使效果参数)+效果强化参数*效果强化牌数 //下限
|
||||
@ -202,23 +213,25 @@ export const enum EffectCardType
|
||||
* 27.效果参数(下限+上限)+a倍速*总点数*a牌数
|
||||
* 28.引用次数(下限+上限)+a牌数
|
||||
* 29.释放次数(下限+上限)+a牌数
|
||||
* 30.单位法术强度+a参数*a牌数
|
||||
*/
|
||||
export const enum EnhanceEffectType {
|
||||
NONE = 0,
|
||||
EN_SKILL_BYCFG = 1,
|
||||
EN_SKILL_BYAP = 2,
|
||||
EN_EFFV_BYCV = 1,
|
||||
EN_EFFV_BYAP = 2,
|
||||
EN_QCOUNT = 3,
|
||||
EN_POWER_BYCFG = 4,
|
||||
EN_POWER_BYAP = 5,
|
||||
EN_SKILL_RELEASE_MIN = 21,
|
||||
EN_SKILL_RELEASE_MAX = 22,
|
||||
EN_QCOUNT_MAX = 23,
|
||||
EN_SKILL_BYCFG_MAX = 24,
|
||||
EN_SKILL_BYCFG_MM = 25,
|
||||
EN_SKILL_BYAP_MAX = 26,
|
||||
EN_SKILL_BYAP_MM = 27,
|
||||
EN_SKILL_QCOUNT_MM = 28,
|
||||
EN_EFFV_BYCV_MAX = 24,
|
||||
EN_EFFV_BYCV_MM = 25,
|
||||
EN_EFFV_BYAP_MAX = 26,
|
||||
EN_EFFV_BYAP_MM = 27,
|
||||
EN_QCOUNT_MM = 28,
|
||||
EN_SKILL_RELEASE_MM = 29,
|
||||
EN_EM = 30,
|
||||
};
|
||||
|
||||
export const enum EnhanceCalcType {
|
||||
|
@ -148,12 +148,16 @@ let TriggerManager = {
|
||||
break;
|
||||
case SkillEffectType.ATTACK:
|
||||
tgts.forEach((item)=>{
|
||||
sender.attack(effv, item, param);
|
||||
let obj = item.srcpet? item.srcpet: item.srcplayer;
|
||||
let ev = sender.getEffValue(param.edd_cnt, param.cardpoint, obj.totalAP());
|
||||
sender.attack(ev, item, param);
|
||||
});
|
||||
break;
|
||||
case SkillEffectType.ATTACK_BACK:
|
||||
tgts.forEach((item)=>{
|
||||
sender.attack_back(effv, item, param);
|
||||
let obj = item.srcpet? item.srcpet: item.srcplayer;
|
||||
let ev = sender.getEffValue(param.edd_cnt, param.cardpoint, obj.totalAP());
|
||||
sender.attack_back(ev, item, param);
|
||||
});
|
||||
break;
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user