]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote-tracking branch 'origin/samual/spawn_weapons' into samual/weapons
authorSamual Lenks <samual@xonotic.org>
Mon, 10 Jun 2013 01:56:24 +0000 (21:56 -0400)
committerSamual Lenks <samual@xonotic.org>
Mon, 10 Jun 2013 01:56:24 +0000 (21:56 -0400)
Conflicts:
balanceXPM.cfg
balanceXonotic.cfg
qcsrc/client/Defs.qc
qcsrc/client/Main.qc
qcsrc/client/hook.qc
qcsrc/common/constants.qh
qcsrc/server/autocvars.qh
qcsrc/server/cl_client.qc
qcsrc/server/progs.src

13 files changed:
1  2 
balance25.cfg
balanceFruitieX.cfg
balanceXPM.cfg
balanceXonotic.cfg
qcsrc/client/Defs.qc
qcsrc/client/Main.qc
qcsrc/client/hook.qc
qcsrc/common/constants.qh
qcsrc/server/autocvars.qh
qcsrc/server/cl_client.qc
qcsrc/server/g_world.qc
qcsrc/server/progs.src
qcsrc/server/w_electro.qc

diff --cc balance25.cfg
Simple merge
Simple merge
diff --cc balanceXPM.cfg
index e952b59d1ded19f61f7e96d43b1f1d9ff6ff57c9,daaa0a47736735ced650d0e4c25589121f937d58..f0f1164484386641c37e72b0190a218219595e8d
@@@ -238,11 -253,11 +253,11 @@@ set g_balance_laser_primary_animtime 0.
  set g_balance_laser_primary_lifetime 5
  set g_balance_laser_primary_shotangle 0
  set g_balance_laser_primary_delay 0
- set g_balance_laser_primary_gauntlet 0
 -set g_balance_laser_primary_force_zscale 1.25
 +set g_balance_laser_primary_force_zscale 1.2
  set g_balance_laser_primary_force_velocitybias 0
  set g_balance_laser_primary_force_other_scale 1
- set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
+ set g_balance_laser_secondary 2 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = melee secondary
  set g_balance_laser_secondary_damage 25
  set g_balance_laser_secondary_edgedamage 12.5
  set g_balance_laser_secondary_force 400
index 60a746c17304b9a11794aadb7d0c966bc38958b0,f1b2426d716dec6816ad7aa3f4aee115b4635adf..a3ef4810e5c681ef7eade8efdc863946a388dd6b
@@@ -238,11 -253,11 +253,11 @@@ set g_balance_laser_primary_animtime 0.
  set g_balance_laser_primary_lifetime 5
  set g_balance_laser_primary_shotangle 0
  set g_balance_laser_primary_delay 0
- set g_balance_laser_primary_gauntlet 0
 -set g_balance_laser_primary_force_zscale 1.25
 +set g_balance_laser_primary_force_zscale 1.2
  set g_balance_laser_primary_force_velocitybias 0
  set g_balance_laser_primary_force_other_scale 1
- set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
+ set g_balance_laser_secondary 2 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = melee secondary
  set g_balance_laser_secondary_damage 25
  set g_balance_laser_secondary_edgedamage 12.5
  set g_balance_laser_secondary_force 400
index 8f1317827461092f7c1ae28975f798c462151803,83a99fc6ed38531897ab55525eeae3c5a3be2650..4a206e55f4d6aee3496c4e55903e30a7b28e96a8
@@@ -224,8 -224,6 +224,8 @@@ float tempdb
  float ClientProgsDB;
  vector hook_shotorigin[4];
  vector electro_shotorigin[4];
- vector gauntlet_shotorigin[4];
 +vector lightning_shotorigin[4];
++
  
  #ifdef BLURTEST
  float blurtest_time0, blurtest_time1, blurtest_radius, blurtest_power;
index d7130197e6e979e58843300f06a29f0b3ed79231,310387b68f13fb48af2d9d5f254e1e27ea4e9f56..c1ad208d3e38de5935d69e34f090f880fe7fdc3d
@@@ -875,9 -875,7 +875,8 @@@ void CSQC_Ent_Update(float bIsNewEntity
                case ENT_CLIENT_WARPZONE_TELEPORTED: WarpZone_Teleported_Read(bIsNewEntity); break;
                case ENT_CLIENT_TRIGGER_MUSIC: Ent_ReadTriggerMusic(); break;
                case ENT_CLIENT_HOOK: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_HOOK); break;
 -              case ENT_CLIENT_LGBEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LGBEAM); break;
 +              case ENT_CLIENT_ELECTRO_BEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_ELECTRO_BEAM); break;
 +              case ENT_CLIENT_LIGHTNING_BEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LIGHTNING_BEAM); break;
-               case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
                case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break;
                case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
                case ENT_CLIENT_TURRET: ent_turret(); break; 
@@@ -1017,14 -1015,6 +1016,10 @@@ void Ent_Init(
        electro_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
        electro_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
        electro_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
-       gauntlet_shotorigin[0] = decompressShotOrigin(ReadInt24_t());
-       gauntlet_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
-       gauntlet_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
-       gauntlet_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
 +      lightning_shotorigin[0] = decompressShotOrigin(ReadInt24_t());
 +      lightning_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
 +      lightning_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
 +      lightning_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
  
        if(forcefog)
                strunzone(forcefog);
index a228d22b82df8175f7d431425a923547c32fec69,c3a45ab5c63322c0667f0616dc8f286f00f3f6f1..75a15834d78bc1c5b6fcdaac8aaaf3fb9635597d
@@@ -75,15 -75,9 +75,12 @@@ void Draw_GrapplingHook(
                case ENT_CLIENT_HOOK:
                        vs = hook_shotorigin[s];
                        break;
 -              case ENT_CLIENT_LGBEAM:
 +              case ENT_CLIENT_ELECTRO_BEAM:
                        vs = electro_shotorigin[s];
                        break;
-               case ENT_CLIENT_GAUNTLET:
-                       vs = gauntlet_shotorigin[s];
-                       break;
 +              case ENT_CLIENT_LIGHTNING_BEAM:
 +                      vs = lightning_shotorigin[s];
 +                      break;
        }
  
        if((self.owner.sv_entnum == player_localentnum - 1))
@@@ -95,9 -89,7 +92,8 @@@
                                a = view_origin + view_forward * vs_x + view_right * -vs_y + view_up * vs_z;
                                b = self.origin;
                                break;
 -                      case ENT_CLIENT_LGBEAM:
 +                      case ENT_CLIENT_ELECTRO_BEAM:
 +                      case ENT_CLIENT_LIGHTNING_BEAM:
-                       case ENT_CLIENT_GAUNTLET:
                                if(self.HookRange)
                                        b = view_origin + view_forward * self.HookRange;
                                else
                                a = self.velocity;
                                b = self.origin;
                                break;
 -                      case ENT_CLIENT_LGBEAM:
 +                      case ENT_CLIENT_ELECTRO_BEAM:
 +                      case ENT_CLIENT_LIGHTNING_BEAM:
-                       case ENT_CLIENT_GAUNTLET:
                                a = self.origin;
                                b = self.velocity;
                                break;
                                self.drawmask = 0;
                        }
                        break;
 -              case ENT_CLIENT_LGBEAM:
 +              case ENT_CLIENT_ELECTRO_BEAM:
 +              case ENT_CLIENT_LIGHTNING_BEAM:
-               case ENT_CLIENT_GAUNTLET:
                        setorigin(self, a); // beam origin!
                        break;
        }
                default:
                case ENT_CLIENT_HOOK:
                        break;
 -              case ENT_CLIENT_LGBEAM:
 -                      pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity);
 +              case ENT_CLIENT_ELECTRO_BEAM:
 +                      pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity); // todo: new effect
 +                      break;
 +              case ENT_CLIENT_LIGHTNING_BEAM:
 +                      pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity); // todo: new effect
                        break;
-               case ENT_CLIENT_GAUNTLET:
-                       pointparticles(particleeffectnum("gauntlet_lightning"), b, normalize(a - b), frametime * intensity);
-                       break;
        }
  }
  
@@@ -252,11 -222,9 +237,10 @@@ void Ent_ReadHook(float bIsNew, float t
                {
                        default:
                        case ENT_CLIENT_HOOK:
-                       case ENT_CLIENT_GAUNTLET:
                                self.HookRange = 0;
                                break;
 -                      case ENT_CLIENT_LGBEAM:
 +                      case ENT_CLIENT_ELECTRO_BEAM:
 +                      case ENT_CLIENT_LIGHTNING_BEAM:
                                self.HookRange = ReadCoord();
                                break;
                }
                                setmodel(self, "models/hook.md3");
                                self.drawmask = MASK_NORMAL;
                                break;
 -                      case ENT_CLIENT_LGBEAM:
 +                      case ENT_CLIENT_ELECTRO_BEAM:
 +                              sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
 +                              break;
 +                      case ENT_CLIENT_LIGHTNING_BEAM:
                                sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
-                       case ENT_CLIENT_GAUNTLET:
-                               sound (self, CH_SHOTS_SINGLE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM);
-                               break;
                }
        }
  
index 6e3e8027dc33f86d01f17f1c049538fa7cd3e3c6,2ff27d7435e62a60eb5eb196e50f9b3a79483de0..3a410b793910d9e111c74276543ced1ebadbf9e4
@@@ -86,18 -87,17 +87,17 @@@ const float ENT_CLIENT_WARPZONE = 24
  const float ENT_CLIENT_WARPZONE_CAMERA = 25;
  const float ENT_CLIENT_TRIGGER_MUSIC = 26;
  const float ENT_CLIENT_HOOK = 27;
 -const float ENT_CLIENT_LGBEAM = 28;
 -const float ENT_CLIENT_ACCURACY = 29;
 -const float ENT_CLIENT_SHOWNAMES = 30;
 -const float ENT_CLIENT_WARPZONE_TELEPORTED = 31;
 -const float ENT_CLIENT_MODEL = 32;
 -const float ENT_CLIENT_ITEM = 33;
 -const float ENT_CLIENT_BUMBLE_RAYGUN = 34;
 -const float ENT_CLIENT_SPAWNPOINT = 35;
 -const float ENT_CLIENT_SPAWNEVENT = 36;
 -const float ENT_CLIENT_NOTIFICATION = 37;
 -
 +const float ENT_CLIENT_ELECTRO_BEAM = 28;
 +const float ENT_CLIENT_LIGHTNING_BEAM = 29;
- const float ENT_CLIENT_GAUNTLET = 30;
- const float ENT_CLIENT_ACCURACY = 31;
- const float ENT_CLIENT_SHOWNAMES = 32;
- const float ENT_CLIENT_WARPZONE_TELEPORTED = 33;
- const float ENT_CLIENT_MODEL = 34;
- const float ENT_CLIENT_ITEM = 35;
- const float ENT_CLIENT_BUMBLE_RAYGUN = 36;
- const float ENT_CLIENT_SPAWNPOINT = 37;
- const float ENT_CLIENT_SPAWNEVENT = 38;
- const float ENT_CLIENT_NOTIFICATION = 39;
++const float ENT_CLIENT_ACCURACY = 30;
++const float ENT_CLIENT_SHOWNAMES = 31;
++const float ENT_CLIENT_WARPZONE_TELEPORTED = 32;
++const float ENT_CLIENT_MODEL = 33;
++const float ENT_CLIENT_ITEM = 34;
++const float ENT_CLIENT_BUMBLE_RAYGUN = 35;
++const float ENT_CLIENT_SPAWNPOINT = 36;
++const float ENT_CLIENT_SPAWNEVENT = 37;
++const float ENT_CLIENT_NOTIFICATION = 38;
  
  const float ENT_CLIENT_TURRET = 40;
  const float ENT_CLIENT_AUXILIARYXHAIR = 50;
index bc6a80fafae97f9d094a8af7289838b68b1e27ff,2ae7230128361cbd578d97235a1d6fbc25197955..7e6e6ef460c1c940d73d005bb4bb052cb2b816e7
@@@ -433,41 -450,41 +450,68 @@@ float autocvar_g_balance_laser_secondar
  float autocvar_g_balance_laser_secondary_damage;
  float autocvar_g_balance_laser_secondary_edgedamage;
  float autocvar_g_balance_laser_secondary_force;
- float autocvar_g_balance_laser_secondary_force_other_scale;
- float autocvar_g_balance_laser_secondary_force_velocitybias;
- float autocvar_g_balance_laser_secondary_force_zscale;
//float autocvar_g_balance_laser_secondary_force_other_scale;
//float autocvar_g_balance_laser_secondary_force_velocitybias;
//float autocvar_g_balance_laser_secondary_force_zscale;
  float autocvar_g_balance_laser_secondary_lifetime;
  float autocvar_g_balance_laser_secondary_radius;
- float autocvar_g_balance_laser_secondary_speed;
- float autocvar_g_balance_laser_reload_ammo;
- float autocvar_g_balance_laser_reload_time;
+ float autocvar_g_balance_laser_secondary_refire;
+ //float autocvar_g_balance_laser_secondary_speed;
+ float autocvar_g_balance_laser_shockwave_damage;
+ float autocvar_g_balance_laser_shockwave_distance;
+ float autocvar_g_balance_laser_shockwave_edgedamage;
+ float autocvar_g_balance_laser_shockwave_force;
+ float autocvar_g_balance_laser_shockwave_force_forwardbias;
+ float autocvar_g_balance_laser_shockwave_force_zscale;
+ float autocvar_g_balance_laser_shockwave_jump_damage;
+ float autocvar_g_balance_laser_shockwave_jump_edgedamage;
+ float autocvar_g_balance_laser_shockwave_jump_force;
+ float autocvar_g_balance_laser_shockwave_jump_force_velocitybias;
+ float autocvar_g_balance_laser_shockwave_jump_force_zscale;
+ float autocvar_g_balance_laser_shockwave_jump_multiplier_accuracy;
+ float autocvar_g_balance_laser_shockwave_jump_multiplier_distance;
+ float autocvar_g_balance_laser_shockwave_jump_multiplier_min;
+ float autocvar_g_balance_laser_shockwave_jump_radius;
+ float autocvar_g_balance_laser_shockwave_multiplier_accuracy;
+ float autocvar_g_balance_laser_shockwave_multiplier_distance;
+ float autocvar_g_balance_laser_shockwave_multiplier_min;
+ float autocvar_g_balance_laser_shockwave_splash_damage;
+ float autocvar_g_balance_laser_shockwave_splash_edgedamage;
+ float autocvar_g_balance_laser_shockwave_splash_force;
+ float autocvar_g_balance_laser_shockwave_splash_force_forwardbias;
+ float autocvar_g_balance_laser_shockwave_splash_multiplier_accuracy;
+ float autocvar_g_balance_laser_shockwave_splash_multiplier_distance;
+ float autocvar_g_balance_laser_shockwave_splash_multiplier_min;
+ float autocvar_g_balance_laser_shockwave_splash_radius;
+ float autocvar_g_balance_laser_shockwave_spread_max;
+ float autocvar_g_balance_laser_shockwave_spread_min;
 +float autocvar_g_balance_lightning_primary_ammo;
 +float autocvar_g_balance_lightning_primary_animtime;
 +float autocvar_g_balance_lightning_primary_damage;
 +float autocvar_g_balance_lightning_primary_edgedamage;
 +float autocvar_g_balance_lightning_primary_falloff_halflifedist;
 +float autocvar_g_balance_lightning_primary_falloff_maxdist;
 +float autocvar_g_balance_lightning_primary_falloff_mindist;
 +float autocvar_g_balance_lightning_primary_force;
 +float autocvar_g_balance_lightning_primary_lifetime;
 +float autocvar_g_balance_lightning_primary_radius;
 +float autocvar_g_balance_lightning_primary_range;
 +float autocvar_g_balance_lightning_primary_refire;
 +float autocvar_g_balance_lightning_primary_speed;
 +float autocvar_g_balance_lightning_secondary_ammo;
 +float autocvar_g_balance_lightning_secondary_animtime;
 +float autocvar_g_balance_lightning_secondary_damage;
 +float autocvar_g_balance_lightning_secondary_damageforcescale;
 +float autocvar_g_balance_lightning_secondary_edgedamage;
 +float autocvar_g_balance_lightning_secondary_flyingdamage;
 +float autocvar_g_balance_lightning_secondary_flyingforce;
 +float autocvar_g_balance_lightning_secondary_flyingradius;
 +float autocvar_g_balance_lightning_secondary_force;
 +float autocvar_g_balance_lightning_secondary_health;
 +float autocvar_g_balance_lightning_secondary_lifetime;
 +float autocvar_g_balance_lightning_secondary_radius;
 +float autocvar_g_balance_lightning_secondary_refire;
 +float autocvar_g_balance_lightning_secondary_speed;
  float autocvar_g_balance_minelayer_ammo;
  float autocvar_g_balance_minelayer_animtime;
  float autocvar_g_balance_minelayer_damage;
index 2908958405e291da418a95a4e739906509171169,feff34dabe5bc2e2ee24333a65002210198754bd..dd7a4d37e38a3196cb56ec2b4fed3671b1eb2ffd
@@@ -620,14 -620,7 +620,11 @@@ float ClientInit_SendEntity(entity to, 
        WriteInt24_t(MSG_ENTITY, compressShotOrigin(electro_shotorigin[1]));
        WriteInt24_t(MSG_ENTITY, compressShotOrigin(electro_shotorigin[2]));
        WriteInt24_t(MSG_ENTITY, compressShotOrigin(electro_shotorigin[3]));
-       WriteInt24_t(MSG_ENTITY, compressShotOrigin(gauntlet_shotorigin[0]));
-       WriteInt24_t(MSG_ENTITY, compressShotOrigin(gauntlet_shotorigin[1]));
-       WriteInt24_t(MSG_ENTITY, compressShotOrigin(gauntlet_shotorigin[2]));
-       WriteInt24_t(MSG_ENTITY, compressShotOrigin(gauntlet_shotorigin[3]));
 +      WriteInt24_t(MSG_ENTITY, compressShotOrigin(lightning_shotorigin[0]));
 +      WriteInt24_t(MSG_ENTITY, compressShotOrigin(lightning_shotorigin[1]));
 +      WriteInt24_t(MSG_ENTITY, compressShotOrigin(lightning_shotorigin[2]));
 +      WriteInt24_t(MSG_ENTITY, compressShotOrigin(lightning_shotorigin[3]));
        if(sv_foginterval && world.fog != "")
                WriteString(MSG_ENTITY, world.fog);
        else
index 9e7fa78a565c89c437f9811c34950f78392585b3,bd6b83ffa977c5833cb48ea68a064e0b931629a3..ffc8cdb8b0c85d77118ade3009fee1a3b0d98bbe
@@@ -654,9 -654,7 +654,8 @@@ void spawnfunc_worldspawn (void
        InitGameplayMode();
        readlevelcvars();
        GrappleHookInit();
 +      LightningInit();
        ElectroInit();
-       LaserInit();
  
        player_count = 0;
        bot_waypoints_for_items = autocvar_g_waypoints_for_items;
index 5ebd833f8f1d8d311756762ddc60b4064aedd63f,0aefa499704d82b16648320385facc4a3042104e..5b9c5917cb136f5445d2893a79ec355406b193ae
@@@ -77,8 -77,6 +77,7 @@@ portals.q
  
  g_hook.qh
  w_electro.qh
- w_laser.qh
 +w_lightning.qh
  
  scores.qh
  
Simple merge