增加效果卡转换比率接口

This commit is contained in:
yuexin 2020-12-11 11:17:48 +08:00
parent 395b88b995
commit 1300a629db
5 changed files with 35 additions and 12 deletions

View File

@ -271,6 +271,15 @@ export class BattleHandler {
return ph && ph.hasTransEffCardSkill();
};
/**
*
* @param aplayer
*/
public getTransEffCardRate(aplayer: Player): number{
let ph = this.getPlayer(aplayer);
return ph? ph.getTransEffCardRate(): 0;
};
/**
* /[]
* @param aplayer : 玩家

View File

@ -220,8 +220,9 @@ export class PetHandler {
return value;
};
public addExAP(value: number, skill: Skill){
public addExAP(value: number, skill: Skill): number{
// return this.addAP(value);
return 0;
};
public totalAP(){

View File

@ -366,6 +366,19 @@ export class PlayerHandler {
return bok;
};
public getTransEffCardRate(): number{
if(!this._self){
return 0;
}
for(let [key, val] of this._self._skills){
if(val.isTransEffCardSkill()){
return val.getEffValue();
}
}
return 0;
};
onCardLinkReady(fromplayer: PlayerHandler){
this.checkSkills(TriggerType.CARD_LINK_BEFORE);
};

View File

@ -240,7 +240,7 @@ export class Skill {
switch(efftype){
case SkillEffectType.CARD_ADD:
if(tgt.dsttype == GameUnitType.PLAYER){
let n = tgt.dst.addCard(res, tgt.srcplayer);
let n = (tgt.dst as PlayerHandler).addCard(res, tgt.srcplayer);
if(n >= 0){
tgt.success(efftype, n);
}
@ -250,7 +250,7 @@ export class Skill {
break;
case SkillEffectType.CARD_ADD_LIMIT:
if(tgt.dsttype == GameUnitType.PLAYER){
let n = tgt.dst.addCardLimit(res, tgt.srcplayer);
let n = (tgt.dst as PlayerHandler).addCardLimit(res, tgt.srcplayer);
if(n >= 0){
tgt.success(efftype, n);
}
@ -260,7 +260,7 @@ export class Skill {
break;
case SkillEffectType.CARD_STEAL:
if(tgt.dsttype == GameUnitType.PLAYER){
let n = tgt.srcplayer.stealCard(tgt.dst, res);
let n = tgt.srcplayer.stealCard((tgt.dst as PlayerHandler), res);
if(n >= 0){
tgt.success(efftype, n);
}
@ -281,7 +281,7 @@ export class Skill {
case SkillEffectType.POWER_ENHANCE:
case SkillEffectType.POWEREX_ENHANCE:
if(tgt.dsttype != GameUnitType.NONE && tgt.dsttype != GameUnitType.PLAYER){
let n = efftype == SkillEffectType.POWER_ENHANCE? tgt.dst.addBaseAP(effvalue): tgt.dst.addExAP(effvalue, this);
let n = efftype == SkillEffectType.POWER_ENHANCE? (tgt.dst as PetHandler).addBaseAP(effvalue): (tgt.dst as PetHandler).addExAP(effvalue, this);
tgt.success(efftype, n);
}else{
tgt.fail(efftype, -1);
@ -289,7 +289,7 @@ export class Skill {
break;
case SkillEffectType.HURT_POWER:
if(tgt.dsttype != GameUnitType.NONE && tgt.dsttype != GameUnitType.PLAYER){
let n = tgt.dst.beHurt(effvalue);
let n = (tgt.dst as PetHandler).beHurt(effvalue);
tgt.success(efftype, n);
}else{
tgt.fail(efftype, -1);
@ -333,7 +333,7 @@ export class Skill {
taunt(tgt:SkillTarget){
let efftype = SkillEffectType.TAUNT;
if(tgt.dsttype != GameUnitType.NONE && tgt.dsttype != GameUnitType.PLAYER){
tgt.dst.taunt();
(tgt.dst as PetHandler).taunt();
tgt.success(efftype, 1);
}else{
tgt.fail(efftype, -1);
@ -347,7 +347,7 @@ export class Skill {
reduceHurt(effvalue: number, tgt: SkillTarget){
let efftype = SkillEffectType.HURT_REDUCE;
if(tgt.dsttype != GameUnitType.NONE && tgt.dsttype != GameUnitType.PLAYER){
let n = tgt.dst.addReduceHurt(effvalue);
let n = (tgt.dst as PetHandler).addReduceHurt(effvalue);
tgt.success(efftype, n);
}else{
tgt.fail(efftype, -1);

View File

@ -45,7 +45,7 @@ export class SkillTarget{
srcpet: PetHandler;
srcskill: Skill;
srcskillid: number;
dst: any;
dst: PlayerHandler | PetHandler;
dsttype: GameUnitType;
lasttime: number;
@ -111,10 +111,10 @@ export class SkillTarget{
let ed = new SKillEffectData();
if(this.dsttype == GameUnitType.PLAYER){
ed.pos = 0;
ed.player = this.dst.getId();
ed.player = (this.dst as PlayerHandler).getId();
}else {
ed.pos = this.dst._idx;
ed.player = this.dst._owner.getId();
ed.pos = (this.dst as PetHandler)._idx;
ed.player = (this.dst as PetHandler)._owner.getId();
}
ed.effect_id = item.effect_type;
ed.val = item.bsuccess? item.effect_res: item.err;