cvar_string = cvar_string_normal;
cvar_set = cvar_set_normal;
cvar_set("g_campaign", "0");
- print("campaign initialization failed: ", s, "\n");
+ print("^4campaign initialization failed: ", s, "\n");
+ if(autocvar__campaign_testrun)
+ error("CAMPAIGN FAIL AHAHAHAHAHAHAHAHAH))");
return 1;
}
{
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)
return;
}
- baseskill = cvar("g_campaign_skill");
+ baseskill = autocvar_g_campaign_skill;
baseskill = baseskill + campaign_botskill[0];
if(baseskill < 0)
baseskill = 0;
// 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;
title = campaign_shortdesc[0];
title = strzone(strcat("Level ", ftos(campaign_level + 1), ": ", title));
- campaign_message = strzone(strcat("\n\n\n\n\n\n\n\n\n\n^1\n", title, "\n^3\n", campaign_longdesc[0], "\n\n^1press jump to enter the game"));
+ campaign_message = strzone(strcat(title, "\n^3\n", campaign_longdesc[0], "\n\n^1press jump to enter the game"));
strunzone(title);
}
// now some sanity checks
if(Campaign_Invalid())
return;
- cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
- cvar_set("timelimit", ftos(campaign_timelimit[0]));
- cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0]));
- cvar_set_normal("timelimit", ftos(campaign_timelimit[0]));
+ if(autocvar__campaign_testrun)
+ {
+ cvar_set("fraglimit", "0");
+ cvar_set("timelimit", "0.01");
+ cvar_set_normal("fraglimit", "0");
+ cvar_set_normal("timelimit", "0.01");
+ }
+ else
+ {
+ cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
+ cvar_set("timelimit", ftos(campaign_timelimit[0]));
+ cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0]));
+ cvar_set_normal("timelimit", ftos(campaign_timelimit[0]));
+ }
}
void CampaignSaveCvar(string cvarname, float value)
entity head;
float won;
float lost;
- local string savevar;
+ string savevar;
won = 0;
head = head.chain;
}
- if(won == 1 && lost == 0 && checkrules_equality == 0 && cheatcount_total == 0)
+ if(autocvar__campaign_testrun)
{
- if(cvar("timelimit") != 0 && time > cvar("timelimit") * 60) // checks if the timelimit has expired.
+ campaign_won = 1;
+ bprint("Campaign test run, advancing level.\n");
+ }
+ else if(won == 1 && lost == 0 && checkrules_equality == 0)
+ {
+ 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");
}
else
{
- campaign_won = 1;
- bprint("The current level has been WON.\n");
- // sound!
+ campaign_won = 1;
+ bprint("The current level has been WON.\n");
+ // sound!
}
}
- else if(cvar("timelimit") != 0 && time > cvar("timelimit") * 60)
+ else if(autocvar_timelimit != 0 && time > autocvar_timelimit * 60)
{
campaign_won = 0;
bprint("Time's up! The current level has been LOST.\n");
// sound!
}
- if(campaign_won)
+ if(campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun)
{
- if(campaign_entries < 2)
+ if(campaign_level == cvar_normal(campaign_index_var))
{
- // I have won
- savevar = strcat("g_campaign", campaign_name, "_won");
- CampaignSaveCvar(savevar, 1);
- // advance level (for menu to show it right)
- CampaignSaveCvar(campaign_index_var, campaign_level + 1);
- }
- else if(campaign_level == cvar_normal(campaign_index_var))
- {
- // advance level
- CampaignSaveCvar(campaign_index_var, campaign_level + 1);
+ if(campaign_entries < 2)
+ {
+ // I have won
+ savevar = strcat("g_campaign", campaign_name, "_won");
+ CampaignSaveCvar(savevar, 1);
+ // advance level (for menu to show it right)
+ CampaignSaveCvar(campaign_index_var, campaign_level + 1);
+ }
+ else
+ {
+ // advance level
+ CampaignSaveCvar(campaign_index_var, campaign_level + 1);
+ }
}
}
}
if(campaign_won && campaign_entries < 2)
{
// last map won!
+ print("^2test run: campaign looks GOOD\n");
localcmd("togglemenu 1\n");
CampaignFile_Unload();
return;
void CampaignLevelWarp(float n)
{
+ if(n < 0)
+ n = campaign_level + 1;
CampaignFile_Unload();
CampaignFile_Load(n, 1);
if(campaign_entries)