New Content - Implemented Heavy Rains

I added support for stat recommendations in 14414. The only locations with actual values at the moment are the three friars areas, and those are from the wiki. I also changed the boolean clover field to use the word "clover" instead, so it's less likely to be copy-pasted when it doesn't apply.
 
Found an alt I can test a fair number of them on. Twitch stat limiter is very handy. I'm at 2 mainstat with a base of 2545 !
 
Added quite a lot of them. Some I haven't yet worked out, some will take time, others my characters are levelled well past.

Those I haven't added are :
Summoning Chamber
The Enormous Greater-Than Sign
The Road to White Citadel
Cola Battlefield
The Boss Bat's Lair
Bugbear Ship
KOL High School (almost certainly none)
Pre-Cyrpt Cemetary
Goblin King's Throne Room
Cyrpt
Island War
The Hedge Maze
Volcano Lair
Muscle/Moxie Sign areas
Hobopolis
Mer-kin City
Antique areas
Twitch areas
Psychoses
 
Last edited:
Shouldn't be too hard to spade where the min stat for 2 rather than 1 depth starts (frequently entered areas shown), currently thought to be around 40 :
20 - Haunted Library
25 - Knob Barracks / Harem
30 - Hippy Camp
(35 - Menagerie level 1)
37 - Whitey's Grove
40 - Haunted Gallery / Bathroom / Bedroom / Ballroom / Dark Neck (according to wiki)
45 - Pirate's Cove / Dark Elbow (wiki) / Dark Heart (wiki)
 
We also might be able to use them for turtle prediction, as I think they said the game uses them for that now.
Looking at the 'general misc' turtles on the wiki, and comparing to my actuals today, this doesn't seem to be the case (or several stat recommendations were changed after the turtle tamer revamp, which is possible).
 
August 05, 2014 - Fixed some missing stat recommendations that were causing some zones to contain wimpier turtles than intended.
It's likely no one cared enough about turtle taming to recheck after that.
 
I think we should include either Stat: 0 or Stat: -1 for areas known to have no stat recommendation, so we can tell the difference between known none and unknown. Any preference as to which? I'm thinking Stat: 0. I can add a couple of dozen I've tested today.
 
I think 0 sounds fine. I was also thinking 1 would work, but it doesn't really matter, as long as it's distinct from not having one assigned at all.
 
The Aquaman
image: images/adventureimages/theaquaman.gif
atk: 260
def: 240
hp:200
phymumn: dude
elemental alignment: none
Init: +60%

1 drop at 100%:
--------------------
7667 filet of The Fish 629586752 gnatfilet.gif food t,d 140
filet of The Fish 3 11 EPIC 0 0 0 0
# filet of The Fish
--------------------
 
Looking at item #7658...
Unknown item found: fishbone bracers (7658, 218156379)
--------------------
7658 fishbone bracers 218156379 fb_bracers.gif accessory t,d 50
fishbone bracers 20 none
# fishbone bracers: (Heavy Rains only)
fishbone bracers Spell Critical Percent: +20, Spell Damage Percent: +100, Single Equip
--------------------
 
Added, as well as the other fishbone items.

Freshwater Fishbonery is a Coinmaster, isn't it? Anybody got the HTML of the page?
 
Added, as well as the other fishbone items.

Freshwater Fishbonery is a Coinmaster, isn't it? Anybody got the HTML of the page?
Here ya go!
Code:
<html><head>
<script language=Javascript>
<!--
if (parent.frames.length == 0) location.href="game.php";
//-->
</script>
<script language=Javascript src="http://images.kingdomofloathing.com/scripts/keybinds.min.2.js"></script>
<script language=Javascript src="http://images.kingdomofloathing.com/scripts/window.20111231.js"></script>
<script language="javascript">function chatFocus(){if(top.chatpane.document.chatform.graf) top.chatpane.document.chatform.graf.focus();}
if (typeof defaultBind != 'undefined') { defaultBind(47, 2, chatFocus); defaultBind(190, 2, chatFocus);defaultBind(191, 2, chatFocus); defaultBind(47, 8, chatFocus);defaultBind(190, 8, chatFocus); defaultBind(191, 8, chatFocus); }</script><script language="javascript">
	function updateParseItem(iid, field, info) {
		var tbl = $('#ic'+iid);
		var data = parseItem(tbl);
		if (!data) return;
		data[field] = info;
		var out = [];
		for (i in data) {
			if (!data.hasOwnProperty(i)) continue;
			out.push(i+'='+data[i]);
		}
		tbl.attr('rel', out.join('&'));
	}
	function parseItem(tbl) {
		tbl = $(tbl);
		var rel = tbl.attr('rel');
		var data = {};
		if (!rel) return data;
		var parts = rel.split('&');
		for (i in parts) {
			if (!parts.hasOwnProperty(i)) continue;
			var kv = parts[i].split('=');
			tbl.data(kv[0], kv[1]);
			data[kv[0]] = kv[1];
		}
		return data;
	}
</script><script language=Javascript src="http://images.kingdomofloathing.com/scripts/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="http://images.kingdomofloathing.com/scripts/pop_query.20130705.js"></script>
<script type="text/javascript" src="http://images.kingdomofloathing.com/scripts/ircm.20120523.js"></script>
<script type="text/javascript">
function pop_ircm_contents(i, some) {
	var contents = '',
		shown = 0,
		da = ' <a href="#" rel="?" class="small dojaxy">[some]</a> <a href="#" rel="',
		db = '" class="small dojaxy">[all]</a>',
		dc = '<div style="width:100%; padding-bottom: 3px;" rel="',
		dd = '<a href="#" rel="1" class="small dojaxy">[';
	one = 'one'; ss=some;
if (i.d==1 && i.s>0) { shown++; 
contents += dc + 'sellstuff.php?action=sell&ajax=1&type=quant&whichitem%5B%5D=IID&howmany=NUM&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Auto-Sell ('+i.s+' meat):</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.q==0) { shown++; 
contents += dc + 'inventory.php?action=closetpush&ajax=1&whichitem=IID&qty=NUM&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Closet:</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.q==0 && i.g==0 && i.t==1) { shown++; 
contents += dc + 'managestore.php?action=additem&qty1=NUM&item1=IID&price1=&limit1=&ajax=1&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Stock in Mall:</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.q==0) { shown++; 
contents += dc + 'managecollection.php?action=put&ajax=1&whichitem1=IID&howmany1=NUM&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Add to Display Case:</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.q==0 && i.t==1) { shown++; 
contents += dc + 'clan_stash.php?action=addgoodies&ajax=1&item1=IID&qty1=NUM&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Contribute to Clan:</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.q==0 && i.p==0 && i.u=="q" && i.d==1 && i.t==1) { shown++; 
contents += dc + 'craft.php?action=pulverize&ajax=1&smashitem=IID&qty=NUM&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>Pulverize:</b> '+dd+one+']</a>';
if (ss) { contents += da + i.n + db;}
contents += '</div>';
}
one = 'one'; ss=some;
if (i.u && i.u != ".") { shown++; 
contents += dc + 'inv_'+(i.u=="a"?"redir":(lab=(i.u=="u"?"use":(i.u=="e"?"eat":(i.u=="b"?"booze":"equip")))))+'.php?ajax=1&whichitem=IID&itemquantity=NUM&quantity=NUM'+(i.u=="q"?"&action=equip":"")+'&pwd=0531b8f73b191e90acb212061f2a5d1d" id="pircm_'+i.id+'"><b>'+ucfirst(unescape(i.ou ? i.ou.replace(/\+/g," ") : (lab=="booze"?"drink":lab)))+':</b> '+dd+one+']</a>';
if (ss && i.u != 'q' && !(i.u=='u' && i.m==0)) { contents += da + i.n + db;}
contents += '</div>';
}

	return [contents, shown];
}
var todo = [];
function nextAction() {
	var next_todo = todo.shift();
	if (next_todo) {
		eval(next_todo);
	}
}
function dojax(dourl, afterFunc, hoverCaller, failureFunc, method, params) {
	$.ajax({
		type: method || 'GET', url: dourl, cache: false,
		data: params || null,
		global: false,
		success: function (out) {
			nextAction();
			if (out.match(/no\|/)) {
				var parts = out.split(/\|/);
				if (failureFunc) failureFunc(parts[1]);
				else $('#ChatWindow').append('<font color="green">Oops!  Sorry, Dave, you appear to be ' + parts[1] + '.</font><br />' + "\n");
				return;
			}

			if (hoverCaller)  {
				float_results(hoverCaller, out);
				if (afterFunc) { afterFunc(out); }
				return;
			}
$(top.mainpane.document).find("#effdiv").remove(); if(!window.dontscroll || (window.dontscroll && dontscroll==0)) { window.scroll(0,0);}
			var $eff = $(top.mainpane.document).find('#effdiv');
			if ($eff.length == 0) {
				var d = top.mainpane.document.createElement('DIV');
				d.id = 'effdiv';
				var b = top.mainpane.document.body;
				if ($('#content_').length > 0) {
					b = $('#content_ div:first')[0];
				}
				b.insertBefore(d, b.firstChild);
				$eff = $(d);
			}
			$eff.find('a[name="effdivtop"]').remove().end()
				.prepend('<a name="effdivtop"></a><center>' + out + '</center>').css('display','block');
			if (!window.dontscroll || (window.dontscroll && dontscroll==0)) {
				top.mainpane.document.location = top.mainpane.document.location + "#effdivtop";
			}
			if (afterFunc) { afterFunc(out); }
		}
	});
}
</script><link rel="stylesheet" type="text/css" href="http://images.kingdomofloathing.com/styles.20130904.css">
<style type='text/css'>
.faded {
	zoom: 1;
	filter: alpha(opacity=35);
	opacity: 0.35;
}
</style>

</head>

<body>
<centeR><table  width=95%  cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Freshwater Fishbonery</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><table width=80%><tr><td>You lay your freshwater fishbones out in front of you and consider them.  What could you fashion from them?</td></tr></table></center><form name=bigform action=shop.php method=post><input type=hidden name=pwd value=0531b8f73b191e90acb212061f2a5d1d><input type=hidden name=whichshop value="fishbones"><input type=hidden name=action value=buyitem><center><table cellpadding=2><tr><td></td><td colspan=2 align=center><b>Item:</b> (click for description)</td><td colspan=10 align=center><b>Price:</b></td></tr><tr rel="7658"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_bracers.gif" class=hand onClick='javascript:descitem(218156379)'></td><td valign=center><a onClick='javascript:descitem(218156379)'><b>fishbone bracers</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>5</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=325&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr><tr rel="7656"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_mask.gif" class=hand onClick='javascript:descitem(874585861)'></td><td valign=center><a onClick='javascript:descitem(874585861)'><b>fishbone facemask</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>5</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=324&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr><tr rel="7654"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_corset.gif" class=hand onClick='javascript:descitem(795585330)'></td><td valign=center><a onClick='javascript:descitem(795585330)'><b>fishbone corset</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>10</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=322&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr><tr rel="7653"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_kneepads.gif" class=hand onClick='javascript:descitem(429018276)'></td><td valign=center><a onClick='javascript:descitem(429018276)'><b>fishbone kneepads</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>15</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=321&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr><tr rel="7652"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_glove.gif" class=hand onClick='javascript:descitem(285996070)'></td><td valign=center><a onClick='javascript:descitem(285996070)'><b>fishbone catcher's mitt</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>30</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=320&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr><tr rel="7655"><td valign=center></td><td><img src="http://images.kingdomofloathing.com/itemimages/fb_fins.gif" class=hand onClick='javascript:descitem(850728829)'></td><td valign=center><a onClick='javascript:descitem(850728829)'><b>fishbone fins</b>    </a></td><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td><b>20</b>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td></td><td>  </td><td valign=center><input class="button doit multibuy" type=button rel='shop.php?whichshop=fishbones&action=buyitem&quantity=1&whichrow=323&pwd=0531b8f73b191e90acb212061f2a5d1d' value='Fashion'></td></tr></table></form></form><div id="ass" style="font-size: .8em; text-align: center; width: 100%">*Right-Click to Multi-Fashion</div><p><b>You have:</b><table><tr><td><img src=http://images.kingdomofloathing.com/itemimages/fishybone.gif width=30 height=30 onClick='javascript:descitem(878161949)' alt="freshwater fishbone" title="freshwater fishbone"></td><td>8 freshwater fishbones</td></tr></table><p></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></center><script>
jQuery(function ($) {
	var ass = false;
	$('.doit').bind('contextmenu', function (e) {
		e.preventDefault();
		var l = $(this);
		pop_query(l, 'How Many?', 'Take', function (num) {
			var url = l.attr('rel');
			url = url.replace(/quantity=1/, 'quantity=' + num);
			parent.mainpane.location=url;
		})
	}).each(function () {
		//$(this).val($(this).val() + '*');
		ass = true;
	}).click(function (e) {
		e.preventDefault();
		var url = $(this).attr('rel');
		parent.mainpane.location=url;
	});

	if (!ass) { $('#ass').hide() }

});
</script>
</body></html>
 
Revision 14423 adds the Freshwater Fishbonery as a Coinmaster. Untested - except by pressing the "visit" button on the Coinmaster Frame for that shop, which did visit the shop and give me the same HTML you posted. ;)

I expect I'll ascend into this path after I'm done with the upcoming Twitch event. Until then, tell me if there are problems with this.
 
I also changed the boolean clover field to use the word "clover" instead, so it's less likely to be copy-pasted when it doesn't apply.
I'm probably going to move Clover adventures to encounters.txt, which looks like was the intention from the text, and expose the name in Location Details.
 
r14424 adds Water Level as a modifier, uses it to calculate water level, exposes environment, recommended mainstat and water level in Location Details, and includes Water Level x 10 in Monster Level calculations for monsters (seems to also affect compact side panel value, that could be changed if wanted).
 
Last edited:
Shouldn't be too hard to spade where the min stat for 2 rather than 1 depth starts (frequently entered areas shown), currently thought to be around 40 :
Looking pretty good, Whitey's Grove is a base 1 depth location, and has min stat 37.
 
Back
Top