Orb of Temporal Forces

This commit is contained in:
Kaan Soral
2025-12-21 18:07:30 +03:00
parent 0d8ac32b6f
commit 329fd09f35
14 changed files with 96 additions and 29 deletions
+5 -4
View File
@@ -114,12 +114,13 @@ if is_production:
#maps["desertland"]["key"]="jayson_desertland_copy" #maps["desertland"]["key"]="jayson_desertland_copy"
pass pass
game_version=829 game_version=831
SALES=4+5+388+5101+125/20 #donation+manual+macos+steam+sales SALES=4+5+388+5101+125/20 #donation+manual+macos+steam+sales
update_notes=[ update_notes=[
"Last Update [November 7th]", "Happy Holidays!",
"PR: Fix compounding of old items that are missing a .level attribute #205", "Last Update [21st of December]",
] "New Item: Orb of Temporal Forces",
]
ip_to_subdomain={ #IMPORTANT: SPECIAL PAGE RULES ARE NEEDED: https://dash.cloudflare.com/b6f5a13bded5fdd273e4a1cd3777162d/adventure.land/page-rules - uss1 / eus1 was best ip_to_subdomain={ #IMPORTANT: SPECIAL PAGE RULES ARE NEEDED: https://dash.cloudflare.com/b6f5a13bded5fdd273e4a1cd3777162d/adventure.land/page-rules - uss1 / eus1 was best
"35.187.255.184":"asia1", "35.187.255.184":"asia1",
"35.246.244.105":"eu1", "35.246.244.105":"eu1",
+1
View File
@@ -504,6 +504,7 @@ positions={
"xmasshoes":["",10,29], "xmasshoes":["",10,29],
"mittens":["",8,29], "mittens":["",8,29],
"goldglove":["",10,2], "goldglove":["",10,2],
"orboftemporal":["custom",6,0],
#materials #materials
"essenceoffrost":["",10,34], "essenceoffrost":["",10,34],
+2
View File
@@ -748,12 +748,14 @@ drops={
[0.02,"angelwings"], [0.02,"angelwings"],
#[0.1,"orbofsc"], #[0.1,"orbofsc"],
[0.012,"supermittens"], [0.012,"supermittens"],
[0.001,"orboftemporal"],
[3.6,"open","gem0"], [3.6,"open","gem0"],
], ],
"xbox":[ "xbox":[
[1,"open","armorx"], [1,"open","armorx"],
[1,"harbringer"], [1,"harbringer"],
[1,"t2quiver"], [1,"t2quiver"],
[0.1,"orboftemporal"],
[0.1,"exoarm"], [0.1,"exoarm"],
[0.06,"fury"], [0.06,"fury"],
[0.12,"starkillers"], [0.12,"starkillers"],
+18 -4
View File
@@ -5453,7 +5453,7 @@ gems={
"a":True, "a":True,
"s":True, "s":True,
#"event":True, #"event":True,
#"quest":"mistletoe", #xmas "quest":"mistletoe", #xmas
}, },
"candycane":{ "candycane":{
"type":"gem", "type":"gem",
@@ -5465,7 +5465,7 @@ gems={
"s":True, "s":True,
"a":True, "a":True,
#"event":True, #"event":True,
#"quest":"candycane", #xmas "quest":"candycane", #xmas
}, },
"gift0":{ "gift0":{
"type":"gem", "type":"gem",
@@ -5794,7 +5794,7 @@ quest={
"g":3000, "g":3000,
"e":20, "e":20,
"s":True, "s":True,
#"quest":"ornament", #xmas "quest":"ornament", #xmas
}, },
"lostearring":{ "lostearring":{
"type":"earring", "type":"earring",
@@ -6324,6 +6324,20 @@ orbs={
"grades":[0,2], "grades":[0,2],
"edge":-2, "edge":-2,
}, },
"orboftemporal":{
"set":"holidays",
"type":"orb",
"skin":"orboftemporal",
"ability":"temporalsurge",
"evasion":5,
"compound":{
"evasion":4,
},
"name":"Orb of Temporal Forces",
"g":1200000,
"grades":[0,0],
"a":True,
},
"orbofsc":{ "orbofsc":{
"set":"holidays", "set":"holidays",
"type":"orb", "type":"orb",
@@ -7016,7 +7030,7 @@ sets={
}, },
"holidays":{ "holidays":{
"name":"Holiday Spirit", "name":"Holiday Spirit",
"items":["xmashat","xmassweater","xmasshoes","xmaspants","mittens","supermittens","santasbelt","ornamentstaff","candycanesword","merry","orbofsc","mearring","xmace","ringhs","sweaterhs","wbookhs"], "items":["xmashat","xmassweater","xmasshoes","xmaspants","mittens","supermittens","santasbelt","ornamentstaff","candycanesword","merry","orbofsc","mearring","xmace","ringhs","sweaterhs","wbookhs","orboftemporal"],
"explanation":"Every month is December with this set!", "explanation":"Every month is December with this set!",
"1":{ "1":{
}, },
+6 -6
View File
@@ -247,7 +247,7 @@ maps={
"key":"jayson_bank", "key":"jayson_bank",
"key":"jayson_bank0", "key":"jayson_bank0",
#"key":"jayson_bank_xmas", #"key":"jayson_bank_xmas",
#"key":"jayson_bank0.Xmas", #xmas "key":"jayson_bank0.Xmas", #xmas
"name":"The Bank", "name":"The Bank",
"npcs":[ "npcs":[
{"id":"goldnpc","position":[1,-416]}, {"id":"goldnpc","position":[1,-416]},
@@ -491,7 +491,7 @@ maps={
"key":"jayson_ALMap2_v2", "key":"jayson_ALMap2_v2",
#"key":"jayson_ALMap2_v2.Xmas", #"key":"jayson_ALMap2_v2.Xmas",
#"key":"jayson_ALMap2_v2.CNewYear", #"key":"jayson_ALMap2_v2.CNewYear",
#"key":"jayson_ALMap2_v2_xmas", #xmas "key":"jayson_ALMap2_v2_xmas", #xmas
#"key":"jayson_ALMap2_v2.lunarNewYear", #"key":"jayson_ALMap2_v2.lunarNewYear",
"name":"Mainland", "name":"Mainland",
"npcs":[ "npcs":[
@@ -533,7 +533,7 @@ maps={
{"id":"pvptokens","position":[159,403]}, {"id":"pvptokens","position":[159,403]},
{"id":"monsterhunter","position":[126,-413]}, {"id":"monsterhunter","position":[126,-413]},
{"id":"mcollector","position":[81,-283,1]}, {"id":"mcollector","position":[81,-283,1]},
#{"id":"newyear_tree","position":[64,-88]}, #xmas {"id":"newyear_tree","position":[64,-88]}, #xmas
{"id":"favors","position":[79,-47]}, {"id":"favors","position":[79,-47]},
], ],
"monsters":[ "monsters":[
@@ -986,7 +986,7 @@ maps={
{"id":"citizen1","position":[0,-5]}, {"id":"citizen1","position":[0,-5]},
{"id":"citizen5","position":[0,-5]}, {"id":"citizen5","position":[0,-5]},
{"id":"citizen6","position":[0,-5]}, {"id":"citizen6","position":[0,-5]},
#{"id":"mistletoe","position":[94,-181,2]}, #xmas {"id":"mistletoe","position":[94,-181,2]}, #xmas
], ],
"monsters":[ "monsters":[
], ],
@@ -1113,8 +1113,8 @@ maps={
"npcs":[ "npcs":[
{"id":"leathermerchant","position":[262,-48.5]}, {"id":"leathermerchant","position":[262,-48.5]},
{"id":"transporter","position":[-73,-393]}, {"id":"transporter","position":[-73,-393]},
#{"id":"santa","position":[1242,-1631]}, #xmas {"id":"santa","position":[1242,-1631]}, #xmas
#{"id":"ornaments","position":[-137,-193,1]}, #xmas {"id":"ornaments","position":[-137,-193,1]}, #xmas
{"id":"guard","position":[1065,-2015]}, {"id":"guard","position":[1065,-2015]},
{"id":"citizen7","position":[-15,5]}, {"id":"citizen7","position":[-15,5]},
{"id":"citizen8","position":[-15,5]}, {"id":"citizen8","position":[-15,5]},
File diff suppressed because one or more lines are too long
+9
View File
@@ -195,6 +195,15 @@ skills={
"mp":40, "mp":40,
"cooldown":200, "cooldown":200,
}, },
"temporalsurge":{
"type":"skill",
"skin":"orboftemporal",
"slot":[["orb","orboftemporal"]],
"name":"Temporal Surge",
"explanation":"Hasten nearby spawns 15% by tapping into temporal forces!",
"mp":1000,
"cooldown":60*1000,
},
"zapperzap":{ "zapperzap":{
"type":"skill", "type":"skill",
"skin":"trigger", "skin":"trigger",
+1 -1
View File
@@ -1141,7 +1141,7 @@ imagesets={
"size":20, "size":20,
"rows":9, "rows":9,
"columns":7, "columns":7,
"file":"/images/tiles/items/custom.png?v=10", "file":"/images/tiles/items/custom.png?v=11",
"load":True, "load":True,
}, },
"community":{ "community":{
+2 -1
View File
@@ -46,7 +46,7 @@
<p> <p>
We also have many new items for the winter and holiday season, like throwable Snowballs! We also have many new items for the winter and holiday season, like throwable Snowballs!
<div style='margin-top:-30px'><span class='eitemm1'></span> <span class='eitemm2'></span> <span class='eitemm3'></span> <span class='eitemm4'></span> <span class='eitemm5'></span> <span class='eitemm6'></span></div> <div style='margin-top:-30px'><span class='eitemm1'></span> <span class='eitemm2'></span> <span class='eitemm3'></span> <span class='eitemm4'></span> <span class='eitemm5'></span> <span class='eitemm6'></span> <span class='eitemorb'></span></div>
</p> </p>
<p style='font-size: 32px; color: #216D25; text-decoration: underline dotted #B30B1A; margin-bottom: 10px'>Snippets</p> <p style='font-size: 32px; color: #216D25; text-decoration: underline dotted #B30B1A; margin-bottom: 10px'>Snippets</p>
@@ -91,6 +91,7 @@ craft(locate_item("x0"),locate_item("x1"),locate_item("x2"),locate_item("x3"),lo
$(".eitemm5").html(item_container({skin:G.items.snowflakes.skin},{})); $(".eitemm5").html(item_container({skin:G.items.snowflakes.skin},{}));
$(".eitemm6").html(item_container({skin:G.items.northstar.skin},{})); $(".eitemm6").html(item_container({skin:G.items.northstar.skin},{}));
$(".eitemxbox").html(item_container({skin:G.items.xbox.skin},{name:"xbox",q:0})); $(".eitemxbox").html(item_container({skin:G.items.xbox.skin},{name:"xbox",q:0}));
$(".eitemorb").html(item_container({skin:G.items.orboftemporal.skin},{name:"orboftemporal"}));
$(".spsnowman").html(sprite("snowman")); $(".spsnowman").html(sprite("snowman"));
$(".spgrinch").html(sprite("grinch",{height: 56})); $(".spgrinch").html(sprite("grinch",{height: 56}));
$(".spsanta").html(sprite("santa")); $(".spsanta").html(sprite("santa"));
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.
+3 -1
View File
@@ -1322,7 +1322,7 @@ function init_socket(args)
} }
if(character.ctype=="merchant" || recording_mode || 1) options.show_names=true; if(character.ctype=="merchant" || recording_mode || 1) options.show_names=true;
clear_game_logs(); add_log("Connected!"); clear_game_logs(); add_log("Connected!");
// add_holiday_log(); if(S.holidayseason) add_holiday_log();
// add_greenlight_log(); // add_greenlight_log();
if(gameplay=="hardcore") if(gameplay=="hardcore")
{ {
@@ -2141,6 +2141,8 @@ function init_socket(args)
else if(response=="gold_use") ui_log("Used "+to_pretty_num(data.gold)+" gold","gray"); else if(response=="gold_use") ui_log("Used "+to_pretty_num(data.gold)+" gold","gray");
else if(response=="slots_success") ui_log("Machine went crazy","#9733FF"); else if(response=="slots_success") ui_log("Machine went crazy","#9733FF");
else if(response=="slots_fail") ui_log("Machine got stuck","gray"); else if(response=="slots_fail") ui_log("Machine got stuck","gray");
else if(response=="temporalsurge_none") ui_log("Temporal surge failed","gray");
else if(response=="temporalsurge") ui_log("Temporal surge hastened respawns!","gray");
else if(response=="craft") else if(response=="craft")
{ {
var def=G.craft[data.name]; var def=G.craft[data.name];
+47 -11
View File
@@ -65,6 +65,7 @@ var total_merchants = 0;
var csold = []; var csold = [];
var cfound = []; // cache of S.sold + S.found var cfound = []; // cache of S.sold + S.found
var monster_c = {}; // monster counts var monster_c = {}; // monster counts
var monster_respawns = []; // [target,ms] array so they can be hastened [20/12/25]
var pwns = []; var pwns = [];
var pend = 0; var pend = 0;
var tavern = {}; var tavern = {};
@@ -170,7 +171,7 @@ var mode = {
}; };
var events = { var events = {
// SEASONS // SEASONS
holidayseason: false, holidayseason: true,
lunarnewyear: false, lunarnewyear: false,
valentines: false, valentines: false,
pinkgoo: 0, // every N minutes - 60 pinkgoo: 0, // every N minutes - 60
@@ -5823,7 +5824,7 @@ function init_io() {
if (grade == 4) { if (grade == 4) {
return socket.emit("game_response", { return socket.emit("game_response", {
response: "max_level", response: "max_level",
level: (item.level || 0), level: item.level || 0,
place: "compound", place: "compound",
failed: true, failed: true,
}); });
@@ -5978,7 +5979,7 @@ function init_io() {
p: { p: {
chance: probability, chance: probability,
name: item0.name, name: item0.name,
level: (item0.level || 0), level: item0.level || 0,
scroll: scroll.name, scroll: scroll.name,
offering: offering && offering.name, offering: offering && offering.name,
nums: [], nums: [],
@@ -9271,6 +9272,24 @@ function init_io() {
player.gold += gold * rate; player.gold += gold * rate;
resend(player, "reopen"); resend(player, "reopen");
socket.emit("game_response", { response: "gold_received", gold: gold * rate }); socket.emit("game_response", { response: "gold_received", gold: gold * rate });
} else if (data.name == "temporalsurge") {
var count = 0,
times = [];
for (var i = 0; i < monster_respawns.length; i++) {
if (distance(monster_respawns[i][0], player) < 160) {
monster_respawns[i][1] *= 0.85;
monster_respawns[i][1] -= 1000;
times.push(monster_respawns[i][1]);
xy_emit(
{ map: player.map, in: player.in, x: monster_respawns[i][0].x, y: monster_respawns[i][0].y },
"eval",
"assassin_smoke(" + monster_respawns[i][0].x + "," + monster_respawns[i][0].y + ",'icecrack');",
);
count++;
}
}
if (!count) socket.emit("game_response", "temporalsurge_none");
else socket.emit("game_response", { response: "temporalsurge", count: count, times: times });
} }
if (cool) { if (cool) {
@@ -11128,15 +11147,17 @@ function remove_monster(target, args) {
if (target.map_def.grow && (target.map_def.live || 0) <= (target.map_def.count * 2) / 3) { if (target.map_def.grow && (target.map_def.live || 0) <= (target.map_def.count * 2) / 3) {
setTimeout(new_monster_f(target.oin, target.map_def, { before_respawn: target }), 25); setTimeout(new_monster_f(target.oin, target.map_def, { before_respawn: target }), 25);
} else if (G.monsters[target.type].respawn > 200) { } else if (G.monsters[target.type].respawn > 200) {
setTimeout( monster_respawns.push([target, round(G.monsters[target.type].respawn * (720 + Math.random() * 480))]);
new_monster_f(target.oin, target.map_def, { before_respawn: target }), //setTimeout(
round(G.monsters[target.type].respawn * (720 + Math.random() * 480)), // new_monster_f(target.oin, target.map_def, { before_respawn: target }),
); // round(G.monsters[target.type].respawn * (720 + Math.random() * 480)),
//);
} else { } else {
setTimeout( monster_respawns.push([target, round(G.monsters[target.type].respawn * 1000 + Math.random() * 900)]);
new_monster_f(target.oin, target.map_def, { before_respawn: target }), //setTimeout(
round(G.monsters[target.type].respawn * 1000 + Math.random() * 900), // new_monster_f(target.oin, target.map_def, { before_respawn: target }),
); // round(G.monsters[target.type].respawn * 1000 + Math.random() * 900),
//);
} // previously Math.random()*2000 } // previously Math.random()*2000
} }
var luckm = undefined; var luckm = undefined;
@@ -13614,6 +13635,21 @@ setInterval(function () {
} }
}, 16000 / accel); }, 16000 / accel);
setInterval(function () {
try {
for (var i = monster_respawns.length - 1; i >= 0; i--) {
monster_respawns[i][1] -= 10;
if (monster_respawns[i][1] < 0) {
var target = monster_respawns[i][0];
new_monster(target.oin, target.map_def, { before_respawn: target });
monster_respawns.splice(i, 1);
}
}
} catch (e) {
log_trace("#X monster respawn loop error", e);
}
}, 10);
setInterval(function () { setInterval(function () {
try { try {
for (var id in instances) { for (var id in instances) {
+1
View File
@@ -275,6 +275,7 @@ function sprocess_game_data() {
D.drops.maps.global.push([0.0018, "mistletoe"]); D.drops.maps.global.push([0.0018, "mistletoe"]);
D.drops.maps.global.push([0.0005, "candycane"]); D.drops.maps.global.push([0.0005, "candycane"]);
D.drops.maps.global.push([0.0001, "open", "xN"]); D.drops.maps.global.push([0.0001, "open", "xN"]);
D.drops.maps.global.push([0.00000001, "orbofsc"]);
} }
if (events.egghunt) { if (events.egghunt) {