build new pet proto
This commit is contained in:
parent
b595957a5d
commit
19d1dbb560
@ -1,3 +1,7 @@
|
||||
import { EffectCardCfg } from "cfg/parsers/EffectCardCfg";
|
||||
import { HeroCfg } from "cfg/parsers/HeroCfg";
|
||||
import { SkillCfg } from "cfg/parsers/SkillCfg";
|
||||
import { UnitCfg } from "cfg/parsers/UnitCfg";
|
||||
import { BaseConst } from "../../constants/BaseConst";
|
||||
import { EnhanceEffectType } from "./skill/SkillConst";
|
||||
|
||||
@ -7,19 +11,19 @@ let CfgMan = {
|
||||
*playerid: numer
|
||||
*/
|
||||
|
||||
findPlayerCfg(playerid: number){
|
||||
findPlayerCfg(playerid: number): HeroCfg{
|
||||
return global.$cfg.get(BaseConst.HERO).get(playerid);
|
||||
},
|
||||
|
||||
findUnitCfg(unitid: number){
|
||||
findUnitCfg(unitid: number): UnitCfg{
|
||||
return global.$cfg.get(BaseConst.UNIT).get(unitid);
|
||||
},
|
||||
|
||||
findSkillCfg(skillid: number){
|
||||
findSkillCfg(skillid: number): SkillCfg{
|
||||
return global.$cfg.get(BaseConst.SKILL).get(skillid);
|
||||
},
|
||||
|
||||
findEffCardCfg(cardid: number){
|
||||
findEffCardCfg(cardid: number): EffectCardCfg{
|
||||
return global.$cfg.get(BaseConst.EFFECTCARD).get(cardid);
|
||||
},
|
||||
|
||||
|
@ -13,7 +13,8 @@ export class BattleHandler {
|
||||
private _cs: CardGameState;
|
||||
|
||||
private _players: Map<Player, PlayerHandler> = new Map();
|
||||
private _room: Room;
|
||||
|
||||
_room: Room;
|
||||
|
||||
public init(cs: CardGameState, room: Room){
|
||||
this._cs = cs;
|
||||
@ -41,6 +42,9 @@ export class BattleHandler {
|
||||
public getTargetPlayer(){
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 使用卡片
|
||||
* @param obj
|
||||
|
@ -7,6 +7,7 @@ import SkillMan from "../skill/SkillMan";
|
||||
|
||||
import { EnhanceEffectType, PowerValueType } from "../skill/SkillConst";
|
||||
import { PlayerHandler } from "./PlayerHandler";
|
||||
import { PetInfoMsg } from "message/PetInfo";
|
||||
|
||||
export class PetHandler {
|
||||
_pet: Pet;
|
||||
@ -21,12 +22,15 @@ export class PetHandler {
|
||||
|
||||
_baseap: number; // 基础
|
||||
|
||||
_haloap: number = 0; // 光环
|
||||
_exap: number = 0; // 额外
|
||||
|
||||
_exredhurt: number;
|
||||
|
||||
_isHero: boolean = false;
|
||||
|
||||
_selfskills: number[];
|
||||
_exskills: number[];
|
||||
|
||||
public init(apet: Pet, owner: PlayerHandler){
|
||||
this._pet = apet;
|
||||
this._owner = owner;
|
||||
@ -56,7 +60,7 @@ export class PetHandler {
|
||||
this.addSkill(this._cfg.base_skill3id);
|
||||
|
||||
obj.exskillid && obj.exskillid.forEach((skillid: number)=>{
|
||||
this.addSkill(skillid, true);
|
||||
this.addSkill(skillid);
|
||||
});
|
||||
};
|
||||
|
||||
@ -68,7 +72,7 @@ export class PetHandler {
|
||||
this._halos.push(halo);
|
||||
};
|
||||
|
||||
public addSkill(skillid: number, isExSkill?: boolean){
|
||||
public addSkill(skillid: number){
|
||||
if(skillid > 0){
|
||||
let obj = this._skills.get(skillid);
|
||||
if(!obj){
|
||||
@ -76,9 +80,7 @@ export class PetHandler {
|
||||
if(obj){
|
||||
obj.setOwner(this);
|
||||
this._skills.set(skillid, obj);
|
||||
if(isExSkill){
|
||||
obj.isExSkill = true;
|
||||
}
|
||||
this._selfskills.push(skillid);
|
||||
if(obj.isBornSkill()){
|
||||
this._bornSkills.push(obj);
|
||||
}else if(obj.isDieSkill()){
|
||||
@ -117,10 +119,10 @@ export class PetHandler {
|
||||
};
|
||||
|
||||
public addAP(value: number){
|
||||
this._haloap += value;
|
||||
if(this._haloap < 0){
|
||||
this._baseap += this._haloap;
|
||||
this._haloap = 0;
|
||||
this._exap += value;
|
||||
if(this._exap < 0){
|
||||
this._baseap += this._exap;
|
||||
this._exap = 0;
|
||||
}
|
||||
if(this._baseap < 0){
|
||||
this.die();
|
||||
@ -128,7 +130,7 @@ export class PetHandler {
|
||||
};
|
||||
|
||||
public totalAP(){
|
||||
return this._baseap + this._haloap;
|
||||
return this._baseap + this._exap;
|
||||
};
|
||||
|
||||
public beHurt(value: number){
|
||||
@ -156,4 +158,17 @@ export class PetHandler {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
public exportData(): PetInfoMsg{
|
||||
let obj = new PetInfoMsg({
|
||||
id: this._id,
|
||||
isHero: this._isHero,
|
||||
ap: this._baseap,
|
||||
extAp: this._exap,
|
||||
harmReduce: this._exredhurt,
|
||||
skills: this._selfskills,
|
||||
extSkills: this._exskills
|
||||
});
|
||||
return obj;
|
||||
};
|
||||
}
|
||||
|
@ -82,18 +82,20 @@ export class PlayerHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(cfg.typeId == EffectCardType.NPC){
|
||||
if(cfg.type_id == EffectCardType.NPC){
|
||||
let pet = this.newPet();
|
||||
if(!pet){
|
||||
return false;
|
||||
}
|
||||
pet.setParam({id: cfg.eff1Id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid:
|
||||
[cfg.eff2Id, cfg.eff3Id, cfg.eff4Id, cfg.eff5Id]});
|
||||
pet.setParam({id: cfg.stageunit_id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid:
|
||||
[cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]});
|
||||
|
||||
//todo: build pet init json -> client
|
||||
|
||||
this._owner._room.bAddPet(pet.exportData());
|
||||
|
||||
pet.born(obj);
|
||||
}else if(cfg.typeId == EffectCardType.MAGIC){
|
||||
}else if(cfg.type_id == EffectCardType.MAGIC){
|
||||
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user