I'm working on fixing up an older total conversion someone else made. I have a clear vision of what it'll look like, and I know it'll be a long, arduous journey - I'm okay with that and am willing to see it through. However, the majority of the mod was written via Decorate and ACS. I've been mulling over documentation for both, as well as ZScript, and am starting to think that what I want to achieve is (probably) only possible through the latter option.
The main challenge I'm facing involves a feature that's currently absent from the mod. Ideally, the player should be able to transform into a third-person entity with unique stats at the press of a button, and just as easily revert back. Additionally, this entity should inherit various effects related to gravity, swimming, and other abilities that the player has acquired as upgrades throughout the game. This feature is crucial, and simultaneously the most difficult to achieve - everything else depends on it.
Again, while I've looked over documentation, I'm not entirely positive that I can use Decorate/ACS/ZScript in conjunction with one another in this situation.
I'm open to experimentation and have been making attempts, but I just want some advice regarding which direction I should set sail - I don't want my focus diverted in the wrong direction for too long. Thanks!
Regarding ACS/ZScript compatibility and expansion
Moderator: GZDoom Developers
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
-
- Posts: 2
- Joined: Sat Oct 05, 2024 10:44 am
- Operating System Version (Optional): 11
-
- Posts: 29
- Joined: Mon Feb 13, 2023 1:34 am
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 7 x64
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Regarding ACS/ZScript compatibility and expansion
While it's possible to actually transform the player to a different class temporarily using PowerMorph, it sounds like approach Project Brutality 2.03 uses for revenant transformation would suit you better. It implements it in player pawn, showing the right graphics depending on whether the player is transformed, also checking if transformation was triggered.
Transformation key reaction can be done as an ACS function with NET attribute similar to those setting Kicking/Taunting/etc. in COMMANDS.txt from Project Brutality 2.03 or Brutal Doom.
3rd person view can also be done based on CHASECAM from PB 2.03 or BD or similar.
Combining Decorate/ACS/ZScript is fine, there's ScriptCall for calls from Decorate/ASC to ZScript and CallACS and similar for calls to ACS.
Transformation key reaction can be done as an ACS function with NET attribute similar to those setting Kicking/Taunting/etc. in COMMANDS.txt from Project Brutality 2.03 or Brutal Doom.
3rd person view can also be done based on CHASECAM from PB 2.03 or BD or similar.
Combining Decorate/ACS/ZScript is fine, there's ScriptCall for calls from Decorate/ASC to ZScript and CallACS and similar for calls to ACS.
-
- Posts: 2
- Joined: Sat Oct 05, 2024 10:44 am
- Operating System Version (Optional): 11
Re: Regarding ACS/ZScript compatibility and expansion
Thanks for the response. I've decided to convert important code over to Zscript. Right now I'm trying to get the morphing part down, so I'll check out the Revenant transformation code you mentioned.GrayFace wrote: ↑Wed Oct 09, 2024 5:56 pm While it's possible to actually transform the player to a different class temporarily using PowerMorph, it sounds like approach Project Brutality 2.03 uses for revenant transformation would suit you better. It implements it in player pawn, showing the right graphics depending on whether the player is transformed, also checking if transformation was triggered.
Transformation key reaction can be done as an ACS function with NET attribute similar to those setting Kicking/Taunting/etc. in COMMANDS.txt from Project Brutality 2.03 or Brutal Doom.
3rd person view can also be done based on CHASECAM from PB 2.03 or BD or similar.
Combining Decorate/ACS/ZScript is fine, there's ScriptCall for calls from Decorate/ASC to ZScript and CallACS and similar for calls to ACS.
-
- Posts: 367
- Joined: Wed Aug 02, 2017 3:01 pm
- Location: Illinois
Re: Regarding ACS/ZScript compatibility and expansion
You could make an ACS library script where MorphActor() and UnMorphActor() are toggled and make a keyboard bind to that script using KEYCONF