News:

SMF - Just Installed!

TP Attack Power double-click auto-cast

Started by Joshex, Dec 10, 2024, 03:38 PM

Previous topic - Next topic

Joshex

so, many times I have trouble with the target recticle for [electrical Melee.Lightning rod] not only does it detect things like trees and stair railings that are not in mouseover-line-of-sight (or are completely out of view at some tangent behind the camera) causing a red recticle which returns "this power cannot be cast here" errors. but sometimes it also glitches while the recticle is white and will not cast till you move it around and find the sweetspot.

So I'm suggesting a feature to counteract that. how about mouse double-click causes it to cast at the closest valid casting point to the point clicked? and if there is no valid spot where clicked it will auto cast from the player-character position.
Ye cannie be dividin by zero! However, ye can be dividing 0.0 by a non-zero! that'd be a float.
always Decimal(str(your float)) before you int( your float).

Joshex

update, it's not just the lightning rod recticle, nor is it just TP attacks, I noticed there's some invisible overlay box of some sort, or something, which is interfereing with mouse-over sensors in game periodically, I have to reangle to camera and sneak the mouse towards it from inconvenient angles, for example to click-select a player directly in view.

at the time there was nothing behind the camera at all. leading me to believe it's some invisible box on the UI. I tested it and the same area where I could not select a player in view no matter how close I got, was the same area in which the lightning rod recticle was either; not showing up at all, red, or white but not responding to clicks.

this is a difficult thing to narrow down as it only happens "Sometimes", this leads me to believe theres some orphaned explanation window or something that has no graphics, no text and no background (so it's completely invisible) spawning in relation to some event related to the mouse, (likely something like a future feature meant to give a description of objects the mouse is over) but that box has Mouseover collision causing mouseover not to be calculated beyond the box until the box is removed, the removal of the box is triggered by moving the mouse pointer off it and rotating the view which causes a recalc of collected objects in the scene or redraw which then updates the client's understanding that the box is no longer there.

this is all speculation based on experiences encountering this mouse-over-dead-zone-ghost-box.

I had done a similar thing to myself in one of my game projects, the fix was the box could not be a Static object, it had to be a Sensor or Mouse-over would stop at it and ignore everything behind it.

I suspect a window more and more because for example the chat box, contact window, powers window, trays, insp window, enhancement window, navigation, salvage window, recipe window, incarnate powers window, target window, additional tray windows, buff icons, and health end and level bar all cause the same reaction as this ghost.

the thought occurs to me, that as I'm speculating it's an invisible box; what if it IS the visible windows?, what if at some point the mouse, after touching a window, fails to recognise it has left a window bounds(because the mouse was moved too quickly)?

this would potentially be updated when the view is adjusted and might explain the issue.

anyways these are my observations related to this event.

I had a video on discord a long time back showing how objects blocking the player from the recticle placement location trigger a red recticle that wont turn white until the mouse is moved to a visible location in line of sight to the character AND the view is rotated. that's right, without the view being rotated the recticle will not update and will stay red even if it's directly below the character.

wheras window interaction doesn't cause a red recticle, the recticle is white but wont respond when left-click is done, this is why I suspect this is a window bounds bug.
Ye cannie be dividin by zero! However, ye can be dividing 0.0 by a non-zero! that'd be a float.
always Decimal(str(your float)) before you int( your float).