Background Skills Glitch

This one’s happened a couple of times now. It seems to be happening when people use the web chargen, and (so far) it has all been skills that have a space in them:

USA Motor Histor @@@                    USA Motor Histor @@@                    
USA Motor Histor @@@                    

When they try to set it back to Everyman and save, it leaves it at 3. When I try to do it as an admin, it leaves it as-is. They can actually wind up with it at different levels (one person had Sleight of Hand at 1, 2, and 3).

I’ve been able to fix it via tinker, but thought I’d mention it, since now it’s happened three times.

1 Like

I think it’s probably more likely a titlecase sort of issue - typing Sleight of Hand vs. Sleight Of Hand, but I’ll check it out. Thanks.

1 Like

I thought the same thing. If it helps any, the first person it happened to briefly had:

Sleight of Hand: 3
Sleight of Hand: 2
Sleight Of Hand: 1 <-- This was the one I entered while trying to fix it.

I was able to remove Sleight Of Hand just by using the ability command in the game, but the others wouldn’t budge. :frowning:

Yeah I think what’s happening is that the majority of the game code expects the ability name to be titlecased. So when it looks for whether you already have the skill, it’s gonna look for “Sleight Of Hand” or “Usa Motor History”. Since it somehow got erroneously stored as “Sleight of Hand” and “USA Motor History”, it’s not finding it and saying, “Oh, cool, new skill.” I just need to find the place that’s storing it wrong.

1 Like

Just to throw my two cents in here, this has been a major issue with the people I’ve had come over and try out the stuff I’ve been working on. None of the people are that familiar with Ares(most aren’t even that MU savvy at all but the idea of Ares has drawn them in thanks to the web portal stuff) and to a person everyone has had this issue happen with the background skills section of character creation.

I had it happen on Gray Harbor for the PC I created as well.

It definitely seems to be all titlecase related. The skills involved were either input in lower case via the web client or had multiple words that were not input with the same titlecase that they would have been put through had they been input via the MUSH side.

The real issue is that, as an admin, I can’t seem to fix it since the ability command puts what I type through titlecase and thusly ignores anything they have on their sheet. I’ve had to have everyone reset their characters(a few multiple times) to get things back on track.

Otherwise, from the mouths of non-MU people, Ares is a godsend. :slight_smile:

1 Like

Thanks for the info. This is fixed in the next patch.

1 Like

@ZombieGenesis & @KarmaBum – in case there are characters still suffering from this, you can find improperly titlecased skill names with a coder character:

ruby FS3BackgroundSkill.all.select { |s| s.name.titlecase != s.name }

For example, this might output:

[#<AresMUSH::FS3BackgroundSkill:0x00007fe3b8bf37b0 @attributes={:created_at=>"2019-04-06 11:41:12 -0400", :updated_at=>"2019-04-07 15:40:28 -0400", :last_learned=>"2019-04-06 11:41:02 -0400", :xp=>"0", :character_id=>"62", :name=>"Sleight of Hand", :rating=>"2"}, @_memo={}, @id="1991">]

Use the id field to update the skill name by hand.

ruby FS3BackgroundSkill[1991].update(name: "Sleight Of Hand")

That way they don’t have to reset their entire character.

Thank you. :smiley: I had been wiping them with tinker, since the skills have been (thus far) limited to one character.

If you just want to wipe them off someone’s sheet and then reset them correctly, @ZombieGenesis, here’s the tinker I’ve been using:

module AresMUSH
  module Tinker
    class TinkerCmd
      include CommandHandler
      
      def check_can_manage
        return t('dispatcher.not_allowed') if !enactor.has_permission?("tinker")
        return nil
      end
      
      def handle
        FS3BackgroundSkill.all.each do |a|
          if (a.name == 'Skill Name Here')
            client.emit "Deleting Skill Name Here from #{a.character.name} -- was at rating #{a.rating}."
            a.delete
          end
        end
      end
    end
  end
end

Just note that, if you have any characters that also have this skill that should legit have it, it will wipe from them, too. (But it’ll tell you want it was, so you can add it back if you need to.)

1 Like