/*
** Command & Conquer Generals Zero Hour(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see .
*/
////////////////////////////////////////////////////////////////////////////////
// //
// (c) 2001-2003 Electronic Arts Inc. //
// //
////////////////////////////////////////////////////////////////////////////////
// FILE: EMPUpdate.h ///////////////////////////////////////////////////////////////////////
// Author: Mark Lorenzen Sept. 2002
// Desc: Update that makes the electromagnetic pulse field grow, fade and disable junk
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
#ifndef __EMPUPDATE_H_
#define __EMPUPDATE_H_
// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "GameLogic/Module/UpdateModule.h"
#include "GameLogic/Module/DieModule.h"
#include "GameLogic/Weapon.h"
//-------------------------------------------------------------------------------------------------
class EMPUpdateModuleData : public UpdateModuleData
{
public:
UnsignedInt m_lifeFrames;
UnsignedInt m_startFadeFrame;
UnsignedInt m_disabledDuration;
Real m_startScale; ///< how big I start drawing
Real m_targetScaleMin; ///< how big I change to by the time I'm done
Real m_targetScaleMax; ///< how big I change to by the time I'm done
//Real m_spinRateMax; ///< how fast may I spin?
RGBColor m_startColor;
RGBColor m_endColor;
const ParticleSystemTemplate *m_disableFXParticleSystem;
Real m_sparksPerCubicFoot; //