]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
No longer send the maximum number of rockets as a stat, but use the same system as...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 11 Apr 2011 12:35:14 +0000 (15:35 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 11 Apr 2011 12:35:14 +0000 (15:35 +0300)
balanceXonotic.cfg
qcsrc/client/Defs.qc
qcsrc/client/Main.qc
qcsrc/client/View.qc
qcsrc/common/constants.qh
qcsrc/server/cl_client.qc
qcsrc/server/defs.qh
qcsrc/server/g_world.qc
qcsrc/server/w_hagar.qc

index b55feab3cc4ae45439096edf54c070fb656c74d9..3619ab67706f822525f122428008a31123ec1d08 100644 (file)
@@ -549,7 +549,7 @@ set g_balance_hagar_secondary_spread 0.15
 set g_balance_hagar_secondary_speed 1800
 set g_balance_hagar_secondary_lifetime_min 5
 set g_balance_hagar_secondary_lifetime_rand 0
-set g_balance_hagar_secondary_refire 0.12
+set g_balance_hagar_secondary_refire 0.6
 set g_balance_hagar_secondary_ammo 1
 set g_balance_hagar_reload_ammo 0 //default: 25
 set g_balance_hagar_reload_time 2
index b3b0569489d992798c0ea9355f3a7a5296730968..666fd8823e1eec2930fec848188efd9deb85ece0 100644 (file)
@@ -263,6 +263,8 @@ float nex_scope;
 
 float minelayer_maxmines;
 
+float hagar_maxrockets;
+
 float bgmtime;
 
 string weaponorder_byimpulse;
index 91ce464793bcbc0f33879a90222c2934165fdb3a..6bd440268d569f1073fada17e6f00ba2d5dc4477 100644 (file)
@@ -1099,6 +1099,8 @@ void Ent_Init()
 
        minelayer_maxmines = ReadByte();
 
+       hagar_maxrockets = ReadByte();
+
        g_trueaim_minrange = ReadCoord();
 
        if(!postinit)
index 059fd0f4e48fb3a2391da2e016f8e07e53b0655b..6e2813a2cf53c615f26a0eb8671a5863b8fa3479 100644 (file)
@@ -1125,7 +1125,7 @@ void CSQC_UpdateView(float w, float h)
                                }
                                else if (activeweapon == WEP_HAGAR && getstati(STAT_HAGAR_LOAD) && autocvar_crosshair_ring_hagar)
                                {
-                                       ring_value = bound(0, getstati(STAT_HAGAR_LOAD) / getstati(STAT_HAGAR_MAXLOAD), 1);
+                                       ring_value = bound(0, getstati(STAT_HAGAR_LOAD) / hagar_maxrockets, 1);
                                        ring_alpha = autocvar_crosshair_ring_hagar_alpha;
                                        ring_rgb = wcross_color;
                                        ring_image = "gfx/crosshair_ring.tga";
index 22fa7c26297673be98c67aa1fef9aa384a718277..18cf2f673cabf01aa8aa63bd650a1b53308fdd19 100644 (file)
@@ -63,6 +63,7 @@ const float TE_CSQC_NOTIFY = 112;
 const float TE_CSQC_WEAPONCOMPLAIN = 113;
 const float TE_CSQC_NEX_SCOPE = 116;
 const float TE_CSQC_MINELAYER_MAXMINES = 117;
+const float TE_CSQC_HAGAR_MAXROCKETS = 118;
 
 const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
 const float RACE_NET_CHECKPOINT_CLEAR = 1;
@@ -318,7 +319,6 @@ const float STAT_HIT_TIME = 54;
 const float STAT_TYPEHIT_TIME = 55;
 const float STAT_LAYED_MINES = 56;
 const float STAT_HAGAR_LOAD = 57;
-const float STAT_HAGAR_MAXLOAD = 58;
 
 // see DP source, quakedef.h
 const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222;
index 48c2d43e77962474ade43527b8e720eddfb5343f..5fe137f19e64bf47cdb95a7b1e476188fb6b865b 100644 (file)
@@ -1121,6 +1121,7 @@ float ClientInit_SendEntity(entity to, float sf)
        WriteByte(MSG_ENTITY, autocvar_g_balance_sniperrifle_secondary); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, serverflags); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, autocvar_g_balance_minelayer_limit); // minelayer max mines
+       WriteByte(MSG_ENTITY, autocvar_g_balance_hagar_secondary_load_maxload); // hagar max loadable rockets
        WriteCoord(MSG_ENTITY, autocvar_g_trueaim_minrange);
        return TRUE;
 }
@@ -2370,7 +2371,6 @@ void SpectateCopy(entity spectatee) {
        self.nex_charge = spectatee.nex_charge;
        self.nex_chargepool_ammo = spectatee.nex_chargepool_ammo;
        self.hagar_load = spectatee.hagar_load;
-       self.hagar_maxload = spectatee.hagar_maxload;
        self.minelayer_mines = spectatee.minelayer_mines;
        self.punchangle = spectatee.punchangle;
        self.view_ofs = spectatee.view_ofs;
index 27b908a586fe78d20dc5fcf8a3254f7a7d949662..34d77350456e926e19c749a8695e57625f954ad3 100644 (file)
@@ -659,7 +659,6 @@ string deathmessage;
 .float nex_chargepool_ammo;
 
 .float hagar_load;
-.float hagar_maxload;
 
 float allowed_to_spawn; // boolean variable used by the clan arena code to determine if a player can spawn (after the round has ended)
 
index c83ddd82112984904d8312fa1ed6b691234be77c..960caaeffee5a6382315882cc514916cef2dae3d 100644 (file)
@@ -834,7 +834,6 @@ void spawnfunc_worldspawn (void)
        addstat(STAT_NEX_CHARGEPOOL, AS_FLOAT, nex_chargepool_ammo);
 
        addstat(STAT_HAGAR_LOAD, AS_FLOAT, hagar_load);
-       addstat(STAT_HAGAR_MAXLOAD, AS_FLOAT, hagar_maxload);
 
        if(g_ca || g_freezetag)
        {
index 8e05bb5bf130e478503d718a36a545ccb162011a..3afc07165d2212ac6cdcb323c399502255ea4a0a 100644 (file)
@@ -266,8 +266,6 @@ float w_hagar(float req)
        {
                weapon_setup(WEP_HAGAR);
                self.current_ammo = ammo_rockets;
-               if(self.hagar_maxload != autocvar_g_balance_hagar_secondary_load_maxload)
-                       self.hagar_maxload = autocvar_g_balance_hagar_secondary_load_maxload;
        }
        else if (req == WR_CHECKAMMO1)
        {