Script Function: Q4TP
From Ultima Online: The Second Age
function int Q4TP(obj this, obj speaker, string arg) { list args; split(args, arg); int Q4QI = 0x00; string Q618; list Q5II; int Q699; for(int i = 0x00; i < numInList(args); i++) { Q618 = args[i]; if (Q618 == "where") { Q4QI = 0x01; if (0x00) { bark(this, "Being asked where something is."); } Q699 = i; } } if (!Q4QI) { return (0x01); } ; string Q5QL = "nothing"; int Q4TS = 0x00; Q4QI = 0x00; int Q5J5 = 0x01; for(i = Q699; i < numInList(args); i++) { Q618 = args[i]; if (Q618 == "shrine") { Q5QL = "shrine"; Q4TS = 0x01; Q5J5 = 0x00; Q4QI = 0x01; } if (Q618 == "britain") { Q5QL = "city_britain"; Q618 = "city of Britain"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "buccaneer") { Q5QL = "city_bucden"; Q618 = "island known as Buccaneer's Den"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "jhelom") { Q5QL = "city_jhelom"; Q618 = "city of Jhelom"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "magincia") { Q5QL = "city_magincia"; Q618 = "city of Magincia"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "vesper") { Q5QL = "city_vesper"; Q618 = "lovely city of Vesper"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "minoc") { Q5QL = "city_minoc"; Q618 = "rustic town of Minoc"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "moonglow") { Q5QL = "city_moonglow"; Q618 = "magical city of Moonglow"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "nujel") { Q5QL = "city_nujelm"; Q618 = "city of Nujel'm"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "ocllo") { Q5QL = "city_ocllo"; Q618 = "strange land called Ocllo"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "serpent") { Q5QL = "city_serphold"; Q618 = "fortress called Serpent's Hold"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "skara") { Q5QL = "city_skara"; Q618 = "town of Skara Brae"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "trinsic") { Q5QL = "city_trinsic"; Q618 = "walled city of Trinsic"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "yew") { Q5QL = "city_yew"; Q618 = "city of Yew"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "cove") { Q5QL = "city_cove"; Q618 = "township of Cove"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "abbey") { Q5QL = "abbey"; Q618 = "Empath Abbey"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "alchemist") { Q5QL = "alchemist"; Q4QI = 0x01; } if (Q618 == "animal") { Q5QL = "animaltrainer"; Q618 = "animal trainer"; Q4QI = 0x01; } if ((Q618 == "armorer") || (Q618 == "armourer")) { Q5QL = "armorer"; Q4QI = 0x01; } if ((Q618 == "artisans") || (Q618 == "artisan")) { Q5QL = "artisansguild"; Q618 = "artisans guild"; Q4TS = 0x01; if (Q618 == "artisans") { Q5J5 = 0x00; } Q4QI = 0x01; } if ((Q618 == "baker") || (Q618 == "bakery")) { Q5QL = "baker"; if (Q618 == "bakery") { Q5J5 = 0x00; } Q4QI = 0x01; } if (Q618 == "bank") { Q5QL = "bank"; Q4TS = 0x01; Q4QI = 0x01; } if ((Q618 == "bard") || (Q618 == "bards")) { Q5QL = "bard"; if (Q618 == "bards") { Q5J5 = 0x00; } Q4QI = 0x01; } if ((Q618 == "bath") || (Q618 == "baths")) { Q5QL = "bath"; if (Q618 == "baths") { Q5J5 = 0x00; } Q4QI = 0x01; } if (Q618 == "beekeeper") { Q5QL = "beekeeper"; Q4QI = 0x01; } if ((Q618 == "smith") || (Q618 == "blacksmith")) { Q5QL = "blacksmith"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "blackthorn") { Q5QL = "blackthornkeep"; Q618 == "Blackthorn's keep"; Q4TS = 0x01; Q4QI = 0x01; } if ((Q618 == "bowyer") || (Q618 == "fletcher")) { Q5QL = "bowyer"; Q4QI = 0x01; } if (Q618 == "butcher") { Q5QL = "butcher"; Q4QI = 0x01; } if (Q618 == "carpenter") { Q5QL = "carpenter"; Q4QI = 0x01; } if (Q618 == "casino") { Q5QL = "casino"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "cemetery") { Q5QL = "cemetery"; Q5J5 = 0x00; Q4QI = 0x01; } if (Q618 == "clothier") { Q5QL = "clothier"; Q4QI = 0x01; } if (Q618 == "cobbler") { Q5QL = "cobbler"; Q4QI = 0x01; } if (Q618 == "court") { Q5QL = "court"; Q4QI = 0x01; Q4TS = 0x01; } if (Q618 == "customs") { Q5QL == "customs"; Q4QI = 0x01; Q5J5 = 0x00; } if ((Q618 == "docks") || (Q618 == "dock")) { Q5QL = "docks"; Q4QI = 0x01; if (Q618 == "docks") { Q5J5 = 0x00; } Q4TS = 0x01; } if ((Q618 == "duel") || (Q618 == "pit")) { Q5QL = "duelpit"; Q618 == "dueling pit"; Q4QI = 0x01; } if (Q618 == "farm") { Q5QL = "farm"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "fish") { Q5QL = "fishery"; Q4QI = 0x01; } if (Q618 == "glassblower") { Q5QL = "glassblower"; Q4QI = 0x01; } if ((Q618 == "gypsy") || (Q618 == "gypsies")) { Q5QL = "gypsy"; if (Q618 == "gypsies") { Q5J5 = 0x00; } Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "healer") { Q5QL = "healer"; Q4QI = 0x01; } if (Q618 == "herbalist") { Q5QL = "herbalist"; Q4QI = 0x01; } if ((Q618 == "inn") || (Q618 == "hostel")) { Q5QL = "inn"; Q4TS = 0x01; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "jail") { Q5QL = "jail"; Q4QI = 0x01; } if (Q618 == "jeweler") { Q5QL = "jeweler"; Q4QI = 0x01; } if (Q618 == "castle") { Q5QL = "lbcastle"; Q4TS = 0x01; Q5J5 = 0x00; Q4QI = 0x01; } if (Q618 == "library") { Q5QL = "library"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "lighthouse") { Q5QL = "lighthouse"; Q4TS = 0x01; Q5J5 = 0x00; Q4QI = 0x01; } if ((Q618 == "magic") || (Q618 == "mage")) { Q5QL = "magic"; Q4QI = 0x01; Q618 = "mage"; } if (Q618 == "merchant") { Q5QL = "merchant"; Q4QI = 0x01; } if (Q618 == "mill") { Q5QL = "mill"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "observatory") { Q5QL = "observatory"; Q5J5 = 0x00; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "painter") { Q5QL = "painter"; Q4QI = 0x01; } if (Q618 == "paladin") { Q5QL = "paladin"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "provisioner") { Q5QL = "provisioner"; Q4QI = 0x01; } if (Q618 == "shipwright") { Q5QL = "shipwright"; Q4TS = 0x01; Q4QI = 0x01; } if ((Q618 == "stable") || (Q618 == "stables")) { Q5QL = "stable"; if (Q618 == "stables") { Q5J5 = 0x00; } Q4QI = 0x01; } if (Q618 == "tanner") { Q5QL = "tanner"; Q4QI = 0x01; } if ((Q618 == "tavern") || ((Q618 == "pub") || (Q618 == "bar"))) { Q5QL = "tavern"; Q4QI = 0x01; } if (Q618 == "temple") { Q5QL = "temple"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "theater") { Q5QL = "theater"; Q4QI = 0x01; Q5J5 = 0x00; } if (Q618 == "tinker") { Q5QL = "tinker"; Q4QI = 0x01; } if ((Q618 == "vet") || (Q618 == "veterinarian")) { Q5QL = "vet"; Q4QI = 0x01; } if ((Q618 == "weapons") || (Q618 == "weaponeer")) { Q5QL = "weaponry"; Q4QI = 0x01; if (Q618 == "weapons") { Q5J5 = 0x00; } } if (Q618 == "trainer") { Q5QL = "weapontrainer"; Q4QI = 0x01; } if (Q618 == "woodworker") { Q5QL = "woodworker"; Q4TS = 0x01; Q4QI = 0x01; } if (Q618 == "guild") { string Q5QO; string Q4QT; Q4TS = 0x01; for(int Q518 = 0x00; Q518 < numInList(args); Q518++) { Q5QO = args[Q518]; if (Q5QO == "bard") { Q4QT = "bardic guild"; Q5QL = "bardguild"; Q4QI = 0x01; } if ((Q5QO == "fighter") || (Q5QO == "warrior")) { Q4QT = "warrior's guild"; Q5QL = "fighterguild"; Q4QI = 0x01; } if (Q5QO == "healer") { Q4QT = "healer's guild"; Q5QL = "healer"; Q4QI = 0x01; } if (Q5QO == "merchant") { Q4QT = "merchant's guild"; Q5QL = "merchantguild"; Q4QI = 0x01; } if (Q5QO == "miner") { Q4QT = "miner's guild"; Q5QL = "minerguild"; Q4QI = 0x01; } if (Q5QO == "ranger") { Q4QT = "ranger's guild"; Q5QL = "rangerguild"; Q4QI = 0x01; } if (Q5QO == "tailor") { Q4QT = "tailor's guild"; Q5QL = "tailorguild"; Q4QI = 0x01; } if (Q5QO == "tinker") { Q4QT = "tinker's guild"; Q5QL = "tinkerguild"; Q4QI = 0x01; } } } } if (!Q4QI) { if (0x00) { bark(this, "Asked direction to nowhere I recognize."); } return (0x01); } string Q601; loc Q5ZU; loc Q4VS = getLocation(this); Q4QI = findClosestArea(Q601, Q5ZU, Q5QL, Q4VS, Q4TS); if (Q601 == "") { if (Q4QT == "") { if (Q5J5 == 0x00) { Q601 = Q618 + "s"; } else { Q601 = Q618; } } else { Q601 = Q4QT; } } split(args, Q601); Q5QO = args[0x00]; if (Q5QO == "the") { Q618 = ""; } else { Q618 = "the "; } string Q5N7 = "Thou seekest " + Q618 + Q601 + "?"; bark(this, Q5N7); Q4J9(this); if (!Q4QI) { bark(this, "I know not where to find that."); return (0x00); } string Q602 = getDirection(Q4VS, Q5ZU); string Q603 = getDistance(Q4VS, Q5ZU); Q5N7 = "'Tis " + Q603 + " " + Q602 + " from here."; if (Q603 == "right here") { Q5N7 = "But 'tis " + Q603 + "! Look thee " + Q602 + "."; } bark(this, Q5N7); return (0x00); }