721b3f440f
[WIP] Switched to poll(), but only on Unix
2020-12-05 22:47:50 +01:00
Gent S
b04c377d7c
Properly implement item types.
2020-12-04 16:42:58 -05:00
Gent S
794856a63c
Clean up item loading from XDT.
2020-12-04 13:57:08 -05:00
Gent S
856a90abcf
Fix nano logic in goo damage running without a nano out
2020-12-04 11:59:53 -05:00
88d904e302
Fix FM patches not dealing damage unless invulnerable
2020-12-04 17:48:12 +01:00
46552307cd
Disable monitor by default in config file
2020-12-04 17:30:21 +01:00
26024de866
Support the monitor interface on Windows as well
...
This change required sacrificing both code cleanliness and the specific
error reports from perror(). Those could have been kept with a portable
wrapper, but that's too much work. We'll do it if unforseen errors
arise.
2020-12-04 17:25:32 +01:00
Gent S
85dcdd4cc5
Added /hide command to exclude players from monitor output
2020-12-04 07:24:33 -05:00
Gent S
1ca8094628
Fix regression with disconnected player on Skyway agent.
2020-12-03 15:33:14 -05:00
Gent S
543d0a7afd
Fix edge case for nano mission acquisition
...
This caused players to only get nano missions after exceeding the required FM instead of meeting it.
2020-12-03 00:05:14 -05:00
Gent S
4c398895aa
Make /lair fit convention.
2020-12-02 18:41:09 -05:00
e899928928
Do not try to compile the monitor on windows
2020-12-03 00:15:06 +01:00
c8b011913a
Make monitor parameters configurable
2020-12-02 23:42:33 +01:00
15b63f3cbd
Fix regression with a disconnect check in MobManager::combatStep()
2020-12-02 23:32:38 +01:00
ce1a5a7664
Handle partial transmissions of the buffer to the monitor
2020-12-02 20:19:34 +01:00
c6112d04da
Implemented player position monitor interface
2020-12-02 20:19:34 +01:00
Gent S
73f8179836
Make aggro space spheroidal on Z
...
By doubling the z difference used in distance calculation, mobs above or below the player will aggro less often.
2020-12-02 09:20:33 -05:00
Gent Semaj
86f17b6525
Show announcements in server log
2020-12-01 19:59:18 -05:00
fed3eca378
Display area announcement to invoking player as well
...
Also clarified that shard- and world-level announcements will not be
implemented as they are not applicable to our single-shard server.
2020-12-01 23:32:45 +01:00
fb9c4140b6
Remove redundant namespace specifiers in PlayerManager::init()
2020-12-01 22:24:18 +01:00
657061083e
Lose aggro and do not take damage if invulnerable
2020-12-01 21:37:34 +01:00
8a86c75747
Make sure each group member is alive before healing/buffing them
2020-12-01 21:37:34 +01:00
046e7bb6f1
Do not aggro on players with /invulnerable
2020-12-01 21:37:34 +01:00
1e822f7a6c
Removed redundant checks for a nullptr from PlayerManager::getPlayer()
...
These were written in desparation and never should have been there in
the first place.
2020-12-01 21:37:34 +01:00
c43a3d64fb
Removed the Player pointer from CNSocket
...
It was a leak in the abstraction that we weren't even using that much.
This is technically a de-optimization, but it's okay since it's not a
hot code path.
2020-12-01 21:37:34 +01:00
Titan
7c5d7a70cc
Fix enter key sending '\n' in passwords
2020-12-01 14:29:21 -05:00
Titan
c1941654b6
Basic Implementation of a lair unlock command
2020-12-01 14:19:16 -05:00
Gent S
d2d6171d04
Fix gumballs only lasting 1 minute instead of 10
2020-12-01 13:47:54 -05:00
58952be47e
Added silent unsummoning
...
- summonNano now supports an optional "silent" argument
- gumballs now last 10 minutes.
- fixed comments
2020-12-01 13:16:14 -05:00
5771cd014a
Various bugfixes and tweaks
...
- timed missions of all types should work.
- nanos now transmit an unsummon on 0 stamina.
- dying bumps your nanos down to half stamina now.
- enemies use abilities less frequently.
- group recall now works at any distance.
- passive nanos are tweaked to guzzle less stamina.
- cleared out some redundant stuff at the nanoPower handler.
2020-12-01 13:16:14 -05:00
Gent S
c9754902b9
Instance fusion lair NPCs, remove non-mob fusions, stub non-mob paths
2020-12-01 06:07:10 -05:00
Gent S
c508016ca3
Play nano mission animation for nearby players
2020-11-30 20:36:20 -05:00
Gent S
4863d29590
Fix /unsummonW crash on non-mob NPCs
2020-11-30 10:53:34 -05:00
858fbf40be
Do not strip newlines from email bodies
2020-11-29 21:31:54 +01:00
Gent S
1d7f8bd133
Mob abilities cleanup
2020-11-28 12:41:00 -05:00
a9ad399bc2
Various Tweaks to Mob skill behavior
...
- Fixed enemy abilities playing after death
- Nerfed frequency further
- Heal on retreat correctly
- Nerfed damage and corruption skill damage
2020-11-28 11:41:32 -05:00
963205fad6
Added Nullptr check + Made mob abilities less frequent
2020-11-28 11:41:21 -05:00
b836952356
Restructured Arrays to Vectors
2020-11-27 19:02:54 -05:00
6fb652f642
Corruption reflection + Extra adjustments
2020-11-27 16:33:22 -05:00
2cde3e34f6
Active skills, Corruption and Eruption
2020-11-27 16:33:18 -05:00
1371a6da77
Base Variadic MobPowers Handler
2020-11-27 16:32:59 -05:00
d2e89851d6
Non-group buffs do not misbehave + Revive nano stamina fix
2020-11-27 15:40:49 -05:00
Gent S
7cc0a0fc82
Fix group recall and temporarily lift range restriction
2020-11-27 15:31:56 -05:00
c343092bd5
Gumball times out for slots 2 & 3 + Tweaks
2020-11-27 12:01:28 -05:00
Gent S
36d6231da4
Nano refactor cleanup
...
sanity checks and int[] -> vector<int>
2020-11-27 00:07:31 -05:00
Gent S
7851866d13
Fix nanos making sound when they run out of stamina
2020-11-26 23:01:19 -05:00
Gent S
c2ab5c9d02
Fix case where resplen wasn't being initialized
2020-11-26 23:01:19 -05:00
166eb5125f
Group Heal Range Limit
2020-11-26 23:01:19 -05:00
26ca4d8671
New Powers, Tweaked Eggs further + Cleanup
...
* Scavenge and Bonus nanos work.
* Eggs now damage and heal more cleanly.
2020-11-26 23:01:19 -05:00
28276d2229
Reverting back some changes + Tweaks
2020-11-26 23:01:19 -05:00
2b25b17bd8
Gumball Handling and Bugfixes
...
* Gumballs now run out of timer.
* Reverted a regression, (gumballs with 0 iOpt do not get emptied).
* Nano matchups now work correctly.
2020-11-26 23:01:19 -05:00
f7c0596a4c
Adapted Egg Buffing to Nano powers
...
* Adapted eggs to nano power data.
* Tweaked nano abilities.
2020-11-26 23:01:19 -05:00
fe7ec44554
Restructuring, Cleaning up and Bugfixes
...
* Added findTargets, a new helper function that reads out the packet for targets.
* Restructured and removed leftover redundant code.
2020-11-26 23:01:19 -05:00
299fc1b461
Refactored Nano Powers
...
* All nano power functions have been merged into one goliath of a function.
* Nano powers consume the correct amount of stamina.
* Bugfixed gumball issues, gumballed nanos now perform better.
* Revive powers now work correctly.
* Recall powers both self and group are functional.
* Removed nanoBuff.
* Added a new applyBuff function, this allows for quick and easy application of nano skills.
* Numerous other bugfixes.
2020-11-26 23:01:19 -05:00
2acb90f2d2
Initial tabledata implementation
2020-11-26 23:01:19 -05:00
Gent S
75d33aff3e
Fix S.C.A.M.P.E.R. chunk desync... again
2020-11-26 22:58:56 -05:00
Gent S
8073c68bd5
Make /fusionmatter properly update fusion matter
2020-11-26 22:33:43 -05:00
Gent S
15dd0a2fc3
Add missing sanity checks to BuddyManager
2020-11-26 22:30:30 -05:00
Gent S
71d1212877
Fix All Characters always failing validation
2020-11-26 11:04:56 -05:00
Gent S
57060e9b6f
Fix spawning in the unknown when no Resurrect 'Ems are nearby
2020-11-26 11:03:42 -05:00
Gent S
faf2a0ee7d
Fix freefalling after MSS DC
2020-11-26 10:01:48 -05:00
Gent S
fa7b6e6145
Properly set default NPC class
2020-11-26 09:05:44 -05:00
Gent S
478bcd5338
Use vendorID instead of NPC_ID to index into vendor tables
2020-11-26 09:00:30 -05:00
Gent S
c7d3870a60
Add /whois command
2020-11-26 08:59:16 -05:00
Gent S
8351596763
Fix /help using accoutnId instead of accountLevel
2020-11-26 08:30:19 -05:00
Gent S
e3568ea506
Fix viewableChunks memory leaks
2020-11-25 22:49:37 -05:00
CakeLancelot
a9a8d96321
Fix Female Characters always failing validation
2020-11-25 20:37:24 -06:00
Gent S
b0aea27418
Fix player revive packet carrying wrong values
...
Oops
2020-11-25 20:38:48 -05:00
Gent S
872425640d
Prevent DB players from occupying same slot
2020-11-25 19:25:20 -05:00
Gent S
ea5b7104be
moved name checks to name save and name change packets
...
added a TODO
Formatting + sizeof in login server
2020-11-25 19:25:20 -05:00
Kamil
d85d9d4b12
added character creation validation
...
added a comment
2020-11-25 19:25:20 -05:00
Kamil
7e08bc60ce
added character validation for SAVE_CHAR_TUTOR and CHANGE_CHAR_NAME
...
fixed ugly sizeofs
2020-11-25 19:25:20 -05:00
Kamil
86e6937342
added character validation to delete packet
2020-11-25 19:25:20 -05:00
Kamil
ec8abfa004
moved sending character selection fail to a helper function
2020-11-25 19:25:20 -05:00
Kamil
51a687c7db
hugely simplified managing player characters in login server
2020-11-25 19:25:20 -05:00
Kamil
657306e0a1
added missing debug print outs
2020-11-25 19:25:20 -05:00
Kamil
eee8aab888
refactored and cleaned up login function
2020-11-25 19:25:20 -05:00
Kamil
5c6d7d6055
added a sanity check for entering invalid characters
2020-11-25 19:25:20 -05:00
Kamil
4760d91ccd
refactored giant switch to smaller functions
2020-11-25 19:25:20 -05:00
Gent S
db98af9775
Fix chunk desync on revive
2020-11-25 17:50:57 -05:00
Gent S
f91f9786d1
Fix chunk desync on S.C.A.M.P.E.R. warp
2020-11-25 17:46:16 -05:00
Gent S
71d9cab72e
Fix chunk desync on NPC warp
2020-11-25 17:42:46 -05:00
Gent S
717e5eb78f
Remove bad warning for multikills
2020-11-25 13:33:12 -05:00
Gent S
e7301f46ef
Properly copy mob groups to instances
2020-11-25 11:49:40 -05:00
Gent S
85113a667f
Update unsummonW to handle new group gruntwork format
2020-11-25 11:45:34 -05:00
Gent S
98ae236c08
Load gruntwork group mobs hierarchically
2020-11-25 11:09:05 -05:00
Gent S
6ff762ba57
Save gruntwork group mobs hierarchically
2020-11-25 10:41:10 -05:00
Gent S
73ef5fa5ff
Load mob groups hierarchically
2020-11-23 19:28:22 -05:00
Gent S
8a0d0e0e4c
Restructure tdata
2020-11-23 18:45:28 -05:00
Gent S
0f1d9cdf1c
Add sanity check for nano ID in nano equip handler
2020-11-23 17:03:08 -05:00
Gent S
07a1927b9f
Force chunk update in sendPlayerTo
2020-11-22 19:22:33 -05:00
Gent S
e0858a42b2
Fix getNearestNPC w/ uses
2020-11-22 19:14:46 -05:00
Gent S
dab536cb6a
Grouped mobs adjustment
2020-11-22 19:14:22 -05:00
f1d04cec01
UnsummonW Implementation + Tweaks
...
* UnsummonW can be used to remove the mob from existence.
* Mob groups now aggro together.
* Mobs space a little bit when chasing the player.
* Combat balance tweaked a bit, you can take out an entire boss group of scoria cephalopod with good nano usage with common tier weapons.
2020-11-22 16:53:19 -05:00
5e8b6eec6e
Grouped Mobs are gruntworkable
...
* Using /summonGroupW
2020-11-22 16:53:03 -05:00
883a1c17e6
Group Mobs Initial Implementation
...
* For now only mob.json is read for grouped mobs.
* Grouped mobs are fully functional granted the mobs.json is prepared correctly.
* Removed redundant move packet.
2020-11-22 16:53:03 -05:00
Gent S
e9ffbe6148
Make /refresh work again
2020-11-22 16:48:29 -05:00
Gent S
d1baa0d9f9
Replace inPopulatedChunks with player counter for NPCs
2020-11-22 16:48:29 -05:00
Gent S
71d4f331b5
Fix egg type warning message
2020-11-22 16:46:09 -05:00
Gent S
665f28313a
Clean up redundant forced chunk updates for NPCs
2020-11-21 11:53:48 -05:00