Commit Graph

737 Commits

Author SHA1 Message Date
dongresource 0a9f637123 Do not give the Lightning Gun and Buttercup Nano to new Academy players
And do not mark the two missions from the old Tutorial as completed.
2020-12-23 13:50:12 -05:00
dongresource 027f513a23 Save Academy Nanos to DB 2020-12-23 13:50:12 -05:00
dongresource a99f95d15f Initial Academy support
Support for the Academy's Nano system is complete, but they're not being
saved to the DB yet.
2020-12-23 13:50:12 -05:00
Gent S 49158360ca Update tdata ref 2020-12-23 13:48:19 -05:00
Jade 0104bc9329 Enemy ability tweaks
- Battery drain does not set your battery below 0.
- Debuffs cast by enemies take into account intensity now. (Snare will work)
- Used int_max to replace arbitrary 20000, added more comments.
2020-12-22 12:12:02 -05:00
Jade 4fc5c092f8 Attack logic and various balance changes
- combatStep was altered, the mob can attack and give chase at the same time. Kiting melee mobs around is much harder.
- Mobs in general are more harder, closer to how it was in retro.
- Nanos styles are less detrimental to battle.
2020-12-22 11:30:57 -05:00
Jade 8d1bc94b7e Mission Handling Fixes
- Q. Item count glitches are dealt with
- Warping out now correctly rewinds missions.
2020-12-22 11:30:57 -05:00
dongresource 322e354f5b Fix indentation in RacingManager.cpp and compilation on Linux 2020-12-22 14:46:09 +01:00
Gent S 8a2073d081 Fix racing timestamps 2020-12-22 01:04:46 -05:00
Gent S e915c54ed0 Correctly set time limit, rank, and reward 2020-12-22 00:37:04 -05:00
Gent S e953b51229 Add reward tables for racing 2020-12-22 00:36:39 -05:00
Gent S b9013149f3 Racing cleanup 2020-12-21 21:02:19 -05:00
Gent S e6da454c73 Finish racing DB integration 2020-12-21 16:18:08 -05:00
Gent S 598c7ce1d0 Add racing-related DB functions 2020-12-21 16:18:08 -05:00
Gent S ea47f67b2b Properly utilize instance data in map info packet 2020-12-21 16:18:08 -05:00
Gent S 91ea8be72e Implement basic race handling 2020-12-21 16:18:08 -05:00
Gent S b81a3761b6 Load instance data from XDT 2020-12-21 16:18:08 -05:00
Gent S 45b8f8f581 Add RacingManager 2020-12-21 16:18:08 -05:00
Gent S cfc6a94c7a Include sql directory and config.ini in AppVeyor artifacts 2020-12-21 16:02:58 -05:00
dongresource c3d9883ddb Fix migration on Linux 2020-12-20 23:09:10 +01:00
Gent S ea12ec9607 Use binary streams to make DB backups, since filesystem has low compat 2020-12-20 15:52:34 -05:00
Gent S 2e173df2ca DB v2 Tweaks 2020-12-19 21:17:07 -05:00
Kamil 1fb48536c2 created external sql file for tables and 1st migration 2020-12-19 20:00:47 -05:00
Kamil 002bfffb62 implemented db migration system 2020-12-19 19:15:14 -05:00
Kamil 140227406c implemented custom error messages in login screen for regex fail or banned account 2020-12-19 19:15:14 -05:00
dongresource 26d0623d07 Fix Database::sendEmail()
* Do not define an sqlite_stmt* named stmt in a loop such that it shadows
an outer variable of the same name.
* Do not re-prepare a statement that has been reset.
2020-12-19 05:51:06 +01:00
dongresource f8a359dfe9 Do not truncate emails to 127 characters
And assert that we never supply a string long enough for
sanitizeText() to truncate.
2020-12-19 05:51:06 +01:00
Gent S 2f44243abb Please.... please take the slider.... 2020-12-18 20:48:09 -05:00
dongresource e3561e9d15 Change the default ports to match OG and Retro
The default monitor port can stay on 8003 for now.
2020-12-18 00:24:24 +01:00
dongresource 80dabf4406 Finalize ALL the statements
* Fixed not being able to modify the DB externally while the script is
running
* Made most DB-related errors print the appropriate error string
* Fixed the settings looking for dbsaveinterval in the shard category
instead of the login category
* Added -shr and -wal to .gitignore (even though we're not actually
using WAL mode)

Hopefully the DB code is now free of resource leaks and undefined
behaviour.
2020-12-18 00:17:35 +01:00
Gent S d3e5b9c485 Potentially fix slider collisions
- Lerp circuit once instead of on a per-slider basis to avoid FPE differences
- Spawn sliders every k points instead of once per stop
2020-12-16 20:37:12 -05:00
dongresource f7a6615379 Tweak mob roaming logic and a few other values
This fixes the crash with mobs with a very small m_iIdleRange and avoids
unnecessary looping.

Co-authored-by: JadeShrineMaiden <69916714+JadeShrineMaiden@users.noreply.github.com>
2020-12-17 02:35:55 +01:00
Gent S 618a8d0a9f Reimplement NPC barking 2020-12-15 19:16:05 -05:00
dongresource d25e7ca4fc Implement rudimentary NPC scripting framework and Lord Fuse boss fight 2020-12-15 23:19:29 +01:00
dongresource 3359ca0c3e Moved common NPC summoning logic into a helper function 2020-12-15 23:19:29 +01:00
dongresource 0dd478b9f0 Tweak Lair respawns slightly
* Respawn the player in the air, not on the ground
* Do save the player's current instance, just to lessen the chance of
validation not catching stale recall coords.
2020-12-15 23:19:29 +01:00
Gent S d03c4f109f Add chat dump to monitor 2020-12-15 09:58:11 -05:00
Gent S 792a317b48 Indicate high account level in logged player name 2020-12-15 09:53:45 -05:00
dongresource f74c40cf69 Prevent division by zero by also checking iWalkSpeed for 0 2020-12-15 02:11:18 +01:00
dongresource 442d7853a5 In the absence of a Resurrect 'Em in a Lair, respawn at the entrance 2020-12-15 00:26:29 +01:00
CakeLancelot f1aa2c19ef
Add dependency documentation to README 2020-12-14 15:57:04 -06:00
dongresource fcd9b55ea7 Clean up formatting in Database.cpp
* Single quotes for strings
* Semicolons at the end of all commands
* No double colons around identifiers
* Spaces for alignment
* Some parts indented for readability

Not everything is perfectly consistent, but it should all be pretty
readable now.

Non-SQL changes:
* Opening braces shouldn't be on their own line
* Removed trailing spaces
* exit(1) should be used instead of terminate(0) during server init
2020-12-14 22:41:28 +01:00
CakeLancelot b1375c69f5
Add lsqlite3 flag to Windows section of Makefile as well 2020-12-14 10:39:26 -06:00
CakeLancelot 51c3e01062
Tweak default viewdistance value in config.ini
Having it at 25600 caused client performance issues in areas with a lot of mobs, 12800 was too short, but after testing 16000 on the public server I feel this is a sensible default.
2020-12-14 10:36:02 -06:00
Gent S f1a2723274 Don't write mob HP to gruntwork 2020-12-14 10:00:07 -05:00
Gent S 5431d21d27 Always grab mob HP from XDT 2020-12-14 00:26:17 -05:00
CakeLancelot 57c28d7539
Appveyor: grab sqlite3 using vcpkg 2020-12-13 22:52:17 -06:00
dongresource 6937ff86a4 Disable MSVC Debug builds in appveyor.yml 2020-12-14 03:49:52 +01:00
dongresource 454e0284af Remove vendored libsqlite from the repository
We now link to the system's library.

Windows implementation pending. MSVC build will be broken for a short
while.
2020-12-14 03:44:58 +01:00
Gent S 94b7864b02 Shut up warnings 2020-12-13 20:52:59 -05:00