Implementing the restructure changes

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Carnivean
    Knight
    • Sep 2013
    • 527

    Originally posted by PowerWyrm
    Feature or bug?
    Bug. It was noted in the beta thread, but I thought Nick had resolved it?

    Comment

    • Nick
      Vanilla maintainer
      • Apr 2007
      • 9637

      Originally posted by Carnivean
      Bug. It was noted in the beta thread, but I thought Nick had resolved it?
      Yes, I think I have now.
      One for the Dark Lord on his dark throne
      In the Land of Mordor where the Shadows lie.

      Comment

      • PowerWyrm
        Prophet
        • Apr 2008
        • 2986

        Currently implementing 5cf8776: moving from old to atomic effect, "CURE_NONORLYBIG" lost the ability to cure hallucinations. This is true for both activation.txt and object.txt (!Life).
        PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

        Comment

        • PowerWyrm
          Prophet
          • Apr 2008
          • 2986

          More activation changes:
          - "MON_SLOW" was before a "BOLT_AWARE", but is now a "BOLT_STATUS" in activation.txt; same for "POLYMORPH"
          - "SHROOM_PURGING" was curing poison (not mentioned in the description), now it doesn't
          Last edited by PowerWyrm; June 11, 2015, 11:54.
          PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

          Comment

          • PowerWyrm
            Prophet
            • Apr 2008
            • 2986

            From 8cecbfb: the "DARKNESS" effect has been split in two, "DARKEN_AREA" and "TIMED_INC:BLIND". The problem with incrementing the "BLIND" counter is that it only checks vs the innate protection, that is PROT_BLIND. The old darkness effect was also checking vs RES_DARK. This makes half-orcs, which are innately resistant to darkness, suffer from blindness when reading a scroll of darkness, which is silly...

            No idea where to put the check though. As an extra parameter to the TIMED_INC effect probably.

            Old code:
            Code:
            if (!player_resists(context->player, ELEM_DARK))
                {
                    int amount = effect_calculate_value(context, FALSE);
            
                    player_inc_timed(context->player, TMD_BLIND, amount, TRUE, TRUE);
                }
                wieldeds_notice_element(context->player, ELEM_DARK);
            Need to pass ELEM_DARK somewhere and check vs resistance + notice the element.

            Another little change: the DARKNESS effect was a radius-3 ball doing 10 damage, so the DARKEN_AREA effect should have p2=3 and a dice:10 line.
            Last edited by PowerWyrm; June 12, 2015, 18:42.
            PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

            Comment

            • PowerWyrm
              Prophet
              • Apr 2008
              • 2986

              In the same vein, potions of experience were restoring lost exp before increasing it. Now they just do GAIN_EXP.
              PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

              Comment

              • PowerWyrm
                Prophet
                • Apr 2008
                • 2986

                Potions of salt water were paralyzing the character independently of having FA. The INC_TIMED effect now always checks for corresponding protection (PARALYZE/FA), so the paralyzing effect is now gone if you have FA.
                PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                Comment

                • Nick
                  Vanilla maintainer
                  • Apr 2007
                  • 9637

                  Originally posted by PowerWyrm
                  From 8cecbfb: the "DARKNESS" effect has been split in two, "DARKEN_AREA" and "TIMED_INC:BLIND". The problem with incrementing the "BLIND" counter is that it only checks vs the innate protection, that is PROT_BLIND. The old darkness effect was also checking vs RES_DARK. This makes half-orcs, which are innately resistant to darkness, suffer from blindness when reading a scroll of darkness, which is silly...

                  No idea where to put the check though. As an extra parameter to the TIMED_INC effect probably.

                  Old code:
                  Code:
                  if (!player_resists(context->player, ELEM_DARK))
                      {
                          int amount = effect_calculate_value(context, FALSE);
                  
                          player_inc_timed(context->player, TMD_BLIND, amount, TRUE, TRUE);
                      }
                      wieldeds_notice_element(context->player, ELEM_DARK);
                  Need to pass ELEM_DARK somewhere and check vs resistance + notice the element.

                  Another little change: the DARKNESS effect was a radius-3 ball doing 10 damage, so the DARKEN_AREA effect should have p2=3 and a dice:10 line.
                  I think the correct way to solve all this is to allow DARK_WEAK to damage the player, and have a handler for it in project-player.c. That way the blindness effect can just be put in the handler, as can the check against RES_DARK.
                  One for the Dark Lord on his dark throne
                  In the Land of Mordor where the Shadows lie.

                  Comment

                  • Ingwe Ingweron
                    Veteran
                    • Jan 2009
                    • 2129

                    Originally posted by PowerWyrm
                    In the same vein, potions of experience were restoring lost exp before increasing it. Now they just do GAIN_EXP.
                    If I recall correctly, !Experience have not restored lost experience for several past versions now. The change was that they used to be limited when @ experience was fairly early in the game, but in 3.5 they delivered the full 100,000 exp. points regardless of @ level. If @ had lost some experience, the points were applied to the loss first and any remaining increased experience.
                    “We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
                    ― Tom Stoppard, Rosencrantz and Guildenstern are Dead

                    Comment

                    • Nick
                      Vanilla maintainer
                      • Apr 2007
                      • 9637

                      Originally posted by Ingwe Ingweron
                      If I recall correctly, !Experience have not restored lost experience for several past versions now. The change was that they used to be limited when @ experience was fairly early in the game, but in 3.5 they delivered the full 100,000 exp. points regardless of @ level. If @ had lost some experience, the points were applied to the loss first and any remaining increased experience.
                      This is correct, with the added feature that if adding 100,000 XP still doesn't fully restore player XP, then player max XP is increased by 10,000.
                      One for the Dark Lord on his dark throne
                      In the Land of Mordor where the Shadows lie.

                      Comment

                      • PowerWyrm
                        Prophet
                        • Apr 2008
                        • 2986

                        Originally posted by Nick
                        This is correct, with the added feature that if adding 100,000 XP still doesn't fully restore player XP, then player max XP is increased by 10,000.
                        Ah ok, didn't see that...
                        PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                        Comment

                        • PowerWyrm
                          Prophet
                          • Apr 2008
                          • 2986

                          More atomic effects problems: "PROJECT_LOS" is used to map multiple effects that had different parameters which were lost in the process.

                          - the "dispel" effects: damage boost + check vs aware
                          - haste monsters: no damage boost + no check vs aware
                          - confuse/slow/sleep monsters: no damage boost + check vs aware
                          - the "dispel all" effect (staff of Power): damage boost + no check vs aware

                          The fix should probably to add a "PROJECT_LOS_AWARE" effect and keep the p2 parameter for damage boost.
                          PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                          Comment

                          • Nick
                            Vanilla maintainer
                            • Apr 2007
                            • 9637

                            Originally posted by PowerWyrm
                            More atomic effects problems: "PROJECT_LOS" is used to map multiple effects that had different parameters which were lost in the process.

                            - the "dispel" effects: damage boost + check vs aware
                            - haste monsters: no damage boost + no check vs aware
                            - confuse/slow/sleep monsters: no damage boost + check vs aware
                            - the "dispel all" effect (staff of Power): damage boost + no check vs aware

                            The fix should probably to add a "PROJECT_LOS_AWARE" effect and keep the p2 parameter for damage boost.
                            I think this is mostly right (eg it's sleep, confuse and turn undead that check vs aware), and I need to go and check all these guys individually.
                            One for the Dark Lord on his dark throne
                            In the Land of Mordor where the Shadows lie.

                            Comment

                            • PowerWyrm
                              Prophet
                              • Apr 2008
                              • 2986

                              Artifact activation messages are used for randarts. Unfortunately, randarts also have their names randomized, which breaks the activation format. Basically, an artifact "The something of Foo" should have an activation message like "The {kind} does something..." and an artifact "The something 'Foo'" should have an activation message like "{name} does something...". Otherwise, you get funny messages like "Of Arath glows deep blue...".
                              PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                              Comment

                              • PowerWyrm
                                Prophet
                                • Apr 2008
                                • 2986

                                When porting activations to a text file, most artifact activation messages were tied to the corresponding activation. In the case an activation was used by more than one artifact, an alternate message was added in artifact.txt for that artifact. Unfortunately, the alt_msg parameter of the artifact structure is never used in the code, so all artifacts get the base activation message. For example, Narya should say "Narya glows deep red..." (alternate message), but instead it says "The Ring of Fire lets out a shrill wail..." (base PROTEVIL message).
                                PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                                Comment

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