Fixed cannon dying.
This commit is contained in:
parent
aa02babf98
commit
79958fa79a
|
@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
static void applyDamage(int damage);
|
static void applyDamage(int damage);
|
||||||
static void walk(void);
|
static void walk(void);
|
||||||
static void die(void);
|
static void die(void);
|
||||||
|
static void die2(void);
|
||||||
static void animate(void);
|
static void animate(void);
|
||||||
static int canFire(Entity *target);
|
static int canFire(Entity *target);
|
||||||
static void preFire(void);
|
static void preFire(void);
|
||||||
|
@ -33,6 +34,8 @@ Entity *initCannon(void)
|
||||||
|
|
||||||
u = createUnit();
|
u = createUnit();
|
||||||
|
|
||||||
|
u->unitType = "Cannon";
|
||||||
|
|
||||||
u->type = ET_ENEMY;
|
u->type = ET_ENEMY;
|
||||||
|
|
||||||
u->sprite[FACING_LEFT] = getSprite("CannonLeft");
|
u->sprite[FACING_LEFT] = getSprite("CannonLeft");
|
||||||
|
@ -73,6 +76,31 @@ static void applyDamage(int damage)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void die(void)
|
static void die(void)
|
||||||
|
{
|
||||||
|
Unit *u;
|
||||||
|
|
||||||
|
u = (Unit*)self;
|
||||||
|
|
||||||
|
u->flags |= EF_BOUNCES | EF_ALWAYS_PROCESS;
|
||||||
|
|
||||||
|
u->action = die2;
|
||||||
|
|
||||||
|
u->facing = FACING_DIE;
|
||||||
|
u->thinkTime = 0;
|
||||||
|
u->spriteTime = 0;
|
||||||
|
u->spriteFrame = 0;
|
||||||
|
|
||||||
|
if (u->environment == ENV_AIR)
|
||||||
|
{
|
||||||
|
u->dy = -9;
|
||||||
|
}
|
||||||
|
|
||||||
|
u->dx = (randF() - randF()) * 5;
|
||||||
|
|
||||||
|
u->flags &= ~EF_HALT_AT_EDGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void die2(void)
|
||||||
{
|
{
|
||||||
Unit *u;
|
Unit *u;
|
||||||
int mx, my;
|
int mx, my;
|
||||||
|
|
|
@ -30,6 +30,8 @@ extern void fireTriggers(char *targetName);
|
||||||
extern void dropCarriedItem(void);
|
extern void dropCarriedItem(void);
|
||||||
extern void addScorchDecal(int x, int y);
|
extern void addScorchDecal(int x, int y);
|
||||||
extern Unit *createUnit(void);
|
extern Unit *createUnit(void);
|
||||||
|
extern double randF(void);
|
||||||
|
extern void playSound(int snd, int ch);
|
||||||
|
|
||||||
extern Dev dev;
|
extern Dev dev;
|
||||||
extern Entity *self;
|
extern Entity *self;
|
||||||
|
|
Loading…
Reference in New Issue