refactor(game): 简化怪物生成逻辑并移除肉鸽配置
- 移除 RogueConfig 及相关动态成长系统 - 简化 Monster.load() 方法参数,直接使用 heroSet 配置 - 移除 MissionMonComp 中的波次生成逻辑和特殊队列 - 清理 MissionComp 中与肉鸽相关的特殊刷怪检查 - 调整 heroSet 配置,移除 buff 字段并统一技能 - 更新技能配置,增加更多攻击特效
This commit is contained in:
@@ -6,7 +6,6 @@ import { BoxSet, FacSet, FightSet, IndexSet } from "../common/config/GameSet";
|
||||
import { HeroInfo } from "../common/config/heroSet";
|
||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||
import { BuffConf, SkillSet } from "../common/config/SkillSet";
|
||||
import { getMonAttr, MonType } from "../map/RogueConfig";
|
||||
import { HeroViewComp } from "./HeroViewComp";
|
||||
import { MoveComp } from "./MoveComp";
|
||||
import { mLogger } from "../common/Logger";
|
||||
@@ -89,7 +88,7 @@ export class Monster extends ecs.Entity {
|
||||
}
|
||||
|
||||
/** 加载角色 */
|
||||
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,lv:number=1,monType:MonType=MonType.NORMAL, buffs: BuffConf[] = [],is_call=false, lane: number = 0, spawnOrder: number = 0, gameTime: number = 0) {
|
||||
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001, is_boss:boolean=false) {
|
||||
scale=-1
|
||||
let size=1
|
||||
var scene = smc.map.MapView.scene;
|
||||
@@ -124,23 +123,18 @@ export class Monster extends ecs.Entity {
|
||||
// 设置 View 层属性(表现相关)
|
||||
view.scale = scale;
|
||||
view.box_group = BoxSet.MONSTER;
|
||||
|
||||
// 设置 Model 层属性(数据相关)
|
||||
// 设置 Model 层属性 基础属性
|
||||
model.hero_uuid = uuid;
|
||||
model.hero_name = hero.name;
|
||||
model.lv = lv;
|
||||
model.hp = model.hp_max = hero.hp;
|
||||
model.ap = hero.ap;
|
||||
model.speed = hero.speed; // 使用成长后的速度
|
||||
model.type = hero.type;
|
||||
model.fac = FacSet.MON;
|
||||
model.is_boss = monType == MonType.BOSS;
|
||||
model.is_boss =is_boss
|
||||
if(!model.is_boss){
|
||||
model.is_kalami = true;
|
||||
}
|
||||
// 根据等级和类型获取怪物属性(使用新的动态成长系统)
|
||||
const {hp,ap, speed} = getMonAttr(lv, uuid, monType, gameTime);
|
||||
// 初始化属性数组
|
||||
model.hp = model.hp_max = hp;
|
||||
model.ap = ap;
|
||||
model.speed = speed; // 使用成长后的速度
|
||||
model.a_cd_max=hero.as
|
||||
model.s_cd_max=hero.ss
|
||||
model.back_chance=FightSet.BACK_CHANCE
|
||||
@@ -148,22 +142,20 @@ export class Monster extends ecs.Entity {
|
||||
if(hero.skills[0]) model.atk_id=hero.skills[0]
|
||||
if(hero.skills[1]) model.skill_id=hero.skills[1]
|
||||
model.updateSkillDistanceCache(model.skill_id || model.atk_id);
|
||||
|
||||
//根据刷怪控制脚本对ap和hp进行加强
|
||||
|
||||
|
||||
|
||||
this.add(view);
|
||||
// 重置视图状态(对象池复用时必须)
|
||||
view.init();
|
||||
|
||||
oops.message.dispatchEvent("monster_load",this)
|
||||
|
||||
// 初始化移动参数,包括线路和生成顺序
|
||||
const move = this.get(MoveComp);
|
||||
move.reset();
|
||||
move.direction = -1; // 向左移动
|
||||
move.targetX = Math.max(-320, Math.min(320, pos.x));
|
||||
move.baseY = pos.y;
|
||||
move.lane = lane; // 设置线路标识
|
||||
move.spawnOrder = spawnOrder; // 设置生成顺序
|
||||
smc.vmdata.mission_data.mon_num++
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user