/* After the mob Data got inserted again, check if it exists in the temp mob table. If so it is customized and needs to be compared with the new values. If anything has changed, inform Joe! This can of course be adapted to every other monster stat and not just drops..*/CREATE TRIGGER ins_mobdbAFTER INSERT ON mob_dbFOR EACH ROWBEGIN DECLARE status INT DEFAULT 1; DECLARE flag, ATK1,ATK2, DEF,MDEF, Mode,Speed, aDelay,aMotion, dMotion,ExpPer, MVP1id,MVP1per, MVP2id,MVP2per, MVP3id,MVP3per, D1id,D1per, D2id,D2per, D3id,D3per, D4id,D4per, D5id,D5per, D6id,D6per, D7id,D7per, D8id,D8per, D9id,D9per, DropCardid, DropCardper SMALLINT; DECLARE SP,EXP, JEXP,MEXP MEDIUMINT; DECLARE HP INT; DECLARE LV,Range1, STR, AGI, VIT, INT, DEX, LUK, Range2,Range3, Scale, Race, Element TINYINT; DECLARE cur CURSOR FOR SELECT LV, HP,SP, EXP,JEXP, Range1, ATK1,ATK2, DEF,MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2,Range3, Scale, Race, Element, Mode,Speed, aDelay,aMotion, dMotion, MEXP,ExpPer, MVP1id,MVP1per, MVP2id,MVP2per, MVP3id,MVP3per, D1id,D1per, D2id,D2per, D3id,D3per, D4id,D4per, D5id,D5per, D6id,D6per, D7id,D7per, D8id,D8per, D9id,D9per, DropCardid, DropCardper; FROM mob_db_tmp WHERE NEW.id = mob_db_tmp.id; /* If the cursor returns no results(mob not found in tmp table), status=0 */ DECLARE CONTINUE HANDLER FOR NOT FOUND SET status=0; SET flag=0; OPEN cur; FETCH cur INTO LV, HP,SP, EXP,JEXP, Range1, ATK1,ATK2, DEF,MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2,Range3, Scale, Race, Element, Mode,Speed, aDelay,aMotion, dMotion, MEXP,ExpPer, MVP1id,MVP1per, MVP2id,MVP2per, MVP3id,MVP3per, D1id,D1per, D2id,D2per, D3id,D3per, D4id,D4per, D5id,D5per, D6id,D6per, D7id,D7per, D8id,D8per, D9id,D9per, DropCardid, DropCardper; CLOSE cur; /* For debugging purposes SELECT status,NEW.Drop6per,D6per INTO OUTFILE 'debug.txt' FIELDS TERMINATED BY ';'; */ IF status THEN IF NEW.LV <> LV THEN SET flag=NEW.id; END IF; IF NEW.HP <> HP THEN SET flag=NEW.id; END IF; IF NEW.SP <> SP THEN SET flag=NEW.id; END IF; IF NEW.EXP <> EXP THEN SET flag=NEW.id; END IF; IF NEW.JEXP <> JEXP THEN SET flag=NEW.id; END IF; IF NEW.ATK1 <> ATK1 THEN SET flag=NEW.id; END IF; IF NEW.ATK2 <> ATK2 THEN SET flag=NEW.id; END IF; IF NEW.STR <> STR THEN SET flag=NEW.id; END IF; IF NEW.AGI <> AGI THEN SET flag=NEW.id; END IF; IF NEW.VIT <> VIT THEN SET flag=NEW.id; END IF; IF NEW.INT <> INT THEN SET flag=NEW.id; END IF; IF NEW.DEX <> DEX THEN SET flag=NEW.id; END IF; IF NEW.LUK <> LUK THEN SET flag=NEW.id; END IF; IF NEW.Range1 <> Range1 THEN SET flag=NEW.id; END IF; IF NEW.Range2 <> Range2 THEN SET flag=NEW.id; END IF; IF NEW.Range3 <> Range3 THEN SET flag=NEW.id; END IF; IF NEW.Scale <> Scale THEN SET flag=NEW.id; END IF; IF NEW.Race <> Race THEN SET flag=NEW.id; END IF; IF NEW.Element <> Element THEN SET flag=NEW.id; END IF; IF NEW.Mode <> Mode THEN SET flag=NEW.id; END IF; IF NEW.Speed <> Speed THEN SET flag=NEW.id; END IF; IF NEW.aDelay <> aDelay THEN SET flag=NEW.id; END IF; IF NEW.aMotion <> aMotion THEN SET flag=NEW.id; END IF; IF NEW.dMotion <> dMotion THEN SET flag=NEW.id; END IF; IF NEW.MEXP <> MEXP THEN SET flag=NEW.id; END IF; IF NEW.ExpPer <> ExpPer THEN SET flag=NEW.id; END IF; IF NEW.MVP1id <> MVP1id THEN SET flag=NEW.id; END IF; IF NEW.MVP1per <> MVP1per THEN SET flag=NEW.id; END IF; IF NEW.MVP2id <> MVP2id THEN SET flag=NEW.id; END IF; IF NEW.MVP2per <> MVP2per THEN SET flag=NEW.id; END IF; IF NEW.MVP3id <> MVP3id THEN SET flag=NEW.id; END IF; IF NEW.MVP3per <> MVP3per THEN SET flag=NEW.id; END IF; IF NEW.Drop1id <> D1id THEN SET flag=NEW.id; END IF; IF NEW.Drop1per <> D1per THEN SET flag=NEW.id; END IF; IF NEW.Drop2id <> D2id THEN SET flag=NEW.id; END IF; IF NEW.Drop2per <> D2per THEN SET flag=NEW.id; END IF; IF NEW.Drop3id <> D3id THEN SET flag=NEW.id; END IF; IF NEW.Drop3per <> D3per THEN SET flag=NEW.id; END IF; IF NEW.Drop4id <> D4id THEN SET flag=NEW.id; END IF; IF NEW.Drop4per <> D4per THEN SET flag=NEW.id; END IF; IF NEW.Drop5id <> D5id THEN SET flag=NEW.id; END IF; IF NEW.Drop5per <> D5per THEN SET flag=NEW.id; END IF; IF NEW.Drop6id <> D6id THEN SET flag=NEW.id; END IF; IF NEW.Drop6per <> D6per THEN SET flag=NEW.id; END IF; IF NEW.Drop7id <> D7id THEN SET flag=NEW.id; END IF; IF NEW.Drop7per <> D7per THEN SET flag=NEW.id; END IF; IF NEW.Drop8id <> D8id THEN SET flag=NEW.id; END IF; IF NEW.Drop8per <> D8per THEN SET flag=NEW.id; END IF; IF NEW.Drop9id <> D9id THEN SET flag=NEW.id; END IF; IF NEW.Drop9per <> D9per THEN SET flag=NEW.id; END IF; IF NEW.DropCardid <> DropCardid THEN SET flag=NEW.id; END IF; IF NEW.DropCardper <> DropCardper THEN SET flag=NEW.id; END IF; END IF; IF flag THEN /* some Drops have has changed, now go tell joe flag=monsterid */ REPLACE INTO mob_db_changes (ID) VALUES (flag); END IF;END$$