增加替换pet处理
This commit is contained in:
parent
5d392a0fdb
commit
d4996d97c7
@ -288,6 +288,18 @@ let CfgMan = {
|
|||||||
return minv;
|
return minv;
|
||||||
}
|
}
|
||||||
return Math.round(Math.random() * maxv + minv);
|
return Math.round(Math.random() * maxv + minv);
|
||||||
|
},
|
||||||
|
|
||||||
|
hasSummonPetSkill(skillids: number[]){
|
||||||
|
let bok = false;
|
||||||
|
for(let i=0; i<skillids.length;i++){
|
||||||
|
let cfg = this.findSkillCfg(skillids[i]);
|
||||||
|
if(cfg && cfg.quoteunitid && cfg.tigger_typeid == 0){
|
||||||
|
bok = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bok;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -401,7 +401,7 @@ export class BattleHandler {
|
|||||||
|
|
||||||
let ps = new SkillParam(obj.card, pt, obj.eff_cnt, ph, null, dstph, dstpt);
|
let ps = new SkillParam(obj.card, pt, obj.eff_cnt, ph, null, dstph, dstpt);
|
||||||
|
|
||||||
ph.useCard(ps);
|
ph.useCard(ps, obj.oldpos);
|
||||||
|
|
||||||
this.onUseCardEnd(ps);
|
this.onUseCardEnd(ps);
|
||||||
|
|
||||||
@ -438,6 +438,10 @@ export class BattleHandler {
|
|||||||
return ph? ph.getTransEffCardRate(): 0;
|
return ph? ph.getTransEffCardRate(): 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public replacePet(playerid: string, petpos: number, petid: string){
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 吃牌/胡牌确认[暂不用]
|
* 吃牌/胡牌确认[暂不用]
|
||||||
* @param aplayer : 玩家
|
* @param aplayer : 玩家
|
||||||
|
@ -88,9 +88,16 @@ export class PlayerHandler {
|
|||||||
return pr;
|
return pr;
|
||||||
};
|
};
|
||||||
|
|
||||||
public delPet(ph: PetHandler){
|
public delPet(pet: PetHandler){
|
||||||
let idx = this._pets.indexOf(ph);
|
if(!pet){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.onEMChanged(pet._enmagic);//删除法强
|
||||||
|
pet.clear();
|
||||||
|
let idx = this._pets.indexOf(pet);
|
||||||
(idx >= 0) && this._pets.splice(idx, 1);
|
(idx >= 0) && this._pets.splice(idx, 1);
|
||||||
|
|
||||||
|
this._owner.onDelPetNotify(pet);
|
||||||
};
|
};
|
||||||
|
|
||||||
public getPet(pet: Pet): PetHandler{
|
public getPet(pet: Pet): PetHandler{
|
||||||
@ -99,6 +106,18 @@ export class PlayerHandler {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public findPet(pos: number): PetHandler{
|
||||||
|
if(pos < 0){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if(pos == 0){
|
||||||
|
return this._self;
|
||||||
|
}
|
||||||
|
return this._pets.find((item:PetHandler)=>{
|
||||||
|
return item._idx == pos;
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
public exportAllPets(skill: Skill, 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;
|
||||||
@ -130,14 +149,31 @@ export class PlayerHandler {
|
|||||||
return dst;
|
return dst;
|
||||||
};
|
};
|
||||||
|
|
||||||
public useCard(obj: SkillParam)
|
public useCard(obj: SkillParam, oldpos?: number)
|
||||||
{
|
{
|
||||||
let cfg = CfgMan.findEffCardCfg(obj.cardid);
|
let cfg = CfgMan.findEffCardCfg(obj.cardid);
|
||||||
if(!cfg){
|
if(!cfg){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
let oldpet = this.findPet(oldpos);
|
||||||
|
if(oldpet == this._self){
|
||||||
|
oldpet = null;
|
||||||
|
}
|
||||||
|
|
||||||
if(cfg.type_id == EffectCardType.NPC || cfg.type_id == EffectCardType.NPC_CUSTOM){
|
if(cfg.type_id == EffectCardType.NPC || cfg.type_id == EffectCardType.NPC_CUSTOM){
|
||||||
|
let exap = 0;
|
||||||
|
if(oldpet){
|
||||||
|
exap = oldpet.totalAP();
|
||||||
|
this.delPet(oldpet);
|
||||||
|
}
|
||||||
|
|
||||||
let pet = this.newPet();
|
let pet = this.newPet();
|
||||||
if(!pet){
|
if(!pet){
|
||||||
return false;
|
return false;
|
||||||
@ -148,14 +184,11 @@ export class PlayerHandler {
|
|||||||
obj.dstpet = pet;
|
obj.dstpet = pet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pet.loadData(cfg.stageunit_id, obj,
|
pet.loadData(cfg.stageunit_id, obj, lst, exap);
|
||||||
[cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]);
|
|
||||||
}else if(cfg.type_id == EffectCardType.MAGIC){
|
}else if(cfg.type_id == EffectCardType.MAGIC){
|
||||||
let lst = [];
|
if(oldpet && CfgMan.hasSummonPetSkill(lst)){
|
||||||
cfg.quoteskill1id && lst.push(cfg.quoteskill1id);
|
this.delPet(oldpet);
|
||||||
cfg.quoteskill2id && lst.push(cfg.quoteskill2id);
|
}
|
||||||
cfg.quoteskill3id && lst.push(cfg.quoteskill3id);
|
|
||||||
cfg.quoteskill4id && lst.push(cfg.quoteskill4id);
|
|
||||||
this.useSkills(lst, obj);
|
this.useSkills(lst, obj);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -334,9 +367,6 @@ export class PlayerHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(apet.isDead()){
|
if(apet.isDead()){
|
||||||
this.onEMChanged(-apet._enmagic);//删除法强
|
|
||||||
this._owner.onDelPetNotify(apet);
|
|
||||||
apet.clear();
|
|
||||||
this.delPet(apet);
|
this.delPet(apet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user