Difference between revisions of "Script: Trap statue"
From Ultima Online: The Second Age
(Created page with " <span style="color:#0000FF">inherits</span> globals; <span style="color:#0000FF">member</span> <span style="color:#0000FF">int</span> Q5W8; <span style="color:#0000FF...") |
|||
Line 43: | Line 43: | ||
<span style="color:#0000FF">if</span> (![[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q67G) == 0x00) | <span style="color:#0000FF">if</span> (![[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q67G) == 0x00) | ||
{ | { | ||
− | damage = [[ | + | damage = [[Engine Function:_dice|<span style="color:#FF0000;font-weight:bold">dice</span>]](0x0A, 0x0A); |
for(<span style="color:#0000FF">int</span> i = 0x00; i < [[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q67G); i++) | for(<span style="color:#0000FF">int</span> i = 0x00; i < [[Engine Function:_numInList|<span style="color:#FF0000;font-weight:bold">numInList</span>]](Q67G); i++) | ||
{ | { |
Latest revision as of 20:55, 18 October 2018
inherits globals;
member int Q5W8;
trigger creation { Q5W8 = getObjType(this); setObjVar(this, "statueTileNumberFlag", Q5W8); return (0x00); }
trigger leaverange(0x01) { if (isDead(target)) { return (0x01); } int Q4B7 = 0x00; int damage; list Q67G; if (getObjType(this) == 0x1508) { setType(this, 0x1509); Q4B7 = 0x01; } if (getObjType(this) == 0x1512) { setType(this, 0x1513); Q4B7 = 0x01; } if (getObjType(this) == 0x151A) { setType(this, 0x151B)Q4B7 = 0x01; } if (getObjType(this) == 0x151C) { setType(this, 0x151D); Q4B7 = 0x01; } if (Q4B7 == 0x01) { getMobsInRange(Q67G, getLocation(this), 0x00); if (!numInList(Q67G) == 0x00) { damage = dice(0x0A, 0x0A); for(int i = 0x00; i < numInList(Q67G); i++) { if (random(0x00, 0x64) > getDexterity(Q67G[i])) { damage = damage * 0x02; } loseHP(Q67G[i], damage); } } if (!hasObjVar(this, "statueDown")) { setObjVar(this, "statueDown", 0x01); callback(this, 0x05, 0x24); } loseHP(this, damage); } return (0x01); }
trigger callback(0x24) { list Q67G; getPlayersInRange(Q67G, getLocation(this), 0x1E); if (!numInList(Q67G) == 0x00) { callback(this, 0x05, 0x24); } else { int Q62M = getObjVar(this, "statueTileNumberFlag"); setType(this, Q62M); } return (0x00); }