跑通下随从流程
This commit is contained in:
parent
583aa8b61c
commit
744d0df50b
@ -49,7 +49,7 @@ export class GeneralRoom extends Room {
|
|||||||
|
|
||||||
this.onMessage("select_pet_c2s", (client, message) => {
|
this.onMessage("select_pet_c2s", (client, message) => {
|
||||||
console.log('select_pet from ', client.sessionId, message);
|
console.log('select_pet from ', client.sessionId, message);
|
||||||
this.dispatcher.dispatch(new SelectPetCommand(), {client, cardId: message.cardId, playerId: message.player, pos: message.pos, effCards: message.effCards });
|
this.dispatcher.dispatch(new SelectPetCommand(), {client, cardId: message.card, playerId: message.player, pos: message.pos, effCards: message.effCards });
|
||||||
});
|
});
|
||||||
|
|
||||||
this.onMessage("select_hero_c2s", (client, message) => {
|
this.onMessage("select_hero_c2s", (client, message) => {
|
||||||
|
@ -14,7 +14,7 @@ export class SelectPetCommand extends Command<CardGameState, {client: Client,
|
|||||||
cardId: number,
|
cardId: number,
|
||||||
playerId: string,
|
playerId: string,
|
||||||
pos: number,
|
pos: number,
|
||||||
effCards: string[]
|
effCards: number[]
|
||||||
}> {
|
}> {
|
||||||
execute({client, cardId, playerId, pos, effCards} = this.payload) {
|
execute({client, cardId, playerId, pos, effCards} = this.payload) {
|
||||||
let sessionId = this.state.currentTurn;
|
let sessionId = this.state.currentTurn;
|
||||||
@ -22,27 +22,30 @@ export class SelectPetCommand extends Command<CardGameState, {client: Client,
|
|||||||
let ap = 0;
|
let ap = 0;
|
||||||
let moreAp = 0;
|
let moreAp = 0;
|
||||||
let count = 0;
|
let count = 0;
|
||||||
|
let targetCard;
|
||||||
for (let card of this.state.cards.values()) {
|
for (let card of this.state.cards.values()) {
|
||||||
ap += card.number;
|
ap += card.number;
|
||||||
count ++;
|
count ++;
|
||||||
if (count > 2) {
|
if (count > 2) {
|
||||||
moreAp += 10;
|
moreAp += 10;
|
||||||
}
|
}
|
||||||
}
|
if (card.id == cardId) {
|
||||||
for (let [key, pet] of player.pets) {
|
targetCard = card;
|
||||||
if (pet.ap == 0 ) {
|
|
||||||
pet.ap = ap + moreAp;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!targetCard) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let eff_cnt = effCards.length;
|
||||||
|
|
||||||
let dstplayer = this.state.players.get(playerId);
|
let dstplayer = this.state.players.get(playerId);
|
||||||
let dstpet;
|
let dstpet;
|
||||||
if (pos != undefined) {
|
if (pos != undefined) {
|
||||||
dstpet = dstplayer.pets.get(pos+'');
|
dstpet = dstplayer.pets.get(pos+'');
|
||||||
}
|
}
|
||||||
let cardpoint = 10;
|
let cardpoint = moreAp;
|
||||||
let eff_cnt = effCards.length;
|
|
||||||
let data = {srcplayer: player, card: cardId, cardpoint, eff_cnt, dstplayer, dstpet}
|
let data = {srcplayer: player, card: targetCard.effect, cardpoint, eff_cnt, dstplayer, dstpet}
|
||||||
this.room.battleMan.useCard(data);
|
this.room.battleMan.useCard(data);
|
||||||
return [new TurnEndCommand()];
|
return [new TurnEndCommand()];
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ export class BattleHandler {
|
|||||||
public useCard(obj:
|
public useCard(obj:
|
||||||
{srcplayer: Player, card: number, 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){
|
if(!obj || !obj.card){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,9 +16,9 @@ export class PetHandler {
|
|||||||
_cfg: UnitCfg;
|
_cfg: UnitCfg;
|
||||||
_skills: Map<number, Skill> = new Map();
|
_skills: Map<number, Skill> = new Map();
|
||||||
|
|
||||||
_bornSkills: Skill[];
|
_bornSkills: Skill[] = [];
|
||||||
_dieSkills: Skill[];
|
_dieSkills: Skill[] = [];
|
||||||
_halos: Skill[];
|
_halos: Skill[] = [];
|
||||||
|
|
||||||
_baseap: number; // 基础
|
_baseap: number; // 基础
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@ export class PlayerHandler {
|
|||||||
|
|
||||||
public _unitcfg: UnitCfg;
|
public _unitcfg: UnitCfg;
|
||||||
|
|
||||||
public _pets: PetHandler[];
|
public _pets: PetHandler[] = [];
|
||||||
|
|
||||||
public _skills: Skill[];
|
public _skills: Skill[] = [];
|
||||||
|
|
||||||
public _exskills: Skill[];
|
public _exskills: Skill[] = [];
|
||||||
|
|
||||||
private _owner: BattleHandler;
|
private _owner: BattleHandler;
|
||||||
|
|
||||||
@ -52,8 +52,7 @@ export class PlayerHandler {
|
|||||||
public newPet(): PetHandler {
|
public newPet(): PetHandler {
|
||||||
let res = null;
|
let res = null;
|
||||||
let pr = null;
|
let pr = null;
|
||||||
for(let key in this._player.pets){
|
for(let [key, obj] of this._player.pets){
|
||||||
let obj = this._player.pets.get(key);
|
|
||||||
if(obj.ap == 0){
|
if(obj.ap == 0){
|
||||||
res = obj;
|
res = obj;
|
||||||
break;
|
break;
|
||||||
@ -87,7 +86,7 @@ export class PlayerHandler {
|
|||||||
if(!pet){
|
if(!pet){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
pet.setParam({id: cfg.stageunit_id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid:
|
pet.setParam({id: cfg.stageunit_id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid:
|
||||||
[cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]});
|
[cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]});
|
||||||
|
|
||||||
//todo: build pet init json -> client
|
//todo: build pet init json -> client
|
||||||
@ -115,7 +114,7 @@ export class PlayerHandler {
|
|||||||
obj.checkHalo(apet);
|
obj.checkHalo(apet);
|
||||||
}
|
}
|
||||||
apet.checkHalo(obj);
|
apet.checkHalo(obj);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
public setFriend(aplayer: PlayerHandler){
|
public setFriend(aplayer: PlayerHandler){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user