[Change] Tweaked faction gain.

This commit is contained in:
Allanis 2014-03-07 20:38:48 +00:00
parent 747dd070b7
commit 88f339845c
2 changed files with 15 additions and 4 deletions

View File

@ -156,6 +156,7 @@ static void faction_sanitizePlayer(Faction* faction) {
void faction_modPlayer(int f, double mod) {
int i;
Faction* faction, *ally, *enemy;
double m;
if(!faction_isFaction(f)) {
WARN("%d is an invalid faction.", f);
@ -172,7 +173,12 @@ void faction_modPlayer(int f, double mod) {
for(i = 0; i < faction->nallies; i++) {
ally = &faction_stack[faction->allies[i]];
ally->player += RNGF() * (mod*3/4);
/* Enemies are made faster. */
m = RNGF();
if(mod > 0.)
m *= 3./4.;
ally->player += m;
faction_sanitizePlayer(ally);
}
@ -180,7 +186,12 @@ void faction_modPlayer(int f, double mod) {
for(i = 0; i < faction->nenemies; i++) {
enemy = &faction_stack[faction->enemies[i]];
enemy->player -= RNGF() * mod; /* Enemies are made faster. */
/* Enemies are made faster. */
m = RNGF();
if(mod < 0.)
m *= 3./4.;
enemy->player -= m;
faction_sanitizePlayer(enemy);
}
}

View File

@ -458,8 +458,8 @@ void pilot_hit(Pilot* p, const Solid* w, const unsigned int shooter,
/* Adjust the combat rating based on pilot mass and ditto faction. */
pshooter = pilot_get(shooter);
if(pshooter->faction == FACTION_PLAYER) {
mod = pow(p->ship->mass, 1./3.);
player_crating += 2*mod;
mod = sqrt(p->ship->mass) / 5;
player_crating += 2*mod; /* Crating chanes faster. */
faction_modPlayer(p->faction, -mod);
}
}