how to limit an actor to not go out of the water

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

Locked
User avatar
NeoHippo
Posts: 408
Joined: Tue Sep 13, 2005 0:47
Location: British Columbia Canada

how to limit an actor to not go out of the water

Post by NeoHippo »

You could also ask at the ZDoom Forum for more exposure to your question.
http://forum.zdoom.org/viewforum.php?f=3
doomexpert wrote: ..... if i set fish (cacodamon) in the water, how can i limit the cacodemon to go not out of the water??? sertain height.
If you do a Google search entitled
  • zdoom how to keep actor under water
you will find several links to previous posts on the subject plus links to some Wiki pages.

It seems that you have to create a DECORATE actor to accomplish what you need.
Last edited by NeoHippo on Tue Oct 28, 2014 5:05, edited 1 time in total.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Re: how to limit an actor to not go out of the water

Post by Enjay »

The techniques that you will find should work. However, I found one type of situation where everything I tried simply failed. I had a fish enemy that has a Lost Soul-like attack charge. None of the techniques and setups that I tried for keeping the enemy under water worked quickly enough in a situation such as the fish going into its charge attack while the player was near the edge of the water (but not in it). I tried scripts, zero duration DECORATE states, everything I could but nothing worked.

i.e.
The fish is in a pool of deep water.
The player is standing at the edge of the pool on the land.
The fish sees the player and charges towards him.
The charge attack makes the fish move really quickly and he manages to breach the water surface before the next call to keep him below the surface.
The fish is now on the land and unable to move because its DECORATE is trying to force it below the water.

It kind of makes sense (a beached fish being unable to move) and I could have it simply die after a while if it is on land but I'd much rather it didn't jump out of the water in the first place.
doomexpert
Posts: 103
Joined: Tue May 04, 2010 7:57

Re: how to limit an actor to not go out of the water

Post by doomexpert »

Enjay wrote:The techniques that you will find should work. However, I found one type of situation where everything I tried simply failed. I had a fish enemy that has a Lost Soul-like attack charge. None of the techniques and setups that I tried for keeping the enemy under water worked quickly enough in a situation such as the fish going into its charge attack while the player was near the edge of the water (but not in it). I tried scripts, zero duration DECORATE states, everything I could but nothing worked.

i.e.
The fish is in a pool of deep water.
for deep water it works for me, tranfer height(209) but i have a bridge so i cant use action 209. cacodamons can stay in the water but only if there is too much at one place, they pushing each other out, like how more density, one of them are pushed out by the force of density, maybe they overlapping each other in a sertain way. its just like how the universe works, if its too dense, particles are popping out.

you have nothing to do, just a deep water dummy sector and linedef action (block monster) around the water. however if you use a 3d swimable sector, the actor doesnt stay in the water. you can have ofcource to transport the in water place to another sector but i want to look in the water to see the fish swimming. to bad there is no 3d sector action to keep the actor there. scripting can do a good job in that. or maybe decorate, but you get even more problems with that, what can result in many bugs. it is nice to have that option in DB2 or Gzdoom builder. because i think a classic cacodemon monster can fly without wings? who says a cacodemon cant be a underwater fish. ofcource different sprites make it good.
Locked

Return to “GZDoom”