65 lines
2.8 KiB
C++
65 lines
2.8 KiB
C++
#pragma once
|
|
|
|
class Bullet;
|
|
class Creature;
|
|
class RoomObstacle;
|
|
class SkillHelper
|
|
{
|
|
public:
|
|
|
|
static void Init();
|
|
|
|
static void GetMagicIdAndBaseSkillId(int skill_id, int& magic_id, int& base_skill_id);
|
|
|
|
//瞬间移动回血
|
|
static float GetSjydhxRecoverHp(Creature* c, const mt::Skill* skill_meta);
|
|
static float GetSjydhxForthDistance(const mt::Skill* skill_meta);
|
|
static float GetSjydhxBackTime(const mt::Skill* skill_meta);
|
|
//此面向敌
|
|
static int GetCmxdDmg(Creature* c, const mt::Skill* skill_meta);
|
|
static int GetCmxdRange(const mt::Skill* skill_meta);
|
|
static int GetCmxdDistance(const mt::Skill* skill_meta);
|
|
static int GetCmxdExplosion(const mt::Skill* skill_meta);
|
|
static int GetCmxdVertigoTime(const mt::Skill* skill_meta);
|
|
//击杀回血
|
|
static int GetJshxHp(Creature* c, const mt::Skill* skill_meta);
|
|
//死亡自爆
|
|
static int GetSwzbRadius(const mt::Skill* skill_meta);
|
|
static int GetSwzbDmg(Creature* c, const mt::Skill* skill_meta);
|
|
static int GetSwzbEffect(const mt::Skill* skill_meta);
|
|
static int GetSwzbPullDistance(const mt::Skill* skill_meta);
|
|
static int GetSwzbBuffId(const mt::Skill* skill_meta);
|
|
static float GetSwzbBuffTime(const mt::Skill* skill_meta);
|
|
//野蛮冲撞
|
|
static int GetYmczBuffTime(const mt::Skill* skill_meta);
|
|
static int GetYmczReserveDistance(const mt::Skill* skill_meta);
|
|
static float GetYmczDmg(Creature* sender, Creature* target, const mt::Skill* skill_meta);
|
|
//医疗站
|
|
static int GetYlzRange(const mt::Skill* skill_meta);
|
|
static int GetYlzRecoverHp(Creature* sender, Creature* target, const mt::Skill* skill_meta);
|
|
static int GetYlzDamage(Creature* sender, Creature* target, const mt::Skill* skill_meta);
|
|
//救援防护
|
|
static int GetJyfhBuffId(const mt::Skill* skill_meta);
|
|
static float GetJyfhBuffTime(const mt::Skill* skill_meta);
|
|
//受伤加速
|
|
static float GetSsjsHpRate(const mt::Skill* skill_meta);
|
|
static float GetSsjsTime(const mt::Skill* skill_meta);
|
|
static float GetSsjsProb(const mt::Skill* skill_meta);
|
|
static float GetSsjsSpeedRate(const mt::Skill* skill_meta);
|
|
//免疫眩晕
|
|
static float GetMyxySpeedRate(const mt::Skill* skill_meta);
|
|
static float GetMyxyAtkRate(const mt::Skill* skill_meta);
|
|
//立盾防御
|
|
static float GetLdfyHp(Creature* c, const mt::Skill* skill_meta);
|
|
static float GetLdfyBuffTime(Creature* c, const mt::Skill* skill_meta);
|
|
|
|
static void ProcBulletHitBuff(IBullet* bullet, Creature* c, int buff_uniid);
|
|
static bool ProcBulletDmg(IBullet* bullet, Creature* target, float& finaly_dmg);
|
|
static void ProcSummonObstacle(const mt::Skill* skill_meta, RoomObstacle* ob);
|
|
|
|
private:
|
|
|
|
static std::map<int, int> magic_skill_hash_;
|
|
static std::map<int, int> skill_magic_hash_;
|
|
};
|