mirror of
https://github.com/gooba42/adventureland.git
synced 2026-10-14 18:39:27 -05:00
Merge pull request #81 from FreezePhoenix/patch-8
Introduce tags for some debuffs
This commit is contained in:
+4
-13
@@ -3413,12 +3413,7 @@ function complete_attack(attacker, target, info) {
|
||||
o_attack = attack = ceil(attack);
|
||||
|
||||
if (info.conditions.includes("frozen") && !target.immune && target.hp > attack) {
|
||||
if (Math.random() < target.fzresistance / 100.0) {
|
||||
xy_emit(target, "ui", { type: "freeze_resist", id: target.id });
|
||||
} else {
|
||||
add_condition(target, "frozen");
|
||||
disappearing_text(target.socket, target, "FREEZE!", { xy: 1, size: "huge", color: "freeze", nv: 1 }); //target.is_player&&"huge"||undefined
|
||||
}
|
||||
add_condition(target, "frozen");
|
||||
}
|
||||
|
||||
if (info.conditions.includes("burned") && !target.immune && target.hp > attack) {
|
||||
@@ -3434,13 +3429,9 @@ function complete_attack(attacker, target, info) {
|
||||
add_condition(target, "woven");
|
||||
}
|
||||
|
||||
if (
|
||||
info.conditions.includes("stunned") &&
|
||||
target.hp > attack &&
|
||||
add_condition(target, "stunned", { duration: 2000 })
|
||||
) {
|
||||
disappearing_text(target.socket, target, "STUN!", { xy: 1, size: "huge", color: "stun", nv: 1 });
|
||||
} //target.is_player&&"huge"||undefined
|
||||
if (info.conditions.includes("stunned") && target.hp > attack) {
|
||||
add_condition(target, "stunned", { duration: 2000 });
|
||||
}
|
||||
|
||||
if (info.procs && target.a.putrid) {
|
||||
add_condition(attacker, "poisoned");
|
||||
|
||||
+25
-17
@@ -2661,30 +2661,43 @@ function add_condition(target, condition, args) {
|
||||
}
|
||||
var response = { response: "condition", name: condition, cevent: true };
|
||||
var duration = args.duration || args.ms || def.duration;
|
||||
if (def.defense) {
|
||||
if (Math.random() < (target[def.defense] || 0) / 100.0) {
|
||||
return xy_emit(target, "ui", { type: condition + "_resist", id: target.id });
|
||||
}
|
||||
}
|
||||
// if (def.tag === "stun") {
|
||||
// if (Math.random() < (target.phresistance || 0) / 100.0) {
|
||||
// }
|
||||
// } else if (def.tag === "burn") {
|
||||
// if (Math.random() < (target.firesistance || 0) / 100.0) {
|
||||
// return xy_emit(target, "ui", { type: "fire_resist", id: target.id });
|
||||
// }
|
||||
// } else if (def.tag === "poison") {
|
||||
// if (Math.random() < (target.pnresistance || 0) / 100.0) {
|
||||
// return xy_emit(target, "ui", { type: "poison_resist", id: target.id });
|
||||
// }
|
||||
// } else if (def.tag === "freeze") {
|
||||
// if (Math.random() < (target.fzresistance || 0) / 100.0) {
|
||||
// return xy_emit(target, "ui", { type: "freeze_resist", id: target.id });
|
||||
// }
|
||||
// }
|
||||
if (duration == undefined) {
|
||||
duration = 1000;
|
||||
}
|
||||
var C = { ms: duration };
|
||||
if (condition == "poisoned" && target.pnresistance) {
|
||||
if (Math.random() < (target.pnresistance || 0) / 100.0) {
|
||||
return xy_emit(target, "ui", { type: "poison_resist", id: target.id });
|
||||
}
|
||||
|
||||
duration *= (100 - target.pnresistance) / 100.0;
|
||||
}
|
||||
if (condition == "stunned") {
|
||||
if (Math.random() < (target.phresistance || 0) / 100.0) {
|
||||
return xy_emit(target, "ui", { type: "stun_resist", id: target.id });
|
||||
}
|
||||
|
||||
target.abs = true;
|
||||
target.moving = false;
|
||||
disappearing_text(target.socket, target, "STUN!", { xy: 1, size: "huge", color: "stun", nv: 1 });
|
||||
}
|
||||
if (condition == "frozen") {
|
||||
disappearing_text(target.socket, target, "FREEZE!", { xy: 1, size: "huge", color: "freeze", nv: 1 });
|
||||
}
|
||||
if (condition == "burned") {
|
||||
if (Math.random() < (target.firesistance || 0) / 100.0) {
|
||||
return xy_emit(target, "ui", { type: "fire_resist", id: target.id });
|
||||
}
|
||||
|
||||
duration = 5000;
|
||||
if (!args.attack) {
|
||||
args.attack = 1000;
|
||||
@@ -2702,11 +2715,6 @@ function add_condition(target, condition, args) {
|
||||
C.fid = args.fid;
|
||||
disappearing_text({}, target, "BURN!", { xy: 1, size: "huge", color: "burn", nv: 1 }); //target.is_player&&"huge"||undefined
|
||||
}
|
||||
if (condition == "deepfreezed") {
|
||||
if (Math.random() < (target.fzresistance || 0) / 100.0) {
|
||||
return xy_emit(target, "ui", { type: "freeze_resist", id: target.id });
|
||||
}
|
||||
}
|
||||
if (condition == "woven") {
|
||||
C.s = min((target.is_monster && 20) || 5, (target.s.woven && target.s.woven.s + 1) || 1);
|
||||
C.speed = -3 * C.s;
|
||||
|
||||
Reference in New Issue
Block a user