User defined events are your friend! Bioware made them so that main game files didnt' have to be modified for events, and with the addition of Pre-events, by me, it means you have to edit them even less, if not at all, ever.
Bioware made this scripting tutorial for standard User Defined events. Its all good stuff, even if the specific names of the user defined event settings will be wrong (as I have made a new set).
Basically, they can be used for anything, from adding extra warcries On Heartbeat, down to forcing combat against anyone who's god's name is "Joe". The great thing about them is they'll never interfere much with the running of the combat AI or similar things. Also, user defined events can be triggered by anyone, using SignalEvent, for complexe actions using triggers. There isn't much to explain about them byond what Bioware provided above, and the User Defined Script has some information about how they work.
There is also a few examples of user defined events for monsters in the file "AI_Jass_UserDefined.erf". I recommend looking at the scripting forums, and Neverwinter Vault for better examples then I can think of - much better, because, in fact, I'm not too good on ideas for them.
A handy list of the numbers (Which are also provided in constant form, such as EVENT_HEARTBEAT_EVENT, which is number 1001) is in the user defined event file, but also here:
Event Name | Normal-End event | Pre-Event |
Heartbeat Event | 1001 | 1021 |
Perception Event | 1002 | 1022 |
Combat Round Event | 1003 | 1023 |
Dialog Event | 1004 | 1024 |
Attacked Event | 1005 | 1025 |
Damaged Event | 1006 | 1026 |
Death Event | 1007 | 1027 |
Disturbed Event | 1008 | 1028 |
Rested Event | 1009 | 1029 |
Spell Cast At Event | 1011 | 1031 |
Combat Action Event | 1012 | 1032 |
Damaged At 1 HP Event | 1014 | - |
Blocked Event | 1015 | 1035 |