装备 需要完善

This commit is contained in:
2025-07-02 17:45:00 +08:00
parent ebeb5ea04b
commit 11e6ecdf48
9 changed files with 1492 additions and 1332 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
import { HeroList } from "./heroSet"
import { HeroSkillList, SkillSet } from "./SkillSet"
import { equip_list } from "./Equips"
import { accessorys, armors, equip_list, EquipType, weapons } from "./Equips"
//1:伙伴 2:技能 3:装备的出现概率配置
export const CardProbability={
@@ -99,7 +99,8 @@ export function getRandomCardUUIDByType(type: number): number {
// 获取多个不重复的指定类型卡牌
export function getRandomCardsByType(
type: number,
count: number
count: number,
equipSubType?: number // 新增参数
): { type: number; uuid: number }[] {
let cardList: number[] = [];
switch (type) {
@@ -110,7 +111,17 @@ export function getRandomCardsByType(
cardList = HeroSkillList; // 直接使用HeroSkillList数组
break;
case cardType.EQUIP:
cardList = equip_list;
switch(equipSubType){
case EquipType.WEAPON:
cardList = weapons ;
break;
case EquipType.ARMOR:
cardList = armors;
break;
case EquipType.ACCESSORY:
cardList = accessorys;
break;
}
break;
case cardType.SPECIAL:
cardList = SuperCardsList;

View File

@@ -46,9 +46,9 @@ export enum Quality {
ORANGE = 5,
RED = 6,
}
export const weapon_id=[2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025]
export const armor_id=[2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122]
export const accessory_id=[2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230]
export const weapons=[2001,2002,2003]
export const armors=[2001,2002,2003]
export const accessorys=[2001,2002,2003]
export const equip_list=[2001,2002,2003,]
// 装备属性加成接口
export interface EquipAttribute {

View File

@@ -24,6 +24,7 @@ export class CardComp extends CCComp {
is_used:boolean=false;
cost_gold:number=0;
skill_slot:string="skill1"
equip_slot:string="weapon"
onLoad(){
// this.on(GameEvent.HeroSelect,this.hero_select,this)
}
@@ -60,9 +61,10 @@ export class CardComp extends CCComp {
this.node.getChildByName("Button").active=true
}, 0.1);
}
equip_select(args: any){
equip_select(args: any,slot:string="weapon"){
this.c_type=cardType.EQUIP
this.c_uuid=args.uuid
this.equip_slot=slot
this.node.getChildByName("show").active=false
this.node.getChildByName("anim").getChildByName("up").getComponent(Animation).play('carsup')
this.show_equip(this.c_uuid)
@@ -249,7 +251,7 @@ export class CardComp extends CCComp {
case cardType.EQUIP:
console.log("[cardcomp]:use_card 装备卡")
if(!this.cost_gold_check()) return
oops.message.dispatchEvent(GameEvent.EquipAdd,{uuid:this.c_uuid,type:EquipInfo[this.c_uuid].type})
oops.message.dispatchEvent(GameEvent.EquipAdd,{uuid:this.c_uuid,type:EquipInfo[this.c_uuid].type,slot:this.equip_slot})
oops.message.dispatchEvent(GameEvent.CardsClose)
break
case cardType.SPECIAL:

View File

@@ -71,12 +71,23 @@ export class CardsCompComp extends CCComp {
this.card3c.hero_skill_select(list[2],data)
// this.card4c.hero_skill_select(list[3])
}
equip_select(){
let list=getRandomCardsByType(cardType.EQUIP,3)
equip_select(data:any){
let list=[]
switch(data.slot){
case "weapon":
list=getRandomCardsByType(cardType.EQUIP,3)
break
case "armor":
list=getRandomCardsByType(cardType.EQUIP,3)
break
case "accessory":
list=getRandomCardsByType(cardType.EQUIP,3)
break
}
console.log("[CardsComp]:装备选择卡牌列表",list)
this.card1c.equip_select(list[0])
this.card2c.equip_select(list[1])
this.card3c.equip_select(list[2])
this.card1c.equip_select(list[0],data)
this.card2c.equip_select(list[1],data)
this.card3c.equip_select(list[2],data)
// this.card4c.equip_select(list[3])
}
func_select(){
@@ -132,7 +143,7 @@ export class CardsCompComp extends CCComp {
case GameEvent.EquipSelect:
console.log("[CardsComp]:显示装备选择卡牌")
this.node.getChildByName("btns").getChildByName("cancel").active=true
this.equip_select()
this.equip_select(data)
break
}

View File

@@ -190,6 +190,18 @@ export class EquipSkillComp extends CCComp {
}
}
call_skill_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.skill_stone < mission_data.skill_stone_max){
oops.gui.toast("技能石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.HeroSkillSelect,{slot:data})
mission_data.skill_stone-=mission_data.skill_stone_max
mission_data.skill_stone_max=mission_data.skill_stone_max*2
}
private show_skill_get(e:string){
if(this.skill1.uuid==0){
this.boxs.getChildByName("skill1").getChildByName("get").active =true
@@ -197,15 +209,13 @@ export class EquipSkillComp extends CCComp {
this.boxs.getChildByName("skill1").getChildByName("tip").active =true
this.boxs.getChildByName("skill1").getChildByName("tip").getComponent(Label).string="可购买"
}
if(this.skill2.uuid==0){
if(this.skill2.uuid==0&&this.skill1.uuid!=0){
this.boxs.getChildByName("skill2").getChildByName("get").active =true
this.boxs.getChildByName("skill2").getChildByName("light").active=true
this.boxs.getChildByName("skill2").getChildByName("tip").active =true
this.boxs.getChildByName("skill2").getChildByName("tip").getComponent(Label).string="可购买"
}
if(this.skill3.uuid==0){
if(this.skill3.uuid==0&&this.skill1.uuid!=0&&this.skill2.uuid!=0){
this.boxs.getChildByName("skill3").getChildByName("get").active =true
this.boxs.getChildByName("skill3").getChildByName("light").active=true
this.boxs.getChildByName("skill3").getChildByName("tip").active =true

View File

@@ -36,6 +36,19 @@ export class EquipsComp extends Component {
this.show_equip_get("accessory")
}
}
call_equip_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.equip_stone < mission_data.equip_stone_max){
oops.gui.toast("装备石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.EquipSelect,{slot:data})
mission_data.equip_stone-=mission_data.equip_stone_max
mission_data.equip_stone_max=mission_data.equip_stone_max*2
}
start(){
this.fight_ready()
}

View File

@@ -148,28 +148,8 @@ export class MissionComp extends CCComp {
oops.message.dispatchEvent(GameEvent.HeroSelect)
}
call_equip_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.equip_stone < mission_data.equip_stone_max){
oops.gui.toast("装备石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.EquipSelect,{slot:data})
mission_data.equip_stone-=mission_data.equip_stone_max
mission_data.equip_stone_max=mission_data.equip_stone_max*2
}
call_skill_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.skill_stone < mission_data.skill_stone_max){
oops.gui.toast("技能石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.HeroSkillSelect,{slot:data})
mission_data.skill_stone-=mission_data.skill_stone_max
mission_data.skill_stone_max=mission_data.skill_stone_max*2
}
call_func_card(){
let mission_data=smc.vmdata.mission_data

View File

@@ -37,6 +37,7 @@
- [x] 卡牌技能 触发会中断问题
- [x] buff和debuff 增益功能 添加
- [x] 升级 和+ap +hp 动画
- [ ] 装备升级规则 和 技能替换规则 及ui 表现 技能随等级 不懂slot的 技能强度不一样, 装备可以有不同先发选择, 武器,盾牌,饰品 都可以先发获取 或 升级
- [ ] boss信息面板
- [ ] 金币掉落 动画 从头顶掉到底部bar
- [ ] 副将和技能,特殊情况下 触发更换和获取