EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=625)
-   -   NPC ATTACK TABLE (https://www.eqemulator.org/forums/showthread.php?t=10971)

12-23-2003 02:51 PM

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.

vetoeq 12-23-2003 03:00 PM

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

maethwyn 12-23-2003 06:54 PM

...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;

Shadow-Wolf 12-23-2003 08:08 PM

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.

maethwyn 12-23-2003 08:23 PM

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!

Muuss 12-23-2003 11:17 PM

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

12-24-2003 03:15 AM

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.

maethwyn 12-24-2003 04:45 AM

...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 );

maethwyn 12-24-2003 06:56 AM

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 );

Lurker_005 12-24-2003 08:26 AM

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.


All times are GMT -4. The time now is 06:04 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.