User:4st/Cycle 13 Ideas: Difference between revisions

miraheze>4st
miraheze>4st
Line 43: Line 43:


Each row represents a starting point, and each column represents a destination. Each cell represents a directed, weighted edge from the starting point, to the destination, defined by the row and column that cell is in.
Each row represents a starting point, and each column represents a destination. Each cell represents a directed, weighted edge from the starting point, to the destination, defined by the row and column that cell is in.
A path exists between a starting point and a destination if there is some set of edges with non-zero weight where every starting point in that set, other than the first starting point, is also a destination.


=== Casting spells ===
=== Casting spells ===
A player may revoke any number of Mana by posting to #game-actions and specifying another player. When they do so, update the matrix row of the player who posted and the column of the specified player to its amount plus the amount of mana revoked.
A player may revoke any number of Mana by posting to #game-actions and specifying another player. When they do so, update the Graph at the row of the player who posted and the column of the specified player, to its current amount plus the amount of Mana revoked.


=== Automatic Spell: Warding Circles ===
=== Masterwork Spell: Runic Circles ===
If a cycle (TODO: define that term for this context) is created in the adjacency matrix, grant all players in the cycle N coins, where N is the total edge weight of the cycle. If more than one cycle is created, grant coins for all cycles. Then, set all edges in those cycles to 0.
If a path exists that leads to the same node is created in the adjacency matrix, grant all players in that path N coins, where N is the total edge weight of the path. If more than one path exists, grant coins for all such paths. A path cannot contain a starting point twice. Then, set all edges in those cycles to 0.


=== Spell: Discharge ===
=== Spell: Discharge ===
A player may discharge by posting a to #game-actions. When they do so, for each path to a player from the player who discharged, grant that player N coins, where N is the total number of paths to that player (or something else, whatever). Then set all traversed edges to 0.
A player may discharge by posting to #game-actions. When they do so, for each path to a player (called destination player) from the player who discharged (called the starting player), grant that player N coins, where N is the total edge weight of each paths to the destination player from the starting player. Then, after granting these coins, set all edges in these paths to 0.  


=== Spell: Absorb ===
=== Spell: Absorb ===
Something something, something for the total number of paths to the absorbing player. Then set all traversed edges to 0.
A player may absorb by posting to #game-actions. When they do so, for each path to the player who absorbed (called destination player) from any other player (called the starting player), grant that starting player N coins, where N is the total edge weight of each path from the starting player to the destination player. Then, after granting these coins, set all edges in these paths to 0.
 
=== Spell: Blood Magic ===
A player may revoke any number of Mana by posting to #game-actions and specifying a starting player and an ending player. When they do so, update the Graph at the row of the starting player and the column of the ending player, to its current amount minus the amount of Mana revoked.