<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://te4.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Darkgod</id>
		<title>Tales of Maj'Eyal - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://te4.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Darkgod"/>
		<link rel="alternate" type="text/html" href="https://te4.org/wiki/Special:Contributions/Darkgod"/>
		<updated>2026-04-10T06:22:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://te4.org/w/index.php?title=File:Darkgod.png&amp;diff=22753</id>
		<title>File:Darkgod.png</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=File:Darkgod.png&amp;diff=22753"/>
				<updated>2024-12-23T12:17:02Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: test dg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test dg&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Source_Setup&amp;diff=9286</id>
		<title>Source Setup</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Source_Setup&amp;diff=9286"/>
				<updated>2014-10-09T08:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can access the official ToME source code using Git.  (Note: the official source repository was in Subversion until June 7, 2013.  The old Subversion information will be kept on this page for a while, but you should ignore it unless there's a problem with the new Git repository.)&lt;br /&gt;
&lt;br /&gt;
== Git ==&lt;br /&gt;
&lt;br /&gt;
The Git repository is available at http://git.net-core.org/public read-only to everyone.&lt;br /&gt;
&lt;br /&gt;
In Linux/Unix, after installing Git:&lt;br /&gt;
 git clone http://git.net-core.org/darkgod/t-engine4.git&lt;br /&gt;
&lt;br /&gt;
This will create a directory named '''t-engine4''' inside the current working directory.&lt;br /&gt;
&lt;br /&gt;
If you need a Git client for Windows, you can download [https://code.google.com/p/tortoisegit/ TortoiseGit] or [http://www.sourcetreeapp.com/ SourceTree].&lt;br /&gt;
&lt;br /&gt;
=== Git Basics ===&lt;br /&gt;
&lt;br /&gt;
A local Git repository is a complete mirror of the &amp;quot;origin&amp;quot; repository.  It includes every revision of every file, all the commit messages, and so on.&lt;br /&gt;
&lt;br /&gt;
If you're only going to retrieve changes from DarkGod's repository, and never make any changes of your own, then you can get by with the following commands:&lt;br /&gt;
&lt;br /&gt;
* Retrieve all new changes:&lt;br /&gt;
 git fetch origin&lt;br /&gt;
* Review the changes before applying them:&lt;br /&gt;
 git log -p HEAD...origin&lt;br /&gt;
* Apply the changes to your local working directory:&lt;br /&gt;
 git merge origin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Git (Mirror) ==&lt;br /&gt;
&lt;br /&gt;
The original Git repository is restored (updates every 10m) and is available from http://git.develz.org/.&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Addon_Uploading&amp;diff=6406</id>
		<title>Addon Uploading</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Addon_Uploading&amp;diff=6406"/>
				<updated>2013-12-23T08:31:14Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: Created page with &amp;quot;Once your addon works and you want to world to see it you need to follow some simple steps to get it up on te4.org (and Steam Workshop if you on ToME on Steam): * Make sure de...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once your addon works and you want to world to see it you need to follow some simple steps to get it up on te4.org (and Steam Workshop if you on ToME on Steam):&lt;br /&gt;
* Make sure developer mode is on&lt;br /&gt;
* Make sure you are logged in-game&lt;br /&gt;
* Make a new character with the addon enabled&lt;br /&gt;
* Enter debug menu (ctrl+a if you didn't re-bind it)&lt;br /&gt;
* Select the option to register a new addon if you never did yet&lt;br /&gt;
* Select the option to publishthe addon to te4.org&lt;br /&gt;
* Wait as the game packages and uploads your addon&lt;br /&gt;
* Optional: do the same thing with the Steam upload&lt;br /&gt;
* You're done, your addon should now appear on [http://te4.org/addons/tome te4.org addons list]&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Tales_of_Maj%27Eyal_Wiki&amp;diff=6405</id>
		<title>Tales of Maj'Eyal Wiki</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Tales_of_Maj%27Eyal_Wiki&amp;diff=6405"/>
				<updated>2013-12-23T08:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Tales of Maj'Eyal 4''' (aka ToME 4) is an RPG Roguelike game, written as a module that runs in [[T-Engine 4]]. Download T-Engine and ToME for a myriad of Operating Systems from http://www.te4.org/download&lt;br /&gt;
&lt;br /&gt;
[[T-Engine 4]] is the reboot and complete rewrite of T-Engine, released in beta form on May 11, 2010.&lt;br /&gt;
----&lt;br /&gt;
* [[tome history|History of ToME]]&lt;br /&gt;
* [[tome faq|Frequently Asked Questions]]&lt;br /&gt;
* [[tome glossary|Glossary of terms in ToME]]&lt;br /&gt;
&lt;br /&gt;
'''Want to contribute to the ToME wiki?''' [[How To Contribute To The Wiki|Click here]] for how to get started.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin:0em 0em 1em 0em; width:100%; background-color:white&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top; border:1px solid;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid; background-color:#FFB473; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;&amp;quot;&amp;gt;Character Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:0px solid; padding:0.4em 1em 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Classes]]&lt;br /&gt;
* [[Races]]&lt;br /&gt;
* [[Stats]]&lt;br /&gt;
* [[Talents]]&lt;br /&gt;
* [[Prodigies]]&lt;br /&gt;
* [[Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top; border:1px solid;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid; background-color:#FFB473; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;&amp;quot;&amp;gt;Game Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:0px solid; padding:0.4em 1em 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Campaigns]]&lt;br /&gt;
* [[Achievements]]&lt;br /&gt;
* [[Backup Guardians]]&lt;br /&gt;
* [[Bosses]]&lt;br /&gt;
* [[Guides]]&lt;br /&gt;
* [[Quests]]&lt;br /&gt;
* [[Unlockables]]&lt;br /&gt;
* [[Vaults]]&lt;br /&gt;
* [[Zones]]&lt;br /&gt;
* [[Escorts]]&lt;br /&gt;
* [[Difficulty]]&lt;br /&gt;
* [[Permadeath]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin:0em 0em 1em 0em; width:100%; background-color:white&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top; border:1px solid;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid; background-color:#FFB473; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;&amp;quot;&amp;gt;Game Mechanics&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:0px solid; padding:0.4em 1em 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Character sheet]]: power, damage, saves, armor&lt;br /&gt;
* [[Combat Damage]]&lt;br /&gt;
* [[Effects]]&lt;br /&gt;
* [[Experience]]&lt;br /&gt;
* [[egos|Ego Items and their Effects]]&lt;br /&gt;
* [[Resources]]&lt;br /&gt;
* [[Vision]]&lt;br /&gt;
* [[Damage Types]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top; border:1px solid;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid; background-color:#FFB473; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;&amp;quot;&amp;gt;Items&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:0px solid; padding:0.4em 1em 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Items]]&lt;br /&gt;
* [[Artifacts]]&lt;br /&gt;
* [[Gems]]&lt;br /&gt;
* [[Item_list|Full List of all Items]]&lt;br /&gt;
* [[Materials|Item materials]]&lt;br /&gt;
* [[Mindstars]]&lt;br /&gt;
* [[Item sets]]&lt;br /&gt;
* [[Inscriptions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin:0em 0em 1em 0em; width:100%; background-color:white&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top; border:1px solid;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid; background-color:#FFB473; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;&amp;quot;&amp;gt;Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:0px solid; padding:0.4em 1em 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Source Setup]]&lt;br /&gt;
* [[How to compile]]&lt;br /&gt;
* [[Lua|Lua: The language of ToME4]]&lt;br /&gt;
* [[Addons]]&lt;br /&gt;
** [[Hooks|Hooks and what they do]]&lt;br /&gt;
** [[Resources_for_Addons_and_Modules|Addon Resources]]&lt;br /&gt;
** [[Addon Uploading]]&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
** [[T4 Modules Howto Guide|Module creation guides]]&lt;br /&gt;
** [[Resources_for_Addons_and_Modules|Module Resources]]&lt;br /&gt;
* [[Debugging]]&lt;br /&gt;
* [[Command Line Arguments]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=MediaWiki:Common.js&amp;diff=3117</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=MediaWiki:Common.js&amp;diff=3117"/>
				<updated>2013-05-27T13:02:35Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
// ==UserScript==&lt;br /&gt;
// @name       TE4 tooltips for wiki&lt;br /&gt;
// @namespace &lt;br /&gt;
// @version    1.0&lt;br /&gt;
// @description  enter dragon&lt;br /&gt;
// @match      http://te4.org/wiki2/*&lt;br /&gt;
// @match      http://www.te4.org/wiki2/*&lt;br /&gt;
// @match      http://www.te4.org/w/*&lt;br /&gt;
// @copyright  2012+, nomnom&lt;br /&gt;
// ==/UserScript==&lt;br /&gt;
&lt;br /&gt;
/* MediaWiki:Common.js */&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
   /* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
   var tooltip=function()&lt;br /&gt;
   {&lt;br /&gt;
      var id = 'tooltip_mouseover';&lt;br /&gt;
      var top = 3;&lt;br /&gt;
      var left = 15;&lt;br /&gt;
      var speed = 10;&lt;br /&gt;
      var timer = 20;&lt;br /&gt;
      var endalpha = 98;&lt;br /&gt;
      var alpha = 0;&lt;br /&gt;
      var tt,h;&lt;br /&gt;
      var ie = document.all ? true : false;&lt;br /&gt;
      var ttArray = new Array();&lt;br /&gt;
      var ttArrayWidths = new Array();&lt;br /&gt;
      var current_article;&lt;br /&gt;
      return{&lt;br /&gt;
         create:function(v, w)&lt;br /&gt;
         {&lt;br /&gt;
            if(tt == null)&lt;br /&gt;
            {&lt;br /&gt;
               tt = document.createElement('div');&lt;br /&gt;
               tt.setAttribute('id',id);&lt;br /&gt;
               document.body.appendChild(tt);&lt;br /&gt;
               tt.style.opacity = 0;&lt;br /&gt;
               tt.style.position = 'absolute';&lt;br /&gt;
               tt.style.zIndex = 100;&lt;br /&gt;
               tt.style.border = '2px solid #000000';&lt;br /&gt;
               tt.style.backgroundColor = '#000000';&lt;br /&gt;
                    tt.style.color = '#ffffff';&lt;br /&gt;
               tt.style.filter = 'alpha(opacity=0)';&lt;br /&gt;
               document.onmousemove = this.pos;&lt;br /&gt;
            }&lt;br /&gt;
            tt.style.display = 'block';&lt;br /&gt;
            tt.innerHTML = v;&lt;br /&gt;
            tt.style.width = w ? w : 'auto';&lt;br /&gt;
            h = parseInt(tt.offsetHeight) + top;&lt;br /&gt;
            clearInterval(tt.timer);&lt;br /&gt;
            tt.timer = setInterval(function(){tooltip.fade(1)},timer);&lt;br /&gt;
         },&lt;br /&gt;
         pos:function(e)&lt;br /&gt;
         {&lt;br /&gt;
            var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;&lt;br /&gt;
            var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;&lt;br /&gt;
               &lt;br /&gt;
                var doc = document.documentElement, body = document.body;&lt;br /&gt;
                var top = (doc &amp;amp;&amp;amp; doc.scrollTop  || body &amp;amp;&amp;amp; body.scrollTop  || 0);&lt;br /&gt;
               &lt;br /&gt;
                if( u-h &amp;gt; top )&lt;br /&gt;
               tt.style.top = (u-h) + 'px';&lt;br /&gt;
                else&lt;br /&gt;
                    tt.style.top = (top + 15) + 'px';&lt;br /&gt;
               &lt;br /&gt;
            if( l+left+parseInt(tt.style.width) &amp;gt; window.innerWidth)&lt;br /&gt;
               tt.style.left = (l- left - parseInt(tt.style.width)) + 'px';&lt;br /&gt;
                else&lt;br /&gt;
                   tt.style.left = (l+left) + 'px';&lt;br /&gt;
         },&lt;br /&gt;
         fade:function(d)&lt;br /&gt;
         {&lt;br /&gt;
            var a = alpha;&lt;br /&gt;
            if((a != endalpha &amp;amp;&amp;amp; d == 1) || (a != 0 &amp;amp;&amp;amp; d == -1))&lt;br /&gt;
            {&lt;br /&gt;
               var i = speed;&lt;br /&gt;
               if(endalpha - a &amp;lt; speed &amp;amp;&amp;amp; d == 1)&lt;br /&gt;
               {&lt;br /&gt;
                  i = endalpha - a;&lt;br /&gt;
               }else if(alpha &amp;lt; speed &amp;amp;&amp;amp; d == -1)&lt;br /&gt;
               {&lt;br /&gt;
                  i = a;&lt;br /&gt;
               }&lt;br /&gt;
               alpha = a + (i * d);&lt;br /&gt;
               tt.style.opacity = alpha * .01;&lt;br /&gt;
               tt.style.filter = 'alpha(opacity=' + alpha + ')';&lt;br /&gt;
            }else&lt;br /&gt;
            {&lt;br /&gt;
               clearInterval(tt.timer);&lt;br /&gt;
               if(d == -1){tt.style.display = 'none'}&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         hide:function()&lt;br /&gt;
         {&lt;br /&gt;
            if (tt != null)&lt;br /&gt;
            {&lt;br /&gt;
               clearInterval(tt.timer);&lt;br /&gt;
               tt.timer = setInterval(function(){tooltip.fade(-1)},timer);&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         show:function(article, maxwidth)&lt;br /&gt;
         {&lt;br /&gt;
            current_article = article;&lt;br /&gt;
            if (ttArray[article] == null)&lt;br /&gt;
            {&lt;br /&gt;
               ttArrayWidths[article] = maxwidth;&lt;br /&gt;
               tooltip.create('Retrieving information...', maxwidth);&lt;br /&gt;
               if (tooltip.access(article) == false)&lt;br /&gt;
               {&lt;br /&gt;
                  tt.innerHTML = 'Sorry, your browser is not compatible with tooltips.';&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
               tooltip.create(ttArray[article], ttArrayWidths[article]);&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         update:function(httpRequest,article)&lt;br /&gt;
         {&lt;br /&gt;
            if (httpRequest.readyState == 4)&lt;br /&gt;
            {&lt;br /&gt;
               if (httpRequest.status == 200)&lt;br /&gt;
               {&lt;br /&gt;
                  if (tt != null &amp;amp;&amp;amp; current_article == article)&lt;br /&gt;
                  {&lt;br /&gt;
                     var searchStr = new RegExp('Click here to start this page!');&lt;br /&gt;
                     if ((httpRequest.responseText).search(searchStr) != -1)&lt;br /&gt;
                     {&lt;br /&gt;
                        tt.innerHTML = 'This article does not yet exist.';&lt;br /&gt;
                     }&lt;br /&gt;
                     else&lt;br /&gt;
                     {&lt;br /&gt;
                        searchStr = '&amp;lt;span id=&amp;quot;tooltipstart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;';&lt;br /&gt;
                        var startPoint = (httpRequest.responseText).indexOf(searchStr) + searchStr.length;&lt;br /&gt;
                        if (startPoint != -1)&lt;br /&gt;
                        {&lt;br /&gt;
                           var endPoint = (httpRequest.responseText).lastIndexOf('&amp;lt;span id=&amp;quot;tooltipend&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;');&lt;br /&gt;
                           if (endPoint != -1)&lt;br /&gt;
                           {&lt;br /&gt;
                              tt.innerHTML = (httpRequest.responseText).substr(startPoint,endPoint-startPoint);&lt;br /&gt;
                              ttArray[article] = tt.innerHTML;&lt;br /&gt;
                              return;&lt;br /&gt;
                           }&lt;br /&gt;
                        }&lt;br /&gt;
                        tt.innerHTML = 'This article does not yet have a properly formatted tooltip.';&lt;br /&gt;
                     }&lt;br /&gt;
                  }&lt;br /&gt;
                  h = parseInt(tt.offsetHeight) + top;&lt;br /&gt;
               }&lt;br /&gt;
               else&lt;br /&gt;
               {&lt;br /&gt;
                  if (tt != null)&lt;br /&gt;
                  {&lt;br /&gt;
                     tt.innerHTML = 'Could not retrieve information.';&lt;br /&gt;
                  }&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         access:function(article)&lt;br /&gt;
         {&lt;br /&gt;
            var httpRequest;&lt;br /&gt;
            if (window.XMLHttpRequest)&lt;br /&gt;
            {&lt;br /&gt;
               httpRequest = new XMLHttpRequest();&lt;br /&gt;
               if (httpRequest.overrideMimeType)&lt;br /&gt;
               {&lt;br /&gt;
                  httpRequest.overrideMimeType('text/xml');&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            else if (window.ActiveXObject)&lt;br /&gt;
            {&lt;br /&gt;
               try&lt;br /&gt;
               {&lt;br /&gt;
                  httpRequest = new ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;);&lt;br /&gt;
               }&lt;br /&gt;
               catch (e)&lt;br /&gt;
               {&lt;br /&gt;
                  try&lt;br /&gt;
                  {&lt;br /&gt;
                     httpRequest = new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                  catch (e) {}&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            if (!httpRequest)&lt;br /&gt;
            {&lt;br /&gt;
               // Browser incompatible with AJAX&lt;br /&gt;
               return false;&lt;br /&gt;
            }&lt;br /&gt;
            httpRequest.onreadystatechange = function()&lt;br /&gt;
            {&lt;br /&gt;
               tooltip.update(httpRequest,article);&lt;br /&gt;
            };&lt;br /&gt;
            httpRequest.open('GET', 'http://te4.org/w/api.php?format=txt&amp;amp;action=parse&amp;amp;page='+article+'&amp;amp;prop=text', true);&lt;br /&gt;
            httpRequest.send();&lt;br /&gt;
         }&lt;br /&gt;
      };&lt;br /&gt;
   }();&lt;br /&gt;
   /* Check for tooltip links when document finishes loading */&lt;br /&gt;
   function mouseoverTooltip(article, maxwidth) {&lt;br /&gt;
      return function()&lt;br /&gt;
      {&lt;br /&gt;
         article = article.replace(&amp;quot;.27&amp;quot;,&amp;quot;'&amp;quot;);&lt;br /&gt;
         tooltip.show(article, maxwidth);&lt;br /&gt;
      };&lt;br /&gt;
   }&lt;br /&gt;
   function putTooltips()&lt;br /&gt;
   {&lt;br /&gt;
      var spanArray = document.getElementsByTagName(&amp;quot;span&amp;quot;);&lt;br /&gt;
      for (var i=0 ; i&amp;lt;spanArray.length ; i++)&lt;br /&gt;
      {&lt;br /&gt;
         if (spanArray[i].className == &amp;quot;tooltip_link&amp;quot;)&lt;br /&gt;
         {&lt;br /&gt;
                var links = spanArray[i].getElementsByTagName(&amp;quot;a&amp;quot;);&lt;br /&gt;
                var tlink = spanArray[i].getElementsByTagName(&amp;quot;a&amp;quot;)[0];&lt;br /&gt;
                if(typeof(tlink) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
                {&lt;br /&gt;
                    var article = (tlink.href).substr(tlink.href.lastIndexOf('/') + 1);&lt;br /&gt;
                    spanArray[i].onmouseover = mouseoverTooltip(article, spanArray[i].style.maxWidth);&lt;br /&gt;
                    spanArray[i].onmouseout = function(){ tooltip.hide() };&lt;br /&gt;
                    // Change link inside to mouseover link style&lt;br /&gt;
                    if (tlink &amp;amp;&amp;amp; tlink.className != &amp;quot;new&amp;quot;)&lt;br /&gt;
                    {&lt;br /&gt;
                        tlink.title = &amp;quot;&amp;quot;;&lt;br /&gt;
                        tlink.style.color = spanArray[i].style.color;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   if (window.addEventListener)&lt;br /&gt;
      window.addEventListener(&amp;quot;load&amp;quot;, putTooltips, false);&lt;br /&gt;
   else if (window.attachEvent)&lt;br /&gt;
      window.attachEvent(&amp;quot;onload&amp;quot;, putTooltips);&lt;br /&gt;
   else if (document.getElementById)&lt;br /&gt;
      window.onload=putTooltips();&lt;br /&gt;
}&lt;br /&gt;
catch(err)&lt;br /&gt;
{&lt;br /&gt;
   window._customJSerror = err;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=MediaWiki:Common.js&amp;diff=2907</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=MediaWiki:Common.js&amp;diff=2907"/>
				<updated>2013-05-26T12:01:21Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: Created page with &amp;quot;/* Any JavaScript here will be loaded for all users on every page load. */ // ==UserScript== // @name       TE4 tooltips for wiki // @namespace  // @version    1.0 // @descrip...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
// ==UserScript==&lt;br /&gt;
// @name       TE4 tooltips for wiki&lt;br /&gt;
// @namespace &lt;br /&gt;
// @version    1.0&lt;br /&gt;
// @description  enter dragon&lt;br /&gt;
// @match      http://te4.org/wiki2/*&lt;br /&gt;
// @match      http://www.te4.org/wiki2/*&lt;br /&gt;
// @match      http://www.te4.org/w/*&lt;br /&gt;
// @copyright  2012+, nomnom&lt;br /&gt;
// ==/UserScript==&lt;br /&gt;
&lt;br /&gt;
/* MediaWiki:Common.js */&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
   /* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
   var tooltip=function()&lt;br /&gt;
   {&lt;br /&gt;
      var id = 'tooltip_mouseover';&lt;br /&gt;
      var top = 3;&lt;br /&gt;
      var left = 15;&lt;br /&gt;
      var speed = 10;&lt;br /&gt;
      var timer = 20;&lt;br /&gt;
      var endalpha = 98;&lt;br /&gt;
      var alpha = 0;&lt;br /&gt;
      var tt,h;&lt;br /&gt;
      var ie = document.all ? true : false;&lt;br /&gt;
      var ttArray = new Array();&lt;br /&gt;
      var ttArrayWidths = new Array();&lt;br /&gt;
      var current_article;&lt;br /&gt;
      return{&lt;br /&gt;
         create:function(v, w)&lt;br /&gt;
         {&lt;br /&gt;
            if(tt == null)&lt;br /&gt;
            {&lt;br /&gt;
               tt = document.createElement('div');&lt;br /&gt;
               tt.setAttribute('id',id);&lt;br /&gt;
               document.body.appendChild(tt);&lt;br /&gt;
               tt.style.opacity = 0;&lt;br /&gt;
               tt.style.position = 'absolute';&lt;br /&gt;
               tt.style.zIndex = 100;&lt;br /&gt;
               tt.style.border = '2px solid #000000';&lt;br /&gt;
               tt.style.backgroundColor = '#000000';&lt;br /&gt;
                    tt.style.color = '#ffffff';&lt;br /&gt;
               tt.style.filter = 'alpha(opacity=0)';&lt;br /&gt;
               document.onmousemove = this.pos;&lt;br /&gt;
            }&lt;br /&gt;
            tt.style.display = 'block';&lt;br /&gt;
            tt.innerHTML = v;&lt;br /&gt;
            tt.style.width = w ? w : 'auto';&lt;br /&gt;
            h = parseInt(tt.offsetHeight) + top;&lt;br /&gt;
            clearInterval(tt.timer);&lt;br /&gt;
            tt.timer = setInterval(function(){tooltip.fade(1)},timer);&lt;br /&gt;
         },&lt;br /&gt;
         pos:function(e)&lt;br /&gt;
         {&lt;br /&gt;
            var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;&lt;br /&gt;
            var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;&lt;br /&gt;
            tt.style.top = (u-h) + 'px';&lt;br /&gt;
            tt.style.left = (l + left) + 'px';&lt;br /&gt;
         },&lt;br /&gt;
         fade:function(d)&lt;br /&gt;
         {&lt;br /&gt;
            var a = alpha;&lt;br /&gt;
            if((a != endalpha &amp;amp;&amp;amp; d == 1) || (a != 0 &amp;amp;&amp;amp; d == -1))&lt;br /&gt;
            {&lt;br /&gt;
               var i = speed;&lt;br /&gt;
               if(endalpha - a &amp;lt; speed &amp;amp;&amp;amp; d == 1)&lt;br /&gt;
               {&lt;br /&gt;
                  i = endalpha - a;&lt;br /&gt;
               }else if(alpha &amp;lt; speed &amp;amp;&amp;amp; d == -1)&lt;br /&gt;
               {&lt;br /&gt;
                  i = a;&lt;br /&gt;
               }&lt;br /&gt;
               alpha = a + (i * d);&lt;br /&gt;
               tt.style.opacity = alpha * .01;&lt;br /&gt;
               tt.style.filter = 'alpha(opacity=' + alpha + ')';&lt;br /&gt;
            }else&lt;br /&gt;
            {&lt;br /&gt;
               clearInterval(tt.timer);&lt;br /&gt;
               if(d == -1){tt.style.display = 'none'}&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         hide:function()&lt;br /&gt;
         {&lt;br /&gt;
            if (tt != null)&lt;br /&gt;
            {&lt;br /&gt;
               clearInterval(tt.timer);&lt;br /&gt;
               tt.timer = setInterval(function(){tooltip.fade(-1)},timer);&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         show:function(article, maxwidth)&lt;br /&gt;
         {&lt;br /&gt;
            current_article = article;&lt;br /&gt;
            if (ttArray[article] == null)&lt;br /&gt;
            {&lt;br /&gt;
               ttArrayWidths[article] = maxwidth;&lt;br /&gt;
               tooltip.create('Retrieving information...', maxwidth);&lt;br /&gt;
               if (tooltip.access(article) == false)&lt;br /&gt;
               {&lt;br /&gt;
                  tt.innerHTML = 'Sorry, your browser is not compatible with tooltips.';&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
               tooltip.create(ttArray[article], ttArrayWidths[article]);&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         update:function(httpRequest,article)&lt;br /&gt;
         {&lt;br /&gt;
            if (httpRequest.readyState == 4)&lt;br /&gt;
            {&lt;br /&gt;
               if (httpRequest.status == 200)&lt;br /&gt;
               {&lt;br /&gt;
                  if (tt != null &amp;amp;&amp;amp; current_article == article)&lt;br /&gt;
                  {&lt;br /&gt;
                     var searchStr = new RegExp('Click here to start this page!');&lt;br /&gt;
                     if ((httpRequest.responseText).search(searchStr) != -1)&lt;br /&gt;
                     {&lt;br /&gt;
                        tt.innerHTML = 'This article does not yet exist.';&lt;br /&gt;
                     }&lt;br /&gt;
                     else&lt;br /&gt;
                     {&lt;br /&gt;
                        searchStr = '&amp;lt;span id=&amp;quot;tooltipstart&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;';&lt;br /&gt;
                        var startPoint = (httpRequest.responseText).indexOf(searchStr) + searchStr.length;&lt;br /&gt;
                        if (startPoint != -1)&lt;br /&gt;
                        {&lt;br /&gt;
                           var endPoint = (httpRequest.responseText).lastIndexOf('&amp;lt;span id=&amp;quot;tooltipend&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;');&lt;br /&gt;
                           if (endPoint != -1)&lt;br /&gt;
                           {&lt;br /&gt;
                              tt.innerHTML = (httpRequest.responseText).substr(startPoint,endPoint-startPoint);&lt;br /&gt;
                              ttArray[article] = tt.innerHTML;&lt;br /&gt;
                              return;&lt;br /&gt;
                           }&lt;br /&gt;
                        }&lt;br /&gt;
                        tt.innerHTML = 'This article does not yet have a properly formatted tooltip.';&lt;br /&gt;
                     }&lt;br /&gt;
                  }&lt;br /&gt;
                  h = parseInt(tt.offsetHeight) + top;&lt;br /&gt;
               }&lt;br /&gt;
               else&lt;br /&gt;
               {&lt;br /&gt;
                  if (tt != null)&lt;br /&gt;
                  {&lt;br /&gt;
                     tt.innerHTML = 'Could not retrieve information.';&lt;br /&gt;
                  }&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
         },&lt;br /&gt;
         access:function(article)&lt;br /&gt;
         {&lt;br /&gt;
            var httpRequest;&lt;br /&gt;
            if (window.XMLHttpRequest)&lt;br /&gt;
            {&lt;br /&gt;
               httpRequest = new XMLHttpRequest();&lt;br /&gt;
               if (httpRequest.overrideMimeType)&lt;br /&gt;
               {&lt;br /&gt;
                  httpRequest.overrideMimeType('text/xml');&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            else if (window.ActiveXObject)&lt;br /&gt;
            {&lt;br /&gt;
               try&lt;br /&gt;
               {&lt;br /&gt;
                  httpRequest = new ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;);&lt;br /&gt;
               }&lt;br /&gt;
               catch (e)&lt;br /&gt;
               {&lt;br /&gt;
                  try&lt;br /&gt;
                  {&lt;br /&gt;
                     httpRequest = new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                  catch (e) {}&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            if (!httpRequest)&lt;br /&gt;
            {&lt;br /&gt;
               // Browser incompatible with AJAX&lt;br /&gt;
               return false;&lt;br /&gt;
            }&lt;br /&gt;
            httpRequest.onreadystatechange = function()&lt;br /&gt;
            {&lt;br /&gt;
               tooltip.update(httpRequest,article);&lt;br /&gt;
            };&lt;br /&gt;
            httpRequest.open('GET', 'http://te4.org/w/api.php?format=txt&amp;amp;action=parse&amp;amp;page='+article+'&amp;amp;prop=text', true);&lt;br /&gt;
            httpRequest.send();&lt;br /&gt;
         }&lt;br /&gt;
      };&lt;br /&gt;
   }();&lt;br /&gt;
   /* Check for tooltip links when document finishes loading */&lt;br /&gt;
   function mouseoverTooltip(article, maxwidth) {&lt;br /&gt;
      return function()&lt;br /&gt;
      {&lt;br /&gt;
         article = article.replace(&amp;quot;.27&amp;quot;,&amp;quot;'&amp;quot;);&lt;br /&gt;
         tooltip.show(article, maxwidth);&lt;br /&gt;
      };&lt;br /&gt;
   }&lt;br /&gt;
   function putTooltips()&lt;br /&gt;
   {&lt;br /&gt;
      var spanArray = document.getElementsByTagName(&amp;quot;span&amp;quot;);&lt;br /&gt;
      for (var i=0 ; i&amp;lt;spanArray.length ; i++)&lt;br /&gt;
      {&lt;br /&gt;
         if (spanArray[i].className == &amp;quot;tooltip_link&amp;quot;)&lt;br /&gt;
         {&lt;br /&gt;
            &lt;br /&gt;
                var links = spanArray[i].getElementsByTagName(&amp;quot;a&amp;quot;);&lt;br /&gt;
                var tlink = spanArray[i].getElementsByTagName(&amp;quot;a&amp;quot;)[0];&lt;br /&gt;
                var article = (tlink.href).substr(21);&lt;br /&gt;
            spanArray[i].onmouseover = mouseoverTooltip(article, spanArray[i].style.maxWidth);&lt;br /&gt;
            spanArray[i].onmouseout = function(){ tooltip.hide() };&lt;br /&gt;
            // Change link inside to mouseover link style&lt;br /&gt;
            if (tlink &amp;amp;&amp;amp; tlink.className != &amp;quot;new&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
               tlink.title = &amp;quot;&amp;quot;;&lt;br /&gt;
                    tlink.style.color = spanArray[i].style.color;&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   if (window.addEventListener)&lt;br /&gt;
      window.addEventListener(&amp;quot;load&amp;quot;, putTooltips, false);&lt;br /&gt;
   else if (window.attachEvent)&lt;br /&gt;
      window.attachEvent(&amp;quot;onload&amp;quot;, putTooltips);&lt;br /&gt;
   else if (document.getElementById)&lt;br /&gt;
      window.onload=putTooltips();&lt;br /&gt;
}&lt;br /&gt;
catch(err)&lt;br /&gt;
{&lt;br /&gt;
   window._customJSerror = err;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Talk:Quests&amp;diff=2878</id>
		<title>Talk:Quests</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Talk:Quests&amp;diff=2878"/>
				<updated>2013-05-25T16:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I suggest we use the actual names of the quests as page names, not their lua names. It helps people searching for a quest. [[User:XLambda|XLambda]] ([[User talk:XLambda|talk]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I agree [[User:Darkgod|Darkgod]] ([[User talk:Darkgod|talk]])&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Talk:Quests&amp;diff=2877</id>
		<title>Talk:Quests</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Talk:Quests&amp;diff=2877"/>
				<updated>2013-05-25T16:21:03Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I suggest we use the actual names of the quests as page names, not their lua names. It helps people searching for a quest. [[User:XLambda|XLambda]] ([[User talk:XLambda|talk]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I agree [[User:DarkGod|DarkGod]] ([[User talk:DarkGod|talk]])&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	<entry>
		<id>https://te4.org/w/index.php?title=Hooks&amp;diff=2594</id>
		<title>Hooks</title>
		<link rel="alternate" type="text/html" href="https://te4.org/w/index.php?title=Hooks&amp;diff=2594"/>
				<updated>2013-04-13T12:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Darkgod: \ to /&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]][[Category:Addons]]&lt;br /&gt;
For addons, hooks are a way of causing certain code to be triggered by events happening in the game.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They are all used the same way, with &amp;quot;ToME:load&amp;quot; being replaced with the actual hook name:&lt;br /&gt;
&lt;br /&gt;
 class:bindHook(&amp;quot;ToME:load&amp;quot;, function(self, data)&lt;br /&gt;
 your code&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
If the hook function has any arguments, they are accessed through the data variable like data.argumentname .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a list of hooks currently available for addon creators and what they do.&lt;br /&gt;
&lt;br /&gt;
'''ToME:load'''&lt;br /&gt;
Triggers when ToME loads up.  Used to load an addons files into the game.  Must be included in every addon or the addon will not work!&lt;br /&gt;
There are a few important functions you'll want to trigger to make the magic happen.&lt;br /&gt;
&lt;br /&gt;
''Birther:loadDefinition'' will load a new race or class&lt;br /&gt;
''ActorTalents:loadDefinition'' will load new talents for your new race, class, or monster to use&lt;br /&gt;
''DamageType:loadDefinition'' will load new damage types for your talents to use&lt;br /&gt;
''ActorTemporaryEffects:loadDefinition'' will load new temporary effect, bad or good, to be used by talents and damage types&lt;br /&gt;
''WorldAchievements:loadDefinition'' loads new achievement.  Not commonly used in addons&lt;br /&gt;
''PlayerLore:loadDefinition'' adds new lore to be collected by the player.  Not commonly used in addons&lt;br /&gt;
''PartyIngredients:loadDefinition'' loads new ingredients to be collected by the player for reciptes.  Not commonly used in addons.&lt;br /&gt;
&lt;br /&gt;
So for example if we want a new class called &amp;quot;Pilgrim&amp;quot; with it's own unique talents, but no new damage types or effects, we could load it like so.&lt;br /&gt;
&lt;br /&gt;
 class:bindHook(&amp;quot;ToME:load&amp;quot;, function(self, data)&lt;br /&gt;
 ActorTalents:loadDefinition(&amp;quot;/data-classpack/talents/techniques/techniques-pilgrim.lua&amp;quot;)&lt;br /&gt;
 Birther:loadDefinition(&amp;quot;/data-classpack/birth/pilgrim.lua&amp;quot;)&lt;br /&gt;
 end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Engine Hooks:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Chat:Talkbox:command'''&lt;br /&gt;
&lt;br /&gt;
/dialogs/Talkbox.lua/okclick&lt;br /&gt;
&lt;br /&gt;
data = { command=command, params=params, talkbox=self}&lt;br /&gt;
&lt;br /&gt;
Allows the addition of new chat commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Entity:loadList'''&lt;br /&gt;
&lt;br /&gt;
/Entity.lua/loadList&lt;br /&gt;
&lt;br /&gt;
data = { file=file, no_default=no_default, res=res, mod=mod, loaded=loaded}&lt;br /&gt;
&lt;br /&gt;
Useful for adding new entries into a list file, without overwriting it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''MapGeneratorStatic:subgenRegister'''&lt;br /&gt;
&lt;br /&gt;
/generator/map/Static.lua/generate&lt;br /&gt;
&lt;br /&gt;
data = { mapfile=self.data.map, list=self.subgen}&lt;br /&gt;
&lt;br /&gt;
Something for adding in new things to map generation?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Module Hooks:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:actBase:Effects'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/actBase&lt;br /&gt;
&lt;br /&gt;
data = { }&lt;br /&gt;
&lt;br /&gt;
Triggers when the actor does anything. Useful for anything with a constant effect. self is the actor doing the action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:move'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/move&lt;br /&gt;
&lt;br /&gt;
data = { moved=moved, force=force, ox=ox, oy=oy}&lt;br /&gt;
&lt;br /&gt;
Triggers when an actor moves.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:takeHit'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/onTakeHit&lt;br /&gt;
&lt;br /&gt;
data = { value=value, src=src}&lt;br /&gt;
&lt;br /&gt;
Triggers when an actor is hit by something. It's useful mostly for talents and effects that alter or avoid damage being recieved on a particular actor. self in this case is the thing being hit. data.value &lt;br /&gt;
contains the amount of damage taken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:preUseTalent'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/preUseTalent&lt;br /&gt;
&lt;br /&gt;
data = { t=ab, silent=silent, fale=fake}&lt;br /&gt;
&lt;br /&gt;
Triggers whenever an actor tries to use a talent, but before the talent is run. Useful for new resources or failure effects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:postUseTalent'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/postUseTalent&lt;br /&gt;
&lt;br /&gt;
data = { t=ab, ret=ret, trigger=trigger}&lt;br /&gt;
&lt;br /&gt;
Triggers after an actor successfully uses a talent. Useful for new resources types. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:getTalentFullDescription:ressources'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/getTalentFullDescription&lt;br /&gt;
&lt;br /&gt;
data = {str=d, t=t, addlevel=addlevel, config=config, fake_mastery=fake_mastery}&lt;br /&gt;
&lt;br /&gt;
This is where you add code to make your new resource display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Actor:getTalentFullDescription'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Actor.lua/getTalentFullDescription&lt;br /&gt;
&lt;br /&gt;
data = { str=d, t=t, addlevel=addlevel, config=config, fake_mastery=fake_mastery}&lt;br /&gt;
&lt;br /&gt;
Let's you add something else just above the talent description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ToME:run'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Game.lua/run&lt;br /&gt;
&lt;br /&gt;
data = { }&lt;br /&gt;
&lt;br /&gt;
See ToME run. Run ToME run! Inserts code before the module starts running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Game:alterGameMenu'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Game.lua/setupCommands&lt;br /&gt;
&lt;br /&gt;
data = { menu=l, unregister=function() self:unregisterDialog(menu) end}&lt;br /&gt;
&lt;br /&gt;
Allows editing of the escape menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Combat:archeryAcquire'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/interface/Archery.lua/archeryAcquireTargets&lt;br /&gt;
&lt;br /&gt;
data = { tg=tg, params=params, weapon=weapon, ammo=a}&lt;br /&gt;
&lt;br /&gt;
Similar to Combat:attackTarget but with ranged weapons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Combat:archeryHit'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/interface/Archery.lua/archery_projectile&lt;br /&gt;
&lt;br /&gt;
data = { hitted=hitted, target=target, weapon=weapon, ammo=ammo, damtype=damtype, mult=mult, dam=dam}&lt;br /&gt;
&lt;br /&gt;
Triggers when a projectile hits an actor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Combat:attackTarget'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/interface/Combat.lua/attackTarget&lt;br /&gt;
&lt;br /&gt;
data = { target=target, damtype=damtype, mult=mult, noenergy=noenergy}&lt;br /&gt;
&lt;br /&gt;
Triggers when the actor starts to attack but before anything actually happens to weapons are taken into account. Useful for effects that prevent attacking. self is the actor trying to attack, data.target is his &lt;br /&gt;
target, data.damtype is the damage type being applied. Return false to cancel the attack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Combat:attackTargetWith'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/interface/Combat.lua/attackTargetWith&lt;br /&gt;
&lt;br /&gt;
data = { hitted=hitted, crit=crit, target=target, weapon=weapon, damtype=damtype, mult=mult, dam=dam}&lt;br /&gt;
&lt;br /&gt;
Triggers when the actor makes an attack after the weapon and whether it hits or not has been taken into account. Useful for just about any effect or skill that triggers on attack. self is the actor attacking, &lt;br /&gt;
data.target is the target being hit, data.hitted is whether or not the attack hit the target, and data.dam, data.damtype, and data.weapon should be self-evident.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ToME:PlayerDumpJSON'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/interface/PlayerDumpJSON.lua/dumpToJSON&lt;br /&gt;
&lt;br /&gt;
data = { title=title, js=js, tags=tags}&lt;br /&gt;
&lt;br /&gt;
I'm guessing its for appending something to the character data before it is sent to the server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Object:descCombat'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Object.lua/getTextualDesc&lt;br /&gt;
&lt;br /&gt;
data = { compare_with=compare_with, compare_fields=compare_fields, compare_table_fields=compare_table_fields, desc=desc, combat=combat}&lt;br /&gt;
&lt;br /&gt;
Useful for editing the combat stats in an objects tooltips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Object:descWielder'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Object.lua/getTextualDesc&lt;br /&gt;
&lt;br /&gt;
data = { compare_with=compare_with, compare_fields=compare_fields, compare_table_fields=compare_table_fields, desc=desc, w=w}&lt;br /&gt;
&lt;br /&gt;
Useful for editing the weilder stats in an objects tooltips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Object:descMisc'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Object.lua/getTextualDesc&lt;br /&gt;
&lt;br /&gt;
data = { compare_with=compare_with, compare_fields=compare_fields, compare_table_fields=compare_table_fields, desc=desc, object=self}&lt;br /&gt;
&lt;br /&gt;
Should you want to add anything right at the bottom of an items tooltip, this hook is for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Object:descPowerSource'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/Object.lua/getDesc&lt;br /&gt;
&lt;br /&gt;
data = { desc=desc, object=self}&lt;br /&gt;
&lt;br /&gt;
Want to add in new power sources? Use this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UISet:Minimalist:saveSettings'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/uiset/Minimalist.lua/saveSettings&lt;br /&gt;
&lt;br /&gt;
data = { lines=lines}&lt;br /&gt;
&lt;br /&gt;
Not sure, could be for adding framework for dealing with new settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UISet:Minimalist:Resources'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/uiset/Minimalist.lua/displayResources&lt;br /&gt;
&lt;br /&gt;
data = { a=a, player=player, x=x, y=y, bx=bx, by=by, orient=orient, scale=scale}&lt;br /&gt;
&lt;br /&gt;
Use for adding new resource bars.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UISet:Minimalist:Toolbar'''&lt;br /&gt;
&lt;br /&gt;
/mod/class/uiset/Minimalist.lua/displayToolbar&lt;br /&gt;
&lt;br /&gt;
data = { x=x, y=y, bx=bx, by=by, orient=orient, scale=scale, tb_bg=tb_bg}&lt;br /&gt;
&lt;br /&gt;
Something for hooking code into the display of the toolbar. For what end, I have no idea.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DebugMain:use'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/debug/DebugMain.lua/use&lt;br /&gt;
&lt;br /&gt;
data = { act=act}&lt;br /&gt;
&lt;br /&gt;
Use to code new debug commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DebugMain:generate'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/debug/DebugMain.lua/generateList&lt;br /&gt;
&lt;br /&gt;
data = { menu=list}&lt;br /&gt;
&lt;br /&gt;
Use to add new commands to the debug menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DonationDialog:features'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/Donation.lua/init&lt;br /&gt;
&lt;br /&gt;
data = { list=donation_features}&lt;br /&gt;
&lt;br /&gt;
Use to add new features to the list of donator features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GameOptions:HUDs'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/GameOptions.lua/generateList&lt;br /&gt;
&lt;br /&gt;
data = { huds=huds}&lt;br /&gt;
&lt;br /&gt;
Allows the addition of new HUD types to the HUD menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''PlayerLevelup:addTalentType'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/LevelupDialog.lua/learnType&lt;br /&gt;
&lt;br /&gt;
data = { actor=self.actor, tt=tt}&lt;br /&gt;
&lt;br /&gt;
Triggers when a player spends a category point in a category.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''PlayerLevelup:subTalentType'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/LevelupDialog.lua/learnType&lt;br /&gt;
&lt;br /&gt;
data = { actor=self.actor, tt=tt}&lt;br /&gt;
&lt;br /&gt;
Triggers when a player changes their mind and unspends a category point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''EquipInvenDialog:makeUI'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/ShowEquipInven.lua/init&lt;br /&gt;
&lt;br /&gt;
self:triggerHook{&amp;quot;EquipInvenDialog:makeUI&amp;quot;, uis=uis}&lt;br /&gt;
&lt;br /&gt;
Triggers during inventory screen creation. I guess it lets you edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UseItemMenu:use'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/UseItemDialog.lua/use&lt;br /&gt;
&lt;br /&gt;
data = { actor=self.actor, object=self.object, inven=self.inven, item=self.item, act=act, onuse=self.onuse}&lt;br /&gt;
&lt;br /&gt;
Use to add code for new menu items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UseItemMenu:generate'''&lt;br /&gt;
&lt;br /&gt;
/mod/dialogs/UseItemDialog.lua/generateList&lt;br /&gt;
&lt;br /&gt;
data = { actor=self.actor, object=self.object, inven=self.inven, item=self.item, menu=list}&lt;br /&gt;
&lt;br /&gt;
Use to add new menu items to the item action menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ToME:load'''&lt;br /&gt;
&lt;br /&gt;
/mod/load.lua&lt;br /&gt;
&lt;br /&gt;
data = { }&lt;br /&gt;
&lt;br /&gt;
This is where you load up new files for your addon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Quest:escort:reward'''&lt;br /&gt;
&lt;br /&gt;
/data/chats/escort-quest.lua/reward_types&lt;br /&gt;
&lt;br /&gt;
data = { reward_types=reward_types}&lt;br /&gt;
&lt;br /&gt;
Allows editing of the escort rewards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DamageProjector:base'''&lt;br /&gt;
&lt;br /&gt;
/data/damage_types.lua/setDefaultProjector&lt;br /&gt;
&lt;br /&gt;
data = { src=src, x=x, y=y, type=type, dam=dam}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DamageProjector:final'''&lt;br /&gt;
&lt;br /&gt;
/data/damage_types.lua/setDefaultProjector&lt;br /&gt;
&lt;br /&gt;
data = { src=src, x=x, y=y, type=type, dam=dam}&lt;br /&gt;
&lt;br /&gt;
These are similar, but trigger slightly differently. Both trigger when the damage projector is used to put damage on something, such as a spell or other effect. The first one triggers before any other skills &lt;br /&gt;
effects, or calculations are taken into consideration. The other one takes place after this is all done and right before the damage is actually applied. In both cases, data.src is the actor doing the damage, &lt;br /&gt;
data.x and data.y are the locations of the target, data.type is the damage type and data.dam is the actual amount of damage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Quest:escort:assign'''&lt;br /&gt;
&lt;br /&gt;
/data/quests/escort-duty.lua/on_grant&lt;br /&gt;
&lt;br /&gt;
data = { possible_types=possible_types}&lt;br /&gt;
&lt;br /&gt;
This is where you add in (or remove) escortee types.&lt;/div&gt;</summary>
		<author><name>Darkgod</name></author>	</entry>

	</feed>