Commit Graph

1092 Commits

Author SHA1 Message Date
CakeLancelot fa8c1e73d1
Fix a few compiler warnings and formatting for DB startup message (#272)
Note that the warning in TableData.cpp only seems to occur on clang (deprecated-declarations)

Database account/player count message:
Before: [INFO] Database in operation : Found 1 account(s) and 2 player(s)s
After: [INFO] Database in operation: Found 1 account and 2 players
2024-03-31 13:02:39 -05:00
CakeLancelot aeac57ebf7
Remove duplicate headers from Makefile 2024-03-31 02:48:18 -05:00
CakeLancelot 632406e93b
Bump nlohmann JSON to 3.11.3 (#271)
I've checked all the changelogs from the version we were using (3.9.1) to the latest, and there should not be any breaking changes or deprecated functionality.
The server also compiled fine and I did not encounter any issues after a brief play session.
2024-03-29 21:50:55 -05:00
Gent Semaj 837f109752
Add missing mutex 2024-02-03 03:13:43 -05:00
Gent Semaj c11cfebdb1
Fix account and player counts on startup 2024-02-03 03:13:24 -05:00
Gent Semaj 20367d77f0
Bump copyright date 2024-02-02 22:01:38 -05:00
Gent Semaj 8d04f31c61
Default PROTOCOL_VERSION to 104 2024-02-02 21:58:37 -05:00
FinnHornhoover 44560a46b7
Rank Calculation Out-of-Bounds Fix (#268) 2023-12-24 02:49:51 +01:00
gsemaj 21d280147c
Shard crash fixes 2023-12-19 13:23:58 -05:00
FinnHornhoover b765821552 added option to disable score capping 2023-12-19 13:18:43 -05:00
CPunch e61682dfb2 fix: out-of-bounds index in itemDeleteHandler() 2023-12-18 04:41:53 -06:00
FinnHornhoover d9ebb4e3ef only allow barkers of simple npcs
Co-authored-by: Gent Semaj <gsemaj@proton.me>
2023-12-12 06:01:30 -08:00
FinnHornhoover 73c610b471 randomized npcs for mission barkers 2023-12-12 06:01:30 -08:00
FinnHornhoover 3e6bfea3fe fixed unexpected randomization of barkers 2023-12-12 06:01:30 -08:00
FinnHornhoover cd265af8e0 Original Racing Scores Functionality (#257) 2023-10-12 04:42:57 +02:00
CakeLancelot 38c68f351b Update README.md to fix some inaccurate info, move commands to wiki page 2023-10-12 04:00:16 +02:00
dongresource edfbe4d005 Make winTerminate() a WINAPI function
This macro makes it use the stdcall calling convention when compiling
for 32-bit Windows. Its absence was technically a bug, but it's a no-op
on 64-bit Windows.
2023-10-12 02:02:23 +02:00
dongresource 96c430c994 Restore rapid-fire anti-cheat for projectiles
For a while we had made the temporary rapid-fire anti-cheat optional on
master, but had removed it entirely on the refactor branch. The
modification on master was acidentally only applied to the regular
(non-projectile) combat handler, while the removal on refactor removed
both that and the projectile check.

When the refactor branch was merged, that resulted in the removal of
only the projectile rapid-fire check, while the conditional regular
combat rapid-fire check was kept.

This change restores the projectile rapid-fire check such that it is
conditional, just like for regular combat.
2023-10-12 02:02:23 +02:00
gsemaj 4592fc42af
CI/CD improvements
- PR builds will now run even if they weren't opened as drafts
- PR builds will now re-run when they get new commits
- Builds can now be manually triggered from GitHub
2023-10-10 14:35:07 -04:00
FinnHornhoover 70a27afad1
Pimpleback IZ Pod Fix (#259) 2023-10-08 17:02:32 -04:00
gsemaj 6cfb3bf532
Merge branch 'refactor' 2023-10-08 16:54:42 -04:00
dongresource 9b2a65f8fd
[refactor] More buff + skill fixes 2023-10-08 16:43:11 -04:00
dongresource 6a69388822
Refactor and generalize NPCEvent logic 2023-10-08 16:43:11 -04:00
dongresource 2924a27eb4
Rename coord args in summonNPC() and constructors to clarify purpose
This makes it clearer that the real coords aren't set until the first
call to updateNPCPosition().
2023-10-08 16:43:11 -04:00
dongresource ba20f5a401
Quick fix for Fuse boss fight NPCEvent logic
Will be replaced with a proper rework immediately.
2023-10-08 16:43:11 -04:00
gsemaj eb88fa05cb
reduce drain tickrate 2023-10-08 16:43:11 -04:00
gsemaj 0b73cef187
Clear player buffs on death if not revived 2023-10-08 16:43:11 -04:00
gsemaj 7af39b3d04
[refactor] Buff + skill bugfixes 2023-10-08 16:43:11 -04:00
gsemaj 33206b1207
Updater contributer guide 2023-10-08 16:43:11 -04:00
gsemaj e325f7a40b
Implement buff handling for CombatNPC 2023-10-08 16:43:11 -04:00
gsemaj 82bee2051a
[refactor] Active power handling 2023-10-08 16:43:11 -04:00
gsemaj 4ece1bb89b
[refactor] Sync with master
This was initially a merge commit that got ironed out by rebase cleanup.
Notable changes are:
- Copying EntityRef instead of referencing it
- Some changes to includes
2023-10-08 16:41:51 -04:00
gsemaj 31677e2638
[refactor] New buff framework (player implementation)
Get rid of `iConditionBitFlag` in favor of a system of individual buff
objects that get composited to a bitflag on-the-fly.
Buff objects can have callbacks for application, expiration, and tick,
making them pretty flexible. Scripting languages can eventually use
these for custom behavior, too.

TODO:
- Get rid of bitflag in BaseNPC
- Apply buffs from passive nano powers
- Apply buffs from active nano powers
- Move eggs to new system
- ???
2023-10-08 16:34:43 -04:00
gsemaj d32827b692
The great re-`#include`
Was getting frustrated by the inconsistency in our include statements,
which were causing me problems. As a result, I went through and manually
re-organized every include statement in non-core files.

I'm just gonna copy my rant from Discord:
FOR HEADER FILES (.hpp):
- everything you use IN THE HEADER must be EXPLICITLY INCLUDED with the exception of things that fall under Core.hpp
- you may NOT include ANYTHING ELSE

FOR SOURCE FILES (.cpp):
- you can #include whatever you want as long as the partner header is included first
- anything that gets included by another include is fair game
- redundant includes are ok because they'll be harmless AS LONG AS our header files stay lean.

the point of this is NOT to optimize the number of includes used all around or make things more efficient necessarily. it's to improve readability & coherence and make it easier to avoid cyclical issues
2023-10-08 16:34:18 -04:00
gsemaj 13c009b448
Get rid of player fire rate suspicion
This was super primitive & jank, and caused false positives.
Will replace with a polished system later on.
2023-10-08 16:34:18 -04:00
gsemaj a032497bed
Handle case where cmake is invoked outside root 2023-10-08 16:34:18 -04:00
gsemaj 3b6b61d087
[refactor] SkillData additions for buffs 2023-10-08 16:34:18 -04:00
gsemaj 6d760f5bce
Replace group filter operator with function 2023-10-08 16:33:54 -04:00
gsemaj 2a622f901c
Ignore .bak files
for my local backups lol
2023-10-08 16:33:53 -04:00
gsemaj 03d28bf4e4
[refactor] Refactor groups 2023-10-08 16:33:53 -04:00
gsemaj 4b834579c5
[refactor] Remaining ICombatant implementation 2023-10-08 16:33:34 -04:00
gsemaj 07fe8ca367
(WIP) Remove `BaseNPC::barkerType` to save space 2023-10-08 16:32:49 -04:00
gsemaj 2f3f8a3951
[refactor] Initial ICombatant draft 2023-10-08 16:32:49 -04:00
dongresource 4f890a9c07
[refactor] Get rid of NPC.hpp
This file was already obsoleted at the start of the refactor, but seems
to have escaped notice until now.
2023-10-08 16:31:53 -04:00
dongresource 8517e0c7de
[refactor] Replace a few uses of magic numbers with enums 2023-10-08 16:31:53 -04:00
dongresource 5fb0cbbcf7
[refactor] Cosmetic cleanup in Fuse fight functions 2023-10-08 16:31:53 -04:00
dongresource 55e9f6531d
[refactor] Remove redundant coord args from most entity constructors
Mobs and CombatNPCs still need theirs in order to properly set their
roaming and spawn coords. Assignment of the latter has been moved to the
CombatNPC constructor, where it should have already been.
2023-10-08 16:31:53 -04:00
gsemaj 7726357fbe
[WIP] Stub power handler 2023-10-08 16:31:53 -04:00
gsemaj 564c275d51
[WIP] Use EntityRef instead of CNSocket in ability handler 2023-10-08 16:31:53 -04:00
gsemaj 3ce9ae5f77
[WIP] Replace appearance data with individual fields
Storing certain things in appearance data and others in their own fields
was gross. Now everything is stored on the same level and functions have
been added to generate appearance data when it's needed by the client.
2023-10-08 16:31:53 -04:00