New Content - Implemented Way of the Surprising Fist content

GValko

Member
New Item:

Unknown item found: Teachings of the Fist (5220, 525128097)
--------------------
5220 Teachings of the Fist usable none 0
5220 525128097 wosp_scroll.gif Teachings of the Fist
# Teachings of the Fist
--------------------

Also there's another Thwaitgold statuette for beating it. But that's kind of trivial in the end.

Sorry, I forgot to save the Mafia printout when I got it.

When you use it, you get 1 of 11 new skills. These are all unlocked in a given order.

1 Flying Fire Fist
2 Salamander Kata
3 Drunken Baby Style
4 Stinkpalm
5 Worldpunch
6 Knuckle Sandwich
7 Seven-Finger Strike
8 Miyagi Massage
9 Chilled Monkey Brain Technique
10 Zendo Kobushi Kancho
11 Master of the Surprising Fist

New Skills:

0064 Miyagi Massage 3 5 1
0065 Salamander Kata 3 5 1
0066 Flying Fire Fist 5 0 0
0067 Stinkpalm 5 0 0
0068 Seven-Finger Strike 5 0 0
0069 Knuckle Sandwich 5 0 0
0070 Chilled Monkey Brain Technique 5 0 0
0071 Drunken Baby Style 5 0 0
0072 Worldpunch 3 11 1
0073 Zendo Kobushi Kancho 5 0 0
0074 Master of the Surprising Fist 0 0 0

Here's the thing though. The 3 non-combat self-buffs all have a variable duration. It's based on # of the Fist techniques known. (Salamander Kata and Miyagi Massage are all 3*# of techniques known, Worldpunch is just # of techniques known)

The last skill is permable, though the exact effect at this time is unknown.

New Effects:

(From Miyagi Massage)
--------------------
905 Retrograde Relaxation wosp_fist.gif 57b39f8a69833f0120c9821d06736b49
Retrograde Relaxation HP Regen Min: 8, HP Regen Max: 10
--------------------

(From Salamander Kata)
--------------------
906 Salamanderenity wosp_sala.gif a23a35d9a3b721c550ed7c1c03193054
Salamanderenity MP Regen Min: 3, MP Regen Max: 4
--------------------

(From Worldpunch)
--------------------
907 Earthen Fist wosp_dirt.gif 80d1263744c6f408791a83b91b0bbe78
# Earthen Fist: +10 damage to Fist techniques
# Earthen Fist: Allows you to punch rocks without hurting yourself
--------------------

The Earthen Fist effect allows you to mine without having mining gear equipped.
 
Last edited:

Orbrisa

Member
A few other things: having the wormriding hooks in your inventory is enough; you don't need to equip them if you are on this path.

You don't need a star weapon to pass the star key test in the lair, but you do need Worldpunch, which is also what you use to mine, instead of the mining gear. (And a star hat and of course a starfish.)

The mirror shard needs to be in your inventory, but you don't and can't equip it.

The brigands effectively drop no meat. Ditto the bodyguard bats. And when you autosell things, you don't get meat. Ditto all kinds of things that usually yield meat when you use them. (Briefcases, wallets, etc.) Just throwing out a few things that Mafia I think tries to track.

The KoLWiki page has a pretty good list of stuff that's different.
 

stannius

Member
Maximizer should not include weapon or offhand. Even with -tie it attempts to equip a weapon, since any weapon is better than none. This gives an error message and aborts scripts. Workaround: -weapon, -offhand

Need an ash method for checking if character is in a WotSF run. Workaround: my_path() == "6"
 
Last edited:
Is there a workaround? (e.g. maximizer keyword that means "dont use [slot]")

Need an ash method for checking if character is in a WotSF run.

maximize whatever, -weapon, -offhand

For now you can do a visit_url() on charsheet.php for the text after "Path:"
 

stannius

Member
I prefer my_path() == "6". It will cease to work once the path is properly implemented, but at least it doesn't take a server hit.

I guessed and put (my_path() == "6" || my_path() == "Way of the Surprising Fist") just in case I guessed right.
 

Bale

Minion
I guessed and put (my_path() == "6" || my_path() == "Way of the Surprising Fist") just in case I guessed right.

OH! That makes so much sense I should kill myself for not realizing it! I've been using "6" as a placeholder in my scripts, but now I'll go edit in || my_path() == "Way of the Surprising Fist" so that I can officially update them.

Edit:

PHP:
boolean wotsf = my_path() == "6" || my_path() == "Way of the Surprising Fist"
	|| my_path() == "The Way of the Surprising Fist" || my_path() == "WotSF";
That should cover me against all possibilities. :D
 
Last edited:

lostcalpolydude

Developer
Staff member
Mafia uses account.php to get your path, not api.php, so it will be the text version. It could be any arbitrary thing actually, since the string detected and the string that's set as your path don't have to be at all similar (though they will be, for the sake of everyone's sanity).
 

Veracity

Developer
Staff member
It uses both, potentially. It uses api.php when you log in, and, if you happen to visit the account page, it will look for a "Drop xxx" button to figure out the path. Since Bale indicates that the path is "6", revision 9723 detects that number on api.php and - speculatively - looks for "Drop Way of the Surprising Fist" on the account page.

In either of those cases, it will set path to "Way of the Surprising Fist".

I'm finally home after my business trip. Perhaps I will ascend tomorrow and look at this.
 

Bale

Minion
I'm finally home after my business trip. Perhaps I will ascend tomorrow and look at this.

Welcome back. I hope you enjoy Fistcore as much as I have. Finally a use for having permed Kung Fu Hustler. I feel bad about never having been able to enjoy that skill until now. That's not the best thing about it though.
 

stannius

Member
It uses both, potentially. It uses api.php when you log in, and, if you happen to visit the account page, it will look for a "Drop xxx" button to figure out the path. Since Bale indicates that the path is "6", revision 9723 detects that number on api.php and - speculatively - looks for "Drop Way of the Surprising Fist" on the account page.

Hooked on phonics, er, 9723 worked for me!
Code:
> ashq print(my_path())

Way of the Surprising Fist
 

GValko

Member
It uses both, potentially. It uses api.php when you log in, and, if you happen to visit the account page, it will look for a "Drop xxx" button to figure out the path. Since Bale indicates that the path is "6", revision 9723 detects that number on api.php and - speculatively - looks for "Drop Way of the Surprising Fist" on the account page.

In either of those cases, it will set path to "Way of the Surprising Fist".

I'm finally home after my business trip. Perhaps I will ascend tomorrow and look at this.

PB25Q.jpg


You would be correct in assuming that was the text on the account menu.

It's overall not too bad, the issue is more or less meatflow, then anything.
 

lostcalpolydude

Developer
Staff member
I think something like the attached patch should work for disabling the weapon/offhand slots in the Gear Changer. I tested the code by forcing mafia to think I'm in a fist run.

Below is the HTML for damage dealt by some of the skills (the ones that mafia didn't already pick up).

You make a fist and squeeze so tightly that time speeds up inside of it. You open the fist and slap your opponent, wiping <font color="green"><b>150</b></font> months worth of concentrated palm sweat on it.

<p>You concentrate all of your body heat into your fist, then shake it at your opponent. The resulting fireball sears him for <font color="red"><b>10428</b></font> damage. Hadouken!</p>

You punch your opponent in the neck, rerouting his vitality away from his brain via the careful pressure-based manipulation of his chi circuits. It's complicated, but it deals <font color="blue"><b>49</b></font> damage.
 

Attachments

  • fistcoreGearChanger.patch
    4.1 KB · Views: 25
Last edited:

GValko

Member
Apparently there's a trophy for giving meat to charity in Fist, so it's probably best if you don't disable autosell/meat giving items.
 

Darzil

Developer
Apparently there's a trophy for giving meat to charity in Fist, so it's probably best if you don't disable autosell/meat giving items.

Specifically it's 1m meat, so can't see it happening accidentally in run! Though it's as yet unknown whether that is in one run or if multiple runs count.
 

stannius

Member
Using the stinkpalm skill against a monster (that can survive multiple hits) doesn't update the monster's reported HP. I assume it's simply that the combat skills aren't in the database yet, but figured I'd report it.
 

stannius

Member
Shore vacations take 5 adventures instead of 3. (One side effect of this not being handled yet is that the shore counter is off afterwards.)
 

Terion

Member
When your Guild class master gives you the EW quest (and 1000 meat for the tenderizing hammer) in WotSF, you donate the meat. Mafia v9726 did not increment charitableDonations when that occured. The last couple paragraphs of that page:
"The town's meatsmith will provide you with the knowledge required to construct the Epic Weapon; I will grant you the Meat necessary to purchase the proper tool. Once you have completed the weapon, return to me."

You take the Meat into town and drop it in the donation slot at the orphanage. You know, the one next to the library.

And when turning in Fernswarthy's key for 500 Meat:
Grignr looks surprised as you hand over Fernswarthy's key. "You actually got it? Looks like I lost my bet with Gunther. Bah, now I have to go find someone to search that bloody tower. Here's some meat, go spend it somewhere away from me."

You take the Meat into town and drop it in the donation slot at the orphanage. You know, the one next to the library.

I'm going to go get 9729, now, as I see that adds something to the charitable detection...
 
Last edited:

Veracity

Developer
Staff member
When your Guild class master gives you the EW quest (and 1000 meat for the tenderizing hammer) in WotSF, you donate the meat. Mafia v9726 did not increment charitableDonations when that occured.
Revision 9726:

Increment both settings when you autosell items.
I mean, duh, right? The revision says it increments the settings when you autosell items. It does not say anything about any other kind of donation. Therefore, you should assume that that was no code in that revision to notice other donations, right?

Revision 9729:

Add ResultProcessor.handleDonations to check for random charitable donations you make (or which are made for you) in Fistcore. Currently, only the hippy orchard profits are detected.
Now, THAT revision started the process of noticing other charitable donations. Here's a reading comprehension test: do you expect that as of revision 9729, KoLmafia will notice the EW quest donation?

Sorry for being prickly, but I have been annoyed for a long time when people make bug reports saying "revision X does such-and-such, but it didn't say it did this other thing and sure enough it doesn't do it" - as if that is a problem with revision X.

Thanks for the text; I saw that myself when I got the EW quest yesterday, but didn't write it down. I will eventually submit it, now that I have a mechanism to look for other donations.
 

Terion

Member
Sorry for being prickly,

No, not at all; it was entirely my fault. I realized after first posting that, that I hadn't checked for the latest version, which is of course a big no-no. I left it in so the text would be available, which I'm glad was (will be) useful to you. I guess it was more of a "feature request if this isn't in yet / bug if it was supposed to be in" thing. Deepest apologies for the aggravation.

Reading comprehension... well, the second sentence says that only the hippy orchard profits are detected* so my first assumption would be that's all; I could read "to check for random charitable donations..." as meaning "the processor magically sees when you're forced make a donation that Mafia didn't previously know about, and catches it" but the second sentence undercuts that, so I'd guess that interpretation to be incorrect.

So, I'd have to wager that you were saying "I've added this thing that will detect donations from sources other than autosell, but first it will have to have all those other sources programmed into it; the hippy orchard profits are the only source programmed in, so far." Am I close? (insert friendly grin)

*Since the hippy orchard profits are random within a range, how does it get the value of the donation? I haven't gotten to that point yet; does the orchard state the profit value, and then you donate it? Or does Mafia just assume the lowest possible value, or average value? Actually, that's a more general question: does KoL put the value in the HTML of sources that give a range of Meat value, or is it unknown and you're using the bottom/average of the range as an estimate?

You do incredibly awesome work here, V; we all repsect you very highly, even if you feel otherwise at times.

In the spirit of trying to help you make this better, would you like donation text listed in this thread, or another, or not at all? I just used an Orcish meat locker after pasting together a rusty metal key, and my meat was again snatched away by my evil morals...
You unlock the Meat locker with your rusty metal key, and then dump the contents directly into a charity box at a nearby convenience store. Those kids with boneitis are sure to appreciate the gesture.
 
Last edited:
Top