2023-08-24 08:06:52 +08:00

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;
};