summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rw-r--r--conf/magic.conf.template400
1 files changed, 200 insertions, 200 deletions
diff --git a/conf/magic.conf.template b/conf/magic.conf.template
index 12621a34..87f8b49c 100644
--- a/conf/magic.conf.template
+++ b/conf/magic.conf.template
@@ -1306,166 +1306,166 @@ LOCAL SPELL mouboo-smell : "#s" =
CONST E10_FLAG_USED_FREE_WARP_SHIFT = 17
-NONMAGIC SILENT SPELL easter (type : STRING) : "#m" =
- (REQUIRE name_of(caster) == "Freeyorp") =>
- EFFECT IF (type == "EE_RF") THEN (
- {
- doevent("Old Woman::OnReplenish");
- }
- ) ELSE IF (type == "EE_SUS") THEN (
- {
- doevent "Old Woman::OnManualStopTimer";
- }
- ) ELSE IF (type == "EE_INIT") THEN (
- {
- doevent "Old Woman::OnManualStartTimer";
- }
- ) ELSE IF (type == "BLOCKER_DISABLE") THEN (
- {
- set $Easter_2010_Npc_State2, ($Easter_2010_Npc_State2 & ~(E10_BARRIER_MASK << E10_BARRIER_SHIFT)) | (E10_BARRIER_OPEN << E10_BARRIER_SHIFT);
- }
- ) ELSE IF (type == "BLOCKER_ENABLE") THEN (
- {
- set $Easter_2010_Npc_State2, ($Easter_2010_Npc_State2 & ~(E10_BARRIER_MASK << E10_BARRIER_SHIFT)) | (E10_BARRIER_ACTIVE << E10_BARRIER_SHIFT);
- }
- ) ELSE message(caster, "Unknown action '" + type + "'!");
-
-// Invader spells
-
-NONMAGIC SILENT SPELL easter-invader-init : "#i" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT warp(caster, @("028-1.gat", 139, 46));
- {
- gmcommand strcharinfo(0)+":@blvl -255";
- gmcommand strcharinfo(0)+":@blvl 199";
- gmcommand strcharinfo(0)+":@setmagic all 5 Xakelbael the Dark";
- gmcommand strcharinfo(0)+":@allstats";
- savepoint "028-1.gat", 130, 46;
- }
- create_item(caster, "DarkTalisman", 1);
-
-NONMAGIC SILENT SPELL easter-invader-hide : "#h" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT { if (checkoption(4096)) goto L_toggle;
- setoption(4096);
- end;
- L_toggle:
- setoption(0);
- end; };
- warp(caster, location(caster));
-
-NONMAGIC SILENT SPELL easter-invader-warp-taunt : "#o" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT warp(caster, @("009-1.gat", 48, 35));
- WAIT 80;
- sfx(caster, 32, 0);
- WAIT 80;
- FOREACH PC p IN rbox(location(caster), 50)
- DO IF (p <> caster) THEN (
- message(p, "A powerful explosion " + if_then_else(distance(location(caster), location(p)) < 10, "right around you nearly deafens you!", if_then_else(distance(location(caster), location(p)) < 30, "nearby shocks you!", "in the distance erupts... you're not sure of the source, but it will be something big...")));
- itemheal(p, -1 - random(hp(p)), 0-(random(sp(p) >> 2)));
- )
- WAIT 1000;
- FOREACH PC p IN rbox(location(caster), 15)
- DO (
- message(p, "As the smoke clears, you hear a distant, sickly laughing ringing in your ears...");
- )
-
-NONMAGIC SILENT SPELL easter-invader-warp-taunt-explosion : "#q" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT sfx(caster, 32, 0);
- WAIT 100;
- sfx(caster, 31, 0);
- WAIT 30;
- sfx(caster, 30, 0);
- WAIT 30;
- sfx(caster, 30, 0);
- WAIT 20;
- sfx(caster, 30, 0);
- WAIT 10;
- sfx(caster, 30, 0);
- WAIT 10;
-
-NONMAGIC SILENT SPELL easter-invader-warp-taunt-end : "#p" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT FOREACH PC p IN rbox(location(caster), 50) DO IF (p <> caster)
- THEN ( script_target = p;
- { gmcommand strcharinfo(0)+":@jump"; }
- message(p, "A powerful force sends you flying!");
- )
- warp(caster, @("028-1.gat", 130, 46));
-
-
-NONMAGIC SILENT SPELL easter-invader-attack-pulse : "#a" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT IF (script_int(caster, "InvState") == 1) THEN ( set_script_variable(caster, "InvState", 0); ABORT; );
- set_script_variable(caster, "InvState", 1);
- FOR i = 1 TO 500
- DO ( sfx(caster, 31, 0);
- WAIT 80;
- FOREACH PC p IN rbox(location(caster), 4)
- DO IF (p <> caster) THEN ( injure(caster, p, 30 - random(random(25)) - random(5) + random(i), 0); )
- WAIT 420;
- IF (script_int(caster, "InvState") == 0) THEN ABORT;
- )
- set_script_variable(caster, "InvState", 0);
-
-NONMAGIC SILENT SPELL easter-invader-command : "#d" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT override_attack(caster, 3, ((200 - agi(caster)) * 5000) / 200,
- 8, ATTACK_ICON_GENERIC, 31, 0);
- ATTRIGGER CALL attack_check(target);
- area = rbox(location(target), 8);
- FOREACH MOB m IN area
- DO (message(caster, "Class Id: " + mob_id(m));
- IF (mob_id(m) = 1040 || mob_id(m) == 1042 || mob_id(m) == 1047) THEN (
- CALL sfx_generic(m);
- aggravate(m, 0, target);
- )
- )
-
-NONMAGIC SILENT SPELL easter-invader-spike : "#w" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT FOR i = 1 TO 40
- DO ( point = random_location(rbox(location(caster), sqrt(i) << 1));
- IF (random(3))
- THEN (sfx(point, 32, 0);
- WAIT 50;
- FOREACH PC p IN rbox(point, sqrt(i) >> 1)
- DO IF (p <> caster)
- THEN (injure(caster, p, i + random(i << 1), random(random(i)));)
- ) ELSE (sfx(point, 31, 0);
- WAIT 50;
- FOREACH PC p IN rbox(point, sqrt(i))
- DO IF (p <> caster)
- THEN (injure(caster, p, i + random(i << 2), random(random(i)));)
- )
- WAIT 400 - (i << 3);
- )
-
-NONMAGIC SILENT SPELL easter-invader-jump (t : STRING) : "#j" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT IF not (status_option(caster, 4096)) THEN ( sfx(caster, 33, 0);
- WAIT 200; );
- IF (t == "r") THEN ( warp(caster, @("028-1.gat", 129, 46)); )
- ELSE IF (t == "s") THEN ( warp(caster, @("028-1.gat", 69, 96)); )
- ELSE IF (t == "c") THEN ( warp(caster, @("028-3.gat", 50, 58)); )
- ELSE IF (t == "t") THEN ( warp(caster, @("009-1.gat", 48, 35)); )
- ELSE { gmcommand strcharinfo(0)+":@jump"; };
-
-NONMAGIC SILENT SPELL easter-invader-taunt-local (s : STRING) : "#l" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT FOREACH PC p IN rbox(location(caster), 20) DO message(p, s);
-
-NONMAGIC SILENT SPELL easter-invader-taunt-global (s : STRING) : "#b" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT FOREACH PC p IN rbox(location(caster), 100) DO message(p, s);
-
-NONMAGIC SILENT SPELL easter-invader-spawn : "#c" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT spawn(rbox(location(caster), 20), caster, 1040, random(random(5)), 1, 100000);
- spawn(rbox(location(caster), 20), caster, 1042, random(random(5)), 1, 100000);
- spawn(rbox(location(caster), 20), caster, 1047, random(random(5)), 1, 100000);
+#NONMAGIC SILENT SPELL easter (type : STRING) : "#m" =
+# (REQUIRE name_of(caster) == "Freeyorp") =>
+# EFFECT IF (type == "EE_RF") THEN (
+# {
+# doevent("Old Woman::OnReplenish");
+# }
+# ) ELSE IF (type == "EE_SUS") THEN (
+# {
+# doevent "Old Woman::OnManualStopTimer";
+# }
+# ) ELSE IF (type == "EE_INIT") THEN (
+# {
+# doevent "Old Woman::OnManualStartTimer";
+# }
+# ) ELSE IF (type == "BLOCKER_DISABLE") THEN (
+# {
+# set $Easter_2010_Npc_State2, ($Easter_2010_Npc_State2 & ~(E10_BARRIER_MASK << E10_BARRIER_SHIFT)) | (E10_BARRIER_OPEN << E10_BARRIER_SHIFT);
+# }
+# ) ELSE IF (type == "BLOCKER_ENABLE") THEN (
+# {
+# set $Easter_2010_Npc_State2, ($Easter_2010_Npc_State2 & ~(E10_BARRIER_MASK << E10_BARRIER_SHIFT)) | (E10_BARRIER_ACTIVE << E10_BARRIER_SHIFT);
+# }
+# ) ELSE message(caster, "Unknown action '" + type + "'!");
+
+# Invader spells
+
+#NONMAGIC SILENT SPELL easter-invader-init : "#i" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT warp(caster, @("028-1.gat", 139, 46));
+# {
+# gmcommand strcharinfo(0)+":@blvl -255";
+# gmcommand strcharinfo(0)+":@blvl 199";
+# gmcommand strcharinfo(0)+":@setmagic all 5 Xakelbael the Dark";
+# gmcommand strcharinfo(0)+":@allstats";
+# savepoint "028-1.gat", 130, 46;
+# }
+# create_item(caster, "DarkTalisman", 1);
+
+#NONMAGIC SILENT SPELL easter-invader-hide : "#h" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT { if (checkoption(4096)) goto L_toggle;
+# setoption(4096);
+# end;
+# L_toggle:
+# setoption(0);
+# end; };
+# warp(caster, location(caster));
+
+#NONMAGIC SILENT SPELL easter-invader-warp-taunt : "#o" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT warp(caster, @("009-1.gat", 48, 35));
+# WAIT 80;
+# sfx(caster, 32, 0);
+# WAIT 80;
+# FOREACH PC p IN rbox(location(caster), 50)
+# DO IF (p <> caster) THEN (
+# message(p, "A powerful explosion " + if_then_else(distance(location(caster), location(p)) < 10, "right around you nearly deafens you!", if_then_else(distance(location(caster), location(p)) < 30, "nearby shocks you!", "in the distance erupts... you're not sure of the source, but it will be something big...")));
+# itemheal(p, -1 - random(hp(p)), 0-(random(sp(p) >> 2)));
+# )
+# WAIT 1000;
+# FOREACH PC p IN rbox(location(caster), 15)
+# DO (
+# message(p, "As the smoke clears, you hear a distant, sickly laughing ringing in your ears...");
+# )
+
+#NONMAGIC SILENT SPELL easter-invader-warp-taunt-explosion : "#q" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT sfx(caster, 32, 0);
+# WAIT 100;
+# sfx(caster, 31, 0);
+# WAIT 30;
+# sfx(caster, 30, 0);
+# WAIT 30;
+# sfx(caster, 30, 0);
+# WAIT 20;
+# sfx(caster, 30, 0);
+# WAIT 10;
+# sfx(caster, 30, 0);
+# WAIT 10;
+
+#NONMAGIC SILENT SPELL easter-invader-warp-taunt-end : "#p" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT FOREACH PC p IN rbox(location(caster), 50) DO IF (p <> caster)
+# THEN ( script_target = p;
+# { gmcommand strcharinfo(0)+":@jump"; }
+# message(p, "A powerful force sends you flying!");
+# )
+# warp(caster, @("028-1.gat", 130, 46));
+
+
+#NONMAGIC SILENT SPELL easter-invader-attack-pulse : "#a" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT IF (script_int(caster, "InvState") == 1) THEN ( set_script_variable(caster, "InvState", 0); ABORT; );
+# set_script_variable(caster, "InvState", 1);
+# FOR i = 1 TO 500
+# DO ( sfx(caster, 31, 0);
+# WAIT 80;
+# FOREACH PC p IN rbox(location(caster), 4)
+# DO IF (p <> caster) THEN ( injure(caster, p, 30 - random(random(25)) - random(5) + random(i), 0); )
+# WAIT 420;
+# IF (script_int(caster, "InvState") == 0) THEN ABORT;
+# )
+# set_script_variable(caster, "InvState", 0);
+
+#NONMAGIC SILENT SPELL easter-invader-command : "#d" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT override_attack(caster, 3, ((200 - agi(caster)) * 5000) / 200,
+# 8, ATTACK_ICON_GENERIC, 31, 0);
+# ATTRIGGER CALL attack_check(target);
+# area = rbox(location(target), 8);
+# FOREACH MOB m IN area
+# DO (message(caster, "Class Id: " + mob_id(m));
+# IF (mob_id(m) = 1040 || mob_id(m) == 1042 || mob_id(m) == 1047) THEN (
+# CALL sfx_generic(m);
+# aggravate(m, 0, target);
+# )
+# )
+
+#NONMAGIC SILENT SPELL easter-invader-spike : "#w" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT FOR i = 1 TO 40
+# DO ( point = random_location(rbox(location(caster), sqrt(i) << 1));
+# IF (random(3))
+# THEN (sfx(point, 32, 0);
+# WAIT 50;
+# FOREACH PC p IN rbox(point, sqrt(i) >> 1)
+# DO IF (p <> caster)
+# THEN (injure(caster, p, i + random(i << 1), random(random(i)));)
+# ) ELSE (sfx(point, 31, 0);
+# WAIT 50;
+# FOREACH PC p IN rbox(point, sqrt(i))
+# DO IF (p <> caster)
+# THEN (injure(caster, p, i + random(i << 2), random(random(i)));)
+# )
+# WAIT 400 - (i << 3);
+# )
+
+#NONMAGIC SILENT SPELL easter-invader-jump (t : STRING) : "#j" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT IF not (status_option(caster, 4096)) THEN ( sfx(caster, 33, 0);
+# WAIT 200; );
+# IF (t == "r") THEN ( warp(caster, @("028-1.gat", 129, 46)); )
+# ELSE IF (t == "s") THEN ( warp(caster, @("028-1.gat", 69, 96)); )
+# ELSE IF (t == "c") THEN ( warp(caster, @("028-3.gat", 50, 58)); )
+# ELSE IF (t == "t") THEN ( warp(caster, @("009-1.gat", 48, 35)); )
+# ELSE { gmcommand strcharinfo(0)+":@jump"; };
+
+#NONMAGIC SILENT SPELL easter-invader-taunt-local (s : STRING) : "#l" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT FOREACH PC p IN rbox(location(caster), 20) DO message(p, s);
+
+#NONMAGIC SILENT SPELL easter-invader-taunt-global (s : STRING) : "#b" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT FOREACH PC p IN rbox(location(caster), 100) DO message(p, s);
+
+#NONMAGIC SILENT SPELL easter-invader-spawn : "#c" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT spawn(rbox(location(caster), 20), caster, 1040, random(random(5)), 1, 100000);
+# spawn(rbox(location(caster), 20), caster, 1042, random(random(5)), 1, 100000);
+# spawn(rbox(location(caster), 20), caster, 1047, random(random(5)), 1, 100000);
NONMAGIC SILENT SPELL world-shift : "#S00" =
(REQUIRE (script_int(caster, "Easter_2010_QuestState") >> 16) & 1 == 1 && (script_int(caster, "Easter_2010_QuestState") >> 7) & 3 == 2) => # Travel only works when you have both helped the doctor at least thrice and have defeated the invader - top level requirement.
@@ -1507,42 +1507,42 @@ NONMAGIC SILENT SPELL world-shift : "#S00" =
)
)
-NONMAGIC SILENT SPELL easter-invader-killer : "#z" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT { gmcommand strcharinfo(0)+"@killer"; }
-
-NONMAGIC SILENT SPELL easter-invader-killable : "#x" =
- (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
- EFFECT { gmcommand strcharinfo(0)+"@killable"; }
-
-NONMAGIC SILENT SPELL easter-debug-reset (s : STRING) : "#r" =
- (REQUIRE name_of(caster) == "Freeyorp") =>
- EFFECT set_script_variable(pc(s), "Easter_2010_QuestState", 0);
-
-NONMAGIC SILENT SPELL easter-set-flag (s : PC) : "#k" =
- (REQUIRE name_of(caster) == "Freeyorp" || name_of(caster) == "Xakelbael the Dark") =>
- EFFECT IF (s == caster) THEN ABORT;
- IF ((script_int(s, "Easter_2010_QuestState") >> 16) & 1) THEN ( message(caster, s + " already has the flag set!"); ABORT; )
- script_target = s;
- { set Easter_2010_QuestState, Easter_2010_QuestState | (1 << 16); // RETURN_READY flag
- mes "As the smoke clears, you feel stronger, vivified.";
- next;
- mes "The world seems more vibrant. It looks the same as ever, but you get a sense of something more.";
- next;
- mes "You feel something familiar.";
- next;
- mes "This sensation... could it be home?";
- next;
- mes "A single word comes to your mind - " + getspellinvocation("world-shift") + ". While it sounds magical, you know with certainty that you will not need any magical power to use it.";
- next;
- mes "Could this be the way to move to and from the worlds? Either way, the dark petal the rose vanished into seems to be the key.";
- next;
- mes "Though you might be able to succeed in one trip without it, returning home.";
- if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK == E10_STATE_ROSE_ROSE_COMPLETE) close;
- next;
- mes "But the world is still not quite right. Perhaps there is someone you should help before the world releases its hold on you?";
- close;
- }
+#NONMAGIC SILENT SPELL easter-invader-killer : "#z" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT { gmcommand strcharinfo(0)+"@killer"; }
+
+#NONMAGIC SILENT SPELL easter-invader-killable : "#x" =
+# (REQUIRE name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT { gmcommand strcharinfo(0)+"@killable"; }
+
+#NONMAGIC SILENT SPELL easter-debug-reset (s : STRING) : "#r" =
+# (REQUIRE name_of(caster) == "Freeyorp") =>
+# EFFECT set_script_variable(pc(s), "Easter_2010_QuestState", 0);
+
+#NONMAGIC SILENT SPELL easter-set-flag (s : PC) : "#k" =
+# (REQUIRE name_of(caster) == "Freeyorp" || name_of(caster) == "Xakelbael the Dark") =>
+# EFFECT IF (s == caster) THEN ABORT;
+# IF ((script_int(s, "Easter_2010_QuestState") >> 16) & 1) THEN ( message(caster, s + " already has the flag set!"); ABORT; )
+# script_target = s;
+# { set Easter_2010_QuestState, Easter_2010_QuestState | (1 << 16); // RETURN_READY flag
+# mes "As the smoke clears, you feel stronger, vivified.";
+# next;
+# mes "The world seems more vibrant. It looks the same as ever, but you get a sense of something more.";
+# next;
+# mes "You feel something familiar.";
+# next;
+# mes "This sensation... could it be home?";
+# next;
+# mes "A single word comes to your mind - " + getspellinvocation("world-shift") + ". While it sounds magical, you know with certainty that you will not need any magical power to use it.";
+# next;
+# mes "Could this be the way to move to and from the worlds? Either way, the dark petal the rose vanished into seems to be the key.";
+# next;
+# mes "Though you might be able to succeed in one trip without it, returning home.";
+# if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK == E10_STATE_ROSE_ROSE_COMPLETE) close;
+# next;
+# mes "But the world is still not quite right. Perhaps there is someone you should help before the world releases its hold on you?";
+# close;
+# }
NONMAGIC SILENT SPELL easter-get-debug (p : PC) : "#e" =
(REQUIRE name_of(caster) == "Freeyorp" || name_of(caster) == "Xakelbael the Dark") =>
@@ -1560,10 +1560,10 @@ NONMAGIC SILENT SPELL easter-get-debug (p : PC) : "#e" =
message(caster, "Local state egg4: " + script_int(p, "Easter_2010_EggState4"));
message(caster, "Local state egg5: " + script_int(p, "Easter_2010_EggState5"));
message(caster, "Local state quest: " + script_int(p, "Easter_2010_QuestState"));
-
-
-
-
+
+
+
+
PROCEDURE hug_tree(target) =
IF (target = ""
|| target = "tree" || target = "tree*"