diff options
Diffstat (limited to 'world/map/npc')
-rw-r--r-- | world/map/npc/052-2/lobby.txt | 47 | ||||
-rwxr-xr-x | world/map/npc/functions/debug.txt | 20 | ||||
-rw-r--r-- | world/map/npc/functions/mob_points.txt | 2 |
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; |