I added a column for Haste to items. In code I added/Changed:
In CArmorItem.cpp I changed the code to read the database to
Code:
sprintf(query, "SELECT `ItemID`, `DEF`, `HP`, `HP%%`, `ConvertMPtoHP`, `MP`, `MP%%`, `ConvertHPtoMP` ,`str`, `dex`, `vit`, `agi`, `int`, `mnd`, `chr`");
sprintf(query, "%s, `Fire`, `Ice`, `Air`, `Earth`, `Thunder`, `Water`, `Light`, `Dark`, `Attack`, `Rattack`, `Accuracy`, `RAccuracy`, `Enmity`, 'Haste'", query); //Added Haste
sprintf(query, "%s FROM stats_armor WHERE ItemID = %i", query, this->getId());
Haste was the last column in the items and i believe that matches this?
Few lines down I increased the loop to 28 to read the data to 28 to read in Haste.
In CChar.cpp I added a variable to hold haste (just stuck it there for no reason), I called it m_modHaste I also added the line
Code:
this->m_modHaste += ((CArmorItem*)item)->getModAmount(MOD_HASTE);
to the applyStatMod function and the -= ect to the removeStatMod.
MOD_HASTE was already defined so I didn't touch that.
Also added code in the CharBattleServ function to modify the delay.
Edit: Forgot I also did a little test, doesn't seem the value is being read from the database cause it's always 0. I added 50 haste to Flame Ring if that matters. I also modified the delay (in the code) directly just to make sure it would even do anything (10 delay Claustrum is fun! Who says SMN can't be a good DD *cough*)