Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch reorganises
spell.cso that it is now possible to cancel casting most spells at the direction or target prompt.tryspellchecks conditions that would prevent casting, and handles Amulet energy drain.targetspellprompts for a direction or target (for skilled fireball or cone of cold).spelleffectsnow handles the actual spell effects, and assumes the spell is successful.docastspecialis now used to cast a specific spell via a command other thanZinstead ofspelleffects. It can skip the direction/target prompt (for^T).However, there are some considerations regarding these changes:
This branch also fixes a minor bug whereby unskilled fireball and cone of cold were subject to half physical damage when cast at yourself, and changes the message 'You don't have enough energy to cast that spell' to 'You no longer have enough energy to cast that spell' if you had enough energy prior to the attempt but didn't after Amulet energy drain.