X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fcampaign.qc;h=9a36546716d6dc644512e2536a1f449791be55c8;hb=0fb2edb6ae69233f04d66e3e9a32674b601e6963;hp=8a01a23b2474d87319c3485bc61a018cce60753a;hpb=0e7ed909bffb4ff21f0c68d163edfc17487e380a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/campaign.qc b/qcsrc/server/campaign.qc index 8a01a23b2..9a3654671 100644 --- a/qcsrc/server/campaign.qc +++ b/qcsrc/server/campaign.qc @@ -64,13 +64,13 @@ void CampaignPreInit() { float baseskill; string title; - if(cvar("sv_cheats")) + if(autocvar_sv_cheats) { CampaignBailout("JOLLY CHEATS AHAHAHAHAHAHAH))"); return; } - campaign_level = cvar("_campaign_index"); - campaign_name = strzone(cvar_string("_campaign_name")); + campaign_level = autocvar__campaign_index; + campaign_name = strzone(autocvar__campaign_name); campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index")); CampaignFile_Load(campaign_level, 2); if(campaign_entries < 1) @@ -79,7 +79,7 @@ void CampaignPreInit() return; } - baseskill = cvar("g_campaign_skill"); + baseskill = autocvar_g_campaign_skill; baseskill = baseskill + campaign_botskill[0]; if(baseskill < 0) baseskill = 0; @@ -101,7 +101,7 @@ void CampaignPreInit() // copy sv_gravity cvar, as the engine needs it too (sorry, this will mess // with the menu a little still...) - cvar_set_normal("sv_gravity", cvar_string("sv_gravity")); + cvar_set_normal("sv_gravity", ftos(autocvar_sv_gravity)); if(Campaign_Invalid()) return; @@ -119,9 +119,9 @@ void CampaignPostInit() if(Campaign_Invalid()) return; cvar_set("fraglimit", ftos(campaign_fraglimit[0])); - cvar_set("timelimit", "0"); + cvar_set("timelimit", ftos(campaign_timelimit[0])); cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0])); - cvar_set_normal("timelimit", "0"); + cvar_set_normal("timelimit", ftos(campaign_timelimit[0])); } void CampaignSaveCvar(string cvarname, float value) @@ -188,8 +188,23 @@ void CampaignPreIntermission() if(won == 1 && lost == 0 && checkrules_equality == 0 && cheatcount_total == 0) { - campaign_won = 1; - bprint("The current level has been WON.\n"); + if(autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) // checks if the timelimit has expired. + { + campaign_won = 0; + bprint("Time's up! The current level has been LOST.\n"); + // sound! + } + else + { + campaign_won = 1; + bprint("The current level has been WON.\n"); + // sound! + } + } + else if(autocvar_timelimit != 0 && time > autocvar_timelimit * 60) + { + campaign_won = 0; + bprint("Time's up! The current level has been LOST.\n"); // sound! } else @@ -249,3 +264,4 @@ void CampaignLevelWarp(float n) error("Sorry, cheater. You are NOT WELCOME."); CampaignFile_Unload(); } +