summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/052-2/lobby.txt47
-rwxr-xr-xworld/map/npc/functions/debug.txt20
-rw-r--r--world/map/npc/functions/mob_points.txt2
3 files changed, 52 insertions, 17 deletions
diff --git a/world/map/npc/052-2/lobby.txt b/world/map/npc/052-2/lobby.txt
index 53de723c..6eb56e72 100644
--- a/world/map/npc/052-2/lobby.txt
+++ b/world/map/npc/052-2/lobby.txt
@@ -229,7 +229,9 @@ OnTimer24500:
end;
npctalk "Demonotis!";
misceffect FX_EVIL_SUMMON;
- areamonster "052-2.gat", 20, 23, 47, 41, "", 1101, 20 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_GetHeroRect;
+ areamonster "052-2.gat", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 20 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_ClearHeroRect;
end;
OnTimer44000:
@@ -237,7 +239,9 @@ OnTimer44000:
end;
npctalk "Demonotis!";
misceffect FX_EVIL_SUMMON;
- areamonster "052-2.gat", 20, 23, 47, 41, "", 1101, 28 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_GetHeroRect;
+ areamonster "052-2.gat", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 28 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_ClearHeroRect;
end;
OnTimer77000:
@@ -245,7 +249,9 @@ OnTimer77000:
end;
npctalk "Demonotis!";
misceffect FX_EVIL_SUMMON;
- areamonster "052-2.gat", 20, 23, 47, 41, "", 1101, 42 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_GetHeroRect;
+ areamonster "052-2.gat", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 42 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::onDSDeath";
+ callsub S_ClearHeroRect;
// That was the last spawn: reset the timer to start the CheckInvoke loop.
set $@illia_level_5_progress, 5;
setnpctimer 0;
@@ -276,7 +282,9 @@ OnTimer18500:
npctalk "Demonotis Major!";
misceffect FX_EVIL_SUMMON;
misceffect FX_MAGIC_DARK_EXPLOSION;
- areamonster "052-2.gat", 20, 23, 47, 41, "", 1103, 8 + (16 - 480/(30+$Illia_Luvia_Harvest))/3, "Luvia?::onWGDeath";
+ callsub S_GetHeroRect;
+ areamonster "052-2.gat", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1103, 8 + (16 - 480/(30+$Illia_Luvia_Harvest))/3, "Luvia?::onWGDeath";
+ callsub S_ClearHeroRect;
end;
OnTimer20000:
@@ -327,6 +335,37 @@ L_ChaseLuvia:
areatimer "052-2.gat", 19, 18, 48, 43, 2000, "#LuviaShadow::OnNN";
end;
+S_GetHeroRect:
+ if (isloggedin($@ILLIA_HERO_ID) == 0)
+ goto L_Clear;
+ attachrid($@ILLIA_HERO_ID);
+ set $@illia_lobby_x, getx();
+ set $@illia_lobby_y, gety();
+
+ set $@illia_lobby_x1, $@illia_lobby_x - 12;
+ set $@illia_lobby_y1, $@illia_lobby_y - 8;
+ set $@illia_lobby_x2, $@illia_lobby_x + 12;
+ set $@illia_lobby_y2, $@illia_lobby_y + 8;
+
+ if ($@illia_lobby_x1 < 20)
+ set $@illia_lobby_x1, 20;
+ if ($@illia_lobby_y1 < 19)
+ set $@illia_lobby_y1, 19;
+ if ($@illia_lobby_x2 > 47)
+ set $@illia_lobby_x2, 47;
+ if ($@illia_lobby_y2 > 42)
+ set $@illia_lobby_y2, 42;
+
+ detachrid;
+ return;
+
+S_ClearHeroRect:
+ set $@illia_lobby_x1, 0;
+ set $@illia_lobby_y1, 0;
+ set $@illia_lobby_x2, 0;
+ set $@illia_lobby_y2, 0;
+ return;
+
onDSDeath:
end;
diff --git a/world/map/npc/functions/debug.txt b/world/map/npc/functions/debug.txt
index f9989b74..83a41060 100755
--- a/world/map/npc/functions/debug.txt
+++ b/world/map/npc/functions/debug.txt
@@ -576,22 +576,17 @@ L_MagicExperience:
&& @nature == 0
&& @astral == 0)
goto L_NoMagicSkills;
- if (@general == 2
- || @life == 2
- || @war == 2
- || @trans == 2
- || @nature == 2
- || @astral == 2)
- goto L_ChangeMagicExperience;
+
+ goto L_ChangeMagicExperience;
L_NoMagicSkills:
mes "You can't have magic experience, since you have no magic skills yet.";
goto L_MagicSkills;
L_ChangeMagicExperience:
- mes "Set the desired magic experience (min: 100 - max: 8000).";
+ mes "Set the desired magic experience (min: 0 - max: 8000).";
input @value;
- if (@value < 100 || @value > 8000)
+ if (@value < 0 || @value > 8000)
goto L_WrongMagicExperience;
set @mexp, @value;
callsub S_Update_Mask;
@@ -606,7 +601,7 @@ L_ChangeMagicSkills:
menu
"General Magic.", L_ChangeGeneralMagicSkill,
"Life Magic.", L_ChangeLifeMagicSkill,
- "War Magic.", L_ChangeWarMagicskill,
+ "War Magic.", L_ChangeWarMagicSkill,
"Transmutation Magic.", L_ChangeTransmutationMagicSkill,
"Nature Magic.", L_ChangeNatureMagicSkill,
"Astral Magic.", L_ChangeAstralMagicSkill,
@@ -765,7 +760,7 @@ L_ChangeAstralMagicSkill1:
setskill SKILL_MAGIC_ASTRAL, 1;
mes "Astral Magic skill changed to level 1.";
next;
- goto L_Magic;
+ goto L_MagicSkills;
L_ChangeAstralMagicSkill2:
setskill SKILL_MAGIC_ASTRAL, 2;
@@ -774,7 +769,7 @@ L_ChangeAstralMagicSkill2:
callsub S_Update_Mask;
mes "Astral Magic skill changed to level 2.";
next;
- goto L_Magic;
+ goto L_MagicSkills;
S_Update_Mask:
set MAGIC_EXPERIENCE,
@@ -855,6 +850,7 @@ L_ResetAll:
setskill SKILL_MAGIC_NATURE, 0;
setskill SKILL_MAGIC_ASTRAL, 0;
set @mexp, 0;
+ callsub S_Update_Mask;
resetstatus;
set BaseLevel, 1;
mes "All skills removed.";
diff --git a/world/map/npc/functions/mob_points.txt b/world/map/npc/functions/mob_points.txt
index 081aeb65..2f89010e 100644
--- a/world/map/npc/functions/mob_points.txt
+++ b/world/map/npc/functions/mob_points.txt
@@ -116,7 +116,7 @@ function|script|MobPoints|{
// Scorpion, Red Scorpion, Black Scorpion, Angry Scorpion
if ((@mobID == 1003)
|| (@mobID == 1004)
- || (@mobID == 1008)
+ || (@mobID == 1009)
|| (@mobID == 1057))
goto L_good;