diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/023-3/logic.txt | 34 | ||||
-rw-r--r-- | npc/023-4/_import.txt | 5 | ||||
-rw-r--r-- | npc/023-4/_warps.txt | 4 | ||||
-rw-r--r-- | npc/023-4/traps.txt | 58 | ||||
-rw-r--r-- | npc/024-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-1/_mobs.txt | 6 | ||||
-rw-r--r-- | npc/031-0/_import.txt | 4 | ||||
-rw-r--r-- | npc/031-0/_mobs.txt | 8 | ||||
-rw-r--r-- | npc/031-0/_warps.txt | 4 | ||||
-rw-r--r-- | npc/031-1/_import.txt | 4 | ||||
-rw-r--r-- | npc/031-1/_mobs.txt | 7 | ||||
-rw-r--r-- | npc/031-1/_warps.txt | 5 | ||||
-rw-r--r-- | npc/_import.txt | 3 | ||||
-rw-r--r-- | npc/functions/main.txt | 5 |
14 files changed, 147 insertions, 1 deletions
diff --git a/npc/023-3/logic.txt b/npc/023-3/logic.txt index 0f0090e11..c9d63f7e3 100644 --- a/npc/023-3/logic.txt +++ b/npc/023-3/logic.txt @@ -87,10 +87,12 @@ OnTouch: npctalkonce l("FIGHT!"); end; } - if (getq(FrostiaQuest_Homunculus) >= 1) { + if (getq(FrostiaQuest_Homunculus) >= 1 && !is_sponsor()) { npctalkonce l("I'm not going any closer to that cursed place!"); end; } + if (getq(FrostiaQuest_Homunculus) >= 1) + end; mesn; mesq l("Congratulations in making this far, @@.", strcharinfo(0)); next; @@ -182,6 +184,8 @@ OnInit: OnTouch: .@q=getq(FrostiaQuest_Homunculus); .@q2=getq(FrostiaQuest_Homunculus); + if (.@q) + end; if ($@LOGIC_0233BOSS) { dispbottom l("A powerful magic barrier repels you!"); slide 81, 86; @@ -208,6 +212,34 @@ OnInit: end; } +// Aethyr Gateway +023-3,26,219,0 script #AethyrGate NPC_HIDDEN,{ + end; + +OnInit: + // In theory, pattern ID must be between 1~9 + // To set $@p1$~$@p9$ with the PERL expression + // But as we're only using $@p0$ (full string) + // the value itself is meaningless + .pid=getnpcid(); + debugmes "Aethyr: Pattern %d", .pid; + //I'm not going to learn PERL just for that + defpattern(.pid, "^(.*)$", "OnTalkNearby"); + activatepset(.pid); + end; + +OnTalkNearby: + // not very obvious stuff by gumi, $@p0$ contains the whole string + // so we must cut it. Could use $@p1$ if perl was proper but... meh. + .@no_nick$ = strip(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1)); + .@message$ = strtoupper(.@no_nick$); + + //0234_Password_BlackBox(.@message$); + callfunc "0234_Password_BlackBox", .@message$; + end; +} + + // TODO: Spike traps and etc. at the corritor // TODO: Rolling Stone Trap diff --git a/npc/023-4/_import.txt b/npc/023-4/_import.txt new file mode 100644 index 000000000..5b4de2d7b --- /dev/null +++ b/npc/023-4/_import.txt @@ -0,0 +1,5 @@ +// Map 023-4: Ice Caves +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/023-4/023-4_blackbox.txt", +"npc/023-4/_warps.txt", +"npc/023-4/traps.txt", diff --git a/npc/023-4/_warps.txt b/npc/023-4/_warps.txt new file mode 100644 index 000000000..b678b06be --- /dev/null +++ b/npc/023-4/_warps.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 023-4: Ice Caves warps +023-4,42,70,0 warp #023-4_42_70 0,0,023-3,93,220 +023-4,24,20,0 warp #023-4_24_20 0,0,031-1,58,103 diff --git a/npc/023-4/traps.txt b/npc/023-4/traps.txt new file mode 100644 index 000000000..9de778cc8 --- /dev/null +++ b/npc/023-4/traps.txt @@ -0,0 +1,58 @@ +// TMW2 Scripts +// Author: +// Jesusalva +// Description: +// Advanced Spike Traps + +///////////////////////////// +023-4,60,51,0 script #SpikeTrap NPC_TRAP_B,1,1,{ + end; + +OnInit: + .damage=0; + .time=0; + .goal=rand2(5,10); + initnpctimer; + end; + +OnTouch: +OnTouchNPC: + if (.damage) { + if (playerattached()) { + percentheal -80, 0; + } else { + sc_start SC_WALKSPEED, 15000, 60; + sc_start SC_STUN, rand2(3000), 1; + } + } + specialeffect(11, AREA, strnpcinfo(0)); + end; + +OnTimer1000: + .time+=1; + if (.time > .goal) { + .damage = !(.damage); + .time = 0; + if (.damage) + setnpcdisplay strnpcinfo(0), NPC_TRAP_ONLINE_B; + else + setnpcdisplay strnpcinfo(0), NPC_TRAP_B; + } + initnpctimer; + end; +} + +023-4,50,60,0 duplicate(#SpikeTrap) #SpikeTrap001 NPC_TRAP,1,1 +023-4,31,59,0 duplicate(#SpikeTrap) #SpikeTrap002 NPC_TRAP,1,1 +023-4,31,48,0 duplicate(#SpikeTrap) #SpikeTrap003 NPC_TRAP,1,1 +023-4,22,50,0 duplicate(#SpikeTrap) #SpikeTrap004 NPC_TRAP,1,1 +023-4,39,39,0 duplicate(#SpikeTrap) #SpikeTrap005 NPC_TRAP,1,1 +023-4,42,42,0 duplicate(#SpikeTrap) #SpikeTrap006 NPC_TRAP,1,1 +023-4,52,44,0 duplicate(#SpikeTrap) #SpikeTrap007 NPC_TRAP,1,1 +023-4,50,46,0 duplicate(#SpikeTrap) #SpikeTrap008 NPC_TRAP,1,1 +023-4,47,28,0 duplicate(#SpikeTrap) #SpikeTrap009 NPC_TRAP,1,1 +023-4,44,28,0 duplicate(#SpikeTrap) #SpikeTrap010 NPC_TRAP,1,1 +023-4,42,25,0 duplicate(#SpikeTrap) #SpikeTrap011 NPC_TRAP,1,1 +023-4,39,24,0 duplicate(#SpikeTrap) #SpikeTrap012 NPC_TRAP,1,1 + + diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt index 604efcddb..b2f50daaf 100644 --- a/npc/024-1/_import.txt +++ b/npc/024-1/_import.txt @@ -1,5 +1,6 @@ // Map 024-1: Frostia // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/024-1/_mobs.txt", "npc/024-1/_warps.txt", "npc/024-1/guard.txt", "npc/024-1/mapflags.txt", diff --git a/npc/024-1/_mobs.txt b/npc/024-1/_mobs.txt new file mode 100644 index 000000000..07c198b35 --- /dev/null +++ b/npc/024-1/_mobs.txt @@ -0,0 +1,6 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 024-1: Frostia mobs +024-1,98,43,76,22 monster Pollet 1219,16,90000,30000 +024-1,96,77,78,21 monster Iced Fluffy 1041,7,60000,30000 +024-1,89,120,21,22 monster Azul Slime 1095,3,30000,30000 +024-1,145,70,25,36 monster Rudolph Slime 1086,2,30000,30000 diff --git a/npc/031-0/_import.txt b/npc/031-0/_import.txt new file mode 100644 index 000000000..bd877acfd --- /dev/null +++ b/npc/031-0/_import.txt @@ -0,0 +1,4 @@ +// Map 031-0: Aethyr +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/031-0/_mobs.txt", +"npc/031-0/_warps.txt", diff --git a/npc/031-0/_mobs.txt b/npc/031-0/_mobs.txt new file mode 100644 index 000000000..1e3d89b1f --- /dev/null +++ b/npc/031-0/_mobs.txt @@ -0,0 +1,8 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 031-0: Aethyr mobs +031-0,85,82,91,101 monster Ice Maggot 1012,24,30000,30000 +031-0,108,59,36,33 monster Moggun 1070,6,30000,30000 +031-0,48,53,44,35 monster Water Fairy 1184,4,30000,30000 +031-0,94,120,30,30 monster Santa Slime 1096,4,30000,30000 +031-0,36,34,5,5 monster Wolvern 1037,1,30000,30000 +031-0,81,112,10,7 monster Archant 1026,2,30000,30000 diff --git a/npc/031-0/_warps.txt b/npc/031-0/_warps.txt new file mode 100644 index 000000000..45a2f72b2 --- /dev/null +++ b/npc/031-0/_warps.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 031-0: Aethyr warps +031-0,117,45,0 warp #031-0_117_45 0,0,031-1,68,31 +031-0,15,60,0 warp #031-0_15_60 0,0,031-1,25,26 diff --git a/npc/031-1/_import.txt b/npc/031-1/_import.txt new file mode 100644 index 000000000..9de05ba63 --- /dev/null +++ b/npc/031-1/_import.txt @@ -0,0 +1,4 @@ +// Map 031-1: Aethyr +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/031-1/_mobs.txt", +"npc/031-1/_warps.txt", diff --git a/npc/031-1/_mobs.txt b/npc/031-1/_mobs.txt new file mode 100644 index 000000000..5601b8d1d --- /dev/null +++ b/npc/031-1/_mobs.txt @@ -0,0 +1,7 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 031-1: Aethyr mobs +031-1,56,62,52,44 monster Pollet 1219,24,90000,30000 +031-1,68,82,43,23 monster Iced Fluffy 1041,13,60000,30000 +031-1,89,40,15,16 monster White Slime 1094,2,90000,30000 +031-1,24,59,10,44 monster Wind Fairy 1185,1,75000,30000 +031-1,56,48,29,23 monster Santa Slime 1096,7,30000,30000 diff --git a/npc/031-1/_warps.txt b/npc/031-1/_warps.txt new file mode 100644 index 000000000..67101642c --- /dev/null +++ b/npc/031-1/_warps.txt @@ -0,0 +1,5 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 031-1: Aethyr warps +031-1,68,30,0 warp #031-1_68_30 0,0,031-0,117,46 +031-1,58,104,0 warp #031-1_58_104 0,0,023-4,24,21 +031-1,25,25,0 warp #031-1_25_25 0,0,031-0,15,61 diff --git a/npc/_import.txt b/npc/_import.txt index d07fe74a8..604c3efe3 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -182,6 +182,7 @@ @include "npc/023-3-1/_import.txt" @include "npc/023-3-2/_import.txt" @include "npc/023-3/_import.txt" +@include "npc/023-4/_import.txt" @include "npc/024-1/_import.txt" @include "npc/024-10/_import.txt" @include "npc/024-11/_import.txt" @@ -247,6 +248,8 @@ @include "npc/030-22/_import.txt" @include "npc/030-23/_import.txt" @include "npc/030-24/_import.txt" +@include "npc/031-0/_import.txt" +@include "npc/031-1/_import.txt" @include "npc/042-0/_import.txt" @include "npc/042-1/_import.txt" @include "npc/042-10/_import.txt" diff --git a/npc/functions/main.txt b/npc/functions/main.txt index 2818d1fb7..58ec36e00 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -371,6 +371,11 @@ function script isin { return false; } +// isat( map, x, y ) +function script isat { + return isin(getarg(0), getarg(1), getarg(2), 0); +} + // Clear output of getinventorylist() // delinventorylist() function script delinventorylist { |