61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include "buff.h"
|
|
|
|
A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int,
|
|
kAddMinorMode = 1,
|
|
kInternalRangeAddBuff = 3,
|
|
kDecHp = 4,
|
|
kMarkTag = 5,
|
|
kRemoveBuff = 7,
|
|
kFlashMove = 8,
|
|
kAddEnergyShield = 10,
|
|
kAddHp = 11,
|
|
kFlashMoveToPos = 12,
|
|
kLightCircle = 13,
|
|
kSyncProp = 16,
|
|
kSetBulletBornOffset = 17,
|
|
kSummonHeroSepcPoint = 18,
|
|
kSummonHeroSpecDistance = 19,
|
|
kClearSummonHero = 20,
|
|
kImmuneAllMove = 21,
|
|
kDmgForward = 22,
|
|
kSetGunBuffId = 23,
|
|
kSummonObstacleSepcPoint = 24,
|
|
kSummonObstacleSpecDistance = 25,
|
|
kClearSummonObstacle = 26,
|
|
kDecSkillCd = 27,
|
|
kRefreshHp = 28
|
|
);
|
|
|
|
class Weapon;
|
|
class CallFuncBuff : public Buff
|
|
{
|
|
public:
|
|
|
|
virtual void Activate() override;
|
|
virtual void Deactivate() override;
|
|
|
|
private:
|
|
void ProcIntervalRangeAddBuffFunc();
|
|
void ProcAddMinorMode();
|
|
void ProcMarkTag();
|
|
void ProcRemoveBuff();
|
|
void ProcFlashMove();
|
|
void ProcAddEnergyShield();
|
|
void ProcAddHp();
|
|
void ProcFlashMoveToPos();
|
|
void ProcLightCircle();
|
|
void ProcSyncProp();
|
|
void SummonHeroSpecPoint();
|
|
void SummonHeroSpecDistance();
|
|
void ClearSummonHero();
|
|
void SummonObstacleSpecPoint();
|
|
void SummonObstacleSpecDistance();
|
|
void ClearSummonObstacle();
|
|
void DecSkillCd();
|
|
|
|
float hold_param2_ = 0.0;
|
|
Weapon* hold_weapon_ = nullptr;
|
|
};
|