Initial release of the Poring village instance (#7293)

* Initial release of the Poring village instance

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
This commit is contained in:
Atemo 2022-10-04 21:19:48 +02:00 committed by GitHub
parent 85a938ecce
commit 79bb537fa2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 1086 additions and 15 deletions

View File

@ -126,6 +126,26 @@ Body:
Dialog: This is the truth! Hahahahah! Dialog: This is the truth! Hahahahah!
- Id: 58 # !todo Unknown dialogue - Id: 58 # !todo Unknown dialogue
Dialog: Attack! Dialog: Attack!
- Id: 60
Dialog: Go !! Ultra Critical Bash EX !!
- Id: 61
Dialog: Come on!! Hell's Fireball !!
- Id: 62
Dialog: Kneel before me!! The vast power of capitalism !!
- Id: 63
Dialog: You can't run from me!! Double Strafe, pierce through my enemies !!
- Id: 64
Dialog: I'm gonna make you sick!!! Ultimate generational Envenom !!
- Id: 65
Dialog: I'll roll over you!! Ultimate Decrease Agility GX !!
- Id: 67
Dialog: Dark cast that narrows the field of vision! It can only be removed with a green potion!
- Id: 68
Dialog: A poison that continuously lowers HP for a certain period of time! But it is not released with a green herb!
- Id: 69
Dialog: Let's start with recovery!
- Id: 70
Dialog: Silence that cannot use skills! You can only escape by eating green potions!
Footer: Footer:
Imports: Imports:

View File

@ -369,3 +369,9 @@ Body:
Map: 1@md_gef Map: 1@md_gef
X: 106 X: 106
Y: 129 Y: 129
- Id: 47
Name: Poring Village
Enter:
Map: 1@begi
X: 100
Y: 22

View File

@ -3396,7 +3396,7 @@ Body:
Script: | Script: |
itemheal rand(45,65),0; itemheal rand(45,65),0;
- Id: 11569 - Id: 11569
AegisName: Orange_Potion_ AegisName: Orange_Potion_B
Name: Orange Potion Name: Orange Potion
Type: Healing Type: Healing
Buy: 10 Buy: 10
@ -47477,6 +47477,16 @@ Body:
Container: true Container: true
Script: | Script: |
getgroupitem(IG_Enchant_Stone_Box12); getgroupitem(IG_Enchant_Stone_Box12);
- Id: 23302
AegisName: PoringsPreciousBox
Name: Poring Treasure Box
Type: Usable
Weight: 200
EquipLevelMin: 30
Flags:
Container: true
Script: |
getgroupitem(IG_PORINGSPRECIOUSBOX);
- Id: 23307 - Id: 23307
AegisName: Comp_M_DEFScroll AegisName: Comp_M_DEFScroll
Name: "[Sale] Shining Defense Scroll" Name: "[Sale] Shining Defense Scroll"

View File

@ -31475,3 +31475,15 @@ Body:
- Item: S_Absorb_Shield - Item: S_Absorb_Shield
RefineMinimum: 7 RefineMinimum: 7
RefineMaximum: 10 RefineMaximum: 10
- Group: PORINGSPRECIOUSBOX
SubGroups:
- SubGroup: 0
List:
- Item: Orange_Potion_B
Amount: 3
- Item: N_Fly_Wing
Amount: 3
- Item: Candy_Striper_B
Amount: 5
- Item: Candy_B
Amount: 5

View File

@ -92166,20 +92166,326 @@ Body:
# AegisName: E_POPORING_CLOVER # AegisName: E_POPORING_CLOVER
# - Id: 3809 # - Id: 3809
# AegisName: FATAL_BUG # AegisName: FATAL_BUG
# - Id: 3810 - Id: 3810
# AegisName: MD_KING_PORING AegisName: MD_KING_PORING
# - Id: 3811 Name: King Poring
# AegisName: MD_GOLDRING Level: 35
# - Id: 3812 Hp: 140000
# AegisName: MD_AMERING BaseExp: 9580
# - Id: 3813 JobExp: 8288
# AegisName: MD_DROPS Attack: 131
# - Id: 3814 Attack2: 119
# AegisName: MD_POPORING Defense: 20
# - Id: 3815 MagicDefense: 20
# AegisName: MD_PORING Str: 50
# - Id: 3816 Agi: 50
# AegisName: MD_MARIN Vit: 50
Int: 50
Dex: 50
Luk: 50
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Large
Race: Formless
Element: Neutral
ElementLevel: 2
WalkSpeed: 170
AttackDelay: 768
AttackMotion: 1632
DamageMotion: 576
Ai: 21
Class: Boss
Modes:
Mvp: true
MvpDrops:
- Item: Seed_Of_Yggdrasil
Rate: 3000
- Item: PoringTownOnion
Rate: 1000
- Item: PoringTownCarrot
Rate: 100
Drops:
- Item: Large_Jellopy
Rate: 3000
- Item: Jejellopy
Rate: 3000
- Item: Blue_Herb
Rate: 3000
- Item: White_Herb
Rate: 3000
- Item: Yellow_Herb
Rate: 3000
- Item: Green_Herb
Rate: 3000
- Item: Old_Violet_Box
Rate: 10
- Id: 3811
AegisName: MD_GOLDRING
Name: Hugh Goldling
Level: 35
Hp: 72118
BaseExp: 6327
JobExp: 5565
Attack: 98
Attack2: 89
Defense: 10
MagicDefense: 10
Str: 40
Agi: 40
Vit: 40
Int: 40
Dex: 40
Luk: 40
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Large
Race: Formless
Element: Holy
ElementLevel: 1
WalkSpeed: 200
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 21
Class: Boss
Drops:
- Item: Jejellopy
Rate: 3000
- Item: Yellow_Herb
Rate: 3000
- Item: Golden_Jewel
Rate: 10
- Item: Yellow_Slim_Potion
Rate: 10
- Id: 3812
AegisName: MD_AMERING
Name: Huge Amering
Level: 35
Hp: 72810
BaseExp: 6375
JobExp: 5524
Attack: 97
Attack2: 89
Defense: 10
MagicDefense: 10
Str: 40
Agi: 40
Vit: 40
Int: 40
Dex: 40
Luk: 40
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Large
Race: Formless
Element: Poison
ElementLevel: 1
WalkSpeed: 200
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 21
Class: Boss
Drops:
- Item: Jejellopy
Rate: 3000
- Item: Blue_Herb
Rate: 100
- Item: Violet_Jewel
Rate: 10
- Item: Red_Herb
Rate: 3000
- Id: 3813
AegisName: MD_DROPS
Name: Enriched Drops
Level: 35
Hp: 1095
BaseExp: 377
JobExp: 300
Attack: 62
Attack2: 22
Defense: 10
MagicDefense: 10
Str: 20
Agi: 20
Vit: 20
Int: 20
Dex: 20
Luk: 20
AttackRange: 1
SkillRange: 10
ChaseRange: 12
Size: Small
Race: Formless
Element: Fire
ElementLevel: 1
WalkSpeed: 300
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 02
Drops:
- Item: Jellopy
Rate: 5000
- Item: Rod_
Rate: 80
- Item: Sticky_Mucus
Rate: 600
- Item: Apple
Rate: 1000
- Item: Wing_Of_Fly
Rate: 500
- Item: Apple
Rate: 400
- Item: Orange_Juice
Rate: 20
- Item: Drops_Card
Rate: 25
StealProtected: true
- Id: 3814
AegisName: MD_POPORING
Name: Enriched Poporing
Level: 36
Hp: 1167
BaseExp: 384
JobExp: 309
Attack: 67
Attack2: 24
Defense: 10
MagicDefense: 12
Str: 20
Agi: 20
Vit: 20
Int: 20
Dex: 20
Luk: 20
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Small
Race: Formless
Element: Wind
ElementLevel: 1
WalkSpeed: 300
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 02
Drops:
- Item: Sticky_Mucus
Rate: 5000
- Item: Garlet
Rate: 1000
- Item: Green_Herb
Rate: 1000
- Item: Grape
Rate: 200
- Item: Wing_Of_Fly
Rate: 500
- Item: Main_Gauche
Rate: 20
- Item: Green_Potion
Rate: 500
- Item: Poporing_Card
Rate: 10
StealProtected: true
- Id: 3815
AegisName: MD_PORING
Name: Enriched Poring
Level: 34
Hp: 1023
BaseExp: 369
JobExp: 291
Attack: 58
Attack2: 20
Defense: 10
MagicDefense: 12
Str: 20
Agi: 20
Vit: 20
Int: 20
Dex: 20
Luk: 20
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Small
Race: Formless
Element: Earth
ElementLevel: 1
WalkSpeed: 300
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 02
Drops:
- Item: Jellopy
Rate: 5000
- Item: Knife_
Rate: 100
- Item: Sticky_Mucus
Rate: 400
- Item: Apple
Rate: 1000
- Item: Wing_Of_Fly
Rate: 500
- Item: Apple
Rate: 150
- Item: Unripe_Apple
Rate: 40
- Item: Poring_Card
Rate: 20
StealProtected: true
- Id: 3816
AegisName: MD_MARIN
Name: Enriched Marin
Level: 33
Hp: 960
BaseExp: 358
JobExp: 279
Attack: 53
Attack2: 19
Defense: 10
MagicDefense: 10
Str: 20
Agi: 20
Vit: 20
Int: 20
Dex: 20
Luk: 20
AttackRange: 2
SkillRange: 10
ChaseRange: 12
Size: Small
Race: Formless
Element: Water
ElementLevel: 1
WalkSpeed: 300
AttackDelay: 1872
AttackMotion: 672
DamageMotion: 480
Ai: 02
Drops:
- Item: Garlet
Rate: 1600
- Item: Sticky_Mucus
Rate: 750
- Item: Cold_Scroll_2_1
Rate: 50
- Item: Wing_Of_Fly
Rate: 500
- Item: Blue_Herb
Rate: 38
- Item: Candy
Rate: 175
- Item: Poring_Hat
Rate: 1
- Item: Marin_Card
Rate: 1
StealProtected: true
# - Id: 3817 # - Id: 3817
# AegisName: DALCOM # AegisName: DALCOM
# - Id: 3818 # - Id: 3818

View File

@ -12863,6 +12863,30 @@
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,35000,yes,self,always,0,,,,,,,53 3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,35000,yes,self,always,0,,,,,,,53
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,54 3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,54
// Poring Village instance
3810,MD_KING_PORING@SM_BASH,attack,5,3,1000,1000,9000,yes,target,always,0,,,,,,,60
3810,MD_KING_PORING@MG_FIREBALL,attack,17,3,1000,1000,9000,yes,target,always,0,,,,,,,61
3810,MD_KING_PORING@MC_MAMMONITE,attack,42,3,1000,1000,9000,yes,target,always,0,,,,,,,62
3810,MD_KING_PORING@AC_DOUBLE,attack,46,3,1000,1000,9000,yes,target,always,0,,,,,,,63
3810,MD_KING_PORING@TF_POISON,attack,52,3,1000,1000,9000,yes,target,always,0,,,,,,,64
3810,MD_KING_PORING@AL_DECAGI,attack,30,3,1000,1000,9000,yes,target,always,0,,,,,,,65
3811,MD_GOLDRING@NPC_STUNATTACK,attack,179,5,3500,1000,10000,no,target,always,0,,,,,,,
// todo NPC_WIDECONFUSE2
//3812,MD_AMERING@NPC_WIDECONFUSE2,attack,762,1,3000,2000,20000,yes,target,always,0,,,,,,,
3812,MD_AMERING@NPC_WIDECONFUSE,attack,667,1,3000,2000,20000,yes,target,always,0,,,,,,,
3813,MD_DROPS@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,,,,,,,
3813,MD_DROPS@NPC_FIREATTACK,attack,186,1,2000,100,5000,yes,target,always,0,,,,,,,
3813,MD_DROPS@NPC_BLINDATTACK,attack,177,3,2000,1000,15000,yes,target,always,0,,,,,,,67
3814,MD_POPORING@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,,,,,,2,
3814,MD_POPORING@NPC_POISON,attack,176,1,500,1000,15000,no,target,always,0,,,,,,,
3814,MD_POPORING@NPC_POISONATTACK,attack,188,1,2000,900,15000,yes,target,always,0,,,,,,,68
3815,MD_PORING@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,,,,,,2,
3815,MD_PORING@NPC_SILENCEATTACK,attack,178,2,1500,1000,15000,no,target,always,0,,,,,,,70
3816,MD_MARIN@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,,,,,,2,
3816,MD_MARIN@NPC_WATERATTACK,attack,184,1,2000,1000,15000,yes,target,always,0,,,,,,,
3816,MD_MARIN@AL_HEAL,idle,28,1,10000,500,5000,yes,friend,myhpltmaxrate,90,,,,,,2,
3816,MD_MARIN@AL_HEAL,attack,28,1,10000,500,5000,yes,friend,myhpltmaxrate,90,,,,,,,69
// Episode 17.1 - Illusion (custom) #!todo // Episode 17.1 - Illusion (custom) #!todo
20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6, 20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
20340,EL-A17T@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6, 20340,EL-A17T@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6,

View File

@ -8251,9 +8251,13 @@ Body:
- Id: 12411 - Id: 12411
Title: Come Back Tomorrow Title: Come Back Tomorrow
TimeLimit: 4h TimeLimit: 4h
- Id: 12416
Title: Contract with Emily
- Id: 12417 - Id: 12417
Title: Recovering Fatigue Title: Recovering Fatigue
TimeLimit: 4h TimeLimit: 4h
- Id: 12418
Title: First visit to Poring Village
- Id: 12420 - Id: 12420
Title: Recovering Fatigue Title: Recovering Fatigue
TimeLimit: 4h TimeLimit: 4h

View File

@ -0,0 +1,686 @@
//===== rAthena Script =======================================
//= Poring Village
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Poring Village instance
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
// Enchant
prt_fild05,174,238,7 script Veggie Enchanter#0 4_F_02,2,2,{
mes "[Veggie Enchanter]";
mes "50 Jellopies and 20,000 zeny are all you need to get special effect on your green onion or carrot!";
next;
mes "[Veggie Enchanter]";
mes "Enchant and reset have ^ff000030% of failure.^000000 Invest in your veggie and luck!";
next;
switch( select( "How much do I need to enchant?", "Enchant to Poring Village Veggie", "Reset Poring Village Veggie" ) ) {
case 1:
mes "[Veggie Enchanter]";
mes "As I heard, you can get Poring Village Green Onion or Carrot if you go west a bit more from here.";
next;
mes "[Veggie Enchanter]";
mes "I do enchant to the fresh vegetable.";
next;
mes "[Veggie Enchanter]";
mes "Enchant or Reset requires 20,000z and 50 Jellopy! It's not bad, is it?";
next;
mes "[Veggie Enchanter]";
mes "Well... As you know, it's a vegetable any way. So sometimes it can be broken.";
close;
case 2:
.@equip_id = getequipid(EQI_HEAD_LOW);
switch( .@equip_id ) {
case -1:
mes "[Veggie Enchanter]";
mes "Please put on the equipment you'd like to enchant first.";
close;
case 19238: // PoringTownOnion
case 19239: // PoringTownCarrot
break;
default:
mes "[Veggie Enchanter]";
mes "This is not a vegetable!?";
close;
}
if (getequipcardid(EQI_HEAD_LOW,3) > 0) {
mes "[Veggie Enchanter]";
mes "This vegetable cannot be enchanted anymore.";
close;
}
if (countitem(909) < 50 || Zeny < 20000) {
mes "[Veggie Enchanter]";
mes "This enchant requires 50 Jellopy and 20,000z..... But... you don't have them.";
close;
}
delequip EQI_HEAD_LOW;
delitem 909,50; // Jellopy
Zeny -= 20000;
if (rand(100) < 70) {
.@r = rand(5356);
if (.@r < 160) .@card = 4795; // HP100
else if (.@r < 200) .@card = 4796; // HP200
else if (.@r < 1000) .@card = 4928; // SP10
else if (.@r < 1400) .@card = 4870; // SP25
else if (.@r < 1480) .@card = 4800; // SP50
else if (.@r < 1880) .@card = 4700; // Strength1
else if (.@r < 2280) .@card = 4730; // Agility1
else if (.@r < 3410) .@card = 4740; // Vitality1
else if (.@r < 3810) .@card = 4710; // Inteligence1
else if (.@r < 4210) .@card = 4720; // Dexterity1
else if (.@r < 5340) .@card = 4750; // Luck1
else if (.@r < 5348) .@card = 4992; // HPdrain1
else if (.@r < 5356) .@card = 4993; // SPdrain1
getitem2 .@equip_id,1,1,0,0,0,0,0,.@card;
mes "[Veggie Enchanter]";
mes "Tada! Enchant is done! Check your vegetable.";
specialeffect2 EF_REPAIRWEAPON;
close;
}
mes "[Veggie Enchanter]";
mes "It must have been a rotten vegetable. It's a shame that I can't stand this level of power...";
specialeffect2 EF_LORD;
close;
case 3:
.@equip_id = getequipid(EQI_HEAD_LOW);
switch( .@equip_id ) {
case -1:
mes "[Veggie Enchanter]";
mes "Please put on the equipment you'd like to enchant first.";
close;
case 19238: // PoringTownOnion
case 19239: // PoringTownCarrot
break;
default:
mes "[Veggie Enchanter]";
mes "This is not a vegetable!?";
close;
}
if (getequipcardid(EQI_HEAD_LOW,3) == 0) {
mes "[Veggie Enchanter]";
mes "This is a vegetable that has never been fortified...";
close;
}
if (countitem(909) < 50 || Zeny < 20000) {
mes "[Veggie Enchanter]";
mes "This enchant requires 50 Jellopy and 20,000z..... But... you don't have them.";
close;
}
delequip EQI_HEAD_LOW;
delitem 909,50; // Jellopy
Zeny -= 20000;
if (rand(100) < 70) {
getitem .@equip_id,1;
mes "[Veggie Enchanter]";
mes "The item is complete! Check it out.";
specialeffect2 EF_REPAIRWEAPON;
close;
}
mes "[Veggie Enchanter]";
mes "It must have been a rotten vegetable. It's a shame that I can't stand this level of power...";
specialeffect2 EF_LORD;
close;
}
end;
OnTouch:
npctalk "Veggie Enchanter: Make your green onion or carrot stronger!", "", bc_self;
end;
}
// Instance
prt_fild05,145,235,5 script Emily#0 4_GEFFEN_03,4,4,{
if (BaseLevel < 30) {
mes "[Emily]";
mes "Wow~ You look like a novice. I do want to adventure with you someday when you grow up!";
close;
}
if (BaseLevel > 60) {
mes "[Emily]";
mes "Oh, now you are stronger than me. How did you grow so fast?";
next;
mes "[Emily]";
mes "I should find another adventurer who is similar with my level. It's been nice knowing you.";
close;
}
if (isbegin_quest(12416) == 0) {
mes "[Emily]";
mes "My name is Emily. I was waiting for someone who will go on adventures with me!";
next;
select("Who said I will adventure with you?");
mes "[Emily]";
mes "Well, come one. Don't be stern. Listen, you can decide after listening to my story. Of course, I can give you a proper reward.";
next;
if (select( "Proper Reward?", "I'm not interested." ) == 2) {
mes "[Emily]";
mes "How square! It's much better to be together!";
close;
}
mes "[Emily]";
mes "Yes! Proper Reward.";
next;
mes "[Emily]";
mes "It seems this Poring Village can be defeated by beginners just like us. It's just a wild guess though...";
next;
mes "[Emily]";
mes "Well, actually I cannot give you the reward officially through adventurer association. But we can separate the income after hunting.";
next;
select("But 50-50 sounds fair to me.");
mes "[Emily]";
mes "No way. 70-30. And I'm 70 of course.";
next;
select("It's gotta be 50-50 or it's no good");
mes "[Emily]";
mes "How about 60-40!!";
next;
select("50-50 ...");
mes "[Emily]";
mes "This drives me crazy. OK, 50-50. Let's go with this.";
setquest 12416; // Contract with Emily
completequest 12416;
close;
}
switch( checkquest(12417,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "^ff0000Any processing of monsters such as monster taming inside the dungeon will not be considered a normal progress. Please note that.^000000";
next;
mes "^ff0000In beginner mode, the player transforms into a monster. Please note that the existing transformation effect disappears when entering and proceeding.^000000";
next;
mes "[Emily]";
mes "So, are you ready?";
next;
mes "[Emily]";
mes "You look very tired.";
next;
mes "[Emily]";
mes "Why don't you come back after a while? Take a break for now.";
close;
case 2:
mes "^ff0000Any processing of monsters such as monster taming inside the dungeon will not be considered a normal progress. Please note that.^000000";
next;
mes "^ff0000In beginner mode, the player transforms into a monster. Please note that the existing transformation effect disappears when entering and proceeding. ^000000";
next;
mes "[Emily]";
mes "So, are you ready?";
next;
mes "^0000ffAll Traces of the Poring Village quest were removed. Now, talk to Emily again to enter^000000";
erasequest 12417;
close;
}
mes "^ff0000Any processing of monsters such as monster taming inside the dungeon will not be considered a normal progress. Please note that.^000000";
next;
mes "^ff0000In beginner mode, the player transforms into a monster. Please note that the existing transformation effect disappears when entering and proceeding.^000000";
next;
mes "[Emily]";
mes "So, are you ready?";
if (isbegin_quest(12418) == 0)
setquest 12418; // First Visit to Poring Village
next;
if (getcharid(1) < 1) {
mes "[Emily]";
mes "Hmm you should create a party first to start this grand adventure.";
close;
}
.@md_name$ = "Poring Village";
if (is_party_leader())
.@menu$[0] = "Create the entrance";
if (instance_live_info(ILI_NAME, instance_id(IM_PARTY)) == .@md_name$)
.@menu$[1] = "Enter the dungeon";
switch( select( .@menu$[0], .@menu$[1], "Cancel" ) ) {
case 1:
mes "[Emily]";
mes "Now I'm looking for the entrance, please talk to me again after it's totally open.";
instance_create(.@md_name$);
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "An unknown error occurred.";
close;
case IE_NOINSTANCE:
mes "^ff0000Time's crack is not created yet.^000000";
close;
case IE_NOMEMBER:
end;
case IE_OK:
mapannounce "prt_fild05", "Party member " + strcharinfo(0) + " of the party " + getpartyname(getcharid(0)) + " enters " + .@md_name$ + ".", bc_map,0xFF9900;
setquest 12417; // Overcoming fatigue
// warp "1@begi",100,22;
end;
}
end;
case 3:
end;
}
end;
OnTouch:
if (isbegin_quest(12416) == 0 && BaseLevel >= 30 && BaseLevel <= 60)
npctalk "Emily: Hey, there! May I talk to you for a minute?";
end;
OnInit:
questinfo( QTYPE_JUMPING_PORING, QMARK_YELLOW , "isbegin_quest(12416) == 0 && BaseLevel >= 30 && BaseLevel <= 60" );
end;
}
1@begi,106,30,0 script #start_wp1_0 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
disablenpc();
donpcevent instance_npcname("#start_wp1_1") + "::OnStart";
end;
OnInstanceInit:
'map_begi$ = instance_mapname("1@begi");
setcell 'map_begi$,146,35,146,41,cell_walkable,0;
setcell 'map_begi$,154,100,154,107,cell_walkable,0;
setcell 'map_begi$,59,187,59,197,cell_walkable,0;
disablenpc instance_npcname("#start_wp1_2");
disablenpc instance_npcname("#gift");
end;
}
1@begi,106,30,5 script #start_wp1_1 4_GEFFEN_03,{
mes "[Emily]";
mes "Let's go forward.";
close;
OnStart:
npctalk "Emily: So.. is this Poring Village?";
sleep 2000;
npctalk "Emily: OK. Let's go!";
sleep 2000;
disablenpc();
donpcevent instance_npcname("#start_wp1_2") + "::OnStart";
donpcevent instance_npcname("poring_village_1") + "::OnStart";
end;
}
1@begi,140,37,5 script #start_wp1_2 4_GEFFEN_03,{
mes "[Emily]";
mes "I'm going to start slowly now...";
close;
OnStart:
enablenpc();
sleep 1000;
npctalk "Emily: Hmmm. It seems they made barriers not to let us go easily.";
sleep 3000;
npctalk "Emily: I'm quite sure Poring gathered a lot of treasure somewhere.";
sleep 4000;
mapannounce 'map_begi$, "???: I can hear a human's voice. Make them welcome, everybody.", bc_map, 0xFFFF00;
sleep 4000;
npctalk "Emily: What is it saying?";
sleep 3000;
npctalk "Emily: It sounds someone is rushing here... ";
sleep 2500;
mapannounce 'map_begi$, "???: Don't let them run! Take all valuable items from them!", bc_map, 0xFFFF00;
sleep 2500;
npctalk "Emily: Well... OK. They don't seem very friendly. Quick, hide!";
sleep 4000;
// disablenpc();
hideonnpc(); // hideonnpc instead of disablenpc (official) to display text on rAthena
sleep 1000;
npctalk "Emily: Oooops. Can't you hide? Well..... Cheer up!";
// disablenpc instance_npcname("#poring_wl18");
hideonnpc instance_npcname("#poring_wl18");
specialeffect EF_LORD,AREA, instance_npcname("#poring_wl18");
sleep 500;
// disablenpc instance_npcname("#poring_wl19");
hideonnpc instance_npcname("#poring_wl19");
specialeffect EF_LORD,AREA, instance_npcname("#poring_wl19");
sleep 500;
disablenpc instance_npcname("#poring_wl15");
sleep 500;
disablenpc instance_npcname("#poring_wl16");
disablenpc instance_npcname("#poring_wl17");
disablenpc instance_npcname("#poring_wl20");
disablenpc instance_npcname("#poring_wl21");
setcell 'map_begi$,146,35,146,41,cell_walkable,1;
end;
}
// First wall
1@begi,146,35,6 duplicate(dummy_npc) #poring_wl15 4_ROPEPILE,1,0
1@begi,146,36,6 duplicate(dummy_npc) #poring_wl16 4_ROPEPILE,1,0
1@begi,146,37,6 duplicate(dummy_npc) #poring_wl17 4_ROPEPILE,1,0
1@begi,146,38,6 duplicate(dummy_npc) #poring_wl18 4_ROPEPILE,1,0
1@begi,146,39,6 duplicate(dummy_npc) #poring_wl19 4_ROPEPILE,1,0
1@begi,146,40,6 duplicate(dummy_npc) #poring_wl20 4_ROPEPILE,1,0
1@begi,146,41,6 duplicate(dummy_npc) #poring_wl21 4_ROPEPILE,1,0
// Second wall
1@begi,59,187,6 duplicate(dummy_npc) #poring_wl9 4_ROPEPILE,1,0
1@begi,59,188,6 duplicate(dummy_npc) #poring_wl10 4_ROPEPILE,1,0
1@begi,59,189,6 duplicate(dummy_npc) #poring_wl11 4_ROPEPILE,1,0
1@begi,59,190,6 duplicate(dummy_npc) #poring_wl12 4_ROPEPILE,1,0
1@begi,59,191,6 duplicate(dummy_npc) #poring_wl13 4_ROPEPILE,1,0
1@begi,59,192,6 duplicate(dummy_npc) #poring_wl14 4_ROPEPILE,1,0
// Others
1@begi,154,100,6 duplicate(dummy_npc) #poring_wl1 4_ROPEPILE,1,0
1@begi,154,101,6 duplicate(dummy_npc) #poring_wl2 4_ROPEPILE,1,0
1@begi,154,102,6 duplicate(dummy_npc) #poring_wl3 4_ROPEPILE,1,0
1@begi,154,103,6 duplicate(dummy_npc) #poring_wl4 4_ROPEPILE,1,0
1@begi,154,104,6 duplicate(dummy_npc) #poring_wl5 4_ROPEPILE,1,0
1@begi,154,105,6 duplicate(dummy_npc) #poring_wl6 4_ROPEPILE,1,0
1@begi,154,106,6 duplicate(dummy_npc) #poring_wl7 4_ROPEPILE,1,0
1@begi,154,107,6 duplicate(dummy_npc) #poring_wl8 4_ROPEPILE,1,0
1@begi,1,1,5 script poring_village_1 -1,{
end;
OnStart:
.@event$ = instance_npcname("poring_village_1") + "::OnMobDead";
areamonster 'map_begi$, 153,32, 171,32, "--en--", "MD_DROPS",7, .@event$;
areamonster 'map_begi$, 48,54, 71,57, "--en--", "MD_DROPS",8, .@event$;
areamonster 'map_begi$, 170,38, 189,38, "--en--", "MD_POPORING",8, .@event$;
areamonster 'map_begi$, 24,72, 28,92, "--en--", "MD_POPORING",8, .@event$;
areamonster 'map_begi$, 188,42, 191,58, "--en--", "MD_MARIN",8, .@event$;
areamonster 'map_begi$, 158,67, 174,68, "--en--", "MD_MARIN",3, .@event$;
areamonster 'map_begi$, 117,68, 131,68, "--en--", "MD_MARIN",4, .@event$;
areamonster 'map_begi$, 79,113, 92,113, "--en--", "MD_MARIN",6, .@event$;
monster 'map_begi$,101,66, "--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,57,113, "--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,68,113, "--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,176,66, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,158,68, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,157,67, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,149,66, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,125,67, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,121,67, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,102,67, "--en--","MD_PORING",1, .@event$;
monster 'map_begi$,101,68, "--en--","MD_PORING",1, .@event$;
end;
OnMobDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_1") + "::OnMobDead" ) > 3)
end;
killmonster 'map_begi$, instance_npcname("poring_village_1") + "::OnMobDead";
mapannounce 'map_begi$, "Emily: Wow~ You are quite strong! You defeated all these Porings!", bc_map, 0xFFFF00;
sleep 2000;
mapannounce 'map_begi$, "Emily: But the Poring looks unique somehow. Be careful!", bc_map, 0xFFFF00;
sleep 2000;
mapannounce 'map_begi$, "Emily: Ah, there is a unique force if you go near the column of blue light.", bc_map, 0xFFFF00;
sleep 2000;
monster 'map_begi$,132,103,"--en--","MD_GOLDRING",1, instance_npcname("poring_village_1") + "::OnBossDead";
end;
OnBossDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_1") + "::OnBossDead" ) > 0)
end;
killmonster 'map_begi$, instance_npcname("poring_village_1") + "::OnBossDead";
donpcevent instance_npcname("poring_village_2") + "::OnStart";
sleep 6000;
// disablenpc instance_npcname("#poring_wl4");
hideonnpc instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl4");
// disablenpc instance_npcname("#poring_wl5");
hideonnpc instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl5");
disablenpc instance_npcname("#poring_wl1");
disablenpc instance_npcname("#poring_wl2");
disablenpc instance_npcname("#poring_wl3");
disablenpc instance_npcname("#poring_wl6");
disablenpc instance_npcname("#poring_wl7");
disablenpc instance_npcname("#poring_wl8");
setcell 'map_begi$,154,100,154,107,cell_walkable,1;
end;
}
1@begi,1,1,5 script poring_village_2 -1,{
end;
OnStart:
.@event$ = instance_npcname("poring_village_2") + "::OnMobDead";
monster 'map_begi$,191,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,191,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,191,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,192,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,194,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,194,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,195,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,195,97,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,199,108,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,201,107,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,203,108,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,206,107,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,213,108,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,214,109,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,109,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,109,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,115,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,112,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,113,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,117,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,214,111,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,215,108,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,215,107,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,216,107,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,197,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,197,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,192,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,190,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,188,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,188,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,184,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,182,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,157,144,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,154,143,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,154,144,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,152,143,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,142,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,130,144,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,129,144,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,127,144,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,120,144,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,117,144,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,116,144,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,114,143,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,103,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,102,144,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,102,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,93,143,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,88,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,88,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,84,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,84,144,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,83,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,76,143,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,75,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,73,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,73,143,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,72,144,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,69,143,"--en--","MD_POPORING",1, .@event$;
monster 'map_begi$,64,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,59,143,"--en--","MD_PORING",1, .@event$;
monster 'map_begi$,59,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,52,144,"--en--","MD_DROPS",1, .@event$;
monster 'map_begi$,51,143,"--en--","MD_PORING",1, .@event$;
end;
OnMobDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_2") + "::OnMobDead" ) > 4)
end;
killmonster 'map_begi$, instance_npcname("poring_village_2") + "::OnMobDead";
mapannounce 'map_begi$, "Emily: Hmm.. here is another Boss... It looks strong...", bc_map, 0xFFFF00;
sleep 2000;
mapannounce 'map_begi$, "Emily: I'm not good at battle.. Let me look for tresure first. See you soon~", bc_map, 0xFFFF00;
sleep 2000;
monster 'map_begi$,42,173,"--en--","MD_AMERING",1, instance_npcname("poring_village_2") + "::OnBossDead";
end;
OnBossDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_2") + "::OnBossDead" ) > 0)
end;
killmonster 'map_begi$, instance_npcname("poring_village_2") + "::OnBossDead";
donpcevent instance_npcname("poring_village_3") + "::OnStart";
sleep 6000;
// disablenpc instance_npcname("#poring_wl10");
hideonnpc instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl10");
// disablenpc instance_npcname("#poring_wl13");
hideonnpc instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
specialeffect EF_LORD, AREA, instance_npcname("#poring_wl13");
disablenpc instance_npcname("#poring_wl9");
disablenpc instance_npcname("#poring_wl11");
disablenpc instance_npcname("#poring_wl12");
disablenpc instance_npcname("#poring_wl14");
setcell 'map_begi$,59,187,59,197,cell_walkable,1;
end;
}
1@begi,1,1,5 script poring_village_3 -1,{
end;
OnStart:
.@event$ = instance_npcname("poring_village_3") + "::OnMobDead";
monster 'map_begi$,81,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,84,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,85,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,86,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,87,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,88,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,90,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,93,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,94,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,94,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,95,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,98,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,99,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,103,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,103,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,104,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,108,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,111,197,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,128,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,128,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,130,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,132,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,132,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,132,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,133,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,134,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,135,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,136,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,137,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,141,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,143,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,144,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,144,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,146,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,150,185,"--en--","MD_MARIN",1, .@event$;
monster 'map_begi$,150,185,"--en--","MD_MARIN",1, .@event$;
end;
OnMobDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_3") + "::OnMobDead" ) > 4)
end;
killmonster 'map_begi$, instance_npcname("poring_village_3") + "::OnMobDead";
mapannounce 'map_begi$, "King Poring: Excuse me... But... Would you please get back now?...", bc_map, 0xFFFF;
sleep 2000;
mapannounce 'map_begi$, "Emily: What? Who are you?", bc_map, 0xFFFF00;
sleep 2000;
mapannounce 'map_begi$, "King Poring: I am the leader of this Poring Village. Sorry for the late introduction.", bc_map, 0xFFFF;
sleep 2000;
mapannounce 'map_begi$, "King Poring: Maybe there is some misunderstanding on our flyers. This village is so poor and has nothing valuable.", bc_map, 0xFFFF;
sleep 2000;
mapannounce 'map_begi$, "Emily: It's for me to judge after looking around more....", bc_map, 0xFFFF00;
sleep 2000;
mapannounce 'map_begi$, "King Poring: Ugh.... I don't like fighting but there is no choice.", bc_map, 0xFFFF;
sleep 2000;
monster 'map_begi$,182,194,"--en--","PORING",10;
for ( .@i = 0; .@i < 10; ++.@i ) {
setunitdata $@mobid[.@i], UMOB_MODE, (MD_CANMOVE | MD_LOOTER | MD_AGGRESSIVE | MD_CANATTACK);
setunitdata $@mobid[.@i], UMOB_SPEED, 200;
}
monster 'map_begi$,182,194,"--en--","MD_KING_PORING",1, instance_npcname("poring_village_3") + "::OnBossDead";
end;
OnBossDead:
if (mobcount( 'map_begi$, instance_npcname("poring_village_3") + "::OnBossDead" ) > 0)
end;
killmonster 'map_begi$, instance_npcname("poring_village_3") + "::OnBossDead";
enablenpc instance_npcname("#gift");
end;
}
1@begi,117,108,5 script Blue Light Column#1 4_ENERGY_BLUE,4,4,{
end;
OnTouch:
switch( rand(3) ) {
case 0:
unittalk getcharid(3), "" + strcharinfo(0) + " : Ohhhhh!!! Release the parrot inside!!!!";
break;
case 1:
unittalk getcharid(3), "" + strcharinfo(0) + " : I think it's ok to peck someone right now!!";
break;
case 2:
unittalk getcharid(3), "" + strcharinfo(0) + " : Have you been bitten by a mad parrot?";
break;
}
transform 1629,60000;
specialeffect2 EF_ENHANCE;
sc_start SC_GLASTHEIM_STATE,30000,20;
end;
}
1@begi,37,165,5 duplicate(Blue Light Column#1) Blue Light Column#2 4_ENERGY_BLUE,4,4
1@begi,175,199,5 duplicate(Blue Light Column#1) Blue Light Column#3 4_ENERGY_BLUE,4,4
1@begi,199,186,5 script #gift 4_GEFFEN_03,{
mes "[Emily]";
mes "You can have all of the items you find in this dungeon. I already have some.";
next;
if (isbegin_quest(12418) == 1) {
mes "[Emily]";
mes "Ah, I found some items. Let me give you one of them. Just to celebrate your first visit!";
next;
if (rand(100) < 50)
getitem 19238,1; // PoringTownOnion
else
getitem 19239,1; // PoringTownCarrot
completequest 12418;
}
mes "[Emily]";
mes "I don't need this novice box. You can take it. Now, let's go out side!";
close2;
getitem 23302,1; // PoringsPreciousBox
warp "prt_fild05",149,238;
end;
}

View File

@ -86,6 +86,7 @@ npc: npc/re/instances/NightmarishJitterbug.txt
npc: npc/re/instances/OctopusCave.txt npc: npc/re/instances/OctopusCave.txt
npc: npc/re/instances/OldGlastHeim.txt npc: npc/re/instances/OldGlastHeim.txt
npc: npc/re/instances/OsOccupation.txt npc: npc/re/instances/OsOccupation.txt
npc: npc/re/instances/PoringVillage.txt
npc: npc/re/instances/Regenschirm.txt npc: npc/re/instances/Regenschirm.txt
npc: npc/re/instances/RitualOfBlessing.txt npc: npc/re/instances/RitualOfBlessing.txt
npc: npc/re/instances/RoomOfConsciousness.txt npc: npc/re/instances/RoomOfConsciousness.txt

View File

@ -1025,6 +1025,7 @@ enum e_random_item_group {
IG_S_SPELLCASTER_SHOES, IG_S_SPELLCASTER_SHOES,
IG_S_ABSORB_WEAPON, IG_S_ABSORB_WEAPON,
IG_S_ABSORB_SHIELD, IG_S_ABSORB_SHIELD,
IG_PORINGSPRECIOUSBOX,
IG_MAX, IG_MAX,
}; };

View File

@ -5812,6 +5812,7 @@
export_constant(IG_S_SPELLCASTER_SHOES); export_constant(IG_S_SPELLCASTER_SHOES);
export_constant(IG_S_ABSORB_WEAPON); export_constant(IG_S_ABSORB_WEAPON);
export_constant(IG_S_ABSORB_SHIELD); export_constant(IG_S_ABSORB_SHIELD);
export_constant(IG_PORINGSPRECIOUSBOX);
/* unit stop walking */ /* unit stop walking */
export_constant(USW_NONE); export_constant(USW_NONE);