Files
2026-06-01 12:46:52 +02:00

66 lines
2.5 KiB
C++

#pragma once
//#define MAX_EFFECT_SKILL_ID 800
#define MAX_EFFECT_SKILL_ID 1000
#define MAX_EFFECT_BOW_ID 4
#define g_Effect_ID CEffectIDMng::GetInstance()
class SGameAction;
class SGameObject;
class CEffectIDMng
{
private:
SGameAction* (CEffectIDMng::*GetAction[MAX_EFFECT_SKILL_ID])();
SGameAction* (CEffectIDMng::*GetActionBow[MAX_EFFECT_BOW_ID])();
public:
/* SGameAction* ActionTarget( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionTargetExplosion( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionStraight( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionLeech( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionMagicArrow( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionParabola( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionFall( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionMissile( struct SMSG_SKILL_EVENT* msg, int nResultIndex );
SGameAction* ActionBow( struct SMSG_ATTACK* msg, int nResultIndex );*/
//////////////////////////////////////////////////////////////////////////
//////NEW
SGameAction* ActionBow();
SGameAction* ActionRecall();
SGameAction* ActionReverseRecall();
SGameAction* ActionAttkWeapon();
SGameAction* ActionAttkShield();
SGameAction* ActionMultiAttkWeapon();
SGameAction* ActionAboveTwoAttk();
SGameAction* ActionAttkAbsorber();
SGameAction* ActionChargeAttk();
SGameAction* ActionShootBow();
SGameAction* ActionShootStrongBow();
SGameAction* ActionShootAbsorberBow();
SGameAction* ActionSelfSkill();
SGameAction* ActionThrowSkill();
SGameAction* ActionThrowSkillDelay();
SGameAction* ActionThrowAbsorberSkill();
SGameAction* ActionCreatureAbsorberSkill();
SGameAction* ActionThrowWideAreaSkill();
SGameAction* ActionThrowWideAreaMultiSkill();
SGameAction* ActionFireMissle();
SGameAction* ActionFireMultiMissle();
SGameAction* ActionFirePenetratedMissle();
SGameAction* ActionFireChainMissile(); /// 2011.03.23 - prodongi
SGameAction* ActionLastingWideAreaSkill();
SGameAction* ActionPfxTest1();
SGameAction* ActionWorkingSkill();
public:
void Init();
SGameAction* GetActionSkill( struct _SKILL_FX* pSkillFx );
SGameAction* GetActionBowSKill( struct SMSG_ATTACK* msg );
protected:
CEffectIDMng(void);
public:
static CEffectIDMng& GetInstance();
~CEffectIDMng(void);
};