CleverRaven / CleverRaven/Cataclysm-DDA

We should be able to cast non wall-ignoring spells like Jolt onto different z-levels. Like onto flying wasps for instance.

Open
#48,293 6 comments 2 reactions 0 assignees View on GitHub
<Bug> Mods: Magiclysm Z-levels
Dominant language
C++
Stars
13.1k
Forks
4.6k
Avg merge
2d 1h
Merged PRs (30d)
200

Description

# Is your feature request related to a problem? Please describe.

Now that flying wasps can attack you while flying just above your head and fuck you up real good, we should be able to cast non-wall-ignoring spells like Jolt, Windstrike and Lightning Bolt (as opposed to spells like Ionization) at an angle, so that it can now hit enemies that are not on the same z-level as you. This is way better than having to aim with your gun, since area-of-effect spells are much harder to miss.

# Describe the solution you'd like

We should be able to shoot area-of-effect spells at an angle, freely aiming at a monster above (or below) you. This should ideally cross multiple z-levels as well, such as hitting a wasp at the z-level directly above you and incidentally hitting another wasp that was 2 z-level above you that just happened to line up perfectly.

# Describe alternatives you've considered
None. I mean, why should shooting our spells upwards and downwards be impossible irl (if magic existed)?

Contributor guide

Open the contributing guide

Research direction

Start by locating the spell-targeting and z-level handling code for Jolt, Windstrike, Lightning Bolt, and Ionization. Check how aiming and area-of-effect resolution currently constrain targets, then define done as correctly allowing eligible non-wall-ignoring spells to target aligned creatures above or below the caster while preserving existing wall-ignoring behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.