// Ryzom - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
#ifndef RY_SABRINA_ENUM_H
#define RY_SABRINA_ENUM_H
namespace SABRINA
{
// type of healing to apply
enum THealType
{
HealUnknown, HealHP, HealSap, HealSta, HealFocus,
};
// types of damage to apply
enum TDmgType
{
// basic damage types *** See DMGTYPE in game_share for definitive enum ***
DmgSlashing, DmgPiercing, DmgBlunt,
DmgRot, DmgAcid, DmgCold,
DmgFire, DmgPoison, DmgElectric, DmgShock,
// energy damage types
DmgSap, DmgStamina,
// damage to armor or equipment *** see SLOT_EQUIPMENT::TSlotEquipment *** for correct order ***
DmgRightHandItem, DmgLeftHandItem,
DmgArmorHead, DmgArmorBody, DmgArmorLegs, DmgArmorFeet, DmgArmorArms, DmgArmorHands,
};
enum TEventCode // this enum is used for both cancelation /failure and success
{
Unknown=-1,
SuccessPartial,
SuccessNormal,
SuccessCritical,
FailInsufficientHP, // not enough HP to pay couterpart
FailInsufficientSap, // not enough Sap to pay couterpart
FailInsufficientStamina, // not enough Sta to pay couterpart
FailTgtDead, // the target died
FailTgtInaccessible, // the target teleported or became inaccessible
FailIMoved, // the actor moved and invalidated their action
FailInterrupt, // the actor was interrupted by an external action
FailActionFailed, // just unlucky - the action failed
FailTgtResist, // the target resisted the action
FailTgtDodge, // the target dodged the action
PlayerLoggedOff, // player logged off and player record deleted
PlayerTeleported, // player teleported
};
inline bool isSuccess(TEventCode code)
{
return (code==SuccessPartial || code==SuccessNormal || code==SuccessCritical);
}
enum TEffectType
{
EffUnknown,
EffStun,
EffMezz,
EffRoot,
EffSkillDebuffMagic,
EffSkillDebuffRange,
EffSkillDebuffMelee,
};
}
//------------------------------------------------------------------------------------------------------
#endif