Skip to content
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

[0.50.01-SNAPSHOT] NPE on targetting hovercraft on same hex for Mech melee attack. #6063

Closed
7 tasks done
Tzahr opened this issue Oct 4, 2024 · 0 comments · Fixed by #6115
Closed
7 tasks done

[0.50.01-SNAPSHOT] NPE on targetting hovercraft on same hex for Mech melee attack. #6063

Tzahr opened this issue Oct 4, 2024 · 0 comments · Fixed by #6115
Labels
Bug Severity: Medium Issues described as medium severity as per the new issue form

Comments

@Tzahr
Copy link

Tzahr commented Oct 4, 2024

Prerequisites and Pre-Issue Checklist

  • I'm reporting the issue to the correct repository:

  • MegaMek

  • MegaMekLab

  • MekHQ

  • I've tested the issue against at least the latest MILESTONE version

  • I've asked on the MegaMek Discord about the error

  • I've reviewed the BattleTech rules and MegaMek documentation, and I've confirmed that something isn't working as intended.

  • I've searched the Github tracker and haven't found the issue listed

Severity *

Medium (Gameplay Limitation): Non-core functionality is impaired, providing a suboptimal but playable experience.

Brief Description *

Attached save has a Cestus 'Mech standing right on top of a Zephyr Hovertank on the melee attack phase. Attempting to target the Zephyr causes an NPE.

The log gives the following error:

08:07:18,042 ERROR [megamek.MegaMek] {AWT-EventQueue-0}
megamek.MegaMek.lambda$main$1(MegaMek.java:95) - Uncaught java.lang.IllegalStateException detected. Please open up an issue containing all logs, the game save file, and customs at https://github.com/MegaMek/megamek/issues . If Sentry is enabled, the error has also been logged.
java.lang.IllegalStateException: Never ask for the coords of an INarcPod.
at megamek.common.INarcPod.getPosition(INarcPod.java:158)
at megamek.common.actions.WeaponAttackAction.toHit(WeaponAttackAction.java:859)
at megamek.client.ui.swing.TargetChoiceDialog.infoText(TargetChoiceDialog.java:93)
at megamek.client.ui.swing.TargetChoiceDialog.summaryLabel(TargetChoiceDialog.java:85)
at megamek.client.ui.swing.TargetChoiceDialog.summaryLabel(TargetChoiceDialog.java:30)
at megamek.client.ui.swing.AbstractChoiceDialog.updateChoices(AbstractChoiceDialog.java:157)
at megamek.client.ui.swing.AbstractChoiceDialog.createCenterPane(AbstractChoiceDialog.java:136)
at megamek.client.ui.baseComponents.AbstractButtonDialog.initialize(AbstractButtonDialog.java:131)
at megamek.client.ui.swing.TargetChoiceDialog.(TargetChoiceDialog.java:73)
at megamek.client.ui.swing.TargetChoiceDialog.showSingleChoiceDialog(TargetChoiceDialog.java:120)
at megamek.client.ui.swing.PhysicalDisplay.chooseTarget(PhysicalDisplay.java:1447)
at megamek.client.ui.swing.PhysicalDisplay.hexSelected(PhysicalDisplay.java:1386)
at megamek.client.ui.swing.boardview.AbstractBoardView.processBoardViewEvent(AbstractBoardView.java:55)
at megamek.client.ui.swing.boardview.BoardView.select(BoardView.java:4046)
at megamek.client.ui.swing.PhysicalDisplay.hexMoused(PhysicalDisplay.java:1373)
at megamek.client.ui.swing.boardview.AbstractBoardView.processBoardViewEvent(AbstractBoardView.java:46)
at megamek.client.ui.swing.boardview.BoardView.mouseAction(BoardView.java:4162)
at megamek.client.ui.swing.boardview.BoardView.mouseAction(BoardView.java:4194)
at megamek.client.ui.swing.boardview.BoardView.mouseReleased(BoardView.java:3923)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6386)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Steps to Reproduce

Load attached save. Attempt to kick the Zephyr underneath the Cestus.

Operating System *

Windows 11

Java Version *

21.0.3

MegaMek Suite Version *

Free Text (type manually)

Custom MegaMek Version

Nightly v0.50.1-SNAPSHOT - Rev. a53044e

Attach Files

megamek.log
quicksave.sav.gz

Final Checklist

  • I've checked to make sure that this issue has not already been filed
  • I'm reporting only one issue in this ticket for clarity and focus
@repligator repligator added the Bug label Oct 5, 2024
@SJuliez SJuliez added the Severity: Medium Issues described as medium severity as per the new issue form label Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Severity: Medium Issues described as medium severity as per the new issue form
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants