mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-11 15:52:30 +00:00
Spectators can go through breakables and doors with
a targetname or health. Bots should crouch more/jump less often when attacking at long range
This commit is contained in:
parent
8f12a44cfb
commit
df30da7f76
5 changed files with 59 additions and 27 deletions
|
@ -5,6 +5,11 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.31 2002/05/11 12:45:25 makro
|
||||||
|
// Spectators can go through breakables and doors with
|
||||||
|
// a targetname or health. Bots should crouch more/jump less
|
||||||
|
// often when attacking at long range
|
||||||
|
//
|
||||||
// Revision 1.30 2002/05/10 13:21:53 makro
|
// Revision 1.30 2002/05/10 13:21:53 makro
|
||||||
// Mainly bot stuff. Also fixed a couple of crash bugs
|
// Mainly bot stuff. Also fixed a couple of crash bugs
|
||||||
//
|
//
|
||||||
|
@ -331,18 +336,14 @@ Added by Makro
|
||||||
*/
|
*/
|
||||||
void BotMoveTowardsEnt(bot_state_t *bs, vec3_t dest, int dist) {
|
void BotMoveTowardsEnt(bot_state_t *bs, vec3_t dest, int dist) {
|
||||||
vec3_t dir;
|
vec3_t dir;
|
||||||
|
/*
|
||||||
VectorTargetDist(bs->origin, dest, dist, dir);
|
VectorTargetDist(bs->origin, dest, dist, dir);
|
||||||
//dir[2] = bs->origin[2];
|
//dir[2] = bs->origin[2];
|
||||||
/*
|
|
||||||
if (bot_developer.integer == 2) {
|
|
||||||
G_Printf(va("^5BOT CODE: ^7Moving from (%i %i %i) towards entity at (%i %i %i) up to (%i %i %i)\n",
|
|
||||||
(int) bs->origin[0], (int) bs->origin[1], (int) bs->origin[2],
|
|
||||||
(int) dest[0], (int) dest[1], (int) dest[2],
|
|
||||||
(int) dir[0], (int) dir[1], (int) dir[2]));
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
BotMoveTo(bs, dir);
|
BotMoveTo(bs, dir);
|
||||||
|
*/
|
||||||
|
VectorSubtract(dest, bs->origin, dir);
|
||||||
|
VectorNormalize(dir);
|
||||||
|
trap_BotMoveInDirection(bs->ms, dir, 400, MOVE_WALK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3230,6 +3231,11 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
|
||||||
VectorSubtract(entinfo.origin, bs->origin, forward);
|
VectorSubtract(entinfo.origin, bs->origin, forward);
|
||||||
//the distance towards the enemy
|
//the distance towards the enemy
|
||||||
dist = VectorNormalize(forward);
|
dist = VectorNormalize(forward);
|
||||||
|
//Makro - for long range attacks the bots should crouch more often
|
||||||
|
if (dist > 512) {
|
||||||
|
croucher = Com_Clamp(0, 1, croucher * 2.0f);
|
||||||
|
jumper = Com_Clamp(0, 1, jumper / 2.0f);
|
||||||
|
}
|
||||||
VectorNegate(forward, backward);
|
VectorNegate(forward, backward);
|
||||||
//walk, crouch or jump
|
//walk, crouch or jump
|
||||||
movetype = MOVE_WALK;
|
movetype = MOVE_WALK;
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.37 2002/05/11 12:45:25 makro
|
||||||
|
// Spectators can go through breakables and doors with
|
||||||
|
// a targetname or health. Bots should crouch more/jump less
|
||||||
|
// often when attacking at long range
|
||||||
|
//
|
||||||
// Revision 1.36 2002/05/11 00:38:47 blaze
|
// Revision 1.36 2002/05/11 00:38:47 blaze
|
||||||
// trigger_push and target_push default to no noise when the noise flag is not set.
|
// trigger_push and target_push default to no noise when the noise flag is not set.
|
||||||
//
|
//
|
||||||
|
@ -78,6 +83,8 @@
|
||||||
extern char rq3_breakables[RQ3_MAX_BREAKABLES][80];
|
extern char rq3_breakables[RQ3_MAX_BREAKABLES][80];
|
||||||
|
|
||||||
void G_ExplodeMissile( gentity_t *ent );
|
void G_ExplodeMissile( gentity_t *ent );
|
||||||
|
//Makro - added
|
||||||
|
void Think_SpawnNewDoorTrigger( gentity_t *ent );
|
||||||
|
|
||||||
/*QUAKED func_group (0 0 0) ?
|
/*QUAKED func_group (0 0 0) ?
|
||||||
Used to group brushes together just for editor convenience. They are turned into normal brushes by the utilities.
|
Used to group brushes together just for editor convenience. They are turned into normal brushes by the utilities.
|
||||||
|
@ -638,6 +645,10 @@ void SP_func_breakable( gentity_t *ent ) {
|
||||||
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Makro - added this so spectators can go through breakables
|
||||||
|
ent->nextthink = level.time + FRAMETIME;
|
||||||
|
ent->think = Think_SpawnNewDoorTrigger;
|
||||||
|
|
||||||
trap_LinkEntity (ent);
|
trap_LinkEntity (ent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.28 2002/05/11 12:45:25 makro
|
||||||
|
// Spectators can go through breakables and doors with
|
||||||
|
// a targetname or health. Bots should crouch more/jump less
|
||||||
|
// often when attacking at long range
|
||||||
|
//
|
||||||
// Revision 1.27 2002/05/11 00:38:47 blaze
|
// Revision 1.27 2002/05/11 00:38:47 blaze
|
||||||
// trigger_push and target_push default to no noise when the noise flag is not set.
|
// trigger_push and target_push default to no noise when the noise flag is not set.
|
||||||
//
|
//
|
||||||
|
@ -1300,6 +1305,7 @@ void Think_SpawnNewDoorTrigger( gentity_t *ent ) {
|
||||||
mins[1] += 60;
|
mins[1] += 60;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
other = G_Spawn ();
|
other = G_Spawn ();
|
||||||
other->classname = "door_trigger_spectator";
|
other->classname = "door_trigger_spectator";
|
||||||
VectorCopy (mins, other->r.mins);
|
VectorCopy (mins, other->r.mins);
|
||||||
|
@ -1451,12 +1457,14 @@ void SP_func_door (gentity_t *ent) {
|
||||||
if ( health ) {
|
if ( health ) {
|
||||||
ent->takedamage = qtrue;
|
ent->takedamage = qtrue;
|
||||||
}
|
}
|
||||||
if ( ent->targetname || health ) {
|
//Makro - spectators should be able to go through doors with health/targetname
|
||||||
// non touch/shoot doors
|
//plus, MatchTeam is called in the end, anyway
|
||||||
ent->think = Think_MatchTeam;
|
// if ( ent->targetname || health ) {
|
||||||
} else {
|
// // non touch/shoot doors
|
||||||
|
// ent->think = Think_MatchTeam;
|
||||||
|
// } else {
|
||||||
ent->think = Think_SpawnNewDoorTrigger;
|
ent->think = Think_SpawnNewDoorTrigger;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
//Elder: open areaportals for start_open doors
|
//Elder: open areaportals for start_open doors
|
||||||
|
@ -1597,12 +1605,14 @@ void SP_func_door_rotating ( gentity_t *ent ) {
|
||||||
if ( health ) {
|
if ( health ) {
|
||||||
ent->takedamage = qtrue;
|
ent->takedamage = qtrue;
|
||||||
}
|
}
|
||||||
if ( ent->targetname || health ) {
|
//Makro - spectators should be able to go through doors with health/targetname
|
||||||
// non touch/shoot doors
|
//plus, MatchTeam is called in the end, anyway
|
||||||
ent->think = Think_MatchTeam;
|
// if ( ent->targetname || health ) {
|
||||||
} else {
|
// // non touch/shoot doors
|
||||||
|
// ent->think = Think_MatchTeam;
|
||||||
|
// } else {
|
||||||
ent->think = Think_SpawnNewDoorTrigger;
|
ent->think = Think_SpawnNewDoorTrigger;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.25 2002/05/11 12:45:25 makro
|
||||||
|
// Spectators can go through breakables and doors with
|
||||||
|
// a targetname or health. Bots should crouch more/jump less
|
||||||
|
// often when attacking at long range
|
||||||
|
//
|
||||||
// Revision 1.24 2002/05/05 15:18:02 makro
|
// Revision 1.24 2002/05/05 15:18:02 makro
|
||||||
// Fixed some crash bugs. Bot stuff. Triggerable func_statics.
|
// Fixed some crash bugs. Bot stuff. Triggerable func_statics.
|
||||||
// Made flags only spawn in CTF mode
|
// Made flags only spawn in CTF mode
|
||||||
|
@ -755,11 +760,11 @@ void SP_worldspawn( void ) {
|
||||||
trap_SetConfigstring( CS_MESSAGE, s ); // map specific message
|
trap_SetConfigstring( CS_MESSAGE, s ); // map specific message
|
||||||
|
|
||||||
//Makro - color for the loading screen text
|
//Makro - color for the loading screen text
|
||||||
G_SpawnVector( "_color", "0.75 0.75 0.75", color );
|
G_SpawnVector( "_text_color", "0.75 0.75 0.75", color );
|
||||||
Info_SetValueForKey(info, "r1", va("%f", color[0]));
|
Info_SetValueForKey(info, "r1", va("%f", color[0]));
|
||||||
Info_SetValueForKey(info, "g1", va("%f", color[1]));
|
Info_SetValueForKey(info, "g1", va("%f", color[1]));
|
||||||
Info_SetValueForKey(info, "b1", va("%f", color[2]));
|
Info_SetValueForKey(info, "b1", va("%f", color[2]));
|
||||||
G_SpawnVector( "_color2", "1 1 1", color );
|
G_SpawnVector( "_text_color2", "1 1 1", color );
|
||||||
Info_SetValueForKey(info, "r2", va("%f", color[0]));
|
Info_SetValueForKey(info, "r2", va("%f", color[0]));
|
||||||
Info_SetValueForKey(info, "g2", va("%f", color[1]));
|
Info_SetValueForKey(info, "g2", va("%f", color[1]));
|
||||||
Info_SetValueForKey(info, "b2", va("%f", color[2]));
|
Info_SetValueForKey(info, "b2", va("%f", color[2]));
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
--------------------Configuration: game - Win32 Release--------------------
|
--------------------Configuration: game - Win32 Release--------------------
|
||||||
</h3>
|
</h3>
|
||||||
<h3>Command Lines</h3>
|
<h3>Command Lines</h3>
|
||||||
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AC.tmp" with contents
|
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP235.tmp" with contents
|
||||||
[
|
[
|
||||||
/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c
|
/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c
|
||||||
"C:\Games\Quake3\rq3source\reaction\game\ai_dmnet.c"
|
"C:\Games\Quake3\rq3source\reaction\game\ai_dmq3.c"
|
||||||
]
|
]
|
||||||
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AC.tmp"
|
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP235.tmp"
|
||||||
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AD.tmp" with contents
|
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP236.tmp" with contents
|
||||||
[
|
[
|
||||||
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /machine:I386 /def:".\game.def" /out:"..\Release/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib"
|
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /machine:I386 /def:".\game.def" /out:"..\Release/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib"
|
||||||
\reactionoutput\ai_chat.obj
|
\reactionoutput\ai_chat.obj
|
||||||
|
@ -55,10 +55,10 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
|
||||||
\reactionoutput\zcam.obj
|
\reactionoutput\zcam.obj
|
||||||
\reactionoutput\zcam_target.obj
|
\reactionoutput\zcam_target.obj
|
||||||
]
|
]
|
||||||
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AD.tmp"
|
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP236.tmp"
|
||||||
<h3>Output Window</h3>
|
<h3>Output Window</h3>
|
||||||
Compiling...
|
Compiling...
|
||||||
ai_dmnet.c
|
ai_dmq3.c
|
||||||
Linking...
|
Linking...
|
||||||
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
|
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue