2005

EverQuest Emulator Server code changes for year 2005

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

  • FatherNitwit Added *commands #flags, #flagedit

  • FatherNitwit Added quest functions: set_zone_flag, has_zone_flag, clear_zone_flag

Required SQL: CREATE TABLE zone_flags ( charID int NOT NULL, zoneID int NOT NULL, PRIMARY KEY(charID,zoneID) ); ALTER TABLE zone ADD flag_needed VARCHAR(128) NOT NULL DEFAULT '';

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.

  • FatherNitwit Changed quest timers to be tied to the specific NPC, instead of the name being zone global.

  • 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/2005

  • FatherNitwit Removed doors from shared memory.

  • FatherNitwit Hopefully fixed pottery firing in kilns.

12/15/2005

  • FatherNitwit Fixed Levitate.

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.

    You prolly want to run:

    DROP TABLE pets;

    You must load up the SQL in Sql-Files/pets.sql

    the new pets sql assumes NPC IDs 500-700 are free, so edit them as needed.

    ALTER TABLE npc_types DROP fixedz;

12/09/2005

  • FatherNitwit Fixed the issue where maxed out factions cannot be raised/lowered

  • FatherNitwit Changed faction hits to properly ignore illusions.

  • FatherNitwit Fixed an issue with converted chars and corrupt AAs. (not fully resolved)

  • FatherNitwit Fixed the issue with mobs not pathing after respawning.

12/01/2005

  • FatherNitwit added USE_RACE_CLASS_XP_MODS (disabled by default) to features.h

  • FatherNitwit These fields are not used:

    ALTER TABLE zone_points DROP keep_x;

    ALTER TABLE zone_points DROP keep_y;

11/28/2005

  • Doodman Found additional world opcodes

  • Doodman Updated char select struct

11/24/2005

  • FatherNitwit just some SQL updates you should run to make the recent aggro changes less annoying.

    UPDATE npc_types SET _INT=80 WHERE _INT=75;

    UPDATE npc_types SET _INT=60 WHERE _INT=80 AND ( bodytype=3 OR bodytype=8);

    ALTER TABLE npc_types CHANGE _INT _INT mediumint(8) unsigned NOT NULL default '80';

11/17/2005

  • FatherNitwit Fixed a crash in the map code

  • FatherNitwit Tweaked mob usage of d_meele_texture*

11/11/2005

  • FatherNitwit Changed most double prescision operations to single prescision.

11/10/2005

  • FatherNitwit Fixed waypoint ID limit (was 65535).

  • FatherNitwit Implemented the #wpinfo command

11/05/2005

  • FatherNitwit Fixed the broken server side filters (reworked entirely).

  • FatherNitwit Refactored damage code to be more consistent between PCs and NPCs.

  • FatherNitwit Changed spell damage mechanism slightly to better utilize runes.

  • FatherNitwit Tweaked a bit of illusion code to be more versitile.

11/03/2005

  • FatherNitwit Fixed AA storage in the player profile.

10/28/2005

  • FatherNitwit Fixed a lot of GCC 4.0 and 64 bit problems. Should build under both better now.

10/24/2005

  • FatherNitwit Fixed mob int loading.

10/23/2005

  • FatherNitwit Fixed Client->NPC->Client riposte.

09/28/2005

  • FatherNitwit added quest::attacknpc and quest::attacknpctype

  • FatherNitwit Cleaned up usage of Appearance in the code

  • FatherNitwit Fixed faction ally checking for npc->npc faction

  • FatherNitwit Removed some stupid rules reguarding npc aggro

  • FatherNitwit Fixed some faction issues with aggro, guards should work reliably now.

09/25/2005

  • FatherNitwit Fixed incorrect usage of EXPMod variable.

09/24/2005

  • FatherNitwit Hopefully fixed bard instruments.

  • FatherNitwit Fixed crash when loading DoD+ spells_us.txt file

  • FatherNitwit Rewrote a ton of the perl parser internals to suck less.

  • FatherNitwit Reworked a bit of netcode to minimize chances of #opcode crashing.

  • FatherNitwit Actually loaded luclin attributes from DB.

  • FatherNitwit Added npc stats to npc_types and use them.

    ALTER TABLE npc_types ADD STR MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD STA MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD DEX MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD AGI MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD _INT MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD WIS MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

    ALTER TABLE npc_types ADD CHA MEDIUMINT UNSIGNED NOT NULL DEFAULT '75';

09/23/2005

  • FatherNitwit Inverted XY coordinates on in zone objects and ground spawns.

  • FatherNitwit Maybe fixed quests setting a waypoint in EVENT_WAYPOINT

    ALTER TABLE ground_spawns ADD temp_x float NOT NULL;

    UPDATE ground_spawns SET temp_x=min_x;

    UPDATE ground_spawns SET min_x=min_y;

    UPDATE ground_spawns SET min_y=temp_x;

    UPDATE ground_spawns SET temp_x=max_x;

    UPDATE ground_spawns SET max_x=max_y;

    UPDATE ground_spawns SET max_y=temp_x;

    ALTER TABLE ground_spawns DROP temp_x;

    ALTER TABLE object ADD temp_x float NOT NULL;

    UPDATE object SET temp_x=xpos;

    UPDATE object SET xpos=ypos;

    UPDATE object SET ypos=temp_x;

    ALTER TABLE object DROP temp_x;

09/22/2005

  • FatherNitwit Reworked quest signaling implementation to be less dumb. Also exported SignalNPC to perl.

  • FatherNitwit Implemented a missing bard AE DOT spell type.

09/21/2005

  • FatherNitwit Fixing a few issues with windows compiles and corpses.

09/19/2005

  • FatherNitwit Added missing packet for player death to create a corpse.

09/16/2005

  • FatherNitwit Fixed loot error case client hang, reported by Yablargo

09/15/2005

  • FatherNitwit Fixed coin trading bug reported by Windcatcher

09/12/2005

  • FatherNitwit Fixed adventure merchants

09/11/2005

  • FatherNitwit Made temp merchant lists clear on world boot.

  • FatherNitwit Fixed some shared memory issues on windows.

  • FatherNitwit exported some more mob methods to perl.

08/26/2005

  • Doodman Found most of the missing guild opcodes, except the manage ones.

  • Doodman Moved guildlist to shared mem (ick) since zone now sends it too.

  • Doodman Need to implement a way to recover the functionality of dynamicly

    adding/removing guilds with the shared mem solution

08/23/2005

  • FatherNitwit Added range check for all combat abilities (reported by LoOsEr)

08/21/2005

  • FatherNitwit Fixed gaining AA exp (buying still broken)

  • FatherNitwit Fixed weapon procs

  • FatherNitwit Added looting messages (links to come later)

  • FatherNitwit Fixed instant spells acting like DoTs

--* Version Changed to 0.6.2DR1 ---

08/05/2005

  • FatherNitwit Adding database support for both eye colors and beard type.

    Required SQL:

    ALTER TABLE npc_types ADD luclin_eyecolor2 int(10) unsigned NOT NULL default '1' AFTER luclin_eyecolor;

    ALTER TABLE npc_types ADD luclin_beard int(10) unsigned NOT NULL default '0' AFTER luclin_beardcolor;

08/03/2005

  • FatherNitwit Work on eqextractor to support the newest patch.

  • FatherNitwit Worked on spawn struct to identify the remaining missing fields.

08/02/2005

  • FatherNitwit Added initial fix for the shared bank dupe.

07/28/2005

  • FatherNitwit Fixed $wp in EVENT_WAYPOINT

  • FatherNitwit added #aggro to query aggro checking info for mobs.

  • FatherNitwit fixed a couple strange things in the aggro code.

07/07/2005

  • FatherNitwit Untested fix for zone point wildcards in GetClosestZone*

05/09/2005

  • FatherNitwit Fix some stuff related to zoning process.

    update zone set min_status=0 where min_status is null;

    update zone set min_level=0 where min_level is null;

    alter table zone change min_status min_status tinyint(3) unsigned default 0 NOT NULL;

    alter table zone change min_level min_level tinyint(3) unsigned default 0 NOT NULL;

    alter table zone change long_name long_name text NOT NULL DEFAULT '';

05/05/2005

  • FatherNitwit Theoretically fixed a no-drop trading bug.

... Lots of work on 5/12/05 patch ...

05/05/2005

  • FatherNitwit A bunch of work on ranged attacks and attack timers.

  • FatherNitwit Fixed issue with the first time a new char gains exp.

  • FatherNitwit Fixed delete character at char select.

  • FatherNitwit Fixed fizzle messages.

  • FatherNitwit Fixed /goto and other cross-zone player teleporting.

  • FatherNitwit Initial work on making arrows show up when shot.

04/23/2005

  • LethalEncounter Fixed compile errors on Windows

  • LethalEncounter Fixed guild crash bug while logging in

  • LethalEncounter Fixed most of the guild commands

04/13/2005

  • Cofruben Fixed possible crashes using #npscpawn command.

  • Cofruben Added a few more cheat locators.

04/10/2005

  • FatherNitwit Reworked zone in code to make it more closely match live's ordering.

  • FatherNitwit Fixed up stream factory problem with dynamic zones.

  • FatherNitwit Added detailed connecting debugging.

  • FatherNitwit Work on custom titles.

04/08/2005

  • FatherNitwit Completely rewrote zoning code to make sense.

  • FatherNitwit Fixed some discipline related effects

  • FatherNitwit Fixed archery hit chance cap (was 47%)

  • FatherNitwit Initial title system implementation

  • FatherNitwit Gave berserkers some of their special abilities

  • FatherNitwit Initial work on raid system, lots to do still.

  • FatherNitwit Found leadership AAs in the player profile and update packet

  • FatherNitwit Enforce attack timer constraints on ranged weapons

  • FatherNitwit (seq) Located crystal counters in the player profile

  • FatherNitwit (image) Many of the following changes were written or inspired by GuildWars code

  • FatherNitwit Enforce reuse timers for combat abilities & instill doubt

  • FatherNitwit Enforce class and range checks on service providing NPCs

  • FatherNitwit Enforce item slots containing proper items

  • FatherNitwit Enforce range checking on ranged weapons better

  • FatherNitwit Made /hideme persistent across zoning

  • FatherNitwit Finally fixed no drop items in tradeskill containers for real this time I hope.

    Required SQL (added to upgrade.sql):

    ALTER TABLE account ADD hideme TINYINT NOT NULL DEFAULT 0;

04/04/2005

  • FatherNitwit Fixed guild member list struct, identified more fields of it (showeq)

  • FatherNitwit (bUri) Fixed attack code with non-weapons and h2h weapons.

  • FatherNitwit Split zone fog types into seperate DB fields.

  • FatherNitwit Differentiated between guild and player tributes.

    Required SQL: utils/0.6.1-upgrade.sql (will be updated until release)

01/15/2005

  • Doodman Fixed charges/quantity

  • Doodman Fixed IsStackable()

  • Doodman Fixed some empty Handle() functons.

  • Doodman Added instance level nodrop.

    Required SQL:

    alter table inventory add instnodrop tinyint(1) unsigned default 0 not null;

01/13/2005

  • Doodman Merged source (FNW changes) in to LiveCompat

  • Doodman SendItemPacket's are now sent deflated (speeds up merchants)

  • Doodman Combining is now turned on in makefile.perl for zone

  • Doodman Fixed world to notice zone drops immediately

  • Doodman Guild_MOTD and bulk door packets are now sent deflated

  • Doodman New item structure is in:

    Items are preserialized in the database (utils/serialize_items.pl)

    Item fields names in item struct exactly match the dn

    Item fields now match the dump from (utils/load_13thfloor_items.pl)

    eqitems.13th-floor.org

    Item table convert script: utils/items-0.6.0-DR2-0.6.1-DR1-convert.sql

01/10/2005

  • FatherNitwit Disable sleep() in perl, it is bad news.

  • FatherNitwit Fixed guild MOTD at login (hopefully).

  • FatherNitwit Fixed minor security problem in SQL logging.

  • FatherNitwit Added error reporting to waypoint editing commands.

  • FatherNitwit Reworked client packet handling to use opcode dispatch

    routines, which is paving the way for dynamic opcodes.

01/07/2005

  • FatherNitwit Fixed rogue-like skill training (sneak, etc..)

  • FatherNitwit Added spawn_limit field to spawnentry and npc_types

    which represent the maximum number of that npc_type which can spawn

    from that spawn group/in that zone overall. 0