skill logic, playerid
This commit is contained in:
parent
4d4169c32d
commit
b670832ca6
@ -274,6 +274,10 @@ export class BattleHandler {
|
||||
return this._room.bAddPet(apet.exportData());
|
||||
};
|
||||
|
||||
public onDelPetNotify(apet: PetHandler){
|
||||
|
||||
};
|
||||
|
||||
public onPlayerAddCard(aplayer: PlayerHandler, count: number, maxcount: number){
|
||||
return this._room.addCard(aplayer.getId(), count, maxcount);
|
||||
};
|
||||
|
@ -24,7 +24,7 @@ export class PetHandler {
|
||||
|
||||
_exap: number = 0; // 额外
|
||||
|
||||
_exredhurt: number;
|
||||
_exredhurt: number = 0; // 减伤
|
||||
|
||||
_isHero: boolean = false;
|
||||
|
||||
@ -131,6 +131,19 @@ export class PetHandler {
|
||||
if(this._baseap < 0){
|
||||
this.die();
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
public addBaseAP(value: number){
|
||||
this._baseap += value;
|
||||
if(this._baseap < 0){
|
||||
this.die();
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
public addExAP(value: number){
|
||||
return this.addAP(value);
|
||||
};
|
||||
|
||||
public totalAP(){
|
||||
@ -138,7 +151,13 @@ export class PetHandler {
|
||||
};
|
||||
|
||||
public beHurt(value: number){
|
||||
this.addAP(-value);
|
||||
let res = value * this._exredhurt;
|
||||
return this.addAP(-res);
|
||||
};
|
||||
|
||||
public addReduceHurt(value: number){
|
||||
this._exredhurt += value;
|
||||
return value;
|
||||
};
|
||||
|
||||
public born(param: any){
|
||||
|
@ -50,7 +50,7 @@ export class PlayerHandler {
|
||||
};
|
||||
|
||||
public getId(): string{
|
||||
return this._player.heroId + '';
|
||||
return this._player.id + '';
|
||||
};
|
||||
|
||||
public newPet(): PetHandler {
|
||||
@ -154,6 +154,18 @@ export class PlayerHandler {
|
||||
return this._owner.onPlayerStealCard(this, dstplayer, count);
|
||||
};
|
||||
|
||||
public addHP(value: number){
|
||||
this._player.hp += value;
|
||||
if(value < 0){
|
||||
this.die();
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
public getHP(){
|
||||
return this._player.hp;
|
||||
};
|
||||
|
||||
public checkHalo(apet:PetHandler){
|
||||
this._pets.forEach((obj: PetHandler)=>{
|
||||
if(obj != apet){
|
||||
@ -167,6 +179,10 @@ export class PlayerHandler {
|
||||
this._friend = aplayer;
|
||||
};
|
||||
|
||||
public die(){
|
||||
//todo:
|
||||
};
|
||||
|
||||
public onPetBorned(apet: PetHandler, param: SkillParam){
|
||||
//todo: build pet init json -> client
|
||||
this._owner.onAddPetNotify(apet);
|
||||
|
@ -235,8 +235,8 @@ export class Skill {
|
||||
});
|
||||
};
|
||||
|
||||
handleCard(efftype: SkillEffectType, effvalue: number, enhanceV: number, tgt: SkillTarget){
|
||||
let res = effvalue + enhanceV;
|
||||
handleCard(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
let res = effvalue;
|
||||
switch(efftype){
|
||||
case SkillEffectType.CARD_ADD:
|
||||
if(tgt.dsttype == GameUnitType.PLAYER){
|
||||
@ -268,20 +268,50 @@ export class Skill {
|
||||
}
|
||||
};
|
||||
|
||||
handlePower(efftype: SkillEffectType, effvalue: number, enhanceV: number, tgt: SkillTarget){
|
||||
handlePower(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
switch(efftype){
|
||||
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);
|
||||
tgt.success(efftype, n);
|
||||
}
|
||||
break;
|
||||
case SkillEffectType.HURT_POWER:
|
||||
if(tgt.dsttype != GameUnitType.NONE && tgt.dsttype != GameUnitType.PLAYER){
|
||||
let n = tgt.dst.beHurt(effvalue);
|
||||
tgt.success(efftype, n);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
handleHP(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
if(efftype == SkillEffectType.HURT_HP){
|
||||
if(tgt.dsttype == GameUnitType.PLAYER){
|
||||
let n = tgt.dst.addHp(effvalue);
|
||||
tgt.success(efftype, n);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
summon(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
|
||||
};
|
||||
|
||||
handleHP(efftype: SkillEffectType, effvalue: number, enhanceV: number, tgt: SkillTarget){
|
||||
addBuff(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
|
||||
};
|
||||
|
||||
summon(efftype: SkillEffectType, effvalue: number, enhanceV: number, tgt: SkillTarget){
|
||||
|
||||
};
|
||||
|
||||
addBuff(efftype: SkillEffectType, effvalue: number, enhanceV: number, tgt: SkillTarget){
|
||||
|
||||
reduceHurt(efftype: SkillEffectType, effvalue: number, tgt: SkillTarget){
|
||||
if(efftype == SkillEffectType.HURT_REDUCE){
|
||||
if(tgt.dsttype == GameUnitType.PLAYER){
|
||||
let n = tgt.dst.addReduceHurt(effvalue);
|
||||
tgt.success(efftype, n);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
setOwner(owner: PetHandler) {
|
||||
|
@ -94,7 +94,7 @@ export const enum SkillRangeUnitType{
|
||||
* 9.触发技能(需引用ID)
|
||||
* 10.嘲讽
|
||||
* 11.扣除HP
|
||||
* 12.增加出场战力
|
||||
* 12.增加出场战力[暂不用]
|
||||
* 13.自己受到的伤害降低
|
||||
*/
|
||||
export const enum SkillEffectType
|
||||
@ -105,14 +105,14 @@ export const enum SkillEffectType
|
||||
CARD_STEAL = 3,
|
||||
CARD_CHG_EN = 4,
|
||||
POWER_ENHANCE = 5,
|
||||
HALO_ENHANCE = 5,
|
||||
HURT_POWER = 6,
|
||||
SUMMON_NPC = 7,
|
||||
SUMMON_SKILL = 8,
|
||||
TAUNT = 9,
|
||||
HURT_HP = 10,
|
||||
POWER_ADD_BUFF = 11,
|
||||
HURT_RED = 12,
|
||||
POWEREX_ENHANCE = 6,
|
||||
HURT_POWER = 7,
|
||||
SUMMON_NPC = 8,
|
||||
SUMMON_SKILL = 9,
|
||||
TAUNT = 10,
|
||||
HURT_HP = 11,
|
||||
POWER_ADD_BUFF = 12,
|
||||
HURT_REDUCE = 13,
|
||||
};
|
||||
|
||||
// 技能效果参数类型
|
||||
|
@ -90,34 +90,41 @@ let TriggerManager = {
|
||||
case SkillEffectType.CARD_STEAL:
|
||||
case SkillEffectType.CARD_CHG_EN:
|
||||
tgts.forEach((item)=>{
|
||||
sender.handleCard(effectid, effv, env, item);
|
||||
sender.handleCard(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
case SkillEffectType.POWER_ENHANCE:
|
||||
case SkillEffectType.POWEREX_ENHANCE:
|
||||
case SkillEffectType.HURT_POWER:
|
||||
tgts.forEach((item)=>{
|
||||
sender.handlePower(effectid, effv, env, item);
|
||||
sender.handlePower(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
case SkillEffectType.SUMMON_NPC:
|
||||
case SkillEffectType.SUMMON_SKILL:
|
||||
tgts.forEach((item)=>{
|
||||
sender.summon(effectid, effv, env, item);
|
||||
sender.summon(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
case SkillEffectType.TAUNT:
|
||||
//todo: 不处理
|
||||
case SkillEffectType.HURT_HP:
|
||||
tgts.forEach((item)=>{
|
||||
sender.handleHP(effectid, effv, env, item);
|
||||
sender.handleHP(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
break;
|
||||
case SkillEffectType.POWER_ADD_BUFF:
|
||||
case SkillEffectType.HURT_RED:
|
||||
tgts.forEach((item)=>{
|
||||
sender.addBuff(effectid, effv, env, item);
|
||||
sender.addBuff(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
break;
|
||||
case SkillEffectType.HURT_REDUCE:
|
||||
tgts.forEach((item)=>{
|
||||
sender.reduceHurt(effectid, effv + env, item);
|
||||
});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return tgts;
|
||||
@ -132,14 +139,14 @@ let TriggerManager = {
|
||||
case SkillEffectType.CARD_STEAL:
|
||||
case SkillEffectType.CARD_CHG_EN:
|
||||
case SkillEffectType.POWER_ENHANCE:
|
||||
case SkillEffectType.HALO_ENHANCE:
|
||||
case SkillEffectType.POWEREX_ENHANCE:
|
||||
case SkillEffectType.HURT_POWER:
|
||||
case SkillEffectType.SUMMON_NPC:
|
||||
case SkillEffectType.SUMMON_SKILL:
|
||||
case SkillEffectType.TAUNT:
|
||||
case SkillEffectType.HURT_HP:
|
||||
case SkillEffectType.POWER_ADD_BUFF:
|
||||
case SkillEffectType.HURT_RED:
|
||||
case SkillEffectType.HURT_REDUCE:
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user