Dumb Sil questions

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9637

    Dumb Sil questions

    First of an occasional series.

    Despite the fact that I'm doing a rewrite of Sil, I haven't played a huge amount or got very deep. So sometimes I see stuff in the code that tells me something surprising about the gameplay, and I'd like a sanity check on whether it is indeed what happens.

    First question - do Shovels/Mattocks of Belegost ever appear? This is Sil 1.3.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.
  • Quirk
    Swordsman
    • Mar 2016
    • 462

    #2
    Mattocks yes. Shovels no.

    http://angband.oook.cz/ladder-show.php?id=23471 is one of the more recent Sil 1.3 dumps to contain one but they show up in dumps not infrequently as endgame gear.

    Shovels I am going off my knowledge of the configuration files as negatives are less easy to prove.

    Comment

    • Nick
      Vanilla maintainer
      • Apr 2007
      • 9637

      #3
      So this makes perfect sense in Sil-Q, where
      Code:
      /* The "sval" codes for TV_DIGGING */
      #define SV_SHOVEL 1
      #define SV_MATTOCK 3
      and
      Code:
      N:51:of Belegost
      W:0:1:0:1000
      C:0:0:0:0:0:0:1
      T:20:3:3
      so it's explicitly just mattocks. The thing that confused me was in Sil 1.3 the Belegost definition was
      Code:
      N:51:of Belegost
      W:0:1:0:1000
      C:0:0:0:0:0:0:1
      T:20:2:3
      but the svals were
      Code:
      #define SV_SHOVEL 1
      #define SV_MATTOCK 7
      which makes it look like they can never be generated.

      I guess I'm missing something; won't be the first time.
      One for the Dark Lord on his dark throne
      In the Land of Mordor where the Shadows lie.

      Comment

      • debo
        Veteran
        • Oct 2011
        • 2402

        #4
        Originally posted by Nick
        So this makes perfect sense in Sil-Q, where
        Code:
        /* The "sval" codes for TV_DIGGING */
        #define SV_SHOVEL 1
        #define SV_MATTOCK 3
        and
        Code:
        N:51:of Belegost
        W:0:1:0:1000
        C:0:0:0:0:0:0:1
        T:20:3:3
        so it's explicitly just mattocks. The thing that confused me was in Sil 1.3 the Belegost definition was
        Code:
        N:51:of Belegost
        W:0:1:0:1000
        C:0:0:0:0:0:0:1
        T:20:2:3
        but the svals were
        Code:
        #define SV_SHOVEL 1
        #define SV_MATTOCK 7
        which makes it look like they can never be generated.

        I guess I'm missing something; won't be the first time.
        Not scientific, but I never saw an ego shovel in vanilla Sil. Mattocks of Belegost were the only mattock ego. (There's an artefact mattock which is a load of fun.)
        Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

        Comment

        • Quirk
          Swordsman
          • Mar 2016
          • 462

          #5
          Originally posted by Nick
          So this makes perfect sense in Sil-Q, where
          Code:
          /* The "sval" codes for TV_DIGGING */
          #define SV_SHOVEL 1
          #define SV_MATTOCK 3
          and
          Code:
          N:51:of Belegost
          W:0:1:0:1000
          C:0:0:0:0:0:0:1
          T:20:3:3
          so it's explicitly just mattocks. The thing that confused me was in Sil 1.3 the Belegost definition was
          Code:
          N:51:of Belegost
          W:0:1:0:1000
          C:0:0:0:0:0:0:1
          T:20:2:3
          but the svals were
          Code:
          #define SV_SHOVEL 1
          #define SV_MATTOCK 7
          which makes it look like they can never be generated.

          I guess I'm missing something; won't be the first time.
          There is rather a lot of technical debt in 1.3. While I expressly didn't focus on remedying this in order to be able to move forward with Sil-Q, there are a number of areas of this type where I did a chunk of cleaning up, and a fair few bugs that were fixed also of varying levels of severity. Unfortunately I didn't track or document these as I didn't expect anyone trying to back port them to 1.3, and may in some cases have stuck them in larger commits along with other changes. However I think a number of the more serious ones including memory corruption and chasms cutting off access to down stairs were with the level generation so if you have replaced that it will help considerably.

          In any case actual object generation is handled via the values in object.txt and the defines are irrelevant for it. The defines exist to allow various special behaviour attached to the svals and tvals, but I don't think there is any such attached to shovels or mattocks, only to their parent digger type. Your main weapon in dealing with this codebase is grep - it should be easy to determine if these defines are used anywhere.

          Comment

          • Nick
            Vanilla maintainer
            • Apr 2007
            • 9637

            #6
            Originally posted by Quirk
            In any case actual object generation is handled via the values in object.txt and the defines are irrelevant for it.
            Thanks, of course I should have checked that

            And yes, I am using grep *a lot*
            One for the Dark Lord on his dark throne
            In the Land of Mordor where the Shadows lie.

            Comment

            • debo
              Veteran
              • Oct 2011
              • 2402

              #7
              Have you tried implementing the noise/scent "flows" yet? Because that looks like it would be unfun. Although I guess Angband maintainers have different notions of fun.
              Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9637

                #8
                Originally posted by debo
                Have you tried implementing the noise/scent "flows" yet? Because that looks like it would be unfun. Although I guess Angband maintainers have different notions of fun.
                I think I'm done with that, and it was actually quite fun

                Least fun was smithing (not fully done yet).
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • Nick
                  Vanilla maintainer
                  • Apr 2007
                  • 9637

                  #9
                  Next question: Bane ability.

                  Do you choose what you're a bane of when you take the ability, and can you ever change?

                  EDIT: I now believe you make an irrevocable choice when you take the ability, but please tell me if I'm wrong.
                  Last edited by Nick; November 20, 2022, 21:23. Reason: More information
                  One for the Dark Lord on his dark throne
                  In the Land of Mordor where the Shadows lie.

                  Comment

                  • debo
                    Veteran
                    • Oct 2011
                    • 2402

                    #10
                    Originally posted by Nick
                    Next question: Bane ability.

                    Do you choose what you're a bane of when you take the ability, and can you ever change?

                    EDIT: I now believe you make an irrevocable choice when you take the ability, but please tell me if I'm wrong.

                    You can't change it once you've made your choice.
                    Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                    Comment

                    • Nick
                      Vanilla maintainer
                      • Apr 2007
                      • 9637

                      #11
                      Context: I'm doing a hacky copy of the Sil (former NPP) code for line-of-fire, as a temporary measure to get stuff working.

                      Question: My understanding is that you can't shoot at every grid you can see in Sil. But can you see every grid you can shoot at?
                      One for the Dark Lord on his dark throne
                      In the Land of Mordor where the Shadows lie.

                      Comment

                      • SweetVinegar
                        Rookie
                        • Jan 2020
                        • 3

                        #12
                        You can (try to) shoot at any grid (within bow range) for which there is a line unobstructed by walls that the player has seen. For example the target grid might be a wall that hasn't been seen yet but you can still shoot at the grid (I think the arrow might break but I don't actually know). So no, you can't see every grid you can shoot at.

                        Comment

                        • Nick
                          Vanilla maintainer
                          • Apr 2007
                          • 9637

                          #13
                          Originally posted by SweetVinegar
                          You can (try to) shoot at any grid (within bow range) for which there is a line unobstructed by walls that the player has seen. For example the target grid might be a wall that hasn't been seen yet but you can still shoot at the grid (I think the arrow might break but I don't actually know). So no, you can't see every grid you can shoot at.
                          Thanks, I think I have kind of a plan.
                          One for the Dark Lord on his dark throne
                          In the Land of Mordor where the Shadows lie.

                          Comment

                          • wobbly
                            Prophet
                            • May 2012
                            • 2631

                            #14
                            Originally posted by Nick
                            Question: My understanding is that you can't shoot at every grid you can see in Sil. But can you see every grid you can shoot at?
                            The 2nd statement would be true if you had infinite light radius. The current UI is a little buggy, you can move the target to a square you can't fire at, though it'll tell you its an illegal target when you actually try to shoot.

                            Comment

                            • half
                              Knight
                              • Jan 2009
                              • 910

                              #15
                              Setting aside issues of light and knowledge of the map (i.e. attempts to fire into the unknown), I believe you have LOF if there is a straight line from the centre of your square to the centre of the target's square (going through the very corner of an obstruction is fine). And that you have LOS if there is a straight line from the centre of your square to any part of their square. So LOF implies LOS, and LOF is symmetrical. I believe this is all inherited from NPP, and is an elegant way of doing it.

                              If I'd kept developing Sil, I'd also like to have implemented things like smoke and portcullises that block LOS but not LOF and vice versa. Chasms were kind of a first step at this (blocking movement but not LOS or LOF). I believe you (Nick) enumerated the possibilities many years back and I thought it was a great contribution to roguelike theory.

                              Comment

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