James, on 10 March 2014 - 01:42 PM, said:
Thanks for clearing it up, maybe a new spriteflag could be added to disabe that or something?
Added with
r4371.
For actors that you define yourself, usage from CON would be with the
spriteflags directive. If you want to modify existing actor's behavior, it gets a little tricky though. The
spriteflags directive (i.e. translation-time command) is "destructive" in the sense that it overwrites the previous actor flags with the passed value. This is in contrast to other
sprite* directives like
spritenoshade, which bitwise-OR them in. So if you wanted to remove the damage-pushing behavior for the newbeast, you'd have to issue "
spriteflags 4610 SFLAG_NODAMAGEPUSH" before its definition in GAME.CON. This rules out its usage with mutators, as these get translated after the regular CON files.
In Lunatic, we can have this:
-- Add NODAMAGEPUSH flag to NEWBEAST.
gameactor { D.NEWBEAST, AF.chain_end + AF.NODAMAGEPUSH, function() end }
Edit: corrected "
spriteflags SFLAG_NODAMAGEPUSH" --> "
spriteflags 4610 SFLAG_NODAMAGEPUSH"