mirror of
https://github.com/Q3Rally-Team/q3rally.git
synced 2024-11-21 19:41:36 +00:00
homing rockets now shootable
adjusted rocket speed
This commit is contained in:
parent
64ee3a5374
commit
6c8224cce7
6 changed files with 50 additions and 186 deletions
|
@ -1,5 +1,23 @@
|
|||
!!! --- Q3Rally v0.3 changelog --- !!!
|
||||
|
||||
new since v0.3b
|
||||
|
||||
Fixed:
|
||||
|
||||
- A bug in racing mode was fixed where it could be that after the race you lost your position
|
||||
in the ranking to a player who crossed the finish line after you
|
||||
- The power of the homing rockets has been reduced and the amount of ammunition
|
||||
used has been increased from 1 to 3
|
||||
|
||||
new since v0.3
|
||||
|
||||
Added:
|
||||
|
||||
- 2 Racing Maps moved from AddOn to Official
|
||||
- 1 Deathmatch Map moved from AddOn to Official
|
||||
- added the ability to play Domination with 4 Teams
|
||||
- codebase synced with latest ioq3
|
||||
|
||||
new since v0.0.1.2
|
||||
|
||||
Added:
|
||||
|
|
|
@ -31,7 +31,7 @@ G_HomingMissile
|
|||
================
|
||||
*/
|
||||
|
||||
#define ROCKET_SPEED 600
|
||||
#define ROCKET_SPEED 650
|
||||
|
||||
void rocket_think( gentity_t *ent )
|
||||
{
|
||||
|
@ -95,7 +95,6 @@ void Missile_Smooth_H( gentity_t *ent, vec3_t origin, trace_t *tr )
|
|||
/*
|
||||
================
|
||||
G_BounceMissile
|
||||
|
||||
================
|
||||
*/
|
||||
void G_BounceMissile( gentity_t *ent, trace_t *trace ) {
|
||||
|
@ -160,20 +159,6 @@ void G_ExplodeCluster( gentity_t *ent ){
|
|||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
|
||||
|
||||
/*
|
||||
VectorSet(dir, 33, 33, 0);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
VectorSet(dir, -33, 33, 0);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
VectorSet(dir, 0, -33, 0);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
VectorSet(dir, 33, 33, 40);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
VectorSet(dir, -33, 33, 30);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir);
|
||||
VectorSet(dir, 0, -33, 20);
|
||||
fire_cluster_grenade2(ent->parent, ent->r.currentOrigin, dir); */
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -778,13 +763,9 @@ void G_RunMissile( gentity_t *ent ) {
|
|||
G_RunThink( ent );
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
/*
|
||||
=================
|
||||
fire_plasma
|
||||
|
||||
=================
|
||||
*/
|
||||
gentity_t *fire_plasma (gentity_t *self, vec3_t start, vec3_t dir) {
|
||||
|
@ -824,9 +805,7 @@ gentity_t *fire_plasma (gentity_t *self, vec3_t start, vec3_t dir) {
|
|||
}
|
||||
|
||||
//=============================================================================
|
||||
|
||||
//fire_plasma_bounce
|
||||
|
||||
//=============================================================================
|
||||
|
||||
|
||||
|
@ -1049,36 +1028,22 @@ gentity_t *fire_rocket (gentity_t *self, vec3_t start, vec3_t dir) {
|
|||
bolt->classname = "rocket";
|
||||
bolt->nextthink = level.time + 15000;
|
||||
bolt->think = G_ExplodeMissile;
|
||||
bolt->health = 5;
|
||||
bolt->takedamage = qtrue;
|
||||
bolt->die = G_MissileDie;
|
||||
bolt->r.contents = CONTENTS_BODY;
|
||||
VectorSet(bolt->r.mins, -10, -3, 0);
|
||||
VectorCopy(bolt->r.mins, bolt->r.absmin);
|
||||
VectorSet(bolt->r.maxs, 10, 3, 6);
|
||||
VectorCopy(bolt->r.maxs, bolt->r.absmax);
|
||||
bolt->s.eType = ET_MISSILE;
|
||||
bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
|
||||
bolt->s.weapon = WP_ROCKET_LAUNCHER;
|
||||
bolt->r.ownerNum = self->s.number;
|
||||
bolt->parent = self;
|
||||
//bolt->damage = 100; //TBB - too high for short reload
|
||||
bolt->damage = 80; //TBB
|
||||
//bolt->splashDamage = 100; //TBB - too high for short reload
|
||||
bolt->splashDamage = 60; //TBB
|
||||
bolt->damage = 80;
|
||||
bolt->splashDamage = 60;
|
||||
bolt->splashRadius = 120;
|
||||
bolt->methodOfDeath = MOD_ROCKET;
|
||||
bolt->splashMethodOfDeath = MOD_ROCKET_SPLASH;
|
||||
bolt->clipmask = MASK_SHOT;
|
||||
bolt->target_ent = NULL;
|
||||
|
||||
bolt->s.pos.trType = TR_LINEAR;
|
||||
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
|
||||
VectorCopy( start, bolt->s.pos.trBase );
|
||||
// STONELANCE
|
||||
// VectorScale( dir, 900, bolt->s.pos.trDelta );
|
||||
VectorScale( dir, 1800, bolt->s.pos.trDelta );
|
||||
// END
|
||||
VectorScale( dir, 1400, bolt->s.pos.trDelta );
|
||||
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
|
||||
VectorCopy (start, bolt->r.currentOrigin);
|
||||
|
||||
|
@ -1099,71 +1064,39 @@ gentity_t *fire_homing_rocket (gentity_t *self, vec3_t start, vec3_t dir) {
|
|||
bolt->classname = "rocket";
|
||||
bolt->nextthink = level.time + 1;
|
||||
bolt->think = rocket_think;
|
||||
bolt->health = 5;
|
||||
bolt->takedamage = qtrue;
|
||||
bolt->die = G_MissileDie;
|
||||
bolt->r.contents = CONTENTS_BODY;
|
||||
VectorSet(bolt->r.mins, -10, -3, 0);
|
||||
VectorCopy(bolt->r.mins, bolt->r.absmin);
|
||||
VectorSet(bolt->r.maxs, 10, 3, 6);
|
||||
VectorCopy(bolt->r.maxs, bolt->r.absmax);
|
||||
bolt->s.eType = ET_MISSILE;
|
||||
bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
|
||||
bolt->s.weapon = WP_ROCKET_LAUNCHER;
|
||||
bolt->r.ownerNum = self->s.number;
|
||||
bolt->parent = self;
|
||||
bolt->damage = 40;
|
||||
//bolt->splashDamage = 100; //TBB - too high for being splash
|
||||
bolt->splashDamage = 60; //TBB
|
||||
bolt->splashDamage = 60;
|
||||
bolt->splashRadius = 75;
|
||||
bolt->methodOfDeath = MOD_ROCKET;
|
||||
bolt->splashMethodOfDeath = MOD_ROCKET_SPLASH;
|
||||
bolt->clipmask = MASK_SHOT;
|
||||
bolt->target_ent = NULL;
|
||||
|
||||
bolt->s.pos.trType = TR_LINEAR;
|
||||
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
|
||||
VectorCopy( start, bolt->s.pos.trBase );
|
||||
// STONELANCE
|
||||
// VectorScale( dir, 900, bolt->s.pos.trDelta );
|
||||
VectorScale( dir, ROCKET_SPEED, bolt->s.pos.trDelta );
|
||||
// END
|
||||
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
|
||||
VectorCopy (start, bolt->r.currentOrigin);
|
||||
|
||||
return bolt;
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
fire_grapple
|
||||
=================
|
||||
*/
|
||||
// STONELANCE - removed hook
|
||||
/*
|
||||
gentity_t *fire_grapple (gentity_t *self, vec3_t start, vec3_t dir) {
|
||||
gentity_t *hook;
|
||||
|
||||
VectorNormalize (dir);
|
||||
|
||||
hook = G_Spawn();
|
||||
hook->classname = "hook";
|
||||
hook->nextthink = level.time + 10000;
|
||||
hook->think = Weapon_HookFree;
|
||||
hook->s.eType = ET_MISSILE;
|
||||
hook->r.svFlags = SVF_USE_CURRENT_ORIGIN;
|
||||
hook->s.weapon = WP_GRAPPLING_HOOK;
|
||||
hook->r.ownerNum = self->s.number;
|
||||
hook->methodOfDeath = MOD_GRAPPLE;
|
||||
hook->clipmask = MASK_SHOT;
|
||||
hook->parent = self;
|
||||
hook->target_ent = NULL;
|
||||
|
||||
hook->s.pos.trType = TR_LINEAR;
|
||||
hook->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
|
||||
hook->s.otherEntityNum = self->s.number; // use to match beam in client
|
||||
VectorCopy( start, hook->s.pos.trBase );
|
||||
VectorScale( dir, 800, hook->s.pos.trDelta );
|
||||
SnapVector( hook->s.pos.trDelta ); // save net bandwidth
|
||||
VectorCopy (start, hook->r.currentOrigin);
|
||||
|
||||
self->client->hook = hook;
|
||||
|
||||
return hook;
|
||||
}
|
||||
*/
|
||||
//=====================================
|
||||
// fire mine
|
||||
//=====================================
|
||||
|
||||
|
||||
gentity_t *fire_mine( gentity_t *self, vec3_t start, vec3_t dir){
|
||||
|
|
|
@ -241,6 +241,7 @@ void Bullet_Fire (gentity_t *ent, float spread, int damage, int mod ) {
|
|||
for (i = 0; i < 10; i++) {
|
||||
|
||||
trap_Trace (&tr, muzzle, NULL, NULL, end, passent, MASK_SHOT);
|
||||
// trap_Trace (&tr, muzzle, NULL, NULL, end, ENTITYNUM_NONE, MASK_SHOT);
|
||||
if ( tr.surfaceFlags & SURF_NOIMPACT ) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#define BASETA "missionpack"
|
||||
|
||||
#ifndef PRODUCT_VERSION
|
||||
#define PRODUCT_VERSION "v0.3c" // r414
|
||||
#define PRODUCT_VERSION "v0.3c_r415"
|
||||
#endif
|
||||
|
||||
|
||||
|
|
112
q3rallycode.ppr
112
q3rallycode.ppr
|
@ -192,7 +192,7 @@ q3rallycode
|
|||
engine\code\client\snd_openal.c
|
||||
engine\code\client\snd_public.h
|
||||
engine\code\client\snd_wavelet.c
|
||||
-game
|
||||
+game
|
||||
engine\code\game\ai_chat.c
|
||||
engine\code\game\ai_chat.h
|
||||
engine\code\game\ai_cmd.c
|
||||
|
@ -886,109 +886,21 @@ q3rallycode
|
|||
engine\cross-make-mingw64.sh
|
||||
[Open project files]
|
||||
0=engine\code\qcommon\q_shared.h
|
||||
1=engine\code\qcommon\qcommon.h
|
||||
2=engine\code\cgame\cg_info.c
|
||||
3=engine\code\qcommon\files.c
|
||||
4=engine\code\game\bg_public.h
|
||||
5=engine\code\cgame\cg_local.h
|
||||
6=engine\code\cgame\cg_main.c
|
||||
7=engine\code\cgame\cg_players.c
|
||||
8=engine\code\cgame\cg_draw.c
|
||||
9=engine\code\cgame\cg_newdraw.c
|
||||
10=engine\code\cgame\cg_rally_hud.c
|
||||
11=engine\code\cgame\cg_rally_hud2.c
|
||||
12=engine\code\game\g_team.c
|
||||
13=engine\code\cgame\cg_scoreboard.c
|
||||
14=engine\code\game\g_client.c
|
||||
15=engine\code\game\g_cmds.c
|
||||
16=engine\code\renderergl1\tr_shade_calc.c
|
||||
17=engine\code\cgame\cg_servercmds.c
|
||||
18=engine\code\game\bg_misc.c
|
||||
19=engine\code\game\g_items.c
|
||||
20=engine\code\game\g_spawn.c
|
||||
21=engine\code\game\g_arenas.c
|
||||
22=engine\code\game\bg_pmove.c
|
||||
23=engine\code\game\g_weapon.c
|
||||
24=engine\code\cgame\cg_weapons.c
|
||||
25=engine\code\game\g_missile.c
|
||||
1=engine\code\game\g_client.c
|
||||
2=engine\code\game\g_missile.c
|
||||
3=engine\code\game\g_weapon.c
|
||||
[Selected Project Files]
|
||||
Main=
|
||||
Selected=engine\code\qcommon\q_shared.h
|
||||
[engine\code\qcommon\q_shared.h]
|
||||
TopLine=55
|
||||
Caret=46,70
|
||||
[engine\code\qcommon\qcommon.h]
|
||||
TopLine=700
|
||||
Caret=1,715
|
||||
[engine\code\cgame\cg_info.c]
|
||||
TopLine=195
|
||||
Caret=1,210
|
||||
[engine\code\qcommon\files.c]
|
||||
TopLine=193
|
||||
Caret=21,210
|
||||
[engine\code\game\bg_public.h]
|
||||
TopLine=417
|
||||
Caret=24,434
|
||||
[engine\code\cgame\cg_local.h]
|
||||
TopLine=676
|
||||
Caret=1,684
|
||||
[engine\code\cgame\cg_main.c]
|
||||
TopLine=1095
|
||||
Caret=25,1097
|
||||
[engine\code\cgame\cg_players.c]
|
||||
TopLine=2084
|
||||
Caret=1,2099
|
||||
[engine\code\cgame\cg_draw.c]
|
||||
TopLine=533
|
||||
Caret=27,561
|
||||
[engine\code\cgame\cg_newdraw.c]
|
||||
TopLine=1192
|
||||
Caret=29,1211
|
||||
[engine\code\cgame\cg_rally_hud.c]
|
||||
TopLine=828
|
||||
Caret=1,835
|
||||
[engine\code\cgame\cg_rally_hud2.c]
|
||||
TopLine=114
|
||||
Caret=1,129
|
||||
[engine\code\game\g_team.c]
|
||||
TopLine=1137
|
||||
Caret=3,1170
|
||||
[engine\code\cgame\cg_scoreboard.c]
|
||||
TopLine=444
|
||||
Caret=1,457
|
||||
Caret=36,70
|
||||
[engine\code\game\g_client.c]
|
||||
TopLine=1
|
||||
Caret=1,700
|
||||
[engine\code\game\g_cmds.c]
|
||||
TopLine=110
|
||||
Caret=1,124
|
||||
[engine\code\renderergl1\tr_shade_calc.c]
|
||||
TopLine=896
|
||||
Caret=44,909
|
||||
[engine\code\cgame\cg_servercmds.c]
|
||||
TopLine=397
|
||||
Caret=1,415
|
||||
[engine\code\game\bg_misc.c]
|
||||
TopLine=937
|
||||
Caret=19,958
|
||||
[engine\code\game\g_items.c]
|
||||
TopLine=805
|
||||
Caret=1,819
|
||||
[engine\code\game\g_spawn.c]
|
||||
TopLine=318
|
||||
Caret=59,335
|
||||
[engine\code\game\g_arenas.c]
|
||||
TopLine=79
|
||||
Caret=52,92
|
||||
[engine\code\game\bg_pmove.c]
|
||||
TopLine=1871
|
||||
Caret=15,2050
|
||||
[engine\code\game\g_weapon.c]
|
||||
TopLine=1295
|
||||
Caret=25,1308
|
||||
[engine\code\cgame\cg_weapons.c]
|
||||
TopLine=2121
|
||||
Caret=1,2125
|
||||
TopLine=1651
|
||||
Caret=9,1672
|
||||
[engine\code\game\g_missile.c]
|
||||
TopLine=1092
|
||||
Caret=19,1107
|
||||
TopLine=15
|
||||
Caret=27,34
|
||||
[engine\code\game\g_weapon.c]
|
||||
TopLine=734
|
||||
Caret=27,742
|
||||
|
|
Loading…
Reference in a new issue