0fc072d591
Initial implementation of nano powers.
2020-09-21 19:51:30 +02:00
Gent
135424b855
Update player visibility on skyway
2020-09-20 15:24:17 -04:00
Gent
a5ffe26c44
Move lerp to td init, add variable gap size
2020-09-20 15:24:17 -04:00
Gent
6a78a301c9
Skyway lerp tuning
2020-09-20 15:24:17 -04:00
Gent
a5c40b66f5
Add basic Monkey Skyway functionality
2020-09-20 15:24:17 -04:00
CakeLancelot
94583e534b
Merge pull request #102 from darkredtitan/LoadisGMfromConfig.ini
...
Respect config.ini GM settings
Upon character creation, the GM value from the config will now be used instead of always being set to false. The default in Settings.cpp has also been changed to be consistent with the config.ini in the repo.
2020-09-20 14:04:33 -05:00
darkredtitan
ff7c78d545
Change default value for GM to true
2020-09-20 20:50:58 +02:00
CakeLancelot
77df7b7160
Merge pull request #92 from gsemaj/crocpot
...
Implement Croc Pot item combining
Fix vehicle type override
2020-09-20 13:40:36 -05:00
darkredtitan
6eb21e6d67
Respect config.ini GM settings
2020-09-20 19:53:33 +02:00
228a181b74
removed ChunkManager::removeNPC()
2020-09-20 10:34:43 -05:00
Gent
c6ec1c46c2
Add documentation for getItemType()
2020-09-19 16:38:50 -04:00
Gent
d1c5e272a8
Fix vehicle type override
2020-09-19 15:26:16 -04:00
SengokuNadeko
9bb19efc99
Updated main.cpp for buddy manager init function
2020-09-19 15:08:03 -04:00
SengokuNadeko
7757238a47
Buddy System draft (W.I.P)
...
The w.i.p buddy system
2020-09-19 15:07:09 -04:00
CakeLancelot
4d437bcb34
Merge pull request #97 from gsemaj/bugfix1
...
Preventing spawning of invalid items using /itemN
Fix fusion matter amount not displaying on enter
2020-09-19 07:46:56 -05:00
Gent
5dbca0b7b1
Fix fusion matter amount not displaying on enter
2020-09-18 23:26:20 -04:00
ce9285bab5
support for /unsummon
2020-09-18 16:24:15 -05:00
Gent
cd7fec2d5b
Fix invalid item bug
2020-09-18 14:45:51 -04:00
d9d781c37d
whoops, everyone had gm
2020-09-18 02:10:30 -05:00
Gent
b929d12902
Implement Croc Pot item combining
2020-09-17 23:55:57 -04:00
9f78735caa
fixed socket reference bug
2020-09-17 22:44:37 -05:00
31ef03610d
temp fix and small refactor
2020-09-17 21:41:09 -05:00
22e3e9e4de
fixed 'player clone' bug
2020-09-17 18:03:23 -05:00
f4db0830ba
huge refactoring, chunking added
2020-09-17 17:45:43 -05:00
001564a257
Hotfix to stop crashing the server.
...
This will need to be fixed properly; probably while we implement
chunking.
2020-09-17 21:22:31 +02:00
e79f179628
Mobs respawn now.
...
Began work on mob logic. Also cleaned up TableData a little.
2020-09-17 01:43:48 +02:00
e03da83ff3
Rearranged the codebase a little.
...
* Deleted empty Player.cpp
* Moved the helper functions from the obsolete CNStructs.cpp into
main.cpp and deleted it
* Renamed CombatManager to MobManager, as that will likely become it's
main focus soon
2020-09-16 21:46:15 +02:00
5efc8ac089
Switched getTime() to std::chrono on all platforms.
2020-09-16 20:14:00 +02:00
efda6673b5
Print server version when starting up.
...
Also added -ldl to fix cmake compilation on Unix systems.
2020-09-16 20:12:56 +02:00
f7571607ba
Only send live checks when the connection has been silent for a while.
...
Also:
* Made the timeout configurable
* Removed the stale randomcharacters config option
* Switched to time_t for time values, even though it doesn't really
matter that much
* Halved the keepAliveTimer frequency
2020-09-16 17:45:53 +02:00
Gent
148d90f4f1
"Boosts and potions!"
...
Fixed crate opening such that the item has an iOpt of 1.
2020-09-14 18:36:50 +02:00
Gent
a976fef2b4
Implement vendor stack logic
2020-09-14 10:25:15 -04:00
Gent
da8c833587
Implement buyback
...
Sellability tweak
Add additional item categories
2020-09-14 10:25:15 -04:00
Gent
c91022030c
Load item tables + price implementation
2020-09-14 10:25:15 -04:00
Gent
f55cc8f36d
Load vendor tables
2020-09-14 10:24:55 -04:00
9cc5f3e4d5
Cleaned up comment formatting.
...
The incantation was: sed -i 's://\([^ ]\):// \1:' src/*.[ch]pp
Lines of code that was commented out were then manually reverted.
2020-09-14 16:07:05 +02:00
131997f34f
Cleaned up all whitespace issues.
...
The incantation was: sed -i 's/[ \t]*$//g' src/*.[ch]pp
2020-09-14 16:07:05 +02:00
ed86bc9160
Assorted cleanups and fixes.
...
* Clean up spacing/indentation
* Proper enum formatting
* Fix nano dismissal (for real this time)
* Do not copy Player struct when a pointer is right there
* Stop looking after the trade partner has been found
* Make sure we're shifting unsigned values (and 64-bit when they need to be)
* Look for JSONs in tdata/
* Add a dbsaveinterval to the example config.ini, in the login category
2020-09-14 16:07:05 +02:00
darkredtitan
38d5998a6e
Sanity checks for creating and deleting characters.
...
Co-authored-by: kamilprzyb <kamilprzybspam@wp.pl>
2020-09-14 16:07:02 +02:00
kamilprzyb
c7189a5cef
added saving missions
2020-09-14 16:07:02 +02:00
kamilprzyb
de15e2004b
added bank functionality, refactored itemMoveHandler
...
Co-authored-by: Cake Lancelot <CakeLancelot@users.noreply.github.com>
2020-09-14 16:07:02 +02:00
darkredtitan
480cca82fa
Make name checking case insensitive.
...
Co-authored-by: kamilprzyb <kamilprzybspam@wp.pl>
2020-09-14 16:06:57 +02:00
kamilprzyb
3d83f93167
added periodic DB saves, fixed some settings
2020-09-14 01:38:27 +02:00
kamilprzyb
1d9a7139a8
deleteing player deletes inventory and nanos, minor tweaks to settings
2020-09-14 01:38:27 +02:00
kamilprzyb
2fd7a8c6fc
Implemented saving inventory and nanos
2020-09-14 01:38:27 +02:00
kamilprzyb
fc57cae37d
added saving character when a connection with shard is killed
2020-09-14 01:38:04 +02:00
Gent Semaj
3cfec7aab3
Implement transportation framework + full S.C.A.M.P.E.R. functionality ( #86 )
...
* Add transportation registration
* Add S.C.A.M.P.E.R. functionality
Co-authored-by: dongresource <dongresource@protonmail.com>
2020-09-13 22:26:16 +02:00
CakeLancelot
29e53117e7
Merge pull request #72 from FinnHornhoover/msys-mingw-compile-fix
...
Warnings and compile errors for MSYS2 MinGW64
2020-09-13 07:35:32 -05:00
c1ac2250a0
Minor changes.
...
This was me fixing a few bugs and finding that Gent was working on some
of the same ones, then awkwardly merging the changes together.
2020-09-12 22:43:04 +02:00
Gent
4880e4af12
Revamp revival code
2020-09-12 14:21:36 -04:00
Gent
2b1a028b3d
Validate cookie data
2020-09-12 11:41:31 -04:00
be99714495
Possible fix for the login error bug.
2020-09-12 17:09:11 +02:00
4c06163b51
Properly validate vendor logic.
...
Also, iTimeLimit should be 0.
2020-09-12 16:10:53 +02:00
Gent
4e7352da66
Add sell functionality to vendors
2020-09-11 22:04:23 -04:00
5747c24479
[bugfix] Don't set iType on empty item slots.
...
This confuses ItemManager::findFreeSlot().
2020-09-12 02:25:45 +02:00
579aa9d31d
Save pointer to Player struct in CNSocket.
...
This is an insignificant optimization now, but will be necessary when we
start switching around the the algorithms and datastructures used in
proximity detection.
2020-09-12 01:22:58 +02:00
Ariii
3865249387
Vendors, set nano skill command + serverside command issues fixed ( #74 )
...
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>
2020-09-11 23:19:03 +02:00
468840c9ea
Fixed gcc vs clang preprocessor tomfoolery.
2020-09-11 00:19:21 +02:00
52f02168bc
Implemented quest item cleanup and fixed a few bugs.
2020-09-11 00:19:21 +02:00
ddb5f782b7
Refactored mission data and implemented quest item mob drops.
...
Most future missions are now playable.
Quest items aren't being properly cleaned up yet.
2020-09-11 00:19:21 +02:00
3665dc2c93
[WIP] Incremental mission save 2
...
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.
2020-09-11 00:19:19 +02:00
ae654f996c
[WIP] Incremental mission save 1
...
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.
2020-09-11 00:19:16 +02:00
e33b7f20e9
[bugfix] Preserve Taros and FM when opening Crates.
2020-09-11 00:08:26 +02:00
5b49e71de7
Implemented mission rewards.
...
Might need to refactor item drops, especially after implementing
task-result quest item drops.
2020-09-11 00:08:26 +02:00
3172724596
Implemented the mob kill counter in missions and fixed a bug.
2020-09-11 00:08:26 +02:00
8887c6349b
Add support for cookie-based login back in.
2020-09-11 00:08:26 +02:00
29cde56fb1
Levelling up added to /nano
...
- Using /nano levels up Player, a player cannot level down.
2020-09-10 17:51:52 +01:00
eb1ad6bb37
switched to dumped XDT & moved to a submodule
2020-09-09 12:06:22 -05:00
45a33758a5
Account for the size of packet length and ID in validation functions.
2020-09-08 03:06:55 +02:00
FinnHornhoover
266fddbffa
fixed warnings and compile errors for msys2
2020-09-08 03:41:13 +03:00
e90ae10746
Summoned NPC are now visible to other players.
2020-09-07 22:12:53 +02:00
df655dfe29
added mobdata to config
2020-09-07 12:54:40 -05:00
c8c4ec7d01
updated readme & small refactor
2020-09-07 12:23:00 -05:00
458843958b
Merge pull request #69 from SengokuNadeko/master
...
Adjustments made to regex
2020-09-06 14:06:37 -05:00
SengokuNadeko
361c069d0c
Adjustments to the regex
...
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.
2020-09-06 10:49:14 -05:00
SengokuNadeko
3876e0537e
Small regex fix
...
Old regex had some problems (a bit too restrictive). If you want, you can push this to loosen up the restrictions a little.
2020-09-06 10:42:07 -05:00
CakeLancelot
8a481acdae
Stub npcBarkHandler for now
2020-09-06 09:59:43 -05:00
darkredtitan
589da3f714
Fix social distancing bug (name trademarked by kamilprzyb)
2020-09-05 19:53:16 +02:00
00c5e07f4f
small memory bugs fixed
2020-09-03 15:29:29 -05:00
063d302bd5
Merge pull request #62 from kamilprzyb/master
...
Rewrote DB and finished LoginServer
2020-09-02 22:49:08 -05:00
7e9793bf90
Merge pull request #59 from JadeShrineMaiden/additions
...
Colliding NPC IID quickfix
2020-09-02 22:48:09 -05:00
CakeLancelot
fa6b0b178c
Remove unnecessary bracket in include statements
2020-09-02 21:25:09 -05:00
CakeLancelot
dadf1c5bcf
Change sqlite3.h path in sqlite_orm.h
...
Should fix Appveyor compilation
2020-09-02 21:11:50 -05:00
kamilprzyb
260759c20b
replaced tabs with 4 spaces
2020-09-02 17:53:39 +02:00
kamilprzyb
1ff5694960
Fix APPROVEALLNAMES setting
...
fixed GetInteger->GetBoolean
Co-authored-by: FinnHornhoover <30576665+FinnHornhoover@users.noreply.github.com>
2020-09-02 17:47:10 +02:00
kamilprzyb
11801c1f89
Rewrote DB to use ORM, added all remaining features to LoginServer and refactored it
2020-09-02 00:37:09 +02:00
4f6c77be4f
minor cleanup
2020-08-31 17:54:49 -05:00
d7a41d40ab
Replace signal() with sigaction().
2020-08-31 22:40:33 +02:00
1e344c2dd8
Small tweak
2020-08-31 01:36:29 +01:00
fdd0160248
Colliding NPC IID quickfix
2020-08-30 23:29:28 +01:00
Eperty123
da293ba9b3
Add DB prefix to db stuff
2020-08-29 13:47:39 +02:00
Eperty123
437063d78a
Add experimental TransportManager
2020-08-29 13:43:33 +02:00
Eperty123
b239fb9331
Add NPC barking, seeing saved characters
2020-08-29 13:14:21 +02:00
50431024c9
Merge pull request #55 from dongresource/combat1
...
Implemented combat, drops, crates and the guide changer
2020-08-28 19:11:56 -05:00
2a258a80f0
Database.cpp refactoring
2020-08-28 19:10:26 -05:00
a067975f27
Players can now see eachother fight monsters.
2020-08-28 22:22:24 +02:00
72a811d6ab
Implemented guide changing.
...
This means the Time Machine works as well.
2020-08-28 22:22:24 +02:00
3b35e0017a
Moved all JSON files into a dedicated data directory.
2020-08-28 22:22:24 +02:00
4df812f996
Implemented crates (dropping and opening).
...
Also fixed a bug in vaildOutVarPacket().
2020-08-28 22:22:24 +02:00
67d899efe6
Implemented proper validation of variable-length packets.
...
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.
2020-08-28 22:18:28 +02:00