Commit Graph

50 Commits

Author SHA1 Message Date
David Markowitz
54d8c45b52 Don't interrupt players 2023-04-02 18:05:42 -07:00
David Markowitz
7671cc6865
CDClient cleanup and optimization (#1023)
* CDClient cleanup and optimization

- Use static function to get table name
- Remove unused GetName function
- Replace above function with a static GetTableName function
- Remove verbose comments
- Remove verbose initializers
- Remove need to specify table name when getting a table by name
- Remove unused typedef for mac and linux

* Re-add unused table

Convert tables to singletons

- Convert all CDClient tables to singletons
- Move Singleton.h to dCommon
- Reduce header clutter in CDClientManager
2023-03-17 07:36:21 -07:00
Aaron Kimbrell
e524b86e12
breakout the component types into a scoped enum (#1002)
* breakout the component types into a scoped enum

tested that things are the same as they were before

* fix missed rename

* fix brick-by-brick name to be crafting
because that's what it is
2023-03-04 01:16:37 -06:00
David Markowitz
a28a2e60cf
Add property Teleport behavior (#846)
* Add property Teleport behavior

Untested.  Will mark pr as ready for review when this has been tested

* Fix issues
2023-01-07 00:16:43 -06:00
Aaron Kimbrell
80f8dd8003
Imminuty updates (#925)
* WIP Immunities

* Immunity getters

* remove redundent variable
replace it use with it's equivalent

* remove unused lookups, fix typos

* fix tests

* added imunity test

* address feedback

* more immunity tests

* explicit this
2023-01-06 23:59:19 -06:00
David Markowitz
fc75d6048f
dGame Precompiled header improvements (#876)
* moving branch

* Add deleteinven slash command

* Change name of BRICKS_IN_BBB

* Use string_view instead of strcmp

* Clean up include tree

* Remove unneeded headers from PCH files

Removes unneeded headers from pre-compiled headers.  This increases compile time, however reduces development time for most files.

* Update Entity.h

* Update EntityManager.h

* Update GameMessages.cpp

* There it compiles now

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
2023-01-06 23:17:05 -06:00
Aaron Kimbrell
34b5f0f9d6
add uncast to speed behavior (#932) 2022-12-31 02:46:25 -06:00
David Markowitz
9adbb7aa86
Address World Server Packet timing and erroneous log (#929)
* Fix overread in projectile behavior

* Fix stuns

* Correctly read in bitStream

* Fix projectile behavior

* Address movement type issues

* Update shutdown time to be accurate

* Fix small issues
2022-12-29 08:34:53 -06:00
David Markowitz
bd28e4051f
Fix Hash Collisions in CDBehaviorParameter table (#930)
* Fix hashing

* Update CDBehaviorParameterTable.cpp
2022-12-29 03:43:52 -06:00
David Markowitz
99c0ca253c
Basic Attack Behavior Live Accuracy Improvements (#926)
* Overhaul BasicAttack Behavior so it matches the live 1.10.64 client
2022-12-28 14:04:37 -08:00
David Markowitz
0e9c0a8917
Fix MovementSwitch Behavior (#927) 2022-12-28 14:03:07 -08:00
David Markowitz
bbd5a49ea2
Update DarkInspirationBehavior.cpp (#897) 2022-12-23 18:05:30 -08:00
David Markowitz
38eb441ca1
Correct Projectile behavior bitStream reads (#907) 2022-12-21 00:26:17 -08:00
David Markowitz
2fdcf62ec6
Fix overread in projectile behavior and address broken stuns (#898)
* Fix overread in projectile behavior

* Fix stuns

* Correctly read in bitStream
2022-12-19 14:52:00 -06:00
Aaron Kimbrell
157a05239e
Add speedbase readling and writing to the level prograssion component and impli proper character versions for fixes (#856)
* Add speed base readling and writing
to the level prograssion component
Add retroactive fix to the  world transfer
TODO: see about versioning charxml fixes to make them not run every time

* version all current changes

* cleanup speed behavior
add calculate for future use in scripts
make < 1 speed multiplier possible
tested wormholer and it plays anims correctly

* cap the lower end of the speed multiplier
until the ending the behavior on hit properly works

* address feedback
add emun for character version
make set ignore multipliers consistent in speed behavior
switch case for char version upgrades

* remove the ability to stack speed boosts

* update value on level ups
2022-12-19 13:45:50 -06:00
David Markowitz
84c5d74450
Add Delete Inventory Slash Command (#865)
* moving branch

* Add deleteinven slash command

* Change name of BRICKS_IN_BBB

* Use string_view instead of strcmp

* Remove GameConfig

* Revert "Remove GameConfig"

This reverts commit cef5cdeea2.
2022-12-18 09:46:04 -06:00
David Markowitz
b972acbacc
Fix stream reads (#894)
No changes expected
2022-12-18 06:49:13 -08:00
Aaron Kimbrell
631365b7f7
Add change idle flags behavior and GM (#871)
* update naming for animation flag enum value 0

* Add change idle flags behaviors and GM

* default to 0 when none is given
2022-12-16 15:24:13 -06:00
David Markowitz
a2ca273370
Cleanup behavior bitstream reads (#888)
* Add failArmor server side

Address out of bounds reading in behavior

Address the basicAttackBehavior reading out of bounds memory and reading bits that didnt exist, which occasionally caused crashes and also caused the behavior to do undefined behavior due to the bad reads.

Tested that attacking a wall anywhere with a projectile now does not crash the game.  Tested with logs that the behavior correctly returned when there were no allocated bits or returned when other states were met.

Add back logs and add fail handle

Remove comment block

Revert "Add back logs and add fail handle"

This reverts commit db19be0906fc8bf35bf89037e2bfba39f5ef9c0c.

Split out checks

* Cleanup Behavior streams
2022-12-16 15:23:02 -06:00
David Markowitz
213c3c37b0
Fix crash in BasicAttackBehavior (#862)
* Add failArmor server side

Address out of bounds reading in behavior

Address the basicAttackBehavior reading out of bounds memory and reading bits that didnt exist, which occasionally caused crashes and also caused the behavior to do undefined behavior due to the bad reads.

Tested that attacking a wall anywhere with a projectile now does not crash the game.  Tested with logs that the behavior correctly returned when there were no allocated bits or returned when other states were met.

Add back logs and add fail handle

Remove comment block

Revert "Add back logs and add fail handle"

This reverts commit db19be0906fc8bf35bf89037e2bfba39f5ef9c0c.

Split out checks

* Remove case 2

* Update SkillComponent.cpp
2022-12-15 22:10:58 -08:00
Aaron Kimbrell
8886bf6547
Address Force movement behaviors triggering twice (#878) 2022-12-07 23:13:25 -08:00
David Markowitz
3939f19b08
Add Remove Buff Behavior and patch infinite use Imagination Backpack(#845)
Testing does not reveal any issues with existing buff removals sending this GM as well and may fix more bugs that were unknown, or cause more.
2022-11-27 16:40:14 -08:00
Aaron Kimbrell
2d0faae759
Merge pull request #719 from DarkflameUniverse/unix-line-endings
Unix line endings
2022-08-08 09:33:43 -05:00
Jett
6c97ea8208
Implement flying command (#713)
* Implement flying command

* Add documentation.
2022-08-06 01:19:34 -07:00
Aaron Kimbre
72477e01e2 convert to unix line endings 2022-08-05 22:01:59 -05:00
aronwk-aaron
19e77a38d8 format codebase 2022-07-28 08:39:57 -05:00
Aaron Kimbrell
e97ae92624
Make logger automatically put a newline (#675)
at the end of the line
remove all the newlines in log calls
2022-07-24 21:26:51 -05:00
Jett
df0f11c95b
Update CMake configuration for easier maintenance (#642)
* Update CMake configuration for easier maintenance

* Incorrect casing fix

* Move package requirement

* Update CTest linking

* Add logs to the CMake

* Add linking for common libraries

Added linking for common libraries in tests subdirectory.

* Move test subdirectory higher up for some reason

* Whitespace a log removal

Missed new line

* Add dCommon to dChatFilter

* Update library output dir

* Correct libBcrypt

* Further refactor CMake behaviour

* Repair bad comments and update library defines

* Revert to old include directory method

* Implement platform defines

* Add missing include

Mac needs a specific include for defining platform.  Does not compile without this.

Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
2022-07-17 00:24:16 +01:00
David Markowitz
3d46d703b2
Remove memory leak in player container and warning in Behavior (#640)
* Add friends list migration

* Change friends to use charID

Update friends table to use charID and not LWOOBJID variant.

* Fix remove friend

Fix remove friend and make the query more readable at a glance.

* Add and remove friends in the container

Properly add and remove friends in the player container

* add enums

* Add best friends and basic GM support V1

* Add more features

* not online / doesnt exist implementation

Implements the not online and invalid character response codes

* Address players not being removed

Fix an issue where players would not be marked as offline in the friends list due to the message not being sent in all circumstances.

Tested changes on 3 clients, switching characters, logging out from character select, switching characters, world transfer and my friends list looked as it was supposed to.

* Implement proper friends system

Remove debug logs

Track count of best friends

Add best friends list cap of 5

Add config option and best friend update

Add a config option and implement the last missing best friend serialization

Added comments and fixed remove best friend bug

Added some comments and addressed an issue where removing best friends would not remove them from your internal count of friends.

properties and logs fixes

whoops, had an issue

send reply if already BFFs

Send the correct objectID

I really need to rename these

Fix white space

goon

* Replace queries with unique ptrs

* remove user from player container on deletion

Remove the user from the player container when they delete their character.

* Bump patch version

* Improvements to PlayerContainer

Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp

* Make it a unique ptr

* Improvements to PlayerContainer

Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp

Make it a unique ptr

* Update PlayerContainer.cpp
2022-07-13 09:11:24 -07:00
David Markowitz
b7497a47e4
Lower memory usage of Behavior Parameter Table by 10MB (#627)
* Added caching for table

Added caching for table

Add more caching

Update MasterServer.cpp

grds

Update CDBehaviorParameterTable.cpp

Update CDBehaviorParameterTable.h

Update CDBehaviorTemplateTable.cpp

Update Behavior.cpp

Update Behavior.cpp

change to map

Remove redundant query

* Remove include

* change to enum

* Update Behavior.cpp

* Use already cached table

* Update Behavior.cpp

* Reduce memory usage

Reduces the memory usage for the BehaviorParameter table by 10MB in memory.

* Update CDBehaviorTemplateTable.cpp
2022-07-11 20:43:09 -07:00
David Markowitz
485de6173a
Added caching for behavior parameter table (#621)
* Added caching for table

Added caching for table

Add more caching

Update MasterServer.cpp

grds

Update CDBehaviorParameterTable.cpp

Update CDBehaviorParameterTable.h

Update CDBehaviorTemplateTable.cpp

Update Behavior.cpp

Update Behavior.cpp

change to map

Remove redundant query

* Remove include

* change to enum

* Update Behavior.cpp

* Use already cached table

* Update Behavior.cpp
2022-07-08 23:07:52 -07:00
David Markowitz
cc25ec0151
Add Venture Vision Behavior (#609)
Add the Venture Vision behavior and associated functionality.  Pet digs still do not show up however.

The Kit bonus for factions have been tested and properly grant and take away the buff when it is casted and uncasted.  Tested as well using multiple Venture Vision behaviors at once and the vision only went away when there were zero equipped at once.

Remove extra includes

Convert to Tabs

Remove extra forward declaration
2022-07-04 21:48:56 -07:00
David Markowitz
8a54e7ccd2
Implement Precompiled Headers (#591)
When applied, this will speed up compile times dramatically.
2022-07-04 15:24:45 -07:00
Aaron Kimbrell
e3422ac0c5
Merge branch 'main' into main 2022-05-24 19:00:52 -05:00
EmosewaMC
b713b94841 Added Loot Buff Behavior
Added functions and methods to support the pickup radius.  Functionality includes:
Corrected serialization for ControllablePhysicsComponent which correctly serializes the pickup radius to the client.
A method to add the pickup radius to the list of active pickup radii the component has.
A method to remove and re-calculate the largest active radii the component currently has.

Tested equipping all variations of the LootBuff behavior (passive skills, items, item skills) and all functioned as intended.  Tested equipping multiple items with a loot buff and then unequipping them in different orders.  Tested adding pickup radii of different values and the server correctly adjusted the pickup radius to the largest one currently equipped.
2022-04-27 12:40:43 -07:00
EmosewaMC
7d233a04c0 Corrected action for OverTimeBehavior 2022-04-25 16:56:40 -07:00
EmosewaMC
4117ceb6c1 Skill Tasks changes
Addressed an issue where the Spinjitzu Initiate achievement would not progress.  This also allows mission tasks that specify that the player must get a kill on an enemy with a skill to progress.  Tested mission 1935 and 1139 and both missions progressed and completed as intended.
2022-04-25 03:25:07 -07:00
TheMatt2
59afc63a2f Merge DarkflameServer 2022-01-30 13:40:08 -05:00
Avery
f6558aa31e
implement jetpack behavior and remove hardcoded jetpacks (#411) 2022-01-24 14:02:56 -08:00
Xiphoseer
20037d12f7
Merge pull request #339 from CodeAX2/fix-aoe-targets
Fix Area of Effect Behavior Targets
2022-01-23 14:12:59 +01:00
TheMatt2
9dfa401b27 Fix whitespace
Convert to tabs and remove trailing whitespace
2022-01-15 14:02:14 -05:00
TheMatt2
4ff84e0730 Fix whitespace 2022-01-15 13:37:43 -05:00
TheMatt2
3de3932503 Comply with Xiphoseer required changes.
Remove the CDClientDatabase::ExecuteQueryWithArgs() function and replace 
it with CDClientDatabase::CreatePreppedStmt().

This prevents a developer from accidently using %s, or incorrectly 
passing std::string, and causing a silent error.
2022-01-12 22:48:27 -05:00
TheMatt2
e5f7d164cb Additional SQLite lookup sanitizing.
Using CDClientDatabase::ExecuteQueryWithArgs() across all known lookups.
2022-01-06 21:12:47 -05:00
TheMatt2
590ccc78aa Add proper sanitizing for input to SQLite database.
Adds function `ExecuteQueryWithArgs(query, ...)` to allow for queries 
with user input.

There is a known issue, that the funciton does not work with 
std::string. All strings must be converted to c strings.
2022-01-05 21:52:33 -05:00
CodeAX2
9f895205d4 Fix formatting and add comments 2022-01-02 14:00:01 -07:00
Jacob Hofer
1ddf7d1f94 Fix for Area of Affect Behaviors targeting incorrect entities 2022-01-02 20:37:03 +00:00
cooltrain7
6e6eee71b3 Added more missing newline characters 2021-12-28 19:27:46 +00:00
Mick Vermeulen
833ed8a40d Implement Buccaneer Valiant special ability
Adds the ability for the buccaneer valiant to spawn a ship that rams
enemies and smashes them. Next to a script that triggers the ship skill
a few other changes had to be made:
- Force movement behavior server side calculation and sync
- The ship has no physics volume so the FindValidTargets for behaviors
had to be altered to allow ControllablePhysics entities to find entities
within their area. The "target_self" AOE flag has been used to replicate
the old behavior.
2021-12-11 11:59:29 +01:00
Unknown
0545adfac3 Public release of the DLU server code!
Have fun!
2021-12-05 18:54:36 +01:00