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

This commit is contained in:
zhl 2020-12-07 14:01:45 +08:00
commit b130453718
6 changed files with 71 additions and 19 deletions

View File

@ -155,7 +155,6 @@ export class BattleHandler {
} }
return lst; return lst;
}; };
/** /**
* 使 * 使
@ -217,7 +216,9 @@ export class BattleHandler {
* @param fromplayer * @param fromplayer
*/ */
public onCardLinkReady(aplayer: Player, fromplayer?: Player){ public onCardLinkReady(aplayer: Player, fromplayer?: Player){
let ph = this.getPlayer(aplayer);
let fromph = this.getPlayer(fromplayer);
ph && ph.onCardLinkReady(fromph);
}; };
/** /**
@ -226,7 +227,8 @@ export class BattleHandler {
* @param linkcards * @param linkcards
*/ */
public onCardLinkOver(aplayer: Player, linkcards: Card[]){ public onCardLinkOver(aplayer: Player, linkcards: Card[]){
let ph = this.getPlayer(aplayer);
ph && ph.onCardLinkEnd(linkcards);
}; };
/** /**
@ -236,7 +238,11 @@ export class BattleHandler {
public onUseCardEnd(obj: public onUseCardEnd(obj:
{srcplayer: Player, card: number, cardpoint: number, dbpt_cnt: number, eff_cnt: number, dstplayer: Player, dstpet: Pet} {srcplayer: Player, card: number, cardpoint: number, dbpt_cnt: number, eff_cnt: number, dstplayer: Player, dstpet: Pet}
){ ){
if(!obj){
return;
}
let ph = this.getPlayer(obj.srcplayer);
ph && ph.onUseCardEnd();
}; };
/** /**
@ -246,7 +252,9 @@ export class BattleHandler {
* @param dropcards : 弃掉的牌组 * @param dropcards : 弃掉的牌组
*/ */
public onCardDroped(aplayer: Player, dropcards: Card[], fromplayer?: Player){ public onCardDroped(aplayer: Player, dropcards: Card[], fromplayer?: Player){
let ph = this.getPlayer(aplayer);
let fromph = this.getPlayer(fromplayer);
ph && ph.onCardDroped(dropcards, fromph);
}; };
/** /**
@ -256,7 +264,9 @@ export class BattleHandler {
* @param dropcards : 获得的牌组 * @param dropcards : 获得的牌组
*/ */
public onCardGetted(aplayer: Player, getcards: Card[], fromplayer?: Player){ public onCardGetted(aplayer: Player, getcards: Card[], fromplayer?: Player){
let ph = this.getPlayer(aplayer);
let fromph = this.getPlayer(fromplayer);
ph && ph.onCardGetted(getcards, fromph);
}; };
/** /**
@ -264,7 +274,8 @@ export class BattleHandler {
* @param aplayer * @param aplayer
*/ */
public onPlayerRoundStart(aplayer: Player){ public onPlayerRoundStart(aplayer: Player){
let ph = this.getPlayer(aplayer);
ph && ph.onRoundStart();
}; };
/** /**
@ -272,7 +283,8 @@ export class BattleHandler {
* @param aplayer * @param aplayer
*/ */
public onPlayerRoundEnd(aplayer: Player){ public onPlayerRoundEnd(aplayer: Player){
let ph = this.getPlayer(aplayer);
ph && ph.onRoundEnd();
}; };
public onAddPetNotify(apet: PetHandler){ public onAddPetNotify(apet: PetHandler){
@ -280,7 +292,7 @@ export class BattleHandler {
}; };
public onDelPetNotify(apet: PetHandler){ public onDelPetNotify(apet: PetHandler){
return this._room.bRemovePet(apet.exportRemoveData());
}; };
public onPlayerAddCard(aplayer: PlayerHandler, count: number, maxcount: number){ public onPlayerAddCard(aplayer: PlayerHandler, count: number, maxcount: number){
@ -292,7 +304,6 @@ export class BattleHandler {
}; };
public onSkillResult(skillres: SkillTarget[]){ public onSkillResult(skillres: SkillTarget[]){
//todo: build skillrest json -> client
let lst: SkillInfoMsg[] = []; let lst: SkillInfoMsg[] = [];
skillres.forEach((item: SkillTarget)=>{ skillres.forEach((item: SkillTarget)=>{
lst.push(item.exportData()); lst.push(item.exportData());

View File

@ -9,6 +9,7 @@ import { EnhanceEffectType, PowerValueType } from "../skill/SkillConst";
import { PlayerHandler } from "./PlayerHandler"; import { PlayerHandler } from "./PlayerHandler";
import { PetInfoMsg } from "../../../message/PetInfo"; import { PetInfoMsg } from "../../../message/PetInfo";
import { SkillParam } from "../skill/SkillParam"; import { SkillParam } from "../skill/SkillParam";
import { RemovePetMsg } from "message/RemovePetMsg";
export class PetHandler { export class PetHandler {
_pet: Pet; _pet: Pet;
@ -218,4 +219,12 @@ export class PetHandler {
}); });
return obj; return obj;
}; };
public exportRemoveData(): RemovePetMsg{
return new RemovePetMsg({
id: this._id,
player: this._owner.getId(),
pos: this._idx
})
};
} }

View File

@ -9,6 +9,7 @@ import { UnitCfg } from "cfg/parsers/UnitCfg";
import { Skill } from "../skill/Skill"; import { Skill } from "../skill/Skill";
import { SkillParam, SkillTarget } from "../skill/SkillParam"; import { SkillParam, SkillTarget } from "../skill/SkillParam";
import SkillMan from "../skill/SkillMan"; import SkillMan from "../skill/SkillMan";
import { Card } from "rooms/schema/Card";
export class PlayerHandler { export class PlayerHandler {
public _player: Player; public _player: Player;
@ -60,7 +61,7 @@ export class PlayerHandler {
let n = 0; let n = 0;
for(let [key, obj] of this._player.pets){ for(let [key, obj] of this._player.pets){
if(n != 0){ if(n != 0){
if(obj.ap == 0){ if(obj.state == 0 || obj.state == 2){
res = obj; res = obj;
break; break;
} }
@ -296,4 +297,32 @@ export class PlayerHandler {
} }
return bok; return bok;
}; };
onCardLinkReady(fromplayer: PlayerHandler){
};
onCardLinkEnd(linkcards: Card[]){
};
onCardDroped(dropcards: Card[], srcplayer: PlayerHandler){
};
onCardGetted(getcards: Card[], srcplayer: PlayerHandler){
};
onUseCardEnd(){
};
onRoundStart(){
};
onRoundEnd(){
}
} }

View File

@ -34,12 +34,6 @@ export class Condition {
case CondType.CARD_COUNT_TOTAL: case CondType.CARD_COUNT_TOTAL:
v = tg_owner.getTotalCardCount(); v = tg_owner.getTotalCardCount();
return this._isok(v,this._v,this._cdt); return this._isok(v,this._v,this._cdt);
case CondType.CARD_ACTION_LINK:
return (tg_value == this._type);
case CondType.CARD_ACTION_LINK_OTHER:
return (tg_value == this._type);
case CondType.CARD_ACTION_LINK_SELF:
return (tg_value == this._type);
default: default:
break; break;
} }
@ -59,7 +53,11 @@ export class Condition {
default: default:
return false; return false;
} }
} };
public isTempTotalCard(){
return this._type == CondType.CARD_COUNT_TOTAL;
};
}; };
// module.exports = Condition; // module.exports = Condition;

View File

@ -315,6 +315,10 @@ export class Skill {
this._cb = cb; this._cb = cb;
}; };
isTotalCardSkill(){
return this._tgctrl._cond.isTempTotalCard();
};
clone() { clone() {
let obj = new Skill(); let obj = new Skill();
obj._currCount = 0; // 当前计数 obj._currCount = 0; // 当前计数

View File

@ -16,7 +16,8 @@ import { Trigger } from "./Trigger";
export class TriggerCtrl{ export class TriggerCtrl{
private _id: number; private _id: number;
private _tg: Trigger; private _tg: Trigger;
private _cond: Condition;
_cond: Condition;
init(id:number, tgobj:Trigger, condobj: Condition){ init(id:number, tgobj:Trigger, condobj: Condition){
this._id = id; this._id = id;