CleverRaven / CleverRaven/Cataclysm-DDA

Stat boosting spells not swapping on cast

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

Description

# Describe the bug

Unless I'm misreading it horribly, the JSON for the various stat boosting spell's effects indicates that they're supposed to remove any other stat boosting spell when cast. (That's not indicated anywhere in the spell-text but that's a separate issue). However, I am entirely unable to switch to a different stat boost without waiting for the first to wear off.

# Steps To Reproduce

1. Learn the spells for Fox's Cunning and Ogre's Strength
2. Cast Fox's Cunning on yourself.
3. Wait a turn because sometimes the stat change isn't reflected immediately.
4. Notice your Intelligence has gone up
5. Try casting Ogre's Strength
6. Wait a few more turns.
7. Notice that your Intelligence is still boosted and your Strength remains the same.

# Expected behavior

Casting two different stat boosting spells should either apply both stat boosts, or replace the previous stat boost.

# Versions and configuration

- OS: Windows 10
- Game Version: 0.E-10395-g4525b4f
- Graphics version: Tiles
- Ingame language: English
- Mods loaded: Magliclysm, Alternative Map Key, Mythical Martial Arts, Stats Through Kills

# Additional context

A very cursory read through of the JSON makes me think that there's something wonky going on with non-equipped magical effects being applied because the effect data seems to indicate it SHOULD remove any other effects, but I haven't looked at the relevant code yet.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the interaction between Fox's Cunning and Ogre's Strength using the listed steps, then compare the spell JSON effect data with the code that applies non-equipped magical effects. Confirm whether casting a second stat-boosting spell should stack or replace the first, and verify that the chosen behavior works consistently.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.