mirror of
https://github.com/ChuXunYu/OnlineRpg.git
synced 2026-01-31 13:25:45 +00:00
73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
#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;
|
|
};
|