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.
Syntax on NPC is:
e.other:QuestReward(e.self,copper,silver,gold,platinum,item,experience,factionid,factionvalue);
This will give you any or all of the rewards and their messages with one call, including the quest ding sound. Any item is sent to your inventory, like SummonItem does now. The coin message is generated by the client, and will give you a message for each coin type (You recieve 5 copper...). No way around that, but it's still useful if the reward only calls for a single type.
Most of the following changes are QueryServ related, fully implemented its original functionality to be able to offload
intensive or metric based logging to a remote server process that could exist on another server entirely
Implemented Player Event Logging Types (Go to table `qs_player_events`):
1 = Player_Log_Quest,
2 = Player_Log_Zoning,
3 = Player_Log_Deaths,
4 = Player_Log_Connect_State,
5 = Player_Log_Levels,
6 = Player_Log_Keyring_Addition,
7 = Player_Log_QGlobal_Update,
8 = Player_Log_Task_Updates,
9 = Player_Log_AA_Purchases,
10 = Player_Log_Trade_Skill_Events,
11 = Player_Log_Issued_Commands,
12 = Player_Log_Money_Transactions,
13 = Player_Log_Alternate_Currency_Transactions,
- All QueryServ logging will be implemented with a front end in EoC 2.0 very soon
Changed all QS Error related logging to 'QUERYSERV__ERROR'
(Natedog) (Crash Fix) Legacy MySQL bug revert for loading AA's COALESCE( from COALESCE (
Implemented Perl Quest objects (LUA still needed to be exported):
- quest::qs_send_query("MySQL query") - Will send a raw query to the QueryServ process, useful for custom logging
- quest::qs_player_event(char_id, event_desc); - Will process a quest type event to table `qs_player_events`
Added MySQL Tables:
- `qs_player_aa_rate_hourly`
- `qs_player_events`
- Source table structures from:
- utils\sql\git\queryserv\required\08_23_2014_player_events_and_player_aa_rate_hourly
To get the complete QueryServ schema, source from here:
- utils\sql\git\queryserv\required\Complete_QueryServ_Table_Structures.sql
Added rules for each logging type, source rules here with them enabled by default:
- utils\sql\git\queryserv\required\Complete_QueryServ_Rules_Enabled.sql
Spawn related logging cleanup
General code cleanup
Added queryserv.cpp and queryserv.h with QueryServ class
commit 5d074ea99837e1b0e5bca57f2484f01e623025f8
Author: Michael Cook <mcook@mackal.net>
Date: Thu Jun 5 02:57:56 2014 -0400
Update LS default entry in example config
commit e9c4613368029c219637f8a6d1b7846b48dc85cf
Merge: 3690f93 dd73b82
Author: KimLS <KLS@peqtgc.com>
Date: Wed Jun 4 18:32:48 2014 -0700
Merge branch 'master' into water_map_v2
commit 3690f933020cbb24ae12b32a18ad2ca836edcfb0
Author: KimLS <KLS@peqtgc.com>
Date: Sat May 31 16:32:15 2014 -0700
Fix for fear failing, removed #fear command because it was blank anyway, added a cmake command to change the default map/water/path directory
commit dd73b82ec21faaec0895fc9c9e6647cfcc4d8fec
Author: KimLS <KLS@peqtgc.com>
Date: Tue May 27 16:16:06 2014 -0700
Fix for a problem with global player quests and hasquestsub
commit 8a5405060fa732c6199d1307c4c8aca2081ff498
Author: KimLS <KLS@peqtgc.com>
Date: Fri May 23 17:39:16 2014 -0700
Fix for string.h missing in water map
commit 83270d09836506b7fe097e07c0633b30d67b4ecf
Author: KimLS <KLS@peqtgc.com>
Date: Fri May 23 16:10:23 2014 -0700
Merge from master stuff
commit fd4343702f7dab3f6553ced17af24276b19f4ffa
Merge: 0483e8b 5af47c5
Author: KimLS <KLS@peqtgc.com>
Date: Fri May 23 16:09:46 2014 -0700
Merge branch 'master' into water_map_v2
commit 0483e8bd1ba99d16ad2e9eb67e865606589fd09a
Author: KimLS <KLS@peqtgc.com>
Date: Fri May 23 16:08:02 2014 -0700
Removed the logging now that the issue is resolved
commit 39cbdbd5c2e12f304330fd566779e3020eb511fd
Author: KimLS <KLS@peqtgc.com>
Date: Fri May 23 15:54:26 2014 -0700
Debug logs for map, also can actually turn perl off on zone
commit 3a2ccd75210066a165809c91704222fff35ee533
Author: KimLS <KLS@peqtgc.com>
Date: Wed May 21 17:30:54 2014 -0700
Added loading of v2 regular maps, also #bestz will report water info even if a reg map failed to load.
commit 8c9227180449454bc712edbcc50ff23371c80acd
Author: KimLS <KLS@peqtgc.com>
Date: Tue May 20 00:14:26 2014 -0700
Initial v2 water map format.