Initial release of episode 19 - Walkthrough Conversion

This commit is contained in:
Atemo 2024-05-12 15:55:35 +02:00
parent e39fa4b66a
commit 7b816e18fb
29 changed files with 25353 additions and 195 deletions

View File

@ -47,6 +47,8 @@ Body:
Value: 5
- Name: REPUTATION_EP18
Value: 3
- Name: REPUTATION_EP19
Value: 4
Footer:
Imports:

View File

@ -113439,3 +113439,216 @@ Body:
- Index: 2
Item: Enchant_Stone_Box35
Amount: 10
# custom rates
- Group: D_GW_EXTRACTOR
SubGroups:
- SubGroup: 1
List:
- Index: 0
Item: EP19_D_P_Ore
Amount: 1
Rate: 5
- Index: 1
Item: EP19_N_P_Ore
Amount: 1
Rate: 3
- Index: 2
Item: EP19_D_P_Crystal
Amount: 1
Rate: 2
- Index: 3
Item: EP19_N_P_Crystal
Amount: 1
Rate: 1
- Index: 4
Item: EP19_D_P_Stone
Amount: 1
Rate: 1
- Index: 5
Item: EP19_S_F_1_Extract
Amount: 1
Rate: 1
- Index: 6
Item: EP19_S_F_2_Extract
Amount: 1
Rate: 1
- Index: 7
Item: EP19_S_F_3_Extract
Amount: 1
Rate: 1
- Index: 8
Item: EP19_Gla_Extract
Amount: 1
Rate: 1
- Index: 9
Item: Snow_F_Ore
Amount: 1
Rate: 12
- Index: 10
Item: Snow_F_Stone1
Amount: 1
Rate: 5
- Index: 11
Item: Snow_F_Stone2
Amount: 1
Rate: 3
- Index: 12
Item: Snow_F_Stone3
Amount: 1
Rate: 1
- Index: 13
Item: EP19_D_P_Ore
Amount: 2
Rate: 5
- Index: 14
Item: EP19_N_P_Ore
Amount: 2
Rate: 3
- Index: 15
Item: EP19_D_P_Crystal
Amount: 2
Rate: 2
- Index: 16
Item: EP19_N_P_Crystal
Amount: 2
Rate: 1
- Index: 17
Item: EP19_D_P_Stone
Amount: 2
Rate: 1
- Index: 18
Item: EP19_S_F_1_Extract
Amount: 2
Rate: 1
- Index: 19
Item: EP19_S_F_2_Extract
Amount: 2
Rate: 1
- Index: 20
Item: EP19_S_F_3_Extract
Amount: 2
Rate: 1
- Index: 21
Item: EP19_Gla_Extract
Amount: 2
Rate: 1
- Index: 22
Item: Snow_F_Ore
Amount: 2
Rate: 12
- Index: 23
Item: Snow_F_Stone1
Amount: 2
Rate: 5
- Index: 24
Item: Snow_F_Stone2
Amount: 2
Rate: 3
- Index: 25
Item: Snow_F_Stone3
Amount: 2
Rate: 1
- Index: 26
Item: EP19_D_P_Ore
Amount: 3
Rate: 5
- Index: 27
Item: EP19_N_P_Ore
Amount: 3
Rate: 3
- Index: 28
Item: EP19_D_P_Crystal
Amount: 3
Rate: 2
- Index: 29
Item: EP19_N_P_Crystal
Amount: 3
Rate: 1
- Index: 30
Item: EP19_D_P_Stone
Amount: 3
Rate: 1
- Index: 31
Item: EP19_S_F_1_Extract
Amount: 3
Rate: 1
- Index: 32
Item: EP19_S_F_2_Extract
Amount: 3
Rate: 1
- Index: 33
Item: EP19_S_F_3_Extract
Amount: 3
Rate: 1
- Index: 34
Item: EP19_Gla_Extract
Amount: 3
Rate: 1
- Index: 35
Item: Snow_F_Ore
Amount: 3
Rate: 12
- Index: 36
Item: Snow_F_Stone1
Amount: 3
Rate: 5
- Index: 37
Item: Snow_F_Stone2
Amount: 3
Rate: 3
- Index: 38
Item: Snow_F_Stone3
Amount: 3
Rate: 1
- Index: 39
Item: EP19_D_P_Ore
Amount: 4
Rate: 5
- Index: 40
Item: EP19_N_P_Ore
Amount: 4
Rate: 3
- Index: 41
Item: EP19_D_P_Crystal
Amount: 4
Rate: 2
- Index: 42
Item: EP19_N_P_Crystal
Amount: 4
Rate: 1
- Index: 43
Item: EP19_D_P_Stone
Amount: 4
Rate: 1
- Index: 44
Item: EP19_S_F_1_Extract
Amount: 4
Rate: 1
- Index: 45
Item: EP19_S_F_2_Extract
Amount: 4
Rate: 1
- Index: 46
Item: EP19_S_F_3_Extract
Amount: 4
Rate: 1
- Index: 47
Item: EP19_Gla_Extract
Amount: 4
Rate: 1
- Index: 48
Item: Snow_F_Ore
Amount: 4
Rate: 12
- Index: 49
Item: Snow_F_Stone1
Amount: 4
Rate: 5
- Index: 50
Item: Snow_F_Stone2
Amount: 4
Rate: 3
- Index: 51
Item: Snow_F_Stone3
Amount: 4
Rate: 1

View File

@ -4359,110 +4359,110 @@ Body:
- Item: S_Caster_Weapon
- Item: S_Caster_earring
- Item: S_Caster_Pendant
# - Item: Ice_F_Stone_Box2
# RewardGroup: ICE_F_STONE_BOX2
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Ice_F_Stone_Str
# - Item: Ice_F_Stone_Dex
# - Item: Ice_F_Stone_Agi
# - Item: Ice_F_Stone_Int
# - Item: Ice_F_Stone_Vit
# - Item: Ice_F_Stone_luk
# - Item: Ice_F_Stone_Def
# - Item: Ice_F_Stone_Mdef
# - Item: Ice_F_Stone_Ran
# - Item: Ice_F_Stone_War
# - Item: Ice_F_Stone_Mag
# - Item: Ice_F_Stone_R_Reject
# - Item: Ice_F_Stone_Force
# - Item: Ice_F_Stone_S_Delay
# - Item: Ice_F_Stone_Skill_1
# - Item: Ice_F_Stone_Skill_2
# - Item: Ice_F_Stone_Skill_3
# - Item: Ice_F_Stone_Skill_4
# - Item: Ice_F_Stone_Skill_5
# - Item: Ice_F_Stone_Skill_6
# - Item: Ice_F_Stone_Skill_7
# - Item: Ice_F_Stone_Skill_8
# - Item: Ice_F_Stone_Skill_9
# - Item: Ice_F_Stone_Skill_10
# - Item: Ice_F_Stone_Skill_11
# - Item: Ice_F_Stone_Skill_12
# - Item: Ice_F_Stone_Skill_13
# - Item: Ice_F_Stone_Skill_14
# - Item: Ice_F_Stone_Skill_15
# - Item: Ice_F_Stone_Skill_16
# - Item: Ice_F_Stone_Skill_17
# - Item: Ice_F_Stone_Skill_18
# - Item: Ice_F_Stone_Skill_19
# - Item: Ice_F_Stone_Skill_20
# - Item: Ice_F_Stone_Skill_21
# - Item: Ice_F_Stone_Skill_22
# - Item: Ice_F_Stone_Skill_23
# - Item: Ice_F_Stone_Skill_24
# - Item: Ice_F_Stone_Skill_25
# - Item: Ice_F_Stone_Skill_26
# - Item: Ice_F_Stone_Skill_27
# - Item: Ice_F_Stone_Skill_28
# - Item: Ice_F_Stone_Skill_29
# - Item: Ice_F_Stone_Skill_30
# - Item: Ice_F_Stone_Skill_31
# - Item: Ice_F_Stone_Skill_32
# - Item: Ice_F_Stone_Skill_33
# - Item: Ice_F_Stone_Skill_34
# - Item: Ice_F_Stone_Skill_35
# - Item: Ice_F_Stone_Skill_36
# - Item: Ice_F_Stone_Skill_37
# - Item: Ice_F_Stone_Skill_38
# - Item: Ice_F_Stone_Skill_39
# - Item: Ice_F_Stone_Skill_40
# - Item: Ice_F_Stone_Skill_41
# - Item: Ice_F_Stone_Skill_42
# - Item: Ice_F_Stone_Skill_43
# - Item: Ice_F_Stone_Skill_44
# - Item: Ice_F_Stone_Skill_45
# - Item: Ice_F_Stone_Skill_46
# - Item: Ice_F_Stone_Skill_47
# - Item: Ice_F_Stone_Skill_48
# - Item: Ice_F_Stone_Skill_49
# - Item: Ice_F_Stone_Skill_50
# - Item: Ice_F_Stone_Skill_51
# - Item: Ice_F_Stone_Skill_52
# - Item: Ice_F_Stone_Skill_53
# - Item: Ice_F_Stone_Skill_54
# - Item: Ice_F_Stone_Speed
# - Item: Ice_F_Stone_Caster
# - Item: Ice_F_Stone_Critical
# - Item: Ice_F_Stone_Guide
# - Item: Ice_F_Stone_Above
# - Item: Ice_F_Stone_P_Full
# - Item: Ice_F_Stone_M_Counter
# - Item: Ice_F_Stone_Hp
# - Item: Ice_F_Stone_Sp
# - Item: Ice_F_Stone_Heal
# - Item: Ice_F_Stone_Robust
# - Item: Ice_F_Stone_F_Cast
# - Item: Ice_F_Stone_M_F
# - Item: Ice_F_Stone_P_F
# - Item: Ice_F_Stone_Un_Vit
# - Item: Ice_F_Stone_Sp_Int
# - Item: Ice_F_Stone_Fi_Dex
# - Item: Ice_F_Stone_Ov_Str
# - Item: Ice_F_Stone_Fa_Agi
# - Item: Ice_F_Stone_Lu_Luk
# - Item: Ice_F_Stone_A_Delay
# - Item: Ice_F_Stone_E_Archer
# - Item: Ice_F_Stone_Fatal
# - Item: Ice_F_Stone_F_Spirit
# - Item: Ice_F_Stone_Spell
# - Item: Ice_F_Stone_HealHP
# - Item: Ice_F_Stone_HealSP
# - Item: Ice_F_Stone_Life
# - Item: Ice_F_Stone_Soul
# - Item: Ice_F_Stone_M_Heal
# - Item: Ice_F_Stone_M_Soul
# - Item: Ice_F_Stone_A_Force
- Item: Ice_F_Stone_Box2
RewardGroup: ICE_F_STONE_BOX
RequiredRequirementsCount: 3
Requirements:
- Item: Ice_F_Stone_Str
- Item: Ice_F_Stone_Dex
- Item: Ice_F_Stone_Agi
- Item: Ice_F_Stone_Int
- Item: Ice_F_Stone_Vit
- Item: Ice_F_Stone_luk
- Item: Ice_F_Stone_Def
- Item: Ice_F_Stone_Mdef
- Item: Ice_F_Stone_Ran
- Item: Ice_F_Stone_War
- Item: Ice_F_Stone_Mag
- Item: Ice_F_Stone_R_Reject
- Item: Ice_F_Stone_Force
- Item: Ice_F_Stone_S_Delay
- Item: Ice_F_Stone_Skill_1
- Item: Ice_F_Stone_Skill_2
- Item: Ice_F_Stone_Skill_3
- Item: Ice_F_Stone_Skill_4
- Item: Ice_F_Stone_Skill_5
- Item: Ice_F_Stone_Skill_6
- Item: Ice_F_Stone_Skill_7
- Item: Ice_F_Stone_Skill_8
- Item: Ice_F_Stone_Skill_9
- Item: Ice_F_Stone_Skill_10
- Item: Ice_F_Stone_Skill_11
- Item: Ice_F_Stone_Skill_12
- Item: Ice_F_Stone_Skill_13
- Item: Ice_F_Stone_Skill_14
- Item: Ice_F_Stone_Skill_15
- Item: Ice_F_Stone_Skill_16
- Item: Ice_F_Stone_Skill_17
- Item: Ice_F_Stone_Skill_18
- Item: Ice_F_Stone_Skill_19
- Item: Ice_F_Stone_Skill_20
- Item: Ice_F_Stone_Skill_21
- Item: Ice_F_Stone_Skill_22
- Item: Ice_F_Stone_Skill_23
- Item: Ice_F_Stone_Skill_24
- Item: Ice_F_Stone_Skill_25
- Item: Ice_F_Stone_Skill_26
- Item: Ice_F_Stone_Skill_27
- Item: Ice_F_Stone_Skill_28
- Item: Ice_F_Stone_Skill_29
- Item: Ice_F_Stone_Skill_30
- Item: Ice_F_Stone_Skill_31
- Item: Ice_F_Stone_Skill_32
- Item: Ice_F_Stone_Skill_33
- Item: Ice_F_Stone_Skill_34
- Item: Ice_F_Stone_Skill_35
- Item: Ice_F_Stone_Skill_36
- Item: Ice_F_Stone_Skill_37
- Item: Ice_F_Stone_Skill_38
- Item: Ice_F_Stone_Skill_39
- Item: Ice_F_Stone_Skill_40
- Item: Ice_F_Stone_Skill_41
- Item: Ice_F_Stone_Skill_42
- Item: Ice_F_Stone_Skill_43
- Item: Ice_F_Stone_Skill_44
- Item: Ice_F_Stone_Skill_45
- Item: Ice_F_Stone_Skill_46
- Item: Ice_F_Stone_Skill_47
- Item: Ice_F_Stone_Skill_48
- Item: Ice_F_Stone_Skill_49
- Item: Ice_F_Stone_Skill_50
- Item: Ice_F_Stone_Skill_51
- Item: Ice_F_Stone_Skill_52
- Item: Ice_F_Stone_Skill_53
- Item: Ice_F_Stone_Skill_54
- Item: Ice_F_Stone_Speed
- Item: Ice_F_Stone_Caster
- Item: Ice_F_Stone_Critical
- Item: Ice_F_Stone_Guide
- Item: Ice_F_Stone_Above
- Item: Ice_F_Stone_P_Full
- Item: Ice_F_Stone_M_Counter
- Item: Ice_F_Stone_Hp
- Item: Ice_F_Stone_Sp
- Item: Ice_F_Stone_Heal
- Item: Ice_F_Stone_Robust
- Item: Ice_F_Stone_F_Cast
- Item: Ice_F_Stone_M_F
- Item: Ice_F_Stone_P_F
- Item: Ice_F_Stone_Un_Vit
- Item: Ice_F_Stone_Sp_Int
- Item: Ice_F_Stone_Fi_Dex
- Item: Ice_F_Stone_Ov_Str
- Item: Ice_F_Stone_Fa_Agi
- Item: Ice_F_Stone_Lu_Luk
- Item: Ice_F_Stone_A_Delay
- Item: Ice_F_Stone_E_Archer
- Item: Ice_F_Stone_Fatal
- Item: Ice_F_Stone_F_Spirit
- Item: Ice_F_Stone_Spell
- Item: Ice_F_Stone_HealHP
- Item: Ice_F_Stone_HealSP
- Item: Ice_F_Stone_Life
- Item: Ice_F_Stone_Soul
- Item: Ice_F_Stone_M_Heal
- Item: Ice_F_Stone_M_Soul
- Item: Ice_F_Stone_A_Force
- Item: R_BearersShadow_Mix
RewardGroup: R_BEARERSSHADOW_MIX
RequiredRequirementsCount: 6
@ -4812,3 +4812,33 @@ Body:
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
- Item: D_Gw_Extractor
RewardGroup: D_GW_EXTRACTOR
RequiredRequirementsCount: 3
Requirements:
- Item: D_Glacier_T_Sword
- Item: D_Glacier_Lance
- Item: D_Glacier_Sword
- Item: D_Glacier_B_Sword
- Item: D_Glacier_Spear
- Item: D_Glacier_T_Axe
- Item: D_Glacier_Axe
- Item: D_Glacier_Mace
- Item: D_Glacier_M_Mace
- Item: D_Glacier_R_Knife
- Item: D_Glacier_B_Knife
- Item: D_Glacier_Bow
- Item: D_Glacier_Knuckle
- Item: D_Glacier_Book
- Item: D_Glacier_Katar
- Item: D_Glacier_Wand
- Item: D_Glacier_Staff
- Item: D_Glacier_Foxtail
- Item: D_Glacier_Violin
- Item: D_Glacier_Whip
- Item: D_Glacier_Humma
- Item: D_Glacier_Revolver
- Item: D_Glacier_Rifle
- Item: D_Glacier_Shotgun
- Item: D_Glacier_Gatling
- Item: D_Glacier_Launcher

File diff suppressed because it is too large Load Diff

View File

@ -3254,6 +3254,58 @@ Body:
Title: Gathering Half Flower
- Id: 5941
Title: Gathering Half Flower
- Id: 5972
Title: Eagle Patrol
- Id: 5973
Title: "[Standby] Patrol with Iwin"
TimeLimit: 4h
- Id: 5974
Title: Patrol with Iwin (1)
- Id: 5975
Title: Patrol with Iwin (2)
- Id: 5976
Title: Supplier Goror
- Id: 5977
Title: "[Standby] Do not feed"
TimeLimit: 4h
- Id: 5978
Title: Do not feed me (1)
- Id: 5979
Title: Do not feed me (2)
- Id: 5980
Title: Secret fun
- Id: 5981
Title: "[Standby] Secret Fun"
TimeLimit: 4h
- Id: 5982
Title: Secret fun
- Id: 5983
Title: Test Subject 210426 Encounter
- Id: 5984
Title: Rgan Transformation Scroll
- Id: 5985
Title: "[Standby] Lunch menu selection"
TimeLimit: 4h
- Id: 5986
Title: Lunch's menu selection
- Id: 5987
Title: Lunch's menu selection
- Id: 5988
Title: Lunch's menu selection
- Id: 5989
Title: Lunch's menu selection
- Id: 5990
Title: Lunch's menu selection
- Id: 5991
Title: Lunch's menu selection
- Id: 5992
Title: Lunch's menu selection
- Id: 5993
Title: Lunch's menu selection
- Id: 5994
Title: Lunch's menu selection
- Id: 5995
Title: Lunch's menu selection
- Id: 6000
Title: Job Change to Taekwon
- Id: 6001
@ -6416,6 +6468,64 @@ Body:
- Id: 8738
Title: Shared Memories - Standby
TimeLimit: 4h
- Id: 8784
Title: Help Moryara Fishing
Targets:
- Mob: EP19_SHINING_SEAWEED
Count: 20
- Id: 8785
Title: Moryara's Fishing Help - Standby
TimeLimit: 4h
- Id: 8786
Title: Help Moryara Fishing
Targets:
- Mob: EP19_SHINING_SEAWEED
Count: 20
- Id: 8787
Title: Lunch time with Zoryara
- Id: 8788
Title: Happy Lunch with Zoryara - Standby
TimeLimit: 4h
- Id: 8789
Title: Lunch time with Zoryara
- Id: 8790
Title: Priest, have mercy?
- Id: 8791
Title: Priest, have mercy? - Wait
TimeLimit: 4h
- Id: 8792
Title: Priest, have mercy??
- Id: 8793
Title: Things to ask
- Id: 8794
Title: Old Snake
- Id: 8795
Title: Doctrine and Preaching
- Id: 8796
Title: You're the first girl I've ever seen
Targets:
- Mob: EP19_RGAN_A
Count: 20
- Id: 8797
Title: Rgan to work-Standby
TimeLimit: 4h
- Id: 8798
Title: Rgan to make work
Targets:
- Mob: EP19_RGAN_A
Count: 20
- Id: 8799
Title: Hatchery's Rgan (1)
- Id: 8800
Title: Hatchery's Rgan (2)
- Id: 8801
Title: Hatchery's Rgan (3)
- Id: 8802
Title: The 1st Rgan in the Hatchery
- Id: 8803
Title: Hatchery's 2nd Rgan
- Id: 8804
Title: The 3rd Rgan in the Hatchery
- Id: 9000
Title: Job Change to Knight
- Id: 9001
@ -8295,6 +8405,356 @@ Body:
- Id: 11739
Title: Maze of Oz Level 2 (200lv)
TimeLimit: 4h
- Id: 11794
Title: The Lady of Purification
- Id: 11795
Title: The Lady of Purification
- Id: 11796
Title: The Lady of Purification
- Id: 11797
Title: The Lady of Purification
- Id: 11798
Title: The Lady of Purification
- Id: 11799
Title: The Lady of Purification
- Id: 11800
Title: The Lady of Purification
- Id: 11801
Title: The Lady of Purification
- Id: 11802
Title: The Lady of Purification
- Id: 11803
Title: The Lady of Purification
- Id: 11804
Title: The Lady of Purification
- Id: 11805
Title: The Lady of Purification
- Id: 11806
Title: The Lady of Purification
- Id: 11807
Title: The Lady of Purification
- Id: 11808
Title: The Lady of Purification
- Id: 11809
Title: The Lady of Purification
- Id: 11810
Title: The Lady of Purification
- Id: 11811
Title: The Lady of Purification
- Id: 11812
Title: Friederike's Day
- Id: 11813
Title: Friederike's Day
Targets:
- Mob: EP19_RGAN_A
Count: 10
- Mob: EP19_RGAN_B
Count: 10
Drops:
- Mob: EP19_RGAN_A
Item: Ep19_Rgan_Core
Rate: 5000
- Mob: EP19_RGAN_B
Item: Ep19_Rgan_Core
Rate: 5000
- Id: 11814
Title: Friederike's Day - Standby
TimeLimit: 4h
- Id: 11815
Title: Frozen Sea
- Id: 11816
Title: Frozen Sea
- Id: 11817
Title: Frozen Sea
- Id: 11818
Title: Frozen Sea
- Id: 11819
Title: Frozen Sea
- Id: 11820
Title: Frozen Sea
- Id: 11821
Title: Frozen Sea
- Id: 11822
Title: Frozen Sea
Targets:
- Id: 1
Count: 10
Location: jor_back2
MapMobTargets:
EP19_UNFROST_FLOWER: true
EP19_ICE_GANGU: true
EP19_ICE_STRAW: true
EP19_LIMACINA: true
Drops:
- Mob: EP19_UNFROST_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ICE_GANGU
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ICE_STRAW
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_LIMACINA
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11823
Title: Frozen Sea
- Id: 11824
Title: Frozen Sea
- Id: 11825
Title: Frozen Sea
Targets:
- Id: 1
Count: 5
Location: jor_ab01
MapMobTargets:
EP19_WASTED_RGAN_A: true
EP19_CAVE_CALMARING: true
EP19_CAVE_FLOWER: true
EP19_HALLUCIGENIA_BABY: true
EP19_RE_RGAN_E: true
Drops:
- Mob: EP19_WASTED_RGAN_A
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_CALMARING
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA_BABY
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_RE_RGAN_E
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11826
Title: Frozen Sea
Targets:
- Id: 1
Count: 5
Location: jor_ab01
MapMobTargets:
EP19_WASTED_RGAN_A: true
EP19_CAVE_CALMARING: true
EP19_CAVE_FLOWER: true
EP19_HALLUCIGENIA_BABY: true
EP19_RE_RGAN_E: true
Drops:
- Mob: EP19_WASTED_RGAN_A
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_CALMARING
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA_BABY
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_RE_RGAN_E
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11827
Title: Frozen Sea
Targets:
- Id: 1
Count: 5
Location: jor_ab01
MapMobTargets:
EP19_WASTED_RGAN_A: true
EP19_CAVE_CALMARING: true
EP19_CAVE_FLOWER: true
EP19_HALLUCIGENIA_BABY: true
EP19_RE_RGAN_E: true
Drops:
- Mob: EP19_WASTED_RGAN_A
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_CALMARING
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA_BABY
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_RE_RGAN_E
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11828
Title: Frozen Sea
Targets:
- Id: 1
Count: 10
Location: jor_ab02
MapMobTargets:
EP19_WASTED_RGAN_C: true
EP19_HALLUCIGENIA: true
EP19_ONE_EYE_DOLLOCARIS: true
EP19_DOLLOCARIS: true
EP19_ET_RGAN_D: true
Drops:
- Mob: EP19_WASTED_RGAN_C
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ONE_EYE_DOLLOCARIS
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_DOLLOCARIS
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ET_RGAN_D
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11829
Title: Frozen Sea
- Id: 11830
Title: Abandoned Pit
- Id: 11831
Title: A place that deserves to be abandoned
Targets:
- Id: 1
Count: 40
Location: jor_ab01
MapMobTargets:
EP19_WASTED_RGAN_A: true
EP19_CAVE_CALMARING: true
EP19_CAVE_FLOWER: true
EP19_HALLUCIGENIA_BABY: true
EP19_RE_RGAN_E: true
Drops:
- Mob: EP19_WASTED_RGAN_A
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_CALMARING
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_CAVE_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA_BABY
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_RE_RGAN_E
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11832
Title: Place to be abandoned (1) - Standby
TimeLimit: 4h
- Id: 11833
Title: A place that deserves to be abandoned
Targets:
- Id: 1
Count: 40
Location: jor_ab02
MapMobTargets:
EP19_WASTED_RGAN_C: true
EP19_HALLUCIGENIA: true
EP19_ONE_EYE_DOLLOCARIS: true
EP19_DOLLOCARIS: true
EP19_ET_RGAN_D: true
Drops:
- Mob: EP19_WASTED_RGAN_C
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_HALLUCIGENIA
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ONE_EYE_DOLLOCARIS
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_DOLLOCARIS
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ET_RGAN_D
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11834
Title: Place to be Abandoned (2) - Standby
TimeLimit: 4h
- Id: 11835
Title: Digging and Digging
- Id: 11836
Title: Digging and Digging
- Id: 11837
Title: Digging and Digging
- Id: 11838
Title: Digging and Digging
- Id: 11839
Title: Digging and Digging
- Id: 11840
Title: Digging and Digging
- Id: 11841
Title: Digging and Digging
- Id: 11842
Title: Digging and Digging
- Id: 11843
Title: Digging and Digging
- Id: 11844
Title: Digging and Digging
- Id: 11845
Title: Digging and Digging
- Id: 11846
Title: Digging and Digging
- Id: 11847
Title: Digging and Digging
- Id: 11848
Title: Digging and Digging
- Id: 11849
Title: Digging and Digging
- Id: 11850
Title: Digging and Digging - Standby
TimeLimit: 4h
- Id: 11851
Title: Do you need a refrigerator?
- Id: 11852
Title: Do you need a refrigerator?
Targets:
- Id: 1
Count: 20
Location: jor_back2
MapMobTargets:
EP19_UNFROST_FLOWER: true
EP19_ICE_GANGU: true
EP19_ICE_STRAW: true
EP19_LIMACINA: true
Drops:
- Mob: EP19_UNFROST_FLOWER
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ICE_GANGU
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_ICE_STRAW
Item: Ep19_Ice_Meat
Rate: 5000
- Mob: EP19_LIMACINA
Item: Ep19_Ice_Meat
Rate: 5000
- Id: 11853
Title: Do you need a refrigerator? - Standby
TimeLimit: 4h
- Id: 11854
Title: Crunchy Tools
- Id: 11855
Title: Crunchy Tools
- Id: 11856
Title: Crunchy Tools
- Id: 11857
Title: Crunchy Tools
- Id: 11858
Title: Crunchy Tools
- Id: 11859
Title: Crunchy Tools - Standby
TimeLimit: 4h
- Id: 12000
Title: An old friend
- Id: 12001
@ -9359,6 +9819,14 @@ Body:
Title: The Scattered Luggage (East)
- Id: 12539
Title: Scattered Luggage (South)
- Id: 12560
Title: Standby: Neutralizing Aircraft
TimeLimit: 4h
- Id: 12561
Title: Disable the Core
Targets:
- Mob: EP19_MD_AQUILA
Count: 1
- Id: 13000
Title: RWC2011Card Gathering
- Id: 13001
@ -11590,6 +12058,69 @@ Body:
Title: The Price of Labor
- Id: 16585
Title: The Price of Labor
- Id: 16636
Title: Looking for clues - Juncea's Lab
- Id: 16637
Title: Find Clues - Bagot's Lab
- Id: 16638
Title: Find Clues - Rgan Guard
- Id: 16639
Title: Juncea's Lab
- Id: 16640
Title: Juncea's Lab
- Id: 16641
Title: Laboratory of Bagot
- Id: 16642
Title: Laboratory of Bagot
- Id: 16643
Title: Rgan Guard
- Id: 16644
Title: Rgan Guard
- Id: 16645
Title: Share the clue
- Id: 16646
Title: Infiltrate without a sound
- Id: 16647
Title: Infiltrate without a sound
- Id: 16648
Title: Infiltrate without a sound
- Id: 16649
Title: Infiltrate without a sound
- Id: 16650
Title: Infiltrate without a sound
- Id: 16651
Title: Infiltrate without a sound
- Id: 16652
Title: Infiltrate without a sound
- Id: 16653
Title: The Doubts That Build Up
- Id: 16654
Title: The Doubts That Build Up
- Id: 16655
Title: Intermittent difference
- Id: 16656
Title: Intermittent difference
- Id: 16657
Title: Intermittent difference
- Id: 16658
Title: Intermittent difference
- Id: 16659
Title: Intermittent difference
- Id: 16660
Title: Intermittent difference
Targets:
- Mob: EP19_MD_JUNCEA
Count: 1
- Id: 16661
Title: Intermittent difference
- Id: 16662
Title: Simulation Battle
Targets:
- Mob: EP19_MD_JUNCEA_S
Count: 1
- Id: 16663
Title: Simulation Battle-Standby
TimeLimit: 4h
- Id: 17000
Title: Meet with Father Bamph
- Id: 17001
@ -11912,6 +12443,96 @@ Body:
- Id: 17566
Title: (Standby) Code name! Is it a star button?
TimeLimit: 4h
- Id: 17619
Title: Lazy's Plan
- Id: 17620
Title: Infiltrating the Snake's Nest
- Id: 17621
Title: Infiltrating the Snake's Nest
- Id: 17622
Title: Infiltrating the Snake's Nest
- Id: 17623
Title: Infiltrating the Snake's Nest
- Id: 17624
Title: Infiltrating the Snake's Nest
- Id: 17625
Title: Infiltrating the Snake's Nest
- Id: 17626
Title: Infiltrating the Snake's Nest
- Id: 17627
Title: Infiltrating the Snake's Nest
- Id: 17628
Title: Infiltrating the Snake's Nest
- Id: 17629
Title: Infiltrating the Snake's Nest
- Id: 17630
Title: Infiltrating the Snake's Nest
- Id: 17631
Title: Infiltrating the Snake's Nest
- Id: 17632
Title: Interim Report of Infiltration Operation
- Id: 17633
Title: Interim Report of Infiltration Operation
- Id: 17634
Title: Interim Report of Infiltration Operation
- Id: 17635
Title: Interim Report of Infiltration Operation
- Id: 17636
Title: Interim Report of Infiltration Operation
- Id: 17637
Title: Operation of Aircraft Destruction
- Id: 17638
Title: Vulnerability Investigation
- Id: 17639
Title: Accompanying Reconnaissance Report
- Id: 17640
Title: The Confused Snake's Nest
- Id: 17641
Title: The Confused Snake's Nest
- Id: 17642
Title: The Confused Snake's Nest
- Id: 17643
Title: The Confused Snake's Nest
- Id: 17644
Title: The Confused Snake's Nest
- Id: 17645
Title: The Confused Snake's Nest
- Id: 17646
Title: The Confused Snake's Nest
- Id: 17647
Title: The Confused Snake's Nest
- Id: 17648
Title: The Confused Snake's Nest
- Id: 17649
Title: Those who disappeared
- Id: 17650
Title: Finding an underground hideout on the ground
- Id: 17651
Title: Finding an underground hideout on the ground
- Id: 17652
Title: Finding an underground hideout on the ground
- Id: 17653
Title: Finding an underground hideout on the ground
- Id: 17654
Title: Finding an underground hideout on the ground
- Id: 17655
Title: Finding an underground hideout on the ground
- Id: 17656
Title: Finding an underground hideout on the ground
- Id: 17657
Title: Finding an underground hideout on the ground
- Id: 17658
Title: Finding an underground hideout on the ground
- Id: 17659
Title: Finding an underground hideout on the ground
- Id: 17660
Title: Finding an underground hideout on the ground
- Id: 17661
Title: Standby: Finding an Underground Hideout on the Ground
TimeLimit: 4h
- Id: 17662
Title: Standby: Finding an Underground Hideout on the Ground
TimeLimit: 4h
- Id: 18000
Title: Ready to enter
- Id: 18001
@ -12090,11 +12711,72 @@ Body:
- Id: 18118
Title: Mysterious Musical Instrument
- Id: 18119
Title: Gusli
Title: The Guest Who Ride the North Wind 1
- Id: 18120
Title: Gusli
Title: Guest from the North Wind 2
- Id: 18121
Title: Shafka
Title: Guardian's Chest and Invitation 1
- Id: 18122
Title: Guardian's Box and Invitation 2
- Id: 18123
Title: Guardian's Box and Invitation 3
- Id: 18124
Title: Guardian's Chest and Invitation 5
- Id: 18125
Title: To the Ice Castle
- Id: 18126
Title: Meeting the Ice Castle
- Id: 18127
Title: Let's meet the Iwin Scouts.
- Id: 18128
Title: Let's meet Boclind.
- Id: 18129
Title: Guardian's Chest and Invitation 4
- Id: 18130
Title: Procurement of research materials for Belgund
- Id: 18131
Title: Procurement of research materials for Belgund - Standby
TimeLimit: 4h
- Id: 18132
Title: I need someone.
- Id: 18133
Title: Leon's Story
- Id: 18134
Title: Search for the Displaced - Frozen Glacier
- Id: 18135
Title: Searching for the Lost - Frozen Plains
- Id: 18136
Title: Complete rescue of survivors
- Id: 18137
Title: Search for survivors - Standby
TimeLimit: 4h
- Id: 18138
Title: Special way to survive
Targets:
- Mob: EP19_RGAN_A
Count: 10
- Mob: EP19_RGAN_B
Count: 10
- Id: 18139
Title: Our precious food
- Id: 18140
Title: Our precious food - Standby
TimeLimit: 4h
- Id: 18141
Title: A noble hobby
- Id: 18142
Title: A noble hobby - Standby
TimeLimit: 4h
- Id: 18143
Title: For Safe Work
Targets:
- Mob: EP19_LIMACINA
Count: 20
- Mob: EP19_CALMARING
Count: 20
- Id: 18144
Title: For Safe Work - Standby
TimeLimit: 4h
- Id: 19001
Title: The earth where the flowers have blossomed - Waiting
TimeLimit: 4h

View File

@ -15918,6 +15918,15 @@ Body:
- Level: 5
Time: 350000
FixedCastTime: 1000
- Id: 578
Name: DE_BERSERKAIZER # TODO: effect? The skill is only used to display a visual effect for now
Description: Berserkaizer
MaxLevel: 1
TargetType: Self
DamageFlags:
NoDamage: true
HitCount: 1
Duration1: -1
- Id: 653
Name: NPC_EARTHQUAKE
Description: Earthquake

View File

@ -118,7 +118,23 @@ is disabled in '/conf/battle/items.conf'.
*nomvploot
Disables normal monsters and MVPs from dropping items on a map. Looted items will always drop.
'noloot' is the same as 'nomobloot' and 'nomvploot' combined.
'nomobloot' prevents monsters and MVPs from dropping items from the 'Drops' table.
'nomvploot' prevents MVPs from giving MVP prize items from the 'MvpDrops' table.
'noloot' is the same as 'nomobloot' and 'nomvploot' combined.
---------------------------------------
*nolootnormalmob
Disables normal monsters type (only) from dropping items on a map. Looted items will always drop.
---------------------------------------
*no_npc_selfdestruction_on_all
A quick mapflag to change the behaviour of the NPC_SELFDESTRUCTION skill.
When defined, the skill always and only hits enemy type instead of all units.
---------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,489 @@
//===== rAthena Script =======================================
//= 2 Instances:
// - Bagot Laboratory
// - Simulation Battle
//===== Description: =========================================
//- [Walkthrough conversion]
//- Instance of episode 19 (same map).
//===== Changelogs: ==========================================
//= 1.0 First version. [Atemo]
//============================================================
// Bagot Laboratory
// ------------------------------
// Main Quest: Step 58
jor_dun03,57,63,3 script(CLOAKED) Juncea#ep19re2 4_EP19_JUNCEA,{
if (ep19_main == 49) { // Step 58
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Oh, I want to talk to you alone. Are you okay?";
next;
cutin "",255;
mes "- ^0000ffLet's have a party of 1 and listen to Juncea's story.^000000 -";
erasequest 16659;
setquest 16660;
ep19_main = 50;
close;
}
if (ep19_main == 50) {
if (is_party_leader() == false) {
mes "[Juncea]";
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
close;
}
.@md_name$ = "Bagot Laboratory";
switch( select( "Prepare to enter " + .@md_name$, "Enter " + .@md_name$ ) ) {
case 1:
if (is_party_leader() == false) {
mes "[Juncea]";
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
close;
}
mes "- ^0000ffPreparation for entry has started. After you are ready, press the button to enter " + .@md_name$ + ".^000000 -";
instance_create(.@md_name$);
close;
case 2:
if (is_party_leader() == false) {
mes "[Juncea]";
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
close;
}
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "An unknown error occurred.";
close;
case IE_NOINSTANCE:
mes "- ^0000ffMemorial dungeon not created. Please check again.^000000 -";
close;
case IE_NOMEMBER:
mes "[Juncea]";
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
close;
case IE_OK:
// warp "1@jorlab",57,45;
end;
}
end;
}
end;
}
end;
OnInit:
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16659) == 1" );
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16660) == 1" );
end;
}
1@jorlab,1,1,0 script #jorlab_main -1,{
end;
OnInstanceInit:
'map_jorlab$ = instance_mapname("1@jorlab");
'event = 0;
.@md_name$ = "Bagot Laboratory";
disablenpc instance_npcname("Juncea#ep19re4");
if (instance_live_info(ILI_NAME) == .@md_name$) // MD "Bagot Laboratory"
disablenpc instance_npcname("Summon Device#ep19re1");
else { // MD "Simulation"
disablenpc instance_npcname("#jorlab_hw1");
disablenpc instance_npcname("Juncea#ep19re3");
}
end;
}
1@jorlab,58,45,0 script #jorlab_hw1 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
disablenpc();
if (ep19_main == 50) {
if ('event != 0)
end;
if (is_party_leader() == false)
end;
enablenpc instance_npcname("Juncea#ep19re3");
end;
}
end;
}
// Main Quest: Step 59
1@jorlab,58,67,3 script Juncea#ep19re3 4_EP19_JUNCEA,{
if (ep19_main != 50)
end;
if (is_party_leader() == false)
end;
.@npc_name$ = instance_npcname("Juncea#ep19re3");
if ('event == 0) {
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Oh, I'm here. Welcome.";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "Why do you want it to be just the two of us?";
mes "Although, I had some questions for you too.";
next;
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Oh, I thought so.";
mes "But listen to me first.";
next;
mes "[Juncea]";
mes "You are in a lot of trouble.";
mes "It must be hard to be someone you're not.";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "What do you mean? What's wrong? You're a bit strange. You scare me.";
next;
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "What are you afraid of? You've done a good job of pretending to be friendly so far. Why are you suddenly acting scared again?";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "I didn't pretend to be friendly. I really want to become friends with you.";
next;
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Whoa, that's why you were so hard on me to gossip about Bagot? It's a good way, it's a good way.";
mes "There is no faster way to make friends than to curse the same person.";
next;
mes "[Juncea]";
mes "However, you chose the wrong opponent. Idiot.";
next;
mes "[Juncea]";
mes "The great... Bagot, do you think you will... fall for such a shallow... masterpiece?";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "Are you the great Bagot?";
next;
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Yeah... It's already reading your thoughts...";
next;
mes "[Juncea]";
mes "You know... you're trying to... use me.";
next;
mes "[Juncea]";
mes "So I...";
next;
mes "[Juncea]";
mes "I am... Who am I? This is...";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "(Juncea is weird..., did Bagot do something?)";
next;
cutin "ep19_juncea04.png",2;
mes "[Juncea]";
mes "Even if I jumped... you're already in Bagot's palm.";
next;
cutin "ep19_juncea00.png",1;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
mes "[Juncea]";
mes "Here... I'll take care of it...!";
next;
cutin "",255;
mes "[" + strcharinfo(0) + "]";
mes "(...I don't have time to ask anyone for help! I have to do that myself!)";
if ('event == 0)
'event = 1;
close;
}
if ('event == 1) {
cutin "ep19_juncea04.png",2;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
mes "[Juncea]";
mes "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah!";
next;
cutin "ep19_juncea00.png",1;
sleep2 500;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
mes "[Juncea]";
mes "Everything is... Bagot's... Meaning...!";
next;
cutin "ep19_juncea04.png",2;
sleep2 500;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
mes "[Juncea]";
mes "Aaaaaaah!";
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
sleep2 500;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
next;
cutin "ep19_juncea00.png",1;
sleep2 500;
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
mes "[Juncea]";
mes "As intended... I will punish you!";
close2;
cutin "",255;
if ('event != 1)
end;
'event = 2;
disablenpc();
donpcevent instance_npcname("jorlab_boss") + "::OnStart";
end;
}
end;
}
1@jorlab,1,1,0 script jorlab_boss -1,{
end;
OnStart:
sleep 500;
monster 'map_jorlab$,58,67,"--ja--",21532,1, instance_npcname("jorlab_boss") + "::OnMobDead"; // EP19_MD_JUNCEA
end;
OnMobDead:
if ('event != 2)
end;
'event = 3;
enablenpc instance_npcname("Juncea#ep19re4");
end;
}
// Main Quest: Step 60
1@jorlab,58,67,3 script Juncea#ep19re4 4_EP19_JUNCEA_D,{
if (ep19_main != 50) {
warp "icecastle",27,123;
end;
}
if ('event != 3)
end;
if (is_party_leader() == false)
end;
mes "[" + strcharinfo(0) + "]";
mes "(Barely subdued. Juncea lost her mind...)";
next;
mes "[" + strcharinfo(0) + "]";
mes "(Bagot... What did you do to Juncea? You've turned her into a monster right?)";
next;
mes "[" + strcharinfo(0) + "]";
mes "(If everything went according to plan, we should have persuaded her and taken her out, but we should have taken her out even in this condition.)";
mapannounce 'map_jorlab$, "Bagot: Oh, it was not enough to use Juncea as a vessel.", bc_map, 0xFFFF;
next;
mes "[" + strcharinfo(0) + "]";
mes "(I used the Ragan Transformation Scroll on Juncea as I had planned...)";
mapannounce 'map_jorlab$, "Bagot: This time, my prediction was wrong.", bc_map, 0xFFFF;
next;
setnpcdisplay( instance_npcname("Juncea#ep19re4"), 4_EP19_RGAN_R1 );
mes "[" + strcharinfo(0) + "]";
mes "(For now, let's take her back to the village.)";
mapannounce 'map_jorlab$, "Bagot: By the way, there were scrolls like that... I knew they were cheating, but the existence of such a thing is interesting.", bc_map, 0xFFFF;
next;
mes "[" + strcharinfo(0) + "]";
mes "(I think I heard something... I must have heard it wrong?)";
mapannounce 'map_jorlab$, "Bagot: Whoops.", bc_map, 0xFFFF;
erasequest 16660;
setquest 16661;
ep19_main = 51;
close2;
warp "icecastle",27,123;
end;
OnInstanceInit:
questinfo( QTYPE_QUEST, QMARK_NONE, "checkquest(16660,HUNTING) == 2" );
end;
}
// Simulation Battle
// ------------------------------
jor_nest,66,260,3 script Arolong#ep19re2 4_EP19_IWIN,{
if (ep19_main < 100)
end;
if (checkweight(1000811,1) == 0) {
mes "[Arolong]";
mes "- Your bag is full. Please check the weight and quantity of items you have and then talk to us again. -";
close;
}
switch( checkquest(16663,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Arolong]";
mes "Today's challenge is over.";
mes "If you come back tomorrow, please let me in.";
next;
mes "[Arolong]";
mes "Okay?";
mes "Have a good rest, see you again tomorrow.";
close;
case 2:
erasequest 16663;
break;
}
if (checkquest(16662,HUNTING) == 2) {
mes "[Arolong]";
mes "Societyless Simulation with Juncea";
mes "Did you win a fight and come back?";
next;
mes "[Arolong]";
mes "Child, it's okay if you don't answer.";
mes "I've seen it all here.";
next;
mes "[Arolong]";
mes "Well done.";
mes "It's a great win and come back.";
next;
mes "[Arolong]";
mes "The data are paired, so our researchers also";
mes "Your calf.";
mes "Then, please accept the promised reward.";
next;
mes "[Arolong]";
mes "Have a good rest, see you again tomorrow.";
mes "I'll try again tomorrow.";
close2;
erasequest 16662;
setquest 16663;
getitem 1000811,1; // Snow_F_Ore
// todo
end;
}
// Note: Player can re-enter / re-create an instance until the boss is defeated
cutin "ep19_iwin01.png",2;
mes "[Arolong]";
mes "The battle with Juncea wasn't thrilling, wasn't it?";
mes "You want to fight again, don't you think?";
next;
cutin "",255;
if (select( "Lift", "Don't lift" ) == 2) {
cutin "ep19_iwin01.png",2;
mes "[Arolong]";
mes "Is that so?";
mes "I'm sorry.";
close3;
}
cutin "ep19_iwin01.png",2;
mes "[Arolong]";
mes "It was prepared for such an adventurer.";
mes "Exciting simulation battles with simulation data Juncea.";
next;
mes "[Arolong]";
mes "I prepared it at the Ice Castle, so it's safe.";
mes "Defeat " + getmonsterinfo("EP19_MD_JUNCEA_S", MOB_NAME) + " once a day.";
next;
mes "[Arolong]";
mes "But you can try again and again until you defeat it.";
mes "Would you like to try it?";
next;
.@md_name$ = "Simulation Battle";
if (is_party_leader() == true)
.@menu$ = "Prepare to enter Bagot's lab";
cutin "",255;
switch( select( .@menu$, "Enter Bagot's Lab", "Do not challenge" ) ) {
case 1:
mes "- ^0000ff Preparation for entry has started. After you are ready, press the button to enter the lab in Bagot.^000000 -";
instance_create(.@md_name$);
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "An unknown error occurred.";
close;
case IE_NOINSTANCE:
mes "- ^0000ff Memorial dungeon not created. Please check again.^000000 -";
close;
case IE_NOMEMBER:
mes "[Juncea]";
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
close;
case IE_OK:
if (isbegin_quest(16662) == 0)
setquest 16662;
// warp "1@jorlab",57,45;
end;
}
end;
case 3:
cutin "ep19_iwin01.png",2;
mes "[Arolong]";
mes "Heh, what a boring adventure.";
close3;
}
end;
OnInit:
cloakonnpc();
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep19_main >= 100 && checkquest(16662,HUNTING) != 2 && checkquest(16663,PLAYTIME) == -1" );
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(16663,PLAYTIME) == 2" );
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(16662,HUNTING) == 2" );
end;
}
1@jorlab,58,67,3 script Summon Device#ep19re1 PORTAL,{
if ('event == 2) {
mes "[Summon Device]";
mes "Battle complete, save data.";
mes "Press the Yes button to exit the lab";
mes "Please press";
next;
if (select( "Yes", "No" ) == 2) {
mes "[Summon Device]";
mes "Exit.";
close;
}
mes "[Summon Device]";
mes "3, 2, 1. Ready to move.";
close2;
warp "jor_nest",63,257;
end;
}
if (is_party_leader() == false || 'event != 0) {
mes "[Summon Device]";
mes "- I am talking with another party member. Please listen together for a moment. -";
mes "- If the conversation ended due to an error, you will be able to talk 5 minutes after the conversation starts. -";
close;
}
mes "[Summon Device]";
mes "Start a simulation battle.";
mes "When you are ready, click the Yes button.";
next;
mes "[Summon Device]";
mes "Are you ready?";
next;
if (select( "Yes", "No" ) == 2) {
mes "[Summon Device]";
mes "Exit.";
close;
}
mes "[Summon Device]";
mes "Summon " + getmonsterinfo("EP19_MD_JUNCEA_S", MOB_NAME) + ".";
mes "3, 2, 1. Ready to summon.";
close2;
if ('event == 0) {
'event = 1;
disablenpc();
donpcevent instance_npcname("ep19_simulation_battle") + "::OnStart";
}
end;
}
1@jorlab,1,1,0 script ep19_simulation_battle -1,{
end;
OnStart:
monster 'map_jorlab$,58,67,"--ja--","EP19_MD_JUNCEA_S",1, instance_npcname("ep19_simulation_battle") + "::OnBossDead";
end;
OnBossDead:
if ('event != 1)
end;
'event = 2;
enablenpc instance_npcname("Summon Device#ep19re1");
end;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -61,3 +61,4 @@ Footer:
- Path: npc/re/merchants/barters/quests_exp_175.yml
- Path: npc/re/merchants/barters/mysterious_cookie_shop.yml
- Path: npc/re/merchants/barters/quests_18_1.yml
- Path: npc/re/merchants/barters/quests_19.yml

View File

@ -0,0 +1,289 @@
# 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 <http://www.gnu.org/licenses/>.
#
###########################################################################
# 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_Ep19_Rgan_Scroll
Items:
- Index: 0
Item: Ep19_Rgan_Scroll
Zeny: 2000
RequiredItems:
- Index: 0
Item: Ep19_Rgan_Core_F
Amount: 2
- Name: barter_ep19_snow_stone
Items:
- Index: 0
Item: Snow_F_Stone1
RequiredItems:
- Index: 0
Item: Snow_F_Ore
Amount: 5
- Index: 1
Item: Snow_F_Stone2
RequiredItems:
- Index: 0
Item: Snow_F_Stone1
Amount: 5
- Index: 2
Item: Snow_F_Stone3
RequiredItems:
- Index: 0
Item: Snow_F_Stone2
Amount: 5
- Name: barter_ep19_repu_1
Items:
- Index: 0
Item: Snow_F_Refine
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 200
- Index: 1
Item: Glacier_W_Refine
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 500
- Index: 2
Item: Teleport_Ep19_01
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
- Name: barter_ep19_repu_2
Items:
- Index: 0
Item: Snow_F_Refine
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 200
- Index: 1
Item: Glacier_W_Refine
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 500
- Index: 2
Item: Teleport_Ep19_01
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
- Index: 3
Item: Ep19_Dry_Icegangu
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
- Index: 4
Item: C_Ep19_Rgan
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 1000
- Index: 5
Item: C_Ep19_Iwin
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 1000
- Name: barter_ep19_snow_armor
Items:
- Index: 0
Item: Snowflower_Armor
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 1
Item: Snowflower_Robe
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 2
Item: Snowflower_Manteau
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 3
Item: Snowflower_Muffler
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 4
Item: Snowflower_Boots
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 5
Item: Snowflower_Shoes
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 6
Item: Snowflower_Pendant
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 7
Item: Snowflower_Ring
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 8
Item: Snowflower_Necklace
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Index: 9
Item: Snowflower_Earring
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 100
- Name: barter_ep19_new_content
Items:
- Index: 0
Item: EP19_N_P_Ore
RequiredItems:
- Index: 0
Item: EP19_D_P_Ore
Amount: 3
- Index: 1
Item: Ep19_Snow_Flower
Amount: 5
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 25
- Index: 1
Item: EP19_D_P_Crystal
RequiredItems:
- Index: 0
Item: EP19_D_P_Ore
Amount: 15
- Index: 1
Item: Ep19_Snow_Flower
Amount: 30
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 150
- Index: 2
Item: EP19_N_P_Crystal
RequiredItems:
- Index: 0
Item: EP19_N_P_Ore
Amount: 5
- Index: 1
Item: Ep19_Snow_Flower
Amount: 5
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 25
- Index: 3
Item: EP19_S_F_1_Extract
RequiredItems:
- Index: 0
Item: Snow_F_Stone1
Amount: 20
- Index: 1
Item: Ep19_Snow_Flower
Amount: 5
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 25
- Index: 4
Item: EP19_S_F_2_Extract
RequiredItems:
- Index: 0
Item: Snow_F_Stone2
Amount: 15
- Index: 1
Item: Ep19_Snow_Flower
Amount: 10
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 50
- Index: 5
Item: EP19_S_F_3_Extract
RequiredItems:
- Index: 0
Item: Snow_F_Stone3
Amount: 10
- Index: 1
Item: Ep19_Snow_Flower
Amount: 15
- Index: 2
Item: Ep18_Amethyst_Fragment
Amount: 75
- Index: 6
Item: EP19_Gla_Extract
RequiredItems:
- Index: 0
Item: Ep19_Snow_Flower
Amount: 40
- Index: 1
Item: Ep18_Amethyst_Fragment
Amount: 200
- Index: 7
Item: EP19_DGW_Refine
RequiredItems:
- Index: 0
Item: EP19_D_P_Stone
Amount: 1
- Index: 1
Item: EP19_D_P_Crystal
Amount: 10
- Index: 2
Item: EP19_N_P_Crystal
Amount: 10

View File

@ -0,0 +1,97 @@
//===== rAthena Script =======================================
//= Episode 19 NPCs.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Related to new content.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
icas_in,192,57,3 script Incineration Furnace#ep19 4_POINT_RED,{
mes "There is a brazier where you can feel the heat.";
mes "If you have useless Dim Glacier weapons, put them in and melt them.";
close2;
laphine_synthesis("Dim Glacier Extractor");
end;
}
icas_in,188,60,3 script Forr#ep19 4_EP19_IWIN,{
cutin "ep19_iwin11.png",2;
mes "[Forr]";
mes "Did you know that weapons are being found in recently abandoned pits and the like?";
mes "It is called Dim Glacier because it is an object imbued with unusual magical powers.";
next;
mes "[Forr]";
mes "I've done some research with Vellgunde, and I've found that it has the magical powers of mutated Jormungand.";
mes "If you have Dim Glacier, try adjusting your magic to increase the weapon's performance.";
next;
mes "[Forr]";
mes "I need some tricky refining materials, but how about exchanging them appropriately for what I'm lacking?";
next;
switch( select( "Exchange materials.", "Awaken Dim Glacier's potential.", "What do you do with unnecessary weapons?", "Okay." ) ) {
case 1:
mes "[Forr]";
mes "The amethyst shards brought by Maram helped make various containers.";
mes "It's something you can't get here, so you might ask for it often.";
close2;
cutin "",255;
callshop "barter_ep19_new_content";
end;
case 2:
mes "[Forr]";
mes "I wish you good luck";
close2;
cutin "",255;
item_enchant(47);
end;
case 3:
mes "[Forr]";
mes "Can you see the brazier down there?";
mes "I made it for the incineration of useless things that have been researched.";
next;
mes "[Forr]";
mes "If you're going to throw it away, use that incinerator.";
mes "Dim Glacier has magical powers, so if you melt it, whatever comes out will come out.";
close3;
case 4:
mes "[Forr]";
mes "I will stay for a while to help Vellgunde-sama.";
mes "Come to me anytime.";
close3;
}
}
// Storage
icas_in,169,70,3 script Card#ep19 4_POINT_BLUE,{
.@total_storage = 1; // by default rAthena just open the basic storage (but 3 on kRO)
cutin "ep19_iwin02.png",2;
mes "[Hoyoyo]";
mes "Are you going to use the closet?";
mes "Hyo, hy, hyo, put in a coin from the continent.";
mes "Hey... Would you like to put 500zeny in it?";
next;
cutin "",255;
for ( .@i = 0; .@i < .@total_storage; .@i++ )
.@menu$ += "Storage " + (.@i+1) + ":";
.@menu$ += "Stop.";
.@s = select( .@menu$ ) - 2;
if (.@s == (.@total_storage - 1)) {
mes "I decided to use it next time.";
close;
}
if (Zeny < 500) {
mes "Looks like you have to put 500 zeny to use the closet.";
close3;
}
mes "When a coin was inserted, the cabinet opened with a rattling sound.";
close2;
Zeny -= 500;
if (.@s == -1) // basic storage
openstorage;
else // "premium" storage starting from index 0
openstorage2 .@s, STOR_MODE_GET|STOR_MODE_PUT; // note: opened before close button
end;
}

View File

@ -0,0 +1,19 @@
//===== rAthena Script =======================================
//= jor_ab Monsters Spawn Script
//===== Current Version: =====================================
//= 1.0
//===== Additional Comments: =================================
//= 1.0 First version. [Atemo]
//============================================================
jor_ab01 monster --ja-- 21538,65
jor_ab01 monster --ja-- 21540,65
jor_ab01 monster --ja-- 21541,35
jor_ab01 monster --ja-- 21543,35
jor_ab01 monster --ja-- 21600,10
jor_ab02 monster --ja-- 21539,55
jor_ab02 monster --ja-- 21542,55
jor_ab02 monster --ja-- 21544,40
jor_ab02 monster --ja-- 21545,40
jor_ab02 monster --ja-- 21601,10

View File

@ -0,0 +1,20 @@
//===== rAthena Script =======================================
//= jor_dun Monsters Spawn Script
//===== Current Version: =====================================
//= 1.0
//===== Additional Comments: =================================
//= 1.0 First version. [Atemo]
//============================================================
jor_dun01 monster --ja-- 21526,80
jor_dun01 monster --ja-- 21527,50
jor_dun01 monster --ja-- 21528,20
jor_dun01 monster --ja-- 21599,10
jor_dun02 monster --ja-- 21527,60
jor_dun02 monster --ja-- 21528,50
jor_dun02 monster --ja-- 21529,15
jor_dun02 monster --ja-- 21599,10
jor_que monster --ja-- 21534,3
jor_que monster --ja-- 21535,5

View File

@ -0,0 +1,24 @@
//===== rAthena Script =======================================
//= jor_back Monsters Spawn Script
//===== Current Version: =====================================
//= 1.0
//===== Additional Comments: =================================
//= 1.0 First version. [Atemo]
//============================================================
jor_back1 monster --ja-- 21524,60
jor_back1 monster --ja-- 21525,60
jor_back1 monster --ja-- 21523,80
jor_back2 monster --ja-- 21521,70
jor_back2 monster --ja-- 21525,25
jor_back2 monster --ja-- 21523,35
jor_back2 monster --ja-- 21520,70
jor_back3 monster --ja-- 21526,30
jor_back3 monster --ja-- 21527,15
jor_back3 monster --ja-- 21525,20
jor_back3 monster --ja-- 21522,70
jor_back3 monster --ja-- 21520,70
// unknown delay
jor_back3 boss_monster --ja-- 21537,1,7200000,600000,1

View File

@ -65,4 +65,23 @@ function script F_queststatus {
return 2;
}
end;
}
}
// Return a value referring to the state of the quests in range.
// -1 : at least on of the quest doesn't have the same state
// 0 : all the quests are in the state 0 (not in quest log)
// 1 : all the quests are in the state 1 (given)
// 2 : all the quests are in the state 2 (completed)
function script F_queststatus_between {
.@start = getarg(0);
.@end = getarg(1);
.@state = isbegin_quest(.@start);
for ( .@i = .@start+1; .@i <= .@end; ++.@i ) {
if (isbegin_quest(.@i) != .@state) {
.@state = -1;
break;
}
}
return .@state;
}

17224
npc/re/quests/quests_19.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -63,11 +63,14 @@ npc: npc/re/guides/guides_woe_te.txt
// ------------------------ Instances ---------------------------
npc: npc/re/instances/AirshipAssault.txt
npc: npc/re/instances/AirshipDestruction.txt
npc: npc/re/instances/BaggotLaboratory.txt
npc: npc/re/instances/BakonawaLake.txt
npc: npc/re/instances/BangungotHospital.txt
npc: npc/re/instances/BuwayaCave.txt
npc: npc/re/instances/CentralLaboratory.txt
npc: npc/re/instances/CharlestonCrisis.txt
npc: npc/re/instances/ConfusedSnakesNest.txt
npc: npc/re/instances/CorOperation.txt
npc: npc/re/instances/DevilTower.txt
npc: npc/re/instances/EclageInterior.txt
@ -81,6 +84,7 @@ npc: npc/re/instances/HeartHunterWarBase.txt
npc: npc/re/instances/HiddenGarden.txt
npc: npc/re/instances/InfiniteSpace.txt
npc: npc/re/instances/IsleOfBios.txt
npc: npc/re/instances/IwinPatrol.txt
npc: npc/re/instances/LastRoom.txt
npc: npc/re/instances/LostFarm.txt
npc: npc/re/instances/MalangdoCulvert.txt
@ -143,6 +147,7 @@ npc: npc/re/merchants/enchan_rockridge.txt
npc: npc/re/merchants/enchan_sage_legacy_17_2.txt
npc: npc/re/merchants/enchan_verus.txt
npc: npc/re/merchants/enchantgrade.txt
npc: npc/re/merchants/episode_19.txt
npc: npc/re/merchants/Extended_Ammunition.txt
npc: npc/re/merchants/Extended_Stylist.txt
npc: npc/re/merchants/flute.txt
@ -243,6 +248,7 @@ npc: npc/re/quests/quests_illusion_dungeons.txt
npc: npc/re/quests/quests_17_1.txt
npc: npc/re/quests/quests_17_2.txt
npc: npc/re/quests/quests_18_1.txt
npc: npc/re/quests/quests_19.txt
npc: npc/re/quests/quests_aldebaran.txt
npc: npc/re/quests/quests_dewata.txt
npc: npc/re/quests/quests_dicastes.txt

View File

@ -39,6 +39,8 @@ npc: npc/re/mobs/dungeons/gon_dun.txt
npc: npc/re/mobs/dungeons/ice_dun.txt
npc: npc/re/mobs/dungeons/in_sphinx.txt
npc: npc/re/mobs/dungeons/iz_dun.txt
npc: npc/re/mobs/dungeons/jor_ab.txt
npc: npc/re/mobs/dungeons/jor_dun.txt
npc: npc/re/mobs/dungeons/juperos.txt
npc: npc/re/mobs/dungeons/kh_dun.txt
npc: npc/re/mobs/dungeons/lhz_dun.txt
@ -89,6 +91,7 @@ npc: npc/re/mobs/fields/geffen.txt
npc: npc/re/mobs/fields/gonryun.txt
npc: npc/re/mobs/fields/gw_fild.txt
npc: npc/re/mobs/fields/hugel.txt
npc: npc/re/mobs/fields/jor_back.txt
npc: npc/re/mobs/fields/lighthalzen.txt
npc: npc/re/mobs/fields/louyang.txt
npc: npc/re/mobs/fields/lutie.txt

View File

@ -2843,6 +2843,7 @@ enum e_random_item_group {
IG_COSTUMEMILEPACK_35_1,
IG_COSTUMEMILEPACK_35_2,
IG_COSTUMEMILEPACK_35_3,
IG_D_GW_EXTRACTOR,
IG_MAX,
};

View File

@ -676,6 +676,8 @@ enum e_mapflag : int16 {
MF_NOBUYINGSTORE,
MF_NODYNAMICNPC,
MF_NOBANK,
MF_NOLOOTNORMALMOB,
MF_NO_NPC_SELFDESTRUCTION_ON_ALL,
MF_MAX
};

View File

@ -2889,7 +2889,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
}
}
if( !(type&1) && !map_getmapflag(m, MF_NOMOBLOOT) && !md->state.rebirth && (
if( !(type&1) && !map_getmapflag(m, MF_NOMOBLOOT) && !(md->get_bosstype() == BOSSTYPE_NONE && map_getmapflag(m, MF_NOLOOTNORMALMOB)) && !md->state.rebirth && (
!md->special_state.ai || //Non special mob
battle_config.alchemist_summon_reward == 2 || //All summoned give drops
(md->special_state.ai==AI_SPHERE && battle_config.alchemist_summon_reward == 1) //Marine Sphere Drops items.

View File

@ -6690,7 +6690,7 @@ bool pc_steal_item(map_session_data *sd,struct block_list *bl, uint16 skill_lv)
md_status= status_get_status_data(bl);
if (md->master_id || status_has_mode(md_status, MD_STATUSIMMUNE) || util::vector_exists(status_get_race2(&md->bl), RC2_TREASURE) ||
map_getmapflag(bl->m, MF_NOMOBLOOT) || // check noloot map flag [Lorky]
map_getmapflag(bl->m, MF_NOMOBLOOT) || md->get_bosstype() == BOSSTYPE_NONE && map_getmapflag(bl->m, MF_NOLOOTNORMALMOB) || // check noloot map flag [Lorky]
(battle_config.skill_steal_max_tries && //Reached limit of steal attempts. [Lupus]
md->state.steal_flag++ >= battle_config.skill_steal_max_tries)
) { //Can't steal from

View File

@ -27384,6 +27384,27 @@ BUILDIN_FUNC(permission_add)
return SCRIPT_CMD_SUCCESS;
}
BUILDIN_FUNC(unitisforcewalk)
{
block_list *bl = nullptr;
bool force_walk = false;
if (script_getnum(st, 2))
bl = map_id2bl(script_getnum(st,2));
else
bl = map_id2bl(st->rid);
if (bl != nullptr) {
struct unit_data *ud = unit_bl2ud(bl);
if (ud != nullptr)
force_walk = (ud->walktimer == INVALID_TIMER && ud->state.force_walk);
}
script_pushint(st, force_walk);
return SCRIPT_CMD_SUCCESS;
}
#include <custom/script.inc>
// declarations that were supposed to be exported from npc_chat.cpp
@ -28153,6 +28174,8 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(permission_add, "i?"),
BUILDIN_DEF2(permission_add, "permission_remove", "i?"),
BUILDIN_DEF(unitisforcewalk, "i"),
#include <custom/script_def.inc>
{nullptr,nullptr,nullptr},

View File

@ -538,6 +538,8 @@
export_constant(MF_NOBUYINGSTORE);
export_constant(MF_NODYNAMICNPC);
export_constant(MF_NOBANK);
export_constant(MF_NOLOOTNORMALMOB);
export_constant(MF_NO_NPC_SELFDESTRUCTION_ON_ALL);
/* setcell types */
export_constant(CELL_WALKABLE);
@ -7808,6 +7810,7 @@
export_constant(IG_COSTUMEMILEPACK_35_1);
export_constant(IG_COSTUMEMILEPACK_35_2);
export_constant(IG_COSTUMEMILEPACK_35_3);
export_constant(IG_D_GW_EXTRACTOR);
/* unit stop walking */
export_constant(USW_NONE);

View File

@ -8820,7 +8820,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NPC_SELFDESTRUCTION:
//Self Destruction hits everyone in range (allies+enemies)
//Except for Summoned Marine spheres on non-versus maps, where it's just enemy.
i = ((!md || md->special_state.ai == AI_SPHERE) && !map_flag_vs(src->m))?
i = ((!md || md->special_state.ai == AI_SPHERE) && !map_flag_vs(src->m) || md && map_getmapflag(src->m, MF_NO_NPC_SELFDESTRUCTION_ON_ALL))?
BCT_ENEMY:BCT_ALL;
clif_skill_nodamage(src, src, skill_id, -1, 1);
map_delblock(src); //Required to prevent chain-self-destructions hitting back.
@ -12987,6 +12987,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
clif_skill_nodamage(src, src, skill_id, skill_lv, 1);
break;
case DE_BERSERKAIZER:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;
default: {
std::shared_ptr<s_skill_db> skill = skill_db.find(skill_id);
ShowWarning("skill_castend_nodamage_id: missing code case for skill %s(%d)\n", skill ? skill->name : "UNKNOWN", skill_id);

View File

@ -5913,9 +5913,12 @@ void status_calc_bl_main(struct block_list *bl, std::bitset<SCB_MAX> flag)
* No status changes alter these yet.
* if(flag[SCB_SIZE])
* if(flag[SCB_RACE])
* if(flag[SCB_RANGE])
**/
if (flag[SCB_RANGE]) {
status->rhw.range = b_status->rhw.range;
}
if(flag[SCB_MAXHP]) {
if( bl->type&BL_PC ) {
status->max_hp = status_calc_maxhpsp_pc(sd,status->vit,true);