Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Database/World Building

Archive::Database/World Building Archive area for General Discussion's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-02-2002, 05:41 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default npc_types table incomplete?

How come the npctypes table has no stats? ac? Seems to be a LOT of information missing.
Reply With Quote
  #2  
Old 11-04-2002, 02:59 AM
Xarslik
Hill Giant
 
Join Date: Oct 2002
Location: System.Web
Posts: 107
Default

Not really missing, just not implemented yet. As far as I remember all NPC stats (Str, Sta etc) are 75 by default.

You could probably add support for the stat variables in npc_types.
__________________
~ Xarslik
[ Xarslik's Arena Challenge Server ]
Reply With Quote
  #3  
Old 11-04-2002, 06:46 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default

Yes.. I would like to add the support. I've already added npc procs to the database and the emu code.

If no one has any objections, I will add stats and ac to the database as well.
Reply With Quote
  #4  
Old 11-05-2002, 04:20 AM
Zerak
Fire Beetle
 
Join Date: Sep 2002
Posts: 12
Default

Great idea. Would increase MySQL size by a rather noticeable amount, but great idea.
Reply With Quote
  #5  
Old 11-05-2002, 09:49 AM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

A quick way to improve things would be make the stats different for different race class combos, also have it raise some stats based on levels. You could even throw some randomness in there. That would go a long ways to getting the npc's closer to wher they should be. Then perhaps have a table of profiles that could overwrite (or modify might be better) the calculated values. That way you need a lot fewer sets of stats 200-800 instead of 20000 stored in the DB.

just my 2cp
__________________
Please read the forum rules and look at reacent messages before posting.
Reply With Quote
  #6  
Old 11-05-2002, 09:58 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default

Not a bad idea at all. Here is what I would recommened:

Seperate the stats off into a PROFILE. Build default profies for main types "Ghoul", "mummy", "Giant", etc..

In the npc_types database, add a colum,n that specifies what profile the entry uses.

Then, to customize things, you could just make custom profiles and link those in as needed.

If this sounds good, let me know, and i'll implement it tonight. I really want to get something like this working because i'd much prefer pets to be pulled form the database rather than hard coded.
Reply With Quote
  #7  
Old 11-05-2002, 09:59 AM
DeletedUser
Fire Beetle
 
Join Date: Sep 2002
Posts: 0
Default

isnt that how eqlive works?

All races have a set stat then it raises by level/class/items/buffs/etc.
Reply With Quote
  #8  
Old 11-05-2002, 10:03 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default

Stop folliwng me! :p

Yes and no. The npc defintions include the stats. If eqlive was eqemu, then the stats would be in the npc_types table. Whenever a designer wants to make, sya a new type of ghoul, he typically will copy the entry for an existing ghoul, then modify it. Thats how they retain similiar stats.

But I like te idea of splitting them off into a seperate profile better. Then just adding a link to the profile used when you define the npc. Less data overhead that way.
Reply With Quote
  #9  
Old 11-05-2002, 10:59 AM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

Also nice that it makes old code compatible with new databases since the stats live in an entirely new table..
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
Reply With Quote
  #10  
Old 11-06-2002, 06:35 AM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

quester:
Yea, that was the basic idea. I suggested having base profiles calculated so that most mobs would not need any modification, then have the "profile" table for special mobs. Also if the profile table is a stats modification table then the calculated values can be tweeked without greatly upsetting the special mobs.


Taking it a bit further, if all the modifications (class/race/special mobs) are formula values, then there will be even fewer profiles needed.

So wild numbers pulled from no where...

Std mob profile:
war:
5% str from the base numbers
4% sta
10% HP
-5% int
ect

halfling:
-4% str
3% agi
ect

ogre:
10% str
-15% int
ect

level:
3% * level different values for different stats



Profile adjustment:
high resist profile:
10% * level to all resists


High HP profile:
12% HP * level

ect...


So in npc_types you would specify a profile mod (or leave 0 for the default) HP would be removed, and changed to a calculation. HP, mana regen, and perhaps the walk/run speed should probably be moved to the profile as well. And I would prefer that level was moved to the spawn entry table, even beter if it was changed to a level range.


Think that about wraps up my view on things. What do you think?
__________________
Please read the forum rules and look at reacent messages before posting.
Reply With Quote
  #11  
Old 11-06-2002, 07:33 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default

I think it sounds good. Some stuff, as you pointed out, that is currently in npc_types should be moved over to the profiles.

I'll do what I can to make the code work with the different database configurations, since npc_types will undergo some large scale changes.

I also want to be able to make the profiles as flexible as possible, so you can do things like randoms, percentages, fixed values, etc. I'll do some thinking on that. Probably the best way would be to do it with varchar fields, and then have ways of entering values, such as:
Code:
%+10 (Increase value by 10%)
%-10 (Decrease value by 10%)
10 (Make value 10)
+10 (Increase value by 10)
-10 (Decrease value by 10)
r10-20 (Set value to a random value between 10 and 20)
r+10-20 (Increase value random between 10 and 20)
r-10-20 (Decrease value random between 10 and 20)
Maybe add in a variable, as well for levels:

Code:
l* (Level times)
l% (Level divided by)
l- (Level minus)
l+ (Level plus)
This could be used anywhere a value is indicated, for example:
[code]
%+l*10
[code]

Would mean, "Increase value by (level * 10) Percent.

Thoughts?
Reply With Quote
  #12  
Old 11-07-2002, 08:44 AM
quester
Hill Giant
 
Join Date: Oct 2002
Posts: 108
Default

Well.. haven't seen any comments against this, so that is what i'm going to do this weekend unless someone comes up and says no
Reply With Quote
  #13  
Old 11-08-2002, 01:53 AM
TheClaus
Discordant
 
Join Date: Jan 2002
Location: Manteca, CA
Posts: 352
Default

quester,

I just wanted to say that you are doing some cool things and wish the devs would speak up about this. Unfortunately they tend to not answer too much in fear of being sucked into the void. Don't think your code is going unnoticed. IMO you are bringing some life back into the project. You might want to show up on IRC this weekend if your working on this. Most of the devs are around. Keep up the good work and don't leave like some people did (Malv, RIP buddy).
Reply With Quote
  #14  
Old 11-08-2002, 06:24 AM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

No doubt Quester, awesome work.. You should consider coming onto irc and joining the dev team.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
Reply With Quote
  #15  
Old 11-08-2002, 10:59 AM
devn00b's Avatar
devn00b
Demi-God
 
Join Date: Jan 2002
Posts: 15,658
Default

you know the devs might care more if they saw some ACTUAL code from him..

i have yet to see antything original from him...and the one 'fix' increased the memory footprint of zones by 60%.

which is a step in the WRONG direction.

show some code then maybe somone will care.
__________________
(Former)Senior EQEMu Developer
GuildWars Co-Founder / World Builder.
World Builder and Co-Founder Zek [PVP/Guild Wars/City Takeovers]
Member of the "I hate devn00b" Club
Most Senior EQEMu Member.

Current Work: EverQuest 2 Emulator. Zeklabs Server
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:33 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3