Skip to content

Instantly share code, notes, and snippets.


Will Hutcheson whutch

View GitHub Profile
whutch / cheatsheet.js
Last active Dec 9, 2015
Bot Land JS Cheat Sheet
View cheatsheet.js
life // bot's current life (out of 1000?)
x // bot's current x coordinate
y // bot's current y coordinate
whutch / mineavoider.js
Last active Dec 9, 2015
A Bot Land mine avoider
View mineavoider.js
init = function () {
started = false;
count = 0;
update = function () {
if (!started && (x != 0 || y != 0))
started = true;
whutch /
Created May 1, 2013
Generator for parsing text into fields such as command line arguments or raw CSV.
def split_fields(text, delimiters = " \t\n\r", quotes = "\"'`"):
Field parsing generator; default parameters will function similar
to command line argument parsing.
Ex. >>> [f for f in split_fields("this is\t`a te's't` ")]
['this', 'is', "a te's't"]
index = -1
start = -1
whutch /
Created May 1, 2013
A one liner for Gob's Program, with delayed text writing for maximum effect.
# Python 2.7
any(__import__('time').sleep(__import__('sys').stdout.write(chr(n)) or .01) for n in __import__('itertools').cycle([80,101,110,117,115,32])) if raw_input('Gob\'s Program: Y/N?\n? ')[0].lower() == 'y' else ''
# Python 3.x
any(__import__('time').sleep(print(chr(n),end='',flush=True) or .01) for n in __import__('itertools').cycle([80,101,110,117,115,32])) if input('Gob\'s Program: Y/N?\n? ')[0].lower() == 'y' else ''
whutch /
Last active Dec 27, 2015
Dota 2 replay analysis stuff
import tarrasque
# Mapping of hero dt_key values to their keys in the CombatLogNames string table
hero_clnames = {
# This list is incomplete! I add to it whenever I hit a new hero parsing
"DT_DOTA_Unit_Hero_Abaddon": "npc_dota_hero_abaddon",
"DT_DOTA_Unit_Hero_Alchemist": "npc_dota_hero_alchemist",
"DT_DOTA_Unit_Hero_AncientApparition": "npc_dota_hero_ancient_apparition",
"DT_DOTA_Unit_Hero_Axe": "npc_dota_hero_axe",
"DT_DOTA_Unit_Hero_Bane": "npc_dota_hero_bane",
whutch / mapgen.patch
Created Jan 14, 2016
Patch for Atria to turn it into a map generation server
View mapgen.patch
diff --git a/atria/core/ b/atria/core/
index f85c091..0c180b2 100644
--- a/atria/core/
+++ b/atria/core/
@@ -23,6 +23,7 @@ from .storage import STORES
from .timing import TIMERS
from .utils.exceptions import ServerReboot, ServerReload, ServerShutdown
from .utils.funcs import joins
+from .world import MapShell
whutch /
Created Jan 26, 2016
Test game module for Atria
# -*- coding: utf-8 -*-
"""A test game for prototyping."""
# Part of Atria MUD Server (
# :copyright: (c) 2008 - 2016 Will Hutcheson
# :license: MIT (
import re
from .. import settings
from ..core.accounts import Account, AccountMenu, AccountName
whutch /
Last active Feb 15, 2016
Atria weather system test script
from time import sleep, time
from subprocess import call
from import WeatherPattern
from atria.contrib.worldgen.maps import (_render_map_data,
from atria.contrib.worldgen.terrain import _parse_terrain_grid
from atria.libs.miniboa import colorize
whutch /
Last active Mar 15, 2016
Example contrib modules for Clockwork
from functools import partial
from cwmud.contrib.crafting import Material
from cwmud.contrib.gathering import GatheringNode
from cwmud.core.characters import CharacterShell
from cwmud.core.commands import COMMANDS
from cwmud.core.items import Item, ITEMS, Trash
from cwmud.core.skills import AbilityCommand, Skill, SKILLS
whutch /
Created Mar 18, 2016
Game module for Clockwork that demonstrates terminal manipulation possibilities.
# -*- coding: utf-8 -*-
"""Weather monitor; example of client terminal manipulation."""
# Part of Clockwork MUD Server (
# :copyright: (c) 2008 - 2016 Will Hutcheson
# :license: MIT (
from ... import settings
from import WeatherPattern
from ...contrib.worldgen.maps import _render_map_data, render_map_from_layers
from import EVENTS
You can’t perform that action at this time.