Merge branch 'master' of git.kingsome.cn:node/card_svr

This commit is contained in:
zhl 2020-12-09 17:49:23 +08:00
commit 737e61728c
3 changed files with 19 additions and 16 deletions

View File

@ -119,17 +119,17 @@ export class BattleHandler {
}else{
if(skill.isAllTarget()){
players.forEach((item: PlayerHandler)=>{
item.exportAllPets(skill._data.targetid, param, null, lst);
item.exportAllPets(skill, param, null, lst);
});
}else{
if(param.srcpet){
players.forEach((item: PlayerHandler)=>{
item.exportAllPets(skill._data.targetid, param, param.srcpet, lst);
item.exportAllPets(skill, param, param.srcpet, lst);
});
}else{
players.forEach((item: PlayerHandler)=>{
if(item != param.srcplayer){
item.exportAllPets(skill._data.targetid, param, param.srcpet, lst);
item.exportAllPets(skill, param, param.srcpet, lst);
}
});
}

View File

@ -92,27 +92,28 @@ export class PlayerHandler {
})
};
public exportAllPets(ct: GameUnitType, param: SkillParam, expet: PetHandler, dst: SkillTarget[]): SkillTarget[]{
public exportAllPets(skill: Skill, param: SkillParam, expet: PetHandler, dst: SkillTarget[]): SkillTarget[]{
if(!dst){
return null;
}
let ct = skill._data.targetid;
switch(ct){
case GameUnitType.BATTLEUNIT:
let lst = this._pets.reverse();
lst.forEach(element => {
if(expet != element){
dst.push(new SkillTarget(param.skill, param.srcplayer, param.srcpet, element, GameUnitType.PET));
dst.push(new SkillTarget(skill, param.srcplayer, param.srcpet, element, GameUnitType.PET));
}
});
(expet != this._self) && dst.push(new SkillTarget(param.skill, param.srcplayer, param.srcpet, this._self, GameUnitType.PET));
(expet != this._self) && dst.push(new SkillTarget(skill, param.srcplayer, param.srcpet, this._self, GameUnitType.PET));
break;
case GameUnitType.HERO:
(expet != this._self) && dst.push(new SkillTarget(param.skill, param.srcplayer, param.srcpet, this._self, GameUnitType.PET));
(expet != this._self) && dst.push(new SkillTarget(skill, param.srcplayer, param.srcpet, this._self, GameUnitType.PET));
break;
case GameUnitType.PET:
lst.forEach(element => {
if(expet != element){
dst.push(new SkillTarget(param.skill, param.srcplayer, param.srcpet, element, GameUnitType.PET));
dst.push(new SkillTarget(skill, param.srcplayer, param.srcpet, element, GameUnitType.PET));
}
});
break;
@ -143,17 +144,18 @@ export class PlayerHandler {
pet.loadData(cfg.stageunit_id, obj,
[cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]);
}else if(cfg.type_id == EffectCardType.MAGIC){
this.useSkills([cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id], obj);
let lst = [];
cfg.quoteskill1id && lst.push(cfg.quoteskill1id);
cfg.quoteskill2id && lst.push(cfg.quoteskill2id);
cfg.quoteskill3id && lst.push(cfg.quoteskill3id);
cfg.quoteskill4id && lst.push(cfg.quoteskill4id);
this.useSkills(lst, obj);
}
};
public useSkills(skills: number[], obj: SkillParam)
{
if(!skills){
return;
}
skills.forEach((item: number)=>{
skills && skills.forEach((item: number)=>{
this.useSkill(item, 1, obj);
});
};
@ -172,6 +174,9 @@ export class PlayerHandler {
public handleSkill(skillid: number, count: number, param: SkillParam, pet: PetHandler):SkillTarget[]{
let cfg = CfgMan.findSkillCfg(skillid);
if(!cfg){
return null;
}
let lst: Skill[] = [];
if(cfg.skill_typeid == SkillType.MAGIC){
for(let i = 0; i < count; i++){

View File

@ -14,8 +14,6 @@ export class SkillParam{
srcpet: PetHandler;
skill: Skill;
constructor(cardid: number, cardpoint: number, effcnt: number, srcplayer: PlayerHandler, srcpet: PetHandler,
dstplayer: PlayerHandler, dstpet: PetHandler){
this.cardid = cardid;