This commit is contained in:
2025-10-26 20:44:58 +08:00
parent e287aadd3c
commit e73c08abf7
45 changed files with 280774 additions and 0 deletions

72
include/core/Skills.h Normal file
View File

@@ -0,0 +1,72 @@
#pragma once
#include "ICharacter.h"
#include <random>
/**
* @brief 普通攻击技能
*/
class NormalAttack : public ISkill {
public:
NormalAttack();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 战士技能: 重击
* 造成高额伤害,消耗怒气
*/
class HeavyStrike : public ISkill {
public:
HeavyStrike();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 战士技能: 防御姿态
* 大幅提升防御,回复少量生命
*/
class DefensiveStance : public ISkill {
public:
DefensiveStance();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 法师技能: 火球术
* 造成魔法伤害
*/
class Fireball : public ISkill {
public:
Fireball();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 法师技能: 冰霜新星
* 造成伤害并降低目标速度
*/
class FrostNova : public ISkill {
public:
FrostNova();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 法师技能: 奥术护盾
* 为自己添加法力护盾
*/
class ArcaneShield : public ISkill {
public:
ArcaneShield();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};
/**
* @brief 治疗术
* 恢复生命值
*/
class Heal : public ISkill {
public:
Heal();
virtual std::string execute(ICharacter& caster, ICharacter& target) override;
};