From 79bda9f0dbc1195cda4709b1414f86214af31465 Mon Sep 17 00:00:00 2001 From: walkpan Date: Fri, 27 Dec 2024 08:14:39 +0800 Subject: [PATCH] dd --- assets/script/game/common/config/BoxSet.ts | 1 + assets/script/game/common/config/heroSet.ts | 3 ++ assets/script/game/hero/HeroViewComp.ts | 34 ++++++++++++++++----- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/assets/script/game/common/config/BoxSet.ts b/assets/script/game/common/config/BoxSet.ts index ac15597b..2de19862 100644 --- a/assets/script/game/common/config/BoxSet.ts +++ b/assets/script/game/common/config/BoxSet.ts @@ -49,4 +49,5 @@ export enum GameSet { MON_GOLD_ADD =2, MON_COIN_ADD=2, COIN_ADD=1, + DEF_RATE=0.5, } \ No newline at end of file diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index c8654470..b5b49838 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -44,6 +44,7 @@ import { Talents } from "./TalentSet" * crc 暴击触发sk3需要次数 **/ export const HeroInfo = { + //坦克, 高防 ,圣盾 5001: { uuid:5001,name: "圣盾骑士",path:"k1",type:0,hp: 2000, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5, lvexp:0,slvexp:0,slv:0, speed: 100,aexp:5,uaexp:1,cexp:10,doexp:10,dexp:20,sk1:[6005,6005,6005,6005,6005,6005],sk2:[6102,6102,6102,6102,6102,6102],sk3:[6102,6102,6102,6102,6102,6102],pw:0,pwm:150,pws:10,apw:10,uapw:10,cpw:10,dpw:10,dopw:10, @@ -51,6 +52,7 @@ export const HeroInfo = { abh:0,abc:0,uabh:0,uabc:0,cbh:0,cbc:0,aua:0,auc:0,uaua:0,uauc:0,cua:0,cuc:0,wp:1001,arm:2001,ring:3001,shoes:4001, tals:["这是一级说明","这是二级说明","这是三级说明","这是四级说明","这是五级说明"] }, + //坦克,高血量 ,回血 5002: { uuid:5002,name: "狂暴骑士",path:"k2",type:0,hp: 2000, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5, lvexp:0,slvexp:0,slv:0, speed: 100,aexp:5,uaexp:1,cexp:10,doexp:10,dexp:20,sk1:[6005,6005,6005,6005,6005,6005],sk2:[6102,6102,6102,6102,6102,6102],sk3:[6102,6102,6102,6102,6102,6102],pw:0,pwm:150,pws:10,apw:0,uapw:0,cpw:0,dpw:0,dopw:0, @@ -58,6 +60,7 @@ export const HeroInfo = { abh:0,abc:0,uabh:0,uabc:0,cbh:0,cbc:0,aua:0,auc:0,uaua:0,uauc:0,cua:0,cuc:0,wp:1001,arm:2001,ring:3001,shoes:4001, tals:["这是一级说明","这是二级说明","这是三级说明","这是四级说明","这是五级说明"] }, + //坦克,高闪避 , 反伤害 5003: { uuid:5003,name: "防御骑士",path:"k3",type:0,hp: 2000, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5, lvexp:0,slvexp:0,slv:0, speed: 100,aexp:5,uaexp:1,cexp:10,doexp:10,dexp:20,sk1:[6005,6005,6005,6005,6005,6005],sk2:[6102,6102,6102,6102,6102,6102],sk3:[6102,6102,6102,6102,6102,6102],pw:0,pwm:150,pws:10,apw:0,uapw:0,cpw:0,dpw:0,dopw:0, diff --git a/assets/script/game/hero/HeroViewComp.ts b/assets/script/game/hero/HeroViewComp.ts index 440e0974..e137252b 100644 --- a/assets/script/game/hero/HeroViewComp.ts +++ b/assets/script/game/hero/HeroViewComp.ts @@ -5,7 +5,7 @@ * @LastEditTime: 2022-08-17 12:36:18 */ -import { Vec3, _decorator , v3,Collider2D,Contact2DType,Label,RigidBody2D ,Node,Prefab,instantiate,ProgressBar, Component, Material, Sprite, math, clamp} from "cc"; +import { Vec3, _decorator , v3,Collider2D,Contact2DType,Label,RigidBody2D ,Node,Prefab,instantiate,ProgressBar, Component, Material, Sprite, math, clamp, Game} from "cc"; import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { HeroSpine } from "./HeroSpine"; @@ -354,7 +354,7 @@ export class HeroViewComp extends CCComp { this.in_atked(); let d=this.def/skill.ap if(d > 1) d = 1 - let l_hp=skill.ap*(1-d*0.5) + let l_hp=skill.ap*(1-d*GameSet.DEF_RATE) //防御最高减免伤害比率计算 if(skill.is_crit){ l_hp = l_hp * (150+skill.crit_add)/100 } @@ -376,7 +376,15 @@ export class HeroViewComp extends CCComp { } } //暴击判断 - check_crit(){ + /** + * 检查是否触发暴击,并执行相应的暴击效果。 + * @returns {boolean} 如果触发暴击则返回 true,否则返回 false。 + * 该方法首先通过 RandomManager 获取一个随机数,如果该随机数小于当前暴击最大值(crit_max), + * 则触发暴击效果,包括显示暴击提示、增加暴击计数、增加暴击经验以及增加暴击威力。 + * 如果未触发暴击,则直接返回 false。 + */ + check_crit():boolean + { let i = RandomManager.instance.getRandomInt(0,100,3) if(i < this.crit_max){ this.tooltip(5,"*会心一击*"); @@ -389,7 +397,13 @@ export class HeroViewComp extends CCComp { } } //闪避判断 - check_dodge(){ + /** + * 检查并处理角色的闪避逻辑。 + * 生成一个随机数,如果小于角色的最大闪避值,则触发闪避效果,增加经验、能量,并更新闪避计数。 + * @returns {boolean} 如果触发闪避则返回true,否则返回false。 + */ + check_dodge():boolean + { let i = RandomManager.instance.getRandomInt(0,100,3) if(i < this.dodge_max){ // console.log("闪避触发: i="+i+":dodge="+dodge); @@ -402,8 +416,14 @@ export class HeroViewComp extends CCComp { return false } } - check_atk_counts(){ - if(this.atk_count >= this.akc){ + /** + * 检查并处理角色的攻击、闪避、暴击和受伤计数。 + * 当计数达到一定值时,会触发相应的技能效果,并重置计数。 + * 触发效果包括激活名为"max"的节点,并在0.8秒后关闭。 + * 使用handle_skill方法处理触发的技能。 + */ + check_atk_counts() { + if (this.atk_count >= this.akc) { this.atk_count = 0 // console.log("atk_count 清零:"+this.atk_count); let i = RandomManager.instance.getRandomInt(0,100,3) @@ -634,7 +654,7 @@ export class HeroViewComp extends CCComp { if(this.hp > this.rhp_max){ this.hp = this.rhp_max; } - + if(this.hp <= 0){ this.dead(); this.to_grave()