summaryrefslogtreecommitdiff
path: root/npc/005-3
diff options
context:
space:
mode:
Diffstat (limited to 'npc/005-3')
-rw-r--r--npc/005-3/barrel.txt358
1 files changed, 179 insertions, 179 deletions
diff --git a/npc/005-3/barrel.txt b/npc/005-3/barrel.txt
index 47f0c2956..dcba8b4c7 100644
--- a/npc/005-3/barrel.txt
+++ b/npc/005-3/barrel.txt
@@ -1,179 +1,179 @@
-// TMW-2 script.
-// Author:
-// Crazyfefe
-// Jesusalva
-// Description:
-// Barrels
-// Variables:
-// CandorQuest_Barrel
-// Values:
-// 0 Default.
-// 1 Quest Found.
-// 2 Quest Accepted.
-// 3 Bomb Defused.
-// 4 Quest Completed.
-
-// TODO FIXME: KNOWN BUG
-// It is a known bug that using .questCheck and .questState is ABSOLUTELY WRONG
-// A NPC variable affects the whole server, lasting until server restart.
-// Therefore, by using "." variables, it will only work at localhosts.
-// TODO FIXME: KNOWN BUG
-
-function script CheckBarrel {
- @barrel_count = 0;
- @count_tmp = 0;
- if (debug)
- npctalk3 l("Hello, I am B-@@, of the @@ order.", @barrel, $@BarrelBits[@barrel]);
- if (STARTAREA & $@BarrelBits[@barrel])
- goto L_Empty;
- STARTAREA = STARTAREA | $@BarrelBits[@barrel];
-
- goto L_Loop;
-
-L_BarrelTally:
- areamonster "005-3", 24, 34, 45, 42, "House Maggot", 1084, 1, "Trainer::OnKillHouseMaggot";
- if (@barrel_count == 8)
- {
- message strcharinfo(0), "You found the bug bomb.";
- specialeffect(14);
- specialeffect(51);
- killmonsterall("005-3");
- setq CandorQuest_Barrel, 3;
- }
- @rand = rand(6);
- if (@rand == 0)
- getitem Coal,1;
- else if (@rand == 1)
- getitem PinkAntenna,1;
- else if (@rand == 2)
- getitem CoinBag,1;
- else if (@rand == 3)
- getitem Croconut,1;
- else if (@rand == 4)
- getitem Bread,1;
- else if (@rand == 5)
- getitem TolchiArrow,6;
- return;
-
-L_Loop:
- while (@count_tmp < 8) {
- @count_tmp = (@count_tmp + 1);
- if (STARTAREA & $@BarrelBits[@count_tmp])
- @barrel_count = (@barrel_count + 1);
- }
- goto L_BarrelTally;
-
-L_Empty:
- message strcharinfo(0), "You've already searched this barrel.";
- return;
-
-}
-
-005-3,24,36,0 script Barrel#1 NPC_NO_SPRITE,{
- @barrel = 1;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- // Remember: array start at zero, but barrels count start at 1. "Fixing" may break barrel 8!
- setarray $@BarrelBits, (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9);
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-
-005-3,24,39,0 script Barrel#2 NPC_NO_SPRITE,{
- @barrel = 2;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-
-005-3,29,37,0 script Barrel#3 NPC_NO_SPRITE,{
- @barrel = 3;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-005-3,35,34,0 script Barrel#4 NPC_NO_SPRITE,{
- @barrel = 4;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-005-3,38,34,0 script Barrel#5 NPC_NO_SPRITE,{
- @barrel = 5;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-005-3,44,40,0 script Barrel#6 NPC_NO_SPRITE,{
- @barrel = 6;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-005-3,38,41,0 script Barrel#7 NPC_NO_SPRITE,{
- @barrel = 7;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
-005-3,29,41,0 script Barrel#8 NPC_NO_SPRITE,{
- @barrel = 8;
- .@q = getq(CandorQuest_Barrel);
- if (.@q == 2)
- {
- CheckBarrel();
- }
- end;
-OnInit:
- .sex = G_OTHER;
- .distance = 1;
- end;
-}
+// TMW-2 script.
+// Author:
+// Crazyfefe
+// Jesusalva
+// Description:
+// Barrels
+// Variables:
+// CandorQuest_Barrel
+// Values:
+// 0 Default.
+// 1 Quest Found.
+// 2 Quest Accepted.
+// 3 Bomb Defused.
+// 4 Quest Completed.
+
+// TODO FIXME: KNOWN BUG
+// It is a known bug that using .questCheck and .questState is ABSOLUTELY WRONG
+// A NPC variable affects the whole server, lasting until server restart.
+// Therefore, by using "." variables, it will only work at localhosts.
+// TODO FIXME: KNOWN BUG
+
+function script CheckBarrel {
+ @barrel_count = 0;
+ @count_tmp = 0;
+ if (debug)
+ npctalk3 l("Hello, I am B-@@, of the @@ order.", @barrel, $@BarrelBits[@barrel]);
+ if (STARTAREA & $@BarrelBits[@barrel])
+ goto L_Empty;
+ STARTAREA = STARTAREA | $@BarrelBits[@barrel];
+
+ goto L_Loop;
+
+L_BarrelTally:
+ areamonster "005-3", 24, 34, 45, 42, "House Maggot", 1084, 1, "Trainer::OnKillHouseMaggot";
+ if (@barrel_count == 8)
+ {
+ message strcharinfo(0), "You found the bug bomb.";
+ specialeffect(14);
+ specialeffect(51);
+ killmonsterall("005-3");
+ setq CandorQuest_Barrel, 3;
+ }
+ @rand = rand(6);
+ if (@rand == 0)
+ getitem Coal,1;
+ else if (@rand == 1)
+ getitem PinkAntenna,1;
+ else if (@rand == 2)
+ getitem CoinBag,1;
+ else if (@rand == 3)
+ getitem Croconut,1;
+ else if (@rand == 4)
+ getitem Bread,1;
+ else if (@rand == 5)
+ getitem TolchiArrow,6;
+ return;
+
+L_Loop:
+ while (@count_tmp < 8) {
+ @count_tmp = (@count_tmp + 1);
+ if (STARTAREA & $@BarrelBits[@count_tmp])
+ @barrel_count = (@barrel_count + 1);
+ }
+ goto L_BarrelTally;
+
+L_Empty:
+ message strcharinfo(0), "You've already searched this barrel.";
+ return;
+
+}
+
+005-3,24,36,0 script Barrel#1 NPC_NO_SPRITE,{
+ @barrel = 1;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ // Remember: array start at zero, but barrels count start at 1. "Fixing" may break barrel 8!
+ setarray $@BarrelBits, (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9);
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+005-3,24,39,0 script Barrel#2 NPC_NO_SPRITE,{
+ @barrel = 2;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+005-3,29,37,0 script Barrel#3 NPC_NO_SPRITE,{
+ @barrel = 3;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,35,34,0 script Barrel#4 NPC_NO_SPRITE,{
+ @barrel = 4;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,38,34,0 script Barrel#5 NPC_NO_SPRITE,{
+ @barrel = 5;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,44,40,0 script Barrel#6 NPC_NO_SPRITE,{
+ @barrel = 6;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,38,41,0 script Barrel#7 NPC_NO_SPRITE,{
+ @barrel = 7;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,29,41,0 script Barrel#8 NPC_NO_SPRITE,{
+ @barrel = 8;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}