For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

[all versions]bTurret=True does not prevent Brute from moving

Report bugs, read about fixes, new features and ask questions about the Unreal 227 patch here. Place comments and commit suggestions.
Post Reply
User avatar
Player701
OldUnreal Member
Posts: 52
Joined: Tue Jan 31, 2017 8:35 pm

[all versions]bTurret=True does not prevent Brute from moving

Post by Player701 »

This has existed since long before the 227 patch, so I'm not sure if it should be changed. However, this is a clear case of the code not doing what it says, so I thought I'd report it. Whether to change it or not, is of course up to the dev team to decide.

The Brute actor has a variable called bTurret, with the following definition in its script code:

Code: Select all

var() bool bTurret;                  // Doesn't move
This comment, however, is an outright lie. The Brute indeed does not move when attacking - it will not chase the player... but when it loses the line of sight to its enemy, it will start moving around.

This is easily reproducible in the third level of Unreal, Rrajigar Mine (Dig.unr). A save file is attached for easier testing. To reproduce, call the lift by pressing the button on the right (a Lesser Brute is standing on the lift). There is no need to shoot at it, and no need to dodge its shots (God mode is on). When the lift comes up again, wait for a while, and you will soon start hearing footsteps. The Brute is now walking around on the upper level, despite that it shouldn't move at all (bTurret is set to True). In my tests, this happens 100% of the time.

This appears to be less of a bug, and more of a half-implemented feature. The only time the value of bTurret is checked in Brute's code is in its Attacking state. I'm not an UnrealScript expert, but it looks like this check is used to prevent the Brute from pursuing the player. There are no checks for bTurret anywhere else, though, which means there is nothing to prevent it from falling back to default behavior when not attacking.

Upd: Forgot to attach the save file, so here it is.
Last edited by Player701 on Tue Jul 30, 2019 2:31 pm, edited 1 time in total.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: [all versions]bTurret=True does not prevent Brute from moving

Post by Masterkent »

The Brute actor has a variable called bTurret, with the following definition in its script code:

Code: Select all

var() bool bTurret;                  // Doesn't move
This comment, however, is an outright lie. The Brute indeed does not move when attacking - it will not chase the player...
OK, I think, we could change it to

Code: Select all

var() bool bTurret;                  // Doesn't move while attacking
:-)
but when it loses the line of sight to its enemy, it will start moving around
That depends on his Orders and OrderTag. If Orders == 'Patroling' and OrderTag does not match any PatrolPoint on the map, he won't go anywhere after stopping being mad at the enemy.
User avatar
Player701
OldUnreal Member
Posts: 52
Joined: Tue Jan 31, 2017 8:35 pm

Re: [all versions]bTurret=True does not prevent Brute from moving

Post by Player701 »

Well, I guess you can consider it a minor inconsistency then, and simply change the comment. A turret is, by definition, a stationary object, so the name of the variable kind of implies that there shouldn't be any exceptions to being stationary - that's why I noticed it in the first place.
Post Reply

Return to “Unreal 227”