diff --git a/config.py b/config.py index 7c46b23..03c7985 100644 --- a/config.py +++ b/config.py @@ -114,12 +114,13 @@ if is_production: #maps["desertland"]["key"]="jayson_desertland_copy" pass -game_version=829 +game_version=831 SALES=4+5+388+5101+125/20 #donation+manual+macos+steam+sales update_notes=[ - "Last Update [November 7th]", - "PR: Fix compounding of old items that are missing a .level attribute #205", -] + "Happy Holidays!", + "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 "35.187.255.184":"asia1", "35.246.244.105":"eu1", diff --git a/design/dimensions.py b/design/dimensions.py index f2757f2..7be5546 100644 --- a/design/dimensions.py +++ b/design/dimensions.py @@ -504,6 +504,7 @@ positions={ "xmasshoes":["",10,29], "mittens":["",8,29], "goldglove":["",10,2], + "orboftemporal":["custom",6,0], #materials "essenceoffrost":["",10,34], diff --git a/design/drops.py b/design/drops.py index ac6d133..a030c36 100644 --- a/design/drops.py +++ b/design/drops.py @@ -748,12 +748,14 @@ drops={ [0.02,"angelwings"], #[0.1,"orbofsc"], [0.012,"supermittens"], + [0.001,"orboftemporal"], [3.6,"open","gem0"], ], "xbox":[ [1,"open","armorx"], [1,"harbringer"], [1,"t2quiver"], + [0.1,"orboftemporal"], [0.1,"exoarm"], [0.06,"fury"], [0.12,"starkillers"], diff --git a/design/items.py b/design/items.py index 38a5652..1cd0710 100644 --- a/design/items.py +++ b/design/items.py @@ -5453,7 +5453,7 @@ gems={ "a":True, "s":True, #"event":True, - #"quest":"mistletoe", #xmas + "quest":"mistletoe", #xmas }, "candycane":{ "type":"gem", @@ -5465,7 +5465,7 @@ gems={ "s":True, "a":True, #"event":True, - #"quest":"candycane", #xmas + "quest":"candycane", #xmas }, "gift0":{ "type":"gem", @@ -5794,7 +5794,7 @@ quest={ "g":3000, "e":20, "s":True, - #"quest":"ornament", #xmas + "quest":"ornament", #xmas }, "lostearring":{ "type":"earring", @@ -6324,6 +6324,20 @@ orbs={ "grades":[0,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":{ "set":"holidays", "type":"orb", @@ -7016,7 +7030,7 @@ sets={ }, "holidays":{ "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!", "1":{ }, diff --git a/design/maps.py b/design/maps.py index c7b77a7..f869fa4 100644 --- a/design/maps.py +++ b/design/maps.py @@ -247,7 +247,7 @@ maps={ "key":"jayson_bank", "key":"jayson_bank0", #"key":"jayson_bank_xmas", - #"key":"jayson_bank0.Xmas", #xmas + "key":"jayson_bank0.Xmas", #xmas "name":"The Bank", "npcs":[ {"id":"goldnpc","position":[1,-416]}, @@ -491,7 +491,7 @@ maps={ "key":"jayson_ALMap2_v2", #"key":"jayson_ALMap2_v2.Xmas", #"key":"jayson_ALMap2_v2.CNewYear", - #"key":"jayson_ALMap2_v2_xmas", #xmas + "key":"jayson_ALMap2_v2_xmas", #xmas #"key":"jayson_ALMap2_v2.lunarNewYear", "name":"Mainland", "npcs":[ @@ -533,7 +533,7 @@ maps={ {"id":"pvptokens","position":[159,403]}, {"id":"monsterhunter","position":[126,-413]}, {"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]}, ], "monsters":[ @@ -986,7 +986,7 @@ maps={ {"id":"citizen1","position":[0,-5]}, {"id":"citizen5","position":[0,-5]}, {"id":"citizen6","position":[0,-5]}, - #{"id":"mistletoe","position":[94,-181,2]}, #xmas + {"id":"mistletoe","position":[94,-181,2]}, #xmas ], "monsters":[ ], @@ -1113,8 +1113,8 @@ maps={ "npcs":[ {"id":"leathermerchant","position":[262,-48.5]}, {"id":"transporter","position":[-73,-393]}, - #{"id":"santa","position":[1242,-1631]}, #xmas - #{"id":"ornaments","position":[-137,-193,1]}, #xmas + {"id":"santa","position":[1242,-1631]}, #xmas + {"id":"ornaments","position":[-137,-193,1]}, #xmas {"id":"guard","position":[1065,-2015]}, {"id":"citizen7","position":[-15,5]}, {"id":"citizen8","position":[-15,5]}, diff --git a/design/precomputed.py b/design/precomputed.py index 4a2cd54..081468d 100644 --- a/design/precomputed.py +++ b/design/precomputed.py @@ -1,2 +1,2 @@ -# Fri Oct 10 2025 21:38:13 GMT+0300 (GMT+03:00) +# Sun Dec 21 2025 13:33:33 GMT+0300 (GMT+03:00) images={"/images/tiles/characters/ninja_turtles.png":{"height":144,"width":312,"type":"png"},"/images/cosmetics/makeup/makeup1.png":{"height":120,"width":1134,"type":"png"},"/images/cosmetics/hairdo/bwhair.png":{"height":120,"width":27,"type":"png"},"/images/cosmetics/beardo/burningeyes1_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/beardo/burningeyes2_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/bathat_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/gcandle_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/halo_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/makeup/kunique.png":{"height":120,"width":108,"type":"png"},"/images/cosmetics/skins/mbw.png":{"height":144,"width":81,"type":"png"},"/images/cosmetics/armors/mabw.png":{"height":144,"width":162,"type":"png"},"/images/cosmetics/accessories/kglasses.png":{"height":120,"width":108,"type":"png"},"/images/cosmetics/gravestones/gravestone.png":{"height":64,"width":160,"type":"png"},"/images/tiles/monsters/deep_sea_king.png":{"height":320,"width":318,"type":"png"},"/images/tiles/characters/adversaries.png":{"height":288,"width":324,"type":"png"},"/images/tiles/characters/angel_wingless.png":{"height":288,"width":456,"type":"png"},"/images/tiles/characters/winners_jpa.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/winners_jpb.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/sheet_winnersa.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/sheet_winnersb.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collectionx.png":{"height":288,"width":456,"type":"png"},"/images/tiles/monsters/snowman.png":{"height":144,"width":76,"type":"png"},"/images/tiles/monsters/Dragold.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/blackscorpion.png":{"height":256,"width":176,"type":"png"},"/images/tiles/monsters/coboldProto.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/liger_x.png":{"height":184,"width":150,"type":"png"},"/images/tiles/monsters/tiger.png":{"height":184,"width":150,"type":"png"},"/images/tiles/monsters/slenderman.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/frankenstein.png":{"height":144,"width":76,"type":"png"},"/images/tiles/characters/custom1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/custom2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/custom3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/others/jsonX.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/mecha_gnome.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/harpy_b_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_b_fly_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_a_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_a_fly_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/characters/others/ship2.png":{"height":64,"width":201,"type":"png"},"/images/tiles/characters/others/newyear_tree.png":{"height":64,"width":144,"type":"png"},"/images/tiles/characters/bonus1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/military2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/military3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/knights.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara4.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara6.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara7.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara8.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/automatron2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc4.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc5.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc6.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/dwarf2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/tristone_m.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/tristone_f.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/mystics.png":{"height":144,"width":312,"type":"png"},"/images/tiles/monsters/creatures1.png":{"height":144,"width":312,"type":"png"},"/images/tiles/monsters/creatures2.png":{"height":424,"width":624,"type":"png"},"/images/tiles/monsters/jrpumpkins.png":{"height":144,"width":155,"type":"png"},"/images/tiles/characters/chara5.png":{"height":288,"width":312,"type":"png"},"/images/tiles/items/chests.png":{"height":288,"width":504,"type":"png"},"/images/tiles/characters/animationc.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation1i.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation2.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation3.png":{"height":400,"width":564,"type":"png"},"/images/tiles/monsters/elemental.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster_dknight1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_dknight2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/fairies.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monster_bird1.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_bird2.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_bird3.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_boar.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_cacto.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/rudolphi.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_elk.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_golem1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_golem2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lich.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lizardman1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lizardman2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/stompy3.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_minotaur.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_phoenix.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_raptor1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_raptor2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/grinch.png":{"height":144,"width":82,"type":"png"},"/images/tiles/monsters/monster_treant.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_wolf1.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_wolf2.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/json.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/custom1.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/custom2.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/goos.png":{"height":256,"width":360,"type":"png"},"/images/tiles/monsters/monster1.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/animals1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/animals2.png":{"height":288,"width":504,"type":"png"},"/images/tiles/monsters/birds1_modded.png":{"height":288,"width":504,"type":"png"},"/images/tiles/monsters/goblinos.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/goblinkingb.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/monsterc6.png":{"height":512,"width":692,"type":"png"},"/images/tiles/monsters/tinyfairies.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monsterc2.png":{"height":400,"width":564,"type":"png"},"/images/tiles/monsters/robots.png":{"height":288,"width":372,"type":"png"},"/images/tiles/monsters/mage.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monster2.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster3c.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster4.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/vampire2d.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/mr_pumpkin.png":{"height":144,"width":80,"type":"png"},"/images/tiles/monsters/cbee.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/iceGolem.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/green.png":{"height":144,"width":80,"type":"png"},"/images/tiles/monsters/robots_walkin_B_1.png":{"height":288,"width":372,"type":"png"},"/images/tiles/monsters/dryad_green_1.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/mondinos_1.png":{"height":288,"width":456,"type":"png"},"/images/tiles/monsters/giantspider.png":{"height":384,"width":480,"type":"png"},"/images/sprites/emblems/emblems.png":{"height":96,"width":480,"type":"png"},"/images/cosmetics/skins/sskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/skins/mskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/skins/lskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sbody1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody3.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody4.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody5.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody6.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sarmor1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sarmor2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor3.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor4.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor5.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor6.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor7.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor8.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor9.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor10.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor11.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor12.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/larmor1.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/lchar1.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/mchar16.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/schar7.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/xschar2.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/xxschar2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/hairdo/hairdo1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo2.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo3.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo4.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo5.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo6.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats2.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats3.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats4.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/wings/wings1.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/wings2.png":{"height":144,"width":128,"type":"png"},"/images/cosmetics/wings/wings3.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/backpacks.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/backpack2.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/tails/wolftail.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/tails/wolftail2.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/tails/wolftail3.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/makeup/smakeup.png":{"height":120,"width":27,"type":"png"},"/images/cosmetics/makeup/malemakeup.png":{"height":120,"width":378,"type":"png"},"/images/cosmetics/makeup/femalemakeupv2.png":{"height":120,"width":351,"type":"png"},"/images/cosmetics/makeup/fmakeup.png":{"height":120,"width":351,"type":"png"},"/images/cosmetics/accessories/eyeglasses.png":{"height":120,"width":1107,"type":"png"},"/images/cosmetics/beardo/beard1.png":{"height":120,"width":1107,"type":"png"},"/images/cosmetics/beardo/mask1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/beardo/facemakeup.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/makeup/male_makeup.png":{"height":120,"width":567,"type":"png"},"/images/cosmetics/makeup/female_makeup.png":{"height":120,"width":621,"type":"png"},"/images/cosmetics/makeup/unisex_makeup.png":{"height":120,"width":648,"type":"png"},"/images/tiles/items/pack_1a.png":{"height":2048,"width":256,"type":"png"},"/images/tiles/items/pack_20vt8.png":{"height":1280,"width":320,"type":"png"},"/images/tiles/items/skills_20v6.png":{"height":260,"width":320,"type":"png"},"/images/tiles/items/custom.png":{"height":180,"width":140,"type":"png"},"/images/tiles/items/community.png":{"height":180,"width":140,"type":"png"},"/images/tiles/map/castle.png":{"height":512,"width":544,"type":"png"},"/images/tiles/map/custom2.png":{"height":560,"width":752,"type":"png"},"/images/tiles/map/custom.png":{"height":480,"width":480,"type":"png"},"/images/tiles/map/custom_a.png":{"height":320,"width":320,"type":"png"},"/images/tiles/map/doors.png":{"height":256,"width":192,"type":"png"},"/images/tiles/map/dungeon.png":{"height":416,"width":912,"type":"png"},"/images/tiles/map/house.png":{"height":1168,"width":1104,"type":"png"},"/images/tiles/map/inside.png":{"height":816,"width":832,"type":"png"},"/images/tiles/map/outside.png":{"height":832,"width":904,"type":"png"},"/images/tiles/map/puzzle.png":{"height":320,"width":336,"type":"png"},"/images/tiles/map/water_updated.png":{"height":1200,"width":704,"type":"png"},"/images/tiles/map/winter.png":{"height":640,"width":912,"type":"png"},"/images/tiles/map/fort.png":{"height":832,"width":656,"type":"png"},"/images/tiles/map/beach_v2.png":{"height":416,"width":576,"type":"png"},"/images/tiles/map/world.png":{"height":288,"width":432,"type":"png"},"/images/tiles/items/stands.png":{"height":144,"width":78,"type":"png"},"/images/tiles/map/new.png":{"height":480,"width":672,"type":"png"},"/images/tiles/map/dark_dimension.png":{"height":336,"width":464,"type":"png"},"/images/tiles/map/jungle.png":{"height":336,"width":496,"type":"png"},"/images/tiles/map/ship.png":{"height":448,"width":864,"type":"png"},"/images/tiles/map/ashlands.png":{"height":336,"width":640,"type":"png"},"/images/tiles/map/ruins.png":{"height":832,"width":704,"type":"png"},"/images/tiles/map/tree.png":{"height":576,"width":544,"type":"png"},"/images/tiles/map/lights.png":{"height":480,"width":640,"type":"png"}} diff --git a/design/skills.py b/design/skills.py index 909ab12..72d26a4 100644 --- a/design/skills.py +++ b/design/skills.py @@ -195,6 +195,15 @@ skills={ "mp":40, "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":{ "type":"skill", "skin":"trigger", diff --git a/design/sprites.py b/design/sprites.py index 161e9c0..485a1d1 100644 --- a/design/sprites.py +++ b/design/sprites.py @@ -1141,7 +1141,7 @@ imagesets={ "size":20, "rows":9, "columns":7, - "file":"/images/tiles/items/custom.png?v=10", + "file":"/images/tiles/items/custom.png?v=11", "load":True, }, "community":{ diff --git a/docs/guide/event-holidayseason.html b/docs/guide/event-holidayseason.html index 15c4e7e..9b48e16 100644 --- a/docs/guide/event-holidayseason.html +++ b/docs/guide/event-holidayseason.html @@ -46,7 +46,7 @@

We also have many new items for the winter and holiday season, like throwable Snowballs! -

+

Snippets

@@ -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},{})); $(".eitemm6").html(item_container({skin:G.items.northstar.skin},{})); $(".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")); $(".spgrinch").html(sprite("grinch",{height: 56})); $(".spsanta").html(sprite("santa")); diff --git a/images/tiles/items/custom.png b/images/tiles/items/custom.png index 963e995..98a059b 100644 Binary files a/images/tiles/items/custom.png and b/images/tiles/items/custom.png differ diff --git a/images/tiles/items/custom.pxd b/images/tiles/items/custom.pxd index 1d33b96..a3b3e3a 100644 Binary files a/images/tiles/items/custom.pxd and b/images/tiles/items/custom.pxd differ diff --git a/js/game.js b/js/game.js index 46ff903..d98979b 100644 --- a/js/game.js +++ b/js/game.js @@ -1322,7 +1322,7 @@ function init_socket(args) } if(character.ctype=="merchant" || recording_mode || 1) options.show_names=true; clear_game_logs(); add_log("Connected!"); - // add_holiday_log(); + if(S.holidayseason) add_holiday_log(); // add_greenlight_log(); 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=="slots_success") ui_log("Machine went crazy","#9733FF"); 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") { var def=G.craft[data.name]; diff --git a/node/server.js b/node/server.js index 6f785fd..6060ab4 100644 --- a/node/server.js +++ b/node/server.js @@ -65,6 +65,7 @@ var total_merchants = 0; var csold = []; var cfound = []; // cache of S.sold + S.found var monster_c = {}; // monster counts +var monster_respawns = []; // [target,ms] array so they can be hastened [20/12/25] var pwns = []; var pend = 0; var tavern = {}; @@ -170,7 +171,7 @@ var mode = { }; var events = { // SEASONS - holidayseason: false, + holidayseason: true, lunarnewyear: false, valentines: false, pinkgoo: 0, // every N minutes - 60 @@ -5823,7 +5824,7 @@ function init_io() { if (grade == 4) { return socket.emit("game_response", { response: "max_level", - level: (item.level || 0), + level: item.level || 0, place: "compound", failed: true, }); @@ -5978,7 +5979,7 @@ function init_io() { p: { chance: probability, name: item0.name, - level: (item0.level || 0), + level: item0.level || 0, scroll: scroll.name, offering: offering && offering.name, nums: [], @@ -9271,6 +9272,24 @@ function init_io() { player.gold += gold * rate; resend(player, "reopen"); 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) { @@ -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) { setTimeout(new_monster_f(target.oin, target.map_def, { before_respawn: target }), 25); } else if (G.monsters[target.type].respawn > 200) { - setTimeout( - new_monster_f(target.oin, target.map_def, { before_respawn: target }), - round(G.monsters[target.type].respawn * (720 + Math.random() * 480)), - ); + monster_respawns.push([target, round(G.monsters[target.type].respawn * (720 + Math.random() * 480))]); + //setTimeout( + // new_monster_f(target.oin, target.map_def, { before_respawn: target }), + // round(G.monsters[target.type].respawn * (720 + Math.random() * 480)), + //); } else { - setTimeout( - new_monster_f(target.oin, target.map_def, { before_respawn: target }), - round(G.monsters[target.type].respawn * 1000 + Math.random() * 900), - ); + monster_respawns.push([target, round(G.monsters[target.type].respawn * 1000 + Math.random() * 900)]); + //setTimeout( + // 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 } var luckm = undefined; @@ -13614,6 +13635,21 @@ setInterval(function () { } }, 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 () { try { for (var id in instances) { diff --git a/node/server_functions.js b/node/server_functions.js index d56a528..b9699e2 100644 --- a/node/server_functions.js +++ b/node/server_functions.js @@ -275,6 +275,7 @@ function sprocess_game_data() { D.drops.maps.global.push([0.0018, "mistletoe"]); D.drops.maps.global.push([0.0005, "candycane"]); D.drops.maps.global.push([0.0001, "open", "xN"]); + D.drops.maps.global.push([0.00000001, "orbofsc"]); } if (events.egghunt) {