107 Commits

Author SHA1 Message Date
KimLS
46cb96a026 Merchant buying in flux but it works better now 2015-06-22 23:50:39 -07:00
KimLS
bbc3733c3a Compiles again, had to disable a new piece of code though 2015-06-21 01:45:42 -07:00
KimLS
5995afa1b8 Merge from master, probably wont compile but will fix that soon 2015-06-21 01:38:19 -07:00
Uleat
c2e4365214 Implemented rule-based disenchanted bag use 2015-06-07 22:07:40 -04:00
SecretsOTheP
788959a5e2 Haynar's movement fixes.
Changes Speed from float to int. EQ client deals with int step locs better than it does floats according to Haynar's testing.

This also contains mob runspeed changes. I recommend you set runspeeds to start in the DB 1.25 for NPCs below 1.25 which will match player runspeeds almost equally. Existing DBs will need to be updated.

General Cleanup of MobAI functions. Mobs now change their heading on AIMovement timers if their targets' heading has changed since that time. This prevents players from being able to land backstabs inbetween mob swings.

Charmed/feared players now send the appropriate packet, there was a missing CastToClient() in spells that was missing.

Mob runspeed can no longer be snared to 0%, instead, 1% of their base runspeed is the maximum. Roots apply as roots instead of a modifier under this code.

There is going to be bugs with this code. It's better we push through it than revert it. Sanctuary has been running this for a good week and we've worked through the issues.

Misc updates:
Exported some variables to perl, including:

EVENT_ITE_CLICK_CAST:
EVENT_ITEM_CLICK:
spell_id - returns the spell_id of the click effect.
return value - cancels the cast.

EVENT_DROP_ITEM:
quantity - returns the # of items dropped in the packet. If the item has charges, charges are returned here instead.
itemname - name of the item being dropped
itemid - id of the item being droppped
spell_id - spell_id associated with the item's click effect.
slotid - the inventory slot id of the item being dropped.
return value - cancels the item from being dropped.

Added Perl function: CalcEXP. Calculates the experience you would gain for an NPC that cons a specific con value to you.

Fixed a bug where you would receive the group experience bonus and group experience messages for simply being in a group, regardless of the player being in the same zone as you.
2015-05-25 12:35:53 -04:00
KimLS
56e7d1b0dc Okay finally merchant buying works -.- 2015-04-07 16:28:28 -07:00
KimLS
21ce5c6daa Merge plus some work on fixing stacking for merchants. 2015-03-15 14:02:13 -07:00
KimLS
00af95502e Wip merchant stuff, summoning should work now. 2015-03-06 15:53:15 -08:00
KimLS
dda8ae4803 Basic item summoning, fix for saving not working 100 pct, deletion works, cursor queue should work too. 2015-03-05 18:03:37 -08:00
Uleat
fe294e60b5 Fix for 'Invalid Slot ID' messages, item loss during corpse looting, and possible item loss during LDoN/Adventure merchant purchases 2015-03-03 04:08:52 -05:00
KimLS
972d3d8874 Fix for swapping a stack with another item that is not of the same stack size. Added some console visualization for testing and added basics of data modeling for inventory, saving soon. 2015-03-02 19:38:57 -08:00
KimLS
abc5ddc5f8 Inventory Swap implemented and passes tests, though still want to verify it a bit more also does not yet save but that's next. Fixed a crash in memory buffer too. 2015-03-02 00:44:28 -08:00
KimLS
20cbe4af44 More work on swapping, almost there just need to write code for stack split/move/combining 2015-02-28 17:56:01 -08:00
KimLS
7870bf103a Working on can equip, putting it in the general inventory class. 2015-02-27 02:40:44 -08:00
KimLS
18b4d068ea Early stages of swapping requirements in, should check for basic validity and equipable status 2015-02-26 22:09:29 -08:00
KimLS
568938d003 Merge from master 2015-02-25 19:39:48 -08:00
KimLS
69612b44d4 OP_MoveItem encode/decode for RoF2, disabled other patches for now (until i get rof2 packets and mechanics working well enough to go back and fix those) 2015-02-23 22:45:50 -08:00
JJ
318a664b09 No "sigs". [skip ci] 2015-02-23 19:57:47 -05:00
KimLS
a90e9cf4c6 Refactoring 2015-02-20 20:15:58 -08:00
KimLS
fc2492a859 Merge from master, fixed conflicts 2015-02-18 13:18:21 -08:00
KimLS
701e194ece Renamed Item_Struct to ItemData 2015-02-17 18:06:22 -08:00
KimLS
b75e6308dd Renamed Inventory to InventoryOld 2015-02-17 13:42:21 -08:00
Uleat
e4be4d6895 Pre-purposed clean-up 2015-02-17 13:58:26 -05:00
Uleat
f1a25da065 Pre-purposed clean-up 2015-02-17 13:58:19 -05:00
Uleat
5a619bddaf Excluded limbo (cursor buffer) from HasItem checks 2015-02-06 09:58:57 -05:00
Uleat
2bf2485b4c Enforced const_interator returns on const_iterator return types in Inventory and ItemInst 2015-02-06 07:57:15 -05:00
JJ
96925f0dde Some minor cleanup. [skip ci] 2015-01-31 17:03:44 -05:00
Uleat
7e980e1e7c Added 'NoDrop Hack' check log message to Client::SwapItem() 2015-01-24 20:46:48 -05:00
Akkadius
c5447778a6 Merge remote-tracking branch 'remotes/origin/master' into logging_changes
Conflicts:
	world/client.cpp
	world/worlddb.cpp
	zone/aggro.cpp
	zone/bot.cpp
	zone/client.cpp
	zone/client_packet.cpp
	zone/client_process.cpp
	zone/doors.cpp
	zone/entity.cpp
	zone/inventory.cpp
	zone/mob_ai.cpp
	zone/perl_client.cpp
	zone/spells.cpp
	zone/waypoints.cpp
	zone/zone.cpp
	zone/zonedb.cpp
	zone/zoning.cpp
2015-01-21 17:29:30 -06:00
Akkadius
1e59416f33 Post merge manual fixes 2015-01-21 16:49:25 -06:00
Akkadius
3d74035e24 Merge remote-tracking branch 'remotes/origin/master' into logging_changes
Conflicts:
	zone/command.cpp
	zone/command.h
	zone/inventory.cpp
2015-01-21 16:40:46 -06:00
Uleat
e70e443950 Implemented 'enum class ClientVersion' -- added 'RoF2' to lua client version enumeration 2015-01-19 23:32:57 -05:00
Akkadius
0d9b6703a6 Rename debug.h to global_define.h, update cmakelists and such 2015-01-19 04:12:09 -06:00
Akkadius
b6587cc9e2 Removal of logsys.h from #include(s) 2015-01-18 04:03:45 -06:00
Akkadius
467b359d0c Moved all EQEmuLogSys:: enum references used in Log.Out to a namespace 'Logs' for shortening of syntax 2015-01-18 02:20:16 -06:00
Akkadius
c025765283 Renamed DoLog to Out as the aggregate logging function for simplicity of use and shortened syntax of Log.Out 2015-01-18 02:00:15 -06:00
Akkadius
1c048cb1d1 Renamed DebugCategory to DoLog as the aggregate logging function for simplicity of use and shortened syntax of Log.DoLog 2015-01-18 01:54:09 -06:00
Akkadius
e691735a2d Consolidate 'LogType' Error logs over to 'LogCategory' 2015-01-18 01:30:25 -06:00
Akkadius
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
58d0b86a67 Consolidate EQEmuLogsys::Debug General calls into DebugCategory 2015-01-18 00:00:03 -06:00
Akkadius
d45ed9befa Consolidate EQEmuLogsys::Debug calls into DebugCategory 2015-01-17 23:59:06 -06:00
Akkadius
25642f924e port mlog 'Inventory' category to new log system 2015-01-17 02:04:43 -06:00
Akkadius
132fbbb0c6 Rename LogDebugType to DebugCategory 2015-01-16 03:09:02 -06:00
Uleat
636a259c4c Patchwork of changes..mostly related tracing a cursor queue bug (see changelog) 2015-01-15 21:24:26 -05:00
Akkadius
463b358992 Convert 'INVENTORY' debugging _log to logger.LogDebugType 2015-01-12 22:53:46 -06:00
Akkadius
7e7c59967c _log error convert to logger.Log(EQEmuLogSys::Error 2015-01-10 19:05:46 -06:00
Akkadius
b2a1597e73 More _log Client replacements 2015-01-10 18:52:27 -06:00
Akkadius
b76e179d75 Fix spacing 2015-01-10 15:47:36 -06:00
Akkadius
6844645dfb Replace LogFile->write(EQEmuLog::Error, with logger.logevents(EQEmuLogSys::Error 2015-01-10 15:44:35 -06:00
Akkadius
dadae1a71f Replaced Debug messages: LogFile->write with logger.LogDebug 2015-01-10 15:26:38 -06:00