rendered paste bodypackage net.sf.l2j.gameserver;import java.util.Calendar;import java.util.HashMap;import java.util.ArrayList;import java.util.Random;import java.util.logging.Logger;import net.sf.l2j.gameserver.ItemTable;import net.sf.l2j.gameserver.NpcTable;import net.sf.l2j.gameserver.model.L2DropData;import net.sf.l2j.gameserver.templates.L2Item;import net.sf.l2j.gameserver.templates.L2NpcTemplate;import net.sf.l2j.gameserver.model.L2MonsterInstance;import net.sf.l2j.gameserver.model.L2Spawn;public class EventScript { protected static Logger _log = Logger.getLogger(EventScript.class.getName()); private static EventScript _instance; private static final int GLUDIN_MOB_ID = 413; private static final int GLUDIO_MOB_ID = 688; private static final int DION_MOB_ID = 729; private static final int GIRAN_MOB_ID = 866; private static final int HEINE_MOB_ID = 700; private static final int OREN_MOB_ID = 890; private static final int ADEN_MOB_ID = 902; private static final int EVENT_INTERVAL = 28800000; // Every 8 hours private static final int EVENT_TIME_PERIOD = 604800000; // 1 week private static final int EVENT_START_DAY = Calendar.TUESDAY; private static final int EVENT_START_HOUR = 18; private static final int EVENT_START_MINS = 10; private static final int START_DATE = 0; // not yet defined private static final int END_DATE = START_DATE + EVENT_TIME_PERIOD; /* * TO-DO * if (Calendar.DAY_OF_THE_WEEK == EVENT START_DAY && * Calendar.MINUTE == EVENT_START_MINS && * Calendar.HOUR == EVENT_START_MINS) * { * startEvent(); * START_DATE = Calendar.getInstance().getTimeinMillis(); * } */ private ArrayList<L2MonsterInstance> _mobs; private static final int[][] spawnPoints = { // Gludin mob spawn {-82333, 150862, -3133}, // Gludio mob spawn {-14357, 123490, -3121}, // Dion mob spawn {18883, 145039, -3131}, // Giran mob spawn {52156, 148059, -3473}, // Heine mob spawn {111883, 220162, -3681}, // Oren mob spawn {82375, 53661, -1500}, // Aden mob spawn {147461, 27184, -2209}, }; private static final int[][][] mobDrops = { /* * variale for each space in array * {itemid, min, max, sweep, chance} * */ // Gludin droplist { {352, 1, 1, 0, 1000000}, {417, 1, 1, 0, 1000000}, {437, 1, 1, 0, 1000000}, {955, 10, 10, 0, 1000000}, {956, 10, 10, 0, 1000000}, {5251, 10, 10, 0, 1000000}, {5263, 10, 10, 0, 1000000}, }, // Gludio droplist { {2499, 1, 1, 0, 1000000}, {280, 1, 1, 0, 1000000}, {186, 1, 1, 0, 1000000}, {955, 10, 10, 0, 1000000}, {956, 10, 10, 0, 1000000}, {5251, 10, 10, 0, 1000000}, {5263, 10, 10, 0, 1000000}, }, // Dion droplist { {356, 1, 1, 0, 1000000}, {401, 1, 1, 0, 1000000}, {2459, 3, 3, 0, 1000000}, {951, 10, 10, 0, 1000000}, {952, 10, 10, 0, 1000000}, {5252, 10, 10, 0, 1000000}, {5264, 10, 10, 0, 1000000}, }, // Giran droplist { {2417, 1, 1, 0, 1000000}, {2406, 1, 1, 0, 1000000}, {2392, 1, 1, 0, 1000000}, {947, 10, 10, 0, 1000000}, {948, 10, 10, 0, 1000000}, {5253, 10, 10, 0, 1000000}, {5265, 10, 10, 0, 1000000}, }, // Hiene droplist { {2380, 1, 1, 0, 1000000}, {2397, 1, 1, 0, 1000000}, {2388, 1, 1, 0, 1000000}, {947, 10, 10, 0, 1000000}, {948, 10, 10, 0, 1000000}, {5253, 10, 10, 0, 1000000}, {5265, 10, 10, 0, 1000000}, }, // Oren droplist { {5319, 1, 1, 0, 1000000}, {729, 5, 5, 0, 1000000}, {730, 5, 5, 0, 1000000}, {5254, 10, 10, 0, 1000000}, {5266, 10, 10, 0, 1000000}, }, // Aden droplist { {5316, 1, 1, 0, 1000000}, {5304, 1, 1, 0, 1000000}, {729, 5, 5, 0, 1000000}, {730, 5, 5, 0, 1000000}, {5254, 10, 10, 0, 1000000}, {5266, 10, 10, 0, 1000000}, }, }; private static final int[][] mobEditedStats = { /* * Structure of this is: * {HP, PDEF, PATK, EXP, SP, MATK, MDEF} */ // Gludin mob {100000, 950, 350, 26000, 640, 300, 500}, // Gludio mob {150000, 1615, 1081, 50000, 2000, 828, 655}, // Dion mob {175000, 1905, 1722, 57500, 2400, 1577, 773}, // Giran mob {400000, 2576, 6802, 69000, 3100, 14888, 1045}, // Hiene mob {400000, 2576, 6802, 69000, 3100, 14888, 1045}, // Oren mob {450000, 2951, 8729, 74000, 3500, 19762, 1197}, // Aden mob {600000, 4017, 8404, 81000, 4100, 11711, 1629}, }; private final Calendar _calendar = Calendar.getInstance(); protected long _nextEventStart; }