Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
RaphaelMode

Various DECORATE questions

Recommended Posts

1. What would be the best way to alter monster behavior depending on skill level? The "duplicate character classes selected in mapinfo skill definition" is a way, but I recall "JumpIfSkill" or something like that existing, and this will be optimal. I'm afraid duplicate skill-dependent classes would have the same flaws as random spawner, for example "count the amount of Zombies" doesn't seem to affect RandomZombie1 and RandomZombie2 that Zombie spawns.

2. What would be the best way for regenerating ammo? I got it to work in this, but only because there's only one weapon there.

3. Can mosters using lost soul attack actually not infight each other? Or maybe not always infight each other at laest. I like the lost soul attack, and I kinda like the infighting too, but a hate mob shouldn't get distracted this easily.

4.What requires more memory? Lots and lots of linedefs or lots and lots of actors excluded from physics checks?

This is all questions I can think of for now.

Share this post


Link to post
RaphaelMode said:

1. What would be the best way to alter monster behavior depending on skill level? The "duplicate character classes selected in mapinfo skill definition" is a way, but I recall "JumpIfSkill" or something like that existing, and this will be optimal. I'm afraid duplicate skill-dependent classes would have the same flaws as random spawner, for example "count the amount of Zombies" doesn't seem to affect RandomZombie1 and RandomZombie2 that Zombie spawns.

Using MAPINFO's skill-dependent class spawn is an optimal solution performance-wise. If every individual custom monster performed a skill-based check in regular intervals during the game's runtime all the time, the engine would be burdened by it a lot more than by a single skill-based check at the beginning of the map to spawn the correct monsters who behaved normally. I consider it a waste of CPU power, even if it didn't actually visibly affect player's performance.

But well, you can call GameSkill from within DECORATE if you wish, and there should be some way to make a state jump dependant on its value.

Share this post


Link to post

You can query skill level with ACS and therefore do that from DECORATE with CallACS; but it's probably simpler to have different actors and use the ReplaceActor feature of skill definitions.

Share this post


Link to post
Gez said:

You can query skill level with ACS and therefore do that from DECORATE with CallACS;

Isn't calling GameSkill() directly from DECORATE easier? Or does it not work and my memory just fools me to think that it once worked?

EDIT: Alright, I was wrong, sorry.

Share this post


Link to post
DMGUYDZ64 said:

Yes you can .
Example :

Point4: 
CHCK A 1 ACS_Execute(725, 0, 4,0,0) 

ACS_Execute isn't an ACS function, it's an action special! :p

Action specials are stuff that you can use pretty much every-fricking-where. You can put them on a linedef, you can put them on a thing, you can put them in DECORATE code, you can put them in ACS code, you can put them in FraggleScript code. They work everywhere.

(Well, mostly. There's a few of them that work only when on a linedef, like Plane_Align, and another few of them that don't work on a linedef, like Line_SetTextureScale. But for most of them, it's true.)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×