Blitzschlag: chains of one cast take separate routes

The chains of a cast share the enemies they have claimed and prefer
unclaimed ones. Each chain keeps its heading and ranks candidates by
distance and turn; a chain's first jump turns away from the directions
the other chains set out in, so they keep fanning out. Jumps reach 75 %
of the cast range.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
khallaandClaude Opus 5.5 committed 2026-10-18 03:44:16 +02:00
1 parent 4018e23e6b
commit 5d80a33e9b
2 files changed
+134 -16

No files matched your search

+22
View File
@@ -53,6 +53,24 @@ ends (a lone enemy is hit once). Two enemies: it bounces between them.
are created at the first jump targets of the other chains (copies of the
event with [14] = N - 1); their first hop has no arc.
Separate routes (2026-10-18). Request: the chains should not all follow the
same route. Before, each chain only avoided the enemies it had hit itself, and
only the extra chains' first targets differed. After that, parallel chains
picked the same nearest enemies and could swap onto each other's route. Now
the chains of one cast share a list of claimed enemies (the first target, and
every target as soon as a chain picks it). A jump prefers an enemy no chain
of the cast has claimed, then one this chain has not hit, then any other,
then the current one.
Follow-up (2026-10-18): "only on the first spread, then they most times merge
together again". The nearest free enemy of two chains often lies in the same
group. Each chain now keeps a heading (caster -> first target for the main
chain, then the direction of its last jump), and the candidates of a tier are
ranked by distance × (1 + 2 × turn), with turn = 0 straight ahead and 1
straight back. A chain's first jump has no heading yet; there the turn is the
largest closeness to the directions the cast's chains set out in, so the
branches fan away from the main chain and from each other.
First version (bolts copied for every jump, not using the game's chain)
replaced the same day: it doubled the jumps.
@@ -91,3 +109,7 @@ step of the ray point).
Follow-up (2026-10-17): jumps at 900 felt too far. The cast keeps 900; jumps
use `JumpRange()` = half the cast range (450). The tooltip shows both
("Reichweite", "Sprungweite").
Follow-up (2026-10-18): with several chains, half the cast range left too
few separate targets ("maybe chain range needs to increase to 75% of cast
range"). Jumps now reach 75 % of the cast range (675).