City of Arabel
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Standard Subraces are viewed with disgust

    Scheduled Pinned Locked Moved Closed Bugs
    15 Posts 6 Posters 847 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • sharkinajarS
      sharkinajar
      last edited by

      Area name:
      Issue Location:
      Quest Name:
      Store Name:
      NPC Name:
      NPC Location:
      Server Version: 7266
      Screen Shot:
      Time: https://www.timeanddate.com/

      Issue Description: Seems that even the regular subraces such as gold dwarf are also treated with distain!

      1 Reply Last reply Reply Quote
      • ZoolZ
        Zool
        last edited by

        Needs more detailed if checks for specific subrace strings rather than just if(sSubrace != "") {TellEmTheySuck()}

        > !!!MOLES for the MOLE GOD!!!

        1 Reply Last reply Reply Quote
        • WulfricW
          Wulfric
          last edited by Wulfric

          Possible solution:

          string sFriendlySubraces = "Sun Elf, Hill Dwarf, blabla";
          if (sSubrace != "" && FindSubString(sFriendlySubraces, sSubrace) < 0) {
            theySuck();
          }
          

          Or, to be case insensitive:

          string sFriendlySubraces = "sun elf, hill dwarf, blabla";
          if (sSubrace != "" && FindSubString(sFriendlySubraces, GetStringLowerCase(sSubrace)) < 0) {
            theySuck();
          }
          

          Thalia Autumnwind (main)
          Zenrin Reedhill (former)
          Elmar Venlamin (former)
          Horace Stokron (former)

          1 Reply Last reply Reply Quote
          • WulfricW
            Wulfric
            last edited by Wulfric

            I was bored so I gave it some more thought to open up more possibilities.
            This can be extended to multiple levels of disgust (or even friendliness, depends on the configuration) towards subraces.

            Disclaimer: I didn't test this in the toolset, I wrote it here on the forums, so may have a few syntax errors :)

            Base code here:

            // List of possible subraces and the attitude of commoners or merchants towards them
            //
            // Format: "[subrace name]:[attitude], [subrace name 2]:[attitude2], ..."
            //
            // (Example) Attitudes:
            // 0: neutral
            // 1: distrusted
            // 2: hated
            string sSubraceAttitudes = "sun elf:0, hill dwarf:0, aasimar:1, tiefling:2";
            
            // Get the attitude towards a player subrace
            // The attitudes are listed before the sSubraceAttitudes variable
            int DetermineAttitude(string sSubrace);
            
            int DetermineAttitude(string sSubrace) {
                if (sSubrace == "") {
                    // default is neutral for no subrace
                    return 0;
                }
            
                int iSrPosition = FindSubString(sSubraceAttitudes, GetStringLowerCase(sSubrace));
                if (iSrPosition < 0) {
                    // The player has a subrace, but we don't know about it. Should not happen
                    // returning neutral for now, should ask the player to bug report this
                    return 0;
                }
            
                // Find the attitude associated with the given subrace
                int iSrOffset = iSrPosition + GetStringLength(sSubrace) + 1;
                int iAttitude = StringToInt(GetSubString(sSubraceAttitudes, iSrOffset, 1));
            
                return iAttitude;
            }
            

            And an example on how to use it:

            // on merchant open somewhere in the code
            switch (DetermineAttitude(sSubrace)) {
                case 0:
                    // open store normally
                    break;
            
                case 1:
                    // I don't like you, but eh, here you go
                    break;
            
                case 2:
                    // Go away you freak!
                    break;
            }
            

            You can assign different meanings to numbers, though this has a limit of 10 possible attitudes (0-9), but that should be more than enough.

            Cheers!

            EDIT: You can make sSubraceAttitudes a parameter for the function and then the attitudes can be fully customised for whatever purpose you want to use this script :)

            Thalia Autumnwind (main)
            Zenrin Reedhill (former)
            Elmar Venlamin (former)
            Horace Stokron (former)

            ZoolZ 1 Reply Last reply Reply Quote
            • EchoE
              Echo Team Lead
              last edited by

              Being reviewed. Thanks for the input!

              "You can complain if you weren't asked; you can't complain if you were asked but didn't contribute." ~ Professor.

              1 Reply Last reply Reply Quote
              • ZoolZ
                Zool @Wulfric
                last edited by

                @Wulfric said in Standard Subraces are viewed with disgust:

                I was bored so I gave it some more thought to open up more possibilities.
                This can be extended to multiple levels of disgust (or even friendliness, depends on the configuration) towards subraces.

                Disclaimer: I didn't test this in the toolset, I wrote it here on the forums, so may have a few syntax errors :)

                Base code here:

                // List of possible subraces and the attitude of commoners or merchants towards them
                //
                // Format: "[subrace name]:[attitude], [subrace name 2]:[attitude2], ..."
                //
                // (Example) Attitudes:
                // 0: neutral
                // 1: distrusted
                // 2: hated
                string sSubraceAttitudes = "sun elf:0, hill dwarf:0, aasimar:1, tiefling:2";
                
                // Get the attitude towards a player subrace
                // The attitudes are listed before the sSubraceAttitudes variable
                int DetermineAttitude(string sSubrace);
                
                int DetermineAttitude(string sSubrace) {
                    if (sSubrace == "") {
                        // default is neutral for no subrace
                        return 0;
                    }
                
                    int iSrPosition = FindSubString(sSubraceAttitudes, GetStringLowerCase(sSubrace));
                    if (iSrPosition < 0) {
                        // The player has a subrace, but we don't know about it. Should not happen
                        // returning neutral for now, should ask the player to bug report this
                        return 0;
                    }
                
                    // Find the attitude associated with the given subrace
                    int iSrOffset = iSrPosition + GetStringLength(sSubrace) + 1;
                    int iAttitude = StringToInt(GetSubString(sSubraceAttitudes, iSrOffset, 1));
                
                    return iAttitude;
                }
                

                And an example on how to use it:

                // on merchant open somewhere in the code
                switch (DetermineAttitude(sSubrace)) {
                    case 0:
                        // open store normally
                        break;
                
                    case 1:
                        // I don't like you, but eh, here you go
                        break;
                
                    case 2:
                        // Go away you freak!
                        break;
                }
                

                You can assign different meanings to numbers, though this has a limit of 10 possible attitudes (0-9), but that should be more than enough.

                Cheers!

                EDIT: You can make sSubraceAttitudes a parameter for the function and then the attitudes can be fully customised for whatever purpose you want to use this script :)

                Cool, thanks.

                > !!!MOLES for the MOLE GOD!!!

                1 Reply Last reply Reply Quote
                • PuffyP
                  Puffy
                  last edited by

                  Its a misspelling in the script, the ok subraces are spelled with small letters whilst it should be capital letters to work.

                  @SpiffyMeister
                  the real bench mark for success is if you seduce a puffy pc or npc
                  @Prof-Misclick
                  Puffy said "Don't you trust me? Then vote yes NERD!"
                  #scaredofstrongwomen

                  1 Reply Last reply Reply Quote
                  • PuffyP
                    Puffy
                    last edited by

                    Should be resolved 7322

                    @SpiffyMeister
                    the real bench mark for success is if you seduce a puffy pc or npc
                    @Prof-Misclick
                    Puffy said "Don't you trust me? Then vote yes NERD!"
                    #scaredofstrongwomen

                    1 Reply Last reply Reply Quote
                    • EthikaE
                      Ethika
                      last edited by

                      This is still an issue

                      1 Reply Last reply Reply Quote
                      • PuffyP
                        Puffy
                        last edited by Puffy

                        Ping me on discord when you are IG, so I can check your variables.

                        @SpiffyMeister
                        the real bench mark for success is if you seduce a puffy pc or npc
                        @Prof-Misclick
                        Puffy said "Don't you trust me? Then vote yes NERD!"
                        #scaredofstrongwomen

                        1 Reply Last reply Reply Quote
                        • PuffyP
                          Puffy
                          last edited by

                          Need to put in GetStringLowerCase

                          @SpiffyMeister
                          the real bench mark for success is if you seduce a puffy pc or npc
                          @Prof-Misclick
                          Puffy said "Don't you trust me? Then vote yes NERD!"
                          #scaredofstrongwomen

                          1 Reply Last reply Reply Quote
                          • EchoE
                            Echo Team Lead
                            last edited by

                            Try again after v7327

                            "You can complain if you weren't asked; you can't complain if you were asked but didn't contribute." ~ Professor.

                            1 Reply Last reply Reply Quote
                            • EchoE
                              Echo Team Lead
                              last edited by

                              Any testing/update on this?

                              "You can complain if you weren't asked; you can't complain if you were asked but didn't contribute." ~ Professor.

                              PuffyP 1 Reply Last reply Reply Quote
                              • PuffyP
                                Puffy @Echo
                                last edited by

                                @Echo said in Standard Subraces are viewed with disgust:

                                Any testing/update on this?

                                @SpiffyMeister
                                the real bench mark for success is if you seduce a puffy pc or npc
                                @Prof-Misclick
                                Puffy said "Don't you trust me? Then vote yes NERD!"
                                #scaredofstrongwomen

                                EchoE 1 Reply Last reply Reply Quote
                                • EchoE
                                  Echo Team Lead @Puffy
                                  last edited by

                                  Tested with Gold Dwarf. Worked as intended.
                                  0b7c4edd-33bd-4a8d-9d4c-e89a5d127284-image.png

                                  "You can complain if you weren't asked; you can't complain if you were asked but didn't contribute." ~ Professor.

                                  1 Reply Last reply Reply Quote
                                  • EchoE Echo moved this topic from Bug Reports on
                                  • 1 / 1
                                  • First post
                                    Last post