Commit Graph

619 Commits

Author SHA1 Message Date
dongresource fcdea2e723 Implement multiple-choice mission rewards 2020-12-23 13:50:12 -05:00
dongresource 90191fd494 Add academy.json loading to TableData
This is where the permanent Academy-exclusive NPCs and mobs will be
loaded from. Resurrect 'Ems work now.
2020-12-23 13:50:12 -05:00
Gent S effbbd9a5e Fix level-up not triggering and using wrong packets 2020-12-23 13:50:12 -05:00
dongresource bc7f4883a2 Add Academy defaults to the config file 2020-12-23 13:50:12 -05:00
dongresource e0808ffcbd Read the NPC ID limit from the XDT 2020-12-23 13:50:12 -05:00
dongresource 9057f31bff Implement Academy level-up 2020-12-23 13:50:12 -05:00
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
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
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
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
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
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
Gent S 166bfdfc4f Terminate if existing DB doesn't have meta table 2020-12-13 20:43:24 -05:00