[1.0.1] Distortion Bolt is not working
Moderator: Moderator
[1.0.1] Distortion Bolt is not working
I have run dozens of solipsists over the last few weeks, mostly using Distortion. For a long while I suspected distortion bold wasn't working properly, but I never paid much attention.
Now that I have paid attention, it is clearly not working in many cases, but I can't figure out the context. Basically, I aim distortion bolt at a room full of creatures with maelstrom, and I always make sure distortion bolt hits a critter with distortion. But the radius explosion only occurs about 1 in every 3-4 times.
This is a serious bug. I"ll try and find out exactly the conditions, but someone might be able to code dive and figure it out. It would be good to have this ready for 1.0.2.
Now that I have paid attention, it is clearly not working in many cases, but I can't figure out the context. Basically, I aim distortion bolt at a room full of creatures with maelstrom, and I always make sure distortion bolt hits a critter with distortion. But the radius explosion only occurs about 1 in every 3-4 times.
This is a serious bug. I"ll try and find out exactly the conditions, but someone might be able to code dive and figure it out. It would be good to have this ready for 1.0.2.
MADNESS rocks
Re: [1.0.1] Distortion Bolt is not working
Still testing... On autocast the problem is much worse. Could this be then a coroutine problem?
MADNESS rocks
Re: [1.0.1] Distortion Bolt is not working
Update: this is still not working in 1.0.3. Many times, distortion bolt on a distorted character fails to do radial damage.
The code seems rather simple:
So I am wondering if sometimes x or y is not returned? I've looked into the targetting code, but I can't make any sense of it:
The code seems rather simple:
Code: Select all
newTalent{
name = "Distortion Bolt",
type = {"psionic/distortion", 1},
points = 5,
require = psi_wil_req1,
cooldown = 3,
psi = 5,
tactical = { ATTACKAREA = { PHYSICAL = 2} },
range = 10,
radius = function(self, t) return 1 + math.floor(self:getTalentLevel(t)/3) end,
requires_target = true,
getDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 150) end,
target = function(self, t)
local friendlyfire = true
if self:getTalentLevel(self.T_DISTORTION_BOLT) >= 5 then
friendlyfire = false
end
return {type="ball", radius=self:getTalentRadius(t), friendlyfire=friendlyfire, range=self:getTalentRange(t), talent=t, display={trail="distortion_trail"}}
end,
action = function(self, t)
local tg = self:getTalentTarget(t)
local x, y = self:getTarget(tg)
if not x or not y then return nil end
local damage = self:mindCrit(t.getDamage(self, t))
tg.type = "bolt" -- switch our targeting to a bolt for the initial projectile
self:projectile(tg, x, y, DamageType.DISTORTION, {dam=damage, penetrate=true, explosion=damage*1.5, friendlyfire=tg.friendlyfire, radius=self:getTalentRadius(t)})
game:playSoundNear(self, "talents/distortion")
return true
end,
info = function(self, t)
local damage = t.getDamage(self, t)
local radius = self:getTalentRadius(t)
return ([[Fire a bolt of distortion that ignores resistance and inflicts %0.2f physical damage. This damage will distort affected targets, rendering them vulnerable to distortion effects for two turns.
If the bolt comes in contact with a target that's already distorted, a detonation will occur, inflicting 150%% of the base damage in a radius of %d.
At talent level 5, you learn to shape your distortion effects, preventing them from hitting you or your allies.
The damage will scale with your Mindpower.]]):format(damDesc(self, DamageType.PHYSICAL, damage), radius)
end,
Code: Select all
--- Player requests a target
-- This method should be called by your Player:getTarget() method, it will handle everything
-- @param typ the targeting parameters
function _M:targetGetForPlayer(typ)
if self.target.forced then return unpack(self.target.forced) end
if coroutine.running() and typ then
local msg
self.target_no_star_scan = nil
if type(typ) == "string" then msg, typ = typ, nil
elseif type(typ) == "table" then
if typ.default_target then
self.target.target.entity = typ.default_target
self.target_no_star_scan = true
end
msg = typ.msg
end
self:targetMode("exclusive", msg, coroutine.running(), typ)
if typ.immediate_keys then self.target_style = "immediate" end
if typ.nolock then self.target_style = "free" end
if typ.nowarning then self.target_warning = false end
return coroutine.yield()
end
return self.target.target.x, self.target.target.y, self.target.target.entity
end
MADNESS rocks
-
- Thalore
- Posts: 190
- Joined: Tue Jul 03, 2012 7:04 pm
Re: [1.0.1] Distortion Bolt is not working
Are you sure? Are you maybe targeting stuff that can avoid it, like... snakes? That's the only instance I can think of that causes Distortion Bolts not to deal aoe damage for me... or maybe I don't notice when it doesn't work since everything dies anyway 
Also... take into account that distortion bolt isn't an instant, so maybe the distortion debuff expires before the bolt gets to the target?

Also... take into account that distortion bolt isn't an instant, so maybe the distortion debuff expires before the bolt gets to the target?
Re: [1.0.1] Distortion Bolt is not working
Yes, I'm 95% sure. I've played hundreds of solipsists, almost all using distortion. I can have 15 critters, all sitting still, in the middle of maelstrom, and distortion bolt won't trigger radial damage. I've paid careful attention, but I can't see any pattern, which is frustrating. So I'm wondering if anyone else finds this?Peppersauce wrote:Are you sure? Are you maybe targeting stuff that can avoid it, like... snakes? That's the only instance I can think of that causes Distortion Bolts not to deal aoe damage for me... or maybe I don't notice when it doesn't work since everything dies anyway
Also... take into account that distortion bolt isn't an instant, so maybe the distortion debuff expires before the bolt gets to the target?
MADNESS rocks
-
- Thalore
- Posts: 145
- Joined: Sun Dec 18, 2011 1:41 pm
Re: [1.0.1] Distortion Bolt is not working
Hmm. Are you taking into accord that Distortion Bolt is a projectile spell (i.e. it won't hit an enemy if another enemy's in the way)? I mean, you're probably aware of that, just making sure.
Re: [1.0.1] Distortion Bolt is not working
That might explain it. I'll check.Kaja Rainbow wrote:Hmm. Are you taking into accord that Distortion Bolt is a projectile spell (i.e. it won't hit an enemy if another enemy's in the way)? I mean, you're probably aware of that, just making sure.
MADNESS rocks
Re: [1.0.1] Distortion Bolt is not working
Sometimes my thoughtforms get in the way, preventing the explosion since they are immune. Is that what's happening? Try without thoughtforms.
Re: [1.0.1] Distortion Bolt is not working
It'd help if distortion bolt had a more conspicious graphical effect to show where the bolt currently is. Also since enemies tend to move around and it doesn't asplode on the target square should it miss like other ball spells, having it travel at instant speed wouldn't be unreasonable.
Re: [1.0.1] Distortion Bolt is not working
yes, good idea. and that it won't hit at all if there is something elso in your los. basically, you lose a turn if you drop it on an npc who is not "first" in los.Infinitum wrote:It'd help if distortion bolt had a more conspicious graphical effect to show where the bolt currently is. Also since enemies tend to move around and it doesn't asplode on the target square should it miss like other ball spells, having it travel at instant speed wouldn't be unreasonable.
MADNESS rocks
Re: [1.0.1] Distortion Bolt is not working
Ok, lots of new checking, and it is still not working. I've hit distorted npcs, with a clear shot, and 1-2 npcs within the radius, and they receive no damage whatsoever.jenx wrote:That might explain it. I'll check.Kaja Rainbow wrote:Hmm. Are you taking into accord that Distortion Bolt is a projectile spell (i.e. it won't hit an enemy if another enemy's in the way)? I mean, you're probably aware of that, just making sure.
So, DG, I think this has bug for sure, but I have no idea how to find it.
MADNESS rocks
Re: [1.0.1] Distortion Bolt is not working
It's a bolt, it has travel time.
The issue is amplified more by how fast Solipsists go. Take the following example.
Troll has a distortion effect with 1 turn displayed left but really it's more like 2/10th of a turn left. You go because you're fast and get more than one action a turn. The bolt leaves your hand and moves two tiles in 1/10th of a turn. The global game turn ticks over, timed effects countdown, the bolt moves two more tiles, the troll gets hit, no distortion effect goes off.
I'm fairly sure it's not a bug.
That said the travel time could be made instant. I don't think that small buff/quality of life improvement will unbalance the tree in comparison to other Solipsist options.
The issue is amplified more by how fast Solipsists go. Take the following example.
Troll has a distortion effect with 1 turn displayed left but really it's more like 2/10th of a turn left. You go because you're fast and get more than one action a turn. The bolt leaves your hand and moves two tiles in 1/10th of a turn. The global game turn ticks over, timed effects countdown, the bolt moves two more tiles, the troll gets hit, no distortion effect goes off.
I'm fairly sure it's not a bug.
That said the travel time could be made instant. I don't think that small buff/quality of life improvement will unbalance the tree in comparison to other Solipsist options.
Re: [1.0.1] Distortion Bolt is not working
Instant would be good, and not allowing the talent to strike a npc behind another one.
MADNESS rocks