Difference between revisions of "Script: Spelskil"
From Ultima Online: The Second Age
(Created page with " <span style="color:#0000FF">inherits</span> sndfx; <span id="Q4SW" style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SW(<span style="color:...") |
|||
Line 1: | Line 1: | ||
<span style="color:#0000FF">inherits</span> [[Script:_Sndfx|sndfx]]; | <span style="color:#0000FF">inherits</span> [[Script:_Sndfx|sndfx]]; | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SW(<span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">return</span> ((Q52T - 0x01) * 0x03E8 / 0x07); | <span style="color:#0000FF">return</span> ((Q52T - 0x01) * 0x03E8 / 0x07); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4J5(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q68O) |
{ | { | ||
<span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](user); | <span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](user); | ||
Line 54: | Line 54: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q501(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5F8 = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](it); | <span style="color:#0000FF">int</span> Q5F8 = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](it); | ||
Line 64: | Line 64: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q505(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](it)) | <span style="color:#0000FF">if</span> (![[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](it)) | ||
Line 77: | Line 77: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4ZN(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Script_Function:_Q501|<span style="color:#2B91AF">Q501</span>]](it)) | <span style="color:#0000FF">if</span> ([[Script_Function:_Q501|<span style="color:#2B91AF">Q501</span>]](it)) | ||
Line 94: | Line 94: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> isScroll() |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](this)); | <span style="color:#0000FF">return</span> ([[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](this)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41P(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q4EF) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q4EF > ([[Engine Function:_getCurMana|<span style="color:#FF0000;font-weight:bold">getCurMana</span>]](user))) | <span style="color:#0000FF">if</span> (Q4EF > ([[Engine Function:_getCurMana|<span style="color:#FF0000;font-weight:bold">getCurMana</span>]](user))) | ||
Line 109: | Line 109: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T2(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">int</span> num = [[Engine Function:_getMiscData|<span style="color:#FF0000;font-weight:bold">getMiscData</span>]](it) - 0x01; | <span style="color:#0000FF">int</span> num = [[Engine Function:_getMiscData|<span style="color:#FF0000;font-weight:bold">getMiscData</span>]](it) - 0x01; | ||
Line 115: | Line 115: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SZ(<span style="color:#0000FF">int</span> Q5UX) |
{ | { | ||
<span style="color:#0000FF">return</span> (Q5UX + 0x01); | <span style="color:#0000FF">return</span> (Q5UX + 0x01); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42S(<span style="color:#0000FF">obj</span> Q4XN) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5US = 0x02; | <span style="color:#0000FF">int</span> Q5US = 0x02; | ||
Line 130: | Line 130: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SY(<span style="color:#0000FF">int</span> num) |
{ | { | ||
<span style="color:#0000FF">return</span> ((num / 0x08) + 0x01); | <span style="color:#0000FF">return</span> ((num / 0x08) + 0x01); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SX(<span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">int</span> Q4EF = 0x00; | <span style="color:#0000FF">int</span> Q4EF = 0x00; | ||
Line 168: | Line 168: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4ZA(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> (it == [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]()) | <span style="color:#0000FF">if</span> (it == [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]()) | ||
Line 181: | Line 181: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q49Q(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q55B) |
{ | { | ||
<span style="color:#0000FF">obj</span> rightHand = [[Engine Function:_getItemAtSlot|<span style="color:#FF0000;font-weight:bold">getItemAtSlot</span>]](user, 0x01); | <span style="color:#0000FF">obj</span> rightHand = [[Engine Function:_getItemAtSlot|<span style="color:#FF0000;font-weight:bold">getItemAtSlot</span>]](user, 0x01); | ||
Line 218: | Line 218: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q49R(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">loc</span> usedon, <span style="color:#0000FF">int</span> Q55B) |
{ | { | ||
<span style="color:#0000FF">loc</span> Q671 = [[Engine Function:_getLocation|<span style="color:#FF0000;font-weight:bold">getLocation</span>]](user); | <span style="color:#0000FF">loc</span> Q671 = [[Engine Function:_getLocation|<span style="color:#FF0000;font-weight:bold">getLocation</span>]](user); | ||
Line 229: | Line 229: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4LU(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">loc</span> usedon, <span style="color:#0000FF">int</span> Q5UX, <span style="color:#0000FF">int</span> Q50V) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isPlayer|<span style="color:#FF0000;font-weight:bold">isPlayer</span>]](user)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isPlayer|<span style="color:#FF0000;font-weight:bold">isPlayer</span>]](user)) | ||
Line 259: | Line 259: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4LT(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">loc</span> usedon, <span style="color:#0000FF">obj</span> Q5UY) |
{ | { | ||
<span style="color:#0000FF">int</span> Q50V = [[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](Q5UY); | <span style="color:#0000FF">int</span> Q50V = [[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](Q5UY); | ||
Line 266: | Line 266: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q5YB(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">list</span> Q5BD) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5LS = 0x00; | <span style="color:#0000FF">int</span> Q5LS = 0x00; | ||
Line 303: | Line 303: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4RD(<span style="color:#0000FF">obj</span> user) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isPlayer|<span style="color:#FF0000;font-weight:bold">isPlayer</span>]](user)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isPlayer|<span style="color:#FF0000;font-weight:bold">isPlayer</span>]](user)) | ||
Line 314: | Line 314: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">obj</span> Q4ES(<span style="color:#0000FF">int</span> Q5F8, <span style="color:#0000FF">loc</span> place) |
{ | { | ||
<span style="color:#0000FF">int</span> Q4XW = [[Engine Function:_getTileHeight|<span style="color:#FF0000;font-weight:bold">getTileHeight</span>]](Q5F8); | <span style="color:#0000FF">int</span> Q4XW = [[Engine Function:_getTileHeight|<span style="color:#FF0000;font-weight:bold">getTileHeight</span>]](Q5F8); | ||
Line 327: | Line 327: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q46K(<span style="color:#0000FF">loc</span> where, <span style="color:#0000FF">int</span> Q4VQ) |
{ | { | ||
<span style="color:#0000FF">list</span> Q5FJ; | <span style="color:#0000FF">list</span> Q5FJ; | ||
Line 346: | Line 346: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">obj</span> Q4EQ(<span style="color:#0000FF">int</span> Q5F8, <span style="color:#0000FF">loc</span> place) |
{ | { | ||
<span style="color:#0000FF">int</span> Q4XW = [[Engine Function:_getTileHeight|<span style="color:#FF0000;font-weight:bold">getTileHeight</span>]](Q5F8); | <span style="color:#0000FF">int</span> Q4XW = [[Engine Function:_getTileHeight|<span style="color:#FF0000;font-weight:bold">getTileHeight</span>]](Q5F8); | ||
Line 362: | Line 362: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4SL(<span style="color:#0000FF">list</span> Q5LQ, <span style="color:#0000FF">int</span> Q5UT) |
{ | { | ||
<span style="color:#0000FF">switch</span> (Q5UT) | <span style="color:#0000FF">switch</span> (Q5UT) | ||
Line 562: | Line 562: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">string</span> Q4T5(<span style="color:#0000FF">int</span> Q5UT) |
{ | { | ||
<span style="color:#0000FF">string</span> name; | <span style="color:#0000FF">string</span> name; | ||
Line 763: | Line 763: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">string</span> Q4T0(<span style="color:#0000FF">int</span> Q5UT) |
{ | { | ||
<span style="color:#0000FF">string</span> name; | <span style="color:#0000FF">string</span> name; | ||
Line 964: | Line 964: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">string</span> Q4SQ(<span style="color:#0000FF">int</span> Q5UT) |
{ | { | ||
<span style="color:#0000FF">string</span> name; | <span style="color:#0000FF">string</span> name; | ||
Line 1,165: | Line 1,165: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T1(<span style="color:#0000FF">int</span> num) |
{ | { | ||
<span style="color:#0000FF">return</span> ((num / 0x08) + 0x01); | <span style="color:#0000FF">return</span> ((num / 0x08) + 0x01); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T3(<span style="color:#0000FF">int</span> num) |
{ | { | ||
<span style="color:#0000FF">if</span> ((num < 0x00) || (num > 0x3F)) | <span style="color:#0000FF">if</span> ((num < 0x00) || (num > 0x3F)) | ||
Line 1,195: | Line 1,195: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T4(<span style="color:#0000FF">int</span> num) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Script_Function:_Q4T3|<span style="color:#2B91AF">Q4T3</span>]](num - 0x01)); | <span style="color:#0000FF">return</span> ([[Script_Function:_Q4T3|<span style="color:#2B91AF">Q4T3</span>]](num - 0x01)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">string</span> Q4SR(<span style="color:#0000FF">int</span> Q5UT) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Script_Function:_Q4SQ|<span style="color:#2B91AF">Q4SQ</span>]](Q5UT - 0x01)); | <span style="color:#0000FF">return</span> ([[Script_Function:_Q4SQ|<span style="color:#2B91AF">Q4SQ</span>]](Q5UT - 0x01)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q5YC(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> Q5UY) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](Q5UY)) | <span style="color:#0000FF">if</span> ([[Script_Function:_Q4ZN|<span style="color:#2B91AF">Q4ZN</span>]](Q5UY)) | ||
Line 1,216: | Line 1,216: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4NQ(<span style="color:#0000FF">obj</span> user) |
{ | { | ||
<span style="color:#0000FF">obj</span> rightHand = [[Engine Function:_getItemAtSlot|<span style="color:#FF0000;font-weight:bold">getItemAtSlot</span>]](user, 0x01); | <span style="color:#0000FF">obj</span> rightHand = [[Engine Function:_getItemAtSlot|<span style="color:#FF0000;font-weight:bold">getItemAtSlot</span>]](user, 0x01); | ||
Line 1,236: | Line 1,236: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q558(<span style="color:#0000FF">obj</span> Q487, <span style="color:#0000FF">obj</span> boss, <span style="color:#0000FF">int</span> Q54B, <span style="color:#0000FF">int</span> Q5DC) |
{ | { | ||
<span style="color:#0000FF">list</span> myBoss = boss; | <span style="color:#0000FF">list</span> myBoss = boss; | ||
Line 1,251: | Line 1,251: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42P(<span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">int</span> Q527 = damage * 0x19; | <span style="color:#0000FF">int</span> Q527 = damage * 0x19; | ||
Line 1,261: | Line 1,261: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42Q(<span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">int</span> Q527 = Q52T * 0x32; | <span style="color:#0000FF">int</span> Q527 = Q52T * 0x32; | ||
Line 1,271: | Line 1,271: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4BH(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | ||
Line 1,285: | Line 1,285: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4BI(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | ||
Line 1,299: | Line 1,299: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4CM(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | ||
Line 1,313: | Line 1,313: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4CN(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isDead|<span style="color:#FF0000;font-weight:bold">isDead</span>]](usedon)) | ||
Line 1,327: | Line 1,327: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5UK(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> num, <span style="color:#0000FF">int</span> Q5NO) |
{ | { | ||
<span style="color:#0000FF">if</span> (user == usedon) | <span style="color:#0000FF">if</span> (user == usedon) | ||
Line 1,354: | Line 1,354: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5UL(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">loc</span> where, <span style="color:#0000FF">int</span> num, <span style="color:#0000FF">int</span> Q5NO) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_getCompileFlag|<span style="color:#FF0000;font-weight:bold">getCompileFlag</span>]](0x01)) | <span style="color:#0000FF">if</span> ([[Engine Function:_getCompileFlag|<span style="color:#FF0000;font-weight:bold">getCompileFlag</span>]](0x01)) | ||
Line 1,367: | Line 1,367: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41X(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> target) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5NC = 0x00; | <span style="color:#0000FF">int</span> Q5NC = 0x00; | ||
Line 1,377: | Line 1,377: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4Z7(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Engine Function:_isHuman|<span style="color:#FF0000;font-weight:bold">isHuman</span>]](it)); | <span style="color:#0000FF">return</span> ([[Engine Function:_isHuman|<span style="color:#FF0000;font-weight:bold">isHuman</span>]](it)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q43E(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> target, <span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5NH = damage; | <span style="color:#0000FF">int</span> Q5NH = damage; | ||
Line 1,419: | Line 1,419: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q422(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> target, <span style="color:#0000FF">int</span> damage, <span style="color:#0000FF">int</span> Q5NM) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5CL = [[Script_Function:_Q43E|<span style="color:#2B91AF">Q43E</span>]](Q5U8, target, damage); | <span style="color:#0000FF">int</span> Q5CL = [[Script_Function:_Q43E|<span style="color:#2B91AF">Q43E</span>]](Q5U8, target, damage); | ||
Line 1,430: | Line 1,430: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q423(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> target, <span style="color:#0000FF">int</span> damage, <span style="color:#0000FF">int</span> Q65M, <span style="color:#0000FF">int</span> Q5NM) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5CL = [[Script_Function:_Q43E|<span style="color:#2B91AF">Q43E</span>]](Q5U8, target, damage); | <span style="color:#0000FF">int</span> Q5CL = [[Script_Function:_Q43E|<span style="color:#2B91AF">Q43E</span>]](Q5U8, target, damage); | ||
Line 1,441: | Line 1,441: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41L(<span style="color:#0000FF">obj</span> Q4P2, <span style="color:#0000FF">obj</span> target) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isCounselor|<span style="color:#FF0000;font-weight:bold">isCounselor</span>]](target)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isCounselor|<span style="color:#FF0000;font-weight:bold">isCounselor</span>]](target)) | ||
Line 1,464: | Line 1,464: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q41T(<span style="color:#0000FF">obj</span> scroll, <span style="color:#0000FF">string</span> Q5OL) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q5OL == <span style="color:#800000">""</span>) | <span style="color:#0000FF">if</span> (Q5OL == <span style="color:#800000">""</span>) | ||
Line 1,520: | Line 1,520: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q41U(<span style="color:#0000FF">obj</span> scroll) |
{ | { | ||
<span style="color:#0000FF">int</span> Q57F = [[Engine Function:_getMiscData|<span style="color:#FF0000;font-weight:bold">getMiscData</span>]](scroll); | <span style="color:#0000FF">int</span> Q57F = [[Engine Function:_getMiscData|<span style="color:#FF0000;font-weight:bold">getMiscData</span>]](scroll); | ||
Line 1,533: | Line 1,533: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SS(<span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">int</span> num = 0x00; | <span style="color:#0000FF">int</span> num = 0x00; | ||
Line 1,572: | Line 1,572: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">string</span> Q4T9(<span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">string</span> Q5OK; | <span style="color:#0000FF">string</span> Q5OK; | ||
Line 1,600: | Line 1,600: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T8(<span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">int</span> num = [[Script_Function:_Q4SS|<span style="color:#2B91AF">Q4SS</span>]](Q5VX, Q463); | <span style="color:#0000FF">int</span> num = [[Script_Function:_Q4SS|<span style="color:#2B91AF">Q4SS</span>]](Q5VX, Q463); | ||
Line 1,628: | Line 1,628: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q432(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q463 == 0x00) | <span style="color:#0000FF">if</span> (Q463 == 0x00) | ||
Line 1,637: | Line 1,637: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q43I(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463, <span style="color:#0000FF">int</span> Q4NC) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q463 == 0x00) | <span style="color:#0000FF">if</span> (Q463 == 0x00) | ||
Line 1,656: | Line 1,656: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q43H(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_isMobile|<span style="color:#FF0000;font-weight:bold">isMobile</span>]](user)) | <span style="color:#0000FF">if</span> (![[Engine Function:_isMobile|<span style="color:#FF0000;font-weight:bold">isMobile</span>]](user)) | ||
Line 1,670: | Line 1,670: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41Q(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463, <span style="color:#0000FF">int</span> Q4NC) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q463 == 0x00) | <span style="color:#0000FF">if</span> (Q463 == 0x00) | ||
Line 1,688: | Line 1,688: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4TA(<span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q463) |
{ | { | ||
<span style="color:#0000FF">int</span> num = [[Script_Function:_Q4SS|<span style="color:#2B91AF">Q4SS</span>]](Q5VX, Q463); | <span style="color:#0000FF">int</span> num = [[Script_Function:_Q4SS|<span style="color:#2B91AF">Q4SS</span>]](Q5VX, Q463); | ||
Line 1,709: | Line 1,709: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4T7(<span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q4ID) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q4ID) | <span style="color:#0000FF">if</span> (Q4ID) | ||
Line 1,722: | Line 1,722: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q433(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"reflctor"</span>)); | <span style="color:#0000FF">return</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"reflctor"</span>)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q42D(<span style="color:#0000FF">obj</span> it, <span style="color:#0000FF">int</span> Q5VX, <span style="color:#0000FF">int</span> Q4ID) |
{ | { | ||
<span style="color:#0000FF">int</span> Q463 = 0x01; | <span style="color:#0000FF">int</span> Q463 = 0x01; | ||
Line 1,752: | Line 1,752: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q660(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
[[Engine Function:_setPoisoned|<span style="color:#FF0000;font-weight:bold">setPoisoned</span>]](it, 0x00); | [[Engine Function:_setPoisoned|<span style="color:#FF0000;font-weight:bold">setPoisoned</span>]](it, 0x00); | ||
Line 1,764: | Line 1,764: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q41C(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> target, <span style="color:#0000FF">int</span> Q5NM) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q5NM) | <span style="color:#0000FF">if</span> (Q5NM) | ||
Line 1,777: | Line 1,777: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q49V(<span style="color:#0000FF">obj</span> Q5KD, <span style="color:#0000FF">obj</span> Q5KC, <span style="color:#0000FF">int</span> Q5NM) |
{ | { | ||
<span style="color:#0000FF">obj</span> user = Q5KD; | <span style="color:#0000FF">obj</span> user = Q5KD; | ||
Line 1,809: | Line 1,809: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50O(<span style="color:#0000FF">obj</span> Q4XN) |
{ | { | ||
<span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](Q4XN); | <span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](Q4XN); | ||
Line 1,826: | Line 1,826: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q49W(<span style="color:#0000FF">obj</span> Q4XN, <span style="color:#0000FF">obj</span> Q5KD, <span style="color:#0000FF">obj</span> Q5KC, <span style="color:#0000FF">int</span> Q5NM) |
{ | { | ||
<span style="color:#0000FF">if</span> (Q5KC == [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]()) | <span style="color:#0000FF">if</span> (Q5KC == [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]()) | ||
Line 1,843: | Line 1,843: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5MF(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"reflctor"</span>)) | <span style="color:#0000FF">if</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"reflctor"</span>)) | ||
Line 1,853: | Line 1,853: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42R(<span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">int</span> num; | <span style="color:#0000FF">int</span> num; | ||
Line 1,908: | Line 1,908: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q43F(<span style="color:#0000FF">int</span> Q5TQ, <span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5CL = (damage * (0x32 + Q5TQ)) / 0x64; | <span style="color:#0000FF">int</span> Q5CL = (damage * (0x32 + Q5TQ)) / 0x64; | ||
Line 1,914: | Line 1,914: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q43G(<span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">obj</span> Q4XN, <span style="color:#0000FF">int</span> damage) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5TQ = 0x00; | <span style="color:#0000FF">int</span> Q5TQ = 0x00; | ||
Line 1,948: | Line 1,948: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q428(<span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">int</span> Q45Y, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> dest, <span style="color:#0000FF">int</span> Q65M, <span style="color:#0000FF">int</span> Q5NQ) |
{ | { | ||
<span style="color:#0000FF">int</span> damage = Q45Y; | <span style="color:#0000FF">int</span> damage = Q45Y; | ||
Line 1,976: | Line 1,976: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q427(<span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">int</span> Q5UW, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> dest, <span style="color:#0000FF">int</span> Q65M, <span style="color:#0000FF">int</span> Q5NQ) |
{ | { | ||
<span style="color:#0000FF">int</span> damage = [[Script_Function:_Q42R|<span style="color:#2B91AF">Q42R</span>]](Q5UW); | <span style="color:#0000FF">int</span> damage = [[Script_Function:_Q42R|<span style="color:#2B91AF">Q42R</span>]](Q5UW); | ||
Line 1,982: | Line 1,982: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q429(<span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> dest, <span style="color:#0000FF">int</span> Q65M, <span style="color:#0000FF">int</span> Q5NQ) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5UW = [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY); | <span style="color:#0000FF">int</span> Q5UW = [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY); | ||
Line 1,988: | Line 1,988: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42B(<span style="color:#0000FF">int</span> range, <span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">int</span> Q45Y, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">list</span> Q5YQ, <span style="color:#0000FF">int</span> Q65M) |
{ | { | ||
<span style="color:#0000FF">int</span> num = [[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q5YQ); | <span style="color:#0000FF">int</span> num = [[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q5YQ); | ||
Line 2,021: | Line 2,021: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42A(<span style="color:#0000FF">int</span> range, <span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">int</span> Q5UW, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">list</span> Q5YQ, <span style="color:#0000FF">int</span> Q65M) |
{ | { | ||
<span style="color:#0000FF">int</span> damage = [[Script_Function:_Q42R|<span style="color:#2B91AF">Q42R</span>]](Q5UW); | <span style="color:#0000FF">int</span> damage = [[Script_Function:_Q42R|<span style="color:#2B91AF">Q42R</span>]](Q5UW); | ||
Line 2,027: | Line 2,027: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q42C(<span style="color:#0000FF">int</span> range, <span style="color:#0000FF">obj</span> Q5UY, <span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">list</span> Q5YQ, <span style="color:#0000FF">int</span> Q65M) |
{ | { | ||
<span style="color:#0000FF">int</span> Q5UW = [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY); | <span style="color:#0000FF">int</span> Q5UW = [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY); | ||
Line 2,033: | Line 2,033: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5LZ(<span style="color:#0000FF">obj</span> Q4XN, <span style="color:#0000FF">int</span> Q4AT, <span style="color:#0000FF">int</span> Q540, <span style="color:#0000FF">int</span> Q4VZ) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_hasCallback|<span style="color:#FF0000;font-weight:bold">hasCallback</span>]](Q4XN, Q4AT)) | <span style="color:#0000FF">if</span> (![[Engine Function:_hasCallback|<span style="color:#FF0000;font-weight:bold">hasCallback</span>]](Q4XN, Q4AT)) | ||
Line 2,042: | Line 2,042: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41G(<span style="color:#0000FF">obj</span> it, <span style="color:#0000FF">int</span> Q463, <span style="color:#0000FF">int</span> Q5JO, <span style="color:#0000FF">int</span> Q5BI) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](it)) | <span style="color:#0000FF">if</span> (![[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](it)) | ||
Line 2,087: | Line 2,087: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41W(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> dest, <span style="color:#0000FF">int</span> Q5NM, <span style="color:#0000FF">int</span> Q524, <span style="color:#0000FF">int</span> Q54K) |
{ | { | ||
<span style="color:#0000FF">obj</span> Q5AQ = Q5U8; | <span style="color:#0000FF">obj</span> Q5AQ = Q5U8; | ||
Line 2,126: | Line 2,126: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q41J(<span style="color:#0000FF">obj</span> Q5U8, <span style="color:#0000FF">obj</span> dest, <span style="color:#0000FF">int</span> Q5NM, <span style="color:#0000FF">obj</span> Q5UY) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Script_Function:_Q41W|<span style="color:#2B91AF">Q41W</span>]](Q5U8, dest, Q5NM, 0x01, [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY))); | <span style="color:#0000FF">return</span> ([[Script_Function:_Q41W|<span style="color:#2B91AF">Q41W</span>]](Q5U8, dest, Q5NM, 0x01, [[Script_Function:_Q42S|<span style="color:#2B91AF">Q42S</span>]](Q5UY))); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4WO(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q68D) |
{ | { | ||
[[Engine Function:_superTargetObj|<span style="color:#FF0000;font-weight:bold">superTargetObj</span>]](Q68S, Q68D, 0x01); | [[Engine Function:_superTargetObj|<span style="color:#FF0000;font-weight:bold">superTargetObj</span>]](Q68S, Q68D, 0x01); | ||
Line 2,137: | Line 2,137: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4WN(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q68D, <span style="color:#0000FF">int</span> range) |
{ | { | ||
[[Engine Function:_superTargetLoc|<span style="color:#FF0000;font-weight:bold">superTargetLoc</span>]](Q68S, Q68D, 0x01, range); | [[Engine Function:_superTargetLoc|<span style="color:#FF0000;font-weight:bold">superTargetLoc</span>]](Q68S, Q68D, 0x01, range); | ||
Line 2,143: | Line 2,143: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q48A(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q68D) |
{ | { | ||
[[Engine Function:_superTargetObj|<span style="color:#FF0000;font-weight:bold">superTargetObj</span>]](Q68S, Q68D, 0x02); | [[Engine Function:_superTargetObj|<span style="color:#FF0000;font-weight:bold">superTargetObj</span>]](Q68S, Q68D, 0x02); | ||
Line 2,149: | Line 2,149: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q489(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q68D, <span style="color:#0000FF">int</span> range) |
{ | { | ||
[[Engine Function:_superTargetLoc|<span style="color:#FF0000;font-weight:bold">superTargetLoc</span>]](Q68S, Q68D, 0x02, range); | [[Engine Function:_superTargetLoc|<span style="color:#FF0000;font-weight:bold">superTargetLoc</span>]](Q68S, Q68D, 0x02, range); | ||
Line 2,155: | Line 2,155: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q554(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">int</span> Q4NC) |
{ | { | ||
[[Engine Function:_setCriminal|<span style="color:#FF0000;font-weight:bold">setCriminal</span>]](Q68S, Q4NC); | [[Engine Function:_setCriminal|<span style="color:#FF0000;font-weight:bold">setCriminal</span>]](Q68S, Q4NC); | ||
Line 2,161: | Line 2,161: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">loc</span> Q5I9(<span style="color:#0000FF">obj</span> Q68S) |
{ | { | ||
<span style="color:#0000FF">loc</span> Q4G3 = [[Engine Function:_getLocation|<span style="color:#FF0000;font-weight:bold">getLocation</span>]](Q68S); | <span style="color:#0000FF">loc</span> Q4G3 = [[Engine Function:_getLocation|<span style="color:#FF0000;font-weight:bold">getLocation</span>]](Q68S); | ||
Line 2,173: | Line 2,173: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4RN(<span style="color:#0000FF">obj</span> caster, <span style="color:#0000FF">int</span> Q52T) |
{ | { | ||
<span style="color:#0000FF">return</span> (0x0F + (([[Engine Function:_getSkillLevel|<span style="color:#FF0000;font-weight:bold">getSkillLevel</span>]](caster, 0x19) * 0x02) / Q52T)); | <span style="color:#0000FF">return</span> (0x0F + (([[Engine Function:_getSkillLevel|<span style="color:#FF0000;font-weight:bold">getSkillLevel</span>]](caster, 0x19) * 0x02) / Q52T)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4YT(<span style="color:#0000FF">obj</span> Q68S) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_hasCallback|<span style="color:#FF0000;font-weight:bold">hasCallback</span>]](Q68S, 0x80)) | <span style="color:#0000FF">if</span> ([[Engine Function:_hasCallback|<span style="color:#FF0000;font-weight:bold">hasCallback</span>]](Q68S, 0x80)) | ||
Line 2,187: | Line 2,187: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4SV(<span style="color:#0000FF">int</span> Q5US, <span style="color:#0000FF">int</span> Q5UX) |
{ | { | ||
<span style="color:#0000FF">switch</span> (Q5UX) | <span style="color:#0000FF">switch</span> (Q5UX) | ||
Line 2,216: | Line 2,216: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q507(<span style="color:#0000FF">obj</span> Q68S) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](Q68S, <span style="color:#800000">"targeting"</span>)); | <span style="color:#0000FF">return</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](Q68S, <span style="color:#800000">"targeting"</span>)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q4M9(<span style="color:#0000FF">obj</span> spell, <span style="color:#0000FF">obj</span> caster) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Script_Function:_Q4YT|<span style="color:#2B91AF">Q4YT</span>]](caster) || [[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](caster)) | <span style="color:#0000FF">if</span> ([[Script_Function:_Q4YT|<span style="color:#2B91AF">Q4YT</span>]](caster) || [[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](caster)) | ||
Line 2,249: | Line 2,249: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">obj</span> Q4BB(<span style="color:#0000FF">obj</span> this, <span style="color:#0000FF">list</span> args) |
{ | { | ||
<span style="color:#0000FF">obj</span> user = args[0x00]; | <span style="color:#0000FF">obj</span> user = args[0x00]; | ||
Line 2,260: | Line 2,260: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q508(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"teleporter"</span>)) | <span style="color:#0000FF">if</span> ([[Engine Function:_hasScript|<span style="color:#FF0000;font-weight:bold">hasScript</span>]](it, <span style="color:#800000">"teleporter"</span>)) | ||
Line 2,353: | Line 2,353: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q509(<span style="color:#0000FF">loc</span> where, <span style="color:#0000FF">int</span> range) |
{ | { | ||
<span style="color:#0000FF">list</span> Q5FJ; | <span style="color:#0000FF">list</span> Q5FJ; | ||
Line 2,369: | Line 2,369: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q657(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">int</span> objtype, <span style="color:#0000FF">loc</span> place, <span style="color:#0000FF">int</span> Q67X, <span style="color:#0000FF">int</span> Q5EC, <span style="color:#0000FF">int</span> walldur, <span style="color:#0000FF">int</span> Q4UK, <span style="color:#0000FF">int</span> Q4H9) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_canSeeLoc|<span style="color:#FF0000;font-weight:bold">canSeeLoc</span>]](user, place)) | <span style="color:#0000FF">if</span> (![[Engine Function:_canSeeLoc|<span style="color:#FF0000;font-weight:bold">canSeeLoc</span>]](user, place)) | ||
Line 2,401: | Line 2,401: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5RD(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q5UY) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](Q68S)) | <span style="color:#0000FF">if</span> (![[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](Q68S)) | ||
Line 2,411: | Line 2,411: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4C8(<span style="color:#0000FF">obj</span> Q68S, <span style="color:#0000FF">obj</span> Q5UY) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](Q68S)) | <span style="color:#0000FF">if</span> (![[Script_Function:_Q507|<span style="color:#2B91AF">Q507</span>]](Q68S)) | ||
Line 2,428: | Line 2,428: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q504(<span style="color:#0000FF">obj</span> caster, <span style="color:#0000FF">int</span> Q5US) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_getSkillSuccessChance|<span style="color:#FF0000;font-weight:bold">getSkillSuccessChance</span>]](caster, 0x19, [[Script_Function:_Q4SW|<span style="color:#2B91AF">Q4SW</span>]](Q5US), 0x28) >= 0x01F4) | <span style="color:#0000FF">if</span> ([[Engine Function:_getSkillSuccessChance|<span style="color:#FF0000;font-weight:bold">getSkillSuccessChance</span>]](caster, 0x19, [[Script_Function:_Q4SW|<span style="color:#2B91AF">Q4SW</span>]](Q5US), 0x28) >= 0x01F4) | ||
Line 2,437: | Line 2,437: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4A8(<span style="color:#0000FF">obj</span> caster, <span style="color:#0000FF">int</span> Q5US) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_getSkillSuccessChance|<span style="color:#FF0000;font-weight:bold">getSkillSuccessChance</span>]](caster, 0x19, [[Script_Function:_Q4SW|<span style="color:#2B91AF">Q4SW</span>]](Q5US), 0x28) > 0x00) | <span style="color:#0000FF">if</span> ([[Engine Function:_getSkillSuccessChance|<span style="color:#FF0000;font-weight:bold">getSkillSuccessChance</span>]](caster, 0x19, [[Script_Function:_Q4SW|<span style="color:#2B91AF">Q4SW</span>]](Q5US), 0x28) > 0x00) | ||
Line 2,446: | Line 2,446: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50H(<span style="color:#0000FF">obj</span> caster, <span style="color:#0000FF">obj</span> victim) |
{ | { | ||
<span style="color:#0000FF">if</span> (caster == victim) | <span style="color:#0000FF">if</span> (caster == victim) | ||
Line 2,463: | Line 2,463: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q556(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isNPC|<span style="color:#FF0000;font-weight:bold">isNPC</span>]](it)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isNPC|<span style="color:#FF0000;font-weight:bold">isNPC</span>]](it)) | ||
Line 2,478: | Line 2,478: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50L(<span style="color:#0000FF">loc</span> where) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isInRegionWithPrefix|<span style="color:#FF0000;font-weight:bold">isInRegionWithPrefix</span>]](<span style="color:#800000">"teleportation_in_no"</span>, where)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isInRegionWithPrefix|<span style="color:#FF0000;font-weight:bold">isInRegionWithPrefix</span>]](<span style="color:#800000">"teleportation_in_no"</span>, where)) | ||
Line 2,487: | Line 2,487: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50M(<span style="color:#0000FF">loc</span> where) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isInRegionWithPrefix|<span style="color:#FF0000;font-weight:bold">isInRegionWithPrefix</span>]](<span style="color:#800000">"teleportation_out_no"</span>, where)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isInRegionWithPrefix|<span style="color:#FF0000;font-weight:bold">isInRegionWithPrefix</span>]](<span style="color:#800000">"teleportation_out_no"</span>, where)) | ||
Line 2,496: | Line 2,496: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q5UM(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> usedon, <span style="color:#0000FF">int</span> range) |
{ | { | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_canSeeObj|<span style="color:#FF0000;font-weight:bold">canSeeObj</span>]](user, usedon)) | <span style="color:#0000FF">if</span> (![[Engine Function:_canSeeObj|<span style="color:#FF0000;font-weight:bold">canSeeObj</span>]](user, usedon)) | ||
Line 2,511: | Line 2,511: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q4ZK(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
<span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](it); | <span style="color:#0000FF">int</span> Q65M = [[Engine Function:_getObjType|<span style="color:#FF0000;font-weight:bold">getObjType</span>]](it); | ||
Line 2,526: | Line 2,526: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q46M(<span style="color:#0000FF">loc</span> where, <span style="color:#0000FF">obj</span> Q68S) |
{ | { | ||
<span style="color:#0000FF">list</span> Q5FJ; | <span style="color:#0000FF">list</span> Q5FJ; | ||
Line 2,545: | Line 2,545: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q46L(<span style="color:#0000FF">loc</span> where) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Script_Function:_Q46M|<span style="color:#2B91AF">Q46M</span>]](where, [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]())); | <span style="color:#0000FF">return</span> ([[Script_Function:_Q46M|<span style="color:#2B91AF">Q46M</span>]](where, [[Engine Function:_NULL|<span style="color:#FF0000;font-weight:bold">NULL</span>]]())); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50G(<span style="color:#0000FF">obj</span> usedon) |
{ | { | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isMobile|<span style="color:#FF0000;font-weight:bold">isMobile</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isMobile|<span style="color:#FF0000;font-weight:bold">isMobile</span>]](usedon)) | ||
Line 2,568: | Line 2,568: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50J(<span style="color:#0000FF">obj</span> usedon) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](usedon)); | <span style="color:#0000FF">return</span> ([[Engine Function:_isValid|<span style="color:#FF0000;font-weight:bold">isValid</span>]](usedon)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q50F(<span style="color:#0000FF">loc</span> place) |
{ | { | ||
<span style="color:#0000FF">return</span> ([[Engine Function:_isInMap|<span style="color:#FF0000;font-weight:bold">isInMap</span>]](place)); | <span style="color:#0000FF">return</span> ([[Engine Function:_isInMap|<span style="color:#FF0000;font-weight:bold">isInMap</span>]](place)); | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5UQ(<span style="color:#0000FF">obj</span> it) |
{ | { | ||
[[Engine Function:_shortcallback|<span style="color:#FF0000;font-weight:bold">shortcallback</span>]](it, 0x01, 0x48); | [[Engine Function:_shortcallback|<span style="color:#FF0000;font-weight:bold">shortcallback</span>]](it, 0x01, 0x48); | ||
Line 2,584: | Line 2,584: | ||
} | } | ||
− | <span | + | <span style="color:#0000FF">function</span> <span style="color:#0000FF">void</span> Q5UR(<span style="color:#0000FF">obj</span> it, <span style="color:#0000FF">int</span> Q5NC) |
{ | { | ||
<span style="color:#0000FF">if</span> (!Q5NC) | <span style="color:#0000FF">if</span> (!Q5NC) |
Revision as of 06:47, 5 October 2018
inherits sndfx;
function int Q4SW(int Q52T) { return ((Q52T - 0x01) * 0x03E8 / 0x07); }
function void Q4J5(obj user, int Q68O) { int Q65M = getObjType(user); if (Q65M < 0xC8) { if (Q65M == 0x16) { animateMobile(user, 0x04 + Q68O - 0x01, 0x04, 0x01, 0x00, 0x00); return (); } if ((Q65M != 0x18) && (Q65M != 0x09) && (Q65M != 0x0A) && (Q65M != 0x04)) { return (); } switch (Q68O) { case 0x01 animateMobile(user, 0x0C, 0x07, 0x01, 0x00, 0x00); break; case 0x02 case 0x03 animateMobile(user, 0x0D, 0x07, 0x01, 0x00, 0x00); break; } } else { if (Q65M >= 0x0190) { if (getItemAtSlot(user, 0x19) != NULL()) { return (); } switch (Q68O) { case 0x01 animateMobile(user, 0x10, 0x07, 0x01, 0x00, 0x00); break; case 0x02 case 0x03 animateMobile(user, 0x11, 0x06, 0x01, 0x00, 0x00); break; } } } return (); }
function int Q501(obj it) { int Q5F8 = getObjType(it); if ((Q5F8 < 0x1F2D) || (Q5F8 > 0x1F6C)) { return (0x00); } return (0x01); }
function int Q505(obj it) { if (!isValid(it)) { return (0x00) } if (getObjType(it) == 0x0EFA) { return (0x01); } return (0x00); }
function int Q4ZN(obj it) { if (Q501(it)) { obj container = containedBy(it); if (container == NULL()) { return (0x01); } if (!Q505(container)) { return (0x01); } } return (0x00); }
function int isScroll() { return (Q4ZN(this)); }
function int Q41P(obj user, int Q4EF) { if (Q4EF > (getCurMana(user))) { barkToHued(user, user, 0x22, "Insufficient mana for this spell."); return (0x00); } return (0x01); }
function int Q4T2(obj it) { int num = getMiscData(it) - 0x01; return (num); }
function int Q4SZ(int Q5UX) { return (Q5UX + 0x01); }
function int Q42S(obj Q4XN) { int Q5US = 0x02; if (Q501(Q4XN)) { Q5US = (Q4T2(Q4XN) / 0x08) + 0x01; } return (Q5US); }
function int Q4SY(int num) { return ((num / 0x08) + 0x01); }
function int Q4SX(int Q52T) { int Q4EF = 0x00; switch (Q52T) { case 0x01 Q4EF = 0x04; break; case 0x02 Q4EF = 0x06; break; case 0x03 Q4EF = 0x09; break; case 0x04 Q4EF = 0x0B; break; case 0x05 Q4EF = 0x0E; break; case 0x06 Q4EF = 0x14; break; case 0x07 Q4EF = 0x28; break; case 0x08 Q4EF = 0x32; break; } return (Q4EF); }
function int Q4ZA(obj it) { if (it == NULL()) { return (0x01); } if (Q505(it)) { return (0x01); } return (0x00); }
function int Q49Q(obj user, int Q55B) { obj rightHand = getItemAtSlot(user, 0x01); obj leftHand = getItemAtSlot(user, 0x02); if (!Q4ZA(rightHand)) { barkToHued(user, user, 0x22, "Your hands must be free to cast spells."); return (0x00); } if (getCompileFlag(0x01)) { if (!Q4ZA(leftHand)) { barkToHued(user, user, 0x22, "Your hands must be free to cast spells."); return (0x00); } } else { if ((!isUsingVirtueShield(user)) && (!Q4ZA(leftHand))) { barkToHued(user, user, 0x22, "Your hands must be free to cast spells."); return (0x00); } } if (!Q41P(user, Q55B)) { barkToHued(user, user, 0x22, "Not enough mana to cast this spell."); return (0x00); } if (isDead(user)) { return (0x00); } return (0x01); }
function int Q49R(obj user, loc usedon, int Q55B) { loc Q671 = getLocation(user); if ((!areSpellsOkay(usedon)) || (!areSpellsOkay(Q671))) { barkToHued(user, user, 0x22, "You can not cast spells here."); return (0x00); } return (Q49Q(user, Q55B)); }
function int Q4LU(obj user, loc usedon, int Q5UX, int Q50V) { if (isPlayer(user)) { if (hasObjVar(user, "spellCastersLevel")) { removeObjVar(user, "spellCastersLevel"); } } Q662(user, 0x00); int Q5US = Q4SY(Q5UX); int Q55B = Q4SX(Q5US); if (!Q49R(user, usedon, Q55B)) { return (0x00); } int Q5TG = 0x00; if (Q50V) { Q5TG = 0x02; } int Q4IB = Q4SW(Q5US - Q5TG); if (testAndLearnSkill(user, 0x19, Q4IB, 0x28) <= 0x00) { return (0x00); } loseMana(user, Q55B); return (0x01); }
function int Q4LT(obj user, loc usedon, obj Q5UY) { int Q50V = Q4ZN(Q5UY); int Q5UX = Q4T2(Q5UY); return (Q4LU(user, usedon, Q5UX, Q50V)); }
function int Q5YB(obj user, list Q5BD) { int Q5LS = 0x00; int Q526 = 0x00; for(int Q4CK = 0x00; (Q4CK < numInList(Q5BD)) && (Q526 == 0x00); Q4CK++) { Q5LS = Q5BD[Q4CK]; if (getGeneric(user, Q5LS) <= 0x00) { Q526 = 0x01; break; } } if (Q526 == 0x01) { if (isPlayer(user)) { barkToHued(user, user, 0x22, "More reagents are needed for this spell."); } return (0x00); } else { for(int Q4SK = 0x00; Q4SK < numInList(Q5BD); Q4SK++) { Q5LS = Q5BD[Q4SK]; destroyGeneric(user, Q5LS, 0x01); } return (0x01); } if (isPlayer(user)) { bark(user, "BUG! Please report: Invalid takeReagent return."); } return (0x00); }
function void Q4RD(obj user) { if (isPlayer(user)) { barkTo(user, user, "The spell fizzles."); } doMobAnimation(user, 0x3735, 0x06, 0x1E, 0x00, 0x00); sfx(getLocation(user), 0x5C, 0x00); return (); }
function obj Q4ES(int Q5F8, loc place) { int Q4XW = getTileHeight(Q5F8); int Q5JN = getZ(place) + 0x10; int Q5BH = getZ(place) - 0x10; setZ(place, findGoodZ(place, Q5BH, Q5JN, Q4XW, 0x01)); if (getZ(place) != (0x00 - 0x80)) { return (createGlobalObjectAt(Q5F8, place)); } return (NULL()); }
function int Q46K(loc where, int Q4VQ) { list Q5FJ; int Q57E = getZ(where); int Q56I = Q57E + Q4VQ; getObjectsAtInZRange(Q5FJ, where, Q57E, Q56I); int num = numInList(Q5FJ); obj it; for(int i = 0x00; i < num; i++) { it = Q5FJ[i]; if (hasScript(it, "crtwall")) { return (0x01); } } return (0x00); }
function obj Q4EQ(int Q5F8, loc place) { int Q4XW = getTileHeight(Q5F8); int Q5JN = getZ(place) + 0x10; int Q5BH = getZ(place) - 0x10; setZ(place, findGoodZ(place, Q5BH, Q5JN, Q4XW, 0x01)); if (getZ(place) != (0x00 - 0x80)) { if (!Q46K(place, Q4XW)) { return (createGlobalObjectAt(Q5F8, place)); } } return (NULL()); }
function void Q4SL(list Q5LQ, int Q5UT) { switch (Q5UT) { case 0x00 Q5LQ = 0x0F7B, 0x0F88; break; case 0x01 Q5LQ = 0x0F84, 0x0F85, 0x0F86; break; case 0x02 Q5LQ = 0x0F85, 0x0F88; break; case 0x03 Q5LQ = 0x0F84, 0x0F85, 0x0F8D; break; case 0x04 Q5LQ = 0x0F7A, 0x0F88; break; case 0x05 Q5LQ = 0x0F8D, 0x0F8C; break; case 0x06 Q5LQ = 0x0F84, 0x0F8C, 0x0F8D; break; case 0x07 Q5LQ = 0x0F84, 0x0F88; break; case 0x08 Q5LQ = 0x0F7B, 0x0F86; break; case 0x09 Q5LQ = 0x0F86, 0x0F88; break; case 0x0A Q5LQ = 0x0F84, 0x0F85; break; case 0x0B Q5LQ = 0x0F88, 0x0F8D; break; case 0x0C Q5LQ = 0x0F84, 0x0F8C, 0x0F8D; break; case 0x0D Q5LQ = 0x0F7B, 0x0F8C; break; case 0x0E Q5LQ = 0x0F84, 0x0F85, 0x0F8C; break; case 0x0F Q5LQ = 0x0F86, 0x0F88; break; case 0x10 Q5LQ = 0x0F84, 0x0F86; break; case 0x11 Q5LQ = 0x0F7A, 0x0F8C; break; case 0x12 Q5LQ = 0x0F8C, 0x0F7B, 0x0F84; break; case 0x13 Q5LQ = 0x0F88; break; case 0x14 Q5LQ = 0x0F7B, 0x0F86; break; case 0x15 Q5LQ = 0x0F7B, 0x0F86; break; case 0x16 Q5LQ = 0x0F7B, 0x0F8C; break; case 0x17 Q5LQ = 0x0F7B, 0x0F84; break; case 0x18 Q5LQ = 0x0F84, 0x0F85, 0x0F86; break; case 0x19 Q5LQ = 0x0F84, 0x0F85, 0x0F86, 0x0F8C; break; case 0x1A Q5LQ = 0x0F84, 0x0F88, 0x0F8C; break; case 0x1B Q5LQ = 0x0F7A, 0x0F8D, 0x0F8C; break; case 0x1C Q5LQ = 0x0F84, 0x0F85, 0x0F86, 0x0F8D; break; case 0x1D Q5LQ = 0x0F7A, 0x0F86, 0x0F8C; break; case 0x1E Q5LQ = 0x0F7A, 0x0F86, 0x0F8D; break; case 0x1F Q5LQ = 0x0F7A, 0x0F7B, 0x0F86; break; case 0x20 Q5LQ = 0x0F7A, 0x0F86, 0x0F88; break; case 0x21 Q5LQ = 0x0F84, 0x0F7A, 0x0F8D, 0x0F8C; break; case 0x22 Q5LQ = 0x0F7B, 0x0F84, 0x0F88; break; case 0x23 Q5LQ = 0x0F84, 0x0F86, 0x0F8D; break; case 0x24 Q5LQ = 0x0F7A, 0x0F86, 0x0F88, 0x0F8C; break; case 0x25 Q5LQ = 0x0F84, 0x0F86, 0x0F8D; break; case 0x26 Q5LQ = 0x0F7A, 0x0F88, 0x0F8D; break; case 0x27 Q5LQ = 0x0F7B, 0x0F86, 0x0F8D; break; case 0x28 Q5LQ = 0x0F84, 0x0F86, 0x0F8C; break; case 0x29 Q5LQ = 0x0F7A, 0x0F88; break; case 0x2A Q5LQ = 0x0F7A, 0x0F86, 0x0F8C; break; case 0x2B Q5LQ = 0x0F7B, 0x0F88; break; case 0x2C Q5LQ = 0x0F7A, 0x0F7B, 0x0F86; break; case 0x2D Q5LQ = 0x0F84, 0x0F86, 0x0F88, 0x0F8C; break; case 0x2E Q5LQ = 0x0F7A, 0x0F85, 0x0F8D; break; case 0x2F Q5LQ = 0x0F7B, 0x0F8C; break; case 0x30 Q5LQ = 0x0F7A, 0x0F7B, 0x0F86, 0x0F8C; break; case 0x31 Q5LQ = 0x0F7A, 0x0F86, 0x0F8D, 0x0F8C; break; case 0x32 Q5LQ = 0x0F8D, 0x0F8C; break; case 0x33 Q5LQ = 0x0F7A, 0x0F86, 0x0F8C; break; case 0x34 Q5LQ = 0x0F86, 0x0F7A, 0x0F7B, 0x0F8D; break; case 0x35 Q5LQ = 0x0F7A, 0x0F84, 0x0F86, 0x0F8C; break; case 0x36 Q5LQ = 0x0F7B, 0x0F8D, 0x0F86, 0x0F8C; break; case 0x37 Q5LQ = 0x0F7B, 0x0F86, 0x0F8D; break; case 0x38 Q5LQ = 0x0F7B, 0x0F85, 0x0F86, 0x0F8C; break; case 0x39 Q5LQ = 0x0F7A, 0x0F7B, 0x0F86, 0x0F88; break; case 0x3A Q5LQ = 0x0F7B, 0x0F84, 0x0F85; break; case 0x3B Q5LQ = 0x0F7B, 0x0F86, 0x0F8D; break; case 0x3C Q5LQ = 0x0F7B, 0x0F86, 0x0F8D, 0x0F8C; break; case 0x3D Q5LQ = 0x0F7B, 0x0F86, 0x0F8D; break; case 0x3E Q5LQ = 0x0F7B, 0x0F86, 0x0F8D, 0x0F8C; break; case 0x3F Q5LQ = 0x0F7B, 0x0F86, 0x0F8D; break; } return (); }
function string Q4T5(int Q5UT) { string name; switch (Q5UT) { case 0x00 name = "Uus Jux"; break; case 0x01 name = "In Mani Ylem"; break; case 0x02 name = "Rel Wis"; break; case 0x03 name = "In Mani"; break; case 0x04 name = "In Por Ylem"; break; case 0x05 name = "In Lor"; break; case 0x06 name = "Flam Sanct"; break; case 0x07 name = "Des Mani"; break; case 0x08 name = "Ex Uus"; break; case 0x09 name = "Uus Wis"; break; case 0x0A name = "An Nox"; break; case 0x0B name = "An Mani"; break; case 0x0C name = "In Jux"; break; case 0x0D name = "An Jux"; break; case 0x0E name = "Uus Sanct"; break; case 0x0F name = "Uus Mani"; break; case 0x10 name = "Rel Sanct"; break; case 0x11 name = "Vas Flam"; break; case 0x12 name = "An Por"; break; case 0x13 name = "In Nox"; break; case 0x14 name = "Ort Por Ylem"; break; case 0x15 name = "Rel Por"; break; case 0x16 name = "Ex Por"; break; case 0x17 name = "In Sanct Ylem"; break; case 0x18 name = "Vas An Nox"; break; case 0x19 name = "Vas Uus Sanct"; break; case 0x1A name = "Des Sanct"; break; case 0x1B name = "In Flam Grav"; break; case 0x1C name = "In Vas Mani"; break; case 0x1D name = "Por Ort Grav"; break; case 0x1E name = "Ort Rel"; break; case 0x1F name = "Kal Ort Por"; break; case 0x20 name = "In Jux Hur Ylem"; break; case 0x21 name = "An Grav"; break; case 0x22 name = "Kal In Ex"; break; case 0x23 name = "In Jux Sanct"; break; case 0x24 name = "Por Corp Wis"; break; case 0x25 name = "An Ex Por"; break; case 0x26 name = "In Nox Grav"; break; case 0x27 name = "Kal Xen"; break; case 0x28 name = "An Ort"; break; case 0x29 name = "Corp Por"; break; case 0x2A name = "Vas Ort Flam"; break; case 0x2B name = "An Lor Xen"; break; case 0x2C name = "Kal Por Ylem"; break; case 0x2D name = "Vas Des Sanct"; break; case 0x2E name = "In Ex Grav"; break; case 0x2F name = "Wis Quas"; break; case 0x30 name = "Vas Ort Grav"; break; case 0x31 name = "In Sanct Grav"; break; case 0x32 name = "Kal Vas Flam"; break; case 0x33 name = "Vas Rel Por"; break; case 0x34 name = "Ort Sanct"; break; case 0x35 name = "Vas An Ort"; break; case 0x36 name = "Flam Kal Des Ylem"; break; case 0x37 name = "Vas Ylem Rel"; break; case 0x38 name = "In Vas Por"; break; case 0x39 name = "Vas Corp Por"; break; case 0x3A name = "An Corp"; break; case 0x3B name = "Kal Vas Xen Hur"; break; case 0x3C name = "Kal Vas Xen Corp"; break; case 0x3D name = "Kal Vas Xen Ylem"; break; case 0x3E name = "Kal Vas Xen Flam"; break; case 0x3F name = "Kal Vas Xen An Flam"; break; } return (name); }
function string Q4T0(int Q5UT) { string name; switch (Q5UT) { case 0x00 name = "Clumsy"; break; case 0x01 name = "Create Food"; break; case 0x02 name = "Feeblemind"; break; case 0x03 name = "Heal"; break; case 0x04 name = "Magic Arrow"; break; case 0x05 name = "Night Sight"; break; case 0x06 name = "Reactive Armor"; break; case 0x07 name = "Weaken"; break; case 0x08 name = "Agility"; break; case 0x09 name = "Cunning"; break; case 0x0A name = "Cure"; break; case 0x0B name = "Harm"; break; case 0x0C name = "Magic Trap"; break; case 0x0D name = "Magic Untrap"; break; case 0x0E name = "Protection"; break; case 0x0F name = "Strength"; break; case 0x10 name = "Bless"; break; case 0x11 name = "Fireball"; break; case 0x12 name = "Magic Lock"; break; case 0x13 name = "Poison"; break; case 0x14 name = "Telekinesis"; break; case 0x15 name = "Teleport"; break; case 0x16 name = "Unlock"; break; case 0x17 name = "Wall of Stone"; break; case 0x18 name = "Archcure"; break; case 0x19 name = "Archprotection"; break; case 0x1A name = "Curse"; break; case 0x1B name = "Fire Field"; break; case 0x1C name = "Greater Heal"; break; case 0x1D name = "Lightning"; break; case 0x1E name = "Mana Drain"; break; case 0x1F name = "Recall"; break; case 0x20 name = "Blade Spirits"; break; case 0x21 name = "Dispel Field"; break; case 0x22 name = "Incognito"; break; case 0x23 name = "Magic Reflection"; break; case 0x24 name = "Mind Blast"; break; case 0x25 name = "Paralyze"; break; case 0x26 name = "Poison Field"; break; case 0x27 name = "Summon Creature"; break; case 0x28 name = "Dispel"; break; case 0x29 name = "Energy Bolt"; break; case 0x2A name = "Explosion"; break; case 0x2B name = "Invisibility"; break; case 0x2C name = "Mark"; break; case 0x2D name = "Mass Curse"; break; case 0x2E name = "Paralyze Field"; break; case 0x2F name = "Reveal"; break; case 0x30 name = "Chain Lightning"; break; case 0x31 name = "Energy Field"; break; case 0x32 name = "Flamestrike"; break; case 0x33 name = "Gate Travel"; break; case 0x34 name = "Mana Vampire"; break; case 0x35 name = "Mass Dispel"; break; case 0x36 name = "Meteor Swarm"; break; case 0x37 name = "Polymorph"; break; case 0x38 name = "Earthquake"; break; case 0x39 name = "Energy Vortex"; break; case 0x3A name = "Resurrection"; break; case 0x3B name = "Summon Air Elemental"; break; case 0x3C name = "Summon Daemon"; break; case 0x3D name = "Summon Earth Elemental"; break; case 0x3E name = "Summon Fire Elemental"; break; case 0x3F name = "Summon Water Elemental"; break; } return (name); }
function string Q4SQ(int Q5UT) { string name; switch (Q5UT) { case 0x00 name = "clumsy"; break; case 0x01 name = "creatfod"; break; case 0x02 name = "feblmind"; break; case 0x03 name = "heal"; break; case 0x04 name = "magarrow"; break; case 0x05 name = "nitesite"; break; case 0x06 name = "reactarm"; break; case 0x07 name = "weaken"; break; case 0x08 name = "agility"; break; case 0x09 name = "cunning"; break; case 0x0A name = "cure"; break; case 0x0B name = "harm"; break; case 0x0C name = "magctrap"; break; case 0x0D name = "mguntrap"; break; case 0x0E name = "protect"; break; case 0x0F name = "strength"; break; case 0x10 name = "bless"; break; case 0x11 name = "fireball"; break; case 0x12 name = "magclock"; break; case 0x13 name = "poison"; break; case 0x14 name = "telknsis"; break; case 0x15 name = "teleport"; break; case 0x16 name = "unlock"; break; case 0x17 name = "wallston"; break; case 0x18 name = "archcure"; break; case 0x19 name = "aprotect"; break; case 0x1A name = "curse"; break; case 0x1B name = "firefild"; break; case 0x1C name = "grtheal"; break; case 0x1D name = "lightng"; break; case 0x1E name = "manadran"; break; case 0x1F name = "recall"; break; case 0x20 name = "bldsprts"; break; case 0x21 name = "dsplfild"; break; case 0x22 name = "incognto"; break; case 0x23 name = "magrflct"; break; case 0x24 name = "mindblst"; break; case 0x25 name = "paralyze"; break; case 0x26 name = "posnfild"; break; case 0x27 name = "summoncr"; break; case 0x28 name = "dispel"; break; case 0x29 name = "nrgybolt"; break; case 0x2A name = "exploson"; break; case 0x2B name = "invis"; break; case 0x2C name = "mark"; break; case 0x2D name = "mascurse"; break; case 0x2E name = "parafild"; break; case 0x2F name = "reveal"; break; case 0x30 name = "chainltg"; break; case 0x31 name = "nrgyfild"; break; case 0x32 name = "flamstrk"; break; case 0x33 name = "gatetrvl"; break; case 0x34 name = "manavamp"; break; case 0x35 name = "massdspl"; break; case 0x36 name = "meteor"; break; case 0x37 name = "polymrph"; break; case 0x38 name = "earthquk"; break; case 0x39 name = "nrgyvrtx"; break; case 0x3A name = "resurect"; break; case 0x3B name = "sumaire"; break; case 0x3C name = "sumdaem"; break; case 0x3D name = "sumearth"; break; case 0x3E name = "sumfire"; break; case 0x3F name = "sumh2o"; break; } return (name); }
function int Q4T1(int num) { return ((num / 0x08) + 0x01); }
function int Q4T3(int num) { if ((num < 0x00) || (num > 0x3F)) { return (0x00 - 0x01); } int Q5NC; if (num == 0x06) { Q5NC = 0x1F2D; } else { if ((num >= 0x00) && (num <= 0x05)) { Q5NC = 0x1F2E + num; } else { Q5NC = 0x1F34 + num - 0x07; } } return (Q5NC); }
function int Q4T4(int num) { return (Q4T3(num - 0x01)); }
function string Q4SR(int Q5UT) { return (Q4SQ(Q5UT - 0x01)); }
function int Q5YC(obj user, obj Q5UY) { if (Q4ZN(Q5UY)) { return (0x01); } list Q5LQ; Q4SL(Q5LQ, Q4T2(Q5UY)); return (Q5YB(user, Q5LQ)); }
function int Q4NQ(obj user) { obj rightHand = getItemAtSlot(user, 0x01); obj leftHand = getItemAtSlot(user, 0x02); if (leftHand != NULL()) { if (isWeapon(leftHand)) { barkToHued(user, user, 0x22, "You must have a free hand to drink a potion."); return (0x00); } if (rightHand != NULL()) { barkToHued(user, user, 0x22, "You must have a free hand to drink a potion."); return (0x00); } } return (0x01); }
function int Q558(obj Q487, obj boss, int Q54B, int Q5DC) { list myBoss = boss; setObjVar(Q487, "myBoss", myBoss); setObjVar(Q487, "myLoyalty", Q54B); if (Q5DC) { setObjVar(Q487, "isPet", 0x01); } makeBeelineFailPathfind(Q487, 0x01); disableBehaviors(Q487); attachScript(Q487, "pet"); return (0x01); }
function int Q42P(int damage) { int Q527 = damage * 0x19; if (Q527 > 0x03E8) { Q527 = 0x03E8; } return (Q527); }
function int Q42Q(int Q52T) { int Q527 = Q52T * 0x32; if (Q527 > 0x03E8) { Q527 = 0x03E8; } return (Q527); }
function int Q4BH(obj user, obj usedon, int damage) { if (isDead(usedon)) { return (0x00); } if (testAndLearnSkill(usedon, 0x1A, Q42P(damage), 0x32) > 0x00) { systemMessage(usedon, "You feel yourself resisting magical energy!"); return ((damage + 0x01) / 0x02); } return (damage); }
function int Q4BI(obj user, obj usedon, int damage) { if (isDead(usedon)) { return (0x00); } if (Q5ZJ(usedon, 0x1A, Q42P(damage), 0x28) > 0x00) { systemMessage(usedon, "You feel yourself resisting magical energy!"); return ((damage + 0x01) / 0x02); } return (damage); }
function int Q4CM(obj user, obj usedon, int Q52T) { if (isDead(usedon)) { return (0x00); } if (testAndLearnSkill(usedon, 0x1A, Q42Q(Q52T), 0x32) > 0x00) { systemMessage(usedon, "You feel yourself resisting magical energy!"); return (0x01); } return (0x00); }
function int Q4CN(obj user, obj usedon, int Q52T) { if (isDead(usedon)) { return (0x00); } if (Q5ZJ(usedon, 0x1A, Q42Q(Q52T), 0x28) > 0x00) { systemMessage(usedon, "You feel yourself resisting magical energy!"); return (0x01); } return (0x00); }
function void Q5UK(obj user, obj usedon, int num, int Q5NO) { if (user == usedon) { return (); } obj Q49N = user; obj victim = usedon; if (Q5NO) { Q49N = usedon; victim = user; } if (getCompileFlag(0x01)) { if (!canBeFreelyAggressedBy(victim, Q49N)) { committedCrimeAt(Q49N, getLocation(victim), 0x01E0); } } else { callGuards(Q49N, getLocation(victim), num); } return (); }
function void Q5UL(obj user, loc where, int num, int Q5NO) { if (getCompileFlag(0x01)) { committedCrimeAt(user, where, 0x01E0); } else { callGuards(user, where, num); } return (); }
function int Q41X(obj user, obj target) { int Q5NC = 0x00; if (hasScript(target, "reflctor")) { Q5NC = 0x01; } return (Q5NC); }
function int Q4Z7(obj it) { return (isHuman(it)); }
function int Q43E(obj Q5U8, obj target, int damage) { int Q5NH = damage; int Q5DD = 0x01; int Q5T9 = 0x00; if (Q5U8 != NULL()) { loc Q5TR = getLocation(Q5U8); Q5T9 = inJusticeRegion(Q5TR); if (isNPC(Q5U8)) { if (!Q4Z7(Q5U8)) { Q5DD = 0x00; } } } int Q637 = 0x00; if (target != NULL()) { loc Q639 = getLocation(target); Q637 = inJusticeRegion(Q639); if (isNPC(target)) { if (!Q4Z7(target)) { Q5DD = 0x00; } } } if (Q5DD && (Q5T9 || Q637)) { Q5NH = 0x00; } return (Q5NH); }
function void Q422(obj Q5U8, obj target, int damage, int Q5NM) { int Q5CL = Q43E(Q5U8, target, damage); if (Q5NM) { doDamage(target, Q5U8, 0x00); } doDamage(Q5U8, target, Q5CL); return (); }
function void Q423(obj Q5U8, obj target, int damage, int Q65M, int Q5NM) { int Q5CL = Q43E(Q5U8, target, damage); if (Q5NM) { doDamage(target, Q5U8, 0x00); } doDamageType(Q5U8, target, Q5CL, Q65M); return (); }
function int Q41L(obj Q4P2, obj target) { if (isCounselor(target)) { return (0x00); } int Q5NC = 0x00; loc Q4P3 = getLocation(Q4P2); int Q6A1 = getZ(Q4P3); loc Q5YV = getLocation(target); int Q6A3 = getZ(Q5YV); int Q4HE = 0x08; if (Q6A3 >= Q6A1) { int Q63Q = Q6A1 + Q4HE; if (Q6A3 <= Q63Q) { Q5NC = 0x01; } } return (Q5NC); }
function void Q41T(obj scroll, string Q5OL) { if (Q5OL == "") { return (); } string Q5FL; int objtype = getObjType(scroll); Q5FL = objtype; if (!hasScript(scroll, Q5FL)) { attachScript(scroll, Q5FL); } if (!hasScript(scroll, Q5OL)) { attachScript(scroll, Q5OL); } if (hasScript(scroll, "magscroll")) { detachScript(scroll, "magscroll"); } list Q5OO; getScripts(Q5OO, scroll); int Q5F0 = 0x00; int Q5EV = 0x00; int Q5ET = 0x00; int Q5EX = 0x00; int Q4QI = 0x00; int Q5EY = numInList(Q5OO); for(int i = 0x00; i < Q5EY; i++) { Q4QI = 0x00; string Q4GF = Q5OO[i]; if (Q4GF == Q5OL) { Q5F0++; Q4QI = 0x01; } if (Q4GF == Q5FL) { Q5EV++; Q4QI = 0x01; } if (Q4GF == "vended") { Q5EX++; Q4QI = 0x01; } if (!Q4QI) { detachScript(scroll, Q4GF); } } return (); }
function void Q41U(obj scroll) { int Q57F = getMiscData(scroll); int objtype = getObjType(scroll); if (objtype != Q4T4(Q57F)) { deleteObject(scroll); return (); } Q41T(scroll, Q4SR(Q57F)); return (); }
function int Q4SS(int Q5VX, int Q463) { int num = 0x00; switch (Q5VX) { case 0x00 if (Q463 > 0x00) { num = 0x01; } else { num = 0x02; } break; case 0x01 if (Q463 > 0x00) { num = 0x03; } else { num = 0x04; } break; case 0x02 if (Q463 > 0x00) { num = 0x05; } else { num = 0x06; } break; } return (num); }
function string Q4T9(int Q5VX, int Q463) { string Q5OK; int num = Q4SS(Q5VX, Q463); switch (num) { case 0x01 Q5OK = "strup"; break; case 0x02 Q5OK = "strdown"; break; case 0x03 Q5OK = "dexup"; break; case 0x04 Q5OK = "dexdown"; break; case 0x05 Q5OK = "intup"; break; case 0x06 Q5OK = "intdown"; break; } return (Q5OK); }
function int Q4T8(int Q5VX, int Q463) { int num = Q4SS(Q5VX, Q463); int Q5NC = 0x00; switch (num) { case 0x01 Q5NC = 0x67; break; case 0x02 Q5NC = 0x68; break; case 0x03 Q5NC = 0x69; break; case 0x04 Q5NC = 0x6A; break; case 0x05 Q5NC = 0x6B; break; case 0x06 Q5NC = 0x6C; break; } return (Q5NC); }
function int Q432(obj user, int Q5VX, int Q463) { if (Q463 == 0x00) { return (0x00); } return (hasScript(user, Q4T9(Q5VX, Q463))); }
function void Q43I(obj user, int Q5VX, int Q463, int Q4NC) { if (Q463 == 0x00) { return (); } if (!isMobile(user)) { return (); } string Q5OK = Q4T9(Q5VX, Q463); int Q4AT = Q4T8(Q5VX, Q463); setObjVar(user, Q5OK, Q463); int Q4I5 = modifyStat(user, Q5VX, Q463); attachScript(user, Q5OK); callback(user, Q4NC, Q4AT); return (); }
function void Q43H(obj user, int Q5VX, int Q463) { if (!isMobile(user)) { return (); } if (Q463 == 0x00) { return (); } int Q5NC = modifyStat(user, Q5VX, Q463); return (); }
function int Q41Q(obj user, int Q5VX, int Q463, int Q4NC) { if (Q463 == 0x00) { return (0x01); } if (!isMobile(user)) { return (0x00); } if (!Q432(user, Q5VX, Q463)) { Q43I(user, Q5VX, Q463, Q4NC); return (0x01); } return (0x00); }
function int Q4TA(int Q5VX, int Q463) { int num = Q4SS(Q5VX, Q463); switch (num) { case 0x01 return (0x01EE); case 0x02 return (0x01E6); case 0x03 return (0x01E7); case 0x04 return (0x01DF); case 0x05 return (0x01EB); case 0x06 return (0x01E4); } return (0x00); }
function int Q4T7(int Q5VX, int Q4ID) { if (Q4ID) { return (0x375A); } else { return (0x3779); } return (0x00); }
function int Q433(obj it) { return (hasScript(it, "reflctor")); }
function void Q42D(obj it, int Q5VX, int Q4ID) { int Q463 = 0x01; if (!Q4ID) { Q463 = 0x00 - 0x01; } if (!isMobile(it)) { return (); } string name = Q4T9(Q5VX, Q463); if (hasObjVar(it, name)) { Q463 = getObjVar(it, name); Q43H(it, Q5VX, 0x00 - Q463); removeObjVar(it, name); } if (hasScript(it, name)) { detachScript(it, name); } return (); }
function void Q660(obj it) { setPoisoned(it, 0x00); if (hasObjVar(it, "poison_strength")) { removeObjVar(it, "poison_strength"); } detachScript(it, "poisoned"); handleHealthGain(it); return (); }
function void Q41C(obj Q5U8, obj target, int Q5NM) { if (Q5NM) { scriptTrig(Q5U8, 0x01, target); } else { scriptTrig(target, 0x01, Q5U8); } return (); }
function int Q49V(obj Q5KD, obj Q5KC, int Q5NM) { obj user = Q5KD; obj usedon = Q5KC; if (Q5NM) { user = Q5KC; usedon = Q5KD; } if (usedon == NULL()) { return (0x00); } if (Q5KC != NULL()) { if (getTopmostContainer(Q5KC) != Q5KD) { if (!canSeeObj(user, usedon)) { systemMessage(user, "Target can not be seen."); return (0x00); } if (getDistanceInTiles(getLocation(user), getLocation(usedon)) > 0x0C) { systemMessage(user, "Target is too far away."); return (0x00); } } } return (0x01); }
function int Q50O(obj Q4XN) { int Q65M = getObjType(Q4XN); switch (Q65M) { case 0x0DF2 case 0x0DF3 case 0x0DF4 case 0x0DF5 case 0x13F8 case 0x13F9 return (0x01); break; } return (0x00); }
function int Q49W(obj Q4XN, obj Q5KD, obj Q5KC, int Q5NM) { if (Q5KC == NULL()) { return (0x00); } if (Q50O(Q4XN)) { if ((!isEquipped(Q4XN)) || (containedBy(Q4XN) != Q5KD)) { systemMessage(Q5KD, "You must equip this item to use it."); return (0x00); } } return (Q49V(Q5KD, Q5KC, Q5NM)); }
function void Q5MF(obj it) { if (hasScript(it, "reflctor")) { doMobAnimation(it, 0x37B9, 0x0A, 0x05, 0x00, 0x00); detachScript(it, "reflctor"); } return (); }
function int Q42R(int Q52T) { int num; int die; int Q5J6; switch (Q52T) { case 0x01 num = 0x01; die = 0x03; Q5J6 = 0x03; break; case 0x02 num = 0x01; die = 0x08; Q5J6 = 0x04; break; case 0x03 num = 0x04; die = 0x04; Q5J6 = 0x04; break; case 0x04 num = 0x03; die = 0x08; Q5J6 = 0x05; break; case 0x05 num = 0x05; die = 0x08; Q5J6 = 0x06; break; case 0x06 num = 0x06; die = 0x08; Q5J6 = 0x08; break; case 0x07 num = 0x07; die = 0x08; Q5J6 = 0x0A; break; case 0x08 num = 0x07; die = 0x08; Q5J6 = 0x0A; break; default return (0x00); break; } int damage = (num * random(0x01, die)) + Q5J6; return (damage); }
function int Q43F(int Q5TQ, int damage) { int Q5CL = (damage * (0x32 + Q5TQ)) / 0x64; return (Q5CL); }
function int Q43G(obj Q5UY, obj Q4XN, int damage) { int Q5TQ = 0x00; if (isValid(Q5UY)) { if (hasObjVar(Q5UY, "magicItemDamage")) { int Q54V = getObjVar(Q5UY, "magicItemDamage"); Q5TQ = Q54V * 0x0A; } else { if (isValid(Q4XN)) { if (isMobile(Q4XN)) { Q5TQ = getSkillLevel(Q4XN, 0x19); } } } } else { if (isValid(Q4XN)) { if (isMobile(Q4XN)) { Q5TQ = getSkillLevel(Q4XN, 0x19); } } } return (Q43F(Q5TQ, damage)); }
function int Q428(obj Q5UY, int Q45Y, obj Q5U8, obj dest, int Q65M, int Q5NQ) { int damage = Q45Y; if (isNPC(dest)) { damage = Q45Y * 0x02; } obj caster = Q5U8; if (Q5NQ) { caster = dest; } damage = Q43G(Q5UY, caster, damage); if (isValid(dest)) { if (inJusticeRegion(getLocation(dest))) { damage = Q4BI(Q5U8, dest, damage); } else { damage = Q4BH(Q5U8, dest, damage); } } Q423(Q5U8, dest, damage, Q65M, Q5NQ); return (damage); }
function int Q427(obj Q5UY, int Q5UW, obj Q5U8, obj dest, int Q65M, int Q5NQ) { int damage = Q42R(Q5UW); return (Q428(Q5UY, damage, Q5U8, dest, Q65M, Q5NQ)); }
function int Q429(obj Q5UY, obj Q5U8, obj dest, int Q65M, int Q5NQ) { int Q5UW = Q42S(Q5UY); return (Q427(Q5UY, Q5UW, Q5U8, dest, Q65M, Q5NQ)); }
function int Q42B(int range, obj Q5UY, int Q45Y, obj Q5U8, list Q5YQ, int Q65M) { int num = numInList(Q5YQ); int damage = Q45Y; if (num > 0x01) { damage = damage * 0x02; } int Q5I0 = damage / num; if ((Q45Y > 0x00) && (Q5I0 <= 0x00)) { Q5I0 = 0x01; } obj Q5HY; int Q527; loc Q5UF = getLocation(Q5U8); loc Q4HT; int Q4IJ; int Q5KX; for(int i = 0x00; i < num; i++) { Q5HY = Q5YQ[i]; if (isValid(Q5HY)) { Q4HT = getLocation(Q5HY); Q4IJ = getDistanceInTiles(Q5UF, Q4HT); Q527 = Q428(Q5UY, Q5I0, Q5U8, Q5HY, Q65M, 0x00); scriptTrig(Q5HY, 0x01, Q5U8); } } return (Q45Y); }
function int Q42A(int range, obj Q5UY, int Q5UW, obj Q5U8, list Q5YQ, int Q65M) { int damage = Q42R(Q5UW); return (Q42B(range, Q5UY, damage, Q5U8, Q5YQ, Q65M)); }
function int Q42C(int range, obj Q5UY, obj Q5U8, list Q5YQ, int Q65M) { int Q5UW = Q42S(Q5UY); return (Q42A(range, Q5UY, Q5UW, Q5U8, Q5YQ, Q65M)); }
function void Q5LZ(obj Q4XN, int Q4AT, int Q540, int Q4VZ) { if (!hasCallback(Q4XN, Q4AT)) { shortcallback(Q4XN, random(Q540, Q4VZ), Q4AT); } return (); }
function int Q41G(obj it, int Q463, int Q5JO, int Q5BI) { if (!isValid(it)) { return (0x00); } int Q4FJ; Q4FJ = getNotoriety(it); int Q5C3 = Q4FJ + Q463; if (Q463 > 0x00) { if (Q4FJ > Q5JO) { Q5C3 = Q4FJ; } else { if (Q5C3 > Q5JO) { Q5C3 = Q5JO; } } } if (Q463 < 0x00) { if (Q4FJ < Q5BI) { Q5C3 = Q4FJ; } else { if (Q5C3 < Q5BI) { Q5C3 = Q5BI; } } } if (Q5C3 != Q4FJ) { setNotoriety(it, Q5C3); return (0x01); } return (0x00); }
function int Q41W(obj Q5U8, obj dest, int Q5NM, int Q524, int Q54K) { obj Q5AQ = Q5U8; obj Q5A9 = dest; if (Q5AQ == Q5A9) { return (0x00); } if (Q5NM) { Q5AQ = dest; Q5A9 = Q5U8; } if (getCompileFlag(0x01)) { if (Q524 == 0x01) { receiveHelpfulActionFrom(Q5A9, Q5AQ); int value = getKarma(Q5A9) / 0x05; changeKarma(Q5AQ, value); } } if (!getCompileFlag(0x01)) { int Q4IA = NotorietyCompare(Q5AQ, Q5A9); if ((Q524 == 0x01) && (Q4IA == 0x01) && (!Q4BD(Q5A9, Q5AQ))) { int Q463 = 0x00 - ((Q54K + 0x01) / 0x02); int Q5BI = (0x00 - (((Q54K + 0x01) / 0x02) * 0x18)); if (Q41G(Q5AQ, Q463, 0x00, Q5BI)) { systemMessage(Q5AQ, "That action is frowned upon."); } return (Q463); } } return (0x00); }
function int Q41J(obj Q5U8, obj dest, int Q5NM, obj Q5UY) { return (Q41W(Q5U8, dest, Q5NM, 0x01, Q42S(Q5UY))); }
function void Q4WO(obj Q68S, obj Q68D) { superTargetObj(Q68S, Q68D, 0x01); return (); }
function void Q4WN(obj Q68S, obj Q68D, int range) { superTargetLoc(Q68S, Q68D, 0x01, range); return (); }
function void Q48A(obj Q68S, obj Q68D) { superTargetObj(Q68S, Q68D, 0x02); return (); }
function void Q489(obj Q68S, obj Q68D, int range) { superTargetLoc(Q68S, Q68D, 0x02, range); return (); }
function void Q554(obj Q68S, int Q4NC) { setCriminal(Q68S, Q4NC); return (); }
function loc Q5I9(obj Q68S) { loc Q4G3 = getLocation(Q68S); loc Q4BA = Q4G3; int find = findGoodSpotNearMin(Q4BA, 0x01, 0x01, 0x10, 0x01); if ((!find) || (!Q4ZZ(Q68S, Q4BA)) || (!canSeeLoc(Q68S, Q4BA))) { Q4BA = (0x00 - 0x01), (0x00 - 0x01), (0x00 - 0x01); } return (Q4BA); }
function int Q4RN(obj caster, int Q52T) { return (0x0F + ((getSkillLevel(caster, 0x19) * 0x02) / Q52T)); }
function int Q4YT(obj Q68S) { if (hasCallback(Q68S, 0x80)) { return (0x01); } return (0x00); }
function int Q4SV(int Q5US, int Q5UX) { switch (Q5UX) { case 0x20 return ((Q5US + 0x01) * 0x05); break; case 0x27 return ((Q5US + 0x01) * 0x05); break; case 0x3B return ((Q5US + 0x01) * 0x05); break; case 0x3C return ((Q5US + 0x01) * 0x05); break; case 0x3D return ((Q5US + 0x01) * 0x05); break; case 0x3E return ((Q5US + 0x01) * 0x05); break; case 0x3F return ((Q5US + 0x01) * 0x05); break; } return (Q5US + 0x01); }
function int Q507(obj Q68S) { return (hasScript(Q68S, "targeting")); }
function void Q4M9(obj spell, obj caster) { if (Q4YT(caster) || Q507(caster)) { systemMessage(caster, "You are already casting a spell."); return (); } if (getMobFlag(caster, 0x02)) { systemMessage(caster, "You can not cast a spell while frozen."); return (); } int Q5UX = Q4T2(spell); int Q5US = Q4SY(Q5UX); int Q55B = Q4SX(Q5US); if (!Q49Q(caster, Q55B)) { return (); } setObjVar(caster, "spellObj", spell); attachScript(caster, "casting"); int Q4H9 = Q4SV(Q5US, Q5UX); shortcallback(caster, Q4H9, 0x80); shortcallback(caster, 0x00, 0x82); bark(caster, Q4T5(Q4T2(spell))); return (); }
function obj Q4BB(obj this, list args) { obj user = args[0x00]; obj Q4WD = getTopmostContainer(this); if ((Q4WD != NULL()) && (Q4WD != user)) { user = NULL(); } return (user); }
function int Q508(obj it) { if (hasScript(it, "teleporter")) { return (0x01); } if (hasScript(it, "dec_teleport")) { return (0x01); } if (hasScript(it, "des1_ankh_tele_1")) { return (0x01); } if (hasScript(it, "des1_ankh_tele_2")) { return (0x01); } if (hasScript(it, "despise_teleporter_four")) { return (0x01); } if (hasScript(it, "despise_teleporter_one")) { return (0x01); } if (hasScript(it, "despise_teleporter_three")) { return (0x01); } if (hasScript(it, "despise_teleporter_two")) { return (0x01); } if (hasScript(it, "dest_tele_one")) { return (0x01); } if (hasScript(it, "sha_tele_new")) { return (0x01); } if (hasScript(it, "sha_teleporter")) { return (0x01); } if (hasScript(it, "sha_teleporter2")) { return (0x01); } if (hasScript(it, "sha_teleporter3")) { return (0x01); } if (hasScript(it, "sha_teleporter4")) { return (0x01); } if (hasScript(it, "sha_teleporter5")) { return (0x01); } if (hasScript(it, "sha_teleporter6")) { return (0x01); } if (hasScript(it, "sha_teleporter7")) { return (0x01); } if (hasScript(it, "sha_teler_lever_2")) { return (0x01); } if (hasScript(it, "sha_teler_switch")) { return (0x01); } if (hasScript(it, "sha_teleroom_lever")) { return (0x01); } if (hasScript(it, "sha_teleroom_wall")) { return (0x01); } if (hasScript(it, "trap_tele_gen_er_one")) { return (0x01); } return (0x00); }
function int Q509(loc where, int range) { list Q5FJ; getObjectsInRange(Q5FJ, where, range); int num = numInList(Q5FJ); for(int i = 0x00; i < num; i++) { obj it = Q5FJ[i]; if (Q508(it)) { return (0x01); } } return (0x00); }
function int Q657(obj user, int objtype, loc place, int Q67X, int Q5EC, int walldur, int Q4UK, int Q4H9) { if (!canSeeLoc(user, place)) { return (0x00); } if (Q509(place, 0x03)) { return (0x00); } obj Q4EZ = Q4EQ(objtype, place); if (Q4EZ != NULL()) { Q5RC(Q4EZ, user); copyControllerInfo(Q4EZ, user); setObjVar(Q4EZ, "newType", Q67X); setObjVar(Q4EZ, "walltype", Q5EC); setObjVar(Q4EZ, "walldur", walldur); attachScript(Q4EZ, "crtwall"); shortcallback(Q4EZ, Q4H9, 0x2E); if (!getCompileFlag(0x01)) { if (Q4UK) { Q5UL(user, place, 0x01, 0x00); } } return (0x01); } return (0x00); }
function void Q5RD(obj Q68S, obj Q5UY) { if (!Q507(Q68S)) { attachScript(Q68S, "targeting"); } setObjVar(Q68S, "targetingForObj", Q5UY); return (); }
function int Q4C8(obj Q68S, obj Q5UY) { if (!Q507(Q68S)) { return (0x00); } obj Q4D2; Q4D2 = getObjVar(Q68S, "targetingForObj"); if (Q5UY != Q4D2) { return (0x00); } detachScript(Q68S, "targeting"); removeObjVar(Q68S, "targetingForObj"); return (0x01); }
function int Q504(obj caster, int Q5US) { if (getSkillSuccessChance(caster, 0x19, Q4SW(Q5US), 0x28) >= 0x01F4) { return (0x01); } return (0x00); }
function int Q4A8(obj caster, int Q5US) { if (getSkillSuccessChance(caster, 0x19, Q4SW(Q5US), 0x28) > 0x00) { return (0x01); } return (0x00); }
function int Q50H(obj caster, obj victim) { if (caster == victim) { return (0x00); } if (getMobFlag(victim, 0x02)) { return (0x00); } if (isInvulnerable(victim)) { return (0x00); } return (0x01); }
function void Q556(obj it) { if (isNPC(it)) { if (Q50H(NULL(), it)) { loc where = getLocation(it); setX(where, getX(where) + random(0x00, 0x0A) - 0x05); setY(where, getY(where) + random(0x00, 0x0A) - 0x05); walkTo(it, where, 0x17); } } return (); }
function int Q50L(loc where) { if (isInRegionWithPrefix("teleportation_in_no", where)) { return (0x00); } return (0x01); }
function int Q50M(loc where) { if (isInRegionWithPrefix("teleportation_out_no", where)) { return (0x00); } return (0x01); }
function int Q5UM(obj user, obj usedon, int range) { if (!canSeeObj(user, usedon)) { systemMessage(user, "Target cannot be seen."); return (0x00); } if (getDistanceInTiles(getLocation(user), getLocation(usedon)) > range) { systemMessage(user, "Target is too far away."); return (0x00); } return (0x01); }
function int Q4ZK(obj it) { int Q65M = getObjType(it); switch (Q65M) { case 0x0F6C return (0x01); break; default return (0x00); break; } return (0x00); }
function int Q46M(loc where, obj Q68S) { list Q5FJ; getObjectsAt(Q5FJ, where); int num = numInList(Q5FJ); for(int i = 0x00; i < num; i++) { obj it = Q5FJ[i]; if (it != Q68S) { if (Q4ZK(it)) { return (0x01); } } } return (0x00); }
function int Q46L(loc where) { return (Q46M(where, NULL())); }
function int Q50G(obj usedon) { if (isMobile(usedon)) { if (!isDead(usedon)) { if (!isCounselor(usedon)) { if (!getMobFlag(usedon, 0x01)) { return (0x01); } } } } return (0x00); }
function int Q50J(obj usedon) { return (isValid(usedon)); }
function int Q50F(loc place) { return (isInMap(place)); }
function void Q5UQ(obj it) { shortcallback(it, 0x01, 0x48); return (); }
function void Q5UR(obj it, int Q5NC) { if (!Q5NC) { shortcallback(it, 0x01, 0x48); } return (); }