装备特殊加成 继续完善

This commit is contained in:
panw
2025-06-17 16:19:02 +08:00
parent 0a1e2b7813
commit d7b6dd375a
11 changed files with 171 additions and 113 deletions

View File

@@ -122,9 +122,9 @@ export class EquipsComp extends Component {
let weapon_debuffs = this.weapon.uuid ? EquipInfo[this.weapon.uuid]?.debuff || [] : [];
let armor_debuffs = this.armor.uuid ? EquipInfo[this.armor.uuid]?.debuff || [] : [];
let accessory_debuffs = this.accessory.uuid ? EquipInfo[this.accessory.uuid]?.debuff || [] : [];
let weapon_special_attr = this.weapon.uuid ? EquipInfo[this.weapon.uuid]?.special_attr : 0;
let armor_special_attr = this.armor.uuid ? EquipInfo[this.armor.uuid]?.special_attr : 0;
let accessory_special_attr = this.accessory.uuid ? EquipInfo[this.accessory.uuid]?.special_attr : 0;
let weapon_special_attr = this.weapon.uuid ? EquipInfo[this.weapon.uuid]?.special_attr : null;
let armor_special_attr = this.armor.uuid ? EquipInfo[this.armor.uuid]?.special_attr : null;
let accessory_special_attr = this.accessory.uuid ? EquipInfo[this.accessory.uuid]?.special_attr : null;
console.log("武器特殊属性", weapon_special_attr);
console.log("防具特殊属性", armor_special_attr);
@@ -135,8 +135,9 @@ export class EquipsComp extends Component {
console.log("武器减益", weapon_debuffs);
console.log("防具减益", armor_debuffs);
console.log("饰品减益", accessory_debuffs);
const all_special_attr=[weapon_special_attr,armor_special_attr,accessory_special_attr]
let equip_special_attr=this.count_equip_special_attr(weapon_special_attr,armor_special_attr,accessory_special_attr)
let equip_special_attr=this.count_equip_special_attr(all_special_attr)
oops.message.dispatchEvent(GameEvent.ChangeATK_EQUIP_SPECIAL_ATTR,equip_special_attr)
// 合并所有装备属性
@@ -181,65 +182,54 @@ export class EquipsComp extends Component {
oops.message.dispatchEvent(GameEvent.EquipChange, this.attrs);
}
count_equip_special_attr(weapon_special_attr:any,armor_special_attr:any,accessory_special_attr:any){
count_equip_special_attr(all_special_attr:any[]){
//特殊属性附加
let equip_special_attr={
ice:false,
fire:false,
wind:false,
friend_live_cd_less:0,
atk_add_friend_atk:0,
atk_add_friend_hp:0,
atk_add_glod:0,
atk_add_master_atk:0,
atk_add_master_hp:0,
}
switch(weapon_special_attr){
case EquipSpecialAttr.ICE:
oops.message.dispatchEvent(GameEvent.ChangeATK,EquipSpecialAttr.ICE)
break
case EquipSpecialAttr.FIRE:
oops.message.dispatchEvent(GameEvent.ChangeATK,EquipSpecialAttr.FIRE)
break
case EquipSpecialAttr.WIND:
oops.message.dispatchEvent(GameEvent.ChangeATK,EquipSpecialAttr.WIND)
break
case EquipSpecialAttr.FRIEND_LIVE_CD:
equip_special_attr.friend_live_cd_less+=FightSet.FRIEND_LIVE_CD_LESS
break
case EquipSpecialAttr.ATK_ADD_FRIEND_ATK:
equip_special_attr.atk_add_friend_atk+=FightSet.ATK_ADD_FRIEND_ATK
break
case EquipSpecialAttr.ATK_ADD_FRIEND_HP:
equip_special_attr.atk_add_friend_hp+=FightSet.ATK_ADD_FRIEND_HP
break
case EquipSpecialAttr.ATK_ADD_GLOD:
equip_special_attr.atk_add_glod+=FightSet.ATK_ADD_GLOD
}
all_special_attr.forEach(special_attr=>{
if(special_attr){
switch(special_attr.special_attr){
case EquipSpecialAttr.ICE:
equip_special_attr.ice=true
break
case EquipSpecialAttr.FIRE:
equip_special_attr.fire=true
break
case EquipSpecialAttr.WIND:
equip_special_attr.wind=true
break
case EquipSpecialAttr.FRIEND_LIVE_CD:
equip_special_attr.friend_live_cd_less+=special_attr.special_attr_value
break
case EquipSpecialAttr.ATK_ADD_FRIEND_ATK:
equip_special_attr.atk_add_friend_atk+=special_attr.special_attr_value
break
case EquipSpecialAttr.ATK_ADD_FRIEND_HP:
equip_special_attr.atk_add_friend_hp+=special_attr.special_attr_value
break
case EquipSpecialAttr.ATK_ADD_GLOD:
equip_special_attr.atk_add_glod+=special_attr.special_attr_value
break
case EquipSpecialAttr.ATK_ADD_MASTER_ATK:
equip_special_attr.atk_add_master_atk+=special_attr.special_attr_value
break
case EquipSpecialAttr.ATK_ADD_MASTER_HP:
equip_special_attr.atk_add_master_hp+=special_attr.special_attr_value
break
}
}
})
switch(armor_special_attr){
case EquipSpecialAttr.FRIEND_LIVE_CD:
equip_special_attr.friend_live_cd_less+=FightSet.FRIEND_LIVE_CD_LESS
break
case EquipSpecialAttr.ATK_ADD_FRIEND_ATK:
equip_special_attr.atk_add_friend_atk+=FightSet.ATK_ADD_FRIEND_ATK
break
case EquipSpecialAttr.ATK_ADD_FRIEND_HP:
equip_special_attr.atk_add_friend_hp+=FightSet.ATK_ADD_FRIEND_HP
break
case EquipSpecialAttr.ATK_ADD_GLOD:
equip_special_attr.atk_add_glod+=FightSet.ATK_ADD_GLOD
}
switch(accessory_special_attr){
case EquipSpecialAttr.FRIEND_LIVE_CD:
equip_special_attr.friend_live_cd_less+=FightSet.FRIEND_LIVE_CD_LESS
break
case EquipSpecialAttr.ATK_ADD_FRIEND_ATK:
equip_special_attr.atk_add_friend_atk+=FightSet.ATK_ADD_FRIEND_ATK
break
case EquipSpecialAttr.ATK_ADD_FRIEND_HP:
equip_special_attr.atk_add_friend_hp+=FightSet.ATK_ADD_FRIEND_HP
break
case EquipSpecialAttr.ATK_ADD_GLOD:
equip_special_attr.atk_add_glod+=FightSet.ATK_ADD_GLOD
}
console.log("[EquipsComp]:equip_special_attr",equip_special_attr)
return equip_special_attr
}