summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2015-06-28 21:06:06 +0200
committerPaweł Redman <pawel.redman@gmail.com>2015-06-28 21:06:06 +0200
commit93d2e4414ee25e417ee0d2ca0248448002ea4d5b (patch)
treef8a5884f09d7396bd04f4b356767230144f50d3a
parent5904b538d7fd639429a450b0ad7928cd311213fd (diff)
Remove all code and assets related to Mine, Smoke and Flames.
-rw-r--r--assets/icons/iconw_mine.tgabin40044 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/impact0.wavbin109484 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/mine.jpgbin67518 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/mine.md3bin24364 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/mine_blend.jpgbin26528 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/mine_spike.jpgbin18106 -> 0 bytes
-rw-r--r--assets/models/weapons/mine/weapon.cfg10
-rw-r--r--assets/sound/misc/mine_bounce1.wavbin436436 -> 0 bytes
-rw-r--r--src/cgame/cg_event.c40
-rw-r--r--src/cgame/cg_local.h1
-rw-r--r--src/cgame/cg_main.c4
-rw-r--r--src/cgame/cg_weapons.c2
-rw-r--r--src/game/bg_misc.c52
-rw-r--r--src/game/bg_mod.h3
-rw-r--r--src/game/bg_public.h4
-rw-r--r--src/game/g_active.c15
-rw-r--r--src/game/g_csw.h1
-rw-r--r--src/game/g_local.h8
-rw-r--r--src/game/g_missile.c355
-rw-r--r--src/game/g_spawn.c2
-rw-r--r--src/game/g_weapon.c30
-rw-r--r--src/game/tremulous.h30
22 files changed, 4 insertions, 553 deletions
diff --git a/assets/icons/iconw_mine.tga b/assets/icons/iconw_mine.tga
deleted file mode 100644
index c8b9648..0000000
--- a/assets/icons/iconw_mine.tga
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/impact0.wav b/assets/models/weapons/mine/impact0.wav
deleted file mode 100644
index ff193fa..0000000
--- a/assets/models/weapons/mine/impact0.wav
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/mine.jpg b/assets/models/weapons/mine/mine.jpg
deleted file mode 100644
index 3c437ce..0000000
--- a/assets/models/weapons/mine/mine.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/mine.md3 b/assets/models/weapons/mine/mine.md3
deleted file mode 100644
index a82c10a..0000000
--- a/assets/models/weapons/mine/mine.md3
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/mine_blend.jpg b/assets/models/weapons/mine/mine_blend.jpg
deleted file mode 100644
index 36de1e5..0000000
--- a/assets/models/weapons/mine/mine_blend.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/mine_spike.jpg b/assets/models/weapons/mine/mine_spike.jpg
deleted file mode 100644
index 9072adc..0000000
--- a/assets/models/weapons/mine/mine_spike.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/models/weapons/mine/weapon.cfg b/assets/models/weapons/mine/weapon.cfg
deleted file mode 100644
index a873407..0000000
--- a/assets/models/weapons/mine/weapon.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-icon icons/iconw_mine
-
-primary
-{
- missileModel models/weapons/mine/mine.md3
- missileAnimates 0 20 20 0
- impactMark 64 gfx/marks/bullet_mrk
- impactParticleSystem models/weapons/grenade/impactPS2
- impactSound 0 models/weapons/mine/impact0.wav
-}
diff --git a/assets/sound/misc/mine_bounce1.wav b/assets/sound/misc/mine_bounce1.wav
deleted file mode 100644
index 22270f8..0000000
--- a/assets/sound/misc/mine_bounce1.wav
+++ /dev/null
Binary files differ
diff --git a/src/cgame/cg_event.c b/src/cgame/cg_event.c
index c6ecaad..eaf925e 100644
--- a/src/cgame/cg_event.c
+++ b/src/cgame/cg_event.c
@@ -148,7 +148,6 @@ static void CG_Obituary( entityState_t *ent )
switch( mod )
{
case MOD_FLAMER_SPLASH:
- case MOD_LEVEL4_FLAMES:
if( gender == GENDER_FEMALE )
message = "^5toasted herself";
else if( gender == GENDER_NEUTER )
@@ -220,7 +219,7 @@ static void CG_Obituary( entityState_t *ent )
else
message = "^5spiked himself";
break;
-
+
case MOD_PRIFLE:
if( gender == GENDER_FEMALE )
message = "^5pulse rifled herself";
@@ -229,25 +228,6 @@ static void CG_Obituary( entityState_t *ent )
else
message = "^5pulse rifled himself";
break;
-
-
- case MOD_MINE:
- if( gender == GENDER_FEMALE )
- message = "^5was betrayed by own mine";
- else if( gender == GENDER_NEUTER )
- message = "^5it betrayed by own mine";
- else
- message = "^5was betrayed by own mine";
- break;
-
- case MOD_FLAMES:
- if( gender == GENDER_FEMALE )
- message = "^5was terminated by own flames";
- else if( gender == GENDER_NEUTER )
- message = "^5it terminated by own flames";
- else
- message = "^5was terminated by own flames";
- break;
default:
if( gender == GENDER_FEMALE )
@@ -346,16 +326,6 @@ static void CG_Obituary( entityState_t *ent )
message = "^5was sliced by^7";
message2 = "^5's ^5blades";
break;
- case MOD_MINE:
- message = "^5found^7";
- message2 = "^5's ^5mine";
- break;
-
- case MOD_FLAMES:
- case MOD_LEVEL4_FLAMES:
- message = "^5tasted^7";
- message2 = "^5's ^5flames";
- break;
case MOD_ABUILDER_CLAW:
message = "^5should leave^7";
@@ -976,14 +946,6 @@ void CG_EntityEvent( centity_t *cent, vec3_t position )
trap_S_StartSound( NULL, es->number, CHAN_AUTO, cgs.media.hardBounceSound2 );
break;
- case EV_MINE_BOUNCE:
- if( rand( ) & 1 )
- trap_S_StartSound( NULL, es->number, CHAN_AUTO, cgs.media.mineBounceSound1 );
- else
- trap_S_StartSound( NULL, es->number, CHAN_AUTO, cgs.media.mineBounceSound1 );
- break;
- break;
-
case EV_ACIDBOMB_BOUNCE:
if( rand( ) & 1 )
trap_S_StartSound( NULL, es->number, CHAN_AUTO, cgs.media.acidBombBounceSound1 );
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 27e9baf..4642f64 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -1232,7 +1232,6 @@ typedef struct
sfxHandle_t turretSpinupSound;
sfxHandle_t hardBounceSound1;
sfxHandle_t hardBounceSound2;
- sfxHandle_t mineBounceSound1;
sfxHandle_t airpounce;
sfxHandle_t acidBombBounceSound1;
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index e17965c..158c0b5 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -752,9 +752,7 @@ static void CG_RegisterSounds( void )
cgs.media.hardBounceSound1 = trap_S_RegisterSound( "sound/misc/hard_bounce1.wav", qfalse );
cgs.media.hardBounceSound2 = trap_S_RegisterSound( "sound/misc/hard_bounce2.wav", qfalse );
-
- cgs.media.mineBounceSound1 = trap_S_RegisterSound( "sound/misc/mine_bounce1.wav", qfalse );
-
+
cgs.media.airpounce = trap_S_RegisterSound( "models/weapons/level5/airpounce.wav", qfalse );
cgs.media.acidBombBounceSound1 = trap_S_RegisterSound( "sound/misc/abomb_bounce1.wav", qfalse );
diff --git a/src/cgame/cg_weapons.c b/src/cgame/cg_weapons.c
index 12c2d21..4f2ef13 100644
--- a/src/cgame/cg_weapons.c
+++ b/src/cgame/cg_weapons.c
@@ -63,8 +63,6 @@ void CG_RegisterUpgrade( int upgradeNum )
//la la la la la, i'm not listening!
if( upgradeNum == UP_GRENADE )
upgradeInfo->upgradeIcon = cg_weapons[ WP_GRENADE ].weaponIcon;
- else if( upgradeNum == UP_MINE )
- upgradeInfo->upgradeIcon = cg_weapons[ WP_MINE ].weaponIcon;
else if( ( icon = BG_Upgrade( upgradeNum )->icon ) )
upgradeInfo->upgradeIcon = trap_R_RegisterShader( icon );
}
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index e668b14..ff158bb 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -3531,31 +3531,6 @@ static const weaponAttributes_t bg_weapons[ ] =
TEAM_HUMANS //team_t team;
},
{
- WP_MINE, //int weaponNum;
- MINE_PRICE, //int price;
- STAGE_GE_5, //int stages
- SLOT_NONE, //int slots;
- "mine", //char *weaponName;
- "Sticky Grenade", //char *weaponHumanName;
- "",
- 1, //int maxAmmo;
- 0, //int maxClips;
- qfalse, //int infiniteAmmo;
- qfalse, //int usesEnergy;
- MINE_REPEAT, //int repeatRate1;
- 0, //int repeatRate2;
- 0, //int repeatRate3;
- 0, //int reloadTime;
- MINE_K_SCALE, //float knockbackScale;
- qfalse, //qboolean hasAltMode;
- qfalse, //qboolean hasThirdMode;
- qfalse, //qboolean canZoom;
- 90.0f, //float zoomFov;
- qfalse, //qboolean purchasable;
- qfalse, //qboolean longRanged;
- TEAM_HUMANS //WUTeam_t team;
- },
- {
WP_HIVE, //int weaponNum;
0, //int price;
STAGE_GE_1, //int stages
@@ -3872,32 +3847,6 @@ static const upgradeAttributes_t bg_upgrades[ ] =
TEAM_HUMANS //team_t team;
},
{
- UP_MINE, //int upgradeNum;
- MINE_PRICE, //int price;
- STAGE_GE_5, //int stages
- SLOT_NONE, //int slots;
- "min", //char *upgradeName;
- "[yenade]Mine", //char *upgradeHumanName;
- "",
- 0,
- qtrue, //qboolean purchasable
- qtrue, //qboolean usable
- TEAM_HUMANS //WUTeam_t team;
- },
- {
- UP_SMOKE, //int upgradeNum;
- SMOKE_PRICE, //int price;
- STAGE_GE_5, //int stages
- SLOT_NONE, //int slots;
- "smo", //char *upgradeName;
- "[yenade]Smoke Grenade", //char *upgradeHumanName;
- "",
- 0,
- qfalse, //qboolean purchasable
- qtrue, //qboolean usable
- TEAM_HUMANS //WUTeam_t team;
- },
- {
UP_AMMO, //int upgradeNum;
0, //int price;
STAGE_GE_1, //int stages
@@ -4106,7 +4055,6 @@ char *eventnames[ ] =
"EV_PLAYER_TELEPORT_IN",
"EV_PLAYER_TELEPORT_OUT",
"EV_GRENADE_BOUNCE", // eventParm will be the soundindex
- "EV_MINE_BOUNCE", // eventParm will be the soundindex
"EV_GENERAL_SOUND",
"EV_GLOBAL_SOUND", // no attenuation
"EV_BULLET_HIT_FLESH",
diff --git a/src/game/bg_mod.h b/src/game/bg_mod.h
index eed80a2..d02e8ed 100644
--- a/src/game/bg_mod.h
+++ b/src/game/bg_mod.h
@@ -17,8 +17,6 @@ MOD( MOD_ROCKETL, CSW_ROCKETL ),
MOD( MOD_ROCKETL_SPLASH, CSW_ROCKETL ),
MOD( MOD_GRENADE, CSW_GRENADE ),
MOD( MOD_PSAWBLADE, CSW_PAINSAW_ALT ),
-MOD( MOD_MINE, CSW_UNKNOWN ),
-MOD( MOD_FLAMES, CSW_UNKNOWN ),
MOD( MOD_SPITEFUL_ABCESS, CSW_UNKNOWN ),
MOD( MOD_WATER, CSW_UNKNOWN ),
MOD( MOD_SLIME, CSW_UNKNOWN ),
@@ -47,7 +45,6 @@ MOD( MOD_LEVEL2_BOUNCEBALL, CSW_UNKNOWN ),
MOD( MOD_LEVEL4_CLAW, CSW_LEVEL4 ),
MOD( MOD_LEVEL4_TRAMPLE, CSW_UNKNOWN ),
MOD( MOD_LEVEL4_CRUSH, CSW_UNKNOWN ),
-MOD( MOD_LEVEL4_FLAMES, CSW_LEVEL4_ALT ),
MOD( MOD_SLOWBLOB, CSW_UNKNOWN ),
MOD( MOD_POISON, CSW_UNKNOWN ),
MOD( MOD_SWARM, CSW_UNKNOWN ),
diff --git a/src/game/bg_public.h b/src/game/bg_public.h
index bd4d47c..b0c1213 100644
--- a/src/game/bg_public.h
+++ b/src/game/bg_public.h
@@ -368,7 +368,6 @@ typedef enum
WP_LUCIFER_CANNON,
WP_ROCKET_LAUNCHER,
WP_GRENADE,
- WP_MINE,
WP_HIVE,
WP_TESLAGEN,
WP_MGTURRET,
@@ -389,8 +388,6 @@ typedef enum
UP_JETPACK,
UP_BATTLESUIT,
UP_GRENADE,
- UP_MINE,
- UP_SMOKE,
UP_AMMO,
UP_NUM_UPGRADES
} upgrade_t;
@@ -523,7 +520,6 @@ typedef enum
EV_PLAYER_TELEPORT_IN,
EV_PLAYER_TELEPORT_OUT,
EV_GRENADE_BOUNCE, // eventParm will be the soundindex
- EV_MINE_BOUNCE, // eventParm will be the soundindex
EV_GENERAL_SOUND,
EV_GLOBAL_SOUND, // no attenuation
EV_BULLET_HIT_FLESH,
diff --git a/src/game/g_active.c b/src/game/g_active.c
index f8b28f1..b3df37b 100644
--- a/src/game/g_active.c
+++ b/src/game/g_active.c
@@ -1710,21 +1710,6 @@ void ClientThink_real( gentity_t *ent )
ent->s.weapon = lastWeapon;
}
- if( BG_InventoryContainsUpgrade( UP_MINE, client->ps.stats ) &&
- BG_UpgradeIsActive( UP_MINE, client->ps.stats ) )
- {
- int lastWeapon = ent->s.weapon;
-
- //remove MINE
- BG_DeactivateUpgrade( UP_MINE, client->ps.stats );
- BG_RemoveUpgradeFromInventory( UP_MINE, client->ps.stats );
-
- //M-M-M-M-MONSTER HACK
- ent->s.weapon = WP_MINE;
- FireWeapon( ent );
- ent->s.weapon = lastWeapon;
- }
-
// set speed
if( client->ps.pm_type == PM_NOCLIP )
client->ps.speed = client->pers.flySpeed;
diff --git a/src/game/g_csw.h b/src/game/g_csw.h
index 96158b7..3b93529 100644
--- a/src/game/g_csw.h
+++ b/src/game/g_csw.h
@@ -24,7 +24,6 @@ CSW( CSW_LEVEL2_ALT, MOD_LEVEL2_ZAP, "Marauder Zap", LEVEL2_AREAZAP
CSW( CSW_LEVEL3, MOD_LEVEL3_CLAW, "Dragoon", LEVEL3_CLAW_DMG ),
CSW( CSW_LEVEL3_ALT, MOD_LEVEL3_BOUNCEBALL, "Dragoon Barb", LEVEL3_BOUNCEBALL_DMG ),
CSW( CSW_LEVEL4, MOD_LEVEL4_CLAW, "Tyrant", LEVEL4_CLAW_DMG ),
-CSW( CSW_LEVEL4_ALT, MOD_LEVEL4_FLAMES, "Tyrant Flames", 50 ),
CSW( CSW_LEVEL5, MOD_LEVEL5_CLAW, "Hummel", LEVEL5_CLAW_DMG ),
CSW( CSW_LEVEL5_ALT, MOD_LEVEL5_BOUNCEBALL, "Hummel Prickles", LEVEL5_PRICKLES_DMG )
diff --git a/src/game/g_local.h b/src/game/g_local.h
index c11df7c..c1cde73 100644
--- a/src/game/g_local.h
+++ b/src/game/g_local.h
@@ -1001,12 +1001,7 @@ void G_LogCombatStats( gentity_t *ent );
//
void G_RunMissile( gentity_t *ent );
-gentity_t *launch_grenade2( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_prifle_stasis( gentity_t *self, vec3_t start, vec3_t dir );
-gentity_t *flamerchageimpact( gentity_t *self, vec3_t start, vec3_t dir, int damage, int radius, int speed );
-gentity_t *launch_nadeflames( gentity_t *self, vec3_t start, vec3_t dir );
-gentity_t *flamerfire3( gentity_t *self, vec3_t start, vec3_t dir, int damage, int radius, int speed );
-gentity_t *flamerfire( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_flamer( gentity_t *self, vec3_t start, vec3_t aimdir );
gentity_t *fire_blaster( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_pulseRifle( gentity_t *self, vec3_t start, vec3_t dir );
@@ -1021,9 +1016,6 @@ gentity_t *launch_grenade_flames( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *launch_shield( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *launch_saw( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_md2( gentity_t *self, vec3_t start, vec3_t dir );
-gentity_t *launch_mine( gentity_t *self, vec3_t start, vec3_t dir );
-gentity_t *launch_flames( gentity_t *self, vec3_t start, vec3_t dir );
-gentity_t *launch_smoke( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_rocket( gentity_t *self, vec3_t start, vec3_t dir );
gentity_t *fire_fern( vec3_t origin, vec3_t angles, int lifespan );
diff --git a/src/game/g_missile.c b/src/game/g_missile.c
index 1894f94..5dd9725 100644
--- a/src/game/g_missile.c
+++ b/src/game/g_missile.c
@@ -48,26 +48,8 @@ void G_BounceMissile( gentity_t *ent, trace_t *trace )
if( ent->s.eFlags & EF_BOUNCE_HALF )
{
-
- if(!strcmp(ent->classname,"mine")) {
- VectorScale( ent->s.pos.trDelta, 0.00, ent->s.pos.trDelta );
- if( VectorLength( ent->s.pos.trDelta ) < 40 )
- {
- G_SetOrigin( ent, trace->endpos );
- return;
- }
- }
- if(!strcmp(ent->classname,"flames")) {
- VectorScale( ent->s.pos.trDelta, 0.00, ent->s.pos.trDelta );
- if( VectorLength( ent->s.pos.trDelta ) < 40 )
- {
- G_SetOrigin( ent, trace->endpos );
- return;
- }
- }
- else {
- VectorScale( ent->s.pos.trDelta, 0.65, ent->s.pos.trDelta );
- }
+ VectorScale( ent->s.pos.trDelta, 0.65, ent->s.pos.trDelta );
+
// check for stop
if( trace->plane.normal[ 2 ] > 0.2 && VectorLength( ent->s.pos.trDelta ) < 40 )
{
@@ -169,17 +151,6 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace )
other->client->ps.stats[ STAT_VIEWLOCK ] = DirToByte( dir );
}
}
- else if( !strcmp( ent->classname, "mine"))
- {
- //grenade doesn't explode on impact
- G_BounceMissile( ent, trace );
- //only play a sound if requested
- if( !other->client && !( ent->s.eFlags & EF_NO_BOUNCE_SOUND ))
- {
- G_AddEvent( ent, EV_MINE_BOUNCE, 0 );
- }
- return;
- }
else if( !strcmp( ent->classname, "acidbomb" ) )
{
//bomb doesn't explode on impact
@@ -424,143 +395,6 @@ void G_RunMissile( gentity_t *ent )
G_RunThink( ent );
}
-
-/*
-================
-G_ProcessFlamerFlames
-Spreads flames all over the place
-================
-*/
-void G_ProcessFlamerFlames(gentity_t *ent)
-{
- int i, total_entities, entityList[MAX_GENTITIES];
- vec3_t range, mins, maxs;
- gentity_t *target;
-
- if (level.time > ent->s.time + 11000)
- {
- ent->nextthink = level.time;
- ent->think = G_ExplodeMissile;
- return;
- }
- trap_LinkEntity( ent );
- // Set the next time to run this check (can be overwritten below)
- ent->nextthink = level.time + 400;
- // Grab all entities around us
- VectorSet(range, FLAMES_DETECT, FLAMES_DETECT, FLAMES_DETECT);
- VectorAdd(ent->s.origin, range, maxs);
- VectorSubtract(ent->s.origin, range, mins);
- total_entities = trap_EntitiesInBox(mins, maxs, entityList, MAX_GENTITIES);
- // Loop entities looking for an enemy body
- for(i=0; i<total_entities; i++) {
- target = &g_entities[entityList[i]];
- if(target->client) {
- if (G_Visible( ent, target, MASK_SHOT ))
- {
- G_Damage( target, ent, ent->parent, NULL, ent->s.origin, ent->damage/3, 0, ent->methodOfDeath );
- return;
- }
- }
- }
-}
-
-
-/*
-================
-G_ProcessSmoke
-================
-*/
-void G_ProcessSmoke(gentity_t *ent) {
- // int i, total_entities, entityList[MAX_GENTITIES];
- // vec3_t range, mins, maxs;
- // gentity_t *target;
- if (level.time > ent->s.time + 30000)
- {
- ent->nextthink = level.time + 100;
- ent->think = G_ExplodeMissile;
- return;
- }
- // Set the next time to run this check (can be overwritten below)
- ent->nextthink = level.time + SMOKE_CHECK_FREQUENCY;
-}
-
-/*
-================
-G_ProcessMine
-If an enemy is close to the entity, go boom!
-================
-*/
-void G_ProcessMine(gentity_t *ent) {
- int i, total_entities, entityList[MAX_GENTITIES];
- vec3_t range, mins, maxs;
- gentity_t *target;
-
- // Set the next time to run this check (can be overwritten below)
- ent->nextthink = level.time + MINE_CHECK_FREQUENCY;
-
- // Grab all entities around us
- VectorSet(range, MINE_DETECT, MINE_DETECT, MINE_DETECT);
- VectorAdd(ent->s.origin, range, maxs);
- VectorSubtract(ent->s.origin, range, mins);
-
- total_entities = trap_EntitiesInBox(mins, maxs, entityList, MAX_GENTITIES);
-
- // Loop entities looking for an enemy body
- for(i=0; i<total_entities; i++) {
- target = &g_entities[entityList[i]];
- if(target->client &&
- target->client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS/* &&
- target->client->ps.weapon > WP_ALEVEL1_UPG */)
- {
- if (G_Visible( ent, target, MASK_SHOT ))
- {
- // Found an enemy, boom time!
- ent->nextthink = level.time + MINE_BOOM_TIME;
- ent->think = G_ExplodeMissile;
- return;
- }
- }
- }
-}
-
-/*
-=================
-launch_grenade_flames
-=================
-*/
-gentity_t *launch_grenade_flames( gentity_t *self, vec3_t start, vec3_t dir )
-{
- gentity_t *bolt;
- VectorNormalize( dir );
- bolt = G_Spawn( );
- bolt->classname = "flames";
- bolt->nextthink = level.time + 5000;
- bolt->think = G_ProcessFlamerFlames;
- bolt->s.eType = ET_MISSILE;
- bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
- bolt->s.eFlags = EF_NO_BOUNCE_SOUND;
- bolt->s.generic1 = WPM_PRIMARY; //weaponMode
- bolt->r.ownerNum = self->s.number;
- bolt->parent = self;
- bolt->damage = 3;
- bolt->splashDamage = 0;
- bolt->splashRadius = 0;
- bolt->methodOfDeath = MOD_FLAMES;
- bolt->splashMethodOfDeath = MOD_FLAMES;
- bolt->clipmask = MASK_SHOT;
- bolt->target_ent = NULL;
- bolt->r.mins[ 0 ] = bolt->r.mins[ 1 ] = bolt->r.mins[ 2 ] = -3.0f;
- bolt->r.maxs[ 0 ] = bolt->r.maxs[ 1 ] = bolt->r.maxs[ 2 ] = 3.0f;
- bolt->s.time = level.time;
- bolt->s.pos.trType = TR_GRAVITY;
- bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
- VectorCopy( start, bolt->s.pos.trBase );
- VectorScale( dir, NADEFLAMES_SPEED, bolt->s.pos.trDelta );
- SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
- VectorCopy( start, bolt->r.currentOrigin );
- return bolt;
-}
-
/*
=================
FlameTurretFireNormal
@@ -601,145 +435,6 @@ gentity_t *FlameTurretFireNormal( gentity_t *self, vec3_t start, vec3_t dir )
return bolt;
}
-
-/*
-=================
-NapalmChargeFire
-Naplam charge for Flamer
-=================
-*/
-gentity_t *NapalmChargeFire( gentity_t *self, vec3_t start, vec3_t dir,
- int damage, int radius, int speed )
-{
- gentity_t *bolt;
- float charge;
- vec3_t pvel;
- VectorNormalize( dir );
- bolt = G_Spawn( );
- bolt->classname = "lcannon";
- bolt->pointAgainstWorld = qtrue;
- bolt->think = G_ExplodeMissile;
- bolt->s.eType = ET_MISSILE;
- bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
- bolt->s.weapon = WP_FLAMER;
- bolt->s.generic1 = self->s.generic1; //weaponMode
- bolt->r.ownerNum = self->s.number;
- bolt->parent = self;
- bolt->damage = damage / 1.7;
- bolt->splashDamage = damage / 5.2;
- bolt->splashRadius = damage / 1.1 ;
- bolt->methodOfDeath = MOD_FLAMES;
- bolt->splashMethodOfDeath = MOD_FLAMER_SPLASH;
- bolt->clipmask = MASK_SHOT;
- bolt->target_ent = NULL;
- bolt->r.mins[ 0 ] = bolt->r.mins[ 1 ] = bolt->r.mins[ 2 ] = -LCANNON_SIZE;
- bolt->r.maxs[ 0 ] = bolt->r.maxs[ 1 ] = bolt->r.maxs[ 2 ] = -bolt->r.mins[ 0 ];
- // Pass the missile charge through
- charge = (float)( damage - LCANNON_SECONDARY_DAMAGE ) / LCANNON_DAMAGE;
- bolt->s.torsoAnim = charge * 255;
- if( bolt->s.torsoAnim < 0 )
- bolt->s.torsoAnim = 0;
- bolt->s.pos.trType = TR_GRAVITY;
- bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
-
- VectorCopy( start, bolt->s.pos.trBase );
- VectorScale( self->client->ps.velocity, FLAMER_LAG, pvel );
- VectorMA( pvel, FLAMER_SPEED+(damage*4), dir, bolt->s.pos.trDelta );
- SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
- VectorCopy( start, bolt->r.currentOrigin );
- return bolt;
-}
-
-/*
-=================
-NapalmChargeImp
-Fire field for Napalm
-=================
-*/
-gentity_t *NapalmChargeImp( gentity_t *self, vec3_t start, vec3_t dir,
- int damage, int radius, int speed )
-{
- gentity_t *bolt;
- vec3_t pvel;
- float charge;
- VectorNormalize( dir );
-
- bolt = G_Spawn( );
- bolt->classname = "flames";
- bolt->nextthink = level.time;
- bolt->think = G_ProcessFlamerFlames;
- bolt->s.eType = ET_MISSILE;
- bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
- bolt->s.eFlags = EF_BOUNCE_HALF;
- bolt->s.generic1 = WPM_PRIMARY; //weaponMode
- bolt->r.ownerNum = self->s.number;
- bolt->parent = self;
- bolt->damage = damage /8 ;
- bolt->splashDamage = 0;
- bolt->splashRadius = 0;
- bolt->methodOfDeath = MOD_FLAMES;
- bolt->splashMethodOfDeath = MOD_FLAMES;
- bolt->clipmask = MASK_SHOT;
- bolt->target_ent = NULL;
- bolt->r.mins[ 0 ] = bolt->r.mins[ 1 ] = bolt->r.mins[ 2 ] = -5.0f;
- bolt->r.maxs[ 0 ] = bolt->r.maxs[ 1 ] = bolt->r.maxs[ 2 ] = 5.0f;
- charge = (float)( damage - LCANNON_SECONDARY_DAMAGE ) / LCANNON_DAMAGE;
- bolt->s.torsoAnim = charge * 255;
- if( bolt->s.torsoAnim < 0 )
- bolt->s.torsoAnim = 0;
- bolt->s.time = level.time;
- bolt->s.pos.trType = TR_GRAVITY;
- bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
- VectorCopy( start, bolt->s.pos.trBase );
- VectorScale( self->client->ps.velocity, FLAMER_LAG, pvel );
- VectorMA( pvel, FLAMER_SPEED+(damage*4), dir, bolt->s.pos.trDelta );
- SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
- VectorCopy( start, bolt->r.currentOrigin );
- return bolt;
-}
-
-/*
-=================
-FireBreath_fire
-=================
-*/
-gentity_t *FireBreath_fire( gentity_t *self, vec3_t start, vec3_t dir,
- int damage, int radius, int speed )
-{
- gentity_t *bolt;
- vec3_t pvel;
- VectorNormalize( dir );
- bolt = G_Spawn( );
- bolt->classname = "flames";
- bolt->pointAgainstWorld = qtrue;
- bolt->think = G_ExplodeMissile;
- bolt->s.eType = ET_MISSILE;
- bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
- bolt->s.weapon = WP_ALEVEL4;
- bolt->s.generic1 = WPM_TERTIARY; //weaponMode
- bolt->r.ownerNum = self->s.number;
- bolt->parent = self;
- bolt->damage = LEVEL4_FIREBREATHDMG;
- bolt->splashDamage = 60;
- bolt->splashRadius = 250 ;
- bolt->methodOfDeath = MOD_LEVEL4_FLAMES;
- bolt->splashMethodOfDeath = MOD_LEVEL4_FLAMES;
- bolt->clipmask = MASK_SHOT;
- bolt->target_ent = NULL;
-
- // Give the missile a big bounding box
- bolt->r.mins[ 0 ] = bolt->r.mins[ 1 ] = bolt->r.mins[ 2 ] = -(25);
- bolt->r.maxs[ 0 ] = bolt->r.maxs[ 1 ] = bolt->r.maxs[ 2 ] = (25);
- 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 );
- VectorScale( self->client->ps.velocity, FLAMER_LAG, pvel );
- VectorMA( pvel, LEVEL4_FIREBREATHSPEED, dir, bolt->s.pos.trDelta );
- SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
- VectorCopy( start, bolt->r.currentOrigin );
- return bolt;
-}
-
/*
=================
FlamerNormalFire
@@ -1477,52 +1172,6 @@ gentity_t *fire_slowBlob( gentity_t *self, vec3_t start, vec3_t dir )
return bolt;
}
-
-void mine_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod )
-{
- self->nextthink = level.time + MINE_BOOM_TIME;
- self->think = G_ExplodeMissile;
-}
-
-gentity_t *launch_mine( gentity_t *self, vec3_t start, vec3_t dir )
-{
- gentity_t *bolt;
- VectorNormalize( dir );
- bolt = G_Spawn( );
- bolt->classname = "mine";
- /* bolt->nextthink = level.time + MINE_INIT_TIME;
- bolt->think = G_ProcessMine; */
- bolt->nextthink = level.time + 5000;
- bolt->think = G_ExplodeMissile;
- bolt->s.eType = ET_MISSILE;
- bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
- bolt->s.weapon = WP_MINE;
- bolt->s.eFlags = EF_BOUNCE_HALF;
- bolt->s.generic1 = WPM_PRIMARY; //weaponMode
- bolt->r.ownerNum = self->s.number;
- bolt->parent = self;
- bolt->damage = MINE_DAMAGE;
- bolt->splashDamage = MINE_DAMAGE;
- bolt->splashRadius = MINE_RANGE;
- bolt->methodOfDeath = MOD_MINE;
- bolt->splashMethodOfDeath = MOD_MINE;
- bolt->clipmask = MASK_SHOT;
- bolt->takedamage = MINE_TAKEDAMAGE;
- bolt->health = MINE_HEALTH;
- bolt->die = mine_die;
- bolt->target_ent = NULL;
- bolt->r.mins[ 0 ] = bolt->r.mins[ 1 ] = bolt->r.mins[ 2 ] = -3.0f;
- bolt->r.maxs[ 0 ] = bolt->r.maxs[ 1 ] = bolt->r.maxs[ 2 ] = 3.0f;
- bolt->s.time = level.time;
- bolt->s.pos.trType = TR_GRAVITY;
- bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
- VectorCopy( start, bolt->s.pos.trBase );
- VectorScale( dir, MINE_SPEED, bolt->s.pos.trDelta );
- SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
- VectorCopy( start, bolt->r.currentOrigin );
- return bolt;
-}
-
/*
=================
Prickles_Fire
diff --git a/src/game/g_spawn.c b/src/game/g_spawn.c
index 8edf5c3..7661ed9 100644
--- a/src/game/g_spawn.c
+++ b/src/game/g_spawn.c
@@ -224,8 +224,6 @@ void SP_misc_portal_surface( gentity_t *ent );
void SP_shooter_rocket( gentity_t *ent );
void SP_shooter_plasma( gentity_t *ent );
void SP_shooter_grenade( gentity_t *ent );
-void SP_mine_grenade( gentity_t *ent );
-void SP_smoke_grenade( gentity_t *ent );
void SP_misc_particle_system( gentity_t *ent );
void SP_misc_anim_model( gentity_t *ent );
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c
index 90eb069..0925973 100644
--- a/src/game/g_weapon.c
+++ b/src/game/g_weapon.c
@@ -607,17 +607,6 @@ Normal
}
/*
-===============
-FireBreath Tyrant
-===============
-*/
-void FireBreath_tyrant( gentity_t *ent )
-{
- G_CombatStats_Fire( ent, CSW_LEVEL4_ALT, LEVEL4_FIREBREATHDMG );
- FireBreath_fire( ent, muzzle, forward, 0, LCANNON_RADIUS, LCANNON_SPEED );
-}
-
-/*
======================================================================
FlameTurret
======================================================================
@@ -640,18 +629,6 @@ void throwGrenade( gentity_t *ent )
G_CombatStats_Fire( ent, CSW_GRENADE, GRENADE_DAMAGE );
launch_grenade( ent, muzzle, forward );
- launch_grenade_flames( ent, muzzle, forward );
-}
-
-/*
-======================================================================
-MINE
-======================================================================
-*/
-
-void throwMine( gentity_t *ent )
-{
- launch_mine( ent, muzzle, forward );
}
/*
@@ -1160,8 +1137,6 @@ static void G_FindZapChainTargets( zap_t *zap )
enemy->client->ps.stats[ STAT_TEAM ] == TEAM_HUMANS ) ||
( enemy->s.eType == ET_BUILDABLE &&
BG_Buildable( enemy->s.modelindex )->team == TEAM_HUMANS ) ||
- ( enemy->s.eType == ET_MISSILE &&
- enemy->s.weapon == WP_MINE ) ||
( enemy->client &&
enemy->client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS &&
enemy->client->ps.stats[ STAT_CLASS ] == PCL_ALIEN_LEVEL2_UPG ) ) &&
@@ -1382,8 +1357,6 @@ void areaZapFire( gentity_t *ent )
if( ( traceEnt->client && traceEnt->client->ps.stats[ STAT_TEAM ] == TEAM_HUMANS ) ||
( traceEnt->s.eType == ET_BUILDABLE &&
BG_Buildable( traceEnt->s.modelindex )->team == TEAM_HUMANS ) ||
- ( traceEnt->s.eType == ET_MISSILE &&
- traceEnt->s.weapon == WP_MINE ) ||
( traceEnt->client && traceEnt->client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS &&
traceEnt->client->ps.stats[ STAT_CLASS ] == PCL_ALIEN_LEVEL2_UPG ) )
{
@@ -1833,9 +1806,6 @@ void FireWeapon( gentity_t *ent )
case WP_GRENADE:
throwGrenade( ent );
break;
- case WP_MINE:
- throwMine( ent );
- break;
case WP_HIVE:
hiveFire( ent );
break;
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index 82e6b8e..3262b55 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -363,36 +363,6 @@ TREMULOUS EDGE MOD SRC FILE
#define GRENADE_RANGE 192.0f
#define GRENADE_SPEED 700.0f
-#define MINE_PRICE 600
-#define MINE_REPEAT 0
-#define MINE_K_SCALE 1.0f
-#define MINE_DAMAGE HDM(250)
-#define MINE_RANGE 200.0f
-#define MINE_DETECT 100.0f
-#define MINE_SPEED 500.0f
-#define MINE_INIT_TIME 3000
-#define MINE_CHECK_FREQUENCY 100
-#define MINE_BOOM_TIME 25
-#define MINE_TAKEDAMAGE qfalse
-#define MINE_HEALTH 40
-
-#define NADEFLAMES_SPEED 400.0f
-#define CHECK_FREQUENCY 100
-
-#define FLAMES_RANGE 40.0f
-#define FLAMES_DETECT 50.0f
-#define FLAMES_CHECK_FREQUENCY 100
-#define FLAMES_SPEED 400.0f
-
-#define SMOKE_PRICE 250
-#define SMOKE_REPEAT 0
-#define SMOKE_K_SCALE 1.0f
-#define SMOKE_SPEED 400.0f
-#define SMOKE_DAMAGE HDM(1)
-#define SMOKE_RANGE 10.0f
-#define SMOKE_DETECT 10.0f
-#define SMOKE_CHECK_FREQUENCY 100
-
#define SHOTGUN_PRICE 150
#define SHOTGUN_SHELLS 8
#define SHOTGUN_PELLETS 11 //used to sync server and client side