Commit graph

95 commits

Author SHA1 Message Date
Kirmmin
bdb74b126c Cinematics/Core: Initial implementation
Includes Novice Tutorial starting Cinematic for both Factions
Includes Exile cinematic for the Combat step of the Novice Tutorial

Spline Camera support

Fix following rebase

[Cinematics/Core] Autoplay cinematics, remove player character requirement
2022-08-31 23:33:43 +12:00
Kirmmin
a156f92b94 [Realm/Queue] Queue connections when at max capacity
DB Migration for Permissions
2021-11-28 12:23:42 +13:00
Kirmmin
744e6cf95e Inventory Bag changing completed
Refactored Bag feature
Will not re-index items unless necessary

Minor updates

Tidy up following Fabi's review

Tidied up calculation when moving or removing bags

Update Item checks to prevent bags from stacking

Added Error Message response on full inventory

Fixes following rebase

Fix item display updating issues

Fixes for Bag Support

Fixes for bag capacity changes
Fixes following PR review

Refactored resize into Add/Remove Item
Refactored ItemMove to handle resize better

Fixes following rebase

Fix for charges
2021-10-11 01:50:41 +13:00
Rawaho
23b6434ead Initial implementation of community plots.
Reworked residence management.
Moved shared guild chat channel functionality to a seperate abstract class.
Decor can be added to your residence without being on it.
Guild operation data has been moved to a union to support multiple data types.
Fixed privacy levels for residences.
Deleting a character will now remove the residence.
Various other things I would have forgotten.
2021-09-04 23:40:06 +12:00
Rawaho
4a2e7718b7 Reworked instances, instance logic has been abstracted from the base map.
Reworked grid unloading.
Implemented instance unloading.
Added error message when entering a map fails, if this occurs on login the character will be kicked.
Added RBAC permission to bypass instance limits and checks.
Added forced instance removal, this displays a timer when a player is kicked from an instance.
Added commands to unload and remove players from an instance.
2021-09-04 23:40:05 +12:00
Kirmmin
cbaca34237 Social/Core: Fix Whisper echo
Updates to packet name and SendChatAccept overload
2021-08-11 07:02:23 -07:00
Rawaho
3a57a79d03
Implemented custom chat channels.
Named packet ServerInstanceSettings.
Reworked the way ServerPlayerEnteredWorld sent, the server now waits for ClientEnteredWorld before sending, this how retail handled it and sovles a few issues during login.
2021-02-21 21:23:41 +13:00
Rawaho
62526d1123
Refactored and cleaned up guilds.
Moved player specific guild information to a local manager.
Changed the way guild operations are invoked.
Implemented Holomark part tracking with character flags.
Moved guild chat to simple channel implementation, will need to be expanded.
Add commands for guilds.
Partial implementation of user text and text filtering, this is how the client validates user input text for things such as guild names, rank names, MOTD, ect...
Players can now be looked up from the character manager.
Various other things that I'm sure I have forgotten.
2021-01-04 22:16:11 +13:00
Kirmmin
8beae5e91d Social/Guilds: Feature
Fixed indentation

Removed incorrectly copied code

Deleted incorrectly copied file

Packet fixes after rebase

Continued Guild Research incl. Holomark

Continued guild work - WIP

Guild packet updates - WIP

Initial Guild class support - WIP
Initial GuildManager code

Database saving - WIP

Basic Guild Functionaility
Create Guild/Save to DB/Load from DB
CharacterManager prototype

Converted GuildOperations to use Attributes

CharacterManager updated to use an interface
Includes LastOnline DB support

Some GuildOperations added
Tidied up GetRanks method and fixed rank indexing

Ranks - WIP
Member Online/Offline notifications

Rank & Member management improvements
Many guild operation updates
Cleaned up a lot of hacky code

Member Invite, Removal, Promote, Demote, Quit
Improvements to packet structs

Added support for all types of guilds
Added chat support for guilds
Updated SQL defaults
Added support for guild affiliations

Added a lot of comments and did a bunch of tidying
Improved member removal
Cleaned up Save functionality in GuildManager

Guild Holomark support

Fixed guild invite name
Fixes following review

Error handling of Guild creation

Fixes for GuildAffiliation Errors
Refactored Results to nested methods

Fix loading issues

Guilds - DB Migration

Character Deletion updates for Guild members/Leaders

Fixes following rebase
2020-12-13 10:42:44 +13:00
Kirmmin
f899af5f3c Entity/RewardProperties: Sent based on Account Tier, Entitlements unlock immediately, Account Tier sent to client
RewardProperty - All implemented.
Update RewardProperty from EntitlementManagement
All RewardProperty data is cached in AssetManager by Tier
Player is now receiving their AccountTier on login
All RewardProperties for the AccountTier are sent on login.

Refactor following review
2020-10-24 09:01:17 +13:00
Rawaho
47830bfc95
Implemented faction disposition.
Added reputation manager for players.
2020-07-04 17:48:27 +12:00
Kirmmin
576e426b01 Utility/Story: StoryBuilder utility to send lore and story data
Story Communicator support added
2020-06-12 22:57:43 +12:00
Neiko
c2c79ec485
Merge pull request #262 from kirmmin/communicators
Core/Packets: Client Entered World and Communicators
2020-06-07 00:51:25 +12:00
Kirmmin
7071d34a5e Social: Whisper Message Handling
Chat Channel support for Nexus & Trade channels
Caches & removes sessions currently

Ensure no duplicate channels in the session cache

Fixes following review.

Configuration indentation fixed

Fixes following rebase

Removed unnecessary configuration object

Added ChatZoneChange packet

Fixes following rebase
2020-04-18 21:02:42 +12:00
Myya Longtail
74b03691e5 Implementation of Residence Flags settings.
Used for hiding ground clutter and neighbor skyplots on plots.
2020-04-16 23:06:08 +12:00
Kirmmin
861d785798 XP Feature
- Grants XP to player
-- Saves XP totals to DB
- Executes Level Up
-- TBD: Update Stat packet needed
-- Bonus: Plays level up effect! (TY Ahoi!)
- Level up unlocks - replay feature added
-

Fixed player mask

Revert packet rename
Updated unknown properties in packet

Added XP Reasons enum
Added level command
Tidied up PlayLevelUpEffect
Added comments to necessary methods

Grant Spells on Level Up

Fixes following rebase

Tidied up Level Up Effect

End full screen effect after duration passed

Remove whitespace fix

Fixed tiers on level up effect

System message summary

Maxlevel set to constant

Refactored to XpManager
Initial Rest Bonus XP calculations added
Rest + Signature XP basic support

DB Migration update

Fixed CharacterContext

Appropriately completed DB migration
2020-04-13 15:11:48 +12:00
Kirmmin
46a6a7f731 Core/Packets: Client Entered World and Communicators
The ClientEnteredWorld packet is sent after every teleport/loading screen.
Includes basic Communicator message support. This is used in story telling settings, i.e. quests, dungeons, etc.
2020-04-11 13:42:36 -07:00
Neiko
7f0b798dc3
Merge pull request #259 from kirmmin/supply-satchel
Inventory/Crafting: Supply Satchel support
2020-04-08 21:54:57 +12:00
Kirmmin
517acd6864 Inventory/Crafting: Supply Satchel support
Minor tidy

Updates following review
2020-04-04 19:20:51 -07:00
Kirmmin
add42017f0 Map/Zones: Zone Change Client packet 2020-04-02 15:01:49 -07:00
Kirmmin
9413504b36 Spells/Core: Ability charge functionality
Clients Cast Spell packets updated appropriately
Moved spell casting from ability to fire from UnlockedSpell instance

Removed need to pass the Player instance around
2020-03-07 18:25:33 +13:00
kirmmin
97ecf42280 Core/RealmList: Reload servers and handle offline (#219)
* Core/RealmList: Reload servers and handle offline
Refreshes servers from database if the server list is deemed dirty

Converted to Asynchronous Database checks

Refactored to use Update

Moved Server ping to the ServerInfo model

Moved ServerManager to own thread

Fixes following singleton update

Fixes following review

* Small cleanup.
2019-12-06 23:18:55 +13:00
kirmmin
efa21d75d8 Spells/SpellClasses: De/Buff categorisation (#229)
* Spells/SpellClasses: De/Buff categorisation

* Small Cleanup.
2019-11-30 13:47:27 +13:00
kirmmin
1f7cbbf8ab Housing/Fix: Decor offset resolved (#207)
* Housing/Fix: Decor offset resolved

Allow for PlotIndex saving

Add PlotIndex validation for Position
HousingResult added for handling errors & validation on placement

* Small cleanup.
2019-11-25 20:27:30 +13:00
myyanf
8a6f104da4 Adding the initial /roll functionality (#201)
* Adding the initial /roll functionality.
This tracks the develop branch at the moment,
and as such, it does not include party and raid
group responses. /roll output will only be
returned to the user using /roll at this time.

* Fixed formatting issues.

* Added fixes as per Rawaho's comments on PR #201.
Switched from using CharacterId and RealmId to
using TargetPlayerIdentity.
Moved all Random().Next functionality into MiscHandler.
Added in valid value tests for MinRandom and MaxRandom.
In addition, MinRandom and MaxRandom have been changed
to uint. This is probably more correct, since checks for
>0 are not needed.
2019-11-09 20:08:02 +13:00
MaxtorCoder
0d35d5a215 [Feature] Implemented Player Inspect (#212)
* Implemented Player Inspect

* Small cleanup.
2019-11-09 20:02:41 +13:00
kirmmin
05661417f8 Social/Core: Benches, chairs and other seating interaction (#216)
* Social/Core: Bench interaction

GameMessageOpcode indent fix

* Small cleanup.
Replaced reference to the entity the player is sitting on with the unit id.
Added a sanity check to make sure an entity a player wants to sit on is valid.
2019-10-28 21:14:47 +13:00
Rawaho
5ef2066776 Initial implementation of the achievement system.
TODO: Finish guild achievements once guild PR is merged.
TODO: Research and handle more achievement types.
2019-10-03 19:52:42 +13:00
Rawaho
d606eb16b6 Implemented movement generator support for Vanity Pets. 2019-09-26 19:50:12 +12:00
Skyler
ff56ac0f7a Implemented entitlement manager.
Added support for character entitlements.
Added commands to add, update and list account and character entitlements.
Added missing entitlement message models and opcodes.
2019-09-23 17:16:59 +12:00
Rawaho
efd61b80c9
Merge pull request #174 from kirmmin/stance-support
Feature: Stance/Innate set & save
2019-07-21 15:00:05 +12:00
Rawaho
ca3851aaa5
Merge pull request #192 from kirmmin/character-deletion
Core: Character Delete functionality
2019-07-21 13:08:12 +12:00
Kirmmin
637dddafbe Feature: Store "View" mode
Cleaned up and fixed Store Category DB Script

Store - Initial release with packets and items stored in DB
Includes updates for all Offer Groups.
Offer Groups complete SQL

Corrected Store Offer Group's table signature

Fixed filenames of SQL files

Added Offer Group Placeholder for Items FKs

Re-Added Costume entry after it was misplaced due to testing

Items added to the store
-- Delay introduced and need to figure out packet problems
Offer Items SQL added
Updated GamePacketWriter for long values

Tidied up naming convention
Fixed typo

Store ItemData added to DB and read into Offers

Fix WriteWideString to work with long strings

Updated StorefrontManage to use full length strings

Tidied up SQL scripts

Store Offer Prices loaded from DB
Store Offer Prices SQL added

Fixed Offer Item Price SQL filename
Made Store Offer Items check for Pricing data

Store Offer Currency data loaded from DB
Store Offer Currency SQL added

Store SQL scripts combined into 1 script containing entire store

Client Storefront Purchase packet added

Fix broken category array calculation
Fixed client freezing!!
Updated DB script
Added Account Handler

Fixes following rebase

Offer categories refactored
SQL script re-updated

Account Items - WIP

Item pricing fixed and readable

Refactored to use Classes for Store data
Figured out many of the pricing packets
Created configuration for Store pricing
Tidied up StorefrontManager significantly

Minor updates for naming

Updates to StoreFrontManager
DB Refactor
Re-Scaffolded

Fixed exception message
Fixes following rebase
2019-07-19 11:51:56 +12:00
Kirmmin
d78deb2521 Feature: Stance/Innate set & save
Also resolves some endless loop spell casting

Fix bad packet handler inheritance
2019-06-30 17:13:57 -07:00
Kirmmin
7617f38ce4 Core: Character Delete functionality
Re-apply removed decor index
2019-06-27 12:44:06 -07:00
Rawaho
cf5a0af59e Initial work on the quest system.
TODO: Abandoning a quest is not handled correctly, server should still track abandoned quests that can be initiated via the communicator.
TODO: Implement quest objective timers, these should only start once the objective is visible.
TODO: Implement quest ignoring, this goes hand in hand with implementing abandoning correctly.
TODO: Research unknown quest objective types.
TODO: Research unknown quest objective flags, most of these determine when an objctive can be seen.
TODO: Finish quest reward handling, fixed rewards and conditional rewards need implementing.
2019-06-10 23:24:50 +12:00
Rawaho
210b220bca
Merge pull request #175 from kirmmin/account-currency-support
Feature: Account Currency support
2019-06-07 19:47:32 +12:00
kirmmin
6fac3d3173 Fix: Currency Change packet naming (#171)
* Fix: Currency Change packet naming

* Update ServerCombatReward.cs
2019-06-07 19:35:25 +12:00
kirmmin
7de6e38329 Feature: Basic tutorial trigger for zone change (#166)
* Feature: Basic tutorial trigger for zone change

Tutorial Manager updates and fixes

Refactored to store tutorial triggers in DB
Refactored to use AssetManager
Removed unnecessary TutorialManager

Stop adding unusable tutorials

* Update Player.cs
2019-06-07 19:34:51 +12:00
Kirmmin
7e155a7092 Feature: Account Currency support
Fixes following PR Review
2019-06-06 19:23:46 -07:00
ahoiahoi
47e235b595 initial ZoneMap support (#141)
* initial ZoneMap support

* fix setting a bit to 0

* fix for the fix :|

* code cleanup

* Cleanup.
2019-05-31 08:58:26 +12:00
Skyler
aa355c2cbc
Merge pull request #161 from kirmmin/timeofday
Feature: In Game Day/Night Cycle
2019-05-29 08:59:08 +12:00
Kirmmin
efe37321da Feature: In Game Day/Night Cycle
Remove unused Season

Use Fixed Time due to division issues - TY Therzok
Tidied up default assignment

Fixes following Rawaho slapping my wrists
2019-05-28 13:53:35 -07:00
Rawaho
82bc9b3790 Rework and cleanup to mail system commit.
Replaced global mail manager with one local to the player.
Sending mail attachments and updating item ownership is now done in the same transaction.
Fixed various bugs and issues.
2019-05-29 07:51:29 +12:00
Kirmmin
361ec4a4d9 Mail Feature - WIP
MailBox Entity

More mail packets built
MailHandler added

Enable Trading reward property

Mail packets parsed and responses added

Mail manager and DB storage - WIP

Send Mail work started

Few bug fixes in initial mail sending

Basic Mail Attachments support

Fixed for updated Character lookup

Take cash from mail working.
Improved entity interaction handling - was throwing exceptions before

Player-to-Player Mail Feature complete

Send Cash on Delivery Request back to requester

Rebased

Updated MailAttachments to use character items

Removed artifact from testing

Removed bad copy-paste from DB code

Remove unused parameters

Converted 0 to null for owner tracking
Attached Item to MailAttachment class

Fix SQL
2019-05-19 11:32:47 +12:00
root
25ef21d68f Datacube, Chronical and Journal implementation. 2019-04-24 01:40:06 +12:00
Rawaho
8b822e4bdd Replaced ugly packet handling hack. 2019-04-16 01:21:48 +12:00
kirmmin
bc86492a5d Weapon Sheathed Toggle (#114)
* Stat Updates - Float & Int

* Player Sheath / Unsheath functionality.

* Tidied up the sheath handler logic

* Update to new stat handling code.
2019-04-15 09:28:15 +12:00
Skyler
6f7ffa9cb0 Small rework and cleanup to stat code, still not 100% happy with this.
Removed IDatabaseEntity interface, replaced with function in WorldEntity that handles loading base database models for all types to reduce code duplication.
2019-04-15 08:35:11 +12:00
root
764bde7d0b initial commit for persistent stats
changes suggested by @Fabi :)

health update added

small GetStatValue change
2019-04-15 08:28:36 +12:00