decord/source/modules/poggermode/PoggermodeStore.tsx
2026-07-30 10:14:41 +00:00

284 lines
8.3 KiB
TypeScript

// Module ID: 6140
// Function ID: 6141
// Name: updateCombo
// Dependencies: [1218, 1931, 5961, 5962, 676, 3813, 4074, 6141, 1231, 589, 709, 2]
// Exports: getComboId, isComboing, shouldTrackMessage
// Module 6140 (updateCombo)
import fetchFingerprint from "fetchFingerprint";
import handleConnectionOpen from "handleConnectionOpen";
import initialize from "initialize";
import ConfettiLocation from "ConfettiLocation";
import { ComponentActions } from "ME";
import { Store } from "initialize";
import set from "initialize";
let c5;
let closure_6;
const require = arg1;
function updateCombo(userId) {
let flag;
flag = true;
let obj;
obj = secondaryIndexMap;
const iter = secondaryIndexMap.get("" + userId.userId + "-" + userId.channelId);
obj = {};
let merged = Object.assign(iter);
let merged1 = Object.assign(userId);
let num = userId.value;
if (num == null) {
let value;
if (iter != null) {
value = iter.value;
}
num = value;
}
if (num == null) {
num = 0;
}
obj.value = num;
let num2 = userId.multiplier;
if (num2 == null) {
let multiplier;
if (iter != null) {
multiplier = iter.multiplier;
}
num2 = multiplier;
}
if (num2 == null) {
num2 = 1;
}
obj.multiplier = Math.min(num2, 7);
let decayInterval;
if (iter != null) {
decayInterval = iter.decayInterval;
}
if (decayInterval == null) {
decayInterval = new obj(4074).Interval();
}
obj.decayInterval = decayInterval;
const result = obj.set("" + userId.userId + "-" + userId.channelId, obj);
if (flag) {
decayInterval = obj.decayInterval;
if (decayInterval != null) {
decayInterval.start(1000, () => {
const iter2 = outer1_9.get("" + obj.userId + "-" + obj.channelId);
if (null != iter2) {
if (iter2.value > 0) {
if (!tmp) {
obj = {};
const merged = Object.assign(iter2);
obj.value = iter2.value - 1;
outer1_11(obj);
outer1_12.emitChange();
}
}
const decayInterval = iter2.decayInterval;
if (decayInterval != null) {
decayInterval.stop();
}
if (iter2.value <= 0) {
obj = {};
const merged1 = Object.assign(iter2);
obj.value = 0;
obj.multiplier = 1;
outer1_11(obj);
outer1_12.emitChange();
}
tmp = iter.multiplier !== iter2.multiplier && iter.value !== iter2.value;
}
});
}
}
}
({ ShakeLevel: c5, ShakeLocation: closure_6 } = ConfettiLocation);
let set = new Set();
const secondaryIndexMap = new require("version").SecondaryIndexMap((arg0) => {
const items = [, ];
({ userId: arr[0], channelId: arr[1] } = arg0);
return items;
}, (channelId) => "" + channelId.channelId + "-" + channelId.userId);
const secondaryIndexMap1 = new require("version").SecondaryIndexMap((combo) => {
const items = [, , ];
({ messageId: arr[0], channelId: arr[1] } = combo);
items[2] = combo.combo.userId;
return items;
}, (channelId) => "" + channelId.channelId + "-" + channelId.combo.userId + "-" + channelId.messageId);
class PoggermodeStore extends Store {
}
const prototype = PoggermodeStore.prototype;
prototype["initialize"] = function initialize() {
this.waitFor(fetchFingerprint, initialize, handleConnectionOpen);
};
prototype["getComboScore"] = function getComboScore(arg0, arg1) {
const value = secondaryIndexMap.get("" + arg0 + "-" + arg1);
let num = 0;
if (null != value) {
num = require(6141) /* getComboShakeIntensity */.getComboScore(value);
const obj = require(6141) /* getComboShakeIntensity */;
}
return num;
};
prototype["getUserCombo"] = function getUserCombo(id, throwTypeErrorResult) {
return secondaryIndexMap.get("" + id + "-" + throwTypeErrorResult);
};
prototype["isComboing"] = function isComboing(id, throwTypeErrorResult) {
const iter = this.getUserCombo(id, throwTypeErrorResult);
let tmp = null != iter;
if (tmp) {
tmp = iter.value >= initialize.combosRequiredCount;
}
if (tmp) {
let tmp3 = null != iter;
if (tmp3) {
let tmp4 = iter.value > 0;
if (!tmp4) {
let multiplier;
if (iter != null) {
multiplier = iter.multiplier;
}
tmp4 = multiplier > 1;
}
tmp3 = tmp4;
}
tmp = tmp3;
}
return tmp;
};
prototype["getMessageCombo"] = function getMessageCombo(arg0) {
const value = secondaryIndexMap1.get(arg0);
let combo;
if (value != null) {
combo = value.combo;
}
return combo;
};
prototype["getMostRecentMessageCombo"] = function getMostRecentMessageCombo(arg0) {
const values = secondaryIndexMap1.values(arg0);
return values[values.length - 1];
};
prototype["getUserComboShakeIntensity"] = function getUserComboShakeIntensity(id, throwTypeErrorResult, arg2, LEVEL_4) {
const userCombo = this.getUserCombo(id, throwTypeErrorResult);
let num = 0;
if (null != userCombo) {
num = require(6141) /* getComboShakeIntensity */.getComboShakeIntensity(userCombo, LEVEL_4) * arg2;
const obj = require(6141) /* getComboShakeIntensity */;
}
return num;
};
PoggermodeStore.displayName = "PoggermodeStore";
const poggermodeStore = new PoggermodeStore(require("dispatcher"), {
POGGERMODE_UPDATE_COMBO: function handleComboing(arg0) {
const merged = Object.assign(arg0, Object.create(null));
if (initialize.isEnabled()) {
updateCombo(merged);
} else {
return false;
}
},
POGGERMODE_UPDATE_MESSAGE_COMBO: function handleUpdateMessageCombo(comboMessage) {
comboMessage = comboMessage.comboMessage;
if (initialize.isEnabled()) {
const result = secondaryIndexMap1.set(comboMessage.messageId, comboMessage);
} else {
return false;
}
},
MESSAGE_CREATE: function handleIncomingMessage(message) {
let author;
let mentions;
let nonce;
({ mentions, author, nonce } = message.message);
let id;
if (initialize.isEnabled()) {
id = id.getId();
let id1;
if (author != null) {
id1 = author.id;
}
let obj = set;
let tmp6 = id1 === id;
if (tmp6) {
let flag2 = null != nonce && !obj.has(nonce);
if (flag2) {
obj.add(nonce);
flag2 = true;
}
tmp6 = flag2;
}
if (tmp6) {
let str;
if (author != null) {
str = author.id;
}
if (str == null) {
str = "???";
}
const _HermesInternal = HermesInternal;
const value = secondaryIndexMap.get("" + str + "-" + message.channelId);
if (tmp.screenshakeEnabled) {
if (tmp.screenshakeEnabledLocations[constants.MENTION]) {
if (null != mentions) {
if (null != mentions.find((id) => id.id === id)) {
if (null != value) {
let num2 = id(6141).getComboShakeIntensity(value, LEVEL_4.LEVEL_4);
if (num2 == null) {
num2 = 0.001;
}
let result = num2;
const obj2 = id(6141);
} else {
const _Math = Math;
result = 4 * Math.random();
}
const ComponentDispatch = id(1231).ComponentDispatch;
obj = { duration: 1000, intensity: null };
obj[1] = result;
ComponentDispatch.dispatch(ComponentActions.SHAKE_APP, obj);
return true;
}
}
}
}
return false;
} else {
return false;
}
} else {
return false;
}
}
});
let result = set.fileFinishedImporting("modules/poggermode/PoggermodeStore.tsx");
export default poggermodeStore;
export const isComboing = function isComboing(value) {
let tmp = null != value;
if (tmp) {
let tmp2 = value.value > 0;
if (!tmp2) {
let multiplier;
if (value != null) {
multiplier = value.multiplier;
}
tmp2 = multiplier > 1;
}
tmp = tmp2;
}
return tmp;
};
export const getComboId = function getComboId(userId) {
return "" + userId.userId + "-" + userId.channelId;
};
export const shouldTrackMessage = function shouldTrackMessage(arg0, arg1, arg2, has) {
let tmp = arg0 === arg1;
if (tmp) {
let flag = null != arg2 && !has.has(arg2);
if (flag) {
has.add(arg2);
flag = true;
}
tmp = flag;
}
return tmp;
};