Difference between revisions of "Script: Maiden"
From Ultima Online: The Second Age
(Created page with " <span style="color:#0000FF">trigger</span> creation { <span style="color:#0000FF">int</span> Q5DQ; setType|<span style="color:#FF0000;font-weight:bold">setType</span...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 41: | Line 41: | ||
<span style="color:#0000FF">int</span> Q6A2 = [[Engine Function:_getZ|<span style="color:#FF0000;font-weight:bold">getZ</span>]](Q59R); | <span style="color:#0000FF">int</span> Q6A2 = [[Engine Function:_getZ|<span style="color:#FF0000;font-weight:bold">getZ</span>]](Q59R); | ||
<span style="color:#0000FF">loc</span> Q63E = Q69K, Q69T, Q6A2; | <span style="color:#0000FF">loc</span> Q63E = Q69K, Q69T, Q6A2; | ||
− | <span style="color:#0000FF">if</span> (![[ | + | <span style="color:#0000FF">if</span> (![[Engine Function:_teleport|<span style="color:#FF0000;font-weight:bold">teleport</span>]](user, Q59R)) |
{ | { | ||
} | } | ||
− | [[Engine Function:_loseHP|<span style="color:#FF0000;font-weight:bold">loseHP</span>]](user, [[ | + | [[Engine Function:_loseHP|<span style="color:#FF0000;font-weight:bold">loseHP</span>]](user, [[Engine Function:_dice|<span style="color:#FF0000;font-weight:bold">dice</span>]](0x0A, 0x03)); |
<span style="color:#0000FF">return</span> (0x01); | <span style="color:#0000FF">return</span> (0x01); | ||
} | } |
Latest revision as of 07:33, 19 October 2018
trigger creation { int Q5DQ; setType(this, 0x124B); setObjVar(this, "MaidenClosed", Q5DQ); return (0x00); }
trigger use { int Q5DQ; loc Q59R = getLocation(this); loc Q5H8 = getLocation(user); if (getDistanceInTiles(Q59R, Q5H8) > 0x02) { ebarkTo(user, user, "If you had been closer, you might have stepped in and met a gruesome fate!"); return (0x00); } if (hasObjVar(this, "MaidenWorking")) { return (0x00); } if (hasObjVar(this, "MaidenClosed")) { setType(this, 0x1249); removeObjVar(this, "MaidenClosed"); setObjVar(this, "MaidenOpen", Q5DQ); callBack(this, 0x0A, 0x01); ebarkTo(user, user, "Hmm... you suspect that if you used this again, it might hurt."); return (0x00); } if (hasObjVar(this, "MaidenOpen")) { setType(this, 0x124B); removeObjVar(this, "MaidenOpen"); setObjVar(this, "MaidenWorking", Q5DQ); callBack(this, 0x01, 0x03); callBack(this, 0x05, 0x02); int Q69K = getX(Q59R) + 0x01; int Q69T = getY(Q59R) + 0x01; int Q6A2 = getZ(Q59R); loc Q63E = Q69K, Q69T, Q6A2; if (!teleport(user, Q59R)) { } loseHP(user, dice(0x0A, 0x03)); return (0x01); } return (0x00); }
trigger callback(0x01) { if (hasObjVar(this, "MaidenOpen")) { callback(this, 0x00, 0x02); } return (0x00); }
trigger callback(0x02) { int Q5DQ; if (hasObjVar(this, "MaidenWorking")) { removeObjVar(this, "MaidenWorking"); } if (hasObjVar(this, "MaidenOpen")) { removeObjVar(this, "MaidenOpen") } if (!hasObjVar(this, "MaidenClosed")) { setType(this, 0x124B); setObjVar(this, "MaidenClosed", Q5DQ); } return (0x00); }
trigger callback(0x03) { setType(this, 0x124C); callback(this, 0x01, 0x04); return (0x00); }
trigger callback(0x04) { setType(this, 0x124D); callback(this, 0x01, 0x05); return (0x00); }
trigger callback(0x05) { setType(this, 0x124C); callback(this, 0x03, 0x02); return (0x00); }