Difference between revisions of "Script Function: Q65B"
From Ultima Online: The Second Age
(Created page with " <span style="color:#0000FF">function</span> <span style="color:#0000FF">int</span> Q65B(<span style="color:#0000FF">obj</span> user, <span style="color:#0000FF">obj</span> u...") |
|||
Line 3: | Line 3: | ||
<span style="color:#0000FF">if</span> ([[Engine Function:_isAtHome|<span style="color:#FF0000;font-weight:bold">isAtHome</span>]](usedon)) | <span style="color:#0000FF">if</span> ([[Engine Function:_isAtHome|<span style="color:#FF0000;font-weight:bold">isAtHome</span>]](usedon)) | ||
{ | { | ||
− | [[Engine Function:_systemMessage|<span style="color:#FF0000;font-weight:bold">systemMessage</span>]](user, <span style="color:#800000">"That scroll belongs to someone | + | [[Engine Function:_systemMessage|<span style="color:#FF0000;font-weight:bold">systemMessage</span>]](user, <span style="color:#800000">"That scroll belongs to someone else."</span>); |
<span style="color:#0000FF">if</span> ([[Engine Function:_hasObjVar|<span style="color:#FF0000;font-weight:bold">hasObjVar</span>]](usedon, <span style="color:#800000">"inUse"</span>)) | <span style="color:#0000FF">if</span> ([[Engine Function:_hasObjVar|<span style="color:#FF0000;font-weight:bold">hasObjVar</span>]](usedon, <span style="color:#800000">"inUse"</span>)) | ||
{ | { |
Latest revision as of 14:31, 12 October 2018
function int Q65B(obj user, obj usedon) { if (isAtHome(usedon)) { systemMessage(user, "That scroll belongs to someone else."); if (hasObjVar(usedon, "inUse")) { removeObjVar(usedon, "inUse"); } return (0x00); } obj Q5UJ = mobileContainsObjType(user, 0x0EFA); if (isValid(Q5UJ)) { int Q5UP; int Q5LN; obj Q626; int Q5UU; int Q5US; int Q627; int Q4AQ = getCurMana(user); int Q625; obj Q5LO; int Q65R; list Q5BD; int Q5E5; int Q4VA; list Q47B; string Q5X2; loc Q66U = getLocation(user); getContents(Q5V0, Q5UJ); int Q5EA; Q5EA = numInList(Q5V0); sortList(Q5V0, 0x04); for(Q5UP = 0x00; Q5UP < Q5EA; Q5UP++) { Q626 = Q5V0[Q5UP]; Q5UU = Q4T2(Q626); Q5US = Q42S(Q626); Q627 = Q4SX(Q5US); if (!Q4A8(Q62D, Q5US)) { Q5UP++; continue; } if (Q4AQ < Q627) { Q5UP++; continue; } Q5X2 = Q4T0(Q5UU); switch (Q5US) { case 0x01 appendToList(Q4PF, Q5UU + 0x2080); appendToList(Q4PF, Q5X2); break; case 0x02 appendToList(Q5QM, Q5UU + 0x2080); appendToList(Q5QM, Q5X2); break; case 0x03 appendToList(Q61M, Q5UU + 0x2080); appendToList(Q61M, Q5X2); break; case 0x04 appendToList(Q4QW, Q5UU + 0x2080); appendToList(Q4QW, Q5X2); break; case 0x05 appendToList(Q4P4, Q5UU + 0x2080); appendToList(Q4P4, Q5X2); break; case 0x06 appendToList(Q5T7, Q5UU + 0x2080); appendToList(Q5T7, Q5X2); break; case 0x07 appendToList(Q5RM, Q5UU + 0x2080); appendToList(Q5RM, Q5X2); break; case 0x08 appendToList(Q4NI, Q5UU + 0x2080); appendToList(Q4NI, Q5X2); break; default break; } } list Q4D8; if (numInList(Q4PF) > 0x00) { appendToList(Q4D8, 0x20C0); appendToList(Q4D8, "First Circle"); } if (numInList(Q5QM) > 0x00) { appendToList(Q4D8, 0x20C1); appendToList(Q4D8, "Second Circle"); } if (numInList(Q61M) > 0x00) { appendToList(Q4D8, 0x20C2); appendToList(Q4D8, "Third Circle"); } if (numInList(Q4QW) > 0x00) { appendToList(Q4D8, 0x20C3); appendToList(Q4D8, "Fourth Circle"); } if (numInList(Q4P4) > 0x00) { appendToList(Q4D8, 0x20C4); appendToList(Q4D8, "Fifth Circle"); } if (numInList(Q5T7) > 0x00) { appendToList(Q4D8, 0x20C5); appendToList(Q4D8, "Sixth Circle"); } if (numInList(Q5RM) > 0x00) { appendToList(Q4D8, 0x20C6); appendToList(Q4D8, "Seventh Circle"); } if (numInList(Q4NI) > 0x00) { appendToList(Q4D8, 0x20C7); appendToList(Q4D8, "Eighth Circle"); } } else { systemMessage(user, "You don't have a spellbook."); if (hasObjVar(usedon, "inUse")) { removeObjVar(usedon, "inUse"); } return (0x00); } if (numInList(Q4D8) > 0x00) { selectType(Q62D, this, 0x1C, "Choose a circle.", Q4D8); return (0x01); } else { systemMessage(user, "You can't inscribe any spells."); if (hasObjVar(usedon, "inUse")) { removeObjVar(usedon, "inUse"); } return (0x00); } return (0x01); }