引言
圣遗物加成分两种数值和百分比 计算完后 点击圣遗物,发现
这里有个圣遗物详情
可以看到属性加成这样就基本确定了
首先点开属性
详情信息
我以为角色里获取然后进行加成没想到,…
实现
//
class ArtifactSetBonuses;
//词条
class Glossary {
public:
Glossary() = default;
virtual ~Glossary() = default;
//这里规定必须是 有实例化对象
virtual void setArtifactSetBonuses(ArtifactSetBonuses*& ArtifactSetBonuses) {};
//....
virtual ArtifactSetBonuses*& GetArtifactSetBonuses() = 0;
virtual string name(void) const { return ""; }
virtual void setName(string name) { return ; }
};
//
class ArtifactSetBonuses {
public:
ArtifactSetBonuses() = default;
~ArtifactSetBonuses() = default;
int Id()const {
return this ? id : throw runtime_error("这是一个空指针");
}
string Name()const {
return this ? name : throw runtime_error("这是一个空指针");
}
int Level() const {
return this ? level : throw runtime_error("这是一个空指针");
}
protected:
int id;
string name;
int level;
};
class flowerOfLife :public ArtifactSetBonuses {
public:
flowerOfLife() = delete;
flowerOfLife(int& id, string &name, int &Level, Glossary*& Glossary);
virtual ~flowerOfLife() {};
virtual int HealthPoints() { return 0; }
virtual string SubEntry() = 0;
virtual void updateSubEntry() = 0;
Glossary* mainGlossary() { return this->m_Glossary; }
protected:
Glossary* m_Glossary;
//int healthPoints;
};
class Plumeofdeath :public ArtifactSetBonuses {
public:
Plumeofdeath() = delete;
Plumeofdeath(int id, string name, int Level, Glossary* m_Glossary);
virtual ~Plumeofdeath() {};
virtual int ATK() = 0;
virtual string SubEntry() = 0;
virtual void updateSubEntry() = 0;
protected:
Glossary* m_Glossary;
//int atk;
};
class sandsofTime :public ArtifactSetBonuses {
public:
sandsofTime() = delete;
sandsofTime(int id, string name, int Level, Glossary* Glossary);
virtual ~sandsofTime() {}
//攻击沙
virtual void setATK(float);
virtual float atk() { return 0.0; };
//防御沙
virtual void setDefense(float);
virtual float Defense() { return 0.0; };
//生命沙
virtual void sethealthPoints(float);
virtual float healthPoints() { return 0.0; };
//元素充能
virtual void setEnergyRecharge(float);
virtual float EnergyRecharge() { return 0.0; };
//元素精通
virtual void setEnergyRecharge(int);
virtual int ElementalMastery() { return 0; };
virtual string SubEntry() = 0;
virtual void updateSubEntry() = 0;
protected:
Glossary* Glossary;
};
//优化圣遗物组件 将设计重复的使用的基类 为:圣遗物组件类
class emptyCup :public ArtifactSetBonuses {
emptyCup() = default;
emptyCup(int id, string name, int Level, Glossary* Glossary);
virtual ~emptyCup() {};
/*
火伤
水伤
草伤
雷伤
风伤
冰伤
岩伤
物伤
攻击
防御
生命
元素精通
*/
// 设置火伤属性 主词条
virtual void setFireinjury(float fireInjury) {}
// 获取火伤属性 主词条
virtual float Fireinjury() { return 0.0; }
// 设置水伤属性 主词条
virtual void setWaterinjury(float waterInjury) {}
// 获取水伤属性
virtual float Waterinjury() { return 0.0; }
// 设置草伤属性 主词条
virtual void setGrassinjury(float grassInjury) {}
// 获取草伤属性主词条
virtual float Grassinjury() { return 0.0; }
// 设置雷伤属性主词条
virtual void setthunderinjury(float thunderInjury) {}
// 获取雷伤属性主词条
virtual float thunderinjury() { return 0.0; }
// 设置风伤属性主词条
virtual void setWindinjury(float windInjury) {}
// 获取风伤属性主词条
virtual float Windinjury() { return 0.0; }
// 设置冰伤属性主词条
virtual void setIceinjury(float iceInjury) {}
// 获取冰伤属性主词条
virtual float Iceinjury() { return 0.0; }
// 设置岩伤属性 主词条
virtual void setRockinjury(float rockInjury) {}
// 获取岩伤属性 主词条
virtual float Rockinjury() { return 0.0; }
// 设置物伤属性 主词条
virtual void setPhysicalinjury(float physicalInjury) {}
// 获取物伤属性 主词条
virtual float Physicalinjury() { return 0.0; }
// 设置攻击力 主词条
virtual void setAttack(float attack) {}
// 获取攻击力 主词条
virtual float Attack() { return 0.0; }
// 设置防御力 主词条
virtual void setDefense(float defense) {}
// 获取防御力 主词条
virtual float Defense() { return 0.0; }
// 设置生命 主词条
virtual void setLife(float life) {}
// 获取生命 主词条
virtual float Life() { return 0.0; }
// 设置元素精通主词条
virtual void setElementsMastery(int mastery) {}
// 获取元素精通主词条
virtual int elementsMastery() { return 0; }
virtual string SubEntry() = 0;
virtual void updateSubEntry() = 0;
protected:
Glossary* Glossary;
};
class CrownOfReason : public ArtifactSetBonuses {
public:
CrownOfReason() = default;
CrownOfReason(int id, string name);
virtual ~CrownOfReason() {};
// 设置攻击力主词条
virtual void setAttack(float attack) {}
// 获取攻击力冠
virtual float Attack() { return 0.0; }
// 设置防御主词条
virtual void setDefense(float defense) {}
// 获取防御主词条
virtual float Defense() { return 0.0; }
// 设置生命主词条
virtual void setLife(float life) {}
// 获取生命主词条
virtual float Life() { return 0.0; }
// 设置元素精通主词条
virtual void setElementsMastery(int mastery) {}
// 获取元素精通主词条
virtual int elementsMastery() { return 0; }
// 设置暴击率主词条
virtual void setCriticalHit(float CriticalHit) {}
// 获取暴击率主词条
virtual float CriticalHit() { return 0.0; }
// 设置暴击伤害主词条
virtual void setCriticalHitDamage(float CriticalHit) {}
// 获取暴击率伤害主词条
virtual float CriticalHitDamage() { return 0.0; }
// 设置治疗加成主词条
virtual void SetHealingAdd(float HealingAdd) {}
// 获取治疗加成主词条
virtual float HealingAdd() { return 0.0; }
virtual string SubEntry() = 0;
virtual void updateSubEntry() = 0;
protected:
Glossary* Glossary;
};