Merge remote-tracking branch 'upstream/master' into refactor/cmake

This commit is contained in:
Vincent Stumpf 2023-12-12 07:43:50 +00:00
commit f4c9ed691c
29 changed files with 8931 additions and 1041 deletions

View File

@ -98,6 +98,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -112,6 +113,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -128,6 +130,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -146,6 +149,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@ -108,6 +108,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -122,6 +123,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -138,6 +140,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -156,6 +159,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@ -103,6 +103,7 @@
<PreprocessorDefinitions>WIN32;_WINDOWS;CMAKE_INTDIR="Debug";_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -138,6 +139,7 @@
<PreprocessorDefinitions>WIN32;_WINDOWS;CMAKE_INTDIR="Debug";_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -173,6 +175,7 @@
<DebugInformationFormat>
</DebugInformationFormat>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -208,6 +211,7 @@
<DebugInformationFormat>
</DebugInformationFormat>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>

View File

@ -97,6 +97,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -109,6 +110,7 @@
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -122,6 +124,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@ -139,6 +142,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>

View File

@ -1607,5 +1607,8 @@ map: 1@vrpop
map: 2@vrpop
map: 3@vrpop
// Depth biosphere 2nd floor
map: bl_depth2
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

Binary file not shown.

View File

@ -1239,6 +1239,7 @@ t_garden
1@vrpop
2@vrpop
3@vrpop
bl_depth2
//======================================================================================
// - Other/Extra maps -

View File

@ -20081,7 +20081,6 @@ Body:
- Ramor_Shield_Undead
Script: |
bonus2 bSubRace,RC_DemiHuman,getequiprefinerycnt(EQI_GARMENT);
bonus2 bSubRace,RC_Player_Human,getequiprefinerycnt(EQI_GARMENT);
bonus2 bAddEle,Ele_Undead,getequiprefinerycnt(EQI_HAND_L);
bonus2 bMagicAddEle,Ele_Undead,getequiprefinerycnt(EQI_HAND_L);
- Combos:
@ -40554,14 +40553,6 @@ Body:
Script: |
bonus bHealPower,30;
bonus bUseSPrate,-10;
- Combos:
- Combo:
- Heros_TriumphantSong # 311074
- MD_Geffen_Cloth_JP # 480331
Script: |
bonus2 bSubClass,Class_Normal,5;
bonus2 bSubClass,Class_Boss,5;
bonus2 bSubEle,Ele_Ghost,30;
- Combos:
- Combo:
- Illusion_Box_Garden # 311075
@ -43428,22 +43419,6 @@ Body:
}
}
}
- Combos:
- Combo:
- Thanatos_Sword_FA # 480324
- Red_Force_Pendant_LT # 490382
- Combo:
- Thanatos_Sword_FA # 480324
- Blue_Mental_Pendant_LT # 490383
Script: |
bonus bPAtk,3;
bonus bSMatk,3;
bonus bMatk,50;
bonus bBaseAtk,50;
bonus2 bAddSize,Size_Medium,15;
bonus2 bMagicAddSize,Size_Medium,15;
bonus2 bAddSize,Size_Large,15;
bonus2 bMagicAddSize,Size_Large,15;
- Combos:
- Combo:
- Bakonawa_Tattoo # 2910
@ -43905,31 +43880,6 @@ Body:
Script: |
bonus bLongAtkRate,20;
bonus2 bSkillAtk,"RA_ARROWSTORM",10;
- Combos:
- Combo:
- Dolor_HatK_LT # 400465
- Thanatos_Sword_FA # 480324
Script: |
.@r = getequiprefinerycnt(EQI_HEAD_TOP);
bonus bVariableCastrate,-10;
if (.@r>=7) {
bonus2 bAddEle,Ele_Holy,20;
bonus2 bAddEle,Ele_Dark,20;
bonus2 bMagicAddEle,Ele_Holy,20;
bonus2 bMagicAddEle,Ele_Dark,20;
}
if (.@r>=9) {
bonus2 bAddRace,RC_Angel,15;
bonus2 bAddRace,RC_Dragon,15;
bonus2 bMagicAddRace,RC_Angel,15;
bonus2 bMagicAddRace,RC_Dragon,15;
}
if (.@r>=11) {
bonus2 bAddSize,Size_Medium,15;
bonus2 bAddSize,Size_Large,15;
bonus2 bMagicAddSize,Size_Medium,15;
bonus2 bMagicAddSize,Size_Large,15;
}
- Combos:
- Combo:
- Thanatos_Sword_FA # 480324
@ -43976,12 +43926,12 @@ Body:
- Comp_Royal_Bow_K # 700057
- Combo:
- Royal_Bow_K # 18164
- aegis_480358 # 480359
- aegis_480359 # 480359
- Combo:
- aegis_480358 # 480359
- aegis_480359 # 480359
- Up_Royal_Bow_K # 700018
- Combo:
- aegis_480358 # 480359
- aegis_480359 # 480359
- Comp_Royal_Bow_K # 700057
Script: |
bonus2 bSkillCooldown,"RA_ARROWSTORM",-2500;
@ -43991,7 +43941,7 @@ Body:
- aegis_480358 # 480358
- Combo:
- Arrow_Of_Shadow # 1767
- aegis_480358 # 480359
- aegis_480359 # 480359
Script: |
bonus bLongAtkRate,20;
bonus2 bSkillAtk,"RA_ARROWSTORM",10;
@ -46655,3 +46605,541 @@ Body:
bonus bMaxHPrate,5;
bonus bMdef,30;
bonus bDef,200;
- Combos:
- Combo:
- Dimen_IG_Sword # 500092
- Time_DM_R_Crown_IG # 400530
Script: |
bonus2 bSkillCooldown,"LG_RAYOFGENESIS",-500;
bonus2 bMagicAtkEle,Ele_Holy,10;
bonus2 bMagicAtkEle,Ele_Neutral,10;
bonus2 bSkillAtk,"LG_RAYOFGENESIS",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"IG_CROSS_RAIN",-1000;
bonus2 bSkillAtk,"LG_RAYOFGENESIS",.@sum;
}
- Combos:
- Combo:
- Dimen_BO_Sword # 500093
- Time_DM_R_Crown_BO # 400532
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"BO_ACIDIFIED_ZONE_WIND",45;
bonus2 bSkillAtk,"BO_ACIDIFIED_ZONE_FIRE",45;
bonus2 bSkillAtk,"BO_ACIDIFIED_ZONE_WATER",45;
bonus2 bSkillAtk,"BO_ACIDIFIED_ZONE_GROUND",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"BO_MAYHEMIC_THORNS",.@sum;
bonus2 bSkillCooldown,"BO_MAYHEMIC_THORNS",-200;
}
- Combos:
- Combo:
- Dimen_HN_Sword # 500094
- Time_DM_R_Crown_HN # 400545
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"HN_DOUBLEBOWLINGBASH",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
skill "GC_CROSSIMPACT",5;
bonus2 bSkillAtk,"HN_DOUBLEBOWLINGBASH",.@sum;
}
- Combos:
- Combo:
- Dimen_ABC_Knife # 510139
- Time_DM_R_Crown_ABC # 400534
Script: |
bonus bShortAtkRate,10;
bonus2 bSkillAtk,"ABC_ABYSS_DAGGER",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"ABC_DEFT_STAB",-200;
bonus2 bSkillAtk,"ABC_ABYSS_DAGGER",.@sum;
bonus2 bSkillAtk,"ABC_DEFT_STAB",.@sum;
if (getskilllv("ABC_ABYSS_DAGGER") > 0) {
bonus4 bAutoSpellOnSkill,"ABC_DEFT_STAB","ABC_ABYSS_DAGGER",getskilllv("ABC_ABYSS_DAGGER"),1000;
}
}
- Combos:
- Combo:
- Dimen_IG_Spear # 530054
- Time_DM_R_Crown_IG # 400530
Script: |
bonus bShortAtkRate,10;
bonus2 bSkillAtk,"LG_OVERBRAND",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"LG_OVERBRAND",2*.@sum;
if (getskilllv("LG_OVERBRAND") > 0) {
bonus4 bAutoSpellOnSkill,"IG_OVERSLASH","LG_OVERBRAND",getskilllv("LG_OVERBRAND"),1000;
}
}
- Combos:
- Combo:
- Dimen_EM_M_Book # 540079
- Time_DM_R_Crown_EM # 400536
Script: |
bonus2 bMagicAtkEle,Ele_Water,10;
bonus2 bMagicAtkEle,Ele_Fire,10;
bonus2 bMagicAtkEle,Ele_Poison,30;
bonus2 bSkillAtk,"EM_VENOM_SWAMP",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER",2*.@sum;
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_FIRE",2*.@sum;
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_WATER",2*.@sum;
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) {
bonus4 bAutoSpellOnSkill,"EM_DIAMOND_STORM","EM_ELEMENTAL_BUSTER",getskilllv("EM_ELEMENTAL_BUSTER"),1000;
}
}
- Combos:
- Combo:
- Dimen_EM_S_Book # 540080
- Time_DM_R_Crown_EM # 400536
Script: |
bonus2 bMagicAtkEle,Ele_Earth,10;
bonus2 bMagicAtkEle,Ele_Wind,10;
bonus2 bMagicAtkEle,Ele_Poison,30;
bonus2 bSkillAtk,"EM_VENOM_SWAMP",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER",2*.@sum;
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_FIRE",2*.@sum;
bonus2 bSkillAtk,"EM_ELEMENTAL_BUSTER_WATER",2*.@sum;
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) {
bonus4 bAutoSpellOnSkill,"EM_TERRA_DRIVE","EM_ELEMENTAL_BUSTER",getskilllv("EM_ELEMENTAL_BUSTER"),1000;
}
}
- Combos:
- Combo:
- Dimen_CD_Bible # 540081
- Time_DM_R_Crown_CD # 400537
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"CD_EFFLIGO",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
skill "ABC_UNLUCKY_RUSH",3;
bonus2 bSkillAtk,"CD_EFFLIGO",.@sum;
bonus2 bSkillCooldown,"CD_PETITIO",-150;
}
- Combos:
- Combo:
- Dimen_SKE_M_Book # 540082
- Time_DM_R_Crown_SKE # 400543
Script: |
bonus bShortAtkRate,10;
bonus2 bSkillAtk,"SKE_MIDNIGHT_KICK",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SKE_MIDNIGHT_KICK",.@sum;
if (getskilllv("SKE_MIDNIGHT_KICK") > 0) {
bonus4 bAutoSpellOnSkill,"SKE_DAWN_BREAK","SKE_MIDNIGHT_KICK",getskilllv("SKE_MIDNIGHT_KICK"),1000;
}
}
- Combos:
- Combo:
- Dimen_SKE_S_Book # 540083
- Time_DM_R_Crown_SKE # 400543
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"SKE_NOON_BLAST",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SKE_NOON_BLAST",.@sum;
if (getskilllv("SKE_NOON_BLAST") > 0) {
bonus4 bAutoSpellOnSkill,"SKE_SUNSET_BLAST","SKE_NOON_BLAST",getskilllv("SKE_NOON_BLAST"),1000;
}
}
- Combos:
- Combo:
- Dimen_CD_Rod # 550130
- Time_DM_R_Crown_CD # 400537
Script: |
bonus2 bMagicAtkEle,Ele_Holy,10;
bonus2 bMagicAtkEle,Ele_Neutral,10;
bonus2 bSkillAtk,"AB_ADORAMUS",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"AB_ADORAMUS",2*.@sum;
if (getskilllv("AB_ADORAMUS") > 0) {
bonus4 bAutoSpellOnSkill,"CD_ARBITRIUM","AB_ADORAMUS",getskilllv("AB_ADORAMUS"),1000;
}
}
- Combos:
- Combo:
- Dimen_SOA_Stick # 550131
- Time_DM_R_Crown_SOA # 400544
Script: |
bonus2 bMagicAtkEle,Ele_All,10;
bonus2 bSkillAtk,"SOA_TALISMAN_OF_FOUR_BEARING_GOD",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SOA_TALISMAN_OF_BLUE_DRAGON",.@sum;
bonus2 bSkillAtk,"SOA_TALISMAN_OF_RED_PHOENIX",.@sum;
if (getskilllv("SOA_TALISMAN_OF_RED_PHOENIX") > 0) {
bonus4 bAutoSpellOnSkill,"SOA_TALISMAN_OF_BLUE_DRAGON","SOA_TALISMAN_OF_RED_PHOENIX",getskilllv("SOA_TALISMAN_OF_RED_PHOENIX"),1000;
}
}
- Combos:
- Combo:
- Dimen_SOA_Rod # 550132
- Time_DM_R_Crown_SOA # 400544
Script: |
bonus2 bMagicAtkEle,Ele_All,10;
bonus2 bSkillAtk,"SOA_TALISMAN_OF_FOUR_BEARING_GOD",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SOA_TALISMAN_OF_WHITE_TIGER",.@sum;
bonus2 bSkillAtk,"SOA_TALISMAN_OF_BLACK_TORTOISE",.@sum;
if (getskilllv("SOA_TALISMAN_OF_BLACK_TORTOISE") > 0) {
bonus4 bAutoSpellOnSkill,"SOA_TALISMAN_OF_WHITE_TIGER","SOA_TALISMAN_OF_BLACK_TORTOISE",getskilllv("SOA_TALISMAN_OF_BLACK_TORTOISE"),1000;
}
}
- Combos:
- Combo:
- Dimen_HN_Rod # 550133
- Time_DM_R_Crown_HN # 400545
Script: |
bonus2 bMagicAtkEle,Ele_Earth,10;
bonus2 bMagicAtkEle,Ele_Fire,10;
bonus2 bMagicAtkEle,Ele_Ghost,30;
bonus2 bSkillAtk,"HN_NAPALM_VULCAN_STRIKE",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"HN_NAPALM_VULCAN_STRIKE",.@sum;
bonus4 bAutoSpellOnSkill,"HN_NAPALM_VULCAN_STRIKE","AG_SOUL_VC_STRIKE",5,500;
}
- Combos:
- Combo:
- Dimen_SH_Foxtail # 550134
- Time_DM_R_Crown_SH # 400546
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"SH_CHUL_HO_SONIC_CLAW",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"SH_HOWLING_OF_CHUL_HO",-300;
bonus2 bSkillAtk,"SH_CHUL_HO_SONIC_CLAW",.@sum;
}
- Combos:
- Combo:
- Dimen_SH_F_Model # 550135
- Time_DM_R_Crown_SH # 400546
Script: |
bonus2 bSkillAtk,"SH_HYUN_ROK_CANNON",45;
bonus2 bMagicAtkEle,Ele_All,10;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"SH_HYUN_ROKS_BREEZE",-2000;
bonus2 bSkillAtk,"SH_HYUN_ROK_CANNON",.@sum;
}
- Combos:
- Combo:
- Dimen_IQ_Knuckle # 560060
- Time_DM_R_Crown_IQ # 400538
Script: |
bonus bShortAtkRate,10;
bonus2 bSkillAtk,"SR_TIGERCANNON",85;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"IQ_FIRST_BRAND",1500;
bonus2 bSkillAtk,"IQ_SECOND_FLAME",.@sum;
if (getskilllv("IQ_SECOND_FLAME") > 0) {
bonus4 bAutoSpellOnSkill,"IQ_FIRST_BRAND","IQ_SECOND_FLAME",getskilllv("IQ_SECOND_FLAME"),1000;
if (getskilllv("IQ_THIRD_FLAME_BOMB") > 0) {
bonus4 bAutoSpellOnSkill,"IQ_SECOND_FLAME","IQ_THIRD_FLAME_BOMB",getskilllv("IQ_THIRD_FLAME_BOMB"),1000;
}
}
}
- Combos:
- Combo:
- Dimen_IQ_Claw # 560061
- Time_DM_R_Crown_IQ # 400538
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"IQ_MASSIVE_F_BLASTER",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"IQ_EXPOSION_BLASTER",-200;
bonus2 bSkillCooldown,"IQ_MASSIVE_F_BLASTER",-2000;
bonus2 bSkillAtk,"IQ_MASSIVE_F_BLASTER",.@sum;
}
- Combos:
- Combo:
- Dimen_TR_Harp # 570063
- Time_DM_R_Crown_TR # 400540
- Combo:
- Dimen_TR_Rope # 580062
- Time_DM_R_Crown_TR # 400540
Script: |
bonus bLongAtkRate,10;
bonus2 bSkillAtk,"TR_RHYTHMSHOOTING",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"TR_RHYTHMSHOOTING",.@sum;
if (getskilllv("TR_SOUNDBLEND") > 0) {
bonus4 bAutoSpellOnSkill,"TR_RHYTHMSHOOTING","TR_SOUNDBLEND",getskilllv("TR_SOUNDBLEND"),1000;
}
}
- Combos:
- Combo:
- Dimen_TR_Ribbon # 580061
- Time_DM_R_Crown_TR # 400540
- Combo:
- Dimen_TR_Vilolin # 570062
- Time_DM_R_Crown_TR # 400540
Script: |
bonus2 bMagicAtkEle,Ele_All,10;
bonus2 bSkillAtk,"WM_REVERBERATION",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"WM_REVERBERATION",.@sum;
if (getskilllv("WM_REVERBERATION") > 0) {
bonus4 bAutoSpellOnSkill,"TR_METALIC_FURY","WM_REVERBERATION",getskilllv("WM_REVERBERATION"),1000;
}
}
- Combos:
- Combo:
- Dimen_MT_Mace # 590079
- Time_DM_R_Crown_MT # 400531
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"MT_SPARK_BLASTER",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"MT_TRIPLE_LASER",.@sum;
bonus2 bSkillCooldown,"MT_SPARK_BLASTER",-150;
bonus2 bSkillAtk,"MT_SPARK_BLASTER",.@sum;
}
- Combos:
- Combo:
- Dimen_BO_Hall # 590080
- Time_DM_R_Crown_BO # 400532
Script: |
bonus bShortAtkRate,10;
bonus2 bSkillAtk,"GN_CART_TORNADO",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"BO_EXPLOSIVE_POWDER",-200;
bonus2 bSkillAtk,"GN_CART_TORNADO",2*.@sum;
if (getskilllv("GN_CART_TORNADO") > 0) {
bonus4 bAutoSpellOnSkill,"BO_EXPLOSIVE_POWDER","GN_CART_TORNADO",getskilllv("GN_CART_TORNADO"),1000;
}
}
- Combos:
- Combo:
- Dimen_DK_T_Sword # 600054
- Time_DM_R_Crown_DK # 400529
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"DK_STORMSLASH",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"DK_HACKANDSLASHER",-200;
bonus2 bSkillAtk,"RK_IGNITIONBREAK",3*.@sum;
if (getskilllv("RK_IGNITIONBREAK") > 0) {
bonus4 bAutoSpellOnSkill,"DK_HACKANDSLASHER","RK_IGNITIONBREAK",getskilllv("RK_IGNITIONBREAK"),1000;
}
}
- Combos:
- Combo:
- Dimen_SHC_Katar # 610064
- Time_DM_R_Crown_SHC # 400533
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"GC_CROSSIMPACT",85;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"SHC_SAVAGE_IMPACT",-200;
bonus2 bSkillAtk,"SHC_SAVAGE_IMPACT",.@sum;
}
- Combos:
- Combo:
- Dimen_SHC_Cakram # 610065
- Time_DM_R_Crown_SHC # 400533
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"SHC_IMPACT_CRATER",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"GC_PHANTOMMENACE",5000;
bonus2 bSkillCooldown,"GC_ROLLINGCUTTER",2000;
bonus2 bSkillAtk,"SHC_ETERNAL_SLASH",.@sum;
if (getskilllv("GC_ROLLINGCUTTER") > 0) {
bonus4 bAutoSpellOnSkill,"GC_PHANTOMMENACE","GC_ROLLINGCUTTER",getskilllv("GC_ROLLINGCUTTER"),1000;
if (getskilllv("SHC_IMPACT_CRATER") > 0) {
bonus4 bAutoSpellOnSkill,"GC_ROLLINGCUTTER","SHC_IMPACT_CRATER",getskilllv("SHC_IMPACT_CRATER"),1000;
}
}
}
- Combos:
- Combo:
- Dimen_MT_Axe # 620037
- Time_DM_R_Crown_MT # 400531
Script: |
bonus2 bSkillAtk,"MT_AXE_STOMP",45;
bonus bShortAtkRate,10;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"NC_AXETORNADO",5*.@sum;
if (getskilllv("NC_AXETORNADO") > 0 && !checkmadogear()) {
bonus4 bAutoSpellOnSkill,"MT_MIGHTY_SMASH","NC_AXETORNADO",getskilllv("NC_AXETORNADO"),1000;
}
}
- Combos:
- Combo:
- Dimen_DK_Lance # 630041
- Time_DM_R_Crown_DK # 400529
Script: |
bonus bLongAtkRate,10;
bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",85;
bonus2 bSkillAtk,"RK_DRAGONBREATH",85;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillCooldown,"DK_DRAGONIC_BREATH",-150;
bonus2 bSkillAtk,"DK_DRAGONIC_BREATH",.@sum;
}
- Combos:
- Combo:
- Dimen_AG_Staff # 640049
- Time_DM_R_Crown_AG # 400535
Script: |
bonus2 bMagicAtkEle,Ele_Fire,10;
bonus2 bMagicAtkEle,Ele_Wind,10;
bonus2 bMagicAtkEle,Ele_Ghost,30;
bonus2 bSkillAtk,"AG_SOUL_VC_STRIKE",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"AG_SOUL_VC_STRIKE",.@sum;
if (getskilllv("AG_STORM_CANNON") > 0) {
bonus4 bAutoSpellOnSkill,"AG_CRIMSON_ARROW","AG_STORM_CANNON",getskilllv("AG_STORM_CANNON"),1000;
}
}
- Combos:
- Combo:
- Dimen_AG_Rod # 640050
- Time_DM_R_Crown_AG # 400535
Script: |
bonus2 bMagicAtkEle,Ele_Earth,10;
bonus2 bMagicAtkEle,Ele_Water,10;
bonus2 bMagicAtkEle,Ele_Ghost,30;
bonus2 bSkillAtk,"AG_SOUL_VC_STRIKE",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"AG_SOUL_VC_STRIKE",.@sum;
if (getskilllv("AG_FROZEN_SLASH") > 0) {
bonus4 bAutoSpellOnSkill,"AG_ROCK_DOWN","AG_FROZEN_SLASH",getskilllv("AG_FROZEN_SLASH"),1000;
}
}
- Combos:
- Combo:
- Dimen_SS_Humma # 650046
- Time_DM_R_Crown_SS # 400541
Script: |
bonus bShortAtkRate,15;
bonus2 bSkillAtk,"SS_KAGENOMAI",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SS_KAGEGISSEN",.@sum;
bonus2 bSkillCooldown,"KO_JYUMONJIKIRI",-1500;
if (getskilllv("SS_KAGEGISSEN") > 0) {
bonus4 bAutoSpellOnSkill,"KO_JYUMONJIKIRI","SS_KAGEGISSEN",getskilllv("SS_KAGEGISSEN"),1000;
}
}
- Combos:
- Combo:
- Dimen_SS_Wheel # 650047
- Time_DM_R_Crown_SS # 400541
Script: |
bonus2 bMagicAtkEle,Ele_Wind,10;
bonus2 bMagicAtkEle,Ele_Fire,10;
bonus2 bMagicAtkEle,Ele_Dark,30;
bonus2 bSkillAtk,"SS_ANTENPOU",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SS_SEKIENHOU",.@sum;
bonus2 bSkillAtk,"SS_RAIDENPOU",.@sum;
if (getskilllv("SS_RAIDENPOU") > 0) {
bonus4 bAutoSpellOnSkill,"SS_SEKIENHOU","SS_RAIDENPOU",getskilllv("SS_RAIDENPOU"),1000;
}
}
- Combos:
- Combo:
- Dimen_ABC_Bow # 700092
- Time_DM_R_Crown_ABC # 400534
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"ABC_CHAIN_REACTION_SHOT",45;
bonus2 bSkillAtk,"ABC_CHAIN_REACTION_SHOT_ATK",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
skill "TR_ROSEBLOSSOM",5;
bonus2 bSkillAtk,"ABC_FRENZY_SHOT",.@sum;
bonus2 bSkillAtk,"ABC_CHAIN_REACTION_SHOT",.@sum;
bonus2 bSkillAtk,"ABC_CHAIN_REACTION_SHOT_ATK",.@sum;
}
- Combos:
- Combo:
- Dimen_WH_C_Bow # 700093
- Time_DM_R_Crown_WH # 400539
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"WH_GALESTORM",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"SN_SHARPSHOOTING",2*.@sum;
if (getskilllv("SN_SHARPSHOOTING") > 0) {
bonus4 bAutoSpellOnSkill,"WH_CRESCIVE_BOLT","SN_SHARPSHOOTING",getskilllv("SN_SHARPSHOOTING"),500;
}
}
- Combos:
- Combo:
- Dimen_WH_Bow # 700094
- Time_DM_R_Crown_WH # 400539
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"WH_HAWKBOOMERANG",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"WH_HAWKBOOMERANG",.@sum;
if (getskilllv("WH_HAWKBOOMERANG") > 0) {
bonus4 bAutoSpellOnSkill,"WH_HAWKRUSH","WH_HAWKBOOMERANG",getskilllv("WH_HAWKBOOMERANG"),500;
}
}
- Combos:
- Combo:
- Dimen_NW_Rifle # 810040
- Time_DM_R_Crown_NW # 400542
Script: |
bonus bLongAtkRate,15;
bonus2 bSkillAtk,"NW_ONLY_ONE_BULLET",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"NW_SPIRAL_SHOOTING",.@sum;
if (getskilllv("NW_SPIRAL_SHOOTING") > 0) {
bonus4 bAutoSpellOnSkill,"NW_ONLY_ONE_BULLET","NW_SPIRAL_SHOOTING",getskilllv("NW_SPIRAL_SHOOTING"),1000;
}
}
- Combos:
- Combo:
- Dimen_NW_Launcher # 840032
- Time_DM_R_Crown_NW # 400542
Script: |
bonus bLongAtkRate,10;
bonus2 bSkillAtk,"NW_SPIRAL_SHOOTING",45;
if (getenchantgrade(EQI_HAND_R)>=ENCHANTGRADE_A && getenchantgrade(EQI_HEAD_TOP)>=ENCHANTGRADE_A) {
.@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_HEAD_TOP);
bonus2 bSkillAtk,"NW_WILD_FIRE",.@sum;
if (getskilllv("NW_WILD_FIRE") > 0) {
bonus4 bAutoSpellOnSkill,"NW_SPIRAL_SHOOTING","NW_WILD_FIRE",getskilllv("NW_WILD_FIRE"),1000;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4212,7 +4212,11 @@ invoking RID. It returns 1 if successful and 0 upon failure.
4: All players in a specified area of the map of the invoking player (or NPC).
[ Parameters: <x0>,<y0>,<x1>,<y1> ]
5: All players in the map.
[ Parameters: "<map name>" ]
[ Parameters: "<map name>" ]
6: Battleground members of a specified battleground ID.
[ Parameters: <battleground id> ]
7: Clan members of a specified clan ID.
[ Parameters: <clan id> ]
Account ID: If type is Account ID, attach the specified account ID.
<flag> can prevent certain players from being attached:
@ -11140,6 +11144,17 @@ Returns 1 on success.
---------------------------------------
*channel_join "<channel_name>"{, <char_id>};
Join an existing channel.
The command returns 0 upon success, and these values upon failure:
-1 : Invalid channel or player
-2 : Player already in channel
-3 : Player banned
-4 : Reached max limit
---------------------------------------
*channel_setopt "<chname>",<option>,<value>;
Set option for the channel. Use 1 in <value> to set it, or 0 to unset.

View File

@ -17,6 +17,8 @@
//= Cleaned up the script.
//= TODO: Confirm Hugin NPC's code flow.
//= 1.6 Cleaned up the dialogue. [Aleos]
//= 1.7 Implemented fast mode. [Atemo]
// Note: The treasure room is not accessible in fast mode.
//============================================================
glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
@ -180,6 +182,28 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
cutin "gl_barmund2",2;
close3;
}
// If the instance has already been completed once, the player can skip sector 1,2,3 and starts from the 1st boss MG_CORRUPTION_ROOT
if (isbegin_quest(12321) == 2) {
mes "You have a previous clear record. You can skip the scenario and proceed accordingly.";
next;
if (select( "Omit moderately.", "Appreciate everything." ) == 1) {
cutin "GL_BARMUND1.bmp",2;
mes "[Barmund]";
mes "Have I seen you " + strcharinfo(0) + "";
mes "I'm sure I can trust you. Let's leave right away.";
close2;
cutin "",255;
if ('step == 0) {
'step = 1;
'mode = 2;
disablenpc();
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
}
end;
}
// (original scenario)
}
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
mes "[Varmundt]";
@ -221,9 +245,13 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
npctalk "Varmundt: Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
close2;
cutin "",255;
disablenpc instance_npcname("Varmundt#0");
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
if ('step == 0) {
'step = 1;
'mode = 1;
disablenpc instance_npcname("Varmundt#0");
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
}
end;
}
@ -311,13 +339,27 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
}
1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#21) Khalitzburg Knightage#22 4_F_KHALITZBURG
1@gl_k,149,100,6 script Heinrich#1 4_M_HEINRICH,{
if (is_party_leader() == false) {
1@gl_k,149,100,5 script Heinrich#1 4_M_HEINRICH,{
if (is_party_leader() == false || 'step != 1) {
mes "[Heinrich]";
mes "Where is your leader? I must talk to him.";
cutin "gl_heinrich2",2;
close3;
}
if ('mode == 2) {
cutin "GL_HEINRICH2.bmp",2;
select( "Heinrich, you are in the castle now..." );
mes "[Heinrich]";
mes "Ohh " + strcharinfo(0) + "";
mes "I guess I can trust you. Let's leave right away.";
close2;
cutin "",255;
if ('step == 1) {
'step = 2;
donpcevent instance_npcname("#talkinstance2") + "::OnEnable";
}
end;
}
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
cutin "gl_heinrich2",2;
@ -368,15 +410,15 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
mes "We cannot risk moving the heart just because some stranger says so.";
npctalk "Heinrich: We cannot risk moving the heart just because some stranger says so.";
close2;
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
cutin "",255;
if ('step == 1) {
'step = 2;
donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
}
end;
}
1@gl_k,152,97,3 script Varmundt#1 4_M_BARMUND,{ end; }
1@gl_k,152,97,3 duplicate(dummy_npc) Varmundt#1 4_M_BARMUND
1@gl_k,149,97,5 duplicate(Varmundt#1) Heinrich#2 4_M_HEINRICH
1@gl_k,149,100,5 duplicate(Varmundt#1) Heinrich#3 4_M_HEINRICH
1@gl_k,149,89,1 duplicate(Varmundt#1) Himelmez#1 4_F_HIMEL
@ -386,6 +428,9 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
1@gl_k,1,1,0 script #talkinstance1 HIDDEN_WARP_NPC,{
end;
OnEnable:
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
initnpctimer;
'npc_himelmez1$ = instance_npcname("Himelmez#1");
@ -611,6 +656,174 @@ OnMyMobDead:
end;
}
// Fast mode
1@gl_k,1,1,0 script #talkinstance2 HIDDEN_WARP_NPC,{
end;
OnEnable:
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
initnpctimer;
'npc_himelmez1$ = instance_npcname("Himelmez#1");
'npc_varmundt1$ = instance_npcname("Varmundt#1");
'npc_heinrich2$ = instance_npcname("Heinrich#2");
'npc_heinrich3$ = instance_npcname("Heinrich#3");
end;
OnTimer1500:
npctalk "Heinrich: Who are you?", 'npc_heinrich2$;
end;
OnTimer3500:
npctalk "Himelmez: Well well~ Am I interrupting you? Weren't you expecting me?", 'npc_himelmez1$;
end;
OnTimer7500:
npctalk "Himelmez: I have business to take care of. My minions will treat you well enough for me~", 'npc_himelmez1$;
end;
OnTimer11500:
disablenpc 'npc_himelmez1$;
end;
OnTimer12500:
npctalk "Heinrich: She probably already knows where the Ymir's heart piece is.", 'npc_heinrich2$;
end;
OnTimer16500:
for (.@i = 1; .@i <= 20; .@i += 4) {
hideonnpc instance_npcname("Khalitzburg Knightage#" + .@i);
hideonnpc instance_npcname("Khalitzburg Knightage#" + (.@i+1));
hideonnpc instance_npcname("White Knight#" + (.@i+2));
hideonnpc instance_npcname("White Knight#" + (.@i+3));
}
hideonnpc instance_npcname("Khalitzburg Knightage#21");
hideonnpc instance_npcname("Khalitzburg Knightage#22");
.@label$ = instance_npcname("#talkinstance1") + "::OnMyMobDead";
monster 'map_name$[0],145,59,"Abysmal Knight",2470,1,.@label$;// MG_KNIGHT_OF_ABYSS
monster 'map_name$[0],154,59,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,69,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,69,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,79,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,79,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,89,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,89,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,99,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,99,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,54,"Khalitzburg",2471,1,.@label$;// G_MG_KHALITZBURG
unittalk $@mobid[0],"Water... Someone give me water...";
monster 'map_name$[0],154,54,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Kkkrrrruughgh...";
monster 'map_name$[0],145,64,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Sir Heinrich. Save me...";
monster 'map_name$[0],154,64,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I miss my sister...";
monster 'map_name$[0],145,74,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Don't leave me alone, help me.";
monster 'map_name$[0],154,74,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Aaarrrrrhhhh";
monster 'map_name$[0],145,84,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I am so thirsty.";
monster 'map_name$[0],154,84,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Oh...No...I can't die yet...";
monster 'map_name$[0],145,94,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I feel sick to my stomach urrgg";
monster 'map_name$[0],154,94,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Can someone...";
monster 'map_name$[0],145,104,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Arrgg... My body";
monster 'map_name$[0],154,104,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"My throat is burning!";
end;
OnTimer17500:
npctalk "The dead go where the dead belong! Everyone go back!", 'npc_heinrich2$;
end;
OnTimer18500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#1");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#2");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#1");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#2");
end;
OnTimer19000:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#3");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#4");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#5");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#6");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#3");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#4");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#5");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#6");
end;
OnTimer19500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#7");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#8");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#9");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#10");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#7");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#8");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#9");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#10");
end;
OnTimer20000:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#11");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#12");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#13");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#14");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#11");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#12");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#13");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#14");
end;
OnTimer20500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#15");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#16");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#17");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#18");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#15");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#16");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#17");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#18");
end;
OnTimer21500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#19");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#20");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#21");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#22");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#19");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#20");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#21");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#22");
disablenpc 'npc_heinrich2$;
enablenpc 'npc_heinrich3$;
killmonster 'map_name$[0], instance_npcname("#talkinstance1") + "::OnMyMobDead";
npctalk "Heinrich: Very well, Varmundt. Let's find Himelmez.", 'npc_heinrich3$;
end;
OnTimer25500:
npctalk "Varmundt: Wait, I don't have time to go around the castle and clear a path. I will open a portal that can be tracked as quickly as possible.", 'npc_varmundt1$;
end;
OnTimer27000:
specialeffect EF_BEGINSPELL_N5, AREA, 'npc_varmundt1$;
end;
OnTimer28500:
stopnpctimer;
disablenpc 'npc_heinrich3$;
disablenpc 'npc_varmundt1$;
enablenpc instance_npcname("#cut01");
enablenpc instance_npcname("#Mimelon");
enablenpc instance_npcname("Himelmez#2");
enablenpc instance_npcname("Varmundt#2");
enablenpc instance_npcname("Heinrich#4");
'step = 4;
'npc_himelmez1$ = 'npc_varmundt1$ = 'npc_heinrich2$ = 'npc_heinrich3$ = "";
end;
OnMyMobDead:
end;
}
1@gl_k,149,96,1 script #cut01 GATE_SKYBLUE,{
warp 'map_name$[0],151,232;
end;
}
// Sector 1 Mobs
//============================================================
1@gl_k,1,1,0 script #ghmemorialmob01 HIDDEN_WARP_NPC,{
@ -642,7 +855,7 @@ OnMyMobDead:
}
1@gl_k,17,51,3 script Altar boy Domun#1 4_M_KID1,{
if (is_party_leader() == false) {
if (is_party_leader() == false || 'step != 2) {
mes "[Altar boy Domun]";
mes "Save me, save me, please...";
close;
@ -683,8 +896,11 @@ OnMyMobDead:
mes "[Altar boy Domun]";
mes "Ok, I... I'll try.";
npctalk "Altar boy Domun: Ok, I... I'll try.";
disablenpc instance_npcname("Altar boy Domun#1");
donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
if ('step == 2) {
'step = 3;
disablenpc instance_npcname("Altar boy Domun#1");
donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
}
close;
}
@ -720,7 +936,7 @@ OnMyMobDead:
}
1@gl_k,291,145,3 script Holgren the Destroyer#1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false) {
if (is_party_leader() == false || 'step != 3) {
mes "[Holgren the Destroyer]";
mes "You human?";
close;
@ -758,8 +974,11 @@ OnMyMobDead:
mes "[Holgren the Destroyer]";
mes "It's ok. You've already done enough. I can help myself. Good luck to you too.";
npctalk "Holgren the Destroyer: It's ok. You've already done enough. I can help myself. Good luck to you too.";
disablenpc instance_npcname("Holgren the Destroyer#1");
donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
if ('step == 3) {
'step = 4;
disablenpc instance_npcname("Holgren the Destroyer#1");
donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
}
close;
}
@ -887,7 +1106,20 @@ OnTimer5000:
1@gl_k,150,257,0 script #Mimelon HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
disablenpc instance_npcname("#Mimelon");
if ('step != 4)
end;
'step = 5;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance3") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance4") + "::OnStart";
end;
}
1@gl_k,1,1,0 script #talkinstance3 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_himelmez2$ = instance_npcname("Himelmez#2");
'npc_heinrich4$ = instance_npcname("Heinrich#4");
@ -938,6 +1170,33 @@ OnTimer38000:
end;
}
1@gl_k,1,1,0 script #talkinstance4 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_himelmez2$ = instance_npcname("Himelmez#2");
'npc_heinrich4$ = instance_npcname("Heinrich#4");
npctalk "Himelmez: Guess you are either lucky or powerful to make it this far.", 'npc_himelmez2$;
end;
OnTimer3500:
disablenpc 'npc_himelmez2$;
end;
OnTimer4500:
npctalk "Heinrich: Sir Varmundt! Help those adventurers. I will go after Himelmez!", 'npc_heinrich4$;
end;
OnTimer6500:
disablenpc 'npc_heinrich4$;
end;
OnTimer9500:
mapannounce 'map_name$[0], "An echoing comes from deep inside of the knight's shrine.", bc_map,0xFFFFFF;
end;
OnTimer14500:
stopnpctimer;
donpcevent instance_npcname("#ghmemorialmob04") + "::OnStart";
'npc_himelmez2$ = 'npc_heinrich4$ = "";
end;
}
1@gl_k,1,1,0 script #ghmemorialmob04 HIDDEN_WARP_NPC,{
end;
OnStart:
@ -984,11 +1243,23 @@ OnEffect:
end;
}
// note: this part can be skipped
2@gl_k,150,66,0 script #Servanton HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
disablenpc instance_npcname("#Servanton");
if ('step != 5)
end;
'step = 6;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance5") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance6") + "::OnStart";
end;
}
2@gl_k,1,1,0 script #talkinstance5 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_heinrich$ = instance_npcname("Heinrich#21");
'npc_varmundt$ = instance_npcname("Varmundt#21");
@ -1071,6 +1342,28 @@ OnTimer69000:
end;
}
2@gl_k,1,1,0 script #talkinstance6 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_heinrich$ = instance_npcname("Heinrich#21");
'npc_varmundt$ = instance_npcname("Varmundt#21");
npctalk "Heinrich: This structure was not in the castle before!", 'npc_heinrich$;
end;
OnTimer2000:
npctalk "Varmundt: Ok, it's time to begin Heinrich.", 'npc_varmundt$;
end;
OnTimer3500:
stopnpctimer;
mapannounce 'map_name$[1], "A portal to the west has opened in the central hallway.", bc_map,0xFFFF00;
disablenpc 'npc_varmundt$;
disablenpc 'npc_heinrich$;
'npc_varmundt$ = 'npc_heinrich$ = "";
enablenpc instance_npcname("#22 Control");
enablenpc instance_npcname("#22 Control2");
end;
}
// Spots
// Note: timer is the only condition for them to respawn
2@gl_k,118,141,0 script #ogh_2-1 HIDDEN_WARP_NPC,20,20,{
@ -1125,7 +1418,13 @@ OnStart:
end;
OnMyMobDead:
if (rand(50) == 0) {// can re-spawn
if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead") > 0) // Prevent boss re-spawn
end;
if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
.@r = 10;
else
.@r = 50;
if (rand(.@r) == 0) {
mapannounce 'map_name$[1], "Evil Forces are appearing in this area.", bc_map,0xFFFF44,FW_NORMAL,15;
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead";
@ -1136,14 +1435,17 @@ OnMyMobDead:
end;
OnBossDead:
disablenpc();
mapannounce 'map_name$[1], "A portal has opened to the east in the central hallway.", bc_map,0xFFFF00;
enablenpc instance_npcname("#23 Control");
enablenpc instance_npcname("#23 Control2");
donpcevent instance_npcname("#ghmemorialmob06") + "::OnStart";
disablenpc instance_npcname("#ghmemorialmob05");
// Event stopped and monsters in this sector killed
for ( .@i = 1; .@i <= 7; .@i++ )
donpcevent instance_npcname("#ogh_2-" + .@i) + "::OnStop";
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnMyMobDead";
end;
}
@ -1204,7 +1506,13 @@ OnStart:
end;
OnMyMobDead:
if (rand(50) == 0) {// can re-spawn
if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead") > 0) // Prevent boss re-spawn
end;
if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
.@r = 10;
else
.@r = 50;
if (rand(.@r) == 0) {
mapannounce 'map_name$[1], "An evil presence has teleported into this area.", bc_map,0xFFFF44,FW_NORMAL,15;
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead";
@ -1215,6 +1523,7 @@ OnMyMobDead:
end;
OnBossDead:
disablenpc();
mapannounce 'map_name$[1], "A new portal has appeared at the end of the central corridor.", bc_map,0xFFFF00;
enablenpc instance_npcname("#24 Control");
enablenpc instance_npcname("#24 Control2");
@ -1222,10 +1531,12 @@ OnBossDead:
for ( .@i = 1; .@i <= 35; .@i++ )
enablenpc instance_npcname("Decomposed body#" + .@i);
disablenpc instance_npcname("#ghmemorialmob06");
// Event stopped and monsters in this sector killed
for ( .@i = 1; .@i <= 7; .@i++ )
donpcevent instance_npcname("#ogh_3-" + .@i) + "::OnStop";
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnMyMobDead";
// Hidden mobs
setarray .@coord[0],
37,265, 57,265, 77,265, 97,265, 117,265, 188,264, 208,264,
@ -1241,6 +1552,9 @@ OnBossDead:
2@gl_k,150,180,0 script #Geron HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
if ('step != 6)
end;
'step = 7;
disablenpc instance_npcname("#Geron");
mapannounce 'map_name$[1], "???: Do not come here! It's a trap... Kkkkah!!!", bc_map,0xFF7777,FW_NORMAL,15;
enablenpc instance_npcname("Himelmez#22");
@ -1331,11 +1645,21 @@ OnTimer45000:
mes "[Himelmez]";
mes "That is amazing ~ you made it all the way here. May I say thank you?";
close3;
OnTouch:
end;
OnTouch_:
disablenpc instance_npcname("Himelmez#22");
if ('step != 7)
end;
'step = 8;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance7") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance8") + "::OnStart";
end;
}
2@gl_k,1,1,0 script #talkinstance7 HIDDEN_WARP_NPC,{
end;
OnStart:
enablenpc instance_npcname("Himelmez#23");
initnpctimer;
'npc_himelmez$ = instance_npcname("Himelmez#23");
@ -1435,6 +1759,62 @@ OnTimer80000:
end;
}
2@gl_k,1,1,0 script #talkinstance8 HIDDEN_WARP_NPC,{
end;
OnStart:
enablenpc instance_npcname("Himelmez#23");
initnpctimer;
'npc_himelmez$ = instance_npcname("Himelmez#23");
'npc_gerhalt$ = instance_npcname("Gerhalt#23");
'npc_heinrich$ = instance_npcname("Heinrich#23");
'npc_varmundt$ = instance_npcname("Varmundt#23");
npctalk "Himelmez: Amazing~ I thought that you were not even close to getting here...", 'npc_himelmez$;
end;
OnTimer1500:
specialeffect EF_BARRIER, AREA, 'npc_gerhalt$;
end;
OnTimer3500:
specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
end;
OnTimer5000:
specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
end;
OnTimer5500:
disablenpc 'npc_himelmez$;
end;
OnTimer7000:
specialeffect EF_CHAINCOMBO, AREA, 'npc_gerhalt$;
end;
OnTimer10000:
npctalk "Heinrich: I'll never let you get away Himelmez!!", 'npc_heinrich$;
end;
OnTimer11000:
disablenpc 'npc_heinrich$;
npctalk "Varmundt: We have no choice. We have to fight against Amdarais!", 'npc_varmundt$;
end;
OnTimer14000:
specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
end;
OnTimer14500:
mapannounce 'map_name$[1], "Gerhalt's body is changing.", bc_map,0xFFFFFF;
end;
OnTimer15500:
disablenpc 'npc_varmundt$;
mapannounce 'map_name$[1], "Varmundt: Let me help this battle with my illusion. Just follow the illusion's orders.", bc_map,0xFFFF00;
end;
OnTimer17500:
specialeffect EF_LORD, AREA, 'npc_gerhalt$;
end;
OnTimer20500:
stopnpctimer;
disablenpc 'npc_gerhalt$;
donpcevent instance_npcname("#ghmemorialmob07") + "::OnStart";
'npc_himelmez$ = 'npc_gerhalt$ = 'npc_heinrich$ = 'npc_varmundt$ = "";
end;
}
2@gl_k,158,252,4 script Himelmez#23 4_F_HIMEL,{
cutin "gl_himel2",2;
mes "[Himelmez]";
@ -1592,6 +1972,8 @@ OnTimer10000:
2@gl_k,158,241,1 script Hugin#21 4_M_SAGE_C,{
if ('step != 8)
end;
if (checkquest(12319,HUNTING) == 2) {// note: complete hunting 'Corrupted Soul Hunt' prerequis
mes "[Hugin]";
mes "Hm, you are very well. First of all, let me give you some loot from Amdarais.";
@ -1649,6 +2031,8 @@ OnTimer10000:
// Treasure Room
//============================================================
1@gl_k,165,136,3 script Strange crack#2 CLEAR_NPC,{
if ('step != 8)
end;
if (isbegin_quest(12322) == 0) {// Space Distortion
mes "The crack looks suspicious but nothing more to check.";
close;
@ -1729,6 +2113,8 @@ OnTimer10000:
end;
OnInstanceInit:
'step = 0;
'mode = 0;
'map_name$[0] = instance_mapname("1@gl_k");
'map_name$[1] = instance_mapname("2@gl_k");
@ -1810,5 +2196,8 @@ OnInstanceInit:
disablenpc instance_npcname("#24 Control");
disablenpc instance_npcname("#24 Control2");
disablenpc instance_npcname("#Secret Room Exit");
// Fast mode
disablenpc instance_npcname("#cut01");
end;
}

View File

@ -412,3 +412,405 @@ Body:
- Index: 3
Item: IllusionStone
Amount: 120
- Name: barter_ill_moonlight
Items:
- Index: 0
Item: Staff_Of_Bordeaux_IL
RequiredItems:
- Index: 0
Item: Staff_Of_Bordeaux
- Index: 1
Item: IllusionStone
Amount: 30
- Index: 2
Item: HazyDream
Amount: 100
- Index: 1
Item: Moonlight_Sword_IL
RequiredItems:
- Index: 0
Item: Moonlight_Sword
- Index: 1
Item: IllusionStone
Amount: 60
- Index: 2
Item: HazyDream
Amount: 100
- Index: 2
Item: Long_Mace_IL
RequiredItems:
- Index: 0
Item: Long_Mace
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyDream
Amount: 20
- Index: 3
Item: Spectral_Spear_IL
RequiredItems:
- Index: 0
Item: Spectral_Spear
- Index: 1
Item: IllusionStone
Amount: 20
- Index: 2
Item: HazyDream
Amount: 100
- Index: 4
Item: Nurse_Cap_IL
RequiredItems:
- Index: 0
Item: Nurse_Cap
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: Bloody_LoveLetter
Amount: 100
- Index: 5
Item: Apple_Of_Archer_IL
RequiredItems:
- Index: 0
Item: Apple_Of_Archer
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: BrokenArrow
Amount: 100
- Index: 6
Item: Puente_Robe_IL
RequiredItems:
- Index: 0
Item: Puente_Robe
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyDream
Amount: 100
- Index: 7
Item: Muffler_IL
RequiredItems:
- Index: 0
Item: Muffler_
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyMooncake
Amount: 100
- Index: 8
Item: Shoes_IL
RequiredItems:
- Index: 0
Item: Shoes_
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyMooncake
Amount: 100
- Name: barter_ill_frozen
Items:
- Index: 0
Item: Huuma_Flutter_Snow_IL
RequiredItems:
- Index: 0
Item: Huuma_Fluttering_Snow
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: KTULLANUXsEye
Amount: 20
- Index: 1
Item: Combo_Battle_Glove_IL
RequiredItems:
- Index: 0
Item: Combo_Battle_Glove
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: Snowball
Amount: 100
- Index: 2
Item: Herald_Of_GOD_IL
RequiredItems:
- Index: 0
Item: Herald_Of_GOD_
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: SpritJewel
Amount: 300
- Index: 3
Item: Clack_Of_Servival_IL
RequiredItems:
- Index: 0
Item: Clack_Of_Servival
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: Frozen_PieceOfRock
Amount: 200
- Index: 4
Item: Cap_IL
RequiredItems:
- Index: 0
Item: Cap_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Frozen_PieceOfRock
Amount: 100
- Name: barter_ill_vampire
Items:
- Index: 0
Item: Infiltrator_IL
RequiredItems:
- Index: 0
Item: Infiltrator_
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Torn_Diary
Amount: 20
- Index: 1
Item: Ghoul_Leg_IL
RequiredItems:
- Index: 0
Item: Ghoul_Leg
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: NightmareOfLump
Amount: 100
- Index: 2
Item: Wizardy_Staff_IL
RequiredItems:
- Index: 0
Item: Wizardy_Staff
- Index: 1
Item: IllusionStone
Amount: 40
- Index: 2
Item: SuspiciousMagicCircle
Amount: 100
- Index: 3
Item: Balistar_IL
RequiredItems:
- Index: 0
Item: Balistar_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Shining_Spore
Amount: 100
- Index: 4
Item: Book_Of_The_Apo_IL
RequiredItems:
- Index: 0
Item: Book_Of_The_Apocalypse
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Dried_Clover
Amount: 10
- Index: 5
Item: Cape_Of_Ancient_Lord_IL
RequiredItems:
- Index: 0
Item: Cape_Of_Ancient_Lord_
- Index: 1
Item: IllusionStone
Amount: 30
- Index: 2
Item: Short_Bat_Fur
Amount: 200
- Index: 6
Item: Skul_Ring_IL
RequiredItems:
- Index: 0
Item: Skul_Ring_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Dried_Leaf_Of_Ygg
Amount: 400
- Index: 7
Item: Ring_IL
RequiredItems:
- Index: 0
Item: Ring_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: SuspiciousMagicCircle
Amount: 400
- Name: barter_ill_turtle
Items:
- Index: 0
Item: Immaterial_Sword_IL
RequiredItems:
- Index: 0
Item: Immaterial_Sword
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: ShipsLog
Amount: 50
- Index: 1
Item: War_Axe_IL
RequiredItems:
- Index: 0
Item: War_Axe
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: PieceOfBlackSpirit
Amount: 200
- Index: 2
Item: Pole_Axe_IL
RequiredItems:
- Index: 0
Item: Pole_Axe
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: PieceOfBlackSpirit
Amount: 200
- Index: 3
Item: Huuma_Bird_Wing_IL
RequiredItems:
- Index: 0
Item: Huuma_Bird_Wing
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: OldShell
Amount: 200
- Index: 4
Item: Iron_Driver_IL
RequiredItems:
- Index: 0
Item: Iron_Driver
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: OldShell
Amount: 200
- Index: 5
Item: Fancy_Flower_IL
RequiredItems:
- Index: 0
Item: Fancy_Flower
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: OldDoll
Amount: 50
- Name: barter_ill_luanda
Items:
- Index: 0
Item: Tablet_IL
RequiredItems:
- Index: 0
Item: Tablet
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Weak_Worm
Amount: 100
- Index: 1
Item: Hunter_Bow_IL
RequiredItems:
- Index: 0
Item: Hunter_Bow_
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Shooting_Stone
Amount: 50
- Index: 3
Item: Pot_Stone
Amount: 50
- Index: 4
Item: Hair_Leaf
Amount: 50
- Index: 2
Item: Goibne_Helmet_IL
RequiredItems:
- Index: 0
Item: Goibne's_Helmet
- Index: 1
Item: IllusionStone
Amount: 120
- Index: 2
Item: Wootan_D_S_Piece
Amount: 30
- Index: 3
Item: Token_Of_Wootan
Amount: 150
- Index: 3
Item: Goibne_Armor_IL
RequiredItems:
- Index: 0
Item: Goibne's_Armor
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Hard_Mud
Amount: 100
- Index: 3
Item: Token_Of_Bigstone
Amount: 150
- Index: 4
Item: Goibne_Boots_IL
RequiredItems:
- Index: 0
Item: Goibne's_Combat_Boots
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Wootan_F_Fur
Amount: 100
- Index: 3
Item: Token_Of_Wootan
Amount: 150
- Index: 5
Item: Goibne_Shoulder_IL
RequiredItems:
- Index: 0
Item: Goibne's_Shoulder_Arms
- Index: 1
Item: IllusionStone
Amount: 120
- Index: 2
Item: Fragment_Of_Rock
Amount: 30
- Index: 3
Item: Token_Of_Bigstone
Amount: 150

File diff suppressed because it is too large Load Diff

View File

@ -169,8 +169,7 @@ pay_d03_i monster Resentful Munak 3760,20,5000,0
pay_d03_i monster Resentful Bongun 3761,20,5000,0
pay_d03_i monster Resentful Sohee 3762,20,5000,0
pay_d03_i monster Resentful Soldier 3763,15
pay_d03_i monster Deranged Adventurer 3765,5,15000,0
pay_d03_i,55,75 monster Wizard of the Truth 3764,1,30000,0
pay_d03_i monster Deranged Adventurer 3765,5,15000,0,"ill_moonlight_wizard::OnMobDead"
pay_d03_i monster Angry Nine Tail 3759,10,5000,0,"illusion_mob#moonlight::OnKill"
- script illusion_mob#moonlight -1,{
@ -198,3 +197,21 @@ OnBossKill:
.kill_count = 0;
end;
}
- script ill_moonlight_wizard -1,{
end;
OnMobDead:
if (.spawn || playerattached() < 1)
end;
.kill_count += 1;
if (.kill_count == 10) {
.spawn = true;
.kill_count = 0;
getunitdata( killedgid, .@data );
monster "pay_d03_i",.@data[UMOB_X],.@data[UMOB_Y],"Wizard of the Truth",3764,1,"ill_moonlight_wizard::OnBossDead";
}
end;
OnBossDead:
.spawn = false;
end;
}

View File

@ -112,6 +112,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -129,6 +130,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -148,6 +150,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -169,6 +172,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -369,9 +369,9 @@ bool mapif_parse_itembound_retrieve(int fd)
for( j = 0; j < MAX_SLOTS; ++j )
SqlStmt_BindColumn(stmt,11+j, SQLDT_UINT, &item.card[j], 0, NULL, NULL);
for( j = 0; j < MAX_ITEM_RDM_OPT; ++j ) {
SqlStmt_BindColumn(stmt, 12+MAX_SLOTS+j*3, SQLDT_SHORT, &item.option[j].id, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 13+MAX_SLOTS+j*3, SQLDT_SHORT, &item.option[j].value, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 14+MAX_SLOTS+j*3, SQLDT_CHAR, &item.option[j].param, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 11+MAX_SLOTS+j*3, SQLDT_SHORT, &item.option[j].id, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 12+MAX_SLOTS+j*3, SQLDT_SHORT, &item.option[j].value, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 13+MAX_SLOTS+j*3, SQLDT_CHAR, &item.option[j].param, 0, NULL, NULL);
}
memset(&items, 0, sizeof(items));
while( SQL_SUCCESS == SqlStmt_NextRow(stmt) )

View File

@ -129,6 +129,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -145,6 +146,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -163,6 +165,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -183,6 +186,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@ -162,6 +162,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -181,6 +182,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -202,6 +204,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -225,6 +228,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@ -112,6 +112,7 @@
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -129,6 +130,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -148,6 +150,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -169,6 +172,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -132,6 +132,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -152,6 +153,7 @@
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -175,6 +177,7 @@
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -132,6 +132,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -152,6 +153,7 @@
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -175,6 +177,7 @@
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\pcre\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -13179,6 +13179,10 @@ void script_detach_rid(struct script_state* st)
* [ Parameters: <x0>,<y0>,<x1>,<y1> ]
* 5 : All players in the map.
* [ Parameters: "<map name>" ]
* 6 : Battleground members of a specified battleground ID.
* [ Parameters: <battleground id> ]
* 7 : Clan members of a specified clan ID.
* [ Parameters: <clan id> ]
* Account ID: The specified account ID.
* <flag>:
* 0 : Players are always attached. (default)
@ -13272,6 +13276,30 @@ BUILDIN_FUNC(addrid)
}
map_foreachinmap(buildin_addrid_sub, map_mapname2mapid(script_getstr(st, 4)), BL_PC, st, script_getnum(st, 3));
break;
case 6:
if (script_getnum(st, 4) == 0) {
script_pushint(st, 0);
mapit_free(iter);
return SCRIPT_CMD_FAILURE;
}
for (sd = (TBL_PC *)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC *)mapit_next(iter)) {
if (!forceflag || !sd->st)
if ((sd->status.account_id != st->rid) && (sd->bg_id == script_getnum(st, 4))) //attached player already runs.
run_script(st->script, st->pos, sd->status.account_id, st->oid);
}
break;
case 7:
if (script_getnum(st, 4) == 0) {
script_pushint(st, 0);
mapit_free(iter);
return SCRIPT_CMD_FAILURE;
}
for (sd = (TBL_PC *)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC *)mapit_next(iter)) {
if (!forceflag || !sd->st)
if ((sd->status.account_id != st->rid) && (sd->status.clan_id == script_getnum(st, 4))) //attached player already runs.
run_script(st->script, st->pos, sd->status.account_id, st->oid);
}
break;
default:
mapit_free(iter);
if((map_id2sd(type)) == NULL) { // Player not found.
@ -24656,6 +24684,37 @@ BUILDIN_FUNC(channel_create) {
return SCRIPT_CMD_SUCCESS;
}
// ===================================
// *channel_join "<channel_name>"{, <char_id>};
// Join an existing channel.
// The command returns 0 upon success, and these values upon failure:
// -1 : Invalid channel or player
// -2 : Player already in channel
// -3 : Player banned
// -4 : Reached max limit
// ===================================
BUILDIN_FUNC(channel_join) {
map_session_data *sd = nullptr;
if (!script_charid2sd(3, sd)) {
script_pushint(st, -1);
return SCRIPT_CMD_FAILURE;
}
struct Channel *channel = nullptr;
const char *chname = script_getstr(st, 2);
if (!(channel = channel_name2channel((char *)chname, nullptr, 0))) {
ShowError("buildin_channel_join: Channel name '%s' is invalid.\n", chname);
script_pushint(st, -1);
return SCRIPT_CMD_FAILURE;
}
script_pushint(st, channel_join(channel, sd));
return SCRIPT_CMD_SUCCESS;
}
/**
* Set channel option
* channel_setopt "<chname>",<option>,<value>;
@ -27634,6 +27693,7 @@ struct script_function buildin_func[] = {
// Channel System
BUILDIN_DEF(channel_create,"ss?????"),
BUILDIN_DEF(channel_join, "s?"),
BUILDIN_DEF(channel_setopt,"sii"),
BUILDIN_DEF(channel_getopt,"si"),
BUILDIN_DEF(channel_setcolor,"si"),

View File

@ -116,6 +116,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -133,6 +134,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -152,6 +154,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -173,6 +176,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -97,6 +97,7 @@
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -114,6 +115,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -133,6 +135,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -154,6 +157,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -97,6 +97,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -114,6 +115,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -133,6 +135,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -154,6 +157,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -97,6 +97,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -114,6 +115,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -133,6 +135,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -154,6 +157,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -117,6 +117,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\httplib\;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -137,6 +138,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\httplib\;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -159,6 +161,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\httplib\;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)\3rdparty\json\include;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>