选卡后调用skill处理逻辑
This commit is contained in:
parent
60a708f82d
commit
583aa8b61c
2
src/global.d.ts
vendored
2
src/global.d.ts
vendored
@ -16,8 +16,10 @@ declare global {
|
||||
*/
|
||||
import {Client, Room} from "colyseus";
|
||||
import {PetInfoMsg} from "./message/PetInfo";
|
||||
import {BattleHandler} from "./rooms/logic/Handler/BattleHandler";
|
||||
declare module "colyseus" {
|
||||
interface Room {
|
||||
battleMan: BattleHandler;
|
||||
/**
|
||||
* 广播玩家加入房间
|
||||
* @param data
|
||||
|
@ -3,17 +3,20 @@ import { CardGameState } from "../schema/CardGameState";
|
||||
import {Client} from "colyseus";
|
||||
import {NextTurnCommand} from "./NextTurnCommand";
|
||||
import {TurnEndCommand} from "./TurnEndCommand";
|
||||
import {Player} from "../schema/Player";
|
||||
import {Card} from "../schema/Card";
|
||||
import {Pet} from "../schema/Pet";
|
||||
|
||||
/**
|
||||
* 选择随从或者法术
|
||||
*/
|
||||
export class SelectPetCommand extends Command<CardGameState, {client: Client,
|
||||
cardId: string,
|
||||
cardId: number,
|
||||
playerId: string,
|
||||
pos: number,
|
||||
effCards: string[]
|
||||
}> {
|
||||
execute({client, cardId, playerId, pos, effCards}: {client: Client, cardId: string, playerId: string, pos: number, effCards: string[]}) {
|
||||
execute({client, cardId, playerId, pos, effCards} = this.payload) {
|
||||
let sessionId = this.state.currentTurn;
|
||||
let player = this.state.players.get(sessionId);
|
||||
let ap = 0;
|
||||
@ -32,6 +35,15 @@ export class SelectPetCommand extends Command<CardGameState, {client: Client,
|
||||
break;
|
||||
}
|
||||
}
|
||||
let dstplayer = this.state.players.get(playerId);
|
||||
let dstpet;
|
||||
if (pos != undefined) {
|
||||
dstpet = dstplayer.pets.get(pos+'');
|
||||
}
|
||||
let cardpoint = 10;
|
||||
let eff_cnt = effCards.length;
|
||||
let data = {srcplayer: player, card: cardId, cardpoint, eff_cnt, dstplayer, dstpet}
|
||||
this.room.battleMan.useCard(data);
|
||||
return [new TurnEndCommand()];
|
||||
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ export class BattleHandler {
|
||||
* @param obj
|
||||
*/
|
||||
public useCard(obj:
|
||||
{srcplayer: Player, card: Card, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet})
|
||||
{srcplayer: Player, card: number, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet})
|
||||
{
|
||||
if(!obj || obj.card){
|
||||
return false;
|
||||
@ -66,7 +66,7 @@ export class BattleHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
let ps = new SkillParam(obj.card.id, obj.cardpoint, obj.eff_cnt, ph, dstph, dstpt);
|
||||
let ps = new SkillParam(obj.card, obj.cardpoint, obj.eff_cnt, ph, dstph, dstpt);
|
||||
|
||||
ph.useCard(ps);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user