884b844d65
minor refactoring
2020-09-28 13:11:13 -05:00
6ea47ddb56
Fixes.
...
* Mobs should account for height when aggroing on nearby players
* We don't need to keep track of lastHealTime for each player separately
* Warp attendants no longer steal the players weapon and money
2020-09-27 19:58:37 +02:00
kamilprzyb
d4f1515f5d
Time to go, gumballs and nano potions ( #113 )
...
* set up "go to the time machine" button working
* warping to the past now sets PayZoneFlag and removes all active missions
* added gumballs functionality
* added nano potions functionality
* formatting fix
2020-09-25 00:35:27 -05:00
874479d1cf
fixed NPC spawning bug
2020-09-24 21:32:14 -05:00
8f84c4c2f8
updateNPCPosition now tracks chunks
2020-09-24 20:58:20 -05:00
279cb78d5f
Mob-related cleanup.
...
* NPCs now keep track of their chunk information like PlayerView does
for players
* NPCManager::sendToViewable() parallels PlayerManager::sendToViewable()
* Nano damage and debuffs now count as attacking a mob
* Mobs will de-aggro if something else killed their target
2020-09-25 02:00:26 +02:00
72d625fd8d
Summoned mobs are now actually treated as mobs.
...
Unfortunetly, this necessitated keeping around yet more JSON objects for
the duration of the server's runtime.
It also involved unifying the way NPC IDs are handled, such that they
may be allocated and deallocated out of order.
If any NPCID-related bugs occour, this commit should be regarded as
the prime suspect.
2020-09-25 00:51:18 +02:00
4caca07856
Merge pull request #109 from gsemaj/slider
...
Basic slider implementation
2020-09-23 14:49:26 -05:00
Gent
f2596bfb6a
Add NPC chunk management + Generalize lerp
2020-09-23 12:06:25 -04:00
kamilprzyb
016c48645e
adjusted timestamp function to always return value in seconds
2020-09-23 11:05:18 +02:00
Gent
7dfc888552
Basic slider implementation
2020-09-23 00:08:51 -04:00
kamilprzyb
076f89927d
changed vehicle iTimeLimit to be stored in seconds instead of miliseconds
2020-09-22 21:49:24 +02:00
kamilprzyb
7ba9b9a54f
replaced high_resolution_clock with system_time for timestamps
2020-09-22 21:15:47 +02:00
kamilprzyb
5a58908462
vehicle has a proper expiration day when bought, implemented checking expired vehicles while login
2020-09-22 13:16:09 +02:00
CakeLancelot
adf017b07c
Move from isGM to Account Levels ( #106 )
...
Co-authored-by: dongresource <dongresource@protonmail.com>
2020-09-22 04:26:12 +02:00
4cc1cf4f7e
minor chunk refactor
2020-09-21 14:55:34 -05: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
Gent
c6ec1c46c2
Add documentation for getItemType()
2020-09-19 16:38:50 -04:00
ce9285bab5
support for /unsummon
2020-09-18 16:24:15 -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
f4db0830ba
huge refactoring, chunking added
2020-09-17 17:45:43 -05:00
e79f179628
Mobs respawn now.
...
Began work on mob logic. Also cleaned up TableData a little.
2020-09-17 01:43:48 +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
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
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
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
eb1ad6bb37
switched to dumped XDT & moved to a submodule
2020-09-09 12:06:22 -05: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
CakeLancelot
8a481acdae
Stub npcBarkHandler for now
2020-09-06 09:59:43 -05: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
b239fb9331
Add NPC barking, seeing saved characters
2020-08-29 13:14:21 +02:00
3b35e0017a
Moved all JSON files into a dedicated data directory.
2020-08-28 22:22:24 +02:00
9b0cb7f441
Fix crash when receiving invalid packets with very low ids.
...
Also fix benign NPC deallocation bug.
2020-08-26 22:22:52 +02:00
4178945abe
Decoupled player and NPC view distance.
2020-08-26 04:58:17 +02:00
3e5101892b
Populated the future with scraped mobs.
...
This system is temporary; meant to ease testing.
2020-08-26 04:57:59 +02:00
3b3ddf08ef
Fix github issue #38
2020-08-25 20:42:52 +02:00
b79bc56b31
Implement NPC spawning.
...
Protected by a simplified GM system. Either everyone is a GM (local
servers) or nobody is (public servers).
2020-08-25 04:28:42 +02:00
113ce0af07
Load the NPC and warp JSON files according to the config file.
...
NPC data was being read from the config, but ignored.
2020-08-25 03:45:04 +02:00
d964a83d6d
Respawn points work now.
...
Note that some of them weren't present in clientnpc and will need to be
manually added later.
2020-08-25 03:34:53 +02:00
14bc368073
Dynamically allocate the Player struct in PlayerView.
...
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.
2020-08-25 00:59:55 +02:00
561a809f33
load warps into memory in NPCManager::init
2020-08-23 11:26:25 -05:00
0d27412d81
added getNearbyPlayers
2020-08-23 10:42:37 -05:00
Zenpock
1d792a21dd
Npc Warp implementation ( #29 )
...
* Update CNShardServer.hpp
* Update ChatManager.cpp
* Update ChatManager.hpp
* Update NPCManager.cpp
* Update NPCManager.hpp
* Add files via upload
* Update NPCManager.cpp
* Update NPCManager.cpp
* Update ChatManager.cpp
* Update ChatManager.cpp
* Update NPCManager.cpp
* Update NPCManager.cpp
Co-authored-by: CPunch <sethtstubbs@gmail.com>
2020-08-23 10:32:25 -05:00
88953541ef
added INITSTRUCT to zero-out data
2020-08-22 19:26:18 -05:00
94b0dc724e
major refactoring
2020-08-22 18:31:09 -05:00
FinnHornhoover
5f65a84b02
Fix unhandled exception in NPCManager ( #24 )
...
* fixed PROTOCOL_VERSION not being defined
* handle exceptions in NPCManager init
2020-08-22 01:46:52 -05:00
bbd6c5b532
moved header libraries
2020-08-21 21:03:12 -05:00
f289c72f6f
populated NPCManager
2020-08-21 17:14:11 -05:00
6857f50c30
added basic NPCManager
2020-08-20 16:43:48 -05:00
4d9072a752
added radio's logo, started NPCManager
2020-08-19 17:21:35 -05:00