FUNCTION int Q4WZ(obj Q5AO, obj Q4H5, obj user) { transferAllResources(Q5AO, Q4H5); Q59B(Q5AO); obj Q5AB = NULL(); if(hasObjVar(Q5AO, "myhousedoor")) { Q5AB = getobjvar_obj(Q5AO, "myhousedoor"); } obj Q5AP = NULL(); if(hasObjVar(Q5AO, "myhousesign")) { Q5AP = getobjvar_obj(Q5AO, "myhousesign"); } string Q4F8 = getName(user); if(Q5AP != NULL()) { setObjVar(Q5AP, "creatorId", user); setObjVar(Q5AP, "creatorName", Q4F8); } else { setObjVar(Q5AO, "creatorId", user); setObjVar(Q5AO, "creatorName", Q4F8); } int Q5NC = Q4WT(user, Q5AO, Q5AB, Q5AP, 0x00); Q5NC = Q4WT(user, Q5AO, Q5AB, Q5AP, 0x01); if(Q5AO != NULL()) { deleteObject(Q4H5); } return(0x01); }
FUNCTION obj Q4WU(obj Q4H5, obj user, loc place) { int Q65M; if(!isHousingOkay(place, 0x01)) { barkTo(user, user, "Housing can not be created in this area."); return(NULL()); } if(!hasObjVar(Q4H5, "myhousetype")) { Q65M = 0x00; } else { Q65M = getobjvar_int(Q4H5, "myhousetype"); } loc Q5CV = loc( Q4X1(Q65M, place) ); Q5NG = (0x00 - 0x07); obj Q5AO = Q4X5(Q65M, Q5CV); if(Q5AO == NULL()) { string Q58D = Q592(Q5NG, "house", "valid terrain"); barkTo(user, user, Q58D); return(Q5AO); } Q4WV(Q5AO, Q5CV); setObjVar(Q5AO, "mydeed", Q4H5); return(Q5AO); }
GEN NREVERSE(GEN lst) { if (NULL(lst)) return lst; GEN rev = vm_nil; do { rev = CONS(CAR(lst), rev); lst = CDR(lst); } while (!NULL(lst)); return rev; }
FUNCTION obj Q5SE(int Q5SR, int Q4ID, loc place) { Q5NG = (0x00 - 0x06); int Q5BF = 0x00; Q5BF --; int Q59C = 0x00 + (Q5SR * 0x04) + (Q4ID * 0x01); obj Q5AK = NULL(); if(areMobilesInMultiArea(Q59C, place)) { Q5NG = (0x00 - 0x09); return(NULL()); } Q5AK = makeMultiInstCheck(place, Q59C, Q43W, 0x00, Q5NG, 0x00, Q5BF, Q5BF); return(Q5AK); }
TRIGGER( use )(obj user) { int Q4Q1; obj Q491 = Q4SE(this); if(Q491 == NULL()) { return(0x00); } if(isDead(user)) { return(0x00); } if(isEditing(user) || Q4ZV(user, this)) { Q4Q1 = openContainer(user, Q491); } else { if(testSkill(user, 0x1C)) { Q4Q1 = openContainer(user, Q491); } else { ebarkTo(user, user, "You fail to peek into the animal's pack."); } } return(0x00); }
void position(int Frame, float dx, float dy, float dz, int face) { // Modify grabbed entity's position relative to grabber void self = getlocalvar("self"); void target = getlocalvar("Target" + self); if(target==NULL()) { target = getentityproperty(self, "grabbing"); setlocalvar("Target" + self, target); } if(target!=NULL()) { updateframe(target, Frame); bindentity(target, self, dx, dz, dy, face, 0); } }
FUNCTION obj Q4SE(obj Q68D) { obj Q491 = getBackpack(Q68D); if(Q491 == NULL()) { Q491 = createGlobalObjectIn(0x0E75, Q68D); if(!isValid(Q491)) { return(NULL()); } if(!equipObj(Q491, Q68D, 0x15)) { deleteObject(Q491); return(NULL()); } } return(Q491); }
FUNCTION int Q5SJ(obj ship) { obj Q62O = getObjVar(ship, "myshiptillerman"); if(Q62O == NULL()) { return(0x00); } return(Q5SN(Q62O)); }
TRIGGER( targetobj )(obj user, obj usedon) { if(usedon == NULL()) { return(0x00); } Q4E9(user, usedon, 0x1608); return(0x01); }
LONG LENGTH(GEN lst) { LONG l = 0; while (!NULL(lst)) { lst = CDR(lst); l++; } return l; }
FUNCTION int Q4MJ(obj user) { int Q5NC = 0x00; int Q4NC; loc Q4VS = loc( getLocation(user) ); loc there = loc( Q5I9(user) ); if(!isInMap(there)) { Q4RD(user); systemMessage(user, "There is no room to summon that here."); } else { faceHere(user, getDirectionInternal(Q4VS, there)); if(hasObjVar(this, "magicItemModifier")) { int Q52W = getObjVar(this, "magicItemModifier"); Q4NC = 0x06 * Q52W; } else { if(getSkillLevel(user, 0x19) < 0x0A) { Q4NC = 0x14; } else { Q4NC = 0x14 * getSkillLevel(user, 0x19) / 0x05; } } obj Q4PE = createGlobalNPCAt(0x0259, there, 0x00); if(Q4PE != NULL()) { doLocAnimation(there, 0x3728, 0x0A, 0x0A, 0x00, 0x00); sfx(there, 0x0217, 0x00); setType(Q4PE, 0x0F); animateMobile(Q4PE, 0x0C, 0x0F, 0x01, 0x00, 0x00); attachScript(Q4PE, "destcrea"); setObjVar(Q4PE, "summonDifficulty", 0x02EE); int Q5ND = Q558(Q4PE, user, 0x64, 0x01); callback(Q4PE, Q4NC, 0x08); Q5NC = 0x01; } else { bark(user, "Whoops...something got in the way."); } } Q5UQ(this); return(Q5NC); }
FUNCTION int Q4LI(obj user, obj usedon, int Q5NM) { int Q5NC = 0x00; if(Q50G(usedon)) { if(!getMobFlag(usedon, 0x02)) { int Q4NC; loc Q4VS = loc( getLocation(user) ); loc there = loc( getLocation(usedon) ); faceHere(user, getDirectionInternal(Q4VS, there)); if(hasObjVar(this, "magicItemModifier")) { Q4NC = 0x02 * (getObjVar(this, "magicItemModifier")) + 0x05; } else { Q4NC = (getSkillLevel(user, 0x19) / 0x0A + 0x01) * 0x02 + 0x05; } if(Q4CN(NULL(), usedon, 0x05)) { Q4NC = Q4NC / 0x02; } doMobAnimation(usedon, 0x376A, 0x06, Q4NC, 0x00, 0x00); sfx(there, 0x0204, 0x00); setWaitState(usedon, Q4NC); int Q67T = waitState(usedon); setMobFlag(usedon, 0x02, 0x01); scriptTrig(usedon, 0x01, user); if(isValid(usedon)) { Q422(user, usedon, 0x00, Q5NM); if(isValid(usedon)) { Q5UK(user, usedon, 0x02, Q5NM); if(isValid(usedon)) { attachScript(usedon, "rempara"); callback(usedon, Q4NC, 0x0D); } } } } } Q5UQ(this); return(Q5NC); }
TRIGGER( targetloc )(obj user, loc place, int objtype) { if(!isInMap(place)) { return(0x00); } if(!Q58Z(user, this)) { return(0x00); } obj Q5AO = Q4WU(this, user, place); if(Q5AO != NULL()) { int Q5ND = Q4WZ(Q5AO, this, user); } return(0x01); }
FUNCTION obj Q5SD(int Q5SR, loc place) { obj ship; int Q4IE = 0x05; ship = Q5SE(Q5SR, 0x00, place); if(ship != NULL()) { Q4IE = 0x00; } if(Q4IE != 0x05) { setObjVar(ship, "myshipdir", Q4IE); setObjVar(ship, "myshiptype", Q5SR); string Q5AS; getCurrentTimeStr(Q5AS); setObjVar(ship, "creationtime", Q5AS); } return(ship); }
TRIGGER( targetobj )(obj user, obj usedon) { if(usedon == NULL()) { removeObjVar(this, "bountyPlayer"); removeObjVar(this, "bountyPlayerName"); return(0x00); } if(!isPlayer(usedon)) { removeObjVar(this, "bountyPlayer"); removeObjVar(this, "bountyPlayerName"); return(0x00); } systemMessage(user, getName(usedon) + " selected."); setObjVar(this, "bountyPlayer", usedon); setObjVar(this, "bountyPlayerName", getName(usedon)); return(0x00); }
TRIGGER( use )(obj user) { loc Q53E = loc( 0x1433, 0x0267, 0x00 ); if(!hasObjVar(this, "beenUsed")) { int Q53F = Q492[random(0x00, numInList(Q492) - 0x01)]; obj Q5BQ = requestCreateNPCAt(Q53F, Q53E, 0x04); if(Q5BQ != NULL()) { doLocAnimation(Q53E, 0x3709, 0x02, 0x38, 0x00, 0x00); } else { bark(this, "The brazier fizzes and pops, but nothing seems to happen."); } setObjVar(this, "beenUsed", 0x00); } else { bark(this, "The brazier fizzes and pops, but nothing seems to happen."); } return(0x00); }
TRIGGER( targetobj )(obj user, obj usedon) { removeObjVar(this, "inUse"); if(usedon == NULL()) { return(0x00); } if(getDistanceInTiles(getLocation(user), getLocation(usedon)) > 0x03) { systemMessage(user, "That is too far away."); return(0x00); } if(getDistanceInTiles(getLocation(this), getLocation(usedon)) > 0x03) { systemMessage(user, "The ore is too far away."); return(0x00); } if(!canSeeObj(user, usedon)) { systemMessage(user, "You can't see that."); return(0x00); } int Q4Q1; int Q4YO; Q4Q1 = getResource(Q4YO, this, "metal", 0x03, 0x02); int Q4Z5 = 0x00; int Q4ZU = 0x00; obj ore = this; int Q62A = getObjType(this); int Q66P = getObjType(usedon); if(Q66P == 0x0FB1) { Q4Z5 = 0x01; } if(Q66P >= 0x197A) { if(Q66P <= 0x19A9) { Q4Z5 = 0x01; } } if(Q66P > 0x19B6) { if(Q66P < 0x19BB) { Q4ZU = 0x01; if(isInContainer(this)) { obj Q61O = getTopmostContainer(this); int Q62E = getWeight(Q61O) + getWeight(usedon); } if(isInContainer(usedon)) { obj Q66Q = getTopmostContainer(usedon); int Q66T = getWeight(Q66Q) + getWeight(this); } if((Q62E > 0x03E8) || (Q66T > 0x03E8)) { ebarkTo(user, user, "The weight is too great to combine in a container."); return(0x00); } } } if(Q4ZU) { ore = this; if(Q62A == 0x19B9) { Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); transferResources(usedon, ore, Q4YO, "metal"); } if(Q62A == 0x19B8) { switch(Q66P) { case 0x19B9: case 0x19B8: Q4Q1 = getResource(Q4YO, usedon, "metal", 0x03, 0x02); transferResources(ore, usedon, Q4YO, "metal"); break; case 0x19B7: case 0x19BA: Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); transferResources(usedon, ore, Q4YO, "metal"); break; default: return(0x00); break; } } if(Q62A == 0x19BA) { switch(Q66P) { case 0x19B9: case 0x19B8: Q4Q1 = getResource(Q4YO, usedon, "metal", 0x03, 0x02); transferResources(ore, usedon, Q4YO, "metal"); break; case 0x19B7: case 0x19BA: Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); transferResources(usedon, ore, Q4YO, "metal"); break; default: return(0x00); break; } } if(Q62A == 0x19B7) { switch(Q66P) { case 0x19B9: case 0x19B8: case 0x19BA: Q4Q1 = getResource(Q4YO, usedon, "metal", 0x03, 0x02); transferResources(ore, usedon, Q4YO, "metal"); break; case 0x19B7: Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); transferResources(usedon, ore, Q4YO, "metal"); break; default: return(0x00); break; } } Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); if(Q4YO < 0x01) { deleteObject(ore); } Q4Q1 = getResource(Q4YO, usedon, "metal", 0x03, 0x02); if(Q4YO < 0x01) { deleteObject(usedon); } if(hasObjVar(this, "inUse")) { removeObjVar(this, "inUse"); } return(0x00); } if(Q4Z5) { obj Q47G = getBackpack(user); ore = this; int Q5GQ = getObjType(ore); int Q4Y6 = 0x1BF2; Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); int count = Q4YO / 0x02; if(count < 0x01) { systemMessage(user, "There is not enough metal-bearing ore in this pile to make an ingot."); if(hasObjVar(this, "inUse")) { removeObjVar(this, "inUse"); } return(0x00); } if(testSkill(user, 0x2D)) { obj Q5BW = createNoResObjectIn(Q4Y6, Q47G); transferResources(Q5BW, ore, count, "metal"); returnResourcesToBank(ore, count, "metal"); Q4Q1 = putObjContainer(Q5BW, Q47G); Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); if(Q4YO < 0x01) { deleteObject(ore); } systemMessage(user, "You smelt the ore removing the impurities and put the metal in your backpack."); } else { if(count == 0x01) { systemMessage(user, "You burn away the impurities but are left with no useable metal."); deleteObject(ore); return(0x01); } returnResourcesToBank(ore, count, "metal"); systemMessage(user, "You burn away the impurities but are left with less useable metal."); Q4Q1 = getResource(Q4YO, ore, "metal", 0x03, 0x02); if(Q4YO < 0x01) { deleteObject(ore); } } } return(0x01); }
int current_column () { register int col; register unsigned char *ptr, *stop, c; register int tab_seen; register int post_tab; register int tab_width = XINT (current_buffer->tab_width); int ctl_arrow = !NULL (current_buffer->ctl_arrow); if (point == last_known_column_point && MODIFF == last_known_column_modified) return last_known_column; /* Make a pointer for decrementing through the chars before point. */ ptr = &FETCH_CHAR (point - 1) + 1; /* Make a pointer to where consecutive chars leave off, going backwards from point. */ if (point == BEGV) stop = ptr; else if (point <= GPT || BEGV > GPT) stop = BEGV_ADDR; else stop = GAP_END_ADDR; if (tab_width <= 0 || tab_width > 20) tab_width = 8; col = 0, tab_seen = 0, post_tab = 0; while (1) { if (ptr == stop) { /* We stopped either for the beginning of the buffer or for the gap. */ if (ptr == BEGV_ADDR) break; /* It was the gap. Jump back over it. */ stop = BEGV_ADDR; ptr = GPT_ADDR; /* Check whether that brings us to beginning of buffer. */ if (BEGV >= GPT) break; } c = *--ptr; if (c >= 040 && c < 0177) { col++; } else if (c == '\n') break; else if (c == '\r' && EQ (current_buffer->selective_display, Qt)) break; else if (c == '\t') { if (tab_seen) col = ((col + tab_width) / tab_width) * tab_width; post_tab += col; col = 0; tab_seen = 1; } else col += (ctl_arrow && c < 0200) ? 2 : 4; } if (tab_seen) { col = ((col + tab_width) / tab_width) * tab_width; col += post_tab; } last_known_column = col; last_known_column_point = point; last_known_column_modified = MODIFF; return col; }
FUNCTION int Q659(obj user) { int Q62A = getObjType(this); if(hasObjVar(this, "fuel")) { int fuel = getObjVar(this, "fuel"); } switch(Q62A) { case 0x0A26: setObjVar(this, "burning", 0x01); setType(this, 0x0B1A); break; case 0x0A27: setObjVar(this, "burning", 0x01); setType(this, 0x0B1D); break; case 0x0A29: setObjVar(this, "burning", 0x01); setType(this, 0x0B26); break; case 0x1853: setObjVar(this, "burning", 0x01); setType(this, 0x1854); break; case 0x1857: setObjVar(this, "burning", 0x01); setType(this, 0x1858); break; case 0x1849: setObjVar(this, "burning", 0x01); setType(this, 0x184A); break; case 0x184D: setObjVar(this, "burning", 0x01); setType(this, 0x184E); break; case 0x0A28: int Q527; obj Q47F = getBackpack(user); obj Q5BO = requestCreateObjectAt(0x0A0F, getLocation(user)); setObjVar(this, "fuel", 0x64); setObjVar(Q5BO, "burning", 0x01); attachscript(Q5BO, "torch"); callback(Q5BO, 0x1E, 0x39); if(!isInContainer(this)) { Q527 = teleport(Q5BO, getLocation(this)); if(getQuantity(this) > 0x01) { destroyOne(this); if(canHold(Q47F, this)) { systemMessage(user, "You put the remaining unlit candles into your backpack."); Q527 = putObjContainer(this, Q47F); } else { systemMessage(user, "You put the remaining unlit candles at your feet."); Q527 = teleport(this, getLocation(user)); } } } else { destroyOne(this); if(getItemAtSlot(user, 0x02) != NULL()) { systemMessage(user, "You cannot hold the candle, so it has been placed at your feet."); } else { Q527 = equipObj(Q5BO, user, 0x02); systemMessage(user, "You put the candle in your left hand."); } } if(getQuantity(this) == 0x01) { destroyOne(this); } break; case 0x0F64: case 0x0F6B: Q47F = getBackpack(user); obj Q5CB = requestCreateObjectAt(0x0A12, getLocation(user)); setObjVar(this, "fuel", 0x64); setObjVar(Q5CB, "burning", 0x01); attachscript(Q5CB, "torch"); callback(Q5CB, 0x1E, 0x39); if(!isInContainer(this)) { Q527 = teleport(Q5CB, getLocation(this)); if(getQuantity(this) > 0x01) { destroyOne(this); if(canHold(Q47F, this)) { systemMessage(user, "You put the remaining unlit torches into your backpack."); Q527 = putObjContainer(this, Q47F); } else { systemMessage(user, "You put the remaining unlit torches at your feet."); Q527 = teleport(this, getLocation(user)); } } } else { destroyOne(this); if(getItemAtSlot(user, 0x02) != NULL()) { systemMessage(user, "You cannot hold the torch, so it has been placed at your feet."); } else { Q527 = equipObj(Q5CB, user, 0x02); systemMessage(user, "You put the torch in your left hand."); } } if(getQuantity(this) == 0x01) { destroyOne(this); } break; case 0x0A18: case 0x0A1D: case 0x0A25: if(fuel > 0x00) { setObjVar(this, "burning", 0x01); callback(this, 0x1E, 0x39); setType(this, Q62A - 0x03); } else { systemMessage(user, "The lantern is out of fuel."); } break; default: return(0x00); break; } sfx(getLocation(this), 0x47, 0x00); return(0x01); }
TRIGGER( targetobj )(obj user, obj usedon) { if(usedon == NULL()) { return(0x00); } if(isAtHome(usedon)) { systemMessage(user, "That belongs to someone else."); return(0x00); } int Q62A = getObjType(this); int Q66P = getObjType(usedon); loc Q66U = loc( getLocation(user) ); loc Q61U = loc( getLocation(this) ); loc Q66N = loc( getLocation(usedon) ); obj Q4EZ; list args; if(testAndLearnSkill(user, 0x08, 0x00, 0x50) > 0x00) { switch(Q62A) { case 0x1BD1: switch(Q66P) { case 0x1BD4: attachScript(user, "makingarrows"); args = list( this, usedon ); message(user, "makearrows", args); break; default: systemMessage(user, "Can't use feathers on that."); return(0x00); break; } break; case 0x1BD4: switch(Q66P) { case 0x1BD1: attachScript(user, "makingarrows"); args = list( usedon, this ); message(user, "makearrows", args); break; default: systemMessage(user, "Can't use shafts on that."); return(0x00); break; } break; default: return(0x00); break; } } else { systemMessage(user, "Fletching failed."); int Q5MT; int Q4Q1; if(!random(0x00, 0x03)) { debugMessage("!rand"); debugMessage("thistype = " + Q62A); if(Q62A == 0x1BD1) { systemMessage(user, "A feather was destroyed."); returnResourcesToBank(this, 0x01, "feathers"); Q4Q1 = getResource(Q5MT, this, "feathers", 0x03, 0x02); } if(Q62A == 0x1BD4) { systemMessage(user, "A shaft was destroyed."); returnResourcesToBank(this, 0x01, "wood"); Q4Q1 = getResource(Q5MT, this, "wood", 0x03, 0x02); } if(Q5MT < 0x01) { deleteObject(this); } } } return(0x01); }
void init_editfns () { char *user_name; register unsigned char *p, *q; struct passwd *pw; /* password entry for the current user */ Lisp_Object tem; extern char *index (); /* Set up system_name even when dumping. */ Vsystem_name = build_string (get_system_name ()); p = XSTRING (Vsystem_name)->data; while (*p) { if (*p == ' ' || *p == '\t') *p = '-'; p++; } #ifndef CANNOT_DUMP /* Don't bother with this on initial start when just dumping out */ if (!initialized) return; #endif /* not CANNOT_DUMP */ pw = (struct passwd *) getpwuid (getuid ()); Vuser_real_name = build_string (pw ? pw->pw_name : "unknown"); user_name = (char *) getenv ("USER"); if (!user_name) user_name = (char *) getenv ("LOGNAME"); /* USG equivalent */ if (user_name) Vuser_name = build_string (user_name); else Vuser_name = Vuser_real_name; tem = Fstring_equal (Vuser_name, Vuser_real_name); if (!NULL (tem)) pw = (struct passwd *) getpwnam (user_name); p = (unsigned char *) (pw ? USER_FULL_NAME : "unknown"); q = (unsigned char *) index (p, ','); Vuser_full_name = make_string (p, q ? q - p : strlen (p)); #ifdef AMPERSAND_FULL_NAME p = XSTRING (Vuser_full_name)->data; q = (unsigned char *) index (p, '&'); /* Substitute the login name for the &, upcasing the first character. */ if (q) { char *r = (char *) alloca (strlen (p) + XSTRING (Vuser_name)->size + 1); bcopy (p, r, q - p); r[q - p] = 0; strcat (r, XSTRING (Vuser_real_name)->data); r[q - p] = UPCASE (r[q - p]); strcat (r, q + 1); Vuser_full_name = build_string (r); } #endif /* AMPERSAND_FULL_NAME */ }
void init_editfns () { char *user_name; register unsigned char *p, *q; struct passwd *pw; /* password entry for the current user */ Lisp_Object tem; extern char *index (); /* Turn off polling so the SIGALRM won't bother getpwuid. */ stop_polling (); /* Set up system_name even when dumping. */ Vsystem_name = build_string (get_system_name ()); p = XSTRING (Vsystem_name)->data; while (*p) { if (*p == ' ' || *p == '\t') *p = '-'; p++; } #ifndef CANNOT_DUMP /* Don't bother with this on initial start when just dumping out */ if (!initialized) return; #endif /* not CANNOT_DUMP */ pw = (struct passwd *) getpwuid (getuid ()); #ifndef OS2 Vuser_real_name = build_string (pw ? pw->pw_name : "unknown"); #endif /* Get the effective user name, by consulting environment variables, or the effective uid if those are unset. */ user_name = (char *) getenv ("USER"); if (!user_name) user_name = (char *) getenv ("LOGNAME"); /* USG equivalent */ if (!user_name) { pw = (struct passwd *) getpwuid (geteuid ()); user_name = pw ? pw->pw_name : "unknown"; } Vuser_name = build_string (user_name); #ifdef OS2 Vuser_real_name = build_string (user_name); #endif /* If the user name claimed in the environment vars differs from the real uid, use the claimed name to find the full name. */ tem = Fstring_equal (Vuser_name, Vuser_real_name); if (NULL (tem)) pw = (struct passwd *) getpwnam (XSTRING (Vuser_name)->data); p = (unsigned char *) getenv("USERFULLNAME"); if (p==0) p = (unsigned char *) (pw ? USER_FULL_NAME : "unknown"); q = (unsigned char *) index (p, ','); Vuser_full_name = make_string (p, q ? q - p : strlen (p)); #ifdef AMPERSAND_FULL_NAME p = XSTRING (Vuser_full_name)->data; q = (unsigned char *) index (p, '&'); /* Substitute the login name for the &, upcasing the first character. */ if (q) { char *r = (char *) alloca (strlen (p) + XSTRING (Vuser_name)->size + 1); bcopy (p, r, q - p); r[q - p] = 0; strcat (r, XSTRING (Vuser_real_name)->data); r[q - p] = UPCASE (r[q - p]); strcat (r, q + 1); Vuser_full_name = build_string (r); } #endif /* AMPERSAND_FULL_NAME */ start_polling (); }
TRIGGER( targetobj )(obj user, obj usedon) { if(usedon == NULL()) { return(0x00); } if(isEquipped(usedon)) { systemMessage(user, "Can't Dye clothing that is being worn."); return(0x00); } int Q66P = getObjType(usedon); int Q61R = getHue(this); loc Q66R = loc( getLocation(usedon) ); switch(Q66P) { case 0x0DEF: case 0x0DF8: case 0x0DF9: case 0x0E1D: case 0x0E1E: case 0x0E1F: case 0x0E75: case 0x0E76: case 0x0F95: case 0x0F96: case 0x0F97: case 0x0F98: case 0x0F99: case 0x0F9A: case 0x0F9B: case 0x0F9C: case 0x0F9C: case 0x0FA0: case 0x0FA1: case 0x101F: case 0x13A4: case 0x0BD5: case 0x0BD6: case 0x0BD7: case 0x0BD8: case 0x0BD9: case 0x0BDA: case 0x0BDB: case 0x0BDC: case 0x0BDD: case 0x0BDE: case 0x1515: case 0x1516: case 0x1517: case 0x1518: case 0x152E: case 0x152F: case 0x1530: case 0x1531: case 0x1537: case 0x1538: case 0x1539: case 0x153A: case 0x153B: case 0x153C: case 0x153D: case 0x153E: case 0x153F: case 0x1540: case 0x1541: case 0x1542: case 0x1543: case 0x1544: case 0x170B: case 0x170C: case 0x170F: case 0x1710: case 0x1711: case 0x1712: case 0x1713: case 0x1714: case 0x1715: case 0x1716: case 0x1717: case 0x1718: case 0x1719: case 0x171A: case 0x171B: case 0x171C: case 0x175D: case 0x175E: case 0x175F: case 0x1760: case 0x1761: case 0x1762: case 0x1763: case 0x1764: case 0x1765: case 0x1766: case 0x1767: case 0x1768: case 0x1914: case 0x1915: case 0x1B74: case 0x1B75: case 0x1EFD: case 0x1EFE: case 0x1EFF: case 0x1F00: case 0x1F01: case 0x1F02: case 0x1F03: case 0x1F04: case 0x1F7B: case 0x1F7C: case 0x1F9F: case 0x1FA0: case 0x1FA1: case 0x1FA2: case 0x1F7B: case 0x1F7C: case 0x1FA1: case 0x1FA1: case 0x1FFD: case 0x1FFE: sfx(Q66R, 0x023E, 0x00); setHue(usedon, Q61R); break; } return(0x00); }
FUNCTION int Q4JX(obj it) { if(containedBy(it) != NULL()) { return(0x01); } if(!thinksItsAtHome(it)) { return(0x01); } int i; int Q56F; int Q5E7; int Q55X = 0x02; int myObjType = getObjType(it); list Q4E5; list Q5JX; obj Q4Q1; loc Q4VS = loc( getLocation(it) ); int Q60E; loc there; getContents(Q4E5, it); if(isInArea("alchemist", Q4VS, 0x00)) { Q5JX = list( 0x0F06, 0x0F07, 0x0F08, 0x0F09, 0x0F0A, 0x0F0B, 0x0F0C, 0x0F0D, 0x0E9B ); } if(isInArea("armorer", Q4VS, 0x00)) { Q5JX = list( 0x13BB, 0x13C0, 0x1413, 0x1B72, 0x1B73, 0x1B74, 0x1B75, 0x1B76, 0x1B77, 0x1B7A, 0x1B7B ); } if(isInArea("artisanguild", Q4VS, 0x00)) { Q5JX = list( 0x0FC1, 0x0FB4, 0x13E3, 0x13E4, 0x0FBB, 0x0FBC, 0x14FB, 0x14FC, 0x14FD, 0x14FE, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x12B3, 0x1224, 0x139A, 0x1225, 0x1226, 0x139B, 0x139C, 0x12CA, 0x12CB, 0x1545, 0x1547, 0x1F0B, 0x1F0C, 0x154B, 0x1549, 0x1F0B, 0x1F0C ); } if(isInArea("baker", Q4VS, 0x00)) { Q5JX = list( 0x1043, 0x1039, 0x1045, 0x103B, 0x103C, 0x098C ); } if(isInArea("bard", Q4VS, 0x00)) { Q5JX = list( 0x0EB2, 0x0EB3, 0x0EB4, 0x0E9C, 0x0E9D, 0x0E9E ); } if(isInArea("blacksmith", Q4VS, 0x00)) { Q5JX = list( 0x13E3, 0x13E4, 0x0FBB, 0x0FBC, 0x0FB4, 0x0FB5, 0x1876, 0x1877, 0x1878, 0x1879, 0x0FB6, 0x19B8, 0x19B9, 0x19BA, 0x19B7, 0x1BEF, 0x18C5, 0x0FB2, 0x106D, 0x0FB8 ); } if(isInArea("blacksmith", Q4VS, 0x00)) { Q5JX = list( 0x13B2, 0x13B1, 0x0F4F, 0x0F50, 0x0F3F ); } if(isInArea("butcher", Q4VS, 0x00)) { Q5JX = list( 0x0EC3, 0x0EC2, 0x0976, 0x0977, 0x0978, 0x0979, 0x097A, 0x097B, 0x09B7, 0x09B8, 0x09B9, 0x09BA, 0x09D3, 0x09C9, 0x1609, 0x160A, 0x09F2, 0x09F1, 0x09C0, 0x09C1, 0x1607, 0x1608 ); } if((isInArea("carpenter", Q4VS, 0x00)) || (isInArea("woodworker", Q4VS, 0x00))) { Q5JX = list( 0x1026, 0x1029, 0x1028, 0x102A, 0x102B, 0x102C, 0x102D, 0x102E, 0x102F, 0x1030, 0x1031, 0x1032, 0x1033, 0x1034, 0x1035, 0x1BD7, 0x10E4, 0x1BDD, 0x10E5, 0x10E6, 0x10E7 ); } if(isInArea("cemetery", Q4VS, 0x00)) { Q5JX = list( 0x1CDD, 0x1CE5, 0x1CE0, 0x1CE8, 0x1CE1, 0x1CE9, 0x1CEF, 0x1CF0, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, 0x1B11, 0x1B12, 0x1B13, 0x1B14, 0x1B15, 0x1B16, 0x1B17, 0x1B18, 0x1B19, 0x1B1A, 0x1B1B, 0x1B1C, 0x0ECA, 0x0ED2, 0x0ECB, 0x0ECC, 0x0ECD, 0x0ECE, 0x0ECF, 0x0ED0, 0x0ED1 ); } if((isInArea("clothier", Q4VS, 0x00)) || (isInArea("tailor", Q4VS, 0x00))) { Q5JX = list( 0x0DF9, 0x0DF8, 0x0E1D, 0x0E1E, 0x0E1F, 0x0FA0, 0x1761, 0x1762, 0x1763, 0x1764, 0x0FA9, 0x1068, 0x1067 ); } if(isInArea("cobbler", Q4VS, 0x00)) { Q5JX = list( 0x170B, 0x170F, 0x1710, 0x170D, 0x170E, 0x1711 ); } if(isInArea("customs", Q4VS, 0x00)) { Q5JX = list( 0x00018D45, 0x00018D46, 0x00018D47, 0x00018D48, 0x00018D49, 0x00018D4A, 0x00018D4B, 0x00018D4C, 0x00018D4D, 0x00018D4E, 0x00018D4F, 0x00018D50, 0x00018D51, 0x00018D52, 0x00018D53, 0x00018D54, 0x00018D55, 0x00018D56, 0x00018D57, 0x00018D58, 0x00018D59, 0x00018D5A, 0x00018D5B, 0x00018D5C, 0x00018D5D, 0x00018D5E, 0x00018D5F, 0x00018D60 ); } if(isInArea("docks", Q4VS, 0x00)) { Q5JX = list( 0x0DBF, 0x0DC0, 0x0DD6, 0x0DD7, 0x09CC, 0x09CD, 0x09CE, 0x09CF ); } if(isInArea("farm", Q4VS, 0x00)) { Q5JX = list( 0x1517, 0x152E, 0x1516, 0x1F01, 0x1715, 0x170D, 0x170E, 0x13F8, 0x13F9, 0x0E87, 0x0E88, 0x13F5, 0x13F4, 0x0E76, 0x0DE1, 0x0C70, 0x0C6E, 0x0C61, 0x09D3, 0x0978, 0x1609, 0x0F36, 0x09F0 ); } if(isInArea("fighterguild", Q4VS, 0x00)) { Q5JX = list( 0x0F45, 0x0F47, 0x0F43, 0x0F49, 0x0F4B, 0x13FB, 0x13B0, 0x0F4D, 0x1403, 0x0F62, 0x1405, 0x143D, 0x13B4, 0x1407, 0x0F5C, 0x143B, 0x1439, 0x1441, 0x143F, 0x13FF, 0x0F5E, 0x0F61, 0x13B8, 0x13B9, 0x13B6, 0x13F8, 0x0E89, 0x0F51, 0x0F50, 0x1401, 0x13B2, 0x0F4F, 0x13FD, 0x13DB, 0x13E2, 0x13DA, 0x13E1, 0x13D4, 0x13DC, 0x13D5, 0x13DD, 0x1415, 0x1416, 0x1417, 0x1410, 0x1411, 0x141B, 0x1414, 0x1418, 0x1412, 0x1419, 0x13BF, 0x13C4, 0x13BE, 0x13C5, 0x13CB, 0x13D2, 0x13CC, 0x13D3, 0x13C6, 0x13CE, 0x13EC, 0x13ED, 0x13F0, 0x13F1, 0x13EE, 0x13EF, 0x13EB, 0x13F2, 0x13D6, 0x1413, 0x1409, 0x13C7, 0x13D6, 0x13BB, 0x13C0, 0x13BF, 0x1451, 0x1412, 0x1B72, 0x1B73, 0x1B74, 0x1B75, 0x1B76, 0x1B77, 0x1B78, 0x1B79, 0x1B7A, 0x1B7B, 0x0F3F ); } if((isInArea("guard", Q4VS, 0x00)) || (isInArea("paladin", Q4VS, 0x00))) { Q5JX = list( 0x0F45, 0x0F47, 0x0F43, 0x0F49, 0x0F4B, 0x13FB, 0x13B0, 0x0F4D, 0x1403, 0x0F62, 0x1405, 0x143D, 0x13B4, 0x1407, 0x0F5C, 0x143B, 0x1439, 0x1441, 0x143F, 0x13FF, 0x0F5E, 0x0F61, 0x13B8, 0x13B9, 0x13B6, 0x13F8, 0x0E89, 0x0F51, 0x0F50, 0x1401, 0x13B2, 0x0F4F, 0x13FD, 0x13DB, 0x13E2, 0x13DA, 0x13E1, 0x13D4, 0x13DC, 0x13D5, 0x13DD, 0x1415, 0x1416, 0x1417, 0x1410, 0x1411, 0x141B, 0x1414, 0x1418, 0x1412, 0x1419, 0x13BF, 0x13C4, 0x13BE, 0x13C5, 0x13CB, 0x13D2, 0x13CC, 0x13D3, 0x13C6, 0x13CE, 0x13EC, 0x13ED, 0x13F0, 0x13F1, 0x13EE, 0x13EF, 0x13EB, 0x13F2, 0x13D6, 0x1413, 0x1409, 0x13C7, 0x13D6, 0x13BB, 0x13C0, 0x13BF, 0x1451, 0x1412, 0x1B72, 0x1B73, 0x1B74, 0x1B75, 0x1B76, 0x1B77, 0x1B78, 0x1B79, 0x1B7A, 0x1B7B, 0x0F3F ); } if(isInArea("healer", Q4VS, 0x00)) { Q5JX = list( 0x0EE9, 0x0E9B, 0x0F0C ); } if(isInArea("herbalist", Q4VS, 0x00)) { Q5JX = list( 0x0F84, 0x0F85, 0x0F86, 0x0F90, 0x0C3C, 0x0C3E, 0x0C40, 0x0C42 ); } if(isInArea("inn", Q4VS, 0x00)) { Q5JX = list( 0x0A1D, 0x0F64, 0x0A28 ); } if(isInArea("jeweler", Q4VS, 0x00)) { Q5JX = list( 0x1086, 0x108A, 0x108B, 0x1087, 0x1085, 0x1088, 0x1089, 0x0F0F, 0x0F10, 0x0F11, 0x0F13, 0x0F15, 0x0F16, 0x0F18, 0x0F25, 0x0F26 ); } if(isInArea("library", Q4VS, 0x00)) { Q5JX = list( 0x0FEF, 0x0FF0, 0x0FF1, 0x0FF2 ); } if(isInArea("mag", Q4VS, 0x00)) { Q5JX = list( 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F45, 0x1F46, 0x1F47, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F45, 0x1F46, 0x1F47, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F45, 0x1F46, 0x1F47, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F45, 0x1F46, 0x1F47, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F45, 0x1F46, 0x1F47, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F4D, 0x1F4E, 0x1F4F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F4D, 0x1F4E, 0x1F4F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F4D, 0x1F4E, 0x1F4F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F4D, 0x1F4E, 0x1F4F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA, 0x0EFA ); } if(isInArea("merchant", Q4VS, 0x00)) { Q5JX = list( 0x097E, 0x097D, 0x097C, 0x09B5, 0x09CC, 0x09CD, 0x09CE, 0x09CF, 0x097A, 0x097B, 0x09D0, 0x171F, 0x1720, 0x1721, 0x1722, 0x1723, 0x1724, 0x1725, 0x1726, 0x1727, 0x09D1, 0x1728, 0x1729, 0x172A, 0x172B, 0x172C, 0x172D, 0x0976, 0x0977, 0x0978, 0x0979, 0x097A, 0x097B, 0x09B7, 0x09B8, 0x09B9, 0x09BA, 0x09D3, 0x09C9, 0x1609, 0x160A, 0x09F2, 0x09F1, 0x09C0, 0x09C1, 0x1607, 0x1608, 0x0C5C, 0x0C5D, 0x0C61, 0x0C62, 0x0C63, 0x0C64, 0x0C65, 0x0C66, 0x0C67, 0x0C6A, 0x0C6B, 0x0C6C, 0x0C6D, 0x0C6E, 0x0C70, 0x0C71, 0x0C72, 0x0C73, 0x0C74, 0x0C75, 0x0C78, 0x0C79, 0x0C7A, 0x0C7B, 0x0C7C, 0x0C7F, 0x0C80, 0x0C81, 0x0C82 ); } if(isInArea("mill", Q4VS, 0x00)) { Q5JX = list( 0x1039 ); } if(isInArea("mine", Q4VS, 0x00)) { Q5JX = list( 0x0E86, 0x0E85, 0x18C5, 0x0FB2, 0x1BEF, 0x106D, 0x0F39, 0x0F3A ); } if(isInArea("observatory", Q4VS, 0x00)) { Q5JX = list( 0x1058, 0x1057, 0x104B, 0x104C, 0x14F5, 0x00018D45, 0x00018D46, 0x00018D47, 0x00018D48, 0x00018D49, 0x00018D4A, 0x00018D4B, 0x00018D4C, 0x00018D4D, 0x00018D4E, 0x00018D4F, 0x00018D50, 0x00018D51, 0x00018D52, 0x00018D53, 0x00018D54, 0x00018D55, 0x00018D56, 0x00018D57, 0x00018D58, 0x00018D59, 0x00018D5A, 0x00018D5B, 0x00018D5C, 0x00018D5D, 0x00018D5E, 0x00018D5F, 0x00018D60 ); } if(isInArea("painter", Q4VS, 0x00)) { Q5JX = list( 0x0FC1, 0x0FBF, 0x0FC0 ); } if(isInArea("provisioner", Q4VS, 0x00)) { Q5JX = list( 0x097E, 0x097D, 0x097C, 0x09B5, 0x09CC, 0x09CD, 0x09CE, 0x09CF, 0x097A, 0x097B, 0x09D0, 0x171F, 0x1720, 0x1721, 0x1722, 0x1723, 0x1724, 0x1725, 0x1726, 0x1727, 0x09D1, 0x1728, 0x1729, 0x172A, 0x172B, 0x172C, 0x172D, 0x0976, 0x0977, 0x0978, 0x0979, 0x097A, 0x097B, 0x09B7, 0x09B8, 0x09B9, 0x09BA, 0x09D3, 0x09C9, 0x1609, 0x160A, 0x09F2, 0x09F1, 0x09C0, 0x09C1, 0x1607, 0x1608, 0x0C5C, 0x0C5D, 0x0C61, 0x0C62, 0x0C63, 0x0C64, 0x0C65, 0x0C66, 0x0C67, 0x0C6A, 0x0C6B, 0x0C6C, 0x0C6D, 0x0C6E, 0x0C70, 0x0C71, 0x0C72, 0x0C73, 0x0C74, 0x0C75, 0x0C78, 0x0C79, 0x0C7A, 0x0C7B, 0x0C7C, 0x0C7F, 0x0C80, 0x0C81, 0x0C82 ); } if(isInArea("ranger", Q4VS, 0x00)) { Q5JX = list( 0x171A, 0x13DB, 0x13E2, 0x13DA, 0x13E1, 0x13D4, 0x13DC, 0x13D5, 0x13DD, 0x13C5, 0x13CB, 0x13D2, 0x13CC, 0x13D3, 0x13C6, 0x13CE, 0x13C7, 0x13D6, 0x1409, 0x1716, 0x171A, 0x153F, 0x1515, 0x13F8, 0x13F9, 0x166E, 0x1711, 0x1712, 0x170B, 0x170C, 0x13B2, 0x13B1, 0x0F4F, 0x0F50, 0x13FD, 0x13FC, 0x0F3F, 0x0F3F, 0x0F3F, 0x0F3F ); } if(isInArea("stables", Q4VS, 0x00)) { Q5JX = list( 0x0C55, 0x0C78 ); } if(isInArea("tanner", Q4VS, 0x00)) { Q5JX = list( 0x171A, 0x13C5, 0x13CB, 0x13D2, 0x13CC, 0x13D3, 0x13C6, 0x13CE, 0x13C7, 0x1068, 0x1067 ); } if(isInArea("tavern", Q4VS, 0x00)) { Q5JX = list( 0x099F, 0x09C7, 0x099B, 0x09C8 ); } if(isInArea("thievesguild", Q4VS, 0x00)) { Q5JX = list( 0x1545, 0x1547, 0x1F0B, 0x1F0C, 0x154B, 0x1549, 0x1F0B, 0x1F0C, 0x14FB ); } if(isInArea("tinker", Q4VS, 0x00)) { Q5JX = list( 0x14FB, 0x1011, 0x104C, 0x1050, 0x104F, 0x1051, 0x1052, 0x1054, 0x1053, 0x1056, 0x1055, 0x1025, 0x104B, 0x1058, 0x1057, 0x105A, 0x1059, 0x105C, 0x105B, 0x105E, 0x105D, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x100E, 0x100F, 0x1010, 0x1013 ); } if(isInArea("vet", Q4VS, 0x00)) { Q5JX = list( 0x0EE9, 0x0E9B, 0x0F0C, 0x0C55, 0x0C78 ); } if(isInArea("weapon", Q4VS, 0x00)) { Q5JX = list( 0x0F45, 0x0F47, 0x0F43, 0x0F49, 0x0F4B, 0x13FB, 0x13B0, 0x0F4D, 0x1403, 0x0F62, 0x1405, 0x143D, 0x13B4, 0x1407, 0x0F5C, 0x143B, 0x1439, 0x1441, 0x143F, 0x13FF, 0x0F5E, 0x0F61, 0x13B8, 0x13B9, 0x13B6, 0x13F8, 0x0E89, 0x0F51, 0x0F50, 0x1401, 0x13B2, 0x0F4F, 0x13FD, 0x13B2, 0x13B1, 0x0F4F, 0x0F50, 0x0F3F ); } if((isInArea("dungn", Q4VS, 0x00)) || (isInArea("mountain", Q4VS, 0x00))) { Q5JX = list( 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x0EF3, 0x1F2D, 0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F35, 0x1F36, 0x1F37, 0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F4D, 0x1F4E, 0x1F4F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x0F45, 0x0F47, 0x0F43, 0x0F49, 0x0F4B, 0x13FB, 0x13B0, 0x0F4D, 0x1403, 0x0F62, 0x1405, 0x143D, 0x13B4, 0x1407, 0x0F5C, 0x143B, 0x1439, 0x1441, 0x143F, 0x13FF, 0x0F5E, 0x0F61, 0x13B8, 0x13B9, 0x13B6, 0x13F8, 0x0E89, 0x0F51, 0x0F50, 0x1401, 0x13B2, 0x0F4F, 0x13FD, 0x13B2, 0x13B1, 0x0F4F, 0x0F50, 0x0F3F, 0x13DB, 0x13E2, 0x13DA, 0x13E1, 0x13D4, 0x13DC, 0x13D5, 0x13DD, 0x1415, 0x1416, 0x1417, 0x1410, 0x1411, 0x141B, 0x1414, 0x1418, 0x1412, 0x1419, 0x13BF, 0x13C4, 0x13BE, 0x13C5, 0x13CB, 0x13D2, 0x13CC, 0x13D3, 0x13C6, 0x13CE, 0x13EC, 0x13ED, 0x13F0, 0x13F1, 0x13EE, 0x13EF, 0x13EB, 0x13F2, 0x144F, 0x1452, 0x144E, 0x1455, 0x13D6, 0x1413, 0x1409, 0x13C7, 0x13D6, 0x13BB, 0x13C0, 0x13BF, 0x1451, 0x1412, 0x1B72, 0x1B73, 0x1B74, 0x1B75, 0x1B76, 0x1B77, 0x1B78, 0x1B79, 0x1B7A, 0x1B7B, 0x1086, 0x108A, 0x108B, 0x1087, 0x1085, 0x1088, 0x1089, 0x0F0F, 0x0F10, 0x0F11, 0x0F13, 0x0F15, 0x0F16, 0x0F18, 0x0F25, 0x0F26, 0x1CDD, 0x1CE5, 0x1CE0, 0x1CE8, 0x1CE1, 0x1CE9, 0x1CEF, 0x1CF0, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, 0x1B11, 0x1B12, 0x1B13, 0x1B14, 0x1B15, 0x1B16, 0x1B17, 0x1B18, 0x1B19, 0x1B1A, 0x1B1B, 0x1B1C, 0x0ECA, 0x0ED2, 0x0ECB, 0x0ECC, 0x0ECD, 0x0ECE, 0x0ECF, 0x0ED0, 0x0ED1, 0x0F06, 0x0F07, 0x0F08, 0x0F09, 0x0F0A, 0x0F0B, 0x0F0C, 0x0F0D, 0x1545, 0x1547, 0x1F0B, 0x1F0C, 0x154B, 0x1549, 0x1F0B, 0x1F0C ); } if(numInList(Q5JX) < 0x01) { return(0x00); } getContents(Q4E5, it); if(numInList(Q4E5) <= Q55X) { Q56F = random(0x00, ((Q55X - numInList(Q4E5)) + 0x01) * 0x02); for(i = 0x00; i < Q56F; i ++) { Q5E7 = random(0x00, numInList(Q5JX) - 0x01); Q60E = Q5JX[Q5E7]; if(Q60E > 0x000186A0) { Q60E = Q60E - 0x000186A0; there = loc( getLocation(it) ); Q4Q1 = requestCreateNPCAt(Q60E, there, 0x32); if(Q4Q1 != NULL()) { Q60E = putObjContainer(Q4Q1, it); } } else { Q4Q1 = requestCreateObjectIn(Q5JX[Q5E7], it); } } } list Q5DB = list( 0x09AC, 0x09B1, 0x0E76, 0x0E77, 0x0E7F ); if(isInList(Q5DB, getObjType(it))) { return(0x01); } int Q53L = getValue(it) / 0x05; if(Q53L > 0xFA) { Q53L = 0xFA; } if(Q53L < 0x64) { if(random(0x00, 0x0A) < 0x03) { return(0x00); } } setObjVar(it, "isLocked", Q53L); attachScript(it, "locked"); return(0x00); }
FUNCTION int Q4WT(obj user, obj Q5AO, obj Q5AB, obj Q5AP, int bank) { loc Q575 = loc( getLocation(user) ); loc Q4VS = loc( getLocation(Q5AB) ); moveDir(Q4VS, 0x04); list Q51X = list( 0x100E, 0x100F, 0x1010, 0x1013 ); int num = random(0x00, (numInList(Q51X) - 0x01)); int Q51W = Q51X[num]; obj key = NULL(); obj Q47G = NULL(); if(bank) { fixBank(user); Q47G = getItemAtSlot(user, 0x1D); if(Q47G == NULL()) { Q47G = getBackpack(user); bank = 0x00; } } else { Q47G = getBackpack(user); } if(Q47G == NULL()) { key = createGlobalObjectAt(Q51W, Q575); barkTo(user, user, "A house key is now at my feet."); } else { key = createGlobalObjectIn(Q51W, Q47G); if(bank) { barkTo(user, user, "A house key is now in my safety deposit box."); } else { barkTo(user, user, "A house key is now in my backpack."); } } if(key == NULL()) { bark(user, "Ack, a key could not be created!"); deleteObject(Q5AO); return(0x00); } attachScript(key, "key"); list Q5Z5; if(hasObjVar(Q5AO, "myhousedoors")) { getObjListVar(Q5Z5, Q5AO, "myhousedoors"); } int Q55T = numInList(Q5Z5); for(int Q4EJ = 0x00; Q4EJ < Q55T; Q4EJ ++) { Q5AB = Q5Z5[Q4EJ]; Q45B(Q5AB, key); } if(Q5AP != NULL()) { Q45B(Q5AP, key); } attachScript(key, "housekey"); return(0x01); }