Commit Graph
100 Commits
Author SHA1 Message Date
Michael Cook (mackal) bb793e5582 Moved Assisting Exemption check up
This is just so assisting to a client will clear the flag
2014-01-22 01:41:26 -05:00
Michael Cook (mackal) a55c095d1b Forgot to make m_AssistExemption default to 0 2014-01-22 01:08:42 -05:00
Michael Cook (mackal) 3d47d912fd Fix /assist to only care about range to assistee 2014-01-22 01:00:48 -05:00
Michael Cook (mackal) cc02d94bdf Implemented ST_TargetAETap 2014-01-21 14:50:22 -05:00
Michael Cook 5121cc25a4 Merge pull request #105 from KayenEQ/master
Numhits system revised
2014-01-20 19:03:05 -08:00
Michael Cook (mackal) b065f973c4 Updated changelog.txt 2014-01-20 16:26:51 -05:00
Michael Cook (mackal) 13609c4f09 Move Mez Mastery to DB 2014-01-20 16:24:17 -05:00
Michael Cook (mackal) a93116aa19 Merge branch 'master' of github.com:EQEmu/Server 2014-01-20 15:58:39 -05:00
Michael Cook (mackal) 95a5c7d4cc Move Spell Casting Reinforcement to aa_effects 2014-01-20 15:57:44 -05:00
Michael Cook (mackal) 6bb8d87225 Fix name of SQL file 2014-01-20 13:55:52 -05:00
Michael Cook (mackal) 935ce8f968 Implement not_extendable spell field 2014-01-20 13:34:18 -05:00
Michael Cook (mackal) 3970bb5955 Export death event variables to Perl (Kingly Krab)
http://www.eqemulator.org/forums/showpost.php?p=227770&postcount=9
2014-01-20 02:01:52 -05:00
Michael Cook (mackal) 3159453e75 Fix OP_MobEnduranceUpdate for UF 2014-01-19 16:18:38 -05:00
Michael Cook (mackal) a1cb8d7ae7 Turn on NPC charm casting 2014-01-19 00:45:50 -05:00
Michael Cook (mackal) b16ce6f809 Tweaked down SE_CurrentHP aggro from buffs 2014-01-17 22:09:41 -05:00
Michael Cook (mackal) 12681f4623 Improve feign_memory_list thanks to C++11 2014-01-15 21:06:18 -05:00
Michael Cook (mackal) a7a4f9373d Revert change to SE_LimitEffect
Also fix for SE_SummonItem for unstackable charged items
(Still need to verify on live though)
2014-01-15 17:10:15 -05:00
Michael Cook (mackal) d2e66214f4 Add numhitstype to the spell structure 2014-01-15 01:19:03 -05:00
Michael Cook (mackal) 0a6d98b5e1 Fix mod rods 2014-01-14 22:24:01 -05:00
Michael Cook 497c10e513 Updated URL 2014-01-14 15:16:29 -05:00
Michael Cook (mackal) 53765ebc62 Fix some potential null pointer dereferences
I don't think there were any instances of these causing problems
but it's better to be safe than sorry.
2014-01-14 02:38:49 -05:00
Michael Cook (mackal) 4216627604 Prefer prefix ++/-- on non-primitive types
Postfix ++/-- might cause the creation of a tmp instance
that might be optimized out. Mights are bad. Prefix doesn't
have this problem.
2014-01-13 22:14:02 -05:00
Michael Cook 47c33f3b31 Merge pull request #104 from KayenEQ/master
Spell effect updates
2014-01-13 10:35:15 -08:00
Michael Cook (mackal) f4e085c121 Some clean up in questmgr.cpp 2014-01-12 21:26:31 -05:00
Michael Cook (mackal) 5a6f2467f8 Added fclose to ExportBaseData 2014-01-12 00:58:47 -05:00
Michael Cook (mackal) 1822347a46 Add lua_say_link overloads 2014-01-11 15:07:11 -05:00
Michael Cook (mackal) 821ba8b701 Change faction messages to use String IDs. 2014-01-11 13:20:01 -05:00
Michael Cook (mackal) fdced53be1 Add pet size preservation like live
Run the SQL!!
2014-01-09 14:25:29 -05:00
Michael Cook (mackal) a394bf25b2 SE_SummonItem and SE_SummonItemIntoBag should work like live now
This isn't exactly like live since they seem to use something
else to decide how many to summon, but this should act the same
as live currently does.
2014-01-08 16:11:29 -05:00
Michael Cook (mackal) f2c1c9f70e Added required SQL for previous changes 2014-01-08 14:06:39 -05:00
Michael Cook (mackal) 5199364091 Make use of the suspendable spell flag 2014-01-08 00:24:33 -05:00
Michael Cook (mackal) 50caef0086 Implement persist death spell field 2014-01-07 23:29:46 -05:00
Michael Cook 8a04d8e2b7 Moved pet target checking to the attack command, which is more live like
Also, probably a little better than attacking then backing off :P
2014-01-07 17:02:35 -05:00
Michael Cook (mackal) e7032bc2c2 Implemented SE_SongModCap
Bard AAs Ayonaes Tutelage and Echo of Taelosia implemented as bonuses
Remember to run the SQL!
2014-01-04 19:20:59 -05:00
Michael Cook (mackal) d128ef1b97 Forgot an unknown 2014-01-04 14:54:18 -05:00
Michael Cook (mackal) 0645908762 Renamed all Unknown Spell Effects based on live
Note: These are all still commented out and I did not check for
any collisions. Feel free to rename these as they're implemented
2014-01-04 14:42:13 -05:00
Michael Cook (mackal) abbd0558a0 Added links to full spell effect list from a dev 2014-01-04 13:41:41 -05:00
Michael Cook (mackal) a9b4e7819f Add some overflow protection for emotes
Clients crash if the emote is too large, despite the client
using a 1024 char buffer...
2014-01-04 01:34:58 -05:00
Michael Cook (mackal) ae68deb4f8 Added overload to Lua entity list RemoveFromTargets 2014-01-03 19:20:52 -05:00
Michael Cook (mackal) e4108d089f Fix missing paren. 2014-01-02 18:19:59 -05:00
Michael Cook (mackal) 4d9d50c9ac Fix stuns from beneficial spells (ex. Harvest) 2014-01-02 03:08:59 -05:00
Michael Cook (mackal) 13fcccefd5 Added support for merchant item filtering by class
Added column classes_required to merchantlist to allow
the merchant to only sell items to specified classes

Ex. (only example I know from live) To only allow poison supplies
to be sell able to only rogues, you would set classes_required
to 256.
classes_required defaults to 65535 (all/any class)

Remember to run the new SQL!
2013-12-26 16:29:09 -05:00
Michael Cook (mackal) 0d661204ed Fix MakeRandomInt for flurry and extraattack 2013-12-20 18:45:33 -05:00
Michael Cook (mackal) b0e50f13c9 Switched some stuff that made sense to Mob::InFrontMob 2013-12-20 18:43:52 -05:00
Michael Cook (mackal) d3ad253b51 Switched bard check in auto attack to IsBardSong 2013-12-20 18:43:16 -05:00
Michael Cook (mackal) 5ac23a2f8f Added facing check to auto attack LoS code
The Mob::InFrontMob check uses 56 degrees which is where the
client will generate the "You cannon see your target." message.
There were still a few weird angles that I was able to still
attack, but in like 99% of the cases it should work ...
2013-12-20 17:47:28 -05:00
Michael Cook 53c124526c Merge pull request #97 from KayenEQ/fixes
Fix SE_BlockNextSpellFocus
2013-12-15 23:17:21 -08:00
Michael Cook (mackal) 32e5ed5ad8 Merge branch 'master' of github.com:KayenEQ/Server into KayenEQ-master
Conflicts:
	changelog.txt
2013-12-15 23:51:21 -05:00
Michael Cook 65afbd4147 Moved BlockedBuffs check down for spell effects 2013-12-15 18:44:45 -05:00
Michael Cook 81e04ee185 Fix some indentation 2013-12-15 03:21:57 -05:00
Michael Cook b9c270fab6 Merge branch 'master' of github.com:EQEmu/Server
Conflicts:
	changelog.txt
2013-12-14 16:44:04 -05:00
Michael Cook 48db481fbb Fix blocked buffs from failing
When a buff is blocked it should just fail to be applied
instead of interrupting. Mana should also be eaten.
2013-12-14 16:42:12 -05:00
Michael Cook c70ea4a621 Fix haste caps
Before these were mostly guess work, now based on what clients report
since they do their own calculations so are most likely correct.
2013-12-11 15:44:59 -05:00
Michael Cook 76ec6e4da2 Fixed crippling blow issues with berserker frenzy
Also added two rules to control when to enter/exit berserker frenzy
2013-12-11 01:49:51 -05:00
Michael Cook (mackal) cd2825288d Fix issue with SpellType_Charm case in AICastSpell 2013-12-04 00:52:12 -05:00
Michael Cook d95fdda30f Fix procing off of unattackable things
This /might/ be a little restrictive, but it should prevent easy
farming of bone chips from Boneshear etc
2013-12-03 16:12:13 -05:00
Michael Cook 4fdcf604f2 Added #showspellslist command to show us a mob's spells 2013-12-03 15:57:50 -05:00
Michael Cook 0f54830bc5 Stacking issues should be resolved now
I have a feeling this could be slightly better, but it works correctly.
2013-11-29 18:32:30 -05:00
Michael Cook d329fe0c12 Revert "Fixed issue with SE_StackingCommand_Overwrite"
This reverts commit a7ce852ca5.
2013-11-29 15:35:51 -05:00
Michael Cook a7ce852ca5 Fixed issue with SE_StackingCommand_Overwrite
SE_StackingCommand_Overwite uses the calc to figure out the slot to check.
Seems that calc 202 is slot 1 and 201 is actually something special. It
could be any slot, but need further investigation, for now, just ignore it.
2013-11-27 16:05:09 -05:00
Michael Cook b4fce37c14 Quick fix to issue with self buffs
casting_spell_targetid isn't guaranteed to be correct at that point in the code
Quick fix for now
2013-11-27 14:38:03 -05:00
Michael Cook 0567073ca0 Quick fix for dot issue introduced in 765b5ee8
This could probably be done better
2013-11-19 18:34:20 -05:00
Michael Cook e33eb9d7b0 Partially implement dot_stacking_exempt
When it is 1 the spell will block it from other casters
Not 100% sure on when it's -1 so not currently used
2013-11-19 17:43:40 -05:00
Michael Cook (mackal) 10ee3ea346 Fixed shared memory read me 2013-11-19 00:09:41 -05:00
Michael Cook (mackal) 62b7eda9e9 Added read me to shared_memory 2013-11-19 00:08:22 -05:00
Michael Cook (mackal) 917a8ed389 Fix some errors in comments 2013-11-18 16:21:10 -05:00
Michael Cook (mackal) 300799fdc8 Added npc_types.assistradius, defaults to npc_types.aggroradius if set to 0 2013-11-18 12:44:39 -05:00
Michael Cook 09dd3c1b37 Fixed an issue that arose from 78ab3471
Reworked how Mob::_GetMovementSpeed worked to fix an issue of walking
with a sufficiently high movemod.

Added a rule Character:BaseRunSpeedCap (default 158) to control the
cap on runspeed from buffs. Hardcapped to 225 for sanity's sake.
2013-11-17 19:37:49 -05:00
Michael Cook (mackal) 36233538fd Some whitespace fixes in zone/spells.cpp 2013-11-17 00:34:58 -05:00
Michael Cook 3d5b3d1e8c Added Mob::DoCastingChecks() which checks for various casting fail conditions while casting 2013-11-17 00:31:17 -05:00
Michael Cook 3c2ae8250f Merge pull request #91 from Leere/drink_message
Fix for auto-consume drinking message
2013-11-15 19:23:02 -08:00
Michael Cook 08b5225a13 Merge pull request #90 from Leere/stacking_issue
Fix for a stacking issue with SE_StackingCommand_Block for druid skins
2013-11-15 13:15:53 -08:00
Michael Cook a40a34d2e8 Fixed Mob::CalcFocusEffect()'s SE_LimitEffect 2013-11-15 01:17:27 -05:00
Michael Cook (mackal) 983ee2d39b Merge branch 'master' of github.com:EQEmu/Server 2013-11-14 20:28:01 -05:00
Michael Cook (mackal) e1255af708 Fix Spell level restrictions
I made an incorrect assumption, fixed now
2013-11-14 20:26:58 -05:00
Michael Cook 23ab896dfc Fix last commit .... 2013-11-13 18:04:11 -05:00
Michael Cook d094a09ded Implemented Singing/Instrument Mastery as an AA bonus
Don't forget to source the SQL file!
2013-11-13 18:03:08 -05:00
Michael Cook 3f8ee533d3 Implement bard song instrument mod caps
The maximum bard songs can be effected by instrument mods is 3.6.
This is set by the rule Character:BaseInstrumentSoftCap which defaults to 36
Also fix Echo of Taelosia and Ayonae's Tutelage to increase the mod cap.
2013-11-13 15:07:34 -05:00
Michael Cook 0c3c84d711 Merge branch 'master' of github.com:EQEmu/Server 2013-11-12 22:32:44 -05:00
Michael Cook 79c53a41a8 Add some sanity for bard songs in snares ... 2013-11-12 22:32:03 -05:00
Michael Cook 78ab347171 Fix walk speed calculation
Walk speed should be calculated as a movement speed reduction that
stacks with snares so it's possible to snare a mob FD and have it
not be able to walk back.
2013-11-11 23:55:43 -05:00
Michael Cook d83b94d231 Revert "Fixed non-attacking related movement while mobs are snared"
Did some testing, this isn't exactly the case on live.

This reverts commit ed6c46f7ff.
2013-11-11 21:06:48 -05:00
Michael Cook (mackal) ed6c46f7ff Fixed non-attacking related movement while mobs are snared
On live a nec/shd normal splitting involved snaring the mob you want
and FDing after they moved enough. The non-snared mobs would return home
and the snared mob would just sit there until it was no longer snared.
There is even a nice flash video! http://www.dzert.com/downloads/eq/fd02.swf
This might need some tweaking, but I'm not sure of any instances where it would
break things...
2013-11-11 18:18:12 -05:00
Michael Cook (mackal) 925e19b15c Fix database scheme comments that got clobbered on nullptr conversion 2013-11-11 15:37:20 -05:00
Michael Cook 2be71fc2ec Cleaned up common/spdat.cpp
There was a lot of stuff that I found that the level of readability.
I cleaned up a lot of the stuff, no functionality should be changed
unless where noted below.

* IsPartialDeathSaveSpell is now generic and no longer uses a hardcoded spell id
* IsFullDeathSaveSpell is now generic and no longer uses a hardcoded spell id

If these functions were actually used in the spell effects it would probably
fix issues with newer spells (which there are on live)
2013-11-10 21:37:01 -05:00
Michael Cook b4068823ed Merge pull request #85 from vexyl/fix1
Fix for healing unconscious players.
2013-10-26 14:13:00 -07:00
Michael Cook 3c09613d01 Changed the MT_Shout to MT_SpellFailure in Mob::SpellOnTarget 2013-10-24 17:38:46 -04:00
Michael Cook 36d336e69c Fix some memory leaks in Mob::SpellOnTarget
This should fix the memory leak introduced in the last commit and
a few lingering memory leaks, don't think they should break anything
2013-10-24 17:35:21 -04:00
Michael Cook a06fe1d02e Implemented buff level restrictions
Higher level buffs can't be cast on lower level toons.
The formula was based on information found here: http://samanna.net/eq.general/buffs.shtml
This behavior is controlled by the rule Spells:BuffLevelRestrictions which defaults to true.
2013-10-21 19:13:55 -04:00
Michael Cook 56ba87577b GetMinLevel will now return 0 for more cases
For some reason EQ uses 127 (melee classes), 254 (some AAs), and 255
in the class level for spells a class doesn't have
2013-10-21 19:10:01 -04:00
Michael Cook 98c835e470 Fix Titanium clients from not being able to start in Tutorial zone. 2013-10-12 00:29:44 -04:00
Michael Cook 2019379a42 bool* foo = false should probably be an error, GCC 4.8+ at least warns about it, clang I think fails on it. 2013-10-11 00:00:21 -04:00
Michael Cook 15335509c2 Merge branch 'master' of github.com:EQEmu/Server
Conflicts:
	changelog.txt
2013-10-10 23:45:15 -04:00
Michael Cook da401acdb2 Fix mana and timer being used on single target buffs failing
Single target buffs shouldn't have their mana consumed or their
reuse timers set if they fail the Mob::SpellOnTarget call in
Mob::SpellFinished. Ex. Night's Dark Terror not taking hold
(no free slots) or Target running out of range.
Debuffs do not get this nice behavior.
2013-10-10 23:17:02 -04:00
Michael Cook c13c039721 Merge pull request #83 from AMDmi3/patch-1
Simplify conditional linking with libdl
2013-10-09 08:33:27 -07:00
Michael Cook 3a95f81196 Fixed more instances of AA timers being eaten
Every time I touch zone/AA.cpp to fix timers it gets uglier.
This should fix the bug reported here: http://www.peqtgc.com/phpBB3/viewtopic.php?f=17&t=14125
It should also fix AAs not being reset when it when you have no buff slots free (confirmed on live)
2013-10-09 02:00:49 -04:00
Michael Cook 9a19a00bdc Added IsBuffSpell(spell_id). This will return true if the spell would end up having a duration, which will mean it would end up in one of the many buff windows on the client. This just makes sure the spell has a buffduration or buffdurationformula, which means the calculation will return a duration
Replaced all instances of CalcBuffDuration being used to determine if a spell was a buff with IsBuffSpell
Removed Mob::HasBuffIcon since it does the same thing IsBuffSpell does in a more convoluted way and had a rather missing leading name
Fixed issues that arose from the 10/03/2013 changes
2013-10-08 17:24:07 -04:00
Michael Cook 6b4b259753 Fix when the random +1 tick is added to nerf extension focus effects to where they should be 2013-10-03 23:04:58 -04:00
Michael Cook 2bde0b40bb Fixed issue with #showstats window, should probably be refactored to completely use stringstream or to_string whenever VS2010 support is dropped 2013-09-30 22:17:34 -04:00
Michael Cook (mackal) d119ed058b Add /pet hold on and /pet hold off support for UF/RoF 2013-09-13 15:20:45 -04:00