cc.Class({ extends: cc.Component, properties: { }, onLoad() { this.hp = 110; this.maxhp = 110; //血量 this.endurance = 100; this.maxendurance = 100; //蓝量 this.damage = 11; //攻击力 this.defense = 3; //防御 this.combo_rate = 5; //连击率 this.crit_rate = 5; //暴击率 this.dodge_endurance = 10; //闪避回蓝 this.defense_hp = 11; //格挡回血 this.recover_hp = 1; //被动回血1/s this.recover_endurance = 1; //被动回蓝1/s this.block_minus_endurance = 10; //格挡减蓝量 }, start() { }, //#region 血量变化 是否暴击bool_crit 是否连击bool_combo //减血 不暴击 不连击 hpnum=otherdamage-defense 连击hpnum*2 minusblood(oneself_hp) { console.log("血量减少"); let _oligemia = this.damage - this.defense; oneself_hp -= _oligemia; if (oneself_hp <= 0) { oneself_hp = 0; } }, //加血 //格挡加血 被动回血recover_hp, defense_hp ---恢复血量类型 0被动回血 1格挡回血 addblood(oneself_maxhp, oneself_hp, heal_bool, heal_type) { console.log("血量增加"); if (heal_bool) { if (oneself_hp >= oneself_maxhp) { oneself_hp == oneself_maxhp; return; } if (heal_type == 0) { //被动回血 1/s this.schedule(function() { oneself_hp += this.recover_hp; }, 1); } if (heal_type == 1) { //格挡回血 11/次 oneself_hp += this.defense_hp; } } }, //#endregion // update (dt) {}, //#region 蓝量变化 //减蓝 endurance-=this.block_minus_endurance minusendurance(oneself_endurance) { console.log("蓝量减少"); oneself_endurance -= this.block_minus_endurance; if (oneself_endurance <= 0) { oneself_endurance = 0; } }, //加蓝 //闪避加蓝 被动回蓝recover_endurance, dodge_endurance ---恢复蓝量类型 0被动回蓝 1闪避回蓝 addendurance(oneself_maxendurance, oneself_endurance, heal_bool, heal_type) { console.log("蓝量增加"); if (heal_bool) { if (oneself_endurance >= oneself_maxendurance) { oneself_endurance == oneself_maxendurance; return; } if (heal_type == 0) { //被动回蓝 1/s this.schedule(function() { oneself_endurance += this.recover_endurance; }, 1); } if (heal_type == 1) { //闪避回蓝 11/次 oneself_endurance += this.dodge_endurance; } } } //#endregion });