gsemaj
e508a06eca
Automatically flush gruntwork after /path end
2021-05-06 12:17:34 -04:00
gsemaj
f71d2581bd
Read completed NPC paths from gruntwork
2021-05-06 12:17:34 -04:00
gsemaj
89a32ac9a4
Write completed NPC paths to gruntwork
2021-05-06 12:17:34 -04:00
gsemaj
c7e2e66a51
Add /path command
2021-05-06 12:17:34 -04:00
gsemaj
37b1d11948
Fix JSON type ambiguity in loadPaths
2021-05-06 12:17:34 -04:00
gsemaj
c960b06227
Apply matching paths to NPCs and mobs on spawn
2021-05-06 12:17:34 -04:00
gsemaj
2721f21427
Fix gruntwork file being flushed to root
2021-05-06 12:17:34 -04:00
gsemaj
d5e65fda3c
Update to new path schema + add NPCPath struct
2021-05-06 12:17:34 -04:00
gsemaj
5f29ea93d8
Undo pathing check bypass + update to patched academy tdata
2021-05-06 12:17:34 -04:00
gsemaj
36cb32454d
Add force property override feature to patcher
...
This has a variety of applications, but is particularly useful when we want to replace arrays instead of add onto them
2021-05-06 12:17:34 -04:00
gsemaj
af8dd61967
Clean up tabledata init
2021-05-06 12:17:34 -04:00
gsemaj
26894c8a69
Implement automatic tdata patching
2021-05-06 12:17:34 -04:00
gsemaj
bf12ed4c47
Fix patcher refusing to patch between unsigned and signed integers
2021-05-06 12:17:34 -04:00
gsemaj
59303ba30d
Update tdata to patch format, change config constants accordingly
2021-05-06 12:17:34 -04:00
gsemaj
b2a8b86e4c
Temporarily disable spawn check for mob pathing
2021-05-06 12:17:34 -04:00
gsemaj
0c05fc4add
Offset NPC IDs by 1 to avoid ID 0
2021-05-06 12:17:34 -04:00
gsemaj
c415db3fd3
Implement recursive JSON patching functionality
2021-05-06 12:17:34 -04:00
gsemaj
183586afe4
[refac] Clean up new tdata init routine
2021-05-06 12:17:34 -04:00
gsemaj
e546d3948c
[refac] Stop using WarpLocation for coordinates and introduce a Vec3
2021-05-06 12:17:34 -04:00
gsemaj
a0e758f5b7
[refac] Move WarpLocation to Transport.hpp
2021-05-06 12:17:34 -04:00
gsemaj
f58c6b72b3
[refac] Stylistic changes
2021-05-06 12:17:34 -04:00
gsemaj
805fd93b3c
Remove academy-specific tdata settings, add patch path
2021-05-06 12:17:34 -04:00
gsemaj
4bcf3af90f
Use static JSON key as NPC ID for NPCs and mobs
2021-05-06 12:17:34 -04:00
gsemaj
e761c700dc
[refac] Compartmentalize TableData.cpp
2021-05-06 12:17:34 -04:00
gsemaj
14562f889e
[refac] Create typedef for nlohmann::json
2021-05-06 12:17:34 -04:00
gsemaj
dd3066849b
Make dynamic IDs count down from max instead of up from 0
2021-05-06 12:17:34 -04:00
2658ed5900
Check if the destination chunk exists after leaving the source chunk
...
This fixes a crash if a player does a /refresh in the zeroeth chunk.
2021-05-02 19:51:59 +02:00
33ea5af8b7
Added speed to CombatNPC
...
- Mob's constructor sets speed
- MobAI.cpp now uses mob->speed
2021-04-29 19:20:53 -05:00
FinnHornhoover
5517a358ea
removed eventcratechance config
2021-04-26 11:26:00 -04:00
FinnHornhoover
4eaf3b2f08
altered event drop logic, fixed taro/fm logic
2021-04-26 11:26:00 -04:00
FinnHornhoover
44fd66b511
restored getTime in rand gen
2021-04-26 11:26:00 -04:00
FinnHornhoover
001a0b8d4b
removed drop type field in mobs
2021-04-26 11:26:00 -04:00
FinnHornhoover
20b05a72a0
added mob drop id lookup from mob id
2021-04-26 11:26:00 -04:00
FinnHornhoover
78b87d0f61
register altered rarities correcty in rarity roll
2021-04-26 11:26:00 -04:00
FinnHornhoover
527ca817d5
revised getRarity set logic
2021-04-26 11:26:00 -04:00
FinnHornhoover
80b11b4364
removed my "debugger"
2021-04-26 11:26:00 -04:00
FinnHornhoover
6f636b77f2
rarity index fix for egg crates
2021-04-26 11:26:00 -04:00
FinnHornhoover
8a871f7045
merged itemset types and chances, added bypasses
2021-04-26 11:26:00 -04:00
FinnHornhoover
1779d69078
drop format revision
2021-04-26 11:26:00 -04:00
FinnHornhoover
30de9f668c
reference fix
2021-04-26 11:26:00 -04:00
FinnHornhoover
78b17aea72
added better drop handling, parsing, rng
2021-04-26 11:26:00 -04:00
CakeLancelot
aa028392f0
Fix #205 - if a player times out a race, warp them back to the start
2021-04-25 15:41:39 -05:00
CakeLancelot
f0e21b5051
Fix #198 - dismount packet is now sent if unequipping a vehicle
2021-04-24 23:55:13 -05:00
gsemaj
80d965944c
Fix naming scheme in NPCs.json
2021-04-24 11:36:33 -04:00
CakeLancelot
e9709805b7
Mission validation improvements
...
* Players can no longer complete tasks that aren't in their journal
* Minimum level requirement is now enforced when starting missions
* You can no longer start missions that are already completed
* Implement TASK_START_FAIL for when startTask() returns false
2021-04-20 15:38:51 -05:00
gsemaj
fa7c88e214
Rename Vendor.Xpp -> Vendors.Xpp
2021-04-16 13:37:18 -04:00
gsemaj
588e941d3c
Fix eggs not entering chunks and add update tabledata
2021-04-16 12:30:22 -04:00
CakeLancelot
fde4a5ff34
Prevent players from collecting the same pod twice in races
...
Instead of ringCount, there is now a set of all ring IDs collected during the race.
Note: further validation measures are still required to ensure legitimate times/scores
2021-04-13 21:17:21 -05:00
9b84d9dc4d
[refactor] BaseNPC now uses Entity XYZ fields for handling positions
...
- fixed many references to Entity.appearanceData.i[XYZ] to use the base Entity XYZ values
- BaseNPC::enterIntoViewOf grabs the position from the base Entity XYZ values
- NPCManager::updateNPCPosition updates the base Entity XYZ values
- MobAI.c/deadStep() also sends it's packet based on the Entity XYZ values
2021-04-13 20:03:51 -05:00
48fb510b53
Fix playersInView miscount for dead mobs
2021-04-08 19:25:30 +02:00