OpenGothic icon indicating copy to clipboard operation
OpenGothic copied to clipboard

[Gothic 1] Magic Quirks

Open Abendlied opened this issue 1 year ago • 5 comments

  • The spells have not been fixed by recent PR #659 yet, that was fixing magic related behaviour.
  • is linked to discussion #622 but separated as a standalone ticket focusing on all magic related findings.

Describe the bug Multiple Magic spells not working as intended.

  • [x] 1. fire rain animation broken
  • [x] 2. Ice wave does no damage, does not freeze enemies
  • [ ] 3. Telekinesis cannot focus on items (e.g. sleeper temple statuette) while attack spells can focus on items
  • [ ] 4. Pyrokinesis does no damage, has no spell effect, broken enemy animation
  • [x] 6. Teleports: Sleeper Temple Teleport Scroll does only work sometimes, animation interrupted (same with Orc cementery teleport and generic teleport scrolls/runes)
  • [x] 7. Destroy Undead instantly kills Grash-Varrag-Arushat (5th undead priest), long before player has Uriziel
  • [x] 8. Destroy Undead kills all undead and regular orcs, minecrawler warriors, demons and other non-undead type enemies.
  • [x] 9. Transformation to creature scrolls do not always work, animation interrupted,e.g. meat bug at old ruin with Gorn
  • [X] 10. Attack spell focus on items, not only enemies
  • [x] 11. Uriziel spell does no AOE damage, only applies damage to focused NPC, charge animation broken
  • [ ] 12. Control spell does not work, causes crash. Not implemented
  • [ ] 13. Lightning spell does no damage, has no damage animation (only charging animation)
  • [ ] 14. Sleep spell works as intended but waits for animation to complete first (e.g. character eating, smoking)
  • [X] 15. ~~Fear spell not allowing NPC focus~~ incorrectly reported as targeting NPCs in vanilla is not possible either, it has an area effect spell.

Save-game/Log-file/Screenshots/Video

  1. Fire Rain savegame: save_slot_14.sav.tar.gz mp4-video: 7 sec, 6.1 MiB: fire rain quirky animation

  2. Ice wave savegame: save_slot_14.sav.tar.gz mp4-video: 6 sec, 6.6 MiB: ice wave no freezing no dmg

  3. Telekinesis savegame: save_slot_14.sav.tar.gz mp4-video: 10 sec, 8.9 MiB:telekinesis cannot focus on item

  4. Pyrokinesis savegame: save_slot_14.sav.tar.gz mp4-video: 6 sec, 6.6 MiB: pyrokinesis no dmg, no animation

  5. Sleeper Temple Teleport savegame: save_slot_3.sav.tar.gz mp4-video: n/a

  6. Destroy Undead (5th Shaman) savegame: save_slot_7.sav.tar.gz solution: merged PR https://github.com/Try/OpenGothic/pull/682 disables focusing enemies with destroy undead spell. PR https://github.com/Try/OpenGothic/pull/682 fixes remaining free aiming kill possibility (big thanks @thokkat!).

  7. Destroy Undead (non-undead enemies) savegame: save_slot_4.sav.tar.gz solution: merged PR https://github.com/Try/OpenGothic/pull/682 disables focusing enemies with destroy undead spell. PR https://github.com/Try/OpenGothic/pull/682 fixes remaining free aiming kill possibility (big thanks @thokkat!).

  8. Transformation to creature savegame: save_slot_12.sav.tar.gz solution: n/a

  9. Attack spell focus on items savegame: save_slot_15.sav.tar.gz screenshot: equipped attack spell shows ranged puzzle trigger (even through the wall) solution: potentially covered by merged PR https://github.com/Try/OpenGothic/pull/682

  10. Uriziel spell AOE savegame: n/a solution: open PR https://github.com/Try/OpenGothic/pull/682

  11. control spell not implemented savegame: n/a screenshot: n/a

  12. lightning savegame: n/a screenshot: n/a

  13. Sleep delay when NPC animation savegame: n/a screenshot: n/a

~~15. Fear savegame: n/a screenshot: n/a~~

Application log

1. fire rain animation log (no crash, just log)

OpenGothic v1.0 dev no "SystemPack.ini" file in path - using default settings GPU = NVIDIA GeForce GTX 1050 Depth format = Depth32F Shadow format = Depth16 [zenkit] Parsing object [MeshAndBsp % 0 0] [zenkit] Parsing chunk c000 [zenkit] Parsing chunk c010 [zenkit] Parsing chunk c040 [zenkit] Parsing chunk c045 [zenkit] Parsing chunk c050 [zenkit] Parsing chunk c0ff [zenkit] Parsing object [VobTree % 0 0] [zenkit] Parsing object [WayNet % 0 0] [zenkit] Parsing object [EndMarker % 0 0] [zenkit] detected invalid use of KEYWORD "ani" in "Model" block. Ignoring rest of script. unable to load sound fx: WOOD_NIGHT2 [zenkit] Syntax error (line 162, column 56): String not terminated alias not found: r_Roam1 -> r_Scratch alias not found: t_FallenB_2_Stand -> t_Fallen_2_Stand [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk [zenkit] Syntax error (line 138, column 55): String not terminated comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_FistWalkBL_2_FistWalk -> t_FistWalk_2_FistWalkL [zenkit] detected invalid use of KEYWORD "*eventSFX" in "Model" block. Ignoring rest of script. alias not found: t_SwimF_2_Dive -> t_swim_2_dive alias not found: t_SwimF_2_Dive -> t_swim_2_dive [zenkit] Syntax error (line 55, column 104): String not terminated [zenkit] Syntax error (line 55, column 117): String not terminated [zenkit] detected invalid use of KEYWORD "aniAlias" in "Model" block. Ignoring rest of script. [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk unable to load sound fx: SVM_17_AARGH

2. ice wave no freezing, no damage (no crash, just log)

OpenGothic v1.0 dev no "SystemPack.ini" file in path - using default settings GPU = NVIDIA GeForce GTX 1050 Depth format = Depth32F Shadow format = Depth16 [zenkit] Parsing object [MeshAndBsp % 0 0] [zenkit] Parsing chunk c000 [zenkit] Parsing chunk c010 [zenkit] Parsing chunk c040 [zenkit] Parsing chunk c045 [zenkit] Parsing chunk c050 [zenkit] Parsing chunk c0ff [zenkit] Parsing object [VobTree % 0 0] [zenkit] Parsing object [WayNet % 0 0] [zenkit] Parsing object [EndMarker % 0 0] [zenkit] detected invalid use of KEYWORD "ani" in "Model" block. Ignoring rest of script. unable to load sound fx: WOOD_NIGHT2 [zenkit] Syntax error (line 162, column 56): String not terminated alias not found: r_Roam1 -> r_Scratch alias not found: t_FallenB_2_Stand -> t_Fallen_2_Stand [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk [zenkit] Syntax error (line 138, column 55): String not terminated comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_FistWalkBL_2_FistWalk -> t_FistWalk_2_FistWalkL [zenkit] detected invalid use of KEYWORD "*eventSFX" in "Model" block. Ignoring rest of script. alias not found: t_SwimF_2_Dive -> t_swim_2_dive alias not found: t_SwimF_2_Dive -> t_swim_2_dive [zenkit] Syntax error (line 55, column 104): String not terminated [zenkit] Syntax error (line 55, column 117): String not terminated [zenkit] detected invalid use of KEYWORD "aniAlias" in "Model" block. Ignoring rest of script. [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk reopen sound device:

3. telekinesis cannot focus on item while other spells can (no crash, just log)

OpenGothic v1.0 dev no "SystemPack.ini" file in path - using default settings GPU = NVIDIA GeForce GTX 1050 Depth format = Depth32F Shadow format = Depth16 [zenkit] Parsing object [MeshAndBsp % 0 0] [zenkit] Parsing chunk c000 [zenkit] Parsing chunk c010 [zenkit] Parsing chunk c040 [zenkit] Parsing chunk c045 [zenkit] Parsing chunk c050 [zenkit] Parsing chunk c0ff [zenkit] Parsing object [VobTree % 0 0] [zenkit] Parsing object [WayNet % 0 0] [zenkit] Parsing object [EndMarker % 0 0] [zenkit] detected invalid use of KEYWORD "ani" in "Model" block. Ignoring rest of script. unable to load sound fx: WOOD_NIGHT2 [zenkit] Syntax error (line 162, column 56): String not terminated alias not found: r_Roam1 -> r_Scratch alias not found: t_FallenB_2_Stand -> t_Fallen_2_Stand [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk [zenkit] Syntax error (line 138, column 55): String not terminated comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_FistWalkBL_2_FistWalk -> t_FistWalk_2_FistWalkL [zenkit] detected invalid use of KEYWORD "*eventSFX" in "Model" block. Ignoring rest of script. alias not found: t_SwimF_2_Dive -> t_swim_2_dive alias not found: t_SwimF_2_Dive -> t_swim_2_dive [zenkit] Syntax error (line 55, column 104): String not terminated [zenkit] Syntax error (line 55, column 117): String not terminated [zenkit] detected invalid use of KEYWORD "aniAlias" in "Model" block. Ignoring rest of script. [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk

4. pyrokinesis, no damage, no spell effect, broken enemy animation (no crash, just log)

OpenGothic v1.0 dev no "SystemPack.ini" file in path - using default settings GPU = NVIDIA GeForce GTX 1050 Depth format = Depth32F Shadow format = Depth16 [zenkit] Parsing object [MeshAndBsp % 0 0] [zenkit] Parsing chunk c000 [zenkit] Parsing chunk c010 [zenkit] Parsing chunk c040 [zenkit] Parsing chunk c045 [zenkit] Parsing chunk c050 [zenkit] Parsing chunk c0ff [zenkit] Parsing object [VobTree % 0 0] [zenkit] Parsing object [WayNet % 0 0] [zenkit] Parsing object [EndMarker % 0 0] [zenkit] detected invalid use of KEYWORD "ani" in "Model" block. Ignoring rest of script. unable to load sound fx: WOOD_NIGHT2 [zenkit] Syntax error (line 162, column 56): String not terminated alias not found: r_Roam1 -> r_Scratch alias not found: t_FallenB_2_Stand -> t_Fallen_2_Stand [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk [zenkit] Syntax error (line 138, column 55): String not terminated comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_FistWalkBL_2_FistWalk -> t_FistWalk_2_FistWalkL [zenkit] detected invalid use of KEYWORD "*eventSFX" in "Model" block. Ignoring rest of script. alias not found: t_SwimF_2_Dive -> t_swim_2_dive alias not found: t_SwimF_2_Dive -> t_swim_2_dive [zenkit] Syntax error (line 55, column 104): String not terminated [zenkit] Syntax error (line 55, column 117): String not terminated [zenkit] detected invalid use of KEYWORD "aniAlias" in "Model" block. Ignoring rest of script. [zenkit] Syntax error (line 3186, column 2): comments must start with two slashes comb not found: t_FIREPLACE_Stand_2_S0 -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) comb not found: t_FIREPLACE_S0_2_Stand -> c_FP_STAND_2_S0_(c_FP_STAND_2_S0_2) alias not found: t_Walk_2_WalkBL -> t_walkL_2_Walk not implemented call [AI_WHIRLAROUND] not implemented call [NPC_GETINVITEMBYSLOT] [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set not implemented call [NPC_HASNEWS] [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set [zenkit] Accessing member "C_ITEM.MAINFLAG" without an instance set

12. crashlog after control spell should end succesfully > ---crashlog(std::terminate)--- > GPU: NVIDIA GeForce GTX 1050 > #1: std::unexpected() - /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7e55a789752a] > #2: std::unexpected() - /usr/lib/libstdc++.so.6(+0xae2b6) [0x7e55a78ae2b6] > #3: std::enable_if, void>::type zenkit::DaedalusVm::allocate_instance<:inpc>(std::shared_ptr<:inpc> const&, zenkit::DaedalusSymbol*) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN6zenkit10DaedalusVm17allocate_instanceINS_4INpcEEENSt9enable_ifIX12is_base_of_vINS_16DaedalusInstanceET_EEvE4typeERKSt10shared_ptrIS5_EPNS_14DaedalusSymbolE+0x304) [0x598b97e8ef24] > #4: GameScript::initializeInstanceNpc(std::shared_ptr<:inpc> const&, unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN10GameScript21initializeInstanceNpcERKSt10shared_ptrIN6zenkit4INpcEEm+0x50) [0x598b97e73860] > #5: Npc::commitSpell() - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN3Npc11commitSpellEv+0x29b) [0x598b97fe167b] > #6: Npc::tickCast(unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN3Npc8tickCastEm+0x337) [0x598b97fe1c77] > #7: Npc::tick(unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN3Npc4tickEm+0x5f) [0x598b97fe216f] > #8: WorldObjects::tick(unsigned long, unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN12WorldObjects4tickEmm+0x22d) [0x598b9800d35d] > #9: World::tick(unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN5World4tickEm+0x1b) [0x598b97ffe34b] > #10: GameSession::tick(unsigned long) - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN11GameSession4tickEm+0xc7) [0x598b97ebd357] > #11: MainWindow::tick() - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN10MainWindow4tickEv+0x127) [0x598b97f68ef7] > #12: MainWindow::render() - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(_ZN10MainWindow6renderEv+0x64) [0x598b97f6cec4] > #13: Tempest::X11Api::implProcessEvents(Tempest::SystemApi::AppCallBack&) - /home/abendlied/OpenGothic/build/opengothic/libTempest.so(_ZN7Tempest6X11Api17implProcessEventsERNS_9SystemApi11AppCallBackE+0x5e) [0x7e55a7d6282e] > #14: Tempest::X11Api::implExec(Tempest::SystemApi::AppCallBack&) - /home/abendlied/OpenGothic/build/opengothic/libTempest.so(_ZN7Tempest6X11Api8implExecERNS_9SystemApi11AppCallBackE+0x1b) [0x7e55a7d62f8b] > #15: main - /home/abendlied/OpenGothic/build/opengothic/Gothic2Notr(main+0x218) [0x598b97e05418]

Abendlied avatar Aug 01 '24 15:08 Abendlied

fire rain and ice wave have been fixed by merged PR #682, big thanks @thokkat!

Abendlied avatar Sep 11 '24 19:09 Abendlied

@Abendlied https://github.com/Try/OpenGothic/pull/685 should now really fix 18.1 and 18.2 :).

From what i can tell only remaining open issue not listed here would be control spell. Can you add it and other magic-related you find to the start post to have them in one place?

thokkat avatar Sep 13 '24 11:09 thokkat

Thank you @thokkat,

I have added 5 through 15 to the list.

  1. Telekinesis
  2. Sleeper Temple Teleport
  3. Destroy Undead (5th Shaman)
  4. Destroy Undead (non-undead enemies)
  5. Transformation to creature
  6. Attack spell focus on items
  7. Uriziel spell AOE
  8. control spell not implemented
  9. lightning
  10. Sleep delay when NPC animation
  11. Fear

Abendlied avatar Sep 13 '24 19:09 Abendlied

  1. and 11. should work now with recent changes.

Fear (15.) can't target npcs in vanilla, it has a area effect.

thokkat avatar Sep 14 '24 16:09 thokkat

  1. and 11. should work now with recent changes.

True, both teleport (all scrolls & runes) as well as Uriziel spell are fixed by your previous PR, @thokkat. I just tested them all.

Fear (15.) can't target npcs in vanilla, it has a area effect.

Thank you for checking that in vanilla. I cannot get unmodded G1 to run so stable on my machine so I have to rely on my memory a lot, which in this case was flawed.

Abendlied avatar Sep 14 '24 20:09 Abendlied