understanding skill.permable

ckb

Minion
Staff member
Can you help me understand the skill proxy field permable, and what it is used for?

It seems this field is true for all skills that can be permed in Valhalla, but false for skills that can be permed via reading a skill book that automatically grants (HP).
And false for all skills that can never be permed.

> ash $skill[summon snowcones]

Returned: Summon Snowcones
level => -1
image =>
traincost => 0
class => none
libram => false
passive => false
buff => false
combat => false
song => false
expression => false
permable => false
dailylimit => 0
timescast => 0

> ash $skill[liver of steel]

Returned: Liver of Steel
level => -1
image => liver.gif
traincost => 0
class => none
libram => false
passive => true
buff => false
combat => false
song => false
expression => false
permable => false
dailylimit => -1
timescast => 0

> ash $skill[Seal Clubbing Frenzy]

Returned: Seal Clubbing Frenzy
level => 0
image => clubseal.gif
traincost => 0
class => Seal Clubber
libram => false
passive => false
buff => false
combat => false
song => false
expression => false
permable => true
dailylimit => -1
timescast => 0


What is this used for? It would be useful (to me) to have a check for skills that can be permed ever, either through Valhalla or a (HP) skill book. Is there any way to check for this?

From my research, it seems like the following skills CAN be permed, via skill book, but have .permable = false

Transcendent Olfaction, Thick-Skinned, Chip on your Shoulder, Request Sandwich, Pirate Bellow
(and all 8000 ID bookshelf summon skills)

I am hoping to generate this list without hard-coding it into my script.
 

Veracity

Developer
Staff member
The purpose is for the list of "skills you have not yet permed" when you click on the Astral Gash. Which is to say, a "permable" skill is something you need to spend Karma on in Valhalla in order to have available in subsequent runs with no further action.

- A skill that is automatically marked HP (every skill you listed) requires no Karma
- A skill that is path specific - Boris, Sneaky Pete, Zombie, Bad Moon, ... - cannot be permed
 

lostcalpolydude

Developer
Staff member
Whether or not those are considered permable internally doesn't affect them displaying in Valhalla (due to the skillId for those compared to what could possibly be checked), just the permable field. So I guess an argument could be made either way for those skills.

Looking a bit more, it looks like the isPermable() check in ValhallaDecorator has zero practical effect now, since all the base class skills can be permed (which obviously wasn't the case when it was implemented).
 

Veracity

Developer
Staff member
Looking a bit more, it looks like the isPermable() check in ValhallaDecorator has zero practical effect now, since all the base class skills can be permed (which obviously wasn't the case when it was implemented).
I'm not sure what you mean by this. It definitely does filter out things like Liver of Steel so that they do not appear on the "Skills you have not yet permed" list.
 

Darzil

Developer
And things like Old old smile of Mr A, which I had to add to that check just a few days ago to resolve a bug.
 

ckb

Minion
Staff member
I'm not sure what you mean by this. It definitely does filter out things like Liver of Steel so that they do not appear on the "Skills you have not yet permed" list.

Ah! This makes sense to me, as I could not think of where this might be practically used, but for sure this is one such example.

Given that, is there any harm in marking those skills that are (HP) skill book permable (but not Valhalla permable) as .permable => true?
 
Top