I was going through some playtester comments, one of which noted that diplomacy-related magic wasn’t as useful as it might be. So I did a quick review of the four blessings that seemed like they would relate to diplomacy. And while I’m not sure I was looking for exactly what was reported, it did seem like they could be more important.
I’ve mentioned before that scene tags have been very useful. One of the diplomacy-related blessings is called “Understanding.” It’s implemented as
+1 in scenes tagged @foreigners
Diplomatic missions can be sent to a variety of people, so scripts like news_GiveGifts (which reports on simple gift-giving) can’t simply have the tag. But tags can be dynamically added, so making the magic more broadly useful was a matter of
RemoveSceneTag(ThisScene, "@*") # Any previous dynamic tags [otherClan.culture = 'other] AddSceneTag(ThisScene, "@foreigners")
Even though it takes two lines of OSL, I like this better than something like
[HasBlessing(ourClan, "Silvertongue")] b += 1
(which another blessing needed) because it affects the entire script, rather than just a specific branch.
The game makes extensive use of tags. The scene compiler uses a few to make sure scripts with very particular conditions are triggered from a single spot. Unit testing uses ten tags so it can set up the right context for running scripts. The UI code checks for tags that determine that a scene needs special elements like a text field. And there are over 100 tags that help categorize scripts, including whether magic applies to them.