This is an insignificant optimization now, but will be necessary when we
start switching around the the algorithms and datastructures used in
proximity detection.
Added basic shopkeeper functions, a player can buy the preset 3 items (cannonbolt set), all shopkeepers have the same items atm (need to check the shopkeeper tabledata), setting itemprice is something I didn't figure out.
Added set nano skill command
Implemented a switch for certain commands like health/taros/fusionmatter etc to be handled on the serverside aswell
Co-authored-by: dongresource <dongresource@protonmail.com>
This commit (and the previous one) exist to document the first approach I
took to storing mission data. It's only here for posterity. This comment
was added while rebasing.
This commit (and the next one) exist to document the first approach I
took to storing mission data. It's only here for posterity. This comment
was added while rebasing.
I made the regex a bit less restrictive. If you want, you can push this if it seems appropriate.
Username should be at least 4 characters and max 32
Password should be at least 8 characters and max 32
Usernames can be any combination of letters and numbers, with no special characters except for dash and underscore.
Passwords can use any of the alphanumeric/special characters specified in the regex.
Also changed output buffer in pcAttackNpcs() from dynamically to
statically allocated. This in itself is temporary as I have a better
idea as to how we can allocate buffers with a bit less boilerplate.
Note: signal() is undefined behaviour in multithreaded programs and is
unportable for handling signals in general. This will need to be
replaced with sigaction() or something.
* Merge kamilprzyb and main repo's code
* Update Makefile by FunnHornhoover
* Update Makefile by FinnHornhoover
* Add flag to Makefile by FinnHornhoover
* Remove extra line from makefile
* Remove lbcrypt from Makefile
* Fix flag to Makefile by FinnHornhoover
* Reimplement potential fix for tutorial blackscreen by Dongresources
* Update CMakeLists.txt
* Update CMakeLists.txt
* Reinsert Jade's changes
* Cosmetic Changes to Databases .h & .cpp
* Remove CMakeSettings.json
* Update Makefile by Finn Hornhoover
* More cosmetic changes to Databases.cpp
* More cosmetic changes to Databases.cpp
* Remove unnecessary line (CMakeSettings.json)
* Fix CNLoginServer.cpp
* More cosmetic Changes to Database.hpp, edit Database.cpp to use JSON library onstead of json11 library, and delete json11 library files
* Delete json11 library files
* Delete JSON library to reupload
* Reupload JSON library from main repo
* Reupload JSON library from main repo
* Fix syntax error
* Fix Makefile
* Remove commented line of code to be like master
Co-authored-by: CPunch <sethtstubbs@gmail.com>
* Sanity checks + Starting level changes
- Item movement handler checks to make sure items aren't moved from equipment slot to equipment slot.
- Item give command checks to make sure an out of bounds item is not spawned (Below iType 0 or above iType 8)
- Players now begin at level 36, consequently the item give command does not level you up now.
* Initial Trade Implementation
* Sanity Check
- Prevents out of bounds item movement by comparing it to AINVEN_COUNT.
* Taros and Trading
* Update ItemManager.cpp
* Update ItemManager.cpp
* working trading system
* Trading system code pointerified
- It works with the recent pointer changes needed.
* Vehicles and Trading bugfixes
* Sanity checks + Starting level changes
- Item movement handler checks to make sure items aren't moved from equipment slot to equipment slot.
- Item give command checks to make sure an out of bounds item is not spawned (Below iType 0 or above iType 8)
- Players now begin at level 36, consequently the item give command does not level you up now.
* Initial Trade Implementation
* Taros and Trading
* working trading system
* Trading system code pointerified
- It works with the recent pointer changes needed.
* Sanity checks + Starting level changes
- Item movement handler checks to make sure items aren't moved from equipment slot to equipment slot.
- Item give command checks to make sure an out of bounds item is not spawned (Below iType 0 or above iType 8)
- Players now begin at level 36, consequently the item give command does not level you up now.
* Sanity Check
- Prevents out of bounds item movement by comparing it to AINVEN_COUNT.
* Update ItemManager.cpp
* Update ItemManager.cpp
This way we're not always passing it around by value.
Note that the Player structs in CNSharedData are still
pass-by-reference. Will probably change this later.
* Sanity checks + Starting level changes
- Item movement handler checks to make sure items aren't moved from equipment slot to equipment slot.
- Item give command checks to make sure an out of bounds item is not spawned (Below iType 0 or above iType 8)
- Players now begin at level 36, consequently the item give command does not level you up now.
* Sanity Check
- Prevents out of bounds item movement by comparing it to AINVEN_COUNT.
* Cleaned up protocol selection.
* cmake now works even if protocol option is omitted
* make now supports protocol selection
* removed PACKET_VERSION/CNPROTO_VERSION* redundancy
* ubuntu appveyor script has yet to be written
* cleaned up some trailing spaces
* Add some test items.
Ironically, this change is untested.
* [bugfix] Transmit MOTD when entering the game, not when loading screen fades.
This fixes unnecessary retransmission when /warping.
* Move to PowerShell script for Windows build
* Allow CMake to override struct version
* PACKET_VERSION option
* Rename CNPROTO_CUSTOM to CNPROTO_OVERRIDE
Co-authored-by: Raymonf <Raymonf@users.noreply.github.com>
* Item Manager (Initial Implementation)
* Item Manager (Second Phase)
* Item Manager (Phase Three)
* Not Working Code
* Inventory Implementation (Complete?)
* Items Implementation
-Fixed Indentations
-Final touches to make it all work
* Update Makefile
* Added small comments
-- needs to be fixed
Since we do an early return without a config.ini file, the MOTDSTRING will still be the default std::string value (""), causing the game to output "Gamemaster: ". To fix this, we'll just hardcode the preferred default value for now.