Removed missiles types. Now only homing missiles, and rockets for bombers.
This commit is contained in:
parent
94e0259953
commit
597f6f5cb7
|
@ -59,8 +59,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 2
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 2
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,5 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"combinedGuns" : 1,
|
"combinedGuns" : 1,
|
||||||
"missiles" : {
|
"missiles" : 3
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 3
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,11 +16,13 @@
|
||||||
"type" : "BT_PLASMA",
|
"type" : "BT_PLASMA",
|
||||||
"x" : 12,
|
"x" : 12,
|
||||||
"y" : 0
|
"y" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : "BT_ROCKET",
|
||||||
|
"x" : 0,
|
||||||
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 6,
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 60
|
|
||||||
},
|
|
||||||
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : -12
|
"y" : -12
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : -12
|
"y" : -12
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 3
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 3
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,11 +21,13 @@
|
||||||
"type" : "BT_PLASMA",
|
"type" : "BT_PLASMA",
|
||||||
"x" : 0,
|
"x" : 0,
|
||||||
"y" : 0
|
"y" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : "BT_ROCKET",
|
||||||
|
"x" : 0,
|
||||||
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 8,
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 80
|
|
||||||
},
|
|
||||||
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : -12
|
"y" : -12
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,5 @@
|
||||||
"y" : -16
|
"y" : -16
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 3
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 3
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,5 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"combinedGuns" : 1,
|
"combinedGuns" : 1,
|
||||||
"missiles" : {
|
"missiles" : 6
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 6
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,5 @@
|
||||||
"y" : -2
|
"y" : -2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 3
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 3
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : -12
|
"y" : -12
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,6 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 8,
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 8
|
|
||||||
},
|
|
||||||
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
"aiFlags" : "AIF_MISSILE_BOAT+AIF_DEFENSIVE"
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 2
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 2
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,5 @@
|
||||||
"y" : 0
|
"y" : 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 2
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 2
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,5 @@
|
||||||
"y" : -12
|
"y" : -12
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,8 +34,5 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"combinedGuns" : 1,
|
"combinedGuns" : 1,
|
||||||
"missiles" : {
|
"missiles" : 4
|
||||||
"type" : "MISSILE_MISSILE",
|
|
||||||
"ammo" : 4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -375,11 +375,11 @@ static void preAttack(void)
|
||||||
/* force weapon selection, otherwise we'll keep using lasers / mag */
|
/* force weapon selection, otherwise we'll keep using lasers / mag */
|
||||||
canAttack(self->target);
|
canAttack(self->target);
|
||||||
|
|
||||||
if (self->guns[0].type && (self->missiles.ammo == 0 || rand() % 50 > 0))
|
if (self->guns[0].type && (self->missiles == 0 || rand() % 50 > 0))
|
||||||
{
|
{
|
||||||
fireGuns(self);
|
fireGuns(self);
|
||||||
}
|
}
|
||||||
else if (self->missiles.ammo)
|
else if (self->missiles)
|
||||||
{
|
{
|
||||||
fireMissile(self);
|
fireMissile(self);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,11 @@ void doBullets(void)
|
||||||
b->x += b->dx;
|
b->x += b->dx;
|
||||||
b->y += b->dy;
|
b->y += b->dy;
|
||||||
|
|
||||||
if (b->type == BT_MISSILE)
|
if (b->type == BT_ROCKET)
|
||||||
|
{
|
||||||
|
addMissileEngineEffect(b);
|
||||||
|
}
|
||||||
|
else if (b->type == BT_MISSILE)
|
||||||
{
|
{
|
||||||
addMissileEngineEffect(b);
|
addMissileEngineEffect(b);
|
||||||
|
|
||||||
|
@ -315,15 +319,24 @@ void fireGuns(Entity *owner)
|
||||||
playBattleSound(b->sound, owner->x, owner->y);
|
playBattleSound(b->sound, owner->x, owner->y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fireRocket(Entity *owner)
|
||||||
|
{
|
||||||
|
Bullet *b;
|
||||||
|
|
||||||
|
b = createBullet(BT_ROCKET, owner->x, owner->y, owner);
|
||||||
|
|
||||||
|
playBattleSound(b->sound, owner->x, owner->y);
|
||||||
|
}
|
||||||
|
|
||||||
void fireMissile(Entity *owner)
|
void fireMissile(Entity *owner)
|
||||||
{
|
{
|
||||||
Bullet *b;
|
Bullet *b;
|
||||||
|
|
||||||
b = createBullet(BT_ROCKET + owner->missiles.type, owner->x, owner->y, owner);
|
b = createBullet(BT_MISSILE, owner->x, owner->y, owner);
|
||||||
|
|
||||||
b->life = FPS * 30;
|
b->life = FPS * 30;
|
||||||
|
|
||||||
owner->missiles.ammo--;
|
owner->missiles--;
|
||||||
|
|
||||||
if (owner == player)
|
if (owner == player)
|
||||||
{
|
{
|
||||||
|
|
|
@ -116,7 +116,7 @@ static void randomizeDart(Entity *dart)
|
||||||
|
|
||||||
randomizeDartGuns(dart);
|
randomizeDartGuns(dart);
|
||||||
|
|
||||||
dart->missiles.ammo = rand() % 3;
|
dart->missiles = rand() % 3;
|
||||||
|
|
||||||
sprintf(textureName, "gfx/fighters/dart0%d.png", 1 + rand() % 7);
|
sprintf(textureName, "gfx/fighters/dart0%d.png", 1 + rand() % 7);
|
||||||
|
|
||||||
|
@ -666,10 +666,7 @@ static void loadFighterDef(char *filename)
|
||||||
|
|
||||||
if (cJSON_GetObjectItem(root, "missiles"))
|
if (cJSON_GetObjectItem(root, "missiles"))
|
||||||
{
|
{
|
||||||
node = cJSON_GetObjectItem(root, "missiles");
|
f->missiles = cJSON_GetObjectItem(root, "missiles")->valueint;
|
||||||
|
|
||||||
f->missiles.type = lookup(cJSON_GetObjectItem(node, "type")->valuestring);
|
|
||||||
f->missiles.ammo = f->missiles.maxAmmo = cJSON_GetObjectItem(node, "ammo")->valueint;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cJSON_GetObjectItem(root, "flags"))
|
if (cJSON_GetObjectItem(root, "flags"))
|
||||||
|
|
|
@ -259,7 +259,7 @@ static void drawBoostECMBar(int current, int max, int x, int y, int r, int g, in
|
||||||
static void drawWeaponInfo(void)
|
static void drawWeaponInfo(void)
|
||||||
{
|
{
|
||||||
drawText(10, 70, 14, TA_LEFT, colors.white, (player->selectedGunType != -1) ? gunName[player->selectedGunType] : "(None)");
|
drawText(10, 70, 14, TA_LEFT, colors.white, (player->selectedGunType != -1) ? gunName[player->selectedGunType] : "(None)");
|
||||||
drawText(260, 70, 14, TA_RIGHT, colors.white, "Missiles (%d)", player->missiles.ammo);
|
drawText(260, 70, 14, TA_RIGHT, colors.white, "Missiles (%d)", player->missiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void drawPlayerTargeter(void)
|
static void drawPlayerTargeter(void)
|
||||||
|
|
|
@ -113,7 +113,7 @@ void doPlayer(void)
|
||||||
app.keyboard[SDL_SCANCODE_LSHIFT] = 0;
|
app.keyboard[SDL_SCANCODE_LSHIFT] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (app.keyboard[SDL_SCANCODE_RETURN] && player->missiles.ammo && player->target)
|
if (app.keyboard[SDL_SCANCODE_RETURN] && player->missiles && player->target)
|
||||||
{
|
{
|
||||||
if (getDistance(player->x, player->y, player->target->x, player->target->y) <= SCREEN_WIDTH)
|
if (getDistance(player->x, player->y, player->target->x, player->target->y) <= SCREEN_WIDTH)
|
||||||
{
|
{
|
||||||
|
|
|
@ -140,14 +140,6 @@ enum
|
||||||
BT_MAX
|
BT_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
MISSILE_ROCKET,
|
|
||||||
MISSILE_MISSILE,
|
|
||||||
MISSILE_FF,
|
|
||||||
MISSILE_MAX
|
|
||||||
};
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
EFFECT_LINE,
|
EFFECT_LINE,
|
||||||
|
|
|
@ -106,7 +106,7 @@ struct Entity {
|
||||||
int aiAggression;
|
int aiAggression;
|
||||||
int separationRadius;
|
int separationRadius;
|
||||||
Weapon guns[MAX_FIGHTER_GUNS];
|
Weapon guns[MAX_FIGHTER_GUNS];
|
||||||
Weapon missiles;
|
int missiles;
|
||||||
long flags;
|
long flags;
|
||||||
long aiFlags;
|
long aiFlags;
|
||||||
SDL_Point targetLocation;
|
SDL_Point targetLocation;
|
||||||
|
|
|
@ -90,10 +90,6 @@ void initLookups(void)
|
||||||
addLookup("BF_SHIELD_DAMAGE", BF_SHIELD_DAMAGE);
|
addLookup("BF_SHIELD_DAMAGE", BF_SHIELD_DAMAGE);
|
||||||
addLookup("BF_EXPLODES", BF_EXPLODES);
|
addLookup("BF_EXPLODES", BF_EXPLODES);
|
||||||
|
|
||||||
addLookup("MISSILE_ROCKET", MISSILE_ROCKET);
|
|
||||||
addLookup("MISSILE_MISSILE", MISSILE_MISSILE);
|
|
||||||
addLookup("MISSILE_FF", MISSILE_FF);
|
|
||||||
|
|
||||||
addLookup("CHALLENGE_ARMOUR", CHALLENGE_ARMOUR);
|
addLookup("CHALLENGE_ARMOUR", CHALLENGE_ARMOUR);
|
||||||
addLookup("CHALLENGE_TIME", CHALLENGE_TIME);
|
addLookup("CHALLENGE_TIME", CHALLENGE_TIME);
|
||||||
addLookup("CHALLENGE_ACCURACY", CHALLENGE_ACCURACY);
|
addLookup("CHALLENGE_ACCURACY", CHALLENGE_ACCURACY);
|
||||||
|
|
Loading…
Reference in New Issue