]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/monsters
authorMario <mario@smbclan.net>
Sun, 18 Jun 2017 06:01:03 +0000 (16:01 +1000)
committerMario <mario@smbclan.net>
Sun, 18 Jun 2017 06:01:03 +0000 (16:01 +1000)
# Conflicts:
# qcsrc/server/defs.qh

1  2 
qcsrc/common/constants.qh
qcsrc/common/triggers/func/breakable.qc
qcsrc/server/client.qc
qcsrc/server/defs.qh

index 91e823cf0171a48cdd4d2e35ac8519726f4fe5f5,98710d25b8d6f0e5ad9ff1141e9692f9ecd19a40..c377cfc48a707b05b91515483a58333869a72436
@@@ -212,7 -212,7 +212,7 @@@ const int PROJECTILE_BUMBLE_GUN = 30
  const int PROJECTILE_BUMBLE_BEAM = 31;
  
  const int PROJECTILE_MAGE_SPIKE = 32;
 -const int PROJECTILE_SHAMBLER_LIGHTNING = 33;
 +const int PROJECTILE_GOLEM_LIGHTNING = 33;
  
  const int PROJECTILE_ROCKETMINSTA_LASER = 34;
  
@@@ -251,11 -251,16 +251,16 @@@ const int SERVERFLAG_PLAYERSTATS = 4
  // FIXME/EXPLAINME: why? Mario: because
  vector autocvar_sv_player_maxs = '16 16 45';
  vector autocvar_sv_player_mins = '-16 -16 -24';
- vector autocvar_sv_player_viewoffset = '0 0 20';
+ vector autocvar_sv_player_viewoffset = '0 0 35';
  vector autocvar_sv_player_crouch_maxs = '16 16 25';
  vector autocvar_sv_player_crouch_mins = '-16 -16 -24';
  vector autocvar_sv_player_crouch_viewoffset = '0 0 20';
  //vector autocvar_sv_player_headsize = '24 24 12';
+ // temporary array used to dump weapon and turret settings
+ const int MAX_CONFIG_SETTINGS = 256;
+ string config_queue[MAX_CONFIG_SETTINGS];
  #endif
  
  
index 59a5fbc3c6061379c3584ee39ceca4758d0b7927,81a61019080174099569de31bfb87670605c3ea1..7ff48ef7ff47cb627574d0cfdb6b524c1361bd31
@@@ -339,7 -339,6 +339,7 @@@ spawnfunc(func_breakable
                this.takedamage = DAMAGE_NO;
                this.event_damage = func_null;
                this.bot_attack = false;
 +              this.monster_attack = false;
        }
  
        // precache all the models
                precache_sound(this.noise1);
  
        this.team_saved = this.team;
+       IL_PUSH(g_saved_team, this);
        this.dropped_origin = this.origin;
  
        this.reset = func_breakable_reset;
        this.reset(this);
  
 +      if(this.monster_attack)
 +              IL_PUSH(g_monster_targets, this);
 +
        IL_PUSH(g_initforplayer, this);
        this.init_for_player = func_breakable_init_for_player;
  
diff --combined qcsrc/server/client.qc
index 3c3a0550ca07e26238ced81da70634542adc1447,2ab3160ed7e951f390e402b4a480ed68e87e16be..381373ad2bcb713d93ccc4046efa6ac2341c14ed
@@@ -658,8 -658,6 +658,8 @@@ void PutClientInServer(entity this
                if(!this.bot_attack)
                        IL_PUSH(g_bot_targets, this);
                this.bot_attack = true;
 +              if(!this.monster_attack)
 +                      IL_PUSH(g_monster_targets, this);
                this.monster_attack = true;
                navigation_dynamicgoal_init(this, false);
  
@@@ -1043,6 -1041,9 +1043,9 @@@ void FixClientCvars(entity e
        if(autocvar_sv_gentle)
                stuffcmd(e, "cl_cmd settemp cl_gentle 1\n");
  
+       stuffcmd(e, sprintf("\ncl_jumpspeedcap_min \"%s\"\n", autocvar_sv_jumpspeedcap_min));
+       stuffcmd(e, sprintf("\ncl_jumpspeedcap_max \"%s\"\n", autocvar_sv_jumpspeedcap_max));
        MUTATOR_CALLHOOK(FixClientCvars, e);
  }
  
diff --combined qcsrc/server/defs.qh
index 9fc2c60591d35b2f63167fa454146570a6b55d17,ca7430de31eaaa17cfecdec04e6eef1c9ae2907e..7c0c572686a5d46fdbda5f24f0ed4c397438b3f7
@@@ -86,7 -86,7 +86,7 @@@ const float MAX_DAMAGEEXTRARADIUS = 16
  .float                dmg;
  
  // for railgun damage (hitting multiple enemies)
- .float railgunhit;
+ .bool railgunhit;
  .float railgunhitsolidbackup;
  .vector railgunhitloc;
  
@@@ -220,9 -220,9 +220,9 @@@ float TemporaryDB
  
  .float team_saved;
  
float some_spawn_has_been_used;
float have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found
float have_team_spawns_forteam[17]; // 0 = this team has no spawns, 1 = this team has spawns; team 0 is the "no-team"
bool some_spawn_has_been_used;
int have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found
int have_team_spawns_forteams; // if Xth bit is 1 then team X has spawns else it has no spawns; team 0 is the "no-team"
  
  // set when showing a kill countdown
  .entity killindicator;
@@@ -468,5 -468,14 +468,17 @@@ STATIC_INIT(g_bot_dodge) { g_bot_dodge 
  IntrusiveList g_damagedbycontents;
  STATIC_INIT(g_damagedbycontents) { g_damagedbycontents = IL_NEW(); }
  
 +IntrusiveList g_monster_targets;
 +STATIC_INIT(g_monster_targets) { g_monster_targets = IL_NEW(); }
++
+ IntrusiveList g_railgunhit;
+ STATIC_INIT(g_railgunhit) { g_railgunhit = IL_NEW(); }
+ IntrusiveList g_ladders;
+ STATIC_INIT(g_ladders) { g_ladders = IL_NEW(); }
+ IntrusiveList g_locations;
+ STATIC_INIT(g_locations) { g_locations = IL_NEW(); }
+ IntrusiveList g_saved_team;
+ STATIC_INIT(g_saved_team) { g_saved_team = IL_NEW(); }