]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/gamecommand.qc
Merge remote-tracking branch 'origin/master' into samual/updatecommands
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / gamecommand.qc
index 4dda518def09fb2302922120adaea8b270813d54..70371f42b782a48634a552a4c0d287b26ac9531b 100644 (file)
@@ -529,7 +529,7 @@ void GameCommand_adminmsg(float request, float argc)
                                                }
                                                else
                                                {
-                                                       centerprint_atprio(client, CENTERPRIO_ADMIN, strcat("^3", admin_name(), ":\n\n^7", argv(2)));
+                                                       centerprint(client, strcat("^3", admin_name(), ":\n\n^7", argv(2)));
                                                        sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n"));
                                                }
                                                dprint("Message sent to ", client.netname, "\n");
@@ -1695,7 +1695,7 @@ void GameCommand_radarmap(float request, float argc)
                                {
                                        switch(argv(i))
                                        {
-                                               case "--force": { radarmapper.count |= 1; break;        }
+                                               case "--force": { radarmapper.count |= 1; break; }
                                                case "--loop": { radarmapper.count |= 2; break; }
                                                case "--quit": { radarmapper.count |= 4; break; }
                                                case "--block": { radarmapper.count &~= 24; break; }
@@ -2092,6 +2092,41 @@ void GameCommand_unlockteams(float request)
        }
 }
 
+void GameCommand_warp(float request, float argc)
+{
+       switch (request)
+       {
+               case GC_REQUEST_HELP:
+                       print("  ^2warp^7: Choose different level in campaign\n");
+                       return;
+               
+               case GC_REQUEST_COMMAND:
+                       if(autocvar_g_campaign)
+                       {
+                               
+                               if(argc >= 2)
+                               {
+                                       CampaignLevelWarp(stof(argv(1)));
+                                       print("Successfully warped to campaign level ", stof(argv(1)), ".\n");
+                               }       
+                               else
+                               {
+                                       CampaignLevelWarp(-1);
+                                       print("Successfully warped to next campaign level.\n");
+                               }
+                       }
+                       else
+                               print("Not in campaign, can't level warp\n");
+                       return;
+               
+               default:
+               case GC_REQUEST_USAGE:
+                       print("\nUsage:^3 sv_cmd level\n");
+                       print("  'level' is the level to change campaign mode to.\n");
+                       return;
+       }
+}
+
 
 // =========================================
 //  Main Function Called By Engine (sv_cmd)
@@ -2148,6 +2183,7 @@ void GameCommand(string command)
                        GameCommand_time(GC_REQUEST_HELP);
                        GameCommand_trace(GC_REQUEST_HELP, 0);
                        GameCommand_unlockteams(GC_REQUEST_HELP);
+                       GameCommand_warp(GC_REQUEST_HELP, 0);
                        GameCommand_Vote("help", world);
                        GameCommand_Ban("help");
                        GameCommand_Generic("help");
@@ -2172,7 +2208,7 @@ void GameCommand(string command)
        else
                search_request_type = GC_REQUEST_COMMAND; // continue as usual and scan for normal commands
                
-       switch(strtolower( ((strtolower(argv(0)) == "help") ? argv(1) : argv(0)) )) // if first argument is help, then search for the second argument. Else, search for first. 
+       switch(strtolower((search_request_type == GC_REQUEST_USAGE) ? argv(1) : argv(0))) // if first argument is help, then search for the second argument. Else, search for first. 
        {
                // Do not hard code aliases for these, instead create them in defaultXonotic.cfg
                // also: keep in alphabetical order, please ;)
@@ -2214,6 +2250,7 @@ void GameCommand(string command)
                case "time": GameCommand_time(search_request_type); break;
                case "trace": GameCommand_trace(search_request_type, argc); break;
                case "unlockteams": GameCommand_unlockteams(search_request_type); break;
+               case "warp": GameCommand_warp(search_request_type, argc); break;
                
                default:
                        print("Invalid command. For a list of supported commands, try sv_cmd help.\n");