mirror of
https://github.com/ChuXunYu/OnlineRpg.git
synced 2026-01-31 16:55:46 +00:00
2
This commit is contained in:
72
include/core/Skills.h
Normal file
72
include/core/Skills.h
Normal 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;
|
||||
};
|
||||
Reference in New Issue
Block a user