// DIRECTOR set RoomList = [0:["Foyer":[[0,1,1,0], 0, [point(0, 0), point(65, 0), point(293, 0), point(0, 0)]]], 1:["Dining Room":[[1,1,1,0], 0, [point(10, 0), point(130, 0), point(250, 0), point(0, 0)]]], 2:["Throne Room":[[2,0,1,0], 0, [point(90, -3), point(0, 0), point(300,0), point(0, 0)]]], 3:["Spiral Stairs":[[1,0,1,1], 0, [point(10, -4), point(0, 0), point(180, -4), point(320, 0)]]], 4:["Laboratory":[[1,0,1,1], 0, [point(12, -4), point(0, 0), point(180, -4), point(280, 0)]]], 5:["Snake Den":[[0,1,1,0], 0, [point(0, 0), point(80, 0), point(210, -4), point(0, 0)]]]] set StanceList = [1: [point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(-100, -100), point(135, 302), point(149, 216), point(0, 0), point(0, 0)], 2: [point(-95, -100), point(88, 143), point(152, 167), point(183, 246), point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(0, 0)], 3: [point(-100, -100), point(145, 266), point(137, 155), point(111, 294), point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(0, 0)], 4: [point(-100, -100), point(144, 297), point(148, 223), point(90, 367), point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(0, 0)], 5: [point(-80, -100), point(139, 277), point(124, 214), point(89, 214), point(0, 0), point(0, 0), point(0, 0), point(-1, -13), point(28, -38)], 6: [point(-100, -100), point(150, 278), point(148, 169), point(172, 244), point(0, 0), point(0, 0), point(0, 0), point(0, 12), point(0, 0)], 7: [point(-100, -100), point(165, 273), point(121, 157), point(211, 233), point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(0, 0)], 8: [point(-100, -100), point(143, 284), point(147, 184), point(112, 269), point(0, 0), point(0, 0), point(0, 0), point(0, 0), point(0, 1)], 9: [point(-100, -100), point(142, 243), point(141, 165), point(121, 388), point(0, 0), point(0, 0), point(0, 0), point(-8, 13), point(-5, 3)], 10: [point(-100, -100), point(149, 269), point(154, 156), point(135, 291), point(0, 0), point(0, 0), point(0, 0), point(-7, 9), point(0, 0)], 11: [point(-100, -100), point(146, 269), point(152, 151), point(119, 179), point(0, 0), point(0, 0), point(0, 0), point(-3, 16), point(-3, 2)]] set RoomNames = ["Dining Room", "Throne Room", "Spiral Stairs", "Laboratory", "Snake Den"] set NavigationList = ["0N":["", "", "0D", ""], "0H":["", "", "0D", ""], "0D":["", "", "0F", ""], "0F":["", "", "1R", ""],"1L":["1B", "1F", "1L", "1R"], "1R":["1F", "1B", "2F", "1L"], "1F":["1L", "1R", "5L" ,"1B"], "1B":["1R", "1L", "3F", "1F"], "2L":["2B", "2F", "4R", "2R"], "2R":["2F", "2B", "3F", "2L"], "2F":["2L", "2R", "2F", "2B"], "2B":["2R", "2L", "1L", "2F"], "3L":["3B", "3F", "3L", "3R"], "3R":["3F", "3B", "3R", "3L"], "3F":["3L", "3R", "3F", "3B"], "3B":["3R", "3L", "2L", "3F"], "4L":["4B", "4F", "2R", "4R"], "4R":["4F", "4B", "4R", "4L"], "4F":["4L", "4R", "4F", "4B"], "4B":["4R", "4L", "4B", "4F"], "5L":["5B", "5F", "5L", "5R"], "5R":["5F", "5B", "1B", "5L"], "5F":["5L", "5R", "5F", "5B"], "5B":["5R", "5L", "5F", "5F"]] if newcheck=0 then set ownershipList = [1: [3: [0, 0, 10, 0, [], [], []], 5: [0, 0, 50, 0, [], [], []], 6: [0, 0, 60, 0, [], [], []], 9: [0, 0, 70, 0, [6, 5], [6], []], 7: [0, 0, 20, 0, [], [], []], 12: [0, 0, 40, 0, [2, 4], [11], []], 13: [0, 0, 30, 0, [], [], []], 15: [0, 0, 10, 0, [], [], []], 17: [0, 0, 30, 0, [], [], []], 4: [0, 0, 40, 0, [], [], []], 10: [0, 0, 40, 0, [], [], []], 11: [0, 0, 20, 0, [2], [], []], 14: [0, 0, 20, 0, [], [12], []], 2: [0, 0, 20, 0, [], [], []], 1: [0, 0, 10, 0, [], [], []], 8: [0, 0, 0, 0, [], [], []], 16: [0, 0, 10, 0, [], [], []]], 2: [18: [0, 0, 40, 0, [], [], []], 19: [0, 0, 30, 0, [], [], []], 20: [0, 0, 60, 0, [1], [19], []], 21: [0, 0, 20, 0, [], [], []], 22: [0, 0, 40, 0, [4], [18], []], 23: [0, 0, 10, 0, [], [20], []], 24: [0, 0, 10, 0, [], [], []], 25: [0, 0, 20, 0, [], [24], []], 26: [0, 0, 50, 0, [], [21], []], 28: [0, 0, 10, 0, [], [27], []], 29: [0, 0, 10, 0, [], [28], []], 30: [0, 0, 30, 0, [], [29], []], 31: [0, 0, 10, 0, [], [30], []], 32: [0, 0, 30, 0, [], [], []], 33: [0, 0, 20, 0, [], [32], []], 34: [0, 0, 10, 0, [], [], []], 35: [0, 0, 15, 0, [], [], []], 27: [0, 0, 50, 0, [], [26], []]], 3: [50: [0, 0, 40, 0, [], [], []], 52: [0, 0, 10, 0, [], [], []], 53: [0, 0, 30, 0, [], [50], []], 54: [0, 0, 40, 0, [], [53], []], 55: [0, 0, 30, 0, [4], [], []], 56: [0, 0, 20, 0, [], [], []], 57: [0, 0, 20, 0, [], [56], []], 58: [0, 0, 10, 0, [4], [57], []], 59: [0, 0, 30, 0, [4], [], []], 60: [0, 0, 20, 0, [], [], []], 61: [0, 0, 30, 0, [2], [], []], 62: [0, 0, 50, 0, [2], [], []], 63: [0, 0, 30, 0, [2], [62], []], 64: [0, 0, 10, 0, [], [], []], 124: [0, 0, 20, 0, [], [50], []], 51: [0, 0, 20, 0, [], [50], []]], 4: [36: [0, 0, 30, 0, [], [], []], 37: [0, 0, 20, 0, [], [], []], 38: [0, 0, 20, 0, [], [], []], 39: [0, 0, 30, 0, [3], [], []], 40: [0, 0, 10, 0, [3], [39], []], 41: [0, 0, 70, 0, [1], [], []], 42: [0, 0, 30, 0, [1], [41], []], 43: [0, 0, 40, 0, [], [], []], 44: [0, 0, 20, 0, [3], [43], []], 45: [0, 0, 30, 0, [], [], []], 46: [0, 0, 30, 0, [1], [], []], 47: [0, 0, 20, 0, [1], [46], []], 48: [0, 0, 30, 0, [1], [47], []], 49: [0, 0, 20, 0, [], [], []]], 5: [66: [0, 0, 20, 0, [], [], []], 68: [0, 0, 30, 0, [1, 2, 3, 4], [], []], 67: [0, 0, 40, 0, [2, 1, 3, 4], [], []], 69: [0, 0, 10, 0, [], [], []], 70: [0, 0, 10, 0, [], [69], []], 73: [0, 0, 10, 0, [], [72], []], 72: [0, 0, 10, 0, [], [71], []], 74: [0, 0, 10, 0, [], [73], []], 75: [0, 0, 300, 0, [], [], []], 76: [0, 0, 10, 0, [], [], []], 77: [0, 0, 20, 0, [6], [], []], 78: [0, 0, 40, 0, [], [], []], 79: [0, 0, 40, 0, [6], [], []], 65: [0, 0, 10, 0, [], [], []], 71: [0, 0, 10, 0, [], [], []]], 6: [135: [0, 0, 10, 0, [5], [], []], 137: [0, 0, 10, 0, [5], [], []], 136: [0, 0, 20, 0, [], [], []], 138: [0, 0, 10, 0, [], [137], []], 139: [0, 0, 10, 0, [], [138], []], 140: [0, 0, 20, 0, [], [], []], 141: [0, 0, 10, 0, [], [137], []], 142: [0, 0, 10, 0, [], [137], []], 143: [0, 0, 50, 0, [2, 1, 3, 4], [137], []], 144: [0, 0, 10, 0, [5], [135], []], 145: [0, 0, 40, 0, [], [], []], 146: [0, 0, 30, 0, [1], [137], []], 147: [0, 0, 50, 0, [1, 2, 3, 4], [], []], 148: [0, 0, 10, 0, [], [], []], 149: [0, 0, 40, 0, [], [], []], 150: [0, 0, 40, 0, [], [135], []], 151: [0, 0, 10, 0, [], [], []], 152: [0, 0, 10, 0, [], [], []], 153: [0, 0, 10, 0, [], [], []]], 7: [82: [0, 0, 20, 0, [], [], []], 83: [0, 0, 40, 0, [], [], []], 84: [0, 0, 50, 0, [], [], []], 85: [0, 0, 60, 0, [], [], []], 86: [0, 0, 10, 0, [], [], []], 87: [0, 0, 5, 0, [], [], []], 88: [0, 0, 5, 0, [], [], []], 89: [0, 0, 20, 0, [], [], []], 80: [0, 0, 10, 0, [], [], []], 81: [0, 0, 10, 0, [], [], []]], 8: [119: [0, 0, 30, 0, [], [], []], 121: [0, 0, 20, 0, [2, 1, 4, 3], [], []], 122: [0, 0, 20, 0, [], [121], []], 123: [0, 0, 30, 0, [], [122], []], 124: [0, 0, 30, 0, [], [], []], 125: [0, 0, 30, 0, [], [], []], 126: [0, 0, 40, 0, [], [], []], 127: [0, 0, 30, 0, [3], [], []], 128: [0, 0, 50, 0, [3, 1, 2, 4], [127], []], 129: [0, 0, 40, 0, [3], [128], []], 131: [0, 0, 30, 0, [2], [], []], 132: [0, 0, 20, 0, [], [], []], 133: [0, 0, 10, 0, [], [], []], 134: [0, 0, 10, 0, [2, 1, 3, 4], [], []], 120: [0, 0, 10, 0, [], [], []], 130: [0, 0, 5, 0, [], [], []]], 9: [90: [0, 0, 50, 0, [1, 2, 3, 4], [], []], 91: [0, 0, 60, 0, [1, 2, 3, 4], [], []], 92: [0, 0, 50, 0, [1, 2, 3, 4], [91], []], 93: [0, 0, 80, 0, [1, 2, 3, 4, 7], [92], []], 94: [0, 0, 20, 0, [1, 2, 3, 4], [93], []], 95: [0, 0, 30, 0, [7], [], []], 96: [0, 0, 10, 0, [], [], []], 97: [0, 0, 10, 0, [], [], []], 98: [0, 0, 5, 0, [], [], []], 99: [0, 0, 5, 0, [], [], []], 100: [0, 0, 20, 0, [1, 2, 3, 4], [], []], 101: [0, 0, 10, 0, [], [], []]], 10: [166: [0, 0, 10, 0, [], [], []], 167: [0, 0, 10, 0, [], [166], []], 168: [0, 0, 60, 0, [3], [], []], 169: [0, 0, 20, 0, [1, 2], [], []], 170: [0, 0, 40, 0, [1, 2, 3, 4], [], []], 171: [0, 0, 50, 0, [1, 2, 3, 4], [], []], 172: [0, 0, 30, 0, [1, 2, 3, 4], [], []], 173: [0, 0, 10, 0, [], [], []], 174: [0, 0, 10, 0, [], [], []], 175: [0, 0, 50, 0, [], [], []], 176: [0, 0, 10, 0, [], [], []]], 11: [154: [0, 0, 10, 0, [], [], []], 155: [0, 0, 30, 0, [], [], []], 156: [0, 0, 10, 0, [], [], []], 157: [0, 0, 10, 0, [], [156], []], 158: [0, 0, 10, 0, [], [157], []], 159: [0, 0, 10, 0, [3], [158], []], 160: [0, 0, 40, 0, [3], [159], []], 161: [0, 0, 40, 0, [], [], []], 162: [0, 0, 10, 0, [], [], []], 163: [0, 0, 20, 0, [], [], []], 164: [0, 0, 20, 0, [], [], []], 165: [0, 0, 20, 0, [], [], []]], 12: [102: [0, 0, 1, 0, [], [], []], 103: [0, 0, 1, 0, [], [], []], 104: [0, 0, 1, 0, [], [], []], 105: [0, 0, 1, 0, [], [], []], 106: [0, 0, 1, 0, [], [], []], 107: [0, 0, 1, 0, [], [], []], 108: [0, 0, 1, 0, [], [], []], 109: [0, 0, 1, 0, [], [], []], 110: [0, 0, 1, 0, [1], [], []], 111: [0, 0, 1, 0, [], [], []], 112: [0, 0, 0, 0, [], [], []], 113: [0, 0, 1, 0, [], [], []], 114: [0, 0, 1, 0, [], [], []], 115: [0, 0, 1, 0, [], [], []], 116: [0, 0, 1, 0, [], [], []], 117: [0, 0, 1, 0, [], [], []], 118: [0, 0, 1, 0, [], [], []]]] else set OwnershipList = value(line 9 of prefs) end if set MyOwnershipList = getat(ownershiplist, count(ownershipList)) set ArticleList = [:] set TopicList = [1: "Baron Digbody", 2: "the Castle", 3: "Baroness Ursula", 4: "snakes", 5: "Professor Prune", 6: "ten years ago", 7: "hydropinics", 8: "the Laboratory", 9: "human parts", 10: "Space Girl", 11: "relatives", 12: "cannibalism", 13: "experiments", 14: "the saucer", 15: "unusual speech", 16: "a few days ago", 17: "the Servants", 18: "Aunt Jeanette", 19: "the advert", 20: "Butlers", 21: "Cooks", 22: "Chaffeurs", 23: "Gardeners", 24: "the hills", 25: "the road", 26: "the graveyard", 27: "eleven years ago", 28: "the four Serpents", 29: "disappearances", 30: "eating snakes", 31: "twin Asps", 32: "bags", 33: "yesterday", 34: "hunting Giants", 35: "a message", 36: "yourself", 37: "romance", 38: "haunting Gents", 39: "teaching", 40: "missing pieces", 41: "Witch in the Tree", 42: "Witches", 43: "cooking", 44: "cyprus trees", 45: "driving", 46: "accidents", 47: "Lurk", 48: "double identity", 49: "Bartholomu", 50: "the Club", 51: "canon balls", 52: "gardening", 53: "banishment", 54: "70's movies", 55: "Hippie", 56: "Sand Witch", 57: "sand", 58: "Doctor Zig Zag", 59: "the Phantom Scrubber", 60: "Boris"] set topicNames = ["70's movies", "a few days ago", "a message", "accidents", "Aunt Jeanette", "bags", "banishment", "Baron Digbody", "Baroness Ursula", "Bartholomu", "Boris", "Butlers", "cannibalism", "canon balls", "Chaffeurs", "cooking", "Cooks", "cyprus trees", "disappearances", "Doctor Zig Zag", "double identity", "driving", "eating snakes", "eleven years ago", "experiments", "Gardeners", "gardening", "haunting Gents", "Hippie", "human parts", "hunting Giants", "hydropinics", "Lurk", "missing pieces", "Professor Prune", "relatives", "romance", "sand", "Sand Witch", "snakes", "Space Girl", "teaching", "ten years ago", "the advert", "the Castle", "the Club", "the four Serpents", "the graveyard", "the hills", "the Laboratory", "the Phantom Scrubber", "the road", "the saucer", "the Servants", "twin Asps", "unusual speech", "Witch in the Tree", "Witches", "yesterday", "yourself"] --see tools On OSCI -- off-screen character interaction Repeat with i = 1 to count(roomlist) - 1 if i = thisroom then nothing else set x = getat(OccupantList, i) set check = 0 set temp = [] repeat with j in x if j > 0 then set check = check + 1 add temp, j end if end repeat if check > 1 then --more than 1 person in room set oneasking = getat(temp, Random(check)) deleteat(temp, getpos(temp, oneasking)) set oneanswering = getat(temp, Random(check-1)) set y = getat(knowledgelist, findpos(knowledgelist, oneasking)) --list of topics/states if y = [:] then nothing else set z = random(count(y)) set onetopic = getpropat(y, z) set onestatements = getat(y, z) set x = getResponseStatements(oneanswering, onetopic) --list of statements pertaining to topic set y = count(x) if y > 0 then set temp = [:] --list of one answering's statements repeat with j = 1 to y set a = getat(x, j) -- statement # set z = getownershipstatementdata(oneAnswering, a) -- data for statement addprop temp, a, z end repeat --below clears statements from temp that one already knows set m = count(temp) if m > 0 then set mm = getownership(oneasking) repeat with j = m down to 1 if findpos(mm, getpropat(temp, j)) > 0 then deleteat temp, j end repeat --check set m = count(temp) if m > 0 then repeat with j = m down to 1 if findpos(mm, getpropat(temp, j)) > 0 then alert "duplicate in osci!" end repeat end if set m = count(temp) if m > 0 then --check if someone bad is in room (filter) repeat with j = m down to 1 set b = getat(getat(temp, j), 5) if count(b) > 0 then -- filter has someone in it repeat with k = count(b) down to 1 if getpos(others, getat(b, k)) > 0 then deleteat temp, j exit repeat end if end repeat end if end repeat set m = count(temp) if m > 0 then --check if you beat the odds -- if so give sentence with lowest odds. set c = random(100) set oddslist = [:] sort oddslist repeat with j = 1 to m addprop oddslist, getat(getat(temp, j), 3), getpropat(temp, j) end repeat set oddmin = getpropat(oddslist, 1) if c >= oddmin then set TheAnswer = getat(oddslist, 1) --statement # of lowest odds if getpos(onestatements,TheAnswer) > 0 then nothing else if oneasking = oneanswering then alert "duplicate one answering" --put gettopicname(onetopic) --put "one asking" && getpeoplename(oneasking) --put "one answering" && getpeoplename(oneAnswering) --add to one asking's ownership list set x = getownershipstatementData(OneAnswering, TheAnswer) set tt = [] repeat with j = 1 to count(x) add tt, getat(x, j) end repeat setat tt, 1, round --current round setat tt, 2, 0 --spewed setat tt, 4, OneAnswering --from if TweekPassFilter <> 1 then setat tt, 5, [] --filter set s = getsecret(OneAsking) if TweekSecretactive = 1 then setat tt, 3, integer(oddmin*1.00*s/10.00) --odds set y = getOwnership(OneAsking) addprop y, TheAnswer, value(string(tt)) --add to knowledgelist set x = getstatementTopics(theAnswer) set y = getKnowledge(OneAsking) Repeat with j in x set z = findpos(y, j) if z > 0 then --already topic known add getat(y, z), TheAnswer else set slist = [] add slist, TheAnswer addprop y, j, slist end if end repeat end if end if end if end if end if end if end if end if end if end repeat end