This commit is contained in:
panw
2025-08-05 17:25:34 +08:00
parent 3db3cc78eb
commit 6f9529ada2
20 changed files with 3120 additions and 1623 deletions

View File

@@ -111,7 +111,7 @@ export function getRandomCardsByType(
let cardList: number[] = [];
switch (type) {
case cardType.HERO:
cardList = getHeroList(data); //hero选项是1和0 1是主将
cardList = getHeroList(); //hero选项是1和0 1是主将
break;
case cardType.SKILL:
cardList = getSkills(data); // 技能时 data是品质

View File

@@ -12,6 +12,7 @@ export enum GameEvent {
/** 登陆成功 */
LoginSuccess = "LoginSuccess",
MSSelected = "MSSelected",
LifeChange = "LifeChange",
CastSkill = "CastSkill",
CardsClose = "CardsClose",
CardRefresh = "CardRefresh",

View File

@@ -72,6 +72,7 @@ export enum FightSet {
DOWN_TIME=5,//倒计时时间
MORE_RC=10,//更多次数 广告获取的次数
TAL_NUM=3,//天赋数量
HEARTPOS=-240,//基地位置
// ATK_TO_ATK_RATIO=0.1,
// ATK_TO_HP_RATIO=0.2,
// ATK_TO_SHIELD_RATIO=2,

View File

@@ -28,19 +28,16 @@ export enum HType {
mage = 2,
}
export const getHeroList = (is_master:number=0)=>{
if(is_master==1){
return Masters
}else{
return HeroList
}
export const getHeroList = ()=>{
return Masters
}
export const HeroList = [5021,5022,5023,5024,5025,5026,5027,5028]
export const MonList = [5201,5202,5203,5204,5205,5206,5219,5220,5221,5222,5223,5224,5225,5226,5227]
export const Masters = [5001,5002,5003,5004,5005,5006,5007,5008,5009,5010,5011,5012]
export const HeroPos={
0:{pos:v3(-160,0,0)},
0:{pos:v3(-290,0,0)},
1:{pos:v3(0,0,0)},
2:{pos:v3(-100,0,0)},
}
@@ -241,50 +238,50 @@ export const HeroInfo = {
//主将
5001:{uuid:5001,name:"刺心.艾吉斯",path:"k1", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6001,6004,6004],
type:HType.warrior,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6001,6004,6004],
buff:[],info:"剑类专精,穿刺伤害额外+10%"},
5002:{uuid:5002,name:"飓风.格罗姆",path:"k2", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6001,6005,6005],
type:HType.warrior,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6001,6005,6005],
buff:[],info:"斧类专精,风怒概率增加10%"},
5003:{uuid:5003,name:"碎颅.赫克托",path:"k4", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6001,6021,6001],
type:HType.warrior,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6001,6021,6001],
buff:[],info:"锤类专精,暴击概率增加10%"},
5004:{uuid:5004,name:"裂伤.塔米拉",path:"k3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6001,6021,6001],
type:HType.warrior,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6001,6021,6001],
buff:[],info:"刀类专精,易伤效果额外持续1次"},
5005:{uuid:5005,name:"幽灵射手",path:"a4", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.remote,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6003,6003,6003],
type:HType.remote,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6003,6003,6003],
buff:[],info:"说明"},
5006:{uuid:5006,name:"战争领主",path:"k5", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.warrior,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6002,6002,6002],
type:HType.warrior,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6002,6002,6002],
buff:[],info:"说明"},
5007:{uuid:5007,name:"混沌法师",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6002,6002,6002],
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6002,6002,6002],
buff:[],info:"说明"},
5008:{uuid:5008,name:"火焰法师",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6002,6002,6002],
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6002,6002,6002],
buff:[],info:"说明"},
5009:{uuid:5009,name:"风暴精灵",path:"m4", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6002,6002,6002],
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6002,6002,6002],
buff:[],info:"说明"},
5010:{uuid:5010,name:"战争祭祀",path:"d2", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6002,6002,6002],
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6002,6002,6002],
buff:[],info:"说明"},
5011:{uuid:5011,name:"暴风射手",path:"a5", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.remote,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6003,6003,6003],
type:HType.remote,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6003,6003,6003],
buff:[],info:"说明"},
5012:{uuid:5012,name:"苍穹射手",path:"a3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.remote,hp:100,ap:15,dis:600,cd:1.5,speed:50,skills:[6003,6003,6003],
type:HType.remote,hp:100,ap:15,dis:400,cd:1.5,speed:50,skills:[6003,6003,6003],
buff:[],info:"说明"},

View File

@@ -2,7 +2,10 @@ import { HeroViewComp } from "../../../hero/HeroViewComp";
import { BattleMoveComp } from "./BattleMoveComp";
import { ecs } from "../../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { smc } from "../../SingletonModuleComp";
import { BoxSet } from "../../config/BoxSet";
import { BoxSet, FacSet } from "../../config/BoxSet";
import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../../config/GameEvent";
import { FightSet } from "../../config/Mission";
@ecs.register('BattleMoveSystem')
export class BattleMoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
@@ -25,18 +28,19 @@ export class BattleMoveSystem extends ecs.ComblockSystem implements ecs.ISystemU
// 同步状态
if (!shouldStop&&view.fac==1) { //在攻击范围内停止移动 取消这个判断
if (!shouldStop) { //在攻击范围内停止移动 取消这个判断
// if(view.fac==1){
if(view.is_stop||view.is_dead||view.DEBUFF_STUN>0 ||view.DEBUFF_FROST>0) return //停止移动或者死亡不移动
// 新增墓地位置判断,如果已经在墓地则不再移动
if (view.node.position.x === -1000 || view.node.position.x === 1000) {
return;
}
// 计算移动量
const delta = ((view.speed-view.DEBUFF_SLOW)/3) * this.dt * move.direction;
const newX = view.node.position.x + delta;
view.status_change("move")
// 新增墓地位置判断,如果已经在墓地则不再移动
if (view.node.position.x === -1000 || view.node.position.x === 1000) {
return;
}
// 限制移动范围
if (this.validatePosition(newX, move)) {
view.node.setPosition(newX, view.node.position.y, 0);
@@ -45,7 +49,7 @@ export class BattleMoveSystem extends ecs.ComblockSystem implements ecs.ISystemU
else{
view.status_change("idle")
}
this.checkEnemiesInBase(e)
// console.log(`[${view.hero_name}] 类型:${view.type} 是否停止:${shouldStop} 方向:${move.direction} 位置:${view.node.position.x.toFixed(1)}`);
}
@@ -58,8 +62,22 @@ export class BattleMoveSystem extends ecs.ComblockSystem implements ecs.ISystemU
newX >= move.targetX;
}
/** 检测是否在墓地 */
private checkInGrave(entity: ecs.Entity): boolean {
const view = entity.get(HeroViewComp);
return view.node.position.x === -1000 || view.node.position.x === 1000;
}
/**驾车敌人是否进入我放基地 */
private checkEnemiesInBase(entity: ecs.Entity) {
const view = entity.get(HeroViewComp);
if(view.fac==FacSet.MON){
if(view.atk_heart) return
if(view.node.position.x <= FightSet.HEARTPOS){
oops.message.dispatchEvent(GameEvent.LifeChange,-1)
view.atk_heart=true
}
}
}
/** 检测攻击范围内敌人 */
private checkEnemiesInRange(entity: ecs.Entity, range: number): boolean {
const currentPos = entity.get(HeroViewComp).node.position;