Login | Register
Board index
All times are UTC - 5 hours [ DST ]
View unanswered posts | View active topics
««« [Revision: 821, Author: Yeahlight, Date: May 18, 2012] (Yeahlight) Update: An NPC's z-axis location is now offset by its size and/or race instead of a small, static value. An NPC's "eyes" (the starting location for line of sight checks) are now reliably close to the face of the model (Yeahlight) Update: PCs are now sent to a zone's safe point after falling through the ground (Yeahlight) Update: The locate ground algorithm now chooses more sensible locations as fail safes (Yeahlight) Update: NPC bounding boxes are now awarded to only a few types of NPCs (Yeahlight) Fix: Discovered a floating point exception that was fouling up the locate ground algorithm (Yeahlight) Fix: The Corpse class no longer overrides the inherited Mob x, y and z coordinates, thus a corpse may now be moved »»» ««« [Revision: 820, Author: Yeahlight, Date: May 15, 2012] (Yeahlight) Addition: Discovered the PC combat push values in the damage packet structure (Yeahlight) Addition: Added a legitimate melee push system. Every time a non-rooted / non-perma-rooted mob is hit (PCs included), they are pushed away from the attacker a little bit. The amount of push is determined by the type of weapon used (from most to least: blunts, swords, fists then daggers) and the distance between the two mobs (the amount of push decreases exponentially and approaches zero as one achieves max melee range). Push from special attacks (kick, bash, etc.) will be added as these skills are rewritten. When a push is prevented by an absence in line of sight (a movement that would place a mob behind a wall), the new location is derived by examining the perpendicularity of the attack angle versus the angle of the colliding wall. As perpendicularity increase, the total distance of the push decreases (imagine a car smashing into a wall head on (90 degree angle) versus a car slamming into a wall at a 45 degree angle). The mob's new location is some point along the colliding wall with respect to the approach angle and adjusted distance (a perpendicular approach angle results in no push, while a 45 degree approach angle results in half the original push distance). If line of sight is again not available between the new location and the original location, the distance of the push is reduced to not intersect the adjacent geometry, thus pinning the mob in a corner. PCs resolve identical updates on their own (we just tell the client how far to move), thus this system is mainly for NPCs. A legitimate melee push system is critically important to the difficultly of the raiding scene and the absense of one trivializes raid content, especially those encounters in Velious (Yeahlight) Update: NPC summoning has been rewritten and added back to the source »»» ««« [Revision: 819, Author: Yeahlight, Date: May 11, 2012] (Yeahlight) Addition: A singular proc management system has been added. This system manages all weapon procs (primary, secondary and ranged), spell procs (see: Boon of the Garou), passive procs (NPC abilities) and poison applications (ROG poisons). NPC passive procs and poison applications both require a damaging hit to proc/land (Yeahlight) Update: The entire hate list system has been rewritten and we no longer require multi-pass, hate-list iterations to make decisions. An NPC's target selection should now be correct and is as follows: A rooted NPC always chooses the closest mob on its hate list; an NPC will never consider targeting an invulnerable mob on its hate list unless no other options are available; and an NPC will never choose to target a pet if a non-pet mob is currently in melee range of the NPC (Yeahlight) Update: The Mob, NPC and Client classes have been reduced to only include those functions and attributes we actually utilize. Also, the entire NPC AI system (boats excluded) has been removed and replaced with a trivial point-and-shoot movement and combat system. Pieces will be rewritten and added back to the NPC AI system as they are needed (Yeahlight) Update: Melee range calculations are now much more sensible and they also now agree with the client's expectations (no more contradictory warning messages during combat). Also, a common melee range is now negotiated by the two mobs in combat, thus there are no more "dead zone" scenarios (e.g., a mob hitting its target but its target cannot strike back) (Yeahlight) Update: Added ranged-weapon efficiency and accuracy ATK calculations (Yeahlight) Fix: Only NPCs and hybrid PC classes are awarded with reserved melee attacks during channeling; casters and priests will now need to time their spells between melee attacks (Yeahlight) Fix: Attack timers are now fully reset when swapping weapons (Yeahlight) Fix: All humanoid NPCs level twenty and above may now dual wield when two weapons are equipped. Please note that an NPC will be unable to equip two weapons unless they are first charmed or summoned (Yeahlight) Fix: Invulnerable mobs may no longer attack »»» ««« [Revision: 818, Author: Harakiri, Date: May 10, 2012] (Harakiri) Updated: The old grouping mechanic has been completely removed from the codebase, the new system has replaced all functionality and should generally work fine. There is still some error handling left to be done (Group Updates while a player is zoning etc) (Harakiri) Added: Identified new opcode - RequestHouseLock - sent when the player tries to open a specific switch/door with a housekey - this is unused however (Harakiri) Updated: Identified the CommandBoat opcode as ControlNPC Opcode, used to signal the client which NPC he is controlling (Harakiri) Added: Identified the RefuseTrade opcode (Harakiri) Updated: Identified opcodes FreezePlayer and UnfreezePlayer - used to lock UI (Harakiri) Updated: Identified opcodes ControlPlayer and UncontrolPlayer - used to lock UI and signals client that player is being controlled (Harakiri) Added: Identified new opcodes related to GM snooping chat text client side - OP_SnoopClear, OP_SnoopSet, OP_SnoopText (Harakiri) Added: Identified new opcodes to disable client side attacking, OP_HarmlessEnable/Disable, OP_SilenceEnable/Disable (Harakiri) Added: Identified roleplayer server setting opcode, used to limit the clients ability to group/create new characters with specific deities. (Harakiri) Added: Identified opcode for /movelog (Harakiri) Updated: Merchants greetings are now broadcasted to nearby players and not only to the player who is shopping. (Harakiri) Updated: Identified some flags related to the projectile struct. (Harakiri) Updated: Extended the language struct in the playerprofile, identified the air_left field in the zone entry struct (Harakiri) Updated: Logging now uses a timestamp »»» ««« [Revision: 817, Author: Yeahlight, Date: May 07, 2012] (Yeahlight) Addition: Discovered the berserker frenzy opcode toggles (+/- ATK and STR) and the server agrees with the client's frenzy stat bonus calculations (Yeahlight) Update: Started the combat system revamp. The combat system will be broken for the next few weeks (Yeahlight) Update: PvP arena and water location checks have been moved to the client position update routine instead of firing every single PC tick (tick as in server tick rate, not HP regeneration tic) (Yeahlight) Update: Determining a mob's melee range has been simplified and mobs now agree on a common melee range (Yeahlight) Update: Unified PC and NPC melee attacking attempts under the same routine (Yeahlight) Update: Rewrote the PC entity-process routine in anticipation for LD combat handling (Yeahlight) Update: PC disconnect handling is now consistent across all methods of leaving the game (Yeahlight) Update: Rewrote and optimized the mob attack evasion routine (Yeahlight) Update: Pets and dual wield handling is now correct (the levels may be inaccurate, though). MAG pets below *SPELL* level 24 may no longer dual wield; MAG pets below spell level 39 may no longer dual wield unless two weapons are equipped; MAG pets spell level 39 and above dual wield automatically; NEC pets below spell level 29 may no longer dual wield; NEC pets below spell level 39 may no longer dual wield unless two weapons are equipped; NEC pets spell level 39 and above dual wield automatically; ENC pets below spell level 39 may no longer dual wield; ENC pets below spell level 49 may no longer dual wield unless two weapons are equipped; ENC pets spell level 49 and above dual wield automatically; and all other class pets no longer dual wield (Yeahlight) Update: The maximum obtainable skill value routine for PCs and NPCs has been reduced, semi-corrected and optimized a bit (Yeahlight) Fix: Other than the aforementioned class pets, only MNK NPCs may now dual wield. This is not to be confused with triple and quad attacking (if a monk NPC was given the ability to quad attack, they would hit four times with each hand). Successfully trading a two handed weapon with a MNK NPC *will* negate their dual wield capabilities (Yeahlight) Fix: PCs may no longer evade attacks while ducking or laying on the ground (Yeahlight) Fix: PCs may now block, parry and riposte attacks while sitting, but they cannot dodge them (Yeahlight) Fix: Non-bard mobs may no longer riposte while channeling a spell (Yeahlight) Fix: Disabled mobs (stunned, mesmerized or feared) may no longer evade attacks (Yeahlight) Fix: Double attack checks are now correct and unified for all mobs (Yeahlight) Fix: Dual wield checks are now correct and unified for all mobs (Yeahlight) Fix: The conditions for removing a PC's hide are now correct (Yeahlight) Fix: NPCs will no longer occasionally possess random combat abilities »»» ««« [Revision: 816, Author: Yeahlight, Date: May 02, 2012] (Yeahlight) Addition: Created a memory allocation tracker to monitor and report on of our outstanding memory allocations (those without respective deallocations) (Yeahlight) Fix: The massive packet manager memory leak has been located and fixed »»» ««« [Revision: 815, Author: Harakiri, Date: May 01, 2012] (Harakiri) Added: Party chat support for the new grouping system. Refactored all instances were the old group chat was used (tradeskill combines, teaching language etc) (Harakiri) Added: New logic to split money among the group for the new grouping system. When using /split each coin type will be split individually, the remains go to the splitter. E.g. splitting 4PP among a group of 3 will result in 1PP for each member and 2 for the splitter. It cannot be used to convert coins. When a client is using autosplit and loots a corpse, splitting will be done by the total coin value in coppers and divided equally to all members, the potential copper remains will additionally go to the looter. (Harakiri) Added: Method to handle clients confirmation of receiving split from looting/using split (Harakiri) Updated: Adding allowed looters to a corpse has been simplified. (Harakiri) Updated: Disabled all instances of the old guild system. »»» ««« [Revision: 814, Author: Harakiri, Date: April 30, 2012] (Harakiri) Updated: Splitting of group experiences has been reimplemented and simplified for the new grouping system. Additionally each member has to be within a certain range of the mob to receive group exp. (Harakiri) Updated: The hatelist calculation for getting the client/group/npc who did the most damage to a mob has been rewritten and simplified. (Harakiri) Updated: The npcs death routine has been simplified to reflect the hatelist changes. (Harakiri) Updated: If the pet of a player did the most damage to a mob, the player has to be within a certain range to still receive experience. (Harakiri) Fixed: Upon zoning into a zone, players will now initially receive the correct appearance (sitting,ducking etc) of other players/mobs, previously the player had to be in the same zone to recognize any changes in appearances of others. »»» ««« [Revision: 813, Author: Yeahlight, Date: April 30, 2012] (Yeahlight) Addition: Added a respectable random number generator (RNG), based off of the Mersenne Twister algorithm--no more using rand()! The results of twenty-five million integer and floating point value dumps are posted in this revision's thread (Yeahlight) Addition: A new opcode has been discovered (OP_WhoAllFriend), which is sent to the server with a comma separated list of character names after executing '/who all friend' (Yeahlight) Update: Optimized the BSP node transitioning system (Yeahlight) Fix: NPCs now spawn with the correct gravitational flags (Yeahlight) Fix: Clients now receive HP updates for their group members, regardless if they have them targeted or not (Yeahlight) Fix: Clients under the effect of bind sight or eye of zomm now receive zone wide position updates instead of nearby updates (Yeahlight) Fix: The server now receives a client's player profile that is sent after camping (Yeahlight) Fix: The remaining damage the new zoning system caused to the boat system has been repaired (Yeahlight) Fix: Bind sight works once again »»» ««« [Revision: 812, Author: Yeahlight, Date: April 28, 2012] (Yeahlight) Addition: An entity cleanup routine has been added to ensure pointer integrity from other entities when said entity is destroyed (Yeahlight) Update: Mob movement calculations are now much more accurate and a mob will no longer overshoot or miss its destination. To my surprise, the more accurate calculations actually require less CPU cycles than the inaccurate method! (Yeahlight) Update: The BSP system has been added to the remaining entity list searching routines (AE spells, find closest mob, queue nearby clients, etc.) (Yeahlight) Update: The number of static spawn position updates (mobs standing still) sent to a client has been dramatically reduced. For close range updates, the time between each update has been increased from six to twelve seconds (the maximum threshold allowed by the client), and the update range has been increased to compensate for it. The new update range was determined by sampling the distance a PC can travel with the fastest acceleration buff in the game. Unless a client is experiencing packet loss, it is now impossible to outrun the update range. For far range (zone wide) updates, only those clients capable of tracking a mob will receive these updates every ninety seconds. To remove any inconsistencies with non-tracking clients, when a client travels a distance greater than the close update range within a single PC update (via Call of the Hero, same zone teleport, knockback, etc.), the client is immediately updated with the nearby spawns of their new location (Yeahlight) Update: The server now handles freezing water environmental damage (Yeahlight) Update: The projectile class has been completely rewritten. Projectile movement is now based on the more accurate mob movement implementation, thus projectiles will no longer overshoot or miss their targets, too. To improve the accuracy of early collision detection, a projectile's tickrate (the number of times it is updated per second) has been increased from three to thirteen. Projectile movement is also now calculated in three-dimensional space (Yeahlight) Update: The entity ID distribution routine has been completely rewritten (Yeahlight) Update: Only those clients who have a mob targeted will receive HP updates for said mob (Yeahlight) Fix: A number of broken polymorphic links has been fixed and a number of meaningless polymorphic declarations has been removed (Yeahlight) Fix: A casting success packet is now guaranteed to be received by the caster (Yeahlight) Fix: Repaired some of the damage to the boat zoning protocols caused by the new zoning system »»»
A forum for announcements regarding the EQClassic project
81
1060
Fri May 18, 2012 1:24 pm
ctlw83
A forum for new community members to introduce themselves
454
2196
Sun May 13, 2012 9:53 pm
classickid
A forum for community members to post missing persons threads to potentially reunite with old friends once again
98
819
Wed May 16, 2012 12:47 am
Foxboxx
A forum for community members to ask participating developers direct questions
158
1161
Thu May 03, 2012 10:46 am
Rath
A forum for developers to visually share EQClassic's progress with the aid of embedded videos created and maintained by private auditors
1623
Wed May 16, 2012 5:00 pm
JarekStorm
A forum to review and discuss specific details for each source update
120
837
Fri May 18, 2012 6:56 pm
Faustus
A forum for community members to reminisce about the classic era game
847
20154
Fri May 18, 2012 9:26 pm
Masojj
A forum for community members to respond to topics about the entire website
17
304
Wed May 02, 2012 6:51 pm
Loki
A forum for community members to discuss non-EQClassic related topics
387
6296
Sat May 19, 2012 1:50 am
I4NI
A forum for community members to discuss topics associated with the chance to "do it all over again"
34
983
Tue May 15, 2012 12:36 pm
Eldaran
A forum with helpful information for community members and information for appealing bans/suspensions
26
113
Fri May 11, 2012 8:34 am
Total posts 41040 | Total topics 2753 | Total members 3021 | Our newest member Pgoodr0708