Jump to content

[sql fix][9007] Engineering Trinkets' PPM


Auntie Mangos

Recommended Posts

  • Replies 55
  • Created
  • Last Reply

Top Posters In This Topic

  • 39 years later...

Okay this started as a fix for two spell procs but expanded quite alot, so maybe a mod can change the topic to something more generic ;]

Here is the SQL:

DELETE FROM `spell_proc_event` WHERE `entry` IN (20375, 50781, 51414, 54695, 54707, 54738, 54808, 54838, 54841, 55747, 
57345, 57352, 58442, 58444, 58901, 59345, 60061, 60063, 60066, 60221, 60301, 60306, 60317, 60436, 60442, 
60473, 60482, 60487, 60490, 60519, 60529, 60537, 61618, 55381, 27521, 38347, 34320, 33297, 38299, 55640, 
55768, 55776, 59630, 61356);
INSERT INTO `spell_proc_event`(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, 
`SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, 
`Cooldown`)  VALUES
('20375', '0', '0', '0', '0', '0', '0', '0', '7', '0', '1'), -- Seal of Command
('50781', '0', '0', '0', '0', '0', '0', '2', '0', '0', '6'), -- Fate Rune of Primal Energy
('51414', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Venomous Tome
('54695', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Death Knight's Anguish
('54707', '0', '0', '0', '0', '0', '0', '0', '0', '0', '60'), -- Sonic Booster
('54738', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'), -- Serrah's Star
('54808', '0', '0', '0', '0', '0', '0', '0', '0', '0', '60'), -- Noise Machine
('54838', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Valonforth's Remembrance
('54841', '0', '0', '0', '0', '0', '0', '2', '0', '0', '3'), -- Thunder Capacitor
('55747', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Horn of Argent Fury
('57345', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Darkmoon Card: Greatness
('57352', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Darkmoon Card: Death
('58442', '0', '0', '0', '0', '0', '0', '0', '0', '0', '15'), -- Airy Pale Ale
('58444', '0', '0', '0', '0', '0', '0', '0', '0', '0', '5'), -- Worg Tooth Oatmeal Stout
('58901', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'), -- Tears of Bitter Anguish
('59345', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Crusader's Locket
('60061', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Scarab of the Infinite Cycle
('60063', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Sundial of the Exiled
('60066', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Hourglass of the Unraveller
('60221', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Essence of Gossamer
('60301', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Meteorite Whetstone
('60306', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Vestige of Haldor
('60317', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Signet of Edward the Odd
('60436', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Grim Toll
('60442', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Bandit's Insignia
('60473', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Forge Ember
('60482', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Pendulum of Telluric Currents
('60487', '0', '0', '0', '0', '0', '0', '0', '0', '0', '15'), -- Extract of Necromantic Power
('60490', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Embrace of the Spider
('60519', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Spark of Life
('60529', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Forethought Talisman
('60537', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'), -- Soul of the Dead
('61618', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Chuchu's Tiny Box of Horrors
('55381', '0', '0', '0', '0', '0', '0', '65536', '0', '0', '15'), -- Insightful Earthsiege Diamond
('27521', '0', '0', '0', '0', '0', '0', '65536', '0', '0', '15'), -- Insightful Earthstorm Diamond
('38347', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'), -- Sextant of Unstable Currents
('34320', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'), -- Shiffar's Nexus-Horn
('33297', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Quagmirran's Eye
('38299', '0', '0', '0', '0', '0', '0', '0', '0', '0', '15'), -- Fel Reaver's Piston
('55640', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Lightweave
('55768', '0', '0', '0', '0', '0', '0', '0', '0', '0', '60'), -- Darkglow
('55776', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Swordguard
('59630', '0', '0', '0', '0', '0', '0', '0', '0', '0', '45'), -- Black Magic
('61356', '0', '0', '0', '0', '0', '680' , '2', '0', '0', '90'); -- Invigorating Earthsiege Diamond

Credits: Sephiroth1983, nos4r2zod, Sarjuuk, oc_redfox, Alez and me.

Link to comment
Share on other sites

First of all, the devs dont like UPDATE-Statements, try DELETE/INSERT instead.

Second. If the tooltip says "cannot occure more than X per minute" its adressing to the internal cooldown of the item, not the procrate.

So its something like:

DELETE FROM `spell_proc_event` WHERE `entry`IN (55018, 55019);
INSERT INTO `spell_proc_event` VALUES
(55018, 0, 0, 0, 0, 0, X, Y, 0, 0, 60),
(55019, 0, 0, 0, 0, 0, X, Y, 0, 0, 60);

both spells already have a chance given, so you don't need to insert it again.

replace X with the appropriate procFlags and Y with whatever-procEx-is and you are ready to go^^

Link to comment
Share on other sites

Yup...

You can also add this;

-- (61618) Tentacles
DELETE FROM `spell_proc_event` WHERE `entry` IN (61618);
INSERT INTO `spell_proc_event`(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`)  VALUES 
(61618, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 45);

(It will fix internal cooldown of item; Chuchu's Tiny Box of Horrors...)

Link to comment
Share on other sites

  • 3 weeks later...

There are some bugged procs that don't have their internal cooldowns,I'll some of them here:

Lightweave Embroidery

Swordguard Embroidery

Darkglow Embroidery

Tsunami Talisman

Hourglass of The Unraveller

Sextant of Unstable Currents

Quagmiran's Eye

Scarab of the Infinite Cycle

Shiffar's Nexus-horn

Tears of Bitter Anguish

That's all I can think of now.

Link to comment
Share on other sites

I peeked around in the spell.dbc file:

1) Find all spells with "Proc Trigger Spell." (1211 entries found)

2) Use allakhazam's spell history to find the start for range of all WoTLK spells with this spell effect (seems to be http://wow.allakhazam.com/db/spellhistory.html?wspell=46854). (403 entries found)

3) In DB, select items that have these spell effects in either spellid_1 or spellid_2. Take these spellids, these will need to be in `spell_proc_event` (69 entries)

4) Remove entries that are already in MaNGOS UDB 11.0 (378), of which there are 20. (49 entries)

The result is the following list, which needs to have entries in spell_proc_event:

(51414, 52418, 53355, 53371, 54695, 54707, 54808, 54838, 55735, 55747, 55755, 55755, 55755, 57345, 57345, 57345, 57345, 57348, 57351, 57352, 57907, 58442, 58444, 59345, 59776, 59787, 59818, 60061, 60063, 60066, 60221, 60301, 60306, 60313, 60317, 60436, 60442, 60473, 60482, 60485, 60487, 60490, 60510, 60517, 60519, 60529, 61618). 

For the curious, these are the names of the items with these spells:

Hourglass of the Unraveller, Scarab of the Infinite Cycle, Vestige of Haldor, Soul Preserver, Essence of Gossamer, Pendulum of Telluric Currents, Meteorite Whetstone, Spark of Life, Forge Ember, Talisman of Troll Divinity, Valonforth's Remembrance, Death Knight's Anguish, Idol of Arcane Terror, Venomous Tome, Massive Seaforium Charge, Embrace of the Spider, Secret Strength of the Frenzyheart, Energized Polished Crystal, Horn of Argent Fury, Grim Toll, Forethought Talisman, Bandit's Insignia, Extract of Necromatic Power, Fury of the Five Flights, Illustration of the Dragon Soul, Sundial of the Exiled, Sonic Booster, Noise Machine, Brunnhildar Bow, Brunnhildar Axe, The RP-GG, Darkmoon Card: Greatness, Darkmoon Card: Berserker!, Darkmoon Card: Death, Airy Pale Ale, Worg Tooth Oatmeal Stout, Brunnhildar Harpoon, Brunnhildar Great Axe, Crusader's Locket, Chuchu's Tiny Box of Horrors, Oracle Secret Solution, Frenzyheart Insignia of Fury, Oracle Talisman of Ablution, Darkmoon Card: Greatness, Signet of Edward the Odd, Darkmoon Card: Greatness, Darkmoon Card: Greatness

Of course, this only matches the spell procs on items, so enchants have to be handled separately. Here's something I wrote for my server:

delete from `spell_proc_event` where `entry` in (55640, 55768, 55776, 59630);
insert into `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) values
('55640','0','0','0','0','0','0','0','0','0','45'), -- Lightweave
('55768','0','0','0','0','0','0','0','0','0','60'), -- Darkglow
('55776','0','0','0','0','0','0','0','0','0','45'), -- Swordguard
('59630','0','0','0','0','0','0','0','0','0','45'); -- Black Magic 

Of course, adding these values by hand would still be a pita. Is there a place in the dbc where these proc cooldowns can be found? And also, did I miss anything in my script?

Link to comment
Share on other sites

There are some bugged procs that don't have their internal cooldowns,I'll some of them here:

Lightweave Embroidery

Swordguard Embroidery

Darkglow Embroidery

Tsunami Talisman

Hourglass of The Unraveller

Sextant of Unstable Currents

Quagmiran's Eye

Scarab of the Infinite Cycle

Shiffar's Nexus-horn

Tears of Bitter Anguish

That's all I can think of now.

-- moved to nos4 post

The only doubt is about Tears of Bitter Anguish, should proc only on melee crits and UDB Wiki is outdated when is about procEx field so I used the procflag shown.

Link to comment
Share on other sites

The only doubt is about Tears of Bitter Anguish, should proc only on melee crits and UDB Wiki is outdated when is about procEx field so I used the procflag shown.

Check the enums in SpellMgr.h:

PROC_FLAG_SUCCESSFUL_MILEE_HIT          = 0x00000004
...
PROC_EX_CRITICAL_HIT        = 0x0000002

I think that's what you're looking for.

Link to comment
Share on other sites

DELETE FROM `spell_proc_event` WHERE `entry` IN (51414, 52418, 53355, 53371, 54695, 54707, 54808, 54838, 55747, 57345, 57348, 57351, 57352, 57907, 58442, 58444, 59345, 59776, 59787, 59818, 60061, 60063, 60066, 60221, 60301, 60306, 60313, 60317, 60436, 60442, 60473, 60482, 60485, 60487, 60490, 60510, 60517, 60519, 60529, 61618, 55381, 27521, 38347, 34320, 33297, 38299, 55640, 55768, 55776, 59630, 54738);
INSERT INTO `spell_proc_event`(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`)  VALUES
('51414','0','0','0','0','0','0','0','0','0','45'), -- Venomous Tome
-- ('52418','0','0','0','0','0','0','0','0','0','0'), -- Massive Seaforium Charge
-- ('53355','0','0','0','0','0','0','0','0','0','0'), -- Secret Strength of the Frenzyheart
-- ('53371','0','0','0','0','0','0','0','0','0','0'), -- Energized Polished Crystal
('54695','0','0','0','0','0','0','0','0','0','45'), -- Death Knight's Anguish
('54707','0','0','0','0','0','0','0','0','0','60'), -- Sonic Booster
('54808','0','0','0','0','0','0','0','0','0','60'), -- Noise Machine
('54838','0','0','0','0','0','0','0','0','0','45'), -- Valonforth's Remembrance
('55747','0','0','0','0','0','0','0','0','0','45'), -- Horn of Argent Fury
('57345','0','0','0','0','0','0','0','0','0','45'), -- Darkmoon Card: Greatness
-- ('57348','0','0','0','0','0','0','0','0','0','0'), -- The RP-GG
-- ('57351','0','0','0','0','0','0','0','0','0','0'), -- Darkmoon Card: Berserker!
('57352','0','0','0','0','0','0','0','0','0','45'), -- Darkmoon Card: Death
-- ('57907','0','0','0','0','0','0','0','0','0','0'), -- Idol of Arcane Terror
('58442','0','0','0','0','0','0','0','0','0','15'), -- Airy Pale Ale
('58444','0','0','0','0','0','0','0','0','0','5'), -- Worg Tooth Oatmeal Stout
('59345','0','0','0','0','0','0','0','0','0','45'), -- Crusader's Locket
-- ('59776','0','0','0','0','0','0','0','0','0','0'), -- Oracle Secret Solution
-- ('59787','0','0','0','0','0','0','0','0','0','0'), -- Oracle Talisman of Ablution
-- ('59818','0','0','0','0','0','0','0','0','0','0'), -- Frenzyheart Insignia of Fury
('60061','0','0','0','0','0','0','0','0','0','45'), -- Scarab of the Infinite Cycle
('60063','0','0','0','0','0','0','0','0','0','45'), -- Sundial of the Exiled
('60066','0','0','0','0','0','0','0','0','0','45'), -- Hourglass of the Unraveller
('60221','0','0','0','0','0','0','0','0','0','45'), -- Essence of Gossamer
('60301','0','0','0','0','0','0','0','0','0','45'), -- Meteorite Whetstone
('60306','0','0','0','0','0','0','0','0','0','45'), -- Vestige of Haldor
-- ('60313','0','0','0','0','0','0','0','0','0','0'), -- Fury of the Five Flights
('60317','0','0','0','0','0','0','0','0','0','45'), -- Signet of Edward the Odd
('60436','0','0','0','0','0','0','0','0','0','45'), -- Grim Toll
('60442','0','0','0','0','0','0','0','0','0','45'), -- Bandit's Insignia
('60473','0','0','0','0','0','0','0','0','0','45'), -- Forge Ember
('60482','0','0','0','0','0','0','0','0','0','45'), -- Pendulum of Telluric Currents
-- ('60485','0','0','0','0','0','0','0','0','0','0'), -- Illustration of the Dragon Soul
('60487','0','0','0','0','0','0','0','0','0','15'), -- Extract of Necromantic Power
('60490','0','0','0','0','0','0','0','0','0','45'), -- Embrace of the Spider
-- ('60510','0','0','0','0','0','0','0','0','0','0'), -- Soul Preserver
-- ('60517','0','0','0','0','0','0','0','0','0','0'), -- Talisman of Troll Divinity
('60519','0','0','0','0','0','0','0','0','0','45'), -- Spark of Life
('60529','0','0','0','0','0','0','0','0','0','45'), -- Forethought Talisman
('61618','0','0','0','0','0','0','0','0','0','45'), -- Chuchu's Tiny Box of Horrors
-- Sephiroth1983 
(55381, 0x00, 0, 0, 0, 0, 0, 65536, 0, 0, 15), -- Insightful Earthsiege Diamond
(27521, 0x00, 0, 0, 0, 0, 0, 65536, 0, 0, 15), -- Insightful Earthstorm Diamond
(38347, 0x00, 0, 0, 0, 0, 0, 2, 0, 0, 45), -- Sextant of Unstable Currents
(34320, 0x00, 0, 0, 0, 0, 0, 2, 0, 0, 45), -- Shiffar's Nexus-Horn
(33297, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 45), -- Quagmirran's Eye
(38299, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 15), -- Fel Reaver's Piston
('55640','0','0','0','0','0','0','0','0','0','45'), -- Lightweave
('55768','0','0','0','0','0','0','0','0','0','60'), -- Darkglow
('55776','0','0','0','0','0','0','0','0','0','45'), -- Swordguard
('59630','0','0','0','0','0','0','0','0','0','45'), -- Black Magic
('54738', '0', '0', '0', '0', '0', '0', '2', '0', '0', '45'); -- Serrah's Star

-- Cooldowns for spells already in spell_proc_event
Delete From spell_proc_event where entry in (50781, 54841, 58901, 60537);
INSERT INTO `spell_proc_event`(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`)  VALUES
('50781','0','0','0','0','0','0','2','0','0','6'), -- Fate Rune of Primal Energy
('54841','0','0','0','0','0','0','2','0','0','3'), -- Thunder Capacitor
('58901','0','0','0','0','0','0','2','0','0','45'), -- Tears of Bitter Anguish
('60537','0','0','0','0','0','0','2','0','0','45'); -- Soul of the Dead

-- ('48833','0','7','0','1088','0','0','0','0','0','0'), -- Idol of the Plainstalker
-- ('48835','0','10','0','8','0','0','0','0','0','0'), -- Libram of Furious Blows
-- ('48837','0','11','2416967680','0','0','0','0','0','0','0'), -- Totem of the Tundra
-- ('52020','0','7','32768','1048576','0','0','0','0','0','0'), -- Idol of the Wastes
-- ('52423','0','0','0','0','0','0','32','0','0','0'), -- Signet of the Dark Brotherhood
-- ('60572','0','11','2416967680','0','0','0','0','0','0','0'), -- Deadly Gladiator's Totem of Survival
-- ('60719','0','7','2','0','0','0','0','0','0','0'), -- Deadly Gladiator's Idol of Steadfastness
-- ('60770','0','11','1','0','0','0','0','0','0','45'), -- Totem of the Elemental Plane
-- ('60818','0','10','0','512','0','0','0','0','0','45'), -- Libram of Reciprocation
-- ('60826','0','15','20971520','0','0','0','0','0','0','45'), -- Sigil of Haunted Dreams
-- ('61324','0','10','0','131072','0','0','0','0','0','0'), -- Venture Co. Libram of Retribution

These are the values from wowhead comments for items with procs in WoTLK that aren't already in spell_proc_event, plus some things I missed that were in Sephiroth's post. I didn't add any procflags or procex flags because I thought mangos already gets those from spells.dbc. I commented out the ones with a cooldown of 0 rather than removing them so others could check my work (some of them, like RP-GG and Massive Seaforium charge sound like they'd need server script implementation anyways).

EDIT: Added update statements for proc spells from items that already have entries in spell_proc_event. Wasn't sure about the 3 relic slot items, Totem of the Elemental Plane, Libram of Reciprocation, Sigil of Haunted Dreams. From what I've read, Totem of the Elemental Plane was meant to be a direct upgrade to Skycall Totem, but it had a cooldown whereas Skycall totem did not, so it ended up being worse. Not sure if the cooldown for those relic slot items has been removed already.

EDIT2: Changed update to delete/insert

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use