All pastes #2045577 Raw Edit

Unnamed

public sql v1 · immutable
#2045577 ·published 2011-04-12 20:41 UTC
rendered paste body
/*  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$$