Take planets by killing what defends them
#211 conquest is the fight now: a planet registers the garrison its setup authors, each defender's own death counts against it, and the last one takes the world. The capture points - stand in a ring, wait out a timer, once per ring - are gone, along with the editor palette that placed them. #212 conquest opens a dialog on the surface naming the research points recovered; the award travels with the signal, after it is banked. #209 the prologue's charted sectors go with the breach, so the map the survivors keep is of where they now are - and "chart 30 sectors" is no longer complete before they have flown anywhere. #218 enemy variety is gated on the FLEET, not on wave strength: a starting fleet meets chasers only at any wave number, and each vessel past three opens one more kind. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019AJMdB7iuHuLFZM1aBu3GD
This commit is contained in:
parent
78836882af
commit
6e13b6397c
42 changed files with 540 additions and 749 deletions
|
|
@ -408,6 +408,27 @@ func _process(delta: float) -> bool:
|
|||
print("the vortex took %d vessels and left one interceptor" % (convoy_size - 1))
|
||||
if not director.whiteout_teleported:
|
||||
return _fail("the screen reached white without teleporting the fleet")
|
||||
# #209: the prologue's charted space belongs to a place 16000
|
||||
# units away. Carried over, it also completed "chart 30 sectors"
|
||||
# before the player had flown anywhere.
|
||||
#
|
||||
# Not "empty": the tracker charts the neighbourhood around the
|
||||
# fleet the moment it arrives, so what is asserted is that
|
||||
# nothing REMOTE survived - every chunk still on the map is one
|
||||
# the survivors can see from where they now are.
|
||||
# Measured from where the fleet actually IS: the tracker charts a
|
||||
# neighbourhood around the formation's centroid, which sits a
|
||||
# little off the spawn point, and the survivor drifts after
|
||||
# arriving. Two sectors of slack over the sensor's own radius
|
||||
# covers both without admitting anything from the convoy's route,
|
||||
# which is thousands of sectors away.
|
||||
var here: Vector2i = WorldGen.chunk_coords(fleet.get_centroid())
|
||||
var reach: int = 1 + 2
|
||||
for chunk in game_state.explored_chunks:
|
||||
var away: int = maxi(absi(chunk.x - here.x), absi(chunk.y - here.y))
|
||||
if away > reach:
|
||||
return _fail("chunk %s, %d sectors from the survivors, survived the breach" \
|
||||
% [chunk, away])
|
||||
if fleet.get_formation_origin().distance_to(director.DEFAULT_SPAWN) > 1.0:
|
||||
return _fail("whiteout revealed the fleet at %s instead of default spawn %s" \
|
||||
% [fleet.get_formation_origin(), director.DEFAULT_SPAWN])
|
||||
|
|
|
|||
Loading…
Reference in a new issue