Commit Graph
100 Commits
Author SHA1 Message Date
Michael Cook (mackal) 135cfd7617 Revert "Revert changes to melee push until the generic push processing is better"
This reverts commit 49089f7537.
2018-03-19 00:13:57 -04:00
Michael Cook (mackal) c29bdd4b1d Add a sanity check to prevent mobs climbing steep walls
Ex. in OMM's room in anguish
2018-03-17 14:29:11 -04:00
Michael Cook (mackal) 0643bf9783 Remove z offset mod in push, wasn't needed 2018-03-17 13:43:27 -04:00
Michael Cook (mackal) d8b704ef7d Adjust z offset down 2018-03-17 02:05:36 -04:00
Michael Cook (mackal) e46e2952e6 Use 8 points to check in push code 2018-03-15 16:20:00 -04:00
Michael Cook (mackal) a339d0d41d Don't rotate the box, it works better 2018-03-15 15:48:34 -04:00
Michael Cook (mackal) d62f2d41fc Bug fixes to push, shouldn't get stuck anymore 2018-03-15 15:39:36 -04:00
Michael Cook (mackal) 339e921f17 Add a #push command, only works on NPCs for now 2018-03-14 16:10:14 -04:00
Michael Cook (mackal) 638d43e3cf Use pathpoint races for showing nodes
The nearest neighbor command will grow them instead of changing race
now.
2018-03-10 15:36:12 -05:00
Michael Cook (mackal) fdef1090c3 Update #race to accept all valid RoF2 races 2018-03-10 15:11:16 -05:00
Michael Cook (mackal) a6b31017e3 Remove extra z offset 2018-03-09 19:27:31 -05:00
Michael Cook (mackal) ca29cb037e Add some more name filtering 2018-03-09 17:26:22 -05:00
Michael Cook (mackal) d59931dc4d Use an algorithm to generate pet names 2018-03-09 17:10:34 -05:00
Michael Cook (mackal) 876335bb54 Pull out forced movement from push to it's own function
Had to pull this out so we could process it before mez/stun
2018-03-08 19:42:40 -05:00
Michael Cook (mackal) 5c87b8152d Remove Map::FindClosestLoS()
Map::LineIntersectsZone() already accomplished this use case
2018-03-08 18:03:15 -05:00
Michael Cook (mackal) ef487112df Add FixZ() to the spell push stuff
This is done after the packet since we want the NPC to get pushed up
still. The client will still interp the fall but server side we'll be on
the ground instantly
2018-03-08 16:11:48 -05:00
Michael Cook (mackal) 49089f7537 Revert changes to melee push until the generic push processing is better 2018-03-08 12:57:40 -05: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) 0d63c8b9ef Trap auras should spawn a bit in front 2018-03-07 15:23:03 -05:00
Michael Cook (mackal) 8f66527e02 Add TryMoveAlong(distance, angle)
This will take a distance you would like to move and an EQ angle you
would like to move relative to current heading (so 0 is in front, 256
behind)

Exported to Lua as well
2018-03-06 23:03:55 -05:00
Michael Cook (mackal) 7e7f5f0bd6 Add Map::FindClosestLoS()
This will return true if LOS failed and you should use the outloc
2018-03-06 23:02:49 -05:00
Michael Cook (mackal) b3ac1001c9 Add a FixHeading function
This is similar to what the client is doing

Should be used when adding 2 headings together (or an EQ angle to a
heading)
2018-03-06 23:01:25 -05:00
Michael Cook (mackal) 525db1819d Fix VS compilation hopefully 2018-03-04 13:54:28 -05:00
Michael Cook (mackal) bb3c0b41f6 Merge pull request #721 from noudess/master
Make old style rogue poison closer to live.
2018-03-04 13:20:28 -05:00
Michael Cook (mackal) 35c4867334 Add the Fast trig functions that work with EQ headings
This should match pretty close to the clients LUTs

Also fixed a bug with push
2018-03-04 02:19:12 -05: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) b63923264d Fix memory leak 2018-03-03 22:21:06 -05:00
Michael Cook (mackal) 5aab187e17 Fix missile heading 2018-03-03 13:10:32 -05:00
Michael Cook (mackal) ee4a79616f Lets can't a reference in resends 2018-03-03 00:59:44 -05:00
Michael Cook (mackal) 9e4f728f21 Spell push values can be negative 2018-03-01 18:10:06 -05:00
Michael Cook (mackal) 3cb7b362c8 Only rate limit NPC push
Clients are fine
2018-03-01 16:42:46 -05:00
Michael Cook (mackal) 1beb221337 Pets seem to run until within 35 units of you
This was at 75 before, testing on live puts this closer to 35
2018-03-01 16:15:57 -05:00
Michael Cook (mackal) 28cb11f521 Implement SE_TossUP -- actually a DMG SPA
This just causes damage to NPCs only
2018-03-01 14:43:37 -05:00
Michael Cook (mackal) d71e79b306 Add 2013 NPC vs NPC push change
They remove NPC vs NPC melee push in 2013
2018-03-01 13:44:10 -05:00
Michael Cook (mackal) 7edc891605 Use the melee push pos update timer for rate limiting the pushes
Also lowered the timer since it's limiting actual movement now
2018-03-01 13:41:02 -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
Michael Cook (mackal) 29f89cdfbc NPCs parsed less than normal push
Checking the packets, I was getting 0.3 for bash against PCs and 0.03
against NPCs. Same for other attacks.
2018-02-27 23:42:18 -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
Michael Cook (mackal) c87380fa54 Actually fix pet warp range ... 2018-02-23 17:42:57 -05:00
Michael Cook (mackal) 959337b592 Pets should warp to owner >= 450 units Fixes #715 2018-02-23 17:09:04 -05:00
Michael Cook (mackal) ca0b9bc374 Fix rampage behavior Fixes #716 2018-02-23 17:00:17 -05:00
Michael Cook (mackal) 2d459a962e Merge pull request #714 from eqcodex/master
Added rule to remove pet reagent cost
2018-02-23 13:38:36 -05:00
Michael Cook (mackal) 6027a80c14 Identified bouding_radius in all spawn structs 2018-02-22 01:30:40 -05:00
Michael Cook (mackal) 27225b6047 Update changelog [skip ci] 2018-02-16 15:38:44 -05: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) b5e9c0f996 Fix PVP arenas 2018-02-12 19:42:09 -05:00
Michael Cook (mackal) d2360753fb Fix issue with optional SQL [skip ci] 2018-02-11 17:40:49 -05:00
Michael Cook (mackal) e747ea851a Fix issue with optional SQL [skip ci] 2018-02-11 17:39:12 -05:00
Michael Cook (mackal) 68d563c72f Add optional file to implement global defiant tables [skip ci]
This is destructive and will delete the loottable_entries currently
holding defiant drops

The level ranges maybe a bit wrong, kind of hard to tell, but it should
be accurate enough
2018-02-11 13:26:00 -05:00
Michael Cook (mackal) c5e4bb08f4 Implement global loot system Fixes #619
This should allow us to emulate lives global tables

The options available to filter tables are min_level, max_level, race,
rare, raid, race, class, bodytype, and zone.

race, class, bodytype, and zone are a pipe | separated list of IDs
2018-02-10 22:15:21 -05:00
Michael Cook (mackal) fb8873e77b Fix for glm with GCC 7.3
Something similar will be in the next release of glm
2018-02-08 15:54:17 -05:00
Michael Cook (mackal) 24b396e516 Fix /pet leader 2018-02-06 21:50:59 -05:00
Michael Cook (mackal) cdd0b2de00 Bug fix for longer reuses 2018-02-06 13:13:13 -05:00
Michael Cook (mackal) 4096ee1f1e Should dismount if mounted and casting and FD spell 2018-02-05 13:38:03 -05:00
Michael Cook (mackal) f720e51585 Implement NPC Charm Stats
These combat stats an NPC will change to while charmed
2018-02-04 16:30:16 -05:00
Michael Cook (mackal) c5c93bb2e6 Fix distance forget aggro drop not triggering events 2018-02-04 13:23:47 -05:00
Michael Cook (mackal) 85bafecc93 Command #repop will clear NPC spell cache now 2018-02-02 20:18:40 -05:00
Michael Cook (mackal) ab65bb1d57 Update #showspellslist command 2018-02-01 19:03:42 -05:00
Michael Cook (mackal) c21293e508 Fix issue with spells that didn't make sense to be innate 2018-02-01 18:55:16 -05:00
Michael Cook (mackal) 3c794cfc07 Add Support to define a valid HP range for NPC casting
These will allow us to define a valid HP range (HP of the caster) that
an NPC will cast a spell. For example NPC casting a defensive spell at
2018-02-01 18:34:07 -05:00
Michael Cook (mackal) 78f3a2aa64 Merge pull request #704 from noudess/master
Cleanup some rules that are no longer used anywhere.
2018-01-30 14:37:26 -05:00
Michael Cook (mackal) 03dbe47546 Skip distance check in mob spell AI for some target types
This should be good enough for now, some of the hatelist spells use 0
ranges for some reason :P

The client checks only a few target types for distance, we should
probably just match that eventually
2018-01-30 13:16:25 -05:00
Michael Cook (mackal) 13ad5e4b46 Lets ignore Z on distance hate removal until pathing doesn't suck 2018-01-30 12:53:58 -05:00
Michael Cook (mackal) 6716e580f3 Make npc_spells_cache a map fixes #705
Should probably add a way to clear the cache, but we didn't do that
before so I didn't bother.
2018-01-29 23:36:05 -05:00
Michael Cook (mackal) 5d9c8c8e27 Quick fix to allow dev work to still happen on npc spells
This will allow a bit of overhead while developing NPC spell sets
2018-01-29 15:18:47 -05:00
Michael Cook (mackal) 7bd5213be4 Skip buff stack check for innates SpellType_Nukes 2018-01-29 15:16:56 -05:00
Michael Cook (mackal) f8ce10472b Rework some Spell AI so NPCs can have spammy spells
Lots of encounters in EQ will spam spells, like dragon fear is on a very
tight timer etc. In order to eliminate the need to script all of these
encounters AI spells with a priority of '0' will be treated as "innate
spells." Devs have used this term and it is what I believe they mean by
it.

You can run update npc_spells_entries set priority = priority + 1 where priority >= 0;
to disable the behavior.
2018-01-28 18:06:54 -05:00
Michael Cook (mackal) 6ed3301110 Add some appearance Changing functions
These directly modify the values so we can script appearance on
pets/swarm pets. (Ex. Host of the Elements, some Vet AAs)

These functions are only really useful in EVENT_SPAWN since that's
before the appearance data is sent to the client and this will avoid
having to send a bunch of illusion packets.
2018-01-24 15:26:53 -05:00
Michael Cook (mackal) 6042410b4b Fix duration on WakeTheDead 2018-01-20 19:19:40 -05:00
Michael Cook (mackal) 26532c03ac Fix crash
Whoever made this using dynamic memory should be fired.
2018-01-19 23:28:07 -05:00
Michael Cook (mackal) a440269c6b Adjust the behavior of out of range aggro removal
This is a bit more accurate
2018-01-18 19:59:04 -05:00
Michael Cook (mackal) a7310cba17 Export new special attack to lua too 2018-01-18 18:33:36 -05:00
Michael Cook (mackal) b82100bcd7 Add IMMUNE_RANGED_ATTACKS
This makes them immune to archery/throwing

This also needs more work as comments state, but good enough for now
2018-01-18 18:30:29 -05:00
Michael Cook (mackal) e7ce79261d Add a timer to rate limit the hatelist check 2018-01-18 15:54:53 -05:00
Michael Cook (mackal) d8bbb428d8 Add hatelist removal for far distances and time 2018-01-18 15:44:51 -05:00
Michael Cook (mackal) 7adc93d806 Fix zone failure messages on RoF+ 2018-01-17 22:01:45 -05:00
Michael Cook (mackal) 62dcc188d1 Set bZoning to false in failure cases 2018-01-17 21:37:24 -05:00
Michael Cook (mackal) aa1114c387 Rename Client::zoning to Client::bZoning 2018-01-17 21:37:24 -05:00
Michael Cook (mackal) 42d3a7e4f6 Merge pull request #684 from daerath/feature/Dae-ModernAAXP
Feature/dae modern aaxp
2018-01-15 22:27:20 -05:00
Michael Cook (mackal) af02b9f958 Add json config examples 2018-01-15 22:02:52 -05:00
Michael Cook (mackal) d18fb730ec Don't increment the xtarget count on feign memory 2018-01-13 01:14:32 -05:00
Michael Cook (mackal) 760ba01e6b Update a comment 2018-01-10 22:34:57 -05:00
Michael Cook (mackal) 7559d96a0e Merge pull request #692 from noudess/master
Allow trading nodrop to pets via new rule.
2018-01-10 14:02:43 -05:00
Michael Cook (mackal) 057823e4c1 Merge pull request #691 from noudess/master
Add rule to use ClassicBackstab (no mob fronttab)
2018-01-10 13:35:21 -05:00
Michael Cook (mackal) 50cc093250 Merge pull request #690 from noudess/master
Level was missing from Spell error message.
2018-01-10 13:15:50 -05:00
Michael Cook (mackal) 279cd4660d Merge pull request #687 from noudess/master
Removed pets from Witness Heal Aggro.
2018-01-09 18:11:28 -05:00
Michael Cook (mackal) 4b612400da Merge pull request #683 from noudess/master
Adjust xp loss on death if using the level_based_mods.
2018-01-09 17:17:17 -05:00
Michael Cook (mackal) c1ad00cbc6 Fix where SE_ExtraAttackChance happens
Improved AA descriptions say this is after a successful double attack
2017-12-23 22:55:45 -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) 8af4730ddf Merge pull request #680 from shea851/xtarget_fix
Fix for Xtargets not being populated when pet initiates aggro.
2017-12-22 18:39: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) 477ba3f4b9 Apply HotZone for AAs
Ahh is this the right spot? No idea :P
2017-12-15 01:47:45 -05:00
Michael Cook (mackal) 55f1767001 Add confirmed OP_MoveMultipleItems structs
Pretty sure SoF-UF are the same, but I haven't verified that yet
2017-11-30 16:50:10 -05:00
Michael Cook (mackal) f8b924c262 Identified other OP_MoveMultipleItems opcodes
Older clients don't actually ever send this but they do accept it
2017-11-26 18:51:27 -05:00
Michael Cook (mackal) e19b7bd368 Start work on OP_MoveMultipleItems (RoF+)
Currently it just kicks to prevent desyncs
2017-11-25 23:57:15 -05:00
Michael Cook (mackal) 52d31a6846 Make high STR race rez effects a rule
They stopped using this one at some point it seems
2017-11-19 01:45:05 -05:00
Michael Cook (mackal) da163be8db Fix auto complete error 2017-11-10 00:06:50 -05:00