482 Commits

Author SHA1 Message Date
KimLS
cd6fd2d2dc Merge master to movement_manager, fix for merge failure 2018-10-14 17:23:11 -07:00
KimLS
1785120796 Bunch of refactoring and walking, AI needs a ton of tweaking to use the new logic 2018-10-12 00:03:58 -07:00
Uleat
43aaaf7f26 Implemented bot owner options 2018-10-09 22:04:47 -04:00
KimLS
29ea65a71e Redoing movement to introduce proper rotation 2018-09-24 22:41:53 -07:00
Uleat
7c5b1e8fd2 Merge branch 'master' of https://github.com/EQEmu/Server into inv_possessions_rework 2018-09-23 01:02:54 -04:00
KimLS
7278c6294d Movement will now be handled by the movement manager instead of mob 2018-09-20 16:14:47 -07:00
KimLS
2224b83ae0 Movement manager add 2018-09-17 14:32:36 -07:00
chase
add25eb617 converting some remaining abs & fabs to use std::abs, fixing some warnings 2018-09-10 00:23:09 -07:00
Uleat
feb4cc37c6 Rework of 'invsnapshot' command and implementation of automatic inventory snapshots 2018-09-03 20:57:20 -04:00
Uleat
509a2b30a5 Inventory possessions beta testing 2018-08-13 22:32:36 -04:00
Uleat
8089d52df6 Fix for 'is_arrow' bool parameter 2018-07-25 16:22:22 -04:00
Trust
2fe923457b Fixed more Message_StringID 2018-07-21 23:22:14 -04:00
Trust
9fa377303e Corrected Disarm StringID's 2018-07-21 22:20:53 -04:00
Trust
9251e6efd2 Disarm Support 2018-07-21 19:16:19 -04:00
Michael Cook (mackal)
71e309022a Fun fact, seconds are not milliseconds! 2018-07-15 00:34:44 -04:00
Michael Cook (mackal)
6aba38f664 Bug fix with rest timer changes 2018-07-15 00:27:51 -04:00
Michael Cook (mackal)
6ab2871fd1 Beneficial spells will now correctly inherit targets RestTimer
Example PC A is fighting mob B. PC C casts a heal on PC A. PC C will
inherit the timer from PC A. This is done because beneficial spells have
a "witness" check from NPCs so there is a chance PC C would not gain
aggro and could just keep on going with no RestTimer which allows them
to fast regen while actively participating.
2018-07-14 18:52:20 -04:00
Uleat
18005ac7a9 Fix for random SoF client crashes (possibly Titanium too) 2018-07-14 18:41:47 -04:00
Michael Cook (mackal)
37ff8c830d Fix /camp rest timer exploit 2018-07-14 17:41:42 -04:00
Uleat
c435a77813 Reintegration of inventory-based EQDictionary references 2018-07-05 21:05:26 -04:00
Uleat
e4e40505b6 Removal of test code 2018-03-26 03:38:08 -04:00
Uleat
dbdad80960 Fix gcc error - report is non-critical portion of test 2018-03-19 22:00:12 -04:00
Uleat
70922975cf Test code for tracing zone crashes (stage 2) 2018-03-19 20:58:13 -04:00
Michael Cook (mackal)
690d8f9155 Fix Conditional jump or move depends on uninitialised value(s) 2018-03-03 22:37:06 -05:00
Michael Cook (mackal)
4fbe55cc35
Merge pull request #718 from eqcodex/master
added minimum level to pvp flag.
2018-02-26 13:04:02 -05:00
Xackery
008b17aaf2 added minimum level to pvp flag. 2018-02-26 09:33:15 -08:00
Uleat
361937d443 SayLink clean-up 2018-02-24 09:08:11 -05:00
Michael Cook (mackal)
b5e9c0f996 Fix PVP arenas 2018-02-12 19:42:09 -05:00
Michael Cook (mackal)
aa1114c387 Rename Client::zoning to Client::bZoning 2018-01-17 21:37:24 -05:00
Michael Cook (mackal)
3eaa0b4fb1 Don't need to garble for language, client does
Maybe older clients need it?
2017-11-09 13:31:04 -05:00
regneq
ed98aa45d2 Traps overhaul. New functionality has been added, while preserving the old functionality. Numerous bug fixes occurred as well.
Added column triggered_number. If this is set, then the trap will despawn after it has been triggered this number of times. If 0, the trap will never despawn on its own.

Added group column. This allows developers to group traps together in a similar way as spawngroups for NPCs. When a trap that is grouped is despawned in anyway, a random trap in the group will take its place. Grouped traps do not have to be at the same coords or have the same type. This can allow for some spawning diversity if so required. If set to 0, the trap is not grouped and will always respawn.

Added column despawn_when_triggered. If set to 1, then a trap will despawn when a player triggers it. If 0, then there will be a 5 second reset time and then the same trap will again be active. (Assuming triggered_number has not been reached.) The player that triggered the trap will not re-trigger it until they have left and re-enetered the trap's radius.

Traps will no longer trigger on players that are currently zoning. This fixes some weirdness and at least one crash. The trap can trigger however after the connection is been completed. If a player camped out in a trap radius they can potentially still be hit.

Alarm type traps were not using effectvalue2 to determine who should be aggroed. This is now fixed.

Traps will no longer be broken by #repop, #depopzone, or #reloadworld. All 3 commands will now have the same effect on traps as they do for NPCs.

Added command #reloadtraps. This reloads all of the traps in the zone.

Added command #trapinfo. This gives some information about the traps currently spawned in the zone.

Added Traps logsys category

Required SQL:
utils/sql/git/required/2017_10_26_traps.sql
2017-10-27 21:24:24 -07:00
Michael Cook (mackal)
75e60b7f8e Area Regen functions shouldn't send to all 2017-10-09 01:08:01 -04:00
Michael Cook (mackal)
8400994c57 Rework regens to match modern clients 2017-10-08 00:13:53 -04:00
Paul Coene
c7ad873581 Rule to dictate if you can teach yourself lang. 2017-09-24 16:33:08 -04:00
Michael Cook (mackal)
8c9b852586 Fix food/drink to match live 2017-09-19 02:01:06 -04:00
Akkadius
e88cd61097 Fix 95% of food/water consumption issues, if there are additional modifiers for race/class combos - those will need to be applied
Mods properly calculated

Stages should be put in place if not already:
https://wiki.project1999.com/Food_and_drink#Stages_of_Hunger_and_Thirst

Values stored in the database are 0-6000, previously we capped it at 6000 but previous math would have normal values in the 60k+ range in order for food to be consumed at a reasonable rate. We are now using more native logic where 1 = 1 minute, following logic:

(Minutes)
0 -  5	- This is a snack.
6 -  20	- This is a meal.
21 - 30	- This is a hearty meal.
31 - 40	- This is a banquet size meal.
41 - 50	- This meal is a feast!
51 - 60	- This is an enduring meal!
61 - X	- This is a miraculous meal!
2017-09-17 09:48:10 -05:00
Michael Cook (mackal)
ec77e3a6fd Add show_name and untargetable to npc_types fixes #637
Note the bodytype hack is still there since I was having issues with
some npcs still showing names
2017-07-19 02:17:08 -04:00
Akkadius
f9480f2518 Taper down on non-moving client update spam 2017-07-15 17:05:28 -05:00
Akkadius
43204e52f8 Client position updates should be smoother (granted the client has a good connection)
Clients should also no longer randomly disappear
2017-07-14 20:49:57 -05:00
Akkadius
5c75a68715 HP Update tuning - HP Updates are now forced when a client is targeted 2017-07-14 14:23:35 -05:00
Akkadius
855796448c Raid/Group/XTarget HP/Mana/Endurance updates now only send when percentage changes
Raid/Group Mana/Endurance updates should now update real-time once again
Fixed an issue with clients looking like they are 'skipping' when they are moving in view of another client
Fixed an issue with NPC's who are ghosted in plain view of a client when they are not really there
2017-07-11 17:54:46 -05:00
Akkadius
59a2f0cdde Refactor close_npcs to close_mobs for future implementations 2017-07-11 01:58:47 -05:00
Akkadius
dceb79ad69 Only send mana/endurance updates to self when they actually change 2017-07-10 22:57:58 -05:00
Akkadius
ccdeb4d385 Fix HP update issues, rework logic for more accurate and responsive HP updates 2017-07-09 17:35:08 -05:00
Akkadius
127f51e758 Massive reductions in unnecessary network traffic especially during high spam combat fights
- HP Updates now only send to others when HP percentage changes (0-100%)
		- HP Updates were sending excessively even during idle zones when HP wasn't changing at all
	- Attack animations now only send once per second versus up to a hundred times a second per Mob/Client
	- 17,000 OP_ClientUpdate packets per second have been observed in combat scenarios, some of the major culprits have been
		throttled without affecting what the client should see
	- Before and After packet differences under similar load/tests (Packets per second)
		- 7,000 - 8,000 	OP_Animation pps	After: 600-800 pps
		- 13,0000 - 17,000 	OP_MobHealth pps	After: 1-10 pps
		- 15,0000 - 20,000 	OP_ClientUpdate pps	After: 500-1,000 pps
	- Packet reports from a 46 client test here:
		https://gist.github.com/Akkadius/28b7ad2fdd82bdd15ea737c68f404346
	- Servers who use Marquee HP updates will also recieve far less packet spam as they will only be sent when HP changes
2017-07-09 02:51:01 -05:00
Michael Cook (mackal)
21ef83bcbe Fix /invite xtarget raid issue 2017-06-30 13:50:43 -04:00
KimLS
0a8b21d4ab Merge branch 'luamod' 2017-06-19 14:45:08 -07:00
Kinglykrab
d64f2e40c5 Implement EVENT_USE_SKILL in Perl/Lua.
- Exports skill_id and skill_level in Perl/Lua whenever a skill is used (bash, kick, taunt, etc.)
2017-06-10 22:20:45 -04:00
KimLS
4d8f5df261 Merge branch 'master' into luamod 2017-06-08 19:55:48 -07:00
Natedog2012
decaa1f7b6 Fix mismatch on Popup2 for Buttons / Duration (oops)
$client->Popup2("Title", "Text", YesID, NoID, Buttons, Duration, Button0, Button1);

YesID / NoID are the "popupid" for EVENT_POPUPRESPONSE depending on the players choice
2017-06-03 16:41:34 -07:00