]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
More work on underwater effects and exploding projectiles in lava/slime (plus adjustm...
authorSamual <samual@xonotic.org>
Tue, 27 Sep 2011 06:21:18 +0000 (02:21 -0400)
committerSamual <samual@xonotic.org>
Tue, 27 Sep 2011 06:21:18 +0000 (02:21 -0400)
balanceXonotic.cfg
qcsrc/server/sv_main.qc

index 978f9165cb62a68c83574f21cd819cc5b73461f1..f1264915332890274739437a30cc3407835ff06c 100644 (file)
@@ -179,11 +179,11 @@ set g_balance_falldamage_minspeed 900
 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 
-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
@@ -282,14 +282,14 @@ set g_balance_shotgun_reload_time 2
 // {{{ 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
@@ -298,12 +298,12 @@ set g_balance_uzi_first 1
 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
 
@@ -542,7 +542,7 @@ set g_balance_minstanex_reload_time 2
 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
@@ -562,7 +562,7 @@ set g_balance_hagar_secondary_load_abort 1
 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
index 07da60c554cefb877fa3e5d5978ed0b597279b2e..96b3b867139347b5270e5fb53a31eb57b13d70ec 100644 (file)
@@ -3,6 +3,10 @@ void CreatureFrame (void)
 {
        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)); )
        {
@@ -17,6 +21,7 @@ void CreatureFrame (void)
                        {
                                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
@@ -33,7 +38,7 @@ void CreatureFrame (void)
                                        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;
                                        }
                                }
@@ -41,7 +46,7 @@ void CreatureFrame (void)
                        
                        if (self.dmgtime < time)
                        {
-                               self.dmgtime = time + (1 / min(1, autocvar_g_balance_contents_damagerate))
+                               self.dmgtime = time + damagerate
                                
                                if (!projectile)
                                {
@@ -52,7 +57,7 @@ void CreatureFrame (void)
                                                        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)
                                        {
@@ -61,12 +66,12 @@ void CreatureFrame (void)
                                                        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');
                                }
                        }
                }