;*********************** Super spiffy windowed comm ******************************** /eval /set lines=$[tfopen("../Comm", "a")] /eval /set windowmsg=<$[ftime("%Y:%m:%d::%I:%M:%S", time())]> /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))] /eval /set lastline=%{lines} /def -F -p10 -t'^[^ ]' setline = /set lastline=0 /def -F -p10 -t'^[ ]*$' blankline = /if (!lastline) /echo %;/endif /eval /set commwindowsopen=%{commwindowsopen-0} ; open communication lines in another window ;/if (!commwindowsopen) \ ; /sh xterm -bg black -fg white -T Comm -e tail -f Comm &%;\ ;/endif /def timestamp = /eval /set ts $[ftime("%Y%m%d::%H:%M:%S", time())]> ; stop shouts from interfering with other triggers /def -pmaxpri -t'^[A-Za-z0-9]+ shouts:.*$$' shoutblock /def chatline = \ /def -p1 -F -t"%{-1}" chatline_%{1} = \ /timestamp %%;\ /set windowmsg=%%{ts}$$[escape("\;\$\%",{P0})] %%;\ /eval /let retval=$$[tfwrite(lines, encode_ansi(windowmsg))] %%;\ /set lastline=%%{lines}%; ; This pre-empts the chatline trigger to ignore routine spam, nevermind gag it. /def unchatline = /def -ag -p2 -t"%{-1}" unchatline_%{1} ; This takes care of multi-line messages (makes them go to the right place if you use ; multiple capture windows) /def -p2 -F -t'^ +.*$$' longline = \ /if (lastline) \ /timestamp%;\ /set windowmsg=%{ts}$[escape('\$\%\;',{P0})]%;\ /eval /let retval=$[tfwrite(lastline, encode_ansi(windowmsg))]%;\ /endif ; ************ Personal communication lines ****************** /chatline tell ^(?:A ghostly form of )?[A-Za-z0-9@]+ tells?( you)? ?\(?([A-Za-z0-9,@]+)?\)? ?: ..+$$ /chatline linktell ^[A-Za-z0-9@]+ LTs? \(.*\)$$ /chatline party ^(\[PARTY\])( [^:]+:? .+)$$ /unchatline party_divvy1 ^\[PARTY\] All gold divvied, total: /unchatline party_divvy2 ^\[PARTY\] GOLD divvy called by /chatline emotes ^From afar, .*$$ /chatline whisper ^[A-Za-z0-9]+ whispers? to [A-Za-z]+: .*$$ /chatline spouse ^--<@ [A-Za-z]+ @>-- .*$$ /chatline alpha ^[A-Z][a-z0-9]+ \:.*$$ /chatline guildadmin ^\ [^:]+:.*$$ /chatline say ^[A-Za-z0-9]+ says?: .*$$ /chatline world_drop ^World drop! -\>.*$$ ;/unchatline 6fingered ^\w+ says?: (Fezzik, are there rocks ahead\?|Humiliations galore!|You are sure no one\'s following us\?|I know something you don\'t know. I am NOT left handed!|There will be BLOOD tonight!!|Who are you\? I MUST know!|Offer me money. Power too, promise me that!|I am waiting for you Vizzini!|I want my father back you son of a bitch!|Naturally you must expect me to attack with Capo Ferro!|You seem a decent fellow. I hate to kill you.)$ ; ************ Mob/Area Event Logging ******************************** /chatline arachnus ^A blinding \w+ flash comes from the body of the spider god!$$ /chatline cae ^Ganderei drinks a potion and his body contorts in pain!$$ /chatline crysmal ^In a mighty shattering, The \w+ casing cracks apart from Crysmal! /chatline prysmatia ^Prysmyia\'s [a-z]+ casing cracks, then shatters apart!$$ /chatline shansy ^A flash of energy emanates from Shansabyk's body\.$$ /chatline westersea ^The mission '.+$$ /chatline missions ^\[Missions:\w+\] .+$ ; ****************** Mystic Eyes ********************* /chatline eyekiller ^[A-Za-z]+ dealt the killing blow to Mystic Eyes\.$ /chatline eye appears out of nowhere\.$ ; ************* GUILD (necro) ************ /chatline nec_weres ^[A-Z][a-z]+ \[Were[a-z]+\(\d+\)\]\: .+$ /chatline nec_emote ^\[\d+-\w+\]\: .+$ ; covers the bard and interguild lines as well: /chatline necbardinter_line ^[A-Z][@3a-z]+ \[[-0-9A-Za-z]+\]: .+$ /chatline nec_death ^\[\-=(DEATH|GUILD)=\-\]\: .+$ /chatline nec_alarm ^.+ tripped the alarm placed at\.\.\.$ /unchatline necro1 ^Bray says: You can only hold 999 of each reagent\.$ /unchatline necro2 ^Mistrunner tells you: You failed to prepare any powers this session\.$ /unchatline necro3 ^Duncan says: Thank you for your donation\.$ ; ************* GUILD (mages) ************ /chatline sii ^\. o O \( [A-Z][a-z]+: .* ; ************* GUILD (mages) ************ /chatline mage ^\[Mage\(\d+\)\] \w+ : .*$ /chatline arch ^\[(?:Empyrean Arch|Mage|Sorcerer|Philosopher)\] \w+ : .*$ /chatline mage_announce ^\[\[MAGE\]\] .+$ /unchatline summons says: (all, .+|As you command\.|Ah geez, do I have to\?|Are you kidding\? Bah, why am I here\.|That's it, this is crap, next chance I get\.\.\.)$$ ; ************* GUILD (jedis) ************ /chatline jedi_telepathy ^[A-Z][a-z]+ thinks \. o O \(.*$ /chatline auction_bid ^\[Auction\] [A-Z][a-z]+ : Up for bids: .*$ ; ************* GUILD (bard) ************ ;/chatline bard ^[A-Z][a-z]+ \[[0-9]+\]:.*$$ /chatline bard_advance ^\[ADVANCE\] .+$$ /chatline hibard ^[A-Z][a-z]+ \[(HighBard|Gallant)\]:.*$$ /chatline bard50 ^[A-Z][a-z]+ \[Fifty\]:.*$$ ; ***************** PRIEST ******************************** /chatline priest ^[A-Z@a-z ]+ \(Priest [A-Za-z0-9]+\):.*$$ /chatline priest_emote ^\(Priest \d+\) [A-Z\.@a-z ]+:.*$$ /chatline priest_bitch ^[A-Z\.@a-z ]+ \(Bitch\):.*$$ /chatline priest_announce ^\(Announcement\).*$$ ; ***************** GENTECH ******************************** /chatline gentech ^(?:A ghostly form of )?[A-Z\.@a-z ]+ \[Gen-[A-Z][a-z]+\] :.*$$ /chatline gennotify ^\[Gen-[A-Z][a-z]+\]:.*$$ ; ***************** Explorer chat ****************************************** /chatline explorers ^([A-Z][a-z]+ \(Exp\): )(.*)$$ /chatline explorers_rank ^[A-Z][a-z]+ has advanced (his|her) rank to #[0-9]+ in the top [0-9]+ explorers!$ ; ***************** Intermud guild lines ****************************************** ;/chatline interguild ^[A-Z][a-z@3]+ \[G[a-z]+\]:.*$$ ; ****************** CRAFTING ******************************* /chatline craft ^[A-Z@a-z]+ \:.*$$ ; ****************** Privelidged Channels ******************************* /chatline highmortal ^[A-Z@a-z]+ \:.*$$ /chatline player_review_board ^[A-Z][a-z]+ \[\>PRB\<\]: .+ ; ********************* POLITICS LINE ******************* ;/alias phist /eval /set polhist 1%;/send pol -h %;/repeat -1 1 /set polhist 0%; ;/alias pwho /send pol -w /chatline politics ^\[Politics:[A-Z][a-z]+\] .*$$ ; ************ Corp/Clan communication lines ****************** /chatline corp1 ^\[(?:Corp|Syndicate)( CEO)?\] [A-Za-z]+: .* /chatline corp2 ^\[Corp Notify\] .* /chatline court1 ^\[(Clan|CLAN)\]:? ([A-Za-z]+ : )?.* /chatline council ^\[\{(Council|COUNCIL)\}\]:? [A-Za-z]+ : ?.* ; ################# Other Guild Regexps ############################ ; Jugger shit ;/def -p1 -ag -F -t'^(\[Jugger(\([A-Z]+\))?\] )([A-Za-z]+: )?(.*)$$' windowjugger1 = \ ; /eval /set windowmsg=%{ts}%{P1}%{P3}%{P4}%;\ ; /eval /let retval=$[tfwrite(juggerline, encode_ansi(windowmsg))]%;\ ; /eval /set lastline=%{juggerline} ;/def -p1 -PCgreen -F -t'^\[Jugger(\([A-Z]+\))?\] [A-Za-z ]+:' hilitemain ;/def -p2 -PBCgreen -F -t'^\[Jugger(\([A-Z]+\))?\]' hilitemain2 ;/def -p1 -PCgreen -F -t'^\[Bear(\([A-Z]+\))?\] [A-Za-z ]+:' hilitecb ;/def -p2 -PBCgreen -F -t'^\[Bear(\([A-Z]+\))?\]' hilitecb2 ;/def -p1 -Fag -t'^(\[Bear(\([A-Z]+\))?\] )([A-Za-z]+:)?(.*)$$' windowjugger2 = \ ; /eval /set windowmsg=%{ts}%{P1}%{P3}%{P4}%;\ ; /eval /let retval=$[tfwrite(juggerline, encode_ansi(windowmsg))]%;\ ; /eval /set lastline=%{juggerline} ; Mental comm lines ;/def -p1 -ag -F -t'^([a-zA-Z]+ \[[A-Z][0-9]+\]:)(.*)$$' windowelemain = \ ; /eval /set windowmsg=%{ts}%{P1}%{P2}%;\ ; /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))]%;\ ; /eval /set lastline=%{lines} %;\ ;/def -p1 -ag -F -t'^(\[{ENTER|EXIT}\])(.*)$$' windowelementer = \ ; /eval /set windowmsg=%{ts}%{P 1}%{P2}%;\ ; /eval /let retval=$[tfwrite(lines, encode_ansi(windowmsg))]%;\ ; /eval /set lastline=%{lines} /chatline toxicologist ^More venoms can now be introduced into the collection you have\.$ /unchatline hebrew1 ^Joseph says\: How can you attack me!! /unchatline hebrew2 ^Javasa says: You shall stay with me Moses\.$ /unchatline dogcollar ^\w+ says?: WOOF! /unchatline wwf1 ^\w+ says?: Who's your Daddy\?$ /unchatline wwf2 ^\w+ says?: Bang Bang!$ /unchatline wwf3 ^\w+ says?: Know your role and shut your mouth!$ /unchatline wwf4 ^\w+ says?: Your face, your ass, what's the difference\.$ /unchatline wwf5 ^\w+ says?: Let god sort 'em out\.$ /unchatline wwf6 ^\w+ says?: IT DOESN'T MATTER WHAT YOUR NAME IS!!$ /unchatline wwf7 ^\w+ says?: And that's the bottom line because /unchatline wwf8 ^\w+ says?: Come get some\.$ /unchatline wwf9 ^\w+ says?: Nobody steals our chicks\.\.\. and lives\.$ /unchatline pb1 ^\w+ says?: Fezzik, are there rocks ahead\?$ /unchatline pb2 ^\w+ says?: There will be BLOOD tonight!!$ /unchatline pb3 ^\w+ says?: Offer me money\. Power too, promise me that!$ /unchatline pb4 ^\w+ says?: Who are you? I MUST know!$ /unchatline pb5 ^\w+ says?: I know something you don't know. I am NOT left handed!$ /unchatline pb6 ^\w+ says?: Hello! My name is Inigo Montoya. You$ /unchatline pb7 ^\w+ says?: I am waiting for you Vizzini!$ /unchatline pb8 ^\w+ says?: (You are sure no one's following us\?|Who are you\? I MUST know!|You seem a decent fellow. I hate to kill you.|I want my father back you son of a bitch!|Humiliations galore!|Naturally you must expect me to attack with Capo Ferro!)$ /unchatline pb9 ^ killed my father\. Prepare to die!$ /unchatline duke ^\w+ says?: (What are you waiting for, Christmas\?|Let's rock\.|It's time to kick ass and chew bubble gum\.\.\.and I'm all|Damn those alien bastards are gonna pay for shooting up my|Damn I'm good\.|Piece of cake\.)$ /unchatline bigpig ^\w+ says?: Who\'s your Daddy\?$