Morgoth Broken Again

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Gordon
    Scout
    • Jan 2010
    • 31

    Morgoth Broken Again

    Killed Morgoth with arrows! Never had to hit him with my weapon once. He only hit me twice and knocked me down less than 200 HP. Unfortunately, all he dropped was a Massive Iron Crown [0,+4] 2.0 lb and a Mighty Hammer (3d9) (+2,+1) 20 lb. Neither had any special abilities.
    Last edited by Gordon; January 14, 2010, 23:17.
  • Gordon
    Scout
    • Jan 2010
    • 31

    #2
    Character Dump

    Here's the dump:



    Notice items v) and w) in the Character Inventory.

    Comment

    • Magnate
      Angband Devteam member
      • May 2007
      • 5110

      #3
      Originally posted by Gordon
      Here's the dump:



      Notice items v) and w) in the Character Inventory.
      This is a long-standing bug: http://trac.rephial.org/ticket/641. Nobody's yet been able to figure out why it happens.
      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

      Comment

      • Marble Dice
        Swordsman
        • Jun 2008
        • 412

        #4
        Based on comments in monster2.c, the codebase seems to assume that apply_magic() will turn the INSTA_ART base items into the necessary artifacts, but this is certainly not the case. Has this bug really been around that long?

        Comment

        • konijn_
          Hellband maintainer
          • Jul 2007
          • 367

          #5
          Originally posted by Marble Dice
          Based on comments in monster2.c, the codebase seems to assume that apply_magic() will turn the INSTA_ART base items into the necessary artifacts, but this is certainly not the case. Has this bug really been around that long?
          I wonder if setting the name1 will just fix it ?

          Angband
          Code:
          2918	                /* Mega-Hack -- Prepare to make "Grond" */
          2919	                object_prep(i_ptr, lookup_kind(TV_HAFTED, SV_GROND), 0, MAXIMISE);
          2920	
          2921	                /* Note -- We must not set name1 so that it can be made into
          2922	                 * an artifact by apply_magic */
          2923	
          2924	                /* Mega-Hack -- Actually create "Grond" */
          2925	                apply_magic(i_ptr, -1, TRUE, TRUE, TRUE);
          Hellband
          Code:
          /* Get local object */
          q_ptr = &forge;
          /* Mega-Hack -- Prepare to make "Crown of the Universe" */
          object_prep(q_ptr, lookup_kind(TV_CROWN, SV_SEVENTH));
          /* Mega-Hack -- Mark this item as "Crown of the Universe" */
          q_ptr->name1 = ART_SEVENTH;
          /* Mega-Hack -- Actually create "Crown of the Universe" */
          apply_magic(q_ptr, -1, TRUE, TRUE, TRUE);
          /* Drop it in the dungeon */
          drop_near(q_ptr, -1, y, x);
          * Are you ready for something else ? Hellband 0.8.8 is out! *

          Comment

          • Marble Dice
            Swordsman
            • Jun 2008
            • 412

            #6
            Originally posted by konijn_
            I wonder if setting the name1 will just fix it ?
            I'm guessing that's how it used to work, but at some point, changes were made to Vanilla's apply_magic() or make_artifact() which prevented them from upgrading the items properly. It's possible it was even fixed for a time under the assumption that you don't set name1 and they got upgraded some other way, but then that got broken too.

            r1892 has a fix which doesn't yet seem to break anything else, so here's hoping this one is gone for good now.

            Comment

            Working...
            😀
            😂
            🥰
            😘
            🤢
            😎
            😞
            😡
            👍
            👎