diff --git a/assets/resources/gui/element/heromove.prefab b/assets/resources/gui/element/heromove.prefab index 4cfae778..62fc6b5a 100644 --- a/assets/resources/gui/element/heromove.prefab +++ b/assets/resources/gui/element/heromove.prefab @@ -99,7 +99,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 200, - "y": 177.92700000000002, + "y": 177, "z": 0 }, "_lrot": { @@ -266,8 +266,8 @@ }, "_lpos": { "__type__": "cc.Vec3", - "x": 100, - "y": 177.92700000000002, + "x": 91.434, + "y": 99.82, "z": 0 }, "_lrot": { @@ -434,8 +434,8 @@ }, "_lpos": { "__type__": "cc.Vec3", - "x": 0, - "y": 177.92700000000002, + "x": 110.644, + "y": 234.75, "z": 0 }, "_lrot": { @@ -602,8 +602,8 @@ }, "_lpos": { "__type__": "cc.Vec3", - "x": -100, - "y": 177.92700000000002, + "x": -47.56, + "y": 261.112, "z": 0 }, "_lrot": { @@ -770,8 +770,8 @@ }, "_lpos": { "__type__": "cc.Vec3", - "x": -200, - "y": 177.92700000000002, + "x": -30.737, + "y": 68.374, "z": 0 }, "_lrot": { diff --git a/assets/resources/gui/role_controller.prefab b/assets/resources/gui/role_controller.prefab index 1b6e1ba3..3879baac 100644 --- a/assets/resources/gui/role_controller.prefab +++ b/assets/resources/gui/role_controller.prefab @@ -22,26 +22,26 @@ "__id__": 2 }, { - "__id__": 286 + "__id__": 272 }, { - "__id__": 295 + "__id__": 281 } ], "_active": true, "_components": [ { - "__id__": 307 + "__id__": 293 }, { - "__id__": 309 + "__id__": 295 }, { - "__id__": 311 + "__id__": 297 } ], "_prefab": { - "__id__": 313 + "__id__": 299 }, "_lpos": { "__type__": "cc.Vec3", @@ -94,17 +94,17 @@ "_active": true, "_components": [ { - "__id__": 279 + "__id__": 265 }, { - "__id__": 281 + "__id__": 267 }, { - "__id__": 283 + "__id__": 269 } ], "_prefab": { - "__id__": 285 + "__id__": 271 }, "_lpos": { "__type__": "cc.Vec3", @@ -6090,108 +6090,32 @@ }, { "__type__": "cc.PrefabInstance", - "fileId": "c8OWze/z9IMpmg5hcYAPwM", + "fileId": "87n/wcZ7tIPbu7m1+Q/KV3", "prefabRootNode": { "__id__": 1 }, "mountedChildren": [], - "mountedComponents": [ - { - "__id__": 260 - } - ], + "mountedComponents": [], "propertyOverrides": [ + { + "__id__": 260 + }, + { + "__id__": 262 + }, + { + "__id__": 263 + }, { "__id__": 264 - }, - { - "__id__": 266 - }, - { - "__id__": 267 - }, - { - "__id__": 268 - }, - { - "__id__": 269 - }, - { - "__id__": 271 - }, - { - "__id__": 273 - }, - { - "__id__": 275 - }, - { - "__id__": 277 } ], "removedComponents": [] }, - { - "__type__": "cc.MountedComponentsInfo", - "targetInfo": { - "__id__": 261 - }, - "components": [ - { - "__id__": 262 - } - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "f1ya2LoYBB547vP13Ydezp" - ] - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": { - "mountedRoot": { - "__id__": 257 - } - }, - "node": { - "__id__": 257 - }, - "_enabled": true, - "__prefab": { - "__id__": 263 - }, - "_alignFlags": 18, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": -76.841, - "_verticalCenter": 200, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3eiYz0maFGj5G3KaylC3ro" - }, { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 265 + "__id__": 261 }, "propertyPath": [ "_name" @@ -6207,22 +6131,22 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 265 + "__id__": 261 }, "propertyPath": [ "_lpos" ], "value": { "__type__": "cc.Vec3", - "x": -76.841, - "y": 840, + "x": -143.895, + "y": 622.066, "z": 0 } }, { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 265 + "__id__": 261 }, "propertyPath": [ "_lrot" @@ -6238,7 +6162,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 265 + "__id__": 261 }, "propertyPath": [ "_euler" @@ -6250,111 +6174,6 @@ "z": 0 } }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 270 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 200, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "bdA9GHaYtL34EFtEibL2hR" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 272 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 100, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "adFmHHJ5BBAY0CazvLDgGw" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 274 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "96QFNOz55OyZEByIPMUwVi" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 276 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -100, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "82phyYrMBJLLQftj0f4fIS" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 278 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -200, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "aenGhipwJAKZ3DgYqvrUgU" - ] - }, { "__type__": "cc.UITransform", "_name": "", @@ -6365,7 +6184,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 280 + "__id__": 266 }, "_contentSize": { "__type__": "cc.Size", @@ -6393,7 +6212,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 282 + "__id__": 268 }, "_alignFlags": 21, "_target": null, @@ -6429,7 +6248,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 284 + "__id__": 270 }, "home_btn": { "__id__": 45 @@ -6466,14 +6285,14 @@ "__id__": 1 }, "_prefab": { - "__id__": 287 + "__id__": 273 }, "__editorExtras__": {} }, { "__type__": "cc.PrefabInfo", "root": { - "__id__": 286 + "__id__": 272 }, "asset": { "__uuid__": "26bff847-cd29-48a5-bbfa-c3e2dbda688d", @@ -6481,7 +6300,7 @@ }, "fileId": "5a9CMsVQhKP5Y+UJfTKPbx", "instance": { - "__id__": 288 + "__id__": 274 }, "targetOverrides": null }, @@ -6495,19 +6314,19 @@ "mountedComponents": [], "propertyOverrides": [ { - "__id__": 289 + "__id__": 275 }, { - "__id__": 291 + "__id__": 277 }, { - "__id__": 292 + "__id__": 278 }, { - "__id__": 293 + "__id__": 279 }, { - "__id__": 294 + "__id__": 280 } ], "removedComponents": [] @@ -6515,7 +6334,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 290 + "__id__": 276 }, "propertyPath": [ "_name" @@ -6531,7 +6350,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 290 + "__id__": 276 }, "propertyPath": [ "_lpos" @@ -6546,7 +6365,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 290 + "__id__": 276 }, "propertyPath": [ "_lrot" @@ -6562,7 +6381,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 290 + "__id__": 276 }, "propertyPath": [ "_euler" @@ -6577,7 +6396,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 290 + "__id__": 276 }, "propertyPath": [ "_active" @@ -6591,14 +6410,14 @@ "__id__": 1 }, "_prefab": { - "__id__": 296 + "__id__": 282 }, "__editorExtras__": {} }, { "__type__": "cc.PrefabInfo", "root": { - "__id__": 295 + "__id__": 281 }, "asset": { "__uuid__": "56aee962-4a5e-45ae-a779-999444d06d18", @@ -6606,7 +6425,7 @@ }, "fileId": "cboM54s0hM07XCtrpFp0/b", "instance": { - "__id__": 297 + "__id__": 283 }, "targetOverrides": null }, @@ -6620,25 +6439,25 @@ "mountedComponents": [], "propertyOverrides": [ { - "__id__": 298 + "__id__": 284 }, { - "__id__": 300 + "__id__": 286 }, { - "__id__": 301 + "__id__": 287 }, { - "__id__": 302 + "__id__": 288 }, { - "__id__": 303 + "__id__": 289 }, { - "__id__": 305 + "__id__": 291 }, { - "__id__": 306 + "__id__": 292 } ], "removedComponents": [] @@ -6646,7 +6465,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 299 + "__id__": 285 }, "propertyPath": [ "_name" @@ -6662,7 +6481,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 299 + "__id__": 285 }, "propertyPath": [ "_lpos" @@ -6677,7 +6496,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 299 + "__id__": 285 }, "propertyPath": [ "_lrot" @@ -6693,7 +6512,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 299 + "__id__": 285 }, "propertyPath": [ "_euler" @@ -6708,7 +6527,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 304 + "__id__": 290 }, "propertyPath": [ "_top" @@ -6724,7 +6543,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 304 + "__id__": 290 }, "propertyPath": [ "_alignFlags" @@ -6734,7 +6553,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 304 + "__id__": 290 }, "propertyPath": [ "_bottom" @@ -6751,7 +6570,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 308 + "__id__": 294 }, "_contentSize": { "__type__": "cc.Size", @@ -6779,7 +6598,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 310 + "__id__": 296 }, "_alignFlags": 45, "_target": null, @@ -6815,7 +6634,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 312 + "__id__": 298 }, "debugMode": false, "_id": "" @@ -6837,10 +6656,10 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": [ { - "__id__": 295 + "__id__": 281 }, { - "__id__": 286 + "__id__": 272 }, { "__id__": 257 diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index 1ea0dbce..f6bcf446 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -176,43 +176,54 @@ export const HeroInfo: Record = { /* *=============怪物配置列表================ - * 基础近战型(lv:1) : SPEED:800 |AP:12 | HP:120 | skills[0].cd=0.65 - * 重型坦克型(lv:1) : SPEED:800 |AP:30 | HP:350 | skills[0].cd=2 - * 远程dps(lv:1) : SPEED:800 |AP:45 | HP:80 | skills[0].cd=1.5 - * 远程辅助(lv:1) : SPEED:800 |AP:20 | HP:80 | skills[0].cd=1 - * 精英 (lv:1) : SPEED:800 |AP:20 | HP:1500 | skills[0].cd=1 + * 基础近战型(lv:1) : SPEED:800 |AP:12 | HP:360 | skills[0].cd=0.65 + * 重型坦克型(lv:1) : SPEED:800 |AP:30 | HP:1050 | skills[0].cd=2 + * 远程dps(lv:1) : SPEED:800 |AP:45 | HP:240 | skills[0].cd=1.5 + * 远程辅助(lv:1) : SPEED:800 |AP:20 | HP:240 | skills[0].cd=1 + * 精英 (lv:1) : SPEED:800 |AP:20 | HP:4500 | skills[0].cd=1 */ //============== 兽人系列 =============== // 近战型 -6001:{uuid:6001,name:"兽人战士",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:100, +6001:{uuid:6001,name:"兽人战士",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, -6002:{uuid:6002,name:"兽人斥候",path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:100, +6002:{uuid:6002,name:"兽人斥候",path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, -6003:{uuid:6003,name:"兽人卫士",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:350,ap:30,speed:100, +6003:{uuid:6003,name:"兽人卫士",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1050,ap:30,speed:100, skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0}},info:""}, -6004:{uuid:6004,name:"兽人射手",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:100, +6004:{uuid:6004,name:"兽人射手",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:45,speed:100, skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""}, -6005:{uuid:6005,name:"兽人法师",path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:20,speed:100, +6005:{uuid:6005,name:"兽人法师",path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:20,speed:100, skills:{6001:{uuid:6203,lv:1,cd:1.5,ccd:0}},info:""}, -6006:{uuid:6006,name:"兽人首领",path:"mo6", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:100, +6006:{uuid:6006,name:"兽人首领",path:"mo6", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:4500,ap:20,speed:100, skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0}},info:""}, //============== 亡灵系列 =============== // 近战型 -6101:{uuid:6101,name:"亡灵战士",path:"mud1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:100, +6101:{uuid:6101,name:"亡灵战士",path:"mud1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, -6103:{uuid:6103,name:"亡灵斥候",path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:100, +6103:{uuid:6103,name:"亡灵斥候",path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, -6102:{uuid:6102,name:"亡灵射手",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:100, +6102:{uuid:6102,name:"亡灵射手",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:45,speed:100, skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""}, -// 6105:{uuid:6105,name:"兽人法师",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:100, +// 6105:{uuid:6105,name:"兽人法师",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:240,ap:20,speed:100, // skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""}, // 6. 精英/BOSS型 -6104:{uuid:6104,name:"亡灵法师",path:"mud4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:350,ap:30,speed:100, +6104:{uuid:6104,name:"亡灵法师",path:"mud4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:1050,ap:30,speed:100, skills:{6204:{uuid:6204,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""}, -6105:{uuid:6105,name:"亡灵首领",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:100, +6105:{uuid:6105,name:"亡灵首领",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:4500,ap:20,speed:100, skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6005:{uuid:6005,lv:1,cd:10,ccd:0}},info:""}, +//============== 特殊类型 (Bomber, Summoner, Assassin, Splitter) =============== +6201:{uuid:6201,name:"哥布林自爆兵",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:180,ap:80,speed:150, + skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"自爆兵"}, +6202:{uuid:6202,name:"骷髅自爆兵",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:180,ap:80,speed:150, + skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"自爆兵"}, +6203:{uuid:6203,name:"深渊召唤师",path:"hm2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:300,ap:15,speed:80, + skills:{6001:{uuid:6203,lv:1,cd:2,ccd:0}},info:"召唤师"}, +6204:{uuid:6204,name:"暗影刺客",path:"hc1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:270,ap:55,speed:200, + skills:{6001:{uuid:6001,lv:1,cd:0.5,ccd:0}},info:"刺客"}, +6205:{uuid:6205,name:"分裂软泥",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:450,ap:20,speed:90, + skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"分裂怪"}, }; export const HeroList: number[] = [ diff --git a/assets/script/game/map/RogueConfig.ts b/assets/script/game/map/RogueConfig.ts index df86315a..3af653bd 100644 --- a/assets/script/game/map/RogueConfig.ts +++ b/assets/script/game/map/RogueConfig.ts @@ -221,16 +221,16 @@ export interface MonsterBaseStats { * @see MonsterBaseStats 字段说明 */ export const MonsterStats: Record = { - [MonType.Melee]: { hp: 120, ap: 12, cost: 30, isBoss: false }, - [MonType.Heavy]: { hp: 350, ap: 30, cost: 50, isBoss: false }, - [MonType.Long]: { hp: 80, ap: 45, cost: 40, isBoss: false }, - [MonType.Support]: { hp: 80, ap: 20, cost: 50, isBoss: false }, - [MonType.Bomber]: { hp: 60, ap: 80, cost: 35, isBoss: false }, - [MonType.Summoner]: { hp: 100, ap: 15, cost: 60, isBoss: false }, - [MonType.Assassin]: { hp: 90, ap: 55, cost: 45, isBoss: false }, - [MonType.Splitter]: { hp: 150, ap: 20, cost: 55, isBoss: false }, - [MonType.MeleeBoss]: { hp: 1500, ap: 20, cost: 200, isBoss: true }, - [MonType.LongBoss]: { hp: 350, ap: 30, cost: 200, isBoss: true }, + [MonType.Melee]: { hp: 360, ap: 12, cost: 30, isBoss: false }, + [MonType.Heavy]: { hp: 1050, ap: 30, cost: 50, isBoss: false }, + [MonType.Long]: { hp: 240, ap: 45, cost: 40, isBoss: false }, + [MonType.Support]: { hp: 240, ap: 20, cost: 50, isBoss: false }, + [MonType.Bomber]: { hp: 180, ap: 80, cost: 35, isBoss: false }, + [MonType.Summoner]: { hp: 300, ap: 15, cost: 60, isBoss: false }, + [MonType.Assassin]: { hp: 270, ap: 55, cost: 45, isBoss: false }, + [MonType.Splitter]: { hp: 450, ap: 20, cost: 55, isBoss: false }, + [MonType.MeleeBoss]: { hp: 4500, ap: 20, cost: 200, isBoss: true }, + [MonType.LongBoss]: { hp: 1050, ap: 30, cost: 200, isBoss: true }, } // ======================== 阶梯(Tier)配置 ======================== @@ -399,7 +399,7 @@ export const BlueprintTemplates: BlueprintTemplate[] = [ ] }, // ---- MIXED 类 ---- - { id: "M1", type: TemplateType.MIXED, tierMin: 2, allowAffix: true, + { id: "M1", type: TemplateType.MIXED, tierMin: 1, allowAffix: true, slots: [ { typePool: [MonType.Melee, MonType.Heavy], countMin: 10, countMax: 15, weight: 0.4 }, { typePool: [MonType.Long], countMin: 5, countMax: 10, weight: 0.3 }, @@ -624,7 +624,7 @@ export class RogueSpawningEngine { if (waveNumber === 1) { return this.spawnFromTemplate( BlueprintTemplates.find(t => t.id === "TUTORIAL")!, - 1, 1 + 1, getTierConfig(1).budget * this.adaptiveFactor ) } @@ -878,7 +878,7 @@ export class RogueSpawningEngine { // 预算利用率检查 (目标 >= 70%) let totalCost = budget - remainingBudget - if (budget > 0 && totalCost / budget < 0.7) { + if (budget > 0 && totalCost / budget < 0.7 && template.id !== "TUTORIAL") { const tierConfig = getTierConfig(tier) const type = MonType.Melee const stats = MonsterStats[type] diff --git a/test_spawn.js b/test_spawn.js new file mode 100644 index 00000000..e1dae989 --- /dev/null +++ b/test_spawn.js @@ -0,0 +1,4 @@ +import { spawningEngine } from "./assets/script/game/map/RogueConfig.js"; +console.log("Wave 1:", spawningEngine.generateWave(1).length); +console.log("Wave 2:", spawningEngine.generateWave(2).length); +console.log("Wave 3:", spawningEngine.generateWave(3).length); diff --git a/test_spawn.ts b/test_spawn.ts new file mode 100644 index 00000000..647d08c6 --- /dev/null +++ b/test_spawn.ts @@ -0,0 +1,4 @@ +import { spawningEngine } from "./assets/script/game/map/RogueConfig"; +console.log("Wave 1:", spawningEngine.generateWave(1).length); +console.log("Wave 2:", spawningEngine.generateWave(2).length); +console.log("Wave 3:", spawningEngine.generateWave(3).length);