Pre pull - Favors NPC

This commit is contained in:
Kaan Soral
2025-09-21 16:37:57 +03:00
parent fb9db91f87
commit 195b0e1b2b
10 changed files with 53 additions and 25 deletions
+2
View File
@@ -118,6 +118,8 @@ game_version=822
SALES=4+5+388+5101+125/20 #donation+manual+macos+steam+sales
update_notes=[
"Last Update [August 7th]",
"PR: improve date functions #176",
"PR: simplify distance calculation #179",
"PR: Fix display of Orb of Adventures #183",
"PR: Fix Sanguine Amulet #185",
"PR: Fix display of Frozen to correctly show speed reduction, fix value in G.conditions.poisoned to reflect actual frequency multiplier #188",
+17 -17
View File
@@ -18,7 +18,7 @@ conditions={
"mp_cost":-200,
"buff":True,
"ui":True,
"explanation": "Greatly increases attack speed and reduces mana cost of attacks."
"explanation": "Greatly increases attack speed and reduces mana cost of attacks.",
},
"power":{
"skin":"powerglove",
@@ -28,7 +28,7 @@ conditions={
"mp_cost":-200,
"buff":True,
"ui":True,
"explanation": "Increases attack speed and reduces mana cost."
"explanation": "Increases attack speed and reduces mana cost.",
},
"weakness":{
"skin":"condition_bad",
@@ -39,7 +39,7 @@ conditions={
"dex":-10,
"str":-10,
"duration":20000,
"explanation": "Reduces speed, dexterity, and strength."
"explanation": "Reduces speed, dexterity, and strength.",
},
"xpower":{
"skin":"goldenpowerglove",
@@ -49,7 +49,7 @@ conditions={
"mp_cost":-300,
"buff":True,
"ui":True,
"explanation": "Greatly increases attack speed and lowers mana cost."
"explanation": "Greatly increases attack speed and lowers mana cost.",
},
"stack":{
"skin":"skill_stack",
@@ -74,7 +74,7 @@ conditions={
"duration":800,
"buff":True,
"ui":True,
"explanation": "Gives a brief burst of attack speed."
"explanation": "Gives a brief burst of attack speed.",
},
"mcourage":{
"skin":"skill_mcourage",
@@ -87,7 +87,7 @@ conditions={
"duration":10000,
"ui":True,
"buff":True,
"explanation": "Increases speed, evasion, and all types of courage."
"explanation": "Increases speed, evasion, and all types of courage.",
},
"mfrenzy":{
"skin":"skill_mfrenzy",
@@ -98,7 +98,7 @@ conditions={
"output":40,
"ui":True,
"buff":True,
"explanation": "Greatly boosts attack speed and output while lowering mana cost."
"explanation": "Greatly boosts attack speed and output while lowering mana cost.",
},
"mshield":{
"skin":"skill_mshield",
@@ -116,7 +116,7 @@ conditions={
"duration":5000,
"ui":True,
"buff":True,
"explanation": "Decreases attack and movement speed but greatly increases evasion."
"explanation": "Decreases attack and movement speed but greatly increases evasion.",
},
"hardshell":{
"skin":"skill_hardshell",
@@ -125,7 +125,7 @@ conditions={
"set_speed":10,
"duration":8000,
"buff":True,
"explanation": "Greatly increases armor but limits maximum speed to 10."
"explanation": "Greatly increases armor but limits maximum speed to 10.",
},
"reflection":{
"skin":"buff_reflection",
@@ -135,7 +135,7 @@ conditions={
"duration":5000,
"ui":True,
"buff":True,
"explanation": "Increases your chance to reflect attacks."
"explanation": "Increases your chance to reflect attacks.",
},
"eburn":{
"skin":"essenceoffire",
@@ -147,7 +147,7 @@ conditions={
"speed":5,
"ui":True,
"debuff":True,
"explanation": "Burns the target with fire essence, dealing damage over time."
"explanation": "Burns the target with fire essence, dealing damage over time.",
},
"newcomersblessing":{
"skin":"newcomersblessing",
@@ -159,7 +159,7 @@ conditions={
"aura":True,
"ui":True,
"persistent":True,
"explanation": "Increases luck, gold gain, and experience earned."
"explanation": "Increases luck, gold gain, and experience earned.",
},
"eheal":{
"skin":"essenceoflife",
@@ -169,7 +169,7 @@ conditions={
"duration":4*1000,
"ui":True,
"buff":True,
"explanation": "Heals the target over time using life essence."
"explanation": "Heals the target over time using life essence.",
},
"rspeed":{
"skin":"buff_speed",
@@ -184,7 +184,7 @@ conditions={
"massproduction":{
"skin":"skill_massproduction",
"name":"Mass Production",
"explanation": "Reduces the time of your next upgrade or compound by 50%."
"explanation": "Reduces the time of your next upgrade or compound by 50%.",
"duration":10*1000,
"buff":True,
"ui":True,
@@ -192,7 +192,7 @@ conditions={
"massproductionpp":{
"skin":"skill_massproductionpp",
"name":"Mass Production++",
"explanation": "Reduces the time of your next upgrade or compound by 90%."
"explanation": "Reduces the time of your next upgrade or compound by 90%.",
"duration":10*1000,
"buff":True,
"ui":True,
@@ -277,7 +277,7 @@ conditions={
"gold":20,
"xp":25,
"speed":1,
"duration":60*60*1000,
"duration":2*60*1000,
"buff":True,
"ui":True,
},
@@ -605,7 +605,7 @@ conditions={
"skin":"condition_positive",
"speed":30,
"duration":3200,
"explanation": "A short burst of speed."
"explanation": "A short burst of speed.",
},
"dash":{
"name":"Dashing",
+1
View File
@@ -1015,4 +1015,5 @@ positions={
#"claw":["",13,42],
"friendtoken":["",15,33],
"patronsgrace":["custom",5,0],
}
+1 -1
View File
@@ -534,7 +534,7 @@ maps={
{"id":"monsterhunter","position":[126,-413]},
{"id":"mcollector","position":[81,-283,1]},
#{"id":"newyear_tree","position":[64,-88]}, #xmas
{"id":"favor","position":[20,20]},
{"id":"favors","position":[20,20]},
],
"monsters":[
#square
+2 -3
View File
@@ -84,10 +84,9 @@ npcs={
"color":"#B4FAA0",
},
"favors":{
"role":"monstertokens",
"token":"monstertoken",
"role":"favors",
"name":"Favoré",
"skin":"favor",
"skin":"favore",
"type":"fullstatic",
"says":"Hi!",
"color":"#D382B5",
+1 -1
View File
@@ -133,7 +133,7 @@ sprites={
"rows":2,
"columns":4,
"matrix":[
[None,"greengreen",None,"favor"],
[None,"greengreen",None,"favore"],
[None,None,None,None],
]
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.
+12
View File
@@ -2248,6 +2248,14 @@ function init_socket(args)
ui_log("Spent 250,000 gold","gray");
ui_log("Sealed the item","gray");
}
else if(response=="blessed")
{
render_interaction({auto:true,skin:"favore",message:"Thank you! The server has been blessed."});
}
else if(response=="blessed_fail")
{
render_interaction({auto:true,skin:"favore",message:"Ooops! It failed."});
}
else if(response=="monsterhunt_started" || response=="monsterhunt_already")
{
if(!character.s.monsterhunt) return;
@@ -3286,6 +3294,10 @@ function npc_right_click(event){
render_interaction({auto:true,skin:"lionsuit",message:"This is your home server. Make sure to follow daily and nightly server events! Just click the time icon in the bottom left corner for the schedule!"})
}
}
if(this.role=="favors")
{
render_interaction({auto:true,skin:"favore",message:"Would you like to bless the entire server for 3 days?",button:"Yes! [1,200 Shells]",onclick:function(){ socket.emit('bless_server'); }});
}
if(this.role=="mcollector")
{
render_recipes("mcollector");
+17 -3
View File
@@ -7015,6 +7015,7 @@ function init_io() {
server_log("buy_with_cash: " + JSON.stringify(result));
if (result.failed || !result.done) {
socket.emit("game_log", "Purchase failed");
socket.emit("game_response", "blessed_fail");
return;
}
player.cash = result.cash;
@@ -7023,9 +7024,12 @@ function init_io() {
S.blessed_by = player.name;
socket.emit("game_log", "Spent " + to_pretty_num(cost) + " shells");
socket.emit("game_response", "blessed");
resend(player, "reopen+nc+inv");
bless_loop();
discord_call(player.name + " blessed " + region + " " + server_name);
},
);
success_response({ success: false, in_progress: true });
@@ -7366,12 +7370,16 @@ function init_io() {
consume(player, data.num, data.q);
//player.items[data.num]=player.citems[data.num]=null;
}
if (data.statue) {
if (data.statue && distance(player, G.maps.spookytown.ref.poof) < B.sell_dist) {
var grade = (calculate_item_grade(G.items[name]) || 0) + 1;
if (item.name == "shadowstone") {
add = "+u+cid";
player.s.invis = { ms: 99999 };
}
if (G.items[item.name].upgrade && Math.random() < 1.0 / ((gameplay == "hardcore" && 10000) || 10000000)) {
if (
G.items[item.name].upgrade &&
Math.random() < 1.0 / ((gameplay == "hardcore" && 10000) || 3000013 * grade * grade)
) {
add = "+u+cid";
item.level = 13;
player.items[data.num] = item;
@@ -13081,7 +13089,13 @@ function npc_loop() {
function bless_loop() {
if (S.blessed_minutes) S.blessed_minutes--;
if (!S.blessed_minutes) return;
if (!S.blessed_minutes) {
delete E.blessed_minutes;
delete E.blessed_by;
return;
}
E.blessed_minutes = S.blessed_minutes;
E.blessed_by = S.blessed_by;
for (var id in players) {
var player = players[id],
rs = false;