_________ __ __
/ _____// |_____________ _/ |______ ____ __ __ ______
\_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
/ \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
/_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
Go to the documentation of this file.
354 void Load(lua_State *l);
423 virtual void Action() = 0;
634 #endif // !__MISSILE_H__
std::vector< BurningBuildingFrame * > BurningBuildingFrames
Definition: missile.cpp:73
virtual void Action()
Definition: missile_pointotpointwithhit.cpp:44
Definition: missile.h:520
@ MissileClassNone
Definition: missile.h:322
int Delay
delay between frames
Definition: missile.h:442
Definition: missile.h:495
Base structure of missile-types.
Definition: missile.h:343
void DrawMissileType(int frame, const PixelPos &pos) const
Definition: missile.cpp:495
MissileType * MissileTypeByIdent(const std::string &ident)
Get missile-type by ident.
Definition: missile.cpp:118
int ViewPointDistanceToMissile(const Missile &missile)
distance from view point to missile
Definition: missile.cpp:1215
void FreeBurningBuildingFrames()
Definition: missile.cpp:1404
int SpriteFrame
missile-type pointer
Definition: missile.h:438
BurningBuildingFrame()
Definition: missile.h:569
int Speed
missile sleep
Definition: missile.h:388
bool IgnoreWalls
pierce every target only once
Definition: missile.h:380
void MissileHit(CUnit *unit=NULL)
Definition: missile.cpp:914
virtual void Action()
Definition: missile_whirlwind.cpp:47
@ MissileClassPointToPoint
Missile does nothing.
Definition: missile.h:323
LuaCallback * SmokeParticle
impact particle
Definition: missile.h:401
void MissileCclRegister()
Burning building frames.
Definition: script_missile.cpp:428
unsigned int Slot
missile is a local missile
Definition: missile.h:460
@ MissileClassParabolic
Missile shows the hit points.
Definition: missile.h:331
int DrawLevel
missile size in pixels
Definition: missile.h:363
int NumDirections
number of sprite frames in graphic
Definition: missile.h:365
virtual void Action()
Definition: missile_pointtopointcycleonce.cpp:43
PixelPos source
Definition: missile.h:434
int Wait
Animation wait.
Definition: missile.h:441
bool Pierce
missile will always fire (even if target is dead)
Definition: missile.h:378
@ MissileClassPointToPointCycleOnce
Missile flies from x,y to x1,y1 than shows hit animation.
Definition: missile.h:325
int Hidden
time to live (ticks) used for spells
Definition: missile.h:452
bool NextMissileFrame(char sign, char longAnimation)
Definition: missile.cpp:1086
int Height() const
Definition: missile.h:357
virtual void Action()
Definition: missile_none.cpp:43
int TotalStep
Current step (0 <= x < TotalStep).
Definition: missile.h:457
~MissileType()
Definition: missile.cpp:1351
@ MissileClassWhirlwind
Missile wait on x,y until a non-air unit comes by, the explodes.
Definition: missile.h:333
virtual void Action()
Definition: missile_tracer.cpp:121
bool AlwaysFire
missile can't hit own units
Definition: missile.h:377
virtual void Action()
Definition: missile_straightfly.cpp:45
int MissileStopFlags
How frequently the smoke missile will generate itself.
Definition: missile.h:393
bool CanHitOwner
flip image when facing left
Definition: missile.h:375
virtual void Action()
Definition: missile_fire.cpp:46
PixelPos destination
missile pixel position
Definition: missile.h:436
int State
sprite frame counter
Definition: missile.h:439
bool KillFirstUnit
missile ignores Wall units on it's way
Definition: missile.h:381
virtual void Action()
Definition: missile_cycleonce.cpp:44
@ MissileClassLandMine
Missile flies from x,y to x1,y1 using a parabolic path.
Definition: missile.h:332
void FindAndSortMissiles(const CViewport &vp, std::vector< Missile * > &table)
Definition: missile.cpp:577
std::vector< MissileConfig * > Impact
missile splash divisor
Definition: missile.h:398
int TTL
direct damage that missile applies
Definition: missile.h:451
void Init()
Definition: missile.cpp:1307
T y
Definition: vec2i.h:43
int ChangeAmount
variable to change
Definition: missile.h:367
bool MissileHandleBlocking(Missile &missile, const PixelPos &position)
Definition: missile.cpp:684
void CleanMissiles()
Clean missiles.
Definition: missile.cpp:1390
LuaCallback * ImpactParticle
trailing missile
Definition: missile.h:400
Missile * MakeLocalMissile(const MissileType &mtype, const PixelPos &startPos, const PixelPos &destPos)
create a local missile
Definition: missile.cpp:274
Definition: unitsound.h:54
virtual void Action()
Definition: missile_landmine.cpp:66
void CleanMissileTypes()
Clean missile-types.
Definition: missile.cpp:1364
LuaCallback * OnImpact
smoke particle
Definition: missile.h:402
bool Flip
restricts the radius damage depending on land, air, naval
Definition: missile.h:374
int ChangeVariable
number of directions missile can face
Definition: missile.h:366
Definition: viewport.h:63
bool PointToPointMissile(Missile &missile)
Definition: missile.cpp:748
Definition: missile.h:566
void FireMissile(CUnit &unit, CUnit *goal, const Vec2i &goalPos)
fire a missile
Definition: missile.cpp:348
int AnimWait
state
Definition: missile.h:440
Definition: missile.h:541
int SplashFactor
missile damage range
Definition: missile.h:397
int Percent
Definition: missile.h:569
Definition: missile.h:525
static unsigned int Count
unique number for draw level.
Definition: missile.h:462
bool ChangeMax
how many to change
Definition: missile.h:368
void MissileActions()
handle all missiles
Definition: missile.cpp:1202
int CurrentStep
this tells missile-class-straight-fly, that it's time to die
Definition: missile.h:456
Definition: missileconfig.h:44
int ReduceFactor
missile time-to-live
Definition: missile.h:391
virtual void Action()
Definition: missile_continuous.cpp:43
CUnitPtr TargetUnit
unit that fires (could be killed)
Definition: missile.h:445
SoundConfig FiredSound
modify the max, if value will exceed it
Definition: missile.h:370
Definition: missile.h:510
virtual void Action()
Definition: missile_hit.cpp:43
@ MissileClassFlameShield
Missile appears at x,y, is whirlwind.
Definition: missile.h:334
int Transparency
missile name
Definition: missile.h:361
PixelPos position
Missile source position.
Definition: missile.h:435
Definition: missile.h:500
int Class
missile kills first unit blocking it's way
Definition: missile.h:383
NumberDesc * Damage
On which terrain types missile won't fly.
Definition: missile.h:394
int SmokePrecision
Multiplier for reduce or increase damage dealt to the next unit.
Definition: missile.h:392
void InitMissiles()
Initialize missiles.
Definition: missile.cpp:1375
Definition: missile.h:505
Definition: missile.h:547
void MissileHandlePierce(Missile &missile, const Vec2i &pos)
Definition: missile.cpp:667
int TTL
speed for blizzard shards
Definition: missile.h:390
@ MissileClassPointToPointWithHit
Missile flies from x,y to x1,y1.
Definition: missile.h:324
Missile()
Definition: missile.cpp:148
Missile * MakeMissile(const MissileType &mtype, const PixelPos &startPos, const PixelPos &destPos)
create a missile
Definition: missile.cpp:257
bool MissileInitMove(Missile &missile, bool pointToPoint=false)
Definition: missile.cpp:641
Definition: missile.h:515
@ MissileClassTracer
Missile is death coil.
Definition: missile.h:336
virtual void Action()
Definition: missile_pointtopointbounce.cpp:45
bool FriendlyFire
missile can hit the owner
Definition: missile.h:376
MissileConfig Smoke
missile produces an impact
Definition: missile.h:399
int Sleep
missile start delay
Definition: missile.h:387
virtual void Action()
Definition: missile_parabolic.cpp:120
void InitMissileTypes()
Initialize missile-types.
Definition: missile.cpp:1323
void SaveMissile(CFile &file) const
Definition: missile.cpp:1255
@ MissileClassCycleOnce
Missile appears at x,y, does it's anim and vanishes.
Definition: missile.h:328
virtual ~Missile()
Definition: missile.cpp:1382
@ MissileClassClipToTarget
Missile seeks towards to target unit.
Definition: missile.h:337
MissileType * NewMissileTypeSlot(const std::string &ident)
allocate an empty missile-type slot
Definition: missile.cpp:137
Definition: missile.h:559
int Damage
Units which are already pierced by this missile.
Definition: missile.h:449
std::string Ident
Definition: missile.h:360
void MissileNewHeadingFromXY(const PixelPos &delta)
Definition: missile.cpp:611
Definition: missile.h:485
int NumBounces
missile class
Definition: missile.h:384
bool CorrectSphashDamage
impact sound for this missile-type
Definition: missile.h:373
int CalculateDamage(const CUnit &attacker, const CUnit &goal, const NumberDesc *formula)
Calculates damage done to goal by attacker using formula.
Definition: missile.cpp:325
int ParabolCoefficient
number of bounces
Definition: missile.h:385
void LoadMissileSprites()
load all missile sprites
Definition: missile.cpp:103
@ MissileClassStay
Missile flies from x,y to x1,y1 than bounces three times.
Definition: missile.h:327
@ MissileClassPointToPointBounce
Missile flies from x,y to x1,y1 and animates ONCE from start to finish and back.
Definition: missile.h:326
@ MissileClassDeathCoil
Missile surround x,y.
Definition: missile.h:335
std::vector< CUnit * > PiercedUnits
target unit, used for spells
Definition: missile.h:447
Definition: missile.h:470
void SaveMissiles(CFile &file)
Save missiles.
Definition: missile.cpp:1289
Definition: luacallback.h:41
MissileType(const std::string &ident)
Definition: missile.cpp:1333
@ MissileClassContinious
Missile remains clipped to target's current goal and plays his animation once.
Definition: missile.h:338
Definition: missile.h:535
void Load(lua_State *l)
Definition: script_missile.cpp:80
static Missile * Init(const MissileType &mtype, const PixelPos &startPos, const PixelPos &destPos)
Definition: missile.cpp:173
virtual void Action()
Definition: missile_flameshield.cpp:47
CUnitPtr SourceUnit
delay to show up
Definition: missile.h:444
@ MissileClassFire
Missile appears at x,y, then cycle through the frames once.
Definition: missile.h:329
CGraphic * G
called when
Definition: missile.h:405
MissileType * Missile
HP percent.
Definition: missile.h:572
int Width() const
Definition: missile.h:356
int Range
missile damage (used for non-direct missiles, e.g. impacts)
Definition: missile.h:396
virtual void Action()
Definition: missile_pointtopoint.cpp:43
Definition: missile.h:490
Definition: missile.h:480
const MissileType * Type
missile pixel destination
Definition: missile.h:437
PixelSize size
missile transparency
Definition: missile.h:362
int DestroyMissile
If this is 1 then the missile is invisible.
Definition: missile.h:453
int SpriteFrames
Level to draw missile at.
Definition: missile.h:364
@ MissileClassHit
Missile doesn't move, than checks the source unit for HP.
Definition: missile.h:330
T x
Definition: vec2i.h:42
int BlizzardSpeed
missile speed
Definition: missile.h:389
Definition: missile.h:530
int StartDelay
parabol coefficient in parabolic missile
Definition: missile.h:386
SoundConfig ImpactSound
fired sound
Definition: missile.h:371
void NextMissileFrameCycle()
Definition: missile.cpp:1132
void LoadMissileSprite()
load the graphics for a missile type
Definition: missile.cpp:84
bool PierceOnce
missile will hit every unit on his way
Definition: missile.h:379
virtual void Action()
Definition: missile_stay.cpp:43
virtual void Action()
Definition: missile_deathcoil.cpp:50
Definition: missile.h:553
@ MissileClassStraightFly
Missile stays and plays it's animation several times.
Definition: missile.h:339
MissileType * MissileBurningBuilding(int percent)
Get the burning building missile based on hp percent.
Definition: missile.cpp:1230
virtual void Action()
Definition: missile_cliptotarget.cpp:46
void DrawMissile(const CViewport &vp) const
Definition: missile.cpp:536
The big unit structure.
Definition: unit.h:135
Missile on the map.
Definition: missile.h:413
unsigned Local
Total step.
Definition: missile.h:459
Definition: missile.h:475
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.