Initial release of nif_dun quests (#7349)
* Added mobs db, mobs spawn and quests related to nif_dun01 and nif_dun02 * Some data after rebalance is missing but the base is there Thanks to @aleos89 @Lemongrass3110 @Pokye @OptimusM @Tokeiburu for the reviews !
This commit is contained in:
parent
067c21b647
commit
19bbd82c55
460
db/re/mob_db.yml
460
db/re/mob_db.yml
@ -97145,25 +97145,447 @@ Body:
|
||||
- Item: R001_Bestia_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
# - Id: 20935
|
||||
# AegisName: GAN_CEANN
|
||||
# - Id: 20936
|
||||
# AegisName: DISGUISER
|
||||
# - Id: 20937
|
||||
# AegisName: BRUTAL_MURDERER
|
||||
# - Id: 20938
|
||||
# AegisName: GHOST_CUBE
|
||||
# - Id: 20939
|
||||
# AegisName: LUDE_GAL
|
||||
# - Id: 20940
|
||||
# AegisName: BLUEMOON_LOLI_RURI
|
||||
# - Id: 20941
|
||||
# AegisName: GROTE
|
||||
# - Id: 20942
|
||||
# AegisName: PIERROTZOIST
|
||||
# - Id: 20943
|
||||
# AegisName: DEATH_WITCH
|
||||
# DamageTaken: 10
|
||||
- Id: 20935
|
||||
AegisName: GAN_CEANN
|
||||
Name: Gan Ceann
|
||||
Level: 215
|
||||
Hp: 11785610
|
||||
BaseExp: 267854
|
||||
JobExp: 188128
|
||||
Attack: 7951
|
||||
Attack2: 922
|
||||
Defense: 380
|
||||
MagicDefense: 99
|
||||
MagicResistance: 130
|
||||
Resistance: 130
|
||||
Str: 278
|
||||
Agi: 166
|
||||
Vit: 121
|
||||
Int: 121
|
||||
Dex: 178
|
||||
Luk: 123
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 155
|
||||
AttackDelay: 238
|
||||
AttackMotion: 576
|
||||
DamageMotion: 360
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Broken_Armor_Piece
|
||||
Rate: 2400
|
||||
- Item: Broken_Steel_Piece
|
||||
Rate: 1600
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Gan_Ceann_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20936
|
||||
AegisName: DISGUISER
|
||||
Name: Disguiser
|
||||
Level: 254
|
||||
Hp: 42303800
|
||||
BaseExp: 335956
|
||||
JobExp: 235169
|
||||
Attack: 9874
|
||||
Attack2: 1230
|
||||
Defense: 542
|
||||
MagicDefense: 168
|
||||
MagicResistance: 171
|
||||
Resistance: 187
|
||||
Str: 314
|
||||
Agi: 203
|
||||
Vit: 147
|
||||
Int: 135
|
||||
Dex: 201
|
||||
Luk: 198
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demon
|
||||
Element: Undead
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 384
|
||||
AttackMotion: 768
|
||||
DamageMotion: 384
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Red_Scarf
|
||||
Rate: 2500
|
||||
- Item: Tangled_Chain
|
||||
Rate: 1800
|
||||
- Item: White_Powder
|
||||
Rate: 50
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Disguiser_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20937
|
||||
AegisName: BRUTAL_MURDERER
|
||||
Name: Brutal Murderer
|
||||
Level: 214
|
||||
Hp: 13909270
|
||||
BaseExp: 269952
|
||||
JobExp: 188966
|
||||
Attack: 8135
|
||||
Attack2: 998
|
||||
Defense: 470
|
||||
MagicDefense: 80
|
||||
MagicResistance: 143
|
||||
Resistance: 187
|
||||
Str: 277
|
||||
Agi: 174
|
||||
Vit: 175
|
||||
Int: 134
|
||||
Dex: 131
|
||||
Luk: 130
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demihuman
|
||||
Element: Neutral
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 175
|
||||
AttackDelay: 336
|
||||
AttackMotion: 672
|
||||
DamageMotion: 288
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Old_Manteau
|
||||
Rate: 2400
|
||||
- Item: Rusty_Cleaver
|
||||
Rate: 1600
|
||||
- Item: Mr_Scream
|
||||
Rate: 20
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Brutal_Murderer_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20938
|
||||
AegisName: GHOST_CUBE
|
||||
Name: Ghost Cube
|
||||
Level: 213
|
||||
Hp: 12735150
|
||||
BaseExp: 261542
|
||||
JobExp: 183079
|
||||
Attack: 8114
|
||||
Attack2: 1032
|
||||
Defense: 482
|
||||
MagicDefense: 114
|
||||
MagicResistance: 171
|
||||
Resistance: 171
|
||||
Str: 274
|
||||
Agi: 185
|
||||
Vit: 161
|
||||
Int: 161
|
||||
Dex: 177
|
||||
Luk: 169
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Small
|
||||
Race: Undead
|
||||
Element: Undead
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 624
|
||||
AttackMotion: 1248
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Piece_Of_Black_Cloth
|
||||
Rate: 2400
|
||||
- Item: Ectoplasm
|
||||
Rate: 2000
|
||||
- Item: Black_Powder
|
||||
Rate: 250
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Ghost_Cube_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20939
|
||||
AegisName: LUDE_GAL
|
||||
Name: Lude Gal
|
||||
Level: 213
|
||||
Hp: 12840680
|
||||
BaseExp: 259877
|
||||
JobExp: 181914
|
||||
Attack: 7925
|
||||
Attack2: 1001
|
||||
Defense: 410
|
||||
MagicDefense: 105
|
||||
MagicResistance: 151
|
||||
Resistance: 179
|
||||
Str: 274
|
||||
Agi: 171
|
||||
Vit: 168
|
||||
Int: 142
|
||||
Dex: 168
|
||||
Luk: 134
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Small
|
||||
Race: Undead
|
||||
Element: Undead
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 480
|
||||
AttackMotion: 960
|
||||
DamageMotion: 480
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Pumpkin_Bucket
|
||||
Rate: 2500
|
||||
- Item: Ectoplasm
|
||||
Rate: 2000
|
||||
- Item: Transparent_Cloth
|
||||
Rate: 500
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Lude_Gal_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20940
|
||||
AegisName: BLUEMOON_LOLI_RURI
|
||||
Name: Blue Moon Loli Ruri
|
||||
Level: 255
|
||||
Hp: 46338500
|
||||
BaseExp: 339785
|
||||
JobExp: 237850
|
||||
Attack: 9325
|
||||
Attack2: 1345
|
||||
Defense: 457
|
||||
MagicDefense: 191
|
||||
MagicResistance: 260
|
||||
Resistance: 238
|
||||
Str: 301
|
||||
Agi: 205
|
||||
Vit: 187
|
||||
Int: 204
|
||||
Dex: 192
|
||||
Luk: 205
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demon
|
||||
Element: Water
|
||||
ElementLevel: 3
|
||||
WalkSpeed: 125
|
||||
AttackDelay: 510
|
||||
AttackMotion: 1020
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Black_Kitty_Doll
|
||||
Rate: 500
|
||||
- Item: Striped_Socks
|
||||
Rate: 2400
|
||||
- Item: Bat_Cage
|
||||
Rate: 2000
|
||||
- Item: Loki's_Whispers
|
||||
Rate: 2
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Bluemoon_Loli_Ruri_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20941
|
||||
AegisName: GROTE
|
||||
Name: Grote
|
||||
Level: 253
|
||||
Hp: 47842600
|
||||
BaseExp: 346622
|
||||
JobExp: 242635
|
||||
Attack: 9354
|
||||
Attack2: 1320
|
||||
Defense: 456
|
||||
MagicDefense: 117
|
||||
MagicResistance: 153
|
||||
Resistance: 237
|
||||
Str: 311
|
||||
Agi: 207
|
||||
Vit: 187
|
||||
Int: 121
|
||||
Dex: 199
|
||||
Luk: 207
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demon
|
||||
Element: Earth
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 180
|
||||
AttackDelay: 792
|
||||
AttackMotion: 1584
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Hanging_Doll
|
||||
Rate: 1000
|
||||
- Item: Rotten_Rope
|
||||
Rate: 2500
|
||||
- Item: Tree_Knot
|
||||
Rate: 2000
|
||||
- Item: Branch_Of_Dead_Tree
|
||||
Rate: 5
|
||||
- Item: Bloody_Dead_Branch
|
||||
Rate: 2
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Grote_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20942
|
||||
AegisName: PIERROTZOIST
|
||||
Name: Pierrotzoist
|
||||
Level: 255
|
||||
Hp: 38506310
|
||||
BaseExp: 339451
|
||||
JobExp: 237616
|
||||
Attack: 9356
|
||||
Attack2: 1247
|
||||
Defense: 541
|
||||
MagicDefense: 134
|
||||
MagicResistance: 226
|
||||
Resistance: 212
|
||||
Str: 311
|
||||
Agi: 177
|
||||
Vit: 166
|
||||
Int: 177
|
||||
Dex: 201
|
||||
Luk: 169
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demon
|
||||
Element: Dark
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 155
|
||||
AttackDelay: 768
|
||||
AttackMotion: 1536
|
||||
DamageMotion: 480
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Broken_Needle
|
||||
Rate: 2400
|
||||
- Item: Needle_Pouch
|
||||
Rate: 2000
|
||||
- Item: Stuffed_Doll
|
||||
Rate: 40
|
||||
- Item: Ectoplasm
|
||||
Rate: 150
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Pierrotzoist_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20943
|
||||
AegisName: DEATH_WITCH
|
||||
Name: Death Witch
|
||||
Level: 255
|
||||
Hp: 398856250
|
||||
BaseExp: 9051055
|
||||
JobExp: 6335739
|
||||
Attack: 14658
|
||||
Attack2: 2687
|
||||
Defense: 687
|
||||
MagicDefense: 210
|
||||
MagicResistance: 539
|
||||
Resistance: 273
|
||||
Str: 424
|
||||
Agi: 236
|
||||
Vit: 214
|
||||
Int: 423
|
||||
Dex: 241
|
||||
Luk: 174
|
||||
AttackRange: 3
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demihuman
|
||||
Element: Dark
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 517
|
||||
AttackMotion: 1134
|
||||
DamageMotion: 480
|
||||
DamageTaken: 10
|
||||
Ai: 21
|
||||
Class: Boss
|
||||
Modes:
|
||||
Mvp: true
|
||||
Drops:
|
||||
- Item: Ectoplasm
|
||||
Rate: 200
|
||||
- Item: Yggdrasilberry
|
||||
Rate: 1500
|
||||
- Item: Seed_Of_Yggdrasil
|
||||
Rate: 1500
|
||||
- Item: Leaf_Of_Yggdrasil
|
||||
Rate: 1500
|
||||
- Item: Shadowdecon
|
||||
Rate: 1000
|
||||
- Item: Zelunium
|
||||
Rate: 1000
|
||||
- Item: Death_Witch_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
# - Id: 20944
|
||||
# AegisName: JP_E_MONSTER_151
|
||||
# - Id: 20945
|
||||
|
@ -13239,6 +13239,108 @@
|
||||
20934,R001_BESTIA@NPC_DRAGONFEAR,attack,659,5,10000,0,10000,no,self,always,0,,,,,,,
|
||||
// 20934,R001_BESTIA@NPC_DAMAGE_HEAL,attack,753,1,3000,1500,40000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
|
||||
// nif_dun
|
||||
20935,GAN_CEANN@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20935,GAN_CEANN@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKNESSATTACK,attack,190,3,1000,500,5000,no,target,always,0,,,,,,6,
|
||||
20935,GAN_CEANN@NPC_BLEEDING2,attack,764,5,2000,0,60000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_BLEEDING,attack,660,5,2000,0,60000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKCROSS,attack,338,3,300,0,5000,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_COMBOATTACK,attack,171,2,1000,700,5000,no,target,always,0,,,,,,19,
|
||||
20936,DISGUISER@NPC_PIERCINGATT,attack,158,5,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@AS_GRIMTOOTH,chase,137,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_GUIDEDATTACK,attack,172,3,8000,500,600000,no,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_COMBOATTACK,attack,171,3,1000,500,15000,no,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEWIND,attack,165,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEFIRE,attack,164,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEWATER,attack,162,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEGROUND,attack,163,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@AS_SONICBLOW,attack,136,7,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20937,BRUTAL_MURDERER@NPC_CURSEATTACK,attack,181,5,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20937,BRUTAL_MURDERER@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@NPC_IGNITIONBREAK,attack,740,2,1000,300,30000,no,self,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@NPC_CRITICALWOUND,attack,673,1,8000,300,5000,no,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@MG_STONECURSE,attack,16,10,500,1500,5000,no,target,always,0,,,,,,6,
|
||||
20938,GHOST_CUBE@NPC_MENTALBREAKER,attack,159,3,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20938,GHOST_CUBE@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_SILENCEATTACK,attack,178,3,500,700,5000,no,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_SLEEPATTACK,attack,182,3,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_WINDATTACK,attack,187,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20939,LUDE_GAL@NPC_CHEAL,idle,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20939,LUDE_GAL@AL_HEAL,chase,28,9,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,attack,28,9,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,chase,28,9,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,attack,28,9,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,18,
|
||||
20939,LUDE_GAL@PR_LEXAETERNA,chase,78,1,1000,1000,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@PR_LEXAETERNA,attack,78,1,1000,1000,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@NPC_CHEAL,chase,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20939,LUDE_GAL@AM_POTIONPITCHER,attack,231,4,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,5,
|
||||
20939,LUDE_GAL@AM_POTIONPITCHER,attack,231,4,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,5,
|
||||
20939,LUDE_GAL@NPC_GROUNDATTACK,attack,185,5,2000,500,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@NPC_STUNATTACK,attack,179,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_DARKSTRIKE,attack,340,5,500,700,5000,no,target,myhpltmaxrate,50,,,,,,6,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_DARKSTRIKE,chase,340,5,500,700,5000,no,target,always,0,,,,,,6,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,,,,,,3,
|
||||
20940,BLUEMOON_LOLI_RURI@PR_LEXDIVINA,chase,76,10,500,1000,5000,no,target,always,0,,,,,,2,
|
||||
20940,BLUEMOON_LOLI_RURI@PR_LEXDIVINA,attack,76,10,500,1000,5000,no,target,always,0,,,,,,2,
|
||||
20940,BLUEMOON_LOLI_RURI@SA_REVERSEORCISH,chase,294,1,50,0,30000,yes,target,always,0,,,,,,18,
|
||||
20940,BLUEMOON_LOLI_RURI@SA_REVERSEORCISH,attack,294,1,50,0,30000,yes,target,always,0,,,,,,18,
|
||||
20941,GROTE@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20941,GROTE@NPC_CURSEATTACK,attack,181,3,1000,800,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_UNDEADATTACK,attack,347,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_CHEAL,chase,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20941,GROTE@NPC_COMBOATTACK,attack,171,5,1500,0,5000,yes,target,always,0,,,,,,,
|
||||
20941,GROTE@NPC_WIDEBLEEDING2,attack,756,4,10000,0,15000,yes,self,always,0,,,,,,,
|
||||
20941,GROTE@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,always,0,,,,,,,
|
||||
20941,GROTE@NPC_GROUNDATTACK,attack,185,5,2000,500,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_STUNATTACK,attack,179,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@AL_DECAGI,attack,30,1,500,1000,5000,no,target,always,0,,,,,,29,
|
||||
20942,PIERROTZOIST@NPC_HALLUCINATION,chase,207,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20942,PIERROTZOIST@NPC_HALLUCINATION,attack,207,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20942,PIERROTZOIST@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@KN_SPEARSTAB,chase,58,5,2500,0,5000,yes,target,groundattacked,0,,,,,,9,
|
||||
20942,PIERROTZOIST@KN_SPEARSTAB,chase,58,5,5000,0,5000,yes,target,longrangeattacked,0,,,,,,,
|
||||
20942,PIERROTZOIST@SM_MAGNUM,attack,7,4,500,500,5000,no,self,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@KN_TWOHANDQUICKEN,attack,60,5,2000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6,
|
||||
20942,PIERROTZOIST@KN_BRANDISHSPEAR,attack,57,5,2000,0,10000,yes,target,always,0,,,,,,6,
|
||||
20942,PIERROTZOIST@NPC_DARKNESSATTACK,attack,190,4,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESILENCE,chase,663,1,2000,1000,20000,no,self,always,0,,,,,,32,
|
||||
20943,DEATH_WITCH@NPC_WIDESILENCE,attack,663,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDEFREEZE,chase,664,1,2000,1000,20000,no,self,always,0,,,,,,36,
|
||||
20943,DEATH_WITCH@NPC_WIDEFREEZE,attack,664,1,2000,1000,20000,no,self,always,0,,,,,,36,
|
||||
20943,DEATH_WITCH@NPC_WIDESLEEP,chase,668,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESLEEP,attack,668,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKTHUNDER,chase,341,3,500,1500,15000,no,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKTHUNDER,attack,341,3,500,1500,15000,no,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESOULDRAIN,chase,680,1,1000,500,5000,no,self,always,0,,,,,,42,
|
||||
20943,DEATH_WITCH@NPC_WIDESOULDRAIN,attack,680,1,1000,500,5000,no,self,always,0,,,,,,42,
|
||||
20943,DEATH_WITCH@WZ_WATERBALL,attack,86,10,3000,500,25000,no,target,always,0,,,,,,0,
|
||||
20943,DEATH_WITCH@WZ_WATERBALL,chase,86,10,3000,500,25000,no,target,always,0,,,,,,0,
|
||||
20943,DEATH_WITCH@NPC_WIDECURSE,chase,677,1,500,800,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_SUMMONSLAVE,idle,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESTUN,chase,678,1,2000,1300,180000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESTUN,attack,678,1,2000,1300,180000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKNESSATTACK,attack,190,5,2000,0,5000,yes,target,always,0,,,,,,29,
|
||||
20943,DEATH_WITCH@NPC_DARKNESSATTACK,chase,190,5,2000,0,5000,yes,target,always,0,,,,,,29,
|
||||
20943,DEATH_WITCH@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32,
|
||||
20943,DEATH_WITCH@HW_GANBANTEIN,attack,483,1,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
// 20943,DEATH_WITCH@NPC_EARTHQUAKE_K,attack,750,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_EARTHQUAKE,attack,653,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,chase,662,2,2000,500,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CLOUD_KILL,attack,739,5,2000,500,16000,no,target,always,0,,,,,,,
|
||||
// 20943,DEATH_WITCH@NPC_DAMAGE_HEAL,attack,753,1,10000,1000,60000,no,target,myhpltmaxrate,10,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CALLSLAVE,idle,352,1,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CALLSLAVE,attack,352,1,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
|
||||
// Training Ground outside Prontera
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
|
@ -5704,24 +5704,75 @@ Body:
|
||||
- Id: 8595
|
||||
Title: Playing with Pitaya - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8639
|
||||
Title: Great banquet hall in the depths of the underworld
|
||||
- Id: 8640
|
||||
Title: Both the dead and the living are in high spirits
|
||||
- Id: 8641
|
||||
Title: He looks cute
|
||||
Targets:
|
||||
- Mob: GHOST_CUBE
|
||||
Count: 15
|
||||
- Mob: LUDE_GAL
|
||||
Count: 15
|
||||
- Id: 8642
|
||||
Title: He looks cute - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8644
|
||||
Title: That's not an instrument
|
||||
Targets:
|
||||
- Mob: BRUTAL_MURDERER
|
||||
Count: 10
|
||||
- Mob: GAN_CEANN
|
||||
Count: 10
|
||||
- Id: 8645
|
||||
Title: That's not an instrument - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8647
|
||||
Title: Playing the piano
|
||||
- Id: 8648
|
||||
Title: Playing the piano - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8649
|
||||
Title: It was a great performance
|
||||
- Id: 8650
|
||||
Title: Guys with messy hair
|
||||
Targets:
|
||||
- Mob: DISGUISER
|
||||
Count: 15
|
||||
- Mob: BLUEMOON_LOLI_RURI
|
||||
Count: 15
|
||||
- Id: 8651
|
||||
Title: Guys with messy hair - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8652
|
||||
Title: Guys with messy hair
|
||||
Targets:
|
||||
- Mob: DISGUISER
|
||||
Count: 15
|
||||
- Mob: BLUEMOON_LOLI_RURI
|
||||
Count: 15
|
||||
- Id: 8653
|
||||
Title: The ones with dolls
|
||||
Targets:
|
||||
- Mob: GROTE
|
||||
Count: 10
|
||||
- Mob: PIERROTZOIST
|
||||
Count: 10
|
||||
- Id: 8654
|
||||
Title: The ones with dolls - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8655
|
||||
Title: The ones with dolls
|
||||
- Id: 8656
|
||||
Title: Wake them up
|
||||
- Id: 8657
|
||||
Title: Wake them up - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8658
|
||||
Title: Sorry for being sleepy (1)
|
||||
- Id: 8659
|
||||
Title: Sorry for being sleepy (2)
|
||||
- Id: 8661
|
||||
Title: "[Standby] Subjugation-Audumra Chowon-3"
|
||||
TimeLimit: 4h
|
||||
|
18
npc/re/mobs/dungeons/nif_dun.txt
Normal file
18
npc/re/mobs/dungeons/nif_dun.txt
Normal file
@ -0,0 +1,18 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Niflheim dungeon Monsters Spawn Script
|
||||
//===== Description: =========================================
|
||||
//= Spawns monsters in nif_dun.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
nif_dun01 monster Gan Ceann GAN_CEANN,60
|
||||
nif_dun01 monster Brutal Murderer BRUTAL_MURDERER,60
|
||||
nif_dun01 monster Ghost Cube GHOST_CUBE,60
|
||||
nif_dun01 monster Lude Gal LUDE_GAL,60
|
||||
|
||||
nif_dun02 monster Disguiser DISGUISER,80
|
||||
nif_dun02 monster Grote GROTE,80
|
||||
nif_dun02 monster Pierrotzoist PIERROTZOIST,80
|
||||
nif_dun02 monster Blue Moon Loli Ruri BLUEMOON_LOLI_RURI,80
|
||||
nif_dun02 boss_monster Death Witch DEATH_WITCH,1,21600000,600000,0
|
@ -4,6 +4,7 @@
|
||||
//= [Walkthrough Conversion]
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Added sp_rudus4 quests. [Capuche]
|
||||
//= 1.1 Added nif_dun01 and nif_dun02 quests. [Capuche]
|
||||
//============================================================
|
||||
|
||||
// sp_rudus4
|
||||
@ -478,3 +479,829 @@ OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(16528) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
// nif_dun
|
||||
moc_para01,14,19,7 script Old scholar#lv200 2_M_SAGE_OLD,{
|
||||
if (BaseLevel < 200) {
|
||||
mes "[Old scholar]";
|
||||
mes "I would like to do more research, but if my life is really in danger...";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "I have no choice but to hire a strong and sincere adventurer. Hmm...";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "I think level 200 would be enough... It's easy to say, but that is not the type of person who can be easily found.";
|
||||
close;
|
||||
}
|
||||
switch( isbegin_quest(8640) ) {
|
||||
case 0:
|
||||
if (isbegin_quest(8639) == 0) {
|
||||
mes "[Old scholar]";
|
||||
mes "Oh, oh my, my gosh. The strong and sincere adventurer I've been looking for has appeared here.";
|
||||
mes "Would you like to help me with my research?";
|
||||
next;
|
||||
.@s = select( "Listen to the request", "Suspicious..." );
|
||||
mes "[Old scholar]";
|
||||
mes "Even if I look at you with my eyes I recognize your skills at a glance, please do something...!";
|
||||
if (.@s == 2)
|
||||
close;
|
||||
mes "...?";
|
||||
mes "What? Will you help me?";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "No, that's it... Everyone refused, so the hanging words got stuck in my mouth.";
|
||||
mes "Thank you for your cooperation.";
|
||||
next;
|
||||
select( "You're still cooperating..." );
|
||||
mes "[Old scholar]";
|
||||
mes "Come on, that's it. Of course someone as talented as you can go to Niflheim.";
|
||||
mes "Of course I don't have many days left and it's not the right time for me to go and I can't come back in time.";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "According to recent sources... Deep in the darkness of Niflheim, the dead hold a banquet,";
|
||||
mes "in a form we cannot imagine.";
|
||||
mes "But there is nowhere to hear more about it.";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "You'll find out soon anyway, but I'm curious now.";
|
||||
mes "Can you take a look? I'll give you plenty of examples.";
|
||||
next;
|
||||
if (select( "That's enough. Can I come back?", "What if I can't come back?" ) == 2) {
|
||||
mes "[Old scholar]";
|
||||
mes "You wouldn't even think that you wouldn't be able to come back at your level...";
|
||||
mes "If you're still that careful, okay. Come back when you're ready.";
|
||||
close;
|
||||
}
|
||||
setquest 8639;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Thank you. Turns out I forgot to introduce myself.";
|
||||
mes "My name is Garim Springfield.";
|
||||
mes "I worked at Sage Castle for a long time... Now that I'm retired, I want to spend some leisure time here and also put in requests...";
|
||||
next;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "Relax...";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Okay. It's worth it.";
|
||||
mes "Grant an idle old man a wish.";
|
||||
mes "Then I'll wait for the good news.";
|
||||
close;
|
||||
}
|
||||
mes "[Garim Springfield]";
|
||||
mes "What are you doing? Go fast.";
|
||||
close;
|
||||
case 1:
|
||||
mes "[Garim Springfield]";
|
||||
mes "Huh? Did you really visit the banquet hall deep in Niflheim?";
|
||||
mes "You came back alive?";
|
||||
mes "Okay then, tell me your story.";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Hmm hmm... I see!";
|
||||
mes "I am prepared like this, so I won't be afraid if I go later!";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "The research will last forever...!";
|
||||
completequest 8640;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Garim Springfield]";
|
||||
mes "I felt like I could do research even after dying, so I felt better.";
|
||||
close;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "BaseLevel >= 200 && isbegin_quest(8639) == 0 && isbegin_quest(8640) == 0" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8640) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,164,102,3 script Tired looking dead#lv20 4_F_NFDEADMGCIAN,{
|
||||
switch( isbegin_quest(8640) ) {
|
||||
case 0:
|
||||
switch( isbegin_quest(8639) ) {
|
||||
case 0:
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha-am...";
|
||||
mes "I can't sleep";
|
||||
mes "What's the fuss that you can't sleep even after you're dead?";
|
||||
mes "Let's get some sleep...";
|
||||
mes "I'm going to die because of the noise.";
|
||||
close;
|
||||
case 1:
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha-am...";
|
||||
mes "Huh? What? I don't deal with peddlers.";
|
||||
next;
|
||||
if (select( "You have a bad complexion", "Go back quietly" ) == 2) {
|
||||
mes "[Tired looking dead]";
|
||||
mes "Oh, I did mean to ask you if you had sleeping pills... But I'm dead... You won't hear me... Hmm.";
|
||||
close;
|
||||
}
|
||||
mes "[Tired looking dead]";
|
||||
mes "Uh, how did you know?";
|
||||
mes "My complexion must look real bad...";
|
||||
mes "Do you have a sleeping pill?";
|
||||
next;
|
||||
select("I'm not a junkie" );
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ah... I'm sorry. I misunderstood. All the people who have come this far were weird kids or people who sold drugs, so I kicked them out.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "By the way... how did you know that I am tired? Does my complexion look that bad?";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Actually, I've been dead for a while, but I've only recently come to Niflheim. So I decided to sleep here in this house...";
|
||||
mes "I can't sleep at night because it's so noisy next door.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "No, it's the pain of not being able to sleep because the next door is noisy even though I'm already dead..";
|
||||
mes "Oh, not next door. They all ran away.";
|
||||
mes "There's a reason why it is so cheap...";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Yes, <NAVI>[there]<INFO>niflheim,148,124,0,101,0</INFO></NAVI>";
|
||||
mes "The crazy villagers over there... they have a banquet every day.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "I'm in there every day, every day!!";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha... I know, even if it's every day, there's a set time.";
|
||||
mes "By the way... If you were a drinker, who would have gone home on time, while you were alive, would you do that even in death?";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "I'm... dead, so I just want to sleep peacefully...";
|
||||
mes "I hope they return to their senses after the banquet is over.";
|
||||
next;
|
||||
select( "Banquet is..." );
|
||||
mes "[Tired looking dead]";
|
||||
mes "Yeah... you look pretty strong and there's alcohol... they are dead, so it's magic.";
|
||||
mes "If you can silence those who are drunk with magical powers all night long, I will reward you.";
|
||||
mes "Yes, of course every day.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I am Milla. I am now a resident of Niflheim.";
|
||||
mes "Please help me sleep, my dear.";
|
||||
erasequest 8639;
|
||||
setquest 8640;
|
||||
close;
|
||||
case 2:
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 1:
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Yes, thank you for coming back.";
|
||||
mes "Ha-am...";
|
||||
mes "For me and my neighbors... for a good night's sleep.";
|
||||
next;
|
||||
if (select( "Listen to the request.", "Reject." ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "You can't do this if you're busy...";
|
||||
mes "Ah, after all, the living do not hear that sound. This is my agony only known to the dead...";
|
||||
npctalk "Another Dead: Noisy! Get some sleep!", "#lv200althema", bc_self;
|
||||
npctalk "Another Dead: He really can't sleep!", "#lv200althema2", bc_self;
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Beloved living, thank you for your mercy.";
|
||||
mes "It's a luxurious facility with a banquet hall and an Opera House, but each one is a little different.";
|
||||
mes "I'll ask for that kind of skill based on your kindness...";
|
||||
next;
|
||||
switch( select( "He looks cute", "That's not an instrument", "Playing the piano", "Guys with messy hair", "The ones with dolls", "Wake them up", "Stop" ) ) {
|
||||
case 1:
|
||||
switch( checkquest(8642,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8642;
|
||||
break;
|
||||
}
|
||||
switch( checkquest(8641,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "They look cute... but they're terribly noisy.";
|
||||
mes "^0000FF" + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "^000000,";
|
||||
mes "^0000FF" + getmonsterinfo("LUDE_GAL", MOB_NAME) + "^000000";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 15 " + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "";
|
||||
mes "and 15 of their mate " + getmonsterinfo("LUDE_GAL", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8641;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 15 " + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "";
|
||||
mes "and 15 of their mate " + getmonsterinfo("LUDE_GAL", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kya, did you hear them scream all the way here?";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "I have to make it through this commotion again tomorrow.";
|
||||
mes "Thank you.";
|
||||
erasequest 8641;
|
||||
setquest 8642;
|
||||
// getexp 15642570,10949790; // pre-rebalance
|
||||
getexp 20300909,14210636; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8645,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8645;
|
||||
break;
|
||||
}
|
||||
switch( checkquest(8644,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "It's called ^0000FF" + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "^000000.";
|
||||
mes "They have knives in their hands... ";
|
||||
mes "It's too loud to knock anywhere!";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 10 " + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "";
|
||||
mes "and 10 of their mate " + getmonsterinfo("GAN_CEANN", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead.";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8644;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 10 " + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "";
|
||||
mes "and 10 of their mate " + getmonsterinfo("GAN_CEANN", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kya, did you hear the sound of their cleavers and their helmets flying all the way up to here?";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "Thank you.";
|
||||
erasequest 8644;
|
||||
setquest 8645;
|
||||
// getexp 10756120,7541880; // pre-rebalance
|
||||
getexp 14106860,9874802; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 3:
|
||||
switch( checkquest(8648,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8648;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8647) ) {
|
||||
case 0:
|
||||
mes "[Milla]";
|
||||
mes "If you go into the banquet hall of the dead there, there will be a piano.";
|
||||
mes "It actually screams when a living person knocks on it.";
|
||||
mes "Would it be fun?";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "Play the <NAVI>[piano]<INFO>nif_dun01,140,202,0,101,0</INFO></NAVI>";
|
||||
mes "of the banquet hall of the dead.";
|
||||
mes "There is no such thing as a song request.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8647;
|
||||
close;
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "Play the <NAVI>[piano]<INFO>nif_dun01,140,202,0,101,0</INFO></NAVI>";
|
||||
mes "of the banquet hall of the dead.";
|
||||
mes "There is no such thing as a song request.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Hahaha, did you hear that? It's like alcohol... No, it's like that if you drink magic and act like a hawk.";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "Thank you.";
|
||||
erasequest 8647;
|
||||
erasequest 8649;
|
||||
setquest 8648;
|
||||
getexp 10000000,7500000;
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 4:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8651,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8651;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8650) ) {
|
||||
case 0:
|
||||
case 1:
|
||||
switch( checkquest(8650,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I mean, there are kids called ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000. ";
|
||||
mes "They've got their hair as if a bomb hit, and they look so excited.";
|
||||
mes "^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000, it can't be that loud when you get together with guys with broom hair.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8650;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Huh, huh, I can hear the bomb head dusting all the way up to here.";
|
||||
mes "Thanks to you, I will sleep well today.";
|
||||
mes "Thank you. See you again tomorrow.";
|
||||
completequest 8650;
|
||||
setquest 8651;
|
||||
getexp 44984725,31489308; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8652,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8652;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Huh, huh, I can hear the bomb head dusting all the way up to here.";
|
||||
mes "Thanks to you, I will sleep well today.";
|
||||
mes "Thank you. See you again tomorrow.";
|
||||
erasequest 8652;
|
||||
setquest 8651;
|
||||
getexp 44984725,31489308; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 5:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8654,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8654;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8653) ) {
|
||||
case 0:
|
||||
case 1:
|
||||
switch( checkquest(8653,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "If you look at the collapsed Opera House there,";
|
||||
mes "you'll see the ones with dolls. There's " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000...";
|
||||
mes "All the ones with dolls are so noisy.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8653;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kyak-kyak-kyak-kyak-kyak-kyak-kyak, what did you really do?";
|
||||
mes "A while ago, " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + " went home saying they wouldn't make a noise again.";
|
||||
mes "Of course not. They will come again tomorrow.";
|
||||
mes "Thank you. See you tomorrow.";
|
||||
completequest 8653;
|
||||
setquest 8654;
|
||||
getexp 29944101,20960871; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8655,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8655;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kyak-kyak-kyak-kyak-kyak-kyak-kyak, what did you really do?";
|
||||
mes "A while ago, " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + " went home saying they wouldn't make a noise again.";
|
||||
mes "Of course not. They will come again tomorrow.";
|
||||
mes "Thank you. See you tomorrow.";
|
||||
erasequest 8655;
|
||||
setquest 8654;
|
||||
getexp 29944101,20960871; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 6:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8657,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8657;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8656) ) {
|
||||
case 0:
|
||||
mes "[Milla]";
|
||||
mes "The smashed... no, don't say that.";
|
||||
mes "If you go to the collapsed Opera House, you will find ghosts in the frames.";
|
||||
mes "But they don't even have a body...";
|
||||
mes "Snoring, my dear.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "A <NAVI>[ghost talking]<INFO>nif_dun02,37,221,0,101,0</INFO></NAVI>";
|
||||
mes "and <NAVI>[snoring]<INFO>nif_dun02,249,221,0,101,0</INFO></NAVI>";
|
||||
mes "inside the banquet hall of the dead, twist your nose.";
|
||||
mes "You need to calm them down.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8656;
|
||||
close;
|
||||
case 1:
|
||||
if (isbegin_quest(8658) == 0 || isbegin_quest(8659) == 0) {
|
||||
mes "[Milla]";
|
||||
mes "A <NAVI>[ghost talking]<INFO>nif_dun02,37,221,0,101,0</INFO></NAVI>";
|
||||
mes "and <NAVI>[snoring]<INFO>nif_dun02,249,221,0,101,0</INFO></NAVI>";
|
||||
mes "inside the banquet hall of the dead, twist your nose.";
|
||||
mes "You need to calm them down.";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "...I can't eat any more...";
|
||||
mes "...hick.";
|
||||
mes "Oh, have you been there? I fell asleep without realizing it.";
|
||||
mes "It's really annoying to hear that snoring all the way...";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "It seems that the living do not hear well.";
|
||||
mes "Anyway, thank you for today.";
|
||||
mes "Sleep is precious...";
|
||||
mes "Sleep enough while you're alive.";
|
||||
erasequest 8656;
|
||||
erasequest 8658;
|
||||
erasequest 8659;
|
||||
setquest 8657;
|
||||
getexp 13000000,9100000; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
case 2:
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 7:
|
||||
mes "[Milla]";
|
||||
mes "You can't do this if you're busy...";
|
||||
mes "Ah, after all, the living do not hear that sound. This is my agony only known to the dead...";
|
||||
npctalk "Another Dead: Noisy! Get some sleep!", "#lv200althema", bc_self;
|
||||
npctalk "Another Dead: He really can't sleep!", "#lv200althema2", bc_self;
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
// prerequisite
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8639) == 1" );
|
||||
|
||||
// daily
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8641,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8644,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8647) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8650,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8652,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8653,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8655,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8658) == 1 && isbegin_quest(8659) == 1" );
|
||||
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8642,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8645,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8648,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8651,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8654,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8657,PLAYTIME) == 2" );
|
||||
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (checkquest(8641,HUNTING) == -1 && checkquest(8642,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (checkquest(8644,HUNTING) == -1 && checkquest(8645,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (isbegin_quest(8647) == 0 && checkquest(8648,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (checkquest(8650,HUNTING) == -1 && checkquest(8651,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && isbegin_quest(8650) == 2 && checkquest(8652,HUNTING) == -1 && checkquest(8651,PLAYTIME) == -1" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (checkquest(8653,HUNTING) == -1 && checkquest(8654,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && isbegin_quest(8653) == 2 && checkquest(8655,HUNTING) == -1 && checkquest(8654,PLAYTIME) == -1" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (isbegin_quest(8656) == 0 && checkquest(8657,PLAYTIME) == -1)" );
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,160,106,3 duplicate(dummy_npc) #lv200althema CLEAR_NPC
|
||||
niflheim,165,105,3 duplicate(dummy_npc) #lv200althema2 CLEAR_NPC
|
||||
|
||||
|
||||
niflheim,143,125,6 script Funny Gatekeeper's Friend#lv20 LUDE_GAL,{
|
||||
npctalk "Funny Gatekeeper's Friend: Sing~ All night~ or forever~", "", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,145,126,6 script Angry Gatekeeper#lv200 GHOST_CUBE,{
|
||||
npctalk "Angry Gatekeeper: Kye-Look! Living! Play! No need to go!", "", bc_self;
|
||||
npctalk "Funny Gatekeeper's Friend: No need to leave! Play with us!", "Funny Gatekeeper's Friend#lv20", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,140,202,3 script Piano#lv200 CLEAR_NPC,{
|
||||
if (isbegin_quest(8647) == 1) {
|
||||
mes "I couldn't hear anything, but the dead around me seem to be in an uproar.";
|
||||
mes "Let's report to Milla.";
|
||||
completequest 8647;
|
||||
setquest 8649;
|
||||
npctalk "Clink clink... Crackle!", "Piano#lv200", bc_self;
|
||||
npctalk "Sleep alive! Kyaaak!", "Exciting Cello#lv200", bc_self;
|
||||
npctalk "The living man plays the piano!", "Dancing Cello#lv200", bc_self;
|
||||
npctalk "Oh my God, he can't really play...", "Quiet Cello#lv200", bc_self;
|
||||
npctalk "How could that be...", "Stranger Cello#lv200", bc_self;
|
||||
npctalk "You ruined the atmosphere!", "Happy Cello#lv200", bc_self;
|
||||
npctalk "Piano Ooo!!!", "Serious Contrabass#lv2", bc_self;
|
||||
npctalk "The piano is stunned...", "Sleek Harp#lv200", bc_self;
|
||||
close;
|
||||
}
|
||||
// note: no text
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8647) == 1" );
|
||||
end;
|
||||
}
|
||||
nif_dun01,133,198,3 duplicate(dummy_npc) Exciting Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,138,195,3 duplicate(dummy_npc) Dancing Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,153,195,3 duplicate(dummy_npc) Quiet Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,152,198,3 duplicate(dummy_npc) Stranger Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,157,198,3 duplicate(dummy_npc) Happy Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,156,202,3 duplicate(dummy_npc) Serious Contrabass#lv2 CLEAR_NPC
|
||||
nif_dun01,133,201,3 duplicate(dummy_npc) Sleek Harp#lv200 CLEAR_NPC
|
||||
|
||||
nif_dun01,148,43,3 script Helpful Gatekeeper#240 DISGUISER,{
|
||||
if (BaseLevel < 240) {
|
||||
npctalk "Helpful Gatekeeper: Uh-huh-huh. You don't have enough grooming to get through here.", "", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means you are under-leveled.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
npctalk "Helpful Gatekeeper: Uh-huh-huh. Mountain, go up. Can't come down.", "", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means welcome.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,143,43,7 script Silent Gatekeeper#240 GROTE,{
|
||||
npctalk "Silent Gatekeeper: ...", "", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,37,221,3 script Sleep Talking Ghost#lv240 CLEAR_NPC,3,3,{
|
||||
if (isbegin_quest(8656) == 1) {
|
||||
switch( isbegin_quest(8659) ) {
|
||||
case 0:
|
||||
setquest 8659;
|
||||
mes "I twisted the nose of the ghost in the frame.";
|
||||
mes "There was no touch, but the ghost stopped talking.";
|
||||
npctalk "????????!", "", bc_self;
|
||||
if (isbegin_quest(8658) == 1)
|
||||
mes "Let's go report to Milla.";
|
||||
close;
|
||||
case 1:
|
||||
mes "The ghost that was talking about is not seen, and another ghost is sleeping.";
|
||||
close;
|
||||
default:
|
||||
end;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (isbegin_quest(8659) == 0) {
|
||||
npctalk "I want to eat it too... it looks delicious...", "", bc_self;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8659) == 0" );
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,249,221,3 script Snoring Ghost#lv240 CLEAR_NPC,3,3,{
|
||||
if (isbegin_quest(8656) == 1) {
|
||||
switch( isbegin_quest(8658) ) {
|
||||
case 0:
|
||||
setquest 8658;
|
||||
mes "I twisted the nose of the ghost in the frame.";
|
||||
mes "There was no touch, but the ghost stopped snoring.";
|
||||
npctalk "Nang!", "", bc_self;
|
||||
if (isbegin_quest(8659) == 1)
|
||||
mes "Let's go report to Milla.";
|
||||
close;
|
||||
case 1:
|
||||
mes "The snoring ghost is nowhere to be seen, and another ghost is sleeping.";
|
||||
close;
|
||||
default:
|
||||
end;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (isbegin_quest(8658) == 0)
|
||||
npctalk "Dorolong Dorolong...", "", bc_self;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8658) == 0" );
|
||||
end;
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ npc: npc/re/mobs/dungeons/mjo_dun.txt
|
||||
npc: npc/re/mobs/dungeons/moc_pryd.txt
|
||||
npc: npc/re/mobs/dungeons/moro_vol.txt
|
||||
npc: npc/re/mobs/dungeons/mosk_dun.txt
|
||||
npc: npc/re/mobs/dungeons/nif_dun.txt
|
||||
npc: npc/re/mobs/dungeons/nyd_dun.txt
|
||||
npc: npc/re/mobs/dungeons/odin.txt
|
||||
npc: npc/re/mobs/dungeons/orcsdun.txt
|
||||
|
@ -26,6 +26,7 @@ npc: npc/re/warps/dungeons/ecl_dun.txt
|
||||
npc: npc/re/warps/dungeons/harboro2.txt
|
||||
npc: npc/re/warps/dungeons/iz_dun.txt
|
||||
npc: npc/re/warps/dungeons/moc_pryd.txt
|
||||
npc: npc/re/warps/dungeons/nif_dun.txt
|
||||
npc: npc/re/warps/dungeons/rockmi1.txt
|
||||
npc: npc/re/warps/dungeons/sp_rudus.txt
|
||||
npc: npc/re/warps/dungeons/slabw01.txt
|
||||
|
34
npc/re/warps/dungeons/nif_dun.txt
Normal file
34
npc/re/warps/dungeons/nif_dun.txt
Normal file
@ -0,0 +1,34 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Niflheim dungeon warps script
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
niflheim,149,124,0 script nifla_nifdun01a WARPNPC,1,1,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (isbegin_quest(8640) == 0) {
|
||||
npctalk "Angry Gatekeeper: How are you adventurer? Go in? Do you want to go in? Kick!", "Angry Gatekeeper#lv200", bc_self;
|
||||
npctalk "Funny Gatekeeper's Friend: Awesome!", "Funny Gatekeeper's Friend#lv20", bc_self;
|
||||
end;
|
||||
}
|
||||
warp "nif_dun01",145,85;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,145,82,0 warp2 nifdun01a_nifla 1,1,niflheim,146,122
|
||||
|
||||
nif_dun01,146,36,0 script nifdun01a_nifdun02a WARPNPC,1,1,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (BaseLevel < 240) {
|
||||
npctalk "Helpful Gatekeeper: Hey, look at how you look! How can you come all the way here!", "Helpful Gatekeeper#240", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means lack of training.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
warp "nif_dun02",149,23;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,162,15,0 warp2 nifdun02a_nifdun01a 1,1,nif_dun01,146,39
|
||||
nif_dun02,137,15,0 warp2 nifdun02a_nifdun01a_ 1,1,nif_dun01,146,39
|
Loading…
x
Reference in New Issue
Block a user