diff --git a/Source/missiles.cpp b/Source/missiles.cpp index bd0015b268e..09eff82a9bd 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -408,7 +408,7 @@ bool Plr2PlrMHit(const Player &player, Player &target, int mindam, int maxdam, i dam *= 5; break; case MissileID::Lightning: // 100% (200% of default) - case MissileID::NovaBall: // 100% (200% of default) + case MissileID::NovaBall: // 100% (200% of default) break; } } else { diff --git a/Source/player.cpp b/Source/player.cpp index d33b54e611d..a3b6dd9e523 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1120,10 +1120,9 @@ bool DoSpell(Player &player) player.position.tile, player.position.temp, player.executedSpell.spellLevel, - player.hasMonsterTarget, - player.hasPlayerTarget, - player.targetId - ); + player.hasMonsterTarget, + player.hasPlayerTarget, + player.targetId); if (IsAnyOf(player.executedSpell.spellType, SpellType::Scroll, SpellType::Charges)) { EnsureValidReadiedSpell(player); diff --git a/Source/spells.cpp b/Source/spells.cpp index 4bed33c6d09..756cd6ac536 100644 --- a/Source/spells.cpp +++ b/Source/spells.cpp @@ -217,7 +217,7 @@ void CastSpell(Player &player, SpellID spl, WorldTilePosition src, WorldTilePosi } // PVP REBALANCE: Obtain target position upon spell effect, rather than when initiating the cast for accuracy in arenas. - if (player.isOnArenaLevel()) { + if (player.isOnArenaLevel() && spl != SpellID::Teleport) { if (hasPlayerTarget) { assert(targetId >= 0 && targetId < Players.size()); dst = Players[targetId].position.future;