summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRidley8819 <ridley8819@gmail.com>2016-07-11 11:14:45 +0200
committerhemagx <hemagx2@gmail.com>2016-07-20 05:10:59 +0200
commit114767ca4d5df9268b87f5d4be0836390209698f (patch)
tree3abbd3e4540fbd5f7bea0359374d45ae3fcda5ce
parent79464d974eda04788f69b1681f4428ad08651d8e (diff)
downloadhercules-114767ca4d5df9268b87f5d4be0836390209698f.tar.gz
hercules-114767ca4d5df9268b87f5d4be0836390209698f.tar.bz2
hercules-114767ca4d5df9268b87f5d4be0836390209698f.tar.xz
hercules-114767ca4d5df9268b87f5d4be0836390209698f.zip
Old Glast Heim and Nightmare Glast Heim implementation
-- adding glast heim Monsters/Items/Quests full entries -- corrected already existed glast heim items/quest/monsters entries -- added Old Glast Heim Enchanter -- Changed .MyMobs to 'MyMobs -- Added H.U.L.D suppot
-rw-r--r--db/quest_db.conf22
-rw-r--r--db/re/item_db.conf130
-rw-r--r--db/re/mob_db.conf929
-rw-r--r--db/re/mob_skill_db.txt196
-rw-r--r--npc/re/instances/OldGlastHeim.txt2870
-rw-r--r--npc/re/kafras/kafras.txt8
-rw-r--r--npc/re/mobs/dungeons/glastheim.txt19
7 files changed, 3079 insertions, 1095 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index ce1520100..7a3e2717b 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -10871,13 +10871,17 @@ quest_db: (
},
// Old Glast Heim
{
+ Id: 12316
+ Name: "Meet Hugin"
+},
+{
Id: 12317
- Name: "Fake Keyblade"
+ Name: "Trace of Time Travel"
TimeLimit: 82800
},
{
Id: 12318
- Name: "Upper Cats: annoying guy"
+ Name: "Corrupted Soul Hunt"
Targets: (
{
MobId: 2475
@@ -10887,7 +10891,7 @@ quest_db: (
},
{
Id: 12319
- Name: "Upper Cats: annoying guy"
+ Name: "Amdarais Hunt"
Targets: (
{
MobId: 2476
@@ -10896,6 +10900,18 @@ quest_db: (
)
},
{
+ Id: 12320
+ Name: "Time Traveler"
+},
+{
+ Id: 12321
+ Name: "Time Conqueror"
+},
+{
+ Id: 12322
+ Name: "Space Distortion"
+},
+{
Id: 12363
Name: "?????? ?? ??"
},
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 4016b710b..a84a94c5c 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -23713,7 +23713,7 @@ item_db: (
Id: 2020
AegisName: "Jormungand"
Name: "Jormungand"
- Type: 5
+ Type: 4
Buy: 20
Weight: 3000
Atk: 200
@@ -23741,7 +23741,7 @@ item_db: (
Id: 2021
AegisName: "Ganbantein"
Name: "Ganbantein"
- Type: 5
+ Type: 4
Buy: 20
Weight: 2000
Atk: 100
@@ -23769,7 +23769,7 @@ item_db: (
Id: 2022
AegisName: "Staff_Of_Geffen"
Name: "Staff Of Geffen"
- Type: 5
+ Type: 4
Buy: 20
Weight: 1000
Atk: 100
@@ -40509,6 +40509,24 @@ item_db: (
">
},
{
+ Id: 2949
+ AegisName: "Silversmith_Bracelet"
+ Name: "Silversmith Bracelet"
+ Type: 5
+ Buy: 20
+ Weight: 100
+ Def: 3
+ Slots: 1
+ Loc: 136
+ EquipLv: 60
+ Refine: false
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMdef, 3;
+ skill SA_SPELLBREAKER,5;
+ ">
+},
+{
Id: 2950
AegisName: "Rune_Ring"
Name: "Rune Ring"
@@ -73763,6 +73781,38 @@ item_db: (
Weight: 10
},
{
+ Id: 6609
+ AegisName: "Glast_Decayed_Nail"
+ Name: "Glast Decayed Nail"
+ Buy: 82
+ Weight: 10
+ BuyingStore: true
+},
+{
+ Id: 6610
+ AegisName: "Glast_Horrendous_Mouth"
+ Name: "Glast Horrendous Mouth"
+ Buy: 390
+ Weight: 10
+ BuyingStore: true
+},
+{
+ Id: 6612
+ AegisName: "Gold_Coin_Basket"
+ Name: "Gold Coin Basket"
+ Buy: 300000
+ Weight: 200
+ BuyingStore: true
+},
+{
+ Id: 6613
+ AegisName: "Colorful_Brooch"
+ Name: "Colorful Brooch"
+ Buy: 100000
+ Weight: 10
+ BuyingStore: true
+},
+{
Id: 6615
AegisName: "Siege_Guild_Coin"
Name: "Siege Guild Coin"
@@ -73992,6 +74042,13 @@ item_db: (
Name: "Love Wand"
},
{
+ Id: 6755
+ AegisName: "Contaminated_Magic"
+ Name: "Contaminated Magic"
+ Buy: 20
+ Weight: 10
+},
+{
Id: 6804
AegisName: "Organic_Pumpkin"
Name: "Organic Pumpkin"
@@ -99640,6 +99697,29 @@ item_db: (
">
},
{
+ Id: 13086
+ AegisName: "Goldsmithing_Dagger"
+ Name: "Goldsmithing Dagger"
+ Type: 4
+ Buy: 20
+ Weight: 500
+ Atk: 35
+ Matk: 25
+ Range: 1
+ Job: {
+ Swordsman: true
+ Magician: true
+ Merchant: true
+ Thief: true
+ Soul_Linker: true
+ Ninja: true
+ }
+ Upper: 56
+ Loc: 2
+ WeaponLv: 1
+ View: 1
+},
+{
Id: 13092
AegisName: "RWC_Memory_Knife"
Name: "RWC Memory Knife"
@@ -104477,6 +104557,32 @@ item_db: (
">
},
{
+ Id: 13440
+ AegisName: "Ceremonial_Sword"
+ Name: "Ceremonial Sword"
+ Type: 4
+ Buy: 20
+ Weight: 500
+ Atk: 60
+ Job: {
+ Novice: true
+ Swordsman: true
+ Merchant: true
+ Thief: true
+ Knight: true
+ Blacksmith: true
+ Assassin: true
+ Crusader: true
+ Rogue: true
+ Alchemist: true
+ }
+ Upper: 56
+ Loc: 2
+ WeaponLv: 1
+ View: 2
+ Script: <" bonus bAtkEle,Ele_Holy; ">
+},
+{
Id: 13442
AegisName: "Old_Parasol"
Name: "Old Parasol"
@@ -123739,6 +123845,24 @@ item_db: (
">
},
{
+ Id: 15066
+ AegisName: "Engraved_Armor"
+ Name: "Engraved Armor"
+ Type: 5
+ Weight: 3000
+ Def: 120
+ Slots: 1
+ Job: {
+ Swordsman: true
+ Knight: true
+ Crusader: true
+ }
+ Upper: 56
+ Loc: 16
+ EquipLv: 150
+ Script: <" bonus bMdef,25; ">
+},
+{
Id: 15067
AegisName: "Rune_Suit"
Name: "Rune Suit"
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index fd24b9cc0..ae4c7a57e 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -64471,27 +64471,27 @@ mob_db: (
//2462,TREASURE_BOX_TE_10
//2463,E_BOMBPORING
-// Old Glast Heim (currently placeholders)
+// Old Glast Heim
{
Id: 2464
SpriteName: "MG_ZOMBIE"
- Name: "Zombie"
- Lv: 17
- Hp: 9340
+ Name: "Corrupted Steward"
+ Lv: 130
+ Hp: 135600
Sp: 1
- Exp: 117
- JExp: 87
+ Exp: 13332
+ JExp: 15998
AttackRange: 1
- Attack: [38, 50]
- Def: 20
- Mdef: 3
+ Attack: [2364, 444]
+ Def: 15
+ Mdef: 15
Stats: {
- Str: 15
- Agi: 8
- Vit: 17
- Int: 0
- Dex: 15
- Luk: 0
+ Str: 44
+ Agi: 22
+ Vit: 77
+ Int: 25
+ Dex: 88
+ Luk: 22
}
ViewRange: 10
ChaseRange: 12
@@ -64503,6 +64503,8 @@ mob_db: (
Aggressive: true
CanAttack: true
Angry: true
+ CastSensorIdle: true
+ Detector: true
ChangeTargetMelee: true
ChangeTargetChase: true
}
@@ -64510,27 +64512,34 @@ mob_db: (
AttackDelay: 2612
AttackMotion: 912
DamageMotion: 288
- MvpExp: 0
+ Drops: {
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Coagulated_Spell: 10
+ Sticky_Mucus: 1000
+ White_Jewel: 500
+ Contaminated_Magic: 500
+ }
},
{
Id: 2465
SpriteName: "MG_WRAITH"
- Name: "Wraith"
- Lv: 77
- Hp: 23168
+ Name: "Corrupted Monk"
+ Lv: 133
+ Hp: 100168
Sp: 1
- Exp: 1190
- JExp: 1191
+ Exp: 13998
+ JExp: 16796
AttackRange: 1
- Attack: [335, 396]
+ Attack: [999, 2787]
Def: 80
- Mdef: 40
+ Mdef: 200
Stats: {
- Str: 62
+ Str: 16
Agi: 26
Vit: 30
- Int: 55
- Dex: 76
+ Int: 115
+ Dex: 79
Luk: 5
}
ViewRange: 10
@@ -64542,6 +64551,7 @@ mob_db: (
CanMove: true
Aggressive: true
CastSensorIdle: true
+ Detector: true
CanAttack: true
CastSensorChase: true
ChangeChase: true
@@ -64552,28 +64562,36 @@ mob_db: (
AttackDelay: 1816
AttackMotion: 576
DamageMotion: 240
- MvpExp: 0
+ Drops: {
+ Crystal_Jewel_: 100
+ Crystal_Mirror: 500
+ Wedding_Veil: 100
+ Coagulated_Spell: 10
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Contaminated_Magic: 500
+ }
},
{
Id: 2466
SpriteName: "MG_GHOUL"
- Name: "Ghoul"
- Lv: 61
- Hp: 12614
+ Name: "Grand Chamberlain in Pain"
+ Lv: 132
+ Hp: 208100
Sp: 1
- Exp: 583
- JExp: 656
+ Exp: 14222
+ JExp: 17066
AttackRange: 1
- Attack: [216, 245]
- Def: 78
- Mdef: 5
+ Attack: [2965,666]
+ Def: 30
+ Mdef: 30
Stats: {
- Str: 56
- Agi: 12
- Vit: 19
- Int: 11
- Dex: 27
- Luk: 10
+ Str: 88
+ Agi: 44
+ Vit: 88
+ Int: 21
+ Dex: 95
+ Luk: 44
}
ViewRange: 10
ChaseRange: 12
@@ -64584,6 +64602,8 @@ mob_db: (
CanMove: true
Aggressive: true
CanAttack: true
+ CastSensorIdle: true
+ Detector: true
Angry: true
ChangeTargetMelee: true
ChangeTargetChase: true
@@ -64592,39 +64612,47 @@ mob_db: (
AttackDelay: 2456
AttackMotion: 912
DamageMotion: 504
- MvpExp: 0
+ Drops: {
+ Oridecon_Stone: 100
+ Skul_Ring: 100
+ Coagulated_Spell: 10
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Old_White_Cloth: 1000
+ Contaminated_Magic: 500
+ }
},
{
Id: 2467
SpriteName: "MG_ARCLOUSE"
- Name: "Arclouse"
- JName: "Arclouze"
- Lv: 107
- Hp: 14020
+ Name: "Maggot"
+ Lv: 133
+ Hp: 80811
Sp: 1
- Exp: 1844
- JExp: 2607
+ Exp: 22
+ JExp: 26
AttackRange: 1
- Attack: [269, 309]
- Def: 101
+ Attack: [1246, 1257]
+ Def: 121
Mdef: 36
Stats: {
Str: 60
- Agi: 73
+ Agi: 103
Vit: 45
Int: 35
- Dex: 140
+ Dex: 172
Luk: 15
}
ViewRange: 10
ChaseRange: 12
- Size: "Size_Medium"
+ Size: "Size_Small"
Race: "RC_Insect"
Element: ("Ele_Earth", 2)
Mode: {
CanMove: true
Aggressive: true
CastSensorIdle: true
+ Detector: true
CanAttack: true
Detector: true
ChangeTargetMelee: true
@@ -64634,39 +64662,47 @@ mob_db: (
AttackDelay: 960
AttackMotion: 500
DamageMotion: 480
- MvpExp: 0
+ Drops: {
+ Great_Nature: 100
+ Round_Shell: 3000
+ Coagulated_Spell: 10
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Contaminated_Magic: 500
+ }
},
{
Id: 2468
SpriteName: "MG_RAYDRIC"
- Name: "Raydric"
- Lv: 115
- Hp: 25408
+ Name: "Corrupted Palace Guard"
+ Lv: 135
+ Hp: 184080
Sp: 1
- Exp: 20770
- JExp: 2076
- AttackRange: 1
- Attack: [572, 668]
+ Exp: 16306
+ JExp: 6944
+ AttackRange: 2
+ Attack: [3167, 138]
Def: 89
Mdef: 15
Stats: {
- Str: 129
+ Str: 159
Agi: 87
- Vit: 55
- Int: 32
- Dex: 76
+ Vit: 66
+ Int: 33
+ Dex: 106
Luk: 27
}
ViewRange: 10
ChaseRange: 12
- Size: "Size_Large"
- Race: "RC_DemiHuman"
+ Size: "Size_Medium"
+ Race: "RC_Undead"
Element: ("Ele_Dark", 2)
Mode: {
CanMove: true
Aggressive: true
CastSensorIdle: true
CanAttack: true
+ Detector: true
ChangeTargetMelee: true
ChangeTargetChase: true
}
@@ -64674,19 +64710,27 @@ mob_db: (
AttackDelay: 824
AttackMotion: 780
DamageMotion: 420
- MvpExp: 0
+ Drops: {
+ Brigan: 3000
+ Elunium: 50
+ Coagulated_Spell: 10
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Contaminated_Magic: 500
+ Plate_Armor: 200
+ }
},
{
Id: 2469
SpriteName: "MG_RAYDRIC_ARCHER"
- Name: "Raydric Archer"
- Lv: 82
- Hp: 30370
+ Name: "Wandering Archer"
+ Lv: 136
+ Hp: 144370
Sp: 1
- Exp: 1049
- JExp: 1332
- AttackRange: 9
- Attack: [377, 395]
+ Exp: 14248
+ JExp: 9378
+ AttackRange: 14
+ Attack: [3891 , 167]
Def: 63
Mdef: 40
Stats: {
@@ -64694,18 +64738,20 @@ mob_db: (
Agi: 24
Vit: 40
Int: 15
- Dex: 112
+ Dex: 156
Luk: 30
}
ViewRange: 10
ChaseRange: 12
Size: "Size_Medium"
- Race: "RC_Demon"
+ Race: "RC_Undead"
Element: ("Ele_Dark", 2)
Mode: {
CanMove: true
Aggressive: true
CanAttack: true
+ CastSensorIdle: true
+ CastSensorChase: true
Detector: true
ChangeTargetChase: true
}
@@ -64713,41 +64759,50 @@ mob_db: (
AttackDelay: 1152
AttackMotion: 1152
DamageMotion: 480
- MvpExp: 0
+ Drops: {
+ Brigan: 3000
+ Elunium: 50
+ Coagulated_Spell: 10
+ Glast_Decayed_Nail: 1000
+ Glast_Horrendous_Mouth: 1000
+ Contaminated_Magic: 500
+ Tights: 200
+ }
},
{
Id: 2470
SpriteName: "MG_KNIGHT_OF_ABYSS"
- Name: "Knight of Abyss"
- JName: "Abysmal Knight"
- Lv: 122
- Hp: 332970
+ Name: "Corrupted Abysmal Knight"
+ Lv: 142
+ Hp: 225789
Sp: 1
- Exp: 4779
- JExp: 4013
- AttackRange: 1
- Attack: [810, 1002]
+ Exp: 18584
+ JExp: 16576
+ AttackRange: 2
+ Attack: [3200, 22]
Def: 102
Mdef: 50
Stats: {
Str: 121
Agi: 55
- Vit: 68
+ Vit: 99
Int: 70
- Dex: 97
+ Dex: 126
Luk: 37
}
ViewRange: 10
ChaseRange: 12
Size: "Size_Large"
- Race: "RC_DemiHuman"
+ Race: "RC_Undead"
Element: ("Ele_Dark", 4)
Mode: {
CanMove: true
Aggressive: true
CastSensorIdle: true
CanAttack: true
+ Detector: true
CastSensorChase: true
+ Boss: true
ChangeChase: true
ChangeTargetMelee: true
ChangeTargetChase: true
@@ -64756,27 +64811,35 @@ mob_db: (
AttackDelay: 1500
AttackMotion: 500
DamageMotion: 1000
- MvpExp: 0
+ Drops: {
+ Reins: 5000
+ Patriotism_Marks: 10
+ Coagulated_Spell: 50
+ Glast_Decayed_Nail: 3000
+ Glast_Horrendous_Mouth: 2000
+ Contaminated_Magic: 500
+ Full_Plate_Armor: 200
+ }
},
{
Id: 2471
SpriteName: "MG_KHALITZBURG"
- Name: "Khalitzburg"
- Lv: 118
- Hp: 109860
+ Name: "Suffering Khalitzburg"
+ Lv: 143
+ Hp: 236851
Sp: 1
- Exp: 2862
- JExp: 2147
- AttackRange: 1
- Attack: [737, 833]
+ Exp: 17542
+ JExp: 14662
+ AttackRange: 2
+ Attack: [2800, 100]
Def: 125
Mdef: 10
Stats: {
Str: 121
- Agi: 48
- Vit: 40
- Int: 31
- Dex: 89
+ Agi: 142
+ Vit: 55
+ Int: 81
+ Dex: 105
Luk: 32
}
ViewRange: 10
@@ -64789,7 +64852,9 @@ mob_db: (
Aggressive: true
CastSensorIdle: true
CanAttack: true
+ Detector: true
CastSensorChase: true
+ Boss: true
ChangeChase: true
ChangeTargetMelee: true
ChangeTargetChase: true
@@ -64798,76 +64863,94 @@ mob_db: (
AttackDelay: 528
AttackMotion: 1000
DamageMotion: 396
- MvpExp: 0
+ Drops: {
+ Elunium: 50
+ Patriotism_Marks: 10
+ Coagulated_Spell: 50
+ Glast_Decayed_Nail: 3000
+ Glast_Horrendous_Mouth: 2000
+ Contaminated_Magic: 500
+ Lapier: 300
+ }
},
{
Id: 2472
SpriteName: "MG_BLOODY_KNIGHT"
Name: "Bloody Knight"
- Lv: 116
- Hp: 285000
+ Lv: 143
+ Hp: 246751
Sp: 1
- Exp: 7348
- JExp: 6511
- AttackRange: 3
- Attack: [942, 1065]
+ Exp: 20448
+ JExp: 21882
+ AttackRange: 2
+ Attack: [1881, 3200]
Def: 122
- Mdef: 50
+ Mdef: 300
Stats: {
Str: 132
- Agi: 59
- Vit: 70
- Int: 57
- Dex: 98
+ Agi: 55
+ Vit: 89
+ Int: 151
+ Dex: 137
Luk: 45
}
ViewRange: 10
ChaseRange: 12
Size: "Size_Large"
- Race: "RC_Formless"
+ Race: "RC_Undead"
Element: ("Ele_Dark", 4)
Mode: {
CanMove: true
Aggressive: true
CastSensorIdle: true
CanAttack: true
+ Boss: true
CastSensorChase: true
ChangeChase: true
ChangeTargetMelee: true
ChangeTargetChase: true
+ Detector: true
}
MoveSpeed: 250
AttackDelay: 828
AttackMotion: 528
DamageMotion: 192
- MvpExp: 0
+ Drops: {
+ Two_Hand_Sword: 100
+ Broad_Sword: 100
+ Coagulated_Spell: 50
+ Glast_Decayed_Nail: 3000
+ Glast_Horrendous_Mouth: 2000
+ Contaminated_Magic: 500
+ Brigan: 500
+ }
},
{
Id: 2473
SpriteName: "MG_M_UNDEAD_KNIGHT"
- Name: "Undead Knight"
- Lv: 133
- Hp: 500000
+ Name: "1st Commander of Destruction"
+ Lv: 145
+ Hp: 950033
Sp: 0
- Exp: 4500
- JExp: 3375
+ Exp: 160018
+ JExp: 135184
AttackRange: 2
- Attack: [751, 880]
- Def: 122
- Mdef: 62
+ Attack: [3321, 1009]
+ Def: 80
+ Mdef: 150
Stats: {
- Str: 122
- Agi: 87
- Vit: 54
- Int: 65
- Dex: 103
- Luk: 65
+ Str: 165
+ Agi: 82
+ Vit: 110
+ Int: 122
+ Dex: 154
+ Luk: 52
}
ViewRange: 14
ChaseRange: 16
- Size: "Size_Large"
- Race: "RC_DemiHuman"
- Element: ("Ele_Neutral", 4)
+ Size: "Size_Medium"
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 2)
Mode: {
CanMove: true
Aggressive: true
@@ -64884,34 +64967,43 @@ mob_db: (
AttackDelay: 140
AttackMotion: 384
DamageMotion: 288
- MvpExp: 0
+ Drops: {
+ Claymore: 100
+ Alca_Bringer: 10
+ Coagulated_Spell: 50
+ Glast_Decayed_Nail: 5000
+ Glast_Horrendous_Mouth: 5000
+ Contaminated_Magic: 500
+ Halberd: 200
+ Agony_Of_Royal_Knight_Card: 1
+ }
},
{
Id: 2474
SpriteName: "MG_F_UNDEAD_KNIGHT"
- Name: "Undead Knight"
- Lv: 133
- Hp: 500000
+ Name: "2nd Commander of Destruction"
+ Lv: 145
+ Hp: 848011
Sp: 0
- Exp: 4500
- JExp: 3375
+ Exp: 159672
+ JExp: 120398
AttackRange: 2
- Attack: [751, 880]
- Def: 122
- Mdef: 62
+ Attack: [3090, 1488]
+ Def: 80
+ Mdef: 180
Stats: {
- Str: 122
- Agi: 87
- Vit: 54
- Int: 65
- Dex: 103
- Luk: 65
+ Str: 155
+ Agi: 88
+ Vit: 110
+ Int: 135
+ Dex: 154
+ Luk: 59
}
ViewRange: 14
ChaseRange: 16
- Size: "Size_Large"
- Race: "RC_DemiHuman"
- Element: ("Ele_Neutral", 4)
+ Size: "Size_Medium"
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 2)
Mode: {
CanMove: true
Aggressive: true
@@ -64928,80 +65020,95 @@ mob_db: (
AttackDelay: 140
AttackMotion: 384
DamageMotion: 288
- MvpExp: 0
+ Drops: {
+ Holy_Avenger: 50
+ Claymore: 100
+ Coagulated_Spell: 50
+ Glast_Decayed_Nail: 5000
+ Glast_Horrendous_Mouth: 5000
+ Contaminated_Magic: 500
+ Grudge_of_Royal_Knight_Card: 1
+ }
},
{
Id: 2475
SpriteName: "MG_CORRUPTION_ROOT"
- Name: "Root of Corruption"
- Lv: 136
- Hp: 3190000
+ Name: "Corrupted Soul"
+ Lv: 150
+ Hp: 1820000
Sp: 1
- Exp: 240120
- JExp: 187920
+ Exp: 2199906
+ JExp: 2008478
AttackRange: 3
- Attack: [710, 1762]
- Def: 213
- Mdef: 123
+ Attack: [3887, 3887]
+ Def: 333
+ Mdef: 333
Stats: {
- Str: 86
- Agi: 89
- Vit: 120
- Int: 131
- Dex: 101
- Luk: 92
+ Str: 201
+ Agi: 20
+ Vit: 90
+ Int: 201
+ Dex: 201
+ Luk: 20
}
ViewRange: 14
ChaseRange: 12
Size: "Size_Large"
- Race: "RC_DemiHuman"
+ Race: "RC_Demon"
Element: ("Ele_Earth", 3)
Mode: {
Aggressive: true
+ CastSensorIdle: true
Boss: true
CanAttack: true
Detector: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
}
MoveSpeed: 170
AttackDelay: 854
AttackMotion: 2016
DamageMotion: 480
- MvpExp: 120060
- MvpDrops: {
- Yggdrasilberry: 5500
- Seed_Of_Yggdrasil: 3500
- Crystal_Jewel__: 5500
- }
+ MvpExp: 449977
Drops: {
+ Old_Card_Album: 5000
+ Old_Violet_Box: 10000
+ Temporal_Crystal: 5000
+ Yggdrasilberry: 10000
+ Alchemy_Glove: 1000
+ Will_Of_Darkness_: 10000
+ Contaminated_Magic: 500
Corruption_Root_Card: 1
}
},
{
Id: 2476
SpriteName: "MG_AMDARAIS"
- Name: "Amdarias"
- Lv: 143
- Hp: 3283990
+ Name: "Amdarais"
+ Lv: 150
+ Hp: 4290000
Sp: 1
- Exp: 74288
- JExp: 77950
- AttackRange: 2
- Attack: [8860, 10022]
- Def: 32
- Mdef: 66
+ Exp: 2291324
+ JExp: 2197024
+ AttackRange: 3
+ Attack: [5290, 3900]
+ Def: 30
+ Mdef: 40
Stats: {
- Str: 140
- Agi: 159
- Vit: 30
- Int: 109
- Dex: 300
- Luk: 90
+ Str: 255
+ Agi: 39
+ Vit: 90
+ Int: 169
+ Dex: 166
+ Luk: 20
}
ViewRange: 10
ChaseRange: 12
Size: "Size_Large"
- Race: "RC_Brute"
- Element: ("Ele_Fire", 3)
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 4)
Mode: {
CanMove: true
Aggressive: true
@@ -65018,25 +65125,433 @@ mob_db: (
AttackDelay: 1152
AttackMotion: 1152
DamageMotion: 576
- MvpExp: 37144
- MvpDrops: {
- Old_Violet_Box: 5500
- Old_Violet_Box: 5000
- Old_Card_Album: 2000
- }
+ MvpExp: 472831
Drops: {
+ Old_Card_Album: 5000
+ Old_Violet_Box: 10000
+ Temporal_Crystal: 5000
+ Yggdrasilberry: 10000
+ Death_Guidance: 1000
+ Patriotism_Marks: 10000
Amdarais_Card: 1
}
},
-//2477,NG_WANDER_MAN
-//2478,NG_RIDEWORD
-//2479,NG_MIMIC
-//2480,NG_EVIL_DRUID
-//2481,NG_WRAITH_DEAD
-//2482,G_MG_KHALITZBURG
-//2483,NG_BAPHOMET
-//2484,G_NG_BAPHOMET_
-//2485,NG_CHIMERA
+// Nightmare Glast Heim
+{
+ Id: 2477
+ SpriteName: "NG_WANDER_MAN"
+ Name: "Nightmare Wander Man"
+ Lv: 151
+ Hp: 130682
+ Sp: 1
+ Exp: 19814
+ JExp: 17228
+ AttackRange: 2
+ Attack: [2827, 218]
+ Def: 129
+ Mdef: 16
+ Stats: {
+ Str: 208
+ Agi: 151
+ Vit: 76
+ Int: 39
+ Dex: 231
+ Luk: 50
+ }
+ ViewRange: 12
+ ChaseRange: 12
+ Size: "Size_Medium"
+ Race: "RC_Demon"
+ Element: ("Ele_Wind", 1)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ Detector: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 672
+ AttackMotion: 500
+ DamageMotion: 192
+ Drops: {
+ Skull: 4850
+ Old_Card_Album: 2
+ Hakujin_: 5
+ Centimental_Leaf: 5
+ Muramasa_: 1
+ Oridecon: 110
+ Muramasa: 10
+ }
+},
+{
+ Id: 2478
+ SpriteName: "NG_RIDEWORD"
+ Name: "Nightmare Rideword"
+ Lv: 146
+ Hp: 103220
+ Sp: 1
+ Exp: 10500
+ JExp: 15840
+ AttackRange: 1
+ Attack: [2320, 166]
+ Def: 140
+ Mdef: 59
+ Stats: {
+ Str: 131
+ Agi: 195
+ Vit: 58
+ Int: 66
+ Dex: 263
+ Luk: 5
+ }
+ ViewRange: 12
+ ChaseRange: 12
+ Size: "Size_Small"
+ Race: "RC_Formless"
+ Element: ("Ele_Neutral", 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 150
+ AttackDelay: 864
+ AttackMotion: 500
+ DamageMotion: 192
+ Drops: {
+ Worn_Out_Page: 4850
+ Book_Of_Billows_: 5
+ Book_Of_Mother_Earth_: 5
+ Book_Of_Blazing_Sun_: 5
+ Book_Of_Gust_Of_Wind_: 5
+ Bookclip_In_Memory: 150
+ Cursed_Book: 1
+ }
+},
+{
+ Id: 2479
+ SpriteName: "NG_MIMIC"
+ Name: "Nightmare Mimic"
+ Lv: 143
+ Hp: 24958
+ Sp: 1
+ Exp: 2768
+ JExp: 2354
+ AttackRange: 1
+ Attack: [1787, 159]
+ Def: 139
+ Mdef: 46
+ Stats: {
+ Str: 145
+ Agi: 162
+ Vit: 10
+ Int: 49
+ Dex: 213
+ Luk: 57
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Medium"
+ Race: "RC_Formless"
+ Element: ("Ele_Neutral", 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 972
+ AttackMotion: 500
+ DamageMotion: 288
+ Drops: {
+ Old_Violet_Box: 10
+ Old_Blue_Box: 50
+ Special_Alloy_Trap: 1000
+ Light_Granule: 1000
+ Rosary_: 10
+ Elunium_Stone: 270
+ Apple: 22
+ }
+},
+{
+ Id: 2480
+ SpriteName: "NG_EVIL_DRUID"
+ Name: "Nightmare Evil Druid"
+ Lv: 134
+ Hp: 72837
+ Sp: 1
+ Exp: 6740
+ JExp: 5886
+ AttackRange: 1
+ Attack: [1409, 143]
+ Def: 160
+ Mdef: 41
+ Stats: {
+ Str: 137
+ Agi: 60
+ Vit: 48
+ Int: 57
+ Dex: 158
+ Luk: 28
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Large"
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 4)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 2276
+ AttackMotion: 576
+ DamageMotion: 336
+ Drops: {
+ Biretta_: 10
+ Lich_Bone_Wand: 1
+ Ragamuffin_Cape: 10
+ Book_Of_The_Apocalypse: 5
+ Cookbook07: 5
+ White_Herb: 2000
+ }
+},
+{
+ Id: 2481
+ SpriteName: "NG_WRAITH_DEAD"
+ Name: "Nightmare Wraith Dead"
+ Lv: 110
+ Hp: 15579
+ Sp: 1
+ Exp: 2554
+ JExp: 2760
+ AttackRange: 1
+ Attack: [761, 122]
+ Def: 93
+ Mdef: 56
+ Stats: {
+ Str: 69
+ Agi: 52
+ Vit: 47
+ Int: 55
+ Dex: 109
+ Luk: 28
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Large"
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 4)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 175
+ AttackDelay: 1816
+ AttackMotion: 576
+ DamageMotion: 240
+ Drops: {
+ Transparent_Cloth: 4400
+ Wedding_Veil: 10
+ Manteau_: 5
+ Red_Gemstone: 750
+ Manteau: 10
+ Crystal_Jewel__: 10
+ }
+},
+{
+ Id: 2482
+ SpriteName: "G_MG_KHALITZBURG"
+ Name: "Nightmare Khalitzburg"
+ Lv: 143
+ Hp: 236851
+ Sp: 1
+ Exp: 13085
+ JExp: 10023
+ AttackRange: 1
+ Attack: [2800, 100]
+ Def: 125
+ Mdef: 10
+ Stats: {
+ Str: 121
+ Agi: 142
+ Vit: 55
+ Int: 81
+ Dex: 125
+ Luk: 32
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Large"
+ Race: "RC_Undead"
+ Element: ("Ele_Undead", 1)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 350
+ AttackDelay: 528
+ AttackMotion: 1000
+ DamageMotion: 396
+},
+{
+ Id: 2483
+ SpriteName: "NG_BAPHOMET"
+ Name: "Nightmare Baphomet"
+ Lv: 154
+ Hp: 4008000
+ Sp: 1
+ Exp: 1308530
+ JExp: 1002320
+ AttackRange: 1
+ Attack: [2794, 1260]
+ Def: 379
+ Mdef: 45
+ Stats: {
+ Str: 120
+ Agi: 125
+ Vit: 230
+ Int: 85
+ Dex: 186
+ Luk: 85
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Large"
+ Race: "RC_Demon"
+ Element: ("Ele_Dark", 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ Boss: true
+ CanAttack: true
+ Detector: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 768
+ AttackMotion: 768
+ DamageMotion: 576
+ MvpExp: 198262
+},
+{
+ Id: 2484
+ SpriteName: "G_NG_BAPHOMET_"
+ Name: "Nightmare Baphomet Jr."
+ Lv: 141
+ Hp: 49675
+ Sp: 1
+ Exp: 13085
+ JExp: 10023
+ AttackRange: 1
+ Attack: [1302, 558]
+ Def: 175
+ Mdef: 62
+ Stats: {
+ Str: 52
+ Agi: 60
+ Vit: 90
+ Int: 40
+ Dex: 52
+ Luk: 25
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Small"
+ Race: "RC_Demon"
+ Element: ("Ele_Dark", 1)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 868
+ AttackMotion: 480
+ DamageMotion: 120
+},
+{
+ Id: 2485
+ SpriteName: "NG_CHIMERA"
+ Name: "Nightmare Chimera"
+ Lv: 140
+ Hp: 528120
+ Sp: 1
+ Exp: 54260
+ JExp: 46980
+ AttackRange: 1
+ Attack: [1887, 823]
+ Def: 159
+ Mdef: 20
+ Stats: {
+ Str: 101
+ Agi: 76
+ Vit: 110
+ Int: 176
+ Dex: 182
+ Luk: 170
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Large"
+ Race: "RC_Brute"
+ Element: ("Ele_Fire", 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CastSensorIdle: true
+ CanAttack: true
+ Detector: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 772
+ AttackMotion: 672
+ DamageMotion: 360
+},
//2486,ISIS_ANNIV
//2487,PASANA_ANNIV
//2488,OSIRIS_ANNIV
@@ -72403,14 +72918,14 @@ mob_db: (
{
Id: 2733
SpriteName: "C5_NG_WRAITH_DEAD"
- Name: "Elusive Wraith Dead (Nightmare)"
+ Name: "Elusive Wraith Dead"
Lv: 110
Hp: 77895
Sp: 1
Exp: 6385
JExp: 20700
AttackRange: 1
- Attack: [909, 365]
+ Attack: [909, 1274]
Def: 93
Mdef: 53
Stats: {
@@ -72445,7 +72960,7 @@ mob_db: (
{
Id: 2734
SpriteName: "C1_NG_WANDER_MAN"
- Name: "Furious Wanderer (Nightmare)"
+ Name: "Swift Wanderer"
Lv: 151
Hp: 653410
Sp: 1
diff --git a/db/re/mob_skill_db.txt b/db/re/mob_skill_db.txt
index eed7b8e1d..55028958c 100644
--- a/db/re/mob_skill_db.txt
+++ b/db/re/mob_skill_db.txt
@@ -7986,47 +7986,175 @@
2411,Lv 150@AL_HEAL,idle,28,10,10000,0,10000,yes,self,myhpltmaxrate,50,,,,,,,
// Old Glast Heim
-2464,Zombie@AL_HEAL,idle,28,10,10000,0,5000,yes,self,always,0,,,,,,,26
-2464,Zombie@NPC_UNDEADATTACK,chase,347,10,8000,1000,5000,yes,target,always,0,,,,,,,
-2465,Wraith@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,0,,,,,,,
-2466,Ghoul@NPC_UNDEADATTACK,chase,347,10,8000,1000,5000,yes,target,always,0,,,,,,,
-2467,Arclouze@NPC_GROUNDATTACK,attack,185,10,2000,0,5000,yes,target,always,0,,,,,,,
-2468,Raydric@BS_MAXIMIZE,attack,114,5,500,1000,5000,no,self,always,0,,,,,,,
-2468,Raydric@BS_MAXIMIZE,chase,114,5,500,1000,5000,no,self,always,0,,,,,,,
-2468,Raydric@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
-2468,Raydric@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-2468,Raydric@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,0,,,,,,
-2468,Raydric@SM_MAGNUM,attack,7,9,500,500,5000,no,self,always,0,,,,,,6,
-2469,Raydric Archer@AC_CHARGEARROW,attack,148,1,500,0,5000,yes,target,always,0,,,,,,9,
-2469,Raydric Archer@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
-2469,Raydric Archer@NPC_DARKNESSATTACK,attack,190,10,500,500,5000,no,target,always,0,,,,,,9,
-2470,Abysmal Knight@AC_CHARGEARROW,chase,148,1,500,0,5000,yes,target,always,0,,,,,,,
-2470,Abysmal Knight@CR_AUTOGUARD,attack,249,10,500,0,300000,yes,self,always,0,,,,,,,
-2470,Abysmal Knight@CR_AUTOGUARD,chase,249,10,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-2470,Abysmal Knight@KN_BRANDISHSPEAR,attack,57,20,500,1000,5000,no,target,always,0,,,,,,9,
-2470,Abysmal Knight@NPC_DARKNESSATTACK,attack,190,5,500,500,5000,no,target,always,0,,,,,,9,
-2472,Bloody Knight@CR_SHIELDCHARGE,attack,250,5,500,0,5000,yes,target,always,0,,,,,,9,
-2472,Bloody Knight@KN_BRANDISHSPEAR,attack,57,5,500,1000,5000,no,target,always,0,,,,,,9,
-2472,Bloody Knight@NPC_CHANGEFIRE,attack,164,1,10000,2000,600000,no,self,myhpltmaxrate,20,,,,,,,
-2472,Bloody Knight@NPC_DARKNESSATTACK,attack,190,2,500,500,5000,no,target,always,0,,,,,,9,
-2472,Bloody Knight@NPC_WEAPONBRAKER,attack,343,5,500,0,30000,yes,target,always,0,,,,,,,
-2472,Bloody Knight@WZ_METEOR,attack,83,5,2000,0,5000,no,target,myhpltmaxrate,20,,,,,,,
-2472,Bloody Knight@WZ_METEOR,chase,83,5,2000,0,5000,no,target,myhpltmaxrate,20,,,,,,,
+2464,Corrupted Steward@AL_HEAL,idle,28,1,10000,0,5000,yes,self,always,0,,,,,,,26
+2464,Corrupted Steward@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,,,,,,,2,
+2464,Corrupted Steward@NPC_UNDEADATTACK,chase,347,10,8000,1000,5000,yes,target,always,0,,,,,,,
+2464,Corrupted Steward@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2465,Corrupted Monk@NPC_BLINDATTACK,attack,177,5,2000,0,5000,yes,target,always,,,,,,,9,
+2465,Corrupted Monk@NPC_CURSEATTACK,attack,181,5,500,800,5000,yes,target,always,,,,,,,9,
+2465,Corrupted Monk@NPC_CURSEATTACK,chase,181,5,500,800,5000,yes,target,always,,,,,,,9,
+2465,Corrupted Monk@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,0,,,,,,,
+2466,Grand Chamberlain in Pain@NPC_BLEEDING,attack,660,2,2000,0,5000,yes,target,always,,,,,,,32,
+2466,Grand Chamberlain in Pain@AL_HEAL,idle,28,1,10000,0,5000,yes,self,always,0,,,,,,,26
+2466,Grand Chamberlain in Pain@NPC_BLOODDRAIN,attack,199,2,500,0,5000,yes,target,always,,,,,,,2,
+2466,Grand Chamberlain in Pain@NPC_UNDEADATTACK,chase,347,4,8000,0,5000,yes,target,always,0,,,,,,,
+2466,Grand Chamberlain in Pain@NPC_UNDEADATTACK,attack,347,4,8000,500,5000,yes,target,always,0,,,,,,,
+2467,Maggot@NPC_GROUNDATTACK,attack,185,10,2000,0,5000,yes,target,always,0,,,,,,,
+2468,Corrupted Palace Guard@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,9,
+2468,Corrupted Palace Guard@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,,,,,,,2,
+2468,Corrupted Palace Guard@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2468,Corrupted Palace Guard@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,0,,,,,,
+2468,Corrupted Palace Guard@SM_MAGNUM,attack,7,9,500,500,5000,no,self,always,0,,,,,,6,
+2469,Wandering Archer@AC_DOUBLE,attack,46,5,500,1000,5000,no,target,always,,,,,,,6,
+2469,Wandering Archer@AC_DOUBLE,chase,46,5,500,1000,1000,no,target,always,,,,,,,6,
+2469,Wandering Archer@AC_CHARGEARROW,attack,148,1,500,0,5000,yes,target,always,0,,,,,,9,
+2469,Wandering Archer@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,9,
+2470,Corrupted Abysmal Knight@KN_BRANDISHSPEAR,attack,57,10,500,1000,5000,no,target,always,0,,,,,,9,
+2470,Corrupted Abysmal Knight@AC_CHARGEARROW,chase,148,1,500,0,5000,yes,target,always,0,,,,,,,
+2470,Corrupted Abysmal Knight@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2470,Corrupted Abysmal Knight@NPC_DARKNESSATTACK,attack,190,5,500,500,5000,no,target,always,0,,,,,,9,
+2470,Corrupted Abysmal Knight@CR_AUTOGUARD,chase,249,10,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
+2470,Corrupted Abysmal Knight@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,,,,,,,,
+2470,Corrupted Abysmal Knight@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2471,Suffering Khalitzburg@BS_MAXIMIZE,attack,114,5,500,500,5000,no,self,always,,,,,,,,
+2471,Suffering Khalitzburg@BS_MAXIMIZE,chase,114,5,500,500,5000,no,self,always,,,,,,,,
+2471,Suffering Khalitzburg@AS_SONICBLOW,attack,136,5,1000,800,5000,no,target,always,,,,,,,,
+2471,Suffering Khalitzburg@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,,,,,,,,
+2471,Suffering Khalitzburg@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2471,Suffering Khalitzburg@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
+2471,Suffering Khalitzburg@NPC_SPLASHATTACK,angry,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
+2471,Suffering Khalitzburg@NPC_STUNATTACK,attack,179,3,1000,1500,5000,no,target,always,,,,,,,,
+2471,Suffering Khalitzburg@NPC_AGIUP,attack,350,1,10000,0,30000,yes,self,myhpltmaxrate,60,,,,,,,
+2471,Suffering Khalitzburg@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2472,Bloody Knight@KN_BRANDISHSPEAR,attack,57,7,500,1000,5000,no,target,always,0,,,,,,9,
+2472,Bloody Knight@WZ_METEOR,attack,83,7,2000,0,5000,no,target,myhpltmaxrate,20,,,,,,,
+2472,Bloody Knight@WZ_METEOR,chase,83,7,2000,0,5000,no,target,myhpltmaxrate,20,,,,,,,
+2472,Bloody Knight@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,9,
+2472,Bloody Knight@@NPC_PULSESTRIKE,attack,661,5,10000,500,5000,no,self,always,,,,,,,7,
+2472,Bloody Knight@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2473,1st Commander of Destruction@SM_MAGNUM,attack,7,10,500,500,5000,no,self,always,0,,,,,,6,
+2473,1st Commander of Destruction@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2473,1st Commander of Destruction@NPC_PETRIFYATTACK,chase,180,1,2000,500,5000,no,target,always,,,,,,,3,
+2473,1st Commander of Destruction@NPC_GRANDDARKNESS,attack,339,10,500,700,5000,no,self,myhpltmaxrate,50,,,,,,,
+2473,1st Commander of Destruction@NPC_DARKSTRIKE,idle,340,7,0,700,5000,no,target,always,,,,,,,,
+2473,1st Commander of Destruction@NPC_DARKSTRIKE,chase,340,7,50,700,5000,no,target,always,,,,,,,,
+2473,1st Commander of Destruction@NPC_POWERUP,attack,349,1,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2474,2nd Commander of Destruction@SM_MAGNUM,attack,7,10,500,500,5000,no,self,always,0,,,,,,6,
+2474,2nd Commander of Destruction@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2474,2nd Commander of Destruction@NPC_SILENCEATTACK,attack,178,1,2000,0,5000,no,target,always,0,,,,,,,
+2474,2nd Commander of Destruction@NPC_DARKCROSS,attack,338,3,500,700,5000,no,target,always,,,,,,,36,
+2474,2nd Commander of Destruction@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,,,,,,,,
+2474,2nd Commander of Destruction@NPC_AGIUP,attack,349,1,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2474,2nd Commander of Destruction@NPC_DARKSTRIKE,idle,340,7,0,700,5000,no,target,always,,,,,,,,
+2475,Root of Corruption@AS_SONICBLOW,attack,136,5,1000,800,5000,no,target,always,,,,,,,,
+2475,Root of Corruption@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,,,,,,,2,
+2475,Root of Corruption@NPC_BLOODDRAIN,idle,199,1,500,100,0,yes,target,always,,,,,,,2,
+2475,Root of Corruption@AM_DEMONSTRATION,angry,229,5,100,500,5000,yes,target,always,,,,,,,,
2475,Root of Corruption@NPC_DARKSTRIKE,attack,340,10,2000,0,5000,yes,target,always,0,,,,,,,
2475,Root of Corruption@NPC_HELLJUDGEMENT,idle,662,10,10000,4000,100,no,self,always,0,,,,,,36,
-2475,Root of Corruption@NPC_HELLJUDGEMENT,attack,662,10,10000,1000,10000,no,self,always,0,,,,,,36,
-2475,Root of Corruption@NPC_PETRIFYATTACK,attack,180,5,500,500,5000,no,target,always,0,,,,,,3,
-2475,Root of Corruption@NPC_SILENCEATTACK,attack,178,10,2000,0,5000,no,target,always,0,,,,,,,
-2476,Amdarias@MG_FIREBALL,chase,17,20,5000,500,1000,no,target,always,0,,,,,,,
+2475,Root of Corruption@NPC_HELLJUDGEMENT,attack,662,5,10000,1000,10000,no,self,always,0,,,,,,36,
+2475,Root of Corruption@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+2475,Root of Corruption@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+2475,Root of Corruption@NPC_CRITICALWOUND,attack,673,4,200,0,5000,yes,target,always,,,,,,,,
+2475,Root of Corruption@NPC_WIDECURSE,attack,677,5,5000,800,5000,no,self,always,,,,,,,,
+2475,Root of Corruption@NPC_WIDESTUN,attack,678,1,500,800,30000,no,self,always,,,,,,,36,
+2475,Root of Corruption@NPC_VAMPIRE_GIFT,attack,679,1,500,0,5000,yes,self,always,,,,,,,,
+2475,Root of Corruption@NPC_WIDESOULDRAIN,attack,680,7,1000,500,5000,no,self,myhpltmaxrate,50,,,,,,42,
+2476,Amdarias@SM_MAGNUM,attack,7,10,500,500,5000,no,self,always,0,,,,,,6,
+2476,Amdarias@NPC_MENTALBREAKER,attack,159,1,500,800,5000,no,target,always,,,,,,,,
+2476,Amdarias@NPC_MENTALBREAKER,chase,159,1,500,800,5000,no,target,always,,,,,,,,
2476,Amdarias@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
-2476,Amdarias@NPC_DARKBREATH,attack,202,5,500,800,5000,no,target,always,0,,,,,,36,
+2476,Amdarias@NPC_STUNATTACK,attack,179,5,1000,1500,5000,no,target,always,,,,,,,,
+2476,Amdarias@NPC_CURSEATTACK,attack,181,5,500,800,5000,no,target,always,,,,,,,2,
+2476,Amdarias@NPC_DARKCROSS,attack,338,3,5000,0,10000,yes,target,always,,,,,,,9,
+2476,Amdarias@NPC_GRANDDARKNESS,attack,339,10,500,700,5000,no,self,myhpltmaxrate,50,,,,,,,
+2476,Amdarias@NPC_DARKSTRIKE,angry,340,7,500,700,5000,no,target,always,,,,,,,,
+2476,Amdarias@NPC_DARKSTRIKE,attack,340,7,500,700,5000,no,target,always,,,,,,,,
+2476,Amdarias@NPC_UNDEADATTACK,attack,347,5,500,500,5000,yes,target,always,,,,,,,,
+2476,Amdarias@NPC_CHANGEUNDEAD,attack,348,1,500,500,6000000,no,target,always,,,,,,,9,
+2476,Amdarias@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
2476,Amdarias@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,0,,,,,,6,
2476,Amdarias@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
-2476,Amdarias@NPC_FIREBREATH,attack,654,5,500,800,5000,no,target,always,0,,,,,,32,
-2476,Amdarias@NPC_WEAPONBRAKER,attack,343,10,500,0,30000,yes,target,always,0,,,,,,,
+2476,Amdarias@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,,,,,,,6,
+2476,Amdarias@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,,,,,,,6,
+2476,Amdarias@NPC_CRITICALWOUND,attack,673,4,200,0,5000,yes,target,always,,,,,,,,
-// Champion Monsters
+// Nightmare Glast Heim
+2477,Wanderer (Nightmare)@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+2477,Wanderer (Nightmare)@KN_AUTOCOUNTER,attack,61,5,500,0,5000,yes,self,always,,,,,,,,
+2477,Wanderer (Nightmare)@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
+2477,Wanderer (Nightmare)@RG_INTIMIDATE,attack,219,1,500,0,5000,yes,target,always,,,,,,,,
+2477,Wanderer (Nightmare)@NPC_UNDEADATTACK,attack,347,3,500,500,5000,no,target,always,,,,,,,,
+2477,Wanderer (Nightmare)@NJ_ISSEN,attack,544,10,500,500,5000,no,target,always,,,,,,,,
+2477,Wanderer (Nightmare)@NPC_BLEEDING,idle,660,5,2000,0,3000,yes,target,always,,,,,,,32,
+2477,Wanderer (Nightmare)@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,,9,,,,,,
+2478,Rideword (Nightmare)@NPC_PIERCINGATT,attack,158,3,500,0,0,yes,target,always,,,,,,,2,
+2478,Rideword (Nightmare)@NPC_BLINDATTACK,attack,177,3,500,0,0,yes,target,always,,,,,,,,
+2478,Rideword (Nightmare)@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,,,,,,,2,
+2479,Mimic (Nightmare)@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,,,,,,,6,
+2479,Mimic (Nightmare)@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,,,,,,,2,
+2479,Mimic (Nightmare)@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,,,,,,,,
+2479,Mimic (Nightmare)@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
+2479,Mimic (Nightmare)@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,,29,,,,,,
+2480,Evil Druid (Nightmare)@WZ_HEAVENDRIVE,attack,91,5,500,1200,5000,yes,target,always,,,,,,,,
+2480,Evil Druid (Nightmare)@WZ_HEAVENDRIVE,chase,91,5,500,1200,5000,yes,target,always,,,,,,,,
+2480,Evil Druid (Nightmare)@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_BLINDATTACK,chase,177,3,2000,0,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_CURSEATTACK,attack,181,3,500,800,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_CURSEATTACK,chase,181,3,500,800,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_ENERGYDRAIN,chase,200,1,500,0,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_UNDEADATTACK,attack,347,3,500,500,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_UNDEADATTACK,chase,347,3,500,500,5000,yes,target,always,,,,,,,9,
+2480,Evil Druid (Nightmare)@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,,29,,,,,,
+2481,Wraith Dead (Nightmare)@NPC_POISON,attack,176,5,500,800,5000,no,target,always,,,,,,,29,
+2481,Wraith Dead (Nightmare)@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,,,,,,,9,
+2481,Wraith Dead (Nightmare)@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,,,,,,,29,
+2481,Wraith Dead (Nightmare)@NPC_CURSEATTACK,chase,181,3,500,800,5000,no,target,always,,,,,,,29,
+2481,Wraith Dead (Nightmare)@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,,,,,,,9,
+//2482, Khalitzburg (Nightmare)
+2483,Baphomet (Nightmare)@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+2483,Baphomet (Nightmare)@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
+2483,Baphomet (Nightmare)@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,50,,,,,,,
+2483,Baphomet (Nightmare)@KN_BRANDISHSPEAR,attack,57,10,2000,500,5000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,attack,85,10,2000,500,2000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,10,2000,500,2000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,10,5000,500,2000,no,target,skillused,18,,,,,,29,
+2483,Baphomet (Nightmare)@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_DARKBREATH,attack,202,5,2000,800,5000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@MO_BODYRELOCATION,chase,264,1,2000,200,1000,yes,target,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_DARKSTRIKE,chase,340,10,2000,0,1000,yes,target,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2483,Baphomet (Nightmare)@NPC_EARTHQUAKE,attack,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6,
+2483,Baphomet (Nightmare)@NPC_EARTHQUAKE,chase,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6,
+2483,Baphomet (Nightmare)@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,,,,,,,6,
+2483,Baphomet (Nightmare)@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,,,,,,,6,
+2483,Baphomet (Nightmare)@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,,,,,,,,
+2483,Baphomet (Nightmare)@NPC_SUMMONSLAVE,attack,196,6,10000,700,10000,no,self,slavele,3,2484,,,,,,
+2483,Baphomet (Nightmare)@NPC_SUMMONSLAVE,idle,196,6,10000,700,10000,no,self,slavele,3,2484,,,,,,
+2483,Baphomet (Nightmare)@NPC_SUMMONSLAVE,idle,196,4,10000,0,0,no,self,onspawn,0,2484,,,,,,
+2484,Baphomet Jr. (Nightmare)@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+2484,Baphomet Jr. (Nightmare)@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,,,,,,,29,
+2484,Baphomet Jr. (Nightmare)@NPC_DARKNESSATTACK,attack,190,2,500,500,5000,no,target,always,,,,,,,6,
+2484,Baphomet Jr. (Nightmare)@NPC_HALLUCINATION,attack,207,1,500,500,5000,yes,target,always,,,,,,,29,
+2484,Baphomet Jr. (Nightmare)@NPC_HALLUCINATION,chase,207,1,500,500,5000,yes,target,always,,,,,,,29,
+2484,Baphomet Jr. (Nightmare)@SA_DISPELL,attack,289,1,0,0,30000,yes,target,always,,,,,,,29,
+2484,Baphomet Jr. (Nightmare)@NPC_EMOTION,walk,197,1,2000,0,5000,yes,self,always,,2,,,,,,
+2484,Baphomet Jr. (Nightmare)@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,,19,0x0081,,,,,
+2484,Baphomet Jr. (Nightmare)@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,,6,0x3695,,,,,
+2485,Chimera (Nightmare)@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+2485,Chimera (Nightmare)@WZ_HEAVENDRIVE,attack,91,5,500,1200,5000,yes,target,always,,,,,,,6,
+2485,Chimera (Nightmare)@WZ_HEAVENDRIVE,chase,91,5,500,1200,5000,yes,target,always,,,,,,,6,
+2485,Chimera (Nightmare)@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
+2485,Chimera (Nightmare)@NPC_FIREATTACK,attack,186,5,500,500,5000,yes,target,always,,,,,,,6,
+2485,Chimera (Nightmare)@CR_AUTOGUARD,attack,249,5,500,0,300000,yes,self,always,,,,,,,,
+2485,Chimera (Nightmare)@CR_AUTOGUARD,chase,249,5,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
+2485,Chimera (Nightmare)@NPC_SHIELDBRAKE,attack,346,5,500,0,5000,yes,target,always,,,,,,,6,
+2485,Chimera (Nightmare)@NPC_SUMMONSLAVE,idle,196,4,10000,2000,60000,yes,self,slavele,0,1253,,,,,,
+// Champion Monsters
2603,Swift Zombie Slaughter@AL_TELEPORT,attack,26,1,500,0,5000,yes,self,myhpltmaxrate,50,,,,,,,
2603,Swift Zombie Slaughter@AL_HEAL,attack,28,5,10000,500,5000,yes,self,myhpltmaxrate,50,,,,,,,
2603,Swift Zombie Slaughter@AS_SONICBLOW,attack,136,5,1000,800,5000,no,target,always,,,,,,,,
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index c8cca19a4..0ef5144fd 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -9,7 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
+//= Copyright (C) 2013-2016 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Exneval
//= Copyright (C) Euphy
//= Copyright (C) Heris
//= Copyright (C) Ziu
@@ -32,181 +34,218 @@
//= Discover the history of events that took place in the Glast Heim castle
//= and how it ended up in ruins.
//================= Current Version =======================================
-//= 1.1
+//= 1.2
//=========================================================================
-
1@gl_k mapflag src4instance
2@gl_k mapflag src4instance
glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
- mes "^ff0000This isn't considered a normal progression dungeon. Please note this point.^000000";
- next;
- mes "[Hugin]";
- mes "Huh? You feel like you have seen me in different places? I see. What can I say?";
+ if (BaseLevel < 130) { // iRO text
+ mes("[Hugin]");
+ mes("Why don't you come back after becoming stronger Maybe, level 130.");
+ close;
+ }
+ if (!questprogress(12316)) {
+ mes("[Hugin]");
+ mes("A long time ago, this castle did not look like this.");
+ next;
+ mes("[Hugin]");
+ mes("Ah I'm sorry. I'm muttering in front of a stranger.");
+ next;
+ mes("[Hugin]");
+ mes("My name is Hugin. I'm studying the dimensional gap between time and space.");
+ next;
+ select("There's something like that here?");
+ mes("[Hugin]");
+ mes("Have you ever wondered about the history of Glast Heim?");
+ next;
+ mes("[Hugin]");
+ mes("There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom.");
+ next;
+ mes("[Hugin]");
+ mes("Time will reveal the true answers if we look in the right places.");
+ next;
+ if (select("I don't care about history", "That is interesting. Find anything?") == 1) {
+ mes("[Hugin]");
+ mes("Really? Hmm, please come back later when you are interested then.");
+ close;
+ }
+ mes("[Hugin]");
+ mes("Actually, dimensional time travel is possible but I'm so afraid to go there.");
+ next;
+ mes("[Hugin]");
+ mes("Yes! It might be possible for you.");
+ next;
+ mes("[Hugin]");
+ mes("Do you want to time travel?");
+ next;
+ if (select("No thanks.", "Yes, of course I do!") == 1) {
+ mes("[Hugin]");
+ mes("Really? But, jumping gigawatts like this is such a great opportunity.");
+ close;
+ }
+ mes("[Hugin]");
+ mes("I knew that you would understand what I said. Well, please tell what you gonna do.");
+ setquest(12316);
+ next;
+ }
+ mes("[Hugin]");
+ mes("Umm? Did you see me at another place? I don't think so. What about this time?");
next;
- .@ghins_time = questprogress(12317,PLAYTIME);
- if (!.@ghins_time) {
-
+ if (!questprogress(12317, PLAYTIME)) {
.@party_id = getcharid(1);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Old Glast Heim";
-
- if (!instance_check_party(.@party_id,2)) { // Custom
- mes "[Hugin]";
- mes "Where are your party members?";
+ if (!instance_check_party(.@party_id)) {
+ mes("[Hugin]");
+ mes("Why don't you make a party with more than 1 person and talk to me again?");
close;
}
-
- if (getcharid(0) == getpartyleader(.@party_id,2))
- .@menu$ = "Create the time gap.:Enter the Old Glast Heim.:Cancel.";
+ if (!questprogress(12318, HUNTING))
+ setquest 12318;
+ if (getcharid(0) == getpartyleader(.@party_id, 2))
+ .@menu1$ = "Generate Time Gap";
else
- .@menu$ = ":Enter the Old Glast Heim.:Cancel.";
- switch(select(.@menu$)) {
+ .@menu1$ = "";
+ switch (select(.@menu1$, "Enter Old Glast Heim", "Cancel")) {
case 1:
- .@instance = instance_create(.@md_name$,.@party_id);
+ if (getcharid(0) != getpartyleader(.@party_id, 2))
+ end;
+ .@instance = instance_create(.@md_name$, .@party_id);
if (.@instance < 0) {
- mes "Party Name: "+.@p_name$;
- mes "Party Leader: "+strcharinfo(0);
- mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(0));
+ mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
close;
}
- if (instance_attachmap("1@gl_k",.@instance) == "" || instance_attachmap("2@gl_k",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
+ if (instance_attachmap("1@gl_k", .@instance) == "" || instance_attachmap("2@gl_k", .@instance) == "") {
+ mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
instance_destroy(.@instance);
close;
}
- instance_set_timeout 3600,300,.@instance;
+ instance_set_timeout(3600, 300, .@instance);
instance_init(.@instance);
- mes "[Hugin]";
- mes "The time gap was created. When you're ready, talk to me again.";
+ mes("[Hugin]");
+ mes("The time gap was created. When you're ready, talk to me again.");
close;
case 2:
- if( has_instance("1@gl_k") == "" ) {
- mes "The memorial dungeon "+.@md_name$+" does not exist.";
- mes "The party leader did not generate the dungeon yet.";
+ if (has_instance("1@gl_k") == "" ) {
+ mesf("The memorial dungeon ^0000FF%s^000000 does not exist.\r"
+ "The party leader did not generate the dungeon yet.", .@md_name$);
close;
- } else {
- mapannounce "glast_01",strcharinfo(0)+", member of the party "+.@p_name$+" entered the instance "+.@md_name$+".",bc_map,"0x00ff99";
- setquest 12317;
- setquest 12318;
- warp "1@gl_k",150,20;
- end;
}
+ mapannounce("glast_01", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(0), .@p_name$, .@md_name$), bc_map, "0x00ff99");
+ setquest 12317;
+ warp "1@gl_k", 150, 20;
+ end;
case 3:
close;
}
- } else if (.@ghins_time == 1) {
- mes "[Hugin]";
- mes "Oh, geez.";
- mes "Your body is still under the effects of time travel. In this state, you will not be able to travel again.";
+ } else if (questprogress(12317, PLAYTIME) == 1) {
+ mes("[Hugin]");
+ mes("Oh, my... You still have after-effects of time travel. You can't travel in this condition.");
+ if (questprogress(12322) == 1) {
+ erasequest 12322;
+ }
next;
- mes "[Hugin]";
- mes "You should rest and come back later for more.";
+ mes("[Hugin]");
+ mes("Staying healthy is important so please take a break and come back again later.");
close;
} else {
- mes "^0000ffOld Glast Heim access trail has been cleared. It is now possible to talk to Hugin.^000000";
+ mes("^0000FFAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000");
erasequest 12317;
- if (questprogress(12318)) erasequest 12318;
- if (questprogress(12319)) erasequest 12319;
+ if (questprogress(12318))
+ erasequest 12318;
+ if (questprogress(12319))
+ erasequest 12319;
close;
}
}
-//== Floor 1 ===============================================
-1@gl_k,149,41,6 script Varmunt#ghinstance1 4_M_BARMUND,{
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
- mes "Hey ^0000ffguys^000000, were you sent here to help me?";
- npctalk "Hey guys, were you sent here to help me?";
- cutin "gl_barmund1",2;
- next;
- select("Oh. Well, about that...");
- mes "["+strcharinfo(0)+"]";
- mes "Oh yeah, hahaha, we were told to meet someone called Varmunt.";
- unittalk getcharid(3),"Oh yeah, hahaha, we were told to meet someone called Varmunt.";
- next;
- mes "[Varmunt]";
- mes "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion.";
- npctalk "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion.";
- cutin "gl_barmund2",2;
- next;
- select("What Himmelmez...");
- mes "["+strcharinfo(0)+"]";
- mes "Himmelmez? Who the hell is she?";
- unittalk getcharid(3),"Himmelmez? Who the hell is she?";
- next;
- mes "[Varmunt]";
- mes "Didn't anybody give you the basic informations?";
- npctalk "Didn't anybody give you the basic informations?";
- cutin "gl_barmund3",2;
- next;
- mes "[Varmunt]";
- mes "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here.";
- npctalk "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here";
- cutin "gl_barmund2",2;
- next;
- mes "[Varmunt]";
- mes "She's capable of destroying the whole castle for this purpose.";
- npctalk "She's capable of destroying the whole castle for this purpose.";
- next;
- mes "[Varmunt]";
- mes "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!";
- npctalk "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!";
- close2;
- cutin "gl_barmund2",255;
- donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnDisable2";
- end;
- } else {
- mes "[Varmunt]";
- mes "Where is he? We";
- mes "need his help.";
- cutin "gl_barmund2",2;
+// Floor 1
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+1@gl_k,149,41,6 script Varmundt#ghinstance1 4_M_BARMUND,{
+ if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ cutin("gl_barmund2", 2);
+ mes("[Varmundt]");
+ mes("Where's your leader? I need his help.");
close2;
- cutin "gl_barmund2",255;
+ cutin("gl_barmund2", 255);
end;
}
-OnInstanceInit:
- donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnEnable";
- end;
-OnDisable:
- hideonnpc instance_npcname("Varmunt#ghinstance1");
+ cutin("gl_barmund1", 2);
+ mes("[Varmundt]");
+ mes("Are you the one ^0000FFHerico^000000 sent to help me?");
+ npctalk(_("Are you the one Herico sent to help me?"));
+ next;
+ select("Oh. Well I...");
+ mesf("[%s]", strcharinfo(0));
+ mes("Ah yes, I am. Herico told me to meet you.");
+ unittalk(getcharid(3), _("Ah yes, I am. Herico told me to meet you."));
+ next;
+ cutin("gl_barmund2", 2);
+ mes("[Varmundt]");
+ mes("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion.");
+ npctalk _("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion.");
+ next;
+ select("Himelmez...");
+ mesf("[%s]", strcharinfo(0));
+ mes("Who is Himelmez?");
+ unittalk(getcharid(3), _("Who is Himelmez?"));
+ next;
+ cutin("gl_barmund3", 2);
+ mes("[Varmundt]");
+ mes("Herico didn't tell you?");
+ npctalk(_("Herico didn't tell you?"));
+ next;
+ cutin("gl_barmund2", 2);
+ mes("[Varmundt]");
+ mes("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.");
+ npctalk _("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.");
+ next;
+ mes("[Varmundt]");
+ mes("She might even destroy this whole castle if she wanted to.");
+ npctalk(_("She might even destroy this whole castle if she wanted to."));
+ next;
+ mes("[Varmundt]");
+ mes("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!");
+ npctalk(_("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"));
+ close2;
+ cutin("gl_barmund2", 255);
+ donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnDisable");
end;
-OnDisable2:
- hideonnpc instance_npcname("Varmunt#ghinstance1");
- for(.@i = 1; .@i<=20; .@i += 4) {
- hideoffnpc instance_npcname("Khalitzburg Crusader#"+.@i);
- hideoffnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1));
- hideoffnpc instance_npcname("White Knight#"+(.@i+2));
- hideoffnpc instance_npcname("White Knight#"+(.@i+3));
- }
- hideoffnpc instance_npcname("Khalitzburg Crusader#21");
- hideoffnpc instance_npcname("Khalitzburg Crusader#22");
+OnInstanceInit:
+ donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnEnable";
+ end;
+OnDisable:
+ hideonnpc instance_npcname("Varmundt#ghinstance1");
hideoffnpc instance_npcname("Heinrich#ghinstance1");
- hideoffnpc instance_npcname("Varmunt#ghinstance2");
+ hideoffnpc instance_npcname("Varmundt#ghinstance2");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Varmunt#ghinstance1");
+ hideoffnpc instance_npcname("Varmundt#ghinstance1");
end;
}
-1@gl_k,145,54,6 script Khalitzburg Crusader#1 4_F_KHALITZBURG,{
- mes "["+strnpcinfo(1)+"]";
- switch((atoi(strnpcinfo(2)) + 1) / 2) {
- case 1: mes "Would I be recruited?"; break;
- case 2: mes "May I help you?"; break;
- case 3: mes "..."; break;
- case 4: mes "I do not like to chit-chat during work."; break;
- case 5: mes "The aura of the castle has changed, don't you think? Something like a presence seemed to appear a little while ago."; break;
- case 6: mes "I wonder what commandant Varmunt is doing. I heard people are running away..."; break;
- case 7: mes "Quiet please."; break;
- case 8: mes "A fuss seems to be near."; break;
- case 9: mes "A dream last night really bothered me. My mother used to say that these dreams may come true..."; break;
- case 10: mes "Is Varmunt going with you? The commandant is waiting for you."; break;
- case 11: mes "Soon it's time to change shifts. I wonder what happened to the other knights."; break;
+1@gl_k,145,54,6 script Khalitzburg Knight#1 4_F_KHALITZBURG,{
+ mesf("[%s]", strnpcinfo(1));
+ switch ((atoi(strnpcinfo(2)) + 1) / 2) {
+ case 1: mes("Is there something you need?"); break;
+ case 2: mes("What can I do for you?"); break;
+ case 3: mes("..."); break;
+ case 4: mes("I do not like to chat during work."); break;
+ case 5: mes("Doesn't this castle seem weird all of a sudden? Something's not quite right."); break;
+ case 6: mes("How do you know Varmundt? I heard that he's not really a friendly man..."); break;
+ case 7: mes("Orders please."); break;
+ case 8: mes("Please do not make a mess here."); break;
+ case 9: mes("I had a weird dream last night. My mom was in it... Wonder if she is ok..."); break;
+ case 10: mes("Are you wit Varmundt? Commander is waiting for you."); break;
+ case 11: mes("My work shift will be over soon, but the next crew is not coming."); break;
}
close;
-OnInstanceInit:
OnDisable:
hideonnpc instance_npcname(strnpcinfo(0));
end;
@@ -214,580 +253,609 @@ OnEnable:
hideoffnpc instance_npcname(strnpcinfo(0));
end;
}
-1@gl_k,154,54,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#2 4_F_KHALITZBURG
-1@gl_k,145,59,6 duplicate(Khalitzburg Crusader#1) White Knight#3 4_WHITEKNIGHT
-1@gl_k,154,59,3 duplicate(Khalitzburg Crusader#1) White Knight#4 4_WHITEKNIGHT
-1@gl_k,145,64,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#5 4_F_KHALITZBURG
-1@gl_k,154,64,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#6 4_F_KHALITZBURG
-1@gl_k,145,69,6 duplicate(Khalitzburg Crusader#1) White Knight#7 4_WHITEKNIGHT
-1@gl_k,154,69,3 duplicate(Khalitzburg Crusader#1) White Knight#8 4_WHITEKNIGHT
-1@gl_k,145,74,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#9 4_F_KHALITZBURG
-1@gl_k,154,74,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#10 4_F_KHALITZBURG
-1@gl_k,145,79,6 duplicate(Khalitzburg Crusader#1) White Knight#11 4_WHITEKNIGHT
-1@gl_k,154,79,3 duplicate(Khalitzburg Crusader#1) White Knight#12 4_WHITEKNIGHT
-1@gl_k,145,84,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#13 4_F_KHALITZBURG
-1@gl_k,154,84,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#14 4_F_KHALITZBURG
-1@gl_k,145,89,6 duplicate(Khalitzburg Crusader#1) White Knight#15 4_WHITEKNIGHT
-1@gl_k,154,89,3 duplicate(Khalitzburg Crusader#1) White Knight#16 4_WHITEKNIGHT
-1@gl_k,145,94,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#17 4_F_KHALITZBURG
-1@gl_k,154,94,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#18 4_F_KHALITZBURG
-1@gl_k,145,99,6 duplicate(Khalitzburg Crusader#1) White Knight#19 4_WHITEKNIGHT
-1@gl_k,154,99,3 duplicate(Khalitzburg Crusader#1) White Knight#20 4_WHITEKNIGHT
-1@gl_k,145,104,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#21 4_F_KHALITZBURG
-1@gl_k,154,104,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#22 4_F_KHALITZBURG
+
+1@gl_k,154,54,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#2 4_F_KHALITZBURG
+1@gl_k,145,59,6 duplicate(Khalitzburg Knight#1) White Knight#3 4_WHITEKNIGHT
+1@gl_k,154,59,3 duplicate(Khalitzburg Knight#1) White Knight#4 4_WHITEKNIGHT
+1@gl_k,145,64,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#5 4_F_KHALITZBURG
+1@gl_k,154,64,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#6 4_F_KHALITZBURG
+1@gl_k,145,69,6 duplicate(Khalitzburg Knight#1) White Knight#7 4_WHITEKNIGHT
+1@gl_k,154,69,3 duplicate(Khalitzburg Knight#1) White Knight#8 4_WHITEKNIGHT
+1@gl_k,145,74,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#9 4_F_KHALITZBURG
+1@gl_k,154,74,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#10 4_F_KHALITZBURG
+1@gl_k,145,79,6 duplicate(Khalitzburg Knight#1) White Knight#11 4_WHITEKNIGHT
+1@gl_k,154,79,3 duplicate(Khalitzburg Knight#1) White Knight#12 4_WHITEKNIGHT
+1@gl_k,145,84,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#13 4_F_KHALITZBURG
+1@gl_k,154,84,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#14 4_F_KHALITZBURG
+1@gl_k,145,89,6 duplicate(Khalitzburg Knight#1) White Knight#15 4_WHITEKNIGHT
+1@gl_k,154,89,3 duplicate(Khalitzburg Knight#1) White Knight#16 4_WHITEKNIGHT
+1@gl_k,145,94,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#17 4_F_KHALITZBURG
+1@gl_k,154,94,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#18 4_F_KHALITZBURG
+1@gl_k,145,99,6 duplicate(Khalitzburg Knight#1) White Knight#19 4_WHITEKNIGHT
+1@gl_k,154,99,3 duplicate(Khalitzburg Knight#1) White Knight#20 4_WHITEKNIGHT
+1@gl_k,145,104,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#21 4_F_KHALITZBURG
+1@gl_k,154,104,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#22 4_F_KHALITZBURG
1@gl_k,149,100,6 script Heinrich#ghinstance1 4_M_HEINRICH,{
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
- cutin "gl_heinrich2",2;
- select("Heinrich, about the castle...");
- mes "["+strcharinfo(0)+"]";
- mes "Do you know what is happening now in the castle, Heinrich?";
- unittalk getcharid(3),"Do you know what is happening now in the castle, Heinrich?";
- next;
- mes "[Heinrich]";
- mes "You are the adventurers who have come with Varmunt, right?";
- npctalk "You are the adventurers who have come with Varmunt, right?";
- next;
- mes "[Heinrich]";
- mes "What can I do for you? Is there something wrong?";
- npctalk "What can I do for you? Is there something wrong?";
- next;
- select("The Ymir's Heart. Himmelmez...");
- mes "["+strcharinfo(0)+"]";
- mes "Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!";
- unittalk getcharid(3),"Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!";
- next;
- mes "[Heinrich]";
- mes "Haha. That's a nice joke. Now tell me what brings you here.";
- npctalk "Haha. That's a nice joke. Now tell me what brings you here.";
- cutin "gl_heinrich1",2;
- next;
- mes "[Varmunt]";
- mes "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon.";
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk1";
- cutin "gl_barmund2",2;
- next;
- mes "[Varmunt]";
- mes "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!";
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk2";
- next;
- select("Even if you do not believe...");
- mes "["+strcharinfo(0)+"]";
- mes "Even if you don't believe it, do something. We do not have much time!";
- unittalk getcharid(3),"Even if you don't believe it, do something. We do not have much time!";
- cutin "gl_barmund2",255;
- next;
- mes "[Heinrich]";
- mes "I will be glad if you give me two minutes, please. But now the king isn't in his room.";
- npctalk "I will be glad if you give me two minutes, please. But now the king isn't in his room.";
- cutin "gl_heinrich1",2;
- next;
- mes "[Heinrich]";
- mes "But I think that with such a busy agenda, he won't be able to take care of this.";
- npctalk "But I think that with such a busy agenda, he won't be able to take care of this.";
- donpcevent instance_npcname("Heinrich#ghinstance1")+"::OnDisable";
- donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnEnable";
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnEnable";
- donpcevent instance_npcname("#talkinstance1")+"::OnEnable";
- mapannounce instance_mapname("1@gl_k"), "???? Shout: Ohohohoho~!",bc_map,"0xFFFF00";
- close2;
- cutin "gl_heinrich1",255;
- end;
- } else {
- mes "[Heinrich]";
- mes "Where is your representative?";
- mes "I need to talk to him.";
- cutin "gl_heinrich2",2;
+ if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ cutin("gl_heinrich2", 2);
+ mes("[Heinrich]");
+ mes("Where is your leader? I must talk to him.");
close2;
- cutin "gl_heinrich2",255;
+ cutin("gl_heinrich2", 255);
end;
}
+ cutin("gl_heinrich2", 2);
+ select("Sir. Heinrich. Varmundt...");
+ mesf("[%s]", strcharinfo(0));
+ mes("Sir. Heinrich. Do you know what is happening in the castle now?");
+ unittalk(getcharid(3), _("Sir. Heinrich. Do you know what is happening in the castle now?"));
+ next;
+ mes("[Heinrich]");
+ mes("Aren't you the adventurer that came along with Varmundt?");
+ npctalk(_("Aren't you the adventurer that came along with Varmundt?"));
+ next;
+ mes("[Heinrich]");
+ mes("What is it? Something wrong with the castle?");
+ npctalk(_("What is it? Something wrong with the castle?"));
+ next;
+ select("Himelmez's invasion...");
+ mesf("[%s]", strcharinfo(0));
+ mes("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!");
+ unittalk(getcharid(3), _("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"));
+ next;
+ cutin("gl_heinrich1", 2);
+ mes("[Heinrich]");
+ mes("Haha. Funny. Do you really think that is possible?");
+ npctalk(_("Haha. Funny. Do you really think that is possible?"));
+ next;
+ cutin("gl_barmund2", 2);
+ mes("[Varmundt]");
+ mes("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon.");
+ donpcevent(instance_npcname("Varmundt#ghinstance2")+"::OnTalk1");
+ next;
+ mes("[Varmundt]");
+ mes("We must hide the heart piece to a safe place before Himelmez's attack starts!");
+ donpcevent(instance_npcname("Varmundt#ghinstance2")+"::OnTalk2");
+ next;
+ select("Even if you don't believe me...");
+ mesf("[%s]", strcharinfo(0));
+ mes("I can't make you believe me, but there's no time to argue!");
+ unittalk(getcharid(3), _("I can't make you believe me, but there's no time to argue!"));
+ cutin("gl_barmund2", 255);
+ next;
+ cutin("gl_heinrich1", 2);
+ mes("[Heinrich]");
+ mes("Thank you for the help. But, we don't even have our king with us right now.");
+ npctalk(_("Thank you for the help. But, we don't even have our king with us right now."));
+ next;
+ mes("[Heinrich]");
+ mes("We cannot risk moving the heart just because some stranger says so.");
+ npctalk(_("We cannot risk moving the heart just because some stranger says so."));
+ close2;
+ donpcevent(instance_npcname("Heinrich#ghinstance1")+"::OnDisable");
+ donpcevent(instance_npcname("Heinrich#ghinstance2")+"::OnEnable");
+ donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnEnable");
+ donpcevent(instance_npcname("#talkinstance1")+"::OnEnable");
+ mapannounce(instance_mapname("1@gl_k"), _("????: Muahahahaha~!"), bc_map, "0xFFFF00", FW_NORMAL, 18);
+ cutin("gl_heinrich1", 255);
+ end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance1");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance1");
end;
}
-1@gl_k,152,97,3 script Varmunt#ghinstance2 4_M_BARMUND,{
+1@gl_k,152,97,3 script Varmundt#ghinstance2 4_M_BARMUND,{
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmunt#ghinstance2");
+ hideonnpc instance_npcname("Varmundt#ghinstance2");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Varmunt#ghinstance2");
+ hideoffnpc instance_npcname("Varmundt#ghinstance2");
end;
+
OnTalk1:
- npctalk "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon.";
+ npctalk(_("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."));
end;
+
OnTalk2:
- npctalk "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!";
+ npctalk(_("We must hide the heart piece to a safe place before Himelmez's attack starts!"));
end;
+
OnTalk3:
- npctalk "Himmelmez!! Through the cracks!";
+ npctalk(_("Himelmez!! Already!"));
end;
+
OnTalk4:
- npctalk "Unbelievable. My men are...This kind of thing is not possible!";
+ npctalk(_("Sir. Heinrich, they're all monsters. You need to give them rest!"));
end;
+
OnTalk5:
- npctalk "Heinrich, Sir! I need a quick decision.";
+ npctalk(_("Sir. Heinrich! We don't have much time!"));
end;
+
OnTalk6:
- npctalk "To prevent other attacks, go chase her!";
- end;
-OnTalk7:
- npctalk "Now, your help is desperately needed. I hopefully ask you.";
+ npctalk(_("If you hurry now, there's a chance!"));
end;
}
1@gl_k,149,97,6 script Heinrich#ghinstance2 4_M_HEINRICH,{
end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance2");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance2");
end;
+
OnTalk1:
- npctalk "Who?!";
+ npctalk(_("Who are you?"));
end;
+
OnTalk2:
- npctalk "That who rules the dead? No doubt, a pretty story. Here, some tea will be served to entertain the ladies. Unfortunately, I do not...";
+ npctalk(_("Aren't you a little too feminine to be the Ruler of death? We are not afraid of you..."));
end;
+
OnTalk3:
- npctalk "What did you say?";
+ npctalk(_("What?"));
end;
+
OnTalk4:
- npctalk "The King responded to the invitation of the Rune Midgard's Royal Family and hasn't come back yet.";
+ npctalk(_("My king is visiting the Rune-Midgarts royal family. He's not back yet."));
end;
+
OnTalk5:
- npctalk "Just leave before you get in trouble. This is the King's will!";
+ npctalk(_("And now you are trying to trick me, what has happened to him?!"));
end;
+
OnTalk6:
- npctalk "Damn! She has detected the position of the Ymir's Heart pieces.";
+ npctalk(_("She probably already knows where the Ymir's heart piece is."));
end;
+
OnTalk7:
- npctalk "Now, Khalitzburg Crusaders and White Knights, follow me...";
+ npctalk(_("All Khalitzburg and White Knights should follow me now..."));
end;
+
OnTalk8:
- npctalk "Unbelievable. My men are...This kind of thing is not possible!";
+ npctalk(_("My men... This can't be happening!"));
end;
+
OnTalk9:
- npctalk "I'm sorry...";
+ npctalk(_("I'm so sorry..."));
end;
+
OnTalk10:
- npctalk "I'm sorry, my lord! Do not forgive me!";
+ npctalk(_("I am sorry, my knights! Forgive me!"));
end;
}
1@gl_k,149,100,6 script Heinrich#ghinstance3 4_M_HEINRICH,{
end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance3");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance3");
end;
+
OnTalk1:
- npctalk "I cannot believe I killed my men with my own hands!";
+ npctalk(_("I killed my own men..."));
end;
+
OnTalk2:
- npctalk "Varmunt is right about that. Now is not the time to regret.";
+ npctalk(_("Varmundt is right. Now is not the time for mourning."));
end;
+
OnTalk3:
- npctalk "People, gather around and follow my orders.";
+ npctalk(_("I have a request to you followers."));
end;
+
OnTalk4:
- npctalk "Himmelmez is turning into monsters all the people she put to sleep.";
+ npctalk(_("Himelmez can turn living beings into monsters."));
end;
+
OnTalk5:
- npctalk "I don't know if there are survivors around here yet.";
+ npctalk(_("But, there might still be survivors here."));
end;
+
OnTalk6:
- npctalk "If there are survivors from this evil thing, please rescue them.";
+ npctalk(_("Destroy the monsters and find any survivors."));
end;
+
OnTalk7:
- npctalk "With Varmunt by my side, I'm going to chase Himmelmez down.";
+ npctalk(_("Varmundt and I will chase Himelmez."));
end;
+
OnTalk8:
- npctalk "Hurry up Varmunt, let's chase her down.";
+ npctalk(_("Very well, Varmundt. Let's find Himelmez."));
end;
}
-1@gl_k,149,89,1 script Himmelmez#ghinstance1 4_F_HIMEL,{
+1@gl_k,149,89,1 script Himelmez#ghinstance1 4_F_HIMEL,{
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himmelmez#ghinstance1");
+ hideonnpc instance_npcname("Himelmez#ghinstance1");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Himmelmez#ghinstance1");
+ hideoffnpc instance_npcname("Himelmez#ghinstance1");
end;
+
OnTalk1:
- npctalk "This~ Did I interrupt your conversation? The thing is, it's been too long since the last guests saw some sadness spread...";
+ npctalk _("Well well~ Am I interrupting you? Weren't you expecting me?");
end;
+
OnTalk2:
- npctalk "My name is Lisa Kahn Himmelmez. I am called the Valkyrie of the dead, master of the Dullahan.";
+ npctalk(_("My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me."));
end;
+
OnTalk3:
- npctalk "There's no need to pretend to be so laid back. Don't bluff about the whereabouts of you Majesty and things will be alright.";
+ npctalk(_("Let's see if you can relax like that after you find out where your king is."));
end;
+
OnTalk4:
- npctalk "Hohoho, do you have any questions? You're a really mysterious man.";
+ npctalk(_("Hmm, now I have your attention do I not?"));
end;
+
OnTalk5:
- npctalk "Not coveting the king's throne, you're such a stupid man, only waiting for his return. Your innocence is true, I love it.";
+ npctalk(_("It's a pity to meet you in a situation like this."));
end;
+
OnTalk6:
- npctalk "You make me wish we hadn't met in this situation. Too bad we did.";
+ npctalk(_("Well~ I would love to sit down and explain for you, but I'm kind of busy today~"));
end;
+
OnTalk7:
- npctalk "Well~ Today, with such a busy commandant, I won't be able to talk as much as I'd love for you to contemplate my explanation~";
- end;
-OnTalk8:
- npctalk "I gotta get my job done. Meanwhile why don't you meet my men? Hohoho.";
+ npctalk(_("I have business to take care of. My minions will treat you well enough for me~"));
end;
}
-//== Control Timer =========================================
+// Control Timer
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0 script #talkinstance1 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#talkinstance1");
end;
+
OnEnable:
enablenpc instance_npcname("#talkinstance1");
initnpctimer;
end;
-OnTimer5000:
+
+OnTimer1500:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk1";
end;
-OnTimer10000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk1";
+
+OnTimer4500:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk1";
end;
-OnTimer15000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk3";
+
+OnTimer10000:
+ donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk3";
end;
-OnTimer20000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk2";
+
+OnTimer17500:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk2";
end;
-OnTimer25000:
+
+OnTimer22000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk2";
end;
-OnTimer30000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk3";
+
+OnTimer28500:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk3";
end;
-OnTimer35000:
+
+OnTimer36000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk3";
end;
-OnTimer45000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk4";
- end;
-OnTimer50000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk5";
+
+OnTimer41000:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk4";
end;
-OnTimer55000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk6";
+
+OnTimer54000:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk5";
end;
-OnTimer60000:
+
+OnTimer59000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk4";
end;
-OnTimer65000:
+
+OnTimer66500:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk5";
end;
-OnTimer70000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk7";
+
+OnTimer71500:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk6";
end;
-OnTimer75000:
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk8";
+
+OnTimer78000:
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk7";
end;
-OnTimer80000:
+
+OnTimer84500:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk6";
- donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnDisable";
+ donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnDisable";
end;
-OnTimer85000:
+
+OnTimer90500:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk7";
- hideonnpc instance_npcname("Varmunt#ghinstance1");
+ end;
- for(.@i = 1; .@i<=20; .@i += 4) {
- hideonnpc instance_npcname("Khalitzburg Crusader#"+.@i);
- hideonnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1));
+OnTimer92000:
+ for (.@i=1; .@i <= 20; .@i += 4) {
+ hideonnpc instance_npcname("Khalitzburg Knight#"+.@i);
+ hideonnpc instance_npcname("Khalitzburg Knight#"+(.@i+1));
hideonnpc instance_npcname("White Knight#"+(.@i+2));
hideonnpc instance_npcname("White Knight#"+(.@i+3));
}
- hideonnpc instance_npcname("Khalitzburg Crusader#21");
- hideonnpc instance_npcname("Khalitzburg Crusader#22");
-
- .@map$ = instance_mapname("1@gl_k");
- .@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
- monster .@map$,145,59,"Abyss Knight",2470,1,.@label$;
- monster .@map$,154,59,"Abyss Knight",2470,1,.@label$;
- monster .@map$,145,69,"Abyss Knight",2470,1,.@label$;
- monster .@map$,154,69,"Abyss Knight",2470,1,.@label$;
- monster .@map$,145,79,"Abyss Knight",2470,1,.@label$;
- monster .@map$,154,79,"Abyss Knight",2470,1,.@label$;
- monster .@map$,145,89,"Abyss Knight",2470,1,.@label$;
- monster .@map$,154,89,"Abyss Knight",2470,1,.@label$;
- monster .@map$,145,99,"Abyss Knight",2470,1,.@label$;
- monster .@map$,154,99,"Abyss Knight",2470,1,.@label$;
-
- for (.@i = 1; .@i <= 22; ++.@i)
- hideoffnpc instance_npcname(".#ghinstance"+.@i);
-
- donpcevent instance_npcname(".#ghinstance22")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance21")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance18")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance17")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance14")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance13")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance10")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance9")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance6")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance5")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance2")+"::OnTalkK";
- donpcevent instance_npcname(".#ghinstance1")+"::OnTalkK";
- end;
-OnTimer88000:
- donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8";
-
- for(.@i = 1; .@i<=20; .@i += 4) {
- hideonnpc instance_npcname(".#ghinstance"+.@i);
- hideonnpc instance_npcname(".#ghinstance"+(.@i+1));
- disablenpc instance_npcname(".#ghinstance"+(.@i+2));
- disablenpc instance_npcname(".#ghinstance"+(.@i+3));
- }
- hideonnpc instance_npcname(".#ghinstance21");
- hideonnpc instance_npcname(".#ghinstance22");
-
+ hideonnpc instance_npcname("Khalitzburg Knight#21");
+ hideonnpc instance_npcname("Khalitzburg Knight#22");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
+ monster .@map$,145,59,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,154,59,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,145,69,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,154,69,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,145,79,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,154,79,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,145,89,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,154,89,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,145,99,"Abysmal Knight",2470,1,.@label$;
+ monster .@map$,154,99,"Abysmal Knight",2470,1,.@label$;
monster .@map$,145,54,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("Water... Someone give me water..."));
monster .@map$,154,54,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], "Kkkrrrruughgh...");
monster .@map$,145,64,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("Sir. Heinrich. Save me..."));
monster .@map$,154,64,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("I miss my sister..."));
monster .@map$,145,74,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("Don't leave me alone, help me."));
monster .@map$,154,74,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], "Aaarrrrrhhhh");
monster .@map$,145,84,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("I am so thirsty."));
monster .@map$,154,84,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("Oh...No...I can't die yet..."));
monster .@map$,145,94,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("I feel sick to my stomach urrgg"));
monster .@map$,154,94,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("Can someone..."));
monster .@map$,145,104,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], "Arrgg... My body");
monster .@map$,154,104,"Khalitzburg",2471,1,.@label$;
+ unittalk($@mobid[0], _("My throat is burning!"));
end;
-OnTimer93000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk4";
+
+OnTimer94000:
+ donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8";
+ end;
+
+OnTimer96500:
+ donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk4";
end;
-OnTimer97000:
+
+OnTimer100000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk9";
end;
-OnTimer105000:
+
+OnTimer103000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk10";
- mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Dead men, dead men all over the place!",bc_map,"0xFFFF00";
end;
-OnTimer107000:
- mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Everybody! Go back!",bc_map,"0xFFFF00";
+
+OnTimer106000:
+ mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Death to all!"), bc_map, "0xFFFF00", FW_NORMAL, 18);
end;
-OnTimer110000:
+
+OnTimer109000:
+ mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Go back to the darkness!"), bc_map, "0xFFFF00", FW_NORMAL, 18);
+ end;
+
+OnTimer109500:
+ enablenpc instance_npcname(".#ghinstance22");
+ enablenpc instance_npcname(".#ghinstance21");
donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1";
end;
-OnTimer110500:
+
+OnTimer110000:
enablenpc instance_npcname(".#ghinstance20");
enablenpc instance_npcname(".#ghinstance19");
+ enablenpc instance_npcname(".#ghinstance18");
+ enablenpc instance_npcname(".#ghinstance17");
donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1";
- end;
-OnTimer111000:
donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1";
end;
-OnTimer111500:
+
+OnTimer110500:
enablenpc instance_npcname(".#ghinstance16");
enablenpc instance_npcname(".#ghinstance15");
+ enablenpc instance_npcname(".#ghinstance14");
+ enablenpc instance_npcname(".#ghinstance13");
donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1";
- end;
-OnTimer112000:
donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1";
end;
-OnTimer112500:
+
+OnTimer111000:
enablenpc instance_npcname(".#ghinstance12");
enablenpc instance_npcname(".#ghinstance11");
+ enablenpc instance_npcname(".#ghinstance10");
+ enablenpc instance_npcname(".#ghinstance9");
donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1";
- end;
-OnTimer113000:
donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1";
end;
-OnTimer113500:
+
+OnTimer111500:
enablenpc instance_npcname(".#ghinstance8");
enablenpc instance_npcname(".#ghinstance7");
+ enablenpc instance_npcname(".#ghinstance6");
+ enablenpc instance_npcname(".#ghinstance5");
donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1";
- end;
-OnTimer114000:
donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1";
end;
-OnTimer114500:
+
+OnTimer112000:
enablenpc instance_npcname(".#ghinstance4");
enablenpc instance_npcname(".#ghinstance3");
+ enablenpc instance_npcname(".#ghinstance2");
+ enablenpc instance_npcname(".#ghinstance1");
donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1";
- end;
-OnTimer114750: //custom time
- disablenpc instance_npcname(".#ghinstance3");
- disablenpc instance_npcname(".#ghinstance4");
- disablenpc instance_npcname(".#ghinstance7");
- disablenpc instance_npcname(".#ghinstance8");
- disablenpc instance_npcname(".#ghinstance11");
- disablenpc instance_npcname(".#ghinstance12");
- disablenpc instance_npcname(".#ghinstance15");
- disablenpc instance_npcname(".#ghinstance16");
- disablenpc instance_npcname(".#ghinstance19");
- disablenpc instance_npcname(".#ghinstance20");
- end;
-OnTimer115000:
- donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable";
- donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable";
- donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1";
donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1";
+ donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable";
+ donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable";
+ for (.@i=1; .@i <= 22; .@i++)
+ disablenpc instance_npcname(".#ghinstance"+.@i);
killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead";
end;
-OnTimer120000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk5";
+
+OnTimer112500:
+ donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1";
end;
-OnTimer125000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk6";
+
+OnTimer115500:
+ donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk5";
end;
-OnTimer130000:
+
+OnTimer118500:
+ donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk6";
+ end;
+
+OnTimer121500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk2";
end;
-OnTimer135000:
+
+OnTimer124500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk3";
end;
-OnTimer140000:
+
+OnTimer127500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk4";
end;
-OnTimer145000:
+
+OnTimer130500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk5";
end;
-OnTimer150000:
+
+OnTimer134500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk6";
end;
-OnTimer155000:
+
+OnTimer138500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk7";
end;
-OnTimer160000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk7";
- end;
-OnTimer165000:
+
+OnTimer143500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk8";
end;
-OnTimer167000:
+
+OnTimer147500:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
end;
-OnTimer168000:
- donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnDisable";
- donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
+
+OnTimer148500:
+ donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnDisable";
stopnpctimer;
donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable";
- mapannounce instance_mapname("1@gl_k"), "9 o'clock warp leading to zone 2 is now open.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@gl_k"), _("A portal has opened to the west."), bc_map, "0xFFFF00");
donpcevent instance_npcname("#talkinstance1")+"::OnDisable";
donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable";
end;
+
OnMyMobDead:
end;
}
-1@gl_k,145,54,6 script .#ghinstance1 MG_KHALITZBURG,{
- end;
-OnInstanceInit:
-OnDisable:
- hideonnpc instance_npcname(strnpcinfo(0));
- end;
-OnEnable:
- hideoffnpc instance_npcname(strnpcinfo(0));
- end;
-OnEffect1:
- specialeffect EF_GRANDCROSS;
- specialeffect EF_LEXAETERNA;
- end;
-OnTalkK:
- switch(atoi(replacestr(strnpcinfo(2),"ghinstance",""))) {
- case 1: npctalk "I do not want to die."; break;
- case 2: npctalk "Mom..."; break;
- case 5: npctalk "Help."; break;
- case 6: npctalk "My stomach hurts..."; break;
- case 9: npctalk "Heinrich Sir, help!"; break;
- case 10: npctalk "Ack... Ugh."; break;
- case 13: npctalk "I'm thirsty."; break;
- case 14: npctalk "Oh... No... I cannot die..."; break;
- case 17: npctalk "This is so uncomfortable. Eww!"; break;
- case 18: npctalk "Who am I..."; break;
- case 21: npctalk "Uhh... My body."; break;
- case 22: npctalk "I'm so thirsty!"; break;
- }
- end;
-}
-1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 MG_KHALITZBURG
-1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 MG_KHALITZBURG
-1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 MG_KHALITZBURG
-1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 MG_KHALITZBURG
-1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 MG_KHALITZBURG
-1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 MG_KHALITZBURG
-1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 MG_KHALITZBURG
-1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 MG_KHALITZBURG
-1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 MG_KHALITZBURG
-1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 MG_KHALITZBURG
-1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 MG_KHALITZBURG
-
-1@gl_k,145,59,6 script .#ghinstance3 HIDDEN_NPC,{
+1@gl_k,145,54,6 script .#ghinstance1 HIDDEN_NPC,{
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname(strnpcinfo(0));
+ disablenpc instance_npcname(strnpcinfo(0));
end;
+
OnEnable:
- hideoffnpc instance_npcname(strnpcinfo(0));
+ enablenpc instance_npcname(strnpcinfo(0));
end;
+
OnEffect1:
specialeffect EF_GRANDCROSS;
specialeffect EF_LEXAETERNA;
end;
}
-1@gl_k,154,59,3 duplicate(.#ghinstance3) .#ghinstance4 HIDDEN_NPC
-1@gl_k,145,69,6 duplicate(.#ghinstance3) .#ghinstance7 HIDDEN_NPC
-1@gl_k,154,69,3 duplicate(.#ghinstance3) .#ghinstance8 HIDDEN_NPC
-1@gl_k,145,79,6 duplicate(.#ghinstance3) .#ghinstance11 HIDDEN_NPC
-1@gl_k,154,79,3 duplicate(.#ghinstance3) .#ghinstance12 HIDDEN_NPC
-1@gl_k,145,89,6 duplicate(.#ghinstance3) .#ghinstance15 HIDDEN_NPC
-1@gl_k,154,89,3 duplicate(.#ghinstance3) .#ghinstance16 HIDDEN_NPC
-1@gl_k,145,99,6 duplicate(.#ghinstance3) .#ghinstance19 HIDDEN_NPC
-1@gl_k,154,99,3 duplicate(.#ghinstance3) .#ghinstance20 HIDDEN_NPC
+
+1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 HIDDEN_NPC
+1@gl_k,145,59,6 duplicate(.#ghinstance1) .#ghinstance3 HIDDEN_NPC
+1@gl_k,154,59,3 duplicate(.#ghinstance1) .#ghinstance4 HIDDEN_NPC
+1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 HIDDEN_NPC
+1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 HIDDEN_NPC
+1@gl_k,145,69,6 duplicate(.#ghinstance1) .#ghinstance7 HIDDEN_NPC
+1@gl_k,154,69,3 duplicate(.#ghinstance1) .#ghinstance8 HIDDEN_NPC
+1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 HIDDEN_NPC
+1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 HIDDEN_NPC
+1@gl_k,145,79,6 duplicate(.#ghinstance1) .#ghinstance11 HIDDEN_NPC
+1@gl_k,154,79,3 duplicate(.#ghinstance1) .#ghinstance12 HIDDEN_NPC
+1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 HIDDEN_NPC
+1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 HIDDEN_NPC
+1@gl_k,145,89,6 duplicate(.#ghinstance1) .#ghinstance15 HIDDEN_NPC
+1@gl_k,154,89,3 duplicate(.#ghinstance1) .#ghinstance16 HIDDEN_NPC
+1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 HIDDEN_NPC
+1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 HIDDEN_NPC
+1@gl_k,145,99,6 duplicate(.#ghinstance1) .#ghinstance19 HIDDEN_NPC
+1@gl_k,154,99,3 duplicate(.#ghinstance1) .#ghinstance20 HIDDEN_NPC
+1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 HIDDEN_NPC
+1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 HIDDEN_NPC
+1@gl_k,149,200,3 warp treasureroom#out 1,1,1@gl_k,269,264
1@gl_k,96,80,0 script #ghinstancewarp1 WARPNPC,1,2,{
end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname(strnpcinfo(0));
end;
+
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
end;
+
OnTouch:
.@map1$ = instance_mapname("1@gl_k");
.@map2$ = instance_mapname("2@gl_k");
- switch(atoi(replacestr(strnpcinfo(2),"ghinstancewarp",""))) {
+ switch (atoi(replacestr(strnpcinfo(2), "ghinstancewarp", ""))) {
case 1: warp .@map1$,80,80; break;
case 2: warp .@map1$,105,80; break;
case 3: warp .@map1$,215,79; break;
@@ -800,187 +868,216 @@ OnTouch:
case 10: warp .@map2$,174,101; break;
case 11: warp .@map2$,150,110; break;
case 12: warp .@map2$,150,179; break;
+ case 13: warp .@map2$,150,160; break;
+ case 14: warp .@map1$,150,281; break;
+ case 15: warp .@map1$,48,168; break;
}
end;
}
-1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 WARPNPC,1,2
-1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 WARPNPC,1,2
-1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 WARPNPC,1,2
-1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 WARPNPC,1,2
-1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 WARPNPC,1,2
-1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 WARPNPC,1,2
-2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 WARPNPC,1,2
-2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 WARPNPC,1,2
-2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 WARPNPC,1,2
-2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 WARPNPC,1,2
-2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 WARPNPC,1,2
-
-
-//== Sector 1 Mobs =========================================
+
+1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 WARPNPC,2,2
+1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 WARPNPC,2,2
+1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 WARPNPC,2,2
+1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 WARPNPC,2,2
+1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 WARPNPC,2,2
+1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 WARPNPC,2,2
+2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 WARPNPC,2,2
+2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 WARPNPC,2,2
+2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 WARPNPC,2,2
+2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 WARPNPC,2,2
+2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 WARPNPC,2,2
+2@gl_k,150,167,0 duplicate(#ghinstancewarp1) #ghinstancewarp13 WARPNPC,2,2
+2@gl_k,150,32,0 duplicate(#ghinstancewarp1) #ghinstancewarp14 WARPNPC,2,2
+1@gl_k,69,168,0 duplicate(#ghinstancewarp1) #ghinstancewarp15 WARPNPC,2,2
+
+// Sector 1 Mobs
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0 script #ghmemorialmob01 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob01");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob01");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
- areamonster .@map$,76,99,87,10,"Suffering Chamberlain",2466,15,.@label$;
- areamonster .@map$,67,39,12,6,"Fallen Monk",2465,20,.@label$;
- areamonster .@map$,67,39,12,6,"Suffering Chamberlain",2466,3,.@label$;
- areamonster .@map$,32,75,51,58,"Decayed Butler",2464,6,.@label$;
- areamonster .@map$,45,84,6,137,"Decayed Butler",2464,12,.@label$;
+ areamonster(.@map$, 76, 99, 87, 10, _("Grand Chamberlain in pain"), MG_GHOUL, 15, .@label$);
+ areamonster(.@map$, 67, 39, 12, 6, _("Corrupted Monk"), MG_WRAITH, 20, .@label$);
+ areamonster(.@map$, 67, 39, 12, 6, _("Grand Chamberlain in pain"), MG_GHOUL, 3, .@label$);
+ areamonster(.@map$, 32, 75, 51, 58, _("Corrupted Steward"), MG_ZOMBIE, 6, .@label$);
+ areamonster(.@map$, 45, 84, 6, 137, _("Corrupted Steward"), MG_ZOMBIE, 12, .@label$);
end;
+
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
.@mob_dead_num = 56 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 35) {
- mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF";
+ mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, "0xFFFFFF");
killmonster .@map$,.@label$;
- donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnEnable";
+ donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable";
}
end;
}
-1@gl_k,17,51,3 script Aspiring Butcher#clearGH 4_M_KID1,{
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
- mes "[Aspiring Butcher]";
- mes "Help me! Help me!!!";
- next;
- select("Hey, wake up! Are there any other survivors?");
- mes "["+strcharinfo(0)+"]";
- mes "Hey, wake up! Are you alone?";
- unittalk getcharid(3),"Hey, wake up! Are you alone?";
- next;
- mes "[Aspiring Butcher]";
- mes "The Chamberlain... the Monk... They've become monsters. I couldn't do anything.";
- npctalk "The Chamberlain... the Monk... They've become monsters. I couldn't do anything.";
- next;
- mes "[Aspiring Butcher]";
- mes "I just stood still... Nothing, I couldn't do anything...";
- npctalk "I just stood still... Nothing, I couldn't do anything...";
- next;
- select("Wake up!");
- mes "["+strcharinfo(0)+"]";
- mes "Wake up kid! Go east along the central passage to the outside! The path is safe!";
- unittalk getcharid(3),"Wake up kid! Go east along the central passage to the outside! The path is safe!";
- next;
- mes "[Aspiring Butcher]";
- mes "East passage? Alone? How?";
- npctalk "East passage? Alone? How?";
- next;
- select("I can guide you through the path.");
- mes "["+strcharinfo(0)+"]";
- mes "I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything.";
- unittalk getcharid(3),"I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything.";
- next;
- mes "[Aspiring Butcher]";
- mes "Aspiring Butcher: I know, I... I'm trying to.";
- npctalk "Aspiring Butcher: I know, I... I'm trying to.";
- donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable";
- close;
- } else {
- mes "[Aspiring Butcher]";
- mes "Somebody help me, somebody help me, please.";
+1@gl_k,17,51,3 script Altar boy Domun#clearGH 4_M_KID1,{
+ if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ mes("[Altar boy Domun]");
+ mes("Save me, save me, please...");
close;
}
-OnInstanceInit:
-OnDisable:
- hideonnpc instance_npcname("Aspiring Butcher#clearGH");
- end;
-OnEnable:
- hideoffnpc instance_npcname("Aspiring Butcher#clearGH");
+ mes("[Altar boy Domun]");
+ mes("Save me! Save me!!!");
+ npctalk(_("Save me! Save me!!!"));
+ next;
+ select("Hold on!Are you the only survivor?");
+ mesf("[%s]", strcharinfo(0));
+ mes("Hold on!\r"
+ "Are you the only survivor?");
+ unittalk(getcharid(3), _("Hold on! Are you the only survivor?"));
+ next;
+ mes("[Altar boy Domun]");
+ mes("Chamberlains... monks...\r"
+ "They all turned into monsters. I couldn't do anything.");
+ npctalk(_("Altar boy Domun : Chamberlains... monks... They all turned into monsters. I couldn't do anything."));
+ next;
+ mes("[Altar boy Domun]");
+ mes("All I could do was... \r"
+ "Just hide in here...\r"
+ "Nothing, nothing I could do...");
+ npctalk(_("Altar boy Domun : All I could do was... Just hide in here... Nothing, nothing I could do..."));
+ next;
+ select("Pull it together!");
+ mesf("[%s]", strcharinfo(0));
+ mes("Wake up kid! Go east and find the middle passage to the outside! That is safe!");
+ unittalk(getcharid(3), _("Wake up kid! Go east and find the middle passage to the outside! That is safe!")); // Displays 1st Letter of char name in small?
+ next;
+ mes("[Altar boy Domun]");
+ mes("To the east passage?\r"
+ "Alone?\r"
+ "How?");
+ npctalk(_("Altar boy Domun : To the east passage? Alone? How?"));
+ next;
+ select("I will give you a weapon.");
+ mesf("[%s]", strcharinfo(0));
+ mes("Here's a weapon. Just close your eye and swing for those monsters.");
+ unittalk getcharid(3), _("Here's a weapon. Just close your eye and swing for those monsters.");
+ next;
+ mes("[Altar boy Domun]");
+ mes("Ok, I... I'l try.");
+ npctalk(_("Altar boy Domun : Ok, I... I'l try."));
+ close2;
+ donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnDisable";
+ donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable";
end;
-}
-//== Sector 2 Mobs =========================================
-1@gl_k,291,145,3 script Hollgrehenn Destroyer 4_F_JOB_BLACKSMITH,{
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
- mes "[Hollgrehenn Destroyer]";
- mes "Yaaa!! Die!!!";
- npctalk "Yaaa!! Die!!!";
- specialeffect EF_CRASHEARTH;
- next;
- select("Don't worry!");
- mes "["+strcharinfo(0)+"]";
- mes "Don't worry! Mam. Are you alone? No other survivors?";
- unittalk getcharid(3),"Don't worry! Mam. Are you alone? No other survivors?";
- next;
- mes "[Hollgrehenn Destroyer]";
- mes "I'm the only survivor left";
- npctalk "I'm the only survivor left";
- next;
- select("This is a very dangerous place.");
- mes "["+strcharinfo(0)+"]";
- mes "This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?";
- unittalk getcharid(3),"This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?";
- next;
- mes "[Hollgrehenn Destroyer]";
- mes "Yes, I am able to move. I'll move for my baby's sake.";
- npctalk "Yes, I am able to move. I'll move for my baby's sake.";
- next;
- select("Survive the road...");
- mes "["+strcharinfo(0)+"]";
- mes "You and your baby will get out of here safely. But I'm sorry I can't help you more.";
- unittalk getcharid(3),"You and your baby will get out of here safely. But I'm sorry I can't help you more.";
- next;
- mes "[Hollgrehenn Destroyer]";
- mes "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also.";
- npctalk "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also.";
- donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable";
- close;
- } else {
- mes "[Hollgrehenn Destroyer]";
- mes "Somebody help me, somebody help me, please";
- close;
- }
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Hollgrehenn Destroyer");
+ hideonnpc instance_npcname("Altar boy Domun#clearGH");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Hollgrehenn Destroyer");
+ hideoffnpc instance_npcname("Altar boy Domun#clearGH");
end;
}
+// Sector 2 Mobs
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0 script #ghmemorialmob02 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob02");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob02");
donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable";
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
- mapannounce .@map$,"3 o'clock warp leading to zone 3 is now open.",bc_map,"0xFFFF00";
- areamonster .@map$,241,113,291,19,"Suffering Chamberlain",2466,12,.@label$;
- areamonster .@map$,241,113,291,19,"Decayed Monk",2464,12,.@label$;
- areamonster .@map$,227,217,291,135,"Suffering Chamberlain",2466,12,.@label$;
- areamonster .@map$,227,217,291,135,"Decayed Monk",2464,12,.@label$;
+ mapannounce(.@map$, _("A portal has opened to the east."), bc_map, "0xFFFF00");
+ areamonster(.@map$, 241, 113, 291, 19, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
+ areamonster(.@map$, 241, 113, 291, 19, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
+ areamonster(.@map$, 227, 217, 291, 135, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
+ areamonster(.@map$, 227, 217, 291, 135, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
end;
+
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
.@mob_dead_num = 48 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 28) {
- mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF";
+ mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, "0xFFFFFF");
killmonster .@map$,.@label$;
- donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnEnable";
+ donpcevent instance_npcname("Holgren the Destroyer")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable";
}
end;
}
-//== Tramp Mobs ============================================
-1@gl_k,221,82,3 script Breathless Man#GHtramp1 4_M_DIEMAN,4,4,{
+1@gl_k,291,145,3 script Holgren the Destroyer 4_F_JOB_BLACKSMITH,{
+ if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ mes("[Holgren the Destroyer]");
+ mes("Are you human?");
+ close;
+ }
+ mes("[Holgren the Destroyer]");
+ mes("Die!! You shall die!!!");
+ npctalk(_("Holgren the Destroyer : Die!! You shall die!!!"));
+ specialeffect EF_CRASHEARTH;
+ next;
+ select("Relax! I'm not a monster!");
+ mesf("[%s]", strcharinfo(0));
+ mes("Relax! I am Human. Are you alone? Anyone else here?");
+ unittalk getcharid(3), _("Relax! I am Human. Are you alone? Anyone else here?");
+ next;
+ mes("[Holgren the Destroyer]");
+ mes("It's only me alive.");
+ npctalk(_("Holgren the Destroyer : It's only me alive."));
+ next;
+ select("It's dangerous here...");
+ mesf("[%s]", strcharinfo(0));
+ mes("It's dangerous here. You know the way to the middle passage? Can you move?");
+ unittalk(getcharid(3), _("It's dangerous here. You know the way to the middle passage? Can you move?")); // Displays 1st Letter of char name in small?
+ next;
+ mes("[Holgren the Destroyer]");
+ mes("Yes, I can move. I need to get out of here.");
+ npctalk(_("Holgren the Destroyer : Yes, I can move. I need to get out of here."));
+ next;
+ select("Be safe...");
+ mesf("[%s]", strcharinfo(0));
+ mes("Sorry, I can't go with you.");
+ unittalk(getcharid(3), _("Sorry, I can't go with you."));
+ next;
+ mes("[Holgren the Destroyer]");
+ mes("It's ok. You've already done enough. I can help myself. Good luck to you too.");
+ npctalk(_("Holgren the Destroyer : It's ok. You've already done enough. I can help myself. Good luck to you too."));
+ close2;
+ donpcevent instance_npcname("Holgren the Destroyer")+"::OnDisable";
+ donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable";
+ end;
+
+OnInstanceInit:
+OnDisable:
+ hideonnpc instance_npcname("Holgren the Destroyer");
+ end;
+
+OnEnable:
+ hideoffnpc instance_npcname("Holgren the Destroyer");
+ end;
+}
+
+// Tramp Mobs
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+1@gl_k,221,82,3 script A dead man#GHtramp1 4_M_DIEMAN,4,4,{
end;
+
OnTouch:
.@i = rand(1,10);
if (.@i == 1) .@mobs = 3;
@@ -990,108 +1087,130 @@ OnTouch:
else .@mobs = 7;
getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
specialeffect EF_VENOMDUST;
- monster .@map$,.@x,.@y,"Muck Worm",2467,.@mobs,instance_npcname(strnpcinfo(0))+"::OnMyMobDead";
+ monster(.@map$, .@x, .@y, "Maggot", MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(0))+"::OnMyMobDead");
disablenpc instance_npcname(strnpcinfo(0));
end;
+
OnMyMobDead:
end;
+
OnInstanceInit:
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
end;
+
OnDisable:
disablenpc instance_npcname(strnpcinfo(0));
end;
}
-1@gl_k,213,63,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp2 4_M_DIEMAN,4,4
-1@gl_k,230,50,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp3 4_M_DIEMAN,4,4
-1@gl_k,222,39,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp4 4_M_DIEMAN,4,4
-1@gl_k,214,27,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp5 4_M_DIEMAN,4,4
-1@gl_k,223,17,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp6 4_M_DIEMAN,4,4
-1@gl_k,235,16,4 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp7 4_M_DIEMAN,4,4
-1@gl_k,251,20,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp8 4_M_DIEMAN,4,4
-1@gl_k,240,43,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp9 4_M_DIEMAN,4,4
-1@gl_k,271,19,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp10 4_M_DIEMAN,4,4
-1@gl_k,246,62,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp11 4_M_DIEMAN,4,4
-1@gl_k,282,48,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp12 4_M_DIEMAN,4,4
-1@gl_k,285,81,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp13 4_M_DIEMAN,4,4
-1@gl_k,241,86,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp14 4_M_DIEMAN,4,4
-1@gl_k,249,101,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp15 4_M_DIEMAN,4,4
-1@gl_k,276,106,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp16 4_M_DIEMAN,4,4
-1@gl_k,252,120,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp17 4_M_DIEMAN,4,4
-1@gl_k,258,150,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp18 4_M_DIEMAN,4,4
-1@gl_k,255,157,6 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp19 4_M_DIEMAN,4,4
-1@gl_k,261,164,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp20 4_M_DIEMAN,4,4
-1@gl_k,269,173,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp21 4_M_DIEMAN,4,4
-1@gl_k,280,167,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp22 4_M_DIEMAN,4,4
-1@gl_k,293,161,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp23 4_M_DIEMAN,4,4
-1@gl_k,226,96,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp24 4_M_DIEMAN,4,4
-1@gl_k,222,119,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp25 4_M_DIEMAN,4,4
-1@gl_k,233,123,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp26 4_M_DIEMAN,4,4
-2@gl_k,147,203,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp27 4_M_DIEMAN,4,4
-2@gl_k,141,222,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp28 4_M_DIEMAN,4,4
-2@gl_k,167,225,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp29 4_M_DIEMAN,4,4
-2@gl_k,145,236,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp30 4_M_DIEMAN,4,4
-2@gl_k,143,260,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp31 4_M_DIEMAN,4,4
-2@gl_k,173,258,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp32 4_M_DIEMAN,4,4
-
-//== Sector 3 Mobs =========================================
+
+1@gl_k,213,63,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp2 4_M_DIEMAN,4,4
+1@gl_k,230,50,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp3 4_M_DIEMAN,4,4
+1@gl_k,222,39,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp4 4_M_DIEMAN,4,4
+1@gl_k,214,27,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp5 4_M_DIEMAN,4,4
+1@gl_k,223,17,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp6 4_M_DIEMAN,4,4
+1@gl_k,235,16,4 duplicate(A dead man#GHtramp1) A dead man#GHtramp7 4_M_DIEMAN,4,4
+1@gl_k,251,20,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp8 4_M_DIEMAN,4,4
+1@gl_k,240,43,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp9 4_M_DIEMAN,4,4
+1@gl_k,271,19,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp10 4_M_DIEMAN,4,4
+1@gl_k,246,62,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp11 4_M_DIEMAN,4,4
+1@gl_k,282,48,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp12 4_M_DIEMAN,4,4
+1@gl_k,285,81,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp13 4_M_DIEMAN,4,4
+1@gl_k,241,86,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp14 4_M_DIEMAN,4,4
+1@gl_k,249,101,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp15 4_M_DIEMAN,4,4
+1@gl_k,276,106,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp16 4_M_DIEMAN,4,4
+1@gl_k,252,120,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp17 4_M_DIEMAN,4,4
+1@gl_k,258,150,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp18 4_M_DIEMAN,4,4
+1@gl_k,255,157,6 duplicate(A dead man#GHtramp1) A dead man#GHtramp19 4_M_DIEMAN,4,4
+1@gl_k,261,164,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp20 4_M_DIEMAN,4,4
+1@gl_k,269,173,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp21 4_M_DIEMAN,4,4
+1@gl_k,280,167,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp22 4_M_DIEMAN,4,4
+1@gl_k,293,161,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp23 4_M_DIEMAN,4,4
+1@gl_k,226,96,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp24 4_M_DIEMAN,4,4
+1@gl_k,222,119,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp25 4_M_DIEMAN,4,4
+1@gl_k,233,123,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp26 4_M_DIEMAN,4,4
+2@gl_k,147,203,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp27 4_M_DIEMAN,4,4
+2@gl_k,141,222,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp28 4_M_DIEMAN,4,4
+2@gl_k,167,225,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp29 4_M_DIEMAN,4,4
+2@gl_k,145,236,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp30 4_M_DIEMAN,4,4
+2@gl_k,143,260,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp31 4_M_DIEMAN,4,4
+2@gl_k,170,259,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp32 4_M_DIEMAN,4,4
+2@gl_k,143,197,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp33 4_M_DIEMAN,4,4
+2@gl_k,155,195,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp34 4_M_DIEMAN,4,4
+2@gl_k,154,188,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp35 4_M_DIEMAN,4,4
+2@gl_k,153,214,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp36 4_M_DIEMAN,4,4
+2@gl_k,172,233,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp37 4_M_DIEMAN,4,4
+2@gl_k,176,245,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp38 4_M_DIEMAN,4,4
+
+// Sector 3 Mobs
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0 script #ghmemorialmob03 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob03");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob03");
donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable";
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
- mapannounce .@map$,"12 o'clock warp leading to the zone 4 was opened.",bc_map,"0xFFFF00";
- areamonster .@map$,17,259,53,180,"Decayed Guard",2468,11,.@label$;
- areamonster .@map$,17,259,53,180,"Sharpshooter Ranger",2469,14,.@label$;
- areamonster .@map$,62,281,73,186,"Decayed Guard",2468,11,.@label$;
- areamonster .@map$,62,281,73,186,"Sharpshooter Ranger",2469,14,.@label$;
- areamonster .@map$,74,251,109,224,"Decayed Guard",2468,11,.@label$;
- areamonster .@map$,74,251,109,224,"Sharpshooter Ranger",2469,14,.@label$;
- areamonster .@map$,108,281,231,234,"Decayed Guard",2468,11,.@label$;
- areamonster .@map$,108,281,231,234,"Sharpshooter Ranger",2469,14,.@label$;
+ mapannounce(.@map$, _("A portal has appeared to the northwest."), bc_map, "0xFFFF00");
+ areamonster(.@map$, 17, 259, 53, 180, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
+ areamonster(.@map$, 17, 259, 53, 180, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
+ areamonster(.@map$, 62, 281, 73, 186, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
+ areamonster(.@map$, 62, 281, 73, 186, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
+ areamonster(.@map$, 74, 251, 109, 224, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
+ areamonster(.@map$, 74, 251, 109, 224, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
+ areamonster(.@map$, 108, 281, 231, 234, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
+ areamonster(.@map$, 108, 281, 231, 234, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
end;
+
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
.@mob_dead_num = 100 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 85) {
- mapannounce .@map$,"Himmelmez: Nice parry. I thought you were going to die slowly surrounded by the dead I summoned~",bc_map,"0xFFFFFF";
+ mapannounce(.@map$, _("Himelmez: Not bad. Thought you would be dead by now by my creatures~"), bc_map, "0xFFFFFF");
killmonster .@map$,.@label$;
donpcevent instance_npcname("#GHMclear3")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable";
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnEnable";
- donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnEnable";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnEnable";
+ donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable";
}
end;
}
-//== 1st MVP ===============================================
+// 1st MVP
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0 script #ghmemorialmob04 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob04");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob04");
- monster instance_mapname("1@gl_k"),150,258,"Root of Corruption",2475,1,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead";
+ monster instance_mapname("1@gl_k"), 150, 258, _("Corrupted Soul"), MG_CORRUPTION_ROOT, 1, instance_npcname("#ghmemorialmob04")+"::OnMyMobDead";
+ unittalk($@mobid[0], _("Grrrrrrhh~~~"));
end;
+
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "12 o'clock warp leading to the Chivalry's Second Floor is now open.",bc_map,"0xFFFF00";
+ mapannounce(.@map$, _("Opening 2nd floor entrance towards 12 O'clock direction."), bc_map, "0xFFFF00");
donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable";
- donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk2";
+ donpcevent instance_npcname("#ghinstancewarp14")+"::OnEnable";
+ donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk2";
donpcevent instance_npcname("#effectGH01")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable";
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnEnable";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable";
}
end;
@@ -1099,73 +1218,94 @@ OnMyMobDead:
1@gl_k,150,257,3 script #GHMclear3 HIDDEN_NPC,9,9,{
end;
+
OnTouch:
donpcevent instance_npcname("#controlGH3")+"::OnEnable";
specialeffect EF_BASH;
donpcevent instance_npcname("#GHMclear3")+"::OnDisable";
end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#GHMclear3");
end;
+
OnEnable:
enablenpc instance_npcname("#GHMclear3");
initnpctimer;
end;
+
OnTimer2000:
- mapannounce instance_mapname("1@gl_k"), "Himmelmez: You got me tempted to go to the 2nd floor, come to the entrance. I'm curious about how far your luck goes.",bc_map,"0xFFFFFF";
+ mapannounce(instance_mapname("1@gl_k"), _("Himelmez: I'll wait for you at the north of the castle. I want to see you how lucky you are."), bc_map, "0xFFFFFF");
stopnpctimer;
end;
}
1@gl_k,0,0,0 script #controlGH3 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH3");
end;
+
OnEnable:
enablenpc instance_npcname("#controlGH3");
initnpctimer;
end;
+
OnTimer3000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk1";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk1";
end;
+
OnTimer6000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk2";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk2";
end;
+
OnTimer9000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk3";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk3";
end;
+
OnTimer12000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk1";
end;
+
OnTimer15000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk4";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk4";
end;
+
OnTimer18000:
- donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk1";
+ donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk1";
end;
+
OnTimer21000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk2";
end;
+
OnTimer24000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk5";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk5";
end;
+
OnTimer27000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk6";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk6";
end;
+
OnTimer28000:
- donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnDisable";
+ donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnDisable";
end;
+
OnTimer31000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk3";
end;
+
OnTimer32000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable";
end;
+
OnTimer35000:
- mapannounce instance_mapname("1@gl_k"), "An eerie echo from the depths can be heard as you get closer.",bc_map,"0xFFFFFF";
+ mapannounce(instance_mapname("1@gl_k"), _("An echoing comes from deep inside of the knight's shrine."), bc_map, "0xFFFFFF");
end;
+
OnTimer38000:
donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable";
stopnpctimer;
@@ -1174,302 +1314,380 @@ OnTimer38000:
}
1@gl_k,144,258,6 script Heinrich#ghinstance4 4_M_HEINRICH,{
- mes "[Heinrich]";
- mes "Himmelmez... You made my men get killed and I will never forget that.";
cutin "gl_heinrich1",2;
+ mes("[Heinrich]");
+ mes("Himelmez... I will never forget what you've done to my men.");
close2;
cutin "gl_heinrich1",255;
end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance4");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance4");
end;
+
OnTalk1:
- npctalk "Himmelmez! I won't let you take even a single more step here.";
+ npctalk(_("Himelmez! We will not let you get away from us!"));
end;
+
OnTalk2:
- npctalk "What... is this?!";
+ npctalk(_("What... These are!"));
end;
+
OnTalk3:
- npctalk "Varmunt Sir! Help the adventurers and I'll chase Himmelmez!";
+ npctalk(_("Sir. Varmundt! Help those adventurers. I will go after Himelmez!"));
end;
}
-1@gl_k,150,257,3 script Himmelmez#ghinstance2 4_F_HIMEL,{
- mes "[Himmelmez]";
- mes "No need to stare at me with so insecure eyes. Soon they'll become relaxed...";
+1@gl_k,150,257,3 script Himelmez#ghinstance2 4_F_HIMEL,{
cutin "gl_himel2",2;
+ mes("[Himelmez]");
+ mes("Don't look at me nervous like that. It will be over soon...");
close2;
cutin "gl_himel2",255;
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himmelmez#ghinstance2");
+ hideonnpc instance_npcname("Himelmez#ghinstance2");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Himmelmez#ghinstance2");
+ hideoffnpc instance_npcname("Himelmez#ghinstance2");
end;
+
OnTalk1:
- npctalk "What an awfully lucky, I flew all the way over here and just one of them is really powerful.";
+ npctalk(_("Guess you are either lucky or powerful, to make it this far."));
end;
+
OnTalk2:
- npctalk "But it doesn't matter to me.";
+ npctalk(_("But, it doesn't matter."));
end;
+
OnTalk3:
- npctalk "Now, all of you will die.";
+ npctalk(_("You will all die here."));
end;
+
OnTalk4:
- npctalk "Hahaha, so you guys thought I would come alone?";
+ npctalk(_("Ha ha ha, worry about yourself. You think I am alone here?"));
end;
+
OnTalk5:
- npctalk "This is my new toy to keep you at my feet. Why don't you guys play while I entertain?";
+ npctalk(_("I will go on my way while my new toy entertains you."));
end;
+
OnTalk6:
- npctalk "Sincerely~, If I am given the opportunity I'd like to meet you again, Heinrich.";
+ npctalk(_("Fare well~, hope to see you again sometime, Heinrich."));
end;
+
}
-1@gl_k,156,259,3 script Varmunt#ghinstance3 4_M_BARMUND,{
- if (questprogress(12318,HUNTING) == 2) {
- if (!questprogress(12319,HUNTING)) {
- mes "[Varmunt]";
- mes "There's something unusual about this thing's aura. Maybe someday we will be able to understand what is behind all of this.";
- cutin "gl_barmund1",2;
- getitem Coagulated_Spell,1; //Coagulated Spell
+1@gl_k,156,259,3 script Varmundt#ghinstance3 4_M_BARMUND,{ // not disabling it so all players can get their reward
+ if (questprogress(12318, HUNTING) == 2) {
+ cutin "gl_barmund1", 2;
+ mes("[Varmundt]");
+ mes("This item has extraordinary aura with it. Can be very useful for someone special.");
+ erasequest 12318;
+ if (!questprogress(12319, HUNTING))
setquest 12319;
- close2;
- cutin "gl_barmund1",255;
- end;
- }
+ setquest 12320;
+ erasequest 12320;
+ getitem Temporal_Crystal, 1;
+ getitem Coagulated_Spell, 1;
+ getexp 250000, 250000;
+ close2;
+ cutin "gl_barmund1", 255;
+ end;
}
- mes "[Varmunt]";
- mes "Even after all this time, it is impossible to prevent from the will of the Transcendent.";
cutin "gl_barmund1",2;
+ mes("[Varmundt]");
+ mes("I guess this is it. Is it impossible to stop the time traveler's will?! A portal seems to have appeared to the north.");
close2;
cutin "gl_barmund2",255;
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmunt#ghinstance3");
+ hideonnpc instance_npcname("Varmundt#ghinstance3");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Varmunt#ghinstance3");
+ hideoffnpc instance_npcname("Varmundt#ghinstance3");
end;
+
OnTalk1:
- npctalk "Heinrich Sir! Something unknown holds an inexplicably powerful force!";
+ npctalk(_("Sir. Heinrich! I sense something strange and strong coming!"));
end;
+
OnTalk2:
- npctalk "From the monster I picked up some great stuff. People who are interested, talk to me.";
+ npctalk(_("I collected some items dropped from its body. You can take it from me."));
end;
}
-//== Floor 2 ===============================================
+// Floor 2
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2@gl_k,148,67,1 script Heinrich#ghinstance5 4_M_HEINRICH,{
- mes "[Heinrich]";
- mes "Himmelmez's blocking spells";
- mes "are everywhere around here...";
cutin "gl_heinrich1",2;
+ mes("[Heinrich]");
+ mes("Himelmez's closed space covers everywhere...");
close2;
cutin "gl_heinrich1",255;
end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance5");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance5");
end;
+
OnTalk1:
- npctalk "These things have never been in the castle!";
+ npctalk(_("This structure was not in the castle before!"));
end;
+
OnTalk2:
- npctalk "Trying to break this power with common weapons doesn't work. I tried it.";
+ npctalk(_("We tried to break it down but it's really strong."));
end;
+
OnTalk3:
- npctalk "It is really unforgivable.";
+ npctalk(_("It is inexcusable behavior."));
end;
+
OnTalk4:
- npctalk "I, who already was a subordinate of genocide. How much more in the future...";
+ npctalk(_("I already exterminated all my soldiers and maybe more..."));
end;
+
OnTalk5:
- npctalk "...";
+ npctalk(_("..."));
end;
}
-2@gl_k,151,71,7 script Varmunt#ghinstance4 4_M_BARMUND,{
- mes "[Varmunt]";
- mes "Why am I doing this again? Doesn't seem like the first time. I've seen this place repeatedly dozens of times in my dreams. This feeling...";
+2@gl_k,151,71,7 script Varmundt#ghinstance4 4_M_BARMUND,{
cutin "gl_barmund1",2;
+ mes("[Varmundt]");
+ mes("How many times I do this job. In my dream, I did it over and over again...");
close2;
cutin "gl_barmund1",255;
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmunt#ghinstance4");
+ hideonnpc instance_npcname("Varmundt#ghinstance4");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Varmunt#ghinstance4");
+ hideoffnpc instance_npcname("Varmundt#ghinstance4");
end;
+
+OnTalk1:
+ npctalk(_("This is Himelmez's closed space. We blocked each area and aisle."));
+ end;
+
OnTalk2:
- npctalk "Himmelmez's enchantment has completely blocked the passage to each section.";
+ npctalk(_("Step back. Let me try to dispel the magic."));
end;
+
OnTalk3:
- npctalk "Get out of the way for a moment. I'll try to somehow break the spell with magical powers.";
+ npctalk(_("I think that part of closed space is broke down."));
end;
+
OnTalk4:
- npctalk "The enchantment seems to be broken.";
+ npctalk(_("I have never seen this closed space."));
end;
+
OnTalk5:
- npctalk "I've never seen this spell before.";
+ npctalk(_("Himelmez hides stone chains in undead people's body."));
end;
+
OnTalk6:
- npctalk "Himmelmez doesn't use a seal on a person's body to turn it into an undead.";
+ npctalk(_("Maybe this closed space is maintained with these stone chains."));
end;
+
OnTalk7:
- npctalk "She uses enchantment stones.This way, the spell is probably maintained.";
+ npctalk(_("If you want to break it, you have to kill one of those who have a stone chain."));
end;
+
OnTalk8:
- npctalk "We should kill the people who have the enchantment stones to break the spell.";
+ npctalk(_("But, we can't recognize who has a stone chain so, we have to purify everything."));
end;
+
OnTalk9:
- npctalk "However, we can't identify them. The purification can only be done randomly.";
+ npctalk(_("Commander..."));
end;
+
OnTalk10:
- npctalk "Commandant...";
+ npctalk(_("Commander! You need to be strong."));
end;
+
OnTalk11:
- npctalk "Commandant, it seems too loose.";
+ npctalk(_("Our enemy is not human."));
end;
+
OnTalk12:
- npctalk "We are related to all these people, not just a few.";
+ npctalk(_("Even though you deny it, they'll never turn back to human."));
end;
+
OnTalk13:
- npctalk "We can't deny that it's not their fault for what is going on.";
+ npctalk(_("Well, let's go then."));
end;
+
OnTalk14:
- npctalk "Well, let's do it then.";
+ npctalk(_("And you guys, just take a break and follow us."));
end;
+
OnTalk15:
- npctalk "You guys are of a great help. Try to follow us.";
+ npctalk(_("It could be hard fighting so, stay strong."));
end;
+
OnTalk16:
- npctalk "There can be a tough fight. Hold on, and it would be nice to eat something.";
- end;
-OnTalk17:
- npctalk "Guys. It is time to depart, Heinrich Sir.";
+ npctalk(_("Ok, it's time to begin Heinrich."));
end;
}
2@gl_k,150,67,0 script #effectGH01 HIDDEN_NPC,10,10,{
end;
+
OnTouch:
- if (.touch) {
- .touch = 0;
+ if ('touch) {
+ 'touch = 0;
specialeffect EF_BASH;
donpcevent instance_npcname("#controlGH4")+"::OnEnable";
}
end;
+
OnEffect:
specialeffect EF_LORD;
end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#effectGH01");
end;
+
OnEnable:
enablenpc instance_npcname("#effectGH01");
- set .touch,1; //Activates OnTouch Only Once.
+ 'touch = 1; // Only activate OnTouch once
end;
}
2@gl_k,0,0,0 script #controlGH4 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH4");
end;
+
OnEnable:
enablenpc instance_npcname("#controlGH4");
initnpctimer;
end;
+
OnTimer3000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk1";
donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable";
end;
+
OnTimer6000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk2";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk1";
end;
+
OnTimer9000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk2";
end;
+
OnTimer12000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk3";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk2";
end;
+
OnTimer15000:
donpcevent instance_npcname("#effectGH01")+"::OnEffect";
end;
+
OnTimer18000:
donpcevent instance_npcname("#effectGH01")+"::OnDisable";
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk4";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk3";
end;
+
OnTimer21000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk5";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk4";
end;
+
OnTimer24000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk6";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk5";
end;
+
OnTimer27000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk7";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk6";
end;
+
OnTimer30000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk8";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk7";
end;
+
OnTimer33000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk9";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk8";
end;
+
OnTimer36000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk3";
end;
+
OnTimer39000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk4";
end;
+
OnTimer42000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk10";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk9";
end;
+
OnTimer45000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk11";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk10";
end;
+
OnTimer48000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk12";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk11";
end;
+
OnTimer51000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk13";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk12";
end;
+
OnTimer54000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk5";
end;
+
OnTimer57000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk14";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk13";
end;
+
OnTimer60000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk15";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk14";
end;
+
OnTimer63000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk16";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk15";
end;
+
OnTimer66000:
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk17";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk16";
end;
+
OnTimer69000:
- mapannounce instance_mapname("2@gl_k"), "9 o'clock positioned warp leading to the 1st zone has been opened. Move from the central hallway. A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@gl_k"), _("A portal to the west has opened in the central hallway."), bc_map, "0xFFFF00");
donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable";
- donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnDisable";
+ donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnDisable";
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable";
end;
+
OnTimer70000:
stopnpctimer;
donpcevent instance_npcname("#controlGH4")+"::OnDisable";
@@ -1477,26 +1695,30 @@ OnTimer70000:
}
2@gl_k,0,0,0 script #ghmemorialmob05 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob05");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob05");
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
- areamonster .@map$,124,20,31,162,"Decayed Guard",2468,8,.@label$;
- areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,8,.@label$;
- areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,8,.@label$;
- areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,8,.@label$;
- areamonster .@map$,124,20,31,162,"Swollen Knight",2472,8,.@label$;
- .MyMobs = 80;
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), MG_RAYDRIC, 8, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), MG_RAYDRIC_ARCHER, 8, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 8, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), MG_KHALITZBURG, 8, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), MG_BLOODY_KNIGHT, 8, .@label$);
+ 'MyMobs = 80;
end;
+
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
- --.MyMobs;
- if (.MyMobs == 0) {
- mapannounce .@map$, "A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00";
+ 'MyMobs = 'MyMobs - 1;
+ if ('MyMobs == 0) {
+ mapannounce(.@map$, _("Evil Forces are appearing in this area."), bc_map, "0xFFFF00", FW_NORMAL, 18);
donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2";
donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable";
@@ -1504,19 +1726,19 @@ OnMyMobDead:
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
switch(rand(5)) {
case 0:
- areamonster .@map$,124,20,31,162,"Decayed Guard",2468,1,.@label$;
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), 2468, 1, .@label$);
break;
case 1:
- areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,1,.@label$;
+ areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), 2469, 1, .@label$);
break;
case 2:
- areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,1,.@label$;
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), 2470, 1, .@label$);
break;
case 3:
- areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,1,.@label$;
+ areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), 2471, 1, .@label$);
break;
case 4:
- areamonster .@map$,124,20,31,162,"Swollen Knight",2472,1,.@label$;
+ areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), 2472, 1, .@label$);
break;
}
}
@@ -1524,21 +1746,27 @@ OnMyMobDead:
}
2@gl_k,0,0,0 script #ghmemorialmob06 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob06");
end;
+
OnDisable2:
stopnpctimer;
disablenpc instance_npcname("#ghmemorialmob06");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob06");
donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
end;
+
OnSpawn:
initnpctimer;
end;
+
OnTimer90000:
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
@@ -1550,14 +1778,15 @@ OnTimer90000:
58,83,63,78,
69,138,80,127,
34,143,39,138;
- for(.@i = 0; .@i<getarraysize(.@c); .@i += 4) {
- areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Decayed Guard",2468,1,.@label$;
- areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Sharpshooter Ranger",2469,1,.@label$;
- areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Fallen Abyss Knight",2470,1,.@label$;
- areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Suffering Khalitzburg",2471,1,.@label$;
- areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Swollen Knight",2472,1,.@label$;
+ for (.@i = 0; .@i < getarraysize(.@c); .@i += 4) {
+ areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
+ areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Archer of Death"), MG_RAYDRIC_ARCHER, 1, .@label$);
+ areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
+ areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
}
end;
+
OnTimer92000:
stopnpctimer;
donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
@@ -1565,18 +1794,22 @@ OnTimer92000:
}
2@gl_k,0,0,0 script #ghmemorialmob07 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob07");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob07");
- areamonster instance_mapname("2@gl_k"),124,20,31,162,"The Destruction of the First Captain",2473,1,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead";
+ areamonster instance_mapname("2@gl_k"), 124, 20, 31, 162, _("1st Commander of Destruction"), MG_M_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob07")+"::OnMyMobDead";
end;
+
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
if (mobcount(.@map$,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "3 o'clock positioned warp leading to the 2nd zone has been opened. Use the central hallway to get there.",bc_map,"0xFFFF00";
+ mapannounce(.@map$, _("A portal has opened to the east in the central hallway."), bc_map, "0xFFFF00");
donpcevent instance_npcname("#ghinstancewarp10")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp11")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob08")+"::OnEnable";
@@ -1586,45 +1819,49 @@ OnMyMobDead:
}
2@gl_k,0,0,0 script #ghmemorialmob08 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob08");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob08");
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
- areamonster .@map$,175,163,265,18,"Decayed Guard",2468,7,.@label$;
- areamonster .@map$,175,163,265,18,"Sharpshooter Ranger",2469,7,.@label$;
- areamonster .@map$,175,163,265,18,"Fallen Abyss Knight",2470,7,.@label$;
- areamonster .@map$,175,163,265,18,"Suffering Khalitzburg",2471,7,.@label$;
- areamonster .@map$,175,163,265,18,"Swollen Knight",2472,7,.@label$;
- .MyMobs = 35;
+ areamonster .@map$, 175, 163, 265, 18, "Corrupted Palace Guard", 2468, 7, .@label$;
+ areamonster .@map$, 175, 163, 265, 18, "Wandering Archer", 2469, 7, .@label$;
+ areamonster .@map$, 175, 163, 265, 18, "Corrupted Abysmal Knight", 2470, 7, .@label$;
+ areamonster .@map$, 175, 163, 265, 18, "Suffered Khalitzburg", 2471, 7, .@label$;
+ areamonster .@map$, 175, 163, 265, 18, "Bloody Knight", 2472, 7, .@label$;
+ 'MyMobs = 35;
end;
+
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
- --.MyMobs;
- if (.MyMobs == 0) {
- mapannounce .@map$, "A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00";
+ 'MyMobs = 'MyMobs-1;
+ if ('MyMobs == 0) {
+ mapannounce(.@map$, _("An evil presence has teleported into this area."), bc_map, "0xFFFF00", FW_NORMAL, 18);
donpcevent instance_npcname("#ghmemorialmob09")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
} else {
.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
- switch(rand(5)) {
+ switch (rand(5)) {
case 0:
- areamonster .@map$,175,163,265,18,"Decayed Guard",2468,1,.@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
break;
case 1:
- areamonster .@map$,175,163,265,18,"Sharpshooter Ranger",2469,1,.@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 1, .@label$);
break;
case 2:
- areamonster .@map$,175,163,265,18,"Fallen Abyss Knight",2470,1,.@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
break;
case 3:
- areamonster .@map$,175,163,265,18,"Suffering Khalitzburg",2471,1,.@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
break;
case 4:
- areamonster .@map$,175,163,265,18,"Swollen Knight",2472,1,.@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
break;
}
}
@@ -1632,19 +1869,24 @@ OnMyMobDead:
}
2@gl_k,0,0,0 script #ghmemorialmob09 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob09");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob09");
- areamonster instance_mapname("2@gl_k"),175,163,265,18,"The Destruction of the Second Captain",2474,1,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead";
+ areamonster(instance_mapname("2@gl_k"), 175, 163, 265, 18, _("2nd Commander of Destruction"), MG_F_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob09")+"::OnMyMobDead");
end;
+
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
if (mobcount(.@map$,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "12 o'clock positioned warp leading to the 3rd zone has been opened. Use the central hallway to get there.",bc_map,"0xFFFF00";
+ mapannounce(.@map$, _("A new portal has appeared at the end of the central corridor."), bc_map, "0xFFFF00");
donpcevent instance_npcname("#ghinstancewarp12")+"::OnEnable";
+ donpcevent instance_npcname("#ghinstancewarp13")+"::OnEnable";
donpcevent instance_npcname("#controlGH6")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
donpcevent instance_npcname("#ghmemorialmob09")+"::OnDisable";
@@ -1653,282 +1895,389 @@ OnMyMobDead:
}
2@gl_k,0,0,0 script #ghmemorialmob10 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob10");
end;
+
OnEnable:
enablenpc instance_npcname("#ghmemorialmob10");
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnDisable";
- monster instance_mapname("2@gl_k"),158,255,"Amdarias",2476,1,instance_npcname("#ghmemorialmob10")+"::OnMyMobDead";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnDisable";
+ monster(instance_mapname("2@gl_k"), 158, 255, _("Amdarais"), MG_AMDARAIS, 1, instance_npcname("#ghmemorialmob10")+"::OnMyMobDead");
+ unittalk($@mobid[0], _("Run away... run away from me..."));
+ initnpctimer;
+ end;
+
+OnTimer6000:
+ unittalk($@mobid[0], _("I don't want... I don't want to kill anyone. Uhuuuuuh"));
+ end;
+
+OnTimer12000:
+ unittalk($@mobid[0], _("Please kill me! Please!"));
+ end;
+
+OnTimer18000:
+ unittalk($@mobid[0], _("Eeeeee...eee...die... die..."));
end;
+
+OnTimer24000:
+ unittalk($@mobid[0], _("Demolition... Death!..."));
+ stopnpctimer;
+ end;
+
OnMyMobDead:
if (mobcount(instance_mapname("2@gl_k"),instance_npcname("#ghmemorialmob10")+"::OnMyMobDead") < 1) {
donpcevent instance_npcname("Hugin#ghinstance1")+"::OnEnable";
+ donpcevent instance_npcname("#ghinstancewarp15")+"::OnEnable";
+ for (.@i = 1; .@i <= 8; .@i++)
+ enablenpc instance_npcname("Strange crack#"+.@i);
+ stopnpctimer;
donpcevent instance_npcname("#ghmemorialmob10")+"::OnDisable";
}
end;
}
2@gl_k,155,250,7 script Heinrich#ghinstance6 4_M_HEINRICH,{
+ cutin "gl_heinrich1",2;
+ mes("[Heinrich]");
+ mes("What are you decorating Himelmez!");
+ close2;
+ cutin "gl_heinrich1",255;
end;
+
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance6");
end;
+
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance6");
end;
+
OnTalk1:
- npctalk "Gerhard!";
+ npctalk(_("Gerhalt!"));
end;
+
OnTalk2:
- npctalk "What are you doing to my men, Himmelmez?!";
+ npctalk(_("What are you doing to my soldier Himelmez!"));
end;
+
OnTalk3:
- npctalk "Himmelmez! You don't need to make any more sacrifices!";
+ npctalk(_("Himelmez! You already made what you want so there is no more need for a sacrifice!"));
end;
+
OnTalk4:
- npctalk "Let him go! I don't want one more sacrifice!";
+ npctalk(_("Let him go! I don't need to see anyone else suffer!"));
end;
+
OnTalk5:
- npctalk "I will not forgive you.";
+ npctalk(_("I'll never forgive you."));
end;
+
OnTalk6:
- npctalk "Just leave us alone, Himmelmez!!";
+ npctalk(_("I'll never let you get away Himelmez!!"));
end;
}
-2@gl_k,162,250,1 script Varmunt#ghinstance5 4_M_BARMUND,{
- mes "[Varmunt]";
- mes "We can't escape this";
- mes "eternal confinement...";
+2@gl_k,162,250,1 script Varmundt#ghinstance5 4_M_BARMUND,{
cutin "gl_barmund2",2;
+ mes("[Varmundt]");
+ mes("Can't take off this bridle...");
close2;
cutin "gl_barmund2",255;
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmunt#ghinstance5");
+ hideonnpc instance_npcname("Varmundt#ghinstance5");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Varmunt#ghinstance5");
+ hideoffnpc instance_npcname("Varmundt#ghinstance5");
end;
+
OnTalk1:
- npctalk "What? This cannot be. We must prevent Amdarias's attacks!";
+ npctalk(_("We have no choice. We have to fight against Amdarais!"));
end;
}
-2@gl_k,158,252,3 script Himmelmez#ghinstance4 4_F_HIMEL,4,4,{
+2@gl_k,158,252,3 script Himelmez#ghinstance4 4_F_HIMEL,{
+ cutin "gl_himel2",2;
+ mes("[Himelmez]");
+ mes("That is amazing ~ you made it all the way here. May I say thank you?");
+ close2;
+ cutin "gl_himel2",255;
end;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himmelmez#ghinstance4");
+ hideonnpc instance_npcname("Himelmez#ghinstance4");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Himmelmez#ghinstance4");
+ hideoffnpc instance_npcname("Himelmez#ghinstance4");
end;
+
OnTalk1:
- npctalk "Great~ I thought you wouldn't come near the end...";
+ npctalk(_("Amazing~ I thought that you were not even close to getting here..."));
end;
+
OnTalk2:
- npctalk "Huhu, I have already found a piece of Ymir's Heart, Heinrich.";
+ npctalk(_("Hoo hoo, I already found a piece of Ymir's heart Heinrich."));
end;
+
OnTalk3:
- npctalk "It would've been faster if there were no distractions.";
+ npctalk(_("If he did not bother me, it would have been faster."));
end;
+
OnTalk4:
- npctalk "What do you think? Making it look like an accidental disease infected the king and the people around...";
+ npctalk(_("Really? What makes you think so?"));
end;
+
OnTalk5:
- npctalk "You want that?";
+ npctalk(_("Let him go? I think... No..."));
end;
+
OnTalk6:
- npctalk "This one is your final blow, Heinrich.";
+ npctalk(_("Besides, this is your last surviving soldier Heinrich."));
end;
+
OnTalk7:
- npctalk "It is said that stopping me requires a skillfull person.";
+ npctalk(_("He made life difficult for me."));
end;
+
OnTalk8:
- npctalk "Seems like a perfect scenario to make my new monster, Amdarias.";
+ npctalk(_("He is perfectly fit for my new creation Amdarais."));
end;
+
OnTalk9:
- npctalk "Booh~ I'm scared.";
+ npctalk(_("Uh uh~ I'm so scared."));
end;
+
OnTalk10:
- npctalk "Anyway, it was nice talking to you. Maybe we'll have the chance to meet again in the next story.";
+ npctalk(_("Anyway, we will have a chance to see because we need to talk more."));
end;
+
OnTalk11:
- npctalk "Well, make sure you will come back again.";
+ npctalk(_("So long boys."));
end;
}
2@gl_k,150,179,0 script #controlGH6 HIDDEN_NPC,2,2,{
end;
+
OnTouch:
- mapannounce instance_mapname("2@gl_k"), "???: Do not come! There are traps everywhere here... Aaaaack!!!!",bc_map,"0xFF0000";
+ mapannounce(instance_mapname("2@gl_k"), _("???: Do not come here! It's a trap... Kkkkah!!!"), bc_map, "0xFF0000", FW_NORMAL, 18);
specialeffect EF_BASH;
- donpcevent instance_npcname("Himmelmez#ghinstance3")+"::OnEnable";
+ donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnEnable";
- donpcevent instance_npcname("Varmunt#ghinstance5")+"::OnEnable";
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEnable";
+ donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnEnable";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEnable";
donpcevent instance_npcname("#controlGH6")+"::OnDisable";
end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH6");
end;
+
OnEnable:
enablenpc instance_npcname("#controlGH6");
end;
}
-2@gl_k,158,252,1 script Himmelmez#ghinstance3 4_F_HIMEL,7,7,{
+2@gl_k,158,252,1 script Himelmez#ghinstance3 4_F_HIMEL,7,7,{
end;
+
OnTouch:
specialeffect EF_BASH;
donpcevent instance_npcname("#controlGH5")+"::OnEnable";
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnEnable";
- donpcevent instance_npcname("Himmelmez#ghinstance3")+"::OnDisable";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnEnable";
+ donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnDisable";
end;
+
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Himmelmez#ghinstance3");
+ disablenpc instance_npcname("Himelmez#ghinstance3");
end;
+
OnEnable:
- enablenpc instance_npcname("Himmelmez#ghinstance3");
+ enablenpc instance_npcname("Himelmez#ghinstance3");
end;
}
-2@gl_k,158,255,3 script Gerhard#ghinstance1 4_LEVITATEMAN,{
- end;
+2@gl_k,158,255,3 script Gerhalt#ghinstance1 4_LEVITATEMAN,{
+ mes("[Gerhalt]");
+ mes("Uuuuu... Khhhah!\r"
+ "Just run away with the commander!");
+ close;
+
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Gerhard#ghinstance1");
+ hideonnpc instance_npcname("Gerhalt#ghinstance1");
end;
+
OnEnable:
- hideoffnpc instance_npcname("Gerhard#ghinstance1");
+ hideoffnpc instance_npcname("Gerhalt#ghinstance1");
end;
+
OnTalk1:
- npctalk "Damn it! Run away! I can't withstand anymore!";
+ npctalk(_("Gerhalt : Kkkkah! Run away! I can't endure anymore!"));
end;
+
OnTalk2:
- npctalk "Commandant... Come on, you need to run away from here... Ugh.";
+ npctalk(_("Gerhalt : Commandant... Come on, you need to run away from here... Ugh."));
end;
+
OnTalk3:
- npctalk "Even if you defile my body, I won't let you take my soul, Himmelmez!";
+ npctalk(_("Gerhalt : You can make my body but you can't take my soul Himelmez!"));
end;
+
OnEffect1:
specialeffect EF_BARRIER;
end;
+
OnEffect2:
specialeffect EF_CHAINCOMBO;
end;
+
OnEffect3:
specialeffect EF_MAPPILLAR2;
end;
+
OnEffect4:
specialeffect EF_MAPPILLAR;
end;
+
OnEffect5:
specialeffect EF_LORD;
end;
}
2@gl_k,0,0,0 script #controlGH5 FAKE_NPC,{
+ end;
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH5");
end;
+
OnEnable:
enablenpc instance_npcname("#controlGH5");
initnpctimer;
end;
+
OnTimer3000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk1";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk1";
end;
+
OnTimer6000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnTalk1";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnTalk1";
end;
+
OnTimer9000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk1";
end;
-OnTimer12000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnTalk2";
- end;
+
OnTimer15000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk2";
end;
+
OnTimer18000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk2";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk2";
end;
+
OnTimer21000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk3";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk3";
end;
+
OnTimer24000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnTalk3";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnTalk2";
end;
+
OnTimer27000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk4";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk4";
end;
+
OnTimer30000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk3";
end;
+
OnTimer33000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk4";
end;
+
OnTimer36000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk5";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk5";
end;
+
OnTimer39000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk6";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk6";
end;
+
OnTimer42000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk7";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk7";
end;
+
OnTimer45000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk8";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk8";
end;
+
OnTimer48000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk5";
end;
+
OnTimer51000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk9";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk9";
end;
+
OnTimer54000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk10";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk10";
end;
+
OnTimer57000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnTalk11";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk11";
end;
+
OnTimer60000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect1";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1";
end;
+
OnTimer63000:
- donpcevent instance_npcname("Himmelmez#ghinstance4")+"::OnDisable";
+ donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnDisable";
end;
+
OnTimer65000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect3";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
end;
+
OnTimer66000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect2";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect2";
end;
+
OnTimer67000:
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk6";
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect4";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
end;
+
OnTimer70000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect3";
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect4";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnDisable";
- donpcevent instance_npcname("Varmunt#ghinstance5")+"::OnTalk1";
+ donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnTalk1";
+ donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnDisable";
end;
+
OnTimer73000:
- mapannounce instance_mapname("2@gl_k"), "Leads toward Gerhard's body.",bc_map,"0xFFFFFF";
+ mapannounce(instance_mapname("2@gl_k"), _("Gerhalt's body changing."), bc_map, "0xFFFFFF");
end;
+
OnTimer76000:
- donpcevent instance_npcname("Gerhard#ghinstance1")+"::OnEffect5";
+ donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5";
end;
+
OnTimer80000:
donpcevent instance_npcname("#ghmemorialmob10")+"::OnEnable";
stopnpctimer;
@@ -1937,48 +2286,53 @@ OnTimer80000:
}
2@gl_k,158,241,1 script Hugin#ghinstance1 4_M_SAGE_C,{
- if (questprogress(12319,HUNTING) == 2) {
- mes "[Hugin]";
- mes "Well, you are pretty ridiculous. Beginners shouldn't get the loot Amdarias drops.";
- erasequest 12318;
+ if (questprogress(12319, HUNTING) == 2) {
+ mes("[Hugin]");
+ mes("Hm, you are very well. First of all, let me give you some loot from Amdarais.");
erasequest 12319;
- getitem Coagulated_Spell,1; //Coagulated Spell
+ setquest 12321;
+ setquest 12322;
+ erasequest 12321;
+ if (gh_instance == 1) {
+ getitem Temporal_Crystal, 1;
+ getitem Coagulated_Spell, 1;
+ } else {
+ getitem Temporal_Crystal, 5;
+ getitem Coagulated_Spell, 5;
+ gh_instance = 1;
+ }
+ getexp(350000, 350000);
next;
- mes "[Hugin]";
- mes "Varmunt, I have arbitrarily stopped time. And soon, the time gap will be gone.";
+ mes("[Hugin]");
+ mes("Varmundt's time is stopped by me. And your time will be distorted soon.");
specialeffect2 EF_BLIND,AREA;
soundeffect "_blind.wav",0;
next;
- mes "[Hugin]";
- mes "Poor time travelers.";
- mes "They will endlessly retry to prevent the tragedy that affected this city.";
+ mes("[Hugin]");
+ mes("Maybe this poor time traveler will try to stop Glast Heim's tragedy from happening.");
next;
- mes "[Hugin]";
- mes "But the beggining of these time travels won't redempt your actions.";
- mes "This will continue forever...";
+ mes("[Hugin]");
+ mes("However, we will never overlook his behavior now and forever...");
next;
- mes "[Hugin]";
- mes "Now, I may erase your memory again. Perhaps you will have a different fate next time.";
+ mes("[Hugin]");
+ mes("Now, let me remove your memory. If you see me again, that will be brand new.");
specialeffect2 EF_FREEZE;
close2;
getmapxy(.@map$, .@x, .@y, UNITTYPE_PC);
warp .@map$,.@x,.@y;
end;
} else {
- mes "[Hugin]";
- mes "The gap of time is almost distorted.";
- mes "Done. There you go. Come!";
- mes "I have to get out!";
+ mes("[Hugin]");
+ mes("Oops I almost distorted the time gap. Come over here. We need to go out!");
next;
- select("Bah... Soon after you...");
- mes "[Hugin]";
- mes "Soon after me? Anyways...";
- mes "Doesn't matter, soon the gap of time will be closed, I have to get out of here.";
+ select("You were just with me...");
+ mes("[Hugin]");
+ mes("What did you say just before? Anyway that is not important, The gap of time will be closed so, we need to get out of here.");
next;
- switch(select("Since I'm here, let's explore more.", "Please, send me out.")) {
+ switch(select("Let me look around more:Please let me out")) {
case 1:
- mes "[Hugin]";
- mes "..................";
+ mes("[Hugin]");
+ mes("Really? This place will be broke down so, please look around quickly.");
close;
case 2:
close2;
@@ -1986,11 +2340,835 @@ OnTimer80000:
end;
}
}
+
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("Hugin#ghinstance1");
end;
+
OnEnable:
enablenpc instance_npcname("Hugin#ghinstance1");
end;
}
+
+// Treasure Room
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+// TODO: Need script command makeitem2
+1@gl_k,269,267,0 script Strange crack#entrace HIDDEN_NPC,{
+ if (!questprogress(12322)) {
+ mes("The crack looks suspicious, but nothing more to check.");
+ close;
+ }
+ .@map$ = instance_mapname("1@gl_k");
+ warp .@map$,149,193;
+ end;
+}
+
+1@gl_k,129,136,0 script Strange crack#1 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i = 1; .@i <= .@random; .@i++) {
+ makeitem White_Jewel, 1, "this", 129, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 129, 138;
+ if (.@random_ == 4) {
+ //makeitem2 Heavy_Sword, 1, "this", 129, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Heavy_Sword, 1, "this", 129, 138;
+ }
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#1");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#1");
+ end;
+}
+
+1@gl_k,135,136,0 script Strange crack#2 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Blue_Jewel, 1, "this", 135, 138;
+ }
+ if (.@random_ == 4) {
+ //makeitem2 Staff_Of_Geffen, 1, "this", 135, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Staff_Of_Geffen, 1, "this", 135, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 135, 138;
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#2");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#2");
+ end;
+
+}
+1@gl_k,141,136,0 script Strange crack#3 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Red_Jewel, 1, "this", 141, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 141, 138;
+ makeitem Gold_Bullion, 1, "this", 141, 138;
+ if (.@random_ == 4) {
+ //makeitem2 Ceremonial_Sword, 1, "this", 141, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Ceremonial_Sword, 1, "this", 141, 138;
+ }
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#3");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#3");
+ end;
+}
+
+1@gl_k,147,136,0 script Strange crack#4 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Scarlet_Jewel, 1, "this", 147, 138;
+ }
+ if (.@random_ == 4) {
+ //makeitem2 Silversmith_Bracelet, 1, "this", 147, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Silversmith_Bracelet, 1, "this", 147, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 147, 138;
+ makeitem Gold_Coin_Basket, 1, "this", 147, 138;
+ makeitem Colorful_Brooch, 1, "this", 147, 138;
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#4");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#4");
+ end;
+}
+
+1@gl_k,153,136,0 script Strange crack#5 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Azure_Jewel, 1, "this", 153, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 153, 138;
+ makeitem White_Gold_Bullion, 1, "this", 153, 138;
+ if (.@random_ == 4) {
+ //makeitem2 Goldsmithing_Dagger, 1, "this", 153, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Goldsmithing_Dagger, 1, "this", 153, 138;
+ }
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#5");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#5");
+ end;
+}
+
+1@gl_k,159,136,0 script Strange crack#6 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ .@random_ = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Skyblue_Jewel, 1, "this", 159, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 159, 138;
+ makeitem Silver_Bullion, 1, "this", 159, 138;
+ if (.@random_ == 4) {
+ //makeitem2 Engraved_Armor, 1, "this", 159, 138, 0, 0, 0, 0, 0, 0, 0;
+ makeitem Engraved_Armor, 1, "this", 159, 138;
+ }
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#6");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#6");
+ end;
+}
+
+1@gl_k,165,136,0 script Strange crack#7 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Violet_Jewel, 1, "this", 165, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 165, 138;
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#7");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#7");
+ end;
+}
+
+1@gl_k,171,136,0 script Strange crack#8 HIDDEN_NPC,{
+ specialeffect EF_SPELLBREAKER;
+ specialeffect EF_BASH;
+ .@random = rand(1, 4);
+ for (.@i=1; .@i<=.@random; .@i++) {
+ makeitem Dark_Red_Jewel, 1, "this", 171, 138;
+ }
+ makeitem Coagulated_Spell, 1, "this", 171, 138;
+ // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
+
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Strange crack#8");
+ end;
+
+OnEnable:
+ enablenpc instance_npcname("Strange crack#8");
+ end;
+}
+
+// Merchant, and Trade NPC - Get Temporal Boots --> exchange to Temporal_STAT_Boots
+// Upon trade all refines got removed
+// Uses Temporal_Crystal
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+glast_01,210,273,5 script Hugin's Butler 1_F_04,{
+ disable_items;
+ mes("[Hugin's Butler]"); // custom check
+ if (MaxWeight - Weight < 1000) {
+ mes("Your bag is too heavy. Reduce some weight and come back.");
+ close;
+ }
+ mes("I would like to thank you for helping my master Hugin. I can transmute your ^FF0000Temporal Crystals^000000 into a pair of boots that have withstood the test of time... the ^FF0000Temporal Boots^000000.");
+ next;
+ mes("[Hugin's Butler]");
+ mes("What would you like me to do young adventurer?");
+ next;
+ switch (select("Give me the Temporal Boots", "Upgrade my Temporal Boots")) {
+ case 1:
+ if (countitem(Temporal_Crystal) > 0) {
+ mes("[Hugin's Butler]");
+ mes("Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals.");
+ delitem Temporal_Crystal, 1;
+ getitem Temporal_Boots, 1;
+ close;
+ }
+ mes("[Hugin's Butler]");
+ mes("You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim.");
+ close;
+ case 2:
+ .@part = EQI_SHOES;
+ if (!getequipisequiped(.@part)) {
+ mes("[Hugin's Butler]");
+ mes("Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again.");
+ close;
+ }
+ if (!isequipped(Temporal_Boots)) { // check
+ mes("[Hugin's Butler]");
+ mes("You are not wearing the Temporal Boots. Talk to me once you're wearing them.");
+ close;
+ }
+ if (countitem(Temporal_Crystal) < 5) {
+ mes("[Hugin's Butler]");
+ mes("Not enough Temporal Crystals. You need ^FF00005 Temporal Crystals^000000 to upgrade your boots.");
+ close;
+ }
+ mes("[Hugin's Butler]");
+ mes("You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000.");
+ next;
+ setarray .@type$[0], "Strength", "Intelligence", "Agility", "Vitality", "Dexterity", "Luck";
+ setarray .@equip_type[0], Temporal_STR_Boots, Temporal_INT_Boots, Temporal_AGI_Boots, Temporal_VIT_Boots, Temporal_DEX_Boots, Temporal_LUK_Boots;
+ .@select = select("Cancel", "Str Boots", "Int Boots", "Agi Boots", "Vit Boots", "Dex Boots", "Luk Boots");
+ switch (.@select) {
+ case 1:
+ mes("[Hugin's Butler]");
+ mes("Come back anytime you want.");
+ close;
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ mes("[Hugin's Butler]");
+ mesf("Are you sure about buying Temporal ^FF0000%s^000000 Boots? There is no refund.", .@type$[.@select-2]);
+ next;
+ if (select("Think again", "Yes, I am sure.") == 2) {
+ mes("[Hugin's Butler]");
+ mes("The boots has been upgraded as you want.");
+ delequip .@part;
+ delitem Temporal_Crystal, 5;
+ getitem2 .@equip_type[.@select-2], 1, 1, 0, 0, 0, 0, 0, 0; // Temporal_STR_Boots, Temporal_INT_Boots, Temporal_AGI_Boots, Temporal_VIT_Boots, Temporal_DEX_Boots, Temporal_LUK_Boots
+ close;
+ }
+ mes("[Hugin's Butler]");
+ mes("Ok, come back again when you are sure.");
+ close;
+ }
+ }
+}
+
+// Enchant NPC - Coagulated Spell to enchants on 4th slot. First one to pick --> upgraded --> additional random enchant on 3rd slot
+// Adding a socket on the Craftsman NPC will remove the 3rd and 4th slot enchants of the Temporal_STAT_Boots
+// Enchanting can fail, the 3th slot random one is guaranteed
+// Refine remains
+// Item Used: Coagulated_Spell
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to official enchant mechanics
+ disable_items;
+ if (MaxWeight - Weight < 1000) {
+ mes("Your bag is too heavy. Reduce some weight and come back.");
+ close;
+ }
+ mes("[Hugin's Magic Master]"); // Custom text
+ mes("So you came to enchant the Temporal Boots. Be aware that adding a socket do your boots will remove my enchants as well as it's refine. It is only possible for the boots you are wearing.");
+ next;
+ if (select("How does the enchanting work?", "Give effect to my Temporal Boots") == 1) {
+ mes("[Hugin's Magic Master]");
+ mes("You can obtain ^0000FFCoagulated Spell^000000 through your time travels.");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("I can enchant your Temporal Boots with a variing amount of that item. ^0000FFAvailable for all Temporal STAT Boots^000000.");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("But, once you try to put a socket into the item, it will be resetted. So if you want a socket, you should do it first. Be sure to remember that.");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("I don't give out effect randomly. You can pick which effect you want for the item.");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("Of course it is for 4th slot only. You can have small effect at the start and then the effect grows stronger.\r"
+ "^FF0000Remember: It can fail and break your item!^000000");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("To get to the final option upgrade it will require way more Coagulated Spells. Don't forget that.");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment and a ^0000FFguaranteed success rate~^000000");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("^FF0000Again: there is a risk on failing and breaking the item^000000.\r"
+ "But if the enchant is applied successful, ^0000FFthe refine and everything else will be retained.^000000");
+ next;
+ mes("[Hugin's Magic Master]");
+ mes("Phew... Anyways, that's all for basic enchant information. Now you should see for yourself.");
+ close;
+ }
+ .@part = EQI_SHOES;
+ if (!getequipisequiped(.@part)) {
+ mes("[Hugin's Magic Master]");
+ mes("Are you wearing the item?");
+ close;
+ }
+ .@equip_refine = getequiprefinerycnt(.@part);
+ .@equip_id = getequipid(.@part);
+ .@equip_name$ = getequipname(.@part);
+ .@card0 = getequipcardid(.@part, 0);
+ .@card3 = getequipcardid(.@part, 3);
+ setarray .@enchant1st[0], Fighting_Spirit4, Expert_Archer1, Spell2, Vitality2, Attack_Delay_1, Luck3;
+ setarray .@enchant2nd[0], Fighting_Spirit5, Expert_Archer2, Spell3, Vitality3, Attack_Delay_2, Luck4;
+ setarray .@enchant3rd[0], Fighting_Spirit6, Expert_Archer3, Spell4, MHP1, Attack_Delay_3, Luck5;
+ setarray .@enchant4th[0], Fighting_Spirit7, Expert_Archer4, Spell5, MHP2, Attack_Delay_4, Luck6;
+ setarray .@enchant_cost[0], 1, 4, 15, 30, 10; // Coagulated_Spell costs
+ setarray .@enchant_rate[0], 90, 80, 70, 50, 100; // Enchant Success Rate in %
+ .@random = rand(1, 100);
+ switch (.@equip_id) {
+ case Temporal_STR_Boots:
+ case Temporal_INT_Boots:
+ case Temporal_AGI_Boots:
+ case Temporal_VIT_Boots:
+ case Temporal_DEX_Boots:
+ case Temporal_LUK_Boots:
+ case Temporal_STR_Boots_:
+ case Temporal_INT_Boots_:
+ case Temporal_AGI_Boots_:
+ case Temporal_VIT_Boots_:
+ case Temporal_DEX_Boots_:
+ case Temporal_LUK_Boots_:
+ if (.@card3 == 0) { //4th slot 1st try enchanting
+ .@cost = .@enchant_cost[0];
+ .@scs = .@enchant_rate[0];
+ .@number = 1;
+ mes("[Hugin's Magic Master]");
+ mesf("Want to enchant ^0000FF%s^000000? For the 1st enchanting, you need ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@cost);
+ next;
+ .@select = select("Quit", "Fighting Spirit", "Archery", "Spell", "Vitality", "Attack Speed", "Luck");
+ switch (.@select) {
+ case 1:
+ mes("[Hugin's Magic Master]");
+ mes("Ok, come back when you are ready.");
+ close;
+ case 2:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ case 3:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ case 4:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ case 5:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ case 6:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ case 7:
+ .@enchant = .@enchant1st[.@select-2];
+ break;
+ }
+ } else {
+ if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] ||
+ .@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) {
+ .@cost = .@enchant_cost[1];
+ .@scs = .@enchant_rate[1];
+ .@number = 2;
+ } else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] ||
+ .@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) {
+ .@cost = .@enchant_cost[2];
+ .@scs = .@enchant_rate[2];
+ .@number = 3;
+ } else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] ||
+ .@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) {
+ .@cost = .@enchant_cost[3];
+ .@scs = .@enchant_rate[3];
+ .@number = 4;
+ } else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] ||
+ .@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) {
+ .@card2 = getequipcardid(.@part, 2);
+ .@cost = .@enchant_cost[4];
+ .@scs = .@enchant_rate[4];
+ if (.@card2 != 0) {
+ mes("[Hugin's Magic Master]"); // Custom text
+ mes("Your shoes have reached the maximum option to enchant.");
+ mes("Please bring me a new one if you want me to enchant again.");
+ close;
+ }
+ // 3rd slot random enchanting
+ switch (.@card3) {
+ case Fighting_Spirit7:
+ case Expert_Archer4:
+ case Spell5:
+ case MHP2:
+ case Attack_Delay_4:
+ case Luck6:
+ .@enchant = callfunc("F_Rand", Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day);
+ mes("[Hugin's Magic Master]"); // Custom text
+ mes("Seems you already completed the best upgrade option in your 4th slot. For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment...");
+ next;
+ mes("[Hugin's Magic Master]");
+ mesf("Enchanting ^0000FF%s^000000's 3rd slot for obtaining a random bonus effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells^000000", .@equip_name$, .@cost);
+ next;
+ if (select("Quit", "Effect Upgrade!") == 1) {
+ mes("[Hugin's Magic Master]");
+ mes("Ok, come back when you are ready.");
+ close;
+ }
+ if (countitem(Coagulated_Spell) < .@cost) {
+ mesf("Hmm, you are missing %s Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
+ close;
+ }
+ if (.@random > .@scs) {
+ mes("Arrggg, we failed. Better luck next time.");
+ specialeffect2 EF_PHARMACY_FAIL; delitem Coagulated_Spell, .@cost; delequip .@part;
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem Coagulated_Spell, .@cost;
+ delequip .@part;
+ mes("[Hugin's Magic Master]");
+ mes("This is it! This special stone is now yours Hahaha... I am really the only master of these things. Thank you for believing in me.");
+ getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, .@enchant, .@card3;
+ close;
+ }
+ }
+ // 4th slot 2nd try enchanting
+ if (.@card3 == .@enchant1st[0])
+ .@enchant = .@enchant2nd[0];
+ else if (.@card3 == .@enchant1st[1])
+ .@enchant = .@enchant2nd[1];
+ else if (.@card3 == .@enchant1st[2])
+ .@enchant = .@enchant2nd[2];
+ else if (.@card3 == .@enchant1st[3])
+ .@enchant = .@enchant2nd[3];
+ else if (.@card3 == .@enchant1st[4])
+ .@enchant = .@enchant2nd[4];
+ else if (.@card3 == .@enchant1st[5])
+ .@enchant = .@enchant2nd[5];
+ // 4th slot 3rd try enchanting
+ if (.@card3 == .@enchant2nd[0])
+ .@enchant = .@enchant3rd[0];
+ else if (.@card3 == .@enchant2nd[1])
+ .@enchant = .@enchant3rd[1];
+ else if (.@card3 == .@enchant2nd[2])
+ .@enchant = .@enchant3rd[2];
+ else if (.@card3 == .@enchant2nd[3])
+ .@enchant = .@enchant3rd[3];
+ else if (.@card3 == .@enchant2nd[4])
+ .@enchant = .@enchant3rd[4];
+ else if (.@card3 == .@enchant2nd[5])
+ .@enchant = .@enchant3rd[5];
+ // 4th slot 4th try enchanting
+ if (.@card3 == .@enchant3rd[0])
+ .@enchant = .@enchant4th[0];
+ else if (.@card3 == .@enchant3rd[1])
+ .@enchant = .@enchant4th[1];
+ else if (.@card3 == .@enchant3rd[2])
+ .@enchant = .@enchant4th[2];
+ else if (.@card3 == .@enchant3rd[3])
+ .@enchant = .@enchant4th[3];
+ else if (.@card3 == .@enchant3rd[4])
+ .@enchant = .@enchant4th[4];
+ else if (.@card3 == .@enchant3rd[5])
+ .@enchant = .@enchant4th[5];
+ mes("[Hugin's Magic Master]");
+ mesf("Enchanting ^0000FF%s^000000's 4th slot as ^0000FF%d^000000 level effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@number, .@cost);
+ next;
+ if (select("Quit", "Effect Upgrade!") == 1) {
+ mes("[Hugin's Magic Master]");
+ mes("Ok, come back when you are ready.");
+ close;
+ }
+ if (countitem(Coagulated_Spell) < .@cost) {
+ mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
+ close;
+ }
+ if (.@random > .@scs) {
+ mes("Arrggg, we failed. Better luck next time.");
+ specialeffect2 EF_PHARMACY_FAIL;
+ delitem Coagulated_Spell, .@cost;
+ delequip .@part;
+ close;
+ }
+ }
+ break;
+ default:
+ mes("[Hugin's Magic Master]");
+ mes("This is not the right item for this enchant. Remember, only those 6 types of Temporal Boots are available for enchanting.");
+ close;
+ }
+ mes("[Hugin's Magic Master]");
+ if (countitem(Coagulated_Spell) < .@cost) {
+ mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
+ close;
+ }
+ if (.@random > .@scs) {
+ mes("Arrggg, we failed. Better luck next time.");
+ specialeffect2 EF_PHARMACY_FAIL;
+ delitem Coagulated_Spell, .@cost;
+ delequip .@part;
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem Coagulated_Spell, .@cost;
+ delequip .@part;
+ mes("[Hugin's Magic Master]");
+ mesf("Adding enchant number ^630000%d^000000.", .@number);
+ getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, 0, .@enchant;
+ close;
+}
+
+// Socket NPC - Contaminated_Magic or Temporal_Crystal to add card slot
+// After the boots were slotted, you can still enchant, but slotting removes any enchants and refines applied before.
+// Item Used: Contaminated_Magic, Temporal_Crystal
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
+ disable_items;
+ if (MaxWeight - Weight < 1000) {
+ mes("Your bag is too heavy. Reduce some weight and come back.");
+ close;
+ }
+ mes("[Hugin's Craftsman]");
+ mes("That Magic Master always says that enchanting Temporal Boots is the best. But, I think I can beat that!");
+ next;
+ mes("[Hugin's Craftsman]");
+ mes("I can try putting a slot into your boots. But there is some ^FF0000risk of failing.^000000");
+ next;
+ mes("[Hugin's Craftsman]");
+ mes("Bring me ^0000FF50 Contaminated Magic^000000 or ^0000FF10 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots.");
+ next;
+ mes("[Hugin's Craftsman]");
+ mes("But, it's possible to ^FF0000fail and break the item^000000. Is that ok?");
+ next;
+ if (select("Cancel", "Take the risk and try to add a slot") == 1) {
+ mes("[Hugin's Craftsman]");
+ mes("Ok, come back anytime you want.");
+ close;
+ }
+ .@part = EQI_SHOES;
+ if (!getequipisequiped(.@part)) {
+ mes("[Hugin's Craftsman]");
+ mes("Are you sure you are wearing the item?");
+ close;
+ }
+ .@equip_id = getequipid(.@part);
+ switch (.@equip_id) {
+ case Temporal_STR_Boots:
+ case Temporal_INT_Boots:
+ case Temporal_AGI_Boots:
+ case Temporal_VIT_Boots:
+ case Temporal_DEX_Boots:
+ case Temporal_LUK_Boots:
+ mes("[Hugin's Craftsman]");
+ mes("The ^FF0000Boots and all enchants or refines will be lost if you fail this.^000000\r"
+ "Still want to risk it?");
+ next;
+ if (select("Cancel", "I am ok with it!") == 1) {
+ mes("[Hugin's Craftsman]");
+ mes("Ok, come back anytime you want.");
+ close;
+ }
+ mes("[Hugin's Craftsman]");
+ mes("Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000\r"
+ "Still want to proceed?");
+ next;
+ if (select("Cancel", "I understand. Try to slot it.") == 1) {
+ mes("[Hugin's Craftsman]");
+ mes("Ok, come back anytime you want.");
+ close;
+ }
+ mes("[Hugin's Craftsman]");
+ mes("Then my last question:\r"
+ "Which item are you gonna use to pay me?");
+ next;
+ setarray .@slotpay[0], Temporal_Crystal, Contaminated_Magic;
+ setarray .@slotcost[0], 10, 50;
+ setarray .@slotchance[0], 80, 65; // Custom rates
+ .@select = select("Cancel", "Temporal Crystal", "Contaminated Magic");
+ switch (.@select) {
+ case 1:
+ mes("[Hugin's Craftsman]");
+ mes("Come back anytime you want.");
+ close;
+ case 2:
+ case 3:
+ .@item = .@slotpay[.@select-2];
+ .@cost = .@slotcost[.@select-2];
+ .@chance = .@slotchance[.@select-2];
+ if (countitem(.@item) < .@cost) {
+ mes("[Hugin's Craftsman]");
+ mesf("Requires ^FF0000%d^000000 ^0000FF%s^000000.", .@cost, getitemname(.@item));
+ close;
+ }
+ }
+ .@random = rand(1, 100);
+ if (.@random > .@chance) {
+ mes("[Hugin's Craftsman]");
+ mes("Arrggg, we failed. Better luck next time.");
+ specialeffect2 EF_PHARMACY_FAIL;
+ delitem .@item, .@cost;
+ delequip .@part;
+ close;
+ }
+ mes("[Hugin's Craftsman]");
+ mesf("Yuhuu~ we succeed. There you go... A slot has been added to your ^FF0000%s^000000. Thank you for believing in me.", getitemname(.@equip_id));
+ delitem .@item, .@cost;
+ specialeffect2 EF_PHARMACY_OK;
+ delequip .@part;
+ // todo: read aegis name and attach "_" to worn constant
+ if (.@equip_id == Temporal_STR_Boots) {
+ getitem2 Temporal_STR_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_INT_Boots) {
+ getitem2 Temporal_INT_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_AGI_Boots) {
+ getitem2 Temporal_AGI_Boots_, 1, 1, 0, 0, 0, 0, .0, 0;
+ } else if (.@equip_id == Temporal_VIT_Boots) {
+ getitem2 Temporal_VIT_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_DEX_Boots) {
+ getitem2 Temporal_DEX_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_LUK_Boots) {
+ getitem2 Temporal_LUK_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ }
+ close;
+ default:
+ mes("[Hugin's Craftsman]");
+ mes("This is not it! We need ^FF0000Advanced Temporal Boots^000000! The item ^0000FFwith a stat effect and without a slot^000000!");
+ close;
+ }
+}
+
+// Knight Cards
+// White Knight Card cost 70 red coagulated spells or 3000 blue coagulated spells
+// Khalitzburg Knight Card cost 100 red coagulated spells or 5000 blue coagulated spells
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{
+ disable_items;
+ mes("[White Knight]"); // custom
+ if (MaxWeight - Weight < 1000) {
+ mes("Your bag is too heavy. Reduce some weight and come back.");
+ close;
+ }
+ mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000.");
+ mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>");
+ next;
+ setarray .@item[0], Coagulated_Spell, Contaminated_Magic;
+ setarray .@cost[0], 3000, 70;
+ .@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000UseContaminated Magic^000000");
+ switch (.@select) {
+ case 1:
+ mes("[White Knight]");
+ mes("Come back any time.");
+ close;
+ case 2:
+ case 3:
+ .@item = .@item[.@select-2];
+ .@cost = .@cost[.@select-2];
+ if (countitem(.@item) < .@cost) {
+ mes("[White Knight]");
+ mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
+ close;
+ }
+ delitem .@item, .@cost;
+ getitem White_Knight_Card, 1;
+ close;
+ }
+}
+
+glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
+ disable_items;
+ mes("[Khalitzburg Knight]"); // custom
+ if (MaxWeight - Weight < 1000) {
+ mes("Your bag is too heavy. Reduce some weight and come back.");
+ close;
+ }
+ mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000.");
+ mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>");
+ next;
+ setarray .@item[0], Coagulated_Spell, Contaminated_Magic;
+ setarray .@cost[0], 5000, 100;
+ .@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000UseContaminated Magic^000000");
+ switch (.@select) {
+ case 1:
+ mes("[Khalitzburg Knight]");
+ mes("Come back any time.");
+ close;
+ case 2:
+ case 3:
+ .@item = .@item[.@select-2];
+ .@cost = .@cost[.@select-2];
+ if (countitem(.@item) < .@cost) {
+ mes("[Khalitzburg Knight]");
+ mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
+ close;
+ }
+ delitem .@item, .@cost;
+ getitem Khalitzburg_Knight_Card, 1;
+ close;
+ }
+}
+
+// Glast Heim Nightmare Mode :: nightmare_gh
+//============================================================
+glast_01,195,273,4 script Hugin's Follower#n_gh 2_F_MAGICMASTER,{
+ mes("[Hugin's Follower]");
+ mes("I can't move between time and dimension like a master Hugin but I can pretend to move.");
+ next;
+ mes("[Hugin's Follower]");
+ mes("What about this Glast Heim is born with powerful dark force?");
+ next;
+ if (select("I don't care", "That is interesting, please tell me more") == 1) {
+ mes("[Hugin's Follower]");
+ mes("Well~ If you are not interested in it, never mind.");
+ close;
+ }
+ mes("[Hugin's Follower]");
+ mes("As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force.");
+ next;
+ mes("[Hugin's Follower]");
+ mes("How is it? Do you want to explore there?");
+ next;
+ if (select("No, I want to stop it", "I really want to do that!") == 1) {
+ mes("[Hugin's Follower]");
+ mes("Well~ If you are not interested in it, never mind.");
+ close;
+ }
+ mes("[Hugin's Follower]");
+ mes("Sure that is not free~ I have to get something little bit. Hoho...");
+ next;
+ mes("[Hugin's Follower]");
+ mes("I can send you just two place. How is it? Do you want to try?");
+ next;
+ switch (select("Cancel", "Monastery Cemetery (Lv100~130) - 5000z", "Corridor of 2nd floor (Over Lv140) - 10000z")) {
+ case 1:
+ mes("[Hugin's Follower]");
+ mes("Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me...");
+ close;
+ case 2:
+ if (Zeny < 5000) {
+ mes("[Hugin's Follower]");
+ mes("Please make sure you already have all of the money.");
+ close;
+ }
+ Zeny = Zeny-5000;
+ warp "gl_chyard_", 148, 144;
+ end;
+ case 3:
+ if (Zeny < 10000) {
+ mes("[Hugin's Follower]");
+ mes("Please make sure you already have all of the money.");
+ close;
+ }
+ Zeny = Zeny-10000;
+ warp "gl_cas02_", 104, 31;
+ end;
+ }
+}
+
+gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 2_F_MAGICMASTER,{
+ mes("[Hugin's Follower]");
+ mes("You want to break?");
+ mes("Ok, let's get out of here.?");
+ next;
+ if (select("Ah, wrong click... I mean I was not talk to you", "Please let me out from here") == 1) {
+ mes("[Hugin's Follower]");
+ mes("Alright just tell me whenever you want to leave.");
+ close;
+ }
+ warp "glast_01", 210, 269;
+ end;
+}
+
+gl_cas02_,104,36,4 script Hugin's Follower#n_gh2 2_F_MAGICMASTER,{
+ mes("[Hugin's Follower]");
+ mes("You want to break?");
+ mes("Ok, let's get out of here.?");
+ next;
+ if (select("Ah, wrong click... I mean I was not talk to you", "Please let me out from here") == 1) {
+ mes("[Hugin's Follower]");
+ mes("Alright just tell me whenever you want to leave.");
+ close;
+ }
+ warp "glast_01", 210, 269;
+ end;
+}
diff --git a/npc/re/kafras/kafras.txt b/npc/re/kafras/kafras.txt
index c252264e3..b9b2ff404 100644
--- a/npc/re/kafras/kafras.txt
+++ b/npc/re/kafras/kafras.txt
@@ -62,6 +62,14 @@ moc_para01,10,185,4 script Kafra Employee::kaf_eden 4_F_KAFRA7,{
callfunc "F_Kafra",5,2,0,80,0;
}
+//== Glastheim =============================================
+glast_01,200,275,5 script Kafra Employee::kaf_glast 4_F_KAFRA3,{
+ cutin "kafra_03",2;
+ callfunc "F_Kafra",0,3,2,500,700;
+ savepoint "glast_01",200,272;
+ callfunc "F_KafEnd",0,1,"in Glast Heim";
+}
+
//== Izlude ================================================
izlude,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz 4_F_KAFRA1
izlude_a,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz_a 4_F_KAFRA1
diff --git a/npc/re/mobs/dungeons/glastheim.txt b/npc/re/mobs/dungeons/glastheim.txt
index bcd6af917..693aa4a3a 100644
--- a/npc/re/mobs/dungeons/glastheim.txt
+++ b/npc/re/mobs/dungeons/glastheim.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) 2012-2016 Hercules Dev Team
//= Copyright (C) L0ne_W0lf
//= Copyright (C) Playtester
//= Copyright (C) MasterOfMuppets
@@ -33,7 +33,7 @@
//================= Description ===========================================
//= Monster Spawns for Glast Heim Dungeons
//================= Current Version =======================================
-//= 1.5
+//= 1.6
//=========================================================================
//== glast_01 - Glast Heim =================================
@@ -168,3 +168,18 @@ gl_sew04,0,0,0,0 monster Drainliar 1111,10,5000,0,0
gl_step,0,0,0,0 monster Wind Ghost 1263,100,5000,0,0
gl_step,0,0,0,0 monster Raydric Archer 1276,10,5000,0,0
gl_step,0,0,0,0 monster Mimic 1191,5,5000,0,0
+
+//== gl_cas02_ - Nightmare Mode 2f =========================
+gl_cas02_,0,0,0,0 monster Evil Druid (Nightmare) 2480,20,0,0,0
+gl_cas02_,0,0,0,0 monster Chimera (Nightmare) 2485,10,0,0,0
+gl_cas02_,0,0,0,0 monster Mimic (Nightmare) 2479,40,0,0,0
+gl_cas02_,0,0,0,0 monster Rideword (Nightmare) 2478,40,0,0,0
+gl_cas02_,0,0,0,0 monster Wanderer (Nightmare) 2477,120,0,0,0
+gl_cas02_,0,0,0,0 monster Swift Wanderer 2734,2,180000,0,0
+gl_cas02_,0,0,0,0 monster Baphomet (Nightmare) 2483,1,7200000,0,0
+
+//== gl_chyard_ - Nightmare Mode Churchyard ================
+gl_chyard_,0,0,0,0 monster Wraith Dead (Nightmare) 2481,200,0,0,0
+gl_chyard_,0,0,0,0 monster Elusive Wraith Dead 2733,2,180000,0,0
+gl_chyard_,0,0,0,0 monster Evil Druid (Nightmare) 2480,5,60000,0,0
+gl_chyard_,0,0,0,0 monster Mimic (Nightmare) 2479,5,60000,0,0