Expand RandomStartDelegate to also include sea units and sea territories
I have posted a feature request at Github, but would appreciate further input from forum if anyone else has ever used this rare map feature. Or just thought about using it but then discovered its limitations
From PoS2 XML:
“RandomStartDelegate delegate is for randomly assigning territories, or letting users pick territories (like Risk) in turn order.
Any "neutral" (non-owned), non-impassable, land territories are up for grabs. Any players with "units held" are able to participate in the picking until their held units run out.
If any units remain after territories are assigned, they will be placed one by one in owned territories until empty."
Would it be possible for this random start feature to also be able to handle placing sea units on sea territories? Since players (human and AI) of a map could start out with both land and sea units in the bank (heldUnits), it would be nice if the sea units could be placed in non-owned sea territories of a choosing, while of course the land units should be limited to land placement.
As the engine works now (based on my experience):
One cannot place/grab isSea territories.
One CAN place held sea units on land territories (!?)
Would be great if:
One could place held land units only on non-owned land territories and held sea units only on non-owned sea territories.
Maybe the feature, as it works now, is somehow reliant on territories actually having territoryAttachments? If this is the case and a problem in regards to expanding the feature to work with sea territories, maybe it could just be a requirement that a sea territory had a territoryAttachment if it should be pickable during a random start?
(This reminds me of the old problem with sea infrastructures that are apparently still not captureable unless the sea territory has a territoryAttachment. Old post here: http://tripleadev.1671093.n2.nabble.com/Sea-infrastructure-capturable-only-if-combat-in-territory-td7585583.html#a7587726 )
Another thing that is maybe sub-optimal in regards to the current way the landgraping/placement system works, is that placing held units maybe ignores the units' placement restrictions like "may only be placed in" / "may not be placed in". At least unit placements seemed to ignore restrictions during my small test.
@frostion seems a good idea to me. The more features the better I say : )
Random placement games are fun. I guess if you had all humans you could edit the sea zones, but a game with a fairly large number of players it would be nice to have the AI involved so you could still play it with just a few people.
Plus AI would probably do some nutty stuff and make it even more interesting : )
The only scenario that I have seen that uses this feature is on of the medieval Japan scenarios. What is the scenario that you have in mind that would use random placement at sea?
@RogerCooper Well, the Star Trek map actually also uses this feature, but only to place planets randomly on the map, and only used by the AI, not the humans. I guess Medieval Japan is like Risk? Where players pick territories?
Anyway, I plan to use the feature in my upcoming Warcraft map. Mainly to do three things: Randomly place a few AI-controlled hazard players like Gnolls, Murlocks, Kobolds etc. Randonly “seed” the map with resource generating units like Farms, Mines, Woods etc. And finally to randomly place hero-items on the map, for the heroes to pick up and use.
This is primarily land, but I also have a few sea resources planned, and they cannot be placed randomly atm. In the Warcraft universe stuff like for example oil and offshore oil platforms are actually important as much technology relies on this fuel. Here is a Warcraft 2 screenshot and two oil platforms for my map:
@frostion God I remember playing that for months on end.
@rogercooper I believe what uses the random/pick placement feature are Feudal Japan Warlords, Star Trek and the unavailable Conquest of the World. Also, Elemental Forces was supposed to eventually use it, if I recall correctly.
@frostion Added this to the feature request list. I would really like to see random setup features expanded in the engine and utilized more in maps.
I have used the existing feature extensively on one of my maps, although I have more coding before completed. It involves selecting territories like risk. But it follows rules custom to the game and makes use of different value territories rather than all the same values. So a lot of conditions to code. But it's like 75% done.
Oh and we have also edited manually to same effect when we want use this rule set. It's for my Bad-Ass 4 Nation FFA. But soon will be an engine supported ruleset .
I can play around with what I have currently to see if seazones can be selected during that delegate. Otherwise it can likely be done with useraction and a ton of triggers and conditions. I'll get back to you.
An alternate method involves using bidPlace delegates. If you want to place one sea unit per player turn in a turn order. You will need to place the multiple delegates before the regular sequence begins. The trick here would be to trigger one sea unit to place (during the bidPlace) and additionally trigger an invisible sea unit (owned by nation whos turn it is) into every available sea zone during the bidPlace and remove all of them after the bidPlace. This will allow you to place sea units in sea zones that look empty or unowned.
But if you actually require ownership of the seazones to be changed, you need to trigger them as well. Or try assigning each seazone and attachment before hand that has ownership assigned, and see what happens. But I think triggers would still be required here. Maybe try adding production=0 to seazones too, then it should switch ownerships.