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.
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.
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.
* 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.
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.
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!
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.
clone id is correctly assigned, reputation now shows up, rejection verdict is sent correctly (not sure about where the reason goes if it even goes here).
* Implement ZoneTable PlayerLoseCoinsOnDeath
- Adds a check on death if the character should drop coins in the current zone
* Refactored PlayerLoseCoinOnDeath into dZoneManager
* Coin death drops use LootGenerator
* Refactored again with use of CDZoneTableTable
* Remove duplicate CDZone call during initialization
* Added check to prevent accidental sentinel passive proc
Added a boolean to check if the player is at zero armor already and if so, do not trigger the passive ability.
* Renamed variable and condensed armor check
* Fixed tab indent
* Fully implemented Achievement tracking for Shooting Gallery
- Removed logging in MissionTask.cpp and moved the checks for mission progression to after checking the instance.
- Implemented the achievement tracking in SGCannon as well as tracking of the maximum hit streak and progression of enemy smashes in the shooting gallery.
* Grammatical changes in comments
* Grammatical fixes in comments
Small grammatical fixes found in comments throughout the code.
* Added descriptions to functions
Added descriptions to functions that didn't have them to keep the code well documented
* Created RacingTaskParam.h
Created RacingTaskParam so eliminate magic numbers in the original implementation of completing racing missions.
* Updated magic numbers in Mission.cpp
Updated magic numbers in Mission.cpp to a meaningful name.
* Implemented racing smashable task progression
Previously, races did not progress tasks for smashing Entities. Now all achievements tracking smashables track them correctly. This has been implemented in the three Entities that can be smashed in a race (imagination boxes, track specific smashables, Forbidden Valley dragon eggs).
* Updated race imagination task progression
Race imagination now no longer uses a magic number when passed to missionComponent. Instead we use a number defined in an enum located in RacingTaskParam.h
* Updated Race task checks
Racing tasks for completing races without smashing now no longer auto complete the whole chain of missions. Tasks that track placing on tracks and races overall now properly complete. Tasks that count how many missions in a zone are completed now function. Tasks that track race completions in multiple areas now function.
* Updated RacingControlComponent.cpp
Fixed any tasks that required 3 players to now require 3 or more players in a race to progress. This restriction is ignored if the world config opted in for solo racing to allow progression in solo worlds. Updated magic numbers sent into missionComponent->Progress to an enum created in this PR. Fixed some indentation.
* Fixed a grammatical error in variable name
Fixed a grammatical error in the enum for task params