So, basically, here's my interest with it to get it over with and maybe get some answers.
Mostly it concerns the kinds of tweaks id normally try to make...
Except being applicable across a much broader range of other modifications.
So I wouldnt have to recode it for every ying-yang thing people might use.
Now like other hobbies I guess I could get into that and pressing off one version after a next that works in different mods.
But what if the mod is still being maintained and updated by the author, and they make changes which break my tweak?
What about all the hundreds of mods including old ones that ive never heard of which might be popular with folks?
Then there's also the file loading issue, no you have to load this one for it to work with that mod, etc.
That means being able to zap, nix, remove, update, replace, or do whatever it takes with godzilla stomping to make an existing stock action do something else.
The action itself, which numerous other actors/classes might reference.
Operating at a lower level of modifying than the end use actors, so that they dont have to be touched.
Im just being clear about what I want the end results to be.
Keep in mind... this is like 99% of anything I actually want to do with Zscript.
Everything else is pretty much Decorate, or zscript-in-name-only transferred from Decorate code that I wrote in Slade3.
Since Slade3 doesnt have hinting for zscript yet in its built-in text editor and it does for Decorate.
I dont do any map editing either so im not interested in using it to put special effects in maps.
To be fair and give examples I am planning on, some of which are very practical concerns:
Damage Code - to projectiles mainly but id also alter the code for bullets too. So that the amount still has some variation but doesn't have any high spikes in the damage amount. While occasionally also having a low dip. So that for example a projectile (any projectile, doesnt matter) doing Damage 5 would instead of causing 1d8RNG * 5... it would take that 5 and multiply it by something else.
But even if I cant use ZS to overwrite the basic damage code I could still (?) write a function that is called from within the Damage field to avoid hefty copypastas that might involve large randompick() strings.
This way things like mancubus fireballs and revenant rockets arent doing 60-80 points, they just hover in that 30-50 range, and maybe rarely you get grazed for 10 and it feels good to be lucky.
A_OpenShotgun2
A_LoadShotgun2
A_CloseShotgun2
Making these actions play their sound in an open channel instead of on the weapon channel. So that it doesnt cut off the primary firing sound of the super shotgun. Or at least silencing them so that a baked-on SSG firing sound can be used which includes the reloading sounds.
(Things like this are the reason why the sound "weapons/chngun" exists even though it still sounds like the player pistol, so that you can change the sound of it without replacing the chaingun)
A_PosAttack
A_SposAttack
A_CyberAttack
What if I want to change how much damage bullets usually do for monsters, or if ive decided that all bullets are now fast moving tracers and these guys need to fire those. Or if the shotgun is now a Blaster Rifle and the shotgun sergeant should be shooting a blaster bolt for consistency. Another realistic idea ive had was to make the shotgun sergeant turn to a random direction within his usual accuracy cone, and then fire a tight group of 7 pellets with the same accuracy as the player (except 1d3*2 damage per pellet to preserve their usual damage potential)
And I mention CyberAttack because if I change the way player Rockets behave... well, the A_CyberAttack function has him shoot the same rocket that the player does. Unless the rocket launcher is replaced to fire a different rocket actor. Or unless the Cyber is replaced so that he spawns a different projectile. So the fact they share the same projectile being fired between that function and A_FireMissile can be a problem.
And I use examples like Smooth Doom because of how ubiquitous it is, but making changes to other mods like that to reflect tweaks can be pretty lengthy... when there are 3 or 4 versions of the monsters that have to be modified. Or a SSG that has like 8-16 iterations of how it can be presented and the sound functions have to be modified. There's also other issues associated with using the Replacement system to change weapons too.
I wouldnt say im being presumptuous about the capabilities of ZS
Im looking for solutions to problems so I can make stuff that people are going to enjoy.
They're going to enjoy it less if its a hassle to obtain it or use it.
Spoiler: