summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_misc.c6
-rw-r--r--src/game/g_buildable.c52
2 files changed, 55 insertions, 3 deletions
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index 95887e9b..cd54f3d0 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -189,13 +189,13 @@ buildableAttributes_t bg_buildableList[ ] =
( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int stages
1000, //int health;
50, //int damage;
- 20, //int splashDamage;
- 50, //int splashRadius;
+ 50, //int splashDamage;
+ 300, //int splashRadius;
MOD_ASPAWN, //int meansOfDeath;
BIT_ALIENS, //int team;
( 1 << WP_ABUILD )|( 1 << WP_ABUILD2 ), //weapon_t buildWeapon;
BANIM_IDLE1, //int idleAnim;
- -1, //int nextthink;
+ 1000, //int nextthink;
0, //int turretFireSpeed;
0, //int turretRange;
WP_NONE, //weapon_t turretProjType;
diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c
index 9944f55f..3ae84654 100644
--- a/src/game/g_buildable.c
+++ b/src/game/g_buildable.c
@@ -454,10 +454,61 @@ void ASpawn_Pain( gentity_t *self, gentity_t *attacker, int damage )
+
+
//==================================================================================
+
+
+/*
+================
+AOvermind_Think
+
+think function for Alien Acid Tube
+================
+*/
+void AOvermind_Think( gentity_t *self )
+{
+ int entityList[ MAX_GENTITIES ];
+ vec3_t range = { 200, 200, 200 };
+ vec3_t mins, maxs;
+ int i, num;
+ gentity_t *enemy;
+
+ VectorAdd( self->s.origin, range, maxs );
+ VectorSubtract( self->s.origin, range, mins );
+
+ //do some damage
+ num = trap_EntitiesInBox( mins, maxs, entityList, MAX_GENTITIES );
+ for( i = 0; i < num; i++ )
+ {
+ enemy = &g_entities[ entityList[ i ] ];
+
+ if( enemy->client && enemy->client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS )
+ {
+ self->timestamp = level.time;
+ G_SelectiveRadiusDamage( self->s.pos.trBase, self, self->splashDamage,
+ self->splashRadius, self, MOD_SHOTGUN, PTE_ALIENS );
+ G_setBuildableAnim( self, BANIM_ATTACK1, qfalse );
+ }
+ }
+
+ self->nextthink = level.time + BG_FindNextThinkForBuildable( self->s.modelindex );
+}
+
+
+
+
+
+
+//==================================================================================
+
+
+
+
+
/*
================
ABarricade_Pain
@@ -1984,6 +2035,7 @@ gentity_t *G_buildItem( gentity_t *builder, buildable_t buildable, vec3_t origin
case BA_A_HIVEMIND:
built->die = ASpawn_Die;
+ built->think = AOvermind_Think;
built->pain = ASpawn_Pain;
break;