<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
    <channel>
        <title>Koil's site</title>
        <link>http://www.byond.com/members/Koil</link>
        <description></description>
        <lastBuildDate>Fri, 10 Feb 2012 13:02:27 +0000</lastBuildDate>
        <language>en-us</language>
    
                <item>
            <title>Koil smells bad.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=121184</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=121184</guid>
            <pubDate>Mon, 21 Nov 2011 04:10:32 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=121184#comments</comments>
            
            <description>ya'll smelly</description>
        </item>
                <item>
            <title>Who is this girl?</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=181848</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=181848</guid>
            <pubDate>Sun, 26 Jul 2009 06:05:58 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=181848#comments</comments>
            
            <description>&lt;img src=&quot;http://zip.4chan.org/mu/thumb/1248589315269s.jpg&quot;&gt;&lt;br&gt;
&lt;br&gt;
She's been on Bootyboy's blog page for awhile. I'd love to know who it is.</description>
        </item>
                <item>
            <title>Getting the screen location of a map object.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=159507</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=159507</guid>
            <pubDate>Fri, 27 Feb 2009 02:17:22 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=159507#comments</comments>
            
            <description>How would I get the screen location of an object that isn't actually in client.screen, but is on the map and is in the players' view?&lt;br&gt;
&lt;br&gt;
Like, say I have an object at 55,67. I walk away from this object until it's in the top right corner of my 7x7 view. That would mean it's screen location would be 7,7, even though it's map location is 55,67. Get what I mean?</description>
        </item>
                <item>
            <title>What.. the heck? [edit]</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=141576</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=141576</guid>
            <pubDate>Mon, 19 Jan 2009 23:22:18 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=141576#comments</comments>
            
            <description>&lt;b&gt;Code:&lt;/b&gt;&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
&lt;span class=&quot;dmpreprocessor&quot;&gt;#define islist(x) istype(x, /list)&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;    srand(min, max, shade)&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(!shade || shade == 1 || max &amp;lt; min) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; min&lt;br&gt;        &lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; round(min + rand(1, shade) * ((max - min) / shade))&lt;br&gt;&lt;br&gt;color&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;        red_min = 0&lt;br&gt;        green_min = 0&lt;br&gt;        blue_min = 0&lt;br&gt;        &lt;br&gt;        red_max = 0&lt;br&gt;        green_max = 0&lt;br&gt;        blue_max = 0&lt;br&gt;        &lt;br&gt;        red_shades = 0&lt;br&gt;        green_shades = 0&lt;br&gt;        blue_shades = 0&lt;br&gt;    &lt;br&gt;    New(rm = 0, rx = 0, rs = 0, gm = 0, gx = 0, gs = 0, bm = 0, bx = 0, bs = 0)&lt;br&gt;        red_min = rm&lt;br&gt;        red_max = rx&lt;br&gt;        red_shades = rs&lt;br&gt;        &lt;br&gt;        green_min = gm&lt;br&gt;        green_max = gx&lt;br&gt;        green_shades = gs&lt;br&gt;        &lt;br&gt;        blue_min = bm&lt;br&gt;        blue_max = bx&lt;br&gt;        blue_shades = bs&lt;br&gt;    &lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;        debug()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[red_min]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[red_max]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[red_shades]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;)=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[srand(red_min, red_max, red_shades)]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[green_min]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[green_max]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[green_shades]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;)=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[srand(green_min, green_max, green_shades)]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[blue_min]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[blue_max]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[blue_shades]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;)=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[srand(blue_min, blue_max, blue_shades)]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;br&gt;        &lt;br&gt;        generateColor()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; rgb(srand(red_min, red_max, red_shades), srand(green_min, green_max, green_shades), srand(blue_min, blue_max, blue_shades))&lt;br&gt;&lt;br&gt;atom&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;        color/foreground = null&lt;br&gt;        color/background = null&lt;br&gt;        display_text = null&lt;br&gt;    &lt;br&gt;    New()&lt;br&gt;        ..()&lt;br&gt;        refreshDisplay()&lt;br&gt;    &lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;        generateDisplayText()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(copytext(display_text, 1, 2) == &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;:&amp;quot;&lt;/span&gt; &amp;amp;&amp;amp; copytext(display_text, length(display_text)) == &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;;&amp;quot;&lt;/span&gt;)&lt;br&gt;                . = copytext(display_text, 2, length(display_text))&lt;br&gt;                &lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/rdt = rand(1, length(.))&lt;br&gt;                . = copytext(., rdt, rdt + 1)&lt;br&gt;            &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; . = display_text&lt;br&gt;            &lt;br&gt;        refreshDisplay()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                fg_color = (foreground) ? (foreground.generateColor()) : (null)&lt;br&gt;                bg_color = (background) ? (background.generateColor()) : (null)&lt;br&gt;                dt = generateDisplayText()&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(fg_color &amp;amp;&amp;amp; bg_color) text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;lt;font bgcolor=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[bg_color]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt; color=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[fg_color]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[dt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;lt;/font&amp;gt;&amp;quot;&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(fg_color &amp;amp;&amp;amp; !bg_color) text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;lt;font color=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[fg_color]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[dt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;lt;/font&amp;gt;&amp;quot;&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(!fg_color &amp;amp;&amp;amp; bg_color) text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;lt;font bgcolor=&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[bg_color]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[dt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;lt;/font&amp;gt;&amp;quot;&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[dt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;world/mob = /mob/player&lt;br&gt;    &lt;br&gt;turf&lt;br&gt;    text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;    &lt;br&gt;    grass&lt;br&gt;        text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;lt;font bgcolor=#009900&amp;gt; &amp;lt;/font&amp;gt;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;        foreground = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color(0, 0, 0, 150, 200, 3, 0, 0, 0)&lt;br&gt;        display_text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;:` ,;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;mob&lt;br&gt;    player&lt;br&gt;        text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;#064;&amp;quot;&lt;/span&gt;&lt;br&gt;        &lt;br&gt;        foreground = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color(50, 255, 3, 50, 255, 3, 50, 255, 3)&lt;br&gt;        display_text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;#064;&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Problem description:&lt;/b&gt;&lt;br&gt;
Okay I have the foreground and background /colors that are created with the arguments being color and shade numbers. The /color object returns a random color based on what ranges you give it.&lt;br&gt;
&lt;br&gt;
The problem is that it does not work on turfs. It works fine on /mobs and /objs, but it just won't work on turfs. I tried this with the turf and it made it work:&lt;br&gt;
&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
turf&lt;br&gt;    text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;    &lt;br&gt;    grass&lt;br&gt;        text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;lt;font bgcolor=#009900&amp;gt; &amp;lt;/font&amp;gt;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmcomment&quot;&gt;//foreground = new/color(0, 0, 0, 150, 200, 3, 0, 0, 0)&lt;/span&gt;&lt;br&gt;        display_text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;:` ,;&amp;quot;&lt;/span&gt;&lt;br&gt;        &lt;br&gt;        New()&lt;br&gt;            foreground = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color&lt;br&gt;            foreground.green_min = 150&lt;br&gt;            foreground.green_max = 200&lt;br&gt;            foreground.green_shades = 3&lt;br&gt;            &lt;br&gt;            ..()
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
but that's completely retarded. Why do other /atoms BESIDES /turf let me instance the /color object like they do?&lt;br&gt;
&lt;br&gt;
Am I missing some secret innerworking of BYOND?!&lt;br&gt;
&lt;br&gt;
[edit]&lt;br&gt;
This also makes it correctly set the grass color.&lt;br&gt;
&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
mob&lt;br&gt;    player&lt;br&gt;        text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;#064;&amp;quot;&lt;/span&gt;&lt;br&gt;        &lt;br&gt;        foreground = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color(50, 255, 3, 50, 255, 3, 50, 255, 3)&lt;br&gt;        display_text = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;#064;&amp;quot;&lt;/span&gt;&lt;br&gt;        &lt;br&gt;        Login()&lt;br&gt;            ..()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/turf/A &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; world)&lt;br&gt;                A.foreground = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color(0, 0, 0, 150, 200, 3, 0, 0, 0)&lt;br&gt;                A.background = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/color(0, 0, 0, 100, 150, 3, 0, 0, 0)&lt;br&gt;                A.refreshDisplay()
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;</description>
        </item>
                <item>
            <title>Parser</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=151830</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=151830</guid>
            <pubDate>Sun, 18 Jan 2009 07:42:56 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=151830#comments</comments>
            
            <description>Here is the parser I made for my MUD. I realize AbyssDragon already has a nice parser, but it's got too many features I don't need and it doesn't handle certain things like I need them to be handled, so I made my own.&lt;br&gt;
&lt;br&gt;
Does it look decent? I've never really made a command parser.&lt;br&gt;
&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/Parser/parser = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;&lt;br&gt;&lt;br&gt;mob&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/list/inventory = list()&lt;br&gt;&lt;br&gt;client/Command(cmd)&lt;br&gt;        parser.parse(mob, cmd)&lt;br&gt;            &lt;br&gt;obj/really_big_candy&lt;br&gt;&lt;br&gt;Command &lt;span class=&quot;dmcomment&quot;&gt;// TEST COMMANDS&lt;/span&gt;&lt;br&gt;    say&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(say);txt&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, txt)&lt;br&gt;            world &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[user.name]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[txt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;    tell&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(tell whisper);mob:view,1,usr txt&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, mob/mob, txt)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(mob)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(txt)&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(mob != user)&lt;br&gt;                        mob &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[user]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt; tells you, \&quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[txt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;\&quot;&amp;quot;&lt;/span&gt;&lt;br&gt;                        user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;You tell &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[mob]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;, \&quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[txt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;\&quot;&amp;quot;&lt;/span&gt;&lt;br&gt;                    &lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;You tell yourself, \&quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[txt]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;\&quot;&amp;quot;&lt;/span&gt;&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Tell what?&amp;quot;&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Tell who?&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;    get&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(get grab);obj:view,1,usr&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, obj/obj)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(obj)&lt;br&gt;                user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;You get &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[obj]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;.&amp;quot;&lt;/span&gt;&lt;br&gt;                user.inventory += obj&lt;br&gt;                obj.Move(user)&lt;br&gt;                &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Get what?&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;    drop&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(drop);obj:view,1,usr&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, obj/obj)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(obj)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(obj &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; user.inventory)&lt;br&gt;                    user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;You drop &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[obj]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;.&amp;quot;&lt;/span&gt;&lt;br&gt;                    &lt;br&gt;                    obj.Move(user.loc)&lt;br&gt;                    user.inventory -= obj&lt;br&gt;                    &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Drop what?&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;    walk&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(walk step);txt&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, txt)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;switch&lt;/span&gt;(txt)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;north&amp;quot;&lt;/span&gt;, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;n&amp;quot;&lt;/span&gt;) step(user, NORTH)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;south&amp;quot;&lt;/span&gt;, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;s&amp;quot;&lt;/span&gt;) step(user, SOUTH)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;east&amp;quot;&lt;/span&gt;, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;e&amp;quot;&lt;/span&gt;) step(user, EAST)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;west&amp;quot;&lt;/span&gt;, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;w&amp;quot;&lt;/span&gt;) step(user, WEST)&lt;br&gt;    &lt;br&gt;    give&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(give);mob:view,1,usr obj:.inventory&amp;quot;&lt;/span&gt;&lt;br&gt;        function(mob/user, mob/mob, mob/obj)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(mob)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(obj)&lt;br&gt;                    user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;You give &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[mob]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt; &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[obj]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;.&amp;quot;&lt;/span&gt;&lt;br&gt;                    mob &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[user]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt; gives you &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[obj]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;.&amp;quot;&lt;/span&gt;&lt;br&gt;                    &lt;br&gt;                    obj.Move(mob)&lt;br&gt;                    user.inventory -= obj&lt;br&gt;                    mob.inventory += obj&lt;br&gt;                    &lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Give what?&amp;quot;&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; user &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Give who?&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;    stringSplit(string, delimiter = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(string)&lt;br&gt;            . = list()&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/pos = findtext(string, delimiter)&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;while&lt;/span&gt;(pos)&lt;br&gt;                . += copytext(string, 1, pos)&lt;br&gt;                string = copytext(string, pos + length(delimiter))&lt;br&gt;&lt;br&gt;                pos = findtext(string, delimiter)&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(string)&lt;br&gt;                . += string&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt;&lt;br&gt;&lt;br&gt;    list2text(list/l, delimiter = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br&gt;        . = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/i = 1, i &amp;lt;= length(l), i ++)&lt;br&gt;            . += l[i]&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(i &amp;lt; length(l))&lt;br&gt;                . += delimiter&lt;br&gt;    &lt;br&gt;    tokenize(string)&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;            list/tokens = list()&lt;br&gt;            current&lt;br&gt;            quotes = FALSE&lt;br&gt;            char = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;while&lt;/span&gt;(length(string))&lt;br&gt;            char = copytext(string, 1, 2)&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(char == &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;\&quot;&amp;quot;&lt;/span&gt; || char == &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;'&amp;quot;&lt;/span&gt;) quotes = !quotes&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(char != &lt;span class=&quot;dmstring&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; || quotes) current += char&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt;&lt;br&gt;                tokens += current&lt;br&gt;                current = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;            string = copytext(string, 2)&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; tokens + current&lt;br&gt;    &lt;br&gt;    text2atom(mob/user, name, token, type)&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/location&lt;br&gt;        &lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(findtext(token, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;:&amp;quot;&lt;/span&gt;))&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                ltag = copytext(token, findtext(token, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;:&amp;quot;&lt;/span&gt;) + 1)&lt;br&gt;                list/argl = stringSplit(ltag, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;,&amp;quot;&lt;/span&gt;)&lt;br&gt;            &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(findtext(argl[1], &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;)) location = user.vars[copytext(argl[1], findtext(argl[1], &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;) + 1)]&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt;&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;switch&lt;/span&gt;(argl[1])&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;world&amp;quot;&lt;/span&gt;) location = world&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;view&amp;quot;&lt;/span&gt;) location = parseFind(user, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;view&amp;quot;&lt;/span&gt;, argl[2], argl[3])&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;oview&amp;quot;&lt;/span&gt;) location = parseFind(user, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;oview&amp;quot;&lt;/span&gt;, argl[2], argl[3])&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;range&amp;quot;&lt;/span&gt;) location = parseFind(user, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;range&amp;quot;&lt;/span&gt;, argl[2], argl[3])&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;orange&amp;quot;&lt;/span&gt;) location = parseFind(user, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;orange&amp;quot;&lt;/span&gt;, argl[2], argl[3])&lt;br&gt;            &lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; location = world&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/atom/a &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; location)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(istype(a, type))&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(a.name == name) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; a&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(ckey(a.name) == name) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; a&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(findtext(a.name, name)) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; a&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(findtext(ckey(a.name), ckey(name))) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; a&lt;br&gt;    &lt;br&gt;    parseFind(mob/user, p, dist, center)&lt;br&gt;        dist = text2num(dist)&lt;br&gt;        center = parseCenter(user, center)&lt;br&gt;        &lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;switch&lt;/span&gt;(p)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;view&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; view(dist, center)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;oview&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; oview(dist, center)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;range&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; range(dist, center)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;orange&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; orange(dist, center)&lt;br&gt;        &lt;br&gt;    parseCenter(mob/user, tag)&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(findtext(tag, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;))&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; user.vars[copytext(tag, findtext(tag, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;) + 1)]&lt;br&gt;            &lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;switch&lt;/span&gt;(tag)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;usr&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; user&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; user&lt;br&gt;&lt;br&gt;Command&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;        format = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;        list/arguments = null&lt;br&gt;        list/alias = null&lt;br&gt;    &lt;br&gt;    New()&lt;br&gt;        alias = getAlias()&lt;br&gt;        arguments = tokenize(format)&lt;br&gt;&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;        getAlias()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                start = findtext(format, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;(&amp;quot;&lt;/span&gt;) + 1&lt;br&gt;                end = findtext(format, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;);&amp;quot;&lt;/span&gt;)&lt;br&gt;                &lt;br&gt;                aliasTxt = lowertext(copytext(format, start, end))&lt;br&gt;            &lt;br&gt;            format = copytext(format, end + 2)&lt;br&gt;            &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; stringSplit(aliasTxt, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br&gt;            &lt;br&gt;        process(mob/user, list/tokens)&lt;br&gt;            tokens.Cut(1, 2)&lt;br&gt;            &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/argsend[length(arguments)]&lt;br&gt;            &lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/a = 1, a &amp;lt;= length(arguments), a ++)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                    arga = arguments[a]&lt;br&gt;                    argt = tokens[a]&lt;br&gt;                &lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;switch&lt;/span&gt;(copytext(arga, 1, 4))&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;txt&amp;quot;&lt;/span&gt;)&lt;br&gt;                        tokens.Cut(a - 1, a)&lt;br&gt;                        argsend[a] = list2text(tokens, &lt;span class=&quot;dmstring&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;br&gt;                        &lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;mob&amp;quot;&lt;/span&gt;) argsend[a] = text2atom(user, argt, arga, /mob)&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;obj&amp;quot;&lt;/span&gt;) argsend[a] = text2atom(user, argt, arga, /obj)&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;num&amp;quot;&lt;/span&gt;) argsend[a] = text2num(argt)&lt;br&gt;            &lt;br&gt;            argsend.Insert(1, user)&lt;br&gt;            function(arglist(argsend))&lt;br&gt;            &lt;br&gt;        function(mob/user)&lt;br&gt;        match(list/tokens) &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(length(tokens) &amp;gt;= length(arguments)) &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(ckey(tokens[1]) &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; alias) &lt;span class=&quot;dmkeyword&quot;&gt;return&lt;/span&gt; TRUE&lt;br&gt;&lt;br&gt;Parser&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;        list/commands&lt;br&gt;&lt;br&gt;    New()&lt;br&gt;        commands = list()&lt;br&gt;&lt;br&gt;        &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/cmd &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; typesof(/Command) - /Command)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/Command/command = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt; cmd&lt;br&gt;            commands += command&lt;br&gt;&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;        parse(mob/user, string)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(string)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/list/tokens = tokenize(string)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/Command/c &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; commands)&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(c.match(tokens))&lt;br&gt;                        c.process(user, tokens)&lt;br&gt;                        &lt;br&gt;                        &lt;span class=&quot;dmkeyword&quot;&gt;break&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;</description>
        </item>
                <item>
            <title>Room border detection.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=151848</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=151848</guid>
            <pubDate>Sat, 03 Jan 2009 10:43:13 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=151848#comments</comments>
            
            <description>I'm trying to figure out a way to calculate all the turfs inside a room of any size. The room has entrances and exits which can be opened or closed (doors). I was thinking somehow picking a single spot in the room and &quot;growing&quot; out until it can't grow anymore (where it would stop growing when it got to an entrance or exit), but I just can't think of a way to implement it. Any help? Thanks.</description>
        </item>
                <item>
            <title>Brisingr.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=182267</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=182267</guid>
            <pubDate>Fri, 19 Sep 2008 20:07:29 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=182267#comments</comments>
            
            <description>It comes out tomorrow. You guys gonna get it? I'm an extreme fan of the Inheritance books. I know I'll be at a bookstore tomorrow morning to get it at soon as possible. =P</description>
        </item>
                <item>
            <title>Electricity.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=151999</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=151999</guid>
            <pubDate>Wed, 18 Jun 2008 11:13:38 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=151999#comments</comments>
            
            <description>I need a system to simulate electricity. For instance, you have a generator, and wires connected to it. Let's say you connect something that needs electricity to the wire. Now it works.&lt;br&gt;
&lt;br&gt;
I can't think of an efficient way to do this (I don't really want to, for instance, have a proc that follows a wire in every direction until it finds a generator (or doesn't)). Ideas?</description>
        </item>
                <item>
            <title>Maze generator</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=161242</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=161242</guid>
            <pubDate>Sat, 31 May 2008 02:15:26 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=161242#comments</comments>
            
            <description>Well, uh, I have a problem with my maze generator.&lt;br&gt;
&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
maze&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;        lowerBounds = null&lt;br&gt;        upperBounds = null&lt;br&gt;&lt;br&gt;        list/area = null&lt;br&gt;&lt;br&gt;        turf/wallType = /turf/wall&lt;br&gt;        turf/floorType = /turf/floor&lt;br&gt;&lt;br&gt;    New(turf/_lowerBounds, turf/_upperBounds)&lt;br&gt;        lowerBounds = _lowerBounds&lt;br&gt;        upperBounds = _upperBounds&lt;br&gt;        area = block(lowerBounds, upperBounds)&lt;br&gt;        &lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;&lt;br&gt;        generate(seed)&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(!seed)&lt;br&gt;                seed = world.realtime&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt;&lt;br&gt;                rand_seed(seed)&lt;br&gt;&lt;br&gt;            generateMaze()&lt;br&gt;&lt;br&gt;        generateMaze()&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                list/unvisited = area&lt;br&gt;                list/visited = list()&lt;br&gt;                turf/currentCell = pick(unvisited)&lt;br&gt;&lt;br&gt;            unvisited -= currentCell&lt;br&gt;            visited += currentCell&lt;br&gt;&lt;br&gt;            &lt;span class=&quot;dmkeyword&quot;&gt;while&lt;/span&gt;(length(unvisited))&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;                    randomDirs = list(1, 2, 4, 8)&lt;br&gt;                    randomDir = pick(randomDirs)&lt;br&gt;                    turf/C = null&lt;br&gt;&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;while&lt;/span&gt;(!length(randomDirs) ||\&lt;br&gt;                      !get_step(currentCell, randomDir) ||\&lt;br&gt;                      !(get_step(currentCell, randomDir) &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; area) ||\&lt;br&gt;                      (get_step(currentCell, randomDir) &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; visited))&lt;br&gt;                    randomDirs -= randomDir&lt;br&gt;&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(length(randomDirs))&lt;br&gt;                        randomDir = pick(randomDirs)&lt;br&gt;&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt;&lt;br&gt;                        &lt;span class=&quot;dmkeyword&quot;&gt;break&lt;/span&gt;&lt;br&gt;&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(!length(randomDirs))&lt;br&gt;                    currentCell = pick(visited - currentCell)&lt;br&gt;&lt;br&gt;                    &lt;span class=&quot;dmkeyword&quot;&gt;continue&lt;/span&gt;&lt;br&gt;&lt;br&gt;                C = get_step(currentCell, randomDir)&lt;br&gt;                &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;/turf/floor(C)&lt;br&gt;&lt;br&gt;                currentCell = C&lt;br&gt;                unvisited -= currentCell&lt;br&gt;                visited += currentCell
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
It's basically the hunt-and-kill algorithm. It works, but the problem is that there aren't any actual walls in between the passages that are created. It's actually making a maze because if you put a delay in the main while loop you can see it putting the maze together, there's just nothing in between each passage. I don't really know how to fix this. Anyone have any experience in random maze generation that can help me? =/</description>
        </item>
                <item>
            <title>Uhm, this isn't making any sense.</title>
            <link>http://www.byond.com/members/Koil?command=view_post&amp;post=142675</link>
            <guid>http://www.byond.com/members/Koil?command=view_post&amp;post=142675</guid>
            <pubDate>Tue, 01 Apr 2008 23:24:50 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Koil?command=view_comments&amp;post=142675#comments</comments>
            
            <description>&lt;b&gt;Code:&lt;/b&gt;&lt;br&gt;
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
world&lt;br&gt;    l33tdescription = &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;rly kewl gaem that liek has lotz of\&lt;br&gt; liek procdurly made contents that iz liek gener8d &amp;#064; liek\&lt;br&gt; realtime each time u restart ur dream demons w/ rly detaled\&lt;br&gt; nvironements/monsters everythin is fr3sh eech reb00t w/ all\&lt;br&gt; itums spelz skilz and gaem rulz new eech time; the gaem iz\&lt;br&gt; also multiplyr w/ NO LAG AT ALL kthx bai&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Problem description:&lt;/b&gt;&lt;br&gt;
According to the 500.698 reference, description (world) allows you to specify the description of the world and DS will create it for you. Well, there's a bit of a problem. The game's content is procedurally generated each reboot in realtime (as expected), however, (and this only applies to the procedurally generated enemies) the monster names are VERY similar to each other, and I can't figure out why! Perhaps this is a bug in the system?</description>
        </item>
            
    </channel>
</rss>


