proxeeus / quests

My quest scripts to use with my custom db + source
3 stars 4 forks source link

Database #165

Open alimalkhalifa opened 6 years ago

alimalkhalifa commented 6 years ago

Oh man, I was going through a similar process when I stumbled upon your project! First I started off with eqmacemu then moved on to eqclassic source. Spent a couple of weeks trying to figure out if it was worth developing further.

Then decided to start my own project from vanilla EQEmu source, and lo and behold found yours!

It was meant to be a project that focuses on a certain era (classic to start with since there is less content to go through) and focus on one client and polish it up.

Looking at the README, seems you had a will to share the Database, but was looking for the best way to do that. Any chance you could share it? If you wish, I could provide hosting for the database file so it is available for others as well.

proxeeus commented 6 years ago

(apologies in advance, english isn't my first language) Hey man !

Well yeah the general idea down the line would be to release this to whomever, the problem is that even with years of work already done, it's still quite a mess, since I usually do that on my spare time / when I feel like it and tend to also adjust stuff to my own personal liking.

The baseline is actually a very very old AxClassic database. I made that choice years ago because it had original CT, Nurga/Droga, Boat routes already made, and stuff like that, so I thought it'd give me a headstart. A couple years later when I saw that the AxClassic source repo had been closed and that code updates would no longer be available, I decided to port this old database over to the newest EQEmu architecture, which was an adventure in itself, since the DB schemas had years of changes by that point.

The only problem with all that, is that I was then completely oblivious to what was actually missing in that DB, compared to stock PEQ stuff: npc special abilities completely missing, general mobs attack speed out of whack, tons of broken spawns / pathgrids, mobs / drops simply not existing, an absolute shitload of missing / bugged quests (newbie quests, 'starter guild tunic' quests, whatever you can think of), merchant lists pretty much non-existant.. I won't even mention Factions. Most NPCs in that DB were on no faction whatsoever, the few who were, were on completely wrong ones, and the factions in itself were not configured (no class/race/deity bonus/malus whatsoever).

Hindsight is 20/20 but if I had known, I may have started with a PEQ stock and redone a couple of dungeons by hand, but I felt that I already invested too much to just start over, so I sucked it up and went with it.

The amount of stuff I fixed is I think quite remarkable but this will never be classic, as in, it's supposedly for private/solo use with bots, so I haven't been making 200% sure about stuff like drop rates or spawn times being top notch. Let's say it's classic-ey in spirit.

While doing this I modified a bit of the EQEmu source to implement what I call "Player Bots", which are at their core NPCs acting as Player lookalikes (blue nameplate and all). They're randomly generated and spawn in most zones, with random class/race/equipment and hunt mobs (and leave corpses when they inevitably die :P), giving the illusion that you have other people playing at the same time and that you're not alone playing a 20 years-old emulated game on your laptop (yeah it's peak sad). Cool thing is that you can target them and ^invite them, which creates an actual EQEmu bot with all those features (and their equipment), ready for use. Besides making the world less empty, I also did that to have the possibility to build raid-forces quickly while still remaining balanced (their toppest loot is SolRo questable armor so hardly anything gamebreaking), since, as you probably guessed, in that DB, the Planes/raid zones are also pretty fucked and need heavy fixing/testing.

So uh yeah, that's the gist of it I guess ! Sorry about the wall of text lol.

alimalkhalifa commented 6 years ago

Nah it's all good, man!

It's awesome that you got all this work done on an AxClassic DB!

It was my favourite back then, with its very classic-y feel and the bot quests!

I saw what you were doing through the README and going quickly through some source. It is awesome what you did with the player bots!

If you will excuse my 3rd party opinion (considering I don't know what's in your DB, other than what you said, and that I have not put years into this!) But it seems to me like where I can contribute is by marrying your DB to PEQ. PEQ have done an awesome job as you have said putting in all the small details, and as I understand they have been backporting some TAKP DBs, making a lot of zones classic compatible.

Which brings me to a hit list. If we can take PEQ as a base and:

That should give a good base.

I'm willing to try that if you are! Let me know if you don't mind a helping hand 😁

proxeeus commented 6 years ago

Your idea has merit. This is something I'll have to mull over the coming couple of weeks (I'll be mostly afk and won't be able to continue working on this).
In fact, I did think about writing some sort of tool to automate the process of importing stuff from one DB to another (say, a zone, its associated npctypes/spawns/loot_tables etc) but never went beyond the "yeah that'd be cool" phase.

One of the issues I fear the most with that plan, though, is ID conflicts between my quest scripts and PEQ's data for example; npctypes ids do not match at all between those 2 DBs, so scripts would have to be fixed one by one, again, and to be perfectly honest this is something I'd rather not do :D

But yeah I'm perfectly aware that this kind of technical debt is due to my lack of foresight years ago haha.

Live & learn !

alimalkhalifa commented 6 years ago

I'll start looking into the quest IDs myself. Will let you know if it's doable 😁

Let me know if you want to proceed!

proxeeus commented 6 years ago

Will do -- please do not be surprised if you don't hear a thing for the coming couple of weeks tho, I won't be available !

alimalkhalifa commented 5 years ago

Welcome back! Glad to see you continuing work on this. I had done some work on the above if you want it. Took stock PEQ, wiped all data that was not classic eq (including kunark and velious -- can always source that back in) then ran a cull on all tables (items, lootdrops etc) to only keep the classic ones. Then I merged in spawns and grids from AxClassic for the revamped zones. Needless to say, AxClassic spawns are messy. Most of the grids are non working. Seems you have done some work on those.

If you want my Frankenstein DB I can share it. If not, no worries!

proxeeus commented 5 years ago

hey there ! Yeah i never truly stopped, even though I sometimes work a bit less on the project :)

the AxClassic stuff is indeed very very messy, and we're only talking spawns + grids here... I did a ton of work on "unstucking" npcs, making some new grids (I went as far as developping a crappy/badly coded 3D editor to visually design grids and place/edit spawns, which helped me greatly when I designed the Kunark boat routes, I even discovered tons of spawns actually below the world).

All NPCs special abilities (enrage, triple/quad attacks, summon, that kind of things) were not existing so I'm also porting those from more recent DBs, Mob attack speeds were all normalized at 30 which is simply not correct, I also had to develop automation tools in charge of adjusting those based on correct formulas from EQEmu posts, same goes for AC, etc etc...

Not saying that it'll be a 100% carbon-copy of classic (that never was the point anyway) but yeah, at least the spirit will be there.

Working on Kunark in the background these days, tons left to do but hey, anything is progress.