set g_balance_falldamage_factor 0.20
set g_balance_falldamage_maxdamage 40
set g_balance_damagepush_speedfactor 2.5
-set g_balance_contents_damagerate 5
-set g_balance_contents_playerdamage_drowning 5
-set g_balance_contents_playerdamage_lava 10
-set g_balance_contents_playerdamage_slime 5
-set g_balance_contents_projectiledamage 15
+set g_balance_contents_damagerate 10
+set g_balance_contents_playerdamage_drowning 20
+set g_balance_contents_playerdamage_lava 50
+set g_balance_contents_playerdamage_slime 30
+set g_balance_contents_projectiledamage 40
// }}}
// {{{ powerups
// {{{ uzi
set g_balance_uzi_mode 1 // Activates varible spread for sustained & burst mode secondary
set g_balance_uzi_spread_min 0.02
-set g_balance_uzi_spread_max 0.06
+set g_balance_uzi_spread_max 0.05
set g_balance_uzi_spread_add 0.012
set g_balance_uzi_burst 3 // # of bullets in a burst (if set to 2 or more)
set g_balance_uzi_burst_animtime 0.3
set g_balance_uzi_burst_refire 0.06 // refire between burst bullets
set g_balance_uzi_burst_refire2 0.45 // refire after burst
-set g_balance_uzi_burst_spread 0.03
+set g_balance_uzi_burst_spread 0.02
set g_balance_uzi_burst_damage 25
set g_balance_uzi_burst_force 20
set g_balance_uzi_burst_ammo 3
set g_balance_uzi_first_damage 14
set g_balance_uzi_first_force 5
set g_balance_uzi_first_spread 0.03
-set g_balance_uzi_first_refire 0.4
+set g_balance_uzi_first_refire 0.2
set g_balance_uzi_first_ammo 1
set g_balance_uzi_sustained_damage 12
set g_balance_uzi_sustained_force 5
-set g_balance_uzi_sustained_spread 0.04
+set g_balance_uzi_sustained_spread 0.03
set g_balance_uzi_sustained_refire 0.1
set g_balance_uzi_sustained_ammo 1
set g_balance_hagar_primary_damage 25
set g_balance_hagar_primary_edgedamage 12.5
set g_balance_hagar_primary_force 50
-set g_balance_hagar_primary_health 5
+set g_balance_hagar_primary_health 15
set g_balance_hagar_primary_damageforcescale 0
set g_balance_hagar_primary_radius 60
set g_balance_hagar_primary_spread 0.04
set g_balance_hagar_secondary_damage 40
set g_balance_hagar_secondary_edgedamage 20
set g_balance_hagar_secondary_force 50
-set g_balance_hagar_secondary_health 5
+set g_balance_hagar_secondary_health 15
set g_balance_hagar_secondary_damageforcescale 0
set g_balance_hagar_secondary_radius 80
set g_balance_hagar_secondary_spread 0.05
{
local entity oldself;
local float dm;
+
+ float damagerate; // where damagerate 5 means 5 hits per second (0.2 delay)
+ damagerate = (1 / bound(1, autocvar_g_balance_contents_damagerate, 100));
+
oldself = self;
for(self = world; (self = findfloat(self, damagedbycontents, TRUE)); )
{
{
self.flags |= FL_INWATER;
self.dmgtime = 0;
+ te_customflash(self.origin, 40, 2, '50 1 1');
}
if(!vehic && !projectile) // vehicles and projectiles don't drown
if (!self.deadflag)
if (self.pain_finished < time)
{
- Damage (self, world, world, autocvar_g_balance_contents_playerdamage_drowning, DEATH_DROWN, self.origin, '0 0 0');
+ Damage (self, world, world, autocvar_g_balance_contents_playerdamage_drowning * damagerate, DEATH_DROWN, self.origin, '0 0 0');
self.pain_finished = time + 0.5;
}
}
if (self.dmgtime < time)
{
- self.dmgtime = time + (1 / min(1, autocvar_g_balance_contents_damagerate));
+ self.dmgtime = time + damagerate;
if (!projectile)
{
self.watersound_finished = time + 0.5;
sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
}
- Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+ Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
}
else if (self.watertype == CONTENT_SLIME)
{
self.watersound_finished = time + 0.5;
sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
}
- Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+ Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
}
}
else if ((self.watertype == CONTENT_LAVA) || (self.watertype == CONTENT_SLIME))
{
- Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+ Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
}
}
}