There are a few things to consider:
1. Mushclient isn't really adept at changing text on a line. The current methodology involves ommitting the triggered line from output, then sending your own line instead using the family of world.note and world.tell commands.
The main problem with this is retaining text colouring. To be frank, it's such a hassle, if even possible, that nobody here seems to have pulled off this trick in a successful example (as far as I recall).
So, what you end up doing is creating your own line, either using one solid colour of your choosing, or using multiple colours of your own choosing.
2. It seems like you may require a large set of information for a project like this. It help a lot to consider first how you want to store that information.
One method may be to store all the information in one or more world variables. The thing to consider about this method is that the information is 'trapped' in your world file. If you have other characters on the mud, and if you use separate world files for each character (something I recommend), then you would not be able to share the information among character/world files.
Another method is to store the information in a dedicated file on your computer. This could either be a basic text file that your read and write manually using script, or you could use SQL commands in script to construct and interact with a real database file. This has the advantage of being more easily shared among different worlds if you so choose, but the downside is that file access is always slower than memory access, so you would likely notice some lag while doing a "whois" on your mud. Actually, if you are only viewing one person at a time, this may be perfectly acceptable. However, if you are fetching a chart of everybody online, this would likely create too much lag.
When it comes to coding the project, I think you could likely pull it off with just a single trigger. The trigger would call a script, and that's where the heavy duty work would need to be performed.
From your example, "[18 Cloud War] Bigbadgiant the Dragoon", I notice that the name you want to trigger on is the first word after the square brackets. Is this always the case? If so, processing this project just became much easier! If, on the other hand, you might see something like "[18 Cloud War] Lord Bigbadgiant the Dragoon" on some occasions, well... then this complicates matters, as it becomes difficult for the script to know which keyword to look up.
I'll leave you to mull these things over. |