r2809 - in branches/nexuiz-2.0/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Sep 12 16:08:41 EDT 2007
Author: div0
Date: 2007-09-12 16:08:41 -0400 (Wed, 12 Sep 2007)
New Revision: 2809
Modified:
branches/nexuiz-2.0/data/default.cfg
branches/nexuiz-2.0/data/qcsrc/server/g_damage.qc
branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
branches/nexuiz-2.0/data/qcsrc/server/gamecommand.qc
branches/nexuiz-2.0/data/qcsrc/server/havocbot.qc
Log:
fix division by zero, add damage value to RadiusDamage(), fix chmap after the game ended
Modified: branches/nexuiz-2.0/data/default.cfg
===================================================================
--- branches/nexuiz-2.0/data/default.cfg 2007-09-12 20:06:54 UTC (rev 2808)
+++ branches/nexuiz-2.0/data/default.cfg 2007-09-12 20:08:41 UTC (rev 2809)
@@ -34,7 +34,7 @@
alias bsp "ls maps/*.bsp"
alias mapcfg "ls maps/*.mapcfg"
alias chmap "exec $exit_cfg ; exec game_reset.cfg; exec maps/$1.mapcfg"
-alias gotomap "nextmap $1; timelimit -1"
+alias gotomap "sv_cmd gotomap \"$1\""
alias reset "exec game_reset.cfg"
alias dem "ls demos/*.dem"
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_damage.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_damage.qc 2007-09-12 20:06:54 UTC (rev 2808)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_damage.qc 2007-09-12 20:08:41 UTC (rev 2809)
@@ -558,7 +558,8 @@
}
}
-void RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity ignore, float forceintensity, float deathtype)
+float RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity ignore, float forceintensity, float deathtype)
+// Returns total damage applies to creatures
{
entity targ;
float finaldmg;
@@ -569,9 +570,11 @@
vector m2;
vector nearest;
vector diff;
- vector center;
+ vector center;
+ float total_damage_to_creatures;
blastorigin = (inflictor.origin + (inflictor.mins + inflictor.maxs) * 0.5);
+ total_damage_to_creatures = 0;
targ = findradius (blastorigin, rad);
while (targ)
@@ -623,6 +626,8 @@
if (trace_fraction == 1 || trace_ent == targ
|| cvar("g_throughfloor"))
{
+ if(targ.iscreature)
+ total_damage_to_creatures += finaldmg;
Damage (targ, inflictor, attacker, finaldmg, deathtype, nearest, force);
break;
}
@@ -635,6 +640,8 @@
}
targ = targ.chain;
}
+
+ return total_damage_to_creatures;
}
/*
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2007-09-12 20:06:54 UTC (rev 2808)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2007-09-12 20:08:41 UTC (rev 2809)
@@ -1917,6 +1917,22 @@
MapVote_Tick();
};
+string GotoMap(string m)
+{
+ if(!TryFile(strcat("maps/", m, ".mapcfg")))
+ return "The map you chose is not available on this server.";
+ cvar_set("nextmap", m);
+ cvar_set("timelimit", "-1");
+ if(mapvote_initialized || alreadychangedlevel)
+ {
+ if(DoNextMapOverride())
+ return "Map switch initiated.";
+ else
+ return "Hm... no. For some reason I like THIS map more.";
+ }
+ else
+ return "Map switch will happen after scoreboard.";
+}
void EndFrame()
Modified: branches/nexuiz-2.0/data/qcsrc/server/gamecommand.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/gamecommand.qc 2007-09-12 20:06:54 UTC (rev 2808)
+++ branches/nexuiz-2.0/data/qcsrc/server/gamecommand.qc 2007-09-12 20:08:41 UTC (rev 2809)
@@ -1,3 +1,5 @@
+string GotoMap(string m);
+
void GameCommand(string command)
{
float argc;
@@ -38,6 +40,12 @@
return;
}
+ if(argv(0) == "gotomap") if(argc == 2)
+ {
+ print(GotoMap(argv(1)), "\n");
+ return;
+ }
+
if(argv(0) == "adminmsg") if(argc == 3)
{
entity client;
Modified: branches/nexuiz-2.0/data/qcsrc/server/havocbot.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/havocbot.qc 2007-09-12 20:06:54 UTC (rev 2808)
+++ branches/nexuiz-2.0/data/qcsrc/server/havocbot.qc 2007-09-12 20:08:41 UTC (rev 2809)
@@ -322,8 +322,7 @@
* bound(0,(cvar("g_balance_electro_primary_speed")/distance*maxdelaytime),1)*1.0;
if (client_hasweapon(self, WEP_CRYLINK, TRUE, FALSE))
crylink = (cvar("g_balance_crylink_primary_damage")/cvar("g_balance_crylink_primary_refire")*1.0)
- * bound(0,(cvar("g_balance_crylink_primary_speed")/distance*maxdelaytime),1)*1.0
- * bound(0,1/cvar("g_balance_crylink_primary_spread")/distance*spreadpenalty,1);
+ * bound(0,(cvar("g_balance_crylink_primary_speed")/distance*maxdelaytime),1)*1.0;
if (client_hasweapon(self, WEP_UZI, TRUE, FALSE))
uzi = (cvar("g_balance_uzi_sustained_damage")/cvar("g_balance_uzi_sustained_refire")*1.0)
* bound(0,1/cvar("g_balance_uzi_sustained_spread")/distance*spreadpenalty,1)*0.5;
More information about the nexuiz-commits
mailing list