英雄升级改为仅等级升级,slv根据等级确定,下步修改抽卡,改为以此抽多次卡

This commit is contained in:
walkpan
2025-01-18 17:56:09 +08:00
parent dba96359ab
commit 55061ec37c
25 changed files with 6809 additions and 6618 deletions

View File

@@ -76,30 +76,25 @@ export class Hero extends ecs.Entity {
hv.dopw=hero.dopw;
hv.lv = role.lv;
hv.slv = role.slv;
hv.type = hero.type;
let slv=0
if (role.slv >= 5) slv=1
if (role.slv >= 10) slv=2
if (role.slv >= 15) slv=3
if (role.slv >= 20) slv=4
if (role.slv >= 25) slv=5
let slv= Math.floor(( hv.lv) / 5);
let sklv=slv
if(sklv >= 5) sklv=5;
hv.sk1 = hero.sk1[slv];
hv.sk2 = hero.sk2[slv];
hv.sk3 = hero.sk3[slv];
hv.akc = hero.akc[slv];
hv.uac = hero.uac[slv];
hv.crc = hero.crc[slv];
hv.dgc = hero.dgc[slv];
hv.akr = hero.akr[slv];
hv.uar = hero.uar[slv];
hv.crr = hero.crr[slv];
hv.dgr = hero.dgr[slv];
hv.rhp_max=hv.hp= hv.hp_max =(hero.hp+hero.hp_up*hv.lv)*(1+hero.shp_up/100*(hv.slv-1)) ;
hv.ap = (hero.ap+hero.ap_up*hv.lv) *(1+hero.sap_up/100*(hv.slv-1));
hv.def= (hero.def+hero.def_up*hv.lv)*(1+hero.sdef_up/100*(hv.slv-1));
hv.sk1 = hero.sk1[sklv];
hv.sk2 = hero.sk2[sklv];
hv.sk3 = hero.sk3[sklv];
hv.akc = hero.akc[sklv];
hv.uac = hero.uac[sklv];
hv.crc = hero.crc[sklv];
hv.dgc = hero.dgc[sklv];
hv.akr = hero.akr[sklv];
hv.uar = hero.uar[sklv];
hv.crr = hero.crr[sklv];
hv.dgr = hero.dgr[sklv];
hv.rhp_max=hv.hp= hv.hp_max =(hero.hp+hero.hp_up*hv.lv)*(1+hero.shp_up/100*slv) ;
hv.ap = (hero.ap+hero.ap_up*hv.lv) *(1+hero.sap_up/100*slv);
hv.def= (hero.def+hero.def_up*hv.lv)*(1+hero.sdef_up/100*slv);
hv.cd = hero.a_cd
hv.crit = hero.crit; //暴击率
hv.crit_add = hero.crit_add;//暴击伤害加成

View File

@@ -1,4 +1,4 @@
import { _decorator, Color, Label, Sprite } from "cc";
import { _decorator, Color, Label, ProgressBar, Sprite } 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 { HeroHomeComp } from "../map/HeroHomeComp";
@@ -6,7 +6,7 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O
import { smc } from "../common/SingletonModuleComp";
import { HeroInfo } from "../common/config/heroSet";
import { ColorSet } from "../common/config/BoxSet";
import { SlvUp } from "../common/config/RoleSet";
import { getUpChipByLv, SlvUp } from "../common/config/RoleSet";
const { ccclass, property } = _decorator;
@@ -44,28 +44,31 @@ export class HeroCardComp extends CCComp {
let slv = this.node.getChildByName("slv")
this.node.getChildByName("lv").getComponent(Label).string=smc.heros[this.h_uuid].lv.toString()+"级"
if(smc.heros[this.h_uuid].slv==0){
this.node.getChildByName("lock").active=true
slv.active=false
}else{
slv.active=true
this.node.getChildByName("lock").active=false
slv.getChildByName("slv").getComponent(Label).string=smc.heros[this.h_uuid].slv.toString()
}
let slvneed=HeroInfo[this.h_uuid].slvexp*smc.heros[this.h_uuid].slv
let slvnum=smc.heros[this.h_uuid].num
this.node.getChildByName("up").active=slvnum>=slvneed
switch(HeroInfo[this.h_uuid].quality){
case 1:
this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["BLUE"]);
break;
case 2:
this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["YELLOW"]);
break;
case 3:
this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["RED"]);
break;
}
// if(smc.heros[this.h_uuid].slv==0){
// this.node.getChildByName("lock").active=true
// slv.active=false
// }else{
// slv.active=true
// this.node.getChildByName("lock").active=false
// slv.getChildByName("slv").getComponent(Label).string=smc.heros[this.h_uuid].slv.toString()
// }
let lvneed=(getUpChipByLv(smc.heros[this.h_uuid].lv)-HeroInfo[this.h_uuid].lvexp)*smc.heros[this.h_uuid].lv
let lvnum=smc.heros[this.h_uuid].num
this.node.getChildByName("up").active=lvnum>=lvneed
this.node.getChildByName("need").getComponent(Label).string = lvneed.toString()
this.node.getChildByName("num").getComponent(Label).string = lvnum.toString()
this.node.getChildByName("bar").getComponent(ProgressBar).progress = lvnum/lvneed
// switch(HeroInfo[this.h_uuid].quality){
// case 1:
// this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["BLUE"]);
// break;
// case 2:
// this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["YELLOW"]);
// break;
// case 3:
// this.node.getChildByName("bg").getComponent(Sprite).color= new Color().fromHEX(ColorSet["RED"]);
// break;
// }
}
/** 全局消息逻辑处理 */
// private onHandler(event: string, args: any) {

View File

@@ -41,7 +41,7 @@ export class Monster extends ecs.Entity {
}
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,is_boss:boolean=false) {
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,is_boss:boolean=false,is_call:boolean=false,lv:number=1) {
scale=-1
let box_group=BoxSet.MONSTER
console.log("mon load",uuid)
@@ -53,11 +53,11 @@ export class Monster extends ecs.Entity {
node.parent = scene.entityLayer!.node!
node.setPosition(pos)
this.hero_init(uuid,node,scale,box_group,is_boss)
this.hero_init(uuid,node,scale,box_group,is_boss,is_call,lv)
oops.message.dispatchEvent("monster_load",this)
}
hero_init(uuid:number=1001,node:Node,scale:number=1,box_group=BoxSet.HERO,is_boss:boolean=false) {
hero_init(uuid:number=1001,node:Node,scale:number=1,box_group=BoxSet.HERO,is_boss:boolean=false,is_call:boolean=false,lv:number=1) {
var hv = node.getComponent(HeroViewComp)!;
// console.log("hero_init",buff)
let hero= HeroInfo[uuid] // 共用英雄数据
@@ -78,28 +78,26 @@ export class Monster extends ecs.Entity {
hv.cpw=hero.cpw;
hv.dpw=hero.dpw;
hv.dopw=hero.dopw;
hv.lv = 1;
let slv=0
if (hero.slv >= 5) slv=1
if (hero.slv >= 10) slv=2
if (hero.slv >= 15) slv=3
if (hero.slv >= 20) slv=4
if (hero.slv >= 25) slv=5
hv.lv = lv;
let slv= Math.floor(( hv.lv) / 5);
let sklv=slv
if(sklv >= 5) sklv=5;
hv.type = hero.type;
hv.sk1 = hero.sk1[slv];
hv.sk2 = hero.sk2[slv];
hv.sk3 = hero.sk3[slv];
hv.akc = hero.akc[slv];
hv.uac = hero.uac[slv];
hv.crc = hero.crc[slv];
hv.dgc = hero.dgc[slv];
hv.akr = hero.akr[slv];
hv.uar = hero.uar[slv];
hv.crr = hero.crr[slv];
hv.dgr = hero.dgr[slv];
hv.hp= hv.hp_max =hero.hp+hero.hp_up*hv.lv ;
hv.ap = hero.ap+hero.ap_up*hv.lv ;
hv.def= hero.def+hero.def_up*hv.lv;
hv.sk1 = hero.sk1[sklv];
hv.sk2 = hero.sk2[sklv];
hv.sk3 = hero.sk3[sklv];
hv.akc = hero.akc[sklv];
hv.uac = hero.uac[sklv];
hv.crc = hero.crc[sklv];
hv.dgc = hero.dgc[sklv];
hv.akr = hero.akr[sklv];
hv.uar = hero.uar[sklv];
hv.crr = hero.crr[sklv];
hv.dgr = hero.dgr[sklv];
hv.rhp_max=hv.hp= hv.hp_max =(hero.hp+hero.hp_up*hv.lv)*(1+hero.shp_up/100*slv);
hv.ap = (hero.ap+hero.ap_up*hv.lv) *(1+hero.sap_up/100*slv);
hv.def= (hero.def+hero.def_up*hv.lv)*(1+hero.sdef_up/100*slv);
hv.cd = hero.a_cd
hv.crit = hero.crit; //暴击率
hv.crit_add = hero.crit_add;//暴击伤害加成