The-International-Open-Source
The-International-Open-Source copied to clipboard
Better defender distribution
Ideas
rampart group scoring
- Score threat to each rampart group
- enemy damage increases score
- enemy heal increases damage need
- slowly decrease scores logarithmically
- when there is threat make score at least 0
- two Uint8Arrays, one for score and one for damage
- within rampart groups use current rampart scoring system, randomTick(3) instead
Alternative scoring
- floodFill from enemies based on heal
- If the flood iter comes across a defender
-
probably not necessary
- add eventLog damage to score. Score decays each tick by 1% or so
- 2 values, one for flood results and the other for evenLog damage. eventLog damage needs to be moving averaged and then added to flood results
- global Uint32Array for score records
- If a defender already has a rampart, require a certain score difference based on range (more score required for higher range) to change target
Pathing scoring
- Path from each
EventLog Primary
- Similar to threat: max(currentScore, newScore) and take away 1% each tick, removing if less than 1
Group ramparts like with communePlanner
- Each group has a score based on floodFill from enemies at a decaying amount by range, and eventLog damage
Respond to enemy heal
- Track all positions of present healers, implement reserveHeal that defenders respond to
- Track positions of healers that were in the room but are gone, decay at 1% per tick or so
Enemy squads
- a defender finds an enemy with a reserved heal of > 0, scored in part by how much damage they can deal
Enemy health
- Enough damage to kill the enemy in two ticks
what the actual fuck did I write this makes me look insane