Some more defs.qh cleanup, update gameplay hash (again)
authorMario <mario.mario@y7mail.com>
Sun, 2 Aug 2020 07:48:46 +0000 (17:48 +1000)
committerMario <mario.mario@y7mail.com>
Sun, 2 Aug 2020 07:48:46 +0000 (17:48 +1000)
55 files changed:
.gitlab-ci.yml
qcsrc/common/gamemodes/gamemode/assault/sv_assault.qc
qcsrc/common/gamemodes/gamemode/ctf/sv_ctf.qc
qcsrc/common/gamemodes/gamemode/domination/sv_domination.qc
qcsrc/common/gamemodes/gamemode/keyhunt/sv_keyhunt.qc
qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc
qcsrc/common/gamemodes/gamemode/nexball/sv_nexball.qc
qcsrc/common/gamemodes/gamemode/nexball/sv_nexball.qh
qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc
qcsrc/common/gamemodes/sv_rules.qc
qcsrc/common/mapobjects/func/rotating.qc
qcsrc/common/mapobjects/func/train.qh
qcsrc/common/mapobjects/platforms.qh
qcsrc/common/mapobjects/triggers.qh
qcsrc/common/monsters/sv_monsters.qc
qcsrc/common/stats.qh
qcsrc/common/turrets/sv_turrets.qc
qcsrc/common/vehicles/sv_vehicles.qc
qcsrc/common/vehicles/sv_vehicles.qh
qcsrc/common/weapons/weapon/vortex.qh
qcsrc/server/bot/default/havocbot/havocbot.qc
qcsrc/server/bot/default/havocbot/roles.qc
qcsrc/server/cheats.qh
qcsrc/server/client.qc
qcsrc/server/client.qh
qcsrc/server/command/common.qc
qcsrc/server/command/vote.qc
qcsrc/server/command/vote.qh
qcsrc/server/compat/quake3.qc
qcsrc/server/defs.qh
qcsrc/server/g_damage.qc
qcsrc/server/g_damage.qh
qcsrc/server/g_hook.qc
qcsrc/server/g_world.qc
qcsrc/server/g_world.qh
qcsrc/server/impulse.qc
qcsrc/server/items/items.qc
qcsrc/server/items/items.qh
qcsrc/server/items/spawning.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/miscfunctions.qh
qcsrc/server/player.qc
qcsrc/server/portals.qc
qcsrc/server/race.qc
qcsrc/server/spawnpoints.qc
qcsrc/server/spawnpoints.qh
qcsrc/server/sv_main.qc
qcsrc/server/sv_main.qh
qcsrc/server/weapons/accuracy.qc
qcsrc/server/weapons/common.qh
qcsrc/server/weapons/hitplot.qc
qcsrc/server/weapons/selection.qh
qcsrc/server/weapons/tracing.qh
qcsrc/server/weapons/weaponsystem.qc
qcsrc/server/weapons/weaponsystem.qh

index cbd7e78..2f2fd4f 100644 (file)
@@ -29,7 +29,7 @@ test_sv_game:
     - wget -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints
     - wget -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache
     - make
-    - EXPECT=339f4bfdb1d6e302024e1a260336557a
+    - EXPECT=040aeef53953a85c5891c0c39cf9860f
     - HASH=$(${ENGINE} -noconfig -nohome +exec serverbench.cfg
       | tee /dev/stderr
       | grep '^:'
index 89dfa6f..ca92bc6 100644 (file)
@@ -1,5 +1,6 @@
 #include "sv_assault.qh"
 
+#include <server/command/vote.qh>
 #include <common/mapobjects/func/breakable.qh>
 #include <server/g_damage.qh>
 #include <server/spawnpoints.qh>
index 16f9299..e4256c6 100644 (file)
@@ -3,9 +3,11 @@
 #include <common/effects/all.qh>
 #include <common/mapobjects/teleporters.qh>
 #include <common/vehicles/all.qh>
+#include <server/command/vote.qh>
 #include <server/gamelog.qh>
 #include <server/g_damage.qh>
 #include <server/g_world.qh>
+#include <server/items/items.qh>
 #include <server/race.qh>
 #include <server/teamplay.qh>
 
index 6e333c1..88e20af 100644 (file)
@@ -1,7 +1,9 @@
 #include "sv_domination.qh"
 
+#include <server/command/vote.qh>
 #include <server/gamelog.qh>
 #include <server/teamplay.qh>
+#include <common/mapobjects/platforms.qh>
 
 bool g_domination;
 
index d13ec1a..df538cb 100644 (file)
@@ -1,5 +1,6 @@
 #include "sv_keyhunt.qh"
 
+#include <server/command/vote.qh>
 #include <server/gamelog.qh>
 #include <server/g_damage.qh>
 
index 3a7bc1d..5af6044 100644 (file)
@@ -3,6 +3,7 @@
 #include <common/mutators/mutator/instagib/items.qh>
 #include <server/campaign.qh>
 #include <server/command/_mod.qh>
+#include <server/items/items.qh>
 
 int autocvar_g_lms_extra_lives;
 bool autocvar_g_lms_join_anytime;
index 6ae5b27..2144a00 100644 (file)
@@ -1,5 +1,6 @@
 #include "sv_nexball.qh"
 
+#include <server/command/vote.qh>
 #include <server/gamelog.qh>
 #include <common/ent_cs.qh>
 
index 1c05185..975c119 100644 (file)
@@ -2,7 +2,9 @@
 #include "sv_controlpoint.qh"
 #include "sv_generator.qh"
 
+#include <server/command/vote.qh>
 #include <server/g_damage.qh>
+#include <server/items/items.qh>
 #include <common/mapobjects/defs.qh>
 
 bool g_onslaught;
index a4a4bcd..c6048b8 100644 (file)
@@ -1,5 +1,6 @@
 #include "sv_rules.qh"
 
+#include <server/spawnpoints.qh>
 #include <server/teamplay.qh>
 
 void GameRules_teams(bool value)
index 1864b6d..cf17102 100644 (file)
@@ -55,7 +55,7 @@ void func_rotating_init_for_player(entity this, entity player)
 Brush model that spins in place on one axis (default Z).
 speed   : speed to rotate (in degrees per second)
 noise   : path/name of looping .wav file to play.
-dmg     : Do this mutch dmg every .dmgtime intervall when blocked
+dmg     : Do this much damage every .dmgtime interval when blocked
 dmgtime : See above.
 */
 
index 0b2a099..a25c331 100644 (file)
@@ -4,7 +4,3 @@
 const int TRAIN_CURVE = BIT(0);
 const int TRAIN_TURN = BIT(1);
 const int TRAIN_NEEDACTIVATION = BIT(2);
-
-#ifdef CSQC
-.float dmgtime;
-#endif
index 346cebc..3276cf4 100644 (file)
@@ -3,13 +3,15 @@
 
 const int PLAT_LOW_TRIGGER = BIT(0);
 
+.float dmg;
+.float dmgtime;
 .float dmgtime2;
 
+.float phase;
+
 void plat_center_touch(entity this, entity toucher);
 void plat_outside_touch(entity this, entity toucher);
 void plat_trigger_use(entity this, entity actor, entity trigger);
 void plat_go_up(entity this);
 void plat_go_down(entity this);
 void plat_crush(entity this, entity blocker);
-
-.float dmg;
index 513ff12..2ca91a0 100644 (file)
@@ -12,6 +12,8 @@
 
 // used elsewhere (will fix)
 #ifdef SVQC
+.string message2;
+
 void trigger_common_write(entity this, bool withtarget);
 
 string trigger_magicear_processmessage_forallears(entity source, float teamsay, entity privatesay, string msgin);
index 1bc1b8d..974f69e 100644 (file)
@@ -19,6 +19,7 @@
 #include "../turrets/util.qh"
 #include "../vehicles/all.qh"
 #include <server/campaign.qh>
+#include <server/cheats.qh>
 #include <server/command/_mod.qh>
 #include <common/mapobjects/teleporters.qh>
 #include "../mapobjects/triggers.qh"
index 5bbc4dd..37ef7d1 100644 (file)
@@ -64,8 +64,8 @@ REGISTER_STAT(KH_KEYS, int)
 #ifdef SVQC
 float W_WeaponRateFactor(entity this);
 float game_stopped;
-float game_starttime;
-float round_starttime;
+float game_starttime; //point in time when the countdown to game start is over
+float round_starttime; //point in time when the countdown to round start is over
 bool autocvar_g_allow_oldvortexbeam;
 int autocvar_leadlimit;
 #endif
index e72b625..20af419 100644 (file)
@@ -2,6 +2,7 @@
 #ifdef SVQC
 #include <server/autocvars.qh>
 #include <server/g_damage.qh>
+#include <server/weapons/common.qh>
 #include <server/weapons/weaponsystem.qh>
 #include <common/mapobjects/defs.qh>
 
index 5c3e913..46a604a 100644 (file)
@@ -1,6 +1,7 @@
 #include "sv_vehicles.qh"
 
 #include <server/g_damage.qh>
+#include <server/items/items.qh>
 #include <common/mapobjects/defs.qh>
 #include <common/mapobjects/teleporters.qh>
 #include <server/sv_main.qh>
index 0d707b5..a92da29 100644 (file)
@@ -67,6 +67,8 @@ const float VHSF_FACTORY = 2;
 
 .float dmg_time;
 
+.float pain_frame;
+
 .float play_time;
 
 .int volly_counter;
index a2b0a4b..74bf35c 100644 (file)
@@ -68,6 +68,8 @@ SPAWNFUNC_WEAPON(weapon_vortex, WEP_VORTEX)
 SPAWNFUNC_WEAPON(weapon_nex, WEP_VORTEX)
 
 #ifdef SVQC
+.float vortex_charge_rottime;
+
 .float vortex_lasthit;
 
 void W_Vortex_Charge(entity actor, .entity weaponentity, float dt);
index d388b15..341ba7a 100644 (file)
@@ -2,7 +2,9 @@
 
 #include "roles.qh"
 
+#include <server/client.qh>
 #include <server/defs.qh>
+#include <server/g_damage.qh>
 #include <server/miscfunctions.qh>
 #include <server/weapons/selection.qh>
 #include <server/weapons/weaponsystem.qh>
index 8081097..33d6ec1 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <server/defs.qh>
 #include <server/miscfunctions.qh>
+#include <server/items/items.qh>
 #include <server/items/spawning.qh>
 #include <server/resources.qh>
 #include "havocbot.qh"
index 3ff0f6a..4a730d7 100644 (file)
@@ -17,6 +17,10 @@ const float CHRAME_DRAG = 8;
 // speedrun: when 1, player auto teleports back when capture timeout happens
 .bool speedrunning;
 
+.entity personal;
+
+.int grab; // 0 = can't grab, 1 = owner can grab, 2 = owner and team mates can grab, 3 = anyone can grab
+
 bool drag_undraggable(entity draggee, entity dragger);
 
 .bool(entity this, entity dragger) draggable;
index 245ada1..5c8baee 100644 (file)
@@ -49,6 +49,7 @@
 #include "../common/vehicles/all.qh"
 
 #include "weapons/hitplot.qh"
+#include "weapons/selection.qh"
 #include "weapons/weaponsystem.qh"
 
 #include "../common/net_notice.qh"
@@ -59,6 +60,8 @@
 
 #include "../common/items/_mod.qh"
 
+#include <common/gamemodes/gamemode/nexball/sv_nexball.qh>
+
 #include "../common/mutators/mutator/waypoints/all.qh"
 #include "../common/mutators/mutator/instagib/sv_instagib.qh"
 #include <common/gamemodes/_mod.qh>
@@ -77,6 +80,8 @@
 
 #include <common/mutators/mutator/overkill/oknex.qh>
 
+#include <common/weapons/weapon/vortex.qh>
+
 STATIC_METHOD(Client, Add, void(Client this, int _team))
 {
     ClientConnect(this);
@@ -335,7 +340,6 @@ void PutObserverInServer(entity this)
        this.alpha = 0;
        this.scale = 0;
        this.fade_time = 0;
-       this.pain_frame = 0;
        this.pain_finished = 0;
        STAT(STRENGTH_FINISHED, this) = 0;
        STAT(INVINCIBLE_FINISHED, this) = 0;
@@ -618,7 +622,6 @@ void PutPlayerInServer(entity this)
        bool q3dfcompat = autocvar_sv_q3defragcompat && autocvar_sv_q3defragcompat_changehitbox;
        this.scale = ((q3dfcompat) ? 0.9 : autocvar_sv_player_scale);
        this.fade_time = 0;
-       this.pain_frame = 0;
        this.pain_finished = 0;
        this.pushltime = 0;
        setthink(this, func_null); // players have no think function
index 83de3f0..0823e92 100644 (file)
 .float alivetime; // time of being alive
 .float motd_actived_time; // used for both motd and campaign_message
 
+.bool wasplayer;
+
+.int spectatee_status;
+.bool zoomstate;
+
+.bool just_joined;
+
+.int pressedkeys;
+
 void ClientState_attach(entity this);
 
 IntrusiveList g_players;
@@ -271,6 +280,14 @@ METHOD(Client, m_unwind, bool(Client this))
     return false;
 }
 
+int autocvar__independent_players;
+bool independent_players;
+#define INDEPENDENT_PLAYERS (autocvar__independent_players ? (autocvar__independent_players > 0) : independent_players)
+#define IS_INDEPENDENT_PLAYER(e) ((e).solid == SOLID_TRIGGER)
+#define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER), ((e).frags = FRAGS_PLAYER_OUT_OF_GAME))
+
+.int killcount;
+
 //flood fields
 .float nickspamtime; // time of last nick change
 .float nickspamcount;
index c9e8b59..8fd3907 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <server/client.qh>
 #include <server/defs.qh>
+#include <server/g_world.qh>
 #include <server/miscfunctions.qh>
 
 #include <common/command/_mod.qh>
index f98242a..b31b4ed 100644 (file)
@@ -1,5 +1,6 @@
 #include "vote.qh"
 
+#include <server/client.qh>
 #include <server/defs.qh>
 #include <server/gamelog.qh>
 #include <server/miscfunctions.qh>
index 988e91b..99f0acb 100644 (file)
@@ -50,6 +50,9 @@ float readycount;                  // amount of players who are ready
 float readyrestart_happened;       // keeps track of whether a restart has already happened
 float restart_mapalreadyrestarted; // bool, indicates whether reset_map() was already executed
 .float ready;                      // flag for if a player is ready
+.int team_saved;                   // team number to restore upon map reset
+.void(entity this) reset;             // if set, an entity is reset using this
+.void(entity this) reset2;         // if set, an entity is reset using this (after calling ALL the reset functions for other entities)
 void reset_map(float dorespawn);
 void ReadyCount();
 void ReadyRestart_force();
index 4c8073b..0433636 100644 (file)
@@ -1,5 +1,6 @@
 #include "quake3.qh"
 
+#include <server/client.qh>
 #include <server/defs.qh>
 #include <server/miscfunctions.qh>
 #include <server/items/items.qh>
index 1e91f63..d65ebf2 100644 (file)
@@ -3,34 +3,12 @@
 #include <common/weapons/_all.qh>
 #include <common/stats.qh>
 
-// Globals
-
-float g_footsteps, g_grappling_hook;
-float g_warmup_allguns;
-float g_warmup_allow_timeout;
-float warmup_stage;
-float g_jetpack;
-
-bool sv_ready_restart;
-bool sv_ready_restart_after_countdown;
-bool sv_ready_restart_repeatable;
-
-float sv_clones;
-float sv_foginterval;
-
 // Fields
 
-//.string      wad;
-//.string      map;
-
-//.float       worldtype;
-
 .float pain_finished;                  //Added by Supajoe
-.float pain_frame;                     //"
 
 .float cnt; // used in too many places
 .float count;
-//.float cnt2;
 
 .float fade_time;
 .float fade_rate;
@@ -42,26 +20,6 @@ float sv_foginterval;
 
 .float species;
 
-.float scheduledrespawntime;
-.float respawntime;
-.float respawntimejitter;
-.float respawntimestart;
-//.float       chasecam;
-
-//.float          gravity;
-
-.float         dmg;
-
-// for railgun damage (hitting multiple enemies)
-.bool railgunhit;
-.float railgunhitsolidbackup;
-.vector railgunhitloc;
-
-.float         dmgtime;
-
-.float         killcount;
-.float damage_dealt, typehitsound, killsound;
-
 // string overrides entity
 .string item_pickupsound;
 .entity item_pickupsound_ent;
@@ -69,89 +27,17 @@ float sv_foginterval;
 
 .float winning;
 
-.float spawnshieldtime;
-
 .int playerid;
-.float noalign;                // if set to 1, the item or spawnpoint won't be dropped to the floor
-
-.vector death_origin;
 
 float default_player_alpha;
 float default_weapon_alpha;
 
-.int team_saved;
-
-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"
-
-.bool canteamdamage;
-
-int autocvar__independent_players;
-bool independent_players;
-#define INDEPENDENT_PLAYERS (autocvar__independent_players ? (autocvar__independent_players > 0) : independent_players)
-#define IS_INDEPENDENT_PLAYER(e) ((e).solid == SOLID_TRIGGER)
-#define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER), ((e).frags = FRAGS_PLAYER_OUT_OF_GAME))
-
-string clientstuff;
-.float phase;
-.int pressedkeys;
-
-.string fog;
-
-string cvar_changes;
-string cvar_purechanges;
-float cvar_purechanges_count;
-
-//float game_starttime; //point in time when the countdown to game start is over
-//float round_starttime; //point in time when the countdown to round start is over
-
-.int projectiledeathtype;
-
-.string message2;
-
-// reset to 0 on weapon switch
-// may be useful to all weapons
-.float bulletcounter;
-
-// Nexball
-float g_nexball_meter_period;
-
-.void(entity this) reset; // if set, an entity is reset using this
-.void(entity this) reset2; // if set, an entity is reset using this (after calling ALL the reset functions for other entities)
-
-.bool wasplayer;
-
-string matchid;
-
-.int minelayer_mines;
-.float vortex_charge;
-.float vortex_charge_rottime;
-.float vortex_chargepool_ammo;
-.float oknex_charge;
-.float oknex_charge_rottime;
-.float oknex_chargepool_ammo;
-.int hagar_load;
-
-.int grab; // 0 = can't grab, 1 = owner can grab, 2 = owner and team mates can grab, 3 = anyone can grab
-
-.int spectatee_status;
-.bool zoomstate;
-
-.entity personal;
-
-.bool just_joined;
-
 .entity realowner;
 
-//float serverflags;
-
 .bool player_blocked;
 
 ////
 
-.WepSet dual_weapons;
-
 IntrusiveList g_monsters;
 IntrusiveList g_waypoints;
 IntrusiveList g_vehicles;
index a7ebbcb..30e8d51 100644 (file)
@@ -3,6 +3,7 @@
 #include <common/effects/all.qh>
 #include "bot/api.qh"
 #include "g_hook.qh"
+#include <server/client.qh>
 #include <server/gamelog.qh>
 #include <server/items/items.qh>
 #include <server/mutators/_mod.qh>
index 2209bad..f6ae1d5 100644 (file)
@@ -59,8 +59,16 @@ float damage_gooddamage;
 .bool istypefrag;
 .float taunt_soundtime;
 
+.float spawnshieldtime;
+
 .int totalfrags;
 
+.bool canteamdamage;
+
+.vector death_origin;
+
+.float damage_dealt, typehitsound, killsound;
+
 // used for custom deathtype
 string deathmessage;
 
index e1b4352..79572f6 100644 (file)
@@ -11,6 +11,7 @@
 #include "weapons/tracing.qh"
 #include "player.qh"
 #include "command/common.qh"
+#include "command/vote.qh"
 #include "round_handler.qh"
 #include "../common/state.qh"
 #include "../common/physics/player.qh"
index 5dddc2f..00ee720 100644 (file)
 #include "command/vote.qh"
 #include "g_hook.qh"
 #include <server/gamelog.qh>
+#include <server/g_damage.qh>
 #include "ipban.qh"
 #include "mapvoting.qh"
 #include <server/mutators/_mod.qh>
 #include "race.qh"
 #include "scores.qh"
 #include "scores_rules.qh"
+#include "spawnpoints.qh"
 #include "teamplay.qh"
 #include "weapons/weaponstats.qh"
 #include "../common/constants.qh"
index 3d62763..ceb7a4a 100644 (file)
@@ -8,10 +8,20 @@ float checkrules_overtimesadded; //how many overtimes have been already added
 // flag set on worldspawn so that the code knows if it is dedicated or not
 bool server_is_dedicated;
 
+string cvar_changes;
+string cvar_purechanges;
+float cvar_purechanges_count;
+
 string modname;
 
 string gamemode_name;
 
+string clientstuff;
+
+string matchid;
+
+.string fog;
+
 float intermission_running;
 float intermission_exittime;
 float alreadychangedlevel;
index f066615..521c222 100644 (file)
@@ -6,6 +6,7 @@
 #include "cheats.qh"
 #include "client.qh"
 #include "clientkill.qh"
+#include "g_damage.qh"
 #include "weapons/selection.qh"
 #include "weapons/tracing.qh"
 #include "weapons/weaponsystem.qh"
index ffd7c13..44cd6ba 100644 (file)
@@ -4,6 +4,8 @@
 
 #include <server/bot/api.qh>
 
+#include <server/command/vote.qh>
+
 #include <server/g_damage.qh>
 
 #include <server/mutators/_mod.qh>
index 96d61b0..0fbfab3 100644 (file)
@@ -16,8 +16,15 @@ const float ITEM_RESPAWN_TICKS = 10;
 .float max_armorvalue;
 .float pickup_anyway;
 
+.float scheduledrespawntime;
+.float respawntime;
+.float respawntimejitter;
+.float respawntimestart;
+
 .float item_respawncounter;
 
+.float noalign; // if set to 1, the item or spawnpoint won't be dropped to the floor
+
 .float superweapons_finished; // NOTE: this field is used only by map entities, it does not directly apply the superweapons stat
 
 // delay before this item can be picked up
index f1c8796..d2f1530 100644 (file)
@@ -5,6 +5,7 @@
 /// creation of game items.
 /// \copyright GNU GPLv2 or any later version.
 
+#include <server/items/items.qh>
 #include <server/mutators/_mod.qh>
 #include <server/weapons/spawning.qh>
 #include <common/weapons/all.qh>
index 6983803..a240929 100644 (file)
@@ -4,6 +4,7 @@
 #include "command/common.qh"
 #include "client.qh"
 #include "constants.qh"
+#include "g_damage.qh"
 #include "g_hook.qh"
 #include "g_world.qh"
 #include <server/gamelog.qh>
index c73a107..aab5081 100644 (file)
@@ -199,6 +199,19 @@ void readplayerstartcvars();
 float sv_autotaunt;
 float sv_taunt;
 
+float g_footsteps, g_grappling_hook;
+float g_warmup_allguns;
+float g_warmup_allow_timeout;
+float warmup_stage;
+float g_jetpack;
+
+bool sv_ready_restart;
+bool sv_ready_restart_after_countdown;
+bool sv_ready_restart_repeatable;
+
+float sv_clones;
+float sv_foginterval;
+
 void readlevelcvars()
 {
        if(cvar("sv_allow_fullbright"))
index 3138ffd..3795066 100644 (file)
@@ -13,6 +13,7 @@
 #include <server/sv_main.qh>
 #include "weapons/throwing.qh"
 #include "command/common.qh"
+#include "command/vote.qh"
 #include "../common/state.qh"
 #include "../common/anim.qh"
 #include "../common/animdecide.qh"
index 83a0d34..6e997d6 100644 (file)
@@ -3,6 +3,7 @@
 #include <common/effects/all.qh>
 #include "g_hook.qh"
 #include "mutators/_mod.qh"
+#include <server/client.qh>
 #include "../common/constants.qh"
 #include "../common/deathtypes/all.qh"
 #include "../common/notifications/all.qh"
index eb4b874..d2eeecb 100644 (file)
@@ -5,6 +5,7 @@
 #include <server/g_world.qh>
 #include <server/miscfunctions.qh>
 #include "client.qh"
+#include "cheats.qh"
 #include "portals.qh"
 #include "scores.qh"
 #include "spawnpoints.qh"
index 3dc76af..12c0a6b 100644 (file)
@@ -15,6 +15,7 @@
 #include "../lib/warpzone/common.qh"
 #include "../lib/warpzone/util_server.qh"
 #include <server/utils.qh>
+#include <server/command/vote.qh>
 
 bool SpawnPoint_Send(entity this, entity to, int sf)
 {
index b9e20ec..1221db6 100644 (file)
@@ -6,6 +6,10 @@ const int SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM = 100;
 const int SPAWN_PRIO_RACE_PREVIOUS_SPAWN = 50;
 const int SPAWN_PRIO_GOOD_DISTANCE = 10;
 
+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"
+
 .vector spawnpoint_score;
 float spawnpoint_nag;
 bool SpawnEvent_Send(entity this, entity to, int sf);
index 0944620..e43eb53 100644 (file)
@@ -4,6 +4,7 @@
 #include "g_hook.qh"
 #include "g_damage.qh"
 #include "g_world.qh"
+#include "spawnpoints.qh"
 #include <server/gamelog.qh>
 
 #include "bot/api.qh"
 
 void CreatureFrame_hotliquids(entity this)
 {
-       if (this.dmgtime >= time)
+       if (this.contents_damagetime >= time)
        {
                return;
        }
 
-       this.dmgtime = time + autocvar_g_balance_contents_damagerate;
+       this.contents_damagetime = time + autocvar_g_balance_contents_damagerate;
 
        if (this.flags & FL_PROJECTILE)
        {
@@ -84,7 +85,7 @@ void CreatureFrame_Liquids(entity this)
                if (!(this.flags & FL_INWATER))
                {
                        this.flags |= FL_INWATER;
-                       this.dmgtime = 0;
+                       this.contents_damagetime = 0;
                }
 
                CreatureFrame_hotliquids(this);
@@ -95,7 +96,7 @@ void CreatureFrame_Liquids(entity this)
                {
                        // play leave water sound
                        this.flags &= ~FL_INWATER;
-                       this.dmgtime = 0;
+                       this.contents_damagetime = 0;
                }
        }
 }
index 0463037..6286845 100644 (file)
@@ -15,6 +15,8 @@ float servertime, serverprevtime, serverframetime;
 
 .bool iscreature;
 
+.float contents_damagetime;
+
 /*
 ==================
 main
index a53adb6..0b895ea 100644 (file)
@@ -1,5 +1,6 @@
 #include "accuracy.qh"
 
+#include <server/client.qh>
 #include <server/mutators/_mod.qh>
 #include <server/g_damage.qh>
 #include <common/constants.qh>
index d9b3b0c..d26eb5c 100644 (file)
@@ -10,6 +10,8 @@ void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this)
 
 .float misc_bulletcounter;
 
+.int projectiledeathtype;
+
 #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE
 // when doing this, hagar can go through clones
 // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX
index e79e9dd..b90a855 100644 (file)
@@ -1,6 +1,7 @@
 #include "hitplot.qh"
 
 #include <server/defs.qh>
+#include <server/g_world.qh>
 #include <server/miscfunctions.qh>
 #include "../antilag.qh"
 #include <common/weapons/_all.qh>
index 4fdb9af..94987d2 100644 (file)
@@ -5,6 +5,8 @@
 
 .int selectweapon; // last selected weapon of the player
 
+.WepSet dual_weapons;
+
 // switch between weapons
 void Send_WeaponComplain(entity e, float wpn, float type);
 
index b8575ec..c786798 100644 (file)
@@ -64,6 +64,11 @@ void W_SetupProjVelocity_Explicit(entity proj, vector dir, vector upDir, float p
 
 .float ballistics_density;
 
+// for railgun damage (hitting multiple enemies)
+.bool railgunhit;
+.float railgunhitsolidbackup;
+.vector railgunhitloc;
+
 .float railgundistance;
 .vector railgunforce;
 void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector end, float bdamage, bool headshot_notify, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype);
index 7372775..cbfba4c 100644 (file)
@@ -3,6 +3,7 @@
 #include "selection.qh"
 
 #include "../command/common.qh"
+#include <server/g_damage.qh>
 #include <server/items/items.qh>
 #include <server/mutators/_mod.qh>
 #include "../round_handler.qh"
@@ -11,6 +12,7 @@
 #include <common/animdecide.qh>
 #include <common/constants.qh>
 #include <common/net_linked.qh>
+#include <common/mapobjects/platforms.qh>
 #include <common/monsters/_mod.qh>
 #include <common/notifications/all.qh>
 #include <common/util.qh>
index 23d1e59..d1223c6 100644 (file)
@@ -14,6 +14,10 @@ const int W_TICSPERFRAME = 2;
 float internalteam;
 entity weapon_dropevent_item;
 
+// reset to 0 on weapon switch
+// may be useful to all weapons
+.float bulletcounter;
+
 ..entity weaponentity_fld;
 
 .float weapon_load[REGISTRY_MAX(Weapons)];