This commit is contained in:
2024-12-27 08:14:39 +08:00
parent 8805666492
commit 79bda9f0db
3 changed files with 31 additions and 7 deletions

View File

@@ -49,4 +49,5 @@ export enum GameSet {
MON_GOLD_ADD =2,
MON_COIN_ADD=2,
COIN_ADD=1,
DEF_RATE=0.5,
}

View File

@@ -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,

View File

@@ -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)