Page 1 of 1

CanTeleportState virtual

PostPosted: Fri Jul 20, 2018 2:57 pm
by Major Cooke
A virtual that can be used to allow or deny entities that teleport to go to their Teleport states.

I find myself in a bit of an odd circumstance at the moment where I've got some monsters that are designed for interruption when they're leaping through the air, i.e. the baron of hell and hell knight in D4D. As I was working on this however, I noticed that if they're pushed over a line or something else causes them to teleport, it'll interrupt states that are not supposed to be interrupted.

So here's what I propose is a function that can indicate what caused the actor to teleport. That way if we don't want the teleport state to be jumped into, returning false will block the state jump.

This is only called if teleportation was successful.

Re: CanTeleportState virtual

PostPosted: Fri Jul 20, 2018 7:51 pm
by Matt
Is there a way (I mean theoretically as a new feature) to make certain states ininterruptible? That could provide a general solution against all these pain overrides and whatnot.

Re: CanTeleportState virtual

PostPosted: Sat Jul 21, 2018 12:52 am
by Graf Zahl
No, there isn't. Because states are single entries in the list. The labels are just that: labels. They do not propagate any information to any state in the following sequence.
You also have to keep in mind that this would also block going to a death state, because it all calls the same code.

Re: CanTeleportState virtual

PostPosted: Sun Jul 22, 2018 10:09 am
by Apeirogon
Matt right in this one. Create virtual for for each particular case can(teleport/jump/attack/scratchandsniff/etc.) is a bad idea.

Why just dont make labels less....labelless, I think?
Like "state name".uninterrupted(or continuous) and make death states like death.caninterrupt(or breaking).

Re: CanTeleportState virtual

PostPosted: Sun Jul 22, 2018 10:23 pm
by Major Cooke
No, that's not okay Apeirogon.