Commit Graph

254 Commits

Author SHA1 Message Date
David Markowitz
4fe335cc66
Refactor: Amf3 implementation (#998)
* Update AMFDeserializeTests.cpp

Redo Amf3 functionality

Overhaul the whole thing due to it being outdated and clunky to use

Sometimes you want to keep the value

Update AMFDeserializeTests.cpp

* Fix enum and constructors

Correct enum to a class and simplify names.
Add a proper default constructor

* Update MasterServer.cpp

* Fix bugs and add more tests

* Refactor: AMF with templates in mind

- Remove hard coded bodge
- Use templates and generics to allow for much looser typing and strengthened implementation
- Move code into header only implementation for portability

Refactor: Convert AMF implementation to templates

- Rip out previous implementation
- Remove all extraneous terminology
- Add proper overloads for all types of inserts
- Fix up tests and codebase

* Fix compiler errors

* Check for null first

* Add specialization for const char*

* Update tests for new template specialization

* Switch BitStream to use references

* Rename files

* Check enum bounds on deserialize

I did this on a phone
2023-05-13 17:22:00 -05:00
Aaron Kimbrell
1af70161eb
fix: orient player correctly when using pirate mast in FV (#1087)
* fix: frient player correctly when using pirate mast in FV

* only get mast name once
2023-05-13 09:31:13 -05:00
Aaron Kimbre
a809f36548 Address feedback 2023-05-11 09:23:48 -05:00
Aaron Kimbre
5af5b0f1c1 fix: not exiting shooting gallery when clicking activity close button
Fixes #436
Fixes crash when replaying as well
2023-05-10 19:26:04 -05:00
David Markowitz
af1abe9e74 Use only ints 2023-05-10 01:32:55 -07:00
David Markowitz
4dba8d9225 Correct column order 2023-05-09 22:21:41 -07:00
David Markowitz
3448426caf commit 2023-05-09 22:00:13 -07:00
David Markowitz
7a067e7b48 Working in game!
- Add score saving for races
- Fix some bugs
- Still work to do.
2023-05-09 01:42:11 -07:00
David Markowitz
fcf5c5ea8a Resolve compiler errors 2023-05-09 00:06:26 -07:00
Gie "Max" Vanommeslaeghe
64a947e338
Merge pull request #1069 from EmosewaMC/NullChecks
Add more null checks and split out code
2023-05-08 12:10:58 +02:00
Aaron Kimbrell
5479cf4428
Fix typing of some player flag variables (#1067)
Mainly on properties

Tested that the spider queen mission can now be progressed
2023-05-06 13:32:26 -05:00
David Markowitz
df3265c82e Add more null checks and split out code
Makes crash logs more apparent for what stage they crashed in for the engine updating.
2023-05-05 23:31:30 -07:00
David Markowitz
b5e3bd22e3 Merge remote-tracking branch 'upstream/main' into first-draft-leaderboard-re-write 2023-05-02 15:49:23 -07:00
Aaron Kimbrell
6aa90ad5b2
Breakout rest of the enums from dCommonVars and clean it up (#1061)
* Breakout rest of the enums from dcommonvars
so we don't have to deal with merge conflicts
ePlayerFlags is not a scoped enum, yet, due to it's complexity

* address feedback

* make player flag types consistent

* fix typo
2023-05-02 17:39:21 -05:00
Aaron Kimbrell
2f919d101f
Fix bad lot comparison in AG Jet Effect Server (#1063) 2023-05-02 03:27:16 -07:00
Aaron Kimbrell
2e284eb2ce
Implement Timer handlers in triggers and ontimerdone trigger event (#1031)
* Works, but AOE is broken

* Address Feedback

* fix typo
2023-04-18 12:48:03 -05:00
David Markowitz
da6ca82ae2
add missing overrides (#1060) 2023-04-18 01:40:33 -05:00
David Markowitz
c91f0d16b3 Get it compiling, add a test and optimize heavily 2023-04-13 00:45:03 -07:00
Aaron Kimbrell
ce51438bc8
Implement some scripts for alpha FV (#1049)
* Implement maelstrom fog for alpha FV
add OnOffCollisionPhantom call to cppscripts
Add physics shape for gas blocking volume

* Add Ninja Sensie Script for alpha FV
and migration

* Fix private var casing

* And ninja wild scripts
they keep making me add more things

* address feedback

---------

Co-authored-by: Gie "Max" Vanommeslaeghe <gievanom@hotmail.com>
2023-04-12 11:46:31 -05:00
Aaron Kimbre
d2d075ef52 remove debug log 2023-04-09 13:50:26 -05:00
Aaron Kimbre
09e9bb2c15 fix scripts
split speed out to use target as caster
fix armor skill
2023-04-09 13:21:57 -05:00
Aaron Kimbre
bed269ffbe Merge branch 'main' into pickup-scripts 2023-04-09 12:11:54 -05:00
Aaron Kimbrell
2cf92a16d2
Add scripts for a few wild creatures (#1051)
ignore frog script
2023-04-09 10:17:05 -05:00
Aaron Kimbre
87e36aaf72 remove log 2023-04-09 09:40:57 -05:00
Aaron Kimbre
172b398b7b fix consolidation
add speed buff
2023-04-09 09:38:56 -05:00
Aaron Kimbre
5cdff8bcaf Simplify
tested that things still work as intended
2023-04-09 08:54:14 -05:00
Aaron Kimbre
9e4de544a6 fix 2023-04-09 01:10:23 -05:00
Aaron Kimbre
37fe935a3a Implements all the old pickup scripts
Testsed to make sure they work
Tested to make sure existing script works still
killing it immedialtely is live accurate, the timer was not accurate
2023-04-08 22:07:25 -05:00
David Markowitz
cbef4a140e
Fix Spider Queen boss battle crash (#1034) 2023-03-30 06:01:15 -07:00
David Markowitz
426bc963fe Add Animation Table logic 2023-03-26 05:18:45 -07:00
David Markowitz
1e4e1b914c Merge remote-tracking branch 'upstream/main' into more-cdclient-cleanup 2023-03-26 03:00:21 -07:00
David Markowitz
b432a3f5da Remove inlines
Clean up macros

more tomorrow

Cleanup and optimize CDActivities table

Remove unused include

Further work on CDActivityRewards

Update MasterServer.cpp

Further animations work

Activities still needs work for a better PK.

fix type

All of these replacements worked

Create internal interface for animations

Allows for user to just call GetAnimationTIme or PlayAnimation rather than passing in arbitrary true false statements
2023-03-26 02:59:46 -07:00
Aaron Kimbrell
c415d0520a
Implement some more trigger event calls and command handlers (#989)
* Implement some trigger event calls
and command handlers

* add zone summary dimissed GM

* break and remove log

* some cleanup in Gather Targets
and blocking out

* fix default value of unlock for play cinematic

* Log on errors
add enum for physics effect type
simplify nipoint3 logic
check arg count
add enum for End behavior

* tryparse for nipoint3

* totally didn't forget to include it

* bleh c++ is blah

* ???

* address feedback

* Fix for #1028
2023-03-25 05:26:39 -05: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
David Markowitz
bd79e9433c
Increase Battle of Nimbus Station end of match timer to 60 seconds (#1018)
as per the live script
This is now the third time this has been updated lol
2023-03-17 02:48:47 -07:00
David Markowitz
137a5e5c3d
Players no longer respawn if they were alive at the end of Battle of Nimbus Station (#1017) 2023-03-12 07:21:27 -07:00
David Markowitz
a532bc15d8
Fix zombie bug (#1014) 2023-03-08 07:32:03 -06:00
Aaron Kimbrell
ff0336793c
add stun immunity script (#1015)
several summons use this script to be immune to stuns
2023-03-08 07:31:45 -06: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
2837f68f44
Fix stuns with mast teleport (#1003) 2023-03-03 22:59:37 -08:00
David Markowitz
b6fc959433
Fix shark stinky fish death animation (#1004) 2023-02-28 17:30:28 -06:00
Aaron Kimbrell
484488e47d
add bounds check to prevent crashing (#992) 2023-02-16 11:14:23 -06:00
Aaron Kimbrell
3cd0d1ec3d
Make wrapper for casting skills (#987)
* Make wrapper for casting skills
this is to reduce magic numbers in the code base

Only updated one use of this to demo that this works.
Will be do more in a sepearate PR.

Also, inadvertantly fix damage stacking and self-damage in the teslapack

* add skill<->behavior caching

* explicit by reference

* address emo's feedback
2023-02-10 02:30:17 -06:00
Aaron Kimbre
faf42d2f8c cleanup enums to make them more consistent 2023-01-22 17:38:47 -06:00
David Markowitz
7418e02365
Update AmTeapotServer.cpp (#949) 2023-01-17 06:07:34 -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
David Markowitz
1470af99c3
Correct Property FX incorrect skill cast (#920) 2022-12-24 04:06:27 -08:00
David Markowitz
675cf1d2a4
Fix baseEnemyApe stuns and fix IdleFlags serialization (#914)
* Fix baseEnemyApe stuns

* Correct serialization
2022-12-23 00:14:51 -06:00
David Markowitz
dff02773a0
Fix dragon stuns (#915) 2022-12-22 05:16:08 -08:00
David Markowitz
bd7f532a28
Implement the Imaginite Backpack and Shard armor scripts (#886)
* Imaginite Pack now works

* Remove unused params

* Address issues

* Add TeslaPack script

Co-authored-by: aronwk-aaron <aronwk.aaron@gmail.com>
2022-12-21 14:33:41 -08: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
cd78a3dec7
Fix cannon super charge speed (#883)
* Fix cannon

* Update SGCannon.cpp
2022-12-16 15:23:09 -06:00
Aaron Kimbrell
2b9c014b86
Quiet activity manager timer logs (#861) 2022-12-02 00:44:20 -08:00
David Markowitz
d382eb3bc2
Fix Boogie Down (#854)
- Give entities that have a script component ID of zero a script component still
- Progress scripted entity missions within the for loop as we do for script calls

Tested that Boogie Down is (finally) completable.
Tested that Mission 737 is still completable
Checked that missions progressed inside OnEmoteReceived scripts to not double trigger progression
2022-11-27 04:03:30 -08:00
David Markowitz
8d37d9b681
Organize dScripts (#814)
* Organize dScripts

whitespace

Remove parent scope

Remove parent scope from initial setter

Remove debug

Remove helper programs

* Fix NtImagimeterVisibility script

Co-authored-by: aronwk-aaron <aronwk.aaron@gmail.com>
2022-11-03 12:57:54 -05:00
Aaron Kimbrell
c552f46780
ignore empty.lua and empty scripts (#769)
* ignore empty.lua and empty scripts
and return early if it's an ignored script

* return it else if logic
2022-09-04 21:43:16 -05:00
Aaron Kimbrell
14d4bf3cc5
Script for aborting a wbl zone transfer (#766) 2022-09-02 13:49:38 -05:00
Aaron Kimbrell
1af3e59348
Scripts for the AG sentinel camp QB wall (#761)
* Scripts for the AG sentinel camp QB wall

* use lookat

* Address feedback

* Fix stromling spawner

* fix aggro and remove logs

Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
2022-09-01 21:44:26 -05:00
Aaron Kimbrell
3b75ecc0b4
Add script to playfx on canisters before consoles are active (#754)
* Add script to playfx on canisters before consoles are active

* remove debug stuff
2022-08-27 21:48:03 -05:00
Aaron Kimbrell
b70e7334e8
Parrot crash script to become a sneaky ninja and steal the pirate's booty (#752) 2022-08-26 22:58:41 -05:00
Aaron Kimbrell
500b7885e2
Add pirate rep script (#751)
* Add pirate rep script

* fix formattimg
2022-08-25 21:09:08 -05:00
Aaron Kimbrell
47f0830483
Add GF geyser script (#749)
* Add GF geyser script

* remove uneeeded include

* const
2022-08-25 15:51:22 -05:00
Aaron Kimbrell
e707207ffa
Add FV Geyser script (#748)
* Add FV Geyser script

* remove uneeded include

* const
2022-08-25 15:50:13 -05:00
David Markowitz
ceb374591f
Move mailbox closing to its script (#740) 2022-08-18 19:42:52 -07:00
Aaron Kimbrell
f8c1e2fb52
Script for when archway rebuild is done (#739) 2022-08-18 15:33:32 -05:00
Aaron Kimbrell
e4a15a0f2e
Add imagimeter visibility script (#738) 2022-08-18 00:09:14 -05:00
Aaron Kimbre
72477e01e2 convert to unix line endings 2022-08-05 22:01:59 -05:00
Jett
9ee219ea42
Move Navmesh code away from dPhysics (#701) 2022-08-02 06:30:19 +01:00
aronwk-aaron
19e77a38d8 format codebase 2022-07-28 08:39:57 -05:00
avery
a632ef8ccd
Clean up format logs (#682) 2022-07-26 23:52:53 -07: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
David Markowitz
6a38b67ed5
General AMF cleanup (#663)
* General AMF cleanup

Proper memory management as well as style cleanup

* General optimizations

Fix AMFArray so values are properly deleted when you leave the scope it was created in.
Add bounds check for deletion so you don't double delete.
Remove all AMFdeletions that are contained in an array since the array now manages its own memory and deletes it when it is no longer needed.

* Better tests and fix de-serialize

Fix de-serialize to be correct and implement a test to check this

* Update AMFDeserializeTests.cpp

* Update AMFFormat.cpp
2022-07-21 22:26:09 -07: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
9ba297dd2e
Add code to complete hidden property mission (#641) 2022-07-13 09:10:02 -07:00
Aaron Kimbrell
3865a186a7
Possessor and possessable additions (#619)
* possessor-fixup and possessable additions

* comment and docstring fixes

* fix possessable initialization

* split animation flags into it's own header
remove unnecessary checks
2022-07-08 22:25:15 -05: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
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
David Markowitz
a55162775e
Address incorrect stun played by growl speakers (#605)
Add the FireFirstSkillonStartup script to allow for scripts that use this to function.

Add comments

Fix QB Stunner scripts

Use SetVar for variable

Remember that variables for scripts need to be stored in the entity since a script can be used across multiple entities.

Remove unused variable

Specify Unsigned Int

Start skill asap, not next tick
2022-06-28 23:17:45 -07:00
David Markowitz
670a2de95b
Address issue with Inventor Beehive and Buccaneer Monkey ability on valiant weapon (#604)
* Add Script

Add the FireFirstSkillonStartup script to allow for scripts that use this to function.

* Add comments
2022-06-27 21:36:18 -07:00
Aaron Kimbrell
94e161df55
Address players leaving Battle of Nimbus Station causing a crash that wont save (#600) 2022-06-24 15:26:09 -05:00
EmosewaMC
6b30292efd Fix issue with dropship computer
The dropship computer now no longer gives a player a second mission item should they interact with it again after mission completion
2022-06-20 22:22:32 -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
Jett
842cb80137
Revert "Don't give activity loot for Battle of Nimbus Station" 2022-06-13 04:19:27 +01:00
EmosewaMC
ef8ea13d99 Don't give activity loot for Battle of Nimbus Station
Address an issue on Brick Mesa where Battle of Nimbus Station was dropping activity loot.  Tested completing Battle of Nimbus Station and ending early and was not given loot as is expected.
2022-06-12 19:25:28 -07:00
EmosewaMC
33cc3a3dd9 Corrected string to long conversion
For Windows, the definition for a long is 32 bits, not 64 bits like on other operating systems.  This caused an issue on Windows only where a number larger than 32 bits was attempted to be converted to a long, the WorldServer would crash.  This commit replaces all instances of `stol` with `stoull` to further define a long and reduce ambiguity of number length.
2022-06-05 21:02:41 -07:00
Aaron Kimbrell
66215da37a
Fix overrides in ActMine (#568) 2022-05-31 00:24:55 -05:00
Aaron Kimbre
729e79eadb resolves #556 2022-05-17 19:12:43 -05:00
Aaron Kimbre
aba349301f Add AM Teapot server
Resolves #224
2022-05-09 23:21:20 -05:00
Aaron Kimbre
bd3e8aee51 Implement Rocket Launch Lup Component 2022-05-03 15:05:29 -05:00
Aaron Kimbre
763a1f4a61 Split out Darkitect reveal into it's own file
add reveal to Fong
2022-05-01 08:54:45 -05:00
EmosewaMC
2435870ec5 Added animation
Added the GM animation and stun for the Nexus Tower Paradox Panels for mission 1281.  Tested on local instance and animation played correctly when having the mission and did not play at all before or after completing the mission
2022-04-28 19:52:03 -07:00
EmosewaMC
2f598dad09 Serialize ape when changing armor value 2022-04-28 00:14:06 -07:00
EmosewaMC
27edf5da1d Typo in NsConcertInstruments 2022-04-25 18:16:47 -07:00
EmosewaMC
4fd1467cbf changed loot sources to none
Changed loot sources for some scripts to none so they properly give loot to the player.
2022-04-24 18:40:20 -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
a4d934913c added lootsource send in GM
WIP commit
2022-04-23 05:13:06 -07:00
Aaron Kimbre
8db7dfef75 also apply overrides to AG fans 2022-04-18 21:09:27 -05:00
Aaron Kimbre
f3dd71ccb1 cleanup logs, fix overrides, define LOTs in header 2022-04-18 21:02:04 -05:00
Aaron Kimbre
8fe5c00984 remove dereference
(I think that's what it is called)
2022-04-18 08:36:11 -05:00