]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/g_world.qc
Fix view offset with prey at different sizes.
[voretournament/voretournament.git] / data / qcsrc / server / g_world.qc
index 2034b45045ef288f4e6d3cfc26cb2ee117b6cb9c..7a065d43dc6c056c5e2b1d96d9c1ceb5e9d0f83c 100644 (file)
@@ -654,7 +654,12 @@ void spawnfunc_worldspawn (void)
        addstat(STAT_DAMAGE_FIRED, AS_INT, stat_fired);\r
        addstat(STAT_SHOTORG, AS_INT, stat_shotorg);\r
        addstat(STAT_LEADLIMIT, AS_FLOAT, stat_leadlimit);\r
+       addstat(STAT_WEAPON_CLIPLOAD, AS_INT, clip_load);\r
+       addstat(STAT_WEAPON_CLIPSIZE, AS_INT, clip_size);\r
+       addstat(STAT_LAST_PICKUP, AS_FLOAT, last_pickup);\r
+       addstat(STAT_WINNING, AS_FLOAT, winning);\r
        addstat(STAT_VORE_LOAD, AS_INT, stat_stomachload);\r
+       addstat(STAT_VORE_CANSWALLOW, AS_INT, stat_canswallow);\r
        addstat(STAT_VORE_DIGESTING, AS_INT, stat_digesting);\r
        addstat(STAT_VORE_EATEN, AS_INT, stat_eaten);\r
        addstat(STAT_VORE_CANLEAVE, AS_INT, stat_canleave);\r
@@ -720,6 +725,8 @@ void spawnfunc_worldspawn (void)
        CheatInit();\r
 \r
        localcmd("\n_sv_hook_gamestart ", GetGametype(), ";");\r
+       if(cvar("g_campaign"))\r
+               localcmd("\n_sv_hook_campaign_gamestart ", GetGametype(), ";");\r
 \r
        world_initialized = 1;\r
 }\r
@@ -1044,9 +1051,14 @@ float DoNextMapOverride()
 {\r
        if(cvar("g_campaign"))\r
        {\r
-               CampaignPostIntermission();\r
-               alreadychangedlevel = TRUE;\r
-               return TRUE;\r
+               if(cvar("g_campaign_changelevel"))\r
+               {\r
+                       CampaignPostIntermission();\r
+                       alreadychangedlevel = TRUE;\r
+                       return TRUE;\r
+               }\r
+               else\r
+                       localcmd("togglemenu 1\n");\r
        }\r
        if(cvar("quit_when_empty"))\r
        {\r
@@ -1325,7 +1337,6 @@ void DumpStats(float final)
 \r
 void FixIntermissionClient(entity e)\r
 {\r
-       string s;\r
        if(!e.autoscreenshot) // initial call\r
        {\r
                e.angles = e.v_angle;\r
@@ -1345,9 +1356,6 @@ void FixIntermissionClient(entity e)
                if(clienttype(e) == CLIENTTYPE_REAL)\r
                {\r
                        stuffcmd(e, "\nscr_printspeed 1000000\n");\r
-                       s = cvar_string("sv_intermission_cdtrack");\r
-                       if(s != "")\r
-                               stuffcmd(e, strcat("\ncd loop ", s, "\n"));\r
                        msg_entity = e;\r
                        WriteByte(MSG_ONE, SVC_INTERMISSION);\r
                }\r
@@ -1448,6 +1456,8 @@ void NextLevel()
                CampaignPreIntermission();\r
 \r
        localcmd("\nsv_hook_gameend;");\r
+       if(cvar("g_campaign"))\r
+               localcmd("\nsv_hook_campaign_gameend;");\r
 }\r
 \r
 /*\r
@@ -2219,6 +2229,9 @@ void MapVote_Init()
        float i;\r
        float nmax, smax;\r
 \r
+       if(cvar("g_campaign"))\r
+               return;\r
+\r
        MapVote_ClearAllVotes();\r
 \r
        mapvote_count = 0;\r