<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.johnmarc.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Everman</id>
	<title>AvatarWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.johnmarc.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Everman"/>
	<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php/Special:Contributions/Everman"/>
	<updated>2026-04-04T04:55:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Main_Page&amp;diff=32567</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Main_Page&amp;diff=32567"/>
		<updated>2008-05-05T00:34:31Z</updated>

		<summary type="html">&lt;p&gt;Everman: Lord Wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Signing your entries in talk pages ==&lt;br /&gt;
I'm not sure where the best place to put this is, but I want to remind everybody to sign their entries in talk pages, two dashes followed by 4 tildes '&amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt;' or just click the button that is second from the right on the top of the edit box. --[[User:Mel|Mel]] 10:15, 12 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:Also, when you're replying to something on a talk page, feel free to use this fancy feature (watch start of line) &lt;br /&gt;
::It works really well! just add one colon (:) at the start of the lines more than the previous reply had! --[[User:MooNFisH|Llanor]] 17:30, 5 February 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
== Top Mud Sites ==&lt;br /&gt;
Is there a requirement to link to top mud sites main page?  If not why are we doing it?  We don't link anything other than outland.org that prominantly other avatar related sites are on a differnt page, we don't even really have a precedent linking non-avatar sites except in user pages.  Although I encourge the sentiment of having people vote for Avatar, I don't agree with displaying it so promenintly.  But in a fit of moderator modesty I'm asking people to discuss it and not just making a change myself! --[[User:Mel|Mel]] 21:27, 11 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:I like the idea of having a link users can click on to vote for Avatar right on the main page.  Here's my main reasons:&lt;br /&gt;
:*voting is important: it gets new people to try our mud&lt;br /&gt;
:*people fail to vote not because they hate avatar, but because they forget.&lt;br /&gt;
:*The official avatar website links to us right off their main page, so it's nice of us return the favor. &lt;br /&gt;
&lt;br /&gt;
::The outland.org layout probably doesn't do the best job of reminding people to vote.  The vote button is off to the side, and you have to scroll down a ways to see it.  Plus, who goes to outland.org all that frequently anyways?  I know the only reason I go there is to see how quickly the AvatarWiki is climbing the &amp;quot;Top Web Links&amp;quot; :).  Our site, on the other hand, gets a lot of repeat visits because it has a lot of useful information.  So if every time someone visits the wiki they have a small chance of being reminded to vote, and we make it easy for them to do so, then I think we're doing something positive.  That being said, I don't think that we need to link to the front page of TopMudSites.  Who bothers to go there anyways, other than when they're voting?  Just people who are looking for a new mud to try, I guess.  I doubt many of the people who come to our site are looking to find a new mud to play. --[[User:Waite|Waite]] 12:46, 12 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:::Can we leave the voting link and get rid of the link to their main page?--[[User:Mel|Mel]] 14:33, 12 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::::I just figured that, if someone was curious about what Top Mud Sites was, then they could click the link and take a look for themselves.  I didn't imagine that this might be a problem but I can see some merit to what you're saying here.  I'm with Waite here on leaving the voting link, at least, for sake of convenience.  I'd have no complaints about removing this link to their main page.  In fact, since I added it, perhaps I'll go ahead and (tentatively) remove it.  If anyone wants it back, then, well, there's still plenty of room here for debate.  ::::--[[User:DaveGarber1975|Dave Garber]] 15:30, 12 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
== Creating new pages ==&lt;br /&gt;
(Sorry if you don't like that I deleted all the discussion from before on this subject, but you were talking nonsense.) In the Search box, type the exact title you wish to use for your wiki page and press 'Go'. If this page doesn't exist yet, the option 'Create This Page' will be clearly visible after you've pressed 'Go'. Click that. Wow, it's that simple. --[[User:MooNFisH|Llanor]] 17:17, 5 February 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
== Contact Information ==&lt;br /&gt;
&lt;br /&gt;
It may be helpful to provide some means of contacting those folks in charge of this site.&lt;br /&gt;
&lt;br /&gt;
:Also, I recently posted a table of quick ways to increase one's gold supply, which I and others have found handy.  I titled this article [[Treasure-Hunting]] and put it under the Miscellaneous category.  I was wondering if perhaps there was a better name for it, a more appropriate place to put it, a better way to organize its content, or a better way to integrate it with the rest of the site.  Or if it's just dandy like it is.  Anyway...&lt;br /&gt;
&lt;br /&gt;
::Well contacting Waite or I is a perfectly reasonable idea, but don't worry so much about what you think is right and what you think is wrong.  This is a Wiki, the very idea is that everybody participates, and if somebody thinks something should be moved, they move it.  I think you chose the perfect location for the page, and I think it's great. --[[User:Mel|Mel]] 17:51, 5 May 2005 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::If you really want to contact a user of this wiki, just edit their talk page.&lt;br /&gt;
&lt;br /&gt;
== Mass Confusion == &lt;br /&gt;
&lt;br /&gt;
I don't mean to put a damper on the momentum that I see this website generating, but with that momentum come some problems. As an example, take a look at the category [[Lowmort 1-10 gear]]. I've just spent some time working on updating that category, but there are still some glaring problems. Muddy boots don't provide +1 dexterity, they provide -1 dexterity, making them useless. Neither those boots nor the goblin boots of fleeing are very good for use at this level. Fur-lined boots are much better and provide a small amount of bonus armor. Yes, I know, I could just add it, but let me continue. The golden unicorn horn (in the offhand slot) is a weapon, and unless you have dual, which nobody gets before level 10, using a weapon in your offhand is pretty useless. A shield would be more useful there. Any shield. For the held slot, the orb of knowledge is missing. Most true newbies (no alts, no spells, not perfect gear) won't be able to get a red eyed jewel until at least level 15 or so, therefore the orb of knowledge is still a good item to list. As for the other gear listed at the bottom there, blue lizard tongues no longer exist and buck skin gloves are listed twice. Then there is a matter of all the items not yet listed which would be useful (the other 'enchanted' weapons besides longswords, the idiot crown, and the pixie crossbow, for instance) or even the items that would be nice to have for the sake of completeness, and the fact that almost every page has different formatting. It's just not feasible for everyone to try to organize things as they see fit without any thought to future organization. It's one thing to say 'if you don't like something, fix it, but things are getting to be a real mess.&lt;br /&gt;
&lt;br /&gt;
When I first saw this page go up, I thought it was a really awesome idea. I still think it's a great idea, but I think it could use some more moderation. To compare this to what was formerly Aejase, here there is the potential for far more information, but the information there was more accurate and far better organized. This also has the potential to be well organized, but the implementors need to step in and moderate what's being written in here. At the very least, it would be great if all if the information was checked for accuracy and formatted the same way. Perhaps there could be a page at the top of each category entitled 'template.' This way, a default format can be set for areas, gear pages, mob pages, and whatever else is going to be stored here. Don't get me wrong, I don't mean to flame this site, it makes great strides toward storing information about Avatar in an organized, collected, secure and open manner. I just don't want to see it become abandoned because people get frustrated by some of the innacurate entries and poorly organized categories that exist.&lt;br /&gt;
&lt;br /&gt;
-Ilthik, July 19th 2005&lt;br /&gt;
&lt;br /&gt;
:Hi Ilthik (and the rest),&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;p&amp;gt;Thanks for taking it upon yourself to help clean up the level 1-10 gear category.  In general some of the categories are still a mess from when we initially populated them with lists of gear.  I intend the &amp;quot;lowmort ??-?? gear&amp;quot; categories to contain misc. gear that would be useful for a variety of characters.  Stuff like healing potions, orb of faerie magic, etc.  Other gear can go into more specialized categories (hit, tank, mana).  Lowmort 1-10 gear is a bit different from the rest, because characters don't really wear specialized gear that low.  Instead everyone runs around in a mix of hit, tank, and level gear.  As far as some of your specific suggestions, I'll tackle them in list form:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:muddy boots: good catch.  I've never got this piece before, so I had no clue.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:goblin boots of fleeing: while it might not have the same ac boost as the fur-lined boots (which I've also never got before), I would argue that they're still useful to newbies.  The +move modifier can be useful to newbs who like to run around and explore, and because they're a higher level they have better base ac than the mudschool gear.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:golden unicorn horn as offhand: you have a good point that lowbies don't get dual, so offhanding a weapon isn't horribly useful.  However, this weapon gives +2 hr &amp;amp; +2 dr, so it will help a newbie hit harder and more often with their main wield.  Your point that a shield could be more useful is valid.  It would probably be a good idea to write up a discussion of these points in the golden unicorn horn page, along with a link to a nice lowbie shield.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:orb of knowledge: definitely deserves a page.  should also be linked to from red-eyed jewel so the less adventurous newbs know they can settle for something easier to get.  However, I would like to think that with the info that this site provides, a true newb would be able to slay the dracolich before level 15.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:blue lizard tongues no longer exist: this is a recent development.  fortunately I've already created categories for grandfathered gear, so all you need to do is switch what category this piece is in.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:buck skin gloves listed twice: someone goofed, but easy enough to fix&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:missing gear/inaccurate entries: I'll admit there's more work to be done on this category, and just about every other category.  Maybe I'm just being optimistic, but I feel that inaccuracies in the wiki will be ironed out as more people come to use our system and more people become comfortable making changes.  I'm definitely willing to do my part.  Also, keep in mind that aejase wasn't always perfect.  Even before half of the gear it listed became gfed, there were some odd entries that no one could fix.  How many times did you see a newbie asking how to get benlad's axe?  At least with this site, you don't have to wait around for the moderator to make changes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:organization/layout/format: Mediawiki does have support for making page templates.  I never bothered because I figured as long as all the right info is present, who cares how it looks?  But maybe I was wrong.  I'll look into how templates work when I get out of work today, and try to make a few templates like you suggested: one for gear, mobs, area, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Again, I appreciate your concerns and suggestions, along with the work you've already done.  Most, if not all, of the problems you pointed out are pretty easy to fix.  If we all keep working on this wiki together, it will only get better and better.&amp;lt;br&amp;gt;&lt;br /&gt;
:-Waite&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Waite,&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
::That's a good point about the moderators slowing down the process and Aejase being out of date. I remember just before it went down that last time that Khazaad was really behind on entries. My biggest concern was that more people contributing would create a bigger mess as everyone tried to add their own format to the list. I just see the format becoming an issue as this site grows and people are looking to add things, but don't necessarily know how to write down all the information that they have. While the information is still there, it may become a jungle to navigate. For example, imagine looking at a piece of code or an html document without any line breaks versus one that has been done neatly and carefully.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
::I guess I'll take the liberty of starting up a format page to collect the different formats for areas and items. Please add to it as I'm sure I'll miss something. I'm not sure how you'd like to go about organizing the categories yet so I'll let you play with that.&amp;lt;br&amp;gt;&lt;br /&gt;
::-Ilthik&lt;br /&gt;
&lt;br /&gt;
== Waste Disposal ==&lt;br /&gt;
&lt;br /&gt;
While adding content, I and others have managed to gradually generate all sorts of [[Special: Categories |categories]] and [[Special: Allpages |pages]] that ought to be deleted, either because their titles were improperly capitalized or spelled or because their information was transferred elsewhere or was organized differently or whatnot.  If I recall correctly, every category [[Special:Uncategorizedcategories |here]] except for [[:Category: Miscellaneous |Miscellaneous]] and every page [[Special:Uncategorizedpages |here]] except for the [[Main Page |Main Page]] can (and, I'd say, should) be deleted.  This can only be done by a Sysop; otherwise, I'd take care of it myself rather than mentioning it here.  Anyway, thanks much!  --[[User:DaveGarber1975|Dave Garber]] 23:42, 19 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:I started, there are a lot to delete, I'll do more later --[[User:Mel|Mel]] 16:19, 20 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::Many thanks, Mel!  It might be good to check these two links regularly, perhaps monthly.  Also, once again, I ''re''-[[:Special: Imagelist |uploaded]] a few new [[:Category: Maps |maps]] that I had created after making minor changes to them.  Please feel free to delete ''all but the one newest version'' of each of these [[:Category: Maps |maps]] so that you don't have bunches of useless 20-70kb .GIF files cluttering up your server.  Once again, I'd delete all of these older versions myself if I could but your WIKI tells me that only SysOps can do this.  Sorry that I keep creating so much junk for you to clean up (hee-hee).  Anyway, thanks again!  ::--[[User:DaveGarber1975|Dave Garber]] 01:58, 25 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:::On the topic of waste disposal, I've noticed a lot of unnecessary categories, namely the &amp;quot;Quests in [area]&amp;quot; categories. The same goes for the &amp;quot;Mobs in [area]&amp;quot; and &amp;quot;Gear in [area]&amp;quot; categories. Since only a fraction of all areas have notable mobs, gear, or quests, having all these empty categories just makes looking at a page like [[:Category:Ticket Quests|Ticket Quests]] much more confusing. I propose that instead of making &amp;quot;Quests in&amp;quot; subcategories, we just add sections for quests, gear, and mobs right in the area's category, thereby skipping the &amp;quot;Quests in&amp;quot; category all together. It's not like they have any content other than links to the content pages anyway. This way, the master lists of quests &amp;amp;c. will only list ones that... well... exist. --[[User:Neyne|Neyne]] 03:49, 25 February 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::::(1) In keeping with Wiki policy about filing pages only in their lowest possible subcategor(ies) within this Wiki's category-trees, there is no longer (as of this afternoon) a master list of all ticket quests, just as there are no longer master lists of either all gear or all mobs; each ticket quest page is now found only in its respective area subcategor(ies).  (2) As for all of these empty subcategories, I expect that very few will remain empty over time.  I disagree that there is so little gear and such worth listing; in fact, I expect that most areas (except for a few &amp;quot;special&amp;quot; ones like Sanctum) provide at least one piece of noteworthy gear, which is usually obtained by killing a mob, by giving a mob a ticket, or perhaps even through some of both.  In fact, to test this theory a little, I just clicked on a bunch of random areas on Aejase and had trouble finding any area categories there without at least one mob listed in them.  So, although these subcategories may not be immediately necessary, I believe that they will almsot all become so as time passes.  Also, (3) I favor our current procedure of using subcategories rather than sections to list all of these.  Anyway, just my thoughts on this, for whatever they may be worth.  --[[User:DaveGarber1975|Dave Garber]] 16:06, 25 February 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:::::I appreciate your taking out the trash today, Waite (hee hee).  Boy, it sure can build up!  Even with your deletions today, I still count 153 junk categories and 106 junk pages.  Yikes!  --[[User:DaveGarber1975|Dave Garber]] 17:48, 10 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::::::Yeah, it's pretty tedious to individually delete each page, but it does help us out in the long run so I'm more than happy to do it.  As a computer scientist my first instinct is to write an sql script to automate the process, but I guess I'll play it safe and do it the way I'm supposed to.  It is Mel's server after all, I'm sure he wouldn't appreciate me mucking around -too- much.&lt;br /&gt;
&lt;br /&gt;
::::::BTW Dave, can you post instructions for finding your unused images?  [[Special:Unusedimages]] doesn't work as well as it should.&lt;br /&gt;
&lt;br /&gt;
::::::--[[User:Waite|Waite]] 19:49, 10 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:::::::Ah!  Actually, I believe that this special category is working properly.  The Wiki is actually using all images other than those four in this category that you deleted today (thanks!), though some of these images have multiple versions of themselves stored and the Wiki is using (or should be using) only the newest version of each image.  Uhhh, if that makes any sense (yipes!).  Probably the best way to handle this is by going to [[Special:Newimages]] and then clicking on each image listed there one by one (sorry!) and then, for each image, looking at the bottom of its page to see if multiple versions are stored and then, if there are, using (del) links beside older versions to delete them one by one.  My condolences on what a hassle I imagine that this will be!  Also, I should mention that I'm currently redoing a few older maps to space out their rooms a bit more and, with new contest areas being added soon, I'm afraid that I'll be updating even more existing maps in coming weeks.  So be forewarned (my apologies!).  --[[User:DaveGarber1975|Dave Garber]] 20:19, 10 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::::::::While we're talking about maps, let me draw my own map for the chalmus area.  I need to figure out how to draw maps for the lordwiki anyway, so I might as well write the map for my own area while I'm at it.  I figured I'd give you the warning before you take the time to map out my area.&lt;br /&gt;
::::::::--[[User:Waite|Waite]] 20:29, 10 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
:::::::::Awesome!  :)  I seem to remember that I mapped my own area first, too; it can certainly help to start by working with an area that you already know very well.  In any case, your area is now off my list and all yours.  Have fun!  And I look forward to seeing your finished product.  --[[User:DaveGarber1975|Dave Garber]] 20:41, 10 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
::::As for empty categories, I marked for deletion a few selected categories that I verified would not ever have any contents (because the areas in question did not have a single mob or piece of gear or whatever in them).  Actually, I did this a long time ago.  But, while I'm editing this page, I thought that I'd mention it.  --[[User:DaveGarber1975|Dave Garber]] 02:25, 7 February 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
:I made a template that you can insert simply by editing in the text &amp;lt;nowiki&amp;gt;{{Delete}}&amp;lt;/nowiki&amp;gt; that categorizes a page into [[:Category:Delete]] and clearly marks the page as one to be deleted. Should make it easier for the admins to do their job, no? ^_^ --[[User:MooNFisH|Llanor]] 02:54, 6 February 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
::Thanks a bunch, MooNFisH!  It should simplify things a bit.  I need to learn how to use those Templates, myself--they're pretty darn cool!  --[[User:DaveGarber1975|Dave Garber]] 02:19, 7 February 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
== SPAM? ==&lt;br /&gt;
I just found two pages modified with the following text:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;div id=&amp;quot;wyikol&amp;quot; style=&amp;quot;overflow:auto; height: 1px; &amp;quot;&amp;gt;[http://f79asd3454dfsdf.com 5656456222]&amp;lt;/div&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The two users (Dwazry and Zhrvtx) each modified one page with this text (see [[Arbalest]] and [[:Category:Padmasa]] histories). We might be seeing some SPAM hitting our wiki. If this is legitimate I appologize but I saw no reason for such text when it is not even visible! --[[User:Ylem|Ylem]] 11:37, 27 February 2006 (CST)&lt;br /&gt;
&lt;br /&gt;
== Some custom insertion buttons ==&lt;br /&gt;
&lt;br /&gt;
See all those edit buttons above the edit box? It would be nice if some of those pertained to the Avatar Wiki. For example, it's monotonous to code a bunch of mob/object/area emplates for however many pages you have to do, so some buttons could add those templates, appropriately hyperlinked, into the editbox for us to use. Giving us one-click access to template code would also help standardize the page layouts. If you're interested, the appropriate code lies in [http://meta.wikimedia.org/wiki/EditPage.php EditPage.php] (all the way at the bottom). --[[User:Neyne|Neyne]] 20:59, 1 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
While I know how to get item information (cast identify on them) I see people putting in something called 'base'. I'm not sure I know how to get that accurately. Any help on that? How about getting detailed mob information (such as alignment, level, flags, etc - see [[Merline]] for an example). Is this a Lord ability? I tend to not do mobs here because I'm not sure how to get that information. Perhaps a page on here on how to get this type of information and (as Neyne suggested) a button for templates. I'm willing to post up the template I use for items that was crafted from Dave Garber's entries. Since I'm a programmer I'm working on a program where I just enter the 'cast id' results, the text viewed when looking at it, the mob, and the area and it spits out the wiki text and all I have to fill in and comments,directions. I'd be willing to share it if there is any interest. --[[User:Ylem|Ylem]]&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;Base&amp;quot; refers to the base ac of the item.  This is information that you can obtain from identify (&amp;quot;Armor class is 7&amp;quot;).  It's referred to as &amp;quot;base&amp;quot; so as to distinguish it from special ac modifiers (&amp;quot;Modifies armor class by -35 continuous.&amp;quot;).  The psi spell [[Bioscan]] is used to determine information about a mob.&lt;br /&gt;
&lt;br /&gt;
::Yup.  Bioscan yields a lot of this information.  To find a mob's level, I usually kill it and identify its corpse; charming it and then looking at your group table may also work.  A mob's level determines the level(s) of the gear it carries (see [[Object Level]]).  And an armor-type object's level(s) determines its base armor class range (see [[Armor Values]]).  I hope that this info helps you a little.  Thanks for your contributions!  ::--[[User:DaveGarber1975|Dave Garber]] 15:15, 3 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
== Navigation Panel ==&lt;br /&gt;
&lt;br /&gt;
We can change what links appear in that navigation panel on the left side of the screen.  Suggestions?  I don't want to make it too cluttered, so just a few choice links that would be more useful than &amp;quot;donations&amp;quot; or &amp;quot;random page&amp;quot;  [[User:Waite|Waite]] 10:59, 11 May 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Future Changes ==&lt;br /&gt;
&lt;br /&gt;
I think I'm the only one left really updating this site. Unless you can think of something else that is majorly missing the only thing I'll be doing is mapping hero areas that are unmapped (Silmavar, Necro Tower, and Frozen Wastes).&lt;br /&gt;
&lt;br /&gt;
--[[User:Ylem|Ylem]] 16:10, 21 July 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Silmarvar ==&lt;br /&gt;
&lt;br /&gt;
I have Silmarvar &amp;amp; the Frozen Wastes maps already done. Am just trying to figure out how to add stuff correctly. I could not figure out how to access the Lord wiki :/&lt;br /&gt;
&lt;br /&gt;
Morague&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a new map click the &amp;quot;Upload file&amp;quot; link in the toolbox on the left side of the screen, and upload the map.  Then create a new page (like [[Frozen Wastes Map]]) and display the image there.  Take a look at some already existing map page ([[Avatar Mudschool Map]]) if you'd like an example to copy.&lt;br /&gt;
&lt;br /&gt;
As far as accessing the lord wiki, log into the mud with your lord lvl character and type &amp;quot;help webpasswords&amp;quot;.  That will show you the username and password you're supposed to use to access that site.&lt;br /&gt;
&lt;br /&gt;
[[User:Waite|Waite]] 08:23, 27 July 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Lord Wiki ==&lt;br /&gt;
&lt;br /&gt;
Now that the veil of lord secrecy has been lifted I think it would be nice if the two wikis were merged. Not sure how much work that would be though so just a thought :) --[[User:Everman|Everman]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32566</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32566"/>
		<updated>2008-05-04T23:11:11Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added to the how it works section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested for zmud 7.21&lt;br /&gt;
&lt;br /&gt;
This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]]. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Latest triggers should catch anything with a name and a damage verb.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''For quick input copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import &lt;br /&gt;
&lt;br /&gt;
 #CLASS {dcounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},att acks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DC.repto &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
dcs- Reset all variables and add everyone in your group (including yourself)&lt;br /&gt;
&lt;br /&gt;
dcrep- Brings up a menu with report options&lt;br /&gt;
&lt;br /&gt;
dcrepto- Select your output channel (gt, say ect.)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
Alias to add people to the group variable, dcs will call this automatically when you use it.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},att acks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
&lt;br /&gt;
These 3 aliases report all the info. The first one just asks you which of the other two you want to use. &lt;br /&gt;
DCrep2 handles the breakdown, looking through each person in your group variable, then looping through their variable concatenating each verb with a count into one string and then outputting it.&lt;br /&gt;
DCrep1 first loops through everyone, totals their damage, and stores the highest damage taken and dealt. Next it reports for each person selected, giving their numeric damage total, their equivilent average damage verb and their total damage taken. It also highlights the top damage taken and dealt.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
Pretty simple, clears out the variables but automatically re-adds you.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
Has a little check like some of the other aliases have to make sure that you've set a channel to announce the results on for reports and then turns on a trigger to automatically count how many groupies there are and add them, then lastly calls the groupstat command to set off the previous trigger.&lt;br /&gt;
&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
&lt;br /&gt;
These 3 variables provide the means to lookup damage. First the damage is looked up in dverbs, then that position is looked up in dvalues. Dverbshort is used for pattern matching and in dcrep2 to loop through each groupies database variable which counts hits per verb.&lt;br /&gt;
&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
Is a function variable. It uses a binary search to look through dvalues and find the one closest to the damage given (mainly for looking up your average damage). This position is then used with dverbs to give you a word for your numeric damage.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
These two just store what your characters name is so you don't get added when the rest of the group does to the tracking variable. (Its setup to automatically track you)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
The meat and potato triggers. Pretty gnarly looking but they seem to work :) The first one catches all damage anyone in the variable @DCtrack deals, adds an attack to the damage verb that they hit, adds damage to their total damage tracker and adds to their total attacks (just so it doesn't have to add them up later)&lt;br /&gt;
The second catches all damage done to you. It looks up the position in @dverbs, maps it to @dvalues and adds them to your previous total. (Both of these triggers use that same method)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
The trigger that catches group members as mentioned earlier. It creates a trigger for each group slot depending on how many people are in the group and that trigger calls the dcadd alias on them&lt;br /&gt;
&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
Last but not... well ok they are the least... but just a couple of right click menus that you don't really need but may make it easier to add a groupie that may not of been in the group, clear the list or see who's on the list.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32565</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32565"/>
		<updated>2008-05-04T23:05:39Z</updated>

		<summary type="html">&lt;p&gt;Everman: Talked about how it works briefly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested for zmud 7.21&lt;br /&gt;
&lt;br /&gt;
This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]]. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Latest triggers should catch anything with a name and a damage verb.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''For quick input copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import &lt;br /&gt;
&lt;br /&gt;
 #CLASS {dcounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},att acks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DC.repto &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
dcs- Reset all variables and add everyone in your group (including yourself)&lt;br /&gt;
&lt;br /&gt;
dcrep- Brings up a menu with report options&lt;br /&gt;
&lt;br /&gt;
dcrepto- Select your output channel (gt, say ect.)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
Alias to add people to the group variable, dcs will call this automatically when you use it.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},att acks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
&lt;br /&gt;
These 3 aliases report all the info. The first one just asks you which of the other two you want to use. &lt;br /&gt;
DCrep2 handles the breakdown, looking through each person in your group variable, then looping through their variable concatenating each verb with a count into one string and then outputting it.&lt;br /&gt;
DCrep1 first loops through everyone, totals their damage, and stores the highest damage taken and dealt. Next it reports for each person selected, giving their numeric damage total, their equivilent average damage verb and their total damage taken. It also highlights the top damage taken and dealt.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
Pretty simple, clears out the variables but automatically re-adds you.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
Has a little check like some of the other aliases have to make sure that you've set a channel to announce the results on for reports and then turns on a trigger to automatically count how many groupies there are and add them, then lastly calls the groupstat command to set off the previous trigger.&lt;br /&gt;
&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
These 3 variables provide the means to lookup damage. First the damage is looked up in dverbs, then that position is looked up in dvalues. Dverbshort is used for pattern matching and in dcrep2 to loop through each groupies database variable which counts hits per verb.&lt;br /&gt;
&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
Is a function variable. It uses a binary search to look through dvalues and find the one closest to the damage given (mainly for looking up your average damage). This position is then used with dverbs to give you a word for your numeric damage.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
These two just store what your characters name is so you don't get added when the rest of the group does to the tracking variable. (Its setup to automatically track you)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
The meat and potato triggers. Pretty gnarly looking but they seem to work :) The first one catches all damage anyone in the variable @DCtrack deals, adds an attack to the damage verb that they hit, adds damage to their total damage tracker and adds to their total attacks (just so it doesn't have to add them up later)&lt;br /&gt;
The second catches all damage done to you. It looks up the position in @dverbs, maps it to @dvalues and adds them to your previous total. (Both of these triggers use that same method)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
The trigger that catches group members as mentioned earlier. It creates a trigger for each group slot depending on how many people are in the group and that trigger calls the dcadd alias on them&lt;br /&gt;
&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
Last but not... well ok they are the least... but just a couple of right click menus that you don't really need but may make it easier to add a groupie that may not of been in the group, clear the list or see who's on the list.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32388</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32388"/>
		<updated>2008-02-05T00:40:09Z</updated>

		<summary type="html">&lt;p&gt;Everman: Cleared for new version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32387</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=32387"/>
		<updated>2008-02-05T00:38:41Z</updated>

		<summary type="html">&lt;p&gt;Everman: New version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested for zmud 7.21&lt;br /&gt;
&lt;br /&gt;
This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]]. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Latest triggers should catch anything with a name and a damage verb.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''For quick input copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import &lt;br /&gt;
&lt;br /&gt;
 #CLASS {dcounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},attacks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DC.repto &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
dcs- Reset all variables and add everyone in your group (including yourself)&lt;br /&gt;
&lt;br /&gt;
dcrep- Brings up a menu with report options&lt;br /&gt;
&lt;br /&gt;
dcrepto- Select your output channel (gt, say ect.)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
Coming soon&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32335</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32335"/>
		<updated>2008-01-19T22:02:41Z</updated>

		<summary type="html">&lt;p&gt;Everman: no terminal bug fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Version 2 is done, have a few people testing it before I put it here(1/15) - Everman&lt;br /&gt;
&lt;br /&gt;
test version 2.05:&lt;br /&gt;
&lt;br /&gt;
 #CLASS {dcounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},attacks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DC.repto &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=User_talk:Everman&amp;diff=32334</id>
		<title>User talk:Everman</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=User_talk:Everman&amp;diff=32334"/>
		<updated>2008-01-19T01:28:55Z</updated>

		<summary type="html">&lt;p&gt;Everman: cleaned out&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32333</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32333"/>
		<updated>2008-01-19T00:44:20Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Version 2 is done, have a few people testing it before I put it here(1/15) - Everman&lt;br /&gt;
&lt;br /&gt;
test version 2.04:&lt;br /&gt;
&lt;br /&gt;
 #CLASS {dcounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack &amp;quot;you&amp;quot;;#VAR DCnames &amp;quot;&amp;quot;;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#FO @DC.reportfor {#var %i.out &amp;quot;&amp;quot;;#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), &amp;quot; &amp;quot;, %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DC.reportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you &amp;quot;&amp;quot;;#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total &amp;lt; %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken &amp;lt; %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},attacks)- %db( @{%i}, terminal)))) -1));@DC.repto %if( %i=&amp;quot;your&amp;quot;, I, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), &amp;quot;=&amp;quot;, &amp;quot;-&amp;quot;)|n|~] Took-&amp;gt;%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}&lt;br /&gt;
 #ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;groupstat}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DC.repto &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}&lt;br /&gt;
 #VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}&lt;br /&gt;
 #VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;|ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***&amp;lt;|ERADICATING***&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;|ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;|VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****&amp;lt;|EXTREME****&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;|EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;|EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=|EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==|EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===|EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***&amp;lt;|PORCINE***&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;|PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;|divine|daunting|terminal}&lt;br /&gt;
 #VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) &amp;gt; %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^({@DCtrack})[^&amp;gt;;] %w[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} &amp;quot;&amp;quot; {notrig}&lt;br /&gt;
 #TRIGGER {^%w[^&amp;gt;;] ({@DCtrack})[^&amp;gt;;]with[*&amp;gt;= ]({@dverbshort})([*&amp;lt;= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}&lt;br /&gt;
 #TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 &amp;lt; 10) {#loop %1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- &amp;quot;%w is leading (%d) player[ s]with&amp;quot;;group} &amp;quot;&amp;quot; {disable}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32325</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32325"/>
		<updated>2008-01-16T05:08:11Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Version 2 is done, have a few people testing it before I put it here(1/15) - Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32322</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32322"/>
		<updated>2008-01-15T00:46:00Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Finally getting around to reworking the package, should have a new revision up this week - Everman&lt;br /&gt;
&lt;br /&gt;
Little delay, some bugs in testing the newer version and such hopefully done this weeked(1/13)-Everman&lt;br /&gt;
&lt;br /&gt;
Still working on it, rewrote the average verb finder function as a binary search so its much faster (especially since this new version tracks more verbs), so soon soon :P - Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32316</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32316"/>
		<updated>2008-01-08T08:02:12Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Finally getting around to reworking the package, should have a new revision up this week - Everman&lt;br /&gt;
&lt;br /&gt;
Little delay, some bugs in testing the newer version and such hopefully done this weeked(1/13)-Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Damage&amp;diff=32315</id>
		<title>Damage</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Damage&amp;diff=32315"/>
		<updated>2008-01-08T07:59:14Z</updated>

		<summary type="html">&lt;p&gt;Everman: Fixed the last eviscerating to have *** on both sides&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of the damage verbs that I have made through personal testing, taking damage and then checking how many hps I actually lost. A few of the values could be off by a small amount. There are also missing slots, but this will give anyone a general idea of how much damage they are hitting for. The higher damage values were compiled through an alternate method, and I do not take credit for. (*MANGLING and above)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Hope this helps you guys out. Feel free to fill in the blanks, fix any errors, or clean up formatting as you see fit. Thanks and enjoy.&amp;lt;br&amp;gt;&lt;br /&gt;
-Seth /-Here's my list, Fools&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amount      verb&lt;br /&gt;
      0     0  nil&lt;br /&gt;
      1     2  pathetic&lt;br /&gt;
      3     4  weak&lt;br /&gt;
      7     8  punishing&lt;br /&gt;
      9    10  surprising&lt;br /&gt;
     11    14  amazing&lt;br /&gt;
     15    18  astonishing&lt;br /&gt;
     19    22  mauling&lt;br /&gt;
     23    26  MAULING&lt;br /&gt;
     27    30  *MAULING*&lt;br /&gt;
     31    34  **MAULING**&lt;br /&gt;
     35    38  ***MAULING***&lt;br /&gt;
     39    42  decimating&lt;br /&gt;
     43    46  DECIMATING&lt;br /&gt;
     47    49  *DECIMATING*&lt;br /&gt;
     50    55  **DECIMATING**&lt;br /&gt;
     56    60  ***DECIMATING***&lt;br /&gt;
     61    65  devastating&lt;br /&gt;
     66    70  DEVASTATING&lt;br /&gt;
     71    75  *DEVASTATING*&lt;br /&gt;
     76    80  **DEVASTATING**&lt;br /&gt;
     81    85  ***DEVASTATING***&lt;br /&gt;
     86    90  pulverizing&lt;br /&gt;
     91    95  PULVERIZING&lt;br /&gt;
     96   100  *PULVERIZING*&lt;br /&gt;
    101   110  **PULVERIZING**&lt;br /&gt;
    111   120  ***PULVERIZING***&lt;br /&gt;
    121   130  maiming&lt;br /&gt;
    131   140  MAIMING&lt;br /&gt;
    141   150  *MAIMING*&lt;br /&gt;
    151   160  **MAIMING**&lt;br /&gt;
    161   170  ***MAIMING***&lt;br /&gt;
    171   180  eviscerating&lt;br /&gt;
    181   190  EVISCERATING&lt;br /&gt;
    191   200  *EVISCERATING*&lt;br /&gt;
    201   225  **EVISCERATING**&lt;br /&gt;
    226   250  ***EVISCERATING***&lt;br /&gt;
    251   275  mutilating&lt;br /&gt;
    276   300  MUTILATING&lt;br /&gt;
    301   325  *MUTILATING*&lt;br /&gt;
    326   350  **MUTILATING**&lt;br /&gt;
    351   375  ***MUTILATING***&lt;br /&gt;
    376   400  disemboweling&lt;br /&gt;
    401   425  DISEMBOWELING&lt;br /&gt;
    426   450  *DISEMBOWELING*&lt;br /&gt;
    451   475  **DISEMBOWELING**&lt;br /&gt;
    476   500  ***DISEMBOWELING***&lt;br /&gt;
    501   540  dismembering&lt;br /&gt;
    550   574  DISMEMBERING&lt;br /&gt;
    606   606  *DISMEMBERING*&lt;br /&gt;
    675   675  **DISMEMBERING**&lt;br /&gt;
    730   730  ***DISMEMBERING***&lt;br /&gt;
    769   769  massacring&lt;br /&gt;
    810   810  MASSACRING&lt;br /&gt;
    850   884  *MASSACRING*&lt;br /&gt;
    900   915  **MASSACRING**&lt;br /&gt;
    916  1000  ***MASSACRING***&lt;br /&gt;
   1001  1100  mangling&lt;br /&gt;
   1101  1200  MANGLING&lt;br /&gt;
   1201  1300  *MANGLING*&lt;br /&gt;
   1301  1400  **MANGLING**&lt;br /&gt;
   1401  1500  ***MANGLING***&lt;br /&gt;
   1501  1600  demolishing&lt;br /&gt;
   1601  1700  DEMOLISHING&lt;br /&gt;
   1701  1800  *DEMOLISHING*&lt;br /&gt;
   1801  1900  **DEMOLISHING**&lt;br /&gt;
   1901  2000  ***DEMOLISHING***&lt;br /&gt;
   2001  2200  obliterating&lt;br /&gt;
   2201  2400  OBLITERATING&lt;br /&gt;
   2401  2600  *OBLITERATING*&lt;br /&gt;
   2601  2800  **OBLITERATING**&lt;br /&gt;
   2801  3000  ***OBLITERATING***&lt;br /&gt;
   3001  3200  annihilating&lt;br /&gt;
   3201  3400  ANNIHILATING&lt;br /&gt;
   3401  3600  *ANNIHILATING*&lt;br /&gt;
   3601  3800  **ANNIHILATING**&lt;br /&gt;
   3801  4100  ***ANNIHILATING***&lt;br /&gt;
   4101  4500  &amp;gt;***ANNIHILATING***&amp;lt;&lt;br /&gt;
   4501  5007  &amp;gt;&amp;gt;***ANNIHILATING***&amp;lt;&amp;lt;&lt;br /&gt;
   5508  5901  &amp;gt;&amp;gt;&amp;gt;***ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
   5902  5902  &amp;gt;&amp;gt;&amp;gt;&amp;gt;***ANNIHILATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
   6200  6200  eradicating&lt;br /&gt;
   6500  6500  ERADICATING&lt;br /&gt;
   7000  7000  *ERADICATING*&lt;br /&gt;
   7500  7500  **ERADICATING**&lt;br /&gt;
   7800  7800  ***ERADICATING***&lt;br /&gt;
   8200  8200  &amp;gt;***ERADICATING***&amp;lt;&lt;br /&gt;
   8500  8500  &amp;gt;&amp;gt;***ERADICATING***&amp;lt;&amp;lt;&lt;br /&gt;
   9000  9000  &amp;gt;&amp;gt;&amp;gt;***ERADICATING***&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
   9500  9500  &amp;gt;&amp;gt;&amp;gt;&amp;gt;***ERADICATING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  10000 10000 vaporizing&lt;br /&gt;
  11000 11000 VAPORIZING&lt;br /&gt;
  12000 12000 *VAPORIZING*&lt;br /&gt;
  13000 13000 **VAPORIZING**&lt;br /&gt;
  14000 14000 ***VAPORIZING***&lt;br /&gt;
  15000 15000 &amp;gt;***VAPORIZING***&amp;lt;&lt;br /&gt;
  16500 16500 &amp;gt;&amp;gt;***VAPORIZING***&amp;lt;&amp;lt;&lt;br /&gt;
  18000 18000 &amp;gt;&amp;gt;&amp;gt;***VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  19000 19000 &amp;gt;&amp;gt;&amp;gt;&amp;gt;***VAPORIZING***&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  20000 20000 destructive&lt;br /&gt;
  21000 21000 DESTRUCTIVE&lt;br /&gt;
  22000 22000 *DESTRUCTIVE*&lt;br /&gt;
  23000 23000 **DESTRUCTIVE**&lt;br /&gt;
  24000 24000 ***DESTRUCTIVE***&lt;br /&gt;
  25000 25000 ****DESTRUCTIVE****&lt;br /&gt;
  26000 26000 &amp;gt;****DESTRUCTIVE****&amp;lt;&lt;br /&gt;
  27000 27000 &amp;gt;&amp;gt;****DESTRUCTIVE****&amp;lt;&amp;lt;&lt;br /&gt;
  28000 28000 &amp;gt;&amp;gt;&amp;gt;****DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  29000 29000 &amp;gt;&amp;gt;&amp;gt;&amp;gt;****DESTRUCTIVE****&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  30000 30000 =&amp;gt;&amp;gt;&amp;gt;&amp;gt;***DESTRUCTIVE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=&lt;br /&gt;
  31000 31000 ==&amp;gt;&amp;gt;&amp;gt;&amp;gt;**DESTRUCTIVE**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==&lt;br /&gt;
  32000 32000 ===&amp;gt;&amp;gt;&amp;gt;&amp;gt;*DESTRUCTIVE*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===&lt;br /&gt;
  33000 33000 ====&amp;gt;&amp;gt;&amp;gt;&amp;gt;DESTRUCTIVE&amp;lt;&amp;lt;&amp;lt;&amp;lt;====&lt;br /&gt;
  34000 34000 extreme&lt;br /&gt;
  35000 35000 EXTREME&lt;br /&gt;
  36000 36000 *EXTREME*&lt;br /&gt;
  37000 37000 **EXTREME**&lt;br /&gt;
  38000 38000 ***EXTREME***&lt;br /&gt;
  39000 39000 ****EXTREME****&lt;br /&gt;
  40000 40000 &amp;gt;****EXTREME****&amp;lt;&lt;br /&gt;
  41000 41000 &amp;gt;&amp;gt;****EXTREME****&amp;lt;&amp;lt;&lt;br /&gt;
  42000 42000 &amp;gt;&amp;gt;&amp;gt;****EXTREME****&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  43000 43000 &amp;gt;&amp;gt;&amp;gt;&amp;gt;****EXTREME****&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  44500 44500 =&amp;gt;&amp;gt;&amp;gt;&amp;gt;***EXTREME***&amp;lt;&amp;lt;&amp;lt;&amp;lt;=&lt;br /&gt;
  47000 47000 ==&amp;gt;&amp;gt;&amp;gt;&amp;gt;**EXTREME**&amp;lt;&amp;lt;&amp;lt;&amp;lt;==&lt;br /&gt;
  48000 48000 ===&amp;gt;&amp;gt;&amp;gt;&amp;gt;*EXTREME*&amp;lt;&amp;lt;&amp;lt;&amp;lt;===&lt;br /&gt;
  50000 50000 ====&amp;gt;&amp;gt;&amp;gt;&amp;gt;EXTREME&amp;lt;&amp;lt;&amp;lt;&amp;lt;====&lt;br /&gt;
  51000 51000 porcine&lt;br /&gt;
  53000 53000 PORCINE&lt;br /&gt;
  55000 55000 *PORCINE*&lt;br /&gt;
  57000 57000 **PORCINE**&lt;br /&gt;
  59000 59000 ***PORCINE***&lt;br /&gt;
  61000 61000 &amp;gt;***PORCINE***&amp;lt;&lt;br /&gt;
  65000 65000 &amp;gt;&amp;gt;***PORCINE***&amp;lt;&amp;lt;&lt;br /&gt;
  70000 70000 &amp;gt;&amp;gt;&amp;gt;***PORCINE***&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  75000 75000 &amp;gt;&amp;gt;&amp;gt;&amp;gt;***PORCINE***&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
  80000 80000 divine&lt;br /&gt;
100000 100000 daunting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Spoilers]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Auctioneer&amp;diff=32310</id>
		<title>Zmud Auctioneer</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Auctioneer&amp;diff=32310"/>
		<updated>2008-01-03T20:46:53Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This package was designed to auction items.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Auctioneer}&lt;br /&gt;
 #ALIAS astart {#t+ aucTrigItem;#var aucItem &amp;quot;&amp;quot; Auctioneer;c identify %1;emote completes their inspection}&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
 #CLASS {Auctioneer|aucTrigItem}&lt;br /&gt;
 #TRIGGER {Weight (%d), value %d, level (%d).} {#additem aucItem.info {Weight[%1]} Auctioneer;#additem aucItem.info {Level[%2]} Auctioneer}&lt;br /&gt;
 #TRIGGER {Damage is (%d) to (%d) ~(average (%d)~).} {#additem aucItem.info {Min[%1]} Auctioneer;#additem aucItem.info {Max[%2]} Auctioneer;#additem aucItem.info {Average[%3]} Auctioneer}&lt;br /&gt;
 #TRIGGER {Draw strength is (%d).} {#additem aucItem.info {Draw[%1]} Auctioneer}&lt;br /&gt;
 #TRIGGER {'enchant weapon 'Modifies damage roll by (%d) continuous.} {#if {%1=2} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=4} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=8} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[+%1~/%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {'enchant bow    'Modifies hit roll by (%d) continuous.} {#if {%1=3} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=9} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=12} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[+%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {Armor class is (%d).} {#additem aucItem.info {Base[%1]} Auctioneer}&lt;br /&gt;
 #TRIGGER {'enchant armor  'Modifies armor class by -(%d) continuous.} {#if {%1=3} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=9} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=12} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[-%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {%w completes their inspection.$} {#var aucItem.name {%prompt( @aucItem.name, &amp;quot;Verify the items name:&amp;quot;)} Auctioneer;#var aucItem.info {%pick( p:What would you like to display?:, @aucItem.info)} Auctioneer;#var aucItem.extra {%prompt( &amp;quot;&amp;quot;, &amp;quot;Extra Info?:&amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;|&amp;quot;, &amp;quot; &amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;[&amp;quot;, &amp;quot;: &amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)} Auctioneer;#var aucItem.info {@aucItem.name @aucItem.info @aucItem.extra} Auctioneer;#var aucItem.bid {%prompt( 100k, &amp;quot;Min Bid?:&amp;quot;)} Auctioneer;#var aucItem.count 0 Auctioneer;#echo @aucItem.info Min bid: @aucItem.bid;#t- aucTrigItem;#t+ aucTrigChat}&lt;br /&gt;
 #TRIGGER {Object '([ a-z A-Z])'} {#var aucItem.name {%1} Auctioneer}&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
 #CLASS {Auctioneer|aucTrigChat}&lt;br /&gt;
 #ALIAS achat {#if {@aucItem.count=0} {auc @aucItem.info Min bid: @aucItem.bid};#if {@aucItem.count=1} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Going Once};#if {@aucItem.count=2} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Going Twice};#if {@aucItem.count=3} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Last Call};#if {@aucItem.count=4} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)Sold to @aucItem.bidder, &amp;quot; Withdrawn&amp;quot;);#t- aucTrigChat};#var aucItem.count %eval( @aucItem.count + 1) Auctioneer}&lt;br /&gt;
 #ALIAS abid {#var aucItem.bidder %replace( %prompt( @aucItem.lastchat, &amp;quot;Bidder name?&amp;quot;), &amp;quot; &amp;quot;, &amp;quot;&amp;quot;) Auctioneer;#var aucItem.bid %replace( %prompt( @aucItem.amount, &amp;quot;Their bid?&amp;quot;), &amp;quot; &amp;quot;, &amp;quot;&amp;quot;) Auctioneer;#var aucItem.bid %replace( @aucItem.bid , &amp;quot;;&amp;quot;, &amp;quot;&amp;quot;) Auctioneer;auc @aucItem.info @aucItem.bid to @aucItem.bidder heard;#var aucItem.count 1 Auctioneer}&lt;br /&gt;
 #ALIAS aclear {auc @aucItem.info Withdrawn;#t- aucTrigChat}&lt;br /&gt;
 #TRIGGER {(%w) auctions '(%d*)'} {#var aucItem.amount %2 Auctioneer;#var aucItem.lastchat %1 Auctioneer}&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Character must have the identify spell.&lt;br /&gt;
&lt;br /&gt;
Type astart &amp;lt;itemname&amp;gt;, this will identify the item and capture the items info. Next you'll be prompted to verify the items name, select what info you wish to display, enter any extra info and set the min bid. After this your starting auction chat message will be echoed to you.&lt;br /&gt;
&lt;br /&gt;
Next type achat. This will auction the above info and keeps a count of 4. The first time you use this it will show info + min bid, then it will go through going once/going twice/last call and then withdrawn if you accepted no bids, or sold if there were. Once a bid is accepted this also shows the bidder.&lt;br /&gt;
&lt;br /&gt;
To accept bids you type abid. This will prompt for the bidders name and their bid, and then auction that the bid was accepted. There is a trigger to help with this also, that will capture the last name and bid (if their auction message starts with a number).&lt;br /&gt;
&lt;br /&gt;
If for some reason you would like to withdraw the item early, you can type aclear.&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
 #ALIAS astart {#t+ aucTrigItem;#var aucItem &amp;quot;&amp;quot; Auctioneer;c identify %1;emote completes their inspection}&lt;br /&gt;
Turns on the item capturing triggers, resets the item variable, identifies the item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {Weight (%d), value %d, level (%d).} {#additem aucItem.info {Weight[%1]} Auctioneer;#additem aucItem.info {Level[%2]} Auctioneer}&lt;br /&gt;
 #TRIGGER {Damage is (%d) to (%d) ~(average (%d)~).} {#additem aucItem.info {Min[%1]} Auctioneer;#additem aucItem.info {Max[%2]} Auctioneer;#additem aucItem.info {Average[%3]} Auctioneer}&lt;br /&gt;
 #TRIGGER {Draw strength is (%d).} {#additem aucItem.info {Draw[%1]} Auctioneer}&lt;br /&gt;
 #TRIGGER {'enchant weapon 'Modifies damage roll by (%d) continuous.} {#if {%1=2} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=4} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=8} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[+%1~/%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {'enchant bow    'Modifies hit roll by (%d) continuous.} {#if {%1=3} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=9} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=12} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[+%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {Armor class is (%d).} {#additem aucItem.info {Base[%1]} Auctioneer}&lt;br /&gt;
 #TRIGGER {'enchant armor  'Modifies armor class by -(%d) continuous.} {#if {%1=3} {#additem aucItem.info {Single Brill} Auctioneer} {#if {%1=6} {#additem aucItem.info {Double Brill} Auctioneer} {#if {%1=9} {#additem aucItem.info {Triple Brill} Auctioneer} {#if {%1=12} {#additem aucItem.info {Quad Brill} Auctioneer} {#additem aucItem.info {Enchant[-%1]} Auctioneer}}}}}&lt;br /&gt;
 #TRIGGER {Object '([ a-z A-Z])'} {#var aucItem.name {%1} Auctioneer}&lt;br /&gt;
 #TRIGGER {%w completes their inspection.$} {#var aucItem.name {%prompt( @aucItem.name, &amp;quot;Verify the items name:&amp;quot;)} Auctioneer;#var aucItem.info {%pick( p:What would you like to display?:, @aucItem.info)} Auctioneer;#var aucItem.extra {%prompt( &amp;quot;&amp;quot;, &amp;quot;Extra Info?:&amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;|&amp;quot;, &amp;quot; &amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;[&amp;quot;, &amp;quot;: &amp;quot;)} Auctioneer;#var aucItem.info {%replace( @aucItem.info, &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)} Auctioneer;#var aucItem.info {@aucItem.name @aucItem.info @aucItem.extra} Auctioneer;#var aucItem.bid {%prompt( 100k, &amp;quot;Min Bid?:&amp;quot;)} Auctioneer;#var aucItem.count 0 Auctioneer;#echo @aucItem.info Min bid: @aucItem.bid;#t- aucTrigItem;#t+ aucTrigChat}&lt;br /&gt;
&lt;br /&gt;
These all capture the item info except the last. The last one triggers when you are out of lag from identify, and prompts you to verify the items name, select what captured information you would like to display, type in any extra info, then takes that string and removes the zmud | info/array breaks and replaces them with spaces. The next two replace lines remove the [ and ] to make the display look nicer. This is also where you would color the numbers if you so chose. Ie:&lt;br /&gt;
 #var aucItem.info {%replace( @aucItem.info, &amp;quot;[&amp;quot;, &amp;quot;:|w| &amp;quot;)} Auctioneer&lt;br /&gt;
 #var aucItem.info {%replace( @aucItem.info, &amp;quot;]&amp;quot;, &amp;quot;|n|&amp;quot;)} Auctioneer&lt;br /&gt;
At the end it sets the items count to 0 (read by achat to determine that this is the first bid and to display 'min bid', prompts for your min bid, and switches over from item capturing triggers to the chat alias/trigger set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #ALIAS achat {#if {@aucItem.count=0} {auc @aucItem.info Min bid: @aucItem.bid};#if {@aucItem.count=1} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Going Once};#if {@aucItem.count=2} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Going Twice};#if {@aucItem.count=3} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)to @aucItem.bidder, &amp;quot; min&amp;quot;) Last Call};#if {@aucItem.count=4} {auc @aucItem.info @aucItem.bid%if( @aucItem.bidder, %char( 32)Sold to @aucItem.bidder, &amp;quot; Withdrawn&amp;quot;);#t- aucTrigChat};#var aucItem.count %eval( @aucItem.count + 1) Auctioneer}&lt;br /&gt;
 #ALIAS abid {#var aucItem.bidder %replace( %prompt( @aucItem.lastchat, &amp;quot;Bidder name?&amp;quot;), &amp;quot; &amp;quot;, &amp;quot;&amp;quot;) Auctioneer;#var aucItem.bid %replace( %prompt( @aucItem.amount, &amp;quot;Their bid?&amp;quot;), &amp;quot; &amp;quot;, &amp;quot;&amp;quot;) Auctioneer;#var aucItem.bid %replace( @aucItem.bid , &amp;quot;;&amp;quot;, &amp;quot;&amp;quot;) Auctioneer;auc @aucItem.info @aucItem.bid to @aucItem.bidder heard;#var aucItem.count 1 Auctioneer}&lt;br /&gt;
 #ALIAS aclear {auc @aucItem.info Withdrawn;#t- aucTrigChat}&lt;br /&gt;
 #TRIGGER {(%w) auctions '(%d*)'} {#var aucItem.amount %2 Auctioneer;#var aucItem.lastchat %1 Auctioneer}&lt;br /&gt;
&lt;br /&gt;
This last section deals with the actual auction. It keeps a count of how many times you've typed achat since the last bid, has a withdraw (aclear) alias, and a trigger to ease the process of capuring bids. The last trigger may not always capture bids due to people typing them in odd formats but you can still type abid and manually enter the new bid.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32309</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=32309"/>
		<updated>2008-01-03T20:00:32Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;br /&gt;
&lt;br /&gt;
The second option will not work if a caster is doing the damage counting. - Galadhaen&lt;br /&gt;
&lt;br /&gt;
Finally getting around to reworking the package, should have a new revision up this week - Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31886</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31886"/>
		<updated>2007-10-27T22:23:32Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}} &amp;quot;Damagecounter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can try that perhaps, little ugly but might work. - Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31885</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31885"/>
		<updated>2007-10-27T22:15:38Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
&lt;br /&gt;
--Actually as I didn't test with a mage I think what was needed was a second trigger to catch the you cast the spell name? the extra verbs shouldnt be needed&lt;br /&gt;
- Everman (10/27/07)&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31884</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31884"/>
		<updated>2007-10-27T22:11:44Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) &lt;br /&gt;
&lt;br /&gt;
Why it should catch some: the couple of spells I saw had name/you/your spellname stirkes/hits/blasts ect the mob. Atleast I'm pretty sure disintegrate would be tracked and smash and kick.&lt;br /&gt;
- Everman (10/27/07)&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31883</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31883"/>
		<updated>2007-10-27T22:05:00Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) - Everman (10/27/07)&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31882</id>
		<title>Talk:Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Talk:Zmud_Damage_Counter&amp;diff=31882"/>
		<updated>2007-10-27T22:04:36Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heh. Looks nice. With the help of Ttak, this has been upgraded! It now also counts spell damage (for significant spells). Changed code would be:&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts|pierce|smash|backstab|bash|maelstrom|Meteor Swarm|acid rain|disintegrate|brimstone|cataclysm|ultrablast|field of death} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})};#IF {%lower( %1) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 17)), 17, @{%lower( your)});#VAR %lower( your) %replaceitem( %eval( %item( @{%lower( your)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( your)})}}&lt;br /&gt;
Basically, another #IF is added that checks when %1 is &amp;quot;you&amp;quot; and adds the numbers to the right vars, so that it can handle the new types of damage. Not sure if it will get messed up with the spaces and the uppercase, but I don't have any of those spells to test it with... --[[User:MooNFisH|Llanor]] 01:08, 21 September 2007 (CDT)&lt;br /&gt;
:FYI, this line comes '''instead of''' the first #TRIGGER line that's in the article. --[[User:MooNFisH|Llanor]] 05:47, 21 September 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Month late but I was under the impression that it would catch some (most?) spells already, don't have a mage though so if this works better alls good :) - Everman&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Angel%27s_Skull&amp;diff=31668</id>
		<title>Angel's Skull</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Angel%27s_Skull&amp;diff=31668"/>
		<updated>2007-09-16T04:52:00Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''An angel's skull lies here on the ground.''&lt;br /&gt;
&lt;br /&gt;
 Modifies damage roll by 2 continuous.&lt;br /&gt;
 Modifies hit roll by 4 continuous.&lt;br /&gt;
 Modifies armor class by -25 continuous.&lt;br /&gt;
&lt;br /&gt;
'''Keyword(s):''' angel's skull&amp;lt;br&amp;gt;&lt;br /&gt;
'''Slot:''' head&amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 4&amp;lt;br&amp;gt;&lt;br /&gt;
'''Level:''' 50-51&amp;lt;br&amp;gt;&lt;br /&gt;
'''Quality:''' 200 hps&amp;lt;br&amp;gt;&lt;br /&gt;
'''Armor class:'''10-12&amp;lt;br&amp;gt;&lt;br /&gt;
'''Area:''' [[:Category: Descent To Hell |Descent to Hell]] ([[Descent To Hell Map |Map]])&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
Drops from the living wall.&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
1 north, 4 west from (0) Guardian of Hell on the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Gear In Descent To Hell]]&lt;br /&gt;
[[Category: Armor]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Black_Hilted_Sword_Farslayer&amp;diff=31667</id>
		<title>Black Hilted Sword Farslayer</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Black_Hilted_Sword_Farslayer&amp;diff=31667"/>
		<updated>2007-09-16T03:48:16Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''A black hilted sword with engravings on the blade lies here.''&lt;br /&gt;
&lt;br /&gt;
 [[Melee Weapon Values |Damage]] is 14 to 49 (average 31).&lt;br /&gt;
 Modifies [[Hit Roll |hit roll]] by 7 continuous.&lt;br /&gt;
 Modifies [[Damage Roll |damage roll]] by 9 continuous.&lt;br /&gt;
 Modifies moves by 20 continuous.&lt;br /&gt;
 Modifies hp by 15 continuous.&lt;br /&gt;
&lt;br /&gt;
It is a one handed weapon which does piercing damage.&lt;br /&gt;
&lt;br /&gt;
'''Keyword(s):''' sword, farslayer.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Level |Level(s)]]:''' 51.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Types |Type]]:''' [[:Category: Melee Weapons |weapon]].&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Slots |Slot(s)]]:''' &amp;lt;wielded&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Quality |Quality]]:''' 100 hps.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Weight |Weight]]:''' 7 lbs.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Flags |Flag(s)]]:''' [[NoDrop Flag |nodrop]], [[NoRemove Flag |noremove]], hum, invis, magic.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
 You look at a black hilted sword called, &amp;quot;Farslayer&amp;quot; in your inventory...&lt;br /&gt;
 The blade of the sword is a full meter long, and straight as an arrow, with&lt;br /&gt;
 lightly fluted sides. Both edges keened down to perfect lines, invisibly&lt;br /&gt;
 sharp. Perfection like this could have only been forged by a god. The black&lt;br /&gt;
 hilt is contrasted only by the faint symbol of a white arrow.&lt;br /&gt;
 Upon the blade is engraved a poem:&lt;br /&gt;
&lt;br /&gt;
                      Farslayer howls across the world&lt;br /&gt;
                      For thy heart, for thy heart, who hast wronged me!&lt;br /&gt;
                      Vengeance is his who casts the blade&lt;br /&gt;
                      Yet he will in the end no triumph see.&lt;br /&gt;
&lt;br /&gt;
Found in the living wall room, 1s 3e of (0) Guardian of Hell on the map. Mob was named 'the living wall'. &lt;br /&gt;
&lt;br /&gt;
Seems to be 3 living walls that pop, the one in the living wall room I noted, and 2 more in another that have angel skulls instead of the sword.&lt;br /&gt;
&lt;br /&gt;
Wall with the sword didn't repop until I killed the two with the skulls.&lt;br /&gt;
&lt;br /&gt;
Walls also cast gear damaging spells.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
'''[[:Category: Areas |Area]]:''' [[:Category: Descent To Hell |Descent to Hell]] ([[Descent To Hell Map |Map]]).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Gear In Descent To Hell]]&lt;br /&gt;
[[Category: Standard One-Handed Weapons]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Harpies&amp;diff=31651</id>
		<title>Harpies</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Harpies&amp;diff=31651"/>
		<updated>2007-09-15T05:02:32Z</updated>

		<summary type="html">&lt;p&gt;Everman: extrapolated hero table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;25&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ '''&amp;lt;big&amp;gt;Human Statistics Tables&amp;lt;/big&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#efefef&amp;quot; colspan=6 | [[:Category: Lowmort |Lowmort]]-[[:Category: Tiers |Tier]] Harpy [[:Category: Statistics |Statistics]] by [[:Category: Classes |Class]]&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#efefef&amp;quot; | &amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Berserkers |bzk]], [[:Category: Bodyguards |bod]], [[:Category: Paladins |pal]],&amp;lt;br&amp;gt; [[:Category: Warriors |war]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Assassins |asn]], [[:Category: Mages |mag]], [[:Category: Mindbenders |mnd]],&amp;lt;br&amp;gt; [[:Category: Psionicists |psi]], [[:Category: Sorcerers |sor]], [[:Category: Wizards |wzd]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Clerics |cle]], [[:Category: Druids |dru]], [[:Category: Priests |prs]]&amp;lt;br&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Archers |arc]], [[:Category: Black Circle Initiates |bci]], [[:Category: Fusiliers |fus]],&amp;lt;br&amp;gt; [[:Category: Monks |mon]], [[:Category: Rogues |rog]], [[:Category: Shadowfists |shf]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Rangers |ran]]&amp;lt;br&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Strength     |Str]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 14–21 '''(24)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Intelligence |Int]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 14–21 '''(24)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Wisdom       |Wis]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 10–15 '''(18)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 10–15 '''(18)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 11–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 10–15 '''(18)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 10–15 '''(18)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Dexterity    |Dex]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 16–23 '''(26)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–20 '''(23)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Constitution |Con]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 13–18 '''(21)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 14–21 '''(24)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#efefef&amp;quot; colspan=6 | [[:Category: Hero |Hero]]-[[:Category: Tiers |Tier]] Harpy [[:Category: Statistics |Statistics]] by [[:Category: Classes |Class]]&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#efefef&amp;quot; | &amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Berserkers |bzk]], [[:Category: Bodyguards |bod]], [[:Category: Paladins |pal]],&amp;lt;br&amp;gt; [[:Category: Warriors |war]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Assassins |asn]], [[:Category: Mages |mag]], [[:Category: Mindbenders |mnd]],&amp;lt;br&amp;gt; [[:Category: Psionicists |psi]], [[:Category: Sorcerers |sor]], [[:Category: Wizards |wzd]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Clerics |cle]], [[:Category: Druids |dru]], [[:Category: Priests |prs]]&amp;lt;br&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Archers |arc]], [[:Category: Black Circle Initiates |bci]], [[:Category: Fusiliers |fus]],&amp;lt;br&amp;gt; [[:Category: Monks |mon]], [[:Category: Rogues |rog]], [[:Category: Shadowfists |shf]]&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeeeff&amp;quot; | &amp;lt;small&amp;gt;[[:Category: Rangers |ran]]&amp;lt;br&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Strength     |Str]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 21–26 '''(29)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Intelligence |Int]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 21–26 '''(29)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Wisdom       |Wis]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–17 '''(20)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–17 '''(20)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 18–23 '''(26)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–17 '''(20)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 15–17 '''(20)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Dexterity    |Dex]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 20–22 '''(25)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 20–22 '''(25)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 20–22 '''(25)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 23–28 '''(31)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 20–22 '''(25)'''&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffeeee&amp;quot; | [[Constitution |Con]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; | 18–20 '''(23)'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#eeffee&amp;quot; | 21–26 '''(29)'''&lt;br /&gt;
|-&lt;br /&gt;
|+ align=&amp;quot;bottom&amp;quot; | &amp;lt;small&amp;gt;NOTES: ''numbers in each cell above are'' initial trained value – maximum trainable value '''(maximum allowable value for non-[[Devotion |devotees]])'''; ''[[:Category: Classes |class]] [[Prime Requisite |prime requisites]] are'' &amp;lt;font color=green&amp;gt;green&amp;lt;/font&amp;gt;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Resembling hideous, winged humans, harpies are nasty, selfish, mean-spirited, and in all ways repellant. They are exceptional, tireless fliers, and relish shredding prey alive with their foot talons. While agile and quick-witted, they are so foul-tempered that their rage often overwhelms their judegment.''&lt;br /&gt;
&lt;br /&gt;
* '''Abbreviation:''' Har.&lt;br /&gt;
&lt;br /&gt;
* '''[[:Category: Languages |Language(s)]]:''' [[Common Language |Common]], [[Beast Language |Beast]].&lt;br /&gt;
&lt;br /&gt;
* '''[[:Category: Racials |Racial(s)]]:''' [[Racial Frenzy |Frenzy]], [[Racial Claw |Claw]], [[Racial Butcher|Butcher]], [[Racial Fly|Fly]], [[Racial Greed|Greed]].&lt;br /&gt;
&lt;br /&gt;
* '''[[Racial Size |Racial Size]]:''' medium.&lt;br /&gt;
&lt;br /&gt;
* '''[[Racial TNL |Racial TNL]]:''' 1515 XP.&lt;br /&gt;
&lt;br /&gt;
* '''Well-Suited to Be:''' ??.&lt;br /&gt;
&lt;br /&gt;
* '''Ill-Suited to Be:''' ??.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
Harpies were added April 20th, 2007.&lt;br /&gt;
&lt;br /&gt;
[[Category: Creatable Races]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Black_Bow_Named_Scorn&amp;diff=31573</id>
		<title>Black Bow Named Scorn</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Black_Bow_Named_Scorn&amp;diff=31573"/>
		<updated>2007-09-01T21:22:49Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added line break&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''A black bow is here, shunning your presence.''&lt;br /&gt;
&lt;br /&gt;
 Modifies [[Mana Points|mana]] by 75 continuous.&lt;br /&gt;
 Modifies [[Hit Roll|hit roll]] by 15 continuous.&lt;br /&gt;
&lt;br /&gt;
'''Keyword(s):''' black, bow, scorn.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Level |Level(s)]]:''' 50-52.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Types |Type]]:''' [[:Category: Bows |bow]].&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Slots |Slot(s)]]:''' &amp;lt;wielded&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Quality |Quality]]:''' 50 hps.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Weight |Weight]]:''' 2 lbs.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Flags |Flag(s)]]:''' [[Evil Flag|glow]], [[Magic Flag|magic]], [[Anti-Good Flag|anti-good]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
It's a pseudo-quest to get this item.  Hint: have a psionicist handy.&amp;lt;br&amp;gt;&lt;br /&gt;
Masked archer's also carry these and are trackable.&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
'''[[:Category: Areas |Area]]:''' [[:Category: Dream Steppes |Dream Steppes]] ([[Dream Steppes Map |Map]])&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Mobs |Mob(s)]]:''' [[Masked Illusionist]], [[Masked Archer]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Gear In Dream Steppes]]&lt;br /&gt;
[[Category: Hero Mana Gear]]&lt;br /&gt;
[[Category: Hero Missile Weapons]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Black_Bow_Named_Scorn&amp;diff=31572</id>
		<title>Black Bow Named Scorn</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Black_Bow_Named_Scorn&amp;diff=31572"/>
		<updated>2007-09-01T21:22:09Z</updated>

		<summary type="html">&lt;p&gt;Everman: Readded lost information from page cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''A black bow is here, shunning your presence.''&lt;br /&gt;
&lt;br /&gt;
 Modifies [[Mana Points|mana]] by 75 continuous.&lt;br /&gt;
 Modifies [[Hit Roll|hit roll]] by 15 continuous.&lt;br /&gt;
&lt;br /&gt;
'''Keyword(s):''' black, bow, scorn.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Level |Level(s)]]:''' 50-52.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Types |Type]]:''' [[:Category: Bows |bow]].&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Slots |Slot(s)]]:''' &amp;lt;wielded&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Quality |Quality]]:''' 50 hps.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Object Weight |Weight]]:''' 2 lbs.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Object Flags |Flag(s)]]:''' [[Evil Flag|glow]], [[Magic Flag|magic]], [[Anti-Good Flag|anti-good]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
It's a pseudo-quest to get this item.  Hint: have a psionicist handy.&lt;br /&gt;
Masked archer's also carry these and are trackable.&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
'''[[:Category: Areas |Area]]:''' [[:Category: Dream Steppes |Dream Steppes]] ([[Dream Steppes Map |Map]])&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[:Category: Mobs |Mob(s)]]:''' [[Masked Illusionist]], [[Masked Archer]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Gear In Dream Steppes]]&lt;br /&gt;
[[Category: Hero Mana Gear]]&lt;br /&gt;
[[Category: Hero Missile Weapons]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31571</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31571"/>
		<updated>2007-09-01T21:20:09Z</updated>

		<summary type="html">&lt;p&gt;Everman: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data. Please also note that if you specify more groupies then your current group size you will have to go in and manually delete some of the temporary triggers. (Will be of format ^ #|??? ???? (&amp;amp;%wDCtemp1) )&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
I've also included a dcrepto alias, this will set where you report the information to. Please try to keep this off of channels and confined to gt, say or perhaps buddy, as I'm sure it would bother someone. &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
dcstart # - add your groupies to the tracking, # should be your group size&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dcrep - report information (ties to dcrep1 and dcrep2)&lt;br /&gt;
&lt;br /&gt;
dcclear - clear out all information (dcstart will do this also)&lt;br /&gt;
&lt;br /&gt;
dcadd - add a member (dcstart will do this, as will the right click menu)&lt;br /&gt;
&lt;br /&gt;
dcrepto - select a channel to output to (please be considerate)&lt;br /&gt;
&lt;br /&gt;
right click - add, show or clear groupies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; If # is larger then group size you will need to manually delete the left over triggers of format ^ #|??? ???? (&amp;amp;%wDCtemp1)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This code's a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2). Both dcrep1 and 2 check to make sure you have a location you're outputting to.&lt;br /&gt;
dcrep1 uses 4 temporary variables to calculated who dealt the most damage, who took the most damage and what percentage of the total your damage dealt and received was. Next it goes through each groupie you selected to have a report printed for and prints the information.&lt;br /&gt;
dcrep2 is a large block of if functions, basically for each group member it checks to see if they had any hits of each verb, if they did it will display the verb and how many hits it was.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
dctermcheck and dcavecheck are both internal aliases. As their names would suggest dctermcheck handles terminal hits, taking your total damage and dividing it by the number of non terminal hits you have done in a run. It then multiplies this number by the number of terminal hits you have had and comes out with a figure for total damage done.&lt;br /&gt;
dcavecheck handles finding what your average damage has been. It will take your total damage and divide by the number of hits (should be combined with the previous I suppose) and then loops through each verb value till it finds one that your average damage is higher then. It then takes this index number and stores it in a characters tracking variable to later be displayed as a verb.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
Is the quick start groupie adding alias. It checks to make sure that where your reports go to is defined, then if you've included a group size it will go through and create a temporary trigger for each group slot. Then it calls the group function so the triggers go off and each each person in the group. The temporary triggers are defined not to add whatever character you are on because the triggers are set up to track you automatically. It also checks if you wanted to add more then 9 people, because in that case the trigger for 10-99 is slightly different.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
These last odds and ends store your current character, because damage tracking for yourself is done automatically (and not by your name), and adds 3 menu options for easy access to a few of the aliases.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31570</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31570"/>
		<updated>2007-09-01T21:19:20Z</updated>

		<summary type="html">&lt;p&gt;Everman: Note about dcstart&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data. Please also note that if you specify more groupies then your current group size you will have to go in and manually delete some of the temporary triggers. (Will be of format ^ #|??? ???? (&amp;amp;%wDCtemp1) )&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
I've also included a dcrepto alias, this will set where you report the information to. Please try to keep this off of channels and confined to gt, say or perhaps buddy, as I'm sure it would bother someone. &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
dcstart # - add your groupies to the tracking&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dcrep - report information (ties to dcrep1 and dcrep2)&lt;br /&gt;
&lt;br /&gt;
dcclear - clear out all information (dcstart will do this also)&lt;br /&gt;
&lt;br /&gt;
dcadd - add a member (dcstart will do this, as will the right click menu)&lt;br /&gt;
&lt;br /&gt;
dcrepto - select a channel to output to (please be considerate)&lt;br /&gt;
&lt;br /&gt;
right click - add, show or clear groupies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; If # is larger then group size you will need to manually delete the left over triggers of format ^ #|??? ???? (&amp;amp;%wDCtemp1)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This code's a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2). Both dcrep1 and 2 check to make sure you have a location you're outputting to.&lt;br /&gt;
dcrep1 uses 4 temporary variables to calculated who dealt the most damage, who took the most damage and what percentage of the total your damage dealt and received was. Next it goes through each groupie you selected to have a report printed for and prints the information.&lt;br /&gt;
dcrep2 is a large block of if functions, basically for each group member it checks to see if they had any hits of each verb, if they did it will display the verb and how many hits it was.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
dctermcheck and dcavecheck are both internal aliases. As their names would suggest dctermcheck handles terminal hits, taking your total damage and dividing it by the number of non terminal hits you have done in a run. It then multiplies this number by the number of terminal hits you have had and comes out with a figure for total damage done.&lt;br /&gt;
dcavecheck handles finding what your average damage has been. It will take your total damage and divide by the number of hits (should be combined with the previous I suppose) and then loops through each verb value till it finds one that your average damage is higher then. It then takes this index number and stores it in a characters tracking variable to later be displayed as a verb.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
Is the quick start groupie adding alias. It checks to make sure that where your reports go to is defined, then if you've included a group size it will go through and create a temporary trigger for each group slot. Then it calls the group function so the triggers go off and each each person in the group. The temporary triggers are defined not to add whatever character you are on because the triggers are set up to track you automatically. It also checks if you wanted to add more then 9 people, because in that case the trigger for 10-99 is slightly different.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
These last odds and ends store your current character, because damage tracking for yourself is done automatically (and not by your name), and adds 3 menu options for easy access to a few of the aliases.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31569</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31569"/>
		<updated>2007-09-01T21:12:23Z</updated>

		<summary type="html">&lt;p&gt;Everman: minor typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data.&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
I've also included a dcrepto alias, this will set where you report the information to. Please try to keep this off of channels and confined to gt, say or perhaps buddy, as I'm sure it would bother someone. &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
dcstart # - add your groupies to the tracking&lt;br /&gt;
&lt;br /&gt;
dcrep - report information (ties to dcrep1 and dcrep2)&lt;br /&gt;
&lt;br /&gt;
dcclear - clear out all information (dcstart will do this also)&lt;br /&gt;
&lt;br /&gt;
dcadd - add a member (dcstart will do this, as will the right click menu)&lt;br /&gt;
&lt;br /&gt;
dcrepto - select a channel to output to (please be considerate)&lt;br /&gt;
&lt;br /&gt;
right click - add, show or clear groupies&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This code's a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2). Both dcrep1 and 2 check to make sure you have a location you're outputting to.&lt;br /&gt;
dcrep1 uses 4 temporary variables to calculated who dealt the most damage, who took the most damage and what percentage of the total your damage dealt and received was. Next it goes through each groupie you selected to have a report printed for and prints the information.&lt;br /&gt;
dcrep2 is a large block of if functions, basically for each group member it checks to see if they had any hits of each verb, if they did it will display the verb and how many hits it was.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
dctermcheck and dcavecheck are both internal aliases. As their names would suggest dctermcheck handles terminal hits, taking your total damage and dividing it by the number of non terminal hits you have done in a run. It then multiplies this number by the number of terminal hits you have had and comes out with a figure for total damage done.&lt;br /&gt;
dcavecheck handles finding what your average damage has been. It will take your total damage and divide by the number of hits (should be combined with the previous I suppose) and then loops through each verb value till it finds one that your average damage is higher then. It then takes this index number and stores it in a characters tracking variable to later be displayed as a verb.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
Is the quick start groupie adding alias. It checks to make sure that where your reports go to is defined, then if you've included a group size it will go through and create a temporary trigger for each group slot. Then it calls the group function so the triggers go off and each each person in the group. The temporary triggers are defined not to add whatever character you are on because the triggers are set up to track you automatically. It also checks if you wanted to add more then 9 people, because in that case the trigger for 10-99 is slightly different.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
These last odds and ends store your current character, because damage tracking for yourself is done automatically (and not by your name), and adds 3 menu options for easy access to a few of the aliases.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31568</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31568"/>
		<updated>2007-09-01T21:04:20Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added a shorter summary of commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data.&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
I've also included a dcrepto alias, this will set where you report the information to. Please try to keep this off of channels and confined to gt, say or perhaps buddy, as I'm sure it would bother someone. &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
dcstart # - add your groupies to the tracking&lt;br /&gt;
&lt;br /&gt;
dcrep - report information (ties to dcrep1 and dcrep2)&lt;br /&gt;
&lt;br /&gt;
dcclear - clear out all information (dcstart will do this also)&lt;br /&gt;
&lt;br /&gt;
dcadd - add a member (dcstart will do this, as will the right click menu)&lt;br /&gt;
&lt;br /&gt;
dcrepto - select a channel to output to (please be considerate)&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This codes a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2). Both dcrep1 and 2 check to make sure you have a location you're outputting to.&lt;br /&gt;
dcrep1 uses 4 temporary variables to calculated who dealt the most damage, who took the most damage and what percentage of the total your damage dealt and received was. Next it goes through each groupie you selected to have a report printed for and prints the information.&lt;br /&gt;
dcrep2 is a large block of if functions, basically for each group member it checks to see if they had any hits of each verb, if they did it will display the verb and how many hits it was.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
dctermcheck and dcavecheck are both internal aliases. As their names would suggest dctermcheck handles terminal hits, taking your total damage and dividing it by the number of non terminal hits you have done in a run. It then multiplies this number by the number of terminal hits you have had and comes out with a figure for total damage done.&lt;br /&gt;
dcavecheck handles finding what your average damage has been. It will take your total damage and divide by the number of hits (should be combined with the previous I suppose) and then loops through each verb value till it finds one that your average damage is higher then. It then takes this index number and stores it in a characters tracking variable to later be displayed as a verb.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
Is the quick start groupie adding alias. It checks to make sure that where your reports go to is defined, then if you've included a group size it will go through and create a temporary trigger for each group slot. Then it calls the group function so the triggers go off and each each person in the group. The temporary triggers are defined not to add whatever character you are on because the triggers are set up to track you automatically. It also checks if you wanted to add more then 9 people, because in that case the trigger for 10-99 is slightly different.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
These last odds and ends store your current character, because damage tracking for yourself is done automatically (and not by your name), and adds 3 menu options for easy access to a few of the aliases.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31567</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31567"/>
		<updated>2007-09-01T21:00:31Z</updated>

		<summary type="html">&lt;p&gt;Everman: Write up about the code extended.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy this section and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to:''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data.&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
I've also included a dcrepto alias, this will set where you report the information to. Please try to keep this off of channels and confined to gt, say or perhaps buddy, as I'm sure it would bother someone. &lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This codes a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2). Both dcrep1 and 2 check to make sure you have a location you're outputting to.&lt;br /&gt;
dcrep1 uses 4 temporary variables to calculated who dealt the most damage, who took the most damage and what percentage of the total your damage dealt and received was. Next it goes through each groupie you selected to have a report printed for and prints the information.&lt;br /&gt;
dcrep2 is a large block of if functions, basically for each group member it checks to see if they had any hits of each verb, if they did it will display the verb and how many hits it was.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
dctermcheck and dcavecheck are both internal aliases. As their names would suggest dctermcheck handles terminal hits, taking your total damage and dividing it by the number of non terminal hits you have done in a run. It then multiplies this number by the number of terminal hits you have had and comes out with a figure for total damage done.&lt;br /&gt;
dcavecheck handles finding what your average damage has been. It will take your total damage and divide by the number of hits (should be combined with the previous I suppose) and then loops through each verb value till it finds one that your average damage is higher then. It then takes this index number and stores it in a characters tracking variable to later be displayed as a verb.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
Is the quick start groupie adding alias. It checks to make sure that where your reports go to is defined, then if you've included a group size it will go through and create a temporary trigger for each group slot. Then it calls the group function so the triggers go off and each each person in the group. The temporary triggers are defined not to add whatever character you are on because the triggers are set up to track you automatically. It also checks if you wanted to add more then 9 people, because in that case the trigger for 10-99 is slightly different.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
These last odds and ends store your current character, because damage tracking for yourself is done automatically (and not by your name), and adds 3 menu options for easy access to a few of the aliases.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31566</id>
		<title>Zmud Damage Counter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Zmud_Damage_Counter&amp;diff=31566"/>
		<updated>2007-09-01T20:34:42Z</updated>

		<summary type="html">&lt;p&gt;Everman: First revision&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This trigger and alias set will track damage dealt and received for all on a member list. For each line of combat the hit is stored by damage verb if the person attacking was on the list, and a running damage total is kept. Damage values were taken from [[ Damage |Damage]], missing values were extrapolated. Valid damage ranges from weak to ***ANNIH. Report options include a display of {damage done/ average hit/ damage taken} or a breakdown of all hits by verb. You may display these for yourself, everyone or a partial selection. Efforts have been made to make sure that all damage is counted, currently I am under the impression that melee damage as well as spell damage that includes your name and throwing damage is accounted for. The damage done by shield charges is not.&lt;br /&gt;
&lt;br /&gt;
If you have made any helpful upgrades to this code I'd appreciate it if you'd share and post it in the discussion area, though I'm presenting this as is and don't intend to consistently maintain it :)&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
''Copy each line individually and then paste them into zMud'' &amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'':''&lt;br /&gt;
 #CLASS {Damagecounter}&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
 #ALIAS dctermcheck {#FO @DClist {#VAR DCtemp1 0;#VAR DCtemp2 %i;#LOOP 2,15 {#VAR DCtemp1 %eval( @DCtemp1+%item( @{@DCtemp2}, %I))};#VAR DCtemp1 %eval( %item( @{@DCtemp2}, 17)/@DCtemp1);#VAR DCtemp1 %eval( @DCtemp1 * %item( @{@DCtemp2}, 16));#VAR DCtemp1 %eval( @DCtemp1 + %item( @{@DCtemp2}, 17));#VAR @DCtemp2 %replaceitem( @DCtemp1, 19, @{@DCtemp2})};#ECHO Terminal hits have been processed.}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcavecheck {#FO @DClist {#var DCtemp1 %i;#var DCtemp2 0;#LOOP 1,15 {#VAR DCtemp2 %eval( @DCtemp2+%item( @{@DCtemp1}, %I))};#var DCtemp2 %eval( %item( @{%i}, 17)/@DCtemp2);#var DCtemp3 %item( @damagevalues, 75);#var DCtemp4 75;#WHILE (@DCtemp2 &amp;lt; @DCtemp3) {#add DCtemp4 -1;#var DCtemp3 %item( @damagevalues, @DCtemp4)};#VAR %i %replaceitem( @DCtemp4, 20, @{%i})}}&lt;br /&gt;
 #ALIAS dcstart {dcclear;#if (!@DCreport) {@DCreport = gt} {};#if {%1} {@DCtemp1 = %1} {@DCtemp1 = 2;#prompt DCtemp1 &amp;quot;How many people are in the group?&amp;quot;};#if (@DCtemp &amp;lt; 10) {#loop @DCtemp1 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,@DCtemp {#temp {^%i|??? ???? (&amp;amp;%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};group}&lt;br /&gt;
 #ALIAS dcrepto {#prompt DCreport &amp;quot;Enter the channel to output to, eg gt, say ect.&amp;quot;}&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}&lt;br /&gt;
 #MENU {DC Add} {dcadd %lower( %selword)} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC Clear} {dcclear} &amp;quot;&amp;quot;&lt;br /&gt;
 #MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DClist {#ec %i}} &amp;quot;&amp;quot;&lt;br /&gt;
 #CLASS 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; Instead, you could just copy and paste it into a *.txt file. Then, in zMUD, go to &amp;quot;Settings -&amp;gt; File -&amp;gt; Import Text&amp;quot; and select the file you saved to.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Type dcstart [numberofgroupmembers] to initialize, for example if there are 3 people in the group type dcstart 3. This will create 3 temporary triggers that trigger on the group command, send the group command to the mud, and add the people in the group except yourself because you are always tracked. This command also clears all previous data.&lt;br /&gt;
&lt;br /&gt;
If you need to add one member, or would rather add members by hand, you can either right click on their name and select DC Add, or you can type dcadd [name]. If You type dcadd [name] make sure to type the name in lowercase.&lt;br /&gt;
&lt;br /&gt;
Two other commands have also been added to the right click menu. DC Clear, which will clear out the tracking variables and DC List which will tell you who you are tracking.&lt;br /&gt;
&lt;br /&gt;
Whenever you want to display a report type dcrep and you will be presented with a few options that are self explanatory.&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
This codes a bit convoluted so my apologies ahead of time.&lt;br /&gt;
&lt;br /&gt;
 #TRIGGER {^(%w)[^&amp;gt;;]{strike|strikes|hits|blast|blasts} (%w)[^&amp;gt;;]with([* ])(%w)[* ]%w[!.]} {#IF {%ismember( %lower( %1), @DClist)} {#VAR %lower( %1) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %1)}, 17)), 17, @{%lower( %1)});#VAR %lower( %1) %replaceitem( %eval( %item( @{%lower( %1)}, %eval( %ismember( %lower( %4), @damageverbshort)+1))+1) , %eval( %ismember( %lower( %4), @damageverbshort)+1) , @{%lower( %1)})};#IF {%ismember( %lower( %2), @DClist)} {#VAR %lower( %2) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( %2)}, 18)), 18, @{%lower( %2)})};#IF {%lower( %2) = &amp;quot;you&amp;quot;} {#VAR %lower( your) %replaceitem( %eval( %item( @damagevalues, %ismember( %concat( %4, %3), @damageverbs))+%item( @{%lower( your)}, 18)), 18, @{%lower( your)})}}&lt;br /&gt;
This is where all of the damage tracking takes place. The trigger line should trigger for all damage done by someone to someone, including melee, magic and throwing. There are 3 if statements including within. The first of which checks to see if someone on the tracking list dealt the damage. If they did it updates the array adding the hit and the damage.&lt;br /&gt;
The Second if statement checks to see if someone on the list was dealt damage. If they were it will add how much damage they took. Since  damage dealt by you is shown as 'your' while damage dealt to you is shown to 'you' there is a third if statement that does the same as the second but just catches damage done to you.&lt;br /&gt;
&lt;br /&gt;
 #VAR damageverbs {weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|terminal}&lt;br /&gt;
 #VAR damagevalues {4|8|10|12|16|19|24|28|32|36|40|43|49|54|58|62|67|73|78|81|88|95|97|101|120|130|140|143|152|161|174|185|195|202|239|266|292|316|330|353|378|410|437|469|492|539|580|616|652|714|774|824|872|900|1000|1075|1150|1250|1350|1445|1516|1609|1750|1850|1945|2090|2340|2500|2700|2900|3000|3250|3500|3750|4000|0}&lt;br /&gt;
 #VAR damageverbshort {mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|terminal}&lt;br /&gt;
These three variables are used to track the damage. A lookup is used on the first one given your damage to find an index to the second giving us the numerical value. The third variable is used to track damage on a per hit basis so you can see a breakdown, this is mapped to a fourth variable that is created per group member where their information is stored.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcadd {#additem DClist %1;#var %1 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;#echo %1 added to the damage counting list.}&lt;br /&gt;
This alias creates a string list for a given name and adds them to the list of all people you are tracking.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcclear {#FO @DClist {#UNVAR %i};#VAR DClist &amp;quot;&amp;quot;;#VAR DCterm 0;dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}&lt;br /&gt;
This alias will clear the list of group members and delete the variables storing their info.&lt;br /&gt;
&lt;br /&gt;
 #ALIAS dcrep {#YESNO &amp;quot;What report would you like to show?&amp;quot; {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}&lt;br /&gt;
 #ALIAS dcrep1 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};dctermcheck;dcavecheck;#VAR DCtemp1 0;#VAR DCtemp2 0;#VAR DCtemp3 0;#VAR DCtemp4 0;#FO @DClist {#IF {%eval( %item( @{%i}, 19) &amp;gt; @DCtemp1)} {#VAR DCtemp1 %item( @{%i}, 19)};#IF {%eval( %item( @{%i}, 18) &amp;gt; @DCtemp2)} {#VAR DCtemp2 %item( @{%i}, 18)};#ADD DCtemp3 %item( @{%i}, 19);#ADD DCtemp4 %item( @{%i}, 18)};#FO @DCreportfor {@DCreport ~|w~|Stats for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)): Dealt-&amp;gt;%if( %item( @{%i}, 19) = @DCtemp1, ~|BC~|, ~|C~|)%item( @{%i}, 19)~|w~|~(%eval( %item( @{%i}, 19)*100/@DCtemp3)%~) Average~[~|bk~|%item( @damageverbs, %item( @{%i}, 20))~|w~|~] Taken-&amp;gt;%if( %item( @{%i}, 18) = @DCtemp2, ~|BR~|, ~|R~|)%item( @{%i}, 18)~|w~|~(%eval( %item( @{%i}, 18)*100/@DCtemp4)%~)}}&lt;br /&gt;
 #ALIAS dcrep2 {#if (!@DCreport) {dcrepto};#YESNO &amp;quot;Who would you like to report for?&amp;quot; {Yourself:#VAR DCreportfor &amp;quot;your&amp;quot;} {Everyone:#VAR DCreportfor @DClist} {Partial:#VAR DCreportfor %pick( p:Who would you like to display reports for?:, @DClist)};#FO @DCreportfor {@DCreport Breakdown for %if( %i=&amp;quot;your&amp;quot;, Myself, %upper( %left( %i, 1))%right( %i, 1)):%if( %item( @{%i}, 1), %char( 32)Tickling~(~|c~|%item( @{%i}, 1)~|n~|~))%if( %item( @{%i}, 2), %char( 32)Mauling~(~|c~|%item( @{%i}, 2)~|n~|~))%if( %item( @{%i}, 3), %char( 32)Decimating~(~|c~|%item( @{%i}, 3)~|n~|~))%if( %item( @{%i}, 4), %char( 32)Devasting~(~|c~|%item( @{%i}, 4)~|n~|~))%if( %item( @{%i}, 5), %char( 32)Pulverizing~(~|c~|%item( @{%i}, 5)~|n~|~))%if( %item( @{%i}, 6), %char( 32)Maiming~(~|c~|%item( @{%i}, 6)~|n~|~))%if( %item( @{%i}, 7), %char( 32)Eviscerating~(~|c~|%item( @{%i}, 7)~|n~|~))%if( %item( @{%i}, 8), %char( 32)Mutilating~(~|c~|%item( @{%i}, 8)~|n~|~))%if( %item( @{%i}, 9), %char( 32)Disemboweling~(~|c~|%item( @{%i}, 9)~|n~|~))%if( %item( @{%i}, 10), %char( 32)Dismembering~(~|c~|%item( @{%i}, 10)~|n~|~))%if( %item( @{%i}, 11), %char( 32)Massacring~(~|c~|%item( @{%i}, 11)~|n~|~))%if( %item( @{%i}, 12), %char( 32)Mangling~(~|c~|%item( @{%i}, 12)~|n~|~))%if( %item( @{%i}, 13), %char( 32)Demolishing~(~|c~|%item( @{%i}, 13)~|n~|~))%if( %item( @{%i}, 14), %char( 32)Obliterating~(~|c~|%item( @{%i}, 14)~|n~|~))%if( %item( @{%i}, 15), %char( 32)Annihilating~(~|c~|%item( @{%i}, 15)~|n~|~))%if( %item( @{%i}, 16), %char( 32)Terminal~(~|c~|%item( @{%i}, 16)~|n~|~))}}&lt;br /&gt;
These three aliases will display all the information that has been tracked. The first alias will ask you if you would like to just show the total and average damage (dcrep1) or a breakdown of all the hits (dcrep2).&lt;br /&gt;
&lt;br /&gt;
Will add more about this trigger/alias set at a later time.&lt;br /&gt;
&lt;br /&gt;
[[Category: Zmud Scripting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category_talk:Abishai%27s_Pass&amp;diff=30873</id>
		<title>Category talk:Abishai's Pass</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category_talk:Abishai%27s_Pass&amp;diff=30873"/>
		<updated>2007-05-16T01:40:55Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added a little more harpy info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gear picked up on the 5/15/07 run: (storing it here at the moment till I/someone gets around to making pages)&lt;br /&gt;
&lt;br /&gt;
You get stone plates from corpse of a stonewolf.&lt;br /&gt;
 Object 'stone plates' type armor, extra flags none.&lt;br /&gt;
 Weight 20, value 1296, level 51.&lt;br /&gt;
 Object Quality (200 / 200 hps)&lt;br /&gt;
 Armor class is 10.&lt;br /&gt;
  Modifies armor class by -20 continuous.&lt;br /&gt;
You look at stone plates in your inventory... &amp;lt;br&amp;gt;&lt;br /&gt;
You see a small pile of oddly furry stone plates. &amp;lt;br&amp;gt;&lt;br /&gt;
This item seems to be armor. &amp;lt;br&amp;gt;&lt;br /&gt;
It weighs approximately 20 lbs. &amp;lt;br&amp;gt;&lt;br /&gt;
This item appears meant to be used as a shield. &amp;lt;br&amp;gt;&lt;br /&gt;
Its armor class is 10. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You get jagged stone jaws from corpse of a stonewolf. (same stonewolf)&lt;br /&gt;
 Object 'stone jaws jagged' type weapon, extra flags evil.&lt;br /&gt;
 Weight 20, value 1404, level 50.&lt;br /&gt;
 Object Quality (100 / 100 hps)&lt;br /&gt;
 Damage is 15 to 45 (average 30).&lt;br /&gt;
 Edge condition is like new.&lt;br /&gt;
  Modifies dexterity by 3 continuous.&lt;br /&gt;
  Modifies strength by 3 continuous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You get a harpy bow from corpse of an apex harpy.&lt;br /&gt;
 Object 'harpy bow crude bones' type bow, extra flags none.&lt;br /&gt;
 Weight 9, value 1690, level 52.&lt;br /&gt;
 Object Quality (50 / 50 hps)&lt;br /&gt;
 Damage is 26 to 74 (average 50).&lt;br /&gt;
 Draw strength is 16.&lt;br /&gt;
  Modifies hit roll by 10 continuous.&lt;br /&gt;
You look at a harpy bow in your inventory... &amp;lt;br&amp;gt;&lt;br /&gt;
You see a crude bow made of broken bones. &amp;lt;br&amp;gt;&lt;br /&gt;
This item seems to be bow. &amp;lt;br&amp;gt;&lt;br /&gt;
It weighs approximately 9 lbs. &amp;lt;br&amp;gt;&lt;br /&gt;
This item appears meant to be wielded as a weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
It is a long bow, and it does between 26 and 74 points of damage. &amp;lt;br&amp;gt;&lt;br /&gt;
Draw strength is 16. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also they don't all carry the bow.&lt;br /&gt;
&lt;br /&gt;
corpse of an apex harpy:&lt;br /&gt;
 Object 'corpse npccorpse' type npc corpse, extra flags none.&lt;br /&gt;
 Weight 100, value 9, level 73.&lt;br /&gt;
 Object Quality (1 / 1 hps)&lt;br /&gt;
&lt;br /&gt;
In the room:&lt;br /&gt;
 (Sneak) (Aggie to All) A hideous winged creature screams at you, spewing spittle.&lt;br /&gt;
Look:&lt;br /&gt;
 Vicious and cruel, the apex harpies leave in the furthest peaks&lt;br /&gt;
 of the mountains. They take great pride in coating their feathers&lt;br /&gt;
 with the blood of their fallen prey.&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category_talk:Abishai%27s_Pass&amp;diff=30872</id>
		<title>Category talk:Abishai's Pass</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category_talk:Abishai%27s_Pass&amp;diff=30872"/>
		<updated>2007-05-16T01:30:31Z</updated>

		<summary type="html">&lt;p&gt;Everman: Dump of some info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gear picked up on the 5/15/07 run: (storing it here at the moment till I/someone gets around to making pages)&lt;br /&gt;
&lt;br /&gt;
You get a harpy bow from corpse of an apex harpy.&lt;br /&gt;
 Object 'harpy bow crude bones' type bow, extra flags none.&lt;br /&gt;
 Weight 9, value 1690, level 52.&lt;br /&gt;
 Object Quality (50 / 50 hps)&lt;br /&gt;
 Damage is 26 to 74 (average 50).&lt;br /&gt;
 Draw strength is 16.&lt;br /&gt;
  Modifies hit roll by 10 continuous.&lt;br /&gt;
You look at a harpy bow in your inventory... &amp;lt;br&amp;gt;&lt;br /&gt;
You see a crude bow made of broken bones. &amp;lt;br&amp;gt;&lt;br /&gt;
This item seems to be bow. &amp;lt;br&amp;gt;&lt;br /&gt;
It weighs approximately 9 lbs. &amp;lt;br&amp;gt;&lt;br /&gt;
This item appears meant to be wielded as a weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
It is a long bow, and it does between 26 and 74 points of damage. &amp;lt;br&amp;gt;&lt;br /&gt;
Draw strength is 16. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You get stone plates from corpse of a stonewolf.&lt;br /&gt;
 Object 'stone plates' type armor, extra flags none.&lt;br /&gt;
 Weight 20, value 1296, level 51.&lt;br /&gt;
 Object Quality (200 / 200 hps)&lt;br /&gt;
 Armor class is 10.&lt;br /&gt;
  Modifies armor class by -20 continuous.&lt;br /&gt;
You look at stone plates in your inventory... &amp;lt;br&amp;gt;&lt;br /&gt;
You see a small pile of oddly furry stone plates. &amp;lt;br&amp;gt;&lt;br /&gt;
This item seems to be armor. &amp;lt;br&amp;gt;&lt;br /&gt;
It weighs approximately 20 lbs. &amp;lt;br&amp;gt;&lt;br /&gt;
This item appears meant to be used as a shield. &amp;lt;br&amp;gt;&lt;br /&gt;
Its armor class is 10. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You get jagged stone jaws from corpse of a stonewolf. (same stonewolf)&lt;br /&gt;
 Object 'stone jaws jagged' type weapon, extra flags evil.&lt;br /&gt;
 Weight 20, value 1404, level 50.&lt;br /&gt;
 Object Quality (100 / 100 hps)&lt;br /&gt;
 Damage is 15 to 45 (average 30).&lt;br /&gt;
 Edge condition is like new.&lt;br /&gt;
  Modifies dexterity by 3 continuous.&lt;br /&gt;
  Modifies strength by 3 continuous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
corpse of an apex harpy:&lt;br /&gt;
 Object 'corpse npccorpse' type npc corpse, extra flags none.&lt;br /&gt;
 Weight 100, value 9, level 73.&lt;br /&gt;
 Object Quality (1 / 1 hps)&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:World_Of_Stone_Proper&amp;diff=35177</id>
		<title>Category:World Of Stone Proper</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:World_Of_Stone_Proper&amp;diff=35177"/>
		<updated>2006-11-09T08:14:29Z</updated>

		<summary type="html">&lt;p&gt;Everman: /* Adventuring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''The World of Stone is the Elemental Plane of Earth. To a Midgaardian, the best way to describe it would be like moving through a solid block of stone. Rumor has it that extra-planar Elementals have a nasty habit of viewing Midgaardians as an impurity that must be destroyed.''&lt;br /&gt;
&lt;br /&gt;
'''Builder:''' Crowe&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
&lt;br /&gt;
== Adventuring ==&lt;br /&gt;
&lt;br /&gt;
There's some new funkiness in this area.&lt;br /&gt;
&lt;br /&gt;
If you type &amp;quot;where gnome&amp;quot; you can see a mob named [[Orie Stonesinger]] in a room entitled &amp;quot;The golem laboratory&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I tried tracking him.  If you go 2s, 2w, u from shift you'll find yourself in a nospell room with 5 [[Obsidian Lord]]s and a [[Huge Earth Elemental]].  &lt;br /&gt;
Considering the fact that the only exits are locked and the room is cursed, the whole group died.  Before we died, I noticed that the only exits were down (the way we came) and north.  If you're not familiar with stone proper, scan is worthless, so you never know what you're going to find in the next room.  Therefore, even if you clear this nasty room, there's no way to tell what awaits you in the next.&lt;br /&gt;
&lt;br /&gt;
Anyways, this all smells like the golem quest to me.  Feel free to explore it more if you beat me to it, and please report back here with any updates or results.&lt;br /&gt;
&lt;br /&gt;
--Update--&lt;br /&gt;
Cleared out the room with 5 Obsidian Lords and the Huge Earth Elemental, got a message about a small space that opened up to the north large enough for 1 person and subsequently killed Orie.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lord Areas]]&lt;br /&gt;
[[Category:World Of Stone]]&lt;br /&gt;
[[Category:Areas That Need Descriptions]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:World_Of_Stone_Proper&amp;diff=35176</id>
		<title>Category:World Of Stone Proper</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:World_Of_Stone_Proper&amp;diff=35176"/>
		<updated>2006-11-09T08:11:22Z</updated>

		<summary type="html">&lt;p&gt;Everman: /* Adventuring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''The World of Stone is the Elemental Plane of Earth. To a Midgaardian, the best way to describe it would be like moving through a solid block of stone. Rumor has it that extra-planar Elementals have a nasty habit of viewing Midgaardians as an impurity that must be destroyed.''&lt;br /&gt;
&lt;br /&gt;
'''Builder:''' Crowe&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
&lt;br /&gt;
== Adventuring ==&lt;br /&gt;
&lt;br /&gt;
There's some new funkiness in this area.&lt;br /&gt;
&lt;br /&gt;
If you type &amp;quot;where gnome&amp;quot; you can see a mob named [[Orie Stonesinger]] in a room entitled &amp;quot;The golem laboratory&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I tried tracking him.  If you go 2s, 2w, u from shift you'll find yourself in a nospell room with 5 [[Obsidian Lord]]s and a [[Huge Earth Elemental]].  &lt;br /&gt;
Considering the fact that the only exits are locked and the room is cursed, the whole group died.  Before we died, I noticed that the only exits were down (the way we came) and north.  If you're not familiar with stone proper, scan is worthless, so you never know what you're going to find in the next room.  Therefore, even if you clear this nasty room, there's no way to tell what awaits you in the next.&lt;br /&gt;
&lt;br /&gt;
Anyways, this all smells like the golem quest to me.  Feel free to explore it more if you beat me to it, and please report back here with any updates or results.&lt;br /&gt;
&lt;br /&gt;
--Update--&lt;br /&gt;
Cleared out the room with 5 Obsidian Lords and the Huge Earth Elemental, got a message about a small space that opened up to the north large enough for 1 person.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lord Areas]]&lt;br /&gt;
[[Category:World Of Stone]]&lt;br /&gt;
[[Category:Areas That Need Descriptions]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Orie_Stonesinger&amp;diff=36734</id>
		<title>Orie Stonesinger</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Orie_Stonesinger&amp;diff=36734"/>
		<updated>2006-11-09T08:07:29Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Gnomes have a natural affinity for stonework, and for arcane magic. Orie&lt;br /&gt;
''Stonesinger is well reknowned for his talent at combining the two. He is&lt;br /&gt;
''the unchallenged Master of the creation and control of Golems.&lt;br /&gt;
&lt;br /&gt;
Orie Stonesinger is resting here.&lt;br /&gt;
&lt;br /&gt;
No items on him, unsanced as well.&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Aruna&amp;diff=26670</id>
		<title>Aruna</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Aruna&amp;diff=26670"/>
		<updated>2006-10-22T02:00:31Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This is Aruna, matriarch of this clan of troglodytes.''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:''' Aruna.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Level |Level]]:''' 78.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Alignment |Alignment]]:''' Demonic (Black Aura).&amp;lt;br&amp;gt;&lt;br /&gt;
'''Affects:''' [[Hide |Hide]], [[Sneak |Sneak]], [[Sanctuary |sanctuary]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gear ==&lt;br /&gt;
&lt;br /&gt;
 Aruna is using:&lt;br /&gt;
 &amp;lt;worn around neck&amp;gt;  [[carved bone necklace |carved bone necklace]]&lt;br /&gt;
 &amp;lt;worn on body&amp;gt;      [[a leather robe |a leather robe]]&lt;br /&gt;
 &amp;lt;wielded&amp;gt;           (Magical) [[a woven staff |a woven staff]]&lt;br /&gt;
&lt;br /&gt;
 Aruna is carrying:&lt;br /&gt;
      Nothing.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
&lt;br /&gt;
'''[[:Category: Areas |Area]]:'''[[Category: Hunting]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Walking route from [[General Rusla |General Rusla]]: w&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Mobs In Hunting]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Lord_School&amp;diff=36695</id>
		<title>Lord School</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Lord_School&amp;diff=36695"/>
		<updated>2006-10-21T17:17:17Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to Lord ==&lt;br /&gt;
&lt;br /&gt;
A quick glance around the room reveals a door to the south with a sign above&lt;br /&gt;
it, a glowing miniature ''model'' of Thorngate in the center and a&lt;br /&gt;
''banner'' in the western corner with words you can not make out.  As you&lt;br /&gt;
are drawn closer to the light, you notice a ''plaque'' titled &amp;quot;Thorngate&amp;quot;&lt;br /&gt;
with more words underneath it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model:&lt;br /&gt;
&lt;br /&gt;
A closer look at the model reveals that most lords and ladies gather at the&lt;br /&gt;
center of Thorngate.  To the south west of the center, you see a small&lt;br /&gt;
smithy while a Temple of some kind is located northwest of center. South of&lt;br /&gt;
the Temple is a furnished house whose entrance is labeled &amp;quot;the House&lt;br /&gt;
of Bandu&amp;quot;.  As you gaze in the opposite direction, you notice a small&lt;br /&gt;
gathering of lords a few rooms east of center.  East of that, a few&lt;br /&gt;
shopkeepers wander Rietta's Wonders. South of Rietta's, you see a tower&lt;br /&gt;
rising high above Thorngate. To the far south, you see the ruins of a keep&lt;br /&gt;
that once housed Lady Astra, too far away to reach.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Banner:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Welcome to Lord!&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Plaque:&lt;br /&gt;
&lt;br /&gt;
Directions to key rooms from center&amp;lt;br&amp;gt;&lt;br /&gt;
________&amp;lt;br&amp;gt;&lt;br /&gt;
Bo'vul (bank)       : 3n&amp;lt;br&amp;gt;&lt;br /&gt;
Greystone (smith)   : s 2w&amp;lt;br&amp;gt;&lt;br /&gt;
Woe (shop)          : 2w s&amp;lt;br&amp;gt;&lt;br /&gt;
Cane (trainer)      : s 2e u, give practice ticket to Gilliad&amp;lt;br&amp;gt;&lt;br /&gt;
Garrow (jeweller)   : 7e 2n&amp;lt;br&amp;gt;&lt;br /&gt;
Old Hunter (archer) : 3w&amp;lt;br&amp;gt;&lt;br /&gt;
Lord mudschool      : 3s&amp;lt;br&amp;gt;&lt;br /&gt;
Lord donation room  : Non-existent&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic Lord Skills ==&lt;br /&gt;
&lt;br /&gt;
As you enter the room, you notice with awe that two of the four walls of the&lt;br /&gt;
room are decorated with elaborate murals. The ''eastern mural'' depicts a&lt;br /&gt;
group that is seen phasing between planes. The ''western mural'' shows a&lt;br /&gt;
group gathered in a room watching a lord be reborn.  A ''scroll'' with&lt;br /&gt;
the word &amp;quot;Practice&amp;quot; etched at the top is hung next to the western mural.&lt;br /&gt;
You may wish to take a closer look at both of the murals and the scroll.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Eastern Mural:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Planeshift/Homeshift&amp;lt;br&amp;gt;&lt;br /&gt;
_______________&amp;lt;br&amp;gt;&lt;br /&gt;
As a lord, you have access to other planes besides the Midgaardian plane.&lt;br /&gt;
You are able to access these planes through the planeshift spell.  Once you&lt;br /&gt;
are on a different plane, you must cast homeshift or planeshift to return to&lt;br /&gt;
Thorngate.  Casting these spells takes great concentration, more than you&lt;br /&gt;
can muster while fighting.  On the bottom of the mural is a warning.  Note:&lt;br /&gt;
You must planeshift back to Thorngate if the room you are in is cursed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related help files: Planeshift, Homeshift, Shifts, Lord Runs&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Western Mural:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genesis&amp;lt;br&amp;gt;&lt;br /&gt;
_____________&amp;lt;br&amp;gt;&lt;br /&gt;
As a new lord, your stats are rolled randomly upon morphing.  In order to&lt;br /&gt;
reroll your stats, a lord cleric will have to genesis you.  Genesis comes&lt;br /&gt;
with the price of you losing a point of your prime stat and a point of your&lt;br /&gt;
low stat.  Notes: Being trained fully will help maximize your hp, mana and&lt;br /&gt;
moves as genesis is dependent on these. Also, clerics cannot genesis&lt;br /&gt;
themselves.&lt;br /&gt;
&lt;br /&gt;
Related help files: Genesis, PR&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Scroll:&lt;br /&gt;
&lt;br /&gt;
Practices&amp;lt;br&amp;gt;&lt;br /&gt;
_________________&amp;lt;br&amp;gt;&lt;br /&gt;
Since your wisdom stat is now higher as a lord, you may gain a few more&lt;br /&gt;
practices at lord.  Having 500 practices is usually sufficient to train your&lt;br /&gt;
stats and practice new skills and spells.  Of course, having more practices&lt;br /&gt;
will give you a cushion against stat loss.  Also, the eulogy spell costs a&lt;br /&gt;
stat when you cast it.  Therefore, you'll either need practices or gold to&lt;br /&gt;
retrain your stats.  You'll also have another method of gaining practices&lt;br /&gt;
through leading.  If you lead a run, you will get a bonus practice point for&lt;br /&gt;
every time a group member levels, provided you have practiced all the&lt;br /&gt;
leadership skills you can.&lt;br /&gt;
&lt;br /&gt;
Related help files: Eulogy, Genesis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improving Your Gear ==&lt;br /&gt;
&lt;br /&gt;
As you enter the room, a jabber of voices reach your ears.  As you walk&lt;br /&gt;
further into the room, you can hear faint but excited voices gibbering&lt;br /&gt;
&amp;quot;..it's mine because I looted it...&amp;quot; &amp;quot;...mine...I don't have it..&amp;quot;&lt;br /&gt;
&amp;quot;..mine..I led the run...&amp;quot;.  The voices seem to be coming from the group of&lt;br /&gt;
ethereal figures standing in the center of the brightly lit room.  Broken&lt;br /&gt;
and damaged armor has been tossed aside.  As you gaze towards the walls of&lt;br /&gt;
the room, you notice several statues lined up in a row with different sets&lt;br /&gt;
of gear on them.  You may wish to take a closer look at the ''figures'', the&lt;br /&gt;
''statues'', the ''broken'' pieces of armor as well as the ''damaged'' pieces of armor.&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:Lord_Mud_School&amp;diff=34875</id>
		<title>Category:Lord Mud School</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:Lord_Mud_School&amp;diff=34875"/>
		<updated>2006-10-21T17:04:34Z</updated>

		<summary type="html">&lt;p&gt;Everman: /* Navigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''The Lord mudschool was designed with several purposes in mind:''&lt;br /&gt;
&lt;br /&gt;
''- Teach new Lords about the basics of the Lord tier, what to expect and what prepare for.''&lt;br /&gt;
&lt;br /&gt;
''- Give an introduction to each class at the Lord tier, suggestions for playing them, and how they survive at Lord.''&lt;br /&gt;
&lt;br /&gt;
''- To reward the new Lords for their effort by giving them a practice ticket.''&lt;br /&gt;
&lt;br /&gt;
''Any Lord can walk through the mudschool at any level; the entrance is located 2s from the Center of Thorngate Square. If you see a true newbie morph, please show them the mudschool. Being available to them to answer questions they may have is a very good idea too. We have all been in their situation and needed a helping hand through the transition period.''&lt;br /&gt;
&lt;br /&gt;
''Send any comments, updates or bug reports to Lord Council and they will work to correct them. You can reach them at council@outland.org.''&lt;br /&gt;
&lt;br /&gt;
'''Builder:''' Vorak&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
Lord Mudschool is located 2 south of Thorngate Center.&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[Mudschool New|Welcome to Lord, Basic Lord Skills, Improving Your Gear and Lord Survival Skills]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Mudschool Brute|Tips on Playing a Brute]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Mudschool Caster|Hints for Playing a Caster]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Warriors'':[[Mudschool Warrior|Warrior Training Grounds]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Paladins'':[[Mudschool Paladin|Temple of the Holy Order]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Priests'':[[Mudschool Priest|Tul-Sith's Sanctuary]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Clerics'':[[Mudschool Cleric|The Shrine]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Mages'':[[Mudschool Mage|Study Chamber of an Arch-Mage]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Psionicists'':[[Mudschool Psionicist|A Room in the Inn]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Sorcerers'':[[Mudschool Sorcerer|Chamber of Corruption]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Monks'':[[Mudschool Monk|A Sanctuary of Gorn]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Rogues'':[[Mudschool Rogue|A Den of Iniquity]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Archers'':[[Mudschool Archer|A Nook in the Forest]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Assassins'':[[Mudschool Assassin|Dilapidated Ruins]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Mudschool End|A Few Final Words of Wisdom, Alcove]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adventuring ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Areas That Need Descriptions]]&lt;br /&gt;
[[Category:Lord Areas]]&lt;br /&gt;
[[Category:Thorngate]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Lady_Astra&amp;diff=36693</id>
		<title>Lady Astra</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Lady_Astra&amp;diff=36693"/>
		<updated>2006-10-21T16:38:57Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''You see before you a woman who was a legend in her own time - Astra - the&lt;br /&gt;
''founder of Thorngate, the home of the Lords of Avatar. Legend says she was&lt;br /&gt;
''there when the first denizens of the outer planes tried to invade. She used&lt;br /&gt;
''up much of her strength repelling the attack and strengthening Thorngate to&lt;br /&gt;
''keep the evil ones at bay.&lt;br /&gt;
&lt;br /&gt;
''Astra smiles at you and says, &amp;quot;Welcome to Thorngate, friend. Did you know&lt;br /&gt;
''that many years ago, I cannot recall when, I created Thorngate to help&lt;br /&gt;
''protect the realm from the forces of evil?  Gilliad still stands his post&lt;br /&gt;
''there, focusing upon maintaining the solidity of this Thorngate against&lt;br /&gt;
''attacks by other beings, while I have passed out of the mortal plane of&lt;br /&gt;
''existence. The Lords of Avatar exist to help with the challenge of keeping&lt;br /&gt;
''Midgaardia safe from the evil of the outer planes.&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;Since I can no longer take an active role in the defence of the realm, I&lt;br /&gt;
''have created this place to help young lords learn about the lord tier and&lt;br /&gt;
''how to contribute. In here, you will learn just some of the secrets of the&lt;br /&gt;
''lord realm. There are rooms dedicated to the basics all lords should know,&lt;br /&gt;
''and also rooms specific for each class.&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;When you are ready, enter the door to the south and take your time to study&lt;br /&gt;
''all the rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Flags: Flying &amp;lt;br&amp;gt;&lt;br /&gt;
Room Desc: ''The shade of Lady Astra waits patiently.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Mobs in Lord Mudschool]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:Mobs_in_Lord_Mudschool&amp;diff=36691</id>
		<title>Category:Mobs in Lord Mudschool</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:Mobs_in_Lord_Mudschool&amp;diff=36691"/>
		<updated>2006-10-21T16:35:57Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Lord Mud School]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:Mobs_in_Lord_Mudschool&amp;diff=36690</id>
		<title>Category:Mobs in Lord Mudschool</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:Mobs_in_Lord_Mudschool&amp;diff=36690"/>
		<updated>2006-10-21T16:35:29Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Lord Mudschool]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Bandu&amp;diff=36670</id>
		<title>Bandu</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Bandu&amp;diff=36670"/>
		<updated>2006-10-21T16:34:11Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Bandu, the owner of this simple inn, does not seem to be as happy&lt;br /&gt;
''to see you as you first believed.  His eyes continue to dart across&lt;br /&gt;
''the common room to a skinny fellow sitting at a table as he washes&lt;br /&gt;
''the counter with a rag.&lt;br /&gt;
&lt;br /&gt;
''Bandu says, 'Care for some food or drink?  There are rooms in the&lt;br /&gt;
''back.'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sells:&lt;br /&gt;
 &lt;br /&gt;
 [[Bottle Local|A bottle of local specialty.]]&lt;br /&gt;
 [[Bottle Firebreather|bottle of firebreather.]]&lt;br /&gt;
 [[Bottle Beer|A bottle of beer.]]&lt;br /&gt;
 [[Slab Beef|A slab of beef.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Room Desc: ''A round olive skinned man stands here, smiling nervously. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:House Of Bandu]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Category:Lord_Mud_School&amp;diff=34874</id>
		<title>Category:Lord Mud School</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Category:Lord_Mud_School&amp;diff=34874"/>
		<updated>2006-10-21T16:30:29Z</updated>

		<summary type="html">&lt;p&gt;Everman: /* Directions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''The Lord mudschool was designed with several purposes in mind:''&lt;br /&gt;
&lt;br /&gt;
''- Teach new Lords about the basics of the Lord tier, what to expect and what prepare for.''&lt;br /&gt;
&lt;br /&gt;
''- Give an introduction to each class at the Lord tier, suggestions for playing them, and how they survive at Lord.''&lt;br /&gt;
&lt;br /&gt;
''- To reward the new Lords for their effort by giving them a practice ticket.''&lt;br /&gt;
&lt;br /&gt;
''Any Lord can walk through the mudschool at any level; the entrance is located 2s from the Center of Thorngate Square. If you see a true newbie morph, please show them the mudschool. Being available to them to answer questions they may have is a very good idea too. We have all been in their situation and needed a helping hand through the transition period.''&lt;br /&gt;
&lt;br /&gt;
''Send any comments, updates or bug reports to Lord Council and they will work to correct them. You can reach them at council@outland.org.''&lt;br /&gt;
&lt;br /&gt;
'''Builder:''' Vorak&lt;br /&gt;
&lt;br /&gt;
== Directions ==&lt;br /&gt;
Lord Mudschool is located 2 south of Thorngate Center.&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
&lt;br /&gt;
== Adventuring ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Areas That Need Descriptions]]&lt;br /&gt;
[[Category:Lord Areas]]&lt;br /&gt;
[[Category:Thorngate]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Living_Daemonstone&amp;diff=34264</id>
		<title>Living Daemonstone</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Living_Daemonstone&amp;diff=34264"/>
		<updated>2006-10-21T07:15:44Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added hitpoints, just because.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Dark and mystical, it flows without form.''&amp;lt;br&amp;gt;&lt;br /&gt;
 Modifies damage roll by 6 continuous.&lt;br /&gt;
 Modifies hit roll by 3 continuous.&lt;br /&gt;
 Modifies armor class by -50 continuous.&lt;br /&gt;
Slot: Legs&amp;lt;br&amp;gt;&lt;br /&gt;
Weight: 10&amp;lt;br&amp;gt;&lt;br /&gt;
Hps: 400&amp;lt;br&amp;gt;&lt;br /&gt;
Flags: glow evil nolocate&amp;lt;br&amp;gt;&lt;br /&gt;
Plane: [[:Category:World Of Stone|World Of Stone]]&amp;lt;br&amp;gt;&lt;br /&gt;
Area: [[:Category:Mountain Of Madness|Mountain Of Madness]]&amp;lt;br&amp;gt;&lt;br /&gt;
Mob: [[Mad Dwarf, Alastar]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
See [[:Category:Gear In Mountain Of Madness|Gear In Mountain Of Madness]] for directions on how to get this gear.&lt;br /&gt;
[[Category: Lord Hit Gear]]&lt;br /&gt;
[[Category: Lord Tank Gear]]&lt;br /&gt;
[[Category: Gear In World Of Stone]]&lt;br /&gt;
[[Category: Gear In Mountain Of Madness]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Killaris&amp;diff=36688</id>
		<title>Killaris</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Killaris&amp;diff=36688"/>
		<updated>2006-10-21T07:13:25Z</updated>

		<summary type="html">&lt;p&gt;Everman: Mob Desc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Long ago I was a great warrior of the Kzinti realm. I was, in fact,&lt;br /&gt;
''the champion of the great lord Taragaul.  I traveled far and wide&lt;br /&gt;
''spreading the glory of the Kzinti realm.  I hunted strange beasts&lt;br /&gt;
''made of fire and molten rock...but alas, that was long ago.&lt;br /&gt;
&lt;br /&gt;
''Before my last journey we discovered a new form of transport.  This&lt;br /&gt;
''marvelous creation would allow us to travel instantly to any place on&lt;br /&gt;
''any plane with no energy drain and no delay.  Unfortunately we did not&lt;br /&gt;
''study this magic enough and I was stricken nearly barren by strange&lt;br /&gt;
''energies from this magic.  I am the only member of the party to have&lt;br /&gt;
''made it to Thorngate and I hope someday to return to the Kzinti&lt;br /&gt;
''Homeworld.  This ailment is the reason I cannot return. I have been&lt;br /&gt;
''gone so long they must have discovered a medicine that can help, I&lt;br /&gt;
''just know it!  Arghh!&lt;br /&gt;
&lt;br /&gt;
''It is that vile man, the keeper of the Great Temple. I always knew&lt;br /&gt;
''he hated me.  He knows of the medicine that can start me on my road to&lt;br /&gt;
''recovery but has prevented expeditions that would leave the plane to&lt;br /&gt;
''seek out the members of the old expedition.  Find a vicar hiding in the&lt;br /&gt;
''wilderness and bring me the medicine he holds.  He may be too cunning&lt;br /&gt;
''to simply have it on him.  If he does not have it, force him to tell you&lt;br /&gt;
''where it is.  If the formula is complex and if you can only get the basic&lt;br /&gt;
''formula ingredients, then that will be fine.  I'm not picky, just eager to&lt;br /&gt;
''go home!  I am too weak to join you, but if you do me this favor I shall&lt;br /&gt;
''reward you when you return.&lt;br /&gt;
&lt;br /&gt;
Room Desc: ''A tall and proud looking kzinti.&lt;br /&gt;
&lt;br /&gt;
Affects: Hide, Sanctuary &amp;lt;br&amp;gt;&lt;br /&gt;
Alignment: Demonic &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Sling&amp;diff=36686</id>
		<title>Sling</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Sling&amp;diff=36686"/>
		<updated>2006-10-21T07:08:31Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Made from a strip of cowhide, this sling is good for tossing stones at angry wargs. If you miss, ''run!&lt;br /&gt;
&lt;br /&gt;
  No mods.&lt;br /&gt;
&lt;br /&gt;
Type: bow (sling?)&amp;lt;br&amp;gt;&lt;br /&gt;
Slot: wielded&amp;lt;br&amp;gt;&lt;br /&gt;
Keywords: lordgear bandu sling&amp;lt;br&amp;gt;&lt;br /&gt;
Flags: anti-neutral&amp;lt;br&amp;gt;&lt;br /&gt;
Hps: 125&amp;lt;br&amp;gt;&lt;br /&gt;
Weight: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Mob: [[Old Hunter]] (vendored) &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Ugly_Crossbow&amp;diff=36624</id>
		<title>Ugly Crossbow</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Ugly_Crossbow&amp;diff=36624"/>
		<updated>2006-10-21T07:06:18Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added mob link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This oversized heavy crossbow was quickly cobbled together by an ogre bowmaker as a sample of his wears. He died shortly thereafter, never able to prove if he could have done better or whether this was as good as it got.''&lt;br /&gt;
&lt;br /&gt;
Type: heavy crossbow&amp;lt;br&amp;gt;&lt;br /&gt;
Weight: 2&amp;lt;br&amp;gt;&lt;br /&gt;
Keywords: lordgear bandu crossbow ogre ugly&amp;lt;br&amp;gt;&lt;br /&gt;
Max: 164?&amp;lt;br&amp;gt;&lt;br /&gt;
Flags: dark&amp;lt;br&amp;gt;&lt;br /&gt;
Mob: [[Old Hunter]] (Vendored)&lt;br /&gt;
&lt;br /&gt;
[[Category:Lord Bows]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Old_Hunter&amp;diff=36684</id>
		<title>Old Hunter</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Old_Hunter&amp;diff=36684"/>
		<updated>2006-10-21T07:05:10Z</updated>

		<summary type="html">&lt;p&gt;Everman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;And one time, I shot a red dragon right in the eye! We'd already lost&lt;br /&gt;
''three o' them idiot fighters trying to fight it close up, but it wasn't&lt;br /&gt;
''til I blinded the beast we started actually hurtin' it. Yep.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;Well, buy something! Stories like ain't free ya know! Gotta keep me&lt;br /&gt;
''in whiskey, kid!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sells:&lt;br /&gt;
 [[Sling|a simple leather sling]]&lt;br /&gt;
 [[Ugly Crossbow|an ugly crossbow]]&lt;br /&gt;
 [[Elegant Longbow|an elegant longbow]]&lt;br /&gt;
 fletching tools and materials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Room Desc: ''A grey and grizzled old hunter sits here, muttering stories to nobody.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:House Of Bandu]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Elegant_Longbow&amp;diff=36615</id>
		<title>Elegant Longbow</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Elegant_Longbow&amp;diff=36615"/>
		<updated>2006-10-21T06:59:48Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added the vendor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This longbow was obviously made by an elf with only a moderate level of skill.&lt;br /&gt;
While most of it is of a brown so dark it is almost black, there are pieces of&lt;br /&gt;
lighter wood woven into make an intricate elegant pattern. Too bad the&lt;br /&gt;
maker did not know more about bows.''&lt;br /&gt;
&lt;br /&gt;
 No hitroll or stats.&lt;br /&gt;
&lt;br /&gt;
Type: long bow&amp;lt;br&amp;gt;&lt;br /&gt;
Weight: 3&amp;lt;br&amp;gt;&lt;br /&gt;
Keywords: lordgear bandu longbow elegant&amp;lt;br&amp;gt;&lt;br /&gt;
Max: 156?&amp;lt;br&amp;gt;&lt;br /&gt;
Flags: none &amp;lt;br&amp;gt;&lt;br /&gt;
Mob: [[Old Hunter]] (Vendored)&lt;br /&gt;
&lt;br /&gt;
[[Category:Lord Bows]]&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
	<entry>
		<id>http://www.johnmarc.org/index.php?title=Spear&amp;diff=36667</id>
		<title>Spear</title>
		<link rel="alternate" type="text/html" href="http://www.johnmarc.org/index.php?title=Spear&amp;diff=36667"/>
		<updated>2006-10-21T06:55:08Z</updated>

		<summary type="html">&lt;p&gt;Everman: Added examine.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''A spear made of blood-mithril is here.&lt;br /&gt;
&lt;br /&gt;
  No mods.&lt;br /&gt;
&lt;br /&gt;
Type: weapon, one handed stabbing&amp;lt;br&amp;gt;&lt;br /&gt;
Slot: wielded&amp;lt;br&amp;gt;&lt;br /&gt;
Keywords: lordgear bandu weapon spear&amp;lt;br&amp;gt;&lt;br /&gt;
Flags: none&amp;lt;br&amp;gt;&lt;br /&gt;
Hps: 250&amp;lt;br&amp;gt;&lt;br /&gt;
Weight: 16&amp;lt;br&amp;gt;&lt;br /&gt;
Mob: [[Woe The Sly]] (vendored) &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Everman</name></author>
		
	</entry>
</feed>