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

View File

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