Merge branch 'master' into hotfix/issue6912
This commit is contained in:
9
3rdparty/libconfig/scanner.c
vendored
9
3rdparty/libconfig/scanner.c
vendored
@@ -2,6 +2,11 @@
|
||||
|
||||
#line 4 "scanner.c"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4267 )
|
||||
#endif
|
||||
|
||||
#define YY_INT_ALIGNED short int
|
||||
|
||||
/* A lexical scanner generated by flex */
|
||||
@@ -2365,3 +2370,7 @@ void libconfig_yyfree (void * ptr , yyscan_t yyscanner)
|
||||
#define YYTABLES_NAME "yytables"
|
||||
|
||||
#line 192 "scanner.l"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
|
||||
@@ -236,7 +236,7 @@ option( ENABLE_WEB_SERVER "Build web-server (default=ON)" ON )
|
||||
#
|
||||
TEST_BIG_ENDIAN( BIG_ENDIAN )
|
||||
if( NOT DEFINED BIG_ENDIAN )
|
||||
message( WARNING "unable to determine endianess, only LITTLE ENDIAN is supported" )
|
||||
message( WARNING "unable to determine endianness, only LITTLE ENDIAN is supported" )
|
||||
elseif( BIG_ENDIAN )
|
||||
message( FATAL_ERROR "bigendian is not supported" )
|
||||
endif()
|
||||
|
||||
@@ -134,3 +134,9 @@ min_shop_buy: 1
|
||||
// Minimum sell price of items at a normal shop
|
||||
// Officially items can be sold for 0 Zeny
|
||||
min_shop_sell: 0
|
||||
|
||||
// Should items that reduce damage from element/race count all monster damage as physical? (Note 1)
|
||||
// Officially "Asprika" (god item) reduces all monsters damage rather than just physical damage
|
||||
// Shaman Hat on the other hand doesn't reduce monster damage at all (reduces magical damage in PVP)
|
||||
// This only affects items with bonus3 bSubEle and bonus3 bSubRace.
|
||||
cardfix_monster_physical: yes
|
||||
|
||||
@@ -240,6 +240,7 @@ Body:
|
||||
bypass_stat_onclone: true
|
||||
bypass_max_stat: true
|
||||
macro_register: true
|
||||
trade_unconditional: true
|
||||
#all_permission: true
|
||||
|
||||
Footer:
|
||||
|
||||
@@ -1610,5 +1610,8 @@ map: 3@vrpop
|
||||
// Depth biosphere 2nd floor
|
||||
map: bl_depth2
|
||||
|
||||
// Fantasy Series Sonic Collaboration - Dr. Eggman's Secret Base
|
||||
map: 1@vrsn
|
||||
|
||||
//------------------------- Clone Maps ---------------------------
|
||||
//------------------------- Extra Maps ---------------------------
|
||||
|
||||
4
configure
vendored
4
configure
vendored
@@ -4761,8 +4761,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
|
||||
|
||||
;; #(
|
||||
*)
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to determine endianess, only little endian is supported" >&5
|
||||
$as_echo "$as_me: WARNING: unable to determine endianess, only little endian is supported" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to determine endianness, only little endian is supported" >&5
|
||||
$as_echo "$as_me: WARNING: unable to determine endianness, only little endian is supported" >&2;}
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -490,7 +490,7 @@ CXXFLAG_CLEARS="-std=c++17"
|
||||
AC_C_BIGENDIAN(
|
||||
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
|
||||
,
|
||||
[AC_MSG_WARN([[unable to determine endianess, only little endian is supported]])]
|
||||
[AC_MSG_WARN([[unable to determine endianness, only little endian is supported]])]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ Body:
|
||||
Value: 4
|
||||
- Name: JUMPINGCLAN
|
||||
Value: 5
|
||||
- Name: REPUTATION_EP18
|
||||
Value: 3
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
|
||||
BIN
db/map_cache.dat
BIN
db/map_cache.dat
Binary file not shown.
@@ -1240,6 +1240,7 @@ t_garden
|
||||
2@vrpop
|
||||
3@vrpop
|
||||
bl_depth2
|
||||
1@vrsn
|
||||
|
||||
//======================================================================================
|
||||
// - Other/Extra maps -
|
||||
|
||||
@@ -20587,16 +20587,7 @@ Body:
|
||||
EquipLevelMin: 94
|
||||
Script: |
|
||||
bonus bMdef,5;
|
||||
bonus3 bSubEle,Ele_Neutral,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Water,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Earth,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Fire,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Wind,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Poison,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Holy,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Dark,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Ghost,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_Undead,30,BF_SHORT;
|
||||
bonus3 bSubEle,Ele_All,30,BF_WEAPON;
|
||||
bonus bFlee,30;
|
||||
skill "AL_TELEPORT",1;
|
||||
bonus bUnbreakableGarment;
|
||||
|
||||
@@ -4408,7 +4408,6 @@ Body:
|
||||
TargetType: Ground
|
||||
DamageFlags:
|
||||
Splash: true
|
||||
IgnoreFlee: true
|
||||
Flags:
|
||||
IsTrap: true
|
||||
AlterRangeResearchTrap: true
|
||||
@@ -6461,6 +6460,7 @@ Body:
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreAtkCard: true
|
||||
IgnoreDefense: true
|
||||
IgnoreFlee: true
|
||||
Flags:
|
||||
IgnoreAutoGuard: true
|
||||
@@ -9641,7 +9641,7 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Duration1: 300000
|
||||
Duration2: 15000
|
||||
Duration2: 10000
|
||||
Requires:
|
||||
SpCost: 200
|
||||
Status: Berserk
|
||||
@@ -10233,17 +10233,7 @@ Body:
|
||||
Time: 55000
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2:
|
||||
- Level: 1
|
||||
Time: 20000
|
||||
- Level: 2
|
||||
Time: 30000
|
||||
- Level: 3
|
||||
Time: 40000
|
||||
- Level: 4
|
||||
Time: 50000
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2: 60000
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
@@ -13866,8 +13856,6 @@ Body:
|
||||
Description: Chain Action
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
DamageFlags:
|
||||
Critical: true
|
||||
Range: -9
|
||||
Hit: Multi_Hit
|
||||
HitCount: 2
|
||||
@@ -32467,9 +32455,9 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Duration1: 300000
|
||||
Duration2: 15000
|
||||
Duration2: 10000
|
||||
Requires:
|
||||
SpCost: 100
|
||||
SpCost: 200
|
||||
Status: Berserk
|
||||
- Id: 8207
|
||||
Name: MA_DOUBLE
|
||||
@@ -32648,7 +32636,6 @@ Body:
|
||||
TargetType: Ground
|
||||
DamageFlags:
|
||||
Splash: true
|
||||
IgnoreFlee: true
|
||||
Flags:
|
||||
IsTrap: true
|
||||
AlterRangeResearchTrap: true
|
||||
@@ -33068,9 +33055,10 @@ Body:
|
||||
Type: Weapon
|
||||
TargetType: Attack
|
||||
Range: 1
|
||||
Hit: Multi_Hit
|
||||
HitCount: 3
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Weapon
|
||||
CastCancel: true
|
||||
CastTime: 1000
|
||||
AfterCastActDelay: 2000
|
||||
Duration2: 5000
|
||||
|
||||
@@ -532,3 +532,23 @@ Body:
|
||||
Points: 4545
|
||||
- Level: 250
|
||||
Points: 4545
|
||||
- Level: 251
|
||||
Points: 4545
|
||||
- Level: 252
|
||||
Points: 4545
|
||||
- Level: 253
|
||||
Points: 4545
|
||||
- Level: 254
|
||||
Points: 4545
|
||||
- Level: 255
|
||||
Points: 4545
|
||||
- Level: 256
|
||||
Points: 4545
|
||||
- Level: 257
|
||||
Points: 4545
|
||||
- Level: 258
|
||||
Points: 4545
|
||||
- Level: 259
|
||||
Points: 4545
|
||||
- Level: 260
|
||||
Points: 4545
|
||||
|
||||
@@ -162,6 +162,7 @@ Body:
|
||||
- Status: Poison
|
||||
DurationLookup: NPC_POISON
|
||||
CalcFlags:
|
||||
Def: true
|
||||
Def2: true
|
||||
Regen: true
|
||||
Opt2:
|
||||
@@ -252,6 +253,7 @@ Body:
|
||||
- Status: Dpoison
|
||||
DurationLookup: NPC_POISON
|
||||
CalcFlags:
|
||||
Def: true
|
||||
Def2: true
|
||||
Regen: true
|
||||
Opt2:
|
||||
@@ -1098,6 +1100,7 @@ Body:
|
||||
Icon: EFST_GROUNDMAGIC
|
||||
DurationLookup: SA_VOLCANO
|
||||
CalcFlags:
|
||||
Batk: true
|
||||
Watk: true
|
||||
Flags:
|
||||
NoSave: true
|
||||
@@ -1121,6 +1124,10 @@ Body:
|
||||
NoClearance: true
|
||||
- Status: Watk_Element
|
||||
DurationLookup: MS_MAGNUM
|
||||
Flags:
|
||||
NoSave: true
|
||||
EndOnStart:
|
||||
Watk_Element: true
|
||||
- Status: Armor
|
||||
DurationLookup: NPC_DEFENDER
|
||||
- Status: Armor_Element_Water
|
||||
@@ -2712,6 +2719,7 @@ Body:
|
||||
CalcFlags:
|
||||
Flee: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2720,6 +2728,7 @@ Body:
|
||||
CalcFlags:
|
||||
Watk: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2728,6 +2737,7 @@ Body:
|
||||
CalcFlags:
|
||||
MaxHp: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2736,6 +2746,7 @@ Body:
|
||||
CalcFlags:
|
||||
MaxSp: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2744,6 +2755,7 @@ Body:
|
||||
CalcFlags:
|
||||
Hit: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
|
||||
@@ -2049,21 +2049,21 @@ Body:
|
||||
- Id: 200032
|
||||
Group: Goal_Level
|
||||
Name: The start of another adventure!
|
||||
Condition: " BaseLevel == 100 "
|
||||
Condition: " BaseLevel >= 100 "
|
||||
Rewards:
|
||||
Item: Rebeginer_Box_100
|
||||
Score: 10
|
||||
- Id: 200033
|
||||
Group: Goal_Level
|
||||
Name: With a new mind!(1)
|
||||
Condition: " BaseLevel == 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
|
||||
Condition: " BaseLevel >= 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
|
||||
Rewards:
|
||||
Item: Costume_Ticket
|
||||
Score: 50
|
||||
- Id: 200034
|
||||
Group: Goal_Level
|
||||
Name: With a new mind!(2)
|
||||
Condition: " BaseLevel == 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
|
||||
Condition: " BaseLevel >= 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
|
||||
Rewards:
|
||||
Item: Costume_Ticket
|
||||
Score: 50
|
||||
|
||||
@@ -35943,14 +35943,14 @@ Body:
|
||||
bonus bVariableCastrate,-5;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_300457 # 300457
|
||||
- Grey_Icewind_Card
|
||||
- aegis_300455 # 300455
|
||||
Script: |
|
||||
.@r_shoes = getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bAddSize,Size_Large,10+3*(.@r_shoes/2);
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_300458 # 300458
|
||||
- Icewind_Card
|
||||
- aegis_300455 # 300455
|
||||
Script: |
|
||||
.@r_shoes = getequiprefinerycnt(EQI_SHOES);
|
||||
@@ -46814,7 +46814,8 @@ Body:
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_WIND",2*.@sum;
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_POISON",2*.@sum;
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_GROUND",2*.@sum;
|
||||
if (getskilllv("EM_ELEMENTAL_BUSTER") > 0) {
|
||||
.@class_ = geteleminfo(ELEMINFO_CLASS);
|
||||
if (getskilllv("EM_ELEMENTAL_BUSTER") > 0 && .@class_ >= 20816 && .@class_ <= 20820) {
|
||||
bonus4 bAutoSpellOnSkill,"EM_DIAMOND_STORM","EM_ELEMENTAL_BUSTER",getskilllv("EM_ELEMENTAL_BUSTER"),1000;
|
||||
}
|
||||
}
|
||||
@@ -46835,7 +46836,8 @@ Body:
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_WIND",2*.@sum;
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_POISON",2*.@sum;
|
||||
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_GROUND",2*.@sum;
|
||||
if (getskilllv("EM_ELEMENTAL_BUSTER") > 0 && geteleminfo(0) > 0) {
|
||||
.@class_ = geteleminfo(ELEMINFO_CLASS);
|
||||
if (getskilllv("EM_ELEMENTAL_BUSTER") > 0 && .@class_ >= 20816 && .@class_ <= 20820) {
|
||||
bonus4 bAutoSpellOnSkill,"EM_TERRA_DRIVE","EM_ELEMENTAL_BUSTER",getskilllv("EM_ELEMENTAL_BUSTER"),1000;
|
||||
}
|
||||
}
|
||||
@@ -48064,3 +48066,651 @@ Body:
|
||||
- Improve_Orb_Cri # 29539
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,6;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Pow3 # 312984
|
||||
- Star_Cluster_Of_Pow3 # 310676
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,10;
|
||||
bonus2 bAddRace,RC_Player_Human,-10;
|
||||
bonus2 bAddRace,RC_Player_Doram,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Pow4 # 312985
|
||||
- Star_Cluster_Of_Pow3 # 310676
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,15;
|
||||
bonus2 bAddRace,RC_Player_Human,-15;
|
||||
bonus2 bAddRace,RC_Player_Doram,-15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Pow5 # 312986
|
||||
- Star_Cluster_Of_Pow3 # 310676
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,20;
|
||||
bonus2 bAddRace,RC_Player_Human,-20;
|
||||
bonus2 bAddRace,RC_Player_Doram,-20;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Con3 # 312989
|
||||
- Star_Cluster_Of_Con3 # 310682
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,10;
|
||||
bonus2 bAddRace,RC_Player_Human,-10;
|
||||
bonus2 bAddRace,RC_Player_Doram,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Con4 # 312990
|
||||
- Star_Cluster_Of_Con3 # 310682
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,15;
|
||||
bonus2 bAddRace,RC_Player_Human,-15;
|
||||
bonus2 bAddRace,RC_Player_Doram,-15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Con5 # 312991
|
||||
- Star_Cluster_Of_Con3 # 310682
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,20;
|
||||
bonus2 bAddRace,RC_Player_Human,-20;
|
||||
bonus2 bAddRace,RC_Player_Doram,-20;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Spl3 # 312994
|
||||
- Star_Cluster_Of_Spl3 # 310688
|
||||
Script: |
|
||||
bonus2 bMagicAddRace,RC_All,10;
|
||||
bonus2 bMagicAddRace,RC_Player_Human,-10;
|
||||
bonus2 bMagicAddRace,RC_Player_Doram,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Spl4 # 312995
|
||||
- Star_Cluster_Of_Spl3 # 310688
|
||||
Script: |
|
||||
bonus2 bMagicAddRace,RC_All,15;
|
||||
bonus2 bMagicAddRace,RC_Player_Human,-15;
|
||||
bonus2 bMagicAddRace,RC_Player_Doram,-15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Spl5 # 312996
|
||||
- Star_Cluster_Of_Spl3 # 310688
|
||||
Script: |
|
||||
bonus2 bMagicAddRace,RC_All,20;
|
||||
bonus2 bMagicAddRace,RC_Player_Human,-20;
|
||||
bonus2 bMagicAddRace,RC_Player_Doram,-20;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Sta3 # 312999
|
||||
- Star_Cluster_Of_Sta3 # 310679
|
||||
Script: |
|
||||
bonus bMaxHPrate,5;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Sta4 # 313000
|
||||
- Star_Cluster_Of_Sta3 # 310679
|
||||
Script: |
|
||||
bonus bMaxHPrate,7;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Sta5 # 313001
|
||||
- Star_Cluster_Of_Sta3 # 310679
|
||||
Script: |
|
||||
bonus bMaxHPrate,10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Crt3 # 313004
|
||||
- Star_Cluster_Of_Crt3 # 310685
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,10;
|
||||
bonus2 bAddRace,RC_Player_Human,-10;
|
||||
bonus2 bAddRace,RC_Player_Doram,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Crt4 # 313005
|
||||
- Star_Cluster_Of_Crt3 # 310685
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,15;
|
||||
bonus2 bAddRace,RC_Player_Human,-15;
|
||||
bonus2 bAddRace,RC_Player_Doram,-15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Crt5 # 313006
|
||||
- Star_Cluster_Of_Crt3 # 310685
|
||||
Script: |
|
||||
bonus2 bAddRace,RC_All,20;
|
||||
bonus2 bAddRace,RC_Player_Human,-20;
|
||||
bonus2 bAddRace,RC_Player_Doram,-20;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Wis3 # 313009
|
||||
- Star_Cluster_Of_Wis3 # 310691
|
||||
Script: |
|
||||
bonus bMaxSPrate,5;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Wis4 # 313010
|
||||
- Star_Cluster_Of_Wis3 # 310691
|
||||
Script: |
|
||||
bonus bMaxSPrate,7;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Wis5 # 313011
|
||||
- Star_Cluster_Of_Wis3 # 310691
|
||||
Script: |
|
||||
bonus bMaxSPrate,10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Spring_Pow # 313012
|
||||
- Star_Armor_Of_Pow # 450169
|
||||
Script: |
|
||||
bonus2 bAddEle,Ele_All,2;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus2 bAddEle,Ele_All,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Spring_Sta # 313013
|
||||
- Star_Armor_Of_Sta # 450170
|
||||
Script: |
|
||||
.@r_armor = getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bMaxHPrate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bMaxHPrate,(.@r_armor/2);
|
||||
bonus bRes,20*(.@r_armor/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Spring_Crt # 313014
|
||||
- Star_Suit_Of_Crt # 450172
|
||||
Script: |
|
||||
bonus bCritAtkRate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bCritAtkRate,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Summer_Con # 313015
|
||||
- Star_Suit_Of_Con # 450171
|
||||
Script: |
|
||||
bonus2 bAddEle,Ele_All,2;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus2 bAddEle,Ele_All,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Summer_Sta # 313016
|
||||
- Star_Armor_Of_Sta # 450170
|
||||
Script: |
|
||||
.@r_armor = getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bMaxHPrate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bMaxHPrate,(.@r_armor/2);
|
||||
bonus bRes,20*(.@r_armor/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Summer_Crt # 313017
|
||||
- Star_Suit_Of_Crt # 450172
|
||||
Script: |
|
||||
bonus bCritAtkRate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bCritAtkRate,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Autumn_Spl # 313018
|
||||
- Star_Robe_Of_Spl # 450173
|
||||
Script: |
|
||||
bonus2 bMagicAddEle,Ele_All,2;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus2 bMagicAddEle,Ele_All,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Autumn_Sta # 313019
|
||||
- Star_Armor_Of_Sta # 450170
|
||||
Script: |
|
||||
.@r_armor = getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bMaxHPrate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bMaxHPrate,(.@r_armor/2);
|
||||
bonus bRes,20*(.@r_armor/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Autumn_Wis # 313020
|
||||
- Star_Robe_Of_Wis # 450174
|
||||
Script: |
|
||||
.@r_armor = getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bDelayrate,-3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bDelayrate,-2*(.@r_armor/2);
|
||||
bonus bMaxSPrate,(.@r_armor/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Winter_Pow # 313021
|
||||
- Star_Armor_Of_Pow # 450169
|
||||
Script: |
|
||||
bonus bCritAtkRate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bCritAtkRate,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Winter_Con # 313022
|
||||
- Star_Suit_Of_Con # 450171
|
||||
Script: |
|
||||
bonus bCritAtkRate,3;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus bCritAtkRate,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Life_of_Winter_Crt # 313023
|
||||
- Star_Suit_Of_Crt # 450172
|
||||
Script: |
|
||||
bonus2 bAddEle,Ele_All,2;
|
||||
if (getenchantgrade(EQI_ARMOR)>=ENCHANTGRADE_A) {
|
||||
bonus2 bAddEle,Ele_All,3*(getequiprefinerycnt(EQI_ARMOR)/2);
|
||||
}
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Str1 # 313024
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,3;
|
||||
bonus2 bAddClass,Class_Boss,3;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Str2 # 313025
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,6;
|
||||
bonus2 bAddClass,Class_Boss,6;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Str3 # 313026
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,9;
|
||||
bonus2 bAddClass,Class_Boss,9;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Str4 # 313027
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,12;
|
||||
bonus2 bAddClass,Class_Boss,12;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Str5 # 313028
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,15;
|
||||
bonus2 bAddClass,Class_Boss,15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Luk1 # 313029
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,3;
|
||||
bonus2 bAddClass,Class_Boss,3;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Luk2 # 313030
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,6;
|
||||
bonus2 bAddClass,Class_Boss,6;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Luk3 # 313031
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,9;
|
||||
bonus2 bAddClass,Class_Boss,9;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Luk4 # 313032
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,12;
|
||||
bonus2 bAddClass,Class_Boss,12;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Luk5 # 313033
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bAddClass,Class_Normal,15;
|
||||
bonus2 bAddClass,Class_Boss,15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Int1 # 313034
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bMagicAddClass,Class_Normal,3;
|
||||
bonus2 bMagicAddClass,Class_Boss,3;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Int2 # 313035
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bMagicAddClass,Class_Normal,6;
|
||||
bonus2 bMagicAddClass,Class_Boss,6;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Int3 # 313036
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bMagicAddClass,Class_Normal,9;
|
||||
bonus2 bMagicAddClass,Class_Boss,9;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Int4 # 313037
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bMagicAddClass,Class_Normal,12;
|
||||
bonus2 bMagicAddClass,Class_Boss,12;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Int5 # 313038
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus2 bMagicAddClass,Class_Normal,15;
|
||||
bonus2 bMagicAddClass,Class_Boss,15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Res1 # 313039
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus bMaxHPrate,1;
|
||||
bonus bMaxSPrate,1;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Res2 # 313040
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus bMaxHPrate,2;
|
||||
bonus bMaxSPrate,2;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Res3 # 313041
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus bMaxHPrate,3;
|
||||
bonus bMaxSPrate,3;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Res4 # 313042
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus bMaxHPrate,4;
|
||||
bonus bMaxSPrate,4;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Star_Cluster_Of_Res5 # 313043
|
||||
- Token_Of_Life # 312981
|
||||
Script: |
|
||||
bonus bMaxHPrate,5;
|
||||
bonus bMaxSPrate,5;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313059 # 313059
|
||||
- Runeknight_Top3 # 310881
|
||||
Script: |
|
||||
bonus2 bAddSize,Size_All,3*(getskilllv("DK_TWOHANDDEF")/2);
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313059 # 313059
|
||||
- Runeknight_Middle3 # 310882
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"DK_HACKANDSLASHER",10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313059 # 313059
|
||||
- Runeknight_Bottom3 # 310883
|
||||
Script: |
|
||||
bonus bCRate,3;
|
||||
bonus2 bSkillAtk,"DK_STORMSLASH",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313060 # 313060
|
||||
- Royalguard_Top3 # 310887
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"IG_CROSS_RAIN",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313060 # 313060
|
||||
- Royalguard_Middle3 # 310888
|
||||
Script: |
|
||||
bonus2 bMagicAddSize,Size_All,10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313060 # 313060
|
||||
- Royalguard_Bottom3 # 310889
|
||||
Script: |
|
||||
bonus2 bMagicAddEle,Ele_All,3*(getskilllv("IG_SHIELD_MASTERY")/2);
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313061 # 313061
|
||||
- aegis_311463 # 311463
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"NW_THE_VIGILANTE_AT_NIGHT",10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313061 # 313061
|
||||
- aegis_311464 # 311464
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"NW_SPIRAL_SHOOTING",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- aegis_313061 # 313061
|
||||
- aegis_311465 # 311465
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"NW_MAGAZINE_FOR_ONE",10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_WH # 400608
|
||||
- StormBow_Furious # 700100
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"WH_GALESTORM",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_WH # 400608
|
||||
- TornadoBow_Furious # 700101
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"WH_CRESCIVE_BOLT",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_CD # 400609
|
||||
- SaintBook_Furious # 540086
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"CD_PETITIO",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_CD # 400609
|
||||
- SaintWand_Furious # 550141
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"CD_FRAMEN",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_SKE # 400610
|
||||
- SunBook_Furious # 540087
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"SKE_NOON_BLAST",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_SKE # 400610
|
||||
- MoonBook_Furious # 540088
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"SKE_MIDNIGHT_KICK",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Spring # 490483
|
||||
- Circul_Of_Life_Spring # 480349
|
||||
Script: |
|
||||
.@val = 5+3*(getequiprefinerycnt(EQI_GARMENT)/2);
|
||||
bonus2 bAddRace,RC_All,.@val;
|
||||
bonus2 bAddRace,RC_Player_Human,-.@val;
|
||||
bonus2 bAddRace,RC_Player_Doram,-.@val;
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Summer # 490484
|
||||
- Circul_Of_Life_Summer # 480350
|
||||
Script: |
|
||||
.@val = 5+3*(getequiprefinerycnt(EQI_GARMENT)/2);
|
||||
bonus2 bAddRace,RC_All,.@val;
|
||||
bonus2 bAddRace,RC_Player_Human,-.@val;
|
||||
bonus2 bAddRace,RC_Player_Doram,-.@val;
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Autumn # 490485
|
||||
- Circul_Of_Life_Autumn # 480351
|
||||
Script: |
|
||||
.@val = 5+3*(getequiprefinerycnt(EQI_GARMENT)/2);
|
||||
bonus2 bMagicAddRace,RC_All,.@val;
|
||||
bonus2 bMagicAddRace,RC_Player_Human,-.@val;
|
||||
bonus2 bMagicAddRace,RC_Player_Doram,-.@val;
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Signet_Of_Winter # 490486
|
||||
- Circul_Of_Life_Winter # 480352
|
||||
Script: |
|
||||
.@val = 5+3*(getequiprefinerycnt(EQI_GARMENT)/2);
|
||||
bonus2 bAddRace,RC_All,.@val;
|
||||
bonus2 bAddRace,RC_Player_Human,-.@val;
|
||||
bonus2 bAddRace,RC_Player_Doram,-.@val;
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- SaintBook_Furious # 540086
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
autobonus "{ .@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES); bonus2 bSkillAtk,\"AB_DUPLELIGHT_MELEE\",(15*.@sum); bonus2 bSkillAtk,\"AB_DUPLELIGHT_MAGIC\",(15*.@sum); }",70,10000,BF_WEAPON;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- SunBook_Furious # 540087
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- MoonBook_Furious # 540088
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"SKE_MIDNIGHT_KICK",15;
|
||||
bonus2 bSkillAtk,"SKE_DAWN_BREAK",.@sum*2;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- SaintWand_Furious # 550141
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus bDelayrate,-10;
|
||||
bonus2 bSkillAtk,"CD_FRAMEN",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- StormBow_Furious # 700100
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
bonus2 bSkillUseSP,"WH_GALESTORM",20;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- TornadoBow_Furious # 700101
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
bonus bDelayrate,-10;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_DK # 400628
|
||||
- Slayer_Furious # 600059
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"DK_HACKANDSLASHER",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_DK # 400628
|
||||
- Trident_Furious # 630045
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"DK_MADNESS_CRUSHER",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_ABC # 400629
|
||||
- Demonius_Furious # 510150
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"ABC_DEFT_STAB",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_ABC # 400629
|
||||
- Demonsword_Furious # 510151
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"ABC_ABYSS_SQUARE",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_SH # 400630
|
||||
- Foxtail_Furious # 550143
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"SH_HOGOGONG_STRIKE",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- FuriousCirclet_SH # 400630
|
||||
- Setaria_Furious # 550144
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"SH_HYUN_ROKS_BREEZE",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Demonius_Furious # 510150
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"ABC_DEFT_STAB",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Demonsword_Furious # 510151
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"ABC_ABYSS_SQUARE",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Foxtail_Furious # 550143
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"SH_HOGOGONG_STRIKE",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Setaria_Furious # 550144
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"SH_HYUN_ROKS_BREEZE",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Slayer_Furious # 600059
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
bonus2 bSkillAtk,"DK_HACKANDSLASHER",15;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- Trident_Furious # 630045
|
||||
- FuriousBoots # 470265
|
||||
Script: |
|
||||
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_SHOES);
|
||||
bonus2 bSkillAtk,"DK_MADNESS_CRUSHER",.@sum;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- IDTest_arrow # 1200000
|
||||
- IDTest_bow # 700000
|
||||
Script: |
|
||||
bonus bDex,1;
|
||||
- Combos:
|
||||
- Combo:
|
||||
- IDTest_ammo # 1230000
|
||||
- IDTest_gun # 800000
|
||||
Script: |
|
||||
bonus bDex,1;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
16419
db/re/item_db_usable.yml
16419
db/re/item_db_usable.yml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
84904
db/re/item_group_db.yml
84904
db/re/item_group_db.yml
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# Copyright(C) 2024 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@@ -159,77 +159,153 @@ Body:
|
||||
RentalHours: 1
|
||||
- Group: 9
|
||||
Items:
|
||||
- Item: Red_Potion
|
||||
Amount: 10
|
||||
- Item: Red_Potion
|
||||
Amount: 5
|
||||
- Item: Red_Potion
|
||||
- Item: Red_Potion
|
||||
Amount: 3
|
||||
RentalHours: 1
|
||||
- Group: 10
|
||||
Items:
|
||||
- Item: Guard_
|
||||
- Item: Guard_
|
||||
- Item: Guard_
|
||||
- Group: 11
|
||||
Items:
|
||||
- Item: Orange_Potion
|
||||
Amount: 800
|
||||
- Item: Boost_Armor_Box
|
||||
- Item: Minus_Status_Box_
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Atker_Plate
|
||||
- Item: Atker_Manteau
|
||||
- Item: Atker_Greave
|
||||
- Item: Atker_Ring
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: Minus_Str
|
||||
Amount: 6
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Ran_Suits
|
||||
- Item: Ran_Manteau
|
||||
- Item: Ran_Boots
|
||||
- Item: Ran_Brooch
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: Minus_Agi
|
||||
Amount: 6
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Ele_Robe
|
||||
- Item: Ele_Muffler
|
||||
- Item: Ele_Shoes
|
||||
- Item: Ele_Earing
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: Minus_Vit
|
||||
Amount: 6
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Defn_Robe
|
||||
- Item: Defn_Muffler
|
||||
- Item: Defn_Shoes
|
||||
- Item: Defn_Earing
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: Special_Coin_Pack
|
||||
- Item: Minus_Int
|
||||
Amount: 6
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Minus_Dex
|
||||
Amount: 6
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Minus_Luk
|
||||
Amount: 6
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Minus_Str
|
||||
- Item: Minus_Agi
|
||||
- Item: Minus_Vit
|
||||
- Item: Minus_Int
|
||||
- Item: Minus_Dex
|
||||
- Item: Minus_Luk
|
||||
- Item: Alchemist_Box_
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: EP17_1_EVT39
|
||||
Amount: 3
|
||||
- Item: EP17_1_EVT02
|
||||
Amount: 18
|
||||
- Item: Fire_Bottle
|
||||
Amount: 50
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: BarMealTicket
|
||||
Amount: 20
|
||||
- Item: Acid_Bottle
|
||||
Amount: 50
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Ep18_Amethyst_Fragment
|
||||
Amount: 20
|
||||
- Item: MenEater_Plant_Bottle
|
||||
Amount: 50
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Ep19_Snow_Flower
|
||||
Amount: 20
|
||||
- Item: Coating_Bottle
|
||||
Amount: 50
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Mini_Bottle
|
||||
Amount: 50
|
||||
- Item: FullPene_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: FullPene_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: FullPene_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: FullPene_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: FullPene_Shoes_Box
|
||||
- Item: FullTemp_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: FullTemp_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: FullTemp_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: FullTemp_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: FullTemp_Shoes_Box
|
||||
- Item: Durable_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Durable_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Durable_Shield_Box
|
||||
- Item: Clever_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Clever_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Clever_Shield_Box
|
||||
- Item: OS_Helm_Box_
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Ignis_CapK
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Phantom_Cap
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Stripe_Hat
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Clock_Casket_RD
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Large_Sorcerer_Crown
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Scorpio_Diadem_K
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Sagittarius_DiademK
|
||||
- Item: Shadow_R_M_Box_
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Melee
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Magic
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Melee
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Magic
|
||||
- Item: Metal_W_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
@@ -326,206 +402,581 @@ Body:
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: C_School_Bag_PU
|
||||
- Item: aegis_101470
|
||||
- Item: Special_Coin_Pack
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Minus_Str
|
||||
Amount: 6
|
||||
- Item: EP17_1_EVT39
|
||||
Amount: 3
|
||||
- Item: EP17_1_EVT02
|
||||
Amount: 18
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Minus_Agi
|
||||
Amount: 6
|
||||
- Item: BarMealTicket
|
||||
Amount: 20
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Minus_Vit
|
||||
Amount: 6
|
||||
- Item: Ep18_Amethyst_Fragment
|
||||
Amount: 20
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Minus_Int
|
||||
Amount: 6
|
||||
- Item: Ep19_Snow_Flower
|
||||
Amount: 20
|
||||
- Item: Boost_Armor_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Atker_Plate
|
||||
- Item: Atker_Manteau
|
||||
- Item: Atker_Greave
|
||||
- Item: Atker_Ring
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Ran_Suits
|
||||
- Item: Ran_Manteau
|
||||
- Item: Ran_Boots
|
||||
- Item: Ran_Brooch
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Ele_Robe
|
||||
- Item: Ele_Muffler
|
||||
- Item: Ele_Shoes
|
||||
- Item: Ele_Earing
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Defn_Robe
|
||||
- Item: Defn_Muffler
|
||||
- Item: Defn_Shoes
|
||||
- Item: Defn_Earing
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: AllMighty_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: AllMighty_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: AllMighty_Pendant_Box
|
||||
- Item: TrueGem_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: TrueGem_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: TrueGem_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: TrueGem_Shoes_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: TrueGem_Armor_Box
|
||||
- Item: PerfectSize_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: PerfectSize_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: PerfectSize_Armor_Box
|
||||
- Item: Mammoth_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Mammoth_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Mammoth_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Mammoth_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Mammoth_Shoes_Box
|
||||
- Item: SpellCaster_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: SpellCaster_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: SpellCaster_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: SpellCaster_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: SpellCaster_Shoes_Box
|
||||
- Item: Absorb_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Absorb_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Absorb_Shield_Box
|
||||
- Item: R_Bearers_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: R_Bearers_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: R_Bearers_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: R_Bearers_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: R_Bearers_Shoes_Box
|
||||
- Item: Hasty_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Hasty_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Hasty_Shield_Box
|
||||
- Item: MAutoSpell_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: MAutoSpell_Earring_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: MAutoSpell_Pendant_Box
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: MAutoSpell_Armor_Box
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: MAutoSpell_Shoes_Box
|
||||
- Item: Infinity_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Infinity_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Infinity_Shield_Box
|
||||
- Item: EXP_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: EXP_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: EXP_Shield_Box
|
||||
- Item: M_Blitz_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: M_Blitz_Weapon_Box
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: M_Blitz_Shield_Box
|
||||
- Item: GoodnEvil_Circlet_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: GoodnEvil_Circlet_NW
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: GoodnEvil_Circlet_NW2
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: GoodnEvil_Circlet_NW3
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: GoodnEvil_Circlet_NW4
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Minus_Dex
|
||||
Amount: 6
|
||||
- Item: GoodnEvil_Circlet_NW5
|
||||
- Item: Hero_Weapon_Up_S_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Hero_Weapon_Up_Box_1
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Hero_Weapon_Up_Box_2
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Hero_Weapon_Up_Box_3
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Hero_Weapon_Up_Box_4
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Hero_Weapon_Up_Box_5
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Minus_Luk
|
||||
Amount: 6
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Minus_Str
|
||||
- Item: Minus_Agi
|
||||
- Item: Minus_Vit
|
||||
- Item: Minus_Int
|
||||
- Item: Minus_Dex
|
||||
- Item: Minus_Luk
|
||||
- Item: aegis_101471
|
||||
- Item: Hero_Weapon_Up_Box_6
|
||||
- Item: Hero_Weapon_Hammer_S
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Fire_Bottle
|
||||
Amount: 50
|
||||
- Item: Hero_Weapon_Hammer_1
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Acid_Bottle
|
||||
Amount: 50
|
||||
- Item: Hero_Weapon_Hammer_2
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: MenEater_Plant_Bottle
|
||||
Amount: 50
|
||||
- Item: Hero_Weapon_Hammer_3
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Coating_Bottle
|
||||
Amount: 50
|
||||
- Item: Hero_Weapon_Hammer_4
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Mini_Bottle
|
||||
Amount: 50
|
||||
- Item: aegis_101542
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101543
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101544
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101545
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101546
|
||||
- Item: aegis_101547
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101548
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101549
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101550
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101551
|
||||
- Item: aegis_101552
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101553
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101554
|
||||
- Item: aegis_101555
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101556
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101557
|
||||
- Item: aegis_101563
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Ignis_CapK
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Phantom_Cap
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Stripe_Hat
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Clock_Casket_RD
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Large_Sorcerer_Crown
|
||||
- Item: Hero_Weapon_Hammer_5
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Scorpio_Diadem_K
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Sagittarius_DiademK
|
||||
- Item: aegis_101565
|
||||
- Item: Hero_Weapon_Hammer_6
|
||||
- Item: aegis_102215
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Melee
|
||||
- Item: Bio_Weapon_Refine_Cube
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Magic
|
||||
- Item: Old_Refine_Cube
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Melee
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Magic
|
||||
- Item: aegis_101654
|
||||
- Item: Geffen_Refine_Cube
|
||||
- Item: aegis_102216
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101655
|
||||
- Item: Bio_Helm_Refine_Cube
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101656
|
||||
- Item: aegis_101657
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101658
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101659
|
||||
- Item: Circlet_Refine_Cube
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101660
|
||||
- Item: Auto_Armor_Refine_Cube
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101661
|
||||
- Item: aegis_101662
|
||||
- Item: Racecap_Refine_Cube
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: OS_Weapon_Refine_Cube
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Temporal_Refine_Cube
|
||||
- Item: Hero_Weapon_S_Box_1
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101663
|
||||
- Item: Royal_Bow_K
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101664
|
||||
- Item: aegis_101727
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101717
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101718
|
||||
- Item: Shadow_Staff_K
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101719
|
||||
- Item: Iron_Nail_K
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101720
|
||||
- Item: aegis_101728
|
||||
- Item: Blue_Crystal_Staff
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Freezing_Rod
|
||||
Refine: 11
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Ancient_Hero_Boots
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_2
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101721
|
||||
- Item: Sword_Of_Bluefire
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101722
|
||||
- Item: Iron_Staff
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101723
|
||||
- Item: Oriental_Sword
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101724
|
||||
- Item: aegis_101729
|
||||
- Item: Fog_Dew_Sword
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Sharp_Wind_Sword
|
||||
Refine: 11
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Humma_Clear
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_3
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101725
|
||||
- Item: Narcis_Bow
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101726
|
||||
- Item: Magic_Sword
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Avenger
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Undine_Spear_K
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Demon_Hunting_Bible_K
|
||||
Refine: 11
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Shiver_Katar_K
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_4
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: OneSkyOneSun
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: SoulWeight
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: MeawFoxtail
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Freedom_Stick
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Blessed_Knife
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_5
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Dragonic_Slayer
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Light_Blade
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Slate_Sword
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Trumpet_Shell_K
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Barb_Wire_K
|
||||
Refine: 11
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Meteor_Striker
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_6
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Saint_Hall
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Ray_Knuckle
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Blade_Katar
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Fatalist
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Scalet_Dragon_L_Bow
|
||||
Refine: 11
|
||||
- Item: Hero_Weapon_S_Box_7
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Crimson_Rose
|
||||
Refine: 11
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Master_Soul_Rifle
|
||||
Refine: 11
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Demon_S_Shot
|
||||
Refine: 11
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Golden_L_Launcher
|
||||
Refine: 11
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: The_Black_Gatling
|
||||
Refine: 11
|
||||
- Item: 2023_Spring_Select
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Lop_Bunny_Cloak
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Heart_Chiffon_Rabbit
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_Teaparty_Wonderland
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: C_Chocolat_Rabbit_Hair
|
||||
- Item: RO_Concert_Scroll2
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Headset_OST
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Music_Decoration
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_Whistle
|
||||
- Item: 21th_Costume_Select
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Ocean_Color_Long
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Aqua_Fin_Decoration
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_Sailor_Cap
|
||||
- Item: Cinnamon_Costume_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Cinnamon2
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Cinnamon
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_JP_EV16
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: C_JP_EV17
|
||||
- Item: IsgardCrown_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Glacier_Helm_1
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Glacier_Helm_2
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Glacier_Helm_3
|
||||
- Item: AceCard_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Heart_Ace_Melee
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Spade_Ace_Melee
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Diamond_Ace_Range
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Clover_Ace_Defense
|
||||
- Item: Loki_Coin_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Loki_Coin
|
||||
Amount: 10
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Loki_Coin_2
|
||||
Amount: 10
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Loki_Coin_3
|
||||
Amount: 10
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Loki_Coin_4
|
||||
Amount: 10
|
||||
- Item: Loki_Advice_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Loki_Advice
|
||||
Amount: 10
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Loki_Advice_2
|
||||
Amount: 10
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Loki_Advice_3
|
||||
Amount: 10
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Loki_Advice_4
|
||||
Amount: 10
|
||||
- Item: 2023_Xmas_Costume
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_SnowmanHat
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_WinterNightBells
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_SantaTeddyBear
|
||||
- Item: 10AllMighty_Select_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: S_AllMighty_Earring
|
||||
Refine: 10
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: S_AllMighty_Pendant
|
||||
Refine: 10
|
||||
- Item: Sonic_Costume_Pack
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Super_Sonic_Mini
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Chaos_Emerald
|
||||
|
||||
@@ -15318,3 +15318,663 @@ Body:
|
||||
MinValue: 1
|
||||
MaxValue: 7
|
||||
Chance: 400
|
||||
- Id: 168
|
||||
Group: PONTIFEX_COURAGE
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
- Option: VAR_MAXHPAMOUNT
|
||||
MinValue: 200
|
||||
MaxValue: 1000
|
||||
Chance: 10000
|
||||
- Option: VAR_MAXSPAMOUNT
|
||||
MinValue: 50
|
||||
MaxValue: 250
|
||||
Chance: 10000
|
||||
- Option: VAR_ATKPERCENT
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
- Option: VAR_ATTPOWER
|
||||
MinValue: 10
|
||||
MaxValue: 50
|
||||
Chance: 10000
|
||||
- Option: VAR_ITEMDEFPOWER
|
||||
MinValue: 10
|
||||
MaxValue: 50
|
||||
Chance: 10000
|
||||
- Option: VAR_AVOIDSUCCESSVALUE
|
||||
MinValue: 5
|
||||
MaxValue: 25
|
||||
Chance: 10000
|
||||
- Option: VAR_HITSUCCESSVALUE
|
||||
MinValue: 5
|
||||
MaxValue: 25
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_HUMAN
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_ANIMAL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_DEVIL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_DRAGON
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_PLANT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_NOTHING
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_ANGEL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_UNDEAD
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_INSECT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_FISHS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RANGE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MELEE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_CRI_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 3
|
||||
Chance: 10000
|
||||
- Slot: 2
|
||||
Options:
|
||||
- Option: DAMAGE_PROPERTY_FIRE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_SAINT_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_DARKNESS_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_POISON_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_NOTHING_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_UNDEAD_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: RANGE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MELEE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_CRI_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_SMALL_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_MIDIUM_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_LARGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 3
|
||||
Chance: 10000
|
||||
- Id: 169
|
||||
Group: PONTIFEX_WISDOM
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
- Option: VAR_MAXHPAMOUNT
|
||||
MinValue: 200
|
||||
MaxValue: 1000
|
||||
Chance: 10000
|
||||
- Option: VAR_MAXSPAMOUNT
|
||||
MinValue: 50
|
||||
MaxValue: 250
|
||||
Chance: 10000
|
||||
- Option: VAR_MAGICATKPERCENT
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
- Option: VAR_ATTMPOWER
|
||||
MinValue: 10
|
||||
MaxValue: 50
|
||||
Chance: 10000
|
||||
- Option: VAR_ITEMDEFPOWER
|
||||
MinValue: 10
|
||||
MaxValue: 50
|
||||
Chance: 10000
|
||||
- Option: VAR_AVOIDSUCCESSVALUE
|
||||
MinValue: 5
|
||||
MaxValue: 25
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_CAST_TIME
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_HUMAN
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_ANIMAL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_DEVIL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_DRAGON
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_PLANT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_NOTHING
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_ANGEL
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_UNDEAD
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_INSECT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_FISHS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WATER
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WIND
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_GROUND
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_FIRE
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_SAINT
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_DARKNESS
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_POISON
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_NOTHING
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_TELEKINESIS
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 3
|
||||
Chance: 10000
|
||||
- Slot: 2
|
||||
Options:
|
||||
- Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WATER
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WIND
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_GROUND
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_FIRE
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_SAINT
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_DARKNESS
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_POISON
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_NOTHING
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_TELEKINESIS
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_SMALL_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_MIDIUM_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_LARGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 3
|
||||
Chance: 10000
|
||||
- Id: 170
|
||||
Group: PONTIFEX_TENACITY
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
- Option: VAR_MAXHPAMOUNT
|
||||
MinValue: 250
|
||||
MaxValue: 1250
|
||||
Chance: 10000
|
||||
- Option: VAR_MAXSPAMOUNT
|
||||
MinValue: 75
|
||||
MaxValue: 375
|
||||
Chance: 10000
|
||||
- Option: VAR_ATKPERCENT
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: VAR_ATTPOWER
|
||||
MinValue: 12
|
||||
MaxValue: 60
|
||||
Chance: 10000
|
||||
- Option: VAR_ITEMDEFPOWER
|
||||
MinValue: 12
|
||||
MaxValue: 60
|
||||
Chance: 10000
|
||||
- Option: VAR_AVOIDSUCCESSVALUE
|
||||
MinValue: 6
|
||||
MaxValue: 30
|
||||
Chance: 10000
|
||||
- Option: VAR_HITSUCCESSVALUE
|
||||
MinValue: 6
|
||||
MaxValue: 30
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_HUMAN
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_ANIMAL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_DEVIL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_DRAGON
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_PLANT
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_NOTHING
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_ANGEL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_UNDEAD
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_INSECT
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_DAMAGE_FISHS
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RANGE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: MELEE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_CRI_TARGET
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
- Slot: 2
|
||||
Options:
|
||||
- Option: DAMAGE_PROPERTY_WATER_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_WIND_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_GROUND_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_FIRE_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_SAINT_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_DARKNESS_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_POISON_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_NOTHING_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_PROPERTY_UNDEAD_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RANGE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MELEE_ATTACK_DAMAGE_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_CRI_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_SMALL_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_MIDIUM_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DAMAGE_SIZE_LARGE_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
- Id: 171
|
||||
Group: PONTIFEX_BELIEF
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
- Option: VAR_MAXHPAMOUNT
|
||||
MinValue: 250
|
||||
MaxValue: 1250
|
||||
Chance: 10000
|
||||
- Option: VAR_MAXSPAMOUNT
|
||||
MinValue: 75
|
||||
MaxValue: 375
|
||||
Chance: 10000
|
||||
- Option: VAR_MAGICATKPERCENT
|
||||
MinValue: 2
|
||||
MaxValue: 10
|
||||
Chance: 10000
|
||||
- Option: VAR_ATTMPOWER
|
||||
MinValue: 12
|
||||
MaxValue: 60
|
||||
Chance: 10000
|
||||
- Option: VAR_ITEMDEFPOWER
|
||||
MinValue: 12
|
||||
MaxValue: 60
|
||||
Chance: 10000
|
||||
- Option: VAR_AVOIDSUCCESSVALUE
|
||||
MinValue: 6
|
||||
MaxValue: 30
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_CAST_TIME
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_HUMAN
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_ANIMAL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_DEVIL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_DRAGON
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_PLANT
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_NOTHING
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_ANGEL
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_UNDEAD
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_INSECT
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: RACE_MDAMAGE_FISHS
|
||||
MinValue: 4
|
||||
MaxValue: 20
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WATER
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WIND
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_GROUND
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_FIRE
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_SAINT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_DARKNESS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_POISON
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_NOTHING
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_TELEKINESIS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
- Slot: 2
|
||||
Options:
|
||||
- Option: MDAMAGE_PROPERTY_POISON_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_PROPERTY_NOTHING_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WATER
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_WIND
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_GROUND
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_FIRE
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_SAINT
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_DARKNESS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_POISON
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_NOTHING
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: ADDSKILLMDAMAGE_TELEKINESIS
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_SMALL_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_MIDIUM_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: MDAMAGE_SIZE_LARGE_TARGET
|
||||
MinValue: 3
|
||||
MaxValue: 15
|
||||
Chance: 10000
|
||||
- Option: DEC_SPELL_DELAY_TIME
|
||||
MinValue: 1
|
||||
MaxValue: 5
|
||||
Chance: 10000
|
||||
|
||||
14502
db/re/item_reform.yml
14502
db/re/item_reform.yml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1962
db/re/job_exp.yml
1962
db/re/job_exp.yml
File diff suppressed because it is too large
Load Diff
@@ -8884,6 +8884,15 @@ Body:
|
||||
- Level: 50
|
||||
Vit: 1
|
||||
Pow: 1
|
||||
- Level: 51
|
||||
Crt: 1
|
||||
- Level: 52
|
||||
Pow: 1
|
||||
- Level: 54
|
||||
Pow: 1
|
||||
Crt: 1
|
||||
- Level: 55
|
||||
Sta: 1
|
||||
- Jobs:
|
||||
Meister: true
|
||||
Meister2: true
|
||||
@@ -9017,6 +9026,15 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Wis: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 52
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
- Jobs:
|
||||
Shadow_Cross: true
|
||||
MaxWeight: 32000
|
||||
@@ -9149,6 +9167,15 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Crt: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 53
|
||||
Con: 1
|
||||
- Level: 54
|
||||
Sta: 1
|
||||
Crt: 1
|
||||
- Level: 55
|
||||
Crt: 1
|
||||
- Jobs:
|
||||
Arch_Mage: true
|
||||
MaxWeight: 30000
|
||||
@@ -9281,6 +9308,15 @@ Body:
|
||||
- Level: 50
|
||||
Sta: 1
|
||||
Wis: 1
|
||||
- Level: 52
|
||||
Spl: 1
|
||||
- Level: 53
|
||||
Con: 1
|
||||
- Level: 54
|
||||
Sta: 1
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Spl: 1
|
||||
- Jobs:
|
||||
Cardinal: true
|
||||
MaxWeight: 30000
|
||||
@@ -9413,6 +9449,16 @@ Body:
|
||||
- Level: 50
|
||||
Spl: 1
|
||||
Crt: 1
|
||||
- Level: 51
|
||||
Spl: 1
|
||||
- Level: 52
|
||||
Pow: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 54
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Crt: 1
|
||||
- Jobs:
|
||||
Windhawk: true
|
||||
Windhawk2: true
|
||||
@@ -9546,6 +9592,15 @@ Body:
|
||||
- Level: 50
|
||||
Dex: 1
|
||||
Con: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 52
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
- Jobs:
|
||||
Imperial_Guard: true
|
||||
Imperial_Guard2: true
|
||||
@@ -9680,6 +9735,15 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Sta: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 52
|
||||
Sta: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Wis: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Biolo: true
|
||||
MaxWeight: 32000
|
||||
@@ -9812,6 +9876,15 @@ Body:
|
||||
- Level: 50
|
||||
Str: 1
|
||||
Crt: 1
|
||||
- Level: 51
|
||||
Crt: 1
|
||||
- Level: 52
|
||||
Sta: 1
|
||||
- Level: 53
|
||||
Pow: 1
|
||||
Crt: 1
|
||||
- Level: 55
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Abyss_Chaser: true
|
||||
MaxWeight: 28000
|
||||
@@ -9944,6 +10017,15 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Spl: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 52
|
||||
Crt: 1
|
||||
- Level: 54
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Sta: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Elemental_Master: true
|
||||
MaxWeight: 30000
|
||||
@@ -10076,6 +10158,16 @@ Body:
|
||||
- Level: 50
|
||||
Wis: 1
|
||||
Spl: 1
|
||||
- Level: 51
|
||||
Spl: 1
|
||||
- Level: 52
|
||||
Sta: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 54
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Spl: 1
|
||||
- Jobs:
|
||||
Inquisitor: true
|
||||
MaxWeight: 30000
|
||||
@@ -10208,6 +10300,15 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Wis: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 52
|
||||
Sta: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
Wis: 1
|
||||
- Jobs:
|
||||
Troubadour: true
|
||||
MaxWeight: 32000
|
||||
@@ -10340,6 +10441,15 @@ Body:
|
||||
Con: 1
|
||||
- Level: 50
|
||||
Dex: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 52
|
||||
Spl: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Trouvere: true
|
||||
MaxWeight: 32000
|
||||
@@ -10473,6 +10583,15 @@ Body:
|
||||
Con: 1
|
||||
- Level: 50
|
||||
Agi: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 52
|
||||
Sta: 1
|
||||
- Level: 53
|
||||
Spl: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Sky_Emperor: true
|
||||
MaxWeight: 42000
|
||||
@@ -10607,6 +10726,14 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Crt: 1
|
||||
- Level: 51
|
||||
Sta: 1
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Soul_Ascetic: true
|
||||
MaxWeight: 42000
|
||||
@@ -10730,6 +10857,16 @@ Body:
|
||||
- Level: 50
|
||||
Wis: 1
|
||||
Spl: 1
|
||||
- Level: 51
|
||||
Spl: 1
|
||||
- Level: 52
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Wis: 1
|
||||
- Level: 54
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Spl: 1
|
||||
- Jobs:
|
||||
Shinkiro: true
|
||||
MaxWeight: 45000
|
||||
@@ -10863,6 +11000,16 @@ Body:
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
Crt: 1
|
||||
- Level: 51
|
||||
Crt: 1
|
||||
- Level: 52
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Wis: 1
|
||||
- Level: 54
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Sta: 1
|
||||
- Jobs:
|
||||
Shiranui: true
|
||||
MaxWeight: 45000
|
||||
@@ -10985,6 +11132,15 @@ Body:
|
||||
- Level: 50
|
||||
Wis: 1
|
||||
Spl: 1
|
||||
- Level: 51
|
||||
Pow: 1
|
||||
- Level: 52
|
||||
Spl: 1
|
||||
- Level: 54
|
||||
Spl: 1
|
||||
- Level: 55
|
||||
Spl: 1
|
||||
Con: 1
|
||||
- Jobs:
|
||||
Night_Watch: true
|
||||
MaxWeight: 48000
|
||||
@@ -11112,6 +11268,15 @@ Body:
|
||||
Con: 1
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Level: 54
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Pow: 1
|
||||
- Jobs:
|
||||
Hyper_Novice: true
|
||||
MaxWeight: 40000
|
||||
@@ -11248,6 +11413,15 @@ Body:
|
||||
- Level: 50
|
||||
Agi: 1
|
||||
Dex: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 52
|
||||
Pow: 1
|
||||
Con: 1
|
||||
- Level: 53
|
||||
Sta: 1
|
||||
- Level: 55
|
||||
Spl: 1
|
||||
- Jobs:
|
||||
Spirit_Handler: true
|
||||
MaxWeight: 42000
|
||||
@@ -11379,3 +11553,13 @@ Body:
|
||||
Crt: 1
|
||||
- Level: 50
|
||||
Pow: 1
|
||||
- Level: 51
|
||||
Con: 1
|
||||
- Level: 52
|
||||
Pow: 1
|
||||
- Level: 53
|
||||
Spl: 1
|
||||
- Level: 54
|
||||
Wis: 1
|
||||
- Level: 55
|
||||
Sta: 1
|
||||
|
||||
@@ -4727,170 +4727,174 @@ Body:
|
||||
- Item: Gray_W_Muffler
|
||||
- Item: Gray_W_Boots
|
||||
- Item: Gray_W_Shoes
|
||||
# - Item: Pontifex_Courage
|
||||
# TargetItems:
|
||||
# - Item: Adulter_F_T_Sword
|
||||
# - Item: Adulter_F_Cakram
|
||||
# - Item: Adulter_F_Katar
|
||||
# - Item: Adulter_F_Lance
|
||||
# - Item: Adulter_F_T_Staff
|
||||
# - Item: Adulter_F_Rod
|
||||
# - Item: Adulter_F_Humma
|
||||
# - Item: Adulter_F_C_Humma
|
||||
# - Item: Adulter_F_C_Bow
|
||||
# - Item: Adulter_F_Ballista
|
||||
# - Item: Adulter_F_A_Bow
|
||||
# - Item: Adulter_F_Revolver
|
||||
# - Item: Adulter_F_Rifle
|
||||
# - Item: Adulter_F_Shotgun
|
||||
# - Item: Adulter_F_Gatling
|
||||
# - Item: Adulter_F_Launcher
|
||||
# - Item: Adulter_F_G_Sword
|
||||
# - Item: Adulter_F_Lapier
|
||||
# - Item: Adulter_F_Dagger
|
||||
# - Item: Adulter_F_Axe
|
||||
# - Item: Adulter_F_G_Spear
|
||||
# - Item: Adulter_F_M_Book
|
||||
# - Item: Adulter_F_P_Book
|
||||
# - Item: Adulter_F_Bible
|
||||
# - Item: Adulter_F_Moon_B
|
||||
# - Item: Adulter_F_Star_B
|
||||
# - Item: Adulter_F_Wand
|
||||
# - Item: Adulter_F_S_Stick
|
||||
# - Item: Adulter_F_D_Wand
|
||||
# - Item: Adulter_F_F_Wand
|
||||
# - Item: Adulter_F_F_model
|
||||
# - Item: Adulter_F_Knuckle
|
||||
# - Item: Adulter_F_Claw
|
||||
# - Item: Adulter_F_Violin
|
||||
# - Item: Adulter_F_Harp
|
||||
# - Item: Adulter_F_C_Rope
|
||||
# - Item: Adulter_F_Ribbon
|
||||
# - Item: Adulter_F_Mace
|
||||
# - Item: Adulter_F_Hall
|
||||
# - Item: Pontifex_Wisdom
|
||||
# TargetItems:
|
||||
# - Item: Adulter_F_T_Sword
|
||||
# - Item: Adulter_F_Cakram
|
||||
# - Item: Adulter_F_Katar
|
||||
# - Item: Adulter_F_Lance
|
||||
# - Item: Adulter_F_T_Staff
|
||||
# - Item: Adulter_F_Rod
|
||||
# - Item: Adulter_F_Humma
|
||||
# - Item: Adulter_F_C_Humma
|
||||
# - Item: Adulter_F_C_Bow
|
||||
# - Item: Adulter_F_Ballista
|
||||
# - Item: Adulter_F_A_Bow
|
||||
# - Item: Adulter_F_Revolver
|
||||
# - Item: Adulter_F_Rifle
|
||||
# - Item: Adulter_F_Shotgun
|
||||
# - Item: Adulter_F_Gatling
|
||||
# - Item: Adulter_F_Launcher
|
||||
# - Item: Adulter_F_G_Sword
|
||||
# - Item: Adulter_F_Lapier
|
||||
# - Item: Adulter_F_Dagger
|
||||
# - Item: Adulter_F_Axe
|
||||
# - Item: Adulter_F_G_Spear
|
||||
# - Item: Adulter_F_M_Book
|
||||
# - Item: Adulter_F_P_Book
|
||||
# - Item: Adulter_F_Bible
|
||||
# - Item: Adulter_F_Moon_B
|
||||
# - Item: Adulter_F_Star_B
|
||||
# - Item: Adulter_F_Wand
|
||||
# - Item: Adulter_F_S_Stick
|
||||
# - Item: Adulter_F_D_Wand
|
||||
# - Item: Adulter_F_F_Wand
|
||||
# - Item: Adulter_F_F_model
|
||||
# - Item: Adulter_F_Knuckle
|
||||
# - Item: Adulter_F_Claw
|
||||
# - Item: Adulter_F_Violin
|
||||
# - Item: Adulter_F_Harp
|
||||
# - Item: Adulter_F_C_Rope
|
||||
# - Item: Adulter_F_Ribbon
|
||||
# - Item: Adulter_F_Mace
|
||||
# - Item: Adulter_F_Hall
|
||||
# - Item: Pontifex_Tenacity
|
||||
# TargetItems:
|
||||
# - Item: Vivatus_F_T_Sword
|
||||
# - Item: Vivatus_F_Cakram
|
||||
# - Item: Vivatus_F_Katar
|
||||
# - Item: Vivatus_F_Lance
|
||||
# - Item: Vivatus_F_T_Staff
|
||||
# - Item: Vivatus_F_Rod
|
||||
# - Item: Vivatus_F_C_Bow
|
||||
# - Item: Vivatus_F_Ballista
|
||||
# - Item: Vivatus_F_A_Bow
|
||||
# - Item: Vivatus_F_G_Sword
|
||||
# - Item: Vivatus_F_Lapier
|
||||
# - Item: Vivatus_F_Dagger
|
||||
# - Item: Vivatus_F_Axe
|
||||
# - Item: Vivatus_F_G_Spear
|
||||
# - Item: Vivatus_F_M_Book
|
||||
# - Item: Vivatus_F_P_Book
|
||||
# - Item: Vivatus_F_Bible
|
||||
# - Item: Vivatus_F_Wand
|
||||
# - Item: Vivatus_F_Knuckle
|
||||
# - Item: Vivatus_F_Claw
|
||||
# - Item: Vivatus_F_Violin
|
||||
# - Item: Vivatus_F_Harp
|
||||
# - Item: Vivatus_F_C_Rope
|
||||
# - Item: Vivatus_F_Ribbon
|
||||
# - Item: Vivatus_F_Mace
|
||||
# - Item: Vivatus_F_Hall
|
||||
# - Item: Vivatus_F_D_Wand
|
||||
# - Item: Vivatus_F_S_Stick
|
||||
# - Item: Vivatus_F_F_Wand
|
||||
# - Item: Vivatus_F_F_model
|
||||
# - Item: Vivatus_F_Star_B
|
||||
# - Item: Vivatus_F_Moon_B
|
||||
# - Item: Vivatus_F_Gatling
|
||||
# - Item: Vivatus_F_Launcher
|
||||
# - Item: Vivatus_F_Rifle
|
||||
# - Item: Vivatus_F_Shotgun
|
||||
# - Item: Vivatus_F_Revolver
|
||||
# - Item: Vivatus_F_C_Humma
|
||||
# - Item: Vivatus_F_Humma
|
||||
# - Item: Pontifex_Belief
|
||||
# TargetItems:
|
||||
# - Item: Vivatus_F_T_Sword
|
||||
# - Item: Vivatus_F_Cakram
|
||||
# - Item: Vivatus_F_Katar
|
||||
# - Item: Vivatus_F_Lance
|
||||
# - Item: Vivatus_F_T_Staff
|
||||
# - Item: Vivatus_F_Rod
|
||||
# - Item: Vivatus_F_C_Bow
|
||||
# - Item: Vivatus_F_Ballista
|
||||
# - Item: Vivatus_F_A_Bow
|
||||
# - Item: Vivatus_F_G_Sword
|
||||
# - Item: Vivatus_F_Lapier
|
||||
# - Item: Vivatus_F_Dagger
|
||||
# - Item: Vivatus_F_Axe
|
||||
# - Item: Vivatus_F_G_Spear
|
||||
# - Item: Vivatus_F_M_Book
|
||||
# - Item: Vivatus_F_P_Book
|
||||
# - Item: Vivatus_F_Bible
|
||||
# - Item: Vivatus_F_Wand
|
||||
# - Item: Vivatus_F_Knuckle
|
||||
# - Item: Vivatus_F_Claw
|
||||
# - Item: Vivatus_F_Violin
|
||||
# - Item: Vivatus_F_Harp
|
||||
# - Item: Vivatus_F_C_Rope
|
||||
# - Item: Vivatus_F_Ribbon
|
||||
# - Item: Vivatus_F_Mace
|
||||
# - Item: Vivatus_F_Hall
|
||||
# - Item: Vivatus_F_D_Wand
|
||||
# - Item: Vivatus_F_S_Stick
|
||||
# - Item: Vivatus_F_F_Wand
|
||||
# - Item: Vivatus_F_F_model
|
||||
# - Item: Vivatus_F_Star_B
|
||||
# - Item: Vivatus_F_Moon_B
|
||||
# - Item: Vivatus_F_Gatling
|
||||
# - Item: Vivatus_F_Launcher
|
||||
# - Item: Vivatus_F_Rifle
|
||||
# - Item: Vivatus_F_Shotgun
|
||||
# - Item: Vivatus_F_Revolver
|
||||
# - Item: Vivatus_F_C_Humma
|
||||
# - Item: Vivatus_F_Humma
|
||||
- Item: Pontifex_Courage
|
||||
RandomOptionGroup: PONTIFEX_COURAGE
|
||||
TargetItems:
|
||||
- Item: Adulter_F_T_Sword
|
||||
- Item: Adulter_F_Cakram
|
||||
- Item: Adulter_F_Katar
|
||||
- Item: Adulter_F_Lance
|
||||
- Item: Adulter_F_T_Staff
|
||||
- Item: Adulter_F_Rod
|
||||
- Item: Adulter_F_Humma
|
||||
- Item: Adulter_F_C_Humma
|
||||
- Item: Adulter_F_C_Bow
|
||||
- Item: Adulter_F_Ballista
|
||||
- Item: Adulter_F_A_Bow
|
||||
- Item: Adulter_F_Revolver
|
||||
- Item: Adulter_F_Rifle
|
||||
- Item: Adulter_F_Shotgun
|
||||
- Item: Adulter_F_Gatling
|
||||
- Item: Adulter_F_Launcher
|
||||
- Item: Adulter_F_G_Sword
|
||||
- Item: Adulter_F_Lapier
|
||||
- Item: Adulter_F_Dagger
|
||||
- Item: Adulter_F_Axe
|
||||
- Item: Adulter_F_G_Spear
|
||||
- Item: Adulter_F_M_Book
|
||||
- Item: Adulter_F_P_Book
|
||||
- Item: Adulter_F_Bible
|
||||
- Item: Adulter_F_Moon_B
|
||||
- Item: Adulter_F_Star_B
|
||||
- Item: Adulter_F_Wand
|
||||
- Item: Adulter_F_S_Stick
|
||||
- Item: Adulter_F_D_Wand
|
||||
- Item: Adulter_F_F_Wand
|
||||
- Item: Adulter_F_F_model
|
||||
- Item: Adulter_F_Knuckle
|
||||
- Item: Adulter_F_Claw
|
||||
- Item: Adulter_F_Violin
|
||||
- Item: Adulter_F_Harp
|
||||
- Item: Adulter_F_C_Rope
|
||||
- Item: Adulter_F_Ribbon
|
||||
- Item: Adulter_F_Mace
|
||||
- Item: Adulter_F_Hall
|
||||
- Item: Pontifex_Wisdom
|
||||
RandomOptionGroup: PONTIFEX_WISDOM
|
||||
TargetItems:
|
||||
- Item: Adulter_F_T_Sword
|
||||
- Item: Adulter_F_Cakram
|
||||
- Item: Adulter_F_Katar
|
||||
- Item: Adulter_F_Lance
|
||||
- Item: Adulter_F_T_Staff
|
||||
- Item: Adulter_F_Rod
|
||||
- Item: Adulter_F_Humma
|
||||
- Item: Adulter_F_C_Humma
|
||||
- Item: Adulter_F_C_Bow
|
||||
- Item: Adulter_F_Ballista
|
||||
- Item: Adulter_F_A_Bow
|
||||
- Item: Adulter_F_Revolver
|
||||
- Item: Adulter_F_Rifle
|
||||
- Item: Adulter_F_Shotgun
|
||||
- Item: Adulter_F_Gatling
|
||||
- Item: Adulter_F_Launcher
|
||||
- Item: Adulter_F_G_Sword
|
||||
- Item: Adulter_F_Lapier
|
||||
- Item: Adulter_F_Dagger
|
||||
- Item: Adulter_F_Axe
|
||||
- Item: Adulter_F_G_Spear
|
||||
- Item: Adulter_F_M_Book
|
||||
- Item: Adulter_F_P_Book
|
||||
- Item: Adulter_F_Bible
|
||||
- Item: Adulter_F_Moon_B
|
||||
- Item: Adulter_F_Star_B
|
||||
- Item: Adulter_F_Wand
|
||||
- Item: Adulter_F_S_Stick
|
||||
- Item: Adulter_F_D_Wand
|
||||
- Item: Adulter_F_F_Wand
|
||||
- Item: Adulter_F_F_model
|
||||
- Item: Adulter_F_Knuckle
|
||||
- Item: Adulter_F_Claw
|
||||
- Item: Adulter_F_Violin
|
||||
- Item: Adulter_F_Harp
|
||||
- Item: Adulter_F_C_Rope
|
||||
- Item: Adulter_F_Ribbon
|
||||
- Item: Adulter_F_Mace
|
||||
- Item: Adulter_F_Hall
|
||||
- Item: Pontifex_Tenacity
|
||||
RandomOptionGroup: PONTIFEX_TENACITY
|
||||
TargetItems:
|
||||
- Item: Vivatus_F_T_Sword
|
||||
- Item: Vivatus_F_Cakram
|
||||
- Item: Vivatus_F_Katar
|
||||
- Item: Vivatus_F_Lance
|
||||
- Item: Vivatus_F_T_Staff
|
||||
- Item: Vivatus_F_Rod
|
||||
- Item: Vivatus_F_C_Bow
|
||||
- Item: Vivatus_F_Ballista
|
||||
- Item: Vivatus_F_A_Bow
|
||||
- Item: Vivatus_F_G_Sword
|
||||
- Item: Vivatus_F_Lapier
|
||||
- Item: Vivatus_F_Dagger
|
||||
- Item: Vivatus_F_Axe
|
||||
- Item: Vivatus_F_G_Spear
|
||||
- Item: Vivatus_F_M_Book
|
||||
- Item: Vivatus_F_P_Book
|
||||
- Item: Vivatus_F_Bible
|
||||
- Item: Vivatus_F_Wand
|
||||
- Item: Vivatus_F_Knuckle
|
||||
- Item: Vivatus_F_Claw
|
||||
- Item: Vivatus_F_Violin
|
||||
- Item: Vivatus_F_Harp
|
||||
- Item: Vivatus_F_C_Rope
|
||||
- Item: Vivatus_F_Ribbon
|
||||
- Item: Vivatus_F_Mace
|
||||
- Item: Vivatus_F_Hall
|
||||
- Item: Vivatus_F_D_Wand
|
||||
- Item: Vivatus_F_S_Stick
|
||||
- Item: Vivatus_F_F_Wand
|
||||
- Item: Vivatus_F_F_model
|
||||
- Item: Vivatus_F_Star_B
|
||||
- Item: Vivatus_F_Moon_B
|
||||
- Item: Vivatus_F_Gatling
|
||||
- Item: Vivatus_F_Launcher
|
||||
- Item: Vivatus_F_Rifle
|
||||
- Item: Vivatus_F_Shotgun
|
||||
- Item: Vivatus_F_Revolver
|
||||
- Item: Vivatus_F_C_Humma
|
||||
- Item: Vivatus_F_Humma
|
||||
- Item: Pontifex_Belief
|
||||
RandomOptionGroup: PONTIFEX_BELIEF
|
||||
TargetItems:
|
||||
- Item: Vivatus_F_T_Sword
|
||||
- Item: Vivatus_F_Cakram
|
||||
- Item: Vivatus_F_Katar
|
||||
- Item: Vivatus_F_Lance
|
||||
- Item: Vivatus_F_T_Staff
|
||||
- Item: Vivatus_F_Rod
|
||||
- Item: Vivatus_F_C_Bow
|
||||
- Item: Vivatus_F_Ballista
|
||||
- Item: Vivatus_F_A_Bow
|
||||
- Item: Vivatus_F_G_Sword
|
||||
- Item: Vivatus_F_Lapier
|
||||
- Item: Vivatus_F_Dagger
|
||||
- Item: Vivatus_F_Axe
|
||||
- Item: Vivatus_F_G_Spear
|
||||
- Item: Vivatus_F_M_Book
|
||||
- Item: Vivatus_F_P_Book
|
||||
- Item: Vivatus_F_Bible
|
||||
- Item: Vivatus_F_Wand
|
||||
- Item: Vivatus_F_Knuckle
|
||||
- Item: Vivatus_F_Claw
|
||||
- Item: Vivatus_F_Violin
|
||||
- Item: Vivatus_F_Harp
|
||||
- Item: Vivatus_F_C_Rope
|
||||
- Item: Vivatus_F_Ribbon
|
||||
- Item: Vivatus_F_Mace
|
||||
- Item: Vivatus_F_Hall
|
||||
- Item: Vivatus_F_D_Wand
|
||||
- Item: Vivatus_F_S_Stick
|
||||
- Item: Vivatus_F_F_Wand
|
||||
- Item: Vivatus_F_F_model
|
||||
- Item: Vivatus_F_Star_B
|
||||
- Item: Vivatus_F_Moon_B
|
||||
- Item: Vivatus_F_Gatling
|
||||
- Item: Vivatus_F_Launcher
|
||||
- Item: Vivatus_F_Rifle
|
||||
- Item: Vivatus_F_Shotgun
|
||||
- Item: Vivatus_F_Revolver
|
||||
- Item: Vivatus_F_C_Humma
|
||||
- Item: Vivatus_F_Humma
|
||||
- Item: Bio_Helm_Refine_Cube
|
||||
ResultRefine: 11
|
||||
MaximumRefine: 10
|
||||
|
||||
1619
db/re/mob_db.yml
1619
db/re/mob_db.yml
File diff suppressed because it is too large
Load Diff
@@ -14489,3 +14489,234 @@
|
||||
21395,ILL_MAYA@NPC_IMMUNE_PROPERTY,attack,754,1,1500,1500,60000,no,self,longrangeattacked,0,,,,,,,
|
||||
21395,ILL_MAYA@NPC_DAMAGE_HEAL,attack,753,1,500,1500,120000,no,target,myhpltmaxrate,50,,,,,,32,
|
||||
21395,ILL_MAYA@NPC_ALL_STAT_DOWN,attack,751,5,5000,1500,45000,no,target,always,0,,,,,,18,
|
||||
|
||||
// Episode 18
|
||||
20846,MD_HIDDEN_GROUND01@NPC_GRADUAL_GRAVITY,idle,752,3,1000,0,5000,no,target,always,0,,,,,,,
|
||||
20846,MD_HIDDEN_GROUND01@NPC_GRADUAL_GRAVITY,attack,752,3,1000,0,5000,no,target,always,0,,,,,,,
|
||||
21295,EP18_ASH_TOAD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21295,EP18_ASH_TOAD@NPC_GUIDEDATTACK,chase,172,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21295,EP18_ASH_TOAD@NPC_POISONATTACK,attack,188,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
21295,EP18_ASH_TOAD@NPC_BLINDATTACK,chase,177,5,1000,500,5000,no,target,always,0,,,,,,,
|
||||
21295,EP18_ASH_TOAD@NPC_BLINDATTACK,attack,177,3,1000,500,5000,no,target,always,0,,,,,,,
|
||||
21296,EP18_RAKEHAND@NPC_GUIDEDATTACK,attack,172,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21296,EP18_RAKEHAND@NPC_GROUNDATTACK,attack,185,3,500,500,5000,no,target,always,0,,,,,,12,
|
||||
21296,EP18_RAKEHAND@NPC_STUNATTACK,attack,179,3,1000,500,5000,no,target,always,0,,,,,,11,
|
||||
21296,EP18_RAKEHAND@RG_CLOSECONFINE,attack,1005,1,1000,0,30000,yes,target,always,0,,,,,,,
|
||||
21297,EP18_SPARK@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21297,EP18_SPARK@MG_FIREBOLT,chase,19,3,2000,300,5000,no,target,always,0,,,,,,,
|
||||
21297,EP18_SPARK@MG_FIREBALL,chase,17,3,5000,0,30000,yes,target,always,0,,,,,,,
|
||||
21297,EP18_SPARK@NPC_GUIDEDATTACK,attack,172,3,2000,0,30000,yes,target,always,0,,,,,,,
|
||||
21297,EP18_SPARK@MG_FIREBOLT,attack,19,3,1000,0,10000,yes,target,always,0,,,,,,,
|
||||
21297,EP18_SPARK@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21297,EP18_SPARK@NPC_SELFDESTRUCTION,attack,173,1,10000,1000,0,no,self,myhpltmaxrate,30,,,,,,,
|
||||
21297,EP18_SPARK@NPC_SELFDESTRUCTION,chase,173,1,2000,1000,0,no,self,myhpltmaxrate,30,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@NPC_COMBOATTACK,chase,171,3,5000,0,30000,yes,target,always,0,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@SM_BASH,attack,5,4,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@NPC_GUIDEDATTACK,chase,172,3,2000,0,300000,yes,target,always,0,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@NPC_BLEEDING2,attack,764,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21298,EP18_HOT_MOLAR@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21298,EP18_HOT_MOLAR@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
|
||||
21299,EP18_VOLCARING@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21299,EP18_VOLCARING@MG_FIREBOLT,chase,19,5,1000,500,30000,yes,target,always,0,,,,,,,
|
||||
21299,EP18_VOLCARING@NPC_FIREATTACK,attack,186,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21300,EP18_LAVA_TOAD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21300,EP18_LAVA_TOAD@MG_FIREBOLT,chase,19,3,2000,0,30000,yes,target,always,0,,,,,,,
|
||||
21300,EP18_LAVA_TOAD@NPC_CRITICALSLASH,attack,170,1,3000,0,10000,yes,target,always,0,,,,,,,
|
||||
21300,EP18_LAVA_TOAD@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
|
||||
21300,EP18_LAVA_TOAD@RG_STRIPSHIELD,attack,216,3,3000,0,30000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_COMBOATTACK,idle,171,4,5000,0,5000,yes,target,always,0,,,,,,7,
|
||||
21301,EP18_BURNING_FANG@NPC_GUIDEDATTACK,chase,172,5,5000,0,1000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_MOVE_COORDINATE,chase,755,1,5000,0,30000,no,target,always,0,,,,,,39,
|
||||
21301,EP18_BURNING_FANG@NPC_CRITICALWOUND,attack,673,4,500,500,5000,no,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_MENTALBREAKER,attack,159,4,500,1500,5000,yes,target,always,0,,,,,,42,
|
||||
21301,EP18_BURNING_FANG@NPC_CRITICALSLASH,attack,170,1,10000,0,30000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_MOVE_COORDINATE,attack,755,1,5000,0,60000,no,target,longrangeattacked,0,,,,,,39,
|
||||
21301,EP18_BURNING_FANG@NPC_CURSEATTACK,attack,181,5,4000,0,30000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_STUNATTACK,attack,179,5,2000,0,30000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@HW_GANBANTEIN,attack,483,1,7000,0,60000,no,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_POWERUP,attack,349,3,3000,0,60000,yes,self,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@RG_STRIPHELM,attack,218,5,1000,0,30000,yes,target,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_SUMMONSLAVE,idle,196,1,10000,1000,30000,no,self,slavele,3,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_CALLSLAVE,idle,352,1,10000,0,30000,no,self,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_CALLSLAVE,attack,352,1,10000,0,30000,no,self,always,0,,,,,,,
|
||||
21301,EP18_BURNING_FANG@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
|
||||
21302,EP18_ASHHOPPER@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
|
||||
21302,EP18_ASHHOPPER@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,44,
|
||||
21302,EP18_ASHHOPPER@NPC_GUIDEDATTACK,chase,172,3,3000,500,30000,yes,target,always,0,,,,,,,
|
||||
21302,EP18_ASHHOPPER@NPC_POISONATTACK,attack,188,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
21302,EP18_ASHHOPPER@NPC_POISON_BUSTER,attack,742,1,2000,1500,30000,no,self,always,0,,,,,,,
|
||||
21302,EP18_ASHHOPPER@NPC_CLOUD_KILL,attack,739,3,2000,500,15000,no,target,always,0,,,,,,,
|
||||
21302,EP18_ASHHOPPER@MO_BODYRELOCATION,chase,264,1,2000,500,5000,yes,target,always,0,,,,,,28,
|
||||
21303,EP18_ASHRING@NPC_POISON,attack,176,3,500,800,5000,no,target,always,0,,,,,,,
|
||||
21303,EP18_ASHRING@NPC_POISONATTACK,attack,188,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21303,EP18_ASHRING@NPC_AGIUP,chase,350,1,1000,0,30000,yes,self,always,0,,,,,,,
|
||||
21303,EP18_ASHRING@WZ_QUAGMIRE,chase,92,2,500,0,30000,yes,target,always,0,,,,,,6,
|
||||
21304,EP18_GREY_WOLF@NPC_POISONATTACK,chase,188,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21304,EP18_GREY_WOLF@NPC_COMBOATTACK,attack,171,3,2000,200,5000,yes,target,always,0,,,,,,,
|
||||
21304,EP18_GREY_WOLF@NPC_COMBOATTACK,chase,171,3,2000,200,5000,yes,target,always,0,,,,,,,
|
||||
21304,EP18_GREY_WOLF@NPC_STUNATTACK,attack,179,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21304,EP18_GREY_WOLF@NPC_STUNATTACK,attack,179,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21305,EP18_TUMBLE_RING@AL_TELEPORT,idle,26,3,7000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
21305,EP18_TUMBLE_RING@NPC_CRITICALWOUND,attack,673,1,1000,300,5000,no,target,always,0,,,,,,,
|
||||
21305,EP18_TUMBLE_RING@NPC_POISONATTACK,attack,188,2,2000,500,15000,no,target,always,0,,,,,,9,
|
||||
21305,EP18_TUMBLE_RING@NPC_CLOUD_KILL,attack,739,5,2000,0,15000,yes,target,always,0,,,,,,,
|
||||
21305,EP18_TUMBLE_RING@NPC_AGIUP,chase,350,10,2000,0,100000,yes,self,longrangeattacked,0,,,,,,,
|
||||
21306,EP18_FIREWIND_KITE@AL_TELEPORT,idle,26,3,7000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
21306,EP18_FIREWIND_KITE@MG_FIREBOLT,idle,19,5,5000,300,5000,no,target,always,0,,,,,,,
|
||||
21306,EP18_FIREWIND_KITE@NPC_WINDATTACK,chase,187,5,2000,300,5000,yes,target,always,0,,,,,,,
|
||||
21306,EP18_FIREWIND_KITE@NPC_FIREATTACK,chase,186,5,3000,300,5000,yes,target,always,0,,,,,,9,
|
||||
21306,EP18_FIREWIND_KITE@NPC_CRITICALSLASH,attack,170,4,2000,500,15000,no,target,always,0,,,,,,9,
|
||||
21307,EP18_PHANTOM_WOLF@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
|
||||
21307,EP18_PHANTOM_WOLF@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
|
||||
21307,EP18_PHANTOM_WOLF@AS_CLOAKING,idle,135,1,1000,300,30000,yes,self,always,0,,,,,,9,
|
||||
21307,EP18_PHANTOM_WOLF@AS_GRIMTOOTH,chase,137,5,5000,0,5000,yes,target,always,0,,,,,,,
|
||||
21307,EP18_PHANTOM_WOLF@ASC_METEORASSAULT,attack,406,8,3000,0,10000,yes,self,always,0,,,,,,,
|
||||
21307,EP18_PHANTOM_WOLF@ASC_BREAKER,chase,379,10,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
21308,EP18_MD_HEARTHUNTER_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21308,EP18_MD_HEARTHUNTER_A@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
|
||||
21308,EP18_MD_HEARTHUNTER_A@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
|
||||
21308,EP18_MD_HEARTHUNTER_A@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
|
||||
21308,EP18_MD_HEARTHUNTER_A@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
|
||||
21309,EP18_MD_THOR_GUARD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21309,EP18_MD_THOR_GUARD@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21309,EP18_MD_THOR_GUARD@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
|
||||
21309,EP18_MD_THOR_GUARD@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
|
||||
21309,EP18_MD_THOR_GUARD@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
|
||||
21310,EP18_MD_GUARD_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21310,EP18_MD_GUARD_A@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21310,EP18_MD_GUARD_A@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
|
||||
21310,EP18_MD_GUARD_A@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
|
||||
21310,EP18_MD_GUARD_A@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
|
||||
21310,EP18_MD_GUARD_A@NPC_STUNATTACK,attack,179,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
21311,EP18_MD_GUARD_B@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21311,EP18_MD_GUARD_B@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21311,EP18_MD_GUARD_B@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
|
||||
21311,EP18_MD_GUARD_B@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
|
||||
21311,EP18_MD_GUARD_B@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
|
||||
21311,EP18_MD_GUARD_B@NPC_STUNATTACK,attack,179,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
21312,EP18_MD_HEARTHUNTER_R@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21312,EP18_MD_HEARTHUNTER_R@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
|
||||
21312,EP18_MD_HEARTHUNTER_R@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
|
||||
21312,EP18_MD_HEARTHUNTER_R@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
|
||||
21312,EP18_MD_HEARTHUNTER_R@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
|
||||
21313,EP18_MD_HEARTHUNTER_F@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21313,EP18_MD_HEARTHUNTER_F@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
|
||||
21313,EP18_MD_HEARTHUNTER_F@NPC_BLINDATTACK,chase,177,3,1000,0,5000,yes,target,always,0,,,,,,39,
|
||||
21313,EP18_MD_HEARTHUNTER_F@HT_BLASTMINE,idle,122,3,2000,500,180000,no,target,always,0,,,,,,,
|
||||
21313,EP18_MD_HEARTHUNTER_F@NPC_COMBOATTACK,attack,171,2,3000,500,15000,yes,target,always,0,,,,,,,
|
||||
21313,EP18_MD_HEARTHUNTER_F@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x2085,,,,,44,
|
||||
21313,EP18_MD_HEARTHUNTER_F@TF_SPRINKLESAND,attack,149,1,3000,0,30000,yes,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21314,EP18_MD_SCHULANG@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21314,EP18_MD_SCHULANG@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21314,EP18_MD_SCHULANG@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21314,EP18_MD_SCHULANG@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
|
||||
21315,EP18_MD_DEMI_FREYJA@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21316,EP18_MD_SCHULANG_R@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21316,EP18_MD_SCHULANG_R@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
|
||||
21317,EP18_MD_DEMI_FREYJA_R@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,
|
||||
21318,EP18_MD_SANARE_R@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
21318,EP18_MD_SANARE_R@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
|
||||
21318,EP18_MD_SANARE_R@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
|
||||
21318,EP18_MD_SANARE_R@AL_HEAL,idle,28,9,7000,500,5000,yes,friend,myhpltmaxrate,50,,,,,,3,
|
||||
21318,EP18_MD_SANARE_R@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,14,
|
||||
21318,EP18_MD_SANARE_R@AL_HEAL,attack,28,9,7000,500,15000,yes,friend,always,0,,,,,,3,
|
||||
21318,EP18_MD_SANARE_R@NPC_DARKCROSS,attack,338,5,3000,500,15000,yes,target,always,0,,,,,,,
|
||||
21318,EP18_MD_SANARE_R@AL_HOLYLIGHT,chase,156,1,3000,300,15000,yes,target,always,0,,,,,,,
|
||||
21318,EP18_MD_SANARE_R@NPC_HOLYATTACK,chase,189,3,4000,500,15000,yes,target,always,0,,,,,,,
|
||||
21318,EP18_MD_SANARE_R@AL_HEAL,idle,28,9,10000,700,3000,yes,friend,friendhpltmaxrate,50,,,,,,,
|
||||
21323,EP18_GREY_GOAT@BS_ADRENALINE,attack,111,10,500,1500,300000,no,self,always,0,,,,,,6,
|
||||
21323,EP18_GREY_GOAT@BS_ADRENALINE,chase,111,10,500,1500,300000,no,self,always,0,,,,,,6,
|
||||
21323,EP18_GREY_GOAT@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,0x1089,,,,,19,
|
||||
21323,EP18_GREY_GOAT@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
|
||||
21323,EP18_GREY_GOAT@NPC_STUNATTACK,attack,179,3,500,1500,5000,no,target,always,0,,,,,,6,
|
||||
21323,EP18_GREY_GOAT@NPC_CRITICALWOUND,attack,673,1,500,0,5000,yes,target,always,0,,,,,,,
|
||||
21323,EP18_GREY_GOAT@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
|
||||
21323,EP18_GREY_GOAT@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
|
||||
21324,EP18_GREY_WOLF_BABY@NPC_PROVOCATION,chase,194,1,200,0,5000,yes,target,always,0,,,,,,19,
|
||||
21324,EP18_GREY_WOLF_BABY@NPC_STUNATTACK,attack,179,3,2000,500,5000,no,target,always,0,,,,,,19,
|
||||
21324,EP18_GREY_WOLF_BABY@NPC_CRITICALWOUND,attack,673,5,2000,300,10000,no,target,always,0,,,,,,,
|
||||
21324,EP18_GREY_WOLF_BABY@NPC_GUIDEDATTACK,attack,172,4,1500,300,10000,yes,target,always,0,,,,,,,
|
||||
21324,EP18_GREY_WOLF_BABY@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
|
||||
21324,EP18_GREY_WOLF_BABY@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
// 21360,EP18_MD_SCHULANG_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21360,EP18_MD_SCHULANG_L@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
|
||||
21360,EP18_MD_SCHULANG_L@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
|
||||
// 21361,EP18_MD_DEMI_FREYJA_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
|
||||
21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,
|
||||
|
||||
2171
db/re/pet_db.yml
2171
db/re/pet_db.yml
File diff suppressed because it is too large
Load Diff
@@ -1571,8 +1571,32 @@ Body:
|
||||
- Id: 3492
|
||||
Title: (Skilled) Dragon Monster Hunting - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 3493
|
||||
Title: Conversation with Jarad
|
||||
- Id: 3494
|
||||
Title: Conversation with Rohi
|
||||
- Id: 3495
|
||||
Title: Conversation with Jeojin
|
||||
- Id: 3496
|
||||
Title: Conversation with Squain
|
||||
- Id: 3497
|
||||
Title: Conversation with Senado
|
||||
- Id: 3498
|
||||
Title: Conversation with Japer
|
||||
- Id: 3499
|
||||
Title: Conversation with Shirouan
|
||||
- Id: 3500
|
||||
Title: Conversation with Ishira
|
||||
- Id: 3501
|
||||
Title: Conversation with Gina
|
||||
- Id: 3502
|
||||
Title: Conversation with Hari
|
||||
- Id: 3503
|
||||
Title: Examine the Sky
|
||||
- Id: 3504
|
||||
Title: Look at the Sky - Standby
|
||||
- Id: 3505
|
||||
Title: Report to Junok
|
||||
TimeLimit: 4h
|
||||
- Id: 3507
|
||||
Title: Illusion Investigation Team - Sheshin
|
||||
@@ -3209,6 +3233,27 @@ Body:
|
||||
- Id: 5931
|
||||
Title: "[Standby] Subjugation-Yanggeochon"
|
||||
TimeLimit: 4h
|
||||
- Id: 5932
|
||||
Title: The Abused Child
|
||||
- Id: 5933
|
||||
Title: Business Plan Presentation
|
||||
- Id: 5934
|
||||
Title: Gathering Training (1)
|
||||
- Id: 5935
|
||||
Title: Gathering Training (2)
|
||||
- Id: 5936
|
||||
Title: Gathering Training (3)
|
||||
- Id: 5937
|
||||
Title: "[Standby] Flower Room's work"
|
||||
TimeLimit: 4h
|
||||
- Id: 5938
|
||||
Title: Gathering Half Flower
|
||||
- Id: 5939
|
||||
Title: Gathering Half Flower
|
||||
- Id: 5940
|
||||
Title: Gathering Half Flower
|
||||
- Id: 5941
|
||||
Title: Gathering Half Flower
|
||||
- Id: 6000
|
||||
Title: Job Change to Taekwon
|
||||
- Id: 6001
|
||||
@@ -6270,6 +6315,56 @@ Body:
|
||||
MAGMARING: true
|
||||
DROSERA: true
|
||||
MUSCIPULAR: true
|
||||
- Id: 8681
|
||||
Title: To Rachel (1)
|
||||
- Id: 8682
|
||||
Title: To Rachel (2)
|
||||
- Id: 8683
|
||||
Title: Please stop fighting
|
||||
- Id: 8684
|
||||
Title: It's over
|
||||
- Id: 8685
|
||||
Title: A suspicious movement detected in the temple
|
||||
- Id: 8686
|
||||
Title: The Intruder of the Temple
|
||||
- Id: 8687
|
||||
Title: Did you break it?
|
||||
- Id: 8688
|
||||
Title: Thanks for today's daily food
|
||||
- Id: 8689
|
||||
Title: Today's Daily food - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8690
|
||||
Title: Thanks for today's daily food
|
||||
- Id: 8691
|
||||
Title: Sacred Relics for Essence (1)
|
||||
- Id: 8692
|
||||
Title: Sacred Relics for Essence (2)
|
||||
- Id: 8693
|
||||
Title: Sacred Relics for Essence (3)
|
||||
- Id: 8694
|
||||
Title: Clean Water Procurement - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8695
|
||||
Title: Procurement of clean water (1)
|
||||
- Id: 8696
|
||||
Title: Procurement of clean water (2)
|
||||
- Id: 8697
|
||||
Title: Procurement of clean water (3)
|
||||
- Id: 8698
|
||||
Title: Late migration
|
||||
- Id: 8699
|
||||
Title: First Step Out of the City
|
||||
- Id: 8700
|
||||
Title: I couldn't even come halfway
|
||||
- Id: 8701
|
||||
Title: Scenery I've Seen for the First Time
|
||||
- Id: 8702
|
||||
Title: Smell of Volcanic Ash
|
||||
- Id: 8703
|
||||
Title: The easy way to go
|
||||
- Id: 8718
|
||||
Title: My friend's regards
|
||||
- Id: 8719
|
||||
Title: A new area somewhere in the anthill
|
||||
- Id: 8720
|
||||
@@ -8040,6 +8135,106 @@ Body:
|
||||
- Id: 11667
|
||||
Title: Squirrels are rats, too? Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 11696
|
||||
Title: Niren's Request
|
||||
- Id: 11697
|
||||
Title: Niren's Request
|
||||
- Id: 11698
|
||||
Title: Niren's Request
|
||||
- Id: 11699
|
||||
Title: Niren's Request
|
||||
- Id: 11700
|
||||
Title: Niren's Request
|
||||
- Id: 11701
|
||||
Title: Niren's Request
|
||||
- Id: 11702
|
||||
Title: Niren's Request
|
||||
- Id: 11703
|
||||
Title: Niren's Request
|
||||
- Id: 11704
|
||||
Title: Niren's Request
|
||||
- Id: 11705
|
||||
Title: Children of Grey
|
||||
- Id: 11706
|
||||
Title: Children of Grey
|
||||
- Id: 11707
|
||||
Title: Children of Grey
|
||||
- Id: 11708
|
||||
Title: Children of Grey
|
||||
- Id: 11709
|
||||
Title: Children of Grey
|
||||
- Id: 11710
|
||||
Title: Children of Grey
|
||||
- Id: 11711
|
||||
Title: Children of Grey
|
||||
- Id: 11712
|
||||
Title: Children of Grey
|
||||
- Id: 11713
|
||||
Title: Children of Grey
|
||||
- Id: 11714
|
||||
Title: Children of Grey
|
||||
- Id: 11715
|
||||
Title: Children of Grey
|
||||
- Id: 11716
|
||||
Title: Children of Grey
|
||||
- Id: 11717
|
||||
Title: Children of Grey
|
||||
- Id: 11718
|
||||
Title: Children of Grey
|
||||
- Id: 11719
|
||||
Title: Children of Grey
|
||||
- Id: 11720
|
||||
Title: Children of Grey
|
||||
- Id: 11721
|
||||
Title: Children of Grey
|
||||
- Id: 11722
|
||||
Title: Children of Grey
|
||||
- Id: 11723
|
||||
Title: Children of Grey
|
||||
- Id: 11724
|
||||
Title: Children of Grey
|
||||
- Id: 11725
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11726
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11727
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11728
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11729
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11730
|
||||
Title: Investigation of Oz Labyrinth
|
||||
Targets:
|
||||
- Id: 1
|
||||
Location: oz_dun01
|
||||
Count: 10
|
||||
- Id: 11731
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11732
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11733
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11734
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11735
|
||||
Title: Investigation of Oz Labyrinth
|
||||
- Id: 11736
|
||||
Title: Maze of Oz 1st Floor (170lv)
|
||||
Targets:
|
||||
- Mob: EP18_ASH_TOAD
|
||||
Count: 20
|
||||
- Id: 11737
|
||||
Title: Maze of Oz Level 1 - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 11738
|
||||
Title: Maze of Oz Level 2 (200lv)
|
||||
Targets:
|
||||
- Mob: EP18_HOT_MOLAR
|
||||
Count: 20
|
||||
- Id: 11739
|
||||
Title: Maze of Oz Level 2 (200lv)
|
||||
TimeLimit: 4h
|
||||
- Id: 12000
|
||||
Title: An old friend
|
||||
- Id: 12001
|
||||
@@ -9079,6 +9274,31 @@ Body:
|
||||
- Id: 12506
|
||||
Title: Let's try again to seal the crack
|
||||
TimeLimit: 4h
|
||||
- Id: 12520
|
||||
Title: Villa of Deception
|
||||
- Id: 12521
|
||||
Title: Villa of Deception Hard
|
||||
- Id: 12522
|
||||
Title: Cooldown: Villa of Deception
|
||||
TimeLimit: 4h
|
||||
- Id: 12531
|
||||
Title: Future General Candidate
|
||||
- Id: 12532
|
||||
Title: Trouble at the Top
|
||||
- Id: 12533
|
||||
Title: The Hidden Helper
|
||||
- Id: 12534
|
||||
Title: The Missing Camille
|
||||
- Id: 12535
|
||||
Title: The Governor's Decision
|
||||
- Id: 12536
|
||||
Title: The Scattered Luggage (North)
|
||||
- Id: 12537
|
||||
Title: Scattered Luggage (West)
|
||||
- Id: 12538
|
||||
Title: The Scattered Luggage (East)
|
||||
- Id: 12539
|
||||
Title: Scattered Luggage (South)
|
||||
- Id: 13000
|
||||
Title: RWC2011Card Gathering
|
||||
- Id: 13001
|
||||
@@ -11226,6 +11446,90 @@ Body:
|
||||
Title: Farm Worker
|
||||
- Id: 16547
|
||||
Title: Juno Monster Society
|
||||
- Id: 16548
|
||||
Title: I can't sleep
|
||||
Targets:
|
||||
- Mob: EP18_FIREWIND_KITE
|
||||
Count: 30
|
||||
- Id: 16549
|
||||
Title: I can't sleep
|
||||
Targets:
|
||||
- Mob: EP18_FIREWIND_KITE
|
||||
Count: 30
|
||||
- Id: 16550
|
||||
Title: I Can't Sleep - Wait
|
||||
TimeLimit: 4h
|
||||
- Id: 16551
|
||||
Title: The Story of Dinar
|
||||
- Id: 16552
|
||||
Title: Amira's Story
|
||||
- Id: 16553
|
||||
Title: Shanina's Grandma's Story
|
||||
- Id: 16554
|
||||
Title: Please collect the stories
|
||||
- Id: 16555
|
||||
Title: The Story of Dinar
|
||||
- Id: 16556
|
||||
Title: Amira's Story
|
||||
- Id: 16557
|
||||
Title: Shanina's Grandma's Story
|
||||
- Id: 16558
|
||||
Title: Please collect the stories
|
||||
- Id: 16559
|
||||
Title: Please collect the stories - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 16560
|
||||
Title: This is not the place
|
||||
- Id: 16561
|
||||
Title: This is not the place
|
||||
- Id: 16562
|
||||
Title: This is not the place
|
||||
- Id: 16563
|
||||
Title: This is not the place
|
||||
- Id: 16564
|
||||
Title: This is not the place
|
||||
- Id: 16565
|
||||
Title: This is not the place
|
||||
- Id: 16566
|
||||
Title: This is not the place
|
||||
- Id: 16567
|
||||
Title: The Contest of the Grey Wolf Forest
|
||||
- Id: 16568
|
||||
Title: Everyone's Opinion
|
||||
- Id: 16569
|
||||
Title: Everyone's Opinion
|
||||
- Id: 16570
|
||||
Title: Everyone's Opinion
|
||||
- Id: 16571
|
||||
Title: Everyone's Opinion
|
||||
- Id: 16572
|
||||
Title: The Contest of the Grey Wolf Forest
|
||||
- Id: 16573
|
||||
Title: Source of Weapon
|
||||
- Id: 16574
|
||||
Title: Source of Weapon
|
||||
- Id: 16575
|
||||
Title: Source of Weapon
|
||||
- Id: 16576
|
||||
Title: Source of Weapon
|
||||
- Id: 16577
|
||||
Title: Source of Weapon
|
||||
- Id: 16578
|
||||
Title: Source of Weapon
|
||||
- Id: 16579
|
||||
Title: Source of Weapon
|
||||
- Id: 16580
|
||||
Title: Source of Weapon
|
||||
- Id: 16581
|
||||
Title: Children Know It
|
||||
- Id: 16582
|
||||
Title: Children Know It
|
||||
- Id: 16583
|
||||
Title: Children Know It
|
||||
- Id: 16584
|
||||
Title: The Price of Labor
|
||||
- Id: 16585
|
||||
Title: The Price of Labor
|
||||
- Id: 17000
|
||||
Title: Meet with Father Bamph
|
||||
- Id: 17001
|
||||
@@ -11487,12 +11791,61 @@ Body:
|
||||
- Id: 17425
|
||||
Title: (Standby) Thanatos Tower, 12th floor
|
||||
TimeLimit: 4h
|
||||
- Id: 17504
|
||||
Title: Where's My Home
|
||||
- Id: 17505
|
||||
Title: Where's My Home
|
||||
- Id: 17506
|
||||
Title: Where's My Home
|
||||
- Id: 17507
|
||||
Title: Where's My Home
|
||||
- Id: 17508
|
||||
Title: Lack of Supplies
|
||||
Drops:
|
||||
- Mob: EP18_GREY_WOLF
|
||||
Item: Ep18_Very_Ddan_Crystal
|
||||
Rate: 5000
|
||||
- Id: 17509
|
||||
Title: (Standby) Lack of supplies
|
||||
TimeLimit: 4h
|
||||
- Id: 17510
|
||||
Title: There are no bad beasts in the world
|
||||
- Id: 17511
|
||||
Title: There are no bad beasts in the world
|
||||
- Id: 17512
|
||||
Title: There are no bad beasts in the world
|
||||
- Id: 17513
|
||||
Title: The Unexpected Shepherd
|
||||
- Id: 17514
|
||||
Title: The Unexpected Shepherd
|
||||
Targets:
|
||||
- Mob: EP18_ASHRING
|
||||
Count: 20
|
||||
- Id: 17515
|
||||
Title: The Unexpected Shepherd
|
||||
- Id: 17516
|
||||
Title: (Standby) Unexpected shepherd
|
||||
TimeLimit: 4h
|
||||
- Id: 17517
|
||||
Title: The Rebels
|
||||
- Id: 17518
|
||||
Title: The Rebels
|
||||
- Id: 17519
|
||||
Title: The Rebels
|
||||
- Id: 17520
|
||||
Title: Wolf in the Sheep
|
||||
- Id: 17521
|
||||
Title: When you need a conversation
|
||||
- Id: 17522
|
||||
Title: Cleaning the Traitors
|
||||
- Id: 17523
|
||||
Title: Purification of the Sanctuary
|
||||
- Id: 17524
|
||||
Title: Cleaning the Traitors
|
||||
- Id: 17525
|
||||
Title: When you need a conversation
|
||||
- Id: 17526
|
||||
Title: Purification of the Sanctuary
|
||||
- Id: 17527
|
||||
Title: (Standby) Cleaning strategy
|
||||
TimeLimit: 4h
|
||||
@@ -11621,6 +11974,23 @@ Body:
|
||||
- Id: 18080
|
||||
Title: Goseong dungeon 1st floor attack
|
||||
TimeLimit: 4h
|
||||
- Id: 18082
|
||||
Title: Eligibility to Participate in the Competition
|
||||
- Id: 18083
|
||||
Title: Investigation of Daishinkan's Villa
|
||||
- Id: 18084
|
||||
Title: Fact Investigation
|
||||
- Id: 18085
|
||||
Title: The Direction of Prayer
|
||||
- Id: 18086
|
||||
Title: Make the Grey Wolf Forest Safer
|
||||
Targets:
|
||||
- Id: 1
|
||||
Location: gw_fild01
|
||||
Count: 30
|
||||
- Id: 18087
|
||||
Title: Safer in the Gray Wolf Forest - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 18100
|
||||
Title: Legends from Moscovia
|
||||
- Id: 18101
|
||||
|
||||
1914
db/re/skill_db.yml
1914
db/re/skill_db.yml
File diff suppressed because it is too large
Load Diff
@@ -7864,3 +7864,178 @@ Body:
|
||||
Royal_Guard: true
|
||||
Royal_Guard_T: true
|
||||
Imperial_Guard: true
|
||||
- Job: Night_Watch
|
||||
Inherit:
|
||||
Novice: true
|
||||
Gunslinger: true
|
||||
Rebellion: true
|
||||
Tree:
|
||||
- Name: NW_P_F_I
|
||||
MaxLevel: 10
|
||||
- Name: NW_GRENADE_MASTERY
|
||||
MaxLevel: 10
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
MaxLevel: 1
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 1
|
||||
- Name: NW_HIDDEN_CARD
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 5
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_BASIC_GRENADE
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_GRENADE_MASTERY
|
||||
Level: 3
|
||||
- Name: NW_GRENADE_FRAGMENT
|
||||
MaxLevel: 7
|
||||
Requires:
|
||||
- Name: NW_GRENADE_MASTERY
|
||||
Level: 1
|
||||
- Name: NW_THE_VIGILANTE_AT_NIGHT
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 3
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_ONLY_ONE_BULLET
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 3
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_SPIRAL_SHOOTING
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 3
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_MAGAZINE_FOR_ONE
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 3
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_WILD_FIRE
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_P_F_I
|
||||
Level: 3
|
||||
- Name: NW_INTENSIVE_AIM
|
||||
Level: 1
|
||||
- Name: NW_HASTY_FIRE_IN_THE_HOLE
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_BASIC_GRENADE
|
||||
Level: 3
|
||||
- Name: NW_GRENADES_DROPPING
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_HASTY_FIRE_IN_THE_HOLE
|
||||
Level: 3
|
||||
- Name: NW_AUTO_FIRING_LAUNCHER
|
||||
MaxLevel: 5
|
||||
Requires:
|
||||
- Name: NW_GRENADES_DROPPING
|
||||
Level: 3
|
||||
- Name: NW_MISSION_BOMBARD
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: NW_GRENADE_MASTERY
|
||||
Level: 5
|
||||
- Name: NW_GRENADES_DROPPING
|
||||
Level: 3
|
||||
- Job: Hyper_Novice
|
||||
Inherit:
|
||||
Novice: true
|
||||
Supernovice: true
|
||||
Super_Novice_E: true
|
||||
Tree:
|
||||
- Name: HN_SELFSTUDY_TATICS
|
||||
MaxLevel: 10
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
MaxLevel: 10
|
||||
- Name: HN_DOUBLEBOWLINGBASH
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_TATICS
|
||||
Level: 5
|
||||
- Name: HN_SHIELD_CHAIN_RUSH
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_TATICS
|
||||
Level: 5
|
||||
- Name: HN_METEOR_STORM_BUSTER
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_JUPITEL_THUNDER_STORM
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_JACK_FROST_NOVA
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_HELLS_DRIVE
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_MEGA_SONIC_BLOW
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_DOUBLEBOWLINGBASH
|
||||
Level: 7
|
||||
- Name: HN_SPIRAL_PIERCE_MAX
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SHIELD_CHAIN_RUSH
|
||||
Level: 7
|
||||
- Name: HN_GROUND_GRAVITATION
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_NAPALM_VULCAN_STRIKE
|
||||
MaxLevel: 10
|
||||
Requires:
|
||||
- Name: HN_SELFSTUDY_SOCERY
|
||||
Level: 5
|
||||
- Name: HN_BREAKINGLIMIT
|
||||
MaxLevel: 1
|
||||
Requires:
|
||||
- Name: HN_DOUBLEBOWLINGBASH
|
||||
Level: 7
|
||||
- Name: HN_MEGA_SONIC_BLOW
|
||||
Level: 7
|
||||
- Name: HN_SHIELD_CHAIN_RUSH
|
||||
Level: 7
|
||||
- Name: HN_SPIRAL_PIERCE_MAX
|
||||
Level: 7
|
||||
- Name: HN_RULEBREAK
|
||||
MaxLevel: 1
|
||||
Requires:
|
||||
- Name: HN_METEOR_STORM_BUSTER
|
||||
Level: 5
|
||||
- Name: HN_JUPITEL_THUNDER_STORM
|
||||
Level: 5
|
||||
- Name: HN_JACK_FROST_NOVA
|
||||
Level: 5
|
||||
- Name: HN_HELLS_DRIVE
|
||||
Level: 5
|
||||
- Name: HN_GROUND_GRAVITATION
|
||||
Level: 5
|
||||
- Name: HN_NAPALM_VULCAN_STRIKE
|
||||
Level: 5
|
||||
|
||||
@@ -582,3 +582,33 @@ Body:
|
||||
- Level: 250
|
||||
Points: 4099
|
||||
TraitPoints: 190
|
||||
- Level: 251
|
||||
Points: 4099
|
||||
TraitPoints: 193
|
||||
- Level: 252
|
||||
Points: 4099
|
||||
TraitPoints: 196
|
||||
- Level: 253
|
||||
Points: 4099
|
||||
TraitPoints: 199
|
||||
- Level: 254
|
||||
Points: 4099
|
||||
TraitPoints: 202
|
||||
- Level: 255
|
||||
Points: 4099
|
||||
TraitPoints: 209
|
||||
- Level: 256
|
||||
Points: 4099
|
||||
TraitPoints: 212
|
||||
- Level: 257
|
||||
Points: 4099
|
||||
TraitPoints: 215
|
||||
- Level: 258
|
||||
Points: 4099
|
||||
TraitPoints: 218
|
||||
- Level: 259
|
||||
Points: 4099
|
||||
TraitPoints: 221
|
||||
- Level: 260
|
||||
Points: 4099
|
||||
TraitPoints: 228
|
||||
|
||||
150
db/re/status.yml
150
db/re/status.yml
@@ -165,6 +165,7 @@ Body:
|
||||
- Status: Poison
|
||||
DurationLookup: NPC_POISON
|
||||
CalcFlags:
|
||||
Def: true
|
||||
Def2: true
|
||||
Regen: true
|
||||
Opt2:
|
||||
@@ -261,6 +262,7 @@ Body:
|
||||
- Status: Dpoison
|
||||
DurationLookup: NPC_POISON
|
||||
CalcFlags:
|
||||
Def: true
|
||||
Def2: true
|
||||
Regen: true
|
||||
Opt2:
|
||||
@@ -1115,6 +1117,7 @@ Body:
|
||||
Icon: EFST_GROUNDMAGIC
|
||||
DurationLookup: SA_VOLCANO
|
||||
CalcFlags:
|
||||
Batk: true
|
||||
Watk: true
|
||||
Matk: true
|
||||
Flags:
|
||||
@@ -1139,6 +1142,10 @@ Body:
|
||||
NoClearance: true
|
||||
- Status: Watk_Element
|
||||
DurationLookup: MS_MAGNUM
|
||||
Flags:
|
||||
NoSave: true
|
||||
EndOnStart:
|
||||
Watk_Element: true
|
||||
- Status: Armor
|
||||
DurationLookup: NPC_DEFENDER
|
||||
- Status: Armor_Element_Water
|
||||
@@ -2822,6 +2829,7 @@ Body:
|
||||
CalcFlags:
|
||||
Flee: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2830,6 +2838,7 @@ Body:
|
||||
CalcFlags:
|
||||
Watk: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2838,6 +2847,7 @@ Body:
|
||||
CalcFlags:
|
||||
MaxHp: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2846,6 +2856,7 @@ Body:
|
||||
CalcFlags:
|
||||
MaxSp: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -2854,6 +2865,7 @@ Body:
|
||||
CalcFlags:
|
||||
Hit: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
@@ -5732,6 +5744,8 @@ Body:
|
||||
DurationLookup: RA_UNLIMIT
|
||||
Flags:
|
||||
DisplayPc: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
- Status: Kings_Grace
|
||||
Icon: EFST_KINGS_GRACE
|
||||
DurationLookup: LG_KINGS_GRACE
|
||||
@@ -7633,7 +7647,7 @@ Body:
|
||||
RemoveOnDamaged: true
|
||||
- Status: Handicapstate_Lightningstrike
|
||||
Icon: EFST_HANDICAPSTATE_LIGHTNINGSTRIKE
|
||||
DurationLookup: WH_SWIFTTRAP
|
||||
DurationLookup: EM_LIGHTNING_LAND
|
||||
States:
|
||||
#NoMove: true
|
||||
#NoCast: true
|
||||
@@ -7646,7 +7660,7 @@ Body:
|
||||
RemoveOnDamaged: true
|
||||
- Status: Handicapstate_Crystallization
|
||||
Icon: EFST_HANDICAPSTATE_CRYSTALLIZATION
|
||||
DurationLookup: WH_SOLIDTRAP
|
||||
DurationLookup: EM_TERRA_DRIVE
|
||||
States:
|
||||
#NoMove: true
|
||||
#NoCast: true
|
||||
@@ -7660,7 +7674,7 @@ Body:
|
||||
RemoveOnDamaged: true
|
||||
- Status: Handicapstate_Conflagration
|
||||
Icon: EFST_HANDICAPSTATE_CONFLAGRATION
|
||||
DurationLookup: WH_FLAMETRAP
|
||||
DurationLookup: EM_CONFLAGRATION
|
||||
Flags:
|
||||
BlEffect: true
|
||||
DisplayPc: true
|
||||
@@ -7888,6 +7902,8 @@ Body:
|
||||
BlEffect: true
|
||||
DisplayPc: true
|
||||
SendVal1: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
- Status: Shadow_Weapon
|
||||
Icon: EFST_SHADOW_WEAPON
|
||||
DurationLookup: SHC_ENCHANTING_SHADOW
|
||||
@@ -7933,6 +7949,9 @@ Body:
|
||||
Flags:
|
||||
BlEffect: true
|
||||
DisplayPc: true
|
||||
NoBanishingBuster: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
- Status: Ultimate_S
|
||||
Icon: EFST_ULTIMATE_S
|
||||
DurationLookup: IG_ULTIMATE_SACRIFICE
|
||||
@@ -8745,9 +8764,134 @@ Body:
|
||||
DurationLookup: MT_RUSH_QUAKE
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: G_LIFEPOTION
|
||||
Icon: EFST_G_LIFEPOTION
|
||||
Flags:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Hnnoweapon
|
||||
Icon: EFST_NOEQUIPWEAPON
|
||||
DurationLookup: HN_DOUBLEBOWLINGBASH
|
||||
- Status: Shieldchainrush
|
||||
Icon: EFST_SHIELDCHAINRUSH
|
||||
DurationLookup: HN_SHIELD_CHAIN_RUSH
|
||||
CalcFlags:
|
||||
Speed: true
|
||||
Flags:
|
||||
BossResist: true
|
||||
- Status: Mistyfrost
|
||||
Icon: EFST_MISTYFROST
|
||||
DurationLookup: HN_JACK_FROST_NOVA
|
||||
Flags:
|
||||
BossResist: true
|
||||
- Status: Groundgravity
|
||||
Icon: EFST_GROUNDGRAVITY
|
||||
DurationLookup: HN_GROUND_GRAVITATION
|
||||
CalcFlags:
|
||||
Speed: true
|
||||
Flags:
|
||||
BossResist: true
|
||||
- Status: Breakinglimit
|
||||
Icon: EFST_BREAKINGLIMIT
|
||||
DurationLookup: HN_BREAKINGLIMIT
|
||||
- Status: Rulebreak
|
||||
Icon: EFST_RULEBREAK
|
||||
DurationLookup: HN_RULEBREAK
|
||||
- Status: Intensive_Aim
|
||||
Icon: EFST_INTENSIVE_AIM
|
||||
States:
|
||||
NoMove: true
|
||||
CalcFlags:
|
||||
Batk: true
|
||||
Hit: true
|
||||
Cri: true
|
||||
Flags:
|
||||
BlEffect: true
|
||||
DisplayPc: true
|
||||
SendVal1: true
|
||||
NoSave: true
|
||||
NoBanishingBuster: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
- Status: Intensive_Aim_Count
|
||||
Icon: EFST_INTENSIVE_AIM_COUNT
|
||||
Flags:
|
||||
DisplayPc: true
|
||||
SendVal1: true
|
||||
NoSave: true
|
||||
NoBanishingBuster: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
- Status: Grenade_Fragment_1
|
||||
Icon: EFST_GRENADE_FRAGMENT_1
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_2: true
|
||||
Grenade_Fragment_3: true
|
||||
Grenade_Fragment_4: true
|
||||
Grenade_Fragment_5: true
|
||||
Grenade_Fragment_6: true
|
||||
- Status: Grenade_Fragment_2
|
||||
Icon: EFST_GRENADE_FRAGMENT_2
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_1: true
|
||||
Grenade_Fragment_3: true
|
||||
Grenade_Fragment_4: true
|
||||
Grenade_Fragment_5: true
|
||||
Grenade_Fragment_6: true
|
||||
- Status: Grenade_Fragment_3
|
||||
Icon: EFST_GRENADE_FRAGMENT_3
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_1: true
|
||||
Grenade_Fragment_2: true
|
||||
Grenade_Fragment_4: true
|
||||
Grenade_Fragment_5: true
|
||||
Grenade_Fragment_6: true
|
||||
- Status: Grenade_Fragment_4
|
||||
Icon: EFST_GRENADE_FRAGMENT_4
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_1: true
|
||||
Grenade_Fragment_2: true
|
||||
Grenade_Fragment_3: true
|
||||
Grenade_Fragment_5: true
|
||||
Grenade_Fragment_6: true
|
||||
- Status: Grenade_Fragment_5
|
||||
Icon: EFST_GRENADE_FRAGMENT_5
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_1: true
|
||||
Grenade_Fragment_2: true
|
||||
Grenade_Fragment_3: true
|
||||
Grenade_Fragment_4: true
|
||||
Grenade_Fragment_6: true
|
||||
- Status: Grenade_Fragment_6
|
||||
Icon: EFST_GRENADE_FRAGMENT_6
|
||||
DurationLookup: NW_GRENADE_FRAGMENT
|
||||
EndOnStart:
|
||||
Grenade_Fragment_1: true
|
||||
Grenade_Fragment_2: true
|
||||
Grenade_Fragment_3: true
|
||||
Grenade_Fragment_4: true
|
||||
Grenade_Fragment_5: true
|
||||
- Status: Auto_Firing_Launcher
|
||||
Icon: EFST_AUTO_FIRING_LAUNCHEREFST
|
||||
DurationLookup: NW_AUTO_FIRING_LAUNCHER
|
||||
Flags:
|
||||
SendVal1: true
|
||||
- Status: Hidden_Card
|
||||
Icon: EFST_HIDDEN_CARD
|
||||
DurationLookup: NW_HIDDEN_CARD
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoBanishingBuster: true
|
||||
NoDispell: true
|
||||
NoClearance: true
|
||||
|
||||
@@ -125,6 +125,12 @@ item delay, etc).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*trade_unconditional
|
||||
|
||||
Allows player to ignore the trade conditions of items (drop, trade, sell, cart, storage/gstorage, mail and auction).
|
||||
|
||||
---------------------------------------
|
||||
|
||||
======================
|
||||
| 3. Command-related |
|
||||
======================
|
||||
|
||||
@@ -20,11 +20,30 @@ Title: Quest title.
|
||||
|
||||
TimeLimit: Amount of time before the quest expires.
|
||||
|
||||
Use a number followed by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
|
||||
Specifying with "+" will mark how long until the quest expires.
|
||||
Specifying without "+" will mark the exact time the quest expires. Format: "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional).
|
||||
Use a number followed by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
|
||||
Format: "d" (optional), [0-23]"h" (optional), [0-59]"mn" (optional), [0-59]"s" (optional).
|
||||
|
||||
Please note the number before "d" only shifts the exact timer to the given day(s).
|
||||
Example:
|
||||
- Id: 2069
|
||||
Title: Tierra Gorge Battle
|
||||
# The quest expires 5 minutes after being taken.
|
||||
TimeLimit: +5mn
|
||||
|
||||
Specifying without "+" will mark the exact time the quest expires.
|
||||
Use a number followed by "d" for day(s) to shift the exact timer to the given day(s) or use the days of the week to set the expiration day,
|
||||
and "h" for hour(s), "mn" for minute(s), and "s" for second(s).
|
||||
Format: [days of the week] or "d" (optionals), [0-23]"h" (optional), [0-59]"mn" (optional), [0-59]"s" (optional).
|
||||
|
||||
Examples:
|
||||
- Id: 9419
|
||||
Title: Attack Sky Fortress Invading Prontera
|
||||
# The quest expires 3 days after being taken at 4am.
|
||||
TimeLimit: 3d 4h
|
||||
- Id: 5965
|
||||
Title: "[Standby] Devil's Special"
|
||||
# The quest expires Monday at 4am.
|
||||
TimeLimit: Monday 4h
|
||||
|
||||
---------------------------------------
|
||||
|
||||
|
||||
@@ -8966,8 +8966,9 @@ Get info of elemental of attached player or player by char_id.
|
||||
Other info can be obtained by 'getunitdata' command.
|
||||
|
||||
Valid types are:
|
||||
0: Elemental ID
|
||||
1: Elemental Game ID
|
||||
ELEMINFO_ID Elemental ID (ID unique to elementals unit type)
|
||||
ELEMINFO_GAMEID Elemental Game ID
|
||||
ELEMINFO_CLASS Elemental Class (ID defined in elemental_db.yml)
|
||||
|
||||
---------------------------------------
|
||||
\\
|
||||
@@ -11412,3 +11413,37 @@ Example:
|
||||
autoloot(10000); // 100.00%
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*setdialogalign(<align>);
|
||||
|
||||
Set vertical or horizontal align in NPC dialog.
|
||||
Valid aligns:
|
||||
- horizontal align:
|
||||
DIALOG_ALIGN_LEFT
|
||||
DIALOG_ALIGN_CENTER
|
||||
DIALOG_ALIGN_RIGHT
|
||||
|
||||
- vertical align:
|
||||
DIALOG_ALIGN_TOP
|
||||
DIALOG_ALIGN_MIDDLE
|
||||
DIALOG_ALIGN_BOTTOM
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*setdialogsize(<width>, <height>)
|
||||
|
||||
Set size for NPC dialog in pixels.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*setdialogpos(<x>, <y>)
|
||||
|
||||
Set position for NPC dialog in pixels.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*setdialogpospercent(<x>, <y>)
|
||||
|
||||
Set position for NPC dialog in screen size percent.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@@ -191,7 +191,7 @@ dewata,114,243,6 script Lazy Young Man#dew 536,1,1,{
|
||||
mes "[Lazy Young Man]";
|
||||
mes "Really? For me?? I'll give you this in return... Thanks... Hehe~";
|
||||
delitem 11534,1; //Coco_Juice
|
||||
getrandgroupitem(IG_GiftBox),1;
|
||||
getgroupitem(IG_GiftBox);
|
||||
close;
|
||||
case 2:
|
||||
mes "[Lazy Young Man]";
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//= 1.0 Initial release [crazyarashi]
|
||||
//= 1.1 Optimizations and cleanup [Everade]
|
||||
//= 1.2 Cleanup [Capuche]
|
||||
//= 1.3 Updated monsters spawn times (significantly reduced). [Atemo]
|
||||
//============================================================
|
||||
|
||||
ba_maison,120,320,0 script #herbs_chk HIDDEN_WARP_NPC,3,3,{
|
||||
@@ -1623,36 +1624,36 @@ OnSummon:
|
||||
'total_mobs = 16;
|
||||
monster 'map_herbs$,77,197,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,51,196,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,63,217,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,81,195,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,61,217,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,57,193,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,56,191,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,59,193,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,59,192,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,60,222,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,58,191,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,78,199,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,54,192,"Flower Garden Watcher",20626,1, .@event$;
|
||||
monster 'map_herbs$,79,195,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 9000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,76,192,"Flower Garden Watcher",20626,1, .@event$;
|
||||
monster 'map_herbs$,51,196,"Flower Garden Watcher",20624,1, .@event$;
|
||||
}
|
||||
else {
|
||||
'total_mobs = 16;
|
||||
monster 'map_herbs$,53,197,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,62,217,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,57,219,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,79,200,"Flower Garden Watcher",20623,1, .@event$;
|
||||
@@ -1660,14 +1661,14 @@ OnSummon:
|
||||
monster 'map_herbs$,80,199,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,58,193,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,56,192,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,51,191,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,51,192,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,83,199,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,83,191,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,83,196,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,57,193,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
|
||||
}
|
||||
@@ -1678,15 +1679,15 @@ OnSummon:
|
||||
monster 'map_herbs$,114,226,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,114,227,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,119,217,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,118,227,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,116,216,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,114,215,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,114,225,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,114,224,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,139,205,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,140,202,"Flower Garden Watcher",20622,1, .@event$;
|
||||
@@ -1708,30 +1709,30 @@ OnSummon:
|
||||
monster 'map_herbs$,142,205,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,145,200,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,146,201,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,147,201,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,141,208,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,166,224,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,171,217,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,172,225,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,173,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,174,225,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,174,223,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,170,213,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,169,219,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,136,205,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,136,210,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,120,224,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,118,223,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,117,219,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,115,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,115,233,"Flower Garden Watcher",20623,1, .@event$;
|
||||
}
|
||||
break;
|
||||
@@ -1740,45 +1741,45 @@ OnSummon:
|
||||
'total_mobs = 28;
|
||||
monster 'map_herbs$,213,205,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,202,214,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,202,213,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,210,212,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,211,207,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,209,214,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,203,212,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,218,194,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,203,196,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,215,201,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,205,213,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,218,208,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,210,210,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,245,214,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,220,192,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,248,208,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,253,208,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,253,208,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,246,212,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,251,210,"Flower Garden Watcher",20622,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
|
||||
monster 'map_herbs$,222,195,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,203,212,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,208,213,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,219,192,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
|
||||
@@ -1787,35 +1788,35 @@ OnSummon:
|
||||
'total_mobs = 27;
|
||||
monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,217,204,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,210,210,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,218,195,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,211,209,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,210,211,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,216,192,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,208,211,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,214,208,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,215,201,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,205,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,205,214,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,220,207,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,208,213,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,202,212,"Flower Garden Watcher",20623,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,202,193,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,206,214,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,245,212,"Flower Garden Watcher",20627,1, .@event$;
|
||||
@@ -1849,15 +1850,15 @@ OnSummon:
|
||||
monster 'map_herbs$,285,210,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,283,228,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,294,252,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,295,247,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,294,245,"Flower Garden Watcher",20624,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,281,232,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,287,219,"Flower Garden Watcher",20626,1, .@event$;
|
||||
monster 'map_herbs$,302,239,"Flower Garden Watcher",20626,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,307,217,"Flower Garden Watcher",20622,1, .@event$;
|
||||
monster 'map_herbs$,300,235,"Flower Garden Watcher",20624,1, .@event$;
|
||||
monster 'map_herbs$,295,249,"Flower Garden Watcher",20624,1, .@event$;
|
||||
@@ -1873,18 +1874,18 @@ OnSummon:
|
||||
monster 'map_herbs$,284,236,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,283,235,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,304,240,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,298,246,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,305,224,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,310,225,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 9000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,298,213,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,308,224,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,290,210,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,310,224,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,308,220,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,284,211,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
|
||||
@@ -1892,22 +1893,22 @@ OnSummon:
|
||||
monster 'map_herbs$,281,231,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,280,226,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,285,210,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 6000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,280,227,"Flower Garden Watcher",20623,1, .@event$;
|
||||
monster 'map_herbs$,285,234,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,283,236,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,284,233,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,284,237,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,284,239,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,293,246,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,300,247,"Flower Garden Watcher",20627,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,294,253,"Flower Garden Watcher",20627,1, .@event$;
|
||||
monster 'map_herbs$,302,240,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,299,255,"Flower Garden Watcher",20625,1, .@event$;
|
||||
monster 'map_herbs$,295,256,"Flower Garden Watcher",20625,1, .@event$;
|
||||
sleep 3000;
|
||||
sleep 100;
|
||||
monster 'map_herbs$,310,218,"Flower Garden Watcher",20623,1, .@event$;
|
||||
}
|
||||
break;
|
||||
|
||||
615
npc/re/instances/MazeofOz.txt
Normal file
615
npc/re/instances/MazeofOz.txt
Normal file
@@ -0,0 +1,615 @@
|
||||
//===== rAthena script =======================================
|
||||
//= Instance: The Maze of Oz.
|
||||
//===== Description: =========================================
|
||||
//- [Walkthrough conversion]
|
||||
//- Part of the episode 18.1 main quest.
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
// Main Quest: Step 28.
|
||||
ra_fild10,179,176,5 script Merchant#ep18_gorge 4_EP18_MERCHANT,{
|
||||
.@md_name$ = "The Maze of Oz";
|
||||
|
||||
if (ep18_1_main == 29) {
|
||||
mes "[Miriam in disguise]";
|
||||
mes "From now on <FONT SIZE = 14><B>^e5555e" + .@md_name$ + "^000000</FONT></B>";
|
||||
mes "^e5555ePrepare yourself and talk to me again^000000";
|
||||
cutin "ep18_merchant.png",2;
|
||||
changequest 11717,11719;
|
||||
ep18_1_main = 30;
|
||||
close3;
|
||||
}
|
||||
if (ep18_1_main == 30) {
|
||||
mes "[Miriam in disguise]";
|
||||
mes "Then I'll start the ^e5555e" + .@md_name$ + "^000000";
|
||||
next;
|
||||
if (getcharid(1) == 0 || is_party_leader() == false) {
|
||||
mes "[Miriam in disguise]";
|
||||
mes "I think it would be a good idea to form a ^ff0000party before enter ^000000..";
|
||||
close;
|
||||
}
|
||||
switch( select( "Open the door", "Enter", "Stop" ) ) {
|
||||
case 1:
|
||||
if (instance_create(.@md_name$) < 0) {
|
||||
mes "Party: " + getpartyname(getcharid(1)) + "";
|
||||
mes "Leader: " + strcharinfo(0) + "";
|
||||
mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
|
||||
close;
|
||||
}
|
||||
mes "[Miriam in disguise]";
|
||||
mes "You'd better wait a little before you go in.";
|
||||
close;
|
||||
case 2:
|
||||
switch( instance_enter(.@md_name$) ) {
|
||||
case IE_OTHER:
|
||||
mes "[Miriam in disguise]";
|
||||
mes "^ff0000An unknown error occurred.^000000";
|
||||
close;
|
||||
case IE_NOINSTANCE:
|
||||
mes "[Miriam in disguise]";
|
||||
mes "^ff0000Your party leader has not yet created the dungeon.^000000";
|
||||
close;
|
||||
case IE_NOMEMBER:
|
||||
mes "[Miriam in disguise]";
|
||||
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
|
||||
close;
|
||||
case IE_OK:
|
||||
mapannounce "ra_fild10", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL ,12;
|
||||
end;
|
||||
}
|
||||
case 3:
|
||||
end;
|
||||
}
|
||||
}
|
||||
cutin "ep18_merchant.png",2;
|
||||
mes "[Vendor]";
|
||||
mes "Someone must have been around here, but they just disappeared. Where did they go?";
|
||||
close3;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11717) == 1" );
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
// Step 1
|
||||
1@oz,284,164,3 script Rope#outoz 4_ROPEPILE,{
|
||||
mes "I think I can climb up with a rope.";
|
||||
next;
|
||||
if (select( "Use a rope to climb", "Do not use" ) == 2)
|
||||
end;
|
||||
warp "ra_fild10",180,174;
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,282,175,3 script Miriam#ozmd1 4_EP18_MIRIAM,{
|
||||
if ('event_oz != 0)
|
||||
end;
|
||||
'event_oz = 1;
|
||||
.@miriam1$ = instance_npcname("Miriam#ozmd1");
|
||||
.@maggi1$ = instance_npcname("Magi#ozmd1");
|
||||
.@mark1$ = instance_npcname("Mark#ozmd1");
|
||||
.@tamarin1$ = instance_npcname("Tamarin#ozmd1");
|
||||
.@miriam2$ = instance_npcname("Miriam#ozmd2");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
npctalk "Miriam: This is the entrance to the labyrinth of Oz.", .@miriam1$;
|
||||
cutin "ep18_miriam_03.png",2;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Everyone, please move carefully.", .@miriam1$;
|
||||
sleep2 2000;
|
||||
npctalk "Magi: Something hot and dusty...", .@maggi1$;
|
||||
cutin "4job_maggi_02.PNG",2;
|
||||
enablenpc .@maggi1$;
|
||||
enablenpc .@mark1$;
|
||||
enablenpc .@tamarin1$;
|
||||
sleep2 2000;
|
||||
npctalk "Mark: Are you okay?", .@mark1$;
|
||||
cutin "ep18_mark_01.png",2;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: There is lava flowing right below it, always scattering ashes.", .@miriam1$;
|
||||
cutin "ep18_miriam_03.png",2;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Beware there may be embers in the lava ash.", .@miriam1$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: If you inhale incorrectly, you will burn your lungs.", .@miriam1$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: There don't seem to be any monsters around here, so it's better to move slowly and check the situation again.", .@miriam1$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Please follow the road to the north first.", .@miriam1$;
|
||||
sleep2 2000;
|
||||
cutin "",255;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
|
||||
disablenpc .@maggi1$;
|
||||
disablenpc .@mark1$;
|
||||
disablenpc .@tamarin1$;
|
||||
disablenpc .@miriam1$;
|
||||
enablenpc .@miriam2$;
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,279,175,5 duplicate(dummy_npc) Magi#ozmd1 4_4JOB_MAGGI
|
||||
1@oz,280,175,3 duplicate(dummy_npc) Mark#ozmd1 4_EP18_MARK
|
||||
1@oz,279,177,3 duplicate(dummy_npc) Tamarin#ozmd1 4_EP18_TAMARIN
|
||||
|
||||
|
||||
// Step 2
|
||||
1@oz,271,272,3 script Miriam#ozmd2 4_EP18_MIRIAM,{
|
||||
if ('event_oz != 1)
|
||||
end;
|
||||
'event_oz = 2;
|
||||
.@miriam2$ = instance_npcname("Miriam#ozmd2");
|
||||
'miriam3$ = instance_npcname("Miriam#ozmd3");
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
npctalk "Miriam: If you cross the bridge in front of you, it's a real maze.", .@miriam2$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: We must be very careful crossing the bridge, let's talk again after.", .@miriam2$;
|
||||
sleep2 2000;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
disablenpc .@miriam2$;
|
||||
enablenpc 'miriam3$;
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
'miriam3_id = 0;
|
||||
'event_oz = 0;
|
||||
|
||||
'map_name$ = instance_mapname("1@oz");
|
||||
disablenpc instance_npcname("Miriam#ozmd2");
|
||||
disablenpc instance_npcname("Miriam#ozmd3");
|
||||
disablenpc instance_npcname("Miriam#ozmd4");
|
||||
disablenpc instance_npcname("Maram#ozmd5");
|
||||
disablenpc instance_npcname("Miriam#ozmd5");
|
||||
disablenpc instance_npcname("Maram#ozmd7");
|
||||
disablenpc instance_npcname("#oz_way");
|
||||
disablenpc instance_npcname("Maram#ozmd6");
|
||||
disablenpc instance_npcname("Magi#ozmd1");
|
||||
disablenpc instance_npcname("Mark#ozmd1");
|
||||
disablenpc instance_npcname("Tamarin#ozmd1");
|
||||
disablenpc instance_npcname("Magi#ozmd3");
|
||||
disablenpc instance_npcname("Mark#ozmd3");
|
||||
disablenpc instance_npcname("Tamarin#ozmd3");
|
||||
disablenpc instance_npcname("Maram#ozmd4");
|
||||
disablenpc instance_npcname("Magi#ozmd5");
|
||||
disablenpc instance_npcname("Mark#ozmd5");
|
||||
disablenpc instance_npcname("Tamarin#ozmd5");
|
||||
disablenpc instance_npcname("Maram#ozmd8");
|
||||
disablenpc instance_npcname("Magi#ozmd6");
|
||||
disablenpc instance_npcname("Mark#ozmd6");
|
||||
disablenpc instance_npcname("Tamarin#ozmd6");
|
||||
disablenpc instance_npcname("Miriam#ozmd7");
|
||||
disablenpc instance_npcname("Imril#ozmd7");
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
// Step 3
|
||||
1@oz,241,272,3 script Miriam#ozmd3 EP18_NPC_MIRIAM,{
|
||||
if ('event_oz != 2)
|
||||
end;
|
||||
'event_oz = 3;
|
||||
'miriam3$ = instance_npcname("Miriam#ozmd3");
|
||||
.@maggi3$ = instance_npcname("Magi#ozmd3");
|
||||
.@mark3$ = instance_npcname("Mark#ozmd3");
|
||||
.@tamarin3$ = instance_npcname("Tamarin#ozmd3");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
npctalk "Miriam: This bridge is dangerous, so it's best to split your luggage and cross in turn.", 'miriam3$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Then I will cross first, so please follow slowly. It will help not to look under your feet.", 'miriam3$;
|
||||
sleep2 2000;
|
||||
npctalk "Tamarin: Wow I can't see the bottom.", .@tamarin3$;
|
||||
enablenpc .@maggi3$;
|
||||
enablenpc .@mark3$;
|
||||
enablenpc .@tamarin3$;
|
||||
sleep2 2000;
|
||||
npctalk "Magi: Your legs look very old...", .@maggi3$;
|
||||
sleep2 2000;
|
||||
npctalk "Mark: Everyone be careful", .@mark3$;
|
||||
sleep2 2000;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
disablenpc .@maggi3$;
|
||||
disablenpc .@mark3$;
|
||||
disablenpc .@tamarin3$;
|
||||
'miriam3_id = getnpcid(0);
|
||||
|
||||
unitwalk 'miriam3_id,231,272, 'miriam3$ + "::OnEvent1"; // several events are required to palliate to our too short value of MAX_WALKPATH (32) used to calculate the pathing
|
||||
end;
|
||||
OnEvent1:
|
||||
unitwalk 'miriam3_id,211,272, 'miriam3$ + "::OnEvent2";
|
||||
end;
|
||||
OnEvent2:
|
||||
unitwalk 'miriam3_id,191,272, 'miriam3$ + "::OnEvent3";
|
||||
end;
|
||||
OnEvent3:
|
||||
unitwalk 'miriam3_id,171,272, 'miriam3$ + "::OnEvent4";
|
||||
end;
|
||||
OnEvent4:
|
||||
unitwalk 'miriam3_id,157,272, 'miriam3$ + "::OnEvent5";
|
||||
end;
|
||||
OnEvent5:
|
||||
disablenpc 'miriam3$;
|
||||
enablenpc instance_npcname("Miriam#ozmd4");
|
||||
enablenpc instance_npcname("Ash Toad#ozmd1");
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,245,272,3 duplicate(dummy_npc) Magi#ozmd3 4_4JOB_MAGGI
|
||||
1@oz,244,273,3 duplicate(dummy_npc) Mark#ozmd3 4_EP18_MARK
|
||||
1@oz,244,270,3 duplicate(dummy_npc) Tamarin#ozmd3 4_EP18_TAMARIN
|
||||
|
||||
|
||||
// Step 4 + 5
|
||||
1@oz,157,272,3 script Miriam#ozmd4 4_EP18_MIRIAM,{
|
||||
if ('event_oz != 3)
|
||||
end;
|
||||
'event_oz = 4;
|
||||
|
||||
.@miriam4$ = instance_npcname("Miriam#ozmd4");
|
||||
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
|
||||
.@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
|
||||
.@maggi4$ = instance_npcname("Magi#ozmd4");
|
||||
.@mark4$ = instance_npcname("Mark#ozmd4");
|
||||
.@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
mapannounce 'map_name$, "Miriam: Ah!! A monster!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 1500;
|
||||
mapannounce 'map_name$, "Miriam: I'll take this rude bastard.", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 1500;
|
||||
mapannounce 'map_name$, "Tamarin: Appeared in the back!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 2000;
|
||||
enablenpc .@tamarin4$;
|
||||
sleep2 500;
|
||||
enablenpc .@ashtoad2$;
|
||||
mapannounce 'map_name$, "Magi: Crazy!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 500;
|
||||
enablenpc .@maggi4$;
|
||||
enablenpc .@mark4$;
|
||||
mapannounce 'map_name$, "Mark: Please support me in the front!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 1000;
|
||||
'mob_count_oz = 0;
|
||||
monster 'map_name$,145,274,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
|
||||
enablenpc .@ashtoad3$;
|
||||
monster 'map_name$,143,278,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
end;
|
||||
|
||||
// Note: on official the event seems to start right after killing the 2 mobs. The character can't move.
|
||||
// There is no OnTouch area, a character outside the npc range can't see the dialog. Intended ?
|
||||
OnMobDead:
|
||||
'mob_count_oz++;
|
||||
if ('mob_count_oz < 2)
|
||||
end;
|
||||
if ('event_oz != 4)
|
||||
end;
|
||||
'event_oz = 5;
|
||||
|
||||
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
|
||||
.@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
|
||||
.@maggi4$ = instance_npcname("Magi#ozmd4");
|
||||
.@mark4$ = instance_npcname("Mark#ozmd4");
|
||||
.@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
|
||||
.@maram4$ = instance_npcname("Maram#ozmd4");
|
||||
.@ashtoad1$ = instance_npcname("Ash Toad#ozmd1");
|
||||
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
|
||||
.@miriam4$ = instance_npcname("Miriam#ozmd4");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
npctalk "Tamarin: I did it!!!", .@tamarin4$;
|
||||
disablenpc .@ashtoad2$;
|
||||
sleep2 2000;
|
||||
npctalk "Magi: Me too!!", .@maggi4$;
|
||||
disablenpc .@ashtoad3$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Huh It wasn't a great monster, but it would have been dangerous if they were ordinary merchants.", .@miriam4$;
|
||||
disablenpc .@ashtoad1$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram : " + strcharinfo(0) + " Are you okay?", .@maram4$;
|
||||
enablenpc .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: You're late! Maram!!!", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: I met a monster on the way, so I'm a little late.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: There were no monsters on the road we passed earlier.", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Yeah? Where the hell do monsters spring up like this...", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: It's a big deal because it's getting harder and harder to move goods because of these monsters.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Tamarin: If you go to the ground?", .@tamarin4$;
|
||||
sleep2 2000;
|
||||
npctalk "Tamarin: I heard there used to be a bridge to cross a canyon?", .@tamarin4$;
|
||||
sleep2 2000;
|
||||
npctalk "Tamarin: Because there are still remains...", .@tamarin4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: It is said that the bridge above was destroyed when they saw the natives crossing to escape the hardliners' attacks.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: The land across the bridge has become uninhabitable due to volcanic ash, so it must have been the intention to dry it to death.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: It's not difficult to make a bridge again...", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: You can't advertise that you're hiding here by making a bridge because you're in hiding.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: It's dangerous and inconvenient right now, but I have no choice but to use the maze of Oz.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: In this state, it may not have been noticed until now.", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Without the Maze of Oz...", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: It must have been a lot harder than it is now.", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: That's right", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Now, shall we walk the lovely maze of Oz again?", .@maram4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: What do you mean", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam : " + strcharinfo(0) + " From now on, go all the way down until you come to a fork.", .@miriam4$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: It would be nice if the monsters didn't appear...", .@miriam4$;
|
||||
sleep2 1000;
|
||||
disablenpc .@maram4$;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
|
||||
disablenpc .@maggi4$;
|
||||
disablenpc .@mark4$;
|
||||
disablenpc .@tamarin4$;
|
||||
disablenpc .@miriam4$;
|
||||
enablenpc instance_npcname("Maram#ozmd5");
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,156,272,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd1 EP18_ASH_TOAD
|
||||
1@oz,164,272,3 duplicate(dummy_disabled_npc) Ash Toad#ozmd2 EP18_ASH_TOAD
|
||||
1@oz,153,275,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd3 EP18_ASH_TOAD
|
||||
1@oz,155,275,3 duplicate(dummy_disabled_npc) Magi#ozmd4 4_4JOB_MAGGI
|
||||
1@oz,156,274,3 duplicate(dummy_disabled_npc) Mark#ozmd4 4_EP18_MARK
|
||||
1@oz,161,272,5 duplicate(dummy_disabled_npc) Tamarin#ozmd4 4_EP18_TAMARIN
|
||||
|
||||
1@oz,162,275,3 duplicate(dummy_npc) Maram#ozmd4 4_EP18_MARAM
|
||||
|
||||
|
||||
// Step 6
|
||||
1@oz,98,172,3 script Maram#ozmd5 EP18_NPC_MARAM,{
|
||||
if ('event_oz != 5)
|
||||
end;
|
||||
'event_oz = 6;
|
||||
.@miriam$ = instance_npcname("Miriam#ozmd5");
|
||||
.@maram$ = instance_npcname("Maram#ozmd5");
|
||||
|
||||
enablenpc .@miriam$;
|
||||
enablenpc instance_npcname("Magi#ozmd5");
|
||||
enablenpc instance_npcname("Mark#ozmd5");
|
||||
enablenpc instance_npcname("Tamarin#ozmd5");
|
||||
npctalk "Maram: It wasn't like this before, but maybe it's the effect of Tor Volcano, as the ground below starts to melt, so more monsters are appearing.";
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Especially in areas with a lot of molten ground, when trying to avoid monsters, the lava Because there are many people who are seriously injured or never come back... ";
|
||||
sleep2 2000;
|
||||
npctalk "Maram: How long will the maze of Oz last...";
|
||||
sleep2 3000;
|
||||
mapannounce 'map_name$, "??? : ugh!!!!!!!!!!!!!!!!!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: This voice?!?!?!?!?";
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Imril!!!!", .@miriam$;
|
||||
sleep2 2000;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
npctalk "Maram: I think your friend is in trouble! I'll go first, so please follow me carefully!";
|
||||
disablenpc instance_npcname("Magi#ozmd5");
|
||||
disablenpc instance_npcname("Mark#ozmd5");
|
||||
disablenpc instance_npcname("Tamarin#ozmd5");
|
||||
unitwalk getnpcid(0),68,165, .@maram$ + "::OnMove";
|
||||
donpcevent .@miriam$ + "::OnMove";
|
||||
end;
|
||||
OnMove:
|
||||
disablenpc instance_npcname("Maram#ozmd5");
|
||||
enablenpc instance_npcname("Maram#ozmd7");
|
||||
enablenpc instance_npcname("Imril#ozmd6");
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,97,167,3 script Miriam#ozmd5 EP18_NPC_MIRIAM,{
|
||||
end;
|
||||
OnMove:
|
||||
npcwalkto 67,164;
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,92,170,3 duplicate(dummy_npc) Magi#ozmd5 4_4JOB_MAGGI
|
||||
1@oz,91,169,3 duplicate(dummy_npc) Mark#ozmd5 4_EP18_MARK
|
||||
1@oz,89,170,5 duplicate(dummy_npc) Tamarin#ozmd5 4_EP18_TAMARIN
|
||||
|
||||
|
||||
|
||||
// Step 7
|
||||
1@oz,68,165,3 script Maram#ozmd7 4_EP18_MARAM,{
|
||||
if ('event_oz != 6)
|
||||
end;
|
||||
'event_oz = 7;
|
||||
npctalk "Maram: Are you okay, Imril?";
|
||||
donpcevent instance_npcname("Imril#ozmd6") + "::OnStart";
|
||||
disablenpc instance_npcname("Maram#ozmd7");
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
// Step 8
|
||||
1@oz,61,163,5 script Imril#ozmd6 4_EP18_IMRIL,{
|
||||
end;
|
||||
|
||||
OnStart:
|
||||
'mob_count_oz = 0;
|
||||
.@npc_name$ = instance_npcname("Imril#ozmd6");
|
||||
monster 'map_name$,64,164,"Ash Toad",21295,1, .@npc_name$ + "::OnMobDead"; // EP18_ASH_TOAD
|
||||
monster 'map_name$,62,161,"rake hand",21296,1, .@npc_name$ + "::OnMobDead"; // EP18_RAKEHAND
|
||||
end;
|
||||
|
||||
OnMobDead:
|
||||
'mob_count_oz++;
|
||||
if ('mob_count_oz < 2)
|
||||
end;
|
||||
if ('event_oz != 7)
|
||||
end;
|
||||
'event_oz = 8;
|
||||
|
||||
.@maram8$ = instance_npcname("Maram#ozmd8");
|
||||
.@imril6$ = instance_npcname("Imril#ozmd6");
|
||||
.@miriam5$ = instance_npcname("Miriam#ozmd5");
|
||||
.@maggi6$ = instance_npcname("Magi#ozmd6");
|
||||
.@mark6$ = instance_npcname("Mark#ozmd6");
|
||||
.@tamarin6$ = instance_npcname("Tamarin#ozmd6");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
enablenpc .@maram8$;
|
||||
npctalk "Imril: Thanks! We almost died!", .@imril6$;
|
||||
sleep2 2000;
|
||||
npctalk "Imril: Don't go downstairs because the atmosphere isn't too bad.", .@imril6$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: You seem to see monsters more often than last time.", .@miriam5$;
|
||||
sleep2 2000;
|
||||
npctalk "Imril: But what about those people?", .@imril6$;
|
||||
enablenpc .@maggi6$;
|
||||
enablenpc .@mark6$;
|
||||
enablenpc .@tamarin6$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: They are adventurers who sometimes help with mother's work.", .@maram8$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Trustworthy people, don't be so wary.", .@maram8$;
|
||||
sleep2 2000;
|
||||
npctalk "Imril: Because you trust people too easily.", .@imril6$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Yes.", .@miriam5$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Anyway, let's escape before more monsters come out.", .@maram8$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: Not long left.", .@maram8$;
|
||||
sleep2 2000;
|
||||
npctalk "Maram: It's hard to see, but just follow the road up here!", .@maram8$;
|
||||
sleep2 2000;
|
||||
npctalk "Tamarin: I think this is the way!", .@tamarin6$;
|
||||
disablenpc .@maggi6$;
|
||||
disablenpc .@mark6$;
|
||||
disablenpc .@tamarin6$;
|
||||
disablenpc .@maram8$;
|
||||
enablenpc instance_npcname("#oz_way");
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,68,165,3 duplicate(dummy_npc) Maram#ozmd8 4_EP18_MARAM
|
||||
1@oz,61,168,3 duplicate(dummy_npc) Magi#ozmd6 4_4JOB_MAGGI
|
||||
1@oz,65,167,3 duplicate(dummy_npc) Mark#ozmd6 4_EP18_MARK
|
||||
1@oz,59,171,3 duplicate(dummy_npc) Tamarin#ozmd6 4_EP18_TAMARIN
|
||||
|
||||
|
||||
|
||||
// Step 9
|
||||
1@oz,58,256,5 script #oz_way 1_SHADOW_NPC,3,3,{
|
||||
end;
|
||||
OnTouch:
|
||||
if ('event_oz != 8)
|
||||
end;
|
||||
'event_oz = 9;
|
||||
enablenpc instance_npcname("Maram#ozmd6");
|
||||
end;
|
||||
}
|
||||
|
||||
// Step 10 (maybe not required ?)
|
||||
1@oz,44,255,5 script Maram#ozmd6 4_EP18_MARAM,{
|
||||
if ('event_oz != 9)
|
||||
end;
|
||||
'event_oz = 10;
|
||||
npctalk "Maram: This way!!!";
|
||||
initnpctimer;
|
||||
end;
|
||||
OnTimer2000:
|
||||
disablenpc instance_npcname("Maram#ozmd6");
|
||||
enablenpc instance_npcname("Maram#ozmd9");
|
||||
enablenpc instance_npcname("Rope#outoz2");
|
||||
end;
|
||||
}
|
||||
|
||||
// Step 11
|
||||
// (Step 29 on the main quest).
|
||||
1@oz,21,189,5 script Maram#ozmd9 4_EP18_MARAM,{
|
||||
if ('event_oz != 10)
|
||||
end;
|
||||
'event_oz = 11;
|
||||
|
||||
.@maram9$ = instance_npcname("Maram#ozmd9");
|
||||
.@miriam7$ = instance_npcname("Miriam#ozmd7");
|
||||
.@imril7$ = instance_npcname("Imril#ozmd7");
|
||||
|
||||
setpcblock PCBLOCK_NPC, true;
|
||||
npctalk "Maram: Climb up the rope in front of this to get out.", .@maram9$;
|
||||
enablenpc .@miriam7$;
|
||||
enablenpc .@imril7$;
|
||||
sleep2 2000;
|
||||
npctalk "Imril: I'll go get some hidden stuff here, so go up first.", .@imril7$;
|
||||
sleep2 2000;
|
||||
npctalk "Miriam: Everyone is very tired. Let's go upstairs.", .@miriam7$;
|
||||
if (ep18_1_main == 30) {
|
||||
changequest 11719,11720;
|
||||
ep18_1_main = 31;
|
||||
}
|
||||
disablenpc .@miriam7$;
|
||||
disablenpc .@imril7$;
|
||||
setpcblock PCBLOCK_NPC, false;
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
disablenpc instance_npcname("Maram#ozmd9");
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,22,187,5 duplicate(dummy_npc) Miriam#ozmd7 4_EP18_MIRIAM
|
||||
1@oz,16,185,3 duplicate(dummy_npc) Imril#ozmd7 4_EP18_IMRIL
|
||||
|
||||
|
||||
// Step 12
|
||||
1@oz,28,190,3 script(DISABLED) Rope#outoz2 4_ROPEPILE,{
|
||||
if ('event_oz < 11)
|
||||
end;
|
||||
mes "I think I can climb up with a rope.";
|
||||
next;
|
||||
switch( select( "Use a rope to climb", "Do not use" ) ) {
|
||||
case 1:
|
||||
close2;
|
||||
warp "gw_fild01",275,337;
|
||||
end;
|
||||
case 2:
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11720) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
// Spawn monsters
|
||||
1@oz,22,207,5 script #oz01 1_SHADOW_NPC,4,4,{
|
||||
end;
|
||||
OnTouch_:
|
||||
getmapxy .@map$,.@x,.@y, BL_NPC;
|
||||
monster 'map_name$,.@x-1,.@y,"Ash Toad",21295,1; // EP18_ASH_TOAD
|
||||
monster 'map_name$,.@x+1,.@y,"Rake Hand",21296,1; // EP18_RAKEHAND
|
||||
disablenpc instance_npcname( strnpcinfo(0) );
|
||||
end;
|
||||
}
|
||||
|
||||
1@oz,30,237,5 duplicate(#oz01) #oz02 1_SHADOW_NPC,4,4
|
||||
1@oz,44,264,5 duplicate(#oz01) #oz03 1_SHADOW_NPC,4,4
|
||||
1@oz,62,247,5 duplicate(#oz01) #oz04 1_SHADOW_NPC,4,4
|
||||
1@oz,72,222,5 duplicate(#oz01) #oz05 1_SHADOW_NPC,4,4
|
||||
1@oz,79,203,5 duplicate(#oz01) #oz06 1_SHADOW_NPC,4,4
|
||||
1@oz,124,261,5 duplicate(#oz01) #oz07 1_SHADOW_NPC,4,4
|
||||
1@oz,139,279,5 duplicate(#oz01) #oz08 1_SHADOW_NPC,4,4
|
||||
|
||||
462
npc/re/instances/ThorGunsuBase.txt
Normal file
462
npc/re/instances/ThorGunsuBase.txt
Normal file
@@ -0,0 +1,462 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Instance: Thor Gunsu Base.
|
||||
//===== Description: =========================================
|
||||
//- [Walkthrough conversion]
|
||||
//- Part of the episode 18.1 main quest.
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
// Main Quest: Step 47.
|
||||
que_thr,133,53,5 script Maram#Armybase1 4_EP18_MARAM,{
|
||||
if (ep18_1_main != 45 && ep18_1_main != 46)
|
||||
end;
|
||||
if (ep18_1_main == 45) {
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "You have arrived, adventurer!";
|
||||
mes "You did a great job getting here.";
|
||||
next;
|
||||
cutin "ep18_maram_03.png",2;
|
||||
mes "[Maram]";
|
||||
mes "After all, it looks like this next one is real. The guards are different from before...";
|
||||
mes "Let's look inside, being careful not to be caught by the guards.";
|
||||
next;
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "Make sure to move out of sight of the guards as much as possible.";
|
||||
mes "If you make a mistake, you will be attacked, so if you don't break through, we'll meet again here.";
|
||||
changequest 16577,16578;
|
||||
ep18_1_main = 46;
|
||||
next;
|
||||
}
|
||||
else if (ep18_1_main == 46) {
|
||||
mes "[Maram]";
|
||||
mes "Let's try to get in as far as possible from the guard tower.";
|
||||
next;
|
||||
}
|
||||
|
||||
.@md_name$ = "Thor Gunsu Base";
|
||||
cutin "",255;
|
||||
mes "^FF0000 Any arbitrary processing such as taming monsters in the dungeon is not considered normal. Please note.^000000";
|
||||
next;
|
||||
// player has party
|
||||
if (is_party_leader()) {
|
||||
// player is leader of the party
|
||||
.@create$ = "Open " + .@md_name$;
|
||||
}
|
||||
switch( select( .@create$, .@md_name$ + " entry" ) ) {
|
||||
case 1:
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "When the application is complete, talk to me again and select ^0000CD Thor military base entry^000000";
|
||||
if (instance_create(.@md_name$) < 0) {
|
||||
mes "Party: " + getpartyname(getcharid(1)) + "";
|
||||
mes "Leader: " + strcharinfo(0) + "";
|
||||
mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
|
||||
close3;
|
||||
}
|
||||
close3;
|
||||
case 2:
|
||||
// Note: instance not forced solo
|
||||
switch( instance_enter(.@md_name$) ) {
|
||||
case IE_OTHER:
|
||||
mes "[Maram]";
|
||||
mes "^ff0000An unknown error occurred.^000000";
|
||||
close;
|
||||
case IE_NOINSTANCE:
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "I don't think the dungeon has been created yet? Please check later.";
|
||||
close3;
|
||||
case IE_NOMEMBER:
|
||||
mes "[Maram]";
|
||||
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
|
||||
close;
|
||||
case IE_OK:
|
||||
mapannounce "que_thr", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12;
|
||||
// warp 1@tcamp,103,237;
|
||||
end;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16577) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,106,237,3 script Maram#base1 4_EP18_MARAM,{
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "Be careful and explore the inside.";
|
||||
mes "I heard from Mr. Dandelion earlier, there aren't many people, but there are Watch Towers here and there that monitor a fairly wide area.";
|
||||
next;
|
||||
mes "[Maram]";
|
||||
mes "If you get caught by the Watch Tower, soldiers will appear, so be careful not to get caught.";
|
||||
mes "Well, if you find something, please contact me!";
|
||||
close3;
|
||||
|
||||
OnInstanceInit:
|
||||
'map_tcamp$ = instance_mapname("1@tcamp");
|
||||
|
||||
disablenpc instance_npcname("Document Pile#Site1");
|
||||
disablenpc instance_npcname("Document Pile#Site2");
|
||||
disablenpc instance_npcname("Document Pile#Site3");
|
||||
disablenpc instance_npcname("Document Pile#Site4");
|
||||
disablenpc instance_npcname("Document Pile#Site5");
|
||||
disablenpc instance_npcname("Maram#Lock1");
|
||||
disablenpc instance_npcname("Maram#Lock2");
|
||||
disablenpc instance_npcname("Maram#Lock3");
|
||||
disablenpc instance_npcname("Maram#Lock4");
|
||||
|
||||
setcell 'map_tcamp$,137,216,142,216,cell_walkable,0;
|
||||
setcell 'map_tcamp$,135,145,144,145,cell_walkable,0;
|
||||
setcell 'map_tcamp$,223,105,223,110,cell_walkable,0;
|
||||
setcell 'map_tcamp$,80,94,80,100,cell_walkable,0;
|
||||
|
||||
// some monsters spawn randomly
|
||||
monster 'map_tcamp$,0,0,"Base Soldier",21310,18; // EP18_MD_GUARD_A
|
||||
monster 'map_tcamp$,0,0,"Base Soldier",21309,18; // EP18_MD_THOR_GUARD
|
||||
end;
|
||||
}
|
||||
|
||||
// unknown npc effect
|
||||
// 1@tcamp,244,152,3 duplicate(dummy_npc) #Remote 1 CLEAR_NPC
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Traps
|
||||
//-------------------------------------------------------------------
|
||||
1@tcamp,120,228,3 script Watch Tower#Watch1 4_SYSTEM_BOX,7,7,{
|
||||
end;
|
||||
OnTouch: // note: hidden player trigger the event
|
||||
npctalk "Detect intruders. Exclude them.";
|
||||
mapannounce 'map_tcamp$, "Intruder detected, intruder detected. We rule out immediately.", bc_map, 0xFF0000;
|
||||
getmapxy .@map$,.@x,.@y, BL_NPC;
|
||||
|
||||
areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21309,3; // EP18_MD_THOR_GUARD
|
||||
areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21310,3; // EP18_MD_GUARD_A
|
||||
end;
|
||||
OnTimer2000:
|
||||
specialeffect EF_WARP;
|
||||
initnpctimer;
|
||||
end;
|
||||
OnInstanceInit:
|
||||
initnpctimer;
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,135,228,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch2 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,152,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch3 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,167,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch4 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,182,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch5 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,161,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch6 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,146,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch7 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,116,102,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch8 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,88,92,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch9 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,240,148,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch10 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,156,71,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch11 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,176,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch12 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,192,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch13 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,142,153,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch14 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,142,168,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch15 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,192,179,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch16 4_SYSTEM_BOX,7,7
|
||||
1@tcamp,237,90,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch17 4_SYSTEM_BOX,7,7
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Walls
|
||||
//-------------------------------------------------------------------
|
||||
1@tcamp,138,216,3 script Lock#1-1 4_ROPEPILE,{
|
||||
.@maram$ = instance_npcname("Maram#Lock1");
|
||||
enablenpc .@maram$;
|
||||
npctalk "Maram: Wait a minute. I know how to open it.", .@maram$;
|
||||
progressbar_npc "3131FF",10;
|
||||
npctalk "Maram: Now we can pass!", .@maram$;
|
||||
disablenpc instance_npcname("Lock#1-1");
|
||||
disablenpc instance_npcname("Lock#1-2");
|
||||
disablenpc .@maram$;
|
||||
setcell 'map_tcamp$,137,216,142,216,cell_walkable,1;
|
||||
end;
|
||||
}
|
||||
1@tcamp,141,216,3 duplicate(Lock#1-1) Lock#1-2 4_ROPEPILE
|
||||
1@tcamp,140,218,3 duplicate(dummy_npc) Maram#Lock1 4_EP18_MARAM
|
||||
|
||||
1@tcamp,136,145,3 script Lock#2-1 4_ROPEPILE,{
|
||||
.@maram$ = instance_npcname("Maram#Lock2");
|
||||
enablenpc .@maram$;
|
||||
progressbar_npc "3131FF",10;
|
||||
npctalk "It would be better to proceed with caution.", .@maram$;
|
||||
disablenpc instance_npcname("Lock#2-1");
|
||||
disablenpc instance_npcname("Lock#2-2");
|
||||
disablenpc instance_npcname("Lock#2-3");
|
||||
disablenpc instance_npcname("Lock#2-4");
|
||||
disablenpc .@maram$;
|
||||
setcell 'map_tcamp$,135,145,144,145,cell_walkable,1;
|
||||
end;
|
||||
}
|
||||
1@tcamp,138,145,3 duplicate(Lock#2-1) Lock#2-2 4_ROPEPILE
|
||||
1@tcamp,141,145,3 duplicate(Lock#2-1) Lock#2-3 4_ROPEPILE
|
||||
1@tcamp,143,145,3 duplicate(Lock#2-1) Lock#2-4 4_ROPEPILE
|
||||
1@tcamp,142,147,3 duplicate(dummy_npc) Maram#Lock2 4_EP18_MARAM
|
||||
|
||||
1@tcamp,223,109,3 script Lock#3-1 4_ROPEPILE,{
|
||||
.@maram$ = instance_npcname("Maram#Lock3");
|
||||
enablenpc .@maram$;
|
||||
npctalk "Maram: This building looks pretty suspicious, right? There must be a surveillance system in it as well.", .@maram$;
|
||||
progressbar_npc "3131FF",10;
|
||||
npctalk "Maram: Let's explore carefully, being careful not to get caught this time.", .@maram$;
|
||||
disablenpc instance_npcname("Lock#3-1");
|
||||
disablenpc instance_npcname("Lock#3-2");
|
||||
disablenpc .@maram$;
|
||||
setcell 'map_tcamp$,223,105,223,110,cell_walkable,1;
|
||||
end;
|
||||
}
|
||||
1@tcamp,223,106,3 duplicate(Lock#3-1) Lock#3-2 4_ROPEPILE
|
||||
1@tcamp,226,114,3 duplicate(dummy_npc) Maram#Lock3 4_EP18_MARAM
|
||||
|
||||
1@tcamp,80,99,3 script Lock#4-1 4_ROPEPILE,{
|
||||
.@maram$ = instance_npcname("Maram#Lock4");
|
||||
enablenpc .@maram$;
|
||||
npctalk "Maram: I think you've gotten pretty deep. You should be able to find what you need safely.", .@maram$;
|
||||
progressbar_npc "3131FF",10;
|
||||
npctalk "Maram: Shall we wish you luck?", .@maram$;
|
||||
disablenpc instance_npcname("Lock#4-1");
|
||||
disablenpc instance_npcname("Lock#4-2");
|
||||
disablenpc instance_npcname("Lock#4-3");
|
||||
disablenpc .@maram$;
|
||||
setcell 'map_tcamp$,80,94,80,100,cell_walkable,1;
|
||||
|
||||
enablenpc instance_npcname("Document Pile#Site1");
|
||||
enablenpc instance_npcname("Document Pile#Site2");
|
||||
enablenpc instance_npcname("Document Pile#Site3");
|
||||
enablenpc instance_npcname("Document Pile#Site4");
|
||||
enablenpc instance_npcname("Document Pile#Site5");
|
||||
enablenpc instance_npcname("Miriam#base1");
|
||||
enablenpc instance_npcname("Maram#base5");
|
||||
end;
|
||||
}
|
||||
1@tcamp,80,97,3 duplicate(Lock#4-1) Lock#4-2 4_ROPEPILE
|
||||
1@tcamp,80,95,3 duplicate(Lock#4-1) Lock#4-3 4_ROPEPILE
|
||||
1@tcamp,82,100,3 duplicate(dummy_npc) Maram#Lock4 4_EP18_MARAM
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Final
|
||||
//-------------------------------------------------------------------
|
||||
1@tcamp,32,100,3 script Document Pile#Site1 4_EP18_PAPERS,{
|
||||
mes "[Pile of Papers]";
|
||||
mes "All the papers are jumbled up.";
|
||||
mes "I took out a few sheets from the middle These are the expiry date of the weapon and the sales statement.";
|
||||
next;
|
||||
mes "[Pile of Papers]";
|
||||
mes "Even the date is very recent. There is a record of handing over a large number of weapons to Mr. Dandelion.";
|
||||
mes "I think I found what I was looking for. I put the documents in my pocket.";
|
||||
close2;
|
||||
getitem 1000409,1; // Ep18_Docu_File
|
||||
cloakonnpcself( instance_npcname("Document Pile#Site1") );
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,49,123,3 script Document Pile#Site2 4_EP18_PAPERS,{
|
||||
mes "[Pile of Papers]";
|
||||
mes "All the papers are jumbled up.";
|
||||
mes "At the top of the page the final menu for luncheon dinner?";
|
||||
next;
|
||||
mes "[Pile of Papers]";
|
||||
mes "It seems that the menu is fried fish with sauce.";
|
||||
mes "You seem to have left unimportant documents. Let's take care of them first.";
|
||||
close2;
|
||||
getitem 1000409,1; // Ep18_Docu_File
|
||||
cloakonnpcself( instance_npcname("Document Pile#Site2") );
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,29,86,3 script Document Pile#Site3 4_EP18_PAPERS,{
|
||||
mes "[Pile of Papers]";
|
||||
mes "All the papers are jumbled up.";
|
||||
mes "I took one out of the middle The layout of the military base guards?";
|
||||
next;
|
||||
mes "[Pile of Papers]";
|
||||
mes "Looking at the date, it was a long time ago.";
|
||||
mes "You seem to have left unimportant documents. Let's take care of them first.";
|
||||
close2;
|
||||
getitem 1000409,1; // Ep18_Docu_File
|
||||
cloakonnpcself( instance_npcname("Document Pile#Site3") );
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,60,122,3 script Document Pile#Site4 4_EP18_PAPERS,{
|
||||
mes "[Pile of Papers]";
|
||||
mes "All the papers are jumbled up.";
|
||||
mes "The top one... 'If you feed the magmaring potatoes and hunt them after a while, will they drop the baked potatoes?'";
|
||||
next;
|
||||
mes "[Pile of Papers]";
|
||||
mes "why is this here. But I'm curious about the result!";
|
||||
mes "You seem to have left unimportant documents. Let's take care of them first.";
|
||||
close2;
|
||||
getitem 1000409,1; // Ep18_Docu_File
|
||||
cloakonnpcself( instance_npcname("Document Pile#Site4") );
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,31,84,3 script Document Pile#Site5 4_EP18_PAPERS,{
|
||||
mes "[Pile of Papers]";
|
||||
mes "All the papers are jumbled up.";
|
||||
mes "Picking one out of the middle I found an illustration of the Pope drawn by icing the Pope's cookie icing with a pen.";
|
||||
next;
|
||||
mes "[Pile of Papers]";
|
||||
mes "What kind of picture is it? Besides, you drew it very well.";
|
||||
mes "You seem to have left unimportant documents. Let's take care of them first.";
|
||||
close2;
|
||||
getitem 1000409,1; // Ep18_Docu_File
|
||||
cloakonnpcself( instance_npcname("Document Pile#Site5") );
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
1@tcamp,34,100,3 script Miriam#base1 4_EP18_MIRIAM,3,3,{
|
||||
disable_items;
|
||||
if (countitem(1000409) < 5) { // Ep18_Docu_File
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "As expected, you are talented, adventurer. I used all sorts of connections to find the position.";
|
||||
mes "It seems that Adventurer and Maram found it at once.";
|
||||
next;
|
||||
mes "[Miriam]";
|
||||
mes "Read some of the documents here. We have what we were looking for.";
|
||||
mes "I think it would be better to come and see it firsthand than to explain everything.";
|
||||
close3;
|
||||
}
|
||||
if (getequipid(EQI_HEAD_TOP) != 400127) { // Ep18_Mini_Elly
|
||||
mes "[Mini Elly]";
|
||||
mes "Get it out of the bag. Put it on your head.";
|
||||
close;
|
||||
}
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes ".";
|
||||
next;
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "No, Miriam! How are you here?";
|
||||
mes "They said they would investigate separately!";
|
||||
next;
|
||||
cutin "ep18_miriam_01.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "How did you and the adventurer dig this far?";
|
||||
mes "You have good skills, too. It was a location that I found using all kinds of connections, but you found it at once.";
|
||||
next;
|
||||
cutin "ep18_maram_02.png",2;
|
||||
mes "[Maram]";
|
||||
mes "Let's do some, right, adventurer?";
|
||||
mes "Anyway, what information did you get?";
|
||||
next;
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "Look at this document here.";
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "[Mini Elly]";
|
||||
mes "This is a sales statement for arms. Show it to me as well.";
|
||||
mes "The weapons and firearms these men have disposed of are all less than a year old.";
|
||||
next;
|
||||
cutin "ep18_miriam_03.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "How dare you sell such weapons.";
|
||||
mes "A weapon that is not properly maintained may not function properly.";
|
||||
next;
|
||||
cutin "ep18_maram_03.png",2;
|
||||
mes "[Maram]";
|
||||
mes "The weapons that come out of the back hole are all the same.";
|
||||
mes "but, at least it's at this point.";
|
||||
next;
|
||||
mes "[Maram]";
|
||||
mes "A year is not a long term, but it is not tight.";
|
||||
mes "Why did we pour out at this moment in preparation for the protest?";
|
||||
next;
|
||||
mes "[Maram]";
|
||||
mes "You wouldn't have to dispose of it right away.";
|
||||
next;
|
||||
npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
|
||||
sleep2 300;
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "This is one of the military bases managed by my stepfather.";
|
||||
mes "Just by chance, it really came out at a time like this.";
|
||||
next;
|
||||
cutin "",255;
|
||||
select( "If your stepfather is a priest, Youth Amal?", "The hard-line and pro-war stepfather?" );
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "That's right, adventurer. Looking at the ledger, it doesn't seem like the stepfather was involved.";
|
||||
mes "I think it was a single corruption at the end, the weapon leak case.";
|
||||
next;
|
||||
mes "[Miriam]";
|
||||
mes "I'll have to dig a little deeper, but that's my guess for now.";
|
||||
mes "Oh, give me the documents. I'll take it as evidence.";
|
||||
delitem 1000409,5; // Ep18_Docu_File
|
||||
if (isbegin_quest(16578) == 1) {
|
||||
erasequest 16578;
|
||||
setquest 16579;
|
||||
}
|
||||
close2;
|
||||
cutin "",255;
|
||||
npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
npctalk "Miriam: Oh, adventurer? Maram you too!?";
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16578) == 1 && countitem(1000409) > 4" ); // Ep18_Docu_File
|
||||
disablenpc instance_npcname("Miriam#base1");
|
||||
end;
|
||||
}
|
||||
|
||||
1@tcamp,32,102,3 script Maram#base5 4_EP18_MARAM,{
|
||||
if (isbegin_quest(16579) == 0) {
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "I didn't know Miriam was here, right, adventurer?";
|
||||
close3;
|
||||
}
|
||||
cutin "ep18_maram_02.png",2;
|
||||
mes "[Maram]";
|
||||
mes "We moved separately, but in the end we are in the same position.";
|
||||
mes "Still, what I got in the process was different, so I guess it has its own meaning.";
|
||||
next;
|
||||
cutin "ep18_miriam_02.png",2;
|
||||
mes "[Miriam]";
|
||||
mes "Then I must be away for a while.";
|
||||
mes "I'm going to pass on my findings to my stepfather.";
|
||||
next;
|
||||
mes "[Miriam]";
|
||||
mes "Because there is a possibility that the adoptive father may not know yet if it is a single corruption.";
|
||||
next;
|
||||
cutin "ep18_maram_03.png",2;
|
||||
mes "[Maram]";
|
||||
mes "Is it really an independent corruption? That's probably what bothers me.";
|
||||
mes "I have something to give to Rachel, Miriam, let's go together.";
|
||||
next;
|
||||
cutin "ep18_maram_01.png",2;
|
||||
mes "[Maram]";
|
||||
mes "I'll give you a shortcut, so can you please tell Suad what you found out here?";
|
||||
mes "We will follow soon, so please go ahead and tell me.";
|
||||
if (ep18_1_main == 46) {
|
||||
ep18_1_main = 47;
|
||||
erasequest 16579;
|
||||
setquest 16580;
|
||||
getitem "Ep18_Amethyst_Fragment",50;
|
||||
}
|
||||
close2;
|
||||
warp "wolfvill",162,154;
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16579) == 1" );
|
||||
disablenpc instance_npcname("Maram#base5");
|
||||
end;
|
||||
}
|
||||
959
npc/re/instances/VillaofDeception.txt
Normal file
959
npc/re/instances/VillaofDeception.txt
Normal file
@@ -0,0 +1,959 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Instance Villa of Deception.
|
||||
//===== Description: =========================================
|
||||
//- [Walkthrough conversion]
|
||||
//- Require to complete the episode 18.1 main quest.
|
||||
//- The function to drop an item with random option is defined in re/other/glocal_npc2.txt
|
||||
// Notes:
|
||||
// Some of the setting can be modified in 'Optional settings'.
|
||||
// The monster inside the hard mode are using relieve level 10 (-99% damages).
|
||||
// Change it if you think the player damage are too low, this level is a workaround but the damages
|
||||
// on the mobs are lower in hard mode than in normal on official. The level is 9 on official.
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
wolfvill,79,260,0 script #con_wp11 HIDDEN_WARP_NPC,4,4,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (ep18_1_main < 57)
|
||||
end;
|
||||
cloakoffnpcself( "Aira#con" );
|
||||
end;
|
||||
}
|
||||
|
||||
wolfvill,79,260,4 script(CLOAKED) Aira#con 4_M_BRZ_JACI,{
|
||||
if (ep18_1_main < 57)
|
||||
end;
|
||||
switch( checkquest(12522,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Aira]";
|
||||
mes "Please wait the end of the quest delay.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 12522;
|
||||
mes "^0000ff All the aftereffects of access are gone.^000000";
|
||||
close;
|
||||
}
|
||||
mes "[Aira]";
|
||||
mes "" + strcharinfo(0) + "Thanks to Mr. I arrived safely in the village.";
|
||||
mes "But it seems that something has been revived in the villa. I think I need to get help one more time.";
|
||||
next;
|
||||
.@md_name_normal$ = "Villa of Deception";
|
||||
.@md_name_hard$ = "Villa of Deception Advanced";
|
||||
|
||||
if (is_party_leader() == true) {
|
||||
.@create_normal$ = "^000044Create " + .@md_name_normal$ + "^000000";
|
||||
if (countitem(1000471) > 0)
|
||||
.@create_hard$ = "^000044Create " + .@md_name_hard$ + "^000000";
|
||||
}
|
||||
switch( select( "Entry", .@create_normal$, .@create_hard$ ) ) {
|
||||
case 1:
|
||||
if (select( .@md_name_normal$, .@md_name_hard$ ) == 1) {
|
||||
if (BaseLevel < 170) {
|
||||
mes "[Aira]";
|
||||
mes "You must be at least BaseLevel 170 to enter.";
|
||||
close;
|
||||
}
|
||||
.@enter_to$ = .@md_name_normal$;
|
||||
}
|
||||
else {
|
||||
if (BaseLevel < 200) {
|
||||
mes "[Aira]";
|
||||
mes "You must be at least BaseLevel 200 to enter.";
|
||||
close;
|
||||
}
|
||||
.@enter_to$ = .@md_name_hard$;
|
||||
}
|
||||
|
||||
switch( instance_enter(.@enter_to$) ) {
|
||||
case IE_OTHER:
|
||||
mes "^ff0000An unknown error occurred.^000000";
|
||||
close;
|
||||
case IE_NOINSTANCE:
|
||||
mes "^0000ff The dungeon has not been created or you are trying to enter a dungeon different from the party leader.^000000";
|
||||
close;
|
||||
case IE_NOMEMBER:
|
||||
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
|
||||
close;
|
||||
case IE_OK:
|
||||
mapannounce "wolfvill", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@enter_to$ + ".",bc_map,"0x00ff99",FW_NORMAL,12;
|
||||
if (.@enter_to$ == .@md_name_normal$)
|
||||
setquest 12520;
|
||||
else
|
||||
setquest 12521;
|
||||
setquest 12522;
|
||||
// warp "1@advs",111,19;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
if (BaseLevel < 170) {
|
||||
mes "[Aira]";
|
||||
mes "You must be at least BaseLevel 170 to create the instance.";
|
||||
close;
|
||||
}
|
||||
if (instance_create(.@md_name_normal$) < 0) {
|
||||
mes "Party: " + getpartyname(getcharid(1)) + "";
|
||||
mes "Leader: " + strcharinfo(0) + "";
|
||||
mes "^0000ff" + .@md_name_normal$ + " ^000000- Unknown error";
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 3:
|
||||
if (BaseLevel < 200) {
|
||||
mes "[Aira]";
|
||||
mes "You must be at least BaseLevel 200 to create the instance.";
|
||||
close;
|
||||
}
|
||||
if (countitem(1000471) < 1) {
|
||||
mes "[Aira]";
|
||||
mes "Where is the " + getitemname(1000471) + "?";
|
||||
close;
|
||||
}
|
||||
if (instance_create(.@md_name_hard$) < 0) {
|
||||
mes "Party: " + getpartyname(getcharid(1)) + "";
|
||||
mes "Leader: " + strcharinfo(0) + "";
|
||||
mes "^0000ff" + .@md_name_hard$ + " ^000000- Unknown error";
|
||||
close;
|
||||
}
|
||||
delitem 1000471,1;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
1@advs,1,1,0 script advs_init -1,{
|
||||
end;
|
||||
OnInstanceInit:
|
||||
//--------------------------------------------
|
||||
// variables initialization
|
||||
//--------------------------------------------
|
||||
|
||||
'advs_step = 0;
|
||||
'map_advs$ = instance_mapname("1@advs");
|
||||
|
||||
// variables step 1
|
||||
'sw_timer = 0;
|
||||
deletearray 'sw[0], 2;
|
||||
|
||||
// variables step 3
|
||||
deletearray 'x_reaper[0], 'size_reaper;
|
||||
deletearray 'y_reaper[0], 'size_reaper;
|
||||
'size_reaper = 0;
|
||||
|
||||
//--------------------------------------------
|
||||
// Optional settings
|
||||
//--------------------------------------------
|
||||
|
||||
// Number minimum of reaper spawn on step 3
|
||||
'min_reaper = 3;
|
||||
|
||||
// Setting according to the mode
|
||||
if (instance_live_info(ILI_NAME) == "Villa of Deception Advanced") {
|
||||
'advs_difficult = 1;
|
||||
'sanare_id = 21377; // EP18_MD_SANARE_L
|
||||
'hunter_id = 21378; // EP18_MD_HEARTHUNTER_L
|
||||
'monster_relieve = 10; // need check but the damages are very low compared to normal mode
|
||||
|
||||
// Total of monster to kill in step 1, 2, 3
|
||||
'total_monster_step_1 = 80;
|
||||
'total_monster_step_2 = 70;
|
||||
'total_monster_step_3 = 80;
|
||||
|
||||
// Number of monster spawn at the start of step 1, 2, 3
|
||||
'init_monster_step_1 = 40;
|
||||
'init_monster_step_2 = 30;
|
||||
'init_monster_step_3 = 40;
|
||||
|
||||
'schulang_id = 21360; // EP18_MD_SCHULANG_L
|
||||
'freyja_id = 21361; // EP18_MD_DEMI_FREYJA_L
|
||||
|
||||
// Don't touch this unless you know what you're doing
|
||||
.@interval = 5; // distance between each reaper
|
||||
.@max_reaper = 48; // number max of reaper spawn
|
||||
}
|
||||
else {
|
||||
'advs_difficult = 0;
|
||||
'sanare_id = 21318; // EP18_MD_SANARE_R
|
||||
'hunter_id = 21319; // EP18_MD_HEARTHUNTER_R2
|
||||
'monster_relieve = 9;
|
||||
|
||||
// Total of monster to kill in step 1, 2, 3
|
||||
'total_monster_step_1 = 35;
|
||||
'total_monster_step_2 = 35;
|
||||
'total_monster_step_3 = 35;
|
||||
|
||||
// Number of monster spawn at the start of step 1, 2, 3
|
||||
'init_monster_step_1 = 35;
|
||||
'init_monster_step_2 = 25;
|
||||
'init_monster_step_3 = 24;
|
||||
|
||||
'schulang_id = 21316; // EP18_MD_SCHULANG_R
|
||||
'freyja_id = 21317; // EP18_MD_DEMI_FREYJA_R
|
||||
|
||||
// Don't touch this unless you know what you're doing
|
||||
.@interval = 10;
|
||||
.@max_reaper = 16;
|
||||
}
|
||||
|
||||
for ( .@i = 109; .@i <= 139; .@i += .@interval ) {
|
||||
for ( .@j = 219; .@j <= 249; .@j += .@interval ) {
|
||||
if (.@i == 124 && .@j == 234)
|
||||
continue;
|
||||
'x_reaper[ 'size_reaper ] = .@i;
|
||||
'y_reaper[ 'size_reaper ] = .@j;
|
||||
'size_reaper++;
|
||||
}
|
||||
}
|
||||
'total_reaper = min(.@max_reaper, 'size_reaper);
|
||||
|
||||
// number total of food necessary to reduce the number of reaper to 'min_reaper
|
||||
'max_food = ('total_reaper * 2) - ('min_reaper * 2);
|
||||
|
||||
// debug
|
||||
'total_monster_step_1 = max('init_monster_step_1, 'total_monster_step_1);
|
||||
'total_monster_step_2 = max('init_monster_step_2, 'total_monster_step_2);
|
||||
'total_monster_step_3 = max('init_monster_step_3, 'total_monster_step_3);
|
||||
|
||||
//--------------------------------------------
|
||||
// npcs management
|
||||
//--------------------------------------------
|
||||
disablenpc instance_npcname("#boss2");
|
||||
disablenpc instance_npcname("#box_admin");
|
||||
|
||||
// warps
|
||||
disablenpc instance_npcname("#wp1");
|
||||
disablenpc instance_npcname("#wp2");
|
||||
disablenpc instance_npcname("#wp3");
|
||||
disablenpc instance_npcname("#wp4");
|
||||
|
||||
disablenpc instance_npcname("#food1");
|
||||
disablenpc instance_npcname("#food2");
|
||||
disablenpc instance_npcname("#food3");
|
||||
disablenpc instance_npcname("#food4");
|
||||
|
||||
// circles step final
|
||||
disablenpc instance_npcname("#b_tr1");
|
||||
disablenpc instance_npcname("#b_tr2");
|
||||
disablenpc instance_npcname("#b_tr3");
|
||||
disablenpc instance_npcname("#b_tr4");
|
||||
|
||||
// stop circles from moving
|
||||
disablenpc instance_npcname("#b_sw1");
|
||||
disablenpc instance_npcname("#b_sw2");
|
||||
disablenpc instance_npcname("#b_sw3");
|
||||
disablenpc instance_npcname("#b_sw4");
|
||||
|
||||
disablenpc instance_npcname("#boss1");
|
||||
disablenpc instance_npcname("#boss2_sw");
|
||||
|
||||
donpcevent instance_npcname("#advs_step_1") + "::OnStart";
|
||||
end;
|
||||
}
|
||||
|
||||
// Entrance
|
||||
// (npc probably used to enable the npcs according to the instance mode - normal or hard)
|
||||
// 1@advs,111,19,0 duplicate(dummy_npc) #hidden_wp1 HIDDEN_WARP_NPC,2,2
|
||||
// 1@advs,134,19,0 duplicate(dummy_npc) #hidden_wp2 HIDDEN_WARP_NPC,2,2
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Warps
|
||||
//---------------------------------------------------------------
|
||||
1@advs,124,101,0 warp #wp1 2,2,1@advs,124,115
|
||||
|
||||
|
||||
1@advs,124,205,0 script #wp2 WARPNPC,2,2,{
|
||||
end;
|
||||
OnTouch:
|
||||
.@r = rand(3);
|
||||
if (.@r == 0)
|
||||
warp 'map_advs$,101,235;
|
||||
else if (.@r == 1)
|
||||
warp 'map_advs$,155,233;
|
||||
else
|
||||
warp 'map_advs$,124,211;
|
||||
end;
|
||||
}
|
||||
|
||||
1@advs,124,266,0 warp #wp3 2,2,1@advs,124,277
|
||||
1@advs,124,307,0 warp #wp4 2,2,1@advs,124,319
|
||||
// 1@advs,124,307,0 duplicate(dummy_npc) #wp4 WARPNPC,10,10
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Step 1
|
||||
//---------------------------------------------------------------
|
||||
1@advs,1,1,0 script #advs_step_1 -1,{
|
||||
end;
|
||||
OnStart:
|
||||
'mob_to_respawn = 'total_monster_step_1 - 'init_monster_step_1;
|
||||
|
||||
// The coordinates may be inaccurates (maybe not random on official)
|
||||
for ( .@i = 0; .@i < 'init_monster_step_1; ++.@i )
|
||||
callsub( S_Spawn );
|
||||
end;
|
||||
|
||||
OnMobDead:
|
||||
if ('mob_to_respawn > 0)
|
||||
'mob_to_respawn--;
|
||||
initnpctimer;
|
||||
sleep 2000;
|
||||
if ('advs_step == 0 && 'mob_to_respawn > 0) {
|
||||
if ('mob_to_respawn > 0)
|
||||
callsub( S_Spawn );
|
||||
if ('mob_to_respawn > 1)
|
||||
callsub( S_Spawn );
|
||||
}
|
||||
end;
|
||||
OnTimer2000:
|
||||
stopnpctimer;
|
||||
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_1") + "::OnMobDead");
|
||||
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
|
||||
end;
|
||||
S_Spawn:
|
||||
.@label$ = instance_npcname("#advs_step_1") + "::OnMobDead";
|
||||
if (rand(2))
|
||||
.@mob_id = 'hunter_id;
|
||||
else
|
||||
.@mob_id = 'sanare_id;
|
||||
.@r = rand(3);
|
||||
if (.@r == 0)
|
||||
areamonster 'map_advs$,63,89,72,182,"--en--",.@mob_id,1, .@label$;
|
||||
else if (.@r == 1)
|
||||
areamonster 'map_advs$,63,89,184,101,"--en--",.@mob_id,1, .@label$;
|
||||
else
|
||||
areamonster 'map_advs$,184,89,174,182,"--en--",.@mob_id,1, .@label$;
|
||||
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
|
||||
return;
|
||||
}
|
||||
|
||||
1@advs,67,182,5 script #sw_1 4_NFWISP,1,1,{
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
mes "[Unidentified grudge]";
|
||||
mes "Are you here to set me free?";
|
||||
next;
|
||||
if (select( "Stop", "Do it" ) == 1)
|
||||
end;
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
disablenpc instance_npcname("#sw_1");
|
||||
'sw[0] = 1;
|
||||
donpcevent instance_npcname("#sw_timer") + "::OnStart";
|
||||
end;
|
||||
|
||||
OnTouch_:
|
||||
end;
|
||||
}
|
||||
|
||||
1@advs,180,182,5 script #sw_2 4_NFWISP,1,1,{
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
mes "[Unidentified grudge]";
|
||||
mes "Are you here to set me free?";
|
||||
next;
|
||||
if (select( "Stop", "Do it" ) == 1)
|
||||
end;
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
disablenpc instance_npcname("#sw_2");
|
||||
'sw[1] = 1;
|
||||
donpcevent instance_npcname("#sw_timer") + "::OnStart";
|
||||
end;
|
||||
|
||||
OnTouch_:
|
||||
end;
|
||||
}
|
||||
|
||||
1@advs,1,1,5 script #sw_timer -1,{
|
||||
end;
|
||||
OnStart:
|
||||
if ('sw_timer == 1)
|
||||
end;
|
||||
'sw_timer = 1;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnTimer3000:
|
||||
stopnpctimer;
|
||||
if ('sw[0] != 1 || 'sw[1] != 1) {
|
||||
'sw_timer = 0;
|
||||
if ('sw[0] == 1)
|
||||
enablenpc instance_npcname("#sw_1");
|
||||
if ('sw[1] == 1)
|
||||
enablenpc instance_npcname("#sw_2");
|
||||
'sw[0] = 0;
|
||||
'sw[1] = 0;
|
||||
npctalk "Ah... my half soul beyond this hallway is still unfulfilled...", instance_npcname("#sw_1");
|
||||
npctalk "Ah... my half soul beyond this hallway is still unfulfilled...", instance_npcname("#sw_2");
|
||||
mapannounce 'map_advs$, "You must free both souls on the left and right of the hallway at the same time.", bc_map, 0xAAAAFF;
|
||||
end;
|
||||
}
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
mapannounce 'map_advs$, "Two souls are simultaneously liberated, opening the door to the center.", bc_map, 0xAAAAFF;
|
||||
donpcevent instance_npcname("#advs_step_2") + "::OnStart";
|
||||
end;
|
||||
}
|
||||
|
||||
1@advs,75,89,5 script #trap_1 4_M_DEATH,1,1,{
|
||||
end;
|
||||
OnTouch:
|
||||
specialeffect2 EF_FIREHIT;
|
||||
specialeffect2 EF_ACIDDEMON;
|
||||
getmapxy( .@map$, .@x, .@y, BL_PC );
|
||||
getmapxy( .@map$, .@x_npc, .@y_npc, BL_NPC );
|
||||
|
||||
if (.@x == .@x_npc) {
|
||||
if (.@y < 89)
|
||||
pushpc DIR_SOUTH, 1;
|
||||
else if (.@y > 99)
|
||||
pushpc DIR_NORTH, 1;
|
||||
else
|
||||
pushpc DIR_EAST, 1; // default
|
||||
}
|
||||
else if (.@x < .@x_npc)
|
||||
pushpc DIR_WEST, 1;
|
||||
else
|
||||
pushpc DIR_EAST, 1;
|
||||
|
||||
heal -((MaxHp*50)/100),0; // note: heal command is used to (potentially) kill the target
|
||||
end;
|
||||
|
||||
OnMove1:
|
||||
getmapxy( .@map$, .@x, .@y, BL_NPC );
|
||||
unitwalk( getnpcid(0),.@x,99, instance_npcname( strnpcinfo(0) ) + "::OnMove2" );
|
||||
end;
|
||||
OnMove2:
|
||||
getmapxy( .@map$, .@x, .@y, BL_NPC );
|
||||
unitwalk( getnpcid(0),.@x,89, instance_npcname( strnpcinfo(0) ) + "::OnMove1" );
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
npcspeed 150;
|
||||
sleep rand(100,3000);
|
||||
donpcevent instance_npcname( strnpcinfo(0) ) + "::OnMove1";
|
||||
end;
|
||||
}
|
||||
// traps left
|
||||
1@advs,80,89,1 duplicate(#trap_1) #trap_2 4_M_DEATH,1,1
|
||||
1@advs,85,89,1 duplicate(#trap_1) #trap_3 4_M_DEATH,1,1
|
||||
1@advs,90,89,1 duplicate(#trap_1) #trap_4 4_M_DEATH,1,1
|
||||
1@advs,95,89,1 duplicate(#trap_1) #trap_5 4_M_DEATH,1,1
|
||||
1@advs,100,89,1 duplicate(#trap_1) #trap_6 4_M_DEATH,1,1
|
||||
1@advs,105,89,1 duplicate(#trap_1) #trap_7 4_M_DEATH,1,1
|
||||
1@advs,110,89,1 duplicate(#trap_1) #trap_8 4_M_DEATH,1,1
|
||||
1@advs,115,89,1 duplicate(#trap_1) #trap_9 4_M_DEATH,1,1
|
||||
// traps right
|
||||
1@advs,130,89,1 duplicate(#trap_1) #trap_10 4_M_DEATH,1,1
|
||||
1@advs,135,89,1 duplicate(#trap_1) #trap_11 4_M_DEATH,1,1
|
||||
1@advs,140,89,1 duplicate(#trap_1) #trap_12 4_M_DEATH,1,1
|
||||
1@advs,145,89,1 duplicate(#trap_1) #trap_13 4_M_DEATH,1,1
|
||||
1@advs,150,89,1 duplicate(#trap_1) #trap_14 4_M_DEATH,1,1
|
||||
1@advs,155,89,1 duplicate(#trap_1) #trap_15 4_M_DEATH,1,1
|
||||
1@advs,160,89,1 duplicate(#trap_1) #trap_16 4_M_DEATH,1,1
|
||||
1@advs,165,89,1 duplicate(#trap_1) #trap_17 4_M_DEATH,1,1
|
||||
1@advs,170,89,1 duplicate(#trap_1) #trap_18 4_M_DEATH,1,1
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Step 2
|
||||
//---------------------------------------------------------------
|
||||
1@advs,1,1,0 script #advs_step_2 -1,{
|
||||
end;
|
||||
OnStart:
|
||||
if ('advs_step != 0)
|
||||
end;
|
||||
'advs_step = 1;
|
||||
disablenpc instance_npcname("#advs_step_1");
|
||||
enablenpc instance_npcname("#wp1");
|
||||
enablenpc instance_npcname("#food1");
|
||||
enablenpc instance_npcname("#food2");
|
||||
enablenpc instance_npcname("#food3");
|
||||
enablenpc instance_npcname("#food4");
|
||||
killmonster 'map_advs$, instance_npcname("#advs_step_1") + "::OnMobDead";
|
||||
|
||||
'mob_to_respawn = 'total_monster_step_2 - 'init_monster_step_2;
|
||||
|
||||
for ( .@i = 0; .@i < 'init_monster_step_2; ++.@i )
|
||||
callsub( S_Spawn );
|
||||
end;
|
||||
OnMobDead:
|
||||
if ('mob_to_respawn > 0)
|
||||
'mob_to_respawn--;
|
||||
initnpctimer;
|
||||
sleep 2000;
|
||||
if ('advs_step == 1 && 'mob_to_respawn > 0) {
|
||||
if ('mob_to_respawn > 0)
|
||||
callsub( S_Spawn );
|
||||
if ('mob_to_respawn > 1)
|
||||
callsub( S_Spawn );
|
||||
}
|
||||
end;
|
||||
OnTimer2000:
|
||||
stopnpctimer;
|
||||
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_2") + "::OnMobDead");
|
||||
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
|
||||
if ('advs_step == 1 && 'mob_to_respawn == 0 && .@alive == 0)
|
||||
donpcevent instance_npcname("#advs_step_3_A") + "::OnStart";
|
||||
end;
|
||||
S_Spawn:
|
||||
.@label$ = instance_npcname("#advs_step_2") + "::OnMobDead";
|
||||
if (rand(2))
|
||||
.@mob_id = 'hunter_id;
|
||||
else
|
||||
.@mob_id = 'sanare_id;
|
||||
.@r = rand(3);
|
||||
if (.@r == 0)
|
||||
areamonster 'map_advs$,76,145,171,139,"--en--",.@mob_id,1, .@label$;
|
||||
else if (.@r == 1)
|
||||
areamonster 'map_advs$,113,205,135,125,"--en--",.@mob_id,1, .@label$;
|
||||
else
|
||||
areamonster 'map_advs$,113,205,135,125,"--en--",.@mob_id,1, .@label$;
|
||||
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
|
||||
return;
|
||||
}
|
||||
|
||||
1@advs,101,159,5 script #food1 4_EP16_FOOD,1,1,{
|
||||
if ('max_food <= 0) {
|
||||
mapannounce 'map_advs$, "??? : You really don't know how to cook well, you deserve a casual tour of my garden.", bc_map, 0xAAAAFF;
|
||||
end;
|
||||
}
|
||||
progressbar "",4;
|
||||
'max_food--;
|
||||
|
||||
.@r = rand(5);
|
||||
if (.@r == 0)
|
||||
sc_start SC_CONFUSION,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
|
||||
else if (.@r == 1)
|
||||
sc_start SC_CURSE,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
|
||||
else if (.@r == 2)
|
||||
sc_start SC_BLIND,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
|
||||
else if (.@r == 3)
|
||||
sc_start SC_POISON,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
|
||||
else
|
||||
sc_start SC_SILENCE,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
|
||||
|
||||
if ('total_reaper > 'min_reaper && ('max_food % 2) == 0)
|
||||
'total_reaper--;
|
||||
end;
|
||||
}
|
||||
1@advs,101,125,5 duplicate(#food1) #food2 4_EP16_FOOD,1,1
|
||||
1@advs,147,162,5 duplicate(#food1) #food3 4_EP16_FOOD,1,1
|
||||
1@advs,147,122,5 duplicate(#food1) #food4 4_EP16_FOOD,1,1
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Step 3
|
||||
//---------------------------------------------------------------
|
||||
1@advs,1,1,5 script #advs_step_3_A -1,{
|
||||
end;
|
||||
OnStart:
|
||||
if ('advs_step != 1)
|
||||
end;
|
||||
'advs_step = 2;
|
||||
enablenpc instance_npcname("#wp2");
|
||||
disablenpc instance_npcname("#advs_step_2");
|
||||
donpcevent instance_npcname("#advs_step_3_A") + "::OnEvent";
|
||||
donpcevent instance_npcname("#advs_step_3_B") + "::OnEvent";
|
||||
end;
|
||||
OnEvent:
|
||||
.@label$ = instance_npcname("#advs_step_3_A") + "::OnMobDead";
|
||||
|
||||
copyarray .@x[0], 'x_reaper[0], 'size_reaper;
|
||||
copyarray .@y[0], 'y_reaper[0], 'size_reaper;
|
||||
.@size = 'size_reaper;
|
||||
|
||||
for ( .@i = 0; .@i < 'total_reaper; ++.@i ) {
|
||||
.@r = rand(.@size);
|
||||
|
||||
monster 'map_advs$,.@x[.@r],.@y[.@r],"--en--",20846,1, .@label$; // MD_HIDDEN_GROUND01
|
||||
deletearray .@x[.@r],1;
|
||||
deletearray .@y[.@r],1;
|
||||
.@size--;
|
||||
}
|
||||
initnpctimer;
|
||||
end;
|
||||
OnTimer10000:
|
||||
killmonster 'map_advs$, instance_npcname("#advs_step_3_A") + "::OnMobDead";
|
||||
donpcevent instance_npcname("#advs_step_3_A") + "::OnEvent"; // this event never stop
|
||||
end;
|
||||
OnMobDead:
|
||||
end;
|
||||
}
|
||||
|
||||
1@advs,1,1,0 script #advs_step_3_B -1,{
|
||||
end;
|
||||
OnEvent:
|
||||
'mob_to_respawn = 'total_monster_step_3 - 'init_monster_step_3;
|
||||
|
||||
for ( .@i = 0; .@i < 'init_monster_step_3; ++.@i )
|
||||
callsub( S_Spawn );
|
||||
end;
|
||||
OnMobDead:
|
||||
if ('mob_to_respawn > 0)
|
||||
'mob_to_respawn--;
|
||||
initnpctimer;
|
||||
sleep 2000;
|
||||
if ('advs_step == 2 && 'mob_to_respawn > 0) {
|
||||
if ('mob_to_respawn > 0)
|
||||
callsub( S_Spawn );
|
||||
if ('mob_to_respawn > 1)
|
||||
callsub( S_Spawn );
|
||||
}
|
||||
end;
|
||||
OnTimer2000:
|
||||
stopnpctimer;
|
||||
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_3_B") + "::OnMobDead");
|
||||
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
|
||||
if ('advs_step == 2 && 'mob_to_respawn == 0 && .@alive == 0)
|
||||
donpcevent instance_npcname("#boss1_advs") + "::OnStart";
|
||||
end;
|
||||
S_Spawn:
|
||||
.@label$ = instance_npcname("#advs_step_3_B") + "::OnMobDead";
|
||||
if (rand(2))
|
||||
.@mob_id = 'hunter_id;
|
||||
else
|
||||
.@mob_id = 'sanare_id;
|
||||
.@r = rand(4);
|
||||
if (.@r == 0)
|
||||
areamonster 'map_advs$,109,238,119,248,"--en--",.@mob_id,1, .@label$;
|
||||
else if (.@r == 1)
|
||||
areamonster 'map_advs$,109,219,119,229,"--en--",.@mob_id,1, .@label$;
|
||||
else if (.@r == 2)
|
||||
areamonster 'map_advs$,128,238,138,248,"--en--",.@mob_id,1, .@label$;
|
||||
else
|
||||
areamonster 'map_advs$,128,219,138,229,"--en--",.@mob_id,1, .@label$;
|
||||
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Step 4
|
||||
//---------------------------------------------------------------
|
||||
1@advs,1,1,4 script #boss1_advs -1,{
|
||||
end;
|
||||
OnStart:
|
||||
if ('advs_step != 2)
|
||||
end;
|
||||
'advs_step = 3;
|
||||
enablenpc instance_npcname("#wp3");
|
||||
disablenpc instance_npcname("#advs_step_3_B");
|
||||
enablenpc instance_npcname("#boss1");
|
||||
end;
|
||||
OnMobDead:
|
||||
if ('advs_step != 4)
|
||||
end;
|
||||
'advs_step = 5;
|
||||
enablenpc instance_npcname("#wp4");
|
||||
enablenpc instance_npcname("#boss2_sw");
|
||||
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStop";
|
||||
end;
|
||||
}
|
||||
|
||||
// 1@advs,124,295,4 script #boss1 EP18_MD_SCHULANG_R,1,1,{
|
||||
1@advs,124,295,4 script #boss1 EP18_MD_SCHULANG_R,{
|
||||
if ('advs_step != 3)
|
||||
end;
|
||||
if (is_party_leader() == false)
|
||||
end;
|
||||
'advs_step = 4;
|
||||
npctalk "That's all human.";
|
||||
unitwalk getnpcid(0), 124,290, instance_npcname("#boss1") + "::OnMove";
|
||||
end;
|
||||
|
||||
OnMove:
|
||||
disablenpc instance_npcname("#boss1");
|
||||
monster 'map_advs$,124,290,"--en--",'schulang_id,1, instance_npcname("#boss1_advs") + "::OnMobDead";
|
||||
'schulang_gid = $@mobid[0];
|
||||
unitskilluseid $@mobid[0], 771, 1; // NPC_RELIEVE_ON
|
||||
unittalk 'schulang_gid, "I'm in a bit of trouble if I approach this more than that!!!";
|
||||
monster 'map_advs$,123,285,"--en--",21319,1; // EP18_MD_HEARTHUNTER_R2
|
||||
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
|
||||
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStart";
|
||||
end;
|
||||
// OnTouch: // effect ?
|
||||
// end;
|
||||
}
|
||||
|
||||
|
||||
1@advs,1,1,0 script #boss1_advs_skill_1 -1,{
|
||||
end;
|
||||
OnStart:
|
||||
initnpctimer;
|
||||
getunitdata 'schulang_gid, .@data;
|
||||
'x_sch_event = .@data[UMOB_X];
|
||||
'y_sch_event = .@data[UMOB_Y];
|
||||
'ignore_column = rand(5); // one column is randomly free
|
||||
end;
|
||||
OnTimer1000:
|
||||
callsub( S_Skill,-8 );
|
||||
end;
|
||||
OnTimer1500:
|
||||
callsub( S_Skill,-4 );
|
||||
end;
|
||||
OnTimer2000:
|
||||
callsub( S_Skill,0 );
|
||||
end;
|
||||
OnTimer2500:
|
||||
callsub( S_Skill,4 );
|
||||
end;
|
||||
OnTimer3000:
|
||||
callsub( S_Skill,8 );
|
||||
stopnpctimer;
|
||||
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStart";
|
||||
end;
|
||||
S_Skill:
|
||||
.@dxy = getarg(0);
|
||||
if ('ignore_column != 0)
|
||||
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event - 8), ('y_sch_event + .@dxy), -50;
|
||||
if ('ignore_column != 1)
|
||||
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event - 4), ('y_sch_event + .@dxy), -50;
|
||||
if ('ignore_column != 2)
|
||||
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, 'x_sch_event, ('y_sch_event + .@dxy), -50;
|
||||
if ('ignore_column != 3)
|
||||
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event + 4), ('y_sch_event + .@dxy), -50;
|
||||
if ('ignore_column != 4)
|
||||
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event + 8), ('y_sch_event + .@dxy), -50;
|
||||
return;
|
||||
OnStop:
|
||||
stopnpctimer;
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Step 5 (final)
|
||||
//---------------------------------------------------------------
|
||||
// 1@advs,124,358,4 script #boss2_sw CLEAR_NPC,1,1,{
|
||||
1@advs,124,358,4 script #boss2_sw CLEAR_NPC,{
|
||||
if ('advs_step != 5)
|
||||
end;
|
||||
if (is_party_leader() == false)
|
||||
end;
|
||||
'advs_step = 6;
|
||||
cloakonnpc instance_npcname("#boss2_sw"); // cloakonnpc to display effect
|
||||
specialeffect EF_CLOUD4;
|
||||
specialeffect EF_DQ9_CHARGE3;
|
||||
sleep 4000;
|
||||
specialeffect EF_SCREEN_QUAKE;
|
||||
setnpcdisplay( instance_npcname("#boss2"), 'freyja_id );
|
||||
enablenpc instance_npcname("#boss2");
|
||||
specialeffect EF_BEGINSPELL_YB;
|
||||
sleep 2000;
|
||||
npctalk "I... and... together... let's play...", instance_npcname("#boss2");
|
||||
unitwalk getnpcid(0, instance_npcname("#boss2")), 124,346, instance_npcname("#boss2_sw") + "::OnMove";
|
||||
end;
|
||||
OnMove:
|
||||
setnpcdisplay( instance_npcname("#boss2"), CLEAR_NPC );
|
||||
disablenpc instance_npcname("#boss2");
|
||||
monster 'map_advs$,124,346,"--en--",'freyja_id,1, instance_npcname("#boss2_sw") + "::OnMobDead";
|
||||
'freyja_gid = $@mobid[0];
|
||||
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStart";
|
||||
sleep 3000;
|
||||
mapannounce 'map_advs$, "Tip: Twisted God Freyja is weaken as it get closer to the chandelier.", bc_map, 0xFFCC;
|
||||
if ('advs_difficult == 1)
|
||||
sleep 8000;
|
||||
else
|
||||
sleep 30000;
|
||||
|
||||
// circles
|
||||
if ('advs_difficult == 1) {
|
||||
donpcevent instance_npcname("#b_tr1") + "::OnEnable";
|
||||
donpcevent instance_npcname("#b_tr2") + "::OnEnable";
|
||||
}
|
||||
donpcevent instance_npcname("#b_tr3") + "::OnEnable";
|
||||
donpcevent instance_npcname("#b_tr4") + "::OnEnable";
|
||||
|
||||
// stop the circles from moving
|
||||
enablenpc instance_npcname("#b_sw1");
|
||||
enablenpc instance_npcname("#b_sw2");
|
||||
enablenpc instance_npcname("#b_sw3");
|
||||
enablenpc instance_npcname("#b_sw4");
|
||||
end;
|
||||
|
||||
OnMobDead:
|
||||
'freyja_gid = 0;
|
||||
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStop";
|
||||
disablenpc instance_npcname("#boss2_sw");
|
||||
enablenpc instance_npcname("#box_admin");
|
||||
if ('advs_difficult == 1) {
|
||||
donpcevent instance_npcname("#b_tr1") + "::OnStop";
|
||||
donpcevent instance_npcname("#b_tr2") + "::OnStop";
|
||||
}
|
||||
donpcevent instance_npcname("#b_tr3") + "::OnStop";
|
||||
donpcevent instance_npcname("#b_tr4") + "::OnStop";
|
||||
end;
|
||||
// OnTouch: // effect ?
|
||||
// end;
|
||||
}
|
||||
1@advs,124,356,4 duplicate(dummy_npc) #boss2 CLEAR_NPC,1,1
|
||||
|
||||
1@advs,1,1,4 script #advs_boss_relieve -1,{
|
||||
end;
|
||||
OnStart:
|
||||
if (unitexists('freyja_gid) == false)
|
||||
end;
|
||||
getunitdata 'freyja_gid, .@data;
|
||||
.@d = distance(124,356,.@data[UMOB_X],.@data[UMOB_Y]);
|
||||
.@lv = (.@d / 2) + 1; // level 6 on spawn
|
||||
.@lv = min(10,.@lv);
|
||||
.@lv = max(1,.@lv);
|
||||
unitskilluseid 'freyja_gid, 772, 1; // NPC_RELIEVE_OFF
|
||||
unitskilluseid 'freyja_gid, 771, .@lv; // NPC_RELIEVE_ON
|
||||
initnpctimer;
|
||||
end;
|
||||
OnTimer2000:
|
||||
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStart";
|
||||
end;
|
||||
OnStop:
|
||||
stopnpctimer;
|
||||
end;
|
||||
}
|
||||
|
||||
// circles
|
||||
1@advs,124,337,5 script #b_tr1 MD_HIDDEN_GROUND02,2,2,{
|
||||
end;
|
||||
OnTouch: // note: warp dead player
|
||||
if ('freyja_gid == 0)
|
||||
end;
|
||||
specialeffect2 EF_FIREHIT;
|
||||
specialeffect2 EF_ACIDDEMON;
|
||||
percentheal -10,0; // deal some damage
|
||||
if (rand(2))
|
||||
warp 'map_advs$,67,182;
|
||||
else
|
||||
warp 'map_advs$,180,182;
|
||||
end;
|
||||
|
||||
OnEnable:
|
||||
enablenpc instance_npcname( strnpcinfo(0) );
|
||||
OnStart:
|
||||
'circle_move = 1;
|
||||
OnMove:
|
||||
if ('freyja_gid == 0)
|
||||
end;
|
||||
if ('circle_move == 0)
|
||||
end;
|
||||
getmapxy( .@map$, .@x, .@y, BL_NPC );
|
||||
do {
|
||||
.@dx = rand(-2,2);
|
||||
.@dy = rand(-2,2);
|
||||
.@new_x = .@x + .@dx;
|
||||
.@new_y = .@y + .@dy;
|
||||
}
|
||||
while ((.@dx == 0 && .@dy == 0) || .@new_x < 108 || .@new_x > 139 || .@new_y < 325 || .@new_y > 351);
|
||||
unitwalk( getnpcid(0),.@new_x,.@new_y, instance_npcname( strnpcinfo(0) ) + "::OnMove" );
|
||||
end;
|
||||
|
||||
OnStop:
|
||||
'circle_move = 0; // double check just because
|
||||
unitstopwalk getnpcid(0);
|
||||
end;
|
||||
}
|
||||
1@advs,124,337,5 duplicate(#b_tr1) #b_tr2 MD_HIDDEN_GROUND02,2,2
|
||||
1@advs,124,337,5 duplicate(#b_tr1) #b_tr3 MD_HIDDEN_GROUND02,2,2
|
||||
1@advs,124,337,5 duplicate(#b_tr1) #b_tr4 MD_HIDDEN_GROUND02,2,2
|
||||
|
||||
|
||||
// stop the circles from moving
|
||||
1@advs,108,358,4 script #b_sw1 4_ENERGY_YELLOW,2,2,{
|
||||
mes "Ddispel the circle ^ff0000requires your health and mana.^000000 During the process, you ^ff0000becomes immobile and defenseless.^000000 Are you sure you want to start dispelling?";
|
||||
next;
|
||||
if (select( "Cancel", "Proceed" ) == 1)
|
||||
end;
|
||||
if ('freyja_gid == 0)
|
||||
end;
|
||||
// this part need to be checked when more information are available
|
||||
.@success = callsub( S_Venom );
|
||||
mes "^0000ffThe magic stone that absorbed your stamina and magic resonates. The magic circle that has been wandering disappears.^000000";
|
||||
specialeffect EF_BASH3D6;
|
||||
if (.@success == true && 'circle_move == 1) {
|
||||
disablenpc();
|
||||
if ('advs_difficult == 1) {
|
||||
donpcevent instance_npcname("#b_tr1") + "::OnStop";
|
||||
donpcevent instance_npcname("#b_tr2") + "::OnStop";
|
||||
}
|
||||
donpcevent instance_npcname("#b_tr3") + "::OnStop";
|
||||
donpcevent instance_npcname("#b_tr4") + "::OnStop";
|
||||
initnpctimer;
|
||||
}
|
||||
close;
|
||||
|
||||
S_Venom:
|
||||
.@percent_hp = max(1, (MaxHp/100)); // deal random damage to the player
|
||||
.@percent_sp = max(1, (MaxSp/100));
|
||||
.@r = rand(2,20);
|
||||
|
||||
for ( .@i = 0; .@i < .@r; ++.@i ) {
|
||||
specialeffect2 EF_INVENOM;
|
||||
heal -.@percent_hp, -.@percent_sp;
|
||||
if (Hp < 1)
|
||||
return 0;
|
||||
sleep2 500;
|
||||
}
|
||||
return (Hp > 0);
|
||||
|
||||
OnTimer10000: // seems to be around 10s to re-enable the circle, 20s the npc
|
||||
if ('freyja_gid == 0)
|
||||
end;
|
||||
if ('advs_difficult == 1) {
|
||||
donpcevent instance_npcname("#b_tr1") + "::OnStart";
|
||||
donpcevent instance_npcname("#b_tr2") + "::OnStart";
|
||||
}
|
||||
donpcevent instance_npcname("#b_tr3") + "::OnStart";
|
||||
donpcevent instance_npcname("#b_tr4") + "::OnStart";
|
||||
end;
|
||||
|
||||
OnTimer20000:
|
||||
stopnpctimer;
|
||||
enablenpc();
|
||||
end;
|
||||
OnTouch: // effect ?
|
||||
end;
|
||||
}
|
||||
1@advs,101,351,4 duplicate(#b_sw1) #b_sw2 4_ENERGY_YELLOW,2,2
|
||||
1@advs,139,358,4 duplicate(#b_sw1) #b_sw3 4_ENERGY_YELLOW,2,2
|
||||
1@advs,145,351,4 duplicate(#b_sw1) #b_sw4 4_ENERGY_YELLOW,2,2
|
||||
|
||||
// exit
|
||||
1@advs,123,358,4 script #box_admin 4_ENERGY_YELLOW,2,2,{
|
||||
.@is_hard = (instance_live_info(ILI_NAME) == "Villa of Deception Advanced");
|
||||
if (isbegin_quest(12520) == 1 && !.@is_hard || isbegin_quest(12521) == 1 && .@is_hard) {
|
||||
if (checkweight(1000405,10, 1000471,1) == 0) {
|
||||
mes "- Wait a minute !! -";
|
||||
mes "- Currently you're carrying -";
|
||||
mes "- too many items with you. -";
|
||||
mes "- Please try again -";
|
||||
mes "- after you loose some weight. -";
|
||||
close;
|
||||
}
|
||||
mes "^0000ffFound something in a bright glowing halo.^000000";
|
||||
if (get_reputation_points(3) >= 5000)
|
||||
.@bonus = 2;
|
||||
getitem 1000405,8+.@bonus; // Ep18_Amethyst_Fragment
|
||||
if (.@is_hard)
|
||||
erasequest 12521;
|
||||
else
|
||||
erasequest 12520;
|
||||
if (rand(100) < 10)
|
||||
getitem 1000471,1;
|
||||
close;
|
||||
}
|
||||
mes "^0000ffI think you can get out now.^000000";
|
||||
next;
|
||||
if (select( "Cancel", "Exit" ) == 1)
|
||||
end;
|
||||
warp "wolfvill",77,258;
|
||||
end;
|
||||
}
|
||||
|
||||
1166
npc/re/instances/VillaofHighPriest.txt
Normal file
1166
npc/re/instances/VillaofHighPriest.txt
Normal file
File diff suppressed because it is too large
Load Diff
3238
npc/re/instances/Wolves.txt
Normal file
3238
npc/re/instances/Wolves.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -60,3 +60,4 @@ Footer:
|
||||
- Path: npc/re/merchants/barters/enchan_illusion_dungeons.yml
|
||||
- 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
|
||||
|
||||
@@ -412,6 +412,20 @@ Body:
|
||||
- Index: 3
|
||||
Item: IllusionStone
|
||||
Amount: 120
|
||||
- Name: resonance_stone_barter
|
||||
Items:
|
||||
- Index: 0
|
||||
Item: ILL_Piece_A
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: IllusionStone
|
||||
Amount: 10
|
||||
- Index: 1
|
||||
Item: ILL_Piece_B
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: IllusionStone
|
||||
Amount: 10
|
||||
- Name: barter_ill_moonlight
|
||||
Items:
|
||||
- Index: 0
|
||||
|
||||
132
npc/re/merchants/barters/quests_18_1.yml
Normal file
132
npc/re/merchants/barters/quests_18_1.yml
Normal file
@@ -0,0 +1,132 @@
|
||||
# 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_ep18_1
|
||||
Items:
|
||||
- Index: 0
|
||||
Item: Gray_W_Suits
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 1
|
||||
Item: Gray_W_Robe
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 2
|
||||
Item: Gray_W_Manteau
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 3
|
||||
Item: Gray_W_Muffler
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 4
|
||||
Item: Gray_W_Boots
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 5
|
||||
Item: Gray_W_Shoes
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 6
|
||||
Item: Gray_W_Pendant
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 7
|
||||
Item: Gray_W_Robe
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 8
|
||||
Item: Gray_W_Ring
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Index: 9
|
||||
Item: Gray_W_Earing
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 350
|
||||
- Name: barter_ep18_2
|
||||
Items:
|
||||
- Index: 0
|
||||
Item: GrayWolf_7_Ticket
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 1050
|
||||
- Name: barter_ep18_3
|
||||
Items:
|
||||
- Index: 0
|
||||
Item: GrayWolf_7_Ticket
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 1050
|
||||
- Index: 1
|
||||
Item: GrayWolf_9_Ticket
|
||||
RequiredItems:
|
||||
- Index: 0
|
||||
Item: Ep18_Amethyst_Fragment
|
||||
Amount: 2250
|
||||
@@ -14,6 +14,7 @@
|
||||
//= 1.5 Added Illusion of Luanda enchanter [Capuche]
|
||||
//= 1.6 Added Illusion of Underwater exchange [Capuche]
|
||||
//= 1.7 Added Illusion of Twins enchanter [Capuche]
|
||||
//= 1.8 Added Illusion Merchant [Haydrich]
|
||||
//============================================================
|
||||
|
||||
//============================================================
|
||||
@@ -846,3 +847,40 @@ OnInit:
|
||||
setunitdata .@npc_id, UNPC_HAIRCOLOR, 6;
|
||||
end;
|
||||
}
|
||||
|
||||
//============================================================
|
||||
//= Illusion Merchant
|
||||
//============================================================
|
||||
- marketshop market_resonance_stone -1,100003:2000000:99999,100004:2000000:99999
|
||||
prontera,88,113,5 script Illusion Merchant#0829 HIDDEN_NPC,{
|
||||
mes "[Illusion Merchant]";
|
||||
mes "I'm selling two random optional weapon grant scrolls that I made myself. You can choose the payment method you like.";
|
||||
next;
|
||||
switch( select( "Purchase with Zeny.", "Purchase with Illusion Stones" )) {
|
||||
case 1:
|
||||
mes "[Illusion Merchant]";
|
||||
mes "I hope you like it.";
|
||||
close2;
|
||||
callshop "market_resonance_stone";
|
||||
end;
|
||||
case 2:
|
||||
mes "[Illusion Merchant]";
|
||||
mes "I hope you like it.";
|
||||
close2;
|
||||
callshop "resonance_stone_barter";
|
||||
end;
|
||||
}
|
||||
OnInit:
|
||||
.@npc_id = getnpcid(0);
|
||||
setunitdata .@npc_id,UNPC_CLASS, JOB_MAGE_HIGH;
|
||||
setunitdata .@npc_id,UNPC_SEX,SEX_FEMALE;
|
||||
setunitdata .@npc_id,UNPC_HEADTOP,142;
|
||||
setunitdata .@npc_id,UNPC_HEADMIDDLE,92;
|
||||
setunitdata .@npc_id,UNPC_HAIRSTYLE,2;
|
||||
setunitdata .@npc_id,UNPC_HAIRCOLOR,2;
|
||||
|
||||
// Restock
|
||||
npcshopupdate "market_resonance_stone",100003,2000000,99999;
|
||||
npcshopupdate "market_resonance_stone",100004,2000000,99999;
|
||||
end;
|
||||
}
|
||||
|
||||
@@ -9,35 +9,66 @@
|
||||
// monsters killed. [Capuche]
|
||||
//============================================================
|
||||
|
||||
lhz_dun_n,0,0 monster Eremes Guille 3208,20,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Magaleta Sorin 3209,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Catherine Cheiron 3210,15,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Shecil Damon 3211,20,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Harword Alt-Eisen 3212,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Seyren Windsor 3213,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Eremes Guille 3208,20,5000,0,"lhz_dun_n::OnRegularDead3208"
|
||||
lhz_dun_n,0,0 monster Magaleta Sorin 3209,10,5000,0,"lhz_dun_n::OnRegularDead3209"
|
||||
lhz_dun_n,0,0 monster Catherine Cheiron 3210,15,5000,0,"lhz_dun_n::OnRegularDead3210"
|
||||
lhz_dun_n,0,0 monster Shecil Damon 3211,20,5000,0,"lhz_dun_n::OnRegularDead3211"
|
||||
lhz_dun_n,0,0 monster Harword Alt-Eisen 3212,10,5000,0,"lhz_dun_n::OnRegularDead3212"
|
||||
lhz_dun_n,0,0 monster Seyren Windsor 3213,10,5000,0,"lhz_dun_n::OnRegularDead3213"
|
||||
|
||||
lhz_dun_n,0,0 monster Randel Lawrence 3226,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Flamel Emule 3227,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Celia Alde 3228,15,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Chen Liu 3229,15,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Gertie Wie 3230,15,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Alphoccio Basil 3231,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Trentini 3232,10,5000,0,"lhz_dun_n::OnRegularDead"
|
||||
lhz_dun_n,0,0 monster Randel Lawrence 3226,10,5000,0,"lhz_dun_n::OnRegularDead3226"
|
||||
lhz_dun_n,0,0 monster Flamel Emule 3227,10,5000,0,"lhz_dun_n::OnRegularDead3227"
|
||||
lhz_dun_n,0,0 monster Celia Alde 3228,15,5000,0,"lhz_dun_n::OnRegularDead3228"
|
||||
lhz_dun_n,0,0 monster Chen Liu 3229,15,5000,0,"lhz_dun_n::OnRegularDead3229"
|
||||
lhz_dun_n,0,0 monster Gertie Wie 3230,15,5000,0,"lhz_dun_n::OnRegularDead3230"
|
||||
lhz_dun_n,0,0 monster Alphoccio Basil 3231,10,5000,0,"lhz_dun_n::OnRegularDead3231"
|
||||
lhz_dun_n,0,0 monster Trentini 3232,10,5000,0,"lhz_dun_n::OnRegularDead3232"
|
||||
|
||||
lhz_dun_n,0,0,0 script lhz_dun_n -1,{
|
||||
end;
|
||||
OnRegularDead:
|
||||
.@mob_id = killedrid;
|
||||
OnRegularDead3208: callsub( S_Regular, 3208 );
|
||||
OnRegularDead3209: callsub( S_Regular, 3209 );
|
||||
OnRegularDead3210: callsub( S_Regular, 3210 );
|
||||
OnRegularDead3211: callsub( S_Regular, 3211 );
|
||||
OnRegularDead3212: callsub( S_Regular, 3212 );
|
||||
OnRegularDead3213: callsub( S_Regular, 3213 );
|
||||
|
||||
OnRegularDead3226: callsub( S_Regular, 3226 );
|
||||
OnRegularDead3227: callsub( S_Regular, 3227 );
|
||||
OnRegularDead3228: callsub( S_Regular, 3228 );
|
||||
OnRegularDead3229: callsub( S_Regular, 3229 );
|
||||
OnRegularDead3230: callsub( S_Regular, 3230 );
|
||||
OnRegularDead3231: callsub( S_Regular, 3231 );
|
||||
OnRegularDead3232: callsub( S_Regular, 3232 );
|
||||
|
||||
S_Regular:
|
||||
.@mob_id = getarg(0);
|
||||
if (.lhz_dun_n[.@mob_id] < 110 && .lhz_dun_n_boss == 0) {
|
||||
.lhz_dun_n[.@mob_id]++;
|
||||
if (.lhz_dun_n[.@mob_id] == 110) {
|
||||
.@mini_boss = .@mob_id + 6 + (.@mob_id > 3213); // mini boss version ID: regular ID +6 for non-transcendent, +7 for others
|
||||
monster "lhz_dun_n",0,0,"--en--",.@mini_boss,1, "lhz_dun_n::OnMiniDead";
|
||||
.@mini_boss = .@mob_id + 6 + (.@mob_id > 3219); // mini boss version ID: regular ID +6 for non-transcendent, +7 for others
|
||||
monster "lhz_dun_n",0,0,"--en--",.@mini_boss,1, "lhz_dun_n::OnMiniDead" + .@mini_boss;
|
||||
}
|
||||
}
|
||||
end;
|
||||
OnMiniDead:
|
||||
.@mob_id = killedrid;
|
||||
|
||||
OnMiniDead3214: callsub( S_Mini, 3214 );
|
||||
OnMiniDead3215: callsub( S_Mini, 3215 );
|
||||
OnMiniDead3216: callsub( S_Mini, 3216 );
|
||||
OnMiniDead3217: callsub( S_Mini, 3217 );
|
||||
OnMiniDead3218: callsub( S_Mini, 3218 );
|
||||
OnMiniDead3219: callsub( S_Mini, 3219 );
|
||||
|
||||
OnMiniDead3233: callsub( S_Mini, 3233 );
|
||||
OnMiniDead3234: callsub( S_Mini, 3234 );
|
||||
OnMiniDead3235: callsub( S_Mini, 3235 );
|
||||
OnMiniDead3236: callsub( S_Mini, 3236 );
|
||||
OnMiniDead3237: callsub( S_Mini, 3237 );
|
||||
OnMiniDead3238: callsub( S_Mini, 3238 );
|
||||
OnMiniDead3239: callsub( S_Mini, 3239 );
|
||||
|
||||
S_Mini:
|
||||
.@mob_id = getarg(0);
|
||||
if (.lhz_dun_n[.@mob_id] < 4 && .lhz_dun_n_boss == 0) {
|
||||
.lhz_dun_n[.@mob_id]++;
|
||||
.@regular = .@mob_id - 6 - (.@mob_id > 3219);
|
||||
@@ -53,11 +84,7 @@ OnMiniDead:
|
||||
monster "lhz_dun_n",140,230,"--en--", F_Rand(3220,3221,3222,3223,3224,3225,3240,3241,3242,3243,3244,3245,3246),1, "lhz_dun_n::OnMyMVPDead";
|
||||
mapannounce "lhz_dun_n", "Voice of Reaper: It's been a while.", bc_map; // unknown message
|
||||
.lhz_dun_n_boss = 1;
|
||||
for ( .@i = 0; .@i < 13; ++.@i ) {
|
||||
.@regular = .@mini_boss_list[.@i] - 6 - (.@mini_boss_list[.@i] > 3219);
|
||||
.lhz_dun_n[.@regular] = 0;
|
||||
.lhz_dun_n[.@mini_boss_list[.@i]] = 0;
|
||||
}
|
||||
deletearray .lhz_dun_n;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
17
npc/re/mobs/dungeons/oz_dun.txt
Normal file
17
npc/re/mobs/dungeons/oz_dun.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= oz_dun Monsters Spawn Script
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
oz_dun01 monster Rake Hand 21296,70
|
||||
oz_dun01 monster Ash Toad 21295,65
|
||||
oz_dun01 monster Spark 21297,10
|
||||
|
||||
oz_dun02 monster Spark 21297,25
|
||||
oz_dun02 monster Volcaring 21299,35
|
||||
oz_dun02 monster Lava Toad 21300,25
|
||||
oz_dun02 monster Hot Molar 21298,60
|
||||
oz_dun02 boss_monster Burning Fang 21301,1,21600000,600000,0
|
||||
17
npc/re/mobs/fields/gw_fild.txt
Normal file
17
npc/re/mobs/fields/gw_fild.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= gw_fild Monsters Spawn Script
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
gw_fild01 monster Ashhopper 21302,50
|
||||
gw_fild01 monster Ashring 21303,70
|
||||
gw_fild01 monster Grey Wolf 21304,35
|
||||
|
||||
gw_fild02 monster Ashring 21303,15
|
||||
gw_fild02 monster Bushring 21305,60
|
||||
gw_fild02 monster Phantom Wolf 21307,25
|
||||
gw_fild02 monster Grey Wolf 21304,35
|
||||
gw_fild02 monster Firewind Kite 21306,35
|
||||
@@ -82,12 +82,23 @@ ra_fild08,0,0 monster Anopheles 1627,15,5000
|
||||
//==================================================
|
||||
|
||||
//==================================================
|
||||
// ra_fild10 - Disabled on Renewal
|
||||
// ra_fild10
|
||||
//==================================================
|
||||
ra_fild10 monster Drosera 1781,5
|
||||
ra_fild10 monster Magmaring 1836,5
|
||||
ra_fild10 monster Grey Baby Wolf 21324,50
|
||||
ra_fild10 monster Grey Goat 21323,60
|
||||
ra_fild10 monster Rake Hand 21296,5
|
||||
|
||||
//==================================================
|
||||
// ra_fild11 - Disabled on Renewal
|
||||
// ra_fild11
|
||||
//==================================================
|
||||
ra_fild11 monster Red Plant 1078,5
|
||||
ra_fild11 monster Yellow Plant 1081,15
|
||||
ra_fild11 monster Drosera 1781,10
|
||||
ra_fild11 monster Grey Baby Wolf 21324,50
|
||||
ra_fild11 monster Grey Goat 21323,70
|
||||
ra_fild11 monster Rake Hand 21296,5
|
||||
|
||||
//==================================================
|
||||
// ra_fild12 - The Plain of Ida
|
||||
|
||||
@@ -4007,12 +4007,21 @@ OnInit:
|
||||
}
|
||||
|
||||
|
||||
// ba_in01,26,266,3 script Smart Ellie#ep18ely01 4_EP17_TABLET,{
|
||||
ba_in01,26,266,3 script Smart Ellie#ep172_ely01 4_EP17_TABLET,{
|
||||
if (checkweight(1000103,15) == 0) {
|
||||
mes "You cannot proceed with the quest because you have too many items in your possession.";
|
||||
mes "Please clean up your inventory and try again.";
|
||||
close;
|
||||
}
|
||||
if (ep17_2_main < 32) {
|
||||
cutin "ep172_beta.bmp", 2;
|
||||
mes "[Ellie]";
|
||||
mes "Hello, guest.";
|
||||
mes "I'm responsible for the airship hangar's information.";
|
||||
mes "Please call me Ellie.";
|
||||
close3;
|
||||
}
|
||||
if (ep17_2_main == 32) {
|
||||
cutin "ep172_beta",2;
|
||||
mes "[Ellie]";
|
||||
@@ -4139,6 +4148,179 @@ ba_in01,26,266,3 script Smart Ellie#ep172_ely01 4_EP17_TABLET,{
|
||||
cloakonnpcself( "Rookie#ep172_rk03" );
|
||||
end;
|
||||
}
|
||||
if (ep18_1_main == 0 && BaseLevel >= 170) {
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "The periodic signal has not yet been received.";
|
||||
mes "The whereabouts of your master's collection#3 are also being tracked.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "Don't worry.";
|
||||
mes "Time is on our side";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "I and Alpha will analyze the information properly, so if you clean up the abandoned remnants... Ah!";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "Please don't go anywhere for a moment.";
|
||||
mes "It will be over soon";
|
||||
mes "Time was on our side, wasn't it?";
|
||||
next;
|
||||
// note: progressbar_npc must be after "next" otherwise the client may crash
|
||||
progressbar_npc "FFFF00",4;
|
||||
mes "[Ellie]";
|
||||
mes "Wait a minute...";
|
||||
mes "...";
|
||||
mes "...";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "As soon as the password is decrypted, it will be fast.";
|
||||
mes "The thing that took the longest is an instant.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "There is something in ^0000FFRachel^000000";
|
||||
mes "Of course I've only heard of Rachel, but I've never been there.";
|
||||
mes "The 'collaborators' there don't seem to know that their heads have moved yet.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "Although we don't know where your master's Collection#3 is yet, we'll have to keep an eye out for information coming in here...";
|
||||
mes "what if?";
|
||||
next;
|
||||
select( "What?" );
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "What are you doing?";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "The collaborator's position has been roughly secured. Reportedly 'waiting for your next instruction',";
|
||||
mes "Then, before the next instruction is issued, we should catch up on that side as soon as possible...";
|
||||
cloakoffnpcself( "Rookie#ep181_rk01" );
|
||||
cloakoffnpcself( "EST#ep181_est01" );
|
||||
npctalk "Rookie: Did you call?", "Rookie#ep181_rk01", bc_self;
|
||||
npctalk "EST: It ended sooner than I thought.", "EST#ep181_est01", bc_self;
|
||||
next;
|
||||
cutin "ep162_est01.bmp",1;
|
||||
mes "[EST]";
|
||||
mes "Okay then Rachel...";
|
||||
next;
|
||||
cutin "16loo_01.bmp",0;
|
||||
mes "[Rookie]";
|
||||
mes "Rachel... who's going?";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "Is this a conflict of opinion?";
|
||||
next;
|
||||
cutin "16loo_03.bmp",0;
|
||||
mes "[Rookie]";
|
||||
mes "It's not like that...";
|
||||
mes "I think it will be a bit difficult if we all go.";
|
||||
next;
|
||||
cutin "ep162_est01.bmp",1;
|
||||
mes "[EST]";
|
||||
mes "Ah... I see.";
|
||||
mes "Yes. If 'Rebellion' moves, it could become a diplomatic matter.";
|
||||
next;
|
||||
cutin "16loo_03.bmp",0;
|
||||
mes "[Rookie]";
|
||||
mes "Yes. Especially if it's Rachel.";
|
||||
mes "The problem between the mansion and the business has not yet been fully resolved...";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "Okay.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "Then...";
|
||||
next;
|
||||
select( "Why are you looking at me?" );
|
||||
cutin "",255;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "what are you doing?";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "Let's go, Rachel.";
|
||||
npctalk "Rookie: name.", "Rookie#ep181_rk01", bc_self;
|
||||
npctalk "Est: Name.", "EST#ep181_est01", bc_self;
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "Are other guests affiliated?";
|
||||
mes "It is difficult when disputes arise because of jurisdiction.";
|
||||
mes "You never know how long it will take, so it's not suitable for a companion.";
|
||||
next;
|
||||
cutin "ep162_est01.bmp",1;
|
||||
mes "[EST]";
|
||||
mes "It sounds like you want to go there yourself.";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "Yes.";
|
||||
mes "Please wait a minute.";
|
||||
next;
|
||||
progressbar_npc "00CCFF",7;
|
||||
mes "[Ellie]";
|
||||
mes "...";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "You have permission.";
|
||||
npctalk "Meeting ended.", "", bc_self;
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "The purpose is support, not hindrance.";
|
||||
mes "I will follow you without burden.";
|
||||
mes "I'll give you this.";
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "What Ellie gave her was a doll with a slightly droopy feel that resembled Ellie.";
|
||||
mes "It may not necessarily be Ellie.";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "We have equipment that can transmit and receive data over long distances.";
|
||||
mes "Because we are such beings.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "But things are a little different now, so I'll give you a simple beta.";
|
||||
npctalk "Be sure to take it with you", "", bc_self;
|
||||
next;
|
||||
cutin "16loo_02.bmp",0;
|
||||
mes "[Rookie]";
|
||||
mes "Uh... Mini Ellie?";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "Okay. I'll take that name.";
|
||||
mes "Using the resources of the main body, it is possible to collect visual and auditory information and communicate like a clone.";
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "There is no individual core, so the information obtained is not shared between betas unless I update it,";
|
||||
mes "If communication is lost, it's just a doll.";
|
||||
next;
|
||||
cutin "16loo_01.bmp",0;
|
||||
mes "[Rookie]";
|
||||
mes "Then call us if you need assistance.";
|
||||
mes "Like Ellie, we will provide generous support except for the manpower.";
|
||||
next;
|
||||
cutin "ep172_beta.bmp",2;
|
||||
mes "[Ellie]";
|
||||
mes "It will be so";
|
||||
mes "Please take care of yourself.";
|
||||
npctalk "I'm going with you, but it's strange to greet you like this.", "", bc_self;
|
||||
next;
|
||||
mes "[Ellie]";
|
||||
mes "The almost exact coordinates from which the signal was sent...";
|
||||
mes "About <NAVI>[here]<INFO>rachel,182,176,0,101,0</INFO></NAVI>";
|
||||
ep18_1_main = 1;
|
||||
setquest 8681;
|
||||
getitem 400127,1; // Ep18_Mini_Elly
|
||||
close3;
|
||||
}
|
||||
if (ep18_1_main == 1) {
|
||||
mes "[Ellie]";
|
||||
mes "Please be safe.";
|
||||
close;
|
||||
|
||||
}
|
||||
cutin "ep172_beta",2;
|
||||
mes "[Ellie]";
|
||||
mes "No intermittent signal has been received yet.";
|
||||
@@ -4152,10 +4334,13 @@ ba_in01,26,266,3 script Smart Ellie#ep172_ely01 4_EP17_TABLET,{
|
||||
mes "Me and Alpha will analyze the information properly, so I'd like you to clean up the intruders remnant.";
|
||||
close3;
|
||||
|
||||
// OnInit:
|
||||
OnInit:
|
||||
// note: commented (no questinfo at this point)
|
||||
// questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18018) == 1" );
|
||||
// end;
|
||||
|
||||
// check for episode 17.2 completion
|
||||
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8681) == 0 && isbegin_quest(18018) == 2 && BaseLevel >= 170" );
|
||||
end;
|
||||
}
|
||||
|
||||
ba_in01,22,262,5 duplicate(dummy_cloaked_npc) Est#ep172_est02 4_F_ESTLOVELOY
|
||||
|
||||
12435
npc/re/quests/quests_18_1.txt
Normal file
12435
npc/re/quests/quests_18_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,7 @@ npc: npc/re/instances/IsleOfBios.txt
|
||||
npc: npc/re/instances/LastRoom.txt
|
||||
npc: npc/re/instances/LostFarm.txt
|
||||
npc: npc/re/instances/MalangdoCulvert.txt
|
||||
npc: npc/re/instances/MazeofOz.txt
|
||||
npc: npc/re/instances/MorseCave.txt
|
||||
npc: npc/re/instances/NightmarishJitterbug.txt
|
||||
npc: npc/re/instances/OctopusCave.txt
|
||||
@@ -99,12 +100,16 @@ npc: npc/re/instances/SaraMemory.txt
|
||||
npc: npc/re/instances/SealedOs.txt
|
||||
npc: npc/re/instances/SkyFortress.txt
|
||||
npc: npc/re/instances/TempleOfDemonGod.txt
|
||||
npc: npc/re/instances/ThorGunsuBase.txt
|
||||
npc: npc/re/instances/TwilightGarden.txt
|
||||
npc: npc/re/instances/VillaofDeception.txt
|
||||
npc: npc/re/instances/VillaofHighPriest.txt
|
||||
npc: npc/re/instances/WaterGarden.txt
|
||||
//npc: npc/re/instances/WaveMode.txt
|
||||
npc: npc/re/instances/WeekendDungeon.txt
|
||||
npc: npc/re/instances/WernerLaboratoryCentralRoom.txt
|
||||
npc: npc/re/instances/WolfchevLaboratory.txt
|
||||
npc: npc/re/instances/Wolves.txt
|
||||
//npc: npc/custom/official/GeffenMagicTournament.txt
|
||||
|
||||
// ---------------- Kafras & Cool Event Corp. -------------------
|
||||
@@ -238,6 +243,7 @@ npc: npc/re/quests/quests_16_2.txt
|
||||
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_aldebaran.txt
|
||||
npc: npc/re/quests/quests_brasilis.txt
|
||||
npc: npc/re/quests/quests_dewata.txt
|
||||
|
||||
@@ -55,6 +55,7 @@ npc: npc/re/mobs/dungeons/nif_dun.txt
|
||||
npc: npc/re/mobs/dungeons/nyd_dun.txt
|
||||
npc: npc/re/mobs/dungeons/odin.txt
|
||||
npc: npc/re/mobs/dungeons/orcsdun.txt
|
||||
npc: npc/re/mobs/dungeons/oz_dun.txt
|
||||
npc: npc/re/mobs/dungeons/pay_dun.txt
|
||||
npc: npc/re/mobs/dungeons/prt_maze.txt
|
||||
npc: npc/re/mobs/dungeons/prt_prison.txt
|
||||
@@ -86,6 +87,7 @@ npc: npc/re/mobs/fields/eclage.txt
|
||||
npc: npc/re/mobs/fields/einbroch.txt
|
||||
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/lighthalzen.txt
|
||||
npc: npc/re/mobs/fields/louyang.txt
|
||||
|
||||
@@ -30,9 +30,11 @@ npc: npc/re/warps/dungeons/iz_dun.txt
|
||||
npc: npc/re/warps/dungeons/mag_dun.txt
|
||||
npc: npc/re/warps/dungeons/moc_pryd.txt
|
||||
npc: npc/re/warps/dungeons/nif_dun.txt
|
||||
npc: npc/re/warps/dungeons/oz_dun.txt
|
||||
npc: npc/re/warps/dungeons/rockmi1.txt
|
||||
npc: npc/re/warps/dungeons/sp_rudus.txt
|
||||
npc: npc/re/warps/dungeons/slabw01.txt
|
||||
npc: npc/re/warps/dungeons/thor_v.txt
|
||||
|
||||
// --------------------------- Fields ---------------------------
|
||||
npc: npc/re/warps/fields/bif_fild.txt
|
||||
@@ -40,6 +42,7 @@ npc: npc/re/warps/fields/bra_fild.txt
|
||||
npc: npc/re/warps/fields/com_fild.txt
|
||||
npc: npc/re/warps/fields/dic_fild.txt
|
||||
npc: npc/re/warps/fields/geffen_fild.txt
|
||||
npc: npc/re/warps/fields/gw_fild.txt
|
||||
npc: npc/re/warps/fields/hugel_fild.txt
|
||||
npc: npc/re/warps/fields/morroc_fild.txt
|
||||
npc: npc/re/warps/fields/payon_fild.txt
|
||||
|
||||
@@ -106,7 +106,7 @@ ra_temsky,99,135,0 warp rachel71 1,1,ra_temsky,99,113
|
||||
ra_temsky,137,139,0 warp rachel72 1,1,ra_temsky,109,143
|
||||
ra_temsky,62,139,0 warp rachel73 1,1,ra_temsky,91,143
|
||||
|
||||
//rachel,25,125,0 warp rachel74 1,1,ra_fild11,353,226
|
||||
rachel,25,125,0 warp rachel74 1,1,ra_fild11,353,226
|
||||
rachel,275,125,0 warp rachel75 1,1,ra_fild12,40,226
|
||||
rachel,130,21,0 warp rachel76 1,1,ve_fild02,195,377
|
||||
|
||||
|
||||
10
npc/re/warps/dungeons/oz_dun.txt
Normal file
10
npc/re/warps/dungeons/oz_dun.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Warps
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for oz_dun
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
oz_dun01,112,30,0 warp to_oz_dun02 1,1,oz_dun02,142,279
|
||||
oz_dun02,142,284,0 warp to_oz_dun01 1,1,oz_dun01,112,34
|
||||
9
npc/re/warps/dungeons/thor_v.txt
Normal file
9
npc/re/warps/dungeons/thor_v.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Warps
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for thor_v01
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
que_thr,186,58,0 warp #Secret passage - Logistics base 2,2,thor_v01,169,169
|
||||
11
npc/re/warps/fields/gw_fild.txt
Normal file
11
npc/re/warps/fields/gw_fild.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Warps
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for gw_fild
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
gw_fild01,135,9,0 warp gw_fild01_to_gw_fild02 1,1,gw_fild02,122,385
|
||||
gw_fild02,122,391,0 warp gw_fild02_to_gw_fild01 1,1,gw_fild01,135,14
|
||||
wolfvill,276,25,0 warp wolfvill_to_gw_fild01 1,1,gw_fild01,25,101
|
||||
@@ -37,9 +37,9 @@ ra_fild08,165,29,0 warp ra018 1,1,ra_fild12,149,369
|
||||
ra_fild12,149,374,0 warp ra019 1,1,ra_fild08,165,36
|
||||
//ra_fild12,303,27,0 warp ra020 1,1,ra_fild13,295,341
|
||||
//ra_fild13,295,346,0 warp ra021 1,1,ra_fild12,303,33
|
||||
//ra_fild11,360,226,0 warp ra022 1,1,rachel,30,125
|
||||
//ra_fild11,21,290,0 warp ra023 1,1,ra_fild10,379,283
|
||||
//ra_fild10,384,287,0 warp ra024 1,1,ra_fild11,28,290
|
||||
ra_fild11,360,226,0 warp ra022 1,1,rachel,30,125
|
||||
ra_fild11,21,290,0 warp ra023 1,1,ra_fild10,379,283
|
||||
ra_fild10,384,287,0 warp ra024 1,1,ra_fild11,28,290
|
||||
//ra_fild11,202,335,0 warp ra025a 1,1,ra_fild07,215,32
|
||||
//ra_fild07,215,27,0 warp ra025b 1,1,ra_fild11,201,329
|
||||
//ra_fild07,168,353,0 warp ra026 1,1,ra_fild02,171,45
|
||||
|
||||
@@ -4,15 +4,14 @@
|
||||
#pragma warning(disable:4800)
|
||||
#include "char.hpp"
|
||||
|
||||
#include <cstdarg>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/cli.hpp>
|
||||
#include <common/core.hpp>
|
||||
@@ -2831,9 +2830,10 @@ void char_config_split_startpoint( char* w1_value, char* w2_value, struct s_poin
|
||||
lineitem = strtok(w2_value, ":");
|
||||
|
||||
while (lineitem != NULL && (*count) < MAX_STARTPOINT) {
|
||||
int n = sv_split(lineitem, strlen(lineitem), 0, ',', fields, fields_length, SV_NOESCAPE_NOTERMINATE);
|
||||
bool error;
|
||||
size_t n = sv_split( lineitem, strlen( lineitem ), 0, ',', fields, fields_length, SV_NOESCAPE_NOTERMINATE, error );
|
||||
|
||||
if (n + 1 < fields_length) {
|
||||
if( error || ( n + 1 ) < fields_length ){
|
||||
ShowDebug("%s: not enough arguments for %s! Skipping...\n", w1_value, lineitem);
|
||||
lineitem = strtok(NULL, ":"); //next lineitem
|
||||
continue;
|
||||
@@ -2867,9 +2867,10 @@ void char_config_split_startitem(char *w1_value, char *w2_value, struct startite
|
||||
lineitem = strtok(w2_value, ":");
|
||||
|
||||
while (lineitem != NULL && i < MAX_STARTITEM) {
|
||||
int n = sv_split(lineitem, strlen(lineitem), 0, ',', fields, fields_length, SV_NOESCAPE_NOTERMINATE);
|
||||
bool error;
|
||||
size_t n = sv_split( lineitem, strlen( lineitem ), 0, ',', fields, fields_length, SV_NOESCAPE_NOTERMINATE, error );
|
||||
|
||||
if (n + 1 < fields_length) {
|
||||
if( error || ( n + 1 ) < fields_length ){
|
||||
ShowDebug("%s: not enough arguments for %s! Skipping...\n", w1_value, lineitem);
|
||||
lineitem = strtok(NULL, ":"); //next lineitem
|
||||
continue;
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
|
||||
#include "char_clif.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mapindex.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
@@ -30,10 +29,6 @@
|
||||
|
||||
using namespace rathena;
|
||||
|
||||
// Reuseable global packet buffer to prevent too many allocations
|
||||
// Take socket.cpp::socket_max_client_packet into consideration
|
||||
static int8 packet_buffer[UINT16_MAX];
|
||||
|
||||
std::vector<struct s_point_str> accessible_maps{
|
||||
s_point_str{ MAP_PRONTERA, 273, 354 },
|
||||
s_point_str{ MAP_GEFFEN, 120, 100 },
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "char_cnslif.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/cli.hpp>
|
||||
#include <common/ers.hpp>
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
|
||||
#include "char_logif.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
|
||||
#include "char_mapif.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring> //memcpy
|
||||
#include <memory>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h> //memcpy
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "int_achievement.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/db.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
|
||||
#include "int_auction.hpp"
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
|
||||
#include "int_clan.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring> //memset
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h> //memset
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "int_elemental.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
|
||||
@@ -3,13 +3,11 @@
|
||||
|
||||
#include "int_guild.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
|
||||
#include <stdlib.h>
|
||||
#define __STDC_WANT_LIB_EXT1__ 1
|
||||
#include <string.h>
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "int_homun.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
|
||||
#include "int_mail.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "int_mercenary.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
|
||||
@@ -3,12 +3,11 @@
|
||||
|
||||
#include "int_party.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "int_pet.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "int_quest.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#pragma warning(disable:4800) //forcing value to bool
|
||||
#include "int_storage.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
#include "inter.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <sys/stat.h> // for stat/lstat/fstat - [Dekamaster/Ultimate GM Tool]
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
#endif
|
||||
|
||||
#include <cinttypes>
|
||||
#include <limits.h>
|
||||
#include <climits>
|
||||
|
||||
// temporary fix for bugreport:4961 (unintended conversion from signed to unsigned)
|
||||
// (-20 >= UCHAR_MAX) returns true
|
||||
@@ -178,8 +178,7 @@ typedef unsigned long int ppuint32;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// integer with exact processor width (and best speed)
|
||||
//////////////////////////////
|
||||
#include <stddef.h> // size_t
|
||||
//#include <stdbool.h> //boolean
|
||||
#include <cstddef> // size_t
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -301,7 +300,7 @@ typedef char bool;
|
||||
#define Assert(EX)
|
||||
#else
|
||||
// extern "C" {
|
||||
#include <assert.h>
|
||||
#include <cassert>
|
||||
// }
|
||||
#if !defined(DEFCPP) && defined(WIN32) && !defined(MINGW)
|
||||
#include <crtdbg.h>
|
||||
@@ -313,7 +312,7 @@ typedef char bool;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Has to be unsigned to avoid problems in some systems
|
||||
// Problems arise when these functions expect an argument in the range [0,256[ and are fed a signed char.
|
||||
#include <ctype.h>
|
||||
#include <cctype>
|
||||
#define ISALNUM(c) (isalnum((unsigned char)(c)))
|
||||
#define ISALPHA(c) (isalpha((unsigned char)(c)))
|
||||
#define ISCNTRL(c) (iscntrl((unsigned char)(c)))
|
||||
@@ -335,7 +334,7 @@ typedef char bool;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Make sure va_copy exists
|
||||
#include <stdarg.h> // va_list, va_copy(?)
|
||||
#include <cstdarg> // va_list, va_copy(?)
|
||||
#if !defined(va_copy)
|
||||
#if defined(__va_copy)
|
||||
#define va_copy __va_copy
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "cli.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#ifdef WIN32
|
||||
#include <conio.h>
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
<ClInclude Include="mmo.hpp" />
|
||||
<ClInclude Include="msg_conf.hpp" />
|
||||
<ClInclude Include="nullpo.hpp" />
|
||||
<ClInclude Include="packets.hpp" />
|
||||
<ClInclude Include="random.hpp" />
|
||||
<ClInclude Include="showmsg.hpp" />
|
||||
<ClInclude Include="socket.hpp" />
|
||||
|
||||
@@ -56,6 +56,9 @@
|
||||
<ClInclude Include="nullpo.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="packets.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="random.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
|
||||
#include "core.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <csignal>
|
||||
|
||||
#include <config/core.hpp>
|
||||
|
||||
#ifndef MINICORE
|
||||
@@ -12,8 +15,7 @@
|
||||
#include "timer.hpp"
|
||||
#include "sql.hpp"
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#else
|
||||
@@ -340,9 +342,8 @@ int Core::start( int argc, char **argv ){
|
||||
char *p1;
|
||||
if((p1 = strrchr(argv[0], '/')) != NULL || (p1 = strrchr(argv[0], '\\')) != NULL ){
|
||||
char *pwd = NULL; //path working directory
|
||||
int n=0;
|
||||
SERVER_NAME = ++p1;
|
||||
n = p1-argv[0]; //calc dir name len
|
||||
size_t n = p1-argv[0]; //calc dir name len
|
||||
pwd = safestrncpy((char*)malloc(n + 1), argv[0], n);
|
||||
if(chdir(pwd) != 0)
|
||||
ShowError("Couldn't change working directory to %s for %s, runtime will probably fail",pwd,SERVER_NAME);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/* so that developers with --enable-debug can raise signals from any section of the code they'd like */
|
||||
#ifdef DEBUG
|
||||
#include <signal.h>
|
||||
#include <csignal>
|
||||
#endif
|
||||
|
||||
#if defined(BUILDBOT)
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
|
||||
#include "db.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
||||
#include "ers.hpp"
|
||||
#include "malloc.hpp"
|
||||
|
||||
@@ -42,10 +42,9 @@
|
||||
#ifndef DB_HPP
|
||||
#define DB_HPP
|
||||
|
||||
#include <cstdarg>
|
||||
#include <utility>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
|
||||
/*****************************************************************************\
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
#include "ers.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
#include "malloc.hpp" // CREATE, RECREATE, aMalloc, aFree
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
|
||||
#include "grfio.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <cstdlib>
|
||||
|
||||
#include <zlib.h>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "malloc.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
|
||||
#include "core.hpp"
|
||||
#include "showmsg.hpp"
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
#if defined(MEMWATCH)
|
||||
|
||||
# include <string.h>
|
||||
# include "memwatch.h"
|
||||
# define MALLOC(n,file,line,func) mwMalloc((n),(file),(line))
|
||||
# define CALLOC(m,n,file,line,func) mwCalloc((m),(n),(file),(line))
|
||||
@@ -33,8 +32,6 @@
|
||||
|
||||
#elif defined(DMALLOC)
|
||||
|
||||
# include <string.h>
|
||||
# include <stdlib.h>
|
||||
# include "dmalloc.hpp"
|
||||
# define MALLOC(n,file,line,func) dmalloc_malloc((file),(line),(n),DMALLOC_FUNC_MALLOC,0,0)
|
||||
# define CALLOC(m,n,file,line,func) dmalloc_malloc((file),(line),(m)*(n),DMALLOC_FUNC_CALLOC,0,0)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "mapindex.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <cstdlib>
|
||||
|
||||
#include "core.hpp"
|
||||
#include "mmo.hpp"
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
#include "md5calc.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
||||
#include "random.hpp"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef MMO_HPP
|
||||
#define MMO_HPP
|
||||
|
||||
#include <time.h>
|
||||
#include <ctime>
|
||||
|
||||
#include <config/core.hpp>
|
||||
|
||||
@@ -116,6 +116,9 @@ typedef uint32 t_itemid;
|
||||
#ifndef MAX_BARTER_REQUIREMENTS
|
||||
#define MAX_BARTER_REQUIREMENTS 5
|
||||
#endif
|
||||
#ifndef WEB_AUTH_TOKEN_LENGTH
|
||||
#define WEB_AUTH_TOKEN_LENGTH 16+1
|
||||
#endif
|
||||
|
||||
enum e_enchantgrade : uint16{
|
||||
ENCHANTGRADE_NONE = 0,
|
||||
@@ -604,7 +607,8 @@ struct mmo_charstatus {
|
||||
#ifdef HOTKEY_SAVING
|
||||
struct hotkey hotkeys[MAX_HOTKEYS_DB];
|
||||
#endif
|
||||
bool show_equip,allow_party, disable_call;
|
||||
bool show_equip, disable_call;
|
||||
bool disable_partyinvite;
|
||||
short rename;
|
||||
|
||||
time_t delete_date;
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "msg_conf.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include "malloc.hpp"
|
||||
#include "showmsg.hpp"
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "nullpo.hpp"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstdarg>
|
||||
#include <cstring>
|
||||
|
||||
#include "showmsg.hpp"
|
||||
|
||||
|
||||
306
src/common/packets.hpp
Normal file
306
src/common/packets.hpp
Normal file
@@ -0,0 +1,306 @@
|
||||
// Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
|
||||
// For more information, see LICENCE in the main folder
|
||||
|
||||
#ifndef PACKETS_HPP
|
||||
#define PACKETS_HPP
|
||||
|
||||
#include <functional>
|
||||
#include <unordered_map>
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4200 )
|
||||
|
||||
#define DEFINE_PACKET_HEADER( name, id ) const int16 HEADER_##name = id
|
||||
|
||||
// NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
|
||||
#if !defined( sun ) && ( !defined( __NETBSD__ ) || __NetBSD_Version__ >= 600000000 )
|
||||
#pragma pack( push, 1 )
|
||||
#endif
|
||||
|
||||
struct PACKET{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_CA_LOGIN{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
char password[NAME_LENGTH];
|
||||
uint8 clienttype;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN, 0x64 );
|
||||
|
||||
#if PACKETVER >= 20170315
|
||||
struct PACKET_AC_ACCEPT_LOGIN_sub{
|
||||
uint32 ip;
|
||||
uint16 port;
|
||||
char name[20];
|
||||
uint16 users;
|
||||
uint16 type;
|
||||
uint16 new_;
|
||||
uint8 unknown[128];
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_AC_ACCEPT_LOGIN{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
uint32 login_id1;
|
||||
uint32 AID;
|
||||
uint32 login_id2;
|
||||
uint32 last_ip;
|
||||
char last_login[26];
|
||||
uint8 sex;
|
||||
char token[WEB_AUTH_TOKEN_LENGTH];
|
||||
PACKET_AC_ACCEPT_LOGIN_sub char_servers[];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( AC_ACCEPT_LOGIN, 0xac4 );
|
||||
#else
|
||||
struct PACKET_AC_ACCEPT_LOGIN_sub{
|
||||
uint32 ip;
|
||||
uint16 port;
|
||||
char name[20];
|
||||
uint16 users;
|
||||
uint16 type;
|
||||
uint16 new_;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_AC_ACCEPT_LOGIN{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
uint32 login_id1;
|
||||
uint32 AID;
|
||||
uint32 login_id2;
|
||||
uint32 last_ip;
|
||||
char last_login[26];
|
||||
uint8 sex;
|
||||
PACKET_AC_ACCEPT_LOGIN_sub char_servers[];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( AC_ACCEPT_LOGIN, 0x69 );
|
||||
#endif
|
||||
|
||||
// not sure when this started
|
||||
#if PACKETVER >= 20120000
|
||||
struct PACKET_AC_REFUSE_LOGIN{
|
||||
int16 packetType;
|
||||
uint32 error;
|
||||
char unblock_time[20];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( AC_REFUSE_LOGIN, 0x83e );
|
||||
#else
|
||||
struct PACKET_AC_REFUSE_LOGIN{
|
||||
int16 packetType;
|
||||
uint8 error;
|
||||
char unblock_time[20];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( AC_REFUSE_LOGIN, 0x6a );
|
||||
#endif
|
||||
|
||||
struct PACKET_SC_NOTIFY_BAN{
|
||||
int16 packetType;
|
||||
uint8 result;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( SC_NOTIFY_BAN, 0x81 );
|
||||
|
||||
struct PACKET_CA_REQ_HASH{
|
||||
int16 packetType;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_REQ_HASH, 0x1db );
|
||||
|
||||
struct PACKET_AC_ACK_HASH{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
char salt[];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( AC_ACK_HASH, 0x1dc );
|
||||
|
||||
struct PACKET_CA_LOGIN2{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
uint8 passwordMD5[16];
|
||||
uint8 clienttype;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN2, 0x1dd );
|
||||
|
||||
struct PACKET_CA_LOGIN3{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
uint8 passwordMD5[16];
|
||||
uint8 clienttype;
|
||||
uint8 clientinfo;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN3, 0x1fa );
|
||||
|
||||
struct PACKET_CA_CONNECT_INFO_CHANGED{
|
||||
int16 packetType;
|
||||
char name[NAME_LENGTH];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_CONNECT_INFO_CHANGED, 0x200 );
|
||||
|
||||
struct PACKET_CA_EXE_HASHCHECK{
|
||||
int16 packetType;
|
||||
char hash[16];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_EXE_HASHCHECK, 0x204 );
|
||||
|
||||
struct PACKET_CA_LOGIN_PCBANG{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
char password[NAME_LENGTH];
|
||||
uint8 clienttype;
|
||||
char ip[16];
|
||||
char mac[13];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN_PCBANG, 0x277 );
|
||||
|
||||
struct PACKET_CA_LOGIN4{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
uint8 passwordMD5[16];
|
||||
uint8 clienttype;
|
||||
char mac[13];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN4, 0x27c );
|
||||
|
||||
struct PACKET_CA_LOGIN_CHANNEL{
|
||||
int16 packetType;
|
||||
uint32 version;
|
||||
char username[NAME_LENGTH];
|
||||
char password[NAME_LENGTH];
|
||||
uint8 clienttype;
|
||||
char ip[16];
|
||||
char mac[13];
|
||||
uint8 is_gravity;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_LOGIN_CHANNEL, 0x2b0 );
|
||||
|
||||
struct PACKET_CA_SSO_LOGIN_REQ{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
uint32 version;
|
||||
uint8 clienttype;
|
||||
char username[NAME_LENGTH];
|
||||
char password[27];
|
||||
char mac[17];
|
||||
char ip[15];
|
||||
char token[];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CA_SSO_LOGIN_REQ, 0x825 );
|
||||
|
||||
struct PACKET_CT_AUTH{
|
||||
int16 packetType;
|
||||
uint8 unknown[66];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( CT_AUTH, 0xacf );
|
||||
|
||||
struct PACKET_TC_RESULT{
|
||||
int16 packetType;
|
||||
int16 packetLength;
|
||||
uint32 type;
|
||||
char unknown1[20];
|
||||
char unknown2[6];
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER( TC_RESULT, 0xae3 );
|
||||
|
||||
// NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
|
||||
#if !defined( sun ) && ( !defined( __NETBSD__ ) || __NetBSD_Version__ >= 600000000 )
|
||||
#pragma pack( pop )
|
||||
#endif
|
||||
|
||||
#pragma warning( pop )
|
||||
|
||||
template <typename sessiontype> class PacketDatabase{
|
||||
private:
|
||||
struct s_packet_info{
|
||||
bool fixed;
|
||||
int16 size;
|
||||
std::function<bool ( int fd, sessiontype& sd )> func;
|
||||
};
|
||||
|
||||
std::unordered_map<int16, s_packet_info> infos;
|
||||
|
||||
public:
|
||||
void add( int16 packetType, bool fixed, int16 size, std::function<bool ( int fd, sessiontype& sd )> func ){
|
||||
if( fixed ){
|
||||
if( size < 2 ){
|
||||
ShowError( "Definition for packet 0x%04x is invalid. Minimum size for a fixed length packet is 2 bytes.\n", packetType );
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if( size < 4 ){
|
||||
ShowError( "Definition for packet 0x%04x is invalid. Minimum size for a dynamic length packet is 2 bytes.\n", packetType );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
s_packet_info& info = infos[packetType];
|
||||
|
||||
info.fixed = fixed;
|
||||
info.size = size;
|
||||
info.func = func;
|
||||
}
|
||||
|
||||
bool handle( int fd, sessiontype& sd ){
|
||||
int16 remaining = static_cast<int16>( RFIFOREST( fd ) );
|
||||
|
||||
if( remaining < 2 ){
|
||||
ShowError( "Did not receive enough bytes to process a packet\n" );
|
||||
set_eof( fd );
|
||||
return false;
|
||||
}
|
||||
|
||||
PACKET* p = (PACKET*)RFIFOP( fd, 0 );
|
||||
|
||||
s_packet_info* info = rathena::util::umap_find( this->infos, p->packetType );
|
||||
|
||||
if( info == nullptr ){
|
||||
ShowError( "Received unknown packet 0x%04x\n", p->packetType );
|
||||
set_eof( fd );
|
||||
return false;
|
||||
}
|
||||
|
||||
if( info->fixed ){
|
||||
if( remaining < info->size ){
|
||||
ShowError( "Invalid size %hd for packet 0x%04x with fixed size of %hd\n", remaining, p->packetType, info->size );
|
||||
set_eof( fd );
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ret = info->func( fd, sd );
|
||||
|
||||
RFIFOSKIP( fd, info->size );
|
||||
|
||||
return ret;
|
||||
}else{
|
||||
if( remaining < info->size ){
|
||||
ShowError( "Invalid size %hd for packet 0x%04x with dynamic minimum size of %hd\n", remaining, p->packetType, info->size );
|
||||
set_eof( fd );
|
||||
return false;
|
||||
}
|
||||
|
||||
if( remaining < p->packetLength ){
|
||||
ShowError( "Invalid size %hd for packet 0x%04x with dynamic size of %hd\n", remaining, p->packetType, p->packetLength );
|
||||
set_eof( fd );
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ret = info->func( fd, sd );
|
||||
|
||||
RFIFOSKIP( fd, p->packetLength );
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* PACKETS_HPP */
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "showmsg.hpp"
|
||||
|
||||
#include <stdlib.h> // atexit
|
||||
#include <time.h>
|
||||
#include <cstdlib> // atexit
|
||||
#include <ctime>
|
||||
|
||||
#ifdef WIN32
|
||||
#include "winapi.hpp"
|
||||
@@ -61,7 +61,7 @@ char console_log_filepath[32] = "./log/unknown.log";
|
||||
char s_[SBUF_SIZE]; \
|
||||
StringBuf *d_; \
|
||||
char *v_; \
|
||||
int l_; \
|
||||
size_t l_; \
|
||||
} buf ={"",NULL,NULL,0}; \
|
||||
//define NEWBUF
|
||||
|
||||
@@ -210,7 +210,7 @@ int VFPRINTF(HANDLE handle, const char *fmt, va_list argptr)
|
||||
|
||||
if( !is_console(handle) && stdout_with_ansisequence )
|
||||
{
|
||||
WriteFile(handle, BUFVAL(tempbuf), BUFLEN(tempbuf), &written, 0);
|
||||
WriteFile( handle, BUFVAL( tempbuf ), (DWORD)BUFLEN( tempbuf ), &written, 0 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user