summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/g_buildable.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c
index a65f2a0..164bbcf 100644
--- a/src/game/g_buildable.c
+++ b/src/game/g_buildable.c
@@ -2915,6 +2915,8 @@ void G_BuildableThink( gentity_t *ent, int msec )
//fall back on normal physics routines
G_Physics( ent, msec );
+
+ VectorCopy(ent->r.currentOrigin, ent->s.origin);
}
@@ -3420,13 +3422,13 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance
if( !( normal[ 2 ] >= minNormal || ( invert && normal[ 2 ] <= -minNormal ) ) )
reason = IBE_NORMAL;
- if( tr1.entityNum != ENTITYNUM_WORLD )
- reason = IBE_NORMAL;
-
// check nobuild zones
if( nobuild_check( entity_origin ) >= 0 )
reason = IBE_PERMISSION;
+ if( tr1.entityNum != ENTITYNUM_WORLD && g_entities[ tr1.entityNum ].s.eType != ET_MOVER )
+ reason = IBE_NORMAL;
+
contents = trap_PointContents( entity_origin, -1 );
if( ent->client->ps.stats[ STAT_PTEAM ] == PTE_ALIENS )