r120 - trunk/progsqc
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Aug 30 02:42:41 EDT 2008
Author: vermeulen
Date: 2008-08-30 02:42:41 -0400 (Sat, 30 Aug 2008)
New Revision: 120
Modified:
trunk/progsqc/bots.qc
trunk/progsqc/damage.qc
trunk/progsqc/gamedefs.qc
trunk/progsqc/player.qc
Log:
New weapon cvars, and some AI stuff
Modified: trunk/progsqc/bots.qc
===================================================================
--- trunk/progsqc/bots.qc 2008-08-22 05:09:42 UTC (rev 119)
+++ trunk/progsqc/bots.qc 2008-08-30 06:42:41 UTC (rev 120)
@@ -136,6 +136,7 @@
void() bot_ai =
{
local vector v1, v2;
+ local float enemydistance;
if (self.aitype == AITYPE_1)
{
@@ -148,6 +149,13 @@
}
else
{
+ enemydistance = vlen(self.origin - self.enemy.origin);
+ if (enemydistance > self.sight)
+ {
+ self.enemy = world;
+ return;
+ }
+
Inventory_GetItemInfo(self, self.itemselected);
if (iteminfo_ammo1fireflags & FIREFLAG_JETPACK)
{
@@ -178,20 +186,10 @@
traceline(v1, v2, FALSE, self);
if ((trace_fraction == 1 || trace_ent == self.enemy) && SInfront(self.enemy))
{
- if (iteminfo_weapon_canfire1)
- {
- if (iteminfo_weapon_canfire2)
- {
- if (random() < 0.05)
- self.button3 = 1;
- else
- self.button0 = 1;
- }
- else
- self.button0 = 1;
- }
- else if (iteminfo_weapon_canfire2)
+ if ((iteminfo_weapon_canfire2) && (enemydistance < self.fire2distance))
self.button3 = 1;
+ else if ((iteminfo_weapon_canfire1) && (enemydistance < self.fire1distance))
+ self.button0 = 1;
}
MoveToGoal();
}
Modified: trunk/progsqc/damage.qc
===================================================================
--- trunk/progsqc/damage.qc 2008-08-22 05:09:42 UTC (rev 119)
+++ trunk/progsqc/damage.qc 2008-08-30 06:42:41 UTC (rev 120)
@@ -155,6 +155,7 @@
float PROJFLAG_STICK = 64;
float PROJFLAG_LASERGUIDED = 128;
float PROJFLAG_REMOTEDETONATE = 256;
+float PROJFLAG_PROXIMITY = 512;
float FIREFLAG_MUZZLEFLASH = 1;
float FIREFLAG_SEMIAUTOMATIC = 2;
@@ -357,20 +358,21 @@
self.th_die();
return;
}
- /*
+
if (self.projflag & PROJFLAG_PROXIMITY)
{
entity e;
- e = findradius(self.origin, self.damageinfo_z);
+ e = findradius(self.origin, self.damageinfo_z / 2);
while (e)
{
- if ((e.classname == "playerclass") && (e.team != self.team))
+ if ((e.classname == "player") && (e.team != self.team))
{
+ bprint("HEY!!!",vtos(self.damageinfo),"\n");
self.th_die();
}
e = e.chain;
}
- } */
+ }
if (self.projflag & PROJFLAG_LASERGUIDED)
{
float velspeed,turnrate;
@@ -471,6 +473,7 @@
newmis.noise1 = bouncesound;
newmis.owner = self; // initially same as realowner, cleared on first bounce so that it can hit owner
newmis.realowner = self; // who owns this projectile
+ newmis.team = self.team;
setorigin(newmis, shotorg);
setmodel(newmis, modelname);
setsize(newmis, '0 0 0', '0 0 0');
Modified: trunk/progsqc/gamedefs.qc
===================================================================
--- trunk/progsqc/gamedefs.qc 2008-08-22 05:09:42 UTC (rev 119)
+++ trunk/progsqc/gamedefs.qc 2008-08-30 06:42:41 UTC (rev 120)
@@ -55,6 +55,10 @@
.float shieldactive;
.float invisactive;
+.float sight;
+.float fire1distance;
+.float fire2distance;
+
.float bloodtype;
.float gibtype;
Modified: trunk/progsqc/player.qc
===================================================================
--- trunk/progsqc/player.qc 2008-08-22 05:09:42 UTC (rev 119)
+++ trunk/progsqc/player.qc 2008-08-30 06:42:41 UTC (rev 120)
@@ -73,6 +73,10 @@
pc.jumpspeed = cvar(cname,"_jumpspeed");
pc.speedratio = cvar(cname,"_speedratio");
+
+ pc.sight = cvar(cname,"_sight");
+ pc.fire1distance = cvar(cname,"_fire1distance");
+ pc.fire2distance = cvar(cname,"_fire2distance");
if (pc.animationtype == 1)
{
@@ -261,6 +265,10 @@
self.jumpspeed = pc.jumpspeed;
self.speedratio = pc.speedratio;
+
+ self.sight = pc.sight;
+ self.fire1distance = pc.fire1distance;
+ self.fire2distance = pc.fire2distance;
setsize (self, pc.mins, pc.maxs);
Inventory_CloneFromInventory(self, pc);
@@ -386,16 +394,15 @@
if (cvar("g_gametype") == 1)
{
+ stuffcmd(self,"menu_showinfoscreen\n");
self.team = 5;
self.classnum = 0;
stuffcmd(self,"cmd join\n");
}
else
{
- if (!self.spawned)
- {
- stuffcmd(self,"menu_showteamselect\n");
- }
+ self.health = 1;
+ stuffcmd(self,"menu_showteamselect\n");
}
if (!self.spawned)
More information about the zymotic-commits
mailing list