khanat-opennel-code/code/ryzom/client/src/client_sheets/attack_sheet.h
2010-05-06 02:08:41 +02:00

71 lines
2.5 KiB
C++

// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// 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 <http://www.gnu.org/licenses/>.
#ifndef CL_ATTACK_SHEET_H
#define CL_ATTACK_SHEET_H
#include "entity_sheet.h"
#include "fx_stick_mode.h"
//
#include "game_share/magic_fx.h"
//
#include "nel/misc/uv.h"
class CAttackSheet
{
public:
MAGICFX::TSpellMode ProjectileMode;
std::string AttackBeginFX; // .animation_fx_set
std::string AttackLoopFX; // .animation_fx_set
std::string AttackEndFX; // .animation_fx_set
std::string AttackStaticObjectCastFX; // .animation_fx_set
std::string AttackFailFX; // .animation_fx_set
std::string ProjectileFX;
std::string ImpactFX;
float ProjectileDelay;
float StaticObjectProjectileDelay;
bool IsImpactLocalised; // is the impact localised ?
// if so, the localisation is the same for aiming point, main impact, and physical impact, and is the localisation of the physical impact
// if not : projectile aiming point is given by "DefaultAimingPoint", physical damage uses its localisation, and main impact uses default localisation of fx.
CFXStickMode DefaultCastingPoint;
CFXStickMode DefaultAimingPoint;
bool PlayImpactFXOnlyOnMainTarget; // Only may target play the impact fx (but other target play the impact anim)
bool PlayImpactAnim;
bool LetProjectileStickedOnTarget;
bool ForceUseProjectileDelay;
bool ApplyItemOffsetToWeaponBone;
NLMISC::CVector AdditionnalStartOffset;
public:
// ctor
CAttackSheet();
virtual void build(const NLGEORGES::UFormElm &item, const std::string &prefix);
virtual void serial(NLMISC::IStream &f) throw(NLMISC::EStream);
};
#endif