diff --git a/changelog.txt b/changelog.txt
index 92f11ced6..673f76e3e 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -73,48 +73,48 @@ Uleat: Reworked BotDatabase into a functional add-on for ZoneDatabase
== 3/1/2019 ==
Noudess: Major faction conversion to use client data.
- Pull request #802 New min/max personal faction per faction. Use of actual
+ Pull request #802 New min/max personal faction per faction. Use of actual
client mods for race/class/deity.
This PR involves major changes to your database and your quests.
- The clients recently exposed raw data included
+ The clients recently exposed raw data included
- the min/max personal faction for each faction
- the actual faction id the client uses for each faction
- - the actual mods that come into play when a PC cons an opponent that
+ - the actual mods that come into play when a PC cons an opponent that
determine your overall con to that faction.
- The approach I took resulted in minimal change to the code base. I did
- alter the code to enforce the new validated min/max from the client. This
- min/max applies to personally earned faction. So if a faction has a min
- of 0 and a max of 2000, that means your personally earned value can never
- go below 0 or over 2000. The actual con, will, however often do so because
- of class/race/deity modifications. I also changed the con ranges, per
+ The approach I took resulted in minimal change to the code base. I did
+ alter the code to enforce the new validated min/max from the client. This
+ min/max applies to personally earned faction. So if a faction has a min
+ of 0 and a max of 2000, that means your personally earned value can never
+ go below 0 or over 2000. The actual con, will, however often do so because
+ of class/race/deity modifications. I also changed the con ranges, per
Mackal's data that was proven to be accurate:
- Ally = 1100+
- Warmly = 750 to 1099
- Kindly = 500 to 749
- Amiable = 100 to 499
- Indifferent = 0 to 99
- Apprehensive = -1 to -100
- Dubious = -101 to -500
- Threateningly = -501 to -750
- Ready to Attack = -751
+ Ally = 1100+
+ Warmly = 750 to 1099
+ Kindly = 500 to 749
+ Amiable = 100 to 499
+ Indifferent = 0 to 99
+ Apprehensive = -1 to -100
+ Dubious = -101 to -500
+ Threateningly = -501 to -750
+ Ready to Attack = -751
- The above means that dubious is a much smaller range now. For that reason
- the scripts modify any custom faction base values to put them in the same
+ The above means that dubious is a much smaller range now. For that reason
+ the scripts modify any custom faction base values to put them in the same
range, hopefully as the creators of the custom factions intended.
- Also to be noted as characters that have a faction between -501 and -700
- wont be dubious anymore, they will be threateningly. This is expected with
- the new ranges, but might take players by suprise as the old ranges we used
+ Also to be noted as characters that have a faction between -501 and -700
+ wont be dubious anymore, they will be threateningly. This is expected with
+ the new ranges, but might take players by suprise as the old ranges we used
were more liberal but were incorrect.
- The database is changed extensively, but really only content. We're
- translating faction_list to use the clients ids. As such every place a
+ The database is changed extensively, but really only content. We're
+ translating faction_list to use the clients ids. As such every place a
faction_is is used, namely (see below) are being converted.
- faction_list
@@ -123,41 +123,41 @@ Noudess: Major faction conversion to use client data.
- npc_faction_entries (faction_id field only)
- faction_values
- Quests will also automatically be adjusted. This MUST be done after the
- PR sql and before starting the server. This is automated by
+ Quests will also automatically be adjusted. This MUST be done after the
+ PR sql and before starting the server. This is automated by
eqemu_server.pl (or starting world)
- Be assured, custom factions that you may have created, or obsolete or
- duplicate factions in our original faction_list, that you may have used,
- will be preserved. Anything that does not map directly is being moved to
- the 5000 range in faction_list and any references are corrected to point
+ Be assured, custom factions that you may have created, or obsolete or
+ duplicate factions in our original faction_list, that you may have used,
+ will be preserved. Anything that does not map directly is being moved to
+ the 5000 range in faction_list and any references are corrected to point
there.
- A great example of this is Ebon Mask and Hall of the Ebon Mask. Many peqdb
- style servers have both of these. Some have used one, some the other. We
- map Ebon Mask to the clients Ebon mask and the Hall of the Ebon Mask gets
- moved to the 5000 range, and all its references are preserved. However,
- if you would like to make proper use of client mobs to Ebon mask, or other
- factions that have duplicitous entries, I recommend you manually move to
- using the correct one. In that way all of the new raw data mapped in from
- the client into faction_list_mod will get used instead of what your db had
+ A great example of this is Ebon Mask and Hall of the Ebon Mask. Many peqdb
+ style servers have both of these. Some have used one, some the other. We
+ map Ebon Mask to the clients Ebon mask and the Hall of the Ebon Mask gets
+ moved to the 5000 range, and all its references are preserved. However,
+ if you would like to make proper use of client mobs to Ebon mask, or other
+ factions that have duplicitous entries, I recommend you manually move to
+ using the correct one. In that way all of the new raw data mapped in from
+ the client into faction_list_mod will get used instead of what your db had
before these values were known.
- In my experience converting 4 different server's data, there are only
+ In my experience converting 4 different server's data, there are only
about 20 factions moved into the 5000 range.
- This PR has only 1 new, permanent table faction_base_data, which is taken
- right from the client. The base field is left in case you want to mod your
- server, but we are very sure that the client doesn't use a base. It uses
- global mods to race or class for this as you'll see in the
+ This PR has only 1 new, permanent table faction_base_data, which is taken
+ right from the client. The base field is left in case you want to mod your
+ server, but we are very sure that the client doesn't use a base. It uses
+ global mods to race or class for this as you'll see in the
new faction_list_mod.
The PR makes many backup tables, and two mapping tables that are used during
- the conversion process to fix quests. This table was hand created by
- analysis. This table serves no purpose after conversion except an audit
+ the conversion process to fix quests. This table was hand created by
+ analysis. This table serves no purpose after conversion except an audit
trail if we see any issues.
- I will release a new PR that will clean up all these backups and temporary
+ I will release a new PR that will clean up all these backups and temporary
tables in about a month.
== 2/7/2019 ==
@@ -327,7 +327,7 @@ Kinglykrab: Added multiple new instance related quest functions.
Added spell buckets, similar to spell globals.
- Uses a new spell_buckets table and the Spells:EnableSpellBuckets rule.
-
+
Added max level by data bucket.
- Uses data bucket char_id-CharMaxLevel and Character:PerCharacterBucketMaxLevel rule.
@@ -337,7 +337,7 @@ Uleat: Added bot owner options
- options are saved in the database and therefore, persistent
- Implemented option 'deathmarquee'
-- toggles client owner flag to show marquee message when a bot dies (default: disabled)
-
+
== 10/07/2018 ==
Uleat: Fixed a few bot issues..
- Fix for bot item trades not attuning
@@ -353,27 +353,27 @@ Uleat: Fixed a few bot issues..
Uleat: Notes for manual conversion of quest script inventory slot values
- You should use reference/lookup values provided by the lua and perl apis to avoid skirting safety checks
and to ensure that the values used are the correct ones for your needs
-
+
[perl api examples]
old:
1) my $charmitem = $client->GetItemIDAt(0);
2) for($for_x = 22; $for_x < 30; $for_x++) {...}
3) for($slot1 = 0; $slot1 <= 30; $slot1++) {...}
-
+
new:
1) my $charmitem = $client->GetItemIDAt(quest::getinventoryslotid("charm"));
2) for($for_x = quest::getinventoryslotid("general.begin"); $for_x <= quest::getinventoryslotid("general.end"); $for_x++) {...} ** notice change of conditional
3) for($slot1 = quest::getinventoryslotid("possessions.begin"); $slot1 <= quest::getinventoryslotid("possessions.end"); $slot1++) {...}
-
+
[lua api examples]
old:
1) if(e.self:GetItemIDAt(30) == 31599) then ...
2) for i = 0, 30, 1 do ...
-
+
new:
1) if(e.self:GetItemIDAt(Slot.Cursor) == 31599) then ...
2) for i = Slot.PossessionsBegin, Slot.PossessionsEnd, 1 do ...
-
+
- If you need to manually assign bag slot ranges to individual 'general' slots, use this assignment for now:
-- General1 (23) = 251 .. 260
-- General2 (24) = 261 .. 270
@@ -386,13 +386,13 @@ Uleat: Notes for manual conversion of quest script inventory slot values
-- General9 (31) = 331 .. 340
-- General10 (32) = 341 .. 350
-- Cursor (33) = 351 .. 360
-
+
- If you need to manually assign ammo or powersource slots, use these values:
-- PowerSource = 21
-- Ammo = 22
-
+
- All slot values not addressed above remain the same
-
+
- Additional information can be found at:
-- https://github.com/EQEmu/Server/wiki/Inventory-Slots
-- https://github.com/EQEmu/Server/wiki/Perl-API
@@ -425,11 +425,11 @@ Uleat: Activation of RoF+ clients' two additional general slots and integration
- Database will have existing inventory slot values modified to the new standard and table `items` entries will
also be updated to the 'correct' equipable slot bitmask
- Script (quest) updates are required with this change
-
+
Note: The proper way to reference inventory slots is to use either instrinsic lookups (c/c++ & perl) or to use valid
const ref declarations (c/c++ & lua). Any other method is not guaranteed to be accurate and may result in item loss
and/or unexpected/undefined behavior.
-
+
== 07/10/2018 ==
Akkadius: Adjusted DataBuckets to use other acceptable time formats
@@ -533,7 +533,7 @@ Uleat: Re-work of Bot::AI_Process(). Overall behavior is much improved.
- Added combat 'jitter' movement to complement the existing rogue movement
- Attack can now be aborted if target contains no leash owner nor bot hate and leash owner turns off auto-attack
- Please report any issues with the bot AI code
-
+
Added a work-around for heal rotations crashing the server - under certain conditions.
== 01/28/2018 ==
@@ -576,7 +576,7 @@ Values stored in the database are 0-6000, previously we capped it at 6000 but pr
== 7/14/2017 ==
Akkadius: HP Update tuning - HP Updates are now forced when a client is targeted
Akkadius: Client position updates should be smoother (granted the client has a good connection)
- - Clients should also no longer randomly disappear
+ - Clients should also no longer randomly disappear
== 7/11/2017 ==
Akkadius: Raid/Group/XTarget HP/Mana/Endurance updates now only send when percentage changes
@@ -613,7 +613,7 @@ Akkadius: Fixed issues with Z correctness when NPCs are engaged with players fol
Akkadius: NPC corpses should fall into the ground far less
== 6/25/2017 ==
-Akkadius: New rules made by developers are now automatically created when world boots up, this keeps
+Akkadius: New rules made by developers are now automatically created when world boots up, this keeps
from having to issue schema SQL updates every time rules are added.
- Whenever a rule isn't present in the database, it will be automatically created
Akkadius: Sped up saylink retrieval x1000 helpful for dialogues, plugins with many saylinks
@@ -630,11 +630,11 @@ KLS: Merge eqstream branch
- Because of changes to the TCP stack, lsreconnect and echo have been disabled.
- The server tic rate has been changed to be approx 30 fps from 500+ fps.
- Changed how missiles and movement were calculated slightly to account for this (Missiles in particular are not perfect but close enough).
-
+
- Breaking changes:
- Users who use the cmake install feature should be aware that the install directory is now %cmake_install_dir%/bin instead of just %cmake_install_dir%/
- To support new features such as encryption the underlying protocol had to change... however some servers such as the public login server will be slow to change so we've included a compatibility layer for legacy login connections:
- - You should add 1 to the login section of your configuration file when connecting to a server that is using the old protocol.
+ - You should add 1 to the login section of your configuration file when connecting to a server that is using the old protocol.
- The central eqemu login server uses the old protocol and probably will for the forseeable future so if your server is connecting to it be sure to add that tag to your configuration file in that section.
- Telnet no longer uses the same port as the Server to Server connection and because of this the tcp tag no longer has any effect on telnet connections.
- To enable telnet you need to add a telnet tag in the world section of configuration such as:
@@ -646,11 +646,11 @@ Akkadius: [Performance] Reworked how all log calls are made in the source
- Before we used Log.Out, we will now use a macro Log(
- Before: Log.Out(Logs::General, Logs::Status, "Importing Spells...");
- After: Log(Logs::General, Logs::Status, "Importing Spells...");
- - The difference is
+ - The difference is
1) It's 200-300x faster especially when log statements are inside very hot code paths. We already
- had most hot paths checked before we logged them, but this blankets all existing logging calls now and not just the
+ had most hot paths checked before we logged them, but this blankets all existing logging calls now and not just the
select few we had picked out in the source.
- 2) Strings don't get copied to the stack, popped and pushed constantly even when we hit a log statement that
+ 2) Strings don't get copied to the stack, popped and pushed constantly even when we hit a log statement that
actually isn't going to log anything.
- We do an 'if (LogSys.log_settings[log_category].is_category_enabled == 1)' before we call a log function
in the log macro so the log function doesn't get called at all if we're not logging the category
@@ -660,16 +660,16 @@ Akkadius: [Performance] Reworked how all log calls are made in the source
== 03/30/2017 ==
Akkadius: [Performance] Fixed an overhead issue where many hot paths would trigger quest subroutines and beneath that the code would
- try to see if a quest existed perpetually (checking if file exists) even though it should have determined the quest
+ try to see if a quest existed perpetually (checking if file exists) even though it should have determined the quest
didn't exist the first time.
- This caused a lot of overhead in an instance where an entire zone of NPC's is pathing, triggering EVENT_WAYPOINT_ARRIVE
- and EVENT_WAYPOINT_DEPART when there is no global_npc.pl/lua, or all NPC's pathing don't have a quest assigned, similar
+ and EVENT_WAYPOINT_DEPART when there is no global_npc.pl/lua, or all NPC's pathing don't have a quest assigned, similar
behavior would occur. This goes for any other type of quests: spells, items, encounters etc.
== 03/28/2017 ==
Akkadius: [Performance] Fixed a large overhead issue where every single NPC in a zone was checking to depop themselves
as a swarm pet every 3ms regardless of being a swarm pet or not. Swarm pets now check to depop only when their timer is up
-Akkadius: [Performance] Removed a timer where clients would constantly calculate light amount on equipment every 600ms, instead
+Akkadius: [Performance] Removed a timer where clients would constantly calculate light amount on equipment every 600ms, instead
clients will update light when changing equipment or entering a zone
Akkadius: [Performance] Disabled enraged timer checks for NPC's that do not actually have enrage as a special attack
Akkadius: [Performance] Don't process ProjectileAttack checks for NPC's that are not engaged in any combat
@@ -680,7 +680,7 @@ Akkadius: [Performance] Reworked how client to NPC aggro checks are made
check an entire entity list with distance calcs and other checks for aggro, with many clients in a zone and many NPC's this would
add a lot of unecessary overhead. A temporary adjustment on 3/25 was made and upped the check to 6 seconds.
- Now, there is a new methodology to scanning. The client will build a cache list of NPC's within close range as defined in new rule:
- RULE_INT(Range, ClientNPCScan, 300) and will also get any NPC that has an aggro range beyond that defined range to use in
+ RULE_INT(Range, ClientNPCScan, 300) and will also get any NPC that has an aggro range beyond that defined range to use in
the frequent checks for aggro, the result is far less overhead
- Client scanning changes when moving versus not moving, the client will scan aggro every 500 milliseconds while moving, and
3000 millseconds aggro check when not moving, with a 6000ms re-fetch for close NPC's
@@ -689,7 +689,7 @@ Akkadius: [Performance] Reworked how client to NPC aggro checks are made
== 03/25/2017 ==
Akkadius: [Performance] Reduced CPU footprint in non-combat zones doing constant checks for combat related activities
-Akkadius: [Performance] Reduced CPU footprint in cases where a client is checking for aggro excessively every 750 millseconds. This has
+Akkadius: [Performance] Reduced CPU footprint in cases where a client is checking for aggro excessively every 750 millseconds. This has
been adjusted to 6 seconds per new rule RULE_INT(Aggro, ClientAggroCheckInterval)
- When zones have many players, with many NPC's, this adds up quickly
@@ -706,7 +706,7 @@ Akkadius: [Performance]
RULE_INT ( Range, SongMessages, 75)
RULE_INT ( Range, MobPositionUpdates, 600)
RULE_INT ( Range, CriticalDamage, 80)
-
+
- (Readability) Also cleaned up some formatting in messaging and packets so it is easier to understand what is going on with the code
== 03/09/2017 ==
@@ -9710,7 +9710,7 @@ CREATE TABLE commands (
);
-==01/20/06==
+==01/20/2006==
FatherNitwit: Reworked melee and ranged attack code significantly.
FatherNitwit: Properly support recomended level on weapon DMG now.
FatherNitwit: Re-implemented racial/body bane damage and elemental damage.
@@ -9720,17 +9720,17 @@ FatherNitwit: Added canbind flag to zone table to completely prevent binding in
Required SQL:
ALTER TABLE zone ADD canbind TINYINT NOT NULL DEFAULT '1';
-==01/14/06==
+==01/14/2006==
FatherNitwit: Fixed ranged misses not generating hate.
FatherNitwit: Find is as working as good as it ever was (straight line)
-==01/13/06==
+==01/13/2006==
FatherNitwit: Made some changes to buff stacking rules reguarding DoTs and beneficial overwrite.
-==01/12/06==
+==01/12/2006==
FatherNitwit: Fixed the "Buffs do not apply effects in client after zoning" issue.
-==01/09/06==
+==01/09/2006==
FatherNitwit: Made NPCs actually load: resists, attack_speed, findable
FatherNitwit: npc_types cleanup day (they dont work or are not used):
ALTER TABLE npc_types ADD attack_speed float NOT NULL default '0';
@@ -9738,16 +9738,16 @@ ALTER TABLE npc_types DROP ipc;
ALTER TABLE npc_types DROP banish;
ALTER TABLE npc_types DROP social;
-==01/08/06==
+==01/08/2006==
FatherNitwit: Fixed more windows compile errors on .net 2003+...
-==01/07/06==
+==01/07/2006==
FatherNitwit: Fixed VS.net projects and compiling. (.net 2002)
-==01/04/06==
+==01/04/2006==
FatherNitwit: Fixed the quad special attack to not require triple in order to work.
-==01/03/06==
+==01/03/2006==
FatherNitwit: Added new debug logging facility. Will be implemented further in the time to come
FatherNitwit: Added command #mlog to manipulate the new logging facility.
FatherNitwit: Load log settings from log.ini if present.
@@ -9766,7 +9766,7 @@ FatherNitwit: Fixed NPC buffing faction checks.
FatherNitwit: Added LOS checks for detrimental AOE spells.
FatherNitwit: Changed version number to 0.6.4DR1
-==12/30/05==
+==12/30/2005==
FatherNitwit: Fixed event_waypoint in quests
FatherNitwit: Refactored a lot of NPC pathing code (no functional changes)
FatherNitwit: Added zone flagging concepts/enforcement
@@ -9781,7 +9781,7 @@ CREATE TABLE zone_flags (
);
ALTER TABLE zone ADD flag_needed VARCHAR(128) NOT NULL DEFAULT '';
-==12/23/05==
+==12/23/2005==
FatherNitwit: Added #reloadstatic to reload doors, objects, zone points, etc... (zone in/out required)
FatherNitwit: Fixed mobs to buff their friends, not their enemies.
FatherNitwit: Allow support for quests on charmed NPCs.
@@ -9789,14 +9789,14 @@ FatherNitwit: Changed quest timers to be tied to the specific NPC, instead of th
FatherNitwit: Fixed quest global expiration times... durations should be accurate now.
FatherNitwit: Re-enabled Y (year) expiration times, and added a 'F' time to say it dosent expire.
-==12/18/05==
+==12/18/2005==
FatherNitwit: Removed doors from shared memory.
FatherNitwit: Hopefully fixed pottery firing in kilns.
-==12/15/05==
+==12/15/2005==
FatherNitwit: Fixed Levitate.
-==12/11/05==
+==12/11/2005==
FatherNitwit: Removed some worthless fields.
FatherNitwit: Rewrote all the pet creation code to be based on npc_types
FatherNitwit: Completely changed the pets table.
@@ -10877,7 +10877,7 @@ LethalEncounter: You will now get hit for max damage when you are sitting and an
LethalEncounter: Fixed loot messages.
LethalEncounter: Fixed loot so right click autoequips correctly now.
-==1/4/04==
+==1/4/2004==
MYRA: changed to new opcode for follow
MYRA: changed to new opcode for taunt
MYRA: use new (5.x) Status labels in who for telnet connection
@@ -10898,11 +10898,11 @@ MYRA: fixed comma bug for shout command
MYRA: added itemlink(ItemNumber) command
-==1/2/04==
+==1/2/2004==
LethalEncounter: Added further support for eqstr_us.txt, this should cut down on lag.
Image: Fixed client lockup related to spells. aka 'spell sticking'.
-==1/1/04==
+==1/1/2004==
LethalEncounter: Updated spell structure to new spells_us.txt format. NOTE: You must have the latest eqlive spells_us.txt in your EQEmu directory.
==12/21/03
@@ -10933,102 +10933,102 @@ Server no longer counts item stats in the ammo slot (as it should).
Fixed bug with eventlog that would cause certain entries to return a MySQL syntax error.
-==12/21/03==
+==12/21/2003==
LethalEncounter: Ive been busy the last few days updating all the opcodes and structs for the recent patch. Nearly everything works again please post any remaining unknown opcodes to the development forum.
-==12/16/03==
+==12/16/2003==
Image: Fixed #zsave and added #zunderworld so you can set the zcoord for underworld.
-==12/15/03==
+==12/15/2003==
Image: Took out an HP update in NPC::Damage() reduces HP updates big time and kills network traffic.
Image: All HP Updates are done only to targets now, TODO: Queue group clients with HP updates (once they work again)
-==12/14/03==
+==12/14/2003==
LethalEncounter: Fixed a bug in tradeskills that was clearing the container before it was telling the client to.
LethalEncounter: Fixed the opcode for mend.
LethalEncounter: Fixed the guild trainer messages.
LethalEncounter: Fixed char create so it creates the character with a new aa struct.
LethalEncounter: Important fix for mob movement via waypoints and such. Mobs now move nearly exactly like live and it uses 20 times less bandwidth than before.
-==12/13/03==
+==12/13/2003==
LethalEncounter: Fixed Environmental Damage
LethalEncounter: Added support for a new database variable called startzone.
To use this, add a record called startzone to the variables table and make the value the zone shortname you want players to start in. This will force all players to start in that zone.
LethalEncounter: Fixed a bug that Shawn found where /zone wouldnt work correctly in zones with similiar names.
-==12/12/03==
+==12/12/2003==
Shawn319: (Bud9weiser) Fixed start_zones bug. Players should now start in correct location as long as db is up to date.
LethalEncounter: Item tint fix.
LethalEncounter: Tradeskill items being deleted without correct recipe fix.
LethalEncounter: Problem with the ' character inserting into the bug table fixed.
-==12/11/03==
+==12/11/2003==
LethalEncounter: Added Archery in for pvp.
LethalEncounter: Fixed a throw bug.
LethalEncounter: Fixed char select colors not matching your colors in game.
-==12/10/03==
+==12/10/2003==
LethalEncounter: Fixed the weapon delay bug. Special thanks to haecz for bring this to our attention.
LethalEncounter: Fixed dup money bug. Special thanks to afrospy also for bring this to our attention.
LethalEncounter: Fixed Bazaar Traders, they should work correctly.
-==12/09/03==
+==12/09/2003==
LethalEncounter: Fixes for item tints and dyes.
LethalEncounter: Fixed NPC textures finally.
-==12/08/03==
+==12/08/2003==
LethalEncounter: Fixed Horses/Drogmors.
-==12/07/03==
+==12/07/2003==
LethalEncounter: Fixed a bug with pets causing lag.
LethalEncounter: Fixed a crash bug/1017 bug related to login in, people on slow/lagged connections should be able to login fairly
consistently now.
-==12/02/03==
+==12/02/2003==
LethalEncounter: Trumpcard and I completely rewrote the linked lists to improve lag, they are about 4 times more efficient now.
LethalEncounter: Fixed a small bug with zone points. BE SURE YOUR USING THE MOST UP-TO-DATE TABLE!!
-==11/30/03==
+==11/30/2003==
LethalEncounter: Fixed various loot bugs, including the duplicate lore item, blah blah blah bug..
LethalEncounter: Fixed #zonestatus and /servers to be on multiple lines
LethalEncounter: Fixed /who all guild tags to display the right guild
LethalEncounter: Added the ability to send multi-lined emotes with the
newline.
LethalEncounter: Fixed the bug that gave the message: "Multiplier == 0 in Client::CalcBaseHP"
-==11/29/03==
+==11/29/2003==
Image: Fixed last names for clients (When a new client zoned in, didn't send lastname).
-==11/28/03==
+==11/28/2003==
LethalEncounter: Added a default instance for pets that arent created via legit spells.
LethalEncounter: Fixed the spell scribe issues.
-==11/25/03==
+==11/25/2003==
LethalEncounter: Added a new table called ground_spawns. This will allow you to spawn items randomly throughout the zone. Use this for only random locations, use the object table for static ones.
LethalEncounter: Added Timers for ground spawns so they will respawn based on the time you set.
-==11/24/03==
+==11/24/2003==
Image: Fixed zoning and deaths so you no longer drop from the server.
Image: Properly enabled LDoN on EQEmu.
Image: Basic Adventure Merchant code implemented, throwing it to the STL guys to properly optimize.
LethalEncounter: Fixed Tradeskill objects. If the objects show up as bags, thats a db issue
-==11/23/03==
+==11/23/2003==
Trumpcard: Several zone performance enhancements, as well as changes to decrease combat lag.
LethalEncounter: Reworked pets, they should now work properly.
-==11/21/03==
+==11/21/2003==
LethalEncounter: Merchants wont trade with people while they are fighting now.
LethalEncounter: Players can no longer attack while invulnerable.
LethalEncounter: Fixed an AA bug that gave the player 199 aa points.
-==11/18/03==
+==11/18/2003==
LethalEncounter: Lotsa cool fixes like crash fixes and guild fixes and cool stuff like that
-==11/17/03==
+==11/17/2003==
LethalEncounter: Finally got /who all done and *hopefully* free of bugs.
LethalEncounter: Fixed a crash bug with guilds and added some of the Guildmanagement features.
-==11/16/03==
+==11/16/2003==
Trumpcard: Several deallocate and mem leak errors corrected.
solar: Fixed bug with mobs assisting entities they shouldn't. Often this
show itself with other mobs helping the player when the player
@@ -11036,16 +11036,16 @@ solar: Fixed bug with mobs assisting entities they shouldn't. Often this
LethalEncounter: Added in the GuildManagement tool. You will need 2 new columns in your character_ table for this.
LethalEncounter: Fixed a couple crash bugs with guilds and spells.
-==11/15/03==
+==11/15/2003==
solar: Fixed a bug in commands where if you didn't define an accesslevel for a command
in the addon.ini it would default to accesslevel 0 instead of the hardcoded default.
solar: Modified #help command to search for a partial command specified as argument.
solar: HP wasn't being updated to client properly and would fall out of sync
-==11/14/03==
+==11/14/2003==
LethalEncounter: Fixed a bug in doors that would cause triggered doors to go into an endless loop and crash.
-==11/13/03==
+==11/13/2003==
kathgar: Fixed a crash when calling ZSList::FindByZoneID() when sending an invalid zone number.
Stack was corrupt in the backtrace, so I am not sure what called it in this way.
LethalEncounter: Fixed animation bug with attack.
@@ -11054,44 +11054,44 @@ LethalEncounter: Character Select will now show your equipment (Existing charact
LethalEncounter: NPCs will now equip weapons and items from the db.
LethalEncounter: You can now give weapons and items to NPCs to equip.
-==11/12/03==
+==11/12/2003==
LethalEncounter: Fixed skills, we had the struct one int32 off.
LethalEncounter: Fixed GM Trainers, they should now work as intended.
-==11/11/03==
+==11/11/2003==
Doodman: Fixed zone crash in CheckCloseArrgo() during assist checking based on
flawed if logic.
-==11/11/03==
+==11/11/2003==
LethalEncounter: Fixed Stamina issues.
-==11/10/03==
+==11/10/2003==
LethalEncounter: Fixed Quests.
LethalEncounter: A quest fix that makes them use far less memory, up to 25 MB per computer
-==11/09/03==
+==11/09/2003==
LethalEncounter: Fixed zoning, zone_points should now work correctly, but make sure you have the latest ones in zone_points!
LethalEncounter: Fixed problem with spells not scribing.
LethalEncounter: Fixed zoning bug where you zoned back into the same zone, but it looked like you were in the new zone.
-==11/06/03==
+==11/06/2003==
Image: Guildwars code and fixed a bug in MobAI for NPCs assisting clients, clients do not use
IsEngaged(), so it always returned false, now it uses AutoAttackEnabled() in its place for clients.
Image: Reversed the AICheckCloseSpells if statements, now sanity checks before distance check, uses less CPU usage.
-==11/05/03==
+==11/05/2003==
LethalEncounter: Updated all of the opcodes that were changed in the patch today.
LethalEncounter: Refined AA's some, added table to hold the timers for AA's so users can exploit them. Look in db.sql for the table.
-==11/04/03==
+==11/04/2003==
LethalEncounter: Added in the basic structure for AA's and got some of them working.
-==11/03/03==
+==11/03/2003==
LethalEncounter: Fixed factions.
LethalEncounter: Fixed issues with mobs of different factions or no faction assisting.
-==10/29/03 to 11/02/03==
+==10/29/2003==
LethalEncounter: Fixed X, Y coords.
LethalEncounter: Added in groups.
LethalEncounter: Added in trades.
@@ -11107,16 +11107,16 @@ LethalEncounter: Fixed lifts.
LethalEncounter: Fixed automatic weather changes. Change the default in the zone table to suit your needs. 1: normal 2: Rainy most of the time 3: Snowing most of the time
LethalEncounter: Fixed lotsa other important stuff that I cant remember :)
-==10/29/03==
+==10/29/2003==
devn00b: Yet again removed Faulty pet code. LEAVE THEM ALONE
-==10/17/03==
+==10/17/2003==
Image: Zone points code put in, need some testing done on it please!
-==10/15/03==
+==10/15/2003==
Image: More optimization to the aggro code and an infinite for loop fixed.
-==10/14/03==
+==10/14/2003==
kathgar: Removed deprecated guildwars code
Added #ifdefs for IPC code, no more IsInteractive checks wasting cycles
Fixed a memleak in NPC with attacked_timer
@@ -11126,31 +11126,31 @@ merth: Updated zone objects:
* Fully supports imported data from packet collector
* Objects dropped to ground persist zone sessions
-==10/13/03==
+==10/13/2003==
Image: Optimizations to Aggro code, ~10% more efficient according to Trumpcard.
-==10/11/03==
+==10/11/2003==
Trumpcard: Lots of performance improvements to combat code/AI code. Streamlined several calls, and found and removed unneeded calls
in MobAI that were causing serious bottlenecks. Went through and caught a few memory leaks, and converted
many deletes to safe deletes.
-==10/10/03==
+==10/10/2003==
LethalEncounter: Somewhere around this date I added in bazaar traders and cool features like that.
-==10/8/03==
+==10/8/2003==
Trumpcard: Starting items are now in. LE also fixed the combat damage struct and mob hp bar updates.
-==10/8/03==
+==10/8/2003==
scruffy: Inverted the XY coordinates system to work like the EQLive system. Run invertxy.sql to update existing databases.
-==10/6/03==
+==10/6/2003==
kathgar: Added opcodes for things such as the LFG tool from SEQ, replaced some instances of static opcode use
-==10/5/03==
+==10/5/2003==
devn00b: Removed Faulty pet code, replaced with working code.
-==09/24/03==
+==09/24/2003==
Image: Added the functions for the GuildWars point system.
-==8/10/03==
+==8/10/2003==
devn00b: Moved pets from hardcoded to DB based. need to source pets.sql