diff --git a/assets/resources/gui/role_controller.prefab b/assets/resources/gui/role_controller.prefab index 71179165..381101aa 100644 --- a/assets/resources/gui/role_controller.prefab +++ b/assets/resources/gui/role_controller.prefab @@ -1059,7 +1059,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 459.545, + "y": 435.147, "z": 0 }, "_lrot": { @@ -2239,7 +2239,7 @@ "_left": 0, "_right": 0, "_top": 0, - "_bottom": 459.545, + "_bottom": 435.147, "_horizontalCenter": 0, "_verticalCenter": 0, "_isAbsLeft": true, @@ -2582,7 +2582,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": -180, - "y": 396.244, + "y": 154.567, "z": 0 }, "_lrot": { @@ -3016,7 +3016,7 @@ "_left": 0, "_right": 360, "_top": 0, - "_bottom": 373.744, + "_bottom": 132.067, "_horizontalCenter": 0, "_verticalCenter": 0, "_isAbsLeft": true, @@ -4008,6 +4008,8 @@ "__id__": 0 }, "fileId": "33rSVysAVB1LO2v7wC2zZ1", + "instance": null, + "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { @@ -4970,6 +4972,8 @@ "__id__": 0 }, "fileId": "50nlTzRABGJ4vZYBkdXijK", + "instance": null, + "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { @@ -5009,7 +5013,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 180, - "y": 394.952, + "y": 153.275, "z": 0 }, "_lrot": { @@ -5688,7 +5692,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": -259, - "y": 252.88, + "y": 296.371, "z": 0 }, "_lrot": { @@ -6142,7 +6146,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": -85, - "y": 252.88, + "y": 296.371, "z": 0 }, "_lrot": { @@ -6596,7 +6600,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 85, - "y": 252.88, + "y": 296.371, "z": 0 }, "_lrot": { @@ -7050,7 +7054,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 259, - "y": 252.88, + "y": 296.371, "z": 0 }, "_lrot": { @@ -7577,7 +7581,7 @@ "value": { "__type__": "cc.Vec3", "x": -260, - "y": 252.88, + "y": 296.371, "z": 0 } }, @@ -7898,7 +7902,7 @@ "value": { "__type__": "cc.Vec3", "x": -86, - "y": 252.88, + "y": 296.371, "z": 0 } }, @@ -8219,7 +8223,7 @@ "value": { "__type__": "cc.Vec3", "x": 86, - "y": 252.88, + "y": 296.371, "z": 0 } }, @@ -8540,7 +8544,7 @@ "value": { "__type__": "cc.Vec3", "x": 260, - "y": 252.88, + "y": 296.371, "z": 0 } }, @@ -11990,7 +11994,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 78, + "width": 148, "height": 58.4 }, "_anchorPoint": { @@ -12026,7 +12030,7 @@ "b": 255, "a": 255 }, - "_string": "开始", + "_string": "开始战斗", "_horizontalAlign": 1, "_verticalAlign": 1, "_actualFontSize": 35, diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 465a351f..c3a144f5 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -224,6 +224,7 @@ export const drawCardsByRule = ( type?: CardType | CardType[] heroType?: HType heroLv?: number + targetPoolLv?: number } = {} ): CardConfig[] => { const count = Math.max(0, Math.floor(options.count ?? 4)) @@ -233,6 +234,14 @@ export const drawCardsByRule = ( const typeSet = normalizeTypeFilter(options.type) pool = pool.filter(card => typeSet.has(card.type)) } + if (options.targetPoolLv !== undefined) { + // 如果指定了目标卡池等级,则强制从所有配置中筛选该等级的卡牌,无视当前的卡池等级限制 + pool = CardPoolList.filter(card => card.pool_lv === options.targetPoolLv) + if (options.type !== undefined) { + const typeSet = normalizeTypeFilter(options.type) + pool = pool.filter(card => typeSet.has(card.type)) + } + } if (options.heroType !== undefined || options.heroLv !== undefined) { pool = pool.filter(card => { if (card.type !== CardType.Hero) return false diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index 6f8f8086..344b9a04 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -438,12 +438,12 @@ export class MissionCardComp extends CCComp { return filled; } - private tryRefreshHeroCards(heroType?: HType, heroLv?: number): boolean { + private tryRefreshHeroCards(heroType?: HType, targetPoolLv?: number): boolean { const cards = drawCardsByRule(this.poolLv, { count: 4, type: CardType.Hero, heroType, - heroLv + targetPoolLv }); if (cards.length <= 0) return false; this.layoutCardSlots(); @@ -453,8 +453,8 @@ export class MissionCardComp extends CCComp { private tryRefreshHeroCardsByEffect(refreshHeroType: SpecialRefreshHeroType, refreshLv: number): boolean { const heroType = this.resolveRefreshHeroType(refreshHeroType); - const heroLv = refreshLv > 0 ? refreshLv : undefined; - return this.tryRefreshHeroCards(heroType, heroLv); + const targetPoolLv = refreshLv > 0 ? refreshLv : undefined; + return this.tryRefreshHeroCards(heroType, targetPoolLv); } private resolveRefreshHeroType(refreshHeroType: SpecialRefreshHeroType): HType | undefined { diff --git a/assets/script/hearthstone-battlegrounds.md.meta b/assets/script/hearthstone-battlegrounds.md.meta new file mode 100644 index 00000000..5f6ea260 --- /dev/null +++ b/assets/script/hearthstone-battlegrounds.md.meta @@ -0,0 +1,11 @@ +{ + "ver": "1.0.1", + "importer": "text", + "imported": true, + "uuid": "fc76e3b0-5134-401a-b3ea-03251f9135ec", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +}