feat(游戏配置): 调整任务初始状态和卡池升级规则
- 删除冗余的 GameConst.ts.meta 文件 - 新增卡池升级每波减免金额常量 CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE - 任务开始时初始等级设为1,波次从1开始,并给予初始金币 - 卡池升级费用根据已完成的波次进行减免 - 调整加载页面和胜利界面的UI元素位置和样式
This commit is contained in:
@@ -96,7 +96,7 @@
|
|||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": -650,
|
"y": -266,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"_lrot": {
|
"_lrot": {
|
||||||
@@ -108,8 +108,8 @@
|
|||||||
},
|
},
|
||||||
"_lscale": {
|
"_lscale": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": 1,
|
"x": 2,
|
||||||
"y": 1,
|
"y": 2,
|
||||||
"z": 1
|
"z": 1
|
||||||
},
|
},
|
||||||
"_mobility": 0,
|
"_mobility": 0,
|
||||||
@@ -136,13 +136,13 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 740,
|
"width": 432,
|
||||||
"height": 1300
|
"height": 936
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
"__type__": "cc.Vec2",
|
"__type__": "cc.Vec2",
|
||||||
"x": 0.5,
|
"x": 0.5,
|
||||||
"y": 0
|
"y": 0.5
|
||||||
},
|
},
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
@@ -167,18 +167,18 @@
|
|||||||
"_dstBlendFactor": 4,
|
"_dstBlendFactor": 4,
|
||||||
"_color": {
|
"_color": {
|
||||||
"__type__": "cc.Color",
|
"__type__": "cc.Color",
|
||||||
"r": 0,
|
"r": 255,
|
||||||
"g": 0,
|
"g": 255,
|
||||||
"b": 0,
|
"b": 255,
|
||||||
"a": 134
|
"a": 255
|
||||||
},
|
},
|
||||||
"_spriteFrame": {
|
"_spriteFrame": {
|
||||||
"__uuid__": "d7d869bc-06aa-4876-806f-487e68b96780@dc000",
|
"__uuid__": "d7d869bc-06aa-4876-806f-487e68b96780@1e2d6",
|
||||||
"__expectedType__": "cc.SpriteFrame"
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
},
|
},
|
||||||
"_type": 1,
|
"_type": 0,
|
||||||
"_fillType": 0,
|
"_fillType": 0,
|
||||||
"_sizeMode": 0,
|
"_sizeMode": 1,
|
||||||
"_fillCenter": {
|
"_fillCenter": {
|
||||||
"__type__": "cc.Vec2",
|
"__type__": "cc.Vec2",
|
||||||
"x": 0,
|
"x": 0,
|
||||||
@@ -210,12 +210,12 @@
|
|||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 8
|
"__id__": 8
|
||||||
},
|
},
|
||||||
"_alignFlags": 45,
|
"_alignFlags": 1,
|
||||||
"_target": null,
|
"_target": null,
|
||||||
"_left": 0,
|
"_left": 360,
|
||||||
"_right": 0,
|
"_right": 360,
|
||||||
"_top": 0,
|
"_top": -20,
|
||||||
"_bottom": 0,
|
"_bottom": -10,
|
||||||
"_horizontalCenter": 0,
|
"_horizontalCenter": 0,
|
||||||
"_verticalCenter": 0,
|
"_verticalCenter": 0,
|
||||||
"_isAbsLeft": true,
|
"_isAbsLeft": true,
|
||||||
|
|||||||
@@ -4515,7 +4515,7 @@
|
|||||||
"a": 255
|
"a": 255
|
||||||
},
|
},
|
||||||
"_spriteFrame": {
|
"_spriteFrame": {
|
||||||
"__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@7645f",
|
"__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@4a554",
|
||||||
"__expectedType__": "cc.SpriteFrame"
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
},
|
},
|
||||||
"_type": 1,
|
"_type": 1,
|
||||||
@@ -4867,7 +4867,7 @@
|
|||||||
"propertyPath": [
|
"propertyPath": [
|
||||||
"_active"
|
"_active"
|
||||||
],
|
],
|
||||||
"value": false
|
"value": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "CCPropertyOverrideInfo",
|
"__type__": "CCPropertyOverrideInfo",
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ export const CardsUpSet: Record<number, number> = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const CardInitCoins = 4
|
export const CardInitCoins = 4
|
||||||
|
/** 卡池升级每波减免金额 */
|
||||||
|
export const CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE = 10
|
||||||
/** 卡池默认初始等级 */
|
/** 卡池默认初始等级 */
|
||||||
export const CARD_POOL_INIT_LEVEL = CardKind.LV1
|
export const CARD_POOL_INIT_LEVEL = CardKind.LV1
|
||||||
/** 卡池等级上限 */
|
/** 卡池等级上限 */
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"ver": "4.0.24",
|
|
||||||
"importer": "typescript",
|
|
||||||
"imported": true,
|
|
||||||
"uuid": "553dfb74-22f0-490d-a17e-b67757160d9b",
|
|
||||||
"files": [],
|
|
||||||
"subMetas": {},
|
|
||||||
"userData": {}
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,7 @@ import { _decorator, instantiate, Label, Node, NodeEventType, Prefab, SpriteAtla
|
|||||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||||
import { GameEvent } from "../common/config/GameEvent";
|
import { GameEvent } from "../common/config/GameEvent";
|
||||||
import { CARD_POOL_INIT_LEVEL, CARD_POOL_MAX_LEVEL, CardConfig, CardsUpSet, getCardsByLv } from "../common/config/CardSet";
|
import { CARD_POOL_INIT_LEVEL, CARD_POOL_MAX_LEVEL, CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE, CardConfig, CardsUpSet, getCardsByLv } from "../common/config/CardSet";
|
||||||
import { CardComp } from "./CardComp";
|
import { CardComp } from "./CardComp";
|
||||||
import { oops } from "db://oops-framework/core/Oops";
|
import { oops } from "db://oops-framework/core/Oops";
|
||||||
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
|
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
|
||||||
@@ -181,6 +181,7 @@ export class MissionCardComp extends CCComp {
|
|||||||
|
|
||||||
private onNewWave() {
|
private onNewWave() {
|
||||||
this.enterPreparePhase();
|
this.enterPreparePhase();
|
||||||
|
this.updateCoinAndCostUI();
|
||||||
this.layoutCardSlots();
|
this.layoutCardSlots();
|
||||||
const cards = this.buildDrawCards();
|
const cards = this.buildDrawCards();
|
||||||
this.dispatchCardsToSlots(cards);
|
this.dispatchCardsToSlots(cards);
|
||||||
@@ -497,7 +498,10 @@ export class MissionCardComp extends CCComp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private getUpgradeCost(lv: number): number {
|
private getUpgradeCost(lv: number): number {
|
||||||
return CardsUpSet[lv] ?? 0;
|
const baseCost = Math.max(0, Math.floor(CardsUpSet[lv] ?? 0));
|
||||||
|
const completedWave = Math.max(0, this.getCurrentWave() - 1);
|
||||||
|
const discount = Math.max(0, Math.floor(CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE)) * completedWave;
|
||||||
|
return Math.max(0, baseCost - discount);
|
||||||
}
|
}
|
||||||
|
|
||||||
private getRefreshCost(): number {
|
private getRefreshCost(): number {
|
||||||
@@ -695,6 +699,11 @@ export class MissionCardComp extends CCComp {
|
|||||||
return Math.max(0, Math.floor(missionData?.coin ?? 0));
|
return Math.max(0, Math.floor(missionData?.coin ?? 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getCurrentWave(): number {
|
||||||
|
const missionData = this.getMissionData();
|
||||||
|
return Math.max(1, Math.floor(missionData?.level ?? 1));
|
||||||
|
}
|
||||||
|
|
||||||
private setMissionCoin(value: number) {
|
private setMissionCoin(value: number) {
|
||||||
const missionData = this.getMissionData();
|
const missionData = this.getMissionData();
|
||||||
if (!missionData) return;
|
if (!missionData) return;
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { mLogger } from "../common/Logger";
|
|||||||
import { Monster } from "../hero/Mon";
|
import { Monster } from "../hero/Mon";
|
||||||
import { Skill } from "../skill/Skill";
|
import { Skill } from "../skill/Skill";
|
||||||
import { Tooltip } from "../skill/Tooltip";
|
import { Tooltip } from "../skill/Tooltip";
|
||||||
|
import { CardInitCoins } from "../common/config/CardSet";
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
|
||||||
@@ -222,9 +223,9 @@ export class MissionComp extends CCComp {
|
|||||||
smc.vmdata.mission_data.in_fight=false
|
smc.vmdata.mission_data.in_fight=false
|
||||||
smc.vmdata.mission_data.fight_time=0
|
smc.vmdata.mission_data.fight_time=0
|
||||||
smc.vmdata.mission_data.mon_num=0
|
smc.vmdata.mission_data.mon_num=0
|
||||||
smc.vmdata.mission_data.level=0
|
smc.vmdata.mission_data.level = 1
|
||||||
smc.vmdata.mission_data.mon_max = Math.max(1, Math.floor(this.maxMonsterCount))
|
smc.vmdata.mission_data.mon_max = Math.max(1, Math.floor(this.maxMonsterCount))
|
||||||
this.currentWave = 0;
|
this.currentWave = 1;
|
||||||
this.FightTime=FightSet.FiIGHT_TIME
|
this.FightTime=FightSet.FiIGHT_TIME
|
||||||
this.rewards=[] // 改为数组,用于存储掉落物品列表
|
this.rewards=[] // 改为数组,用于存储掉落物品列表
|
||||||
this.revive_times = 1; // 每次任务开始重置复活次数
|
this.revive_times = 1; // 每次任务开始重置复活次数
|
||||||
@@ -241,7 +242,7 @@ export class MissionComp extends CCComp {
|
|||||||
this.heapTrendBaseMB = -1;
|
this.heapTrendBaseMB = -1;
|
||||||
this.monsterCountSyncTimer = 0;
|
this.monsterCountSyncTimer = 0;
|
||||||
this.lastPrepareCoinWave = 0;
|
this.lastPrepareCoinWave = 0;
|
||||||
smc.vmdata.mission_data.coin = 0;
|
smc.vmdata.mission_data.coin = Math.max(0, Math.floor(CardInitCoins));
|
||||||
|
|
||||||
// 重置全局属性加成和主角引用 (确保新一局数据干净)
|
// 重置全局属性加成和主角引用 (确保新一局数据干净)
|
||||||
// smc.role = null;
|
// smc.role = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user