Commit Graph
100 Commits
Author SHA1 Message Date
Michael Cook (mackal) f431e820ef Optimize Map::LoadV2 a bit
Microbenchmarking showed ~33% increase in loading moors
Real world testing showed ~48%
2016-07-17 23:35:18 -04:00
Michael Cook (mackal) c41521c310 Fix saving binds on charcreate 2016-07-17 22:50:00 -04:00
Michael Cook (mackal) 7cd613e5f2 Comment spell struct with official names for each field 2016-07-17 02:13:13 -04:00
Michael Cook (mackal) 921136c987 Exclude in other Perma Illusion spot 2016-07-16 19:40:20 -04:00
Michael Cook (mackal) d4df2e7351 Exclude Minor Illusion and Illusion: Tree from perma 2016-07-16 19:33:36 -04:00
Michael Cook (mackal) 9cf553232d Tweak spell dot stacking exempt based on client 2016-07-16 18:18:41 -04:00
Michael Cook (mackal) bbf4d19de3 Revert "Changed tuple use to struct in maps.cpp (LoadV2) (should help in client drops where slow zone boot-ups are a factor)"
This reverts commit 02cedce54e.

This is breaks moors!
2016-07-15 15:20:36 -04:00
Michael Cook (mackal) a9ff407657 Optimize Mapp:RotateVertex()
This function can get rather expensive and waste a surprisingly
large amount of time. Using moors as a test zone simply switching
from the C math API cos/sin to std::cos/std::sin seemed to help

11.11% Map::RotateVertex(glm::tvec3<float, (glm::precision)0>&, float, float, float)
4.16% Map::RotateVertex(glm::tvec3<float, (glm::precision)0>&, float, float, float)
2016-07-10 23:18:26 -04:00
Michael Cook (mackal) 4b57f69cba Fix illusions on zone 2016-07-07 16:17:13 -04:00
Michael Cook (mackal) 860ee81a38 Break invis for AA casts 2016-06-30 21:59:50 -04:00
Michael Cook (mackal) bcec9501b7 Fix issue with invis not dropping for new item clicks
Clients using OP_ItemVerifyRequest couldn't break the invis
themselves, so we gotta for them
2016-06-30 21:49:20 -04:00
Michael Cook (mackal) 37b46d1289 Make more usage of CancelSneakHide 2016-06-30 21:49:00 -04:00
Michael Cook (mackal) 54de212214 Implement OP_CancelSneakHide
Didn't test every client, but they should all work
2016-06-30 17:50:31 -04:00
Michael Cook (mackal) a64343689c Refactor loot response a bit
Invis is dropped after ALL error checking now
Identified all the response types
2016-06-30 14:00:18 -04:00
Michael Cook (mackal) 3e0af2928b Remove duped code from CommonBreakInvisibleFromCombat 2016-06-30 01:30:51 -04:00
Michael Cook (mackal) 59ec184208 Merge pull request #533 from noudess/master
Res effects now block certain buffs like on live.  Blocked spells generate message like on live.
2016-06-28 13:34:39 -04:00
Michael Cook (mackal) 30b516e7bd Merge pull request #530 from EQEmu/luarocks
Add luarocks support
2016-06-17 21:09:40 -04:00
Michael Cook (mackal) 57ebfd2675 Merge pull request #532 from noudess/master
Changed personal faction earned min/max values to -2000/2000.
2016-06-13 14:30:39 -04:00
Michael Cook (mackal) af99db7287 Merge pull request #531 from noudess/master
Fix for detrimental/beneficial spell overwrite and/or block.
2016-06-13 13:27:41 -04:00
Michael Cook (mackal) 2b2ebc75b0 Add luarocks support
This allows one to use the lua_modules folder as their luarocks tree
ex (from the server folder with lua_modules using default location)

luarocks --tree=lua_modules install luasql-mysql MYSQL_INCDIR=/usr/include

This will install the luasql mysql module so you can now do queries from lua
2016-06-11 15:59:46 -04:00
Michael Cook (mackal) 83bb10b32b Add support for sub folder style lua modules
Ex. lua_modules/?/init.lua will work (which some lua modules do use)
2016-06-11 13:23:52 -04:00
Michael Cook (mackal) 471d7ec42d Merge pull request #528 from EQEmu/altcurr
Fixes #527
2016-06-10 23:31:43 -04:00
Michael Cook (mackal) 56cb719d1a Merge pull request #522 from 9thsector/FreeBSDFixes
FreeBSD Compile Fixes
2016-05-25 18:53:56 -04:00
Michael Cook (mackal) e2a5ffe59e Merge pull request #525 from 9thsector/configfile-patch-location-fix
reording includes fixes patch file location problem
2016-05-25 18:53:46 -04:00
Michael Cook (mackal) 615158e701 Make EQStreamIdentifier::Record ctor take advantage of move semantics [clang-tidy] 2016-05-25 16:29:39 -04:00
Michael Cook (mackal) 60da544d3a clang-tidy modernize-use-auto 2016-05-25 16:10:28 -04:00
Michael Cook (mackal) cdbeb24a05 Change emptiness checks to empty() from size() [clang-tidy]
This has two benefits, it's clear what we are checking and
size() isn't always constant time, where empty is (performance!)
2016-05-25 14:57:47 -04:00
Michael Cook (mackal) c43d436b1f Fix more windows.h/winsock.h/winsock2.h issues
We want to use winsock2.h rather than winsock.h. This was mostly enforced
from the global_defines.h file, but I wanted to make it consistent.

Most of these includes can be removed since they're included via
global_defines.h, but someone on windows should clean that up
2016-05-25 13:46:47 -04:00
Michael Cook (mackal) c059ff01ba Nuke unused COLLECTOR defines 2016-05-25 02:38:06 -04:00
Michael Cook (mackal) 12905a3771 Fix Item_Struct::IsEquipable issue 2016-05-22 18:02:46 -04:00
Michael Cook (mackal) 0c311ad3fe Fix Client::ChangeMailBox 2016-05-17 18:22:44 -04:00
Michael Cook (mackal) a8a4712fce Remove unused header 2016-05-17 17:47:26 -04:00
Michael Cook (mackal) 981d3e6b60 Refactor Clientlist::Voiced to std::vector 2016-05-17 17:42:34 -04:00
Michael Cook (mackal) f185257415 Refactor ChatChannel::Invitees to std::vector 2016-05-17 17:38:08 -04:00
Michael Cook (mackal) 1a7a5aa8c8 More UCS refactoring 2016-05-17 16:52:04 -04:00
Michael Cook (mackal) 29da15f38c Rename CL to g_Clientlist 2016-05-17 15:11:23 -04:00
Michael Cook (mackal) 38af484368 Fix mismatch new/delete 2016-05-16 23:47:01 -04:00
Michael Cook (mackal) 046dfe3e12 Add missing continue to Clientlist::Process 2016-05-16 23:25:27 -04:00
Michael Cook (mackal) 52bee3e8a0 Rework Clientlist::Process to not skip clients ... 2016-05-16 23:22:42 -04:00
Michael Cook (mackal) d2888e6cca Fix mismatched new/delete 2016-05-16 23:22:23 -04:00
Michael Cook (mackal) edc42bf5b6 Add small chrono timer object
This is just so if someone wants a quick way to measure how long
something takes for benchmarking purposes they don't have to
reinvent anything. See examples in comments
2016-05-13 21:33:03 -04:00
Michael Cook (mackal) de48d79b27 Need to account for null byte 2016-05-09 21:46:05 -04:00
Michael Cook (mackal) c159b89e79 Rewrite VarCache_Struct
Basically just remove manual memory management
2016-05-09 14:25:54 -04:00
Michael Cook (mackal) 907bc68e1c Mismatched delete statement 2016-05-06 23:14:48 -04:00
Michael Cook (mackal) 47c9182ba3 Fix potential memory leaks (clang-tidy) 2016-05-06 22:58:45 -04:00
Michael Cook (mackal) 74b3fe9d61 Potential memory leak fix 2016-05-06 22:42:19 -04:00
Michael Cook (mackal) 20a36151b3 Make Client::TradeskillSearchResults take a reference 2016-05-06 22:04:21 -04:00
Michael Cook (mackal) f85add14db Fix some undefined behavior issues?
MakeAnyLenString results in UB (I think?) and is aggressively optimized out with clang
GrantAlternateAdvancementAbility were missing return statements and clang had fun times with those functions too
2016-05-06 21:31:46 -04:00
Michael Cook (mackal) 3bf13c5349 Run the timeout_manager in loginserver (thanks image) 2016-05-06 13:34:13 -04:00
Michael Cook (mackal) a49aef24c5 Fix luabind::adl::object forward declare for clang
clang didn't like this, and GCC likes both :P
2016-05-04 03:01:53 -04:00
Michael Cook (mackal) 2fde9edb41 Fix null bind issues 2016-04-26 16:06:24 -04:00
Michael Cook (mackal) 700e801821 Fix mismatched delete in QueryServ 2016-04-12 13:44:33 -04:00
Michael Cook (mackal) 761c2be722 Style changes (auto, post-inc to pre-inc) 2016-04-08 14:14:09 -04:00
Michael Cook (mackal) 1551e5d908 Add mutex to EQStream::Decay to prevent threading issues 2016-04-08 14:11:02 -04:00
Michael Cook (mackal) ba5b3c2796 Update fling struct and add Fling to lua opcode enum 2016-03-29 15:11:59 -04:00
Michael Cook (mackal) 5585ddb80b Add OP_Fling stuff so devs can play with 2016-03-25 20:26:21 -04:00
Michael Cook (mackal) 2189569312 Merge pull request #506 from clucksoft/master
Zone crash fix
2016-03-07 02:03:25 -05:00
Michael Cook (mackal) 9599501ace Implement extra bind points (secondary recall)
For SE_Gate, base2 is which bind to use (starting at 1)
For SE_BindAffinity, base1 is which bind to set (starting at 1)
For SE_GateCastersBindpoint, base1 is which bind to use (starting at 1)
    here was actually no spells that don't send to the main bind,
    but it uses a base1 of 1 which matches with SE_Gate
    This also doesn't break anything

The quest stuff for now hasn't been updated to be able to make use of the extra binds

There are a total of 5 bind points, with the 5th being your starting city
2016-03-05 16:28:53 -05:00
Michael Cook (mackal) 306586fa7e Exclude discs from buff slot stealing logic 2016-02-06 19:33:44 -05:00
Michael Cook (mackal) 3bbf337c24 Merge pull request #497 from daerath/master
Changed Item_Struct's CastTime member to uint32 (was uint16)
2016-01-28 19:35:40 -05:00
Michael Cook (mackal) 15c92f019a Mob::Charmed() should be useful now
We should really clean this up, but this is quicker
2016-01-25 14:01:03 -05:00
Michael Cook (mackal) d86307c720 Rework say links
We now consume 1 item ID for say links, this means you will be able to create
more items! We used ID 0xFFFFF for this, which is the max ID an item can be
in the item links. You have the rest to play with!

Normal say links pass the ID in the first aug slot and silent say links
in the second aug slot. This means we can have MANY more say links as well!
2016-01-20 22:31:35 -05:00
Michael Cook (mackal) 1ddbfdf4e9 Fix ItemInst::GetItemElementalDamage 2016-01-16 18:46:32 -05:00
Michael Cook (mackal) 600866f573 Rewrite Bane and Elemental Dmg stuff and GetWeaponDamage (client version) 2016-01-16 18:29:17 -05:00
Michael Cook (mackal) ad1c91f204 Fix bots 2016-01-16 17:52:21 -05:00
Michael Cook (mackal) 8f0d9015be Fix rec/req level issues 2016-01-16 17:17:09 -05:00
Michael Cook (mackal) 281344b049 Add various GetItemStat totallers to ItemInst
The intent of these functions is to simplify various locations in the
code where we need to get a total of some stat on an item, including augs
and we can not just grab the total from the itembonuses struct.

This will also centralize where we need to add the powersource aug scaling
when we implement them. Since they will need the Purity stat from the
item it is in.

Notes:
    - These functions recurse if the augments flag is true, which is false by
      default to make it so you have to be explicit about recursing or not
    - These functions don't take into account if you can equip or if you are
      below recommended level, you will have to do that where you call these
      functions.
2016-01-16 17:10:11 -05:00
Michael Cook (mackal) d7e44643b5 Fix resist display issue for RoF/RoF2
These need to be found for the other clients
They are most likely a similar amount of bytes away from
the potionbelt in all clients
2016-01-15 17:20:48 -05:00
Michael Cook (mackal) 42f7e03b04 Fix typo in last commit 2016-01-15 17:00:10 -05:00
Michael Cook (mackal) f33f3bd4f5 Fix Drakkin base resists and some missing class bonuses 2016-01-15 16:09:23 -05:00
Michael Cook (mackal) 3048eca5ad Merge pull request #490 from AthrogatePEQ/master
Lua_Client::ClearCompassMark()
2016-01-12 22:56:18 -05:00
Michael Cook (mackal) 2cb58e9d02 Merge pull request #488 from daerath/master
* LightProfile_Struct::TypeToLevel.  Incorrect comparision in case statement.
2016-01-11 12:34:44 -05:00
Michael Cook (mackal) 6fc5f8fba2 Fix stacking issues with SE_DamageModifier and SE_MinDamageModifier 2016-01-10 15:31:04 -05:00
Michael Cook (mackal) 2f129da08a Add GetAttackDelay to lua's NPC API 2016-01-06 15:48:10 -05:00
Michael Cook (mackal) 17c45c8d36 Move triggered on cast things to after the spell
This appears how live does it
2016-01-06 13:30:50 -05:00
Michael Cook (mackal) 20f5c42c3e Fix 60+ resist caps 2016-01-05 02:54:09 -05:00
Michael Cook (mackal) 5bcb9f0b35 Fix classic h2h dmg/delay also support for revamp
The revamp was implemented during SoF
Set Combat:UseRevampHandToHand to true to enable
2016-01-03 14:38:50 -05:00
Michael Cook (mackal) 05de206ace Rework quiver haste 2016-01-03 01:58:37 -05:00
Michael Cook (mackal) 28848fa913 Merge pull request #486 from noudess/master
Added runspeed to #mystats window
2016-01-02 17:39:02 -05:00
Michael Cook (mackal) 3996a70037 2h DB should match client closer
I think the dev missed something when making it pretty for the forums
This should match it better.
2015-12-31 01:08:04 -05:00
Michael Cook (mackal) e70b34f245 Merge pull request #482 from af4t/master
MSVC 2015 wants <algorithm> #included for std::min.  If any other com…
2015-12-30 12:46:51 -05:00
Michael Cook (mackal) 7045581fdc Cap big bags to 10 slots for now 2015-12-29 15:22:09 -05:00
Michael Cook (mackal) c2c08b85f1 Merge pull request #481 from KinglyKrab/master
Added GetInstanceTimerByID(instance_id) to Perl and Lua.
2015-12-29 02:35:19 -05:00
Michael Cook (mackal) 3a7d7c727f AA updates [skip ci] 2015-12-26 13:29:34 -05:00
Michael Cook (mackal) c168d7b7b6 Fix macro hack? [skip ci] 2015-12-21 12:41:49 -05:00
Michael Cook (mackal) 7ad33f2445 Fix formatting 2015-12-21 12:33:32 -05:00
Michael Cook (mackal) dfc5699403 Merge pull request #476 from KinglyKrab/master
Exported several Mob-based methods to Perl and Lua.
2015-12-19 19:54:17 -05:00
Michael Cook (mackal) 03592e58f9 Port EQMacEmu's Assist Aggro code
This code also allows you to toggle on Tick Pulling (Aggro:AllowTickPulling)
which was a pulling technique (exploit) fixed sometime in 2006

This code also implements assist caps to cut down on trains (5 by default)
Unsure if live what this number is (it exists) or if it's a per NPC basis

An NPC with Assist Aggro will not call for help, only NPCs with Primary Aggro will
2015-12-18 17:41:57 -05:00
Michael Cook (mackal) f8867ea73d Bump up initial aggro from Yell for Help to match initial aggro
I guess I forgot this one
2015-12-18 13:46:05 -05:00
Michael Cook (mackal) 488be05e0e Add DB manifest for eqtime change 2015-12-17 19:50:33 -05:00
Michael Cook (mackal) 0fa5b8d3f2 Merge pull request #467 from Cilraaz/master
Old Race/Class Experience Mods
2015-11-20 14:00:03 -05:00
Michael Cook (mackal) 8464a0e3b5 Implement Guild Banks for RoF/RoF2
Everything appears to work, but please test!
2015-11-17 18:15:46 -05:00
Michael Cook (mackal) 525a39912f Override Mob::GetEndurancePercent() for Merc
This allows their endurance to show in group!
2015-11-15 16:35:11 -05:00
Michael Cook (mackal) 7c4abcc68d Fix int16 spell ID limit with items (click, procs, etc)
See issue #7 (Did we resolve it yet?)
2015-11-14 14:37:24 -05:00
Michael Cook (mackal) 78c75501f7 Reply to the request made on opening XTarget window
This allows the Extended Targets option in the EQ Menu to open the window
2015-11-10 03:27:30 -05:00
Michael Cook (mackal) a6f6e18969 Implement cast restriction 700 (NPC only) 2015-11-03 18:43:47 -05:00
Michael Cook (mackal) 8d80f39ead Fix copy paste error 2015-11-03 14:17:55 -05:00
Michael Cook (mackal) 63ae7ac315 Add Casting Restrictions to SE_CurrentHP (DoTs) buff processing 2015-11-03 14:16:36 -05:00
Michael Cook (mackal) e7184f402d Add Casting Restrictions to SE_CurrentHPOnce 2015-11-03 14:16:36 -05:00
Michael Cook (mackal) 835fbb81cb Expand Casting Restrictions
Mostly to nerf HT, not fully implemented
2015-11-03 14:16:36 -05:00