Made Classic difficulty almost exactly like the original.
There are only a couple changes that I've left in: 1. On normal missions, the edge of the screen still doesn't slow you down. 2. The shop still does not have the old bug where selling was based on the price of the next item. 3. Not sure about this, but some powerups don't spawn if they're of no use to you; I believe this was not in the original, but it's been left in anyway. 4. Not sure about this either, but I believe the original had the 3-way spread much wider. This has not been adjusted for Classic difficulty. Other than those three, Classic difficulty is now exactly the same, including a re-implementation of the whole "score" system where destroying a ship nets you money instantly and the absurd system where you buy only 10 plasma capacity at a time. I might adjust 1, 3, and/or 4 above later on.
This commit is contained in:
parent
838722590c
commit
e398440a56
151
src/alien.cpp
151
src/alien.cpp
|
@ -129,6 +129,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_DUALFIGHTER].collectChance = 50;
|
alien_defs[CD_DUALFIGHTER].collectChance = 50;
|
||||||
alien_defs[CD_DUALFIGHTER].collectType = P_ANYTHING;
|
alien_defs[CD_DUALFIGHTER].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_DUALFIGHTER].collectValue = 50;
|
alien_defs[CD_DUALFIGHTER].collectValue = 50;
|
||||||
|
alien_defs[CD_DUALFIGHTER].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_DUALFIGHTER].collectValueOriginal = 50;
|
||||||
|
alien_defs[CD_DUALFIGHTER].score = 25;
|
||||||
alien_defs[CD_DUALFIGHTER].flags = FL_WEAPCO;
|
alien_defs[CD_DUALFIGHTER].flags = FL_WEAPCO;
|
||||||
|
|
||||||
// Missile Boat
|
// Missile Boat
|
||||||
|
@ -146,6 +149,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_MISSILEBOAT].collectChance = 25;
|
alien_defs[CD_MISSILEBOAT].collectChance = 25;
|
||||||
alien_defs[CD_MISSILEBOAT].collectType = P_ANYTHING;
|
alien_defs[CD_MISSILEBOAT].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_MISSILEBOAT].collectValue = 75;
|
alien_defs[CD_MISSILEBOAT].collectValue = 75;
|
||||||
|
alien_defs[CD_MISSILEBOAT].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_MISSILEBOAT].collectValueOriginal = 75;
|
||||||
|
alien_defs[CD_MISSILEBOAT].score = 250;
|
||||||
alien_defs[CD_MISSILEBOAT].flags = FL_WEAPCO;
|
alien_defs[CD_MISSILEBOAT].flags = FL_WEAPCO;
|
||||||
|
|
||||||
//Prototype fighter
|
//Prototype fighter
|
||||||
|
@ -163,6 +169,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_PROTOFIGHTER].collectChance = 50;
|
alien_defs[CD_PROTOFIGHTER].collectChance = 50;
|
||||||
alien_defs[CD_PROTOFIGHTER].collectType = P_ANYTHING;
|
alien_defs[CD_PROTOFIGHTER].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_PROTOFIGHTER].collectValue = 50;
|
alien_defs[CD_PROTOFIGHTER].collectValue = 50;
|
||||||
|
alien_defs[CD_PROTOFIGHTER].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_PROTOFIGHTER].collectValueOriginal = 50;
|
||||||
|
alien_defs[CD_PROTOFIGHTER].score = 50;
|
||||||
alien_defs[CD_PROTOFIGHTER].flags = FL_WEAPCO;
|
alien_defs[CD_PROTOFIGHTER].flags = FL_WEAPCO;
|
||||||
|
|
||||||
// Phoebe and Ursula
|
// Phoebe and Ursula
|
||||||
|
@ -180,6 +189,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_FRIEND].collectChance = 0;
|
alien_defs[CD_FRIEND].collectChance = 0;
|
||||||
alien_defs[CD_FRIEND].collectType = P_CASH;
|
alien_defs[CD_FRIEND].collectType = P_CASH;
|
||||||
alien_defs[CD_FRIEND].collectValue = 0;
|
alien_defs[CD_FRIEND].collectValue = 0;
|
||||||
|
alien_defs[CD_FRIEND].collectTypeOriginal = P_CASH;
|
||||||
|
alien_defs[CD_FRIEND].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_FRIEND].score = 0;
|
||||||
alien_defs[CD_FRIEND].flags = FL_FRIEND;
|
alien_defs[CD_FRIEND].flags = FL_FRIEND;
|
||||||
|
|
||||||
// Boss 1
|
// Boss 1
|
||||||
|
@ -197,6 +209,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_FRIGATE].collectChance = 100;
|
alien_defs[CD_FRIGATE].collectChance = 100;
|
||||||
alien_defs[CD_FRIGATE].collectType = P_CASH;
|
alien_defs[CD_FRIGATE].collectType = P_CASH;
|
||||||
alien_defs[CD_FRIGATE].collectValue = 500;
|
alien_defs[CD_FRIGATE].collectValue = 500;
|
||||||
|
alien_defs[CD_FRIGATE].collectTypeOriginal = P_CASH;
|
||||||
|
alien_defs[CD_FRIGATE].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_FRIGATE].score = 500;
|
||||||
alien_defs[CD_FRIGATE].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_FRIGATE].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_FRIGATE_WING1].classDef = CD_FRIGATE_WING1;
|
alien_defs[CD_FRIGATE_WING1].classDef = CD_FRIGATE_WING1;
|
||||||
|
@ -213,6 +228,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_FRIGATE_WING1].collectChance = 100;
|
alien_defs[CD_FRIGATE_WING1].collectChance = 100;
|
||||||
alien_defs[CD_FRIGATE_WING1].collectType = P_ANYTHING;
|
alien_defs[CD_FRIGATE_WING1].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_FRIGATE_WING1].collectValue = 250;
|
alien_defs[CD_FRIGATE_WING1].collectValue = 250;
|
||||||
|
alien_defs[CD_FRIGATE_WING1].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_FRIGATE_WING1].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_FRIGATE_WING1].score = 500;
|
||||||
alien_defs[CD_FRIGATE_WING1].flags = FL_WEAPCO | FL_DAMAGEOWNER;
|
alien_defs[CD_FRIGATE_WING1].flags = FL_WEAPCO | FL_DAMAGEOWNER;
|
||||||
|
|
||||||
alien_defs[CD_FRIGATE_WING2].classDef = CD_FRIGATE_WING2;
|
alien_defs[CD_FRIGATE_WING2].classDef = CD_FRIGATE_WING2;
|
||||||
|
@ -229,6 +247,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_FRIGATE_WING2].collectChance = 100;
|
alien_defs[CD_FRIGATE_WING2].collectChance = 100;
|
||||||
alien_defs[CD_FRIGATE_WING2].collectType = P_ANYTHING;
|
alien_defs[CD_FRIGATE_WING2].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_FRIGATE_WING2].collectValue = 250;
|
alien_defs[CD_FRIGATE_WING2].collectValue = 250;
|
||||||
|
alien_defs[CD_FRIGATE_WING2].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_FRIGATE_WING2].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_FRIGATE_WING2].score = 500;
|
||||||
alien_defs[CD_FRIGATE_WING2].flags = FL_WEAPCO | FL_DAMAGEOWNER;
|
alien_defs[CD_FRIGATE_WING2].flags = FL_WEAPCO | FL_DAMAGEOWNER;
|
||||||
|
|
||||||
// Transport ship
|
// Transport ship
|
||||||
|
@ -246,6 +267,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_TRANSPORTSHIP].collectChance = 100;
|
alien_defs[CD_TRANSPORTSHIP].collectChance = 100;
|
||||||
alien_defs[CD_TRANSPORTSHIP].collectType = P_WEAPONS;
|
alien_defs[CD_TRANSPORTSHIP].collectType = P_WEAPONS;
|
||||||
alien_defs[CD_TRANSPORTSHIP].collectValue = 40;
|
alien_defs[CD_TRANSPORTSHIP].collectValue = 40;
|
||||||
|
alien_defs[CD_TRANSPORTSHIP].collectTypeOriginal = P_WEAPONS;
|
||||||
|
alien_defs[CD_TRANSPORTSHIP].collectValueOriginal = 30;
|
||||||
|
alien_defs[CD_TRANSPORTSHIP].score = 25;
|
||||||
alien_defs[CD_TRANSPORTSHIP].flags = FL_WEAPCO | FL_NOFIRE;
|
alien_defs[CD_TRANSPORTSHIP].flags = FL_WEAPCO | FL_NOFIRE;
|
||||||
|
|
||||||
// Cargo ship
|
// Cargo ship
|
||||||
|
@ -263,6 +287,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_CARGOSHIP].collectChance = 50;
|
alien_defs[CD_CARGOSHIP].collectChance = 50;
|
||||||
alien_defs[CD_CARGOSHIP].collectType = P_ANYTHING;
|
alien_defs[CD_CARGOSHIP].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_CARGOSHIP].collectValue = 100;
|
alien_defs[CD_CARGOSHIP].collectValue = 100;
|
||||||
|
alien_defs[CD_CARGOSHIP].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_CARGOSHIP].collectValueOriginal = 100;
|
||||||
|
alien_defs[CD_CARGOSHIP].score = 25;
|
||||||
alien_defs[CD_CARGOSHIP].flags = FL_WEAPCO | FL_NOFIRE;
|
alien_defs[CD_CARGOSHIP].flags = FL_WEAPCO | FL_NOFIRE;
|
||||||
|
|
||||||
// Weapco Miner
|
// Weapco Miner
|
||||||
|
@ -280,6 +307,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_MINER].collectChance = 100;
|
alien_defs[CD_MINER].collectChance = 100;
|
||||||
alien_defs[CD_MINER].collectType = P_ANYTHING;
|
alien_defs[CD_MINER].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_MINER].collectValue = 30;
|
alien_defs[CD_MINER].collectValue = 30;
|
||||||
|
alien_defs[CD_MINER].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_MINER].collectValueOriginal = 30;
|
||||||
|
alien_defs[CD_MINER].score = 100;
|
||||||
alien_defs[CD_MINER].flags = FL_WEAPCO | FL_NOFIRE | FL_DROPMINES;
|
alien_defs[CD_MINER].flags = FL_WEAPCO | FL_NOFIRE | FL_DROPMINES;
|
||||||
|
|
||||||
// Kline
|
// Kline
|
||||||
|
@ -297,6 +327,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_KLINE].collectChance = 0;
|
alien_defs[CD_KLINE].collectChance = 0;
|
||||||
alien_defs[CD_KLINE].collectType = P_ANYTHING;
|
alien_defs[CD_KLINE].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_KLINE].collectValue = 0;
|
alien_defs[CD_KLINE].collectValue = 0;
|
||||||
|
alien_defs[CD_KLINE].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_KLINE].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_KLINE].score = 0;
|
||||||
alien_defs[CD_KLINE].flags = FL_WEAPCO | FL_ALWAYSFACE | FL_CIRCLES | FL_NOBANTER;
|
alien_defs[CD_KLINE].flags = FL_WEAPCO | FL_ALWAYSFACE | FL_CIRCLES | FL_NOBANTER;
|
||||||
|
|
||||||
// Aim Fighter
|
// Aim Fighter
|
||||||
|
@ -314,6 +347,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_AIMFIGHTER].collectChance = 75;
|
alien_defs[CD_AIMFIGHTER].collectChance = 75;
|
||||||
alien_defs[CD_AIMFIGHTER].collectType = P_ANYTHING;
|
alien_defs[CD_AIMFIGHTER].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_AIMFIGHTER].collectValue = 100;
|
alien_defs[CD_AIMFIGHTER].collectValue = 100;
|
||||||
|
alien_defs[CD_AIMFIGHTER].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_AIMFIGHTER].collectValueOriginal = 100;
|
||||||
|
alien_defs[CD_AIMFIGHTER].score = 50;
|
||||||
alien_defs[CD_AIMFIGHTER].flags = FL_WEAPCO | FL_AIMS;
|
alien_defs[CD_AIMFIGHTER].flags = FL_WEAPCO | FL_AIMS;
|
||||||
|
|
||||||
// Slave ship
|
// Slave ship
|
||||||
|
@ -331,6 +367,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_SLAVETRANSPORT].collectChance = 100;
|
alien_defs[CD_SLAVETRANSPORT].collectChance = 100;
|
||||||
alien_defs[CD_SLAVETRANSPORT].collectType = P_SLAVES;
|
alien_defs[CD_SLAVETRANSPORT].collectType = P_SLAVES;
|
||||||
alien_defs[CD_SLAVETRANSPORT].collectValue = 25;
|
alien_defs[CD_SLAVETRANSPORT].collectValue = 25;
|
||||||
|
alien_defs[CD_SLAVETRANSPORT].collectTypeOriginal = P_SLAVES;
|
||||||
|
alien_defs[CD_SLAVETRANSPORT].collectValueOriginal = 25;
|
||||||
|
alien_defs[CD_SLAVETRANSPORT].score = 25;
|
||||||
alien_defs[CD_SLAVETRANSPORT].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
alien_defs[CD_SLAVETRANSPORT].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
||||||
|
|
||||||
// Good Transport
|
// Good Transport
|
||||||
|
@ -348,6 +387,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_GOODTRANSPORT].collectChance = 0;
|
alien_defs[CD_GOODTRANSPORT].collectChance = 0;
|
||||||
alien_defs[CD_GOODTRANSPORT].collectType = P_ANYTHING;
|
alien_defs[CD_GOODTRANSPORT].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_GOODTRANSPORT].collectValue = 0;
|
alien_defs[CD_GOODTRANSPORT].collectValue = 0;
|
||||||
|
alien_defs[CD_GOODTRANSPORT].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_GOODTRANSPORT].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_GOODTRANSPORT].score = 0;
|
||||||
alien_defs[CD_GOODTRANSPORT].flags = FL_FRIEND | FL_NOFIRE | FL_AIMS;
|
alien_defs[CD_GOODTRANSPORT].flags = FL_FRIEND | FL_NOFIRE | FL_AIMS;
|
||||||
|
|
||||||
// Sid Wilson
|
// Sid Wilson
|
||||||
|
@ -365,6 +407,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_SID].collectChance = 0;
|
alien_defs[CD_SID].collectChance = 0;
|
||||||
alien_defs[CD_SID].collectType = P_ANYTHING;
|
alien_defs[CD_SID].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_SID].collectValue = 0;
|
alien_defs[CD_SID].collectValue = 0;
|
||||||
|
alien_defs[CD_SID].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_SID].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_SID].score = 0;
|
||||||
alien_defs[CD_SID].flags = FL_FRIEND | FL_AIMS;
|
alien_defs[CD_SID].flags = FL_FRIEND | FL_AIMS;
|
||||||
|
|
||||||
// Mining Vessel Boss
|
// Mining Vessel Boss
|
||||||
|
@ -382,6 +427,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_MINEBOSS].collectChance = 100;
|
alien_defs[CD_MINEBOSS].collectChance = 100;
|
||||||
alien_defs[CD_MINEBOSS].collectType = P_ANYTHING;
|
alien_defs[CD_MINEBOSS].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_MINEBOSS].collectValue = 1000;
|
alien_defs[CD_MINEBOSS].collectValue = 1000;
|
||||||
|
alien_defs[CD_MINEBOSS].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_MINEBOSS].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_MINEBOSS].score = 1000;
|
||||||
alien_defs[CD_MINEBOSS].flags = FL_WEAPCO | FL_IMMORTAL | FL_NOBANTER;
|
alien_defs[CD_MINEBOSS].flags = FL_WEAPCO | FL_IMMORTAL | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_BOSS2_WING1].classDef = CD_BOSS2_WING1;
|
alien_defs[CD_BOSS2_WING1].classDef = CD_BOSS2_WING1;
|
||||||
|
@ -398,6 +446,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_BOSS2_WING1].collectChance = 100;
|
alien_defs[CD_BOSS2_WING1].collectChance = 100;
|
||||||
alien_defs[CD_BOSS2_WING1].collectType = P_ANYTHING;
|
alien_defs[CD_BOSS2_WING1].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_BOSS2_WING1].collectValue = 250;
|
alien_defs[CD_BOSS2_WING1].collectValue = 250;
|
||||||
|
alien_defs[CD_BOSS2_WING1].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_BOSS2_WING1].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_BOSS2_WING1].score = 1000;
|
||||||
alien_defs[CD_BOSS2_WING1].flags = FL_WEAPCO | FL_DAMAGEOWNER | FL_NOBANTER;
|
alien_defs[CD_BOSS2_WING1].flags = FL_WEAPCO | FL_DAMAGEOWNER | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_BOSS2_WING2].classDef = CD_BOSS2_WING2;
|
alien_defs[CD_BOSS2_WING2].classDef = CD_BOSS2_WING2;
|
||||||
|
@ -414,6 +465,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_BOSS2_WING2].collectChance = 100;
|
alien_defs[CD_BOSS2_WING2].collectChance = 100;
|
||||||
alien_defs[CD_BOSS2_WING2].collectType = P_ANYTHING;
|
alien_defs[CD_BOSS2_WING2].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_BOSS2_WING2].collectValue = 250;
|
alien_defs[CD_BOSS2_WING2].collectValue = 250;
|
||||||
|
alien_defs[CD_BOSS2_WING2].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_BOSS2_WING2].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_BOSS2_WING2].score = 1000;
|
||||||
alien_defs[CD_BOSS2_WING2].flags = FL_WEAPCO | FL_DEPLOYDRONES | FL_DAMAGEOWNER | FL_NOBANTER;
|
alien_defs[CD_BOSS2_WING2].flags = FL_WEAPCO | FL_DEPLOYDRONES | FL_DAMAGEOWNER | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_BOSS2_WING3].classDef = CD_BOSS2_WING3;
|
alien_defs[CD_BOSS2_WING3].classDef = CD_BOSS2_WING3;
|
||||||
|
@ -430,6 +484,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_BOSS2_WING3].collectChance = 100;
|
alien_defs[CD_BOSS2_WING3].collectChance = 100;
|
||||||
alien_defs[CD_BOSS2_WING3].collectType = P_ANYTHING;
|
alien_defs[CD_BOSS2_WING3].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_BOSS2_WING3].collectValue = 250;
|
alien_defs[CD_BOSS2_WING3].collectValue = 250;
|
||||||
|
alien_defs[CD_BOSS2_WING3].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_BOSS2_WING3].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_BOSS2_WING3].score = 1000;
|
||||||
alien_defs[CD_BOSS2_WING3].flags = FL_WEAPCO | FL_DEPLOYDRONES | FL_DAMAGEOWNER | FL_NOBANTER;
|
alien_defs[CD_BOSS2_WING3].flags = FL_WEAPCO | FL_DEPLOYDRONES | FL_DAMAGEOWNER | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_BOSS2_WING4].classDef = CD_BOSS2_WING4;
|
alien_defs[CD_BOSS2_WING4].classDef = CD_BOSS2_WING4;
|
||||||
|
@ -446,6 +503,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_BOSS2_WING4].collectChance = 100;
|
alien_defs[CD_BOSS2_WING4].collectChance = 100;
|
||||||
alien_defs[CD_BOSS2_WING4].collectType = P_ANYTHING;
|
alien_defs[CD_BOSS2_WING4].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_BOSS2_WING4].collectValue = 250;
|
alien_defs[CD_BOSS2_WING4].collectValue = 250;
|
||||||
|
alien_defs[CD_BOSS2_WING4].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_BOSS2_WING4].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_BOSS2_WING4].score = 1000;
|
||||||
alien_defs[CD_BOSS2_WING4].flags = FL_WEAPCO | FL_DAMAGEOWNER | FL_NOBANTER;
|
alien_defs[CD_BOSS2_WING4].flags = FL_WEAPCO | FL_DAMAGEOWNER | FL_NOBANTER;
|
||||||
|
|
||||||
// Drone
|
// Drone
|
||||||
|
@ -463,6 +523,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_DRONE].collectChance = 10;
|
alien_defs[CD_DRONE].collectChance = 10;
|
||||||
alien_defs[CD_DRONE].collectType = P_SHIELD;
|
alien_defs[CD_DRONE].collectType = P_SHIELD;
|
||||||
alien_defs[CD_DRONE].collectValue = 1;
|
alien_defs[CD_DRONE].collectValue = 1;
|
||||||
|
alien_defs[CD_DRONE].collectTypeOriginal = P_SHIELD;
|
||||||
|
alien_defs[CD_DRONE].collectValueOriginal = 1;
|
||||||
|
alien_defs[CD_DRONE].score = 0;
|
||||||
alien_defs[CD_DRONE].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_DRONE].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Experimental Fighter
|
// Experimental Fighter
|
||||||
|
@ -480,6 +543,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_CLOAKFIGHTER].collectChance = 100;
|
alien_defs[CD_CLOAKFIGHTER].collectChance = 100;
|
||||||
alien_defs[CD_CLOAKFIGHTER].collectType = P_CASH;
|
alien_defs[CD_CLOAKFIGHTER].collectType = P_CASH;
|
||||||
alien_defs[CD_CLOAKFIGHTER].collectValue = 250;
|
alien_defs[CD_CLOAKFIGHTER].collectValue = 250;
|
||||||
|
alien_defs[CD_CLOAKFIGHTER].collectTypeOriginal = P_CASH;
|
||||||
|
alien_defs[CD_CLOAKFIGHTER].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_CLOAKFIGHTER].score = 550;
|
||||||
alien_defs[CD_CLOAKFIGHTER].flags = FL_WEAPCO | FL_CANCLOAK | FL_RUNSAWAY;
|
alien_defs[CD_CLOAKFIGHTER].flags = FL_WEAPCO | FL_CANCLOAK | FL_RUNSAWAY;
|
||||||
|
|
||||||
// Evil Ursula
|
// Evil Ursula
|
||||||
|
@ -497,6 +563,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_EVILURSULA].collectChance = 100;
|
alien_defs[CD_EVILURSULA].collectChance = 100;
|
||||||
alien_defs[CD_EVILURSULA].collectType = P_ESCAPEPOD;
|
alien_defs[CD_EVILURSULA].collectType = P_ESCAPEPOD;
|
||||||
alien_defs[CD_EVILURSULA].collectValue = 1;
|
alien_defs[CD_EVILURSULA].collectValue = 1;
|
||||||
|
alien_defs[CD_EVILURSULA].collectTypeOriginal = P_ESCAPEPOD;
|
||||||
|
alien_defs[CD_EVILURSULA].collectValueOriginal = 1;
|
||||||
|
alien_defs[CD_EVILURSULA].score = 500;
|
||||||
alien_defs[CD_EVILURSULA].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_EVILURSULA].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Mercenary
|
// Mercenary
|
||||||
|
@ -514,6 +583,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_KRASS].collectChance = 100;
|
alien_defs[CD_KRASS].collectChance = 100;
|
||||||
alien_defs[CD_KRASS].collectType = P_ANYTHING;
|
alien_defs[CD_KRASS].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_KRASS].collectValue = 2250;
|
alien_defs[CD_KRASS].collectValue = 2250;
|
||||||
|
alien_defs[CD_KRASS].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_KRASS].collectValueOriginal = 255;
|
||||||
|
alien_defs[CD_KRASS].score = 2000;
|
||||||
alien_defs[CD_KRASS].flags = FL_FRIEND | FL_IMMORTAL | FL_NOBANTER;
|
alien_defs[CD_KRASS].flags = FL_FRIEND | FL_IMMORTAL | FL_NOBANTER;
|
||||||
|
|
||||||
// Executive Transport
|
// Executive Transport
|
||||||
|
@ -530,7 +602,10 @@ void alien_defs_init()
|
||||||
alien_defs[CD_EXEC].chance[1] = 0;
|
alien_defs[CD_EXEC].chance[1] = 0;
|
||||||
alien_defs[CD_EXEC].collectChance = 0;
|
alien_defs[CD_EXEC].collectChance = 0;
|
||||||
alien_defs[CD_EXEC].collectType = P_ANYTHING;
|
alien_defs[CD_EXEC].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_EXEC].collectValue = 2000;
|
alien_defs[CD_EXEC].collectValue = 0;
|
||||||
|
alien_defs[CD_EXEC].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_EXEC].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_EXEC].score = 2000;
|
||||||
alien_defs[CD_EXEC].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
alien_defs[CD_EXEC].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
||||||
|
|
||||||
// Asteroid
|
// Asteroid
|
||||||
|
@ -548,6 +623,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_ASTEROID].collectChance = 25;
|
alien_defs[CD_ASTEROID].collectChance = 25;
|
||||||
alien_defs[CD_ASTEROID].collectType = P_ORE;
|
alien_defs[CD_ASTEROID].collectType = P_ORE;
|
||||||
alien_defs[CD_ASTEROID].collectValue = 1;
|
alien_defs[CD_ASTEROID].collectValue = 1;
|
||||||
|
alien_defs[CD_ASTEROID].collectTypeOriginal = P_ORE;
|
||||||
|
alien_defs[CD_ASTEROID].collectValueOriginal = 1;
|
||||||
|
alien_defs[CD_ASTEROID].score = 0;
|
||||||
alien_defs[CD_ASTEROID].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_ASTEROID].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
alien_defs[CD_ASTEROID2].classDef = CD_ASTEROID2;
|
alien_defs[CD_ASTEROID2].classDef = CD_ASTEROID2;
|
||||||
|
@ -564,6 +642,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_ASTEROID2].collectChance = 25;
|
alien_defs[CD_ASTEROID2].collectChance = 25;
|
||||||
alien_defs[CD_ASTEROID2].collectType = P_ORE;
|
alien_defs[CD_ASTEROID2].collectType = P_ORE;
|
||||||
alien_defs[CD_ASTEROID2].collectValue = 1;
|
alien_defs[CD_ASTEROID2].collectValue = 1;
|
||||||
|
alien_defs[CD_ASTEROID2].collectTypeOriginal = P_ORE;
|
||||||
|
alien_defs[CD_ASTEROID2].collectValueOriginal = 1;
|
||||||
|
alien_defs[CD_ASTEROID2].score = 0;
|
||||||
alien_defs[CD_ASTEROID2].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_ASTEROID2].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Escort
|
// Escort
|
||||||
|
@ -581,6 +662,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_ESCORT].collectChance = 100;
|
alien_defs[CD_ESCORT].collectChance = 100;
|
||||||
alien_defs[CD_ESCORT].collectType = P_ANYTHING;
|
alien_defs[CD_ESCORT].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_ESCORT].collectValue = 100;
|
alien_defs[CD_ESCORT].collectValue = 100;
|
||||||
|
alien_defs[CD_ESCORT].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_ESCORT].collectValueOriginal = 100;
|
||||||
|
alien_defs[CD_ESCORT].score = 450;
|
||||||
alien_defs[CD_ESCORT].flags = FL_WEAPCO;
|
alien_defs[CD_ESCORT].flags = FL_WEAPCO;
|
||||||
|
|
||||||
// Mobile Ray Cannon
|
// Mobile Ray Cannon
|
||||||
|
@ -598,6 +682,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_MOBILE_RAY].collectChance = 75;
|
alien_defs[CD_MOBILE_RAY].collectChance = 75;
|
||||||
alien_defs[CD_MOBILE_RAY].collectType = P_ANYTHING;
|
alien_defs[CD_MOBILE_RAY].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_MOBILE_RAY].collectValue = 100;
|
alien_defs[CD_MOBILE_RAY].collectValue = 100;
|
||||||
|
alien_defs[CD_MOBILE_RAY].collectTypeOriginal = P_SHIELD;
|
||||||
|
alien_defs[CD_MOBILE_RAY].collectValueOriginal = 2;
|
||||||
|
alien_defs[CD_MOBILE_RAY].score = 1000;
|
||||||
alien_defs[CD_MOBILE_RAY].flags = FL_WEAPCO;
|
alien_defs[CD_MOBILE_RAY].flags = FL_WEAPCO;
|
||||||
|
|
||||||
// Rebel Carrier
|
// Rebel Carrier
|
||||||
|
@ -615,6 +702,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_REBELCARRIER].collectChance = 0;
|
alien_defs[CD_REBELCARRIER].collectChance = 0;
|
||||||
alien_defs[CD_REBELCARRIER].collectType = P_SHIELD;
|
alien_defs[CD_REBELCARRIER].collectType = P_SHIELD;
|
||||||
alien_defs[CD_REBELCARRIER].collectValue = 0;
|
alien_defs[CD_REBELCARRIER].collectValue = 0;
|
||||||
|
alien_defs[CD_REBELCARRIER].collectTypeOriginal = P_SHIELD;
|
||||||
|
alien_defs[CD_REBELCARRIER].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_REBELCARRIER].score = 0;
|
||||||
alien_defs[CD_REBELCARRIER].flags = FL_FRIEND;
|
alien_defs[CD_REBELCARRIER].flags = FL_FRIEND;
|
||||||
|
|
||||||
// Pluto Boss
|
// Pluto Boss
|
||||||
|
@ -629,9 +719,12 @@ void alien_defs_init()
|
||||||
alien_defs[CD_PLUTOBOSS].weaponType[1] = W_MICRO_ROCKETS;
|
alien_defs[CD_PLUTOBOSS].weaponType[1] = W_MICRO_ROCKETS;
|
||||||
alien_defs[CD_PLUTOBOSS].chance[0] = 50;
|
alien_defs[CD_PLUTOBOSS].chance[0] = 50;
|
||||||
alien_defs[CD_PLUTOBOSS].chance[1] = 2;
|
alien_defs[CD_PLUTOBOSS].chance[1] = 2;
|
||||||
alien_defs[CD_PLUTOBOSS].collectChance = 0;
|
alien_defs[CD_PLUTOBOSS].collectChance = 100;
|
||||||
alien_defs[CD_PLUTOBOSS].collectType = P_ANYTHING;
|
alien_defs[CD_PLUTOBOSS].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_PLUTOBOSS].collectValue = 1000;
|
alien_defs[CD_PLUTOBOSS].collectValue = 1000;
|
||||||
|
alien_defs[CD_PLUTOBOSS].collectTypeOriginal = P_SHIELD;
|
||||||
|
alien_defs[CD_PLUTOBOSS].collectValueOriginal = 0;
|
||||||
|
alien_defs[CD_PLUTOBOSS].score = 1000;
|
||||||
alien_defs[CD_PLUTOBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_PLUTOBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Pluto Boss Barrier
|
// Pluto Boss Barrier
|
||||||
|
@ -649,6 +742,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_BARRIER].collectChance = 100;
|
alien_defs[CD_BARRIER].collectChance = 100;
|
||||||
alien_defs[CD_BARRIER].collectType = P_ANYTHING;
|
alien_defs[CD_BARRIER].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_BARRIER].collectValue = 25;
|
alien_defs[CD_BARRIER].collectValue = 25;
|
||||||
|
alien_defs[CD_BARRIER].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_BARRIER].collectValueOriginal = 25;
|
||||||
|
alien_defs[CD_BARRIER].score = 1000;
|
||||||
alien_defs[CD_BARRIER].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
alien_defs[CD_BARRIER].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
||||||
|
|
||||||
// Neptune Boss
|
// Neptune Boss
|
||||||
|
@ -666,6 +762,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_NEPTUNEBOSS].collectChance = 100;
|
alien_defs[CD_NEPTUNEBOSS].collectChance = 100;
|
||||||
alien_defs[CD_NEPTUNEBOSS].collectType = P_ANYTHING;
|
alien_defs[CD_NEPTUNEBOSS].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_NEPTUNEBOSS].collectValue = 1000;
|
alien_defs[CD_NEPTUNEBOSS].collectValue = 1000;
|
||||||
|
alien_defs[CD_NEPTUNEBOSS].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_NEPTUNEBOSS].collectValueOriginal = 25;
|
||||||
|
alien_defs[CD_NEPTUNEBOSS].score = 1000;
|
||||||
alien_defs[CD_NEPTUNEBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_NEPTUNEBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Mobile Shield
|
// Mobile Shield
|
||||||
|
@ -683,6 +782,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_MOBILESHIELD].collectChance = 100;
|
alien_defs[CD_MOBILESHIELD].collectChance = 100;
|
||||||
alien_defs[CD_MOBILESHIELD].collectType = P_ANYTHING;
|
alien_defs[CD_MOBILESHIELD].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_MOBILESHIELD].collectValue = 25;
|
alien_defs[CD_MOBILESHIELD].collectValue = 25;
|
||||||
|
alien_defs[CD_MOBILESHIELD].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_MOBILESHIELD].collectValueOriginal = 25;
|
||||||
|
alien_defs[CD_MOBILESHIELD].score = 250;
|
||||||
alien_defs[CD_MOBILESHIELD].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
alien_defs[CD_MOBILESHIELD].flags = FL_WEAPCO | FL_NOFIRE | FL_NOBANTER;
|
||||||
|
|
||||||
// Firefly
|
// Firefly
|
||||||
|
@ -700,6 +802,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_FIREFLY].collectChance = 100;
|
alien_defs[CD_FIREFLY].collectChance = 100;
|
||||||
alien_defs[CD_FIREFLY].collectType = P_ANYTHING;
|
alien_defs[CD_FIREFLY].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_FIREFLY].collectValue = 250;
|
alien_defs[CD_FIREFLY].collectValue = 250;
|
||||||
|
alien_defs[CD_FIREFLY].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_FIREFLY].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_FIREFLY].score = 500;
|
||||||
alien_defs[CD_FIREFLY].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_FIREFLY].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Uranus Boss
|
// Uranus Boss
|
||||||
|
@ -717,6 +822,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_URANUSBOSS].collectChance = 100;
|
alien_defs[CD_URANUSBOSS].collectChance = 100;
|
||||||
alien_defs[CD_URANUSBOSS].collectType = P_ANYTHING;
|
alien_defs[CD_URANUSBOSS].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_URANUSBOSS].collectValue = 500;
|
alien_defs[CD_URANUSBOSS].collectValue = 500;
|
||||||
|
alien_defs[CD_URANUSBOSS].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_URANUSBOSS].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_URANUSBOSS].score = 500;
|
||||||
alien_defs[CD_URANUSBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
alien_defs[CD_URANUSBOSS].flags = FL_WEAPCO | FL_NOBANTER;
|
||||||
|
|
||||||
// Uranus Boss Wing 1
|
// Uranus Boss Wing 1
|
||||||
|
@ -734,6 +842,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_URANUSBOSSWING1].collectChance = 100;
|
alien_defs[CD_URANUSBOSSWING1].collectChance = 100;
|
||||||
alien_defs[CD_URANUSBOSSWING1].collectType = P_ANYTHING;
|
alien_defs[CD_URANUSBOSSWING1].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_URANUSBOSSWING1].collectValue = 250;
|
alien_defs[CD_URANUSBOSSWING1].collectValue = 250;
|
||||||
|
alien_defs[CD_URANUSBOSSWING1].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_URANUSBOSSWING1].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_URANUSBOSSWING1].score = 500;
|
||||||
alien_defs[CD_URANUSBOSSWING1].flags = FL_WEAPCO | FL_IMMORTAL | FL_DAMAGEOWNER;
|
alien_defs[CD_URANUSBOSSWING1].flags = FL_WEAPCO | FL_IMMORTAL | FL_DAMAGEOWNER;
|
||||||
|
|
||||||
// Uranus Boss Wing 2
|
// Uranus Boss Wing 2
|
||||||
|
@ -751,6 +862,9 @@ void alien_defs_init()
|
||||||
alien_defs[CD_URANUSBOSSWING2].collectChance = 100;
|
alien_defs[CD_URANUSBOSSWING2].collectChance = 100;
|
||||||
alien_defs[CD_URANUSBOSSWING2].collectType = P_ANYTHING;
|
alien_defs[CD_URANUSBOSSWING2].collectType = P_ANYTHING;
|
||||||
alien_defs[CD_URANUSBOSSWING2].collectValue = 250;
|
alien_defs[CD_URANUSBOSSWING2].collectValue = 250;
|
||||||
|
alien_defs[CD_URANUSBOSSWING2].collectTypeOriginal = P_ANYTHING;
|
||||||
|
alien_defs[CD_URANUSBOSSWING2].collectValueOriginal = 250;
|
||||||
|
alien_defs[CD_URANUSBOSSWING2].score = 500;
|
||||||
alien_defs[CD_URANUSBOSSWING2].flags = FL_WEAPCO | FL_IMMORTAL | FL_DAMAGEOWNER;
|
alien_defs[CD_URANUSBOSSWING2].flags = FL_WEAPCO | FL_IMMORTAL | FL_DAMAGEOWNER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1760,6 +1874,7 @@ Fill in later...
|
||||||
void alien_destroy(Object *alien, Object *attacker)
|
void alien_destroy(Object *alien, Object *attacker)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
int collect_type, collect_value, value;
|
||||||
|
|
||||||
audio_playSound(SFX_EXPLOSION, alien->x, alien->y);
|
audio_playSound(SFX_EXPLOSION, alien->x, alien->y);
|
||||||
|
|
||||||
|
@ -1785,6 +1900,15 @@ void alien_destroy(Object *alien, Object *attacker)
|
||||||
if (attacker == &player)
|
if (attacker == &player)
|
||||||
{
|
{
|
||||||
game.totalKills++;
|
game.totalKills++;
|
||||||
|
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
||||||
|
{
|
||||||
|
if (game.area != MISN_INTERCEPTION)
|
||||||
|
{
|
||||||
|
game.cash += alien->score;
|
||||||
|
game.cashEarned += alien->score;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (CHANCE(1 / 16.) && (alien->flags & FL_WEAPCO) &&
|
if (CHANCE(1 / 16.) && (alien->flags & FL_WEAPCO) &&
|
||||||
(!(alien->flags & FL_NOBANTER)))
|
(!(alien->flags & FL_NOBANTER)))
|
||||||
{
|
{
|
||||||
|
@ -1823,18 +1947,27 @@ void alien_destroy(Object *alien, Object *attacker)
|
||||||
|
|
||||||
if (CHANCE(alien->collectChance / 100.))
|
if (CHANCE(alien->collectChance / 100.))
|
||||||
{
|
{
|
||||||
int value;
|
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
||||||
|
{
|
||||||
|
collect_type = alien->collectTypeOriginal;
|
||||||
|
collect_value = alien->collectValueOriginal;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
collect_type = alien->collectType;
|
||||||
|
collect_value = alien->collectValue;
|
||||||
|
}
|
||||||
|
|
||||||
if (CHANCE(1 / 10.))
|
if (CHANCE(1 / 10.))
|
||||||
alien->collectValue *= 2;
|
collect_value *= 2;
|
||||||
|
|
||||||
while (alien->collectValue > 0)
|
while (collect_value > 0)
|
||||||
{
|
{
|
||||||
value = RANDRANGE(10, 100);
|
value = RANDRANGE(10, 100);
|
||||||
if (value > alien->collectValue)
|
if (value > collect_value)
|
||||||
value = alien->collectValue;
|
value = collect_value;
|
||||||
collectable_add(alien->x, alien->y, alien->collectType, value, MAX(600, 2 * alien->collectValue));
|
collectable_add(alien->x, alien->y, collect_type, value, MAX(600, 2 * collect_value));
|
||||||
alien->collectValue -= value;
|
collect_value -= value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define Y_VIEW_BORDER 100
|
#define Y_VIEW_BORDER 100
|
||||||
#define CAMERA_MAX_SPEED 3.
|
#define CAMERA_MAX_SPEED 3.
|
||||||
#define MAX_HOMING 20
|
#define MAX_HOMING 20
|
||||||
#define MAX_DOUBLE_HOMING 15
|
#define MAX_DOUBLE_HOMING (game.difficulty != DIFFICULTY_ORIGINAL ? 15 : 10)
|
||||||
#define MAX_MICRO_HOMING 10
|
#define MAX_MICRO_HOMING 10
|
||||||
#define RAY_DAMAGE_DELAY 10
|
#define RAY_DAMAGE_DELAY 10
|
||||||
|
|
||||||
|
|
|
@ -339,9 +339,6 @@ static void game_doCollectables()
|
||||||
switch(collectable->type)
|
switch(collectable->type)
|
||||||
{
|
{
|
||||||
case P_CASH:
|
case P_CASH:
|
||||||
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
|
||||||
collectable->value = collectable->value * 3 / 2;
|
|
||||||
|
|
||||||
game.cash += collectable->value;
|
game.cash += collectable->value;
|
||||||
game.cashEarned += collectable->value;
|
game.cashEarned += collectable->value;
|
||||||
sprintf(temp, "Got $%d ", collectable->value);
|
sprintf(temp, "Got $%d ", collectable->value);
|
||||||
|
|
10
src/shop.cpp
10
src/shop.cpp
|
@ -125,7 +125,11 @@ static void adjustShopPrices()
|
||||||
shopItems[SHOP_PLASMA_MIN_RATE].price += shopItems[SHOP_PLASMA_MAX_RATE].price;
|
shopItems[SHOP_PLASMA_MIN_RATE].price += shopItems[SHOP_PLASMA_MAX_RATE].price;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
||||||
|
shopItems[SHOP_PLASMA_MAX_AMMO].price = (5 * game.maxPlasmaAmmo);
|
||||||
|
else
|
||||||
shopItems[SHOP_PLASMA_MAX_AMMO].price = (10 * (game.maxPlasmaAmmo - 75));
|
shopItems[SHOP_PLASMA_MAX_AMMO].price = (10 * (game.maxPlasmaAmmo - 75));
|
||||||
|
|
||||||
shopItems[SHOP_ROCKET_MAX_AMMO].price = (25 * game.maxRocketAmmo);
|
shopItems[SHOP_ROCKET_MAX_AMMO].price = (25 * game.maxRocketAmmo);
|
||||||
|
|
||||||
if (game.maxPlasmaOutput >= game.maxPlasmaOutputLimit)
|
if (game.maxPlasmaOutput >= game.maxPlasmaOutputLimit)
|
||||||
|
@ -664,6 +668,9 @@ static void buy(int i)
|
||||||
shopSelectedItem = -3;
|
shopSelectedItem = -3;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
||||||
|
game.maxPlasmaAmmo += 10;
|
||||||
|
else
|
||||||
game.maxPlasmaAmmo += 25;
|
game.maxPlasmaAmmo += 25;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -938,6 +945,9 @@ static void sell(int i)
|
||||||
shopSelectedItem = -1;
|
shopSelectedItem = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (game.difficulty == DIFFICULTY_ORIGINAL)
|
||||||
|
game.maxPlasmaAmmo -= 10;
|
||||||
|
else
|
||||||
game.maxPlasmaAmmo -= 25;
|
game.maxPlasmaAmmo -= 25;
|
||||||
|
|
||||||
while (player.ammo[0] > game.maxPlasmaAmmo)
|
while (player.ammo[0] > game.maxPlasmaAmmo)
|
||||||
|
|
|
@ -62,6 +62,10 @@ typedef struct Object_ {
|
||||||
int collectType; // What the Object is carrying
|
int collectType; // What the Object is carrying
|
||||||
int collectValue; // What it is worth
|
int collectValue; // What it is worth
|
||||||
|
|
||||||
|
int collectTypeOriginal; // collectType in Classic difficulty
|
||||||
|
int collectValueOriginal; // collectValue in Classic difficulty
|
||||||
|
int score; // Classic difficulty only; money earned by killing
|
||||||
|
|
||||||
unsigned long int flags; // Various flags for an Object
|
unsigned long int flags; // Various flags for an Object
|
||||||
|
|
||||||
float x, y, dx, dy;
|
float x, y, dx, dy;
|
||||||
|
|
Loading…
Reference in New Issue