Michael Cook (mackal)
ffbc913b9d
Rename some spell fields
2016-12-01 13:35:19 -05:00
Michael Cook (mackal)
286bfa7af6
Implement the PC/NPC only flag
2016-11-30 20:53:39 -05:00
Michael Cook (mackal)
d9e0708331
Merge pull request #576 from AthrogatePEQ/master
...
Add GetAppearance() to lua.
2016-11-28 16:53:56 -05:00
Michael Cook (mackal)
bbd2796ea4
Add ParticlePoint enum for OP_LevelAppearance
2016-11-18 13:55:04 -05:00
Michael Cook (mackal)
5a08e0ffd9
Adjust Rogue Evade drop
...
Live seems to be inconsistent with how much hate is dropped, but I parsed
~69% drop on the highest and ~39% for the lowest. So round to 70 and 40.
It was also fairly obvious there was a min hate it could drop you to,
which parsed out to ~100 hate.
2016-11-16 02:36:20 -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)
71e641c882
Merge pull request #572 from KinglyKrab/master
...
Fixed #npcspawn update.
2016-11-10 15:57:31 -05:00
Michael Cook (mackal)
b3842ba72a
Fix indent
2016-11-09 12:14:24 -05:00
Michael Cook (mackal)
a3c16ecdbe
Merge pull request #571 from AthrogatePEQ/master
...
Expose GetLowestLevel() to Lua.
2016-11-09 12:13:15 -05:00
Michael Cook (mackal)
06e2f76c05
Implement SE_SummonToCorpse
2016-11-05 14:08:00 -04:00
Michael Cook (mackal)
b1f97712f1
Quick fix for bulk XTarget updates
...
This needs to be investigated more, but a 0 here for a valid mob
is bad.
2016-11-03 14:31:09 -04:00
Michael Cook (mackal)
cbe53951f8
Add missing ITEMTransfig1HB
2016-11-02 13:36:04 -04:00
Michael Cook (mackal)
a29177de9e
Fix zone/embparser.h header guard
2016-10-30 22:51:50 -04:00
Michael Cook (mackal)
a15df2ec2c
Switch Master Wu to modern live implementation
...
Classic Master Wu still exists setting Combat:ClassicMasterWu to true
2016-10-30 22:41:24 -04:00
Michael Cook (mackal)
cbb7090615
Fix SNEAK_RESTRICT Message Type
2016-10-28 20:45:05 -04: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
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)
1e865a5246
Take in elem/bane dmg in BS calc
2016-10-13 23:55:44 -04:00
Michael Cook (mackal)
343c41bb18
Elemental dmg shouldn't allow you to hit bane only
2016-10-13 23:54:56 -04:00
Michael Cook (mackal)
013f7cfd21
Set no_target_hotkey in Mob ctor
...
Fixes UBSan error
2016-10-03 01:35:11 -04:00
Michael Cook (mackal)
4cb7d9a352
Remove ability for charmed NPCs from summoning
...
These rules do not appear to be true on live
They also don't look to have ever been true?
2016-09-22 00:32:01 -04:00
Michael Cook (mackal)
b04844aa94
Fix merge [skip ci]
2016-09-21 23:54:51 -04:00
Michael Cook (mackal)
50469b858b
Merge pull request #553 from KinglyKrab/master
...
Added GetAAPercent() to Perl and Lua.
2016-09-08 22:08:47 -04:00
Michael Cook (mackal)
d0bb3047f0
Let's fix the fear pathing flags right away after SE_ImmuneFleeing
...
This speeds up the response to spells like Call of Challenge
Before it would fix the flags the next tick, which makes the spell
mostly useless
2016-09-04 20:59:39 -04:00
Michael Cook (mackal)
739b1bfaa3
Fix target buffs showing PC songs
2016-09-03 21:54:59 -04:00
Michael Cook (mackal)
7c40bcff53
Fix enrage for NPC classes that can't ripo
2016-09-02 18:16:09 -04:00
Michael Cook (mackal)
d8fe5124ff
Fix some spell set loading issues
2016-08-29 19:23:40 -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)
95ea61114a
Merge pull request #551 from N0ctrnl/patch-1
...
Added rule to allow MQ2 targeting without filling up the hackers table
2016-08-28 17:34:19 -04:00
Michael Cook (mackal)
89183cf8b7
clang-format LoadZoneObjects
2016-08-27 22:26:44 -04:00
Michael Cook (mackal)
aaa116d97c
Add support for object display names
...
Ex. Kejek Forge in Stonebrunt Mountains
2016-08-27 22:24:08 -04:00
Michael Cook (mackal)
4360021fc9
Merge pull request #550 from KinglyKrab/master
...
World:EnableIPExemptions should be false by default. (Woops.)
2016-08-27 21:45:17 -04:00
Michael Cook (mackal)
55d2e9b842
Only correct spell slots when we're sending to self
...
This will fix display issues with lots of buffs on NPCs
2016-08-24 23:15:31 -04:00
Michael Cook (mackal)
c2b31bd6e2
Fix EVENT_ATTACK crash (thanks image)
...
Note: I guess we need to check if it's null in the actual quest too
2016-08-21 20:26:54 -04:00
Michael Cook (mackal)
696c02c0f0
Move instrument mod outside of the EFFECT lop in SpellEffect
2016-08-20 14:30:54 -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)
f9f3a8f3bd
Expendable Arrows ignore EQ
2016-08-17 01:10:37 -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)
3c95545ea3
Remove IsCasting check from Client::SendManaUpdatePacket
2016-08-15 01:23:47 -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)
fd1e425abc
Fix potential crash in ucs/clientlist.cpp
2016-08-13 17:19:20 -04:00
Michael Cook (mackal)
35c1eccbe1
Fix potential crash in zone/worldserver.cpp
2016-08-13 17:15:57 -04:00
Michael Cook (mackal)
69f06f736c
Fix potential crashes in zone/spells.cpp
2016-08-13 17:15:00 -04:00
Michael Cook (mackal)
48fb483de6
Fix typo
2016-08-13 17:05:48 -04:00
Michael Cook (mackal)
8ce2921e3d
Fix potential crashes in Mob::SpellEffect
2016-08-13 16:45:32 -04:00
Michael Cook (mackal)
f06a9b3dce
use std::abs in Map::FindClosestZ
2016-08-13 15:58:02 -04:00
Michael Cook (mackal)
3efc925264
And another
2016-08-13 15:47:44 -04:00
Michael Cook (mackal)
a8db4532d0
Fix potential crash in #iteminfo
2016-08-13 15:46:35 -04:00
Michael Cook (mackal)
ab35f8b842
Fix memset in QuestReward
2016-08-13 15:39:08 -04:00
Michael Cook (mackal)
ef3cf099b8
Fix potential crash in Sacrifice
2016-08-13 15:35:28 -04:00
Michael Cook (mackal)
00cfe2d25f
Fix potential crashes in attack.cpp
2016-08-13 15:26:07 -04:00
Michael Cook (mackal)
7a4c9b36a8
Fix logic issue in SendAlternateAdvancementRank
2016-08-13 15:20:48 -04:00
Michael Cook (mackal)
488c4941d2
Fix potential crash
2016-08-13 15:19:10 -04:00
Michael Cook (mackal)
97dc0a84dd
Fix logic paren issue
2016-08-13 15:14:31 -04:00
Michael Cook (mackal)
f01c890966
Crash fix
...
The other thing needs to be looked at too, but I guess we never run
into an issue where this actually is a nullptr because bad things
would happen here ...
2016-08-13 15:09:43 -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
Michael Cook (mackal)
e1a02455d8
Merge pull request #539 from clucksoft/crash_fix
...
Prevent crash in spell casting when group doesn't exist
2016-08-11 14:22:51 -04:00
Michael Cook (mackal)
e90e141a79
std::unordered_map::count is much slower than find
2016-08-10 23:51:06 -04: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
Michael Cook (mackal)
7d62b208ca
Revert "Rate limit saving to at most once a second"
...
This reverts commit f26dce39c3 .
No easy mode I guess
2016-08-09 21:30:10 -04:00
Michael Cook (mackal)
27f6826fd3
Add rule Spells:AllowItemTGB for custom servers
2016-08-08 20:21:38 -04:00
Michael Cook (mackal)
051f9ffab9
fix bard song mods on instant spells (nukes, procs)
2016-08-08 15:22:26 -04:00
Michael Cook (mackal)
bdb083eac7
Previous disc buff check incorrectly excluded Savage Spirit AA line
...
This still doesn't fix Untamed Rage ... unsure on that one :(
2016-08-07 18:55:02 -04:00
Michael Cook (mackal)
4b93ef0a98
Fix SE_CastOnFadeEffect
2016-08-07 18:17:39 -04:00
Michael Cook (mackal)
e86d11250b
Actually remove expendable AAs from the DB
2016-08-07 14:32:30 -04:00
Michael Cook (mackal)
e5746c3b2e
Fix EVENT_LOOT broken by b43cfa126
2016-08-05 22:14:20 -04:00
Michael Cook (mackal)
6a7ea65dd0
Ask water map if we're in a zoneline to prevent false positives
...
I don't think this should open up any chance to exploit
Trying to use a ZL to go somewhere else is still detected etc
This should really cut down on false positives and we really can't
see real cheater from all the noise this creates
2016-08-05 01:07:12 -04:00
Michael Cook (mackal)
68df09a570
Implement PVP regions
2016-08-04 23:56:08 -04:00
Michael Cook (mackal)
d53d569020
Port EQMacEmu's improved NPC stat scaling formula
...
Old formula can be used by setting NPC::NewLevelSacling to false
2016-08-04 22:12:33 -04:00
Michael Cook (mackal)
1d12f92934
Level 50+ NPCs will now respond to yells for help regardless of con color
2016-08-04 20:36:15 -04:00
Michael Cook (mackal)
e89fa01d89
Port Aggro:UseLevelAggro from EQMacEmu
...
This will make level 18+ mobs braver
2016-08-04 20:33:29 -04:00
Michael Cook (mackal)
8dc8e53218
Added some more comments to PassCastRestrictions
2016-08-04 13:50:20 -04:00
Michael Cook (mackal)
33407ee0da
Forgot divination
2016-08-03 23:14:02 -04:00
Michael Cook (mackal)
c81a5e0783
Limit casting skill ups to casting skills
2016-08-03 23:06:00 -04:00
Michael Cook (mackal)
66fec40169
Move Enrage check to after the immune ripo check
2016-08-03 22:38:33 -04:00
Michael Cook (mackal)
60f2d14caa
Rework bash/kick stun based on client
...
This is what the client is doing. It doesn't reuse all the old rules, so those
can't be tweaked unless someone wants to add them back in
2016-08-03 17:37:09 -04:00
Michael Cook (mackal)
538d6a2a33
Hack to fix RNG Nature Veil line
2016-08-03 01:44:33 -04:00
Michael Cook (mackal)
f26dce39c3
Rate limit saving to at most once a second
...
There are A LOT of unneeded saves ...
This will prevent a lot of excessive database hits at least
with very little room to exploit
2016-08-03 01:13:51 -04:00
Michael Cook (mackal)
acb5bb3e3e
If this flag is set, we JUST saved
...
Also saved due to an OP_Save very recently ...
2016-08-03 00:33:22 -04:00
Michael Cook (mackal)
16125c38af
Lets not save here if we're zoning
2016-08-03 00:13:47 -04:00
Michael Cook (mackal)
69db67efe5
Remove extra save
2016-08-02 23:32:37 -04:00
Michael Cook (mackal)
37ecc69088
Update UF packet stuff to have 30 BUFF_COUNT
2016-08-02 21:10:32 -04:00
Michael Cook (mackal)
d68a3b191e
Give pets 30 buff because that's what they got
2016-08-02 21:08:05 -04:00
Michael Cook (mackal)
64cf613189
Update GetCurrentBuffSlots() for TSS free slots
...
The client also checks if you have any bonus from spells and items
so why not check that as well
2016-08-02 19:00:33 -04:00
Michael Cook (mackal)
2bae779a9b
NPCs don't have separate buff windows
2016-08-02 16:48:58 -04:00
Michael Cook (mackal)
e862994716
RoF/RoF2 spell gem refresh in PP
...
This fixes issues with long recast spells
2016-07-31 18:09:04 -04:00
Michael Cook (mackal)
f612f8be42
Fix typo
2016-07-31 17:35:33 -04:00
Michael Cook (mackal)
ef2c17748e
Implement extra spell gems!
...
New limits:
Tit: 9
SoF: 9
SoD: 10
UF: 12
RoF: 12
RoF2: 12
The SoF client doesn't actually support 10 like SoF should
RoF/RoF2 actually have 4 extra broken spell gems in the UI. They don't work and
will likely crash your client
Quest stuff assumes you are passing in valid slots.
(note the old default of 10 should be 22)
There are still somethings to do like clean up the memmed spells if one switches
to an older client that doesn't support as many as their previous client.
2016-07-31 17:16:23 -04:00
Michael Cook (mackal)
4c4b0aba0c
Switch trading to call CommonBreakInvisible()
2016-07-30 12:51:17 -04:00