diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index d3646ada..0500f3b1 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -3,7 +3,7 @@ */ import { getHeroList, HeroList } from "./heroSet" -import { HeroSkillList, SkillSet } from "./SkillSet" +import { getSkills, HeroSkillList, SkillSet } from "./SkillSet" import { equip_list, weapons, armors, accessorys, getEquipUUIDsByTypeAndLevel } from "./Equips" //1:伙伴 2:技能 3:装备的出现概率配置 @@ -106,14 +106,14 @@ export function getRandomCardsByType( let cardList: number[] = []; switch (type) { case cardType.HERO: - cardList = getHeroList(data); + cardList = getHeroList(data); //hero选项是1和0 1是主将 break; case cardType.SKILL: - cardList = HeroSkillList; // 直接使用HeroSkillList数组 + cardList = getSkills(data); // 技能时 data是品质 break; case cardType.EQUIP: // 根据装备子类型筛选 - cardList=getEquipUUIDsByTypeAndLevel(data,level) + cardList=getEquipUUIDsByTypeAndLevel(data,level) //装备时 data是装备子类型 1:武器 2:防具 3:饰品 0或undefined:全部 break; case cardType.SPECIAL: cardList = SuperCardsList; diff --git a/assets/script/game/common/config/SkillSet.ts b/assets/script/game/common/config/SkillSet.ts index 9f186968..42263982 100644 --- a/assets/script/game/common/config/SkillSet.ts +++ b/assets/script/game/common/config/SkillSet.ts @@ -178,100 +178,111 @@ info:技能描述 debuff 按次数进行结算,在多次生效内,有一定的叠加,debuff.deC为次数,debuff.deV为效果 */ export const HeroSkillList = [6001,6001,6001,6001,6001,6001] +export const getSkills=(quality:number)=>{ + const heroSkills: number[] = []; + + // 遍历所有技能,找出 for_hero 为 true 且品质匹配的技能 + Object.values(SkillSet).forEach(skill => { + // 检查技能是否有 for_hero 属性且为 true,同时品质匹配 + if (skill.for_hero === true && skill.quality === quality) { + heroSkills.push(skill.uuid); + } + }); + + return heroSkills; +} export const SkillSet = { - 6001:{uuid:6001,name:"凛冬之触",sp_name:"greenball",path:"6001",quality:Quality.WHITE, TType:TType.Frontline, + 6001:{uuid:6001,name:"凛冬之触",for_hero:false,sp_name:"greenball",path:"6001",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"}, - 6002:{uuid:6002,name:"穿心箭矢",sp_name:"arrow",path:"6006",quality:Quality.WHITE, TType:TType.Frontline, + 6002:{uuid:6002,name:"穿心箭矢",for_hero:false,sp_name:"arrow",path:"6006",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"}, - 6003:{uuid:6003,name:"神圣护盾",sp_name:"shield",path:"6018",quality:Quality.WHITE, TType:TType.Frontline, + 6003:{uuid:6003,name:"神圣护盾",for_hero:false,sp_name:"shield",path:"6018",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:30,speed:720,sonsk:0,hero:0,info:"召唤圣盾保护自己,可以抵御3次攻击"}, - 6004:{uuid:6004,name:"自愈", sp_name:"heath_small",path:"6032",quality:Quality.WHITE, TType:TType.Frontline, + 6004:{uuid:6004,name:"自愈", for_hero:false, sp_name:"heath_small",path:"6032",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:2,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"主动:自己回复自身5%最大生命值的生命"}, - 6005:{uuid:6005,name:"基础打击",sp_name:"base1",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, + 6005:{uuid:6005,name:"基础打击",for_hero:false,sp_name:"base1",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"}, - 6006:{uuid:6006,name:"基础打击",sp_name:"base2",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, + 6006:{uuid:6006,name:"基础打击",for_hero:false,sp_name:"base2",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"}, - 6007:{uuid:6007,name:"基础打击",sp_name:"base3",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, + 6007:{uuid:6007,name:"基础打击",for_hero:false,sp_name:"base3",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"}, - 6008:{uuid:6008,name:"基础打击",sp_name:"base4",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, + 6008:{uuid:6008,name:"基础打击",for_hero:false,sp_name:"base4",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"}, - 6009:{uuid:6009,name:"铁斧打击",sp_name:"base_ft",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, + 6009:{uuid:6009,name:"铁斧打击",for_hero:false,sp_name:"base_ft",path:"6007",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"}, - 6010:{uuid:6010,name:"木棍打击",sp_name:"base_mg",path:"6008",quality:Quality.WHITE, TType:TType.Frontline, + 6010:{uuid:6010,name:"木棍打击",for_hero:false,sp_name:"base_mg",path:"6008",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"}, - 6011:{uuid:6011,name:"飞刀打击",sp_name:"mon_xd",path:"6009",quality:Quality.WHITE, TType:TType.Frontline, + 6011:{uuid:6011,name:"飞刀打击",for_hero:false,sp_name:"mon_xd",path:"6009",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"}, - 6012:{uuid:6012,name:"石斧打击",sp_name:"base_sf",path:"6010",quality:Quality.WHITE, TType:TType.Frontline, + 6012:{uuid:6012,name:"石斧打击",for_hero:false,sp_name:"base_sf",path:"6010",quality:Quality.WHITE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"}, - 6022:{uuid:6022,name:"大火球" ,sp_name:"fire",path:"6022",quality:Quality.WHITE, TType:TType.Frontline, + 6022:{uuid:6022,name:"大火球" ,for_hero:true,sp_name:"fire",path:"6022",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:DebuffAttr.STUN,deV:20,deC:1,deR:100,in:1,ap:100,cd:5,hit:2,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"}, - 6023:{uuid:6023,name:"龙卷风", sp_name:"bwind",path:"6026",quality:Quality.WHITE, TType:TType.Frontline, + 6023:{uuid:6023,name:"龙卷风",for_hero:true, sp_name:"bwind",path:"6026",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,speed:360,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"}, - 6024:{uuid:6024,name:"寒冰箭", sp_name:"arrow_blue",path:"6024",quality:Quality.WHITE, TType:TType.Frontline, + 6024:{uuid:6024,name:"寒冰箭",for_hero:true, sp_name:"arrow_blue",path:"6024",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:DebuffAttr.FROST,deV:1,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"}, - 6025:{uuid:6025,name:"烈焰射击",sp_name:"arrow_yellow",path:"6025",quality:Quality.WHITE, TType:TType.Frontline, + 6025:{uuid:6025,name:"烈焰射击",for_hero:true,sp_name:"arrow_yellow",path:"6025",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90, debuff:DebuffAttr.STUN,deV:0,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"}, - 6026:{uuid:6026,name:"火墙", sp_name:"firewall",path:"6023",quality:Quality.WHITE, TType:TType.Frontline, + 6026:{uuid:6026,name:"火墙", for_hero:true, sp_name:"firewall",path:"6023",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:10,ap:50,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"}, - 6027:{uuid:6027,name:"冰刺",sp_name:"icez",path:"6022",quality:Quality.WHITE, TType:TType.Frontline, + 6027:{uuid:6027,name:"冰刺",for_hero:true,sp_name:"icez",path:"6022",quality:Quality.BLUE, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:DebuffAttr.FROST,deV:0,deC:0,deR:100,in:1,ap:300,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"}, - 6028:{uuid:6028,name:"潮汐", sp_name:"watert",path:"6026",quality:Quality.WHITE, TType:TType.Frontline, + 6028:{uuid:6028,name:"潮汐", for_hero:true, sp_name:"watert",path:"6026",quality:Quality.BLUE, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"}, - 6029:{uuid:6029,name:"陨石术", sp_name:"fireys",path:"6029",quality:Quality.WHITE, TType:TType.Frontline, + 6029:{uuid:6029,name:"陨石术",for_hero:true, sp_name:"fireys",path:"6029",quality:Quality.BLUE, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"}, - 6020:{uuid:6020,name:"冰暴",sp_name:"bingyu",path:"6034",quality:Quality.WHITE, TType:TType.Frontline, + 6020:{uuid:6020,name:"冰暴",for_hero:true,sp_name:"bingyu",path:"6034",quality:Quality.BLUE, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90, debuff:4,deV:0,deC:0,deR:100,in:4,ap:80,cd:5,hit:1,hited:1,shield:0,speed:720,sonsk:0,hero:0,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"}, - 6021:{uuid:6021,name:"烈火呼吸",sp_name:"firequan",path:"6011",quality:Quality.WHITE, TType:TType.Frontline, + 6021:{uuid:6021,name:"烈火呼吸",for_hero:true,sp_name:"firequan",path:"6011",quality:Quality.BLUE, TType:TType.Frontline, TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.timeEnd,fname:"max",flash:false,with:90, debuff:0,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"}, - - - 6030:{uuid:6030,name:"冰墙", sp_name:"icet",path:"6023",quality:Quality.WHITE, TType:TType.Frontline, + 6030:{uuid:6030,name:"冰墙", for_hero:true, sp_name:"icet",path:"6023",quality:Quality.GREEN, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:90, debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:1,ap:400,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"}, - 6032:{uuid:6032,name:"火焰漩涡",sp_name:"fireball",path:"6025",quality:Quality.WHITE, TType:TType.Frontline, + 6032:{uuid:6032,name:"火焰漩涡",for_hero:true,sp_name:"fireball",path:"6025",quality:Quality.PURPLE, TType:TType.Frontline, TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.timeEnd,fname:"max",flash:false,with:90, debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤一个能量球射向前方敌人,对遇到的第一个敌人造成500%攻击的伤害,并击退"}, - 6031:{uuid:6031,name:"召唤仆从",sp_name:"zhaohuan",path:"6031",quality:Quality.WHITE, TType:TType.Frontline, + 6031:{uuid:6031,name:"召唤仆从",for_hero:true,sp_name:"zhaohuan",path:"6031",quality:Quality.PURPLE, TType:TType.Frontline, TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90, debuff:0,deV:0,deC:0,deR:100,in:2,ap:70,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"}, diff --git a/assets/script/game/map/CardsComp.ts b/assets/script/game/map/CardsComp.ts index 6fdc08eb..4e47f8fe 100644 --- a/assets/script/game/map/CardsComp.ts +++ b/assets/script/game/map/CardsComp.ts @@ -7,6 +7,7 @@ import { cardType, getRandomCardsByType } from "../common/config/CardSet"; import { smc } from "../common/SingletonModuleComp"; import { RandomManager } from "db://oops-framework/core/common/random/RandomManager"; import { EquipType } from "../common/config/Equips"; +import { getSkills, Quality } from "../common/config/SkillSet"; const { ccclass, property } = _decorator; @@ -104,7 +105,14 @@ export class CardsCompComp extends CCComp { } hero_skill_select(data:any){ - let list=getRandomCardsByType(cardType.SKILL,3) + let list=[] + if(data.slot=="skill1"){ + list =getRandomCardsByType(cardType.SKILL,3,Quality.GREEN) + }else if(data.slot=="skill2"){ + list=getRandomCardsByType(cardType.SKILL,3,Quality.BLUE) + }else if(data.slot=="skill3"){ + list=getRandomCardsByType(cardType.SKILL,3,Quality.PURPLE) + } console.log("[CardsComp]:技能选择卡牌列表",list) this.card1c.hero_skill_select(list[0],data) this.card2c.hero_skill_select(list[1],data)