From d7840cd265b01f2490d66c5aea56e4a702be3241 Mon Sep 17 00:00:00 2001 From: Atemo Date: Wed, 26 Apr 2023 18:39:24 +0200 Subject: [PATCH] Einbech dungeon 3 (#7209) * Implemented dungeons, merchants and quests related to einbech 3 Thanks to @Pokye ! --- db/re/item_randomopt_group.yml | 338 +++++++++++ db/re/laphine_upgrade.yml | 82 +-- db/re/mob_db.yml | 602 +++++++++++++++++++- db/re/mob_skill_db.txt | 85 +++ db/re/quest_db.yml | 41 +- npc/re/merchants/barters.yml | 1 + npc/re/merchants/barters/quests_exp_175.yml | 86 +++ npc/re/merchants/quests_exp_175.txt | 89 +++ npc/re/mobs/dungeons/ein_dun.txt | 15 + npc/re/quests/quests_exp_175.txt | 317 +++++++++++ npc/re/scripts_athena.conf | 1 + npc/re/scripts_warps.conf | 1 + npc/re/warps/dungeons/ein_dun.txt | 17 + 13 files changed, 1605 insertions(+), 70 deletions(-) create mode 100644 npc/re/merchants/barters/quests_exp_175.yml create mode 100644 npc/re/merchants/quests_exp_175.txt create mode 100644 npc/re/warps/dungeons/ein_dun.txt diff --git a/db/re/item_randomopt_group.yml b/db/re/item_randomopt_group.yml index f23a3c7fb4..69fb2a433e 100644 --- a/db/re/item_randomopt_group.yml +++ b/db/re/item_randomopt_group.yml @@ -14651,3 +14651,341 @@ Body: MinValue: 1 MaxValue: 5 Chance: 5000 + - Id: 163 + Group: EIN_DDBOX + Slots: + - Slot: 1 + Options: + - Option: VAR_ATTPOWER + MinValue: 5 + MaxValue: 45 + Chance: 5000 + - Option: VAR_ATKPERCENT + MinValue: 1 + MaxValue: 10 + Chance: 5000 + - Slot: 2 + Options: + - Option: VAR_HITSUCCESSVALUE + MinValue: 5 + MaxValue: 35 + Chance: 5000 + - Option: VAR_AVOIDSUCCESSVALUE + MinValue: 7 + MaxValue: 35 + Chance: 5000 + - Option: VAR_PLUSASPD + MinValue: 1 + MaxValue: 2 + Chance: 5000 + - Option: VAR_CRITICALSUCCESSVALUE + MinValue: 2 + MaxValue: 10 + Chance: 5000 + - Option: DAMAGE_CRI_TARGET + MinValue: 5 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_NOTHING_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_WATER_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_FIRE_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_GROUND_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_WIND_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_POISON_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_SAINT_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_DARKNESS_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_UNDEAD_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: VAR_PLUSASPDPERCENT + MinValue: 5 + MaxValue: 10 + Chance: 5000 + MaxRandom: 3 + Random: + - Option: RACE_DAMAGE_NOTHING + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_UNDEAD + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_ANIMAL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_PLANT + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_INSECT + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_FISHS + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_HUMAN + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_ANGEL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_DEVIL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_DAMAGE_DRAGON + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: CLASS_DAMAGE_NORMAL_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: CLASS_DAMAGE_BOSS_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_NOTHING + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_UNDEAD + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_ANIMAL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_PLANT + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_INSECT + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_FISHS + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_DEVIL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_HUMAN + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_ANGEL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_DEF_PERCENT_DRAGON + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: CLASS_IGNORE_DEF_PERCENT_NORMAL + MinValue: 3 + MaxValue: 18 + Chance: 5000 + - Id: 164 + Group: EIN_DDBOX2 + Slots: + - Slot: 1 + Options: + - Option: VAR_ATTMPOWER + MinValue: 5 + MaxValue: 45 + Chance: 5000 + - Option: VAR_MAGICATKPERCENT + MinValue: 1 + MaxValue: 10 + Chance: 5000 + - Slot: 2 + Options: + - Option: VAR_AVOIDSUCCESSVALUE + MinValue: 7 + MaxValue: 35 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_NOTHING_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_WATER_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_FIRE_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_GROUND_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_WIND_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_POISON_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_SAINT_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_DARKNESS_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_UNDEAD_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: DEC_SPELL_CAST_TIME + MinValue: 5 + MaxValue: 10 + Chance: 5000 + MaxRandom: 3 + Random: + - Option: HEAL_VALUE + MinValue: 7 + MaxValue: 25 + Chance: 5000 + - Option: RACE_MDAMAGE_NOTHING + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_UNDEAD + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_ANIMAL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_PLANT + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_INSECT + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_FISHS + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_HUMAN + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_ANGEL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_DEVIL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_MDAMAGE_DRAGON + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: CLASS_MDAMAGE_NORMAL + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: CLASS_MDAMAGE_BOSS + MinValue: 3 + MaxValue: 20 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_NOTHING + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_UNDEAD + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_ANIMAL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_PLANT + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_INSECT + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_FISHS + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_DEVIL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_HUMAN + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_ANGEL + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: RACE_IGNORE_MDEF_PERCENT_DRAGON + MinValue: 3 + MaxValue: 25 + Chance: 5000 + - Option: CLASS_IGNORE_MDEF_PERCENT_NORMAL + MinValue: 3 + MaxValue: 18 + Chance: 5000 + - Option: DEC_SPELL_CAST_TIME + MinValue: 5 + MaxValue: 10 + Chance: 5000 diff --git a/db/re/laphine_upgrade.yml b/db/re/laphine_upgrade.yml index 014d4b9c07..60d68fdefa 100644 --- a/db/re/laphine_upgrade.yml +++ b/db/re/laphine_upgrade.yml @@ -40,26 +40,27 @@ Header: Version: 1 Body: -# - Item: Ein_Ddbox -# TargetItems: -# - Item: Ein_BHSWORD -# - Item: Detecting_Staff -# - Item: Ein_BHHuuma -# - Item: Ein_BHKATAR -# - Item: Ein_BHAXE -# - Item: Ein_BHBOW -# - Item: Ein_1HKNUCK -# - Item: Ein_1HHAMMER -# - Item: Ein_1HWAND -# - Item: Ein_1HWHIP -# - Item: Ein_1HBOOK -# - Item: Ein_1HDAGGER -# - Item: Ein_1HMAGGER -# - Item: Ein_1HSPEAR -# - Item: Ein_1HLUTE -# - Item: Ein_1HSWORD -# - Item: Ein_1HGUN -# - Item: Ein_1H_Foxtail + - Item: Ein_Ddbox + RandomOptionGroup: EIN_DDBOX + TargetItems: + - Item: Ein_BHSWORD + - Item: Ein_BHSTAFF + - Item: Ein_BHHuuma + - Item: Ein_BHKATAR + - Item: Ein_BHAXE + - Item: Ein_BHBOW + - Item: Ein_1HKNUCK + - Item: Ein_1HHAMMER + - Item: Ein_1HWAND + - Item: Ein_1HWHIP + - Item: Ein_1HBOOK + - Item: Ein_1HDAGGER + - Item: Ein_1HMAGGER + - Item: Ein_1HSPEAR + - Item: Ein_1HLUTE + - Item: Ein_1HSWORD + - Item: Ein_1HGUN + - Item: Ein_1H_Foxtail - Item: Metal_Rifine_Ticket ResultRefine: 7 CardsAllowed: true @@ -76,26 +77,27 @@ Body: - Item: Metal_Revolver - Item: Metal_Huuma_Shuriken - Item: Metal_Foxtail -# - Item: Ein_Ddbox2 -# TargetItems: -# - Item: Ein_BHSWORD -# - Item: Detecting_Staff -# - Item: Ein_BHHuuma -# - Item: Ein_BHKATAR -# - Item: Ein_BHAXE -# - Item: Ein_BHBOW -# - Item: Ein_1HKNUCK -# - Item: Ein_1HHAMMER -# - Item: Ein_1HWAND -# - Item: Ein_1HWHIP -# - Item: Ein_1HBOOK -# - Item: Ein_1HDAGGER -# - Item: Ein_1HMAGGER -# - Item: Ein_1HSPEAR -# - Item: Ein_1HLUTE -# - Item: Ein_1HSWORD -# - Item: Ein_1HGUN -# - Item: Ein_1H_Foxtail + - Item: Ein_Ddbox2 + RandomOptionGroup: EIN_DDBOX2 + TargetItems: + - Item: Ein_BHSWORD + - Item: Ein_BHSTAFF + - Item: Ein_BHHuuma + - Item: Ein_BHKATAR + - Item: Ein_BHAXE + - Item: Ein_BHBOW + - Item: Ein_1HKNUCK + - Item: Ein_1HHAMMER + - Item: Ein_1HWAND + - Item: Ein_1HWHIP + - Item: Ein_1HBOOK + - Item: Ein_1HDAGGER + - Item: Ein_1HMAGGER + - Item: Ein_1HSPEAR + - Item: Ein_1HLUTE + - Item: Ein_1HSWORD + - Item: Ein_1HGUN + - Item: Ein_1H_Foxtail - Item: Gemstone_Of_Time RandomOptionGroup: GEMSTONE_OF_TIME TargetItems: diff --git a/db/re/mob_db.yml b/db/re/mob_db.yml index f585fa6e2e..2315b1a75f 100644 --- a/db/re/mob_db.yml +++ b/db/re/mob_db.yml @@ -96908,8 +96908,33 @@ Body: # AegisName: G_MINERAL_R # - Id: 20559 # AegisName: G_MINERAL_P -# - Id: 20560 -# AegisName: G_MINERAL_G + - Id: 20560 + AegisName: G_MINERAL_G + Name: Green Mineral + Level: 190 + Hp: 2435702 + Attack: 3729 + Attack2: 671 + Defense: 287 + MagicDefense: 68 + Str: 157 + Agi: 134 + Vit: 96 + Int: 53 + Dex: 138 + Luk: 75 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 648 + AttackMotion: 480 + DamageMotion: 360 + Ai: 17 # - Id: 20561 # AegisName: G_MINERAL_W # - Id: 20562 @@ -96972,30 +96997,555 @@ Body: # AegisName: RU_E_ECLIPS # - Id: 20591 # AegisName: PAPARE -# - Id: 20592 -# AegisName: POISONOUS -# - Id: 20593 -# AegisName: TOXIOUS -# - Id: 20594 -# AegisName: MINERAL_G -# - Id: 20595 -# AegisName: MINERAL_R -# - Id: 20596 -# AegisName: MINERAL_W -# - Id: 20597 -# AegisName: MINERAL_P -# - Id: 20598 -# AegisName: JEWELIANT -# - Id: 20599 -# AegisName: G_JEWELIANT -# - Id: 20600 -# AegisName: JEWEL -# - Id: 20601 -# AegisName: JUNGOLIANT -# - Id: 20602 -# AegisName: PORCELLIO_W -# - Id: 20603 -# AegisName: ABYSSMAN + - Id: 20592 + AegisName: POISONOUS + Name: Poisonous + Level: 188 + Hp: 2407086 + BaseExp: 171935 + JobExp: 120354 + Attack: 3408 + Attack2: 840 + Defense: 248 + MagicDefense: 68 + Str: 145 + Agi: 141 + Vit: 77 + Int: 67 + Dex: 175 + Luk: 11 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Medium + Race: Formless + Element: Ghost + ElementLevel: 4 + WalkSpeed: 350 + AttackDelay: 768 + AttackMotion: 1440 + DamageMotion: 672 + Ai: 04 + Drops: + - Item: Ein_SOLIDDUST + Rate: 200 + - Item: Mould_Powder + Rate: 1500 + - Item: Air_Pollutant + Rate: 1500 + - Item: Anodyne + Rate: 25 + - Item: Spawns + Rate: 1500 + - Item: Shadowdecon_Ore + Rate: 150 + - Item: Old_Violet_Box + Rate: 1 + - Item: Poisonous_Card + Rate: 1 + StealProtected: true + - Id: 20593 + AegisName: TOXIOUS + Name: Toxious + Level: 188 + Hp: 2407556 + BaseExp: 171968 + JobExp: 120378 + Attack: 3384 + Attack2: 815 + Defense: 254 + MagicDefense: 68 + Str: 144 + Agi: 143 + Vit: 80 + Int: 65 + Dex: 168 + Luk: 47 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Medium + Race: Formless + Element: Poison + ElementLevel: 4 + WalkSpeed: 350 + AttackDelay: 768 + AttackMotion: 1440 + DamageMotion: 672 + Ai: 04 + Drops: + - Item: Jubilee + Rate: 2500 + - Item: Ein_SOLIDDUST + Rate: 200 + - Item: Insect_Feeler + Rate: 500 + - Item: Single_Cell + Rate: 1500 + - Item: Fluorescent_Liquid + Rate: 15 + - Item: Shadowdecon_Ore + Rate: 150 + - Item: Poison_Powder + Rate: 50 + - Item: Toxious_Card + Rate: 1 + StealProtected: true + - Id: 20594 + AegisName: MINERAL_G + Name: Green Mineral + Level: 190 + Hp: 2435702 + BaseExp: 173979 + JobExp: 121785 + Attack: 3634 + Attack2: 684 + Defense: 287 + MagicDefense: 68 + Str: 153 + Agi: 141 + Vit: 96 + Int: 54 + Dex: 143 + Luk: 68 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 648 + AttackMotion: 480 + DamageMotion: 360 + Ai: 04 + Drops: + - Item: Fragment_Of_Crystal + Rate: 1500 + - Item: Ein_RINDIUM + Rate: 100 + - Item: Ein_EYEROCK + Rate: 150 + - Item: Zelunium_Ore + Rate: 150 + - Item: Oridecon + Rate: 40 + - Item: Emveretarcon + Rate: 400 + - Item: Gold + Rate: 1 + - Item: Neo_Mineral_Card + Rate: 1 + StealProtected: true + - Id: 20595 + AegisName: MINERAL_R + Name: Red Mineral + Level: 190 + Hp: 2435702 + BaseExp: 173979 + JobExp: 121785 + Attack: 3729 + Attack2: 671 + Defense: 287 + MagicDefense: 68 + Str: 157 + Agi: 134 + Vit: 96 + Int: 53 + Dex: 138 + Luk: 75 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 648 + AttackMotion: 480 + DamageMotion: 360 + Ai: 04 + Drops: + - Item: Fragment_Of_Crystal + Rate: 1500 + - Item: Ein_REDIUM + Rate: 100 + - Item: Ein_EYEROCK + Rate: 150 + - Item: Zelunium_Ore + Rate: 150 + - Item: Oridecon + Rate: 40 + - Item: Emveretarcon + Rate: 400 + - Item: Gold + Rate: 1 + - Item: Neo_Mineral_Card + Rate: 1 + StealProtected: true + - Id: 20596 + AegisName: MINERAL_W + Name: White Mineral + Level: 190 + Hp: 2436177 + BaseExp: 174013 + JobExp: 121809 + Attack: 3705 + Attack2: 722 + Defense: 293 + MagicDefense: 68 + Str: 156 + Agi: 138 + Vit: 99 + Int: 57 + Dex: 139 + Luk: 77 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 648 + AttackMotion: 480 + DamageMotion: 360 + Ai: 04 + Drops: + - Item: Fragment_Of_Crystal + Rate: 1500 + - Item: Ein_WHIDIUM + Rate: 100 + - Item: Ein_EYEROCK + Rate: 150 + - Item: Zelunium_Ore + Rate: 150 + - Item: Oridecon + Rate: 40 + - Item: Emveretarcon + Rate: 400 + - Item: Gold + Rate: 1 + - Item: Neo_Mineral_Card + Rate: 1 + StealProtected: true + - Id: 20597 + AegisName: MINERAL_P + Name: Purple Mineral + Level: 190 + Hp: 2435543 + BaseExp: 173967 + JobExp: 121777 + Attack: 3681 + Attack2: 697 + Defense: 285 + MagicDefense: 68 + Str: 155 + Agi: 122 + Vit: 95 + Int: 55 + Dex: 141 + Luk: 71 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 648 + AttackMotion: 480 + DamageMotion: 360 + Ai: 04 + Drops: + - Item: Fragment_Of_Crystal + Rate: 1500 + - Item: Ein_PURDIUM + Rate: 100 + - Item: Ein_EYEROCK + Rate: 150 + - Item: Zelunium_Ore + Rate: 150 + - Item: Oridecon + Rate: 40 + - Item: Emveretarcon + Rate: 400 + - Item: Gold + Rate: 1 + - Item: Neo_Mineral_Card + Rate: 1 + StealProtected: true + - Id: 20598 + AegisName: JEWELIANT + Name: Jewelry Ant + Level: 191 + Hp: 2445656 + BaseExp: 174690 + JobExp: 122283 + Attack: 3748 + Attack2: 1108 + Defense: 252 + MagicDefense: 71 + Str: 157 + Agi: 144 + Vit: 778 + Int: 87 + Dex: 166 + Luk: 79 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Medium + Race: Insect + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 360 + AttackMotion: 360 + DamageMotion: 600 + Ai: 21 + Drops: + - Item: Long_Limb + Rate: 2250 + - Item: Jaws_Of_Ant + Rate: 1750 + - Item: Colorful_Shell + Rate: 500 + - Item: Olivine + Rate: 750 + - Item: Fluorescent_Liquid + Rate: 1250 + - Item: Shadowdecon_Ore + Rate: 150 + - Item: Ein_UNDIUM + Rate: 300 + - Item: Jeweliant_Card + Rate: 1 + StealProtected: true + - Id: 20599 + AegisName: G_JEWELIANT + Name: Jewelry Ant + Level: 191 + Hp: 2445656 + Attack: 3748 + Attack2: 1108 + Defense: 252 + MagicDefense: 71 + Str: 157 + Agi: 144 + Vit: 78 + Int: 87 + Dex: 166 + Luk: 79 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Medium + Race: Insect + Element: Neutral + ElementLevel: 4 + WalkSpeed: 250 + AttackDelay: 360 + AttackMotion: 360 + DamageMotion: 600 + Ai: 21 + Drops: + - Item: Jeweliant_Card + Rate: 1 + StealProtected: true + - Id: 20600 + AegisName: JEWEL + Name: Jewel + Level: 192 + Hp: 100 + Attack: 1 + Attack2: 1 + Defense: 504 + MagicDefense: 71 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Formless + Element: Neutral + ElementLevel: 4 + WalkSpeed: 200 + AttackDelay: 1008 + AttackMotion: 1200 + DamageMotion: 540 + Ai: 21 + Class: Boss + Modes: + IgnoreMagic: true + IgnoreMelee: true + IgnoreMisc: true + IgnoreRanged: true + Drops: + - Item: Ein_DYNITE + Rate: 100 + - Item: Shadowdecon_Ore + Rate: 150 + - Item: Ein_REDIUM + Rate: 300 + - Item: Ein_RINDIUM + Rate: 300 + - Item: Ein_ODIUM + Rate: 300 + - Item: Ein_PURDIUM + Rate: 300 + - Item: Ein_WHIDIUM + Rate: 300 + - Item: Ein_UNDIUM + Rate: 250 + StealProtected: true + - Id: 20601 + AegisName: JUNGOLIANT + Name: Jewel Ungoliant + Level: 197 + Hp: 37847096 + BaseExp: 2703364 + JobExp: 1892355 + Attack: 7264 + Attack2: 3782 + Defense: 345 + MagicDefense: 90 + Str: 295 + Agi: 165 + Vit: 123 + Int: 288 + Dex: 190 + Luk: 64 + AttackRange: 3 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Insect + Element: Neutral + ElementLevel: 4 + WalkSpeed: 350 + AttackDelay: 420 + AttackMotion: 576 + DamageMotion: 420 + Ai: 21 + Class: Boss + Modes: + Mvp: true + Drops: + - Item: Long_Limb + Rate: 2250 + - Item: Jaws_Of_Ant + Rate: 1750 + - Item: Shadowdecon + Rate: 50 + - Item: Zelunium + Rate: 50 + - Item: Ein_UNDIUM + Rate: 7500 + - Item: Ein_UNDIUM + Rate: 2500 + - Item: Ein_DYNITE + Rate: 8000 + - Item: Jungoliant_Card + Rate: 1 + StealProtected: true + - Id: 20602 + AegisName: PORCELLIO_W + Name: White Porcellio + Level: 188 + Hp: 2403326 + BaseExp: 171666 + JobExp: 120166 + Attack: 3314 + Attack2: 940 + Defense: 200 + MagicDefense: 69 + Str: 141 + Agi: 158 + Vit: 53 + Int: 75 + Dex: 186 + Luk: 75 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Small + Race: Insect + Element: Earth + ElementLevel: 4 + WalkSpeed: 150 + AttackDelay: 720 + AttackMotion: 360 + DamageMotion: 360 + Ai: 02 + Drops: + - Item: Jubilee + Rate: 2500 + - Item: Insect_Feeler + Rate: 500 + - Item: Single_Cell + Rate: 1500 + - Item: Fluorescent_Liquid + Rate: 15 + - Item: Zelunium_Ore + Rate: 150 + - Item: Ein_ODIUM + Rate: 150 + - Item: Solid_Shell + Rate: 1000 + - Item: Porcellio_W_Card + Rate: 1 + StealProtected: true + - Id: 20603 + AegisName: ABYSSMAN + Name: Abyssman + Level: 190 + Hp: 2428577 + BaseExp: 173470 + JobExp: 121429 + Attack: 3824 + Attack2: 570 + Defense: 197 + MagicDefense: 67 + Str: 161 + Agi: 129 + Vit: 51 + Int: 45 + Dex: 177 + Luk: 53 + AttackRange: 1 + SkillRange: 10 + ChaseRange: 12 + Size: Large + Race: Brute + Element: Neutral + ElementLevel: 4 + WalkSpeed: 180 + AttackDelay: 960 + AttackMotion: 336 + DamageMotion: 300 + Ai: 04 + Drops: + - Item: Old_Pick + Rate: 1500 + - Item: Shadowdecon_Ore + Rate: 150 + - Item: Ein_RUSTHELM + Rate: 150 + - Item: Ein_ODIUM + Rate: 150 + - Item: Coal + Rate: 50 + - Item: Lantern + Rate: 500 + - Item: Headlamp + Rate: 40 + - Item: Abyss_Man_Card + Rate: 1 + StealProtected: true # - Id: 20604 # AegisName: ANGELGOLT # - Id: 20605 diff --git a/db/re/mob_skill_db.txt b/db/re/mob_skill_db.txt index a9de9d2969..1eaffb80a2 100644 --- a/db/re/mob_skill_db.txt +++ b/db/re/mob_skill_db.txt @@ -13996,6 +13996,91 @@ 20700,G_BETA_SCISSORE_NG@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9, 20700,G_BETA_SCISSORE_NG@MG_FIREBOLT,attack,19,1,1000,300,5000,yes,target,always,0,,,,,,9, +// ein_dun03 +20560,G_MINERAL_G@NPC_WINDATTACK,attack,187,1,10000,0,3000,yes,target,always,0,,,,,,0, +20560,G_MINERAL_G@AL_HEAL,idle,28,5,3000,0,2000,yes,friend,myhpltmaxrate,90,,,,,,, +20560,G_MINERAL_G@AL_HEAL,attack,28,5,3000,0,2000,yes,friend,myhpltmaxrate,90,,,,,,, +20560,G_MINERAL_G@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,50,,,,,,, +20560,G_MINERAL_G@NPC_PIERCINGATT,attack,158,5,1000,300,5000,yes,target,always,0,,,,,,6, +20592,POISONOUS@NPC_EMOTION,idle,197,1,1000,0,30000,yes,self,always,0,,,,,,1, +20592,POISONOUS@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20592,POISONOUS@NPC_TELEKINESISATTACK,attack,191,4,3000,0,5000,yes,target,always,0,,,,,,, +20592,POISONOUS@NPC_DEFENDER,attack,205,1,1500,0,300000,yes,self,longrangeattacked,0,,,,,,, +20592,POISONOUS@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,0,,,,,,31, +20593,TOXIOUS@NPC_EMOTION,idle,197,1,1000,0,30000,yes,self,always,0,,,,,,1, +20593,TOXIOUS@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20593,TOXIOUS@NPC_POISONATTACK,attack,188,4,3000,0,5000,yes,target,always,0,,,,,,, +20593,TOXIOUS@NPC_DEFENDER,attack,205,1,1500,0,300000,yes,self,longrangeattacked,0,,,,,,, +20593,TOXIOUS@NPC_MENTALBREAKER,attack,159,2,500,0,5000,yes,target,always,0,,,,,,, +20594,MINERAL_G@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20594,MINERAL_G@NPC_WINDATTACK,attack,187,1,10000,300,3000,yes,target,always,0,,,,,,0, +20594,MINERAL_G@AL_HEAL,attack,28,5,2000,0,3000,yes,friend,myhpltmaxrate,90,,,,,,, +20594,MINERAL_G@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,50,,,,,,, +20594,MINERAL_G@NPC_KEEPING,attack,201,1,500,0,5000,no,self,myhpltmaxrate,10,,,,,,23, +20594,MINERAL_G@MG_COLDBOLT,attack,14,5,1000,500,5000,yes,target,always,0,,,,,,21, +20595,MINERAL_R@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20595,MINERAL_R@NPC_FIREATTACK,attack,186,1,10000,300,3000,yes,target,always,0,,,,,,0, +20595,MINERAL_R@AL_HEAL,attack,28,5,2000,0,3000,yes,friend,myhpltmaxrate,90,,,,,,, +20595,MINERAL_R@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,50,,,,,,, +20595,MINERAL_R@NPC_KEEPING,attack,201,1,500,0,5000,no,self,myhpltmaxrate,10,,,,,,23, +20595,MINERAL_R@MG_FIREBOLT,attack,19,5,1000,500,5000,yes,target,always,0,,,,,,21, +20596,MINERAL_W@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20596,MINERAL_W@NPC_HOLYATTACK,attack,189,1,10000,300,3000,yes,target,always,0,,,,,,0, +20596,MINERAL_W@AL_HEAL,attack,28,5,2000,0,3000,yes,friend,myhpltmaxrate,90,,,,,,, +20596,MINERAL_W@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,50,,,,,,, +20596,MINERAL_W@NPC_KEEPING,attack,201,1,500,0,5000,no,self,myhpltmaxrate,10,,,,,,23, +20596,MINERAL_W@MG_LIGHTNINGBOLT,attack,20,5,1000,500,5000,yes,target,always,0,,,,,,21, +20597,MINERAL_P@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20597,MINERAL_P@NPC_DARKNESSATTACK,attack,190,1,10000,300,3000,yes,target,always,0,,,,,,0, +20597,MINERAL_P@AL_HEAL,attack,28,5,2000,0,3000,yes,friend,myhpltmaxrate,90,,,,,,, +20597,MINERAL_P@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,50,,,,,,, +20597,MINERAL_P@NPC_KEEPING,attack,201,1,500,0,5000,no,self,myhpltmaxrate,10,,,,,,23, +20597,MINERAL_P@NPC_DARKSTRIKE,attack,340,5,1000,500,5000,yes,target,always,0,,,,,,21, +20598,JEWELIANT@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20598,JEWELIANT@NPC_STONESKIN,attack,675,4,3000,0,30000,yes,self,myhpltmaxrate,40,,,,,,, +20598,JEWELIANT@MO_BODYRELOCATION,attack,264,1,100,0,300000,no,target,always,0,,,,,,, +20598,JEWELIANT@NPC_CURSEATTACK,attack,181,2,500,0,5000,no,target,always,0,,,,,,, +20600,JEWEL@NPC_SUMMONSLAVE,attack,196,1,10000,2000,5000,no,self,slavele,1,20560,20560,,,,, +20600,JEWEL@NPC_SUMMONSLAVE,idle,196,1,10000,2000,5000,no,self,slavele,1,20560,20560,,,,, +20600,JEWEL@NPC_SUMMONSLAVE,chase,196,1,10000,2000,5000,no,self,slavele,1,20560,20560,,,,, +20600,JEWEL@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20600,JEWEL@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20600,JEWEL@NPC_CALLSLAVE,chase,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20600,JEWEL@AL_TELEPORT,idle,26,1,1000,1000,10000,yes,self,always,0,,,,,,, +20600,JEWEL@AL_TELEPORT,chase,26,1,1000,1000,10000,yes,self,always,0,,,,,,, +20600,JEWEL@AL_TELEPORT,attack,26,1,1000,1000,10000,yes,self,always,0,,,,,,, +20600,JEWEL@AL_HEAL,idle,28,9,10000,1000,10000,yes,friend,always,0,,,,,,, +20600,JEWEL@AL_HEAL,chase,28,9,10000,1000,10000,yes,friend,always,0,,,,,,, +20600,JEWEL@AL_HEAL,attack,28,9,10000,1000,10000,yes,friend,always,0,,,,,,, +20600,JEWEL@CR_AUTOGUARD,chase,249,5,2000,0,300000,yes,self,longrangeattacked,0,,,,,,, +20600,JEWEL@CR_AUTOGUARD,attack,249,5,2000,0,300000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_SUMMONSLAVE,attack,196,1,10000,2000,5000,no,self,slavele,1,20599,20599,20599,,,, +20601,JUNGOLIANT@NPC_SUMMONSLAVE,idle,196,1,10000,2000,5000,no,self,slavele,1,20599,20599,20599,,,, +20601,JUNGOLIANT@NPC_SUMMONSLAVE,chase,196,1,10000,2000,5000,no,self,slavele,1,20599,20599,20599,,,, +20601,JUNGOLIANT@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_CALLSLAVE,chase,352,1,10000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@AL_TELEPORT,idle,26,1,10000,0,5000,yes,self,rudeattacked,0,,,,,,, +20601,JUNGOLIANT@NPC_POWERUP,chase,349,4,4000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_HELMBRAKE,attack,345,9,2000,300,120000,no,target,always,0,,,,,,6, +20601,JUNGOLIANT@NPC_ACIDBREATH,chase,657,5,3000,500,60000,no,target,always,0,,,,,,11, +20601,JUNGOLIANT@NPC_POISONATTACK,chase,188,1,1000,500,90000,no,target,always,0,,,,,,44, +20601,JUNGOLIANT@NPC_AGIUP,attack,350,5,4000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_AGIUP,chase,350,5,2000,0,30000,yes,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_CRITICALWOUND,attack,673,4,2000,0,3000,no,target,always,0,,,,,,, +20601,JUNGOLIANT@NPC_WIDECURSE,attack,677,3,2000,0,20000,no,self,always,0,,,,,,, +20601,JUNGOLIANT@NPC_EARTHQUAKE,attack,653,10,2000,2000,30000,no,self,always,0,,,,,,53, +20601,JUNGOLIANT@NPC_DEFENDER,attack,205,1,10000,0,20000,yes,self,myhpltmaxrate,40,,,,,,, +20602,PORCELLIO_W@NPC_EMOTION,idle,197,1,10000,0,30000,yes,self,casttargeted,0,,,,,,0, +20602,PORCELLIO_W@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20602,PORCELLIO_W@TF_HIDING,idle,51,1,2000,400,5000,no,self,always,0,,,,,,, +20602,PORCELLIO_W@NPC_GROUNDATTACK,attack,185,4,3000,0,5000,yes,target,always,0,,,,,,, +20602,PORCELLIO_W@NPC_WIDESOULDRAIN,attack,680,4,500,0,5000,no,self,always,0,,,,,,42, +20603,ABYSSMAN@AL_TELEPORT,chase,26,5,7000,0,10000,yes,self,mobnearbygt,19,,,,,,, +20603,ABYSSMAN@MG_SIGHT,idle,10,1,2000,0,10000,yes,self,always,0,,,,,,, +20603,ABYSSMAN@NPC_COMBOATTACK,attack,171,2,2000,500,5000,no,target,always,0,,,,,,, +20603,ABYSSMAN@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,29, + // Meister ABR's (Automated Battle Robot) 20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,chase,8601,1,10000,500,5000,yes,target,always,0,,,,,,, 20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,attack,8601,1,10000,500,5000,yes,target,always,0,,,,,,, diff --git a/db/re/quest_db.yml b/db/re/quest_db.yml index c658229fc4..f279565d77 100644 --- a/db/re/quest_db.yml +++ b/db/re/quest_db.yml @@ -5141,20 +5141,53 @@ Body: - Id: 7868 Title: Mercenary vs Mercenary - Waiting TimeLimit: 4h + - Id: 7879 + Title: New Poison Research + Targets: + - Mob: POISONOUS + Count: 20 + - Mob: TOXIOUS + Count: 20 - Id: 7880 - Title: New toxic gas research - Standby + Title: New Poison Research - Standby TimeLimit: 4h + - Id: 7881 + Title: Special Mineral Research 1 + Targets: + - Mob: MINERAL_G + Count: 20 + - Mob: MINERAL_R + Count: 20 - Id: 7882 - Title: Special mineral research 1 - Waiting + Title: Special Mineral Research 1 - Standby TimeLimit: 4h + - Id: 7883 + Title: Special Mineral Research 2 + Targets: + - Mob: MINERAL_W + Count: 20 + - Mob: MINERAL_P + Count: 20 - Id: 7884 - Title: Special mineral research 2 - Waiting + Title: Special Mineral Research 2 - Standby TimeLimit: 4h + - Id: 7885 + Title: Abyssman Research + Targets: + - Mob: ABYSSMAN + Count: 10 - Id: 7886 Title: Abyssman Research - Waiting TimeLimit: 4h + - Id: 7887 + Title: Mineworm Research + Targets: + - Mob: JEWELIANT + Count: 10 + - Mob: PORCELLIO_W + Count: 10 - Id: 7888 - Title: Gwangin bug research - Waiting + Title: Mineworm Research - Standby TimeLimit: 4h - Id: 7890 Title: X century XX gold-waiting diff --git a/npc/re/merchants/barters.yml b/npc/re/merchants/barters.yml index a49e04b6b5..06af74d4d7 100644 --- a/npc/re/merchants/barters.yml +++ b/npc/re/merchants/barters.yml @@ -58,3 +58,4 @@ Footer: - Path: npc/re/merchants/barters/cashmall.yml - Path: npc/re/merchants/barters/rgsr_in.yml - Path: npc/re/merchants/barters/enchan_illusion_16_2.yml + - Path: npc/re/merchants/barters/quests_exp_175.yml diff --git a/npc/re/merchants/barters/quests_exp_175.yml b/npc/re/merchants/barters/quests_exp_175.yml new file mode 100644 index 0000000000..a9d3486269 --- /dev/null +++ b/npc/re/merchants/barters/quests_exp_175.yml @@ -0,0 +1,86 @@ +# This file is a part of rAthena. +# Copyright(C) 2022 rAthena Development Team +# https://rathena.org - https://github.com/rathena +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +########################################################################### +# Barter Database +########################################################################### +# +# Barter Settings +# +########################################################################### +# - Name NPC name. +# Map Map name. (Default: not on a map) +# X Map x coordinate. (Default: 0) +# Y Map y coordinate. (Default: 0) +# Direction Direction the NPC is looking. (Default: North) +# Sprite Sprite name of the NPC. (Default: FakeNpc) +# Items: List of sold items. +# - Index Index of the item inside the shop. (0-...) +# Maximum index depends on client. +# Item Aegis name of the item. +# Stock Amount of item in stock. 0 means unlimited. (Default: 0) +# Zeny Cost of them item in Zeny. (Default: 0) +# RequiredItems: List of required items (Optional) +# - Index Index of the required item. (0-4) +# Item Aegis name of required item. +# Amount Amount of required item. (Default: 1) +# Refine Refine level of required item. (Default: 0) +########################################################################### + +Header: + Type: BARTER_DB + Version: 1 + +Body: + - Name: barter_ein_dun03 + Items: + - Index: 0 + Item: Ein_SAFETY_PENDR + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 75 + - Index: 1 + Item: Ein_SAFETY_PENDL + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 75 + - Index: 2 + Item: Ein_SAFETY_EPAULR + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 75 + - Index: 3 + Item: Ein_SAFETY_EPAULL + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 75 + - Index: 4 + Item: Ein_Ddbox2 + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 30 + - Index: 5 + Item: Ein_Ddbox + RequiredItems: + - Index: 0 + Item: Ein_DYNITE + Amount: 30 diff --git a/npc/re/merchants/quests_exp_175.txt b/npc/re/merchants/quests_exp_175.txt new file mode 100644 index 0000000000..095de873f6 --- /dev/null +++ b/npc/re/merchants/quests_exp_175.txt @@ -0,0 +1,89 @@ +//===== rAthena Script ======================================= +//= Merchants from new dungeons for Level 175 +//===== Description: ========================================= +//= [Walkthrough Conversion] +//--- Merchants related to new dungeons. +//===== Changelog: =========================================== +//= 1.0 Initial release of Einbech Dungeon 3 merchants. [Capuche] +//============================================================ + +einbech,149,257,4 script Site manager Elmen#extdq0 4_TOWER_16,{ + if (checkweight(25814,100) == 0 || checkweight(1201,1) == 0 || (MaxWeight - Weight) < 10000) { + mes "- You cannot proceed because you have too many items. -"; + close; + } + mes "[Elmen]"; + mes "Hello. Adventurer."; + mes "If you're here to purchase Dynite mining equipment or refine ore into Dynite, you've come to the right place."; + next; + switch( select( "Dynite Refinement", "Dynite Shop", "Dynite Equipment Exchange" ) ) { + case 1: + npctalk "Elmen: You can refine up to 100 Dynite at a time. The machine is small.", "", bc_self; + mes "[Elmen]"; + mes "" + mesitemlink(25814) + " Refined Ore."; + mes "" + mesitemlink(25809) + " ^777777(currently " + countitem(25809) + ")^000000"; + mes "" + mesitemlink(25810) + " ^777777(currently " + countitem(25810) + ")^000000"; + mes "" + mesitemlink(25811) + " ^777777(currently " + countitem(25811) + ")^000000"; + mes "" + mesitemlink(25812) + " ^777777(currently " + countitem(25812) + ")^000000"; + mes "" + mesitemlink(25813) + " ^777777(currently " + countitem(25813) + ")^000000"; + mes "You need one each of the five types of ore."; + next; + input .@val; + if (.@val > 100) { + mes "[Elmen]"; + mes "I'm sorry. Adventurer."; + mes "Dynite Refinement can only be refined up to 100 at a time? The machine is small, so there is no help. Please understand."; + close; + } + if (.@val == 0) { + mes "[Elmen]"; + mes "Cancel?"; + mes "If you need refinement of the Dynite, please find it anytime. There is no one who can do it without me."; + close; + } + if (countitem(25809) < .@val || countitem(25810) < .@val || countitem(25811) < .@val || countitem(25812) < .@val || countitem(25813) < .@val) { + mes "[Elmen]"; + mes "Hey! This makes it difficult for each other, don't you run out of materials needed for refining? The materials!"; + close; + } + specialeffect EF_REPAIRWEAPON; + progressbar_npc "FFFF00",1; + delitem 25809,.@val; // Ein_REDIUM + delitem 25810,.@val; // Ein_RINDIUM + delitem 25811,.@val; // Ein_ODIUM + delitem 25812,.@val; // Ein_PURDIUM + delitem 25813,.@val; // Ein_WHIDIUM + getitem 25814,.@val; // Ein_DYNITE + mes "[Elmen]"; + mes "" + .@val + " Dynite have been refined. It's perfect today!"; + close; + case 2: + mes "[Elmen]"; + mes "There are various accessories and modification permits. Look carefully at what you want before buying."; + close2; + callshop "barter_ein_dun03"; + end; + case 3: + mes "[Elmen]"; + mes "I can exchange the equipment with the Dynite, but it's already in a tightly sealed box."; + mes "Give me 50 ^4d4dffDynites^000000 and I will open a ^4d4dffweapon box^000000 for you."; + next; + mes "[Elmen]"; + mes "I don't know what will come out, but the quality is good. Would you like to open it?"; + next; + if (select( "Close your eyes and exchange.", "Do not exchange." ) == 2) { + mes "[Elmen]"; + mes "Kee, this is a waste, it was a good deal."; + close; + } + if (countitem(25814) < 50) { + mes "[Elmen]"; + mes "You don't have enough Dynite friends."; + mes "I don't know what's going to come out, so it's hard to go anywhere and get this kind of equipment at this price."; + close; + } + // unknown text + getgroupitem(IG_EIN_1HITEMBOX); + end; + } +} diff --git a/npc/re/mobs/dungeons/ein_dun.txt b/npc/re/mobs/dungeons/ein_dun.txt index 98f39a43df..dfade4a99f 100644 --- a/npc/re/mobs/dungeons/ein_dun.txt +++ b/npc/re/mobs/dungeons/ein_dun.txt @@ -34,3 +34,18 @@ ein_dun02,0,0 monster Obsidian 1615,40,5000 ein_dun02,0,0 monster Old Stove 1617,30,5000 ein_dun02,0,0 monster Teddy Bear 1622,30,5000 ein_dun02,0,0,0,0 boss_monster RSX-0806 1623,1,7500000,600000,0 + +//================================================== +// ein_dun03 - Mine Dungeon +//================================================== +ein_dun03 monster Poisonous 20592,35 +ein_dun03 monster Toxious 20593,35 +ein_dun03 monster Green Mineral 20594,40 +ein_dun03 monster Red Mineral 20595,40 +ein_dun03 monster White Mineral 20596,40 +ein_dun03 monster Purple Mineral 20597,40 +ein_dun03 monster Abyssman 20603,20 +ein_dun03 monster White Porcellio 20602,22 +ein_dun03 monster Jeweliant 20598,20 +ein_dun03 monster Jewel 20600,3 +ein_dun03 boss_monster Jungoliant 20601,1,7200000,600000,0 diff --git a/npc/re/quests/quests_exp_175.txt b/npc/re/quests/quests_exp_175.txt index d5de724081..5dd2b263ae 100644 --- a/npc/re/quests/quests_exp_175.txt +++ b/npc/re/quests/quests_exp_175.txt @@ -7,6 +7,7 @@ //= 1.0 Initial release of Glast Heim Abyss quests. [OptimusM] //= 1.1 Corrections here and there. [Capuche] //= 1.2 Initial release of Magma Dungeon 3 quests. [Capuche] +//= 1.3 Initial release of Einbech Dungeon 3 quests. [Capuche] //============================================================ glast_01,191,273,3 script Magician Nillem#glabyss01 4_M_JOB_WIZARD,{ @@ -601,3 +602,319 @@ OnInit: questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8559) == 2 && isbegin_quest(8561) == 0 && checkquest(8560,PLAYTIME) == -1" ); end; } + + +// ein_dun03 +einbech,143,244,3 script Apprentice Researcher Sally#extdq01 4_F_LGTGIRL,{ + if (BaseLevel < 180) { + mes "[Sally]"; + mes "Hello, adventurer!"; + mes "Please introduce me to a talented adventurer!"; + mes "A very, very important matter on which my job is at stake..!"; + next; + mes "^4d4dffThere are quests over 180 Lv.^000000"; + close; + } + if (checkquest(7879,HUNTING) == 2) { + mes "[Sally]"; + mes "We were able to collect enough data for " + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "!"; + erasequest 7879; + setquest 7880; + getexp 27512240,19258560; + next; + } + if (checkquest(7881,HUNTING) == 2) { + mes "[Sally]"; + mes "I have collected enough data for " + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "!"; + erasequest 7881; + setquest 7882; + getexp 27836640,19485600; + next; + } + if (checkquest(7883,HUNTING) == 2) { + mes "[Sally]"; + mes "The data for " + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + " are as follows. It was very helpful."; + erasequest 7883; + setquest 7884; + getexp 27838400,19486880; + next; + } + if (checkquest(7885,HUNTING) == 2) { + mes "[Sally]"; + mes "" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "'s data is always amazing."; + erasequest 7885; + setquest 7886; + getexp 6938800,4857160; + next; + } + if (checkquest(7887,HUNTING) == 2) { + mes "[Sally]"; + mes "You have successfully obtained " + getmonsterinfo("JEWELIANT", MOB_NAME) + " and " + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " data!"; + erasequest 7887; + setquest 7888; + getexp 13854240,9697960; + next; + } + mes "[Sally]"; + mes "When will this poor apprenticeship end?"; + next; + mes "[Sally]"; + mes "I am desperately looking for help from a talented adventurer."; + mes "Just like you!"; + mes "Would you like to help protect this poor trainee researcher's job?"; + next; + switch( select( "New Poison Research", "Special Mineral Research 1", "Special Mineral Research 2", "Abyssman Research", "Mineworm Research", "Why are you doing this?" ) ) { + case 1: + switch( checkquest(7880,PLAYTIME) ) { + case -1: + break; + case 0: + case 1: + mes "[Sally]"; + mes "Um, don't overdo it."; + mes "Opportunities always come."; + close; + case 2: + erasequest 7880; + break; + } + switch( checkquest(7879,HUNTING) ) { + case -1: + mes "[Sally]"; + mes "I need data to research the poison gas monster newly discovered in the Einbech Mine Dungeon."; + mes "It is difficult to deal with the monsters occupying the mines with the manpower here, so we have to deal with both."; + next; + mes "[Sally]"; + mes "I'm collecting data while the adventurer is fighting ^4d4dff" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "^000000."; + mes "Isn't it a good deal?"; + next; + if (select( "Received a request", "Rejected" ) == 2) { + mes "[Sally]"; + mes "It's ok."; + mes "The world is wide and there are many adventurers."; + close; + } + mes "[Sally]"; + mes "Then please take care of the ^4d4dff" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!"; + setquest 7879; + close; + case 0: + case 1: + mes "[Sally]"; + mes "" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon."; + mes "They're hard for ordinary people like me to deal with, so I'll have to hide and watch you do the work then collect data."; + close; + case 2: + end; + } + end; + case 2: + switch( checkquest(7882,PLAYTIME) ) { + case -1: + break; + case 0: + case 1: + mes "[Sally]"; + mes "Um, don't overdo it."; + mes "Opportunities always come."; + close; + case 2: + erasequest 7882; + break; + } + switch( checkquest(7881,HUNTING) ) { + case -1: + mes "[Sally]"; + mes "There are several types of Minerals. The Minerals we want to investigate this time are ^4d4dff" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "^000000."; + mes "Let's collect the data needed for research while controlling the number of individuals!"; + next; + if (select( "Received a request", "Rejected" ) == 2) { + mes "[Sally]"; + mes "It's ok."; + mes "The world is wide and there are many adventurers."; + close; + } + mes "[Sally]"; + mes "Then please take care of the ^4d4dff" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech mine dungeon^000000!"; + setquest 7881; + close; + case 0: + case 1: + mes "[Sally]"; + mes "" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + " are found here on the 3rd floor of the Einbech Mine Dungeon."; + mes "Be careful, they are dangerous."; + close; + case 2: + end; + } + end; + case 3: + switch( checkquest(7884,PLAYTIME) ) { + case -1: + break; + case 0: + case 1: + mes "[Sally]"; + mes "Um, don't overdo it."; + mes "Opportunities always come."; + close; + case 2: + erasequest 7884; + break; + } + switch( checkquest(7883,HUNTING) ) { + case -1: + mes "[Sally]"; + mes "There are several types of Minerals. The Minerals we want to investigate this time are ^4d4dff" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + "s^000000."; + mes "Let's collect the data needed for research while controlling the number of individuals!"; + next; + if (select( "Received a request", "Rejected" ) == 2) { + mes "[Sally]"; + mes "It's ok."; + mes "The world is wide and there are many adventurers."; + close; + } + mes "[Sally]"; + mes "Then please take care of the ^4d4dff" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!"; + setquest 7883; + close; + case 0: + case 1: + mes "[Sally]"; + mes "" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + " are found here on the 3rd floor of the Einbech Mine Dungeon."; + mes "Be careful, they are dangerous."; + close; + case 2: + end; + } + end; + case 4: + switch( checkquest(7886,PLAYTIME) ) { + case -1: + break; + case 0: + case 1: + mes "[Sally]"; + mes "Um, don't overdo it."; + mes "Opportunities always come."; + close; + case 2: + erasequest 7886; + break; + } + switch( checkquest(7885,HUNTING) ) { + case -1: + mes "[Sally]"; + mes "If you look into an abyss, it is said that the abyss is eaten, not meowed."; + mes "I think the popular name " + getmonsterinfo("ABYSSMAN", MOB_NAME) + " is also like that."; + mes "So we need data from ^4d4dff" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "^000000."; + next; + if (select( "Received a request", "Rejected" ) == 2) { + mes "[Sally]"; + mes "It's ok."; + mes "The world is wide and there are many adventurers."; + close; + } + mes "[Sally]"; + mes "Then, please take care of the ^4d4dff" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "^000000 who appear in the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!"; + setquest 7885; + close; + case 0: + case 1: + mes "[Sally]"; + mes "The " + getmonsterinfo("ABYSSMAN", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon."; + mes "Be careful, they are dangerous."; + close; + case 2: + end; + } + end; + case 5: + switch( checkquest(7888,PLAYTIME) ) { + case -1: + break; + case 0: + case 1: + mes "[Sally]"; + mes "Um, don't overdo it."; + mes "Opportunities always come."; + close; + case 2: + erasequest 7888; + break; + } + switch( checkquest(7887,HUNTING) ) { + case -1: + mes "[Sally]"; + mes "Specialized insects live in dark places like dungeons."; + mes "The data to be collected this time are ^4d4dff" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + "^000000, also known as Mineworms."; + mes "Is it very different from the normal Porcellio?"; + next; + if (select( "Received a request", "Rejected" ) == 2) { + mes "[Sally]"; + mes "It's ok."; + mes "The world is wide and there are many adventurers."; + close; + } + mes "[Sally]"; + mes "Then, please take care of the ^4d4dff" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + "^000000 who appear in the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!"; + setquest 7887; + close; + case 0: + case 1: + mes "[Sally]"; + mes "" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon."; + mes "Be careful, they are dangerous."; + close; + case 2: + end; + } + end; + case 6: + mes "[Sally]"; + mes "Um? That's to be a full-time employee!"; + mes "Not long ago, I joined Regenschrum as a trainee researcher, but this is what I was appointed for."; + mes "It's about collecting data on mining monsters, so my evaluation depends on that."; + next; + mes "[Sally]"; + mes "And there were constant complaints from the headquarters asking what to do with the mine monsters."; + mes "While collecting data, it also regulates the number of individuals. This evaluation is a win-win, a win-win!"; + close; + } + end; + +OnInit: + // completed + questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7879,HUNTING) == 2" ); + questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7881,HUNTING) == 2" ); + questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7883,HUNTING) == 2" ); + questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7885,HUNTING) == 2" ); + questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7887,HUNTING) == 2" ); + + // timeout + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7880,PLAYTIME) == 2" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7882,PLAYTIME) == 2" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7884,PLAYTIME) == 2" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7886,PLAYTIME) == 2" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7888,PLAYTIME) == 2" ); + + // not started + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7879) == 0 && checkquest(7880,PLAYTIME) == -1" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7881) == 0 && checkquest(7882,PLAYTIME) == -1" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7883) == 0 && checkquest(7884,PLAYTIME) == -1" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7885) == 0 && checkquest(7886,PLAYTIME) == -1" ); + questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7887) == 0 && checkquest(7888,PLAYTIME) == -1" ); + end; +} + +einbech,156,243,3 script Need help#exsk 1_M_SMITH,{ + mes "[Olive]"; + mes "The orders keep pouring in, and everyone who works there is running away... It's a big deal, a big deal."; + close; +} + +einbech,154,244,5 script Need help#exsk_ 4_F_JOB_BLACKSMITH,{ + mes "[Atri]"; + mes "After all, it would be faster for me to learn the sword! I've only been picking a pickaxe for 10 years, so I'll learn it soon."; + close; +} diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index ca6a5f5b89..254b1aeb2f 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -157,6 +157,7 @@ npc: npc/re/merchants/nightmare_biolab.txt npc: npc/re/merchants/novice_vending_machine.txt npc: npc/re/merchants/OldGlastHeim_merchants.txt npc: npc/re/merchants/pet_trader.txt +npc: npc/re/merchants/quests_exp_175.txt npc: npc/re/merchants/quivers.txt npc: npc/re/merchants/refine.txt npc: npc/re/merchants/renters.txt diff --git a/npc/re/scripts_warps.conf b/npc/re/scripts_warps.conf index b968e42f39..20a01c3592 100644 --- a/npc/re/scripts_warps.conf +++ b/npc/re/scripts_warps.conf @@ -24,6 +24,7 @@ npc: npc/re/warps/dungeons/amicitia.txt npc: npc/re/warps/dungeons/bra_dun.txt npc: npc/re/warps/dungeons/dic_dun.txt npc: npc/re/warps/dungeons/ecl_dun.txt +npc: npc/re/warps/dungeons/ein_dun.txt npc: npc/re/warps/dungeons/harboro2.txt npc: npc/re/warps/dungeons/iz_dun.txt npc: npc/re/warps/dungeons/mag_dun.txt diff --git a/npc/re/warps/dungeons/ein_dun.txt b/npc/re/warps/dungeons/ein_dun.txt new file mode 100644 index 0000000000..023e5c0afa --- /dev/null +++ b/npc/re/warps/dungeons/ein_dun.txt @@ -0,0 +1,17 @@ +//===== rAthena Script ======================================= +//= Einbroch Warp Script +//===== Changelogs: ========================================== +//= 1.0 First version. [Capuche] +//============================================================ + +ein_dun02,16,250,0 script enter_ein_dun03 WARPNPC,1,1,{ + end; +OnTouch: + if (BaseLevel < 180) { + unittalk getcharid(3), "" + strcharinfo(0) + " : I think the next area needs a bit more training...", bc_self; + end; + } + warp "ein_dun03",268,279; + end; +} +ein_dun03,268,283,0 warp2 out_to_dun02 1,1,ein_dun02,24,250