diff options
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/bg_misc.c | 6 | ||||
-rw-r--r-- | src/game/g_buildable.c | 52 |
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; |