[Change] Tweaked faction hits to be more useful.
This commit is contained in:
parent
03972e305a
commit
cd1565a6d5
@ -80,6 +80,7 @@ static void faction_sanitizePlayer(Faction* faction) {
|
|||||||
void faction_modPlayer(int f, int mod) {
|
void faction_modPlayer(int f, int mod) {
|
||||||
int i;
|
int i;
|
||||||
Faction* faction, *ally, *enemy;
|
Faction* faction, *ally, *enemy;
|
||||||
|
DEBUG("MOD: %d ALLY/ENEMY MOD: %d", mod, mod/2);
|
||||||
|
|
||||||
if(faction_isFaction(f)) {
|
if(faction_isFaction(f)) {
|
||||||
faction = &faction_stack[f];
|
faction = &faction_stack[f];
|
||||||
@ -92,7 +93,7 @@ void faction_modPlayer(int f, int mod) {
|
|||||||
for(i = 0; i < faction->nallies; i++) {
|
for(i = 0; i < faction->nallies; i++) {
|
||||||
ally = &faction_stack[faction->allies[i]];
|
ally = &faction_stack[faction->allies[i]];
|
||||||
|
|
||||||
ally->player += RNG(0, mod/2);
|
ally->player += RNG(0, (mod*3)/4);
|
||||||
faction_sanitizePlayer(ally);
|
faction_sanitizePlayer(ally);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +101,7 @@ void faction_modPlayer(int f, int mod) {
|
|||||||
for(i = 0; i < faction->nenemies; i++) {
|
for(i = 0; i < faction->nenemies; i++) {
|
||||||
enemy = &faction_stack[faction->enemies[i]];
|
enemy = &faction_stack[faction->enemies[i]];
|
||||||
|
|
||||||
enemy->player -= MIN(1, RNG(0, mod/2));
|
enemy->player -= MIN(1, RNG(0, (mod*3)/4));
|
||||||
faction_sanitizePlayer(enemy);
|
faction_sanitizePlayer(enemy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ void pilot_hit(Pilot* p, const Solid* w, const unsigned int shooter,
|
|||||||
pilot_dead(p);
|
pilot_dead(p);
|
||||||
/* Adjust the combat rating based on pilot mass and ditto faction. */
|
/* Adjust the combat rating based on pilot mass and ditto faction. */
|
||||||
if(shooter == PLAYER_ID) {
|
if(shooter == PLAYER_ID) {
|
||||||
mod = MIN(1, (int)sqrt(p->ship->mass/25.));
|
mod = (int)MAX(1, ceil(pow(p->ship->mass, 1./3.))-1.);
|
||||||
player_crating += MAX(1, mod);
|
player_crating += MAX(1, mod);
|
||||||
faction_modPlayer(p->faction, -mod);
|
faction_modPlayer(p->faction, -mod);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user