Ticket #4924: superhackylolnopeuneval.patch

File superhackylolnopeuneval.patch, 2.8 KB (added by elexis, 6 years ago)

This fixes the issue but doesn't look like we want to use it.

  • binaries/data/mods/public/globalscripts/utility.js

     
     1function uneval2(map)
     2{
     3    let string = "";
     4    for (let key of map.keys())
     5    {
     6        let value = map.get(key);
     7
     8        if (value.keys)
     9            value = uneval2(value);
     10        else if (typeof value == "object")
     11            value = uneval(value);
     12        else
     13            value = uneval(value);
     14
     15        string += key + ": " + value;
     16    }
     17    return "{" + string + "}";
     18}
     19
    120/**
    221 * "Inside-out" implementation of Fisher-Yates shuffle
    322 */
  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
     1/*
     2var cache = new Map();
     3cache.set("m", new Map());
     4cache.get("m").set("x", "y");
     5
     6warn(uneval2(cache));
     7*/
    18const g_MatchSettings_SP = "config/matchsettings.json";
    29const g_MatchSettings_MP = "config/matchsettings.mp.json";
    310
  • binaries/data/mods/public/simulation/components/AuraManager.js

     
    105105    data.count = 1;
    106106
    107107    let cache = this.templateModificationsCache.get(value).get(player);
    108     if (!cache.get(classes))
    109         cache.set(classes, new Map());
    110108
    111     if (!cache.get(classes).get(key))
    112         cache.get(classes).set(key, { "add": 0, "multiply": 1 });
     109    if (!cache.get(uneval(classes)))
     110        cache.set(uneval(classes), new Map());
    113111
     112    if (!cache.get(uneval(classes)).get(key))
     113        cache.get(uneval(classes)).set(key, { "add": 0, "multiply": 1 });
     114
    114115    if (data.add)
    115         cache.get(classes).get(key).add += data.add;
     116        cache.get(uneval(classes)).get(key).add += data.add;
    116117    if (data.multiply)
    117         cache.get(classes).get(key).multiply *= data.multiply;
     118        cache.get(uneval(classes)).get(key).multiply *= data.multiply;
    118119
    119120    Engine.PostMessage(SYSTEM_ENTITY, MT_TemplateModification, {
    120121        "player": player,
     
    181182    if (data.count > 0)
    182183        return;
    183184
    184     this.templateModificationsCache.get(value).get(player).get(classes).delete(key);
    185     if (this.templateModificationsCache.get(value).get(player).get(classes).size == 0)
     185    this.templateModificationsCache.get(value).get(player).get(uneval(classes)).delete(key);
     186    if (this.templateModificationsCache.get(value).get(player).get(uneval(classes)).size == 0)
    186187        this.templateModificationsCache.get(value).get(player).delete(classes);
    187188
    188189    // clean up the object