Commit Graph

342 Commits

Author SHA1 Message Date
David Markowitz
138fffda2c
Fix item collection missions (#617)
* Implement Precompiled Headers

* fix cmake

* Fix modular builds not returning parts

Modular builds would not search inventory A for their corresponding item and by default would only look in the models bag.  This PR forces the item to be looked for in the inventory its coming from (inventoryA) as a second resort before doing the final search in the default inventory of the item.

Tested modular building a car and a rocket and when replacing parts the part that was already placed was returned to the inventory correctly.

* Push equipped items upon entering build mode

Fixes an issue where leaving build mode anywhere would not re-equip your items.  This also implements the feature to set your stats back to full, as was done in the live game.

Tested exiting build mode on a property with full venture gear and all gear was re-equipped and stats were set to the expected values.

* Fix item collection missions

Item collection missions are only supposed to take items should they be in the items inventory or the hidden inventory and no others.  This change removes the global inventory find of items and only removes it from the two inventories that items get taken from in live, ITEMS and HIDDEN

Tested completing mission 470 and 477 as well as 622 and the correct items were taken or not taken, based on the inventory the target item was in.
2022-07-06 08:54:41 -07:00
David Markowitz
de5d9182eb
Address items not re-equipping upon exiting build mode (#615)
* Implement Precompiled Headers

* fix cmake

* Fix modular builds not returning parts

Modular builds would not search inventory A for their corresponding item and by default would only look in the models bag.  This PR forces the item to be looked for in the inventory its coming from (inventoryA) as a second resort before doing the final search in the default inventory of the item.

Tested modular building a car and a rocket and when replacing parts the part that was already placed was returned to the inventory correctly.

* Push equipped items upon entering build mode

Fixes an issue where leaving build mode anywhere would not re-equip your items.  This also implements the feature to set your stats back to full, as was done in the live game.

Tested exiting build mode on a property with full venture gear and all gear was re-equipped and stats were set to the expected values.
2022-07-06 01:30:13 -07:00
David Markowitz
3cf243b1d7
Address modular build not returning parts upon switching some out (#614) 2022-07-05 23:18:04 -07:00
David Markowitz
8cdb388915
Optimize scripts for faster compilation (#597)
* Implement Precompiled Headers

* First volume of optimizations

* Scripts A-B

Gonna be doing this in alphabetical order now.

* C Scripts and remove unneeded includes from base cppscripts header

Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts.

* D scripts

* F scripts

* F scripts 2

Finish up removing extraneous includes from scripts that start with the letter F

* G scripts

Removing extraneous includes from scripts that start with the letter G

* I scripts

Removing extraneous includes from scripts that start with the letter I

* M-Z scripts

Removing extraneous includes from scripts that start with the letter M-Z

* Revert "Implement Precompiled Headers"

This reverts commit d79d8d4991.

* Revert "Revert "Implement Precompiled Headers""

This reverts commit 0597faf308.

* Add back in PCH

Add back in PCH

* Fix CMake

Whitespace

Remove duplicate file glob

Remove newline
2022-07-04 23:00:10 -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
jumpy-badger
eaa962f265
Add Aarch64 support (#231)
* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* remove extra . in shared library location

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* Rebase on main

* Remove extra git submodule

* Update CMakeLists.txt

* Remove CMakeLists.txt file from mariadb

Remove the CMakeLists.txt file from the mariaDBConnector so we dont build the tests.  Also add a config option to the CMakeVariables.txt so you can build the connector with multiple jobs

* Compile on windows

Specify the mariadbcpp.dll file location with a defined absolute path so windows knows it actually exists.

* default to 1 job

Default mariadb jobs running in parallel to 1 instead of 4

* Move mariadbcpp.dll file to the expected directory on windows

* Changed plugin

Updated the plugin location from the project binary directory to the expected location, the mariadb binary directory.

* Addressed windows dll issues by moving files to the expected directory instead of a directory that wouldnt get created

* Update README

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
2022-07-03 21:33:05 -07:00
Aaron Kimbrell
1497d9b35a
breakout possessor from char comp (#606)
* breakout possessor from char comp
Use the correct component for possessor
cleanup scirps that were using possessor improperly
beginnings of mounts

* fix comments
added bounds check
2022-06-29 18:50:24 -05:00
EmosewaMC
43377caa3b Added item precondition checks
Added item precondition checks for items so players who do not meet the conditions cannot use the items.  tested with the faction bag tokens and they only gave the tokens when a player met all the preconditions or was a Game Master of level 6+
2022-06-20 21:03:08 -07:00
EmosewaMC
968114199b The shooting Gallery now properly ends when a player leaves the instance
The shooting Gallery now properly ends when a player leaves the instance

Frakjaw player update

Update the Frakjaw battle instance script to remove players when they leave the instance

Simplify comparison

Simplify comparison for entity pointer to be implicit
2022-06-19 01:40:16 -07:00
EmosewaMC
9cf534dc0a Move to new branch
Added comments

Added some comments and changed a variable name to be less ambiguous.
2022-06-19 00:14:33 -07:00
EmosewaMC
2e224cb151 update name
Pets will take imagination by default now
2022-06-18 13:25:34 -07:00
EmosewaMC
2a0616d0e9 Dont take imagination on initial tame 2022-06-18 00:16:00 -07:00
EmosewaMC
0774ab930d inverted config check
Since most people are not regularly updating their config files, this needs to assume the value is disabled rather than enabled.
2022-06-18 00:09:05 -07:00
EmosewaMC
e415d96a9d Added config setting
Added a config setting to allow players to disable pets consuming imagination.  This value defaults to zero as a feature of DLU.
2022-06-18 00:03:27 -07:00
EmosewaMC
35ea3d35ae Add pet imagination draining
Address an issue where pets did not consume imagination when they were spawned.
2022-06-17 23:53:09 -07:00
EmosewaMC
e28b084395 Add GM
Added GM for UseItemRequirementsResponse that was missing in current implementation
2022-06-17 22:19:28 -07:00
EmosewaMC
531c4a594c remove children
We need to make sure we are actually deleting children from the vector of children when they are deleted as entities.
2022-06-16 17:50:33 -07:00
EmosewaMC
4a39221dd0 Address reviews
Changed the activator position parsing to have TryParse so that we dont throw an exception trying to load the position.  Should the loading of the activator position fail the game will default to the position of the entity.

change delimiter value to hex

Updated the character delimiter used for rebuild_activator settings to use hex

Remove extra parsing of activator position

in Entity.cpp we were parsing the activator position but when doing so where we were, this was after we had ended up spawning the activator since that is now in the constructor of the rebuild component.  The extra parsing has been removed.

Simplify dirty parent/child info

Simplify the if condition for parent child info.  This info only needs to be written should it be changed (dirty) or if the packet being sent is a construction, meaning that a requesting player needs all base data and needs to know what parents/children an entity has at that time.

get rid of extra parenthesis

Left over extra parenthesis were around these conditions on accident
2022-06-16 08:50:01 -07:00
EmosewaMC
09c459a083 Added comment 2022-06-15 23:17:44 -07:00
EmosewaMC
7dfcd22a2e Properly place build activator
The build activator as a result of the previous changes was spawning at the wrong position.  This commit pulls the activators position from the settings (should they exist) and sets them accordingly.
2022-06-15 22:59:30 -07:00
EmosewaMC
8bdd5b6e2c Address quickbuilds being unbuildable
Address an issue where quickbuilds would become unbuildable.  The main issue lied within serializing parent/child info too often for some reason / serializing it when the info wasnt dirty.  Only serializing this info when it is actually dirty and has changed has addressed the issue and allows quickbuilds to never break.
2022-06-15 22:58:38 -07:00
EmosewaMC
a61c6e5e41 Add /setlevel slash command
Add the setlevel slash command.  Command accepts parameters of the requested level and a player to set the level of.  This also adjects the uscore of the player accordingly.  The player must re-log upon using the command to see any updates to themselves or others.
2022-06-13 00:45:17 -07:00
David Markowitz
50fd27b973
Merge branch 'DarkflameUniverse:main' into selling-fix-bricks 2022-06-12 11:49:17 -07:00
EmosewaMC
81431cfcbd Address bricks selling 1 at a time
Bricks have a stack size of zero in the cdclient so we need to make sure to give them a full stack size of 999 as we do for the bricks inventory with the selling inventory.
2022-06-12 11:48:52 -07:00
David Markowitz
7af248feeb
Merge pull request #578 Fix Selling "random" item
Address issue with selling/moving items grabbing a "random" item
2022-06-12 11:43:36 -07:00
EmosewaMC
fbf0b59ff1 Fix item getter for moving items
This fixes an issue where the item would get overwritten and would effectively fetch a "random" item in the inventory to move instead of the requested one.
2022-06-12 10:56:01 -07:00
EmosewaMC
30c8326c3e Move owner override
Mover owner override to be earlier so that we dont try to get the team of an entity that doesnt have a team and may be a child entity of a player.  Tested changes with a team of two players and players were correctly given credit for kills
2022-06-11 20:50:01 -07:00
Aaron Kimbre
c6f871d42b only make teams for minigames
if we have more than one participant
2022-05-27 15:25:57 -05:00
HailStorm32
f8d73ccbc5 Fixed display logic for NS Survival leaderboard 2022-05-25 02:03:40 +00:00
HailStorm32
f5caa1f00d Merge branch 'leaderboard-updates' of https://github.com/Verathian/DarkflameServer into leaderboard-fix-resubmit 2022-05-25 02:00:10 +00:00
Aaron Kimbrell
e3422ac0c5
Merge branch 'main' into main 2022-05-24 19:00:52 -05:00
David Markowitz
44e17eabca
Merge pull request #559 Properly implement climbable setting for climbables
This shouldn't change anything that was available in live but anything that can be spawned in as climbable is able to be done so now.
2022-05-19 12:38:40 -07:00
Aaron Kimbre
06df15717c maybe fix it 2022-05-19 08:40:50 -05:00
Aaron Kimbre
813aca9d20 resolve comments 2022-05-18 06:36:21 -05:00
Aaron Kimbre
9169d844e2 explicit set to 0 2022-05-17 21:38:36 -05:00
Aaron Kimbre
03a5aa4da0 climbable server side settings 2022-05-17 21:27:08 -05:00
Aaron Kimbre
ca55fccb27 remove cdclient include 2022-05-17 10:20:36 -05:00
Aaron Kimbre
81af1f382e get zones from settings 2022-05-17 10:18:50 -05:00
Aaron Kimbrell
20b45bc27f
Merge branch 'main' into proper-rocket-holding 2022-05-12 08:21:17 -05:00
Aaron Kimbre
4c7034648b Exclude space blizzard from Zone ghosting 2022-05-08 22:07:07 -05:00
Aaron Kimbre
ec207838d4 Proper Rocket Holding
Sanity checks on Prop and LUP launchpads to not open if no valid rocket
Add serialization for sending item configs
so that rockets show for other players
2022-05-08 19:57:36 -05:00
David Markowitz
24745c2e7a
Merge pull request #541 Implement the LUP Rocket Launch Component
Implemented the LUP Rocket Launch Component and makes its UI live accurate
2022-05-06 11:54:32 -07:00
David Markowitz
8601976498
Merge pull request #544 address Elephant precondition
Pet Components now read in their preconditions from their settings (if they have any).  Mainly fixes just elephants not taking peanuts.
2022-05-06 04:15:13 -07:00
Aaron Kimbre
06a1949eaa remove sysaddr from call in Game Messages 2022-05-04 19:31:56 -05:00
Aaron Kimbre
b11b516641 fix Java doc comments
removed unused param
2022-05-04 19:26:56 -05:00
Aaron Kimbre
ad5c679d2d Styling edits 2022-05-04 18:24:28 -05:00
Aaron Kimbre
e81acb4c67 Client handles rocket being unequiped
when closing the dialog
and when launching
2022-05-04 07:50:05 -05:00
Aaron Kimbre
aa212ae6d8 Add precondition check 2022-05-03 22:38:49 -05:00
Aaron Kimbre
bd3e8aee51 Implement Rocket Launch Lup Component 2022-05-03 15:05:29 -05:00
EmosewaMC
6b409303af Update RebuildComponent.h
Quickbuilds jump fix

Corrected an error where the builder was erronously changed to an empty lwoobjid when a quickbuild was completed, causing the builds to no longer jump on completion (if configured to do so.)  Packet captures from live show that we do not want to get rid of the builder during resetting or during completion of the build so the file has been changed to not clear the builder in those cases.
2022-05-02 22:50:28 -07:00
EmosewaMC
59be7d8635 Added back brick inventory resizing 2022-04-28 14:36:55 -07:00
David Markowitz
16b108f69c
Merge pull request #522 from EmosewaMC/vendor-refresh
Added vendor refreshing
2022-04-27 13:21:59 -07: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
843a5b39c0 Vendor refresh change
Changed vendor refresh to happen as soon as it is able to.
2022-04-27 01:35:46 -07:00
EmosewaMC
fa7c4d9c27 added comments 2022-04-26 15:26:30 -07:00
EmosewaMC
cacf4fcd97 corrected serialization 2022-04-26 15:23:29 -07:00
EmosewaMC
5afeb265cd Updated vendor component
Fixed a few issues in VendorComponent.
- Corrected serialization to only happen on construction.
- Added functionality to refresh the vendor based on info from the vendor component table
- some whitespaceing inconsistencies.
- Sorted includes.
Tested the vendor in Nimbus Station and when the player re-enters the world, the vendor inventory refreshes, as opposed to previously where the world would need to reset in order to refresh the inventory.
2022-04-26 03:41:16 -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
David Markowitz
58d2cee984
Merge pull request #516 from EmosewaMC/isPlayer-changes
Live accurate item loot sources
2022-04-24 18:56:49 -07:00
EmosewaMC
2e29dce77c removed logs 2022-04-24 17:27:25 -07:00
EmosewaMC
e56732184f commit 2022-04-24 17:26:05 -07:00
EmosewaMC
dc770299d1 removed debug logs 2022-04-23 22:22:21 -07:00
EmosewaMC
18fc01cd49 missed change for forge 2022-04-23 20:44:08 -07:00
EmosewaMC
c6480192f8 Revert "isPlayer changes"
This reverts commit 2e61839d93.
2022-04-23 20:35:39 -07:00
EmosewaMC
7a051afd97 loot source for item drops
Added support for Items to have a loot source attached to them when dropped or rolled.  This fixes the issue where achievements would give the item before it appeared in the achievement window.
2022-04-23 20:35:34 -07:00
EmosewaMC
ceab229a63 Specified enum
the LOOT_SOURCE enum is now attached to all loot sources.
2022-04-23 20:32:31 -07:00
EmosewaMC
8e10f090fd corrected number 2022-04-23 18:52:21 -07:00
EmosewaMC
a4d934913c added lootsource send in GM
WIP commit
2022-04-23 05:13:06 -07:00
EmosewaMC
0eece14b68 Vendor buyback inventory
Fixed vendor buyback inventory so it properly scrolls when the player adds enough items to it.
2022-04-23 04:16:10 -07:00
EmosewaMC
d0233a2cd0 Updated AddItemToInventorySync
AddItemToInventorySync now sends the correct loot source type
2022-04-23 04:14:55 -07:00
EmosewaMC
2e61839d93 isPlayer changes
Changed isPlayer to check for whether the entity has a character instead of checking system address of entity.
2022-04-22 00:10:15 -07:00
David Markowitz
6f9caaa8c1
Merge pull request #510 from IAmMajo/frostburgh-solo-racing
Fix solo_racing for Frostburgh's Space Blizzard Racetrack
2022-04-19 16:30:54 -07:00
David Markowitz
c489132f59
Merge pull request #504 from NinjaOfLU/fix-item-removal-underflow
Prevent integer underflow in item removal
2022-04-19 15:21:28 -07:00
Majo
a3331d009d
Fix solo_racing for Frostburgh's Space Blizzard Racetrack 2022-04-19 12:33:57 +02:00
Aaron Kimbrell
263b019262
Merge branch 'main' into Frostburgh 2022-04-18 23:35:40 -05:00
Aaron Kimbre
6933b2c301 case for putting you back into FB when leavign space blizzard 2022-04-18 23:33:09 -05:00
EmosewaMC
5691df9009 Fixed Racing Mission
* Try, Try Again achievement now progresses when the player gets last place in a race of 3 or more players, or when solo racing is enabled.
* Race Series 1 mission from Velocity Lane now progresses correctly.
2022-04-18 01:04:29 -07:00
David Markowitz
8f50e4ff56
Merge pull request #503 from aronwk-aaron/testmap-enhancements
Dynamically check if zone is viable from existence of file
2022-04-14 16:46:37 -07:00
NinjaOfLU
3d6d5e58a7
Update GameMessages.cpp
I promise I'm not farming changes. I woke up at like 4AM and realised that I'd screwed up in an obvious way. Note to self: You are ALLOWED to change variables.

Wasn't caught in testing because, well, it turns out it's actually impossible to test the edge case this covers, due to the script for the brick console.
2022-04-14 10:09:40 +01:00
NinjaOfLU
cdbb42badf
Added a bracket... -_-
Maybe I should write and test code on my computer rather than using Git as an IDE and commits as the save button...
2022-04-14 00:15:45 +01:00
NinjaOfLU
1d1f479387
Ensure items correctly removed from missions
Doubt it would have affected anyone, but technically if you had a mission to collect something interactable, and you deleted the items at the same time as interacting with something, this would have counted incorrectly. I'm being defensive because I was an idiot who couldn't read, but in my defence, it was late when I made the first edit, and I'm also a blundering idiot!
2022-04-14 00:11:35 +01:00
EmosewaMC
a32c5a2f3c Vault corrections 2022-04-13 01:50:06 -07:00
NinjaOfLU
59ec28a5a4
Prevent integer underflow in item removal
Previously, the only check that the user wasn't trashing more items than they had was clientsided, and this could be bypassed by contacting the server to remove items via a console or the like, and then trashing them before the server could respond, resulting in the count for the items being less than iStackCount. This check prevents that underflow.
2022-04-13 01:58:00 +01:00
Aaron Kimbre
959c90985c missed a semicolon 2022-04-12 18:32:52 -05:00
Aaron Kimbre
4a98c46fb9 fix tabs/spaces 2022-04-12 18:30:46 -05:00
Aaron Kimbre
40d396c7e2 simplify 2022-04-12 18:05:22 -05:00
Aaron Kimbre
6b44936c68 check if map exists for testmap 2022-04-12 14:06:03 -05:00
David Markowitz
e92cdc4f14
Merge pull request #493 from EmosewaMC/ugh
Pets no longer cause client hitches in Nimbus Station and Forbidden Valley
2022-04-11 14:35:57 -07:00
EmosewaMC
1e514a8b61 more specific logging 2022-04-09 18:48:13 -07:00
EmosewaMC
96f1c0a709 Fixed skills proxies 2022-04-08 20:20:42 -07:00
EmosewaMC
5a76cb3b44 fixed erronous log 2022-04-08 19:36:43 -07:00
David Markowitz
92d36496df
Merge pull request #490 from EmosewaMC/macos_compilation_warnings
Resolved MacOS (and possibly ARM?) compilation warnings
2022-04-07 12:09:37 -07:00
David Markowitz
9b6caef6b5
Merge pull request #487 from EmosewaMC/quickbuild-fixes
Added a GM send after QB complete
2022-04-07 09:48:40 -07:00
EmosewaMC
7030d937b1 dirty bit 2022-04-06 22:24:50 -07:00
EmosewaMC
e73793c1a3 removed unnccessary work 2022-04-06 22:21:54 -07:00
EmosewaMC
5eb801eb12 uses number of bricks now 2022-04-06 22:21:29 -07:00
EmosewaMC
4b0ab2380c Client does calcs 2022-04-06 22:21:17 -07:00
EmosewaMC
bd0926e0a5 special case for pets 2022-04-06 22:21:08 -07:00