summaryrefslogtreecommitdiff
path: root/npc/006-2-6/hatchling.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/006-2-6/hatchling.txt')
-rw-r--r--npc/006-2-6/hatchling.txt136
1 files changed, 0 insertions, 136 deletions
diff --git a/npc/006-2-6/hatchling.txt b/npc/006-2-6/hatchling.txt
deleted file mode 100644
index df06409eb..000000000
--- a/npc/006-2-6/hatchling.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-// Evol scripts.
-// Author:
-// Travolta
-// +seeds
-// Description:
-// A piou hatchling who escaped his nurse and fled to the castle. He's been terrorizing the staff.
-// Variables:
-// none
-
-function script ArtisFlyingPiouLogic {
- .@tick = gettimetick(1);
- .@LastTimeTouched = getvariableofnpc(.LastTimeTouched, strnpcinfo(3));
- if (.@tick > .@LastTimeTouched + 300)
- {
- .speed = 200;
- set getvariableofnpc(.LastPlayerTouched, strnpcinfo(3)), -1;
- }
- .@rnd = rand(5) - 3;
- if (.@rnd > 0)
- return execmovecmd("wait " + .@rnd);
- return 0;
-}
-
-006-2-6,38,28,0 script #Hatchling NPC_FLYING_PIOU,{
- .@q=getq(LilitQuest_Hatchling);
- function TryCatchPiou {
- .@agi = readparam(bAgi);
- @ArtisQuests_CatchPiouTries += 1;
- getmapxy(.@map$, .@x1, .@y1, 1);
- getmapxy(.@map$, .@x2, .@y2, 0);
- .@distance = distance(.@x1, .@y1, .@x2, .@y2);
- .@chance = max(ArtisQuests_CatchPiou_Difficulcy,
- 20 + .@distance * 5 - .@agi/10 -
- @ArtisQuests_CatchPiouTries);
- return rand(.@chance);
- }
-
- .@charid = getcharid(0);
- if (.LastPlayerTouched <= 0)
- {
- .LastPlayerTouched = .@charid;
- @ArtisQuests_CatchPiouTries = 0;
- }
- else if (.LastPlayerTouched != .@charid)
- {
- message strcharinfo(0), l("Looks like somebody else is looking for Chuck. I better leave them to try.");
- end;
- }
-
- .@q = getq(ArtisQuests_CatchPiou);
- if (.@q != 1)
- {
- mesn "Narrator";
- mesc(l("The hatchling looks at you with big, pleading eyes, and you don't have the heart to take it back to May."), 9);
- close;
- }
-
- .@tick = gettimetick(1);
- if (.@tick < .LastTimeTouched + min(4, ArtisQuests_CatchPiou_Difficulcy
- + @ArtisQuests_CatchPiouTries / 3))
- {
- mesq l("The hatchling spooked at your attempt to catch it, and zoomed out of sight.");
- .LastTimeTouched = .@tick;
- end;
- }
-
- .LastTimeTouched = .@tick;
-
- .@rnd = TryCatchPiou();
- if (!.@rnd)
- {
- npcstop;
- stopnpctimer;
- getmapxy(.@map$, .@x, .@y, 1);
- npcwalkto .@x, .@y;
- .@trader$ = "Salem#001-1";
- mesn "Narrator";
- mesc(l("Finally, you captured the speedy hatchling, but he's trying to squirm away! Hurry back to May before he escapes."), 9);
- setq LilitQuest_Hatchling, 1;
- getexp(1000, 500);
- set getvariableofnpc(.LastPiouHunter$, .@trader$), strcharinfo(0);
- set getvariableofnpc(.PiouEscapedMessage$, .@trader$), l("The little pipsqueak gave you the slip! You need to catch him again.");
- set getvariableofnpc(.LastPiouHunterID, .@trader$), .@charid;
- set getvariableofnpc(.PiouCaught, .@trader$), 1;
- donpcevent .@trader$ + "::OnPiouFlee";
- close2;
- disablenpc strnpcinfo(3);
- close;
- }
- else
- {
- setarray .RandomFailureMessages$[0], l("Nearly there!"), l("Like trying to catch a greased shrewboo..."), l("Aw, he got away again!"), l("Slippery little guy!");
- .@r = rand(getarraysize(.RandomFailureMessages$));
- message strcharinfo(0), .RandomFailureMessages$[.@r];
- .speed = max(140, 200 - 10 * (@ArtisQuests_CatchPiouTries +
- ArtisQuests_CatchPiou_Difficulcy));
- }
- end;
-
-OnHour00:
- .LastTimeTouched = 0;
- end;
-
-OnTimer1000:
- dographmovestep;
-
-OnInit:
- .distance = 5;
- .walkmask = WALK_WATER;
-
- initmovegraph "carpet middle", 38, 28,
- "upper left", 34, 26, 32, 23,
- "lower right", 41, 31, 44, 34,
- "upper right", 42, 26, 44, 23,
- "lower left", 35, 31, 32, 34,
- "passage left", 32, 28,
- "passage right", 44, 28,
- ;
-
- setmovegraphcmd "carpet middle", "upper left", 1, "wait 1; call ArtisFlyingPiouLogic",
- "upper left", "lower right", 1, "call ArtisFlyingPiouLogic",
- "lower right", "upper right", 2, "call ArtisFlyingPiouLogic",
- "lower right", "lower_left", 1, "call ArtisFlyingPiouLogic",
- "upper right", "lower left", 1, "call ArtisFlyingPiouLogic",
- "lower left", "table left", 1, "call ArtisFlyingPiouLogic",
- "lower left", "table right", 1, "call ArtisFlyingPiouLogic",
- "passage left", "carpet middle", 1, "wait 2; call ArtisFlyingPiouLogic",
- "passage right", "carpet middle", 1, "wait 2; call ArtisFlyingPiouLogic",
- ;
-
- firstmove "speed 200", "market_start";
- initnpctimer;
-
- .LastPlayerTouched = -1;
- end;
-}