543 Commits

Author SHA1 Message Date
Michael Cook (mackal)
b4bab425f5 Refactor OP_BeginCast into it's own function 2017-04-08 02:06:49 -04:00
Michael Cook (mackal)
75950b0f2b Spell Reflect messages go out to everyone close 2017-04-04 15:00:54 -04:00
KimLS
281483efc1 Merge of a monster 2017-04-02 20:03:51 -07:00
Akkadius
7aa1d243b0 [Performance] Reworked how all log calls are made in the source, see changelog.txt for more details 2017-04-01 03:51:46 -05:00
Michael Cook (mackal)
4666c0c050 Don't go below 1 for caster level
This is also wrong as fuck.
2017-03-30 23:29:07 -04:00
Michael Cook (mackal)
38e5cdb142 Reflect actually changes the caster
Or it at least changes the target of the recourse
2017-03-30 01:23:06 -04:00
Akkadius
bf45a5a44f [Performance] Fixed a large overhead issue where every single NPC in a zone was checking to depop themselves
as a swarm pet every 3ms regardless of being a swarm pet or not. Swarm pets now check to depop only when their timer is up
2017-03-28 02:30:06 -05:00
KimLS
de777fc90f Merge fix 2017-03-26 17:25:01 -07:00
Uleat
f77f996c3f Pass through zone code to fix uninitialized pointer declarations 2017-03-23 04:35:36 -04:00
KimLS
159706efa9 Merge branch 'master' into eqstream 2017-03-12 18:39:15 -07:00
Akkadius
0159e1cc72 Fix some crapped out formatting [skip ci] 2017-03-12 16:42:26 -05:00
Akkadius
ab372b0f6b - Implemented range rules for packets and other functions
RULE_INT ( Range, Say, 135 )
	RULE_INT ( Range, Emote, 135 )
	RULE_INT ( Range, BeginCast, 200)
	RULE_INT ( Range, Anims, 135)
	RULE_INT ( Range, SpellParticles, 135)
	RULE_INT ( Range, DamageMessages, 50)
	RULE_INT ( Range, SpellMessages, 75)
	RULE_INT ( Range, SongMessages, 75)
	RULE_INT ( Range, MobPositionUpdates, 600)
	RULE_INT ( Range, CriticalDamage, 80)

 - (Readability) Also cleaned up some formatting in messaging and packets so it is easier to understand what is going on with the code
2017-03-12 16:10:53 -05:00
Akkadius
14d09485eb Implement new rule based ranges for various range based packet operations (performance)
- the defaults are set in the code and can be tweaked by sourcing utils/sql/git/optional/rule_values_range_update.sql
- Thanks to mackal for gathering live ranges, thanks to takp for initial numbers
- We would send 200 for combat updates and the client will only display <= range 54 anyways, these should help a lot in spammy combat

RULE_CATEGORY( Range )
RULE_INT ( Range, Say, 135 )
RULE_INT ( Range, Emote, 135 )
RULE_INT ( Range, BeginCast, 200)
RULE_INT ( Range, Anims, 135)
RULE_INT ( Range, DamageMessages, 50)
RULE_INT ( Range, SpellMessages, 75)
RULE_INT ( Range, SongMessages, 75)
RULE_CATEGORY_END()
2017-03-12 14:38:14 -05:00
KimLS
73dc6b090b Merge remote-tracking branch 'origin' into eqstream 2017-03-11 14:51:33 -08:00
Uleat
2690d8fed8 Added inspect buff cases for bots (ZombieSoul) 2017-03-03 17:51:02 -05:00
KimLS
0736ce43bd Merge branch 'master' into eqstream 2017-02-06 21:46:34 -08:00
Michael Cook (mackal)
cdf0d5deb0 Fix crash 2017-01-26 18:04:59 -05:00
KimLS
83b51b04d3 Merge branch 'master' into eqstream 2017-01-13 21:53:21 -08:00
Akkadius
30157a37a2 Merge pull request #583 from noudess/master
Alliance spell line for chanters was not working.
2017-01-10 14:09:02 -06:00
KimLS
2447c38c82 Working on world <-> zone communication needs a ton of work really need to rewrite how world works with zones. 2017-01-02 22:38:47 -08:00
Paul Coene
6a2be94282 Alliance spell line for chanters was not working. 2016-12-21 14:38:24 -05:00
Michael Cook (mackal)
3cc7d0db63 Fix fizzle message being the wrong color 2016-12-14 22:06:05 -05:00
Michael Cook (mackal)
286bfa7af6 Implement the PC/NPC only flag 2016-11-30 20:53:39 -05:00
Michael Cook (mackal)
3dec02881a Revamp Buff slots
Server side we now have 63 total buff slots for clients
They match RoF/RoF2 and are mapped as 42 long, 20 short, 1 disc

The player is limited to what their clients supports, so
Tit players can have 25 buffs and 12 songs, while other can have more

When you log in, we only load up to the max your client supports,
the rest of the buffs are thrown away

Also changed is the default Max Buff slots for NPCs, they now match Tit (60)
If you are thinking about raising that, here are what some other clients support
Tit - SoF 60, SoD - UF 85, RoF - RoF2 97 (although UI only has 85 slots, you can
edit it if you want more)

Also SoD+ the pet limits match the NPC limits.

This will increase memory usage a bit, but I don't see a solution to that
Plus I think most people want this.
2016-11-15 01:37:58 -05:00
Michael Cook (mackal)
b9fefc95e8 Enforce 4 sec Sneak Attack rule fixes #569
Spells flagged with SNEAK_ATTACK requires you to be hidden for
about 4 seconds before you can cast them
2016-10-25 23:19:20 -04:00
Michael Cook (mackal)
a6f5571750 Fix infinite loops 2016-10-24 13:29:07 -04:00
Michael Cook (mackal)
95064947b6 Hack to fix long recast bard songs 2016-10-21 20:48:18 -04:00
Uleat
bfd07b1010 Added class EQEmu::InventorySlot 2016-10-16 21:36:39 -04:00
Uleat
8b5dd58e96 Renamed struct EQEmu::ItemBase to EQEmu::ItemData and class ItemInst to EQEmu::ItemInstance 2016-10-16 05:10:54 -04:00
Uleat
decaadfe7d Merge branch 'master' of https://github.com/EQEmu/Server
# Conflicts:
#	changelog.txt
2016-10-15 22:27:14 -04:00
Uleat
16642b7c4c Filename changes to facilitate future updates 2016-10-15 22:14:03 -04:00
Michael Cook (mackal)
e86fca3aff Add NPC NPC faction check to BeamDirectional 2016-10-14 13:59:45 -04:00
Michael Cook (mackal)
46cbd147b5 clang format BeamDirectional 2016-10-14 13:58:20 -04:00
Michael Cook (mackal)
05ed623056 Add NPC NPC faction check to ConeDirectional 2016-10-14 13:55:04 -04:00
Michael Cook (mackal)
c90a436db3 Clang format ConeDirectional 2016-10-14 13:52:01 -04:00
Michael Cook (mackal)
739b1bfaa3 Fix target buffs showing PC songs 2016-09-03 21:54:59 -04:00
Michael Cook (mackal)
fa337d441e Use StopCasting when we send SPELL_RECAST error 2016-08-29 14:08:22 -04:00
Michael Cook (mackal)
ea1ae1a0a4 Use StopCasting instead of Interrupt on SpellFinished failure
Most of these failures already show a message, live doesn't double
up on failure message + interrupt message, so lets not

There are a few logic error returns, but those really shouldn't happen
2016-08-29 13:27:42 -04:00
Michael Cook (mackal)
f67cd057f3 Fix issue with linked spell timers 2016-08-18 21:09:02 -04:00
Michael Cook (mackal)
0789d10d3e Add logging message for setting linked reuse 2016-08-18 20:51:58 -04:00
Michael Cook (mackal)
5a0d2b527b Add a StopCasting function and make some use of it
Unsure if all of these cases should use interrupt or stop casting
2016-08-16 17:52:14 -04:00
Michael Cook (mackal)
3d64878e60 Skip OP_BeginCast for discs 2016-08-15 15:23:37 -04:00
Michael Cook (mackal)
26772b721c Fix overhaste stack check 2016-08-15 14:21:39 -04:00
Michael Cook (mackal)
ae5689ffb4 Clean up OP_ManaChange 2016-08-15 01:17:53 -04:00
Michael Cook (mackal)
e894e96404 Implement Linked Spell Reuse Timers
They started linked spells at OoW launch (I think)

At least canni was linked then.

This is rather user unfriendly, but that's live like.
Ex. the spells aren't actually put on cool down so you can attempt to cast them
still but you will be interrupted.

Titanium is particularly unfriendly with large differences in reuse times
2016-08-14 23:32:27 -04:00
Michael Cook (mackal)
69f06f736c Fix potential crashes in zone/spells.cpp 2016-08-13 17:15:00 -04:00
Michael Cook (mackal)
4e4d82857c Move OP_BeginCast above instant cast shortcut
For casted seplls, we should always see this. Mostly this shortcut breaks
spell awareness for NPC spells. (most of them are instant cast)
2016-08-12 22:07:03 -04:00
Michael Cook (mackal)
039e0fbb83 NPC innate procs overwrite TargetType to ST_Target 2016-08-12 21:53:14 -04:00
Russell Kinasz
c1c9ec2790 Prevent crash in spell casting when group doesn't exist 2016-08-11 11:04:03 -07:00
Michael Cook (mackal)
38d3f9b7c0 Client checks song flag first
This fixes bugs with buffs marked as disc and song (they go to the song window now)
Before the client got confused and gave up displaying them at all!
2016-08-10 13:16:32 -04:00