The board has been completely reskinned to be more suggestive of Go and less suggestive of Draughts/Chess/etc.
All player victory/defeat/drop cases now catered for.
Build times for bunkers and marines (including ttl) down to 9 gts from 15 gts.
Lotsa new shiny stuff.
There's 3 bigish jobs left to do (a few small ones too), but none of them actually affect the gameplay. The first is to implement an appropriate indicator on/above/near the bunkers to show which team they're on and which direction they're sending their marines. The second is to sort out all the fluffy documentation type stuff, hints/tips/tuts etc. The third is to create a proper intro/outro.
It's really come together now: the go-style territory surround/capture/defend gameplay is fully implemented.
Bar a few tweaks/non-critical bugs/extras, the game is pretty much complete.
See OP for more info.
AwardTerritoryOnBunkerBuild
Events
Unit - Any Unit Enters TTY_00_00
Unit - Any Unit Enters TTY_00_01
Unit - Any Unit Enters TTY_00_02
Unit - Any Unit Enters TTY_00_03
......
Unit - Any Unit Enters TTY_09_07
Unit - Any Unit Enters TTY_09_08
Unit - Any Unit Enters TTY_09_09
Local Variables
BOOL_RegionIdentified = false <Boolean>
INT_SearchTerritoryIndexX = 0 <Integer>
INT_SearchTerritoryIndexY = 0 <Integer>
------- Second set of indices needed cos Blizztard's FOR loops mess with counter variables when the loop exits; their values aren't preserved so they need copying before exxiting the loop
INT_IdentifiedTerritoryIndexX = 0 <Integer>
INT_IdentifiedTerritoryIndexY = 0 <Integer>
Conditions
(Unit type of (Triggering unit)) == GoCraft Bunker
Actions
General - While (Conditions) are true, do (Actions)
Conditions
BOOL_RegionIdentified == false
Actions
General - For each integer INT_SearchTerritoryIndexX from 0 to 9 with increment 1, do (Actions)
Actions
General - For each integer INT_SearchTerritoryIndexY from 0 to 9 with increment 1, do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
REGION[]_Territories[INT_SearchTerritoryIndexX][INT_SearchTerritoryIndexY] == (Triggering region)
Then
Variable - Set INT_IdentifiedTerritoryIndexX = INT_SearchTerritoryIndexX
Variable - Set INT_IdentifiedTerritoryIndexY = INT_SearchTerritoryIndexY
Variable - Set BOOL_RegionIdentified = true
Else
This might help explain, I was talking to a mate about it:
19:22 - DJ Splendid: can you think of any language anywhere that resets a counter when a loop exits?
19:22 - DJ Splendid: NO! they leaqve the variable alone so you can use it!
So i was building a {DO WHILE > FOR > FOR} loop to search a two dimensional array using a seperate counter variable for each FOR loop that corresponds to the index of the array value I would then do a compare with. The WHILE was controled with a bool. Standard enough stuff.
When the conditions for 'hooray I've found it' were met, I was expecting to be able to use the counter variable values at that point to reference the array.
However, I proved (by assigning the values of the counter variables to seperate, additional variables at the point before exiting the loop) that the counter variables get changed to the max value you set for the counter when you exit the loop. This is done without any documented indication.
This breaks about 40 yrs of how-loops-treat-counters history. What the fuck?
There's some broken lobby behaviour in GoCraft that I have been unable to fix. I wonder if other ppl have a similar issue.
Current behaviour:
1) In Bnet, create a party of 2 players.
2) Create a game of GoCraft. The default variant is 2v2.
You'll see everything in the lobby looks fine and if you launch it you'll see you're on the same team with correct ally/enemy status.
3) Repeat 1 + 2 but once in the lobby, change the map variant to 1v1.
You'll see that the second member of the party gets crammed into team 1; they do not get put in Team 2. My map variant definition would seem to suggest that this is impossible, yet it happens. If you kick them from the lobby then re-invite them, they get crammed into team 1 again.
-----------------
This also happens if you don't use parties (just invites) but with the following difference: if you kick an auto-crammed-in player then re-invite them, they join on team 2 correctly.
-----------------
In other words, if you change the team mode to smaller teams sizes than the number of player already in the teams, it fucks up. The fuck up is irreversible with parties, fixable with re-invitations for non-party groups.
-----------------
Are my map variant defs incorrect, or is this a plague of lobby fail?
I haven't been able to get 4 players to test with a mature map like Nexus Wars for eg.
I've been searching for hours in the data editor and throughout the web to find a way to remove a little numercial suffix from an ability button in game.
The button is actually a made-from-scratch one which I use with a duplicated/modified nuke abiity.
I cannot find the link between the object causing the suffix to appear and my button/ability/actors/effects.
If that's not clear, you can see exactly what I mean if you go strike up a game of "GoCraft" on Bnet.
The SCV nuke button has an unwanted zero, presumably because it is somehow reflecting the number of armed silos the player has. This whole inherited aspect of the original nuke ability is vestigil and I want to squash it pleasey :)
0
Gone gold :)
The board has been completely reskinned to be more suggestive of Go and less suggestive of Draughts/Chess/etc.
All player victory/defeat/drop cases now catered for.
Build times for bunkers and marines (including ttl) down to 9 gts from 15 gts.
Lotsa new shiny stuff.
There's 3 bigish jobs left to do (a few small ones too), but none of them actually affect the gameplay. The first is to implement an appropriate indicator on/above/near the bunkers to show which team they're on and which direction they're sending their marines. The second is to sort out all the fluffy documentation type stuff, hints/tips/tuts etc. The third is to create a proper intro/outro.
I'll cast a demo of it soon and link here.
0
It's you ;)
0
Well I'm stating the symptom; the issue could be with either and it's the determination I need help with.
0
It's really come together now: the go-style territory surround/capture/defend gameplay is fully implemented.
Bar a few tweaks/non-critical bugs/extras, the game is pretty much complete.
See OP for more info.
0
les bumpio :(
0
Whoa, they do?
Thanks for the heads up, Mille25, if they start misbehaving I'll replace the logic using WHILEs.
0
AwardTerritoryOnBunkerBuild
Events
Unit - Any Unit Enters TTY_00_00
Unit - Any Unit Enters TTY_00_01
Unit - Any Unit Enters TTY_00_02
Unit - Any Unit Enters TTY_00_03
......
Unit - Any Unit Enters TTY_09_07
Unit - Any Unit Enters TTY_09_08
Unit - Any Unit Enters TTY_09_09
Local Variables
BOOL_RegionIdentified = false <Boolean>
INT_SearchTerritoryIndexX = 0 <Integer>
INT_SearchTerritoryIndexY = 0 <Integer>
------- Second set of indices needed cos Blizztard's FOR loops mess with counter variables when the loop exits; their values aren't preserved so they need copying before exxiting the loop
INT_IdentifiedTerritoryIndexX = 0 <Integer>
INT_IdentifiedTerritoryIndexY = 0 <Integer>
Conditions
(Unit type of (Triggering unit)) == GoCraft Bunker
Actions
General - While (Conditions) are true, do (Actions)
Conditions
BOOL_RegionIdentified == false
Actions
General - For each integer INT_SearchTerritoryIndexX from 0 to 9 with increment 1, do (Actions)
Actions
General - For each integer INT_SearchTerritoryIndexY from 0 to 9 with increment 1, do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
REGION[]_Territories[INT_SearchTerritoryIndexX][INT_SearchTerritoryIndexY] == (Triggering region)
Then
Variable - Set INT_IdentifiedTerritoryIndexX = INT_SearchTerritoryIndexX
Variable - Set INT_IdentifiedTerritoryIndexY = INT_SearchTerritoryIndexY
Variable - Set BOOL_RegionIdentified = true
Else
----------------------------
-----------------------------
This might help explain, I was talking to a mate about it:
19:22 - DJ Splendid: can you think of any language anywhere that resets a counter when a loop exits?
19:22 - DJ Splendid: NO! they leaqve the variable alone so you can use it!
0
0
0
0
0
0
0
0