540c37a523
Aggro is now affected by level
2021-03-07 15:56:02 +01:00
33a26cda7c
Split mob heal types
2021-03-07 15:56:02 +01:00
dc6de46a1f
Added ON_COMBAT trigger
2021-03-07 15:55:51 +01:00
81c2a2a8b3
Mob Leech and Freedom
2021-03-05 14:34:08 +00:00
f7c84c62ed
Possibly fixed item duping via trading
2021-03-05 14:18:36 +00:00
da8dde9818
Do not dynamically allocate memory in CNSocket::sendPacket()
...
Also reorder the rapid fire check in MobManager::pcAttackNpcs(), so the
output packet validation happens immediately before the buffer is
initialized, for clarity.
2021-03-04 19:51:43 +01:00
Gent
29dbe83a0b
Skip item stacking logic if items not found in XDT
2021-03-04 11:22:01 -05:00
5fdef50f0f
Fix failure to summon the highest NPC_ID
...
And update tdata.
2021-03-03 23:17:36 +01:00
Gent
b04c66dea7
Switch AppVeyor Linux builds to Ubuntu2004
2021-03-01 11:42:23 -05:00
CakeLancelot
f0f3eaf749
README Revisions
2021-02-24 12:35:04 -06:00
217168fe50
Improve DB and Nano sanity checks
...
I'm aware that the DB checks still allow ID 0 items and Nanos, but the
point of those is primarily to prevent invalid memory access.
2021-01-27 02:27:08 +01:00
CakeLancelot
04a17ed862
Record claimed code items, and other misc DB fixes
...
* Create new table to store redeemed codes
* Check if a player already used a code when using /redeem
* Change Coordinate columns to non-plural form
* Fixed EmailItems unique constraint not being specific enough
* Bumped DB version to 3
2021-01-19 14:05:54 -06:00
74af1ad173
Set iOpt to 1 for mission rewards and disallow trading iOpt 0 items
...
Co-authored-by: Jade <jadeshrinemaiden@gmail.com>
2021-01-17 22:57:07 +01:00
CakeLancelot
b0697f12a3
Update README with link to commands on the wiki
2021-01-08 11:23:44 -06:00
34bd7c102f
Validate emails as they're being sent
2021-01-06 14:30:25 +01:00
CakeLancelot
9e30e55669
eggBuffPlayer now takes duration, and buff duration is read from EggType
2021-01-06 05:56:54 -06:00
46b6d9fcc7
Include CNStructs.hpp in settings.cpp for the ACADEMY define
...
This fixes the spawn point being wrong.
2021-01-06 12:30:33 +01:00
2bf3fd0975
Further sanity checks for shops
2021-01-06 11:47:07 +01:00
442f85c7a6
Make paths.json academy-specific
2021-01-05 14:07:41 +01:00
b87229aa65
Reject requests to equip items into the wrong slot
...
This is important because the client can genuinely send such an invalid
packet by mistake during normal gameplay.
If a sanity check fails, we don't need to send any sort of "move it but
keep it where it is" packet, since simply ignoring the invalid request
doesn't softlock the client.
Also improved validation of inventory slot indexes.
2021-01-05 13:17:59 +01:00
deca220d43
Do not auto-register all fast travel destinations for GMs
...
Instead, players with access level 50 or higher can use /registerall and
/unregisterall.
2021-01-05 12:44:38 +01:00
74e06f1084
Trading Refactor
...
- Its no longer possible to dupe items by stacking inventory slots in a trade.
- Stacked items work correctly now.
2021-01-04 23:57:50 +01:00
ddc7caf959
Basic Anti rapidfire
2021-01-04 23:57:50 +01:00
6baa0c5b07
Group related fixes
...
- Group adding is not leader only now
- Group buffs work now
2021-01-04 23:57:50 +01:00
d4eaf83354
Fixed Instancing Bugs
2021-01-04 23:53:44 +01:00
47d13ce39e
Fixed Group Mob Retreat
2021-01-04 23:53:38 +01:00
2b95bc660c
Fixed Quest Item Bug
2021-01-04 23:52:15 +01:00
0e3fac4d34
Updated tdata and changed how the default JSON paths are resolved
2021-01-04 17:08:44 +01:00
CakeLancelot
89e4b2be22
Re-add descriptive artifact names
2021-01-02 10:22:35 -05:00
Gent S
28543641bb
Properly parallelize Windows builds
2021-01-02 10:22:35 -05:00
Gent S
888f0e77f9
Use GCP instead of default cloud for AppVeyor builds
2021-01-02 10:22:35 -05:00
4516227a7b
Fix a few GM issues
...
* Invert access check when kicking players
* Add validation to ensure only GMs can PVP
* Account for instance in /teleport2me
2021-01-01 21:38:03 +01:00
Gent S
954cfabde5
Add ID gaps for missing NPCs in Academy
2020-12-31 11:26:17 -05:00
52e3c3bcd7
Comment out the spawn coords in config.ini
...
They're not often changed, and keeping two sets of them in the config
file is messy when the right set is automatially chosen by the ifdef in
the server itself.
2020-12-31 14:13:14 +01:00
966bd3edd2
Group members share the same mob drops
...
This includes quest items.
2020-12-31 14:13:14 +01:00
dab204ddaf
If compiled for Academy, do not spawn NPCs in the Future zone
2020-12-31 14:13:08 +01:00
bad8ef1d10
Kill players that fall out of the map
2020-12-31 12:51:36 +01:00
a12acbb68f
Implement most of the remaining client-side GM commands
...
* Muting a player's freechat
* Kicking players
* Querying info about a player
* Teleporting yourself to a player
* Teleporting a player to yourself
* Teleporting a player to another player
* Teleporting a player to arbitrary coords
* Teleporting a player to arbitrary coords in an arbitrary mapnum
* /unstick
Also:
* Renamed misleading setSpecialPlayer() to setValuePlayer()
* Revamped monitor logic
* Added server-side checks to account level 50 commands
* Made sure even trade chat is run through sanitizeText()
* Moved setSpecialState() closer to its calling functions
* Interpret client commands even in Buddy and Group chat (but not in
Trade chat)
2020-12-31 12:51:31 +01:00
c78b3ca69f
Do not cancel the ongoing race on recall
...
Also do not remove the player's vehicle if the player isn't on a
vehicle.
2020-12-31 03:00:54 +01:00
55431362a7
Make sure the current race is cleared when leaving an IZ
2020-12-28 18:40:26 +01:00
07a930fe1c
Fix vehicles in IZs for real this time
2020-12-28 18:40:26 +01:00
4060bf25b0
Fix recall removing FM pods if racing
2020-12-28 16:55:13 +01:00
9a79ab3927
Reduce mob range when racing as if the player were sneaking
2020-12-28 16:41:29 +01:00
fc45775666
Add /unwarpable command
...
GMs should use this before going to weird places where their non-GM
buddies might warp to them and get stuck.
2020-12-28 16:24:24 +01:00
81d0964971
Disallow warping to players using the MSS
2020-12-28 16:13:38 +01:00
868dc8485e
Allow GMs to enter private instances
2020-12-28 16:12:57 +01:00
26f4767082
Add additional validation to the recall power
2020-12-28 16:12:23 +01:00
d97444cca5
Remove each group member's vehicle when warping into an instance
2020-12-28 00:50:58 +01:00
ee978e8bc9
Limit group member drops based on proximity
2020-12-27 21:14:16 +01:00
Gent S
bdf283ae4f
Make heal nanos heal for the correct amount
2020-12-27 09:23:43 -05:00