Rolo Kipp wrote...
...
Edit: Having a PC walk into a tavern and having the patrons hush and start whispering that "*She* is the one who took down the Wight Dwarf..." and some brave peasant screwing up his courage to buy her a drink... that would be pretty cool ;-)
That part would be fairly easy to do in a PW as long as you're using a database. You'd need to make a few template messages, the tlk table might even be able to be used for it though I haven't tried it much with custom tokens.
All you'd need to store then is the type, the lore required to know the rumour, and the name of the other party.
Due to the poor way the bioware DB handles stored strings, it wouldn't be practical to do this with it, but with the nwnx DB possibilities, much simpler.
I think ideally you'd be storing: Lore DC, Rumour Type, Rumour Weight, Name (if needed) of the other party.
As an example of how to feed it back in (All scripters seem to have their own token range preferences, mine is 42XXX):
<He/She>'s the one who <CUSTOM42001> <CUSTOM42002>.
Where CUSTOM42001 is verbage based on the type of act in the rumour and possibly intelligence/charisma or other determination based on the speaker (as example - butchered, hacked down, slew, killed), and CUSTOM42002 is the name of the one killed, robbed, kissed, etc..., including "the" when needed.
For this aspect of it, you'd just need to hook into the OnPerception of any NPC or creature you want to be able to be affected by rumours. It would work best as as int instead of a void main() type, so you could return TRUE/FALSE based on whether the rumour adjusted their behaviours or not, so you could bypass the rest of the OnPerception routine when needed.
Tracking reactions based on behaviours is harder. The "bigger" the act is the easier it is to account for. Subtle adjustments are trickier, since they're far more variable driven and not as easily store in a database for persistancy.