Commit Graph

462 Commits (master)

Author SHA1 Message Date
Kevin Zheng 40521c75f5 Fix guild definitions 2024-03-31 11:32:51 -07:00
Kevin Zheng 273c571df1 Update documentation 2024-03-29 12:17:56 -07:00
Kevin Zheng 5cd2e5fd1c Add error handling message when missing argument 2024-03-29 11:33:31 -07:00
Kevin Zheng da3b0be0b6 Accept lowercase destination names 2024-03-29 11:07:49 -07:00
Kevin Zheng ee73551e98 Get rid of guild indefinite detention
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.
2024-03-21 21:54:03 -07:00
Kevin Zheng 5f115dcda0 Adjust mail login message 2024-03-21 20:15:27 -07:00
Kevin Zheng 6a26ab0f07 Convert CFMail to sqlite3 2024-03-21 20:14:53 -07:00
Kevin Zheng 0b0bc8440c Fix guild bank accounts
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.
2024-03-21 15:40:56 -07:00
Kevin Zheng 376dd8683e Convert CFBank to sqlite3 2024-03-21 13:22:44 -07:00
Kevin Zheng 9838c555ed Disable CFReptuation by default
Reputation currently doesn't have a very noticable in-game impact, but
currently causes a pretty big performance hit when killing a lot of
monsters.
2024-03-19 11:11:43 -07:00
Kevin Zheng 8a10e01301 Add coordinate overrides
This makes the trip from Scorn to Red Town cost less. While here, also
take players to the Pup Land Terminal instead of Red Town.
2024-03-19 10:37:49 -07:00
Kevin Zheng 3fddffdb70 Use CFBank.open() to avoid repeating database name 2024-03-18 13:17:15 -07:00
Kevin Zheng 1ac90a9881 Add new dragon hangars
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).
2024-03-16 18:04:57 -07:00
SilverNexus 72c83cfec0 Actually fix the Dex-only debuff this time.
Had to reorder the clauses even when inverting the calc.
2023-04-17 14:42:51 -04:00
SilverNexus 0d1d8d831f Fix incorrect handling of debuff on ring of Occidental Mages.
Now we can get Int and Con penalties too.
2023-04-17 14:31:31 -04:00
Nicolas Weeger 4217a11b56 Fix Scorn's smith dialog 2023-04-13 19:48:14 +02:00
SilverNexus 062b6fd4d7 Adjust the schema update code to allow for schema updates, and apply the first one. 2022-12-10 17:53:44 -05:00
SilverNexus 60f793b38d Fix copypasta condition error that would cause a few extra silver coins on sale. 2022-12-08 15:23:00 -05:00
SilverNexus 8e8f09db9f Add primary key to the region table in the reputation schema.
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.
2022-11-23 18:34:24 -05:00
Nicolas Weeger 20b385f928 Inform of given/taken items during dialogs 2022-10-09 10:29:59 +02:00
Kevin Zheng 634da60f18 Remove accidental dependency 2022-06-13 22:55:09 -07:00
Nicolas Weeger 760c43f6d7 Rework the Big Chest script to correctly remove (all) forces 2022-06-11 14:41:45 +02:00
Kevin Zheng ee16f00739 Do not cache sqlite3 connection
Stop caching sqlite3 connection between calls, because a connection
cannot be shared between multiple threads. Close the connection after
each transaction.
2022-06-08 20:44:57 -07:00
Kevin Zheng 769e209414 Standardize date format, add last_login() function 2022-06-04 16:09:28 -07:00
Kevin Zheng ebc9d65e41 Add error handling to 'status' command 2022-06-04 15:13:46 -07:00
Kevin Zheng 0a6853964f Add timeout and use text mode 2022-06-04 13:12:07 -07:00
Kevin Zheng 1cda22c9d8 Improve error messages 2022-05-31 14:42:04 -07:00
Nicolas Weeger 7615c2b723 Fix broken weapon check 2022-05-29 12:24:37 +02:00
Nicolas Weeger 24a5af3fa9 Fix comment 2022-05-28 16:30:31 +02:00
Nicolas Weeger b1bcbca9e2 Don't check all inventory, use killer.CurrentWeapon
Requires server 64cace0e7a1900b21aae7cb16f7c26e8054318f2 or later
2022-05-28 16:15:15 +02:00
Kevin Zheng e79633565f Remove unused python_event.py 2022-05-21 10:18:45 -07:00
Kevin Zheng a41717b8dc Disallow buying negative mana 2022-05-17 23:11:40 -07:00
Kevin Zheng 9489ac64e4 Add power broker, a glowing crystal that sells mana 2022-05-17 22:22:52 -07:00
Kevin Zheng 251c2d7313 Fix second chance kobold
Submitted by:   Egorov Sergey (patches/453)
2022-05-08 00:08:04 -07:00
Kevin Zheng 8e4f8a6a7d Fix gem positions
Fix position of piles behind grates. Automatically compute union of
positions.

Reported by:    Egorov Sergey (patches/452)
2022-05-07 10:33:39 -07:00
Kevin Zheng 82079a2faa Add script for amulet of finding
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.
2022-03-27 22:30:53 -07:00
Nicolas Weeger e0338dc2b2 Register 'autojail' and 'disinfect' as DM-only 2022-01-30 09:41:07 +01:00
Jason Zheng 0edce80939 Add tower defense game in the Darcap Fun Zone
Submitted by:   Jason Zheng
2022-01-23 20:22:32 -08:00
Kevin Zheng af0a4b094c Change default state to fix existing maps 2022-01-23 11:21:22 -08:00
Kevin Zheng 271128cf3b Improve QuestTriggerConnect
Add optional argument to invert trigger edge. Check for script arguments
and raise an error if usage is incorrect. Remove broken release state
trigger.
2022-01-09 11:57:43 -06:00
Kevin Zheng 7778e47f0f Fix QuestApplyIf 2022-01-04 16:44:42 -06:00
Kevin Zheng 8249250568 New quest: Journey to the East
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
2022-01-03 18:43:13 -06:00
Kevin Zheng 927916a286 Remove extra release event
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.
2021-10-17 16:30:05 -07:00
SilverNexus a5a2649089 Fix a space/tab error in ring of occidental mages python script. 2021-10-03 12:04:16 -04:00
Nicolas Weeger 05b472bb84 Add Python stubs for the Crossfire module
Documentation is really lacking, but should hopefully improve with time.
2021-10-02 17:45:24 +02:00
Kevin Zheng cdfd9bb1ff Un-trigger QuestTriggerConnect if player steps off 2021-08-28 13:41:16 -07:00
Kevin Zheng f53892772e Respond to standard greeting 2021-08-27 11:12:11 -07:00
Kevin Zheng 792afa0cba Fix with Python 3 2021-08-27 11:12:11 -07:00
Nicolas Weeger c75a143d75 Fix and clean script 2021-08-22 12:54:03 +02:00
Kevin Zheng 18abd151e1 Add 'resetdialog' for DMs to reset dialog state
Help DMs test and debug dialogs by adding a hidden 'resetdialog' match
that resets per-character dialog state.
2021-07-24 21:03:56 -07:00