-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crushing Leap doesn't deal damage #53511
Comments
Unfortunately I can't properly test its damage because of issue CleverRaven#53511
* Feet mutations for lizards and birds. In short: I've done the following: - moved the Clawed Feet mutation out of Magiclysm into the main game. - added the Taloned Feet mutation for birds. - for quick testing I've added the flag `ALLOWS_TALONS` to ankle socks (Should be expanded to more footwear later) * No more ALLOWS_TALONS for ankle socks and changed attack text for birds In addition to that I've toned down bird feet DPS a bit. Note, that balancing them is still incomplete. * Rebalanced bird vs. raptor vs. lizard DPS. * Toned down DPS for bird and lizard feet even more. * Replaced avian feet random damage with the Talon Leap spell Unfortunately I can't properly test its damage because of issue #53511 * Forgot the recent changes ... * Require a target for Talon Leap * Added a comment (TODO: balancing) to the spell. * Apply suggestions from code review * Converted Taloned Feet to Avian Legs In addition to that they now require bird wings because of the avian leap spell. The `"threshreq": [ "THRESH_BIRD" ],` might be a bit redundant here, but I want to avoid the game attempting to mutate towards them pre-threshold. * Reworded and shortened Avian Legs description. * Reverted the changes to clawed feet In favor of changing RAP_TALONS into RAPTOR_LEGS at some later point they had to move. They can always be revisted later. ... and partially as per discussion. Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com>
* Feet mutations for lizards and birds. In short: I've done the following: - moved the Clawed Feet mutation out of Magiclysm into the main game. - added the Taloned Feet mutation for birds. - for quick testing I've added the flag `ALLOWS_TALONS` to ankle socks (Should be expanded to more footwear later) * No more ALLOWS_TALONS for ankle socks and changed attack text for birds In addition to that I've toned down bird feet DPS a bit. Note, that balancing them is still incomplete. * Rebalanced bird vs. raptor vs. lizard DPS. * Toned down DPS for bird and lizard feet even more. * Replaced avian feet random damage with the Talon Leap spell Unfortunately I can't properly test its damage because of issue CleverRaven#53511 * Forgot the recent changes ... * Require a target for Talon Leap * Added a comment (TODO: balancing) to the spell. * Apply suggestions from code review * Converted Taloned Feet to Avian Legs In addition to that they now require bird wings because of the avian leap spell. The `"threshreq": [ "THRESH_BIRD" ],` might be a bit redundant here, but I want to avoid the game attempting to mutate towards them pre-threshold. * Reworded and shortened Avian Legs description. * Reverted the changes to clawed feet In favor of changing RAP_TALONS into RAPTOR_LEGS at some later point they had to move. They can always be revisted later. ... and partially as per discussion. Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com>
To fix it, someone need: |
Repost it here from #60704, so it wont be missed:
index 091a9f2464..240b9e1d8d 100644
--- a/src/magic.cpp
+++ b/src/magic.cpp
@@ -1528,6 +1528,7 @@ void spell::cast_spell_effect( Creature &source, const tripoint &target ) const
void spell::cast_all_effects( Creature &source, const tripoint &target ) const
{
+ tripoint_abs_ms const target_abs = get_map().getglobal( target );
if( has_flag( spell_flag::WONDER ) ) {
const auto iter = type->additional_spells.begin();
for( int num_spells = std::abs( damage() ); num_spells > 0; num_spells-- ) {
@@ -1543,26 +1544,29 @@ void spell::cast_all_effects( Creature &source, const tripoint &target ) const
// if a message is added to the casting spell, it will be sent as well.
source.add_msg_if_player( sp.message() );
+ tripoint const target_local = get_map().getlocal( target_abs );
if( sp.has_flag( spell_flag::RANDOM_TARGET ) ) {
if( const cata::optional<tripoint> new_target = sp.random_valid_target( source,
- _self ? source.pos() : target ) ) {
+ _self ? source.pos() : target_local ) ) {
sp.cast_all_effects( source, *new_target );
}
} else {
if( _self ) {
sp.cast_all_effects( source, source.pos() );
} else {
- sp.cast_all_effects( source, target );
+ sp.cast_all_effects( source, target_local );
}
}
}
} else {
if( has_flag( spell_flag::EXTRA_EFFECTS_FIRST ) ) {
cast_extra_spell_effects( source, target );
- cast_spell_effect( source, target );
+ tripoint const target_local = get_map().getlocal( target_abs );
+ cast_spell_effect( source, target_local );
} else {
cast_spell_effect( source, target );
- cast_extra_spell_effects( source, target );
+ tripoint const target_local = get_map().getlocal( target_abs );
+ cast_extra_spell_effects( source, target_local );
}
}
} upd: i compiled said code, but it doesn't resolve the bug in any way |
I am moving this from release blockers as it appears to be a fairly complex fix, and while we definitely want it fixed, I don't think we can let it delay stable further. however, absolutely fix it if you think you can, this is a fairly significant bug. |
Describe the bug
The Crushing Leap spell from the Crushing Leap mutation doesn't deal damage when either aiming at an enemy or past one, instead you land in front of them with no other effect.
Steps to reproduce
Expected behavior
I expected the Crushing Leap to Crush when Leaping.
Screenshots
Versions and configuration
Dark Days Ahead [dda],
Disable NPC Needs [no_npc_food],
No Fungal Growth [no_fungal_growth],
Bionic Professions [package_bionic_professions],
Blaze Industries [blazeindustries],
C.R.I.T Expansion Mod [crt_expansion],
Magiclysm [magiclysm],
Mythical Martial Arts [MMA],
Stats Through Kills [stats_through_kills],
SpeedyDex [speedydex]
]
Additional context
No response
The text was updated successfully, but these errors were encountered: