mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-11-08 07:16:08 +00:00
基础的数值计算
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
import GAttribute, { GAttributeType } from "./attribute/GAttribute";
|
||||
import GAttributeBase from "./attribute/GAttributeBase";
|
||||
|
||||
//宠物攻击类
|
||||
export enum GRoleAttackType{
|
||||
NormalAttack,
|
||||
}
|
||||
|
||||
//宠物数值 核心类
|
||||
export default class GRoleValues {
|
||||
|
||||
//宠物属性
|
||||
attribute:GAttribute;
|
||||
|
||||
get attributes(){
|
||||
return this.attribute.info;
|
||||
}
|
||||
|
||||
constructor(){
|
||||
|
||||
//初始化属性
|
||||
this.attribute = new GAttribute();
|
||||
this.update();
|
||||
|
||||
}
|
||||
|
||||
//重置
|
||||
reset(){
|
||||
//初始化属性
|
||||
this.attribute = new GAttribute();
|
||||
this.update();
|
||||
}
|
||||
|
||||
//添加属性类
|
||||
add(info:GAttributeBase){
|
||||
this.attribute.add(info);
|
||||
}
|
||||
|
||||
//刷新属性
|
||||
update(){
|
||||
//刷新属性
|
||||
this.attribute.update();
|
||||
}
|
||||
|
||||
//普通攻击
|
||||
onNormalAttack(){
|
||||
|
||||
//普通攻击伤害 = 攻击
|
||||
return this.attributes[GAttributeType.Attack];
|
||||
|
||||
}
|
||||
|
||||
//受到普通攻击
|
||||
onUnderNormalAttack(under:number){
|
||||
|
||||
//受到普通攻击伤害 = 受到伤害 - 防御
|
||||
return Math.max(0,under - this.attributes[GAttributeType.Defend]);
|
||||
|
||||
}
|
||||
|
||||
//受到攻击 统一方法
|
||||
onUnderAttack(type:GRoleAttackType,under:number){
|
||||
if(type == GRoleAttackType.NormalAttack){
|
||||
//受到普通攻击
|
||||
return this.onUnderNormalAttack(under);
|
||||
}
|
||||
return under;
|
||||
}
|
||||
|
||||
//攻击 统一方法
|
||||
onAttack(type:GRoleAttackType){
|
||||
if(type == GRoleAttackType.NormalAttack){
|
||||
//普通攻击
|
||||
return this.onNormalAttack();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//普通攻击某个目标
|
||||
onNormalAttackTarget(values:GRoleValues){
|
||||
return values.onUnderNormalAttack(this.onNormalAttack());
|
||||
}
|
||||
|
||||
//血量
|
||||
onBlood(){
|
||||
|
||||
//总血量 = 血量
|
||||
return this.attributes[GAttributeType.Blood];
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user