|
- let last_used = {};
-
- let sounds = {
- crush: [
- ["Thump.", "Thoomp."],
- ["Crunch."],
- ["Crrruunch."],
- ["CRUNCH!"],
- ["CRRRUNNCH!"],
- ["SKRRRRUNCH!"],
- ["SKRRRRRRRSMASH!"],
- ],
- swallow: [
- ["Ulp.", "Glp.", "Slurp."],
- ["Glrph.", "Glurk."],
- ["Gluuuurrkph!", "Glurp - GLK."],
- ["GLRP!", "GULP!", "GLUK!"],
- ["GLRRRRPKH!", "GLUUUURK!"],
- ["GLUUUUURRPKH!", "GLOOOORPH-GLK!"],
- ],
- drip: [
- ["Drip."],
- ["Dribble"],
- ["Drip-sploosh"],
- ["Dribble-SPLOOSH!"],
- ["SPLOOOOOSH!!"],
- ],
- liquid: [
- ["Sploosh."],
- ["Gush!"],
- ["SPLOOSH!"],
- ["SPLOOSH!"],
- ["SPLOOOOOOSH!"],
- ],
- insert: [
- ["Slp.", "Shlk."],
- ["Shlp.", "Shlrp."],
- ["Shlllp."],
- ["SHLP!", "SQUELCH!"],
- ["SHLLLLRP!"],
- ],
- drop: [["Thump."], ["Thump!"], ["Splat."], ["Splat!"], ["SPLAT!"]],
- belch: [
- ["Burp.", "Urp."],
- ["Urph.", "Burph."],
- ["Urrrrrph."],
- ["UuuuuuuRRRRRPPHHHhhhh."],
- ["UUUURRRRPHH!"],
- ["BUUUURRRRRRRRPPPHHH!"],
- ],
- fart: [
- ["Pft."],
- ["Pffft."],
- ["Pfffffbt."],
- ["Frrrrrrrt."],
- ["FRRRRRRRRPBBT!"],
- ],
- scat: [
- ["Clench."],
- ["Squeeeeeze."],
- ["Squeeeeeeeeeeeze."],
- ["Sqlllllch."],
- ["SQLLLLLLCH!"],
- ],
- digest: [
- ["Grrgle."],
- ["Grrrrgle"],
- ["Grrrrlglorp."],
- ["GrrrrGLRRRLPH!"],
- ["GRRRRRLGPRLHK!"],
- ],
- goo: [
- ["Splat."],
- ["Squish."],
- ["Squish!"],
- ["SQLCH!"],
- ["SQLLLLRCH!"],
- ["SQQQQUEEEEELLCH!"],
- ],
- vomit: [
- ["Hurk."],
- ["Hurrk."],
- ["Bleugh."],
- ["Bleugh!"],
- ["Bleeeugh!"],
- ["BLEEEUGHK!"],
- ],
- breath: [["Woosh."], ["Fwoosh."], ["FWOOSH."], ["FWOOSH!"], ["FWOOOOOOSH!"]],
- chew: [
- ["Snap.", "Crack."],
- ["Crunch."],
- ["Crack!"],
- ["CRUNCH!"],
- ["CRRRUNCH!"],
- ],
- magic: [["Zap."], ["Zap!"], ["Fwoosh!"]],
- };
-
- function pickByMass(name, mass) {
- let list = sounds[name];
- let index = Math.floor(Math.log10(mass / 100) / 2);
- index = Math.max(index, 0);
-
- choice = index < list.length ? list[index] : list[list.length - 1];
-
- let subindex = Math.floor(Math.random() * Math.floor(choice.length));
-
- // less likely to repeat
- if (last_used[name] != undefined && last_used[name] == subindex) {
- subindex = Math.floor(Math.random() * Math.floor(choice.length));
- }
-
- last_used[name] = subindex;
-
- return choice[subindex];
- }
-
- function getSound(name, mass) {
- return "<i>" + pickByMass(name, mass) + "</i>";
- }
|