EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=596)
-   -   Activate Defiant Drops (https://www.eqemulator.org/forums/showthread.php?t=33764)

LordAdakos 03-03-2013 09:40 AM

For the new loot system:

Code:

insert into lootdrop values (100001, 'Crude Defiant');
insert into lootdrop_entries select 100001, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Crude Defiant%';
insert into loottable_entries select distinct loottable_id, 100001, 1, 1, 0, 4 from npc_types where loottable_id > 0 and level between 0 and 14;

I think ... (the script works, but im still figuring out possibilities)

Shiny151 03-05-2013 09:00 PM

Has anyone noticed if you add defiant based on these scripts you'll sometimes find mobs that are dropping defiant gear that's out of their range? For example, if i only want Elegant Defiant to drop by using this:

Code:

insert into lootdrop values (300007, 'Elegant Defiant');
insert into lootdrop_entries select 300007, id, 1, 1, 2, 0, 127, 1 from items where name like 'Elegant Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 300007, 1, 4, 1, 1 from npc_types where loottable_id > 0 and level >= 70;

...only mobs equal or higher than level 70 should be dropping this. If I start with a clean database and use the above and then use George's Loot Editor to examine the mobs drop tables in BoT, I see random mobs below level 70 with Elegant gear in their drop tables. How can I prevent this so it stays strictly in range of the mobs level?

vkrr 04-01-2013 01:38 PM

I noticed that too shiny, I first thought it was a bug. Upon closer inspection it appears that there may be a loottable shared that is getting the same application of the loottable_entry. I havnt found a good fix yet, but i hope this info helps

Shiny151 04-01-2013 03:23 PM

I wonder if there's some sort of exclusion we can apply to the sql that if any mob tied to a table is lower than the the required range of the defiant gear that it doesn't add any defiant to the table. I'd prefer that option rather than having to clean up all the loot tables.

vkrr 04-01-2013 03:47 PM

you'd have to compare the loottable assigned to the mob to any other mob with the assigned loot table.
Someone who knows more about SQL than I would have to help you out, though.

Theorycrafting:
Compare loottable assigned to any mob with all other mobs who have the same loottable
if any of them are lower than X, don't add it, otherwise, add it.

maybe something like this for starters (assuming these are the right table and column names)
Code:

select * from lootdrop INNER JOIN npc_types on lootdrop.id = npc_types.lootdrop_id;
select lootdrop .*,npc_types .*  from lootdrop ,npc_types  where  lootdrop.id = npc_types.lootdrop_id;


Shiny151 04-02-2013 08:39 AM

I'm not versed well enough to figure this one out; I'm only slightly dangerous with sql. Perhaps you and werebat can put your heads together and figure this one out. Seems like you're on the right path though.


Quote:

Originally Posted by vkrr (Post 220078)
you'd have to compare the loottable assigned to the mob to any other mob with the assigned loot table.
Someone who knows more about SQL than I would have to help you out, though.

Theorycrafting:
Compare loottable assigned to any mob with all other mobs who have the same loottable
if any of them are lower than X, don't add it, otherwise, add it.

maybe something like this for starters (assuming these are the right table and column names)
Code:

select * from lootdrop INNER JOIN npc_types on lootdrop.id = npc_types.lootdrop_id;
select lootdrop .*,npc_types .*  from lootdrop ,npc_types  where  lootdrop.id = npc_types.lootdrop_id;



MisifuWiki 05-15-2013 08:28 PM

For to me any of the scrips posted in this thread works for me at peqdb 2506 , anyone can make defiant works ??

MisifuWiki 05-21-2013 11:40 AM

I try differents scripts and finally i got one wich work with db rev2506 /Cheers !!!! Then i will share with you all.


insert into lootdrop values (200002, 'Crude Defiant');
insert into lootdrop_entries select 200002, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Crude Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200002, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 1 and 4;

insert into lootdrop values (200003, 'Simple Defiant');
insert into lootdrop_entries select 200003, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Simple Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200003, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 5 and 14;

insert into lootdrop values (200004, 'Rough Defiant');
insert into lootdrop_entries select 200004, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Rough Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200004, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 15 and 25;

insert into lootdrop values (200005, 'Ornate Defiant');
insert into lootdrop_entries select 200005, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Ornate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200005, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 26 and 36;

insert into lootdrop values (200006, 'Flawed Defiant');
insert into lootdrop_entries select 200006, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Flawed Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200006, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 37 and 47;

insert into lootdrop values (200007, 'Intrincate Defiant');
insert into lootdrop_entries select 200007, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Intrincate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200007, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 48 and 58;

insert into lootdrop values (200008, 'Elaborate Defiant');
insert into lootdrop_entries select 200008, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Elaborate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200008, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 59 and 69;

insert into lootdrop values (200009, 'Elegant Defiant');
insert into lootdrop_entries select 200009, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Elegant Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200009, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level >= 70;


And this is all folks !!!

warkid 11-09-2013 10:11 AM

what do i edit to increase drop rate? the 10 or something els?

Lord of Steel 02-21-2014 03:01 PM

I wanted to remove defiant and the googles brought me here.

So here is what i just ran on my db if anyone wants to remove the chance for these to drop

Code:

UPDATE peq.loottable_entries
JOIN  peq.lootdrop_entries ON peq.lootdrop_entries.lootdrop_id = peq.loottable_entries.lootdrop_id 
JOIN  peq.items ON peq.items.id = peq.lootdrop_entries.item_id 
SET peq.loottable_entries.probability = 0
WHERE peq.items.name like "%defiant%" AND peq.items.lore like "%For%"

haven't tested it yet in game but it should work

Furniture 02-21-2014 05:07 PM

just thought i should add that while that query will remove defiant drops, theres many more pieces of defiant type gear that still drops, as well as augments, tradeskill items, etc.

Just a warning for those looking to get rid of all out of era stuff like defiant out of their database

dagulus2 02-22-2014 10:05 AM

shouldent this be 'SET peq.lootdrop_entries.probability = 0' rather than 'SET peq.loottable_entries.probability = 0' ?

sorvani 02-22-2014 05:37 PM

Depends. If the defiant is always on its own loot drop you can. Otherwise setting the specific entry to zero makes just that item in the loot drop not get rolled.

werebat 02-23-2014 08:03 AM

This sql will remove all defiant from lootdrops. It also includes the combatant and adept stuff which is pretty much defiant for other slots.

Quote:

delete from lootdrop_entries
where item_id in (select id from items where name regexp '(Crude|Simple|Rough|Ornate|Flawed|Intricate|Elabo rate|Elegant)( Defiant| Combatant| Adept)');

Bohbo 12-25-2014 12:18 PM

With some of the new DB Fields / Updates the code doesn't match the column count. For anyone having trouble try this structure.

See the 2 highlighted values. This will match up the column count.

Code:

insert into lootdrop_entries select 100001, id, 1, 1, 2, 0, 0, 127, 1 from items where name like 'Crude Defiant%' and nodrop = 1;


All times are GMT -4. The time now is 12:44 AM.

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