英雄普通攻击改变

This commit is contained in:
2025-06-16 10:53:02 +08:00
parent e7efaa9d1e
commit d9b7b6c966
6 changed files with 64 additions and 9 deletions

View File

@@ -21,11 +21,19 @@ export enum SkillTarget {
WATER = 2, WATER = 2,
EARTH = 3, EARTH = 3,
WIND = 4, WIND = 4,
LIGHT = 5, LIGHT = 5,
DARK = 6, DARK = 6,
}
//特殊属性
export enum EquipSpecialAttr {
ICE=1, //普通技能变冰系冰冻
FIRE=2, //普通技能变火焰易伤
WIND=3, //普通技能变飓风带击退
FRIND_LIVE_CD=4, //伙伴复活时间减少
ATK_ADD_FRIND_ATK=5, //伙伴攻击力增加
ATK_ADD_FRIND_HP=6, //伙伴生命值增加
ATK_ADD_GLOD=7, //金币增加
} }
export enum EquipQuality { export enum EquipQuality {
WHITE = 1, WHITE = 1,
GREEN = 2, GREEN = 2,
@@ -56,11 +64,13 @@ export interface EquipData {
name: string; // 装备名称 name: string; // 装备名称
type: EquipType; // 装备类型 type: EquipType; // 装备类型
info: string; // 装备描述 info: string; // 装备描述
special_attr: EquipSpecialAttr; // 特殊属性
buff: EquipAttribute[]; // 属性加成列表 buff: EquipAttribute[]; // 属性加成列表
debuff: EquipDebuffAttribute[]; // 属性减益列表 debuff: EquipDebuffAttribute[]; // 属性减益列表
} }
export const EquipInfo: { [key: number]: EquipData } = { export const EquipInfo: { [key: number]: EquipData } = {
2001: {uuid: 2001, name: "新手剑", type: EquipType.WEAPON,info:"攻击力增加80%", 2001: {uuid: 2001, name: "新手剑", type: EquipType.WEAPON,info:"攻击力增加80%",
special_attr: EquipSpecialAttr.ICE,
buff: [ buff: [
{ type: BuffAttr.ATK, value: 80, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK, value: 80, target: EquipAttrTarget.HERO },
], ],
@@ -69,6 +79,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
] ]
}, },
2002: {uuid: 2002,name: "新手剑2",type: EquipType.WEAPON,info:"攻击速度增加30%", 2002: {uuid: 2002,name: "新手剑2",type: EquipType.WEAPON,info:"攻击速度增加30%",
special_attr: EquipSpecialAttr.ICE,
buff: [ buff: [
{ type: BuffAttr.ATK_CD, value: 30, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 30, target: EquipAttrTarget.HERO },
], ],
@@ -77,6 +88,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
] ]
}, },
2003: {uuid: 2003,name: "新手剑3",type: EquipType.WEAPON,info:"攻击次数增加1次", 2003: {uuid: 2003,name: "新手剑3",type: EquipType.WEAPON,info:"攻击次数增加1次",
special_attr: EquipSpecialAttr.ICE,
buff: [ buff: [
{ type: BuffAttr.ATK_COUNT, value: 1, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_COUNT, value: 1, target: EquipAttrTarget.HERO },
], ],
@@ -85,6 +97,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
] ]
}, },
2004: {uuid: 2004,name: "防具1",type: EquipType.ARMOR,info:"生命值增加100%", 2004: {uuid: 2004,name: "防具1",type: EquipType.ARMOR,info:"生命值增加100%",
special_attr: EquipSpecialAttr.ICE,
buff: [ buff: [
{ type: BuffAttr.HP, value: 100, target: EquipAttrTarget.HERO }, { type: BuffAttr.HP, value: 100, target: EquipAttrTarget.HERO },
], ],
@@ -93,6 +106,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
] ]
}, },
2005: {uuid: 2005,name: "防具2",type: EquipType.ARMOR,info:"免伤增加50%", 2005: {uuid: 2005,name: "防具2",type: EquipType.ARMOR,info:"免伤增加50%",
special_attr: EquipSpecialAttr.ICE,
buff: [ buff: [
{ type: BuffAttr.DEF, value: 50, target: EquipAttrTarget.HERO }, { type: BuffAttr.DEF, value: 50, target: EquipAttrTarget.HERO },
], ],

View File

@@ -41,4 +41,5 @@ export enum GameEvent {
EquipSelect = "EquipSelect", EquipSelect = "EquipSelect",
EquipSelectEnd = "EquipSelectEnd", EquipSelectEnd = "EquipSelectEnd",
WaveUpdate = "WaveUpdate", WaveUpdate = "WaveUpdate",
ChangeATK = "ChangeATK",
} }

View File

@@ -10,6 +10,7 @@ import { BuffComp } from "./BuffComp";
import { oops } from "db://oops-framework/core/Oops"; import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../common/config/GameEvent"; import { GameEvent } from "../common/config/GameEvent";
import { FightConComp } from "../map/FightConComp"; import { FightConComp } from "../map/FightConComp";
import { EquipSpecialAttr } from "../common/config/Equips";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -88,6 +89,7 @@ export class HeroViewComp extends CCComp {
this.as = this.getComponent(HeroSpine); this.as = this.getComponent(HeroSpine);
this.FIGHTCON=this.node.parent.getComponent(FightConComp); this.FIGHTCON=this.node.parent.getComponent(FightConComp);
console.log("hero view comp ",this.FIGHTCON) console.log("hero view comp ",this.FIGHTCON)
this.on(GameEvent.ChangeATK,this.change_atk,this)
// let anm = this.node.getChildByName("anm") // let anm = this.node.getChildByName("anm")
// anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8); // anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8);
// 注册单个碰撞体的回调函数 // 注册单个碰撞体的回调函数
@@ -146,6 +148,22 @@ export class HeroViewComp extends CCComp {
// 处理伤害队列 // 处理伤害队列
this.processDamageQueue(); this.processDamageQueue();
} }
change_atk(e:GameEvent,data:any){
switch(data){
case EquipSpecialAttr.ICE:
this.atk_skill=6001
break
case EquipSpecialAttr.FIRE:
this.atk_skill=6002
break
case EquipSpecialAttr.WIND:
this.atk_skill=6003
break
default:
this.atk_skill=6001
break
}
}
get isActive() { get isActive() {
return this.ent.has(HeroViewComp) && this.node?.isValid; return this.ent.has(HeroViewComp) && this.node?.isValid;
} }

View File

@@ -2,7 +2,7 @@ import { _decorator, Component, Node, resources, Sprite, SpriteAtlas } from 'cc'
import { oops } from 'db://oops-framework/core/Oops'; import { oops } from 'db://oops-framework/core/Oops';
import { GameEvent } from '../common/config/GameEvent'; import { GameEvent } from '../common/config/GameEvent';
import { smc } from '../common/SingletonModuleComp'; import { smc } from '../common/SingletonModuleComp';
import { EquipInfo, EquipType, EquipAttrTarget} from '../common/config/Equips'; import { EquipInfo, EquipType, EquipAttrTarget, EquipSpecialAttr} from '../common/config/Equips';
import { BuffAttr, DebuffAttr, geDebuffNum, getBuffNum } from '../common/config/SkillSet'; import { BuffAttr, DebuffAttr, geDebuffNum, getBuffNum } from '../common/config/SkillSet';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -121,12 +121,34 @@ export class EquipsComp extends Component {
let weapon_debuffs = this.weapon.uuid ? EquipInfo[this.weapon.uuid]?.debuff || [] : []; let weapon_debuffs = this.weapon.uuid ? EquipInfo[this.weapon.uuid]?.debuff || [] : [];
let armor_debuffs = this.armor.uuid ? EquipInfo[this.armor.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 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;
console.log("武器特殊属性", weapon_special_attr);
console.log("防具特殊属性", armor_special_attr);
console.log("饰品特殊属性", accessory_special_attr);
console.log("武器属性", weapon_buffs); console.log("武器属性", weapon_buffs);
console.log("防具属性", armor_buffs); console.log("防具属性", armor_buffs);
console.log("饰品属性", accessory_buffs); console.log("饰品属性", accessory_buffs);
console.log("武器减益", weapon_debuffs); console.log("武器减益", weapon_debuffs);
console.log("防具减益", armor_debuffs); console.log("防具减益", armor_debuffs);
console.log("饰品减益", accessory_debuffs); console.log("饰品减益", accessory_debuffs);
//特殊属性附加
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
default:
oops.message.dispatchEvent(GameEvent.ChangeATK,0)
break
}
// 合并所有装备属性 // 合并所有装备属性
const allBuff = [...weapon_buffs, ...armor_buffs, ...accessory_buffs]; const allBuff = [...weapon_buffs, ...armor_buffs, ...accessory_buffs];
const allDebuff = [...weapon_debuffs, ...armor_debuffs, ...accessory_debuffs]; const allDebuff = [...weapon_debuffs, ...armor_debuffs, ...accessory_debuffs];

View File

@@ -22,6 +22,7 @@ export class FightConComp extends Component {
temp_hero_debuff = this.getInitTempDebuff(); temp_hero_debuff = this.getInitTempDebuff();
temp_friend_debuff = this.getInitTempDebuff(); temp_friend_debuff = this.getInitTempDebuff();
temp_enemy_debuff = this.getInitTempDebuff(); temp_enemy_debuff = this.getInitTempDebuff();
atk_type:number=0;
onLoad(){ onLoad(){
// console.log("fight con start") // console.log("fight con start")

View File

@@ -12,11 +12,10 @@
- [x] HP加100% - [x] HP加100%
- [x] 免伤50% - [x] 免伤50%
- [ ] 普通攻击改为飓风攻击带击退(被动) - [x] 普通攻击改为飓风攻击带击退(被动)
- [ ] 普通攻击改为寒冰攻击带冰冻(被动) - [x] 普通攻击改为寒冰攻击带冰冻(被动)
- [ ] 普通攻击改为火焰攻击带易伤(被动) - [x] 普通攻击改为火焰攻击带易伤(被动)
- [ ] 伙伴复活时间减少%(被动) - [ ] 伙伴复活时间减少%(被动)
- [ ] 每攻击n次 加伙伴hp - [ ] 每攻击n次 加伙伴hp
- [ ] 每攻击n次 加伙伴ap - [ ] 每攻击n次 加伙伴ap
- [ ] 每攻击n次后 增加1金币 - [ ] 每攻击n次后 增加1金币
- [ ] 每攻击n次减少下次一次伙伴复活时间