|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |

01-19-2007, 07:05 PM
|
Sarnak
|
|
Join Date: Jul 2005
Location: Super Top Secret
Posts: 64
|
|
Quote:
Originally Posted by John Adams
Just a thought, but isn't Gloomingdeep supposed to be instanced? New player, all alone, doing the zone? If so, maybe that'd be something simpler to start playing with instancing (while waiting for the official word from the Big Kahuna).
|
Gloomingdeep is instanced... the first zone (tutoriala) (quest being, open a few doors... kill a gnoll or two, simple such) The second zone (tutorialb) which imo is also considered gloomindeep, isnt instanced. Tons of fr00bs and low lvl players runnin around finnishing initial quests untill being ported to primary cities.
|
 |
|
 |

10-24-2007, 05:40 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Golly I just love bumping old threads. Don't you? If this post needs to become it's own thread, please split it off. I just thought I'd continue here since it was easy to find.
Some discoveries...
Accepting an Adventure:
After some research, it appears the LDoN code that is currently in the emulator does support adventuring (except for that missing adventure_id offset), and if I interpret it correctly, how it used to work is a group of adventurers accept an adventure - and the "in use" flag goes up, so that particular adventure (and zone) are no longer available to another party. The second party comes along and wants an adventure, and again, the next one not "in use" is offered.
What I need Dev help with is either identifying the actual adventure_id offset in the playerprofile_struct, or as KLS suggested, using the extended profile to store the data for now. What I tried was adding a new value to the extended profile struct, then changing the existing code in client.h from m_pp.adventure_id to the new struct m_epp.adventure_id, but no love. I'm learning, but not fast enough. The bane of my existence is "GetAdventureID()", for anyone who wants to help figure this out.
If I could get more of a hint what else needs to happen for the emulator to globally recognize a new profile variable, I could continue to try and revive this functionality.
Titanium UI (maybe others?):
There is no support for the (newer) "pick your own style", if I remember correctly LDoNs used to be a crap shoot as to what adventure you'd get - and you'd have to decline and request again until you got the type you wanted (Collection, Kill, Rescue, Named). Also, there is no support for Normal or High Risk currently. I believe these toggles are newer than the old LDoN code by Cofruben(?)
Instancing - Nope!:
Next, as stated, there is no true instancing in the Emu yet - but I feel LDoNs could still work based on the above concept of "pick the next in line".
Dynamic Levels:
What I have not yet discovered is how the original developer sorted out the mob levels and/or loot tables for LDoNs of level 20, 30, 40, etc. In Live, I remember the dungeon created itself based on the average level of all party members (or maybe that was one helluva smoke & mirrors performance). The only way I can imagine it was done was each of the 7 or so base dungeons had a hard-spawn of mobs as Zengez stated above. Guka = level 20, Gukb = level 30... Gukg = Raid.
Adventure Time Limits:
"You have 90 minutes to complete your task" - there does appear to be code in place to start an adventure timer. I cannot identify if the 30 mins TO the dungeon, and 30 mins after timeout, is supported. But if not, that's probably the easy part. The expected functionality here is to accept an adventure, run your arse off to the dungeon, and click in before 30 mins is up (which is displayed on the UI if I remember). Then, you have 'x' minutes to finish the adventure. At the end of 'x' minutes, you still have 30 more minutes to ravage the place before you are ported out by the system (zone shuts down?) Again, I do not see this code, but I could be missing it.
Acquiring LDoN Points:
It appears the code is in place to award the party who meets the goal of the adventure, but of course I cannot test this yet. I see code in UpdateLDONPoints and SendAdventureFinish that makes me think this could currently work... which brings me to my next unsupported feature...
Spending LDoN Points:
If I give myself 1000 points and head over to a merchant, I am unable to buy anything. I am not sure if this is not currently supported in the emulator, or if I am doing something wrong because I am trying to cheat. =) Regardless, even without Adventure Merchant support, the savvy admin could come up with a different way to "sell" items to the player for winning adventures. Convert Points to Cash, or Tokens for hand in, etc. But of course, I'd prefer to buy direct.
Leaderboards:
I see nothing at all for tracking LDoN adventure bragging rights. When you click on the leaderboard buttons in the UI, the world complains of more unknown opcodes.
Code:
- Adventure Stats button: Opcode 0x5fc7
- Adventure Leaderboard: Opcode 0x230a
Putting these in patch_*.conf naturally does nothing, because there is no code on the back side to handle them anyway. So this would be a from-the-ground-up development effort to add this, which is the least important imo, but nice to have.
Missing Opcodes
I left this for last, because I honestly have no idea how to identify opcodes coming from or to the client. Example, if you hack the code around GetAdventureID() and manage to fake an assignment, you still cannot proceed to the adventure because of an opcode the client (I think?) is waiting for that is not identified anywhere.
In "Client::SendAdventureRequest()", after successful adventure assignment, wants to send something back to the client that is unknown
Code:
outapp = new EQApplicationPacket(OP_AdventureDetails,strlen(AF.text)+1);
The only reference to this I can find is in eq_opcodes.h and emu_oplist.h, and the patch_*.conf shows 0x0000. How do I find out what this opcode is so I can set it? I do not see any errors or warnings in any logs showing me unknown opcode like the incoming ones do, so I am at a loss here.
Bottom line:
First, without an adventure_id offset in "a" struct, the current code will not work. Re-writing it to add a field to the character_ table is not something I think we should do. Extended profile would be fine for now if I had more input on adding something to the extended profile.
Second, once I DO get that adventure_id, where does the OP_AdventureDetails get created if there are zero references to it in the source?
Lastly, can an actual dev review the code currently in client.cpp and zonedb.cpp and let me know if it's still viable, or should the whole system be scrapped and started over?
Thank you, that is my quarterly update.
-J
|
 |
|
 |
 |
|
 |

10-24-2007, 06:48 AM
|
Discordant
|
|
Join Date: Aug 2006
Posts: 394
|
|
Personally, once this does (eventually, I know) get sorted out, I'm hoping instancing is an OPTION... to me, instancing is a great way to just eat server resources like crazy.
Maybe something like you said, a "next in line" type thing, with the zone being able to be locked for a group (or globals used to temp flag players to be "allowed" to go in for that adventure but nobody else until it resets)...
IMO, LDoN was horrible on Live, boring to the max, the rewards blew, it was redundant (all the zones looked the same)... and was the most pathetic attempt at a time sink since Luclin. LDoN convinced me that SoE hired chimps to just bang out cookie-cutter content for profit. People only played it because they were desperate for solo and group content, because SoE made SURE that only raid guilds could advance previously. Does that make LDoN good? Nope. It's probably the worst expansion they ever did.
On live, LDoN is a ghost town expansion... as soon as missions came out, people dropped LDoN flat. Everyone knew it stunk, everyone I knew hated it. To me, it should be the lowest priority to emulate especially since far more important things (like AAs, tribute, leadership even, class balance, etc.) still do not work. Even pets still aren't working right. This is the stuff that needs to work first, I think. Not some expansion almost everyone I ever met hated with a passion...
If you want instancing, I'd rather see missions and mission zones worked on before this turd of an expansion. I'd rather use the LDoN zones as static zones, chain them together for massive raid crawls or something (which makes a lot more sense to me, you know, like a maze of twisty little zones, all alike  ... or even swap many of them out with custom (openzone) zones.
I mean this is JUST MY OPINION, but the deeper I can bury LDoN on my server, the better.
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast
Last edited by gernblan; 10-24-2007 at 02:53 PM..
|
 |
|
 |
 |
|
 |

10-24-2007, 09:33 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
As an opposing view, LDoNs give smaller groups (and in theory, smaller servers) something to do without ruining the zones that do require larger groups or raids. I was a big fan of LDoN because of 2 things; 1) it introduced instancing, so that asshat level 65 couldn't come steal my goodies I camped 900 hours for, and 2) me and my very busy RL mates could dash into the game, take an adventure, knock it out, and still have time for dinner and a movie. Shrug. It's all about perspective.
As for priority in emulation, I agree it is not the top-most priority. That's why >I< have been looking into it - a non-developer who can barely spell C++. And I have only harassed Core Dev 2 times about it
However, I feel that if this gets some attention, and some architecture gets implemented to support not only adventures, but tasks and missions, it would open the door to many of the newer features you do like - like DoN Missions. It seems basically the same. Grab a mission, complete it, get crystals. How is that any different than LDoN points?
As for the zones all looking the same... that's called Themes, silly. But yes, after 200 of them, they started to rake on ones nerves. However, imo, missions and tasks are no less redundant and boring after awhile. They all still need work, and someone should step up, git er dun.
|
 |
|
 |

10-24-2007, 02:11 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
I just had a thought, and wanted to jot it down before I forget (again)
I wonder if using the spawn "conditions" for spawning the same dungeon with different configurations of mobs (levels, strengths, bosses whatever)... It would be more work on the front end, but if somehow an adventure could trigger a condition based on, say, the average level of your party, that would be cool.
There. Documented.
|

10-24-2007, 03:10 PM
|
Demi-God
|
|
Join Date: Mar 2004
Posts: 1,066
|
|
I think that was one of the major reasons for putting in the spawn conditions
(The three I cited off the top of my head were the LDoN adventures, day vs night spawns like Kithicor, and major events like the later stages of Coldain ring quests that significantly affect spawn tables, such as dead Coldain everywhere in thurgadinb if you fail the quest)
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
|

10-24-2007, 06:21 PM
|
Discordant
|
|
Join Date: Aug 2006
Posts: 394
|
|
Oh forgot to mention /trader in bazaar.
That alone is keeping all emu servers from having real economies.
John your points are valid. All I am saying is that with the limited dev resources this project has (which of course there are many reasons for I do not pretend to know them all or even care, I just like to hope that all that can be done is being done day to day)... all I am saying is that maybe as a community we should pick our battles carefully.
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast
|
 |
|
 |

10-24-2007, 06:23 PM
|
Discordant
|
|
Join Date: Aug 2006
Posts: 394
|
|
Quote:
Originally Posted by John Adams
As an opposing view, LDoNs give smaller groups (and in theory, smaller servers) something to do without ruining the zones that do require larger groups or raids. I was a big fan of LDoN because of 2 things; 1) it introduced instancing, so that asshat level 65 couldn't come steal my goodies I camped 900 hours for, and 2) me and my very busy RL mates could dash into the game, take an adventure, knock it out, and still have time for dinner and a movie. Shrug. It's all about perspective.
As for priority in emulation, I agree it is not the top-most priority. That's why >I< have been looking into it - a non-developer who can barely spell C++. And I have only harassed Core Dev 2 times about it
However, I feel that if this gets some attention, and some architecture gets implemented to support not only adventures, but tasks and missions, it would open the door to many of the newer features you do like - like DoN Missions. It seems basically the same. Grab a mission, complete it, get crystals. How is that any different than LDoN points?
As for the zones all looking the same... that's called Themes, silly. But yes, after 200 of them, they started to rake on ones nerves. However, imo, missions and tasks are no less redundant and boring after awhile. They all still need work, and someone should step up, git er dun.
|
ALL very good points.
Believe me, if LDoN ever WAS emulated, I'd find a way to use it and would try to make it fun for my players.
There just so many other things I'd LOVE to see working... some of those things pretty basic (like AAs)... oh and FEAR.
Fear is a travesty on the emulator. it's such an important part of the game, yet it's useless.
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast
|
 |
|
 |
 |
|
 |

10-25-2007, 03:16 PM
|
Hill Giant
|
|
Join Date: Oct 2006
Posts: 248
|
|
Quote:
Originally Posted by John Adams
As an opposing view, LDoNs give smaller groups (and in theory, smaller servers) something to do without ruining the zones that do require larger groups or raids. I was a big fan of LDoN because of 2 things; 1) it introduced instancing, so that asshat level 65 couldn't come steal my goodies I camped 900 hours for, and 2) me and my very busy RL mates could dash into the game, take an adventure, knock it out, and still have time for dinner and a movie. Shrug. It's all about perspective.
As for priority in emulation, I agree it is not the top-most priority. That's why >I< have been looking into it - a non-developer who can barely spell C++. And I have only harassed Core Dev 2 times about it
However, I feel that if this gets some attention, and some architecture gets implemented to support not only adventures, but tasks and missions, it would open the door to many of the newer features you do like - like DoN Missions. It seems basically the same. Grab a mission, complete it, get crystals. How is that any different than LDoN points?
|
TBH, i share the view that ldon and missions are low priority. personally, i'd like to see standard content (spells, songs, etc.) fully operational. there are a host of standard (aka, in the game well before these expansions appeared) things that are completely non-functional (charm?) or are not functioning properly ( fear, buffs, tradeskills, etc.)
granted, the "newer features" will contain more "woohoo" factor. but listening to a bard on my server laments the broken songs that litter his repertoire, among the various things, holds my attention. thus, i spend time pouring over the song code trying to devise ways to make it work without crashing my server or doing "bad things" to the code base.
and i agree with gernblan. we gotta pick our battles. if you're hot and heavy for ldon, rock that world, man. i'm a nub at packet disassembly, so i'm picking my battle elsewhere, atm.
== sfisque
|
 |
|
 |

10-26-2007, 06:20 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Agreed. I didn't expect any devs to actually code LDoN, I am merely asking for guidance. I do not know how to detect unknown Opcodes. I do not know how to add to the extended profile structure effectively. And I do not want to re-write everything to work "my way" when it will just be rejected by the core team because it looks like it was coded by a 3rd grader.
But I absolutely agree, this is a project for the casual dev who cannot help elsewhere. That'd be me (and hopefully someone else eventually).
|
 |
|
 |

10-26-2007, 10:05 AM
|
Developer
|
|
Join Date: Apr 2003
Posts: 589
|
|
All you LDoN haters out there are going to be sad to hear work has already begun on LDoN, mostly at PEQ so far, but LDoN is coming to an emulated server near you.. probably not until sometime after the holidays though.
Of course there is a very long list of things that need to be done on the server. And depending on who you ask and what that person's agenda is, you'll get a different list of priorities. But thats neither here nor there, because at the end of the day, the things that are going to get coded, are whatever the person doing the code is most interested in. So relax, download the code and contribute to it by posting in the code submission section of this forum or simply play and enjoy yourselves.
Think back a year ago today and ask yourself, what was the state of the server code then... I can tell you, at the time the server code had many stability issues, memory issues and bugs that would lock up the whole server just because some assling in misty thicket looted his bee jam! My friends, what a long way the code has come and for the better.
So I guess my point is this... If you hate LDoN and cant figure out why some ass clown like me is going to waste my time coding zone instancing instead of fixing fear pathing, well no one is going to stop you from following your interests and no one here is going to turn down your code contribution to implement fear pathing either.
__________________
Read my developer notes at my blog.
Quote:
If it's not on IRC, it ain't l33t!
|
|
 |
|
 |
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 12:37 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |