//stuntimer.js
var ID_NOTIFICATION = $.findPacketId("NOTIFICATION");
var ID_NEW_TICK = $.findPacketId("NEW_TICK");
var ID_UPDATE = $.findPacketId("UPDATE");
var ids = [];
function onServerPacket(event) {
var packet = event.getPacket();
switch (packet.id()) {
case ID_NEW_TICK: {
if (packet.statuses != undefined) {
for (var i = 0; i < packet.statuses.length; i++) {
var status = packet.statuses[i];
for (var l = 0; l < ids.length; l++) {
if (status.objectId == ids[l]) {
for (var j = 0; j < status.data.length; j++){
var statData = status.data[j];
if (statData.obf0 == 29) {
if (statData.obf1 == 64) {
stunTimer(event, ids[l]);
} else {
var obfvalue = statData.obf1;
for (var k = 30; k > 0; k--) {
if (obfvalue == 64) {
obfvalue = 0;
stunTimer(event, ids[l]);
break;
} else if (obfvalue < 64) {
break;
} else if (obfvalue >= Math.pow(2, k)) {
if (Math.pow(2, k) == 64) {
stunTimer(event, ids[l]);
break;
} else {
obfvalue -= Math.pow(2, k);
}
}
}
}
}
}
}
}
}
}
break;
}
case ID_UPDATE: {
for (var i = 0; i < packet.newObjs.length; i++) {
var objectData = packet.newObjs[i];
if (objectData == null) {
break;
}
var type = objectData.objectType;
if (type == 768 || type == 775 || type == 782 || type == 784 || (type >= 797 && type <= 806)) {
break;
} else {
ids.push(objectData.status.objectId);
}
}
for (var i = 0; i < packet.drops.length; i++) {
var droppedObjectId = packet.drops[i];
for (var j = 0; j < ids.length; j++) {
if (ids[j] == droppedObjectId) {
ids.splice(j, 1);
}
}
}
break;
}
}
}
function displayNotification(event, playerObjectId, color, text) {
var notificationPacket = event.createPacket(ID_NOTIFICATION);
notificationPacket.objectId = playerObjectId;
notificationPacket.message = "{\"key\":\"blank\",\"tokens\":{\"data\":\"" + text + "\"}}";
notificationPacke*****lor = color;
event.sendToClient(notificationPacket);
}
function stunTimer(event, id) {
displayNotification(event, id, 0x00ffff, "2.5");
var sec2 = 0.5;
for (var i = 0; i < 5; i++) {
var sec = 2.5 - sec2;
if (sec % 1 == 0) {
$.scheduleEvent(sec2, "displayNotification", id, 0x00ffff, "" + sec + ".0");
} else {
$.scheduleEvent(sec2, "displayNotification", id, 0x00ffff, "" + sec);
}
sec2 += 0.5;
}
}