Print a normal "access denied" message instead of teleporting offenders
into the strange room.
For trespassers who step on the traps, teleport them to jail. The curse
no longer works and is probably cruel and unusual.
Use with statement to CFBank.open() so that close() is always correctly
called.
Change the guild account name to used the fixed string /guilds/ in front
of the guild name to avoid hash codes changing between Python versions.
DMs will need to manually move guild balances to the new account names.
Retire the old dragon hangars in favor of new talking dragons who will
take you places if you pay them money.
When placed on world maps, these dragons will automatically compute fare
based on the destination location (relative to them).
Note this does not actually fix existing DBs, but it should prevent an issue with the region table being filled to the brim with duplicate entries. I still need to either script a path forward for existing tables, or otherwise clean up the duplicate entries.
Stop caching sqlite3 connection between calls, because a connection
cannot be shared between multiple threads. Close the connection after
each transaction.
These pieces of jewelry help players remember locations on the world
map. Players can bind an amulet at any location on the world map.
Applying a bound amulet shows players a message indicating which
direction they should travel to return to the bound location.
Since this shares some code with the Rhyzian amulet, move the shared
code to CFWorld. While here, improve the getdir() function to round the
direction to the closest compass direction.
Add optional argument to invert trigger edge. Check for script arguments
and raise an error if usage is incorrect. Remove broken release state
trigger.
Find your way to the long-isolated island of Azumauindo.
This quest replaces the old way of getting to Azumauindo. Extend
Roll-o-Matic to work with ships. Improve QuestApplyIf to work on objects
whose apply event is also implemented using the plugin system.
Special thanks to: Jason Zheng
Remove extraneous release event when player steps on a
QuestTriggerConnect and does not satisfy the quest predicate.
While here, correct the polarity of the state flag to match the comments
in the server's trigger_connected() function.