summaryrefslogtreecommitdiff
path: root/world/map/npc/052-2/storage.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/052-2/storage.txt')
-rw-r--r--world/map/npc/052-2/storage.txt191
1 files changed, 0 insertions, 191 deletions
diff --git a/world/map/npc/052-2/storage.txt b/world/map/npc/052-2/storage.txt
deleted file mode 100644
index a8582408..00000000
--- a/world/map/npc/052-2/storage.txt
+++ /dev/null
@@ -1,191 +0,0 @@
-//-----------------------------------------------------------------------------
-// Illia Forsaken Inn - Storage
-// $@illia_progress = 6
-//
-// Level progress:
-// 0: Initial state
-// 1: Items and/or mobs are spawned
-// 2: All spawns are done and the players killed all mobs
-//-----------------------------------------------------------------------------
-
-052-2,23,69,0|script|#TriggerItemsInvoker|32767,1,0
-{
- set @step, 6;
- if ($@illia_progress < @step) goto L_ShouldNotBeHere;
- if (strcharinfo(0) != $@ILLIA_HERO$) end;
- if ($@illia_level_6_progress == 0) goto L_StartItemInvoker;
- end;
-
-L_ShouldNotBeHere:
- heal -Hp, 0;
- end;
-
-L_StartItemInvoker:
- set $@illia_level_6_progress, 1;
- donpcevent "#ItemsInvoker::OnCommandStart";
- end;
-
-}
-
-052-2,1,1,0|script|#ItemsInvoker|32767
-{
-end;
-
-OnInit:
- setarray $@illia_storage_items, 541, 567, 568, 562;
- setarray $@illia_storage_special_items, 687, 827, 1229;
- // Map coords:* x1,y1, x2,y2, ...
- setarray $@illia_storage_item_points, 20,67, 22,75, 27,71, 30,73, 34,76, 30,64, 34,65, 34,62, 21,61, 22,64;
- end;
-
-OnCommandStart:
- set $@illia_storage_max_items, 20;
- set $@illia_storage_deviation, (8 + ($Illia_Luvia_Harvest*70)/100)*3;
- initnpctimer;
- areatimer 0, "052-2", 19, 60, 35, 78, 10, "#ItemsInvoker::OnStart";
- end;
-
-OnStart:
- message strcharinfo(0), "You feel a strange atmosphere in this room... You sense a strong magic rising from the depth!";
- end;
-
-OnTimer1000:
- if ($@illia_storage_max_items == 0)
- goto L_CheckMobs;
- set $@item_invoke_index, rand(getarraysize($@illia_storage_item_points)/2);
- set $@item_invoke_x, $@illia_storage_item_points[$@item_invoke_index*2];
- set $@item_invoke_y, $@illia_storage_item_points[($@item_invoke_index*2)+1];
- npcwarp $@item_invoke_x, $@item_invoke_y, "#ItemsInvoker";
- // This is a fix to force the official mana client to display a npc after a warp.
- // Note: the manaplus client do not need this.
- disablenpc "#ItemsInvoker";
- end;
-
-OnTimer1500:
- // See the note above.
- enablenpc "#ItemsInvoker";
- areatimer 0, "052-2", 19, 60, 35, 78, 10, "#ItemsInvoker::OnItem";
- misceffect FX_GROUND_SPAWN;
- end;
-
-OnTimer3750:
- setnpctimer 0;
- set $@item_invoke_x, 0;
- set $@item_invoke_y, 0;
- set $@item_invoke_index, 0;
- end;
-
-OnItem:
- if (strcharinfo(0) == $@ILLIA_HERO$)
- goto L_ItemSpawn;
- end;
-
-L_ItemSpawn:
- // This section will decide what to spawn: special monster, monster, item, special item
- // Calculation uses a decreasing variable which introduces a deviation.
- // Its initial value is based on $@Illia_Luvia_Harvest
- // * first decide (50% / 50%) if the deviation will be positive or negative
- // * Apply the deviation to a random number between 0, 100. (note the final value can be < 0 or > 100)
- // The purpose is that, when the initial deviation is high, there are high chances to get either
- // a special monster, or a special item.
- set @m, rand(100);
- if (@m < 50)
- set @r, rand(100) - $@illia_storage_deviation;
- if (@m >= 50)
- set @r, rand(100) + $@illia_storage_deviation;
- // Reduce the deviation
- set $@illia_storage_deviation, $@illia_storage_deviation*83/100;
- if (@r < 5)
- goto L_MakeSpecialMonster;
- if (@r < 50)
- goto L_MakeMonster;
- if (@r > 98)
- goto L_MakeSpecialItem;
- // Normal item
- makeitem $@illia_storage_items[rand(getarraysize($@illia_storage_items))], rand(2, 8), "052-2", $@item_invoke_x, $@item_invoke_y;
- set $@illia_storage_max_items, $@illia_storage_max_items - 1;
- set @r, 0;
- end;
-
-L_MakeSpecialMonster:
- monster "052-2", $@item_invoke_x, $@item_invoke_y, "", 1103, 1, "#ItemsInvoker::OnDeath";
- areatimer 0, "052-2", 19, 60, 35, 78, 10, "#ItemsInvoker::OnWtf";
- set $@illia_storage_max_items, $@illia_storage_max_items - 1;
- end;
-
-L_MakeMonster:
- monster "052-2", $@item_invoke_x, $@item_invoke_y, "", 1101, rand(1, 3), "#ItemsInvoker::OnDeath";
- set $@illia_storage_max_items, $@illia_storage_max_items - 1;
- set @r, 0;
- end;
-
-L_MakeSpecialItem:
- makeitem $@illia_storage_special_items[rand(getarraysize($@illia_storage_special_items))], rand(2, 4), "052-2", $@item_invoke_x, $@item_invoke_y;
- areatimer 0, "052-2", 19, 60, 35, 78, 10, "#ItemsInvoker::OnWow";
- set $@illia_storage_max_items, $@illia_storage_max_items - 1;
- set @r, 0;
- end;
-
-L_CheckMobs:
- if ($@illia_progress != 6)
- goto L_Clear;
- if (mobcount("052-2", "#ItemsInvoker::OnDeath") < 0)
- goto L_Stop;
- setnpctimer 0;
- end;
-
-L_Clear:
- stopnpctimer;
- setnpctimer 0;
- set $@illia_storage_deviation, 0;
- set $@illia_storage_max_items, 0;
- killmonster "052-2", "#ItemsInvoker::OnDeath";
- end;
-
-L_Stop:
- stopnpctimer;
- setnpctimer 0;
- npcwarp 1, 1, "#ItemsInvoker";
- set $@illia_storage_deviation, 0;
- set $@illia_storage_max_items, 0;
- set $@illia_level_6_progress, 2;
- set $@illia_progress, 7;
- callfunc "UpdateIlliaProgress";
- set $@illia_max_time, $@illia_max_time + 900;
- areatimer 0, "052-2", 19, 60, 35, 78, 10, "#ItemsInvoker::OnStop";
- end;
-
-OnDeath:
- end;
-
-OnStop:
- message strcharinfo(0), "The magic seems to quickly dissipate.";
- end;
-
-OnWtf:
- message strcharinfo(0), "Look out!";
- end;
-
-OnWow:
- message strcharinfo(0), "Wow, see what appeared!";
- end;
-
-}
-
-052-2,35,68,0|script|#ToPartyRoom|32767,1,1
-{
- set @step, 6;
- if ($@illia_progress < @step) goto L_ShouldNotBeHere;
- if ($@illia_level_6_progress == 2) goto L_Warp;
- message strcharinfo(0), "The strong magic inside this room prevents you from going further.";
- end;
-
-L_Warp:
- warp "052-2", 73, 48;
- end;
-
-L_ShouldNotBeHere:
- heal -Hp, 0;
- end;
-
-}