增加效果卡转换比率接口
This commit is contained in:
parent
395b88b995
commit
1300a629db
@ -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 : 玩家
|
||||
|
@ -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(){
|
||||
|
@ -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);
|
||||
};
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user