maandag 21 september 2009

Harvesting werkt!

Ik heb een best complex script nu werkend gekregen. Het harvesten van resources ala Dune 2.

Dus stel je voor:
een OreField op een lokatie
een OreRefinery op een lokatie
een OreHarvester op een lokatie.

Speler selecteerd harvester, en kiest "Harvest"
het test script doet exact dit:

Background:
Given a new instance
And a new faction named Red
And Red has a primitive base at 100, 100

Scenario: Delving Resources
Given Red selects all OreHarvester
And Red has the following resources:
| amount | type |
| 0 | metal |
When Red issues "harvest"
And wait 1 hour
Then Red should have the following resources:
| amount | type |
| 5000 | metal |

Het "harvest" script doet het volgende:

1. zoek een Orefield in de buurt
2. Rij erheen
3. Start harvesten tot: Harvester vol is; of OreField leeg is.
4. Start return script

en het return script doet vervolgens:
1. zoek een OreRefinery van jezelf in de buurt
2. Rij erheen
3. Dump resources tot Harvester leeg is
4. Start harvest script.

Indien de OreField leeg is transformeert hij zichzelf in een DepletedOreField, en bij de eerst volgende harvest actie wordt hij dus niet meer gevonden en stopt de harvester.

Kortom in bovenstaande testscript had de inhoud van de node 5000 metal, en na uur gametime is de OreField in ieder geval leeg en heeft de harvester alles bezorgt bij de speler.

Geen opmerkingen: