diff --git a/assets/icons/iconw_mine.tga b/assets/icons/iconw_mine.tga deleted file mode 100644 index c8b9648..0000000 Binary files a/assets/icons/iconw_mine.tga and /dev/null differ diff --git a/assets/models/weapons/mine/impact0.wav b/assets/models/weapons/mine/impact0.wav deleted file mode 100644 index ff193fa..0000000 Binary files a/assets/models/weapons/mine/impact0.wav and /dev/null differ diff --git a/assets/models/weapons/mine/mine.jpg b/assets/models/weapons/mine/mine.jpg deleted file mode 100644 index 3c437ce..0000000 Binary files a/assets/models/weapons/mine/mine.jpg and /dev/null differ diff --git a/assets/models/weapons/mine/mine.md3 b/assets/models/weapons/mine/mine.md3 deleted file mode 100644 index a82c10a..0000000 Binary files a/assets/models/weapons/mine/mine.md3 and /dev/null 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 Binary files a/assets/models/weapons/mine/mine_blend.jpg and /dev/null 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 Binary files a/assets/models/weapons/mine/mine_spike.jpg and /dev/null 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 Binary files a/assets/sound/misc/mine_bounce1.wav and /dev/null 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 @@ -3530,31 +3530,6 @@ static const weaponAttributes_t bg_weapons[ ] = qfalse, //qboolean longRanged; 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; @@ -3871,32 +3846,6 @@ static const upgradeAttributes_t bg_upgrades[ ] = qtrue, //qboolean usable 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; @@ -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; iclient) { - 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; iclient && - 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 @@ -606,17 +606,6 @@ Normal FlamerNormalFire( ent, origin, forward ); } -/* -=============== -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