Well, you know how I am. I had to start poking at this to see if I could figure out what the problem was.
I can't say that I found out the answer, but I learned a few things in the process to flesh out my own personal knowledge bank.
Going for a Roc Feather worked like a charm. Going for the Tit feather, as expected, did not.
I tried various things to debug and I got my head stuck on something I shouldn't have. I knew I had consumed a bunch of tasty louse, so it SHOULD have detected the skill. I saw it in the mini browser as available, but the script said I didn't have the skill and I needed to consume more tasty louse (lice).
I tried changing line 23
Code:
skill flip_off = $skill[Give Your Opponent "The Bird"];
to
Code:
skill flip_off = to_skill(7046);
and the same problem occurred.
I started playing with this little blip of code:
Code:
if (have_skill($skill[Give Your Opponent "The Bird")) {
print("You have the bird skill");
}
else {
print("You do not have the bird skill");
}
I apparently didn't have the bird skill. The same thing happened after I consumed a scrumptious ice ant and changed to $skill[Antarctic Flap]. I assumed at that point, going for any other elemental feather would not work, I was wrong. Antarctic Flap was recognized in combat by the script when I switched the CCS to Note Penguin Feather.
Substituting skills I'm sure I know worked fine, like Moxious Madrigal and Sing. So somehow Mafia knows one has the birdform skills even though I could not figure out a way to figure it out for myself other than simply knowing I'd consumed the relevant item. My head was so wrapped around thinking the other elemental things wouldn't work simply because my blip of code didn't detect the associated skills that it took me over 3 hours to actually test this! lol. Gawd I can be stubborn.
Anyhow, I tried to think of other skills that would behave the way the birdform skills do to see if I could track something down that would make sense to me. Burrowgrub Hive came to mind. I have one, use it daily with breakfast. Mafia has two lines in my settings file:
Code:
burrowgrubHiveUsed=true
burrowgrubSummonsRemaining=3
But yet using my little blip of code above, Consume Burrowgrub is not a skill that I have. So transient skills are not detected with have_skill, but can be used via $skill() except in the case of Give Your Opponent "The Bird." This skill is bugged. Perhaps the skill needs a tweak in Mafia's skill table in order for this to work since it is not something that seems to be fixable by tweaking line 23 in this script.
So I have the following questions that I'll ask here first and if I have to ask elsewhere, separately, I can do that.
How does Mafia, or even this script, know that I've used the relevant bugs to obtain the relevant skills since have_skill doesn't detect them? Could this be related to the consumption message of the louse and not the skill name at all?
And not directly related to this script, but someone may know: I realize Mafia is tracking birdform skills used internally and I can access these counters with get_property(), but I don't see any counters on my relay browser or Mafia itself other than the actual bird form counter that is a straight countdown from 15 downward. I have seen some submissions to Bug Reports with screen shots showing skills used counters, but I didn't see this on my screen. I'd like this feature
So at the end of another long verbose post as only I can make... I wish I found the solution to the problem, but sadly I did not
-Spiny