$treeview $search $mathjax
Stratagus
2.2.6
$projectbrief
|
$projectbrief
|
$searchbox |
_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include <missile.h>
Public Member Functions | |
void | DrawMissileType (int frame, int x, int y) const |
int | Width () const |
int | Height () const |
missile.cpp - The missiles. | |
MissileType (const std::string &ident) | |
~MissileType () | |
void | LoadMissileSprite () |
load the graphics for a missile type | |
void | Init () |
void | DrawMissileType (int frame, const PixelPos &pos) const |
Public Attributes | |
std::string | Ident |
int | Transparency |
missile name | |
PixelSize | size |
missile transparency | |
int | DrawLevel |
missile size in pixels | |
int | SpriteFrames |
Level to draw missile at. | |
int | NumDirections |
number of sprite frames in graphic | |
SoundConfig | FiredSound |
number of directions missile can face | |
SoundConfig | ImpactSound |
fired sound | |
bool | Flip |
impact sound for this missile-type | |
bool | CanHitOwner |
flip image when facing left | |
bool | FriendlyFire |
missile can hit the owner | |
MissileClass | Class |
missile can't hit own units | |
int | NumBounces |
missile class | |
int | StartDelay |
number of bounces | |
int | Sleep |
missile start delay | |
int | Speed |
missile sleep | |
int | Range |
missile speed | |
int | SplashFactor |
missile damage range | |
std::string | ImpactName |
missile splash divisor | |
MissileType * | ImpactMissile |
impact missile-type name | |
std::string | SmokeName |
missile produces an impact | |
MissileType * | SmokeMissile |
impact missile-type name | |
LuaCallback * | ImpactParticle |
Trailling missile. | |
CGraphic * | G |
impact particle |
#include "missile.h"
This structure defines the base type information of all missiles. It contains all information that all missiles of the same type shares. The fields are filled from the configuration files.
The missile-type structure members:
Unique identifier of the missile-type, used to reference it in config files and during startup.
The Level/Order to draw the missile in, usually 0-255
MissileType::Width MissileType::Height
Size (width and height) of a frame in the image. All sprite frames of the missile-type must have the same size.
Total number of sprite frames in the graphic image.
There is currently a limit of 127 sprite frames, which can be lifted if needed.
Number of directions missile can face.
Set a missile transparency. Current supported value is 50 only.
Sound of the missile, if fired.
Impact sound for this missile.
Can hit the unit that have fired the missile.
Can't hit the units of the same player, that has the missile fired.
Class of the missile-type, defines the basic effects of the missile. Look at the different class identifiers for more informations (_missile_class_, MissileClassNone, ...).
This is the number of bounces, and it is only valid with MissileClassBounce. The missile will hit this many times in a row.
Delay in game cycles after the missile generation, until the missile animation and effects starts. Delay denotes the number of display cycles to skip before drawing the first sprite frame and only happens once at start.
This are the number of game cycles to wait for the next animation or the sleeping between the animation steps. All animations steps use the same delay. 0 is the fastest and 255 the slowest animation.
The speed how fast the missile moves. 0 the missile didn't move, 1 is the slowest speed and 32 s the fastest supported speed. This is how many pixels the missiles moves with each animation step. The real use of this member depends on the MissileType::Class
Determines the range in which a projectile will deal its damage. A range of 0 will mean that the damage will be limited to the targetted unit only. So if you shot a missile at a unit, it would only damage that unit. A value of 1 only affects the field where the missile hits. A value of 2 would mean that the damage for that particular missile would be dealt for a range of 1 around the impact spot. All fields that aren't the center get only 1/SpashFactor of the damage. Fields 2 away get 1/(SplashFactor*2), and following...
Determines The Splash damage divisor, see Range
The name of the next (other) missile to generate, when this missile reached its end point or its life time is over. So it can be used to generate a chain of missiles.
Pointer to the impact missile-type. Used during run time.
The name of the next (other) missile to generate a trailing smoke. So it can be used to generate a chain of missiles.
Pointer to the smoke missile-type. Used during run time.
MissileType::Sprite
Missile sprite image loaded from MissileType::File
File containing the image (sprite) graphics of the missile. The file can contain multiple sprite frames. The sprite frames for the different directions are placed in the row. The different animations steps are placed in the column. But the correct order depends on MissileType::Class. Missiles like fire have no directions, missiles like arrows have a direction.
MissileType::MissileType | ( | const std::string & | ident | ) |
Constructor.
MissileType::~MissileType | ( | ) |
Destructor.
void MissileType::LoadMissileSprite | ( | ) |
load the graphics for a missile type
Damage calculation for missile.
Load the graphics for a missile type
void MissileType::Init | ( | ) |
Initialize missile type.
void MissileType::DrawMissileType | ( | int | frame, | |
const PixelPos & | pos | |||
) | const |
void MissileType::DrawMissileType | ( | int | frame, | |
int | x, | |||
int | y | |||
) | const [inline] |
int MissileType::Width | ( | ) | const [inline] |
int MissileType::Height | ( | ) | const [inline] |
std::string MissileType::Ident |
missile name
missile transparency
missile size in pixels
Level to draw missile at.
number of sprite frames in graphic
fired sound
bool MissileType::Flip |
impact sound for this missile-type
flip image when facing left
missile can hit the owner
missile can't hit own units
missile class
number of bounces
missile start delay
missile sleep
missile speed
missile damage range
std::string MissileType::ImpactName |
missile splash divisor
impact missile-type name
std::string MissileType::SmokeName |
missile produces an impact
impact missile-type name
Trailling missile.
impact particle