Hex Casting

Hex Casting

6M Downloads

The 1000+ Gemini's Gambit instakill mishap should be documented and should probably not instakill you

object-Object opened this issue ยท 6 comments

commented

Currently there's no indication in the book that anything bad will happen if you use too high of a number with Gemini's Gambit. Also, as discussed on Discord by beholderface:

So why is the undocumented mishap where you die if you use Gemini's Gambit to make over 1,000 iotas a thing? If you make a cleric circle do it, you can just instakill other people, including creative players.
I saw someone mention it was probably to make it harder to do massive loop unrolling, but if that's the intention, I think a less abusable (and also less punishing to accidents) way to do it would be to just treat it as if you had drawn Charon's Gambit

commented

1000 also isn't a terribly unreasonable number for someone to actually want to use, especially since it's under the iota limit.

commented

oh good point

commented

I'm not sure how to pre-emptively check if there will be too much memory used; I impled it as a panic fix because the alternative is that you can trivially crash servers. (The iota limit doesn't work here because that's only when serializing and deserializing; these are created in memory)

commented

I think it would be reasonable to make it an actual documented mishap with a less powerful consequence, and raise the number where it happens, maybe to match the iota limit.

commented

(Or just make it return the same thing as if the iota limit were being enforced)

commented

I'm gonna consider this a duplicate of #407 because I have the same fix in mind (saving the current iota size of the casting state somewhere and, before doing anything that might blow it open, checking).

This is dangerously close to solving the halting problem