Ok, so that's why there were 0x8140 after words with apostrophes... (I was quite puzzled by this.)
You should note that the option '-P' of d4tool is precisely meant to handle those cases by automatic substitution. Of course, I don't know whether it is enough to solve all problematic cases. The '-P' option is meant to be used with the 'patch' action, and it sets $punctuation_heuristic to true, which in turn is used in this function (called on all strings written in the dat file):
Code:
sub apply_punctuation_heuristic {
return $_[0] if (!$punctuation_heuristic);
my $apostrophe = pack('CC', 0x81, ord('@')); # postfixed apostrophe!
my $question_mark = pack('CC', 0x81, ord('H')); # this one's regular
my $exclamation_mark = pack('CC', 0x81, ord('I')); # this one's regular
$_ = $_[0];
s/ve$apostrophe/'ve /g; # Ex: "you've"
s/ll$apostrophe/'ll /g; # Ex: "you'll"
s/(.)$apostrophe/'\1 /g; # Ex: "don't"
s/$question_mark/\? /g; # while we're at it...
s/$exclamation_mark/\! /g; # while we're at it...
return $_;
} Well, the "postfixed apostrophe" is actually a SJIS space character, but I didn't notice this when I was writing this function. ^^;
You may want to add new automatic substitution rules, such as "s/HP SP/HP\/SP/", to put back the '/' which should be in the Sardine description, for instance (well, this can simply be done by hand, so it is a stupid example).
Here is an exhaustive list of item descriptions automatically corrected when using '-P' when patching:
Code:
> 3c[46]: "Wpn-Fist<81>FAww<81>CI told you it's gonna be hot! "
> 1ec[49]: "Wpn-Fist<81>FRock<81>Cpaper<81>Cscissors! Paper! You win! "
> 39c[62]: "Wpn-Fist<81>FDon't worry about the smell. It just adds character."
> 42c[43]: "Wpn-Fist<81>FNow<81>Ceveryone<81>Ctogether with me! "
> 4bc[56]: "Wpn-Fist<81>FI've underestimated you... Not bad<81>Cnot bad..."
> 5dc[29]: "Wpn-Fist<81>FCalm down<81>Cdammit! "
> 66c[42]: "Wpn-Fist<81>FI think I m getting stronger! "
> 6fc[29]: "Wpn-Fist<81>FBring it on<81>Cpunk! "
> 78c[42]: "Wpn-Fist<81>FTime for a change! "
> 81c[46]: "Wpn-Fist<81>FAhhh...so refreshing! "
> 8ac[48]: "Wpn-Fist<81>FDid somebody say "Miracle"? "
> 93c[38]: "Wpn-Fist<81>FThis is Pop's special."
> a5c[44]: "Wpn-Fist<81>FAim from the shadows...and slice! "
> aec[40]: "Wpn-Fist<81>FOooooooooh! I m spinning! "
> b7c[64]: "Wpn-Fist<81>FJust a crack or a complete break? How do you want it? "
> c0c[40]: "Wpn-Fist<81>FWhoa<81>Chey! Stay away from me! "
> c9c[49]: "Wpn-Fist<81>FThey'll take you out for a nice dinner."
> dbc[48]: "Wpn-Fist<81>FNow<81>Ctie that belt on good and tight! "
> f6c[50]: "Wpn-Fist<81>FAs soon as you stop ducking...uppercut! "
> ffc[34]: "Wpn-Fist<81>FIt's probably purple."
> 108c[56]: "Wpn-Fist<81>FY-you re bleeding! ...Oh<81>Cwait<81>Cno you re not."
> 11ac[51]: "Wpn-Fist<81>FYou'll feel like you re rising to heaven."
> 123c[47]: "Wpn-Fist<81>FWho cares if Death wears a gauntlet? "
> 12cc[36]: "Wpn-Fist<81>FCurrently in high demand! "
> 147c[63]: "Wpn-Fist<81>FI'll deal with you with one hand tied behind my back."
> 159c[47]: "Wpn-Fist<81>FA legendary fist. It's damn powerful."
> 16bc[34]: "Wpn-Fist<81>FCu Sith's working hard."
> 174c[34]: "Wpn-Fist<81>FNekomata's working hard."
> 1a1c[54]: "Wpn-Sword<81>FAvast ye<81>Cmates! Mmmm...scurvy<81><8f>"
> 1bcc[38]: "Wpn-Sword<81>FPlease be careful with it! "
> 1c5c[51]: "Wpn-Sword<81>FAll that remains of a dead knight. Eww! "
> 1cec[54]: "Wpn-Sword<81>FWait a minute! This isn't all that heavy..."
> 1e0c[35]: "Wpn-Sword<81>FIt's very eco-friendly! "
> 1fbc[42]: "Wpn-Sword<81>FFujiyama<81>Cgeisha...ninja! "
> 20dc[28]: "Wpn-Sword<81>FWoo-hoooo! "
> 231c[35]: "Wpn-Sword<81>FThe hero's name was AAA."
> 23ac[47]: "Wpn-Sword<81>FDuh duh<81>Cduh duh... Hear the music? "
> 243c[60]: "Wpn-Sword<81>FIt's so beautiful...but not as beautiful as you! "
> 255c[60]: "Wpn-Sword<81>FIf you re careful<81>Cyou can make popcorn with it! "
> 267c[54]: "Wpn-Sword<81>FI guess it's pretty powerful."
> 279c[53]: "Wpn-Sword<81>FGet all the attention from the kunoichis! "
> 282c[63]: "Wpn-Sword<81>FCutting board<81>Csink...it'll cleave anything in half."
> 28bc[46]: "Wpn-Sword<81>FIt's big<81>Clong<81>Cand kinda pearly."
> 294c[54]: "Wpn-Sword<81>FYeah<81>Cwe know<81>Cit doesn't have any wings..."
> 29dc[44]: "Wpn-Sword<81>FThis'll make you piss your pants."
> 2a6c[51]: "Wpn-Sword<81>FTake your Hrunting when you go hunting! "
> 2f7c[37]: "Wpn-Sword<81>FPetite Orc's working hard."
> 300c[34]: "Wpn-Sword<81>FDragon's working hard."
> 309c[36]: "Wpn-Sword<81>FSuccubus's working hard."
> 312c[32]: "Wpn-Sword<81>FDesco's working hard."
> 351c[51]: "Wpn-Spear<81>FFirst<81>Cyou gotta collect all the parts! "
> 363c[49]: "Wpn-Spear<81>FIt's actually an axe! ...Just kidding."
> 37ec[66]: "Wpn-Spear<81>FIt's specially made so even vampires can use it. Cool! "
> 387c[40]: "Wpn-Spear<81>FThis ain't for farming<81>Cboy! "
> 390c[52]: "Wpn-Spear<81>FYou'll become nocturnal and wake up late."
> 3abc[59]: "Wpn-Spear<81>FDemonstrates higher power against weak animals! "
> 3bdc[61]: "Wpn-Spear<81>FIt's bent all out of shape<81>Cbut it's not a defect."
> 3cfc[50]: "Wpn-Spear<81>FIt'll start trembling during the night."
> 3d8c[47]: "Wpn-Spear<81>FPin two at once! Oh! No! Not there! "
> 3e1c[39]: "Wpn-Spear<81>FBe the E-A-G-L-E<81>Ceagle...! "
> 3eac[58]: "Wpn-Spear<81>FIt used to be a child's toy until the recall."
> 3fcc[36]: "Wpn-Spear<81>FDo you like brave women? "
> 417c[40]: "Wpn-Spear<81>FOwww... Take this<81>Ccavities! "
> 420c[57]: "Wpn-Spear<81>FForged in fire to look like fire. That's hot! "
> 432c[38]: "Wpn-Spear<81>FIt's not poisonous<81>Cthough."
> 43bc[48]: "Wpn-Spear<81>FCover your ankles! "
> 468c[56]: "Wpn-Spear<81>FApproved by the God of Destruction. DESTROY! "
> 483c[58]: "Wpn-Spear<81>FIt'll come right back to you when you throw it."
> 48cc[36]: "Wpn-Spear<81>FIt hurts so good! "
> 49ec[44]: "Wpn-Spear<81>FIt'll make you say<81>F"Oh...God...""
> 4a7c[40]: "Wpn-Spear<81>FEvery man's fantasy."
> 4b0c[34]: "Wpn-Spear<81>FSludge's working hard."
> 4b9c[42]: "Wpn-Spear<81>FSkeletal Dragon's working hard."
> 4c2c[37]: "Wpn-Spear<81>FCockatrice's working hard."
> 4efc[49]: "Wpn-Bow<81>FDon't pull too hard<81>Cor you'll break it."
> 4f8c[44]: "Wpn-Bow<81>FWhere does this extra screw go? "
> 513c[62]: "Wpn-Bow<81>FJust between you and me; it's better to use the edge."
> 51cc[65]: "Wpn-Bow<81>FIt just looks long. That doesn't mean it shoots farther."
> 540c[62]: "Wpn-Bow<81>FIt hurts at first<81>Cbut you'll soon be addicted to it."
> 552c[52]: "Wpn-Bow<81>FWarning! It won't make you fly or anything."
> 564c[48]: "Wpn-Bow<81>FPst<81>Cit's only gold plated."
> 56dc[54]: "Wpn-Bow<81>FAKA the Anonymous Bow. It's a little shy."
> 576c[60]: "Wpn-Bow<81>FBlades of wind will cut through your target's body."
> 57fc[58]: "Wpn-Bow<81>FIt's mad that you harmed a tree to build it."
> 588c[48]: "Wpn-Bow<81>FIt'll grow into a big tree in two days."
> 591c[45]: "Wpn-Bow<81>FThrow it and it'll come back to you."
> 5acc[62]: "Wpn-Bow<81>FDon't forget to polish it at least three times a day."
> 5b5c[50]: "Wpn-Bow<81>FThe question is<81>Cdo you have a good aim? "
> 5c7c[54]: "Wpn-Bow<81>FDon't worry about the angry beast."
> 5d9c[62]: "Wpn-Bow<81>FOf course it smells like a beast. What d you expect? "
> 5e2c[56]: "Wpn-Bow<81>FThere's a flyer posted<81>Clooking for a lost bow."
> 618c[54]: "Wpn-Bow<81>FIt regenerates<81>Cbut don't break it on purpose"
> 621c[44]: "Wpn-Bow<81>FKnow the power of nature! "
> 657c[34]: "Wpn-Bow<81>FPrinny's working hard."
> 660c[38]: "Wpn-Bow<81>FZombie's working hard."
> 669c[32]: "Wpn-Bow<81>FDeath's working hard."
> 69fc[54]: "Wpn-Gun<81>FCan't find it when you most need it the most."
> 6b1c[48]: "Wpn-Gun<81>FThis is for my father! Brace yourself! "
> 6bac[50]: "Wpn-Gun<81>FIt's easy to handle<81>Ceven for older folk."
> 6c3c[38]: "Wpn-Gun<81>FLet's boogie all night long! "
> 6ccc[35]: "Wpn-Gun<81>FShh! Be vewy<81>Cvewy quiet! "
> 6dec[54]: "Wpn-Gun<81>FThis is not a musical instrument! "
> 6f0c[53]: "Wpn-Gun<81>F Cause that's where the Revolver's gonna be."
> 702c[60]: "Wpn-Gun<81>FYou won't be anyone's punk as long as you got this."
> 70bc[52]: "Wpn-Gun<81>FDon't tag your friends with this<81>Ckids."
> 738c[56]: "Wpn-Gun<81>FThey re the protectors of the galaxy! "
> 765c[53]: "Wpn-Gun<81>FIt'll take you ten years to master this gun."
> 777c[57]: "Wpn-Gun<81>FIt'll shoot through tanks like depleted uranium."
> 780c[56]: "Wpn-Gun<81>FSome girls think it's cute. Not big...but cute."
> 792c[67]: "Wpn-Gun<81>FIts surprisingly high performance causes more fatalities! "
> 7a4c[46]: "Wpn-Gun<81>FAKA a railgun. Feel the electricity! "
> 7adc[42]: "Wpn-Gun<81>FCan't get rid of that smoky smell"
> 7bfc[34]: "Wpn-Gun<81>FOutput power 120%...Tah! "
> 7d1c[44]: "Wpn-Gun<81>FGod bless to you all! "
> 7f5c[34]: "Wpn-Gun<81>FMothman's working hard."
> 7fec[38]: "Wpn-Gun<81>FBaciel's working hard."
> 807c[34]: "Wpn-Gun<81>FCatsaber's working hard."
> 810c[42]: "Wpn-Gun<81>FPrinny Kurtis's working hard."
> 83dc[66]: "Wpn-Axe<81>FYo<81>CI'll tell you what I want<81>Cwhat I really really want."
> 846c[61]: "Wpn-Axe<81>FAn old axe. Engraved with the previous owner's name."
> 84fc[49]: "Wpn-Axe<81>FWould this enhance your performance...? "
> 861c[36]: "Wpn-Axe<81>FHey Sdeve! "
> 86ac[52]: "Wpn-Axe<81>FAn axe that's popular in a foreign country."
> 87cc[45]: "Wpn-Axe<81>FReal gold costs too much<81>Cyou know? "
> 8a0c[55]: "Wpn-Axe<81>FHow many men were tricked by this axe so far? "
> 8a9c[54]: "Wpn-Axe<81>F"This ain't no axe!" "Don tchu know it!""
> 8bbc[61]: "Wpn-Axe<81>FCute or dangerous? It all depends on how you use it."
> 8cdc[46]: "Wpn-Axe<81>FAny last words before you die? "
> 903c[35]: "Wpn-Axe<81>FKeep it out of the water! "
> 90cc[59]: "Wpn-Axe<81>FMade from a moon rock. This one's for reeeaaalll! "
> 915c[56]: "Wpn-Axe<81>FAn axe that fell from the sky. It's dangerous! "
> 942c[56]: "Wpn-Axe<81>FDon't tell anyone else you have this axe! "
> 95dc[54]: "Wpn-Axe<81>FIt's powerful<81>Cbut don't count on it too much"
> 966c[54]: "Wpn-Axe<81>FStolen from God. I hope he's not mad"
> 9a5c[40]: "Wpn-Axe<81>FWood Golem's working hard."
> 9aec[38]: "Wpn-Axe<81>FEryngi's working hard."
> 9b7c[36]: "Wpn-Axe<81>FGargoyle's working hard."
> 9dbc[58]: "Wpn-Staff<81>FIt's convenient if you need to start a fire. "
> 9e4c[49]: "Wpn-Staff<81>FDon't worry too much about its weight."
> 9ffc[52]: "Wpn-Staff<81>FYou'll gain great balance<81>Cbut that's it."
> a23c[59]: "Wpn-Staff<81>FClarity level? What's that? Does it taste good? "
> a2cc[60]: "Wpn-Staff<81>FAn item that's found in every sorcerer household."
> a3ec[42]: "Wpn-Staff<81>FYou can hammer in any nails! "
> a50c[38]: "Wpn-Staff<81>FPlease<81>Cbe gentle<81>Cdood! "
> a59c[59]: "Wpn-Staff<81>FDo we have time for one song before the battle? "
> a62c[63]: "Wpn-Staff<81>FLeast favored item. Of course<81>Cdemons don't like it."
> a86c[50]: "Wpn-Staff<81>FIt's not that cu...oh<81>Cnevermind."
> a8fc[58]: "Wpn-Staff<81>FIt's actually made of wax. Can you believe it? "
> abcc[53]: "Wpn-Staff<81>FBe nice to it<81>Cor you'll have a nightmare."
> ad7c[66]: "Wpn-Staff<81>FYou could eat this if you wanted to. Seriously<81>Cdood!? "
> af2c[58]: "Wpn-Staff<81>FAn amateur wouldn't know the value of this item"
> b04c[58]: "Wpn-Staff<81>FDeath's staff. They don't just carry a sickle"
> b0dc[58]: "Wpn-Staff<81>FSome say it's the real Overlord"
> b16c[62]: "Wpn-Staff<81>FA heavenly revelation! "
> b43c[34]: "Wpn-Staff<81>FGhost's working hard."
> b4cc[36]: "Wpn-Staff<81>FAlraune's working hard."
> b55c[36]: "Wpn-Staff<81>FRaspberyl's working hard."
> b79c[52]: "Wpn-Fun<81>FSword <81>FCoach<81>CI can keep going! "
> b9dc[54]: "Wpn-Fun<81>FSword <81>FJust don't worry about the raw smell."
> ba6c[56]: "Wpn-Fun<81>FSword <81>FOops<81>Cyou weren't supposed to get this."
> bafc[56]: "Wpn-Fun<81>FSword <81>FYou can become an idol<81>Ctoo! "
> bb8c[60]: "Wpn-Fun<81>FSpear <81>FIt's good for when you want to dig a hole."
> beec[48]: "Wpn-Fun<81>FBow <81>FDon't forget the pesticide."
> bf7c[54]: "Wpn-Fun<81>FGun <81>FPut your hands up! And don't jump! "
> c00c[50]: "Wpn-Fun<81>FAxe <81>FIt's just a toy."
> c09c[50]: "Wpn-Fun<81>FAxe <81>FWhich guild gives these out again? "
> c1bc[44]: "Wpn-Fun<81>FAxe <81>FCan you play the F chord? "
> c24c[48]: "Wpn-Fun<81>FAxe <81>FOn your marks...get set...go! "
> c2dc[56]: "Wpn-Fun<81>FSword <81>FKill him...you have to kill him! "
> c36c[45]: "Wpn-Monster<81>FCan't get it out of my throat..."
> c51c[58]: "Wpn-Monster<81>FI hope it's not contagious."
> c5ac[44]: "Wpn-Monster<81>FEww<81>Cit's all sticky and stuff."
> c6cc[49]: "Wpn-Monster<81>FThat's what you get for being first."
> c75c[57]: "Wpn-Monster<81>FFirst round KOs aren't just a dream anymore."
> c7ec[52]: "Wpn-Monster<81>FDid you brush your teeth this morning? "
> c90c[48]: "Wpn-Monster<81>FFollow me! Over here! "
> c99c[55]: "Wpn-Monster<81>FThe nails are all painted and everything! "
> ca2c[34]: "Wpn-Monster<81>FGh! So tight! "
> cabc[54]: "Wpn-Monster<81>FAnyone got hyaluronic acid? "
> cb4c[56]: "Wpn-Monster<81>FIt'll leave suction cup marks on your skin."
> cbdc[62]: "Wpn-Monster<81>FCall me "Queen"! "
> cc6c[50]: "Wpn-Monster<81>FDoes it make your heart sink? "
> ccfc[60]: "Wpn-Monster<81>FI saw them on my mom's head when she was angry."
> cd8c[44]: "Wpn-Monster<81>FTrick or treat! "
> ce1c[42]: "Wpn-Monster<81>FAre you proud of your life? "
> ceac[57]: "Wpn-Monster<81>FIt's big enough to make an ivory stepladder."
> cf3c[60]: "Wpn-Monster<81>FHere<81>Cnow fly high into the sky! "
> cfcc[60]: "Wpn-Monster<81>FIt'll tangle you up."
> d17c[58]: "Wpn-Monster<81>FWhere did that punch come from ? "
> d29c[56]: "Wpn-Monster<81>FNo...! Over 500,000 power!? "
> d5fc[56]: "Wpnmonster<81>FDon't stare at me like that! "
> d71c[54]: "Wpn-Monster<81>FAwaken your inner demon! "
> d8cc[48]: "Wpn-Monster<81>FBe posessed by the Overlord's power"
> dc2c[63]: "Wpn-Monster<81>FWho stole the cookie from the cookie jar? Not me! "
> dd4c[58]: "Wpn-Monster<81>FDon't be deceived by the tasty-looking meal! "
> df8c[56]: "Wpn-Monster<81>FDon't forget about your hand placement."
> e0ac[61]: "Wpn-Monster<81>FJust forget about it after a good night's sleep."
> e13c[60]: "Wpn-Monster<81>FHow dare you wash your hands in the bathroom!? "
> e2ec[54]: "Wpn-Monster<81>FStupid is as stupid does! "
> e52c[48]: "Wpn-Monster<81>FYou'll start tomorrow."
> e76c[58]: "Wpn-Monster<81>FTo follow or blackmail? That is the question."
> e7fc[56]: "Wpn-Monster<81>FIt's your fault for being tricked into it."
> e91c[62]: "Wpn-Monster<81>'F <81>'@ <81>'@ <81>'@ <81>'@ <81>'@ <81>'@ (<81>© Use a black light<81>j"
> e9ac[52]: "Wpn-Monster<81>FWhat's yours is mine<81>Cmy friend! "
> ec7c[54]: "Wpn-Monstrer<81>FWhat's holding your back? "
> ee2c[42]: "Wpn-Monster<81>FDon't look under the bed! "
> efdc[53]: "Wpn-Monster<81>FThe director's cut edition of Demon Law."
> f0fc[54]: "Etc-Armor<81>FIt'll protect your body but not your pride."
> f18c[56]: "Etc-Armor<81>FDon't forget to wear this during your speech."
> f2ac[44]: "Etc-Armor<81>FMommy<81>Cit's too big! "
> f3cc[44]: "Etc-Armor<81>FSupport the blue collars! "
> f4ec[46]: "Etc-Armor<81>FYou'll want to go hunt monsters."
> f84c[54]: "Etc-Armor<81>FIt's a bit straining on your shoulders."
> f8dc[63]: "Etc-Armor<81>FYou can still wear it<81>Ceven if you don't know magic."
> f96c[50]: "Etc-Armor<81>FI just want to lift weights now! "
> f9fc[63]: "Etc-Armor<81>FCommander! This outfit kind of stands out too much! "
> fa8c[50]: "Etc-Armor<81>FIt's a very durable coat."
> fc3c[64]: "Etc-Armor<81>FGood for suppressing riot mobs. It's very light<81>Ctoo."
> fdec[64]: "Etc-Armor<81>FFor battling. A man's gotta do what a man's gotta do."
> 100bc[67]: "Etc-Armor<81>FNo! Hold it up higher! Urgh<81>Cno dining in hell for you! "
> 1026c[48]: "Etc-Armor<81>FAsk your mommy to buy one! "
> 105cc[58]: "Etc-Armor<81>FIt's metal walls will protect you from anything"
> 1065c[38]: "Etc-Armor<81>FYou'll never overcome this."
> 106ec[61]: "Etc-Belt<81>FIt'll give you power<81>Cbut it's a bit dorky-looking."
> 1089c[46]: "Etc-Belt<81>FFirst<81>Cyou'll get a six pack."
> 109bc[42]: "Etc-Belt<81>FFirst<81>Cyou'll get a big jaw bone"
> 10a4c[50]: "Etc-Belt<81>FYou'll finally be brave enough."
> 10b6c[57]: "Etc-Belt<81>FProff<81>Cthat you've surpassed human intelligence"
> 10bfc[38]: "Etc-Belt<81>FThe Champ is here! "
> 10dac[30]: "Etc-Shoes<81>FNin nin nin! "
> 10e3c[42]: "Etc-Shoes<81>FFalcons don't wear shoes..."
> 10ecc[54]: "Etc-Shoes<81>FIt's like you re not even wearing anything."
> 10fec[50]: "Etc-Shoes<81>FDo you smell the scent of an angel? "
> 1110c[54]: "Etc-Orb<81>FRecommended to heighten magical powers! "
> 1161c[46]: "Etc-Glasses<81>FUse these to up your accuracy! "
> 116ac[47]: "Etc-Glasses<81>FYou won't miss a thing with these."
> 117cc[45]: "Etc-Glasses<81>FYou'll be the life of the party."
> 11bbc[46]: "Etc-Muscle<81>FGet the body you've always wanted."
> 11c4c[42]: "Etc-Muscle<81>FHustle<81>Chustle! "
> 11d6c[44]: "Etc-Muscle<81>FYou'll love fighting barehanded."
> 11e8c[59]: "Etc-Muscle<81>FThese beatiful muscles will bring you victory! "
> 11f1c[38]: "Etc-Muscle<81>FEver dream this muscle? "
> 11fac[52]: "Etc-Muscle<81>FWelcome to Muscle World! Population<81>FUs."
> 126fc[62]: "Etc-Souvenir<81>FThere's a name on it<81>Cbut it's hardly legible."
> 129cc[37]: "Etc-Costume<81>FIt's a spare prinny hide"
> 12b7c[50]: "Etc-Emblem<81>FPray for your enemy's blood to boil."
> 12d2c[50]: "Etc-Emblem<81>FHelpful in applying Sophia's make-up"
> 1311c[53]: "Item<81>FRecovers HP. Next time won't you chew with me? "
> 1323c[61]: "Item<81>FRecovers HP. Straight from your grandma's coffee table."
> 1335c[40]: "Item<81>FRecovers HP. The vegetarian fish! "
> 1347c[50]: "Item<81>FRecovers HP. Daddy<81>Cwhy can't we have flan? "
> 1350c[57]: "Item<81>FRecovers HP. Did you know this can mean lightning? "
> 1362c[58]: "Item<81>FGreatly recovers HP. Don't forget to pack the fudge."
> 136bc[52]: "Item<81>FRecovers SP. You'll be lucky if it's not flat."
> 1398c[57]: "Item<81>FRecovers SP. You'll be a bum until you drink these."
> 13a1c[63]: "Item<81>FRecovers SP. Just don't ask where the protein comes from."
> 13b3c[48]: "Item<81>FRecovers SP. Take it easy for Pete's sake."
> 13c5c[61]: "Item<81>FRecovers HP SP. Want to know more? Then keep playing! "
> 13d7c[61]: "Item<81>FRecovers HP/SP. Maybe should've gone for boiled newt..."
> 13e9c[54]: "Item<81>FRecovers HP/SP. Don't worry<81>Cthey only need one."
> 13f2c[54]: "Item<81>FRecovers HP/SP. ...But why kimchee? "
> 140dc[38]: "Item<81>FRecovers HP/SP. It's soma time! "
> 141fc[50]: "Item<81>FChilled noodle salad isn't really food! swat"
> 1428c[62]: "Item<81>FCures ailments. Do not confuse angels and fairies! "
> 144cc[53]: "Item<81>FFor the Senate. And<81>Cof course<81>Cit's used to..."
> 164dc[60]: "Item<81>FCall up another user's pirates to the Item World."
> 17bec[56]: "Item<81>FChallenge the X-Dimension side of Overlord's Test."
> 1869c[53]: "Item<81>FChallemge the X-Dimension side of Ruler's Wound"
> 18a8c[41]: "Etc-Teeth<81>FYeah<81>Cthis'll speed things up."
> 18b1c[42]: "Etc-Propeller<81>FMy life is unstoppable! "
> 18bac[51]: "Etc-Shoe<81>FSo light<81>Cit doesn't feel it even exist! "
> 18c3c[61]: "Legendary Fist<81>FStats UP by defeating another user's pirates."
> 18ccc[62]: "Legendary Sword<81>FStats UP by defeating another user's pirates."
> 18d5c[62]: "Legendary Spear<81>FStats UP by defeating another user's pirates."
> 18dec[60]: "Legendary Bow<81>FStats UP by defeating another user's pirates."
> 18e7c[60]: "Legendary Gun<81>FStats UP by defeating another user's pirates."
> 18f0c[60]: "Legendary Axe<81>FStats UP by defeating another user's pirates."
> 18f9c[62]: "Legendary Staff<81>FStats UP by defeating another user's pirates."
> 1902c[66]: "Legendary Wpn-Mnstr<81>FStats UP by defeating another user's pirates."
> 190bc[66]: "Legendary Wpn-Mnstr<81>FStats UP by defeating another user's pirates."
I didn't find SJIS ':' or ',' annoying, so I just left them be. You guys can define $comma or $colon, and add "s/$comma/, /" or "s/$colon/: /" if you want to.