501 Commits

Author SHA1 Message Date
Akkadius
af4c630ede Logs::Spells to LogSpells 2019-09-02 03:26:44 -05:00
Akkadius
ed4fc74bd4 Logs::Tradeskills to LogTradeskills and more Logs::Error to LogError 2019-09-02 03:10:03 -05:00
Akkadius
678c25e02c Simplify error logging 2019-09-01 22:05:44 -05:00
Chris Miles
898aea80c7
Merge pull request #774 from hgtw/spa112
Make SPA 112 affect fizzle rate not effective caster level
2019-09-01 15:42:00 -05:00
Akkadius
e9cb8781bf More build fixes for bot 2019-08-11 01:32:51 -05:00
Akkadius
665efe09f3 Fill function calls using magic numbers 2019-08-11 00:27:04 -05:00
Akkadius
9f25c9070c Refactor message functions 2019-08-11 00:14:02 -05:00
Akkadius
57354579aa Unify chat constants usage 2019-08-11 00:00:55 -05:00
Uleat
19c92173d2 Added signal check for player EVENT_CAST_BEGIN 2019-08-08 20:38:24 -04:00
Uleat
5d138891d8 Fix for insufficient spell mana logging 2019-06-22 06:42:06 -04:00
Kinglykrab
9356b5dc7f New Perl/Lua buff functionality.
- Client::FindMemmedSpellBySlot(slot)
	This allows you to find memmed spells by a specific slot.
	Example: https://i.imgur.com/06OFT3c.png
	Perl Example: https://pastebin.com/BCr6KqSS

- Client::MemmedCount()
	This will find the number of memmed spells the client has.
	Example: https://i.imgur.com/cY26DEl.png
	Perl Example: https://pastebin.com/T3ahSUgi
2019-06-16 12:53:23 -04:00
Kinglykrab
7d1362732d New Perl/Lua buff functionality.
- Mob::FindBuffBySlot(slot)
	This allows you to find buffs by a specific slot.
	Example: https://i.imgur.com/VG68cxs.png
	Perl Example: https://pastebin.com/8HvMAC4h

- Mob::BuffCount()
	This will find the active number of buffs an NPC/client has.
	Example: https://i.imgur.com/jrLRBwV.png
	Perl Example: https://pastebin.com/Wmg16wwp
2019-06-13 18:20:33 -04:00
Michael Cook (mackal)
fa2052236c Update some spell immune message colors Fixes #833
Should probably go and do some captures on live, but MQ2Cast's source is
probably correct
2019-03-27 18:20:39 -04:00
Noudess
75d3329d37 Fix Spin() to use old mechanism so the npc actually spins again. 2019-03-11 18:24:02 -04:00
Uleat
4658ad676f Extended server spellbook entries to RoF2 standard and added per-client restriction of spell id max 2019-01-24 03:53:41 -05:00
Uleat
f690c64f9e Moved buff definitions into 'spells' lookup 2019-01-20 20:04:07 -05:00
Uleat
585c6322bf Added 'spells' entry to EQDictionary 2019-01-20 08:24:21 -05:00
Uleat
bcf271c30f Added dynamic entries to eqdictionary 2019-01-12 20:03:52 -05:00
=
31b33ba72c Properly escape key in SQL queries 2019-01-08 06:16:57 +00:00
Uleat
0ad43977bf Naming convention update for EQEmu::versions::ClientVersionBit 2019-01-07 20:25:43 -05:00
Akkadius
0681e6dbb2 Merge branch 'master' into movement_manager 2018-12-17 01:39:37 -06:00
Akkadius
52df2fa8d3 Merge branch 'master' into feature/global-base-scaling 2018-12-17 00:35:30 -06:00
Michael Cook (mackal)
bbbee6e6b2 Fix some bard stacking issues (mainly AE DOT)
Please report if it breaks anything (shouldn't)
2018-12-17 00:51:18 -05:00
Chris Miles
9c1e14a4ab Merge branch 'master' into feature/global-base-scaling 2018-12-14 02:40:33 -06:00
Kinglykrab
8ae9c99f3d Added new data bucket and quest functionality.
Added multiple new instance related quest functions.
	1. quest::GetInstanceIDByCharID(const char *zone, int16 version, uint32 char_id)
		- Allows you to pull the instance ID of a client by character ID.
	2. quest::AssignToInstanceByCharID(uint16 instance_id, uint32 char_id)
		- Allows you to assign an instance to a client by character ID.
	3. quest::RemoveFromInstanceByCharID(uint16 instance_id, uint32 char_id)
		- Allows you to remove a client from an instance by character ID.

Added spell buckets, similar to spell globals.
	- Uses a new spell_buckets table and the Spells:EnableSpellBuckets rule.

Added max level by data bucket.
	- Uses data bucket char_id-CharMaxLevel and Character:PerCharacterBucketMaxLevel rule.
2018-12-13 19:42:31 -05:00
Akkadius
775b5fcaf1 Mostly done with global base scaling work, dev tooling and various other works 2018-11-04 23:26:34 -06:00
KimLS
cd6fd2d2dc Merge master to movement_manager, fix for merge failure 2018-10-14 17:23:11 -07:00
KimLS
d0685556e8 Bunch of bug fixes, guard behavior works again 2018-10-13 23:53:16 -07: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
hg
a73bf221ed Make SPA 112 affect fizzle rate not effective caster level
Per dev quote, SPA 112 "Modifies casting skills of the affected
entity by BaseEffect for the purposes of determining whether or not a
fizzle occurs when casting spells."

Fixes issues caused by having a spell with this effect on caster such
as wrong target debuff durations and buff refreshes not taking hold.
2018-09-13 19:25:05 -04:00
Uleat
509a2b30a5 Inventory possessions beta testing 2018-08-13 22:32:36 -04:00
Trust
1bba629514 Prevent Low Level Charm testing without Aggro 2018-07-22 18:35:50 -04:00
Trust
483b4724e5 [Exploit] Prevent low level mez testing without aggro.
Using low level mez to test if a mob is mezzable and NOT get aggro has been squashed. When you cast you will get 1 point of aggro on a Cannot mez with this spell.
2018-07-22 16:38:45 -04:00
Michael Cook (mackal)
6ac4154acd Don't call UpdateRestTimer when you're casting on yourself 2018-07-14 19:19:58 -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
c435a77813 Reintegration of inventory-based EQDictionary references 2018-07-05 21:05:26 -04:00
Michael Cook (mackal)
ae966e546b WIP for NPC spell push, off by default for now 2018-03-07 16:50:24 -05:00
Michael Cook (mackal)
9e4f728f21 Spell push values can be negative 2018-03-01 18:10:06 -05:00
Michael Cook (mackal)
8e4aff391e Fix buff issue 2018-03-01 11:29:13 -05:00
Michael Cook (mackal)
1b84905941 Fix spell push
This now uses the spell data correctly, still need to write a system for
NPCs though

SE_TossUp needs to be implemented to, it just damages NPCs only
2018-02-28 19:47:23 -05:00
Michael Cook (mackal)
06d22fa009 Identify the rest of Action/CombatDamage structs 2018-02-28 19:21:03 -05:00
Xackery
f3b2ac6c17 Added rule to remove pet reagent cost 2018-02-22 18:43:31 -08:00
Michael Cook (mackal)
a32dedeb48 Fix issue with heading being incorrectly handled
So we've been doing heading wrong all these years. You will need to run
a script to fix your quests and required SQL to fix DB.

This fixes a ton of random issues with headings and as gives us a better
resolution on headings :P
2018-02-15 18:20:16 -05:00
Michael Cook (mackal)
6686346473 Implement July 24, 2002 pet resist changes 2017-12-23 22:48:21 -05:00
Michael Cook (mackal)
0356c0a891 Refactor getting resist value out to a function 2017-12-23 22:35:05 -05:00
Michael Cook (mackal)
9af9deb0f5 Attempt to fix disc issue when client has no buff but server still does
This is kind of hard to test, but it is what the client is doing
2017-12-15 18:42:21 -05:00
Michael Cook (mackal)
50d5f3785c Send caster name in buff packets for UF+
Currently the names only show for inspecting via Target Window because
we send buff packets in the wrong order and there is a dependency on
them being correct for self that isn't present for target window.
2017-10-24 00:02:49 -04:00
Michael Cook (mackal)
8400994c57 Rework regens to match modern clients 2017-10-08 00:13:53 -04:00
Michael Cook (mackal)
487dcc4459 Tweak down spellend_timer for delaytimer
400 ms is far too aggressive for normal game play
Set to 10 ms to hopefully not get in the way of legitimate game play

Also, why do we even do this? As far as I can tell, we need this to be
less than the users ping to not cause issues. What are the actual
reasons we do this and what can we do differently to solve them?
2017-08-30 14:35:01 -04:00