Duke4.net Forums: Ground enemies entering water... - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Ground enemies entering water...

User is offline   NNC 

#1

Is it just me or enemies like the Pig Cop, Enforcer or the Newbeast aren't supposed to enter water, let alone underwater.

The Enforcer's case is particularly annoying, because in the original Duke3d game they were coded to not enter water (just like the Battlelords). Test them in maps like Fusion station, Overlord, Dark Side etc., when they are placed nearby to underwater areas. They are jumping around, but never get submerged. However in EDuke32 the coding has been changed, and the fast moving Enforcer always fall in the nearest water and never gets out of it. It looks and feels buggy.

The same can be said about the equally fast moving Newbeast, although I don't think they were coded to stay away from water sectors in the original game.... but it's still not normal, except for the Queen fight of course. The Pigcops are slower moving, but still fall in the nearest water when they reach it. And it's not normal as well.

My point being that these enemies should be coded to avoid water sectors, just like the Battlelord (and Enforcers in the original Duke3d). It should be a normal behaviour for them.

I didn't mention the Liztoop, because they are somewhat of a special case. They look fine underwater with using their "jetpack", although they shouldn't be just passive swimmers and should attack the player.
1

User is offline   OpenMaw 

  • Judge Mental

#2

It'd be really cool if the aliens could actually swim and use special attacks under water.

I know, that's more of a mod and less of a bug fix, but I digress.
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#3

From the source code:
            ( ( hittype[spritenum].actorstayput >= 0 && hittype[spritenum].actorstayput != dasectnum ) ||
              ( ( sprite[spritenum].picnum == BOSS2 ) && sprite[spritenum].pal == 0 && sector[dasectnum].lotag != 3 ) ||
              ( ( sprite[spritenum].picnum == BOSS1 || sprite[spritenum].picnum == BOSS2 ) && sector[dasectnum].lotag == 1 ) ||
              ( sector[dasectnum].lotag == 1 && ( sprite[spritenum].picnum == LIZMAN || ( sprite[spritenum].picnum == LIZTROOP && sprite[spritenum].zvel == 0 ) ) )


Meaning that the Enforcer, Battlelord and Overlord are not meant to enter water sectors, and the same apply to an Assault Trooper if he is flying.

This post has been edited by Fox: 09 April 2013 - 08:25 PM

0

User is offline   NNC 

#4

View PostFox, on 09 April 2013 - 08:03 PM, said:

From the source code:
            ( ( hittype[spritenum].actorstayput >= 0 && hittype[spritenum].actorstayput != dasectnum ) ||
              ( ( sprite[spritenum].picnum == BOSS2 ) && sprite[spritenum].pal == 0 && sector[dasectnum].lotag != 3 ) ||
              ( ( sprite[spritenum].picnum == BOSS1 || sprite[spritenum].picnum == BOSS2 ) && sector[dasectnum].lotag == 1 ) ||
              ( sector[dasectnum].lotag == 1 && ( sprite[spritenum].picnum == LIZMAN || ( sprite[spritenum].picnum == LIZTROOP && sprite[spritenum].zvel == 0 ) ) )


Meaning that the Enforcer, Battlelord and Overlord are not meant to enter water sectors, and the same apply to an Assault Trooper if he is flying.


However, the Enforcers enter water sectors in EDuke32, and it's pretty annoying.
0

User is offline   Micky C 

  • Honored Donor

#5

I've also observed enforcers jump through forcefields. It's particularly noticeable in my old map Libraryl, where there are some enforcers in a room with windows with forcefields in them; you approach from the outside (forcefields are on), they jump to get through the window, and they pass through it like the forcefield isn't even there. I'm talking about the flickering one that does damage, not the invisible one.
0

User is offline   Jimmy 

  • Let's go Brandon!

#6

I always thought that Pig Cops should drown shortly after entering water, much like Zero Hour.
1

User is offline   ck3D 

#7

i actually like the thought of underwater fights, always thought those were really underrated be it in the original game or most user maps. not sure this is particularly helpful to know, but it is possible to submerge battlelords and such by making them respawn higher than floor level over the water sector (if you make them respawn directly in the water, they will they afloat at the surface and glitch during their firing animation during which they will appear standing on their feet instead of being half-submerged). for a mapper who would want his battlelord to be able to enter a water sector and teleport itself underwater (ie. in a swimming pool map), i guess it would be possible using this trick along with a very thin non-lotagged sector surrounding the tagged water section, in order to trick the actor into thinking it can enter the sector even though it will make it through it and into the tagged neighboring sector right away ? haven't tested that but i think it could work
0

User is offline   NNC 

#8

View Postck3D, on 11 April 2013 - 02:25 AM, said:

i actually like the thought of underwater fights, always thought those were really underrated be it in the original game or most user maps. not sure this is particularly helpful to know, but it is possible to submerge battlelords and such by making them respawn higher than floor level over the water sector (if you make them respawn directly in the water, they will they afloat at the surface and glitch during their firing animation during which they will appear standing on their feet instead of being half-submerged). for a mapper who would want his battlelord to be able to enter a water sector and teleport itself underwater (ie. in a swimming pool map), i guess it would be possible using this trick along with a very thin non-lotagged sector surrounding the tagged water section, in order to trick the actor into thinking it can enter the sector even though it will make it through it and into the tagged neighboring sector right away ? haven't tested that but i think it could work


Weren't such thing used in Roch 6?
0

User is offline   ck3D 

#9

I wouldn't be surprised, but I can't remember for sure, I haven't played that map in many years !
0

User is offline   Helixhorned 

  • EDuke32 Developer

#10

View PostFox, on 09 April 2013 - 08:03 PM, said:

From the source code:
            ( ( hittype[spritenum].actorstayput >= 0 && hittype[spritenum].actorstayput != dasectnum ) ||
              ( ( sprite[spritenum].picnum == BOSS2 ) && sprite[spritenum].pal == 0 && sector[dasectnum].lotag != 3 ) ||
              ( ( sprite[spritenum].picnum == BOSS1 || sprite[spritenum].picnum == BOSS2 ) && sector[dasectnum].lotag == 1 ) ||
              ( sector[dasectnum].lotag == 1 && ( sprite[spritenum].picnum == LIZMAN || ( sprite[spritenum].picnum == LIZTROOP && sprite[spritenum].zvel == 0 ) ) )


Meaning that the Enforcer, Battlelord and Overlord are not meant to enter water sectors, and the same apply to an Assault Trooper if he is flying.

In EDuke32, the last line has been commented out since r1044.
0

User is offline   Helixhorned 

  • EDuke32 Developer

#11

View PostMicky C, on 10 April 2013 - 03:36 AM, said:

I've also observed enforcers jump through forcefields. It's particularly noticeable in my old map Libraryl, where there are some enforcers in a room with windows with forcefields in them; you approach from the outside (forcefields are on), they jump to get through the window, and they pass through it like the forcefield isn't even there. I'm talking about the flickering one that does damage, not the invisible one.

No, it has nothing to do with the forcefields. Rather, the "windowsills" are much too thin on the inside. BUILD is known to have clipping issues with that (rememer "Bugs", as in Bug Team?). Making that portion a bit wider makes the lizmen stay inside, but the commanders still get through, so maybe it's also too thin somewhere else.

By the way, you should load Libraryl with the new EDuke32/Mapster32 revision. It exposed a problem that's present in various other maps, too.

r3696 said:

Engine: stricter map load time checking for sprites with oob sectnums.

Sprites are now considered to have out of bounds sector numbers if it is
< 0 or >= numsectors (not merely >= MAXSECTORS). If such a sprite is now
encountered during post-load, an attempt is made first to assign it a sector
number (using updatesector()). If that fails, the sprite is removed from the
map. The background is that a dozen of maps do come with such sprites and
could previously corrupt the sprite list when loaded.

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options