合并冲锋/反击
This commit is contained in:
parent
ee9c1ee684
commit
58ac45ab0b
@ -3,9 +3,9 @@ import {Card} from "../../schema/Card";
|
|||||||
import {CardGameState} from "../../schema/CardGameState";
|
import {CardGameState} from "../../schema/CardGameState";
|
||||||
import { PlayerHandler } from "./PlayerHandler";
|
import { PlayerHandler } from "./PlayerHandler";
|
||||||
import CfgMan from "../CfgMan";
|
import CfgMan from "../CfgMan";
|
||||||
import { EffectCardType, GameCampType, GameUnitType, SkillRangeUnitType } from "../skill/SkillConst";
|
import { EffectCardType, GameCampType, GameUnitType, SkillEffectType, SkillRangeUnitType } from "../skill/SkillConst";
|
||||||
import { Pet } from "rooms/schema/Pet";
|
import { Pet } from "rooms/schema/Pet";
|
||||||
import {PetUpdateProcess, SkillParam, SkillTarget} from "../skill/SkillParam";
|
import {PetUpdateProcess, SkillParam, SkillResult, SkillTarget} from "../skill/SkillParam";
|
||||||
import { nosync, Room } from "colyseus";
|
import { nosync, Room } from "colyseus";
|
||||||
import { Skill } from "../skill/Skill";
|
import { Skill } from "../skill/Skill";
|
||||||
import { PetHandler } from "./PetHandler";
|
import { PetHandler } from "./PetHandler";
|
||||||
@ -899,12 +899,22 @@ export class BattleHandler {
|
|||||||
* indexOfAttack
|
* indexOfAttack
|
||||||
start: number: number*/
|
start: number: number*/
|
||||||
let __indexOfAttack = function(start: number): number {
|
let __indexOfAttack = function(start: number): number {
|
||||||
//todo:
|
for(let i = start; i < skillres.length;i++){
|
||||||
|
if(skillres[i].bresok && skillres[i].isAttackSkill()){
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
let __indexOfAttackBk = function(atkres: SkillTarget, start: number): number{
|
let __indexOfAttackBk = function(start: number, atkres: SkillTarget): number{
|
||||||
//todo:
|
for(let i = start; i < skillres.length;i++){
|
||||||
|
let obj = skillres[i];
|
||||||
|
if(obj.bresok && obj.isAttackBackSkill()
|
||||||
|
&& atkres.dst == obj.srcPet() && obj.dst == atkres.srcPet()){
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -912,6 +922,33 @@ export class BattleHandler {
|
|||||||
if(!skillres || skillres.length <= 0){
|
if(!skillres || skillres.length <= 0){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 合并冲锋/反击
|
||||||
|
let nstart = 0;
|
||||||
|
while(true){
|
||||||
|
if(nstart >= skillres.length){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
let natk = __indexOfAttack(nstart);
|
||||||
|
if(natk < 0){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nstart = natk + 1;
|
||||||
|
let atkobj = skillres[natk];
|
||||||
|
let natkbk = __indexOfAttackBk(nstart, atkobj);
|
||||||
|
if(natkbk){
|
||||||
|
let atkbkobj = skillres[natkbk];
|
||||||
|
atkbkobj.res.forEach((item: SkillResult) => {
|
||||||
|
if(item.bsuccess){
|
||||||
|
if(item.effect_type == SkillEffectType.CHG_AP || item.effect_type == SkillEffectType.CHG_HP){
|
||||||
|
atkobj.success(item.effect_type, item.effect_res, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
skillres.splice(natkbk, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let checklst: PlayerHandler[] = [];
|
let checklst: PlayerHandler[] = [];
|
||||||
let lst: SkillInfoMsg[] = [];
|
let lst: SkillInfoMsg[] = [];
|
||||||
let resmap: Map<string, SkillTarget[]> = new Map;
|
let resmap: Map<string, SkillTarget[]> = new Map;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user