Page 1 of 1

StoneHeart RDF v4.0g Posted

PostPosted: Fri Aug 31, 2007 8:55 pm
by Baak
I took a couple of late nights this week to update StoneHeart RDF to v4.0g and thought mapmakers might appreciate the funkiness I encountered that necessitated the fix (and some of the details).

If you just want the new map, it's available on the OoH Downloads page or on The Tain (I just posted it there so it might take a day or two to appears).



Ok - so in a nutshell here's what happened:

The Anywhere plugins (Wild West Anywhere, WWII Anywhere, MythWarrior Anywhere, etc.) use a technique I devised for Rocket Dorf Fest (RDF) to remove "extra" units to make managing so many special units easier. Thus units like Warriors and Thrall "vanish" when playing (some, like Worlds Collide Anywhere keep a portion of melee active).

They're actually turned into Flying Invisible Squirrel Heads (tm). Yep. These units have to be set to "ambient life" and have a ton of other special settings to make them never appear during the game and otherwise behave properly (not be healed, not count as player %, etc., etc., etc.).


Now... In the SHRDF "inside" maps (Maze/Frenzy/Cage) we have the Wrath of Baak to keep people from attacking before the Truce Off Siren sounds. On Maze/Frenzy there are Archers, who have a long enough range to make auto-attacking a possibility, so I had to somehow turn this off.

No problem. Set all inside/starting units to "Don't auto-attack" and then turn them back on to auto-attack after the siren blasts.

Wait! Some units like RDF Rocket Dorfs never auto-attack, so that is not an option!

Ok - how about setting all the inside units so they "Cannot be auto-targeted", and then set this to "Can be auto-targeted" after the siren blasts?

Works for RDF. But guess what...

IF you are playing one of my unit conversion plugins that implements FISH (Flying Invisible Squirrel Heads), these are suddenly set to "Can be auto-targeted" after the siren blasts. And for some unknown reason, these "ambient life" units that have a team# assigned to them - EVEN IF THEY ARE YOUR OWN TEAM# - look like the enemy to the rest of your army! Et voila, you will start shooting at them as soon as the siren blasts. And since they are invincible (cannot take any damage) your units will keep attacking "nothing" floating above them - FOREVER.

Not good. So...

I've re-written all the Maze/Frenzy/Cage scripting pieces that dealt with this to ignore FISH units. Amazing how complicated this was! Remember since they are unit-substitutes they aren't always the same! And you have to be sure it works with/without them - transparently!

Thanks to Ozone for giving me the final incantation in the scripting that stumped me (there is an odd (imo) map action entry you must add to do things properly). Hotline/Magma to the rescue yet again! ;)


Oh, and just when I thought I was done (and it's fun to update nine separate maps with all this scripting: Team, FFA-3, FFA-6 for Maze/Frenzy/Cage), I realized one other related bug I had seen a few months back - again when playing an Anywhere plugin on one of these maps:

The "Only one team or no teams remaining inside the StoneHeart triggers an early opening of the outer gates and brings reinforcements" would not work if you had FISH units - because... - and if you're with me up to now you've probably figured it out already - it sees the FISH units on the map as still being alive even though they never appear for players to use.

Whew.

Think it's all fixed now. :)


Wondering what the scripts look like for the Frenzy/Cage maps where all those gates randomly start going up/down every 15 seconds after the initial "gates up"?

Check it out.

Just remember this is one of nine completely separate scripts, that although similar have to be just right for each map or they'll explode.

:blowingup: