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 12-23-2003, 02:51 PM
Guest
 
Posts: n/a
Default NPC ATTACK TABLE

Here is a quick table I built anyone have any closer values to use ?

update npc_types set maxdmg=9 where level=1;
update npc_types set maxdmg=21 where level=2;
update npc_types set maxdmg=39 where level=3;
update npc_types set maxdmg=44 where level=4;
update npc_types set maxdmg=55 where level=5;
update npc_types set maxdmg=64 where level=6;
update npc_types set maxdmg=79 where level=7;
update npc_types set maxdmg=84 where level=8;
update npc_types set maxdmg=99 where level=9;
update npc_types set maxdmg=105 where level=10;
update npc_types set maxdmg=119 where level=11;
update npc_types set maxdmg=121 where level=12;
update npc_types set maxdmg=131 where level=13;
update npc_types set maxdmg=144 where level=14;
update npc_types set maxdmg=159 where level=15;
update npc_types set maxdmg=165 where level=16;
update npc_types set maxdmg=170 where level=17;
update npc_types set maxdmg=175 where level=18;
update npc_types set maxdmg=180 where level=19;
update npc_types set maxdmg=185 where level=20;
update npc_types set maxdmg=190 where level=21;
update npc_types set maxdmg=195 where level=22;
update npc_types set maxdmg=200 where level=23;
update npc_types set maxdmg=205 where level=24;
update npc_types set maxdmg=210 where level=25;
update npc_types set maxdmg=215 where level=26;
update npc_types set maxdmg=220 where level=27;
update npc_types set maxdmg=225 where level=28;
update npc_types set maxdmg=230 where level=29;
update npc_types set maxdmg=235 where level=30;
update npc_types set maxdmg=240 where level=31;
update npc_types set maxdmg=245 where level=32;
update npc_types set maxdmg=250 where level=33;
update npc_types set maxdmg=255 where level=34;
update npc_types set maxdmg=260 where level=35;
update npc_types set maxdmg=265 where level=36;
update npc_types set maxdmg=270 where level=37;
update npc_types set maxdmg=275 where level=38;
update npc_types set maxdmg=280 where level=39;
update npc_types set maxdmg=285 where level=40;
update npc_types set maxdmg=290 where level=41;
update npc_types set maxdmg=295 where level=42;
update npc_types set maxdmg=300 where level=43;
update npc_types set maxdmg=305 where level=44;
update npc_types set maxdmg=310 where level=45;
update npc_types set maxdmg=315 where level=46;
update npc_types set maxdmg=320 where level=47;
update npc_types set maxdmg=325 where level=48;
update npc_types set maxdmg=330 where level=49;
update npc_types set maxdmg=344 where level=50;
update npc_types set maxdmg=359 where level=51;
update npc_types set maxdmg=360 where level=52;
update npc_types set maxdmg=370 where level=53;
update npc_types set maxdmg=380 where level=54;
update npc_types set maxdmg=390 where level=55;
update npc_types set maxdmg=400 where level=156;
update npc_types set maxdmg=450 where level=257;
update npc_types set maxdmg=500 where level=358;
update npc_types set maxdmg=550 where level=459;
update npc_types set maxdmg=600 where level=560;



comments or sugesstions welcome.
Reply With Quote
  #2  
Old 12-23-2003, 03:00 PM
vetoeq
Hill Giant
 
Join Date: Apr 2003
Posts: 125
Default

Ouch, those values are going to be hitting pretty hard in the mid-levels. I'm seeing values that run to ~150 for 55-57 for normal mobs. Of course, some things will be out of line there, but that seems about right for normal, no-flurry, etc. mobs.

--Veto
Reply With Quote
  #3  
Old 12-23-2003, 06:54 PM
maethwyn
Fire Beetle
 
Join Date: Dec 2002
Posts: 11
Default

...I was thinking more along these lines:

update npc_types set maxdmg=3 where level=1;
update npc_types set maxdmg=6 where level=2;
update npc_types set maxdmg=9 where level=3;
update npc_types set maxdmg=12 where level=4;
update npc_types set maxdmg=13 where level=5;
update npc_types set maxdmg=13 where level=6;
update npc_types set maxdmg=14 where level=7;
update npc_types set maxdmg=14 where level=8;
update npc_types set maxdmg=14 where level=9;
update npc_types set maxdmg=25 where level=10;
update npc_types set maxdmg=25 where level=11;
update npc_types set maxdmg=26 where level=12;
update npc_types set maxdmg=26 where level=13;
update npc_types set maxdmg=27 where level=14;
update npc_types set maxdmg=37 where level=15;
update npc_types set maxdmg=38 where level=16;
update npc_types set maxdmg=38 where level=17;
update npc_types set maxdmg=38 where level=18;
update npc_types set maxdmg=39 where level=19;
update npc_types set maxdmg=49 where level=20;
update npc_types set maxdmg=50 where level=21;
update npc_types set maxdmg=50 where level=22;
update npc_types set maxdmg=51 where level=23;
update npc_types set maxdmg=51 where level=24;
update npc_types set maxdmg=62 where level=25;
update npc_types set maxdmg=62 where level=26;
update npc_types set maxdmg=62 where level=27;
update npc_types set maxdmg=63 where level=28;
update npc_types set maxdmg=63 where level=29;
update npc_types set maxdmg=74 where level=30;
update npc_types set maxdmg=74 where level=31;
update npc_types set maxdmg=75 where level=32;
update npc_types set maxdmg=75 where level=33;
update npc_types set maxdmg=76 where level=34;
update npc_types set maxdmg=86 where level=35;
update npc_types set maxdmg=86 where level=36;
update npc_types set maxdmg=87 where level=37;
update npc_types set maxdmg=87 where level=38;
update npc_types set maxdmg=88 where level=39;
update npc_types set maxdmg=98 where level=40;
update npc_types set maxdmg=99 where level=41;
update npc_types set maxdmg=99 where level=42;
update npc_types set maxdmg=100 where level=43;
update npc_types set maxdmg=100 where level=44;
update npc_types set maxdmg=110 where level=45;
update npc_types set maxdmg=111 where level=46;
update npc_types set maxdmg=111 where level=47;
update npc_types set maxdmg=112 where level=48;
update npc_types set maxdmg=112 where level=49;
update npc_types set maxdmg=123 where level=50;
update npc_types set maxdmg=123 where level=51;
update npc_types set maxdmg=124 where level=52;
update npc_types set maxdmg=124 where level=53;
update npc_types set maxdmg=124 where level=54;
update npc_types set maxdmg=135 where level=55;
Reply With Quote
  #4  
Old 12-23-2003, 08:08 PM
Shadow-Wolf
Dragon
 
Join Date: Oct 2003
Posts: 511
Default

ouch if those values were true in EQLive id never make level 53! i like maethwyn's a bit better but ive seen level 50+ mobs hit a bit higher.
Reply With Quote
  #5  
Old 12-23-2003, 08:23 PM
maethwyn
Fire Beetle
 
Join Date: Dec 2002
Posts: 11
Default

Yeah, I don't think there is a magic formula for fitting all instances... but so far (played my new ranjah) up to lvl 20 in qeynos2, crushbone, kurns, and paludal... and with the values I gave, they seem to be hitting right about where eqlive was... a little softer at the beginning levels... but I always hated dying 20 times until my 1HS went up enough to land a hit

I think on mobs 47+ (i.e. - no longer Dire charmable), the formula should increase a bit more... I'll know for sure when I test those levels out!
Reply With Quote
  #6  
Old 12-23-2003, 11:17 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

I wouldnt run this sql fix.
I think you have to take care of the mob classes. And this will overwrite settings made for certain spawns (nameds for example).
you could perhaps save the particularities of your npc before updating their maxdmg, and restore em after, or only update the npcs which have a name starting by 'a ' or 'an '...

update ... where (name like 'a %') or (name like 'an %');

L8rs
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #7  
Old 12-24-2003, 03:15 AM
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by Muuss
I wouldnt run this sql fix.
I think you have to take care of the mob classes. And this will overwrite settings made for certain spawns (nameds for example).
you could perhaps save the particularities of your npc before updating their maxdmg, and restore em after, or only update the npcs which have a name starting by 'a ' or 'an '...

update ... where (name like 'a %') or (name like 'an %');

L8rs
yes that way is the best but it is very time consumeing.
right now theres all these spawns hitting for 400 and i needed a quick fix.
if someone could make a SQL for your way it would help a lot but I for one do not have the time required for such a task.
Reply With Quote
  #8  
Old 12-24-2003, 04:45 AM
maethwyn
Fire Beetle
 
Join Date: Dec 2002
Posts: 11
Default

...or maybe just update if level < 47 AND maxdmg=400, that way the ones in question/bad vals are the only ones changed regardless of Named/normal status.

UPDATE npc_types SET maxdmg='yourcalcedvalueforthislevel' WHERE (level<47 AND maxdmg=400);

Though the level check is redundant above as the maxdmg value entered would be based on level.

I am redoing my MOB HP/maxdmg tables and will post up with what I have...

I am splitting the tables into 6 categories for class consideration purposes:
01 - WAR
02 - PAL, SHD
03 - RNG, BRD
04 - BST, MNK, ROG
05 - CLR, DRU, SHM
06 - ENC, NEC, MAG, WIZ

HPs go down as group ID goes up; maxdmg is a bit of my own thoughts... MNK group highest DPS, then WAR, PAL/SHD, BRD... et cetera - though WAR has highest HP, then PAL/SHD, et cetera... I always hated being hit as hard by a WIZ MOB as his more-hp WAR friend.

Here are my proposed HP catch-alls:
Code:
LVL   CID01	CID02	 CID03	 CID04	 CID05	 CID06
 1        50	  50	  50	  40	  40	  40
 2        90	  90	  90	  80	  80	  80
 3       130	 130	 130	 120	 120	 120
 4       170	 170	 170	 160	 160	 150
 5       210	 210	 210	 200	 190	 190
 6       250	 250	 250	 240	 230	 230
 7       300	 290	 290	 280	 270	 260
 8       340	 330	 330	 320	 310	 300
 9       380	 370	 370	 360	 350	 340
10       490	 470	 460	 440	 410	 390
11       540	 520	 510	 490	 460	 430
12       580	 570	 560	 530	 500	 470
13       630	 620	 600	 580	 540	 510
14       680	 660	 650	 620	 580	 550
15       730	 710	 690	 660	 620	 590
16       780	 760	 740	 710	 660	 630
17       820	 800	 790	 750	 700	 670
18       870	 850	 830	 800	 740	 710
19       920	 900	 880	 840	 780	 750
20      1100	1060	1030	 970	 880	 820
21      1160	1120	1090	1020	 930	 870
22      1210	1170	1140	1070	 970	 910
23      1270	1220	1190	1120	1020	 950
24      1320	1280	1240	1170	1060	 990
25      1370	1330	1290	1220	1100	1030
26      1430	1380	1340	1270	1150	1070
27      1480	1440	1400	1310	1190	1110
28      1540	1490	1450	1360	1240	1150
29      1590	1540	1500	1410	1280	1190
30      1850	1770	1710	1590	1410	1290
31      1910	1830	1770	1650	1460	1340
32      1970	1890	1830	1700	1510	1380
33      2030	1950	1890	1750	1560	1420
34      2090	2010	1940	1810	1600	1470
35      2150	2070	2000	1860	1650	1510
36      2220	2130	2060	1910	1700	1550
37      2280	2190	2110	1970	1740	1600
38      2340	2250	2170	2020	1790	1640
39      2400	2310	2230	2070	1840	1680
40      2720	2600	2500	2300	2000	1800
41      2790	2670	2570	2360	2050	1850
42      2860	2730	2630	2420	2100	1890
43      2930	2800	2690	2480	2150	1940
44      3000	2860	2750	2530	2200	1980
45      3060	2930	2820	2590	2250	2030
46      3130	2990	2880	2650	2300	2070
47      3200	3060	2940	2710	2350	2120
48      3270	3120	3000	2760	2400	2160
49      3340	3190	3070	2820	2450	2210
And here is the SQL:
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 3.30 * 2 + 35 ) ) WHERE class IN ( 1 ) AND ( level < 50 );
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 3.00 * 2 + 35 ) ) WHERE class IN ( 3, 5 ) AND ( level < 50 );
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 2.75 * 2 + 35 ) ) WHERE class IN ( 4, 8 ) AND ( level < 50 );
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 2.25 * 2 + 35 ) ) WHERE class IN ( 7, 9, 15 ) AND ( level < 50 );
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 1.50 * 2 + 35 ) ) WHERE class IN ( 2, 6, 10 ) AND ( level < 50 );
UPDATE npc_types SET hp = ( level * ( (TRUNCATE( level / 10, 0 )+1) * 1.00 * 2 + 35 ) ) WHERE class IN ( 11, 12, 13, 14 ) AND ( level < 50 );
Reply With Quote
  #9  
Old 12-24-2003, 06:56 AM
maethwyn
Fire Beetle
 
Join Date: Dec 2002
Posts: 11
Default

And here is the maxdmg table I came up with (same heading as HP model above (i.e. - level cid01 cid02...):

Code:
5	5	5	5	4	3
6	5	5	6	4	4
6	6	6	6	5	4
7	6	6	7	5	4
7	7	7	8	5	5
8	7	7	8	6	5
8	8	8	9	6	6
9	8	8	9	7	6
9	9	9	10	7	6
16	15	14	16	12	10
17	16	15	18	12	11
18	17	16	19	13	12
19	18	17	20	14	13
20	19	18	21	15	13
21	20	19	22	16	14
22	21	20	23	17	15
23	22	21	25	17	16
25	23	22	26	18	16
26	24	23	27	19	17
38	36	34	40	28	25
40	38	36	42	29	26
41	39	37	43	31	27
43	41	39	45	32	29
45	42	40	47	33	30
46	44	42	49	34	31
48	45	43	50	36	32
50	47	45	52	37	33
51	49	46	54	38	34
53	50	48	56	39	35
71	68	64	75	53	48
74	70	66	77	55	49
76	72	68	80	56	51
78	74	70	82	58	52
80	76	72	84	60	53
82	78	74	87	61	55
85	80	76	89	63	56
87	82	78	91	65	58
89	85	80	94	66	59
91	87	82	96	68	61
116	110	104	122	86	77
119	113	107	125	88	79
121	115	109	128	90	81
124	118	112	131	92	83
127	121	114	134	94	85
130	123	117	136	97	87
133	126	119	139	99	88
135	128	122	142	101	90
138	131	124	145	103	92
141	134	127	148	105	94
And the SQL:
UPDATE npc_types SET maxdmg = ( 3.90 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 1 ) AND ( level < 50 );
UPDATE npc_types SET maxdmg = ( 3.70 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 3, 5 ) AND ( level < 50 );
UPDATE npc_types SET maxdmg = ( 3.50 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 4, 8 ) AND ( level < 50 );
UPDATE npc_types SET maxdmg = ( 4.10 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 7, 9, 15 ) AND ( level < 50 );
UPDATE npc_types SET maxdmg = ( 2.90 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 2, 6, 10 ) AND ( level < 50 );
UPDATE npc_types SET maxdmg = ( 2.60 * (( level * (TRUNCATE(level / 10, 0)+1)) + 8 ) / 7 ) WHERE class IN ( 11, 12, 13, 14 ) AND ( level < 50 );
Reply With Quote
  #10  
Old 12-24-2003, 08:26 AM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

I highly recomend finding formulas like these to globably set a lot of the default values. Then also making another sql script that goes back and sets things like named spawns or other exceptions to the rules.

Something similar to
Code:
UPDATE npc_types SET maxdmg = 500 where (name like '%sleeper%' and zone like 'sleepers');
That way you can always reapply your hand tweeks to... well any DB actually. And don't feel limited to doing so aginst single spawns with fixed vaues.
Code:
UPDATE npc_types SET loottable_id = 30 where (name like '%skeleton%' and level < 20);
set loot to bone chips ect...

It will add a tremendous consistancy to the DB, and still keep the customized stuff.
__________________
Please read the forum rules and look at reacent messages before posting.
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 04:34 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