Compare commits

...

111 Commits

Author SHA1 Message Date
Atemo
d9ee37d5ec Removed extra script_reportdata 2023-05-25 17:36:58 +02:00
Atemo
0bcc1f66b3 Small correction 2023-05-25 17:08:21 +02:00
Atemo
b0456b0e73 Clean-up 2023-05-24 21:54:01 +02:00
Atemo
b5413b0997 Removed SCRIPT_CMD_END
Terminate the script when SCRIPT_CMD_FAILURE is returned
2023-05-16 17:13:26 +02:00
Atemo
9c21d3af04 Clean-up script.cpp
* Introduced SCRIPT_CMD_END which display an error and put the script state to end
2023-05-10 21:49:15 +02:00
Jittapan Pluemsumran
d3b99e6dc1 Fixed market response packet when purchase fails (#7751)
The item list was still sent to the client even when the purchase failed because p->result is no longer 0 in PACKETVER >= 20190807.
2023-05-10 20:44:08 +07:00
mazvi
dfa7e5e084 Rename Upgrade SQL (#7742) 2023-05-03 21:15:53 -04:00
Atemo
84bf6b87f1 Fixed an issue for map_drops.yml (#7735)
The key for umap should be the index, to allow to define the same item in yaml file
2023-04-26 23:35:24 +02:00
Atemo
6308b4feaf Follow-up d7840cd265
Added missing delitem

Thanks to @tumemmac
2023-04-26 22:31:32 +02:00
Atemo
d7840cd265 Einbech dungeon 3 (#7209)
* Implemented dungeons, merchants and quests related to einbech 3

Thanks to @Pokye !
2023-04-26 18:39:24 +02:00
Singe Horizontal
4718d5e813 Added new status flag RequireNoWeapon (#7201)
* Fixes #7200.
* Added new status flag RequireNoWeapon.
2023-04-24 12:01:24 -04:00
Singe Horizontal
b4be3b059a Prevent an uint underflow and reformat array_size occurences in some commands (#7729)
Fixes #7728
2023-04-22 19:42:13 -07:00
Singe Horizontal
9051fc644d Corrected NPC_DARKBREATH formula (#7285)
* Corrected NPC_DARKBREATH formula
Fixes #7284

* Update src/map/battle.cpp

Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>

* Update src/map/battle.cpp

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

* Added renewal logic

* now uses only one formula for both modes

---------

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>
2023-04-20 10:13:37 +02:00
Singe Horizontal
9df8f9f113 Corrects a short-circuit bug in status_change_clear_buffs (#7724)
Fixes #7723
2023-04-19 15:55:44 -07:00
idk-whoami
ea65c1b9ba ViewID correction of item IDs 20765 (#7720)
Fixed #7697 

Thanks to @llchrisll
2023-04-18 17:17:31 +02:00
Lemongrass3110
339adbbe2d Fixes the pincode system (#7719)
Fixes #7700

Thanks to @24msz6eo, @Melk3000 and @vstumpf
2023-04-17 18:20:15 +02:00
Vincent Stumpf
579dea8fad Add debug logs for debugging client connections (#7701) 2023-04-16 22:47:06 -07:00
Atemo
665eb969ed Corrected animation of the skill SHC_SAVAGE_IMPACT (#7717)
* Fixed an issue where the client did not update the position of the player
* Additionally fixed the player direction when the player casts the skill while being on the same cell of the target
2023-04-16 22:59:19 +02:00
Atemo
939567d361 Fixed an issue with cloak*npc (#7715)
* all the npcs saved in pc should be removed on map change
2023-04-16 14:58:47 +02:00
munkrej
635add84d7 4th Improvement - Troubadour & Trouvere (#7703) 2023-04-16 00:38:19 +02:00
munkrej
5385584f6f 4th Improvement - Wind Hawk (#7704) 2023-04-15 23:37:19 +02:00
munkrej
16195cea2a 4th Improvement - Inquisitor (#7705) 2023-04-15 23:36:30 +02:00
munkrej
a818232e77 4th Improvement - Cardinal (#7706) 2023-04-15 23:16:26 +02:00
munkrej
741dfe37ae 4th Improvement - Elemental Master (#7707) 2023-04-15 22:52:20 +02:00
munkrej
e4acd6e5dc 4th Improvement - Arch Mage (#7708) 2023-04-15 22:52:03 +02:00
munkrej
452238b523 4th Improvement - Abyss Chaser (#7709) 2023-04-15 18:45:51 +02:00
munkrej
6c8b29e91b 4th Improvement - Shadow Cross (#7710) 2023-04-15 17:46:18 +02:00
munkrej
287501d665 4th Improvement - Biolo (#7711) 2023-04-15 17:43:30 +02:00
munkrej
e1e19a6d06 4th Improvement - Meister (#7712) 2023-04-15 17:31:19 +02:00
munkrej
382d6bf54a 4th Improvement - Imperial Guard (#7713) 2023-04-15 16:53:39 +02:00
munkrej
e40c3edc31 4th Improvement - Dragon Knight (#7714) 2023-04-15 16:04:59 +02:00
Vincent Stumpf
a2f4f2bf8e Do not call pet_set_intimate twice (#7702) 2023-04-15 15:02:41 +02:00
munkrej
22aca36d35 Adds enchantgrade chance per refine (#7608)
Fixes #7607

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-14 23:43:33 +02:00
Lemongrass3110
18ec884ba8 Removed a duplicate function call in erasequest
Thanks to @Pokye
2023-04-12 22:33:21 +02:00
Everade
7853e926c2 Episode 17.2 - Sage's Legacy (#6799)
* Episode 17.2 Initial Release of instances and quests
* Added warp portals and monster spawn scripts
* Added Episode 17.2 related database entries

Closed #6470 

Thanks to @Megelith @Pokye 

Co-authored-by: JohnnyPlayy <JohnnyPlayy@users.noreply.github.com>
Co-authored-by: Everade <privacy@gatheringro.com>
Co-authored-by: crazyarashi <26841779+crazy-arashi@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
2023-04-12 21:27:34 +02:00
Atemo
c7b464b91f Initial release of Illusion of underwater (#7521)
Implemented the main quest, daily quests and exchange npcs related to illusion of underwater.
Walkthrough Conversion.

Closed #6472 

Thanks to @secretdataz @OptimusM !

Co-authored-by: aleos <aleos89@users.noreply.github.com>
2023-04-12 20:20:23 +02:00
Atemo
0413d0e85c Initial release of Illusion of Luanda (#7559)
* Implemented the main quest, daily quests and exchange npcs related to Illusion of Luanda.
Fixed #6462 

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-12 18:38:26 +02:00
Everade
2a4a82315b Episode 16.2 - Friday Memorial Dungeon (#7300)
* Implementation of Episode 16.2 Friday Memorial Dungeon.

Fixed #6452

Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-12 17:40:53 +02:00
Everade
36a2c9783f Episode 16.1 - Edda Half Moon In The Daylight (#7298)
* Implementation of the Episode 16.1 - Edda Half Moon In The Daylight - Memorial Dungeon (quests and exchange NPCs)

Thanks to @Pokye @OptimusM @idk-whoami !

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2023-04-12 14:03:33 +02:00
Atemo
0fbe8c3ecd Fixed an issue with npc_enable_target (#7695)
Fixed #7694 

Thanks to @eppc0330
2023-04-12 01:50:03 +02:00
Atemo
806c89edb3 Updated the NPC structure (#6923)
* added the possibility to define the state (hidden, cloaked, disabled) of the npc/warp in the npc definition

Thanks to @Daegaladh
2023-04-10 23:53:16 +02:00
Atemo
801c3c782e Updated disablenpc/enablenpc (#7671)
* Updated disablenpc/enablenpc script commands using OPTION_HIDE instead of OPTION_INVISIBLE, to correctly display the effects when the npcs are disabled/enabled. The other behaviors are kept.
2023-04-10 23:06:55 +02:00
Atemo
66c05937b5 Added mag_dun03 quests (#7207)
* Implemented mobs, quests
* Updated MAGMA_ESSENCE and added MAGMA3 option group

Thanks to @Pokye
2023-04-10 17:07:42 +02:00
Vincent Stumpf
ab6c5beaf8 Fix out-of-bounds in TypesafeCachedYamlDatabase (#7690)
Fixes #7664

Thanks to @jofvgaming
2023-04-09 21:49:30 +02:00
Vincent Stumpf
d2e972cfd1 Fix Undeclared HEADER_ZC_SEARCH_STORE_INFO_ACK 2010-08-03 (#7679) 2023-04-09 20:34:52 +02:00
Atemo
c12d5ed6b7 Initial release of Illusion of Turtle (#7465)
* Implemented the main quest, daily quests and exchange npcs related to illusion of turtle
* Implemented the random option groups of the items given in the dungeon

Thanks to :
@attackjom 
@idk-whoami 
@OptimusM 
@Pokye 

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-09 20:00:45 +02:00
Atemo
c2f44f5fcb Implemented new items up to april 05 2023 (#7682) 2023-04-08 17:32:49 +02:00
Atemo
74b2834502 Updates map_drops.yml (#7676)
* adjusted the rate in map_drops.yml to 1/100000 instead of 1/10000

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-08 16:48:01 +02:00
eppc0330
8a4b34ef6a Fix NPC_DAMAGE_HEAL heal calculation (#7660)
Fix NPC_DAMAGE_HEAL heal amount not being applied from some SC bonuses
2023-04-08 15:42:09 +02:00
Austin Wang
cf0264be45 Fix some items' names for Alberta stylish npc (#7666)
Co-authored-by: Jittapan Pluemsumran <nightsheep@outlook.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-08 14:39:26 +02:00
Atemo
370ee1e876 Added amicitia1 and amicitia2, dungeons level 200 (#7336)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Thanks to @OptimusM !
2023-04-07 15:42:55 +02:00
Atemo
b7807db42f Implemented NPC_GROUNDDRIVE (#7677) 2023-04-07 14:56:08 +02:00
Atemo
db5874d677 Updated unitskilluseid and unitskillusepos script commands (#7684)
* Added the parameter 'ignore_range' to ignore the skill range defined in skill_db.yml
2023-04-07 01:09:44 +02:00
Atemo
fff69b0cfd Added missing combo Phreeoni_Wing_Suits + Phreeoni_Egg (#7680)
Fixed #7393

Thanks to @eppc0330
2023-04-07 01:05:43 +02:00
Atemo
6136f7df35 Updated achievement_db.yml (#7681) 2023-04-06 15:46:20 +02:00
Atemo
1a5072c153 Added new maps up to April 05 2023 (#7683) 2023-04-06 14:54:07 +02:00
Aleos
65200eba50 Fixes an issue with clones receiving 1 damage (#7670)
* Fixes #7579.
* Adds an extra conditional check for reducing Green Aura type mobs to ignore cloned monsters.
Thanks to @vietlubu and @Lemongrass3110!
2023-04-03 18:47:53 -04:00
idk-whoami
70736c9b1d Corrected script for some item #18 (#7644)
Thanks to @Atemo
2023-04-03 14:40:52 +02:00
Atemo
d031afe364 Implemented the skill NPC_RAINOFMETEOR (#7675) 2023-04-02 21:30:08 +02:00
Atemo
81b62348b7 Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF (#7614)
* Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF as part of episode 17.2

Thanks to @aleos89 !
2023-03-31 19:52:35 +02:00
Atemo
eff3b2014b Removed NoForcedEnd for SC_MONSTER_TRANSFORM (#7655) 2023-03-31 15:12:06 +02:00
Atemo
c06fed6b56 DB update - Aegis item name (#7661)
* Updated several Aegis item names DB
2023-03-28 14:48:25 +02:00
Atemo
f8c5cd9552 Small correction on the attribute table (#7662)
Follow-up e4e8063ec3

* Defense Wind and Fire values have been reversed for Undead weapon element.
* There should be no negative defense according to the official tables.

Thanks to @vstumpf
2023-03-25 14:13:45 +01:00
Atemo
6673e1a786 Fixed an issue where normal NPC had no sprite when walking (#7652)
* Fixed an issue where normal NPC had no sprite when walking
* Added a note

Thannks to @vstumpf
2023-03-24 15:28:50 +01:00
Lemongrass3110
49ba072f3a Added returning to instances (#7622)
Fixes #5226

Thanks to @Forte22, @attackjom and @OptimusM

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-03-23 15:49:39 +01:00
Vincent Stumpf
8abf9960a0 Fix memory leak on map quit (#7657) 2023-03-23 12:11:15 +01:00
Vincent Stumpf
f0e374ea23 Fixes getrefine failing in OnEquip/OnUnequip scripts (#7592) 2023-03-20 10:08:04 -07:00
Vincent Stumpf
819b7cb361 Fix ASAN crashes and LSAN leaks (#7649) 2023-03-20 09:32:41 -07:00
Lemongrass3110
4d9b1a0b83 Deduplicate strlib code (#7651)
Follow up to 4e64623
2023-03-19 21:07:16 +01:00
Atemo
1ccdc17df5 Added some entries in instance_db.yml (#7654)
* Added some entries in instance_db.yml
2023-03-19 20:24:00 +01:00
Lemongrass3110
b95daa3041 Fixed wrong node usage for instance loading
Noticed because of #7654
2023-03-19 19:10:42 +01:00
Atemo
36972bf9ea Corrected the english name of several items in item DB (#7653) 2023-03-19 17:51:31 +01:00
Vincent Stumpf
4e646235d2 Fix builds that don't use the memory manager (#7648) 2023-03-18 23:57:44 -07:00
Jittapan Pluemsumran
b4f740ce18 Added a config for banking state check (#7646)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-16 20:24:13 +07:00
Atemo
19bbd82c55 Initial release of nif_dun quests (#7349)
* Added mobs db, mobs spawn and quests related to nif_dun01 and nif_dun02
* Some data after rebalance is missing but the base is there

Thanks to @aleos89 @Lemongrass3110 @Pokye @OptimusM @Tokeiburu for the reviews !
2023-03-16 13:24:32 +01:00
eppc0330
067c21b647 Implement NPC_DAMAGE_HEAL and NPC_IMMUNE_PROPERTY (#7638)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-15 21:36:47 +01:00
Jittapan Pluemsumran
22abdf8dbe Added missing state checks in banking functions (#7645)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 17:34:05 +07:00
Vincent Stumpf
7dd6eb5182 Add other player in mail transactions (#7568)
* Add other player's char_id in mail transactions

Thanks to @tokeiburu

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 02:30:23 -07:00
munkrej
cbb5380527 Adds skill NPC_KILLING_AURA (#7624) 2023-03-14 00:14:41 +01:00
Lemongrass3110
ae2ea3df10 Implemented NPC_WIDELEASH (#7643) 2023-03-13 22:46:23 +01:00
Lemongrass3110
6ff1ebfa98 Implemented NPC_LEASH (#7642) 2023-03-13 21:36:50 +01:00
Atemo
3f45df1025 Added news items - equipments up to 03022023 (#7625) 2023-03-13 13:50:21 +01:00
eppc0330
eb875d1af5 Implement NPC_MOVE_COORDINATE (#7636) 2023-03-13 06:55:50 +01:00
eppc0330
bee2c27d78 Implement NPC_ALL_STAT_DOWN (#7637) 2023-03-13 06:25:02 +01:00
eppc0330
b3881bd1fc Implement NPC_GRADUAL_GRAVITY (#7635) 2023-03-13 00:25:47 +01:00
Vincent Stumpf
1c35482ecf Change copied bl type to BL_NUL for delayed clif_clearunit (#7640)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-12 12:38:47 -07:00
idk-whoami
3998f7ed75 Corrected script for some item #17 (#7616)
Thanks to @Atemo
2023-03-08 15:10:50 +01:00
Vincent Stumpf
8f4a1d2932 Remove relative includes for 3rdparty imports (#7609)
This also changes the imports for config, custom to use the src include path
2023-03-07 16:21:28 -08:00
Vincent Stumpf
1b1164f91d Change memcpy for safestrncpy for char * (#7629) 2023-03-06 09:53:23 -08:00
Vincent Stumpf
6a0b7afd88 Fix possible out of bounds (#7630) 2023-03-06 09:37:26 -08:00
aoshfan
bb8c4a03c8 Fix Fire Pillar skill to not consume Gemstone if VIP or use Mistress card (#7623) 2023-03-05 17:04:24 -08:00
userid0
b22e186e77 Cleanup homun txt in map-server-generator (#7627) 2023-03-04 18:44:18 +01:00
idk-whoami
b56f11207c Update warper npc (#7617) 2023-02-28 19:48:34 +01:00
Lemongrass3110
839d378680 Added missing breaks to instance_warpall 2023-02-26 22:37:07 +01:00
Jittapan Pluemsumran
1985662045 Made debug ShowStatus calls easier to disable (#7618)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-21 11:34:52 +07:00
Atemo
08d3467faa Updated item names and fix an issue with ignore_res_by_race / ignore_mres_by_race (#7613) 2023-02-16 22:41:15 +01:00
Aleos
240f71cbce Converts Homunculus Database to YAML (#4659)
* Converts the Homunculus Database and Homunculus Skill Tree Database into one YAML flat file.
* General cleanups and optimizations.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110 and @Atemo!
Co-authored-by: Atemo <capucrath@gmail.com>
2023-02-15 14:42:51 -05:00
Atemo
b2ceb30e30 Added missing items equipment up to 02/10/2023 (#7606)
* Added missing items equipment up to 02/10/2023
* Implemented the item bonuses bIgnoreResRaceRate and bIgnoreMResRaceRate

Thanks to @attackjom for the review!
2023-02-15 16:15:11 +01:00
Vincent Stumpf
a35063dfd6 Upgrade to c++14 (#7593) 2023-02-13 10:58:31 -08:00
Everade
56ae2174c0 Episode 16.2 - Weekend Memorial Dungeon (#7299)
* Implementation of Episode 16.2 Weekend Memorial Dungeon.

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-13 14:25:52 +01:00
munkrej
c6c9babb5e Homunculus updates as of 20220602 (#7586)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-02-12 23:55:13 +01:00
Lemongrass3110
42d8c163b7 Added missing columns for yaml2sql (#7603)
Fixes #7602

Thanks to @Triedge
2023-02-12 23:04:46 +01:00
Vincent Stumpf
9d2bcc7a70 Change npc_src_files linked list to vector (#7598) 2023-02-12 13:38:12 -08:00
Vincent Stumpf
e235c9cab4 Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Vincent Stumpf
eff6131087 Speed up loading of npcs and maps (#7597) 2023-02-12 11:01:14 -08:00
Atemo
bc7b9cdd2e Updated instance_warpall script command (#7591)
* Added a parameter to the instance_warpall script command to prevent dead players from being warped

Thanks to @aleos89, @Lemongrass3110 and @vstumpf for the reviews!
2023-02-12 16:09:20 +01:00
idk-whoami
36bcfaecee Corrected script for some items #16 (#7583)
Thanks to @Atemo
2023-02-12 15:33:11 +01:00
Lemongrass3110
98b3f2af52 Removed some useless strlib functions (#7600)
* Removed jstrescape

* Removed jstrescapecpy

* Removed jmemescapecpy

* Removed J_MAX_MALLOC_SIZE

* Removed trim2
2023-02-12 13:08:24 +01:00
Vincent Stumpf
7629ff4032 Speed up loading CachedYamlDBs (#7599)
Instead of iterating from the end to find the last item in the cache, just store the highest key we've found.
Then, resize the cache to that
2023-02-12 00:20:54 -08:00
Vincent Stumpf
ce8f053359 Speed up YAML DB loading by removing ShowStatus (#7595) 2023-02-10 16:04:35 -08:00
idk-whoami
56af701ade Corrected script for some item #15 (#7566)
Thanks to @Atemo
2023-02-10 15:14:26 +01:00
312 changed files with 76839 additions and 7610 deletions

View File

@@ -35,7 +35,7 @@ project( rAthena )
if( CYGWIN )
unset( WIN32 )
endif()
set(CMAKE_CXX_STANDARD 11) # C++11...
set(CMAKE_CXX_STANDARD 14) # C++14...
set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required...
#set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11

View File

@@ -30,7 +30,7 @@ Disk Space | 300 MB | 500 MB
Operating System | Compiler
------|------
Linux | [gcc-5 or newer](https://www.gnu.org/software/gcc/gcc-5/) / [Make](https://www.gnu.org/software/make/)
Windows | [MS Visual Studio 2013, 2015, 2017](https://www.visualstudio.com/downloads/)
Windows | [MS Visual Studio 2017 or newer](https://www.visualstudio.com/downloads/)
### Required Applications
Application | Name

View File

@@ -33,6 +33,11 @@ feature.warp_suggestions: off
// Requires: 2013-07-24aRagexe or later
feature.banking: on
// Should Banking strictly checks the UI state on zeny deposit and withdrawal? (Note 1)
// Note: Disabled by default because existing official clients do not report the banking UI state to the server.
// But this config could be useful in case of clients that actually report the UI state or custom clients.
feature.banking_state_enforce: no
// Autotrade persistency (Note 1)
// Should vendors that used @autotrade be restored after a restart?
feature.autotrade: on
@@ -163,3 +168,10 @@ feature.mesitemlink_dbname: no
// Stylist UI (Note 1)
// Requires: 2015-11-04 or later
feature.stylist: on
// Are players allowed to reconnect into instances? (Note 1)
// This is enabled by default in Renewal mode and
// disabled by default in Pre-Renewal mode.
// If this is allowed the "nosave" mapflag is still being respected
// and may prevent players from warping back into the instance.
//feature.instance_allow_reconnect: yes

View File

@@ -50,7 +50,7 @@ homunculus_auto_vapor: 80
homunculus_max_level: 99
// Max level for Homunculus S
homunculus_S_max_level: 175
homunculus_S_max_level: 250
// Growth level for Homunculus S
// This is the level at which homunculus S can use their growth tables

View File

@@ -1570,5 +1570,27 @@ map: herosria
map: mjo_wst01
map: ra_pol01
// Episode 20
map: 1@20cn1
map: 1@20cn2
map: 1@slug
map: 1@twas
map: 1@twbs
map: 1@twig
map: 1@twsd
map: icas_in2
map: jor_back4
map: jor_back5
map: jor_back6
map: jor_maze
map: jor_root1
map: jor_root2
map: jor_root3
map: jor_safty1
map: jor_safty2
map: jor_sanct
map: jor_twice
map: jor_twig
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

8
configure vendored
View File

@@ -4538,9 +4538,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -7109,7 +7109,7 @@ else
$as_echo "no" >&6; }
fi
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"

View File

@@ -483,9 +483,9 @@ AC_LANG([C++])
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
AC_C_BIGENDIAN(
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
@@ -620,7 +620,7 @@ if test "$enable_lto" != "no" ; then
)
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
CFLAGS="$CFLAGS -flto -fuse-linker-plugin"
LDFLAGS="$LDFLAGS -flto -fuse-linker-plugin"
@@ -1355,7 +1355,7 @@ else
AC_MSG_RESULT([no])
fi
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
AC_SUBST([CFLAGS_AR])

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,8 +27,9 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -51,7 +52,7 @@
Header:
Type: ENCHANTGRADE_DB
Version: 2
Version: 3
Footer:
Imports:

View File

@@ -1,119 +0,0 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
//Lif
6001,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6001,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6001,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr
6002,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6002,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6002,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir
6003,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6003,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6003,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth
6004,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6004,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6004,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif2
6005,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6005,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6005,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr2
6006,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6006,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6006,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir2
6007,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6007,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6007,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth2
6008,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6008,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6008,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif_H
6009,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6009,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6009,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6009,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr_H
6010,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6010,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6010,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6010,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir_H
6011,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6011,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6011,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6011,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth_H
6012,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6012,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6012,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6012,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Lif2_H
6013,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6013,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6013,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6013,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr2_H
6014,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6014,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6014,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6014,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir2_H
6015,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6015,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6015,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6015,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth2_H
6016,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6016,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6016,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6016,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Eira
6048,8022,5,128,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHT_OF_REGENE
6048,8023,5,114,0,0,0,0,0,0,0,0,0,0,0 //MH_OVERED_BOOST
6048,8024,10,106,0,0,0,0,0,0,0,0,0,0,0 //MH_ERASER_CUTTER
6048,8025,10,121,0,0,0,0,0,0,0,0,0,0,0 //MH_XENO_SLASHER
6048,8026,5,137,0,0,0,0,0,0,0,0,0,0,0 //MH_SILENT_BREEZE
//Bayeri
6049,8031,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_STAHL_HORN
6049,8032,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_GOLDENE_FERSE
6049,8033,5,121,0,0,0,0,0,0,0,0,0,0,0 //MH_STEINWAND
6049,8034,10,138,0,0,0,0,0,0,0,0,0,0,0 //MH_HEILIGE_STANGE
6049,8035,5,130,0,0,0,0,0,0,0,0,0,0,0 //MH_ANGRIFFS_MODUS
//Sera
6050,8018,5,132,0,0,0,0,0,0,0,0,0,0,0 //MH_SUMMON_LEGION
6050,8019,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_NEEDLE_OF_PARALYZE
6050,8020,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_POISON_MIST
6050,8021,10,123,0,0,0,0,0,0,0,0,0,0,0 //MH_PAIN_KILLER
//Dieter
6051,8039,5,122,0,0,0,0,0,0,0,0,0,0,0 //MH_MAGMA_FLOW
6051,8040,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_GRANITIC_ARMOR
6051,8041,10,109,0,0,0,0,0,0,0,0,0,0,0 //MH_LAVA_SLIDE
6051,8042,10,131,0,0,0,0,0,0,0,0,0,0,0 //MH_PYROCLASTIC
6051,8043,5,102,0,0,0,0,0,0,0,0,0,0,0 //MH_VOLCANIC_ASH
//Elanor
6052,8027,1,100,0,0,0,0,0,0,0,0,0,0,0 //MH_STYLE_CHANGE
6052,8028,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_SONIC_CRAW
6052,8029,10,114,0,0,0,0,0,0,0,0,0,0,0 //MH_SILVERVEIN_RUSH
6052,8030,10,128,0,0,0,0,0,0,0,0,0,0,0 //MH_MIDNIGHT_FRENZY
6052,8036,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_TINDER_BREAKER
6052,8037,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_CBC
6052,8038,5,133,0,0,0,0,0,0,0,0,0,0,0 //MH_EQC

65
db/homunculus_db.yml Normal file
View File

@@ -0,0 +1,65 @@
# This file is a part of rAthena.
# Copyright(C) 2023 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/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Footer:
Imports:
- Path: db/pre-re/homunculus_db.yml
Mode: Prerenewal
- Path: db/re/homunculus_db.yml
Mode: Renewal
- Path: db/import/homunculus_db.yml

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,8 +27,9 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -51,4 +52,4 @@
Header:
Type: ENCHANTGRADE_DB
Version: 2
Version: 3

View File

@@ -1,15 +0,0 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.

View File

@@ -1,20 +0,0 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)

View File

@@ -0,0 +1,57 @@
# This file is a part of rAthena.
# Copyright(C) 2023 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/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,10 +35,10 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 1
Version: 2

Binary file not shown.

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,13 +35,13 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 1
Version: 2
Footer:
Imports:

View File

@@ -1210,6 +1210,26 @@ bl_temple
bl_venom
mjo_wst01
ra_pol01
1@20cn1
1@20cn2
1@slug
1@twas
1@twbs
1@twig
1@twsd
icas_in2
jor_back4
jor_back5
jor_back6
jor_maze
jor_root1
jor_root2
jor_root3
jor_safty1
jor_safty2
jor_sanct
jor_twice
jor_twig
//======================================================================================
// - Other/Extra maps -

View File

@@ -1,33 +0,0 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
6001,6009,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6005,6013,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6048,6048,Eira,6098,60000,1,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6049,6049,Bayeri,6112,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6050,6050,Sera,6108,60000,1,1,4,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6051,6051,Dieter,6104,60000,1,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6052,6052,Eleanor,6115,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5

623
db/pre-re/homunculus_db.yml Normal file
View File

@@ -0,0 +1,623 @@
# This file is a part of rAthena.
# Copyright(C) 2023 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/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Body:
- Class: Lif
Name: Lif
EvolutionClass: Lif_H
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr
Name: Amistr
EvolutionClass: Amistr_H
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir
Name: Filir
EvolutionClass: Filir_H
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth
Name: Vanilmirth
EvolutionClass: Vanilmirth_H
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Lif2
Name: Lif
EvolutionClass: Lif_H2
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr2
Name: Amistr
EvolutionClass: Amistr_H2
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir2
Name: Filir
EvolutionClass: Filir_H2
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth2
Name: Vanilmirth
EvolutionClass: Vanilmirth_H2
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true

View File

@@ -1949,8 +1949,8 @@ Body:
Flags:
NoSave: true
NoClearance: true
RequireWeapon: true
RemoveOnHermode: true
RequireNoWeapon: true
- Status: Spirit
Icon: EFST_SOULLINK
DurationLookup: SL_HIGH

View File

@@ -2035,7 +2035,7 @@ Body:
Name: I really love it!
Condition: " BaseLevel == 99 && (Class >= JOB_SWORDMAN && Class <= JOB_THIEF) "
Rewards:
Item: E_Bubble_Gum_Box
Item: A_Bubble_Gum_Box10
Script: " specialeffect2 EF_BLESSING; sc_start SC_BLESSING,30000,10; "
Score: 30
- Id: 200031

View File

@@ -120,7 +120,7 @@ Body:
Holy: 125
Dark: 0
Ghost: 100
Undead: -25
Undead: 0
Ghost:
Neutral: 90
Water: 100
@@ -136,8 +136,8 @@ Body:
Neutral: 100
Water: 100
Earth: 100
Fire: 100
Wind: 90
Fire: 90
Wind: 100
Poison: 75
Holy: 125
Dark: 0
@@ -217,7 +217,7 @@ Body:
Fire: 100
Wind: 100
Poison: 75
Holy: -25
Holy: 0
Dark: 150
Ghost: 100
Undead: 150
@@ -229,9 +229,9 @@ Body:
Wind: 100
Poison: 75
Holy: 150
Dark: -25
Dark: 0
Ghost: 100
Undead: -50
Undead: 0
Ghost:
Neutral: 70
Water: 100
@@ -268,7 +268,7 @@ Body:
Undead: 100
Water:
Neutral: 100
Water: -25
Water: 0
Earth: 100
Fire: 200
Wind: 70
@@ -280,7 +280,7 @@ Body:
Earth:
Neutral: 100
Water: 100
Earth: -25
Earth: 0
Fire: 70
Wind: 200
Poison: 125
@@ -292,7 +292,7 @@ Body:
Neutral: 100
Water: 70
Earth: 200
Fire: -25
Fire: 0
Wind: 100
Poison: 125
Holy: 100
@@ -304,7 +304,7 @@ Body:
Water: 200
Earth: 70
Fire: 100
Wind: -25
Wind: 0
Poison: 125
Holy: 100
Dark: 100
@@ -328,7 +328,7 @@ Body:
Fire: 100
Wind: 100
Poison: 50
Holy: -50
Holy: 0
Dark: 175
Ghost: 100
Undead: 175
@@ -340,9 +340,9 @@ Body:
Wind: 100
Poison: 50
Holy: 175
Dark: -50
Dark: 0
Ghost: 100
Undead: -75
Undead: 0
Ghost:
Neutral: 50
Water: 100
@@ -379,7 +379,7 @@ Body:
Undead: 100
Water:
Neutral: 100
Water: -50
Water: 0
Earth: 100
Fire: 200
Wind: 60
@@ -391,7 +391,7 @@ Body:
Earth:
Neutral: 100
Water: 100
Earth: -50
Earth: 0
Fire: 60
Wind: 200
Poison: 125
@@ -403,7 +403,7 @@ Body:
Neutral: 100
Water: 60
Earth: 200
Fire: -50
Fire: 0
Wind: 100
Poison: 125
Holy: 100
@@ -415,7 +415,7 @@ Body:
Water: 200
Earth: 60
Fire: 100
Wind: -50
Wind: 0
Poison: 125
Holy: 100
Dark: 100
@@ -431,7 +431,7 @@ Body:
Holy: 50
Dark: 50
Ghost: 50
Undead: -100
Undead: 0
Holy:
Neutral: 100
Water: 100
@@ -439,7 +439,7 @@ Body:
Fire: 100
Wind: 100
Poison: 50
Holy: -100
Holy: 0
Dark: 200
Ghost: 100
Undead: 200
@@ -451,9 +451,9 @@ Body:
Wind: 100
Poison: 50
Holy: 200
Dark: -100
Dark: 0
Ghost: 100
Undead: -100
Undead: 0
Ghost:
Neutral: 0
Water: 100
@@ -471,7 +471,7 @@ Body:
Earth: 100
Fire: 60
Wind: 100
Poison: -25
Poison: 0
Holy: 200
Dark: 0
Ghost: 175

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,8 +27,9 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -51,7 +52,7 @@
Header:
Type: ENCHANTGRADE_DB
Version: 2
Version: 3
Body:
- Type: Armor
@@ -59,8 +60,31 @@ Body:
- Level: 2
Grades:
- Grade: None
Refine: 11
Chance: 7000
Chances:
- Refine: 9
Chance: 1000
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 7000
- Refine: 12
Chance: 7000
- Refine: 13
Chance: 7000
- Refine: 14
Chance: 7000
- Refine: 15
Chance: 7000
- Refine: 16
Chance: 7000
- Refine: 17
Chance: 7000
- Refine: 18
Chance: 7000
- Refine: 19
Chance: 7000
- Refine: 20
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
@@ -78,8 +102,29 @@ Body:
Amount: 5
Zeny: 875000
- Grade: D
Refine: 11
Chance: 6000
Chances:
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 6000
- Refine: 12
Chance: 6000
- Refine: 13
Chance: 6000
- Refine: 14
Chance: 6000
- Refine: 15
Chance: 6000
- Refine: 16
Chance: 6000
- Refine: 17
Chance: 6000
- Refine: 18
Chance: 6000
- Refine: 19
Chance: 6000
- Refine: 20
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
@@ -97,8 +142,27 @@ Body:
Amount: 5
Zeny: 875000
- Grade: C
Refine: 11
Chance: 5000
Chances:
- Refine: 11
Chance: 5000
- Refine: 12
Chance: 5000
- Refine: 13
Chance: 5000
- Refine: 14
Chance: 5000
- Refine: 15
Chance: 5000
- Refine: 16
Chance: 5000
- Refine: 17
Chance: 5000
- Refine: 18
Chance: 5000
- Refine: 19
Chance: 5000
- Refine: 20
Chance: 5000
Bonus: 50
AnnounceFail: true
Catalyst:
@@ -117,8 +181,27 @@ Body:
Amount: 5
Zeny: 875000
- Grade: B
Refine: 11
Chance: 4000
Chances:
- Refine: 11
Chance: 4000
- Refine: 12
Chance: 4000
- Refine: 13
Chance: 4000
- Refine: 14
Chance: 4000
- Refine: 15
Chance: 4000
- Refine: 16
Chance: 4000
- Refine: 17
Chance: 4000
- Refine: 18
Chance: 4000
- Refine: 19
Chance: 4000
- Refine: 20
Chance: 4000
Bonus: 100
AnnounceFail: true
Catalyst:
@@ -141,8 +224,31 @@ Body:
- Level: 5
Grades:
- Grade: None
Refine: 11
Chance: 7000
Chances:
- Refine: 9
Chance: 1000
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 7000
- Refine: 12
Chance: 7000
- Refine: 13
Chance: 7000
- Refine: 14
Chance: 7000
- Refine: 15
Chance: 7000
- Refine: 16
Chance: 7000
- Refine: 17
Chance: 7000
- Refine: 18
Chance: 7000
- Refine: 19
Chance: 7000
- Refine: 20
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
@@ -160,8 +266,29 @@ Body:
Amount: 5
Zeny: 875000
- Grade: D
Refine: 11
Chance: 6000
Chances:
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 6000
- Refine: 12
Chance: 6000
- Refine: 13
Chance: 6000
- Refine: 14
Chance: 6000
- Refine: 15
Chance: 6000
- Refine: 16
Chance: 6000
- Refine: 17
Chance: 6000
- Refine: 18
Chance: 6000
- Refine: 19
Chance: 6000
- Refine: 20
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
@@ -179,8 +306,27 @@ Body:
Amount: 5
Zeny: 875000
- Grade: C
Refine: 11
Chance: 5000
Chances:
- Refine: 11
Chance: 5000
- Refine: 12
Chance: 5000
- Refine: 13
Chance: 5000
- Refine: 14
Chance: 5000
- Refine: 15
Chance: 5000
- Refine: 16
Chance: 5000
- Refine: 17
Chance: 5000
- Refine: 18
Chance: 5000
- Refine: 19
Chance: 5000
- Refine: 20
Chance: 5000
Bonus: 50
AnnounceFail: true
Catalyst:
@@ -199,8 +345,27 @@ Body:
Amount: 5
Zeny: 875000
- Grade: B
Refine: 11
Chance: 4000
Chances:
- Refine: 11
Chance: 4000
- Refine: 12
Chance: 4000
- Refine: 13
Chance: 4000
- Refine: 14
Chance: 4000
- Refine: 15
Chance: 4000
- Refine: 16
Chance: 4000
- Refine: 17
Chance: 4000
- Refine: 18
Chance: 4000
- Refine: 19
Chance: 4000
- Refine: 20
Chance: 4000
Bonus: 100
AnnounceFail: true
Catalyst:

View File

@@ -379,3 +379,154 @@ Body:
Exp: 87140000
- Level: 174
Exp: 94875000
# TODO: unconfirmed values from here
- Level: 175
Exp: 104362500
- Level: 176
Exp: 112711500
- Level: 177
Exp: 121728420
- Level: 178
Exp: 131466693
- Level: 179
Exp: 141984028
- Level: 180
Exp: 153342750
- Level: 181
Exp: 165610170
- Level: 182
Exp: 178858983
- Level: 183
Exp: 193167701
- Level: 184
Exp: 208621117
- Level: 185
Exp: 225310806
- Level: 186
Exp: 243335670
- Level: 187
Exp: 262802523
- Level: 188
Exp: 283826724
- Level: 189
Exp: 306532861
- Level: 190
Exp: 331055489
- Level: 191
Exp: 357539928
- Level: 192
Exp: 386143122
- Level: 193
Exp: 417034571
- Level: 194
Exp: 450397336
- Level: 195
Exp: 486429122
- Level: 196
Exp: 525343451
- Level: 197
Exp: 567370927
- Level: 198
Exp: 612760601
- Level: 199
Exp: 661781449
- Level: 200
Exp: 714723964
- Level: 201
Exp: 771901881
- Level: 202
Exp: 833654031
- Level: 203
Exp: 900346353
- Level: 204
Exp: 972374061
- Level: 205
Exp: 1050163985
- Level: 206
Exp: 1134177103
- Level: 207
Exp: 1224911271
- Level: 208
Exp: 1322904172
- Level: 209
Exp: 1428736505
- Level: 210
Exp: 1543035425
- Level: 211
Exp: 1666478259
- Level: 212
Exp: 1799796519
- Level: 213
Exp: 1943780240
- Level: 214
Exp: 2099282659
- Level: 215
Exp: 2267225271
- Level: 216
Exp: 2448603292
- Level: 217
Exp: 2644491555
- Level: 218
Exp: 2856050879
- Level: 219
Exp: 3084534949
- Level: 220
Exp: 3331297744
- Level: 221
Exp: 3597801563
- Level: 222
Exp: 3885625688
- Level: 223
Exp: 4196475743
- Level: 224
Exp: 4532193802
- Level: 225
Exp: 4894769306
- Level: 226
Exp: 5286350850
- Level: 227
Exp: 5709258918
- Level: 228
Exp: 6165999631
- Level: 229
Exp: 6659279601
- Level: 230
Exp: 7192021969
- Level: 231
Exp: 7767383726
- Level: 232
Exp: 8388774424
- Level: 233
Exp: 9059876377
- Level: 234
Exp: 9784666487
- Level: 235
Exp: 10567439805
- Level: 236
Exp: 11412834989
- Level: 237
Exp: 12325861788
- Level: 238
Exp: 13311930731
- Level: 239
Exp: 14376885189
- Level: 240
Exp: 15527036004
- Level: 241
Exp: 16769198884
- Level: 242
Exp: 18110734794
- Level: 243
Exp: 19559593577
- Level: 244
Exp: 21124361063
- Level: 245
Exp: 22814309948
- Level: 246
Exp: 24639454743
- Level: 247
Exp: 26610611122
- Level: 248
Exp: 28739460011
- Level: 249
Exp: 31038616811

View File

@@ -1,33 +0,0 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
6001,6009,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,800,2400,220,480,10,30,10,30,20,40,30,50,20,50,10,30
6002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,1600,3600,120,360,20,50,10,30,20,50,20,50,10,30,10,30
6003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,1200,3200,200,400,20,50,10,30,20,50,20,50,10,30,10,30
6004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,10,30,10,30,20,50,10,50,10,100
6005,6013,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,800,2400,220,480,10,30,10,30,20,40,30,50,20,50,10,30
6006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,1600,3600,120,360,20,50,10,30,20,50,20,50,10,30,10,30
6007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,1200,3200,200,400,20,50,10,30,20,50,20,50,10,30,10,30
6008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,10,30,10,30,20,50,10,50,10,100
6048,6048,Eira,6098,60000,1,1,8,4,700,150,40,17,20,15,35,24,12,40,160,20,42,13,39,28,42,15,25,14,48,16,36,9,18,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6049,6049,Bayeri,6112,60000,1,1,2,6,700,320,10,20,17,35,11,24,12,90,360,48,52,18,36,8,36,16,32,22,44,12,24,20,36,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6050,6050,Sera,6108,60000,1,1,4,2,700,90,25,29,35,9,8,30,9,60,240,36,64,10,25,16,32,5,25,7,35,28,40,20,40,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6051,6051,Dieter,6104,60000,1,1,0,3,700,80,11,11,11,11,11,11,11,240,480,40,120,20,40,13,26,18,36,15,40,16,32,4,16,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6052,6052,Eleanor,6115,60000,1,1,7,5,700,320,10,20,17,35,11,24,12,60,300,10,20,20,40,10,50,24,48,5,15,12,36,2,10,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10

948
db/re/homunculus_db.yml Normal file
View File

@@ -0,0 +1,948 @@
# This file is a part of rAthena.
# Copyright(C) 2023 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/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Body:
- Class: Lif
Name: Lif
EvolutionClass: Lif_H
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 800
EvolutionMaximum: 2400
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 220
EvolutionMaximum: 480
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 40
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 30
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr
Name: Amistr
EvolutionClass: Amistr_H
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 1600
EvolutionMaximum: 3600
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 120
EvolutionMaximum: 360
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir
Name: Filir
EvolutionClass: Filir_H
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 1200
EvolutionMaximum: 3200
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 200
EvolutionMaximum: 400
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth
Name: Vanilmirth
EvolutionClass: Vanilmirth_H
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1200
EvolutionMaximum: 4800
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 480
EvolutionMaximum: 640
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 50
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 100
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Lif2
Name: Lif
EvolutionClass: Lif_H2
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 800
EvolutionMaximum: 2400
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 220
EvolutionMaximum: 480
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 40
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 30
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr2
Name: Amistr
EvolutionClass: Amistr_H2
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 1600
EvolutionMaximum: 3600
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 120
EvolutionMaximum: 360
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir2
Name: Filir
EvolutionClass: Filir_H2
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 1200
EvolutionMaximum: 3200
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 200
EvolutionMaximum: 400
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth2
Name: Vanilmirth
EvolutionClass: Vanilmirth_H2
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1200
EvolutionMaximum: 4800
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 480
EvolutionMaximum: 640
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 50
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 100
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Eira
Name: Eira
Food: Small_Snow_Flower
Race: Angel
Element: Wind
Size: Medium
Status:
- Type: Hp
Base: 150
GrowthMinimum: 40
GrowthMaximum: 160
- Type: Sp
Base: 40
GrowthMinimum: 20
GrowthMaximum: 42
- Type: Str
Base: 17
GrowthMinimum: 13
GrowthMaximum: 39
- Type: Agi
Base: 20
GrowthMinimum: 28
GrowthMaximum: 42
- Type: Vit
Base: 15
GrowthMinimum: 15
GrowthMaximum: 25
- Type: Int
Base: 35
GrowthMinimum: 14
GrowthMaximum: 48
- Type: Dex
Base: 24
GrowthMinimum: 16
GrowthMaximum: 36
- Type: Luk
Base: 12
GrowthMinimum: 9
GrowthMaximum: 18
SkillTree:
- Skill: MH_LIGHT_OF_REGENE
MaxLevel: 5
RequiredLevel: 128
- Skill: MH_OVERED_BOOST
MaxLevel: 5
RequiredLevel: 114
- Skill: MH_ERASER_CUTTER
MaxLevel: 10
RequiredLevel: 106
- Skill: MH_XENO_SLASHER
MaxLevel: 10
RequiredLevel: 121
- Skill: MH_SILENT_BREEZE
MaxLevel: 5
RequiredLevel: 137
- Skill: MH_CLASSY_FLUTTER
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_TWISTER_CUTTER
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_ABSOLUTE_ZEPHYR
MaxLevel: 10
RequiredLevel: 230
- Class: Bayeri
Name: Bayeri
Food: Fresh_Plant
Race: Brute
Element: Holy
Size: Medium
Status:
- Type: Hp
Base: 320
GrowthMinimum: 90
GrowthMaximum: 360
- Type: Sp
Base: 10
GrowthMinimum: 48
GrowthMaximum: 52
- Type: Str
Base: 20
GrowthMinimum: 18
GrowthMaximum: 36
- Type: Agi
Base: 17
GrowthMinimum: 8
GrowthMaximum: 36
- Type: Vit
Base: 35
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Int
Base: 11
GrowthMinimum: 22
GrowthMaximum: 44
- Type: Dex
Base: 24
GrowthMinimum: 12
GrowthMaximum: 24
- Type: Luk
Base: 12
GrowthMinimum: 20
GrowthMaximum: 36
SkillTree:
- Skill: MH_STAHL_HORN
MaxLevel: 10
RequiredLevel: 105
- Skill: MH_GOLDENE_FERSE
MaxLevel: 5
RequiredLevel: 112
- Skill: MH_STEINWAND
MaxLevel: 5
RequiredLevel: 121
- Skill: MH_HEILIGE_STANGE
MaxLevel: 10
RequiredLevel: 138
- Skill: MH_ANGRIFFS_MODUS
MaxLevel: 5
RequiredLevel: 130
- Skill: MH_LICHT_GEHORN
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_GLANZEN_SPIES
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_HEILIGE_PFERD
MaxLevel: 10
RequiredLevel: 230
- Skill: MH_GOLDENE_TONE
MaxLevel: 10
RequiredLevel: 230
- Class: Sera
Name: Sera
Food: Apple_Pudding
Race: Insect
Element: Earth
Size: Medium
Status:
- Type: Hp
Base: 90
GrowthMinimum: 60
GrowthMaximum: 240
- Type: Sp
Base: 25
GrowthMinimum: 36
GrowthMaximum: 64
- Type: Str
Base: 29
GrowthMinimum: 10
GrowthMaximum: 25
- Type: Agi
Base: 35
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Vit
Base: 9
GrowthMinimum: 5
GrowthMaximum: 25
- Type: Int
Base: 8
GrowthMinimum: 7
GrowthMaximum: 35
- Type: Dex
Base: 30
GrowthMinimum: 28
GrowthMaximum: 40
- Type: Luk
Base: 9
GrowthMinimum: 20
GrowthMaximum: 40
SkillTree:
- Skill: MH_SUMMON_LEGION
MaxLevel: 5
RequiredLevel: 132
- Skill: MH_NEEDLE_OF_PARALYZE
MaxLevel: 10
RequiredLevel: 105
- Skill: MH_POISON_MIST
MaxLevel: 5
RequiredLevel: 116
- Skill: MH_PAIN_KILLER
MaxLevel: 10
RequiredLevel: 123
- Skill: MH_POLISHING_NEEDLE
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_TOXIN_OF_MANDARA
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_NEEDLE_STINGER
MaxLevel: 10
RequiredLevel: 230
- Class: Dieter
Name: Dieter
Food: Big_Cell
Race: Formless
Element: Fire
Size: Medium
Status:
- Type: Hp
Base: 80
GrowthMinimum: 240
GrowthMaximum: 480
- Type: Sp
Base: 11
GrowthMinimum: 40
GrowthMaximum: 120
- Type: Str
Base: 11
GrowthMinimum: 20
GrowthMaximum: 40
- Type: Agi
Base: 11
GrowthMinimum: 13
GrowthMaximum: 26
- Type: Vit
Base: 11
GrowthMinimum: 18
GrowthMaximum: 36
- Type: Int
Base: 11
GrowthMinimum: 15
GrowthMaximum: 40
- Type: Dex
Base: 11
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Luk
Base: 11
GrowthMinimum: 4
GrowthMaximum: 16
SkillTree:
- Skill: MH_MAGMA_FLOW
MaxLevel: 5
RequiredLevel: 122
- Skill: MH_GRANITIC_ARMOR
MaxLevel: 5
RequiredLevel: 116
- Skill: MH_LAVA_SLIDE
MaxLevel: 10
RequiredLevel: 109
- Skill: MH_PYROCLASTIC
MaxLevel: 10
RequiredLevel: 131
- Skill: MH_VOLCANIC_ASH
MaxLevel: 5
RequiredLevel: 102
- Skill: MH_BLAST_FORGE
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_TEMPERING
MaxLevel: 10
RequiredLevel: 230
- Skill: MH_BLAZING_LAVA
MaxLevel: 10
RequiredLevel: 210
- Class: Eleanor
Name: Eleanor
Food: Bun_
Element: Poison
Size: Medium
Status:
- Type: Hp
Base: 320
GrowthMinimum: 60
GrowthMaximum: 300
- Type: Sp
Base: 10
GrowthMinimum: 10
GrowthMaximum: 20
- Type: Str
Base: 20
GrowthMinimum: 20
GrowthMaximum: 40
- Type: Agi
Base: 17
GrowthMinimum: 10
GrowthMaximum: 50
- Type: Vit
Base: 35
GrowthMinimum: 24
GrowthMaximum: 48
- Type: Int
Base: 11
GrowthMinimum: 5
GrowthMaximum: 15
- Type: Dex
Base: 24
GrowthMinimum: 12
GrowthMaximum: 36
- Type: Luk
Base: 12
GrowthMinimum: 2
GrowthMaximum: 10
SkillTree:
- Skill: MH_STYLE_CHANGE
MaxLevel: 1
RequiredLevel: 100
- Skill: MH_SONIC_CRAW
MaxLevel: 5
RequiredLevel: 100
- Skill: MH_SILVERVEIN_RUSH
MaxLevel: 10
RequiredLevel: 114
- Skill: MH_MIDNIGHT_FRENZY
MaxLevel: 10
RequiredLevel: 128
- Skill: MH_TINDER_BREAKER
MaxLevel: 5
RequiredLevel: 100
- Skill: MH_CBC
MaxLevel: 5
RequiredLevel: 112
- Skill: MH_EQC
MaxLevel: 5
RequiredLevel: 133
- Skill: MH_BRUSHUP_CLAW
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_BLAZING_AND_FURIOUS
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_THE_ONE_FIGHTER_RISES
MaxLevel: 10
RequiredLevel: 230

View File

@@ -375,3 +375,204 @@ Body:
Map: 1@begi
X: 100
Y: 22
- Id: 49
Name: Old Glast Heim (Challenge Mode)
Enter:
Map: 1@gl_he
X: 150
Y: 28
- Id: 50
Name: Old Glast Heim (Beginner)
Enter:
Map: 1@gl_k2
X: 150
Y: 20
- Id: 51
Name: Fall of Glast Heim (Normal)
Enter:
Map: 1@gl_prq
X: 299
Y: 19
- Id: 52
Name: Fall of Glast Heim (Advanced)
Enter:
Map: 1@gl_prq
X: 79
Y: 22
- Id: 53
Name: Twilight Garden
Enter:
Map: 1@bamn
X: 100
Y: 320
AdditionalMaps:
1@bamq: true
- Id: 54
Name: Hey! Sweety
Enter:
Map: 1@bamq
X: 16
Y: 39
AdditionalMaps:
1@bamn: true
- Id: 55
Name: Farm Lost in Time
Enter:
Map: 1@lost
X: 161
Y: 42
- Id: 56
Name: Water Garden
Enter:
Map: 1@ghg
X: 64
Y: 69
- Id: 57
Name: Water Garden Hard
Enter:
Map: 1@ghg
X: 64
Y: 69
- Id: 58
Name: Hidden Flower Garden
Enter:
Map: 1@herbs
X: 51
Y: 273
- Id: 59
Name: Security Area 1
Enter:
Map: 1@herbs
X: 45
Y: 208
- Id: 60
Name: Security Area 2
Enter:
Map: 1@herbs
X: 59
Y: 214
- Id: 61
Name: Sunken Tower
Enter:
Map: 1@ch_u
X: 13
Y: 59
- Id: 62
Name: Constellation Tower
Enter:
Map: 1@ch_t
X: 48
Y: 183
AdditionalMaps:
2@ch_t: true
3@ch_t: true
- Id: 63
Name: Tomb of Remorse
Enter:
Map: 1@spa2
X: 51
Y: 197
- Id: 64
Name: Geffen Night Arena
Enter:
Map: 1@ge_sn
X: 89
Y: 48
- Id: 65
Name: Airship Crash
Enter:
Map: 1@mjo1
X: 219
Y: 379
AdditionalMaps:
1@mjo2: true
- Id: 66
Name: Thanatos Tower
Enter:
Map: 1@thts
X: 74
Y: 371
AdditionalMaps:
2@thts: true
3@thts: true
4@thts: true
5@thts: true
6@thts: true
7@thts: true
8@thts: true
- Id: 67
Name: The Maze of Oz
Enter:
Map: 1@oz
X: 284
Y: 167
- Id: 68
Name: Thor Gunsu Base
Enter:
Map: 1@tcamp
X: 103
Y: 237
- Id: 69
Name: A Gathering Place of Wolves
Enter:
Map: 1@nyr
X: 194
Y: 30
AdditionalMaps:
2@nyr: true
- Id: 70
Name: Sanctuary Purification
Enter:
Map: 1@nyr
X: 194
Y: 30
AdditionalMaps:
2@nyr: true
- Id: 71
Name: Villa of High Priest
Enter:
Map: 1@adv
X: 123
Y: 17
- Id: 72
Name: Villa of Deception
Enter:
Map: 1@advs
X: 111
Y: 19
- Id: 73
Name: Villa of Deception Advanced
Enter:
Map: 1@advs
X: 111
Y: 19
- Id: 74
Name: Bagot Laboratory
Enter:
Map: 1@jorlab
X: 57
Y: 45
- Id: 75
Name: Confused Snake's Nest
Enter:
Map: 1@jorchs
X: 272
Y: 20
- Id: 76
Name: Iwin Patrol
Enter:
Map: 1@iwp
X: 380
Y: 229
- Id: 77
Name: Airship Destruction
Enter:
Map: 1@whl
X: 32
Y: 53
- Id: 78
Name: Simulation Battle
Enter:
Map: 1@jorlab
X: 57
Y: 45

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1172,7 +1172,7 @@ Body:
- Item: Monkey_On_Fur_Hat
Rate: 150
Announced: true
- Item: Nabi_Hair_Pin
- Item: Butterfly_Hairpin
Rate: 75
Announced: true
- Item: C_Hair_Of_The_Strong
@@ -3989,7 +3989,7 @@ Body:
- Item: Improved_Tights
Rate: 3
UniqueId: true
- Item: Capricorn_Diadem_Box
- Item: Capricon_Diadem_Box
Rate: 10
UniqueId: true
- Item: Sprint_Shoes
@@ -4048,7 +4048,7 @@ Body:
- Item: Rainbow_Scarf_Box
Rate: 5
UniqueId: true
- Item: Capricorn_Crown_Box
- Item: Capricon_Crown_Box
Rate: 10
UniqueId: true
- Item: Pizza_Hat_Box
@@ -6192,7 +6192,7 @@ Body:
Rate: 70
- Item: C_Foxtail
Rate: 100
- Item: C_Chicken_Hat
- Item: C_Cock_Hat1
Rate: 120
- Item: C_Black_Cat_Ears_Beret
Rate: 140
@@ -6493,10 +6493,10 @@ Body:
SubGroups:
- SubGroup: 1
List:
- Item: Capricorn_Diadem
- Item: Capricon_Diadem
Rate: 150
Announced: true
- Item: Capricorn_Crown
- Item: Capricon_Crown
Rate: 150
Announced: true
- Item: Virgo_Diadem
@@ -8391,7 +8391,7 @@ Body:
- Item: Almighty
Rate: 1
Amount: 10
- Item: Sealed_Kiel-D-01_Scroll
- Item: Sealed_Kiel_Scroll
Rate: 1
- Group: EVENT_ALMIGHTY_BOX_100
SubGroups:
@@ -8400,7 +8400,7 @@ Body:
- Item: Almighty
Rate: 1
Amount: 100
- Item: Sealed_Kiel-D-01_Scroll
- Item: Sealed_Kiel_Scroll
Rate: 1
Amount: 11
- Group: EVIL_INCARNATION
@@ -10787,7 +10787,7 @@ Body:
- Item: Archangel_Wing
Rate: 110
Announced: true
- Item: Dep_Alice_Hat
- Item: Alicel_Drooping_Doll
Rate: 150
Announced: true
- Item: Boitata_Armor
@@ -12040,7 +12040,7 @@ Body:
- Item: Dark_Book
Rate: 120
Announced: true
- Item: Dep_Alice_Hat
- Item: Alicel_Drooping_Doll
Rate: 50
Announced: true
- Item: Candy_Hat
@@ -12225,7 +12225,7 @@ Body:
- Item: Job_Manual50
Amount: 5
- Item: Guarantee_Armor_6Up
- Item: Level_Up_Box130
- Item: 130LVUP
- Group: LEVEL_UP_BOX130
SubGroups:
- SubGroup: 0
@@ -12239,7 +12239,7 @@ Body:
- Item: Job_Manual50
Amount: 5
- Item: Guarantee_Weapon_7Up
- Item: Level_Up_Box140
- Item: 140LVUP
- Group: LEVEL_UP_BOX140
SubGroups:
- SubGroup: 0
@@ -12253,7 +12253,7 @@ Body:
- Item: Job_Manual50
Amount: 5
- Item: Guarantee_Armor_7Up
- Item: Level_Up_Box150
- Item: 150LVUP
- Group: LEVEL_UP_BOX150
SubGroups:
- SubGroup: 0
@@ -12267,7 +12267,7 @@ Body:
- Item: Job_Manual50
Amount: 5
- Item: Guarantee_Weapon_8Up
- Item: Level_Up_Box160
- Item: 160LVUP
- Group: LEVEL_UP_BOX160
SubGroups:
- SubGroup: 0
@@ -13254,14 +13254,14 @@ Body:
List:
- Item: Silvervine
Amount: 10
- Item: Sealed_Vesper_Scroll
- Item: Sealed_Apo_H_Scroll
- Group: LUCKY_SILVERVINE_FRUIT_BOX_III110
SubGroups:
- SubGroup: 0
List:
- Item: Silvervine
Amount: 110
- Item: Sealed_Vesper_Scroll
- Item: Sealed_Apo_H_Scroll
Amount: 11
- Group: MAGICCARDALBUM
SubGroups:
@@ -15559,7 +15559,7 @@ Body:
- Item: Spring_Rabbit_Ticket
Rate: 10
UniqueId: true
- Item: Zeny_Scroll_Box
- Item: Zeny_Card_Scroll_Box
Rate: 10
UniqueId: true
- Group: PIERRE_TREASUREBOX
@@ -18867,7 +18867,7 @@ Body:
Rate: 230
Amount: 30
UniqueId: true
- Item: Zeny_Scroll_Box
- Item: Zeny_Card_Scroll_Box
Rate: 216
Amount: 10
UniqueId: true
@@ -18919,7 +18919,7 @@ Body:
Rate: 230
Amount: 30
UniqueId: true
- Item: Zeny_Scroll_Box
- Item: Zeny_Card_Scroll_Box
Rate: 226
Amount: 10
UniqueId: true
@@ -18971,7 +18971,7 @@ Body:
Rate: 230
Amount: 30
UniqueId: true
- Item: Zeny_Scroll_Box
- Item: Zeny_Card_Scroll_Box
Rate: 209
Amount: 10
UniqueId: true
@@ -19023,7 +19023,7 @@ Body:
Rate: 230
Amount: 30
UniqueId: true
- Item: Zeny_Scroll_Box
- Item: Zeny_Card_Scroll_Box
Rate: 217
Amount: 10
UniqueId: true
@@ -19043,7 +19043,7 @@ Body:
- Item: Mental_Potion
Rate: 1
Amount: 2
- Item: Scroll_Sealed_Dark_Lord
- Item: Sealed_D_Lord_Scroll
Rate: 1
- Group: SUPPORT_PACKAGE_10
SubGroups:
@@ -19061,7 +19061,7 @@ Body:
- Item: Mental_Potion
Rate: 1
Amount: 20
- Item: Scroll_Sealed_Dark_Lord
- Item: Sealed_D_Lord_Scroll
Rate: 1
Amount: 11
- Group: SUPPORT_PACKAGE_II
@@ -19565,7 +19565,7 @@ Body:
- Item: Med_Life_Potion
Rate: 1
Amount: 20
- Item: Sealed_Moonlight_Flower_Scroll
- Item: Sealed_M_Flower_Scroll
Rate: 1
- Group: THREE_MASTER_PACKAGE_III_10
SubGroups:
@@ -19577,7 +19577,7 @@ Body:
- Item: Med_Life_Potion
Rate: 1
Amount: 200
- Item: Sealed_Moonlight_Flower_Scroll
- Item: Sealed_M_Flower_Scroll
Rate: 1
Amount: 11
- Group: THROWABLE
@@ -20548,7 +20548,7 @@ Body:
- Item: Noble_Mask
Rate: 100
Announced: true
- Item: Valkyrie_Hammer_
- Item: Valkyrie_Hammer
Rate: 100
Announced: true
- Item: Guarantee_Weapon_8Up
@@ -22365,7 +22365,7 @@ Body:
Rate: 7
- Item: Spinx_Helm
Rate: 1
- Item: Assassin_Mask
- Item: Popcorn_Hair
Rate: 1
- Item: Novice_Egg_Cap
Rate: 7
@@ -23066,7 +23066,7 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Fine_Sun
- Item: Clear_Sun
- Item: Rainbow
- Item: Rain_Cloud
- Item: Lightning_Cloud
@@ -24036,9 +24036,9 @@ Body:
Rate: 160
- Item: ElectricEffect_Middle
Rate: 160
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: ReloadStone_Top
Rate: 240
@@ -24058,17 +24058,17 @@ Body:
Rate: 360
- Item: Critical_Stone_Bottom
Rate: 360
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Group: THIRD_JOB_STONE_GARMENT_BOX
SubGroups:
@@ -25482,7 +25482,7 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Drooping_Rebellion_
- Item: Droop_Gunslinger
RandomOptionGroup: GUNSLINGER_ENCHANT
- Group: ENCHANTSTONE_RECIPE
SubGroups:
@@ -25665,7 +25665,7 @@ Body:
Rate: 140
- Item: C_Pecopeco_Cap
Rate: 400
- Item: C_Green_Hat
- Item: C_Woodie_Hat
Rate: 400
- Item: C_Little_Aquarium
Rate: 400
@@ -25699,11 +25699,11 @@ Body:
Rate: 1370
- Item: C_Khalitzburg_KN_Helm
Rate: 1370
- Item: C_Laser_of_Eagle
- Item: C_Laser_Of_Eagle
Rate: 1370
- Item: C_Devil_Wing
Rate: 140
- Item: C_Tone_of_Gold
- Item: C_Tone_Of_Gold
Rate: 140
- Item: C_Dwarf_Beard
Rate: 140
@@ -26026,21 +26026,21 @@ Body:
Rate: 140
- Item: C_Monochrome_Cap
Rate: 140
- Item: C_Sky_of_Memory
- Item: C_Sky_Of_Memory
Rate: 140
- Item: C_Ice_Wing
Rate: 140
- Item: C_Under_Rim_Glasses_Blue
- Item: C_Under_Rim_Glasses_Bu
Rate: 140
- Item: C_Gimmick_One_Feather
Rate: 140
- Item: C_Pocketwatch_Hair_Ornament
- Item: C_PocketWatch_Hair_Orna
Rate: 140
- Item: C_Poring_Traffic_Light
Rate: 140
- Item: C_PGstone_Knit_Hat_PK
Rate: 140
- Item: C_Lazy_Ninetail
- Item: C_Drooping_Nine_Tail
Rate: 140
- Item: C_Sakura_Wing
Rate: 140
@@ -26146,13 +26146,13 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Kafra_Uniform
- Item: Kafra_Suit
RandomOptionGroup: SUIT_UPGRADE_KIT
- Group: SCROLL_OF_FALLEN_ANGEL_WINGS
SubGroups:
- SubGroup: 0
List:
- Item: Fallen_Angel_Wings_
- Item: K_Fallen_Angel_Wing
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3955662
- Group: CLASS_SHADOW_BOX_WEAPON
SubGroups:
@@ -26674,19 +26674,19 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Bag_Of_Antonio_P
- Item: Bag_Of_Antonio_Melee
RandomOptionGroup: CANDY_BAG_SCROLL_MELEE
- Group: CANDY_BAG_SCROLL_RANGE
SubGroups:
- SubGroup: 0
List:
- Item: Bag_Of_Antonio_S
- Item: Bag_Of_Antonio_Range
RandomOptionGroup: CANDY_BAG_SCROLL_RANGE
- Group: CANDY_BAG_SCROLL_MAGIC
SubGroups:
- SubGroup: 0
List:
- Item: Bag_Of_Antonio_
- Item: Bag_Of_Antonio_Magic
RandomOptionGroup: CANDY_BAG_SCROLL_MAGIC
- Group: BOOSTER_AMPLIFIER
SubGroups:
@@ -26890,11 +26890,11 @@ Body:
SubGroups:
- SubGroup: 1
List:
- Item: Bag_Of_Antonio_
- Item: Bag_Of_Antonio_Magic
Rate: 1
- Item: Bag_Of_Antonio_S
- Item: Bag_Of_Antonio_Range
Rate: 1
- Item: Bag_Of_Antonio_P
- Item: Bag_Of_Antonio_Melee
Rate: 1
- Group: BS_ITEM_M_S_13
SubGroups:
@@ -27251,7 +27251,7 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Sigrun's_Wings_
- Item: Sigrun's_Wing_
- Group: BS_ITEM_M_S_27
SubGroups:
- SubGroup: 0
@@ -30431,9 +30431,9 @@ Body:
Rate: 250
- Item: CastingStone_Bottom
Rate: 250
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 250
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 250
- Item: Range_Stone_Top
Rate: 250
@@ -30457,17 +30457,17 @@ Body:
Rate: 380
- Item: Critical_Stone_Bottom
Rate: 380
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 560
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 560
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 560
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 560
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 560
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 560
- Group: ENCHANT_STONE_BOX23
SubGroups:
@@ -30527,9 +30527,9 @@ Body:
Rate: 140
- Item: ASPDStone_Top
Rate: 160
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: Range_Stone
Rate: 240
@@ -30567,17 +30567,17 @@ Body:
Rate: 360
- Item: Critical_Stone_Bottom
Rate: 360
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Group: ENCHANT_STONE_BOX24
SubGroups:
@@ -30671,9 +30671,9 @@ Body:
Rate: 160
- Item: WaterFieldEffect_Bottom
Rate: 160
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: Range_Stone
Rate: 240
@@ -30693,17 +30693,17 @@ Body:
Rate: 360
- Item: Critical_Stone_Bottom
Rate: 360
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Group: ENCHANT_STONE_BOX25
SubGroups:
@@ -30797,9 +30797,9 @@ Body:
Rate: 160
- Item: WaterFieldEffect_Bottom
Rate: 160
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: ReloadStone_Top
Rate: 240
@@ -30819,17 +30819,17 @@ Body:
Rate: 360
- Item: Critical_Stone_Bottom
Rate: 360
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Group: ENCHANT_STONE_BOX27
SubGroups:
@@ -30887,9 +30887,9 @@ Body:
Rate: 80
- Item: GuillcrossStone_Bottom3
Rate: 80
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: Magic_Stone_Top
Rate: 240
@@ -30933,17 +30933,17 @@ Body:
Rate: 150
- Item: AssacrossStone_Bottom2
Rate: 150
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Item: CastingStone_Top
Rate: 360
@@ -31102,9 +31102,9 @@ Body:
Rate: 80
- Item: ReaperStone_Bottom3
Rate: 80
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: Magic_Stone_Top
Rate: 240
@@ -31142,17 +31142,17 @@ Body:
Rate: 240
- Item: Range_Stone_Bottom
Rate: 240
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Item: CastingStone_Top
Rate: 360
@@ -31442,9 +31442,9 @@ Body:
Rate: 80
- Item: DoramStone_Bottom3
Rate: 80
- Item: aegis_100465
- Item: Stone_Robe_Box
Rate: 160
- Item: aegis_100495
- Item: Stone_Robe2_Box
Rate: 160
- Item: Magic_Stone_Top
Rate: 240
@@ -31482,17 +31482,17 @@ Body:
Rate: 240
- Item: EXPStone_Top
Rate: 240
- Item: aegis_100496
- Item: Stone_Top_Box
Rate: 360
- Item: aegis_100497
- Item: Stone_Top2_Box
Rate: 360
- Item: aegis_100498
- Item: Stone_Middle_Box
Rate: 360
- Item: aegis_100499
- Item: Stone_Middle2_Box
Rate: 360
- Item: aegis_100500
- Item: Stone_Bottom_Box
Rate: 360
- Item: aegis_100501
- Item: Stone_Bottom2_Box
Rate: 360
- Item: CastingStone_Top
Rate: 360
@@ -48205,12 +48205,12 @@ Body:
SubGroups:
- SubGroup: 0
List:
- Item: Trans_Scroll_Wind_Ghost
- Item: Trans_Scroll_Horn_Scaraba
- Item: Trans_Scroll_Wanderer
- Item: Trans_Scroll_Wghost
- Item: Trans_Scroll_Sca
- Item: Trans_Scroll_Wander
- Item: Trans_Scroll_Gazeti
- Item: Trans_Scroll_Kobold_Archer
- Item: Trans_Scroll_Necromancer
- Item: Trans_Scroll_Karcher
- Item: Trans_Scroll_Necro
- Group: S_W_BREATH_CUBE
SubGroups:
- SubGroup: 0
@@ -48960,8 +48960,8 @@ Body:
- Item: E_Giant_Fly_Wing
- Item: F_Giant_Fly_Wing
- Item: C_Wing_Of_Fly
- Item: N_Fly_Wing_
- Item: Compressed_Wing_Of_Fly
- Item: N_Fly_Wing2
- Item: Cps_Fly_Wing
- Item: Comp_Wing_Of_Fly
- Group: MF_NORETURN
SubGroups:
@@ -48971,7 +48971,7 @@ Body:
- Item: N_Butterfly_Wing
- Item: Dun_Tele_Scroll1
- Item: Dun_Tele_Scroll2
- Item: Dun_Tele_Scroll3
- Item: Dun_Tele_Scroll3_fr
- Item: E_Dun_Tele_Scroll1
- Item: F_Dun_Tele_Scroll1
- Item: WOB_Rune
@@ -49192,3 +49192,195 @@ Body:
Rate: 1667
- Item: S_Archer_earring
Rate: 1667
- Group: ENCHANT_STONE_BOX30
SubGroups:
- SubGroup: 1
List:
- Item: Range_Stone_Robe_D
Rate: 10
- Item: Melee_Stone_Robe_D
Rate: 10
- Item: Magic_Stone_Robe_D
Rate: 10
- Item: SmatkStone_Robe
Rate: 10
- Item: M_PATKStone_Robe
Rate: 10
- Item: R_PATKStone_Robe
Rate: 10
- Item: ReloadStone_Robe_D
Rate: 10
- Item: CriticalStone_Robe_D
Rate: 10
- Item: Critical_Stone_Robe
Rate: 20
- Item: CastStone_Robe_D
Rate: 40
- Item: CastStone_Robe
Rate: 80
- Item: KagerouStone_Top3
Rate: 30
- Item: KagerouStone_Middle3
Rate: 30
- Item: KagerouStone_Bottom3
Rate: 30
- Item: OboroStone_Top3
Rate: 30
- Item: OboroStone_Middle3
Rate: 30
- Item: OboroStone_Bottom3
Rate: 30
- Item: DoramStone_Top3
Rate: 30
- Item: DoramStone_Middle3
Rate: 30
- Item: DoramStone_Bottom3
Rate: 30
- Item: StarStone_Top3
Rate: 30
- Item: StarStone_Middle3
Rate: 30
- Item: StarStone_Bottom3
Rate: 30
- Item: RebelStone_Top3
Rate: 30
- Item: RebelStone_Middle3
Rate: 30
- Item: RebelStone_Bottom3
Rate: 30
- Item: ReaperStone_Top3
Rate: 30
- Item: ReaperStone_Middle3
Rate: 30
- Item: ReaperStone_Bottom3
Rate: 30
- Item: SuraStone_Top3
Rate: 30
- Item: SuraStone_Middle3
Rate: 30
- Item: SuraStone_Bottom3
Rate: 30
- Item: MechanicStone_Top3
Rate: 30
- Item: MechanicStone_Middle3
Rate: 30
- Item: MechanicStone_Bottom3
Rate: 30
- Item: GuillcrossStone_Top3
Rate: 30
- Item: GuillcrossStone_Middle3
Rate: 30
- Item: GuillcrossStone_Bottom3
Rate: 30
- Item: ArchbishopStone_Top3
Rate: 30
- Item: ArchbishopStone_Middle3
Rate: 30
- Item: ArchbishopStone_Bottom3
Rate: 30
- Item: RangerStone_Top3
Rate: 30
- Item: RangerStone_Middle3
Rate: 30
- Item: RangerStone_Bottom3
Rate: 30
- Item: ShadowchasStone_Top3
Rate: 30
- Item: ShadowchasStone_Middle3
Rate: 30
- Item: ShadowchasStone_Bottom3
Rate: 30
- Item: WanderMinsStone_Top3
Rate: 30
- Item: WanderMinsStone_Middle3
Rate: 30
- Item: WanderMinsStone_Bottom3
Rate: 30
- Item: GeneticStone_Top3
Rate: 30
- Item: GeneticStone_Middle3
Rate: 30
- Item: GeneticStone_Bottom3
Rate: 30
- Item: SorcererStone_Top3
Rate: 30
- Item: SorcererStone_Middle3
Rate: 30
- Item: SorcererStone_Bottom3
Rate: 30
- Item: RuneknightStone_Top3
Rate: 30
- Item: RuneknightStone_Middle3
Rate: 30
- Item: RuneknightStone_Bottom3
Rate: 30
- Item: WarlockStone_Top3
Rate: 30
- Item: WarlockStone_Middle3
Rate: 30
- Item: WarlockStone_Bottom3
Rate: 30
- Item: RoyalguardStone_Top3
Rate: 30
- Item: RoyalguardStone_Middle3
Rate: 30
- Item: RoyalguardStone_Bottom3
Rate: 30
- Item: Stone_Robe_Box
Rate: 180
- Item: Stone_Robe2_Box
Rate: 180
- Item: Magic_Stone_Top
Rate: 200
- Item: Magic_Stone_Middle
Rate: 200
- Item: Magic_Stone_Bottom
Rate: 200
- Item: Range_Stone_Top
Rate: 200
- Item: Range_Stone
Rate: 200
- Item: Range_Stone_Bottom
Rate: 200
- Item: Melee_Stone_Top
Rate: 200
- Item: Melee_Stone_Middle
Rate: 200
- Item: Melee_Stone_Bottom
Rate: 200
- Item: ReloadStone_Top
Rate: 200
- Item: ReloadStone_Middle
Rate: 200
- Item: ReloadStone_Bottom
Rate: 200
- Item: EXPStone_Middle
Rate: 200
- Item: EXPStone_Bottom
Rate: 200
- Item: EXPStone_Top
Rate: 200
- Item: Stone_Top_Box
Rate: 400
- Item: Stone_Top2_Box
Rate: 400
- Item: Stone_Middle_Box
Rate: 400
- Item: Stone_Middle2_Box
Rate: 400
- Item: Stone_Bottom_Box
Rate: 400
- Item: Stone_Bottom2_Box
Rate: 400
- Item: CastingStone_Top
Rate: 400
- Item: CastingStone_Middle
Rate: 400
- Item: CastingStone_Bottom
Rate: 400
- Item: Critical_Stone
Rate: 400
- Item: Critical_Stone_Top
Rate: 400
- Item: Critical_Stone_Bottom
Rate: 400

View File

@@ -66,6 +66,60 @@
11547,1 // Woe_Violet_Potion
12600,1 // Treasure_Box_Scroll
// Lesser Guild Member's Gear
2052,1 // Woe_T_Staff1_Z
1329,1 // Woe_One_Hand_Axe1_Z
28751,1 // Woe_Knife1_Z
32103,1 // Woe_Instrument1_Z
26210,1 // Woe_Whip1_Z
26019,1 // Woe_T_Lance1_Z
16085,1 // Woe_Club_1_Z
26147,1 // Woe_Wand1_Z
28036,1 // Woe_Katar1_Z
26146,1 // Woe_Healstaff1_Z
21044,1 // Woe_Twohand_Sword1_Z
28133,1 // Woe_Twohand_Axe1_Z
32015,1 // Woe_Onehand_Spear1_Z
18175,1 // Woe_Bow1_Z
13490,1 // Woe_Onehand_Sword1_Z
650000,1 // Woe_Huuma1_Z
1859,1 // Woe_Pist1_Z
22148,1 // Siege_Greave_1Tier
15216,1 // Siege_Robe_1Tier
20865,1 // Siege_Muffler_1Tier
20864,1 // Siege_Manteau_1Tier
22147,1 // Siege_Boots_1Tier
22146,1 // Siege_Shoes_1Tier
15217,1 // Siege_Suits_1Tier
15218,1 // Siege_Plate_1Tier
// Intermediate Guild Member's Gear
520001,1 // Woe_One_Hand_Axe2_Z
570003,1 // Woe_Instrument2_Z
580003,1 // Woe_Whip2_Z
510005,1 // Woe_Knife2_Z
630001,1 // Woe_T_Lance2_Z
590004,1 // Woe_Club_2_Z
550005,1 // Woe_Wand2_Z
610004,1 // Woe_Katar2_Z
550004,1 // Woe_Healstaff2_Z
600005,1 // Woe_Twohand_Sword2_Z
620001,1 // Woe_Twohand_Axe2_Z
640001,1 // Woe_T_Staff2_Z
530001,1 // Woe_Onehand_Spear2_Z
650001,1 // Woe_Huuma2_Z
500006,1 // Woe_Onehand_Sword2_Z
560003,1 // Woe_Pist2_Z
700005,1 // Woe_Bow2_Z
450012,1 // Siege_Robe_2Tier
470011,1 // Siege_Shoes_2Tier
450014,1 // Siege_Plate_2Tier
450013,1 // Siege_Suits_2Tier
470012,1 // Siege_Boots_2Tier
480007,1 // Siege_Muffler_2Tier
480008,1 // Siege_Manteau_2Tier
470013,1 // Siege_Greave_2Tier
//----------------------------------------------------------------------------
// PVP
//----------------------------------------------------------------------------
@@ -209,6 +263,60 @@
12600,16 // Treasure_Box_Scroll
14590,16 // Pty_Assumptio_Scroll
// Lesser Guild Member's Gear
2052,16 // Woe_T_Staff1_Z
1329,16 // Woe_One_Hand_Axe1_Z
28751,16 // Woe_Knife1_Z
32103,16 // Woe_Instrument1_Z
26210,16 // Woe_Whip1_Z
26019,16 // Woe_T_Lance1_Z
16085,16 // Woe_Club_1_Z
26147,16 // Woe_Wand1_Z
28036,16 // Woe_Katar1_Z
26146,16 // Woe_Healstaff1_Z
21044,16 // Woe_Twohand_Sword1_Z
28133,16 // Woe_Twohand_Axe1_Z
32015,16 // Woe_Onehand_Spear1_Z
18175,16 // Woe_Bow1_Z
13490,16 // Woe_Onehand_Sword1_Z
650000,16 // Woe_Huuma1_Z
1859,16 // Woe_Pist1_Z
22148,16 // Siege_Greave_1Tier
15216,16 // Siege_Robe_1Tier
20865,16 // Siege_Muffler_1Tier
20864,16 // Siege_Manteau_1Tier
22147,16 // Siege_Boots_1Tier
22146,16 // Siege_Shoes_1Tier
15217,16 // Siege_Suits_1Tier
15218,16 // Siege_Plate_1Tier
// Intermediate Guild Member's Gear
520001,16 // Woe_One_Hand_Axe2_Z
570003,16 // Woe_Instrument2_Z
580003,16 // Woe_Whip2_Z
510005,16 // Woe_Knife2_Z
630001,16 // Woe_T_Lance2_Z
590004,16 // Woe_Club_2_Z
550005,16 // Woe_Wand2_Z
610004,16 // Woe_Katar2_Z
550004,16 // Woe_Healstaff2_Z
600005,16 // Woe_Twohand_Sword2_Z
620001,16 // Woe_Twohand_Axe2_Z
640001,16 // Woe_T_Staff2_Z
530001,16 // Woe_Onehand_Spear2_Z
650001,16 // Woe_Huuma2_Z
500006,16 // Woe_Onehand_Sword2_Z
560003,16 // Woe_Pist2_Z
700005,16 // Woe_Bow2_Z
450012,16 // Siege_Robe_2Tier
470011,16 // Siege_Shoes_2Tier
450014,16 // Siege_Plate_2Tier
450013,16 // Siege_Suits_2Tier
470012,16 // Siege_Boots_2Tier
480007,16 // Siege_Muffler_2Tier
480008,16 // Siege_Manteau_2Tier
470013,16 // Siege_Greave_2Tier
//----------------------------------------------------------------------------
// Zone 1 - Aldebaran Turbo Track
//----------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -726,7 +726,7 @@ Body:
- Item: Gunslinger_Enchant
RewardGroup: GUNSLINGER_ENCHANT
Requirements:
- Item: Drooping_Rebellion_
- Item: Droop_Gunslinger
- Item: EnchantStone_Recipe
RewardGroup: ENCHANTSTONE_RECIPE
RequiredRequirementsCount: 3
@@ -814,10 +814,10 @@ Body:
- Item: MaxHP_Stone
- Item: ShrinkEffect_Bottom
- Item: ElectricEffect_Top
- Item: SPAbsorb_Stone_Top
- Item: HPAbsorb_Stone_Top
- Item: SPAbsorb_Stone_Robe
- Item: HPAbsorb_Stone_Robe
- Item: Upg_SPdrainStone_Top
- Item: Upg_HPdrainStone_Top
- Item: Upg_SPdrainStone_Robe
- Item: Upg_HPdrainStone_Robe
- Item: WaterFieldEffect_Bottom
- Item: ExplodingEffect_Middle
- Item: WhiteBodyEffect_Middle
@@ -1345,19 +1345,19 @@ Body:
Amount: 10
- Item: Shabby_Crown
Amount: 10
- Item: Cold_Core
- Item: Stone_Of_Chill
Amount: 10
- Item: Silicone_Shell
- Item: Soften_Skin
Amount: 10
- Item: Hedgehog_Picks
- Item: Porcupine_Big_Spike
Amount: 10
- Item: Old_Belt
- Item: Shabby_Old_Belt
Amount: 10
- Item: Moving_Dark_Matter
- Item: Moving_Black_Things
Amount: 10
- Item: Fragments_Valkyrie_Power
- Item: Valkyrie_Fragment
Amount: 10
- Item: Will_Master
- Item: Will_Of_Owner
Amount: 10
- Item: Piece_Of_Chimera
Amount: 10
@@ -1385,19 +1385,19 @@ Body:
Amount: 10
- Item: BrownRatTail
Amount: 10
- Item: Frozen_Stone_Fragment
- Item: Frozen_PieceOfRock
Amount: 10
- Item: SpritJewel
Amount: 10
- Item: Snowball
Amount: 10
- Item: Ktullanux_Eye
- Item: KTULLANUXsEye
Amount: 10
- Item: Hazy_Dream_Fragment
- Item: HazyDream
Amount: 10
- Item: Broken_Arrow
- Item: BrokenArrow
Amount: 10
- Item: Recruitment_Leaflet
- Item: SubjugationFlyer
Amount: 10
- Item: IllusoryStone
Amount: 10
@@ -1415,9 +1415,9 @@ Body:
Amount: 10
- Item: SuspiciousMagicCircle
Amount: 10
- Item: Piece_of_Black_Horn
- Item: PieceOfBlackSpirit
Amount: 10
- Item: Fine_Old_Doll
- Item: OldDoll
Amount: 10
- Item: OldShell
Amount: 10
@@ -1573,7 +1573,7 @@ Body:
- Item: C_Loose_Wave_Twin_BL
- Item: C_Cupid_Wing_Pink
- Item: C_Pecopeco_Cap
- Item: C_Green_Hat
- Item: C_Woodie_Hat
- Item: C_Little_Aquarium
- Item: C_Angel_Fluttering
- Item: C_Niflheim_Bunny_Hat
@@ -1590,9 +1590,9 @@ Body:
- Item: C_Morocc_Kid_Servant
- Item: C_Monochrome_RibbonHat
- Item: C_Khalitzburg_KN_Helm
- Item: C_Laser_of_Eagle
- Item: C_Laser_Of_Eagle
- Item: C_Devil_Wing
- Item: C_Tone_of_Gold
- Item: C_Tone_Of_Gold
- Item: C_Dwarf_Beard
- Item: C_Mad_Hatter
- Item: C_Cons_Of_Water
@@ -1753,14 +1753,14 @@ Body:
- Item: C_Royalguard_Necklace
- Item: C_Happy_Cat_TW
- Item: C_Monochrome_Cap
- Item: C_Sky_of_Memory
- Item: C_Sky_Of_Memory
- Item: C_Ice_Wing
- Item: C_Under_Rim_Glasses_Blue
- Item: C_Under_Rim_Glasses_Bu
- Item: C_Gimmick_One_Feather
- Item: C_Pocketwatch_Hair_Ornament
- Item: C_PocketWatch_Hair_Orna
- Item: C_Poring_Traffic_Light
- Item: C_PGstone_Knit_Hat_PK
- Item: C_Lazy_Ninetail
- Item: C_Drooping_Nine_Tail
- Item: C_Sakura_Wing
- Item: C_Looking
- Item: C_Wolf_Masquerade
@@ -1832,7 +1832,7 @@ Body:
- Item: C_Triple_Ice_Cream
- Item: C_Wrapping_Ribbon
- Item: C_Bear_Head
- Item: C_Kindergarten_Hat
- Item: C_Preschool_Hat
- Item: C_Poulet_TW
- Item: C_Avenger
- Item: C_WitchManteau
@@ -1840,16 +1840,16 @@ Body:
- Item: C_Gothic_Pumpkin_Head
- Item: C_Barrel_Helm
- Item: C_White_Cat_On_Shoulder
- Item: C_Black_Rabbit_Ears
- Item: C_Rabbit_Hopping_BL
- Item: C_G_DaeHyon_Sword_TW
- Item: C_Cat_Ears_Cape_Red
- Item: C_Tare_W_Doll
- Item: C_Goat_Hat
- Item: C_Debril_Doll_Hat
- Item: C_Sheep_Hat
- Item: C_Put_On_Coat
- Item: C_Pink_Pajamas_Hat
- Item: C_L_RibbonMuff_Black
- Item: C_Black_Cat_Ears_Beret
- Item: C_Watery_Eyes
- Item: C_Teardrop
- Item: Fan_Upgrade_Kit
RewardGroup: FAN_UPGRADE_KIT
Requirements:
@@ -1857,11 +1857,11 @@ Body:
- Item: Suit_Upgrade_Kit
RewardGroup: SUIT_UPGRADE_KIT
Requirements:
- Item: Kafra_Uniform
- Item: Kafra_Suit
- Item: FallenAngelWing_Reset
RewardGroup: SCROLL_OF_FALLEN_ANGEL_WINGS
Requirements:
- Item: Fallen_Angel_Wings_
- Item: K_Fallen_Angel_Wing
- Item: Fallen_Angel_Wing
- Item: JobShadow_Mix_Weapon
RewardGroup: CLASS_SHADOW_BOX_WEAPON
@@ -2051,15 +2051,15 @@ Body:
- Item: Candy_Bag_Scroll_Melee
RewardGroup: CANDY_BAG_SCROLL_MELEE
Requirements:
- Item: Bag_Of_Antonio_P
- Item: Bag_Of_Antonio_Melee
- Item: Candy_Bag_Scroll_Range
RewardGroup: CANDY_BAG_SCROLL_RANGE
Requirements:
- Item: Bag_Of_Antonio_S
- Item: Bag_Of_Antonio_Range
- Item: Candy_Bag_Scroll_Magic
RewardGroup: CANDY_BAG_SCROLL_MAGIC
Requirements:
- Item: Bag_Of_Antonio_
- Item: Bag_Of_Antonio_Magic
- Item: Booster_Amplifier
RewardGroup: BOOSTER_AMPLIFIER
Requirements:
@@ -4550,3 +4550,265 @@ Body:
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_60
# RewardGroup: BS_ITEM_M_S_60
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP20_D_Scale
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_61
# RewardGroup: BS_ITEM_M_S_61
# RequiredRequirementsCount: 2
# Requirements:
# - Item: Will_Of_Darkness_
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_62
# RewardGroup: BS_ITEM_M_S_62
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP19_Luminant
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_63
# RewardGroup: BS_ITEM_M_S_63
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP19_D_P_Stone
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Mocadas_Slabs1
# RewardGroup: MOCADAS_SLABS1
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs2
# RewardGroup: MOCADAS_SLABS2
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs3
# RewardGroup: MOCADAS_SLABS3
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs4
# RewardGroup: MOCADAS_SLABS4
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs5
# RewardGroup: MOCADAS_SLABS5
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs6
# RewardGroup: MOCADAS_SLABS6
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs7
# RewardGroup: MOCADAS_SLABS7
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs8
# RewardGroup: MOCADAS_SLABS8
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs9
# RewardGroup: MOCADAS_SLABS9
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs10
# RewardGroup: MOCADAS_SLABS10
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs11
# RewardGroup: MOCADAS_SLABS11
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs12
# RewardGroup: MOCADAS_SLABS12
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs13
# RewardGroup: MOCADAS_SLABS13
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs14
# RewardGroup: MOCADAS_SLABS14
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs15
# RewardGroup: MOCADAS_SLABS15
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs16
# RewardGroup: MOCADAS_SLABS16
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs17
# RewardGroup: MOCADAS_SLABS17
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 50
# - Item: Mocadas_Water
# Amount: 50
# - Item: Crystal_Of_Pollution
# Amount: 50
# - Item: Mocadas_Slabs18
# RewardGroup: MOCADAS_SLABS18
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 50
# - Item: Mocadas_Water
# Amount: 50
# - Item: Crystal_Of_Pollution
# Amount: 50
# - Item: Mocadas_Slabs19
# RewardGroup: MOCADAS_SLABS19
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs20
# RewardGroup: MOCADAS_SLABS20
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs21
# RewardGroup: MOCADAS_SLABS21
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs22
# RewardGroup: MOCADAS_SLABS22
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs23
# RewardGroup: MOCADAS_SLABS23
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100

View File

@@ -40,26 +40,27 @@ Header:
Version: 1
Body:
# - Item: Ein_Ddbox
# TargetItems:
# - Item: Ein_BHSWORD
# - Item: Detecting_Staff
# - Item: Ein_BHHuuma
# - Item: Ein_BHKATAR
# - Item: Ein_BHAXE
# - Item: Ein_BHBOW
# - Item: Ein_1HKNUCK
# - Item: Ein_1HHAMMER
# - Item: Ein_1HWAND
# - Item: Ein_1HWHIP
# - Item: Ein_1HBOOK
# - Item: Ein_1HDAGGER
# - Item: Ein_1HMAGGER
# - Item: Ein_1HSPEAR
# - Item: Ein_1HLUTE
# - Item: Ein_1HSWORD
# - Item: Ein_1HGUN
# - Item: Ein_1H_Foxtail
- Item: Ein_Ddbox
RandomOptionGroup: EIN_DDBOX
TargetItems:
- Item: Ein_BHSWORD
- Item: Ein_BHSTAFF
- Item: Ein_BHHuuma
- Item: Ein_BHKATAR
- Item: Ein_BHAXE
- Item: Ein_BHBOW
- Item: Ein_1HKNUCK
- Item: Ein_1HHAMMER
- Item: Ein_1HWAND
- Item: Ein_1HWHIP
- Item: Ein_1HBOOK
- Item: Ein_1HDAGGER
- Item: Ein_1HMAGGER
- Item: Ein_1HSPEAR
- Item: Ein_1HLUTE
- Item: Ein_1HSWORD
- Item: Ein_1HGUN
- Item: Ein_1H_Foxtail
- Item: Metal_Rifine_Ticket
ResultRefine: 7
CardsAllowed: true
@@ -76,26 +77,27 @@ Body:
- Item: Metal_Revolver
- Item: Metal_Huuma_Shuriken
- Item: Metal_Foxtail
# - Item: Ein_Ddbox2
# TargetItems:
# - Item: Ein_BHSWORD
# - Item: Detecting_Staff
# - Item: Ein_BHHuuma
# - Item: Ein_BHKATAR
# - Item: Ein_BHAXE
# - Item: Ein_BHBOW
# - Item: Ein_1HKNUCK
# - Item: Ein_1HHAMMER
# - Item: Ein_1HWAND
# - Item: Ein_1HWHIP
# - Item: Ein_1HBOOK
# - Item: Ein_1HDAGGER
# - Item: Ein_1HMAGGER
# - Item: Ein_1HSPEAR
# - Item: Ein_1HLUTE
# - Item: Ein_1HSWORD
# - Item: Ein_1HGUN
# - Item: Ein_1H_Foxtail
- Item: Ein_Ddbox2
RandomOptionGroup: EIN_DDBOX2
TargetItems:
- Item: Ein_BHSWORD
- Item: Ein_BHSTAFF
- Item: Ein_BHHuuma
- Item: Ein_BHKATAR
- Item: Ein_BHAXE
- Item: Ein_BHBOW
- Item: Ein_1HKNUCK
- Item: Ein_1HHAMMER
- Item: Ein_1HWAND
- Item: Ein_1HWHIP
- Item: Ein_1HBOOK
- Item: Ein_1HDAGGER
- Item: Ein_1HMAGGER
- Item: Ein_1HSPEAR
- Item: Ein_1HLUTE
- Item: Ein_1HSWORD
- Item: Ein_1HGUN
- Item: Ein_1H_Foxtail
- Item: Gemstone_Of_Time
RandomOptionGroup: GEMSTONE_OF_TIME
TargetItems:
@@ -124,7 +126,7 @@ Body:
- Item: Huuma_Flutter_Snow_IL
- Item: Combo_Battle_Glove_IL
- Item: Cap_IL
- Item: Illusion_Survivor_Manteau
- Item: Clack_Of_Servival_IL
- Item: Herald_Of_GOD_IL
- Item: True_Hunting_9Refine
ResultRefine: 9
@@ -155,18 +157,18 @@ Body:
MaximumRefine: 9
CardsAllowed: true
TargetItems:
- Item: T1_Shadow_Armor
- Item: T1_Shadow_Weapon
- Item: T1_Shadow_Shield
- Item: T1_Shadow_Shoes
- Item: T1_Shadow_R_Accessory
- Item: T1_Shadow_L_Accessory
- Item: T2_Shadow_Armor
- Item: T2_Shadow_Weapon
- Item: T2_Shadow_Shield
- Item: T2_Shadow_Shoes
- Item: T2_Shadow_R_Accessory
- Item: T2_Shadow_L_Accessory
- Item: T_Str1_Armor_S
- Item: T_Dex1_Weapon_S
- Item: T_Luk1_Shield_S
- Item: T_Agi1_Shoes_S
- Item: T_Vit1_Acc_R_S
- Item: T_Int1_Acc_L_S
- Item: T_Str2_Armor_S
- Item: T_Dex2_Weapon_S
- Item: T_Luk2_Shield_S
- Item: T_Agi2_Shoes_S
- Item: T_Vit2_Acc_R_S
- Item: T_Int2_Acc_L_S
- Item: S_Promotion_Weapon
- Item: S_Promotion_Armor
- Item: S_Promotion_Shoes
@@ -961,18 +963,18 @@ Body:
MinimumRefine: 7
MaximumRefine: 10
TargetItems:
- Item: T1_Shadow_Armor
- Item: T1_Shadow_Weapon
- Item: T1_Shadow_Shield
- Item: T1_Shadow_Shoes
- Item: T1_Shadow_R_Accessory
- Item: T1_Shadow_L_Accessory
- Item: T2_Shadow_Armor
- Item: T2_Shadow_Weapon
- Item: T2_Shadow_Shield
- Item: T2_Shadow_Shoes
- Item: T2_Shadow_R_Accessory
- Item: T2_Shadow_L_Accessory
- Item: T_Str1_Armor_S
- Item: T_Dex1_Weapon_S
- Item: T_Luk1_Shield_S
- Item: T_Agi1_Shoes_S
- Item: T_Vit1_Acc_R_S
- Item: T_Int1_Acc_L_S
- Item: T_Str2_Armor_S
- Item: T_Dex2_Weapon_S
- Item: T_Luk2_Shield_S
- Item: T_Agi2_Shoes_S
- Item: T_Vit2_Acc_R_S
- Item: T_Int2_Acc_L_S
- Item: S_Promotion_Weapon
- Item: S_Promotion_Armor
- Item: S_Promotion_Shoes
@@ -1690,25 +1692,25 @@ Body:
RequiredRandomOptions: 2
TargetItems:
- Item: Lava_Leather_Armor
- Item: Lava_Leather_Suit
- Item: Lava_Leather_Suits
- Item: Lava_Leather_Robe
- Item: Shadow_9_Refine_Hammer
ResultRefine: 9
MaximumRefine: 8
CardsAllowed: true
TargetItems:
- Item: T1_Shadow_Armor
- Item: T1_Shadow_Weapon
- Item: T1_Shadow_Shield
- Item: T1_Shadow_Shoes
- Item: T1_Shadow_R_Accessory
- Item: T1_Shadow_L_Accessory
- Item: T2_Shadow_Armor
- Item: T2_Shadow_Weapon
- Item: T2_Shadow_Shield
- Item: T2_Shadow_Shoes
- Item: T2_Shadow_R_Accessory
- Item: T2_Shadow_L_Accessory
- Item: T_Str1_Armor_S
- Item: T_Dex1_Weapon_S
- Item: T_Luk1_Shield_S
- Item: T_Agi1_Shoes_S
- Item: T_Vit1_Acc_R_S
- Item: T_Int1_Acc_L_S
- Item: T_Str2_Armor_S
- Item: T_Dex2_Weapon_S
- Item: T_Luk2_Shield_S
- Item: T_Agi2_Shoes_S
- Item: T_Vit2_Acc_R_S
- Item: T_Int2_Acc_L_S
- Item: S_Promotion_Weapon
- Item: S_Promotion_Armor
- Item: S_Promotion_Shoes
@@ -2408,9 +2410,9 @@ Body:
- Item: ILL_Piece_A
RandomOptionGroup: ILL_PIECE_A
TargetItems:
- Item: Illusion_Bazerald
- Item: Illusion_Butcher
- Item: Illusion_Gold_Lux
- Item: Bazerald_IL
- Item: Butcher_IL
- Item: Gold_Lux_IL
- Item: Infiltrator_IL
- Item: War_Axe_IL
- Item: Immaterial_Sword_IL
@@ -2426,12 +2428,12 @@ Body:
- Item: Spectral_Spear_IL
- Item: Staff_Of_Bordeaux_IL
- Item: Moonlight_Sword_IL
- Item: Illusion_Hunter_Bow
- Item: Illusion_Tablet
- Item: Illusion_Gate_Keeper_DD
- Item: Illusion_Counter_Dagger
- Item: Illusion_Survivor's_Staff
- Item: Illusion_Tae_Goo_Lyeon
- Item: Hunter_Bow_IL
- Item: Tablet_IL
- Item: Gate_KeeperDD_IL
- Item: Counter_Dagger_IL
- Item: Survival_Staff_IL
- Item: Taegoolyeon_IL
- Item: Death_Guidance_IL
- Item: KatarOfCold_Icicle_IL
- Item: Brionac_IL
@@ -2447,9 +2449,9 @@ Body:
- Item: ILL_Piece_B
RandomOptionGroup: ILL_PIECE_B
TargetItems:
- Item: Illusion_Bazerald
- Item: Illusion_Butcher
- Item: Illusion_Gold_Lux
- Item: Bazerald_IL
- Item: Butcher_IL
- Item: Gold_Lux_IL
- Item: Infiltrator_IL
- Item: War_Axe_IL
- Item: Immaterial_Sword_IL
@@ -2465,12 +2467,12 @@ Body:
- Item: Spectral_Spear_IL
- Item: Staff_Of_Bordeaux_IL
- Item: Moonlight_Sword_IL
- Item: Illusion_Hunter_Bow
- Item: Illusion_Tablet
- Item: Illusion_Gate_Keeper_DD
- Item: Illusion_Counter_Dagger
- Item: Illusion_Survivor's_Staff
- Item: Illusion_Tae_Goo_Lyeon
- Item: Hunter_Bow_IL
- Item: Tablet_IL
- Item: Gate_KeeperDD_IL
- Item: Counter_Dagger_IL
- Item: Survival_Staff_IL
- Item: Taegoolyeon_IL
- Item: Death_Guidance_IL
- Item: KatarOfCold_Icicle_IL
- Item: Brionac_IL
@@ -2560,17 +2562,17 @@ Body:
- Item: Up_Crimson_Rose
- Item: Up_OneSkyOneSun
- Item: Up_SoulWeight
- Item: aegis_2064
- Item: Comp_Iron_Staff
- Item: Comp_Undine_Spear_K
- Item: Comp_Royal_Bow_K
- Item: Comp_Shadow_Staff_K
- Item: aegis_1873
- Item: Comp_Iron_Nail_K
- Item: Comp_Sword_Of_Bluefire
- Item: Comp_Oriental_Sword
- Item: aegis_18202
- Item: aegis_1350
- Item: Comp_Narcis_Bow
- Item: Comp_Avenger
- Item: Comp_Magic_Sword
- Item: aegis_28646
- Item: Comp_D_Hunt_Bible_K
- Item: Comp_Shiver_Katar_K_TH
- Item: Comp_Demon_S_Shot
- Item: Comp_Sharp_Wind_Sword
@@ -2578,7 +2580,7 @@ Body:
- Item: Comp_Crimson_Rose
- Item: Comp_The_Black_Gatling
- Item: Comp_MeawFoxtail
- Item: aegis_21066
- Item: Comp_Dragonic_Slayer
- Item: Comp_Fatalist
- Item: Comp_Light_Blade
- Item: Comp_Scalet_DragonL_Bow
@@ -2656,17 +2658,17 @@ Body:
- Item: Up_Crimson_Rose
- Item: Up_OneSkyOneSun
- Item: Up_SoulWeight
- Item: aegis_2064
- Item: Comp_Iron_Staff
- Item: Comp_Undine_Spear_K
- Item: Comp_Royal_Bow_K
- Item: Comp_Shadow_Staff_K
- Item: aegis_1873
- Item: Comp_Iron_Nail_K
- Item: Comp_Sword_Of_Bluefire
- Item: Comp_Oriental_Sword
- Item: aegis_18202
- Item: aegis_1350
- Item: Comp_Narcis_Bow
- Item: Comp_Avenger
- Item: Comp_Magic_Sword
- Item: aegis_28646
- Item: Comp_D_Hunt_Bible_K
- Item: Comp_Shiver_Katar_K_TH
- Item: Comp_Demon_S_Shot
- Item: Comp_Sharp_Wind_Sword
@@ -2674,7 +2676,7 @@ Body:
- Item: Comp_Crimson_Rose
- Item: Comp_The_Black_Gatling
- Item: Comp_MeawFoxtail
- Item: aegis_21066
- Item: Comp_Dragonic_Slayer
- Item: Comp_Fatalist
- Item: Comp_Light_Blade
- Item: Comp_Scalet_DragonL_Bow
@@ -3056,174 +3058,180 @@ Body:
# - Item: Abyss_Ddbox4
# TargetItems:
# - Item: Dragon_Boots
# - Item: Auto_Imp_Melee_1
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
# - Item: Auto_Imp_Melee_2
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
# - Item: Auto_Imp_Melee_3
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
# - Item: Auto_Imp_Magic_1
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
# - Item: Auto_Imp_Magic_2
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
# - Item: Auto_Imp_Magic_3
# TargetItems:
# - Item: Ep172_1h_Sword
# - Item: Ep172_Bh_Sword
# - Item: Ep172_1h_Wand
# - Item: Ep172_1h_Book
# - Item: Ep172_1h_Axe
# - Item: Ep172_1h_Sword2
# - Item: Ep172_Bh_Bow
# - Item: Ep172_Bh_Bow2
# - Item: Ep172_Bh_Knuck
# - Item: Ep172_1h_Spear
# - Item: Ep172_Bh_Spear
# - Item: Ep172_1h_Dagger
# - Item: Ep172_Bh_Katar
# - Item: Ep172_Bh_Staff
# - Item: Ep172_1h_Book2
# - Item: Ep172_1h_Dagger2
# - Item: Ep172_1h_Whip
# - Item: Ep172_1h_Inst
# - Item: Ep172_Bh_Bow3
# - Item: Ep172_Bh_Huuma
# - Item: Ep172_1h_Hammer
# - Item: Ep172_1h_Foxtail
# - Item: Ep172_1h_Rifle
# - Item: Ep172_1h_Shotgun
# - Item: Ep172_1h_Gatling
# - Item: Ep172_1h_Grenade
- Item: Auto_Imp_Melee_1
RandomOptionGroup: AUTO_IMP_MELEE_1
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
- Item: Auto_Imp_Melee_2
RandomOptionGroup: AUTO_IMP_MELEE_2
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
- Item: Auto_Imp_Melee_3
RandomOptionGroup: AUTO_IMP_MELEE_3
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
- Item: Auto_Imp_Magic_1
RandomOptionGroup: AUTO_IMP_MAGIC_1
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
- Item: Auto_Imp_Magic_2
RandomOptionGroup: AUTO_IMP_MAGIC_2
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
- Item: Auto_Imp_Magic_3
RandomOptionGroup: AUTO_IMP_MAGIC_3
TargetItems:
- Item: Ep172_1h_Sword
- Item: Ep172_Bh_Sword
- Item: Ep172_1h_Wand
- Item: Ep172_1h_Book
- Item: Ep172_1h_Axe
- Item: Ep172_1h_Sword2
- Item: Ep172_Bh_Bow
- Item: Ep172_Bh_Bow2
- Item: Ep172_Bh_Knuck
- Item: Ep172_1h_Spear
- Item: Ep172_Bh_Spear
- Item: Ep172_1h_Dagger
- Item: Ep172_Bh_Katar
- Item: Ep172_Bh_Staff
- Item: Ep172_1h_Book2
- Item: Ep172_1h_Dagger2
- Item: Ep172_1h_Whip
- Item: Ep172_1h_Inst
- Item: Ep172_Bh_Bow3
- Item: Ep172_Bh_Huuma
- Item: Ep172_1h_Hammer
- Item: Ep172_1h_Foxtail
- Item: Ep172_1h_Rifle
- Item: Ep172_1h_Shotgun
- Item: Ep172_1h_Gatling
- Item: Ep172_1h_Grenade
# - Item: Class_Sha_R_M_Melee
# TargetItems:
# - Item: S_Swordman_earring
@@ -3986,25 +3994,25 @@ Body:
MaximumRefine: 10
CardsAllowed: true
TargetItems:
- Item: Racing_Cap_MC
- Item: Racing_Cap_GN
- Item: Racing_Cap_GC
- Item: Racing_Cap_SC
- Item: Racing_Cap_WL
- Item: Racing_Cap_SO
- Item: Racing_Cap_RK
- Item: Racing_Cap_RG
- Item: Racing_Cap_AB
- Item: Racing_Cap_SR
- Item: Racing_Cap_RA
- Item: Racing_Cap_MI
- Item: Racing_Cap_WA
- Item: Racing_Cap_GS
- Item: Racing_Cap_NJ
- Item: Racing_Cap_SN
- Item: Racing_Cap_SU
- Item: Racing_Cap_SG
- Item: Racing_Cap_SL
- Item: Racing_C_Mecha
- Item: Racing_C_Gene
- Item: Racing_C_Cross
- Item: Racing_C_Chaser
- Item: Racing_C_Warlock
- Item: Racing_C_Sorcer
- Item: Racing_C_Rune
- Item: Racing_C_Royal
- Item: Racing_C_Bishop
- Item: Racing_C_Sura
- Item: Racing_C_Ranger
- Item: Racing_C_Mins
- Item: Racing_C_Wander
- Item: Racing_C_Gunner
- Item: Racing_C_Ninja
- Item: Racing_C_Super
- Item: Racing_C_Doram
- Item: Racing_C_Star
- Item: Racing_C_Soul
- Item: Booster_W_Up_1
ResultRefine: 9
MaximumRefine: 8
@@ -4340,7 +4348,7 @@ Body:
- Item: Huuma_Flutter_Snow_IL
- Item: Combo_Battle_Glove_IL
- Item: Cap_IL
- Item: Illusion_Survivor_Manteau
- Item: Clack_Of_Servival_IL
- Item: Herald_Of_GOD_IL
- Item: Turtle_Is_Box_IL
ResultRefineMinimum: 7
@@ -4375,11 +4383,11 @@ Body:
MaximumRefine: 9
CardsAllowed: true
TargetItems:
- Item: Illusion_Survivor's_Staff
- Item: Illusion_Gate_Keeper_DD
- Item: Illusion_Counter_Dagger
- Item: Illusion_Hot_blooded_Headband
- Item: Illusion_Boots
- Item: Survival_Staff_IL
- Item: Gate_KeeperDD_IL
- Item: Counter_Dagger_IL
- Item: Headband_Of_Power_IL
- Item: Boots_IL
- Item: S_Teddy_Bear_Box_IL
ResultRefineMinimum: 9
ResultRefineMaximum: 12
@@ -4387,11 +4395,11 @@ Body:
MaximumRefine: 11
CardsAllowed: true
TargetItems:
- Item: Illusion_Survivor's_Staff
- Item: Illusion_Gate_Keeper_DD
- Item: Illusion_Counter_Dagger
- Item: Illusion_Hot_blooded_Headband
- Item: Illusion_Boots
- Item: Survival_Staff_IL
- Item: Gate_KeeperDD_IL
- Item: Counter_Dagger_IL
- Item: Headband_Of_Power_IL
- Item: Boots_IL
- Item: Luanda_Box_IL
ResultRefineMinimum: 7
ResultRefineMaximum: 10
@@ -4399,12 +4407,12 @@ Body:
MaximumRefine: 9
CardsAllowed: true
TargetItems:
- Item: Illusion_Hunter_Bow
- Item: Illusion_Tablet
- Item: Illusion_Goibne_Armor
- Item: Illusion_Goibne_Helm
- Item: Illusion_Goibne_Spaulders
- Item: Illusion_Goibne's_Greaves
- Item: Hunter_Bow_IL
- Item: Tablet_IL
- Item: Goibne_Armor_IL
- Item: Goibne_Helmet_IL
- Item: Goibne_Shoulder_IL
- Item: Goibne_Boots_IL
- Item: S_Luanda_Box_IL
ResultRefineMinimum: 9
ResultRefineMaximum: 12
@@ -4412,12 +4420,12 @@ Body:
MaximumRefine: 11
CardsAllowed: true
TargetItems:
- Item: Illusion_Hunter_Bow
- Item: Illusion_Tablet
- Item: Illusion_Goibne_Armor
- Item: Illusion_Goibne_Helm
- Item: Illusion_Goibne_Spaulders
- Item: Illusion_Goibne's_Greaves
- Item: Hunter_Bow_IL
- Item: Tablet_IL
- Item: Goibne_Armor_IL
- Item: Goibne_Helmet_IL
- Item: Goibne_Shoulder_IL
- Item: Goibne_Boots_IL
- Item: Labyrinth_Box_IL
ResultRefineMinimum: 7
ResultRefineMaximum: 10
@@ -4425,25 +4433,25 @@ Body:
MaximumRefine: 9
CardsAllowed: true
TargetItems:
- Item: Illusion_Tae_Goo_Lyeon
- Item: Illusion_Butcher
- Item: Illusion_Gold_Lux
- Item: Illusion_Bazerald
- Item: Illusion_Morpheus's_Hood
- Item: Illusion_Morpheus's_Shawl
- Item: S_Labyrinth_Box_IL
- Item: Taegoolyeon_IL
- Item: Butcher_IL
- Item: Gold_Lux_IL
- Item: Bazerald_IL
- Item: Morpheus_Hood_IL
- Item: Morpheus_Shawl_IL
- Item: S_Teddy_Labyrinth_IL
ResultRefineMinimum: 9
ResultRefineMaximum: 12
MinimumRefine: 4
MaximumRefine: 11
CardsAllowed: true
TargetItems:
- Item: Illusion_Tae_Goo_Lyeon
- Item: Illusion_Butcher
- Item: Illusion_Gold_Lux
- Item: Illusion_Bazerald
- Item: Illusion_Morpheus's_Hood
- Item: Illusion_Morpheus's_Shawl
- Item: Taegoolyeon_IL
- Item: Butcher_IL
- Item: Gold_Lux_IL
- Item: Bazerald_IL
- Item: Morpheus_Hood_IL
- Item: Morpheus_Shawl_IL
- Item: Underwater_Box_IL
ResultRefineMinimum: 7
ResultRefineMaximum: 10
@@ -4460,8 +4468,8 @@ Body:
- Item: Saint_Robe_IL
- Item: Water_Sprits_Armor_IL
- Item: Chain_Mail_IL
- Item: Morrigane's_Helm_IL
- Item: Morrigane's_Manteau_IL
- Item: Morrigane_Helm_IL
- Item: Morrigane_Manyeau_IL
- Item: S_Underwater_Box_IL
ResultRefineMinimum: 9
ResultRefineMaximum: 12
@@ -4478,8 +4486,8 @@ Body:
- Item: Saint_Robe_IL
- Item: Water_Sprits_Armor_IL
- Item: Chain_Mail_IL
- Item: Morrigane's_Helm_IL
- Item: Morrigane's_Manteau_IL
- Item: Morrigane_Helm_IL
- Item: Morrigane_Manyeau_IL
- Item: Circlet_Refine_Cube
ResultRefine: 11
MaximumRefine: 10
@@ -5213,3 +5221,25 @@ Body:
- Item: Anti_Magic_Manteau
- Item: Comp_Anti_Manteau_TH
- Item: Comp_Geffen_M_Muffle
# - Item: Loki_Coin_2
# TargetItems:
# - Item: Gambler_Seal_KR_
# - Item: Loki_Advice_2
# TargetItems:
# - Item: Spade_Ace_Melee
# - Item: Loki_Advice
# TargetItems:
# - Item: Heart_Ace_Melee
# - Item: Loki_Coin
# TargetItems:
# - Item: Gambler_Seal_KR_
# - Item: Glacier_Armor_9Refine
# NotSocketEnchantItem: false
# TargetItems:
# - Item: Glacier_Armor
# - Item: Glacier_Robe
# - Item: Glacier_Manteau
# - Item: Glacier_Muffler
# - Item: Glacier_Boots
# - Item: Glacier_Shoes
# - Item: Glacier_Guard

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,10 +35,173 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 1
Version: 2
Body:
- Map: tur_d03_i
SpecificDrops:
- Monster: ILL_ASSULTER
Drops:
- Index: 0
Item: IllusionStone
Rate: 10
- Index: 1
Item: Huuma_Bird_Wing_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_PERMETER
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 25
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_FREEZER
Drops:
- Index: 0
Item: Immaterial_Sword_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_SOLIDER
Drops:
- Index: 0
Item: Iron_Driver_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: War_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 3
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_HEATER
Drops:
- Index: 0
Item: Pole_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Map: tur_d04_i
SpecificDrops:
- Monster: ILL_ASSULTER
Drops:
- Index: 0
Item: IllusionStone
Rate: 10
- Index: 1
Item: Huuma_Bird_Wing_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_PERMETER
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 25
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_FREEZER
Drops:
- Index: 0
Item: Immaterial_Sword_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_SOLIDER
Drops:
- Index: 0
Item: Iron_Driver_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: War_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 3
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_HEATER
Drops:
- Index: 0
Item: Pole_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_TURTLE_GENERAL
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 5000
- Index: 1
Item: Immaterial_Sword_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 2
Item: Iron_Driver_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 3
Item: Pole_Axe_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 4
Item: IllusionStone
Rate: 15000
- Index: 5
Item: War_Axe_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 6
Item: Huuma_Bird_Wing_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 7
Item: S_Turtle_Is_Box_IL
Rate: 150

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -112,7 +112,7 @@ Body:
Amount: 1
- Target: SWEETS_DROPS
ItemRequirements:
- Item: Sweets_Festival_Coin
- Item: Sweets_Coin
Amount: 500
- Item: Candy
Amount: 50
@@ -168,7 +168,6 @@ Body:
Amount: 30
- Item: Leaf_Lunatic_Card
Amount: 1
- Mob: PICKY
TameItem: Earthworm_The_Dude
EggItem: Picky_Egg
@@ -1361,7 +1360,7 @@ Body:
- Mob: TEDDY_BEAR
TameItem: Little_Dall_Needle
EggItem: Teddy_Bear_Egg
FoodItem: Cotton_Tufts
FoodItem: Wad_Of_Cotton
Fullness: 3
IntimacyFed: 50
CaptureRate: 2000
@@ -1498,7 +1497,7 @@ Body:
}
- Mob: MOONLIGHT
EggItem: Moonlight_Egg
FoodItem: Luxurious_Pet_Food
FoodItem: High_Class_Pet_food
Fullness: 1
HungryDelay: 120
IntimacyFed: 15
@@ -1922,7 +1921,7 @@ Body:
bonus bAspdRate,1;
}
- Mob: SWEETS_DROPS
EggItem: Sweet_Drops_Egg
EggItem: Sweets_Drops_Egg
FoodItem: Candy
Fullness: 2
HungryDelay: 120
@@ -2060,7 +2059,7 @@ Body:
}
# - Mob: BACSOJIN2
# EggItem: Bacsojin2_Egg_
# FoodItem: Luxurious_Pet_Food
# FoodItem: High_Class_Pet_food
# Fullness: 7
# IntimacyFed: 10
# CaptureRate: 0
@@ -2083,7 +2082,7 @@ Body:
# }
# - Mob: ORK_HERO2
# EggItem: Orc_Hero_Egg_
# FoodItem: Luxurious_Pet_Food
# FoodItem: High_Class_Pet_food
# Fullness: 2
# HungryDelay: 120
# IntimacyFed: 15
@@ -2104,3 +2103,70 @@ Body:
# } else {
# bonus bAtkRate,1;
# }
# - Mob: PHREEONI2
# EggItem: Phreeoni_Egg
# FoodItem: High_Class_Pet_food
# Fullness: 2 # unknown
# HungryDelay: 120 # unknown
# IntimacyFed: 15 # unknown
# CaptureRate: 0 # unknown
# SpecialPerformance: false # unknown
# AllowAutoFeed: true
# Script: >
# .@intimate = getpetinfo(PETINFO_INTIMATE);
# if (.@intimate == PET_INTIMATE_AWKWARD || .@intimate == PET_INTIMATE_SHY) {
# bonus bHit,6;
# }
# if (.@intimate == PET_INTIMATE_NEUTRAL) {
# bonus bHit,10;
# bonus bPerfectHitRate,5;
# }
# if (.@intimate == PET_INTIMATE_CORDIAL) {
# bonus bHit,14;
# bonus bPerfectHitRate,10;
# }
# if (.@intimate == PET_INTIMATE_LOYAL) {
# bonus bHit,18;
# bonus bPerfectHitRate,15;
# }
- Mob: EP17_2_CHILD_ADMIN1
CaptureRate : 1000
EggItem: Ep17_2_C_Admin1_Egg
EquipItem: Ep_17_2_C_Admin1_Acc
FoodItem: Cloud_Cotton
Fullness: 2
IntimacyFed: 20
Script: >
.@i = getpetinfo(PETINFO_INTIMATE);
if (.@i >= PET_INTIMATE_LOYAL) {
bonus2 bAddRace2,RC2_EP172BETA,10;
} else if (.@i >= PET_INTIMATE_CORDIAL) {
bonus2 bAddRace2,RC2_EP172BETA,6;
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
bonus2 bAddRace2,RC2_EP172BETA,3;
}
Evolution:
- Target: EP17_2_CHILD_ADMIN2
ItemRequirements:
- Item: Mystery_Piece
Amount: 10
- Item: Broken_Steel_Piece
Amount: 50
- Item: BarMealTicket
Amount: 500
- Mob: EP17_2_CHILD_ADMIN2
CaptureRate : 1000
EggItem: Ep17_2_C_Admin2_Egg
EquipItem: Ep_17_2_C_Admin2_Acc
FoodItem: Pet_Food
Fullness: 2
IntimacyFed: 20
Script: >
.@i = getpetinfo(PETINFO_INTIMATE);
if (.@i >= PET_INTIMATE_LOYAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,15;
} else if (.@i >= PET_INTIMATE_CORDIAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,8;
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,4;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2057,8 +2057,8 @@ Body:
Flags:
NoSave: true
NoClearance: true
RequireWeapon: true
RemoveOnHermode: true
RequireNoWeapon: true
- Status: Spirit
Icon: EFST_SOULLINK
DurationLookup: SL_HIGH
@@ -5822,7 +5822,6 @@ Body:
NoBanishingBuster: true
NoClearance: true
SendVal1: true
NoForcedEnd: true
- Status: Angel_Protect
Icon: EFST_ANGEL_PROTECT
Flags:
@@ -8530,3 +8529,246 @@ Body:
NoClearance: true
- Status: WeaponBreaker
DurationLookup: NPC_WEAPONBRAKER
- Status: Tempering
Icon: EFST_TEMPERING
DurationLookup: MH_TEMPERING
CalcFlags:
Patk: true
- Status: Goldene_Tone
Icon: EFST_GOLDENE_TONE
DurationLookup: MH_GOLDENE_TONE
CalcFlags:
Res: true
Mres: true
- Status: Toxin_of_Mandara
Icon: EFST_TOXIN_OF_MANDARA
DurationLookup: MH_TOXIN_OF_MANDARA
Flags:
Debuff: true
CalcFlags:
Res: true
- Status: GRADUAL_GRAVITY
Icon: EFST_GRADUAL_GRAVITY
DurationLookup: NPC_GRADUAL_GRAVITY
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoClearance: true
- Status: ALL_STAT_DOWN
Icon: EFST_ALL_STAT_DOWN
DurationLookup: NPC_ALL_STAT_DOWN
CalcFlags:
Str: true
Agi: true
Vit: true
Int: true
Dex: true
Luk: true
Flags:
NoDispell: true
NoClearance: true
- Status: Killing_Aura
Icon: EFST_KILLING_AURA
DurationLookup: NPC_KILLING_AURA
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: DAMAGE_HEAL
Icon: EFST_DAMAGE_HEAL
DurationLookup: NPC_DAMAGE_HEAL
Flags:
NoDispell: true
- Status: IMMUNE_PROPERTY_NOTHING
Icon: EFST_IMMUNE_PROPERTY_NOTHING
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_WATER
Icon: EFST_IMMUNE_PROPERTY_WATER
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_GROUND
Icon: EFST_IMMUNE_PROPERTY_GROUND
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_FIRE
Icon: EFST_IMMUNE_PROPERTY_FIRE
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_WIND
Icon: EFST_IMMUNE_PROPERTY_WIND
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_POISON
Icon: EFST_IMMUNE_PROPERTY_POISON
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_SAINT
Icon: EFST_IMMUNE_PROPERTY_SAINT
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_DARKNESS
Icon: EFST_IMMUNE_PROPERTY_DARKNESS
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_TELEKINESIS
Icon: EFST_IMMUNE_PROPERTY_TELEKINESIS
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_UNDEAD
Icon: EFST_IMMUNE_PROPERTY_UNDEAD
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
- Status: RELIEVE_ON
Icon: EFST_RELIEVE_DAMAGE
DurationLookup: NPC_RELIEVE_ON
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Relieve_off: true
- Status: Relieve_off
DurationLookup: NPC_RELIEVE_OFF
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Relieve_on: true
- Status: Rush_Quake1
Icon: EFST_RUSH_QUAKE1
DurationLookup: MT_RUSH_QUAKE
Flags:
BlEffect: true
Debuff: true
- Status: Rush_Quake2
Icon: EFST_RUSH_QUAKE2
DurationLookup: MT_RUSH_QUAKE
CalcFlags:
All: true

View File

@@ -304,10 +304,10 @@ Body:
- Index: 1
Value: 0
CostsHuman:
RequiredItem: Clothing_Dye_Coupon_II
RequiredItem: Clothing_Dye_Coupon2
RequiredItemBox: CCloth_Dye_Coupon2_Box
CostsDoram:
RequiredItem: Clothing_Dye_Coupon_II
RequiredItem: Clothing_Dye_Coupon2
RequiredItemBox: CCloth_Dye_Coupon2_Box
- Index: 2
Value: 2

View File

@@ -30,7 +30,7 @@ This list contains all available constants referenced in the 'bonus' commands.
RC2_Treasure, RC2_BioLab, RC2_Manuk, RC2_Splendide, RC2_Scaraba, RC2_OGH_ATK_DEF, RC2_OGH_Hidden,
RC2_Bio5_Swordman_Thief, RC2_Bio5_Acolyte_Merchant, RC2_Bio5_Mage_Archer, RC2_Bio5_MVP,
RC2_Clocktower, RC2_Thanatos, RC2_Faceworm, RC2_Hearthunter, RC2_Rockridge, RC2_Werner_Lab,
RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo
RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo, RC2_EP172ALPHA, RC2_EP172BETA, RC2_EP172BATH
* Class (c)
Class_Normal, Class_Boss, Class_Guardian, Class_All
@@ -322,6 +322,11 @@ bonus bIgnoreMDefEle,e; Disregard MDEF against enemies of element e
bonus2 bIgnoreDefClassRate,c,n; Disregard n% of the target's DEF if the target belongs to class c
bonus2 bIgnoreMdefClassRate,c,n; Disregard n% of the target's MDEF if the target belongs to class c
Ignore Res
----------
bonus2 bIgnoreResRaceRate,r,n; Disregard n% of the target's Res if the target belongs to race r
bonus2 bIgnoreMResRaceRate,r,n; Disregard n% of the target's MRes if the target belongs to race r
Experience
----------
bonus2 bExpAddRace,r,x; Increase exp gained by x% against enemies of race r

View File

@@ -212,6 +212,8 @@ ex: if your NPC is named 'Hunter#hunter1', it will be displayed as 'Hunter'
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp2%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp(<state>)%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp2(<state>)%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
This will define a warp NPC that will warp a player between maps, and while most
arguments of that are obvious, some deserve special mention.
@@ -229,10 +231,20 @@ current scripts have a zero in there.
Unlike 'warp', 'warp2' will also be triggered by hidden player.
The basic state of the warp can be defined in <state>. Only one state can be defined at a time.
Duplicate warps (including instance warps) inherit the <state> of the original warp.
Valid <state> are:
CLOAKED Make the warp specified cloaked.
HIDDEN Make the warp specified hidden.
DISABLED Make the warp specified disabled.
** Define an NPC object.
<map name>,<x>,<y>,<facing>%TAB%script%TAB%<NPC Name>%TAB%<sprite id>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script%TAB%<NPC Name>%TAB%<sprite id>,<triggerX>,<triggerY>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script(<state>)%TAB%<NPC Name>%TAB%<sprite id>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script(<state>)%TAB%<NPC Name>%TAB%<sprite id>,<triggerX>,<triggerY>,{<code>}
This will place an NPC object on a specified map at the specified location, and
is a top-level command you will use the most in your custom scripting. The NPCs
@@ -246,6 +258,8 @@ degrees, where 0 means facing towards the top of the map. (So to turn the sprite
towards the bottom of the map, you use facing 4, and to make it look southeast
it's facing 5.)
<state> works like the warp <state> defined above, but for NPCs.
Sprite ID is the sprite number or constant used to display this particular NPC.
You may also use a monster's ID instead to display a monster sprite for this NPC.
It is possible to use a job sprite as well, but you must first define it as a
@@ -269,6 +283,24 @@ triggered. It may contain commands and function calls, descriptions of which
compose most of this document. It has to be in curly brackets, unlike elsewhere
where we use curly brackets, these do NOT signify an optional parameter.
Example of how <state> works:
// Define a cloaked NPC :
lighthalzen,306,267,5 script Skia#ep162_04 4_EP16_SKIA,{
//...
end;
OnInit:
cloakonnpc();
end;
}
// Another way to define a cloaked NPC using <state> :
lighthalzen,306,267,5 script(CLOAKED) Skia#ep162_04 4_EP16_SKIA,{
//...
end;
}
** Define a 'floating' NPC object.
-%TAB%script%TAB%<NPC Name>%TAB%-1,{<code>}
@@ -4414,7 +4446,6 @@ you have maximum. Like 'heal', this will not call up any animations or effects.
*recovery <type>{,<option>,<revive_flag>{,<map name>}};
This command will revive and fully restore the HP/SP of the selected characters.
It returns 1 upon successful use.
<type> is the target, and determines the <option> parameter:
0: Player -> Character ID number
@@ -6452,8 +6483,7 @@ the invoking character. Example can be found in the wedding script.
This function will "un-marry" the invoking character from whoever they were
married to. Both will no longer be each other's marriage partner, (at least in
current SVN, which prevents the cases of multi-spouse problems). It will return
1 upon success or 0 if the character was not married at all.
current SVN, which prevents the cases of multi-spouse problems).
This function will also destroy both wedding rings and send a message to both
players, telling them they are now divorced.
@@ -7038,9 +7068,6 @@ the invoking NPC's actions, such as using an emotion or talking.
Whichever of the both NPCs is talked to, both will show a random emotion at the
same time.
As of r16564, command now returns 1 or 0 on success and failure.
A debug message also shows on the console when no events are triggered.
---------------------------------------
*cmdothernpc "<npc name>","<command>";
@@ -7048,8 +7075,6 @@ A debug message also shows on the console when no events are triggered.
This is simply "donpcevent <npc name>::OnCommand<command>".
It is an approximation of official server script language's 'cmdothernpc'.
Returns true if the command was executed on the other NPC successfully, false if not.
---------------------------------------
*npctalk "<message>"{,"<NPC name>",<flag>{,<color>}};
@@ -8490,10 +8515,10 @@ flag: Specify target
---------------------------------------
*unitskilluseid <GID>,<skill id>,<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>};
*unitskilluseid <GID>,"<skill name>",<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>};
*unitskillusepos <GID>,<skill id>,<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>};
*unitskillusepos <GID>,"<skill name>",<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>};
*unitskilluseid <GID>,<skill id>,<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskilluseid <GID>,"<skill name>",<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskillusepos <GID>,<skill id>,<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskillusepos <GID>,"<skill name>",<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
This is the replacement of the older commands, these use the same values for
GID as the other unit* commands (See 'GID').
@@ -8509,6 +8534,9 @@ CastCancel from skill_db.yml is the default value of <cancel>.
If <Line_ID> is defined (positive number, default 0) the monster will say the message from 'Line_ID'
in mob_chat_db.yml when casting the skill.
If <ignore_range> is true, the unit will ignore the skill range defined by the database. The default value is false.
Attention! this setting does not work for all skills.
---------------------------------------
*unitexists <GID>;
@@ -9697,12 +9725,18 @@ Examples:
---------------------------------------
*instance_warpall "<map name>",<x>,<y>{,<instance id>};
*instance_warpall "<map name>",<x>,<y>{,<instance id>,{<flag>}};
Warps all players in the <instance id> to <map name> to the given coordinates.
If no ID is specified, the IM_PARTY instance the invoking player is attached
to is used. If that fails, the script will come to a halt.
<flag> bitmask allows to add restrictions.
Available values for the <flag> bitmask:
IWA_NONE No restriction. (default)
IWA_NOTDEAD If dead players are warped or not
---------------------------------------
*instance_announce <instance id>,"<text>",<flag>{,<fontColor>{,<fontType>{,<fontSize>{,<fontAlign>{,<fontY>}}}}};

View File

@@ -248,6 +248,7 @@ Flags: Various status flags for specific status change events.
NonPlayer - Sends the NPC_SHOWEFST_UPDATE packet. Used to send effects to NPC/monsters.
RequireWeapon - Status requires a weapon to be equipped.
RequireNoWeapon - Status requires that no weapons be equipped.
RequireShield - Status requires a shield to be equipped.
SuperNoviceAngel - Status that is given from Super Novice Angel.

View File

@@ -0,0 +1,34 @@
###########################################################################
# Enchantgrade Database
###########################################################################
#
# Enchantgrade Settings
#
###########################################################################
# - Type Item type.
# Levels: Enchantgrade settings per item level.
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
# Announce Announce on upgrade success and failure.
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
# Set to 0 to disable the catalyst.
# MaximumSteps Maximum amount of times Item can be used.
# ChanceIncrease Amount at which the chance increases for each Item used.
# Options: Success chance based on cost type.
# - Option Index of the client option.
# Item Required item.
# Amount Amount of required item. (Default: 1)
# Set to 0 to remove an option.
# Price Amount of zeny required. (Default: 0)
# BreakingRate Chance of item breaking out of 0~10000. (Default: 0)
# DowngradeAmount Number of refine levels reduced on failure. (Default: 0)
###########################################################################

View File

@@ -0,0 +1,36 @@
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2021 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify

View File

@@ -39,6 +39,7 @@ CREATE TABLE `item_db2_re` (
`job_rogue` tinyint(1) unsigned DEFAULT NULL,
`job_sage` tinyint(1) unsigned DEFAULT NULL,
`job_soullinker` tinyint(1) unsigned DEFAULT NULL,
`job_spirit_handler` tinyint(1) unsigned DEFAULT NULL,
`job_stargladiator` tinyint(1) unsigned DEFAULT NULL,
`job_summoner` tinyint(1) unsigned DEFAULT NULL,
`job_supernovice` tinyint(1) unsigned DEFAULT NULL,
@@ -53,6 +54,7 @@ CREATE TABLE `item_db2_re` (
`class_third` tinyint(1) unsigned DEFAULT NULL,
`class_third_upper` tinyint(1) unsigned DEFAULT NULL,
`class_third_baby` tinyint(1) unsigned DEFAULT NULL,
`class_fourth` tinyint(1) unsigned DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`location_head_top` tinyint(1) unsigned DEFAULT NULL,
`location_head_mid` tinyint(1) unsigned DEFAULT NULL,

View File

@@ -39,6 +39,7 @@ CREATE TABLE `item_db_re` (
`job_rogue` tinyint(1) unsigned DEFAULT NULL,
`job_sage` tinyint(1) unsigned DEFAULT NULL,
`job_soullinker` tinyint(1) unsigned DEFAULT NULL,
`job_spirit_handler` tinyint(1) unsigned DEFAULT NULL,
`job_stargladiator` tinyint(1) unsigned DEFAULT NULL,
`job_summoner` tinyint(1) unsigned DEFAULT NULL,
`job_supernovice` tinyint(1) unsigned DEFAULT NULL,
@@ -53,6 +54,7 @@ CREATE TABLE `item_db_re` (
`class_third` tinyint(1) unsigned DEFAULT NULL,
`class_third_upper` tinyint(1) unsigned DEFAULT NULL,
`class_third_baby` tinyint(1) unsigned DEFAULT NULL,
`class_fourth` tinyint(1) unsigned DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`location_head_top` tinyint(1) unsigned DEFAULT NULL,
`location_head_mid` tinyint(1) unsigned DEFAULT NULL,

View File

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db2` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db2_re` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db_re` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -345,6 +345,7 @@ D8: Restrict("RE",4,5);
Disp("Bio Lab 1:Bio Lab 2:Bio Lab 3:Bio Lab 4:Tomb of the Fallen"); Pick("","lhz_dun01","lhz_dun02","lhz_dun03","lhz_dun04","lhz_dun_n");
D9: Restrict("RE");
setarray @c[2],87,47,262,262;
Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
D10: Restrict("RE",6);
setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187;
Disp("Byalan Dungeon",1,6); Pick("iz_dun",1);
@@ -382,7 +383,7 @@ D23: menu "Illusion of Abyss",SubD1, "Illusion of Frozen",SubD2, "Illusion of La
"Illusion of Luanda",SubD4, "Illusion of Moonlight",SubD5, "Illusion of Teddy Bear",SubD6,
"Illusion of Twins",SubD7, "Illusion of Underwater",SubD8, "Illusion of Vampire",SubD9;
SubD1: Restrict("RE");
setarray @c[2],132,189,100,192;
setarray @c[2],132,189,99,186;
Disp("Desolate Village:Bleak Turtle Palace"); Pick("","tur_d03_i","tur_d04_i");
SubD2: Restrict("RE");
Go("ice_d03_i",149,22);

View File

@@ -7,6 +7,7 @@
//= 1.7 Updated. [Lupus]
//= 1.8 Updated. [L0ne_W0lf]
//= 1.9 Renewal split. [Euphy]
//= 2.0 Moved instances to pre-renewal. [Lemongrass]
//============================================================
//============================================================
@@ -268,23 +269,6 @@ que_qaru03 mapflag nosave SavePoint
que_qaru04 mapflag nosave SavePoint
que_qaru05 mapflag nosave SavePoint
//============================================================
// Sealed Shrine
//============================================================
1@cata mapflag nosave SavePoint
2@cata mapflag nosave SavePoint
//============================================================
// Endless Tower
//============================================================
e_tower mapflag nosave SavePoint
1@tower mapflag nosave SavePoint
2@tower mapflag nosave SavePoint
3@tower mapflag nosave SavePoint
4@tower mapflag nosave SavePoint
5@tower mapflag nosave SavePoint
6@tower mapflag nosave SavePoint
//============================================================
// Battlegrounds
//============================================================
@@ -307,18 +291,6 @@ schg_dun01 mapflag nosave SavePoint
arug_que01 mapflag nosave SavePoint
arug_dun01 mapflag nosave SavePoint
//============================================================
// Orc's Memory
//============================================================
1@orcs mapflag nosave SavePoint
2@orcs mapflag nosave SavePoint
//============================================================
// Nidhoggr's Instance
//============================================================
1@nyd mapflag nosave SavePoint
2@nyd mapflag nosave SavePoint
//============================================================
// RWC
//============================================================

View File

@@ -0,0 +1,37 @@
//===== rAthena Script =======================================
//= Mapflag: Disable auto-save.
//===== Description: =========================================
//= Characters logging out on the specified map will be warped
//= to the map specified in the last field, or "SavePoint".
//===== Additional Comments: =================================
//= 1.0 Renewal Split. [Lemongrass]
//============================================================
//============================================================
// Endless Tower
//============================================================
e_tower mapflag nosave SavePoint
1@tower mapflag nosave SavePoint
2@tower mapflag nosave SavePoint
3@tower mapflag nosave SavePoint
4@tower mapflag nosave SavePoint
5@tower mapflag nosave SavePoint
6@tower mapflag nosave SavePoint
//============================================================
// Sealed Shrine
//============================================================
1@cata mapflag nosave SavePoint
2@cata mapflag nosave SavePoint
//============================================================
// Orc's Memory
//============================================================
1@orcs mapflag nosave SavePoint
2@orcs mapflag nosave SavePoint
//============================================================
// Nidhoggr's Instance
//============================================================
1@nyd mapflag nosave SavePoint
2@nyd mapflag nosave SavePoint

View File

@@ -608,7 +608,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
mes "[Zic]";
mes "Let's see, I'll need...";
mes "1 ^0000FFSilk Ribbon^000000";
mes "50 ^0000FFHeroic Emlbem^000000";
mes "50 ^0000FFHeroic Emblem^000000";
mes "...Did you know this already?";
close;
case 2:
@@ -617,7 +617,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
next;
mes "[Zic]";
mes "Okay, I'll need...";
mes "1 ^0000FFHeart hair pin^000000";
mes "1 ^0000FFHeart Hairpin^000000";
mes "10 ^0000FFSteel^000000";
mes "...Did you know this already?";
close;
@@ -627,7 +627,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
next;
mes "[Zic]";
mes "I need to have...";
mes "1 ^0000FFJack a Dandy^000000";
mes "1 ^0000FFJack be Dandy^000000";
mes "1 ^0000FFScarlet Dyestuffs^000000";
mes "...Did you know this already?";
close;
@@ -760,7 +760,7 @@ alberta,136,79,1 script Hat store girl#new30 71,{
mes "^0000FF1 Wizard Hat^000000";
mes "^0000FF400 Dragon Scale^000000";
mes "^0000FF50 Mould Powder^000000";
mes "^0000FF1 Elder Wilow Card^000000";
mes "^0000FF1 Elder Willow Card^000000";
next;
if ((countitem(2252) > 0) && (countitem(1036) > 399) && (countitem(4052) > 0) && (countitem(7001) > 49)) {
mes "[Tempestra]";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,881 @@
//===== rAthena Script =======================================
//= Friday Memorial Dungeon
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Friday Memorial Dungeon
//===== Changelogs: ==========================================
//= 1.0 Initial release [Everade]
//= 1.1 Clean-up [Capuche]
//============================================================
gef_tower,57,170,3 script Marry Jay 4_F_JOB_BLACKSMITH,{
if (BaseLevel < 130) {
mes "[Marry Jay]";
mes "Your base level is too low, come back when you hit level 130.";
close;
}
mes "^ff0000If you do any monster processing, such as monster taming within the dungeon, it won't count towards your progress. Please take note.^000000";
next;
.@day = gettime(DT_DAYOFWEEK);
if (.@day != FRIDAY) {
mes "[Marry Jay]";
mes "Oh, a curious onlooker? I'm Marry Jay, the person in charge of Fridays among the days of the week.";
next;
select( "When is the opening time?" );
mes "[Marry Jay]";
mes "The dungeon will be open during:";
mes "^0000FFFriday 00:00 ~ Friday 23:59^000000";
next;
mes "[Marry Jay]";
mes "I hope to see you when Friday arrives~";
close;
}
.@md_name$ = "Friday Dungeon";
switch(checkquest(12379,PLAYTIME)) {
case -1:
break;
case 0:
case 1:
mes "[Marry Jay]";
mes "Sorry, but the entry period to the " + .@md_name$ + " has expired.";
mes "Take a rest while waiting for the dungeon to be available again.";
close;
case 2:
erasequest 12379;
mes "[Marry Jay]";
mes "The cooldown has expired.";
mes "You may re-enter the Memorial Dungeon.";
close;
}
mes "[Marry Jay]";
mes "You came just in time.";
mes "The memorial dungeon is just ready to be opened.";
mes "Would you like to enter now?";
next;
if (is_party_leader() == true)
.@menu$ = "Prepare Friday Memorial";
switch( select( .@menu$, "Enter Friday Memorial", "Cancel" ) ) {
case 1:
instance_create(.@md_name$);
mes "[Marry Jay]";
mes "The Memorial Dungeon has been created.";
mes "You may now enter.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_NOMEMBER:
if (is_party_leader() == true)
end;
mes "Only party members can enter this Memorial dungeon.";
close;
case IE_NOINSTANCE:
if (is_party_leader() == true) {
mes "There is no Memorial Dungeon registered.";
close;
}
mes "The Friday Memorial Dungeon does not exist.";
mes "Your party leader has not yet created the Memorial dungeon.";
close;
case IE_OTHER:
mes "An unknown error occurred.";
close;
case IE_OK:
mes "[Marry Jay]";
mes "Off you go!";
mapannounce "gef_tower", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, 0xFF99;
if (isbegin_quest(12379) < 1)
setquest 12379;
end;
}
end;
case 3:
mes "[Marry Jay]";
mes "You have not prepared?";
mes "Can't really help it I guess";
close;
}
end;
}
//Instance
1@md_gef,185,81 monster Shining Plant 1083,1,1800000,900000
1@md_gef,110,129,6 script Marry Jay#0_1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false)
end;
mes "[Marry Jay]";
mes "Before we start setting up the environment here, we'll give you the chance to choose an appropriate difficulty level.";
mes "I could make my own choice, but each person handles it differently based on their abilities.";
next;
switch( select( "Cancel", "LV130 ~ 199", "LV200 + " ) ) {
case 1:
close;
case 2:
//MinLevel, Lich Lord, Nightmare, Jakk, Ghoul, Drainliar
'hard = 0;
setarray 'mob[0],130,3658,3660,3662,3664,3666;
break;
case 3:
if (BaseLevel < 200) {
mes "[Marry Jay]";
mes "You can't choose this difficulty, because your base level is below 200.";
close;
}
'hard = 1;
setarray 'mob[0],200,3659,3661,3663,3665,3667;
break;
}
if (BaseLevel < 'mob[0]) {
mes "[Marry Jay]";
mes "Your base level is too low to select this, you need to be level " + 'mob[0] + " or above.";
close;
}
close2;
npctalk "Now, this place is about to become a hunting ground. I'll get out and close the front door.";
sleep 4000;
npctalk "Good Luck~";
sleep 3000;
if ('step == 0) {
'step = 1;
donpcevent instance_npcname("md_gef_mobs_spawn") + "::OnStart";
disablenpc();
enablenpc instance_npcname("The Stranger#cadaver");
enablenpc instance_npcname("Bizzare Sculpture#boss");
}
end;
}
1@md_gef,1,1,6 script md_gef_mobs_spawn -1,{
end;
OnStart:
.@npc_name$ = instance_npcname("md_gef_mobs_spawn");
monster 'map_md_gef$,0,0,"Nightmare",'mob[2],20, .@npc_name$ + "::OnNightmareDead";
monster 'map_md_gef$,0,0,"Jakk",'mob[3],30, .@npc_name$ + "::OnJakkDead";
monster 'map_md_gef$,0,0,"Ghoul",'mob[4],30, .@npc_name$ + "::OnGhoulDead";
monster 'map_md_gef$,0,0,"Drainliar",'mob[5],20, .@npc_name$ + "::OnDrainliarDead";
end;
OnNightmareDead:
callsub( S_Mob, 'mob[2], "Nightmare", "OnNightmareDead" );
OnJakkDead:
callsub( S_Mob, 'mob[3], "Jakk", "OnJakkDead" );
OnGhoulDead:
callsub( S_Mob, 'mob[4], "Ghoul", "OnGhoulDead" );
OnDrainliarDead:
callsub( S_Mob, 'mob[5], "Drainliar", "OnDrainliarDead" );
S_Mob:
'count++;
if (('count % 100) == 0) {
'rand_chest++;
if ('rand_chest > 4)
'rand_chest = 1;
// Treasure Chest Spawn
donpcevent instance_npcname("#fd_box" + 'rand_chest) + "::OnStart";
}
sleep 10000;
monster 'map_md_gef$,0,0, getarg(1), getarg(0),1, instance_npcname("md_gef_mobs_spawn") + "::" + getarg(2);
end;
OnInstanceInit:
'step = 0;
'hard = 0;
'count = 0;
'rand_chest = 0;
'freestones = 0;
'boss_actv = 0;
'map_md_gef$ = instance_mapname("1@md_gef");
end;
}
1@md_gef,110,129,6 script(DISABLED) Mary Juj#0_2 4_F_JOB_BLACKSMITH,{
npctalk "Hello";
end;
}
1@md_gef,183,222,5 script(DISABLED) The Stranger#cadaver 4_TOWER_11,{
mes "It is a stranger's corpse.";
mes "Perhaps he died while wandering in this place on the search for treasure.";
next;
if (select( "Calm down", "Investigate the body" ) == 1) {
mes "You respect the dead and decided to leave the body alone.";
close;
}
mes "Looking at a hastily scribbled note in his pocket, perhaps the adventurer's name was Walter.";
next;
mes "[Adventurer's Log]";
mes "My name is Walter. For the adventurers who will visit this place in the future, I'm leaving this so that you don't make the same mistake again.";
next;
mes "[Adventurer's Log]";
mes "On the first day, I curiously put my hand on the slab of a strange Sculpture nearby.";
mes "...and I awokened something that I should not have.";
next;
mes "[Adventurer's Log]";
mes "Right now the revived ancient king is wandering in front of me.";
mes "Perhaps he has no memories of his previous life.";
mes "One thing is certain, he will kill me.";
next;
mes "[Adventurer's Log]";
mes "To the adventurers who will visit this place in the future, I hope you do not make the same mistake as me.";
mes "If you do see a suspicious slab, do not show any interest and pass by it.";
next;
mes "[Adventurer's Log]";
mes "Again, never touch the slab. Whatever temptation you may have.";
if ('freestones != 0)
close;
next;
mes "Several craft stones fall from his body. They were probably collected while exploring this place.";
close2;
if ('freestones == 0) {
'freestones = 1;
if ('hard == 1)
.@num = rand(7,9);
else
.@num = rand(5,7);
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(181,183), rand(221,224);
}
end;
}
1@md_gef,199,73,0 script(DISABLED) Bizzare Sculpture#boss CLEAR_NPC,{
if ('count < 100) {
mes "It is a strange sculpture with a lot of dust piled up. I don't see anything suspicious.";
close;
}
if ('boss_actv >= 1) {
mes "Craft Stones have been melted by a powerful force into the sockets.";
mes "Seems like the sockets can't be used for a while.";
close;
}
mes "At some point, the accumulated dust scatters, and 10 hollow holes are visible on the slab under the sculpture.";
next;
mes "Each of the 10 hollow sockets seem to perfectly fit a craft stone.";
next;
if (select( "Ignore", "Try inserting craft stones" ) == 1)
end;
if (countitem(25235) < 10) {
mes "Craft Stones have been melted by a powerful force into the sockets.";
mes "Seems like the sockets can't be used for a while.";
close;
}
mes "When you insert a craft stone into a hole, it emits a bright light and melts.";
next;
delitem 25235,10;
specialeffect EF_ANGELUS;
if (rand(1,10) == 10) {
mes "Something seems to have changed in the air around me.";
instance_announce 0, "Lord of the Dead: Who Awakened Me? I will meet you in person and ask you why.", bc_map, "0xFFFF00";
if ('boss_actv == 0) {
'boss_actv = 1;
monster 'map_md_gef$,210,110,"Lich King",'mob[1],1;
}
}
else {
mes "But nothing else happened.";
close2;
if ('boss_actv == 0) {
disablenpc(); // Disable NPC for 5 minutes when MVP didn't spawn.
initnpctimer;
}
end;
}
close;
OnTimer300000:
stopnpctimer;
enablenpc();
end;
}
// Treasure Chest Reward
1@md_gef,212,212,3 script(DISABLED) #fd_box1 4_TREASURE_BOX,{
specialeffect EF_COIN;
disablenpc();
stopnpctimer;
sleep 500;
if ('hard == 1)
.@num = rand(7,9);
else
.@num = rand(5,7);
.@npc_name$ = strnpcinfo(2);
if (.@npc_name$ == "fd_box1") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(210,214), rand(210,214);
}
if (.@npc_name$ == "fd_box2") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(188,192), rand(54,58);
}
if (.@npc_name$ == "fd_box3") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(47,51), rand(55,59);
}
if (.@npc_name$ == "fd_box4") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(42,46), rand(209,213);
}
end;
OnStart:
enablenpc();
instance_announce 0, "A treasure chest appeared somewhere in the dungeon. It'll disappear after a while, so let's find it.", bc_map, "0xff5500";
initnpctimer;
end;
OnTimer180000: //3min before chest disappears
disablenpc();
stopnpctimer;
end;
}
1@md_gef,190,56,3 duplicate(#fd_box1) #fd_box2 4_TREASURE_BOX
1@md_gef,49,57,3 duplicate(#fd_box1) #fd_box3 4_TREASURE_BOX
1@md_gef,44,211,3 duplicate(#fd_box1) #fd_box4 4_TREASURE_BOX
//Merchant
gef_tower,57,167,3 script Amateur Collector#pa0829 1_F_01,{
disable_items;
function F_equip_menu;
function F_enchant;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of objects. Clear your inventory.";
close;
}
if (MaxWeight - Weight < 10000) {
mes "Can't continue because you have too many heavy objects. Reduce your total weight by clearing your inventory.";
close;
}
mes "[Amateur Collector]";
mes "If you bring me a " + mesitemlink(25235, false) + ", I can enchant a wonderful effect on your accessory!";
next;
switch( select( "What can you do with the Crafting Stone?", "Accessory Enchantment", "Reset Enchant" ) ) {
case 1:
mes "[Amateur Collector]";
mes "I trade expensive stones from the dungeon in exchange for my craftsmanship. I'm still a beginner, but my skills are passable.";
mes "Please take care of me.";
next;
if (select( "I've heard this before.", "I'm listening." ) == 1) {
mes "[Amateur Collector]";
mes "Is that so?";
close;
}
mes "[Amateur Collector]";
mes "By using the Craft Stone, I can enchant one of your accessories with abilities.";
next;
mes "[Amateur Collector]";
mes "I need 10 x " + mesitemlink(25235, false) + " and 100,000 Zeny.";
mes "There is no failure in the enchantment process.";
next;
mes "[Amateur Collector]";
mes "However ^0000FFif the accessory has a random option, the random option will be removed after enchantment.^000000";
next;
select( "Anything else?" );
mes "[Amateur Collector]";
mes "Cards slotted to the accessory will remain after the enchantement.";
next;
mes "[Amateur Collector]";
mes "A reset is possible, but I can't say that I'm experienced.";
mes "My success rate is:";
mes "Royal Ring: 80%";
mes "Other Accessory: 20%";
next;
mes "[Amateur Collector]";
mes "^0000FFIf the accessory has a random option, the random option will be removed after initialization.^000000";
close;
case 2:
.@type = 1;
.@type_name$ = "enchant";
break;
case 3:
.@type = 2;
.@type_name$ = "reset";
break;
}
.@slot = F_equip_menu();
.@equip_id = getequipid(.@slot);
setarray .@equip_card[0], getequipcardid(.@slot,0), getequipcardid(.@slot,1), getequipcardid(.@slot,2), getequipcardid(.@slot,3);
copyarray .@card[0], .@equip_card[0], 4;
switch( .@equip_id ) {
case 0:
mes "[Amateur Collector]";
mes "Please equip your accessory.";
close;
case 28483:
case 2601:
case 2602:
case 2603:
case 2605:
case 2607:
case 2608:
case 2609:
case 2610:
case 2611:
case 2612:
case 2613:
case 2614:
case 2615:
case 2616:
case 2617:
case 2618:
case 2619:
case 2620:
case 2621:
case 2622:
case 2623:
case 2625:
case 2626:
case 2627:
case 2628:
case 2636:
case 2637:
case 2638:
case 2639:
case 2640:
case 2641:
case 2645:
case 2648:
case 2649:
case 2650:
case 2651:
case 2652:
case 2653:
case 2654:
case 2655:
case 2656:
case 2658:
case 2663:
case 2664:
case 2665:
case 2666:
case 2667:
case 2671:
case 2680:
case 2692:
case 2700:
case 2701:
case 2702:
case 2703:
case 2712:
case 2714:
case 2715:
case 2716:
case 2718:
case 2719:
case 2720:
case 2721:
case 2722:
case 2723:
case 2724:
case 2725:
case 2726:
case 2727:
case 2728:
case 2729:
case 2730:
case 2731:
case 2732:
case 2736:
case 2737:
case 2743:
case 2744:
case 2745:
case 2746:
case 2747:
case 2748:
case 2749:
case 2766:
case 2767:
case 2768:
case 2769:
case 2770:
case 2771:
case 2772:
case 2773:
case 2774:
case 2777:
case 2778:
case 2779:
case 2780:
case 2781:
case 2783:
case 2784:
case 2787:
case 2788:
case 2789:
case 2790:
case 2794:
case 2795:
case 2800:
case 2801:
case 2802:
case 2803:
case 2804:
case 2805:
case 2807:
case 2808:
case 2809:
case 2810:
case 2826:
case 2827:
case 2843:
case 2853:
case 2854:
case 2881:
case 2956:
break;
default:
mes "[Amateur Collector]";
mes "I cannot " + .@type_name$ + " this " + mesitemlink(.@equip_id, false) + " accessory.";
close;
}
if (.@type == 1) { // enchant
switch( .@equip_id ) {
case 28483: //Royal Ring Enchantment
if (.@equip_card[2] != 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " already has maximum enchantment.";
mes "I cannot work on this any further.";
close;
}
.@pos = .@equip_card[3] != 0 ? 2 : 3;
mes "[Amateur Collector]";
mes "Please select an enchantment type~";
next;
switch( select( "Physical", "Magical", "Ranged" ) ) {
case 1:
if (.@pos == 2)
.@equip_card[2] = F_enchant(2);
else
.@equip_card[3] = F_enchant(3);
break;
case 2:
if (.@pos == 2)
.@equip_card[2] = F_enchant(4);
else
.@equip_card[3] = F_enchant(5);
break;
case 3:
if (.@pos == 2)
.@equip_card[2] = F_enchant(6);
else
.@equip_card[3] = F_enchant(7);
break;
}
if (.@pos == 2) {
mes "[Amateur Collector]";
mes "Are you sure to enhance the " + mesitemlink(.@equip_id, false) + "?";
mes "^0000FFThere is a no chance of failure^000000.";
next;
if (select( "Yes, please proceed", "Cancel" ) == 2)
end;
}
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + ".";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " has been enchanted!!";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
close;
default: // Normal Accessory Enchantment
if (.@equip_card[3] != 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " already has an enchant.";
mes "I cannot work on this any further.";
close;
}
mes "[Amateur Collector]";
mes "Are you sure you want to enhance the " + mesitemlink(.@equip_id, false) + "?";
mes "^0000FFThere is a no chance of failure^000000.";
next;
if (select( "Yes, please proceed", "Cancel") == 2)
end;
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + ".";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
.@enchant = F_enchant(1);
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " has been enchanted with " + mesitemlink(.@enchant, false) + ".";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@enchant;
close;
}
end;
}
else { // reset
if (.@equip_id == 28483) {
.@pos = 2;
.@success = 80; // success royal
} else {
.@pos = 3;
.@success = 20; // success normal
}
if (.@equip_card[.@pos] == 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " is not at its maximum enchantment.";
mes "I cannot reset this accessory.";
close;
}
mes "[Amateur Collector]";
mes "All enchanted effects will be removed from the " + mesitemlink(.@equip_id, false) + "?";
mes "^FF0000There is a " + .@success + "% chance of success. The accessory will be destroyed if the reset fails!^000000";
next;
if (select( "I'll be back later", "Please proceed") == 1)
end;
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + "";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
if (rand(100) > .@success) {
specialeffect2 EF_SUI_EXPLOSION;
mes "[Amateur Collector]";
mes "Darn it...";
mes "I have failed and the accessory has been destroyed. I'm so sorry.";
close;
}
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "I have succeeded.";
mes "The " + mesitemlink(.@equip_id, false) + " has been initialized.";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],0,0;
close;
}
end;
function F_equip_menu {
.@l$ = getitemname(getequipid(EQI_ACC_L));
.@r$ = getitemname(getequipid(EQI_ACC_R));
.@acc_l$ = .@l$ == "null" ? "" : "Left Acc - " + .@l$;
.@acc_r$ = .@r$ == "null" ? "" : "Right Acc - " + .@r$;
switch( select( .@acc_l$, .@acc_r$ ) ) {
case 1:
.@slot = EQI_ACC_L;
break;
case 2:
.@slot = EQI_ACC_R;
break;
}
return .@slot;
}
function F_enchant {
.@type = getarg(0);
switch(.@type) {
case 1: //Normal Enchant
.@i = rand(920);
if (.@i < 30) .@enchant = 4701; //STR+2
else if (.@i < 60) .@enchant = 4702; //STR+3
else if (.@i < 90) .@enchant = 4703; //STR+4
else if (.@i < 120) .@enchant = 4711; //INT+2
else if (.@i < 150) .@enchant = 4712; //INT+3
else if (.@i < 180) .@enchant = 4713; //INT+4
else if (.@i < 210) .@enchant = 4721; //DEX+2
else if (.@i < 240) .@enchant = 4722; //DEX+3
else if (.@i < 270) .@enchant = 4723; //DEX+4
else if (.@i < 300) .@enchant = 4731; //AGI+2
else if (.@i < 330) .@enchant = 4732; //AGI+3
else if (.@i < 360) .@enchant = 4733; //AGI+4
else if (.@i < 390) .@enchant = 4741; //VIT+2
else if (.@i < 420) .@enchant = 4742; //VIT+3
else if (.@i < 450) .@enchant = 4743; //VIT+4
else if (.@i < 480) .@enchant = 4796; //HP+200
else if (.@i < 510) .@enchant = 4798; //HP+400
else if (.@i < 540) .@enchant = 4792; //DEF+6
else if (.@i < 570) .@enchant = 4794; //DEF+12
else if (.@i < 600) .@enchant = 4800; //SP+50
else if (.@i < 630) .@enchant = 4801; //SP+100
else if (.@i < 660) .@enchant = 4786; //MDEF+2
else if (.@i < 690) .@enchant = 4787; //MDEF+4
else if (.@i < 710) .@enchant = 4861; //MHP+1%
else if (.@i < 730) .@enchant = 4862; //MHP+2%
else if (.@i < 750) .@enchant = 4929; //MSP+1%
else if (.@i < 770) .@enchant = 4882; //ATK+1%
else if (.@i < 790) .@enchant = 4883; //MATK+1%
else if (.@i < 800) .@enchant = 4817; //Sharp2
else if (.@i < 810) .@enchant = 4816; //Sharp3
else if (.@i < 815) .@enchant = 4843; //Sharp4
else if (.@i < 825) .@enchant = 29047; //Fatal
else if (.@i < 835) .@enchant = 4863; //Fatal1Lv
else if (.@i < 840) .@enchant = 4864; //Fatal2Lv
else if (.@i < 850) .@enchant = 4832; //Expert Archer1
else if (.@i < 860) .@enchant = 4813; //Spell3
else if (.@i < 870) .@enchant = 4812; //Spell4
else if (.@i < 875) .@enchant = 4826; //Spell5
else if (.@i < 885) .@enchant = 4805; //Archbishop1Lv
else if (.@i < 895) .@enchant = 4850; //Heal Amount2
else if (.@i < 905) .@enchant = 4809; //Fighting Spirit3
else if (.@i < 915) .@enchant = 4808; //Fighting Spirit4
else .@enchant = 4820; //Fighting Spirit5
break;
case 2: //Royal Physical Slot 3
.@i = rand(225);
if (.@i < 30) .@enchant = 4809; //Fighting Spirit3
else if (.@i < 60) .@enchant = 4808; //Fighting Spirit4
else if (.@i < 70) .@enchant = 4820; //Fighting Spirit5
else if (.@i < 80) .@enchant = 4821; //Fighting Spirit6
else if (.@i < 85) .@enchant = 4822; //Fighting Spirit7
else if (.@i < 115) .@enchant = 4818; //Sharp1
else if (.@i < 145) .@enchant = 4817; //Sharp2
else if (.@i < 155) .@enchant = 4816; //Sharp3
else if (.@i < 165) .@enchant = 4843; //Sharp4
else if (.@i < 170) .@enchant = 4844; //Sharp5
else if (.@i < 200) .@enchant = 4819; //Atk1
else if (.@i < 210) .@enchant = 4766; //ATK+2%
else if (.@i < 215) .@enchant = 4767; //ATK+3%
else if (.@i < 220) .@enchant = 4807; //Atk Speed1
else .@enchant = 4842; //Atk Speed2
break;
case 3: //Royal Physical Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4702; //STR+3
else if (.@i < 100) .@enchant = 4703; //STR+4
else if (.@i < 110) .@enchant = 4704; //STR+5
else if (.@i < 120) .@enchant = 4705; //STR+6
else if (.@i < 125) .@enchant = 4706; //STR+7
else if (.@i < 175) .@enchant = 4732; //AGI+3
else if (.@i < 225) .@enchant = 4733; //AGI+4
else if (.@i < 235) .@enchant = 4734; //AGI+5
else if (.@i < 245) .@enchant = 4735; //AGI+6
else if (.@i < 250) .@enchant = 4736; //AGI+7
else if (.@i < 300) .@enchant = 4742; //VIT+3
else if (.@i < 350) .@enchant = 4743; //VIT+4
else if (.@i < 360) .@enchant = 4744; //VIT+5
else if (.@i < 370) .@enchant = 4745; //VIT+6
else .@enchant = 4746; //VIT+7
break;
case 4: //Royal Magical Slot 3
.@i = rand(230);
if (.@i < 30) .@enchant = 4813; //Spell3
else if (.@i < 60) .@enchant = 4812; //Spell4
else if (.@i < 70) .@enchant = 4826; //Spell5
else if (.@i < 80) .@enchant = 4827; //Spell6
else if (.@i < 85) .@enchant = 4828; //Spell7
else if (.@i < 115) .@enchant = 4929; //MSP+1%
else if (.@i < 145) .@enchant = 4805; //Archbishop1Lv
else if (.@i < 155) .@enchant = 4850; //Archbishop2Lv
else if (.@i < 165) .@enchant = 4851; //Archbishop3Lv
else if (.@i < 170) .@enchant = 4852; //Archbishop4Lv
else if (.@i < 200) .@enchant = 4883; //MATK + 1%
else if (.@i < 210) .@enchant = 4896; //MATK + 2%
else if (.@i < 215) .@enchant = 4897; //MATK + 3%
else if (.@i < 225) .@enchant = 4760; //MATK 1Lv
else .@enchant = 4761; //MATK 2Lv
break;
case 5: //Royal Magical Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4712; //INT+3
else if (.@i < 100) .@enchant = 4713; //INT+4
else if (.@i < 110) .@enchant = 4714; //INT+5
else if (.@i < 120) .@enchant = 4715; //INT+6
else if (.@i < 125) .@enchant = 4716; //INT+7
else if (.@i < 175) .@enchant = 4722; //DEX+3
else if (.@i < 225) .@enchant = 4723; //DEX+4
else if (.@i < 235) .@enchant = 4724; //DEX+5
else if (.@i < 245) .@enchant = 4725; //DEX+6
else if (.@i < 250) .@enchant = 4726; //DEX+7
else if (.@i < 300) .@enchant = 4742; //VIT+3
else if (.@i < 350) .@enchant = 4743; //VIT+4
else if (.@i < 360) .@enchant = 4744; //VIT+5
else if (.@i < 370) .@enchant = 4745; //VIT+6
else .@enchant = 4746; //VIT+7
break;
case 6: //Royal Ranged Slot 3
.@i = rand(225);
if (.@i < 30) .@enchant = 29047; //Fatal
else if (.@i < 60) .@enchant = 4863; //Fatal1Lv
else if (.@i < 70) .@enchant = 4864; //Fatal2Lv
else if (.@i < 80) .@enchant = 4865; //Fatal3Lv
else if (.@i < 85) .@enchant = 4866; //Fatal4Lv
else if (.@i < 115) .@enchant = 4818; //Sharp1
else if (.@i < 145) .@enchant = 4817; //Sharp2
else if (.@i < 155) .@enchant = 4816; //Sharp3
else if (.@i < 165) .@enchant = 4843; //Sharp4
else if (.@i < 170) .@enchant = 4844; //Sharp5
else if (.@i < 200) .@enchant = 4832; //Expert Archer1
else if (.@i < 210) .@enchant = 4833; //Expert Archer2
else if (.@i < 215) .@enchant = 4834; //Expert Archer3
else if (.@i < 220) .@enchant = 4807; //Atk Speed1
else .@enchant = 4842; //Atk Speed2
break;
case 7: //Royal Ranged Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4732; //AGI+3
else if (.@i < 100) .@enchant = 4733; //AGI+4
else if (.@i < 110) .@enchant = 4734; //AGI+5
else if (.@i < 120) .@enchant = 4735; //AGI+6
else if (.@i < 125) .@enchant = 4736; //AGI+7
else if (.@i < 175) .@enchant = 4722; //DEX+3
else if (.@i < 225) .@enchant = 4723; //DEX+4
else if (.@i < 235) .@enchant = 4724; //DEX+5
else if (.@i < 245) .@enchant = 4725; //DEX+6
else if (.@i < 250) .@enchant = 4726; //DEX+7
else if (.@i < 300) .@enchant = 4752; //LUK+3
else if (.@i < 350) .@enchant = 4753; //LUK+4
else if (.@i < 360) .@enchant = 4754; //LUK+5
else if (.@i < 370) .@enchant = 4755; //LUK+6
else .@enchant = 4756; //LUK+7
break;
}
return .@enchant;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,923 @@
//===== rAthena Script =======================================
//= Twilight Garden
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.2 Twilight Garden
//= Episode 17.2 Hey Sweety
//= Note:
// - NPC_LOCKON_LASER skill is currently no implemented.
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//= 1.2 Cleanup [Capuche]
//============================================================
1@bamn,1,1,0 script #twilight_garden_control -1,{
end;
OnInstanceInit:
'twilight_story = 0;
'sweety = 0;
'map_bamn$ = instance_mapname("1@bamn");
'map_bamq$ = instance_mapname("1@bamq");
// npcs from story
//----------------------------
// npcs on 1@bamn
// disablenpc instance_npcname("Repeater#wifi03"); // (not disabled)
// disablenpc instance_npcname("Repeater#wifi02"); // (not disabled)
// disablenpc instance_npcname("Repeater#wifi01"); // (not disabled)
//----------------------------
// Daily: Hey! Sweety
if (instance_live_info(ILI_NAME) == "Hey! Sweety")
disablenpc instance_npcname("#bamn_evt01"); // story starter npc
else
disablenpc instance_npcname("#sweety_evt01"); // daily starter npc
end;
}
// Story
1@bamn,100,320,0 script #bamn_evt01 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
enablenpc instance_npcname("Est#est01");
end;
}
1@bamn,96,318,5 script(DISABLED) Est#est01 4_F_ESTLOVELOY,{
if (!is_party_leader())
end;
if ('twilight_story == 0) {
'twilight_story = 1;
npctalk "Est : It's dark and quiet. If you want to execute the plan, now's the perfect time. Right?";
sleep 2000;
npctalk "Est : Elena said she'd join us later, but there's a good chance she won't able to join.";
sleep 2000;
npctalk "Est : Even so, there's no need to worry. The others are prepared and waiting for the ambush signal.";
sleep 2000;
npctalk "Est : All we have to do is walk around like a patrol and catch them off guard.";
sleep 2000;
npctalk "Est : Go along the road to the main building of the mansion. I'll lurk behind you.";
sleep 2000;
npctalk "Est : Don't look around too much, and pretend you're not vigilant, got it?";
sleep 2000;
npctalk "Est : Now, let's go.";
for ( .@i = 1; .@i < 6; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
end;
}
if ('twilight_story == 1)
end;
if ('twilight_story == 2) {
cutin "ep162_est01",2;
mes "[Est]";
mes "They must have been waiting too.";
mes "Let's do this more quietly.";
close3;
}
end;
}
1@bamn,119,299,3 script(DISABLED) Heart Hunter#md_hh01 G_EP17_2_HEART_HUNTER,3,3,{
end;
OnTouch_:
if (!is_party_leader())
end;
if ('twilight_story == 1) {
'twilight_story = 2;
npctalk "Quietly surrender or return back to where you came from.";
sleep 2000;
npctalk "Well, that doesn't mean we'll let you go back.";
sleep 1000;
for ( .@i = 1; .@i < 6; ++.@i )
disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
donpcevent instance_npcname("twilight_story_mob_1") + "::OnStart";
}
end;
}
1@bamn,119,305,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh02 G_EP17_2_HEART_HUNTER
1@bamn,119,302,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh03 G_EP17_2_HEART_HUNTER
1@bamn,119,296,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh04 G_EP17_2_HEART_HUNTER
1@bamn,119,293,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh05 G_EP17_2_HEART_HUNTER
1@bamn,1,1,0 script twilight_story_mob_1 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
monster 'map_bamn$,119,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,128,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,121,300,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,118,293,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,124,294,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,130,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
disablenpc instance_npcname("Est#est01");
enablenpc instance_npcname("Est#est02");
if ('twilight_story == 2)
'twilight_story = 3;
}
end;
}
1@bamn,119,299,5 script(DISABLED) Est#est02 4_F_ESTLOVELOY,{
if (!is_party_leader())
end;
if ('twilight_story == 3) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I don't know if we should set a trap, or give you a chance.";
mes "Activate the tracker that we got from Elyumina.";
next;
cutin "",255;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : According to the intuition of the great Elyumina... Too Doo Too Doo Too~";
sleep2 2000;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Over there!! Beep!";
navigateto("1@bamn",206,273);
sleep2 2000;
cutin "ep162_est01",2;
mes "[Est]";
mes "That's a loud thing.";
mes "Will you move out first?";
mes "I have a place to go for a second.";
next;
mes "[Est]";
mes "I'll join you soon.";
close2;
if ('twilight_story == 3) {
'twilight_story = 4;
donpcevent instance_npcname("twilight_story_mob_2") + "::OnStart";
}
cutin "",255;
disablenpc();
end;
}
end;
}
1@bamn,1,1,0 script twilight_story_mob_2 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
monster 'map_bamn$,208,283,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,210,285,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,210,282,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,213,284,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,213,281,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
enablenpc instance_npcname("Est#est03");
enablenpc instance_npcname("Almond#amond01");
if ('twilight_story == 4)
'twilight_story = 5;
}
end;
}
1@bamn,202,274,5 script(DISABLED) Est#est03 4_F_ESTLOVELOY,{
if ('twilight_story == 5) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I thought it might be better to throw in more bait, so I went to ask for the help of the automatic dolls.";
mes "Also, Almond said she had to go out and check something.";
next;
cutin "ep172_beta",0;
mes "[Almond]";
mes "The repeater is dead again. That's why I have to fix it.";
mes "The repeater is the favorite target of the intruders, so we can't just leave it broken, right?";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "For that reason, I'd like to ask you to escort Almon here to check the repeater.";
mes "I'll look around and find other routes.";
next;
cutin "ep172_beta",0;
mes "[Almond]";
mes "Let's go together whenever you're ready.";
close2;
cutin "",255;
if ('twilight_story == 5)
'twilight_story = 6;
end;
}
if ('twilight_story == 6) {
cutin "ep162_est01",2;
mes "[Est]";
mes "Talk to Almond, when you're ready to move.";
close3;
}
end;
}
1@bamn,199,275,5 script(DISABLED) Almond#amond01 EP17_2_BETA_BASIC,{
if ('twilight_story < 6) {
cutin "ep172_beta",2;
mes "[Almond]";
mes "Everyone was supposed to be in the mansion today.";
mes "Something important came up. That's why I'm here with Est.";
close3;
}
if ('twilight_story == 6) {
'guide = getnpcid(0);
'twilight_story = 7;
npcspeed 200;
npctalk "Then, let us go.";
unitwalk 'guide,199,248, instance_npcname("Almond#amond01") + "::OnEvent00";
enablenpc instance_npcname("Intruder#sweety02");
end;
}
if ('twilight_story == 7)
end;
if ('twilight_story == 8) {
'twilight_story = 9;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! There!!";
setpcblock PCBLOCK_NPC, true;
navigateto("1@bamn",242,206);
sleep2 2000;
npctalk "Ahahaha, it's noisy.";
sleep2 2000;
npctalk "I'm curious, should we go quickly?";
sleep2 2000;
npctalk "Guest, there is an intruder!";
donpcevent instance_npcname("twilight_story_mob_3") + "::OnStart";
setpcblock PCBLOCK_NPC, false;
sleep 200;
npcspeed 80;
unitwalk 'guide,245,229, instance_npcname("Almond#amond01") + "::OnEvent02";
end;
}
if ('twilight_story == 10 || 'twilight_story == 11 || 'twilight_story == 12) {
npctalk "Be careful!";
end;
}
if ('twilight_story == 13) {
'twilight_story = 14;
npcspeed 200;
setpcblock PCBLOCK_NPC, true;
npctalk "Let's go check the repeater.";
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
sleep2 1000;
unitwalk 'guide,244,208, instance_npcname("Almond#amond01") + "::OnEvent04";
end;
}
if ('twilight_story == 14)
end;
if ('twilight_story == 15) {
'twilight_story = 16;
setpcblock PCBLOCK_NPC, true;
for ( .@i = 1; .@i < 5; ++.@i )
enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
for ( .@i = 6; .@i < 9; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Kakakakakakakil! The culprit is around! They're on my radar! It's that way!";
navigateto("1@bamn",332,143);
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
sleep2 1000;
npcspeed 80;
npctalk "There's another intruder! No wonder I'm starting to get excited~!";
unitwalk 'guide,332,169;
end;
}
if ('twilight_story < 18)
end;
if ('twilight_story == 18) {
npcspeed 200;
'twilight_story = 19;
npctalk "Are you all right, adventurer? Then, we can keep going.";
unitwalk 'guide,332,143, instance_npcname("Almond#amond01") + "::OnEvent11";
end;
}
if ('twilight_story == 19)
end;
if ('twilight_story == 20) {
npctalk "Shouldn't you talk to Est? Looks like she've been waiting.";
end;
}
end;
OnEvent00:
npctalk "This way.";
sleep 1000;
unitwalk 'guide,225,248, instance_npcname("Almond#amond01") + "::OnFollow00";
end;
OnFollow00:
unitwalk 'guide,245,248, instance_npcname("Almond#amond01") + "::OnEvent01";
end;
OnEvent01:
npctalk "Let's go see the Repeater that is oftenly hacked.";
sleep 2000;
npctalk "Huh? What are you carrying right now? Take it out and show it to me.";
'twilight_story = 8;
end;
OnEvent02:
npctalk "Adventurer, there's an intruder!";
unitwalk 'guide,245,215, instance_npcname("Almond#amond01") + "::OnEvent03";
end;
OnEvent03:
'twilight_story = 10;
end;
OnEvent04:
npctalk "...checking the signal.";
sleep 2000;
npctalk "...hacking channel checked.";
sleep 2000;
npctalk "...recovering...";
sleep 2000;
npctalk "...recovering...84%";
sleep 2000;
npctalk "...recovery completed.";
sleep 2000;
npctalk "Shall we go to the repeater?";
sleep 2000;
unitwalk 'guide,245,204, instance_npcname("Almond#amond01") + "::OnEvent05";
end;
OnEvent05:
npctalk "Adventurer. Do you like Almonds? A customer who liked almonds named me. Does it suit me?";
sleep 3000;
unitwalk 'guide,265,204, instance_npcname("Almond#amond01") + "::OnEvent06";
end;
OnEvent06:
npctalk "That kid a while ago, I've seen him before.";
unitwalk 'guide,285,204, instance_npcname("Almond#amond01") + "::OnEvent07";
end;
OnEvent07:
npctalk "But he always ran so well, It's the first time I've seen him properly~";
unitwalk 'guide,300,204, instance_npcname("Almond#amond01") + "::OnEvent08";
end;
OnEvent08:
npctalk "The Pitaya's here is cute~ They say Almonds is delicious? Have you eaten almonds before?";
sleep 2000;
npctalk "This way.";
unitwalk 'guide,300,190, instance_npcname("Almond#amond01") + "::OnEvent09";
end;
OnEvent09:
npctalk "It's been a while since I've been this comfortable~";
unitwalk 'guide,327,189, instance_npcname("Almond#amond01") + "::OnEvent10";
end;
OnEvent10:
npctalk "Adventurer. Is that noisy thing flickering again? Let us check it for a second.";
'twilight_story = 15;
end;
OnEvent11:
npctalk "...checking the signal.";
sleep 2000;
npctalk "...hacking channel checked.";
sleep 2000;
npctalk "...recovering...";
sleep 2000;
npctalk "...recovering...72%";
sleep 2000;
npctalk "...recovery completed.";
sleep 2000;
npctalk "Let's go to the next repeater~";
sleep 2000;
unitwalk 'guide,320,139, instance_npcname("Almond#amond01") + "::OnFollow12";
end;
OnFollow12:
unitwalk 'guide,300,139, instance_npcname("Almond#amond01") + "::OnEvent12";
end;
OnEvent12:
npctalk "It's the kid from before, right? He's an intruder. That's weird, kind of like almonds...";
unitwalk 'guide,285,139, instance_npcname("Almond#amond01") + "::OnEvent13";
end;
OnEvent13:
npctalk "Shall we go faster? There's a sound coming from over there...";
unitwalk 'guide,285,118, instance_npcname("Almond#amond01") + "::OnEvent14";
end;
OnEvent14:
npctalk "It's more quiet than I thought. Where did the intruders go?";
unitwalk 'guide,285,98, instance_npcname("Almond#amond01") + "::OnEvent15";
end;
OnEvent15:
npctalk "This way.";
unitwalk 'guide,261,98, instance_npcname("Almond#amond01") + "::OnEvent16";
end;
OnEvent16:
npcspeed 80;
npctalk "It's Est!";
'twilight_story = 20;
unitwalk 'guide,261,87;
end;
}
1@bamn,1,1,0 script twilight_story_mob_3 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
monster 'map_bamn$,246,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,248,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,246,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,248,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
enablenpc instance_npcname("Intruder#sweety02");
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
if ('twilight_story == 10)
'twilight_story = 11;
}
end;
}
1@bamn,243,208,5 script Repeater#wifi03 CLEAR_NPC,{
mes "There is no way to find out what the state of the repeater is. The communication chip seems to be properly installed.";
close;
}
1@bamn,242,206,7 script(DISABLED) Intruder#sweety02 4_EP17_SWEETY,{
if ('twilight_story < 11) {
npctalk "You're one step behind! You bunch of idiots!";
end;
}
if ('twilight_story == 11) {
'twilight_story = 12;
npctalk "Hah! Do you think you can catch me?";
sleep 2000;
npctalk "Go suffer!";
sleep 500;
disablenpc();
donpcevent instance_npcname("twilight_story_mob_4") + "::OnStart";
end;
}
end;
}
1@bamn,1,1,0 script twilight_story_mob_4 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
monster 'map_bamn$,248,206,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
monster 'map_bamn$,248,208,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
if ('twilight_story == 12)
'twilight_story = 13;
}
end;
}
1@bamn,331,161,3 script(DISABLED) Rebellion#md_rb02 4_F_REBELLION,7,7,{
end;
OnTouch:
if ('twilight_story == 16) {
'twilight_story = 17;
npctalk "We'll take over this place, just watch!";
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh06");
sleep 1000;
npctalk "Kakaka, Let's beat them down with a blast!", instance_npcname("Rebellion#md_rb04");
specialeffect EF_TRIPLEACTION, AREA, instance_npcname("Heart Hunter#md_hh07");
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
sleep 2000;
npctalk "Thank you for showing yourselves! You bastards!", instance_npcname("Rebellion#md_rb03");
sleep 2000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh08");
sleep 2000;
npctalk "...", instance_npcname("Heart Hunter#md_hh07");
sleep 2000;
npctalk "...(Nods)", instance_npcname("Heart Hunter#md_hh06");
sleep 1000;
npctalk "...", instance_npcname("Heart Hunter#md_hh08");
sleep 1000;
npctalk "What signal are you sending to each other?";
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
for ( .@i = 1; .@i < 5; ++.@i )
specialeffect EF_SPREADATTACK, AREA, instance_npcname("Rebellion#md_rb0" + .@i);
sleep 1000;
for ( .@i = 6; .@i < 9; ++.@i )
disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
sleep 1000;
npctalk "What? Did they ran?! Move out!";
sleep 2000;
for ( .@i = 1; .@i < 5; ++.@i )
disablenpc instance_npcname("Rebellion#md_rb0" + .@i);
enablenpc instance_npcname("Intruder#sweety03");
npctalk "What...?", instance_npcname("Intruder#sweety03");
}
end;
}
1@bamn,321,161,5 duplicate(dummy_disabled_npc) Rebellion#md_rb01 4_M_REBELLION
1@bamn,331,155,1 duplicate(dummy_disabled_npc) Rebellion#md_rb03 4_M_REBELLION
1@bamn,321,155,7 duplicate(dummy_disabled_npc) Rebellion#md_rb04 4_F_REBELLION
1@bamn,324,158,7 duplicate(dummy_disabled_npc) Heart Hunter#md_hh06 G_EP17_2_HEART_HUNTER
1@bamn,326,159,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh07 G_EP17_2_HEART_HUNTER
1@bamn,328,158,1 duplicate(dummy_disabled_npc) Heart Hunter#md_hh08 G_EP17_2_HEART_HUNTER
1@bamn,333,141,7 script(DISABLED) Intruder#sweety03 4_EP17_SWEETY,{
if ('twilight_story == 17) {
setpcblock PCBLOCK_NPC, true;
'twilight_story = 18;
npctalk "What, where did the other guys go?";
sleep2 2000;
npctalk "Did you do it?";
sleep2 2000;
npctalk "You're pretty good, aren't you?";
sleep2 2000;
npctalk "Repeater : (... .. ..)", instance_npcname("Repeater#wifi02");
npctalk "Oh, there's a message. Stay there for a while. Yes, Hello.";
sleep2 2000;
npctalk "Repeater : (... ??... ??)", instance_npcname("Repeater#wifi02");
sleep2 2000;
npctalk "Now? More time... Yes, no... Ah...";
sleep2 2000;
npctalk "... ... so far... no?!... Okay...";
sleep2 2000;
emotion ET_THINK;
sleep2 2000;
npctalk "You! You're the reason I don't have time right now! I'll kill you the next time we meet!";
sleep2 2000;
disablenpc();
enablenpc instance_npcname("Est#est04");
for ( .@i = 5; .@i < 9; ++.@i )
enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
for ( .@i = 0; .@i < 3; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh1" + .@i);
setpcblock PCBLOCK_NPC, false;
}
end;
}
1@bamn,334,143,5 duplicate(dummy_npc) Repeater#wifi02 2_POSTBOX
1@bamn,257,84,3 script(DISABLED) Est#est04 4_F_ESTLOVELOY,{
if ('twilight_story == 20) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I've heard the report. You found a guy who looked like the leader?";
mes "I think the rest of the members are somewhat good too.";
next;
mes "[Est]";
mes "What happened to the repeater?";
next;
cutin "ep172_beta",2;
mes "[Almond]";
mes "Were on the way to the other one.";
mes "But it's quite far from here.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Hmm... Shall we do this?";
mes "The guy you missed is a boy with purple hair, right?";
mes "We're going to bait him out.";
next;
mes "[Est]";
mes "I'll deal with the rest who's hiding in the garden.";
mes "Ah. I'll also escort Almond.";
next;
mes "[Est]";
mes "He probably went to the western part of the mansion, so head over there.";
mes "You have Elyumina's tracker. It will activate, if you get near him.";
if ('twilight_story == 20) {
'twilight_story = 21;
enablenpc instance_npcname("#to_bamq");
enablenpc instance_npcname("Intruder#sweety");
enablenpc instance_npcname("#to_swty01");
enablenpc instance_npcname("#to_swty02");
}
close3;
}
if ('twilight_story == 21) {
mes "[Est]";
mes "He probably went to the western part of the mansion, so head over there.";
mes "You have Elyumina's tracker, if you get near him, it will activate.";
next;
mes "[Est]";
mes "Don't worry, I'll take care of Almond from here.";
close3;
}
end;
}
1@bamn,250,80,7 script(DISABLED) Rebellion#md_rb05 4_M_REBELLION,{
npctalk "Leave the rest to us.";
end;
}
// 1@bamn,254,80,7 script Rebellion#md_rb06 4_F_REBELLION,7,7,{ // unknown effect
1@bamn,254,80,7 script(DISABLED) Rebellion#md_rb06 4_F_REBELLION,{
npctalk "Hehehe... It's finally time for revenge... Hehehe...";
end;
}
1@bamn,258,80,1 script(DISABLED) Rebellion#md_rb07 4_M_REBELLION,{
npctalk "If there's an enemy causing commotion, we should attack them with more numbers.";
end;
}
1@bamn,202,84,3 script(DISABLED) Rebellion#md_rb08 4_M_REBELLION2,{
npctalk "You're looking for a boy with purple hair, right? He went towards the labs.";
end;
}
1@bamn,67,173,0 script(DISABLED) #to_swty01 HIDDEN_WARP_NPC,5,5,{
end;
OnTouch:
if ('twilight_story == 21) {
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! That way! Pyo-pyo~!";
navigateto("1@bamn",33,224);
}
end;
}
1@bamn,121,204,0 duplicate(#to_swty01) #to_swty02 HIDDEN_WARP_NPC,7,7
1@bamn,67,195,3 script(DISABLED) Heart Hunter#md_hh10 G_BELLARE3,5,5,{
end;
OnTouch:
monster 'map_bamn$,67,195,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,65,199,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,71,197,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,78,204,5 script(DISABLED) Heart Hunter#md_hh11 G_BELLARE3,5,5,{
end;
OnTouch:
emotion ET_GO;
monster 'map_bamn$,78,204,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,83,204,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,76,200,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,61,214,7 script(DISABLED) Heart Hunter#md_hh12 G_BELLARE3,5,5,{
end;
OnTouch:
emotion ET_GO;
monster 'map_bamn$,61,214,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,58,212,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,64,214,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,145,106,5 duplicate(dummy_npc) Repeater#wifi01 CLEAR_NPC
1@bamq,125,39,3 script(DISABLED) Intruder#sweety 4_EP17_SWEETY,5,5,{
end;
OnTouch:
if ('twilight_story == 21) {
setpcblock PCBLOCK_NPC, true;
'twilight_story = 22;
npctalk "You're too late. You idiots!";
sleep2 2000;
npctalk "They already escaped using the airships!";
sleep2 2000;
npctalk "Now, I, Sweety will take care of the idiots that just came in!";
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
disablenpc();
donpcevent instance_npcname("twilight_story_mob_5") + "::OnStart";
end;
}
end;
}
1@bamq,1,1,7 script twilight_story_mob_5 -1,{
end;
OnStart:
monster 'map_bamq$,125,39,"Sweety",20642,1, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
setunitdata $@mobid[0],UMOB_HP,500000;
end;
OnMobDead:
killmonster 'map_bamq$, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
if ('twilight_story == 22)
'twilight_story = 23;
mapannounce 'map_bamq$, "Est: Did you hear a loud noise from here?", bc_map, 0xFF00;
enablenpc instance_npcname("Broken Sweety#sweety04");
enablenpc instance_npcname("Est#est05");
enablenpc instance_npcname("#tgd_bamq_exit");
end;
}
1@bamq,123,39,3 script(DISABLED) Broken Sweety#sweety04 4_EP17_SWEETY,{
specialeffect EF_NPC_STOP;
npctalk " ... yes ... s ... go ... no ... two ...";
mes "The electricity bounces and doesn't move, as if the machine is broken.";
mes "Seeing that he averts his gaze, he doesn't seem completely broken.";
close;
}
1@bamq,108,41,5 script(DISABLED) Est#est05 4_F_ESTLOVELOY,{
cutin "ep162_est01",2;
mes "[Est]";
mes "It's a little late, but it's over.";
mes "So that's you. The guy who was dragging his feet in the garden.";
next;
mes "[Est]";
mes "Did this guy think that controlling the automatic dolls will help him buy time?";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "After all, they're just automatic dolls, right?";
mes "I had no choice but to blow the automatic dolls of the mansion...";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Let's get out of here.";
mes "I'll be waiting at the guesthouse.";
close3;
}
// warps story
1@bamn,33,224,0 script(DISABLED) #to_bamq WARPNPC,1,1,{
end;
OnTouch_:
if ('twilight_story == 21)
warp 'map_bamq$,103,39;
end;
}
1@bamq,101,39,0 warp2(DISABLED) #tgd_bamq_exit 1,1,ba_maison,33,220
// Daily
1@bamq,16,39,0 script #sweety_evt01 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
enablenpc instance_npcname("Almond#amond02");
enablenpc instance_npcname("Sweety#sweety_boss");
enablenpc instance_npcname("#to_bamq2");
enablenpc instance_npcname("#to_bamn");
monster 'map_bamn$,120,257,"--ja--",20681,1; // G_EP17_2_HEART_HUNTER
monster 'map_bamn$,130,255,"--ja--",20681,1;
monster 'map_bamn$,130,244,"--ja--",20681,1;
monster 'map_bamn$,127,184,"--ja--",20681,1;
monster 'map_bamn$,188,240,"--ja--",20699,1; // G_BELLARE3
monster 'map_bamn$,203,248,"--ja--",20699,1;
monster 'map_bamn$,203,252,"--ja--",20699,1;
monster 'map_bamn$,301,234,"--ja--",20681,1;
monster 'map_bamn$,302,239,"--ja--",20681,1;
monster 'map_bamn$,297,244,"--ja--",20681,1;
monster 'map_bamn$,197,52,"--ja--",20699,1;
monster 'map_bamn$,120,83,"--ja--",20681,1;
monster 'map_bamn$,117,84,"--ja--",20681,1;
monster 'map_bamn$,137,176,"--ja--",20681,1;
monster 'map_bamn$,143,181,"--ja--",20681,1;
monster 'map_bamn$,62,165,"--ja--",20699,1;
end;
}
1@bamq,32,49,3 script(DISABLED) Sweety#sweety_boss 4_EP17_Sweety,{
if ('sweety == 0) {
cutin "ep172_Sweety01",2;
mes "[Sweety]";
mes "Hey, are you ready?";
mes "Come at me anytime.";
mes "I'm sure I'll feel better once I beat you.";
next;
if (select( "Wait a bit.", "Let's go!" ) == 1) {
mes "[Sweety]";
mes "What, did you come here to explore the garden?";
mes "The heart hunter don't know what happened to me, but...";
next;
cutin "ep172_Sweety02",2;
mes "[Sweety]";
mes "What, why?";
mes "I'm not like them at all, I'm an excellent creature!";
mes "So did the teachers.";
mes "But, those guys are nothing but failures.";
close3;
}
cutin "",255;
npctalk "I won't lose to you this time!";
disablenpc();
donpcevent instance_npcname("twilight_daily") + "::OnStart";
'sweety = 1;
close;
}
specialeffect EF_NPC_STOP;
mes "He is not responding to anything.";
mes "I think he fainted from my attacks.";
npctalk "... ...";
close;
}
1@bamq,1,1,7 script twilight_daily -1,{
end;
OnStart:
monster 'map_bamq$,32,49,"Sweety",20642,1, instance_npcname("twilight_daily") + "::OnMobDead";
end;
OnMobDead:
killmonster 'map_bamq$, instance_npcname("twilight_daily") + "::OnMobDead";
mapannounce 'map_bamq$, "Almond: Sweety~ Do it in moderation~", bc_map, 0xFF00;
enablenpc instance_npcname("Sweety#sweety_boss");
'sweety = 2;
end;
}
1@bamq,32,43,3 script(DISABLED) Stunned Sweety#sweety_bo 4_EP17_SWEETY,{
setpcblock PCBLOCK_NPC, true;
specialeffect EF_NPC_STOP;
sleep2 500;
setpcblock PCBLOCK_NPC, false;
npctalk " ... ... ";
mes "I passed out from the shock.";
mes "Looks like he passed out.";
close;
}
1@bamq,37,59,3 script(DISABLED) Almond#amond02 EP17_2_BETA_BASIC,{
if ('sweety < 2) {
cutin "ep172_beta",2;
mes "[Almond]";
mes "I can't understand.";
mes "Why Sweety likes to push his body to the limit...";
next;
mes "[Almond]";
mes "And it's my job to fix his destroyed body.";
mes "Please deal with him enough to make him satisfied.";
close3;
}
cutin "ep172_beta",2;
mes "[Almond]";
mes "I will take care of moving Sweety.";
mes "Do you want to wrap up now?";
next;
if (select( "Let's wrap up.", "I'll explore the garden first." ) == 2) {
mes "[Almond]";
mes "There is still some intruders out there.";
mes "Are you aware of it?";
close3;
}
mes "[Almond]";
mes "Then, shall we?";
close2;
warp "ba_in01",18,255;
end;
}
// warps daily
1@bamn,33,224,0 warp2(DISABLED) #to_bamq2 1,1,1@bamq,13,39
1@bamq,8,39,0 warp2(DISABLED) #to_bamn 1,1,1@bamn,33,220
// Daily quest
1@bamn,150,47,3 script #bam_body01 4_EP17_BROKENBETA,{
if (isbegin_quest(18024) == 1) {
if (checkweight(1000226,1) == 0) { // (custom)
mes "^008800Wait a sec!!";
mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
close;
}
.@id = atoi(replacestr(strnpcinfo(2), "bam_body0", ""));
if ('broken_beta[.@id] == 0) {
mes "The body of Manager Beta is hidden under the landscapes.";
next;
if (rand(1,10) < 5)
mes "The core slot is empty.";
else {
mes "I've recovered the core.";
getitem 1000226,1;
}
mes "I'll let Alpha know later so she can retrieve the doll's body.";
'broken_beta[.@id] = 1;
}
}
mes "The core part is empty.";
close;
OnInstanceInit:
questinfo( QTYPE_CLICKME, QMARK_YELLOW, "isbegin_quest(18024) == 1" );
end;
}
1@bamn,221,193,3 duplicate(#bam_body01) #bam_body02 4_EP17_BROKENBETA
1@bamn,208,87,3 duplicate(#bam_body01) #bam_body03 4_EP17_BROKENBETA
1@bamn,314,146,3 duplicate(#bam_body01) #bam_body04 4_EP17_BROKENBETA
1@bamn,207,276,3 duplicate(#bam_body01) #bam_body05 4_EP17_BROKENBETA
1@bamn,70,256,3 duplicate(#bam_body01) #bam_body06 4_EP17_BROKENBETA
1@bamn,64,187,3 duplicate(#bam_body01) #bam_body07 4_EP17_BROKENBETA
1@bamn,275,313,3 duplicate(#bam_body01) #bam_body08 4_EP17_BROKENBETA
1@bamn,338,267,3 duplicate(#bam_body01) #bam_body09 4_EP17_BROKENBETA

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,401 @@
//===== rAthena Script =======================================
//= Weekend Memorial Dungeon
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Weekend Memorial Dungeon
//===== Changelogs: ==========================================
//= 1.0 Initial release [Everade]
//============================================================
pay_arche,44,124,5 script Marry Jae 4_F_JOB_BLACKSMITH,{
mes "[Marry Jae]";
if (BaseLevel < 60) {
mes "Your base level is too low, come back when you hit level 60+.";
close;
}
mes "^ff0000If you attempt to tame any monsters, it will not count as a kill. Please be careful.^000000";
next;
.@day = gettime(DT_DAYOFWEEK);
if (.@day != SATURDAY && .@day != SUNDAY) {
mes "[Marry Jae]";
mes "Oh, a curious onlooker? I'm Marry Jae, the person in charge of weekends among the days of the week.";
next;
mes "[Marry Jae]";
mes "What is the weekend dungeon? Actually, it's a specially designed space for new adventurers to train.";
next;
mes "^0000FFLooking around, it's obvious that Marry Jae is talking to you.^000000";
next;
mes "[Marry Jae]";
mes "For those who do not have a party on the weekends, this place is hunting and experience gaining grounds for lonely adventurers!";
next;
mes "[Marry Jae]";
mes "Besides, the experience gain here is very generous.";
next;
select( "When is the opening time?" );
mes "[Marry Jae]";
mes "The dungeon will be open during:";
mes "^0000FFSaturday 00:00 ~ Sunday 23:59^000000";
next;
mes "[Marry Jae]";
mes "I hope to see you when the weekend arrives~";
close;
}
.@md_name$ = "Weekend Dungeon";
if (is_party_leader() == false) {
mes "[Marry Jae]";
mes "You need to form a party of one member or more.";
close;
}
switch( checkquest(12378,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
switch( checkquest(12377,PLAYTIME) ) {
case -1:
case 2:
mes "[Marry Jae]";
mes "Sorry, but the entry period to the " + .@md_name$ + " has expired.";
mes "Take a rest while waiting for the dungeon to be available again.";
close;
case 0:
case 1:
break;
}
break;
case 2:
erasequest 12377;
erasequest 12378;
mes "[Marry Jae]";
mes "The cooldown has expired.";
mes "You may re-enter the Memorial Dungeon.";
close;
}
mes "[Marry Jae]";
mes "I think you're just about ready.";
mes "Now, would you like to enter it now?";
next;
switch( select( "Prepare Memorial Dungeon", "Enter Weekend Dungeon", "Cancel" ) ) {
case 1:
instance_create(.@md_name$);
mes "[Marry Jae]";
mes "The Memorial Dungeon has been created.";
mes "You may now enter.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_NOMEMBER:
end;
case IE_NOINSTANCE:
mes "There is no Memorial Dungeon registered.";
close;
case IE_OTHER:
mes "An unknown error has occurred.";
close;
case IE_OK:
mes "[Marry Jae]";
mes "Off you go!";
mapannounce "pay_arche", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, 0xFF99;
if (isbegin_quest(12377) == 0)
setquest 12377;
if (isbegin_quest(12378) == 0)
setquest 12378;
end;
}
end;
case 3:
mes "[Marry Jae]";
mes "You have not prepared?";
mes "Can't really help it I guess.";
close;
}
}
//Merchant
pay_arche,44,121,5 script Gift Supplies Clerk 4_F_02,{
.@zeny = 60000;
mes "[Gift Supplies Clerk]";
mes "I offer packaging services for those who wish to present a precious gift to a cherished one.";
next;
mes "[Gift Supplies Clerk]";
mes "If you have 5 units of <ITEM>" + getitemname(23143) + "<INFO>23143</INFO></ITEM> or <ITEM>" + getitemname(23142) + "<INFO>23142</INFO></ITEM>, I can pack it for just ^FF0000" + F_InsertComma(.@zeny) + "^000000 Zeny!";
mes "Do you want to pack it right now?";
next;
switch( select( "Cancel", "Growth Elixir Packing", "Job Elixir Packing" ) ) {
case 1:
mes "[Gift Supplies Clerk]";
mes "Come back whenever you need packaging services!";
close;
case 2:
.@item = 23142;
.@box = 23144;
break;
case 3:
.@item = 23143;
.@box = 23145;
break;
}
mes "[Gift Supplies Clerk]";
if (countitem(.@item) < 5) {
mes "Please come back when you have enough materials.";
close;
}
if (Zeny < .@zeny) {
mes "Please come back when you have enough Zeny.";
mes F_InsertComma(.@zeny) + "z to be specific.";
close;
}
if (checkweight(23144,1) == 0) {
mes "You have too many kinds of objects. Clear your inventory.";
close;
}
if (MaxWeight - Weight < 10000) {
mes "Can't continue because you have too many heavy objects. Reduce your total weight by clearing your inventory.";
close;
}
mes "Confirm to spend " + F_InsertComma(.@zeny) + "z to package 5 <ITEM>" + getitemname(.@item) + "<INFO>" + .@item + "</INFO></ITEM> into <ITEM>" + getitemname(.@box) + "<INFO>" + .@box + "</INFO></ITEM>?";
next;
if (select( "Yes", "No" ) == 2) {
mes "[Gift Supplies Clerk]";
mes "Come back whenever you need packaging services!";
close;
}
Zeny -= .@zeny;
delitem .@item,5;
getitem .@box,1;
end;
}
//Instance
1@md_pay,239,30,6 script Marry Jae#0_1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false)
end;
mes "[Marry Jae]";
mes "Before we start setting up the environment here, we'll give you the chance to choose an appropriate difficulty level.";
mes "I could make my own choice, but each person handles it differently based on their abilities.";
next;
switch( select( "Cancel", "Lv60 ~ 79", "Lv80 ~ 99", "Lv100 ~ 119", "Lv120 ~ 139", "Lv140 ~ 159", "Lv160 ~ " ) ) {
case 1:
end;
//Familiar, Skeleton, Zombie
case 2:
.@min_level = 60;
setarray 'mob[0],3643,3637,3649;
break;
case 3:
.@min_level = 80;
setarray 'mob[0],3644,3638,3650;
break;
case 4:
.@min_level = 100;
setarray 'mob[0],3645,3639,3651;
break;
case 5:
.@min_level = 120;
setarray 'mob[0],3646,3640,3652;
break;
case 6:
.@min_level = 140;
setarray 'mob[0],3647,3641,3653;
break;
case 7:
.@min_level = 160;
setarray 'mob[0],3648,3642,3654;
break;
}
mes "[Marry Jae]";
if (BaseLevel < .@min_level) {
mes "Your base level is too low to select this, you need to be level " + .@min_level + " + .";
close;
}
mes "Good luck finding the treasures!";
npctalk "Good luck~";
donpcevent instance_npcname("map_md_pay_spawn") + "::OnStart";
close;
}
1@md_pay,1,1,6 script map_md_pay_spawn -1,{
end;
OnStart:
sleep 2500;
disablenpc instance_npcname("Marry Jae#0_1");
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnFarmiliarDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,252,54,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,260,40,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,249,93,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,224,38,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,255,125,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,264,132,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,255,165,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,265,181,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,225,165,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,235,115,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,205,145,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,190,180,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,213,250,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,90,263,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,135,200,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,175,155,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,165,145,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,180,117,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,175,115,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,185,66,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,155,55,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,165,45,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,124,57,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,54,45,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,53,48,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,55,65,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,51,66,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,42,84,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,41,152,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,46,171,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,45,185,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,64,172,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,75,181,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,50,202,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,55,205,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,75,245,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,90,263,"Familiar",'mob[0],1,.@event$;
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnSkelDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,245,55,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,243,63,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,259,98,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,258,204,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,239,122,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,189,190,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,239,231,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,205,225,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,172,207,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,166,234,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,171,236,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,126,180,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,150,150,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,155,135,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,174,75,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,186,67,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,95,65,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,55,85,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,37,92,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,34,90,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,27,99,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,57,76,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,62,93,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,33,97,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,60,45,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,48,60,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,73,51,"Skeleton",'mob[1],1,.@event$;
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnZombieDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,245,65,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,218,61,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,255,171,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,215,165,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,237,127,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,215,105,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,198,168,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,243,267,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,165,207,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,157,236,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,113,259,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,105,255,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,117,238,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,164,194,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,159,172,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,175,155,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,146,131,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,152,126,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,181,85,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,165,81,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,157,74,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,175,45,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,49,48,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,65,175,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,78,180,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,33,207,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,49,227,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,55,235,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,60,240,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,70,237,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,65,265,"Zombie",'mob[2],1,.@event$;
'rand_chest = rand(1,4);
end;
OnFarmiliarDead:
callsub( S_Mob, 'mob[0], "Familiar", "OnFarmiliarDead" );
OnSkelDead:
callsub( S_Mob, 'mob[1], "Skeleton", "OnSkelDead" );
OnZombieDead:
callsub( S_Mob, 'mob[2], "Zombie", "OnZombieDead" );
S_Mob:
if (rand(100) == 0) {
'rand_chest++;
if ('rand_chest > 4)
'rand_chest = 1;
// Treasure Chest Spawn
donpcevent instance_npcname("#WDbox" + 'rand_chest) + "::OnStart";
}
sleep 10000;
monster 'map_md_pay$,0,0, getarg(1), getarg(0),1, instance_npcname("map_md_pay_spawn") + "::" + getarg(2);
end;
OnInstanceInit:
'count = 0;
'rand_chest = 0;
'map_md_pay$ = instance_mapname("1@md_pay");
disablenpc instance_npcname("#WDbox1");
disablenpc instance_npcname("#WDbox2");
disablenpc instance_npcname("#WDbox3");
disablenpc instance_npcname("#WDbox4");
end;
}
// Treasure Chest Reward
1@md_pay,99,172,3 script #WDbox1 4_TREASURE_BOX,{
specialeffect EF_COIN;
disablenpc();
stopnpctimer;
sleep 500;
.@chestname$ = strnpcinfo(2);
if (.@chestname$ == "WDbox1") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(97,101), rand(170,174);
}
else if (.@chestname$ == "WDbox2") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(233,237), rand(58,62);
}
else if (.@chestname$ == "WDbox3") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(51,55), rand(265,269);
}
else if (.@chestname$ == "WDbox4") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(236,240), rand(250,254);
}
end;
OnStart:
enablenpc();
instance_announce -1, "A treasure chest appeared somewhere in the dungeon. It'll disappear after a while, so let's find it.", bc_map, "0xff5500";
initnpctimer;
end;
OnTimer180000: //3min before chest disappears
disablenpc();
stopnpctimer;
end;
}
1@md_pay,235,60,3 duplicate(#WDbox1) #WDbox2 4_TREASURE_BOX
1@md_pay,53,267,3 duplicate(#WDbox1) #WDbox3 4_TREASURE_BOX
1@md_pay,238,252,3 duplicate(#WDbox1) #WDbox4 4_TREASURE_BOX

View File

@@ -241,6 +241,12 @@ que_swat mapflag nobranch
har_in01 mapflag nobranch
rockmi2 mapflag nobranch
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nobranch
1@md_pay mapflag nobranch
//============================================================
// Lasagna
//============================================================

View File

@@ -256,6 +256,12 @@ har_in01 mapflag nomemo
rockmi1 mapflag nomemo
rockmi2 mapflag nomemo
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nomemo
1@md_pay mapflag nomemo
//============================================================
// Lasagna
//============================================================

View File

@@ -6,6 +6,7 @@
//===== Changelogs: ==========================================
//= 1.0 Renewal split. [Euphy]
//= 1.1 Added GVG TE Guild Dungeons. [Capuche]
//= 1.2 Removed instances. [Lemongrass]
//============================================================
//============================================================
@@ -60,27 +61,10 @@ te_aldecas3 mapflag nosave SavePoint
te_aldecas4 mapflag nosave SavePoint
te_aldecas5 mapflag nosave SavePoint
//============================================================
// Misty Forest Labyrinth
//============================================================
1@mist mapflag nosave SavePoint
//============================================================
// Octopus Cave
//============================================================
1@cash mapflag nosave SavePoint
//============================================================
// Drain
//============================================================
1@pump mapflag nosave SavePoint
2@pump mapflag nosave SavePoint
//============================================================
// Somatology Laboratory
//============================================================
que_lhz mapflag nosave SavePoint
1@lhz mapflag nosave SavePoint
//============================================================
// Port Malaya
@@ -95,240 +79,22 @@ ma_zif07 mapflag nosave SavePoint
ma_zif08 mapflag nosave SavePoint
ma_zif09 mapflag nosave SavePoint
//============================================================
// Bangungot Hospital F2
//============================================================
1@ma_h mapflag nosave SavePoint
//============================================================
// Buwaya Cave
//============================================================
1@ma_c mapflag nosave SavePoint
//============================================================
// Bakonawa Hideout
//============================================================
1@ma_b mapflag nosave SavePoint
//============================================================
// Inside Eclage
//============================================================
que_avan01 mapflag nosave SavePoint
1@ecl mapflag nosave SavePoint
//============================================================
// Glastheim Memorial Dungeon
//============================================================
1@gl_k mapflag nosave SavePoint
2@gl_k mapflag nosave SavePoint
//============================================================
// Wave Mode Memorial Dungeon
//============================================================
1@def01 mapflag nosave SavePoint
1@def02 mapflag nosave SavePoint
1@def03 mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 1
//============================================================
1@face mapflag nosave SavePoint
1@sara mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 2
//============================================================
1@ge_st mapflag nosave SavePoint
1@gef mapflag nosave SavePoint
1@gef_in mapflag nosave SavePoint
1@spa mapflag nosave SavePoint
1@tnm1 mapflag nosave SavePoint
1@tnm2 mapflag nosave SavePoint
1@tnm3 mapflag nosave SavePoint
//============================================================
// Horror Toy Factory Memorial Dungeon
//============================================================
1@xm_d mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 3
//============================================================
1@glast mapflag nosave SavePoint
1@air1 mapflag nosave SavePoint
1@air2 mapflag nosave SavePoint
//============================================================
// Decisive Battle - Part 1
//============================================================
1@dth1 mapflag nosave SavePoint
1@dth2 mapflag nosave SavePoint
1@dth3 mapflag nosave SavePoint
1@rev mapflag nosave SavePoint
//============================================================
// Decisive Battle - Part 2
//============================================================
1@eom mapflag nosave SavePoint
1@jtb mapflag nosave SavePoint
//============================================================
// Episode 15 - Phantasmagorica
//============================================================
1@lab mapflag nosave SavePoint
1@uns mapflag nosave SavePoint
un_myst mapflag nosave SavePoint
1@mcd mapflag nosave SavePoint
//============================================================
// Infinite Space
//============================================================
1@infi mapflag nosave
//============================================================
// Episode 16.1 - Banquet of Heroes
//============================================================
que_swat mapflag nosave SavePoint
1@mir mapflag nosave SavePoint
2@mir mapflag nosave SavePoint
1@sthb mapflag nosave SavePoint
1@sthc mapflag nosave SavePoint
1@sthd mapflag nosave SavePoint
1@slw mapflag nosave SavePoint
1@swat mapflag nosave SavePoint
//============================================================
// Rockridge
//============================================================
rockmi2 mapflag nosave SavePoint
//============================================================
// Chicken Mode - Nightmare Glastheim
//============================================================
1@gl_k2 mapflag nosave SavePoint
2@gl_k2 mapflag nosave SavePoint
//============================================================
// Chicken Mode - Horror Toy Factory
//============================================================
1@xm_d2 mapflag nosave SavePoint
//============================================================
// Suspicious Shipwreck
//============================================================
1@tre mapflag nosave SavePoint
//============================================================
// Poring Village
//============================================================
1@begi mapflag nosave SavePoint
//============================================================
// Volcanic Island Korodo
//============================================================
1@crd mapflag nosave SavePoint
//============================================================
// Noodles Festival July
//============================================================
1@drdo mapflag nosave SavePoint
//============================================================
// Soul Reaper Job Change
//============================================================
1@soul mapflag nosave SavePoint
//============================================================
// Episode 17.1
//============================================================
1@cor mapflag nosave SavePoint
1@os_a mapflag nosave SavePoint
1@os_b mapflag nosave SavePoint
1@rgsr mapflag nosave SavePoint
//============================================================
// Episode 17.2
//============================================================
1@bamn mapflag nosave SavePoint
1@bamq mapflag nosave SavePoint
1@ghg mapflag nosave SavePoint
1@herbs mapflag nosave SavePoint
1@lost mapflag nosave SavePoint
1@odin mapflag nosave SavePoint
//============================================================
// 4th Jobs Change
//============================================================
1@4win mapflag nosave SavePoint
1@4mag mapflag nosave SavePoint
1@4mst mapflag nosave SavePoint
1@4sac mapflag nosave SavePoint
1@4tro mapflag nosave SavePoint
1@4inq mapflag nosave SavePoint
1@4cdn mapflag nosave SavePoint
1@4igd mapflag nosave SavePoint
1@4drk mapflag nosave SavePoint
//============================================================
// Geffen Night Arena
//============================================================
1@ge_sn mapflag nosave SavePoint
//============================================================
// Traces of Heroes
//============================================================
1@mjo1 mapflag nosave SavePoint
1@mjo2 mapflag nosave SavePoint
1@spa2 mapflag nosave SavePoint
//============================================================
// Thanatos Tower Memorial Dungeon
//============================================================
1@thts mapflag nosave SavePoint
2@thts mapflag nosave SavePoint
3@thts mapflag nosave SavePoint
4@thts mapflag nosave SavePoint
5@thts mapflag nosave SavePoint
6@thts mapflag nosave SavePoint
7@thts mapflag nosave SavePoint
8@thts mapflag nosave SavePoint
//============================================================
// Glastheim Challenge Mode
//============================================================
1@gl_he mapflag nosave SavePoint
1@gl_he2 mapflag nosave SavePoint
//============================================================
// EDDA
//============================================================
1@gl_prq mapflag nosave SavePoint
1@gol1 mapflag nosave SavePoint
1@gol2 mapflag nosave SavePoint
//============================================================
// 2018 Halloween
//============================================================
1@halo mapflag nosave SavePoint
//============================================================
// Constellation Tower
//============================================================
1@ch_t mapflag nosave SavePoint
2@ch_t mapflag nosave SavePoint
3@ch_t mapflag nosave SavePoint
//============================================================
// Episode 18 - Direction of Prayer
//============================================================
1@adv mapflag nosave SavePoint
1@advs mapflag nosave SavePoint
1@nyr mapflag nosave SavePoint
1@oz mapflag nosave SavePoint
1@tcamp mapflag nosave SavePoint
2@nyr mapflag nosave SavePoint
//============================================================
// Sunken Tower
//============================================================
1@ch_u mapflag nosave SavePoint

View File

@@ -246,6 +246,12 @@ rebel_in mapflag monster_noteleport
har_in01 mapflag noteleport
rockmi2 mapflag noteleport
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag noteleport
1@md_pay mapflag noteleport
//============================================================
// Lasagna
//============================================================

View File

@@ -189,6 +189,12 @@ har_in01 mapflag nowarpto
rockmi1 mapflag nowarpto
rockmi2 mapflag nowarpto
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nowarpto
1@md_pay mapflag nowarpto
//============================================================
// Lasagna
//============================================================

View File

@@ -122,6 +122,12 @@
1@slw mapflag partylock
1@swat mapflag partylock
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag partylock
1@md_pay mapflag partylock
//============================================================
// Chicken Mode Nightmare Glastheim
//============================================================

View File

@@ -107,6 +107,12 @@ lhz_d_n2 mapflag restricted 6
1@slw mapflag restricted 6
1@swat mapflag restricted 6
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag restricted 6
1@md_pay mapflag restricted 6
//============================================================
// Chicken Mode Nightmare Glastheim
//============================================================

View File

@@ -52,7 +52,10 @@ Footer:
- Path: npc/re/merchants/barters/quests_16_1.yml
- Path: npc/re/merchants/barters/quests_16_2.yml
- Path: npc/re/merchants/barters/quests_17_1.yml
- Path: npc/re/merchants/barters/quests_17_2.yml
- Path: npc/re/merchants/barters/refine.yml
- Path: npc/re/merchants/barters/enchantgrade.yml
- Path: npc/re/merchants/barters/cashmall.yml
- Path: npc/re/merchants/barters/rgsr_in.yml
- Path: npc/re/merchants/barters/enchan_illusion_16_2.yml
- Path: npc/re/merchants/barters/quests_exp_175.yml

View File

@@ -142,7 +142,7 @@ Body:
Item: Hunting_Arrow
Amount: 500
- Index: 15
Item: Poison_Arrow_Container
Item: Poi_Arrow_Container
RequiredItems:
- Index: 0
Item: Poison_Arrow
@@ -199,7 +199,7 @@ Body:
Item: Bullet_Case_Lighting
RequiredItems:
- Index: 0
Item: Lightning_Bullet
Item: Lighting_Bullet
Amount: 500
- Index: 4
Item: Bullet_Case_Ice
@@ -262,19 +262,19 @@ Body:
Item: Sanctified_Bullet
Amount: 500
- Index: 14
Item: aegis_100195
Item: Bullet_Case_Full
RequiredItems:
- Index: 0
Item: Full_Metal_Jacket
Amount: 500
- Index: 15
Item: aegis_100197
Item: Bullet_Case_Tail
RequiredItems:
- Index: 0
Item: Dragon_Tail_Missile
Amount: 500
- Index: 16
Item: aegis_100196
Item: Bullet_Case_Mine
RequiredItems:
- Index: 0
Item: Shooting_Mine
@@ -466,7 +466,7 @@ Body:
Item: Holy_Cannon_Ball
Amount: 500
- Index: 5
Item: aegis_100178
Item: Cannon_Box_6
RequiredItems:
- Index: 0
Item: Liquid_Condensed_Bullet

View File

@@ -0,0 +1,231 @@
# This file is a part of rAthena.
# Copyright(C) 2023 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_ill_underwater
Items:
- Index: 0
Item: Electric_Eel_IL
RequiredItems:
- Index: 0
Item: Electric_Eel
Refine: 9
- Index: 1
Item: Deep_Sea_Starfish
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 1
Item: Electronic_Guitar_IL
RequiredItems:
- Index: 0
Item: Electronic_Guitar
Refine: 9
- Index: 1
Item: Deep_Sea_Starfish
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 2
Item: Brionac_IL
RequiredItems:
- Index: 0
Item: Brionac
Refine: 9
- Index: 1
Item: Deepsea_Fish_Tail
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 3
Item: KatarOfCold_Icicle_IL
RequiredItems:
- Index: 0
Item: Katar_Of_Cold_Icicle_
Refine: 9
- Index: 1
Item: Deep_Sea_Crab
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 4
Item: Death_Guidance_IL
RequiredItems:
- Index: 0
Item: Death_Guidance
Refine: 9
- Index: 1
Item: Rotten_Deepseafish
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 5
Item: Zephyrus_IL
RequiredItems:
- Index: 0
Item: Zephyrus_
Refine: 9
- Index: 1
Item: Abysmal_Clam
Amount: 150
- Index: 2
Item: IllusionStone
Amount: 120
- Index: 6
Item: Saint_Robe_IL
RequiredItems:
- Index: 0
Item: Saint_Robe_
Refine: 9
- Index: 1
Item: Deepsea_Fish_Tail
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 20
- Index: 3
Item: IllusionStone
Amount: 90
- Index: 7
Item: Water_Sprits_Armor_IL
RequiredItems:
- Index: 0
Item: Water_Sprits_Armor_
Refine: 9
- Index: 1
Item: Deep_Sea_Crab
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 20
- Index: 3
Item: IllusionStone
Amount: 90
- Index: 8
Item: Chain_Mail_IL
RequiredItems:
- Index: 0
Item: Chain_Mail_
Refine: 9
- Index: 1
Item: Deep_Sea_Starfish
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 20
- Index: 3
Item: IllusionStone
Amount: 90
- Index: 9
Item: Morrigane_Helm_IL
RequiredItems:
- Index: 0
Item: Morrigane's_Helm
Refine: 9
- Index: 1
Item: Deep_Sea_Crab
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 50
- Index: 3
Item: IllusionStone
Amount: 100
- Index: 10
Item: Morrigane_Manyeau_IL
RequiredItems:
- Index: 0
Item: Morrigane's_Manteau
Refine: 9
- Index: 1
Item: Rotten_Deepseafish
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 50
- Index: 3
Item: IllusionStone
Amount: 100
- Index: 11
Item: Morrigane_Belt_IL
RequiredItems:
- Index: 0
Item: Morrigane's_Belt
- Index: 1
Item: Deepsea_Fish_Tail
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 50
- Index: 3
Item: IL_Kraken_Leg
Amount: 15
- Index: 4
Item: IllusionStone
Amount: 100
- Index: 12
Item: Morrigane_Pendant_IL
RequiredItems:
- Index: 0
Item: Morrigane's_Pendant
- Index: 1
Item: Abysmal_Clam
Amount: 100
- Index: 2
Item: E_Abyss1
Amount: 50
- Index: 3
Item: Crown_Of_Witch
Amount: 15
- Index: 4
Item: IllusionStone
Amount: 100

View File

@@ -0,0 +1,467 @@
# 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_Teleport_Ep17_02
Items:
- Index: 0
Item: Teleport_Ep17_02
RequiredItems:
- Index: 0
Item: BarMealTicket
- Name: barter_Ep_17_2_C_Admin_Acc
Items:
- Index: 0
Item: Ep_17_2_C_Admin2_Acc
RequiredItems:
- Index: 0
Item: BarMealTicket
Amount: 10
- Index: 1
Item: Ep_17_2_C_Admin1_Acc
RequiredItems:
- Index: 0
Item: BarMealTicket
Amount: 5
- Name: barter_EP17_2_EP
Items:
- Index: 0
Item: EP17_2_EP1
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 1
Item: EP17_2_EP2
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 2
Item: EP17_2_EP3
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 3
Item: EP17_2_EP4
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 4
Item: EP17_2_EP5
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 5
Item: EP17_2_EP6
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 6
Item: EP17_2_EP7
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 7
Item: EP17_2_EP8
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 8
Item: EP17_2_EP9
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 9
Item: EP17_2_EP10
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 10
Item: EP17_2_EP11
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 11
Item: EP17_2_EP12
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 12
Item: EP17_2_EP13
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 13
Item: EP17_2_EP14
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 14
Item: EP17_2_EP15
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 15
Item: EP17_2_EP16
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 16
Item: EP17_2_EP17
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 17
Item: EP17_2_EP18
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 18
Item: EP17_2_EP19
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 19
Item: EP17_2_EP20
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 20
Item: EP17_2_EP21
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 21
Item: EP17_2_EP22
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 22
Item: EP17_2_EP23
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 23
Item: EP17_2_EP24
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 24
Item: EP17_2_EP25
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 25
Item: EP17_2_EP26
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 26
Item: EP17_2_EP27
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 27
Item: EP17_2_EP28
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 28
Item: EP17_2_EP29
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 29
Item: EP17_2_EP30
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 30
Item: EP17_2_EP31
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 31
Item: EP17_2_EP32
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 32
Item: EP17_2_EP33
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 33
Item: EP17_2_EP34
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 34
Item: EP17_2_EP35
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 35
Item: EP17_2_EP36
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 36
Item: EP17_2_EP37
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 37
Item: EP17_2_EP38
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 38
Item: EP17_2_EP39
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 39
Item: EP17_2_EP40
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 40
Item: EP17_2_EP41
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 41
Item: EP17_2_EP42
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 42
Item: EP17_2_EP43
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 43
Item: EP17_2_EP44
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 44
Item: EP17_2_EP45
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 45
Item: EP17_2_EP46
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 46
Item: EP17_2_EP47
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 47
Item: EP17_2_EP48
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 48
Item: EP17_2_EP49
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 49
Item: EP17_2_EP50
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Index: 50
Item: EP17_2_EP51
RequiredItems:
- Index: 0
Item: Magical_Igni_Stone
Amount: 300
- Name: barter_auto_equip_1
Items:
- Index: 0
Item: Auto_Armor_A
RequiredItems:
- Index: 0
Item: Illusion_Armor_A
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Index: 1
Item: Auto_Armor_B
RequiredItems:
- Index: 0
Item: Illusion_Armor_B
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Index: 2
Item: Auto_Engine_A
RequiredItems:
- Index: 0
Item: Illusion_Engine_A
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Index: 3
Item: Auto_Engine_B
RequiredItems:
- Index: 0
Item: Illusion_Engine_B
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Index: 4
Item: Auto_Leg_A
RequiredItems:
- Index: 0
Item: Illusion_Leg_A
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Index: 5
Item: Auto_Leg_B
RequiredItems:
- Index: 0
Item: Illusion_Leg_B
Refine: 9
- Index: 1
Item: BarMealTicket
Amount: 900
- Name: barter_auto_equip_2
Items:
- Index: 0
Item: Auto_B_R
RequiredItems:
- Index: 0
Item: Illusion_B_R
- Index: 1
Item: BarMealTicket
Amount: 1500
- Index: 1
Item: Auto_B_L
RequiredItems:
- Index: 0
Item: Illusion_B_L
- Index: 1
Item: BarMealTicket
Amount: 1500
- Index: 2
Item: Auto_BC_R
RequiredItems:
- Index: 0
Item: Illusion_BC_R
- Index: 1
Item: BarMealTicket
Amount: 1500
- Index: 3
Item: Auto_BC_L
RequiredItems:
- Index: 0
Item: Illusion_BC_L
- Index: 1
Item: BarMealTicket
Amount: 1500

View File

@@ -0,0 +1,86 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <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_ein_dun03
Items:
- Index: 0
Item: Ein_SAFETY_PENDR
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 75
- Index: 1
Item: Ein_SAFETY_PENDL
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 75
- Index: 2
Item: Ein_SAFETY_EPAULR
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 75
- Index: 3
Item: Ein_SAFETY_EPAULL
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 75
- Index: 4
Item: Ein_Ddbox2
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 30
- Index: 5
Item: Ein_Ddbox
RequiredItems:
- Index: 0
Item: Ein_DYNITE
Amount: 30

View File

@@ -0,0 +1,283 @@
//===== rAthena Script =======================================
//= Half Moon in the Daylight Enchanter
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Half Moon in the Daylight related enchanter
//===== Changelog: ===========================================
//= 1.0 Initial release [Everade]
//= 1.1 Clean-up [Capuche]
//============================================================
rachel,177,139,3 script Temple Item Manager#0hmoon 4_M_TRAINEE,{
disable_items;
if (MaxWeight - Weight < 1000 || checkweight(5819,1) == 0) {
npctalk "Reduce your weight please.", "", bc_self;
end;
}
mes "[Temple Item Manager]";
mes "If you have 1 ^0000cd" + getitemname(28387) + "^000000 and a ^0000cd" + getitemname(25088) + "^000000, I will grant you the power of the Goddess.";
next;
mes "[Temple Item Manager]";
mes "I'll do a good job. Leave it to me.";
next;
switch( select( "What is a Goddess' power?", "Well then, please.", "It's nothing." ) ) {
case 1:
mes "[Temple Item Manager]";
mes "What is the power of a Goddess? Did you just ask about the power of the Goddess?";
next;
if (select( "No.", "Yes. I asked." ) == 1) {
mes "[Temple Item Manager]";
mes "I'd like to talk to you, please listen.";
close;
}
mes "[Temple Item Manager]";
mes "Power of the Goddess!!! I love the Goddess! Goddess, you're awesome!!!";
next;
mes "[Temple Item Manager]";
mes "There's a story that needs to be told first.";
next;
mes "[Temple Item Manager]";
mes "I've always been a fan of the ^0000cdGoddess^000000. As I entered the temple and started my life as a devoted follower, my life began to blossom.";
next;
mes "[Temple Item Manager]";
mes "One day before I went to sleep, I had a ^0000cddream^000000 while I way praying to the Goddess.";
next;
mes "[Temple Item Manager]";
mes "I heard the ^0000cdvoice^000000 of Goddess Freya in the full light.";
next;
mes "[Temple Item Manager]";
mes "But unfortunately, as soon as I woke up, I forgot all about my dream. That's how dreams are.";
next;
mes "[Temple Item Manager]";
mes "I cried endlessly because I felt sorry for that fact. But if the Goddess lets me hear her voice through a dream, wouldn't we too, be able to reach the Goddess through dreaming?";
next;
mes "[Temple Item Manager]";
mes "I started to study dreams with all my passion. I thought this was the will of the Goddess, who's trying to convey to me through them.";
next;
mes "[Temple Item Manager]";
mes "While I was working hard on my research, I made the ^0000cdPassage of Dreams^000000 at the request of our aunt, High Priestess Niren, who's right next to me. It's the result of what I dedicated my life to.";
next;
mes "[Temple Item Manager]";
mes "I can't reach the Goddess yet... But there aren't many people who encounter the Goddess in their dreams... Like me...";
next;
mes "[Temple Item Manager]";
mes "Anyway, when I first heard the request from our aunt, High Priestess Niren, I was surprised.";
next;
mes "[Temple Item Manager]";
mes "Would you dare to enter the Pope's dream...? The High Priestess Niren convinced me to enter her dream, but there was nothing that I could do to help her.";
next;
mes "[Temple Item Manager]";
mes "And the persuasion was surprisingly convincing.";
next;
mes "[" + strcharinfo(0) + "]";
mes "So what's the Power of the Goddess?";
next;
mes "[Temple Item Manager]";
mes "When I first entered the Pope's dream, I was amazed.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Why?";
next;
mes "[Temple Item Manager]";
mes "Of my ^0000cdgenius^000000.";
emotion ET_SWEAT;
next;
mes "[Temple Item Manager]";
mes "Can anyone else in the world create a device that allows them to enter other people's dreams and experience them vividly? Kya- After all, Goddess' beloved lamb.";
emotion ET_SWEAT;
next;
mes "[Temple Item Manager]";
mes "As I was walking through the Pope's dream, I accidentally found a ^0000cdPriest's Necklace^000000 from the priest and a special energetic ^0000cdFragment^000000 from the faceless shrine there.";
next;
mes "[Temple Item Manager]";
mes "And I went around trying to find out as much as I could in my dreams, but when the Pope found me, she rejected me fiercely in fear.";
next;
mes "[Temple Item Manager]";
mes "I'm not the Pope's closest confidant, so I must have been just a stranger to her.";
next;
mes "[Temple Item Manager]";
mes "So I was thrown out of the Pope's dream.";
next;
mes "[Temple Item Manager]";
mes "By the way. When I woke up from my dream, I had the Priest's Necklace from the shrine and the strange fragment still in my hands. What do you think?";
next;
mes "[" + strcharinfo(0) + "]";
mes "Amazing.";
next;
mes "[Temple Item Manager]";
mes "Oh Goddess, please pity the blunt sensibility of an adventurer who can express these tremendous results in a word that is just amazing-";
emotion ET_SWEAT;
next;
mes "[Temple Item Manager]";
mes "I was able to bring out the things I got from other people's dreams. This is a big deal! Let's get down to business because you don't seem to empathize.";
emotion ET_SWEAT;
next;
mes "[Temple Item Manager]";
mes "I began to study the necklace and the strange fragment of the shrine. The strange fragment was named the ^0000cdDream Fragment^000000, meaning the fragment obtained in a dream. Kyah- Name Sense!";
next;
mes "[Temple Item Manager]";
mes "They seemed normal when being separated, however I felt a subtle energy when I stacked them on top of each other.";
next;
mes "[Temple Item Manager]";
mes "From then on, I entered the Pope's dream and began to study by collecting them one by one, without being noticed by the Pope.";
next;
mes "[Temple Item Manager]";
mes "I discovered that by collecting about ^0000cd100 Dream Fragments^000000, compressing them with force, and putting them into the ^0000cdPriest's Necklace^000000, I can grant it ^0000cdspecial powers^000000.";
next;
mes "[Temple Item Manager]";
mes "And by continuously researching and researching, I've succeeded in separating that power into three degrees.";
next;
mes "[Temple Item Manager]";
mes "This power can help the wearer's ^0000cdphysical^000000, ^0000cdmagical^000000, or ^0000cdranged^000000 attacks. Without any side effects!";
next;
mes "[Temple Item Manager]";
mes "I gave these powers the names of ^0000cdGoddess of Justice, Goddess of Mercy, Goddess of Insight^000000, respectively. Isn't that plausible?";
next;
mes "[Temple Item Manager]";
mes "But what's even more surprising is that if you put a larger amount of ^0000cdDream Fragments^000000, that's about ^0000cd1000pcs^000000 or so, you can enchant an even more ^0000cdpowerful power^000000.";
next;
mes "[Temple Item Manager]";
mes "Any more than that, the Priest's Necklace couldn't hold up to, so all the items I've gathered were destroyed. I'm still working on it, so I'm sure I'll succeed someday.";
next;
mes "[" + strcharinfo(0) + "]";
mes "So, give me a three-line summary.";
next;
mes "[Temple Item Manager]";
mes "Oh my, what should I do with this person? Still, I'm a kind Lamb of the Goddess, so I'll tell you briefly.";
next;
mes "[Temple Item Manager]";
mes "If you bring me ^0000cd1 Priest's Necklace and 100 Dream Fragments^000000 obtained in a dream, your ^0000cdPriest's Necklace will be enchanted with the Power of the Goddess^000000.";
next;
mes "[Temple Item Manager]";
mes "And if you bring an enchanted ^0000ffPriest's Necklace with Goddess Power^000000 and ^0000ff1000 pieces of Dream Fragments^000000, you'll get even more power.";
next;
mes "[Temple Item Manager]";
mes "That's it!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Oh, thank you.";
next;
mes "[Temple Item Manager]";
mes "Would you like to hear it one more time?";
next;
mes "[" + strcharinfo(0) + "]";
mes "Oh no, that's enough. That's all right.";
next;
mes "[Temple Item Manager]";
mes "Oh, that's a shame. I was going to go into more detail this time.";
close;
case 2:
mes "[Temple Item Manager]";
mes "Great decision! Do you want it on your ^0000cdleft^000000? Or the ^0000cdright^000000 side? I'm confident either way!...";
next;
switch( select( "Left", "Right", "Cancel" ) ) {
case 1:
.@part = EQI_ACC_L;
break;
case 2:
.@part = EQI_ACC_R;
break;
case 3:
mes "[Temple Item Manager]";
mes "Oh, why!!! I'm being nice to you!!!";
close;
}
.@itemid = getequipid(.@part);
if (.@itemid != 28387) {
mes "[Temple Item Manager]";
mes "Uh, wait! That's not the ^0000cd" + mesitemlink(28387, false) + "^000000, is it? Can you check it again?";
close;
}
.@card = getequipcardid(.@part,3);
if (getiteminfo(.@card, ITEMINFO_SUBTYPE) == CARD_ENCHANT) {
npctalk "This necklace of yours already has an enchantment.";
end;
}
mes "[Temple Item Manager]";
mes "What special abilities would you like to enchant your necklace with?";
next;
setarray .@enhance_n$[0], "Goddess of Justice", "Goddess of Mercy", "Goddess of Insight";
.@s = select( .@enhance_n$[0], .@enhance_n$[1], .@enhance_n$[2], "Cancel" ) -1;
switch( .@s ) {
default:
setarray .@enhance_a[0],29121,29123,29125;
setarray .@enhance_s[0],29122,29124,29126;
mes "[Temple Item Manager]";
mes "You have selected the " + .@enhance_n$[.@s] + " enchantment.";
mes "Please select the class";
mes "" + mesitemlink(.@enhance_a[.@s], false) + "";
mes "" + mesitemlink(.@enhance_s[.@s], false) + "";
next;
switch( select( "A Class", "S Class" ) ) {
case 1:
.@enchant = .@enhance_a[.@s];
.@cost = 100;
.@class = 1;
break;
case 2:
.@enchant = .@enhance_s[.@s];
.@cost = 1000;
.@class = 2;
break;
}
mes "[Temple Item Manager]";
mes "The necklace will be enchanted with the " + mesitemlink(.@enchant, false) + "";
mes "Are you really sure to proceed with this enchantment process?";
next;
if (select( "No, I need time to consider.","Yes, please proceed." ) == 1)
break;
.@card = getequipcardid(.@part,3); // re-defined
mes "[Temple Item Manager]";
if (!getequipisequiped(.@part) || isequipped(28387) < 1) {
mes "You aren't wearing the " + mesitemlink(28387, false) + "...!";
close;
}
if (.@enchant == .@card) {
mes "Your " + mesitemlink(28387, false) + " already has an enchant.";
close;
}
if (countitem(25088) < .@cost) {
mes "You didn't bring enough " + mesitemlink(25088, false) + "!";
close;
}
if (.@class == 2 && (.@enchant == 29122 && .@card != 29121 || .@enchant == 29124 && .@card != 29123 || .@enchant == 29126 && .@card != 29125)) {
mes "You need to have your necklace enchanted with " + mesitemlink(.@enhance_a[.@s], false) + " first.";
close;
}
specialeffect2 182;
specialeffect2 205;
specialeffect2 102;
specialeffect2 104;
mes "The necklace has been enchanted according to your specifications.";
delitem 25088,.@cost; //Fragment of Dream
delequip .@part;
getitem2 28387,1,1,0,0,0,0,0,.@enchant; //Priest's Necklace
close;
case 3:
break;
}
break;
case 3:
break;
}
mes "[Temple Item Manager]";
mes "Nothing? Did you forget what to say?";
next;
mes "[Temple Item Manager]";
mes "If you're not busy right now, would you like to eat with me?";
next;
mes "[Temple Item Manager]";
mes "Why don't you take the time with me to talk about dreams, science, and the goddess?";
next;
mes "[" + strcharinfo(0) + "]";
mes "Well, I'm busy so...";
next;
mes "[Temple Item Manager]";
mes "Even if you have nothing to say, just listen to me!!!";
close;
}

View File

@@ -3,11 +3,16 @@
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Illusion series related merchants and enchanters
// Note:
// - Some dialog are missing in Illusion of Luanda exchange NPC.
//===== Changelog: ===========================================
//= 1.0 Initial release of Illusion of Moonlight [crazyarashi]
//= 1.1 Cleanup and improvements [Everade]
//= 1.2 Added Illusion of Vampire enchanter [Capuche]
//= 1.3 Added Illusion of Frozen enchanter [Capuche]
//= 1.4 Added Illusion of Turtle enchanter [Capuche]
//= 1.5 Added Illusion of Luanda enchanter [Capuche]
//= 1.6 Added Illusion of Underwater exchange [Capuche]
//============================================================
//============================================================
@@ -1335,3 +1340,338 @@ OnTouch:
npctalk "Illusion Enchanter: Come talk to me if you're interested in the Illusion equipment!", "", bc_self;
end;
}
//============================================================
//= Illusion of Turtle
//============================================================
// Exchange npc
alberta,226,28,3 script Equipment Researcher 4_TOWER_15,{
disable_items;
.@illusion_stone_name$ = getitemname(25271);
mes "[Equipment Researcher]";
mes "I'm the one who researches " + .@illusion_stone_name$ + " to enhance armors and weapons.";
mes "If you have the materials I need for my research, wouldn't you hand them over?";
mes "If you give me some equipment and some materials, I'll exchange them for my reinforced equipment.";
next;
switch( select( "What are you doing here?", "Exchange Weapon", "Exchange Armor" ) ) {
case 1:
mes "[Equipment Researcher]";
mes "I'm working on how to use an " + .@illusion_stone_name$ + " to strengthen equipment.";
mes "I went to go to the place where " + .@illusion_stone_name$ + " was found, and I barely got back..";
next;
mes "[Equipment Researcher]";
mes "I think I met a girl...";
mes "Anyway, after that, I couldn't find a way to go back.";
mes "Here, we're getting research materials from adventurers with " + .@illusion_stone_name$ + ", and I'm offering enhanced equipment instead.";
close;
case 2:
mes "[Equipment Researcher]";
mes "What are the weapons I can exchange? Wait a minute. I'll name them.";
next;
mes "[Equipment Researcher]";
mes "" + mesitemlink(13469, false) + ",";
mes "" + mesitemlink(1326, false) + ",";
mes "" + mesitemlink(32005, false) + ",";
mes "" + mesitemlink(13338, false) + ",";
mes "" + mesitemlink(16065, false) + ".";
mes "Each has two slots.";
next;
mes "[Equipment Researcher]";
mes "As a material, you can bring ^0000CDexisting weapons that have been refined over +9.^000000";
mes "And I need some ^0000CD" + .@illusion_stone_name$ + " and other materials.^000000";
mes "If you pick the weapon you want, I'll tell you in detail.";
next;
mes "[Equipment Researcher]";
mes "Of course, we're giving you new weapons, so don't forget that all the existing ^0000CDsmelting and enchantments^000000 will disappear.";
mes "I need to see the performance of the weapons to be exchanged, so you must ^0000CDwear them^000000.";
mes "So, what kind of weapon do you want?";
next;
switch( select( "Illusion Immaterial Sword", "Illusion War Axe", "Illusion Pole Axe", "Illusion Wing Shuriken", "Illusion Iron Driver" ) ) {
case 1:
.@reward = 13469; // Illusion Immaterial Sword
.@eq_req = 1141; // Immaterial Sword
.@part = EQI_HAND_R;
setarray .@items_req[0],
25271,100, // Illusion Stones
25314,50; // Ships Log
break;
case 2:
.@reward = 1326; // Illusion War Axe
.@eq_req = 1306; // War Axe
.@part = EQI_HAND_R;
setarray .@items_req[0],
25271,100, // Illusion Stones
25311,200; // Black Piece of Soul
break;
case 3:
.@reward = 32005; // Illusion Pole Axe
.@eq_req = 1417; // Pole Axe
.@part = EQI_HAND_R;
setarray .@items_req[0],
25271,100, // Illusion Stones
25311,200; // Black Piece of Soul
break;
case 4:
.@reward = 13338; // Illusion Wing Shuriken
.@eq_req = 13300; // Huuma Wing Shuriken
.@part = EQI_HAND_R;
setarray .@items_req[0],
25271,100, // Illusion Stones
25313,200; // Old Turtle Shells
break;
case 5:
.@reward = 16065; // Illusion Iron Driver
.@eq_req = 1529; // Iron Driver
.@part = EQI_HAND_R;
setarray .@items_req[0],
25271,100, // Illusion Stones
25313,200; // Old Turtle Shells
break;
}
mes "[Equipment Researcher]";
mes "" + mesitemlink(.@reward, false) + "?";
mes "I need " + callfunc("F_GetArticle",getitemname(.@eq_req)) + " ^0000CD+9 " + getitemname(.@eq_req) + " ^000000,";
mes "^0000CD" + getitemname(.@items_req[0]) + " " + .@items_req[1] + "ea^000000 and ^0000CD" + getitemname(.@items_req[2]) + " " + .@items_req[3] + "ea^000000 as materials.";
break;
case 3:
.@reward = 19247; // Illusion Fancy Flower
.@eq_req = 2207; // Fancy Flower
.@part = EQI_HEAD_TOP;
setarray .@items_req[0],
25271,50, // Illusion Stones
25312,50; // Pretty Old Doll
mes "[Equipment Researcher]";
mes "You can only exchange one type of armor, " + mesitemlink(.@reward, false) + ". It has 1 slot.";
mes "I need " + callfunc("F_GetArticle",getitemname(.@eq_req)) + " ^0000CD" + getitemname(.@eq_req) + "^000000,";
mes "^0000CD" + getitemname(.@items_req[0]) + " " + .@items_req[1] + " ea^000000 and ^0000CD" + getitemname(.@items_req[2]) + " " + .@items_req[3] + " ea^000000 as materials.";
next;
mes "[Equipment Researcher]";
mes "Of course, we're giving you new weapons, so don't forget that all the existing ^0000CDsmelting and enchantments^000000 will disappear.";
mes "I need to see the performance of the weapons to be exchanged, so you must ^0000CDwear them^000000.";
break;
}
mes "Would you like to exchange it right now?";
next;
if (select( "Exchange " + getitemname(.@reward), "Cancel" ) == 2) {
mes "[Equipment Researcher]";
mes "Yeah, come back if you change your mind.";
close;
}
if (countitem(.@items_req[0]) < .@items_req[1] || countitem(.@items_req[2]) < .@items_req[3]) {
mes "[Equipment Researcher]";
mes "Well... you're running out of ingredients.";
mes "Bring me ^0000CD" + getitemname(.@items_req[0]) + " " + .@items_req[1] + "ea^000000 and ^0000CD" + getitemname(.@items_req[2]) + " " + .@items_req[3] + " ea^000000. Then I'll exchange it for you..";
close;
}
// custom texts and checks
.@equip_id = getequipid(.@part);
if (.@equip_id == -1) {
mes "[Equipment Researcher]";
if (.@part == EQI_HAND_R)
mes "Where's your weapon?";
else
mes "Why don't you go wear that equipment first?";
close;
}
if (.@equip_id != .@eq_req) {
mes "[Equipment Researcher]";
mes "Please equip " + callfunc("F_GetArticle",getitemname(.@eq_req)) + " ^4d4fff+9 " + getitemname(.@eq_req) + ".^000000";
close;
}
if (getequiprefinerycnt(.@part) < 9) {
mes "[Equipment Researcher]";
mes "I can only upgrade equipment that is ^4d4fffrefined to at least +9.^000000";
close;
}
mes "[Equipment Researcher]";
mes "There you go.";
delequip .@part;
delitem .@items_req[0], .@items_req[1];
delitem .@items_req[2], .@items_req[3];
getitem .@reward,1;
close;
}
//============================================================
//= Illusion of Luanda
//============================================================
// Exchange npc
com_d02_i,234,266,6 script Village Soap#Lu 4_M_ORIENT01,{
if (checkweight(1201,3) == 0) {
mes "- You cannot proceed because you have too many items. -";
close;
}
disable_items;
setarray .@equipment_id[0],
18174,
28626,
19366,
15348,
22192,
20923;
setarray .@equipment_name$[0],
getitemname(.@equipment_id[0]),
getitemname(.@equipment_id[1]),
getitemname(.@equipment_id[2]),
getitemname(.@equipment_id[3]),
getitemname(.@equipment_id[4]),
getitemname(.@equipment_id[5]);
mes "[Village Soap]";
mes "I've also rolled up my sleeves for the adventurers who work hard for the village. Can I make your equipment stronger? Is there anything on the list you want?";
next;
.@s = select( "[Material Check] View catalog.", "[Production Request] " + .@equipment_name$[0], "[Production Request] " + .@equipment_name$[1], "[Production Request] " + .@equipment_name$[2],
"[Production Request] " + .@equipment_name$[3], "[Production Request] " + .@equipment_name$[4], "[Production Request] " + .@equipment_name$[5] ) - 2;
if (.@s == -1) {
mes "[Village Soap]";
mes "Are you curious about the ingredients? Take a look.";
while(1) {
next;
.@s = select( "Stop watching", "[Material Check] " + .@equipment_name$[0], "[Material Check] " + .@equipment_name$[1], "[Material Check] " + .@equipment_name$[2],
"[Material Check] " + .@equipment_name$[3], "[Material Check] " + .@equipment_name$[4], "[Material Check] " + .@equipment_name$[5] ) - 2;
if (.@s == -1) {
mes "[Village Soap]";
mes "If you equip the required equipment and bring the ingredients, I'll make it for you in no time.";
close;
}
.@size = callsub( S_Data, .@equipment_id[.@s], .@equip_id_refined, .@req_id, .@req_amount, .@part );
mes "" + mesitemlink(.@equipment_id[.@s]) + "";
mes "**********************************";
if (.@equipment_id[.@s] == 18174)
mes "1 " + mesitemlink(.@equip_id_refined) + "";
else
mes "1 " + mesitemlink(.@equip_id_refined) + "";
for ( .@i = 0; .@i < .@size; ++.@i )
mes "" + .@req_amount[.@i] + " " + mesitemlink(.@req_id[.@i]) + "";
}
end;
}
.@size = callsub( S_Data, .@equipment_id[.@s], .@equip_id_refined, .@req_id, .@req_amount, .@part );
if (getequiprefinerycnt(.@part) < 9) {
mes "[Village Soap]";
mes "I don't care what this equipment is, but it needs to be refined to at least +9.";
close;
}
if (getequipid(.@part) != .@equip_id_refined) {
mes "[Village Soap]";
mes "Eheh- This dude misunderstood me. Do you have to equip the equipment that becomes the material?";
close;
}
// todo text (currently custom)
for ( .@i = 0; .@i < .@size; ++.@i ) {
if (countitem(.@req_id[.@i]) < .@req_amount[.@i]) {
mes "[Village Soap]";
mes "You don't have enough items.";
close;
}
}
delequip .@part;
for ( .@i = 0; .@i < .@size; ++.@i )
delitem .@req_id[.@i], .@req_amount[.@i];
getitem .@equipment_id[.@s],1;
end;
S_Data:
switch( getarg(0) ) {
case 18174:
set getarg(1), 1726; // .@equip_id_refined,
setarray .@req[0],
25636,50,
25640,50,
25637,50,
25271,80;
set getarg(4), EQI_HAND_R;
break;
case 28626:
set getarg(1), 1552;
setarray .@req[0],
25642,100,
25271,50;
set getarg(4), EQI_HAND_R;
break;
case 19366:
set getarg(1), 5128;
setarray .@req[0],
25634,30,
25633,150,
25271,120;
set getarg(4), EQI_HEAD_TOP;
break;
case 15348:
set getarg(1), 2354;
setarray .@req[0],
25641,100,
25638,150,
25271,80;
set getarg(4), EQI_ARMOR;
break;
case 22192:
set getarg(1), 2419;
setarray .@req[0],
25635,100,
25633,150,
25271,80;
set getarg(4), EQI_SHOES;
break;
case 20923:
set getarg(1), 2520;
setarray .@req[0],
25639,30,
25638,150,
25271,120;
set getarg(4), EQI_GARMENT;
break;
}
.@size = getarraysize(.@req);
for ( .@i = 0; .@i < .@size; .@i += 2 ) {
set getelementofarray(getarg(2), .@i/2), .@req[.@i];
set getelementofarray(getarg(3), .@i/2), .@req[.@i+1];
}
return (.@size/2);
}
//============================================================
//= Illusion of Underwater
//============================================================
iz_d04_i,134,228,4 script Horen#Horen 4_M_BIBI,{
if (checkweight(1201,3) == 0) {
mes "Conversation cannot proceed because you have too many items.";
mes "Please clean up your inventory and try again.";
close;
}
mes "[Horen]";
mes "Hello. If you have rare materials from this place, I can enhance your equipment.";
next;
mes "[Horen]";
mes "Would you like to see upgradeable equipment?";
next;
if (select( "Yes", "No" ) == 2) {
mes "[Horen]";
mes "Come back if interested.";
close;
}
mes "[Horen]";
mes "There are many types, so take your time. If you want something, I can enhance it right away.";
close2;
callshop( "barter_ill_underwater" );
end;
}

View File

@@ -0,0 +1,485 @@
//===== rAthena Script =======================================
//= Episode 17.2 - Sage's Legacy Enchants
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Sage's Legacy related merchants and enchanters
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//= 1.2 Cleanup [Capuche]
//============================================================
ba_in01,87,370,3 script Lisa#ep172_merchant 20698,{
if (checkweight(1201,3) == 0) {
mes "^ff0000It seems that the type or weight of the item you have is too much. Please organize your inventory.^000000";
close;
}
disable_items;
mes "[Lisa]";
mes "Welcome welcome~";
next;
switch( select( "Explore Devices", "Automatic Engine Wing Enhancement", "Automatic Armor Enhancement", "Automatic Leg Enhancement", "Automatic Accessories(R) Enhancement", "Automatic Accessories(L) Enhancement" ) ) {
case 1:
mes "[Lisa]";
mes "If you bring automatic equipment and reinforcement modules, we can enchant the appropriate module on the equipment.";
next;
mes "[Lisa]";
mes "This is done according to the specification module, so the equipment will not be destroyed. However, the number of upgrades can vary depending on the module.";
next;
mes "[Lisa]";
mes "Then please visit again when you need help~";
close;
case 2:
.@part = EQI_GARMENT;
setarray .@equip_required[0],480020,480021;
break;
case 3:
.@part = EQI_ARMOR;
setarray .@equip_required[0],450127,450128;
break;
case 4:
.@part = EQI_SHOES;
setarray .@equip_required[0],470022,470023;
break;
case 5:
.@part = EQI_ACC_R;
setarray .@equip_required[0],490024,490026;
break;
case 6:
.@part = EQI_ACC_L;
setarray .@equip_required[0],490025,490027;
break;
}
.@equip_id = getequipid(.@part);
.@equip_name$ = getequipname(.@part);
.@refine = getequiprefinerycnt(.@part);
for ( .@i = 0; .@i < 4; ++.@i )
.@card[.@i] = getequipcardid(.@part,.@i);
mes "[Lisa]";
mes "If you bring automatic equipment and reinforcement modules, we can enchant the appropriate module on the equipment.";
next;
mes "[Lisa]";
mes strcharinfo(0) + ".";
mes "Please select the grade of module that you want to use.";
next;
switch( select( "Cancel", "Normal Grade", "Rare Grade", "Unique Grade", "Legendary Grade", "Epic Grade 1", "Epic Grade 2", "Epic Grade 3" ) ) {
case 1:
mes "[Lisa]";
mes "Stopping conversation.";
close;
case 2:
setarray .@module_etc[0],1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112;
break;
case 3:
setarray .@module_etc[0],1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127;
break;
case 4:
setarray .@module_etc[0],1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000207,1000208;
break;
case 5:
setarray .@module_etc[0],1000144,1000145,1000146,1000147,1000148,1000149;
break;
case 6:
setarray .@module_etc[0],1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168;
break;
case 7:
setarray .@module_etc[0],1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185;
break;
case 8:
setarray .@module_etc[0],1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202;
break;
}
.@size = getarraysize(.@module_etc);
.@menu$ = "Cancel:";
// Build the menu according to all the modules with the given grade in inventory
for ( .@i = 0; .@i < .@size; ++.@i ) {
if (countitem(.@module_etc[.@i]) < 1)
.@menu$ += "^808080(Module Amount 0)^000000" + ":";
else {
.@item_name$ = getitemname(.@module_etc[.@i]);
.@item_name$ = replacestr(.@item_name$, "Automatic Modification Module(", "");
.@item_name$ = replacestr(.@item_name$, ")", "");
.@menu$ += .@item_name$ + ":";
}
}
.@s = select(.@menu$) - 2;
if (.@s == -1) {
mes "[Lisa]";
mes "Stopping conversation.";
close;
}
.@module_id = .@module_etc[.@s];
if (countitem(.@module_id) < 1) {
mes "[Lisa]";
mes "You must possess a module in your inventory that matches the efficacy to proceed with the enhancement.";
close;
}
if (.@equip_required[0] != .@equip_id && .@equip_required[1] != .@equip_id) {
mes "[Lisa]";
mes "Please make sure you have equipped the proper automatic equipment that you want to enhance.";
close;
}
if (.@card[1] > 0) {
mes "[Lisa]";
mes "This automatic equipment is already at its maximum capacity.";
mes "Please try another automatic equipment.";
close;
}
if (.@module_id < 1000105 || .@module_id == 1000150 || .@module_id == 1000151 || (.@module_id >= 1000203 && .@module_id != 1000207 && .@module_id != 1000208)) {
mes "[Lisa]";
mes "Unknown error has occured.";
close;
}
// Each part has a list of allowed module and a maximum allowed number of the same module
switch( .@part ) {
case EQI_GARMENT:
setarray .@module_etc_data[0],1000105,3,1000106,3,1000125,2,1000126,2,1000127,2,1000135,1,1000142,1,1000208,1;
break;
case EQI_ARMOR:
setarray .@module_etc_data[0],1000105,3,1000106,3,1000122,2,1000123,2,1000124,2,1000128,1,1000129,1,1000130,1,1000131,1,1000132,1,1000133,1,1000207,1,1000140,1;
.@size = getarraysize(.@module_etc_data);
// Epic enchants. Max 2 epic enchants of the same enchant allowed
for (.@i = 1000152; .@i < 1000203; .@i++) {
setarray .@module_etc_data[.@size], .@i, 2;
.@size += 2;
}
break;
case EQI_SHOES:
setarray .@module_etc_data[0],
1000105,3,1000106,3,1000119,2,1000120,2,1000121,2,1000134,1,1000141,1,
1000144,1,1000145,1,1000146,1,1000147,1,1000148,1,1000149,1; // Legendary enchants (must be unique on EQI_SHOES)
break;
case EQI_ACC_L:
case EQI_ACC_R:
setarray .@module_etc_data[0],1000107,3,1000108,3,1000109,3,1000110,3,1000111,3,1000112,3,1000113,2,1000114,2,1000115,1,1000116,1,1000117,1,1000118,1,1000136,1,1000137,1,1000138,1,1000139,1,1000143,1;
break;
}
.@data_index = inarray(.@module_etc_data, .@module_id);
if (.@data_index == -1) {
mes "[Lisa]";
mes "You can not enchant this module to this automatic equipment.";
close;
}
// Max number of the selected module allowed
.@max_module = .@module_etc_data[.@data_index+1];
// Bind the module etc to the specific enchant
for ( .@i = 1000105; .@i < 1000203; ++.@i ) {
if (.@i == 1000150 || .@i == 1000151)
continue;
.@auto_module[.@i] = 310082 + .@size_auto_module;
.@size_auto_module++;
}
.@auto_module[1000207] = 310178;
.@auto_module[1000208] = 310179;
// Check the count of the corresponding enchant in card slots
.@enchant_id = .@auto_module[.@module_id];
if (.@enchant_id == 0) {
mes "[Lisa]";
mes "Unknown error has occured.";
close;
}
if (countinarray(.@card[0], .@enchant_id) >= .@max_module) {
mes "[Lisa]";
mes "This automatic equipment has already maximized the enhancement from this module.";
mes "Please try another module.";
close;
}
mes "[Lisa]";
mes "Are you sure you want to enchance your ^FF0000" + .@equip_name$ + "^000000 with ^0000CD" + getitemname(.@module_id) + "^000000? This process cannot be reversed.";
next;
if (select( "Wait... Don't", "I'm sure. Do it." ) == 1) {
mes "[Lisa]";
mes "Stopping conversation.";
close;
}
delitem .@module_id,1;
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@refine) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
for ( .@i = 3; .@i > 0; .@i--) {
if (.@card[.@i] == 0) {
.@card[.@i] = .@enchant_id;
break;
}
}
delequip .@part;
getitem2 .@equip_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
mes "[Lisa]";
mes "Woaaaah~ I can feel the power of your automatic equipment already~!";
close;
}
//= Merchants
- marketshop ep172littlemanager00 -1,1000227:172:999999
ba_in01,87,386,3 script Child Manager ©¬#ep172_pet EP17_2_CHILD_ADMIN1,{
if (checkweight(1201,3) == 0) {
mes "- You have too many items.";
mes "Please clear your inventory and try again. -";
close;
}
mes "[Child Manager ©¬]";
mes "I have a whole bunch of little stuffs!";
next;
switch( select( "Little Manager", "Cloud Cotton", "Little Headress", "Cancel" ) ) {
case 1:
mes "[Child Manager ©¬]";
mes "If you want to play with the little manager, it would cost you 30 Barmeal Tickets.";
next;
if (select( "Exchange.", "Stop." ) == 2) {
mes "[Child Manager ©¬]";
mes "Then, it's time for me to play!";
close;
}
if (countitem(1000103) < 30) {
mes "[Child Manager ©¬]";
mes "Like I said, if you want to play with the little manager, you'll need 30 Barmeal Tickets!";
close;
}
mes "[Child Manager ©¬]";
mes "Have fun with your new friend!";
delitem 1000103,30;
getitem 9123,1;
close;
case 2:
callshop "ep172littlemanager00";
end;
case 3:
callshop "barter_Ep_17_2_C_Admin_Acc";
end;
case 4:
mes "[Child Manager ©¬]";
mes "Then, it's time for me to play!";
close;
}
end;
}
//= Cube Shop
- marketshop ep172cubeshop00 -1,100251:10000000:-1,100252:30000000:-1
ba_in01,87,376,3 script Cube Lane#ep172cube 4_EP17_GUARD_B,{
mes "[Cube Lane]";
mes "We are offering reinforcement cubes that will refine your ^0000CD+4^000000 Illusion and Automatic Equipment to ^FF0000+7^000000 in an instant!";
mes "Varmundt is no doubt the best man in the world!";
close2;
callshop "ep172cubeshop00";
end;
}
//= Module Shop
ba_in01,87,373,3 script Spiera#ep172_soapstone MD_ASSISTANT,{
callshop "barter_EP17_2_EP";
end;
}
//= Equipment Shop
ba_in01,87,383,3 script Yeoncheong#equipment_exchange 4_EP17_CLEANER_W,{
if (checkweight(1201,3) == 0) {
cutin "ep172_omega.bmp",2;
mes "[Yeoncheong]";
mes "The bag is full. Please check the weight and number of items in your possession before talking again.";
close3;
}
disable_items;
cutin "ep172_omega",2;
mes "[Yeoncheong]";
mes "We accept Barmeal Tickets for upgrading your Illusion Equipment into Automatic Requipments.";
mes "What would you like to exchange?";
next;
switch( select( "Exchange Information", "Automatic Equipment Exchange", "Automatic Accessory Exchange", "Quit" ) ) {
case 1:
mes "[Yeoncheong]";
mes "You can exchange your ^0000CD+9 Illusion Armor, Engine, or Leg and 900 Barmeal Tickets^000000 to ^FF0000Automatic Armor, Engine, or Leg^000000.";
next;
mes "[Yeoncheong]";
mes "The ^FF0000Automatic Accessories^000000 can be exchanged for ^0000CDIllusion Accessories and 1500 Barmeal Tickets^000000.";
next;
mes "[Yeoncheong]";
mes "The equipment you want to exchange must be in your inventory and talk to me.";
mes "^FF0000Bring only one equipment that you want to exchange and proceed.^000000";
close3;
case 2:
.@shop$ = "barter_auto_equip_1";
break;
case 3:
.@shop$ = "barter_auto_equip_2";
break;
case 4:
mes "[Yeoncheong]";
mes "Have a nice day, dear guest~";
close3;
}
mes "[Yeoncheong]";
mes "^FF0000Bring only one equipment that you want to exchange and proceed.^000000";
mes "If there are multiple equipments in your inventory, it will be exchanged randomly if it meets the condition.";
close2;
cutin "",255;
callshop .@shop$;
end;
}
//= Device Module Exchange
ba_in01,87,380,3 script Yecheon#ep172module_trader 4_EP17_CLEANER_W,{
if (checkweight(1201,3) == 0) {
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "The bag is full. Please check the weight and number of items in your possession before talking again.";
close3;
}
disable_items;
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "I can provide you an Automatic Module, Physical Automatic Improvement Device, and Magical Automatic Improvement Device. It will help you the improve abilites of your automatic equipments.";
next;
cutin "",255;
switch( select( "More information.", "Get Automatic Module", "Get Physical Automatic Improvement Device", "Get Magical Automatic Improvement Device", "Cancel" ) ) {
case 1:
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "You can get an ^FF0000automatic module^000000 for ^0000CD90 Barmeal Tickets^000000. I will give you a random automatic module excluding the epic grade modules.";
next;
mes "[Yecheon]";
mes "I'm also providing ^FF0000Physical Automatic Improvement Device and Magical Automatic Improvement Device^000000. You can exchange it for ^0000CD45 Barmeal Tickets^000000, or ^0000CD1500000 Zeny^000000.";
next;
mes "[Yecheon]";
mes "Then, combat-specialized guest, do safely improve your abilities.";
close3;
case 2:
.@price = 90;
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "I will exchange 1 random Automatic Module excluding the epic grade modules for " + .@price + " " + mesitemlink(1000103) + ".";
next;
cutin "",255;
if (select( "Exchange Barmeal Ticket.", "Do not exchange" ) == 2) {
mes "[Yecheon]";
mes "Transaction ended.";
close3;
}
cutin "ep172_omega",2;
if (countitem(1000103) < .@price) {
mes "[Yecheon]";
mes "You don't have enough Barmeal tickets for the exchange.";
close3;
}
mes "[Yecheon]";
mes "I exchanged it for one random Automatic Module.";
delitem 1000103,.@price;
getitem rand(1000105,1000149),1;
close3;
case 3:
.@price = 45;
.@zeny = 1500000;
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "I will exchange ^FF00001 Physical Automatic Improvement Device^000000 for " + .@price + " " + mesitemlink(1000103) + " or " + .@zeny + " Zeny.";
next;
cutin "",255;
switch( select( "Exchange for Barmeal Ticket.", "Exchange for 1500000 Zeny.", "Do not exchange." ) ) {
case 1:
cutin "ep172_omega",2;
if (countitem(1000103) < .@price) {
mes "[Yecheon]";
mes "You don't have enough Barmeal tickets for the exchange.";
close3;
}
delitem 1000103,.@price;
break;
case 2:
cutin "ep172_omega",2;
if (Zeny < .@zeny) {
mes "[Yecheon]";
mes "You don't have enough Zeny for the exchange.";
close3;
}
Zeny -= .@zeny;
break;
case 3:
mes "[Yecheon]";
mes "Transaction ended.";
close3;
}
mes "[Yecheon]";
mes "I exchanged it for one random Physical Automatic Improvement Device.";
.@r = rand(100);
if (.@r < 50)
getitem 100164,1;
else if (.@r < 80)
getitem 100165,1;
else
getitem 100166,1;
close3;
case 4:
.@price = 45;
.@zeny = 1500000;
cutin "ep172_omega",2;
mes "[Yecheon]";
mes "I will exchange ^FF00001 Magical Automatic Improvement Device^000000 for " + .@price + " " + mesitemlink(1000103) + " or " + .@zeny + " Zeny.";
next;
cutin "",255;
switch( select( "Exchange for Barmeal Ticket.", "Exchange for 1500000 Zeny.", "Do not exchange." ) ) {
case 1:
cutin "ep172_omega",2;
if (countitem(1000103) < .@price) {
mes "[Yecheon]";
mes "You don't have enough Barmeal tickets for the exchange.";
close3;
}
delitem 1000103,.@price;
break;
case 2:
cutin "ep172_omega",2;
if (Zeny < .@zeny) {
mes "[Yecheon]";
mes "You don't have enough Zeny for the exchange.";
close3;
}
Zeny -= .@zeny;
break;
case 3:
mes "[Yecheon]";
mes "Transaction ended.";
close3;
}
mes "[Yecheon]";
mes "I exchanged it for one random Magical Automatic Improvement Device.";
.@r = rand(100);
if (.@r < 50)
getitem 100167,1;
else if (.@r < 80)
getitem 100168,1;
else
getitem 100169,1;
close3;
case 5:
mes "[Yecheon]";
mes "Transaction ended.";
close3;
}
end;
}
ba_in01,87,389,2 script Butterfly Merchant#ba_in01 4_EP17_MASTER_A,{
if (ep17_2_main < 8) {
mes "[Butterfly Merchant]";
mes "Sorry. Registration is required to purchase butterflies.";
close;
}
mes "[Butterfly Merchant]";
mes "Welcome.";
mes "Do you need wings to move to Barmund Mansion?";
close2;
callshop "barter_Teleport_Ep17_02";
end;
}

View File

@@ -0,0 +1,90 @@
//===== rAthena Script =======================================
//= Merchants from new dungeons for Level 175
//===== Description: =========================================
//= [Walkthrough Conversion]
//--- Merchants related to new dungeons.
//===== Changelog: ===========================================
//= 1.0 Initial release of Einbech Dungeon 3 merchants. [Capuche]
//============================================================
einbech,149,257,4 script Site manager Elmen#extdq0 4_TOWER_16,{
if (checkweight(25814,100) == 0 || checkweight(1201,1) == 0 || (MaxWeight - Weight) < 10000) {
mes "- You cannot proceed because you have too many items. -";
close;
}
mes "[Elmen]";
mes "Hello. Adventurer.";
mes "If you're here to purchase Dynite mining equipment or refine ore into Dynite, you've come to the right place.";
next;
switch( select( "Dynite Refinement", "Dynite Shop", "Dynite Equipment Exchange" ) ) {
case 1:
npctalk "Elmen: You can refine up to 100 Dynite at a time. The machine is small.", "", bc_self;
mes "[Elmen]";
mes "" + mesitemlink(25814) + " Refined Ore.";
mes "" + mesitemlink(25809) + " ^777777(currently " + countitem(25809) + ")^000000";
mes "" + mesitemlink(25810) + " ^777777(currently " + countitem(25810) + ")^000000";
mes "" + mesitemlink(25811) + " ^777777(currently " + countitem(25811) + ")^000000";
mes "" + mesitemlink(25812) + " ^777777(currently " + countitem(25812) + ")^000000";
mes "" + mesitemlink(25813) + " ^777777(currently " + countitem(25813) + ")^000000";
mes "You need one each of the five types of ore.";
next;
input .@val;
if (.@val > 100) {
mes "[Elmen]";
mes "I'm sorry. Adventurer.";
mes "Dynite Refinement can only be refined up to 100 at a time? The machine is small, so there is no help. Please understand.";
close;
}
if (.@val == 0) {
mes "[Elmen]";
mes "Cancel?";
mes "If you need refinement of the Dynite, please find it anytime. There is no one who can do it without me.";
close;
}
if (countitem(25809) < .@val || countitem(25810) < .@val || countitem(25811) < .@val || countitem(25812) < .@val || countitem(25813) < .@val) {
mes "[Elmen]";
mes "Hey! This makes it difficult for each other, don't you run out of materials needed for refining? The materials!";
close;
}
specialeffect EF_REPAIRWEAPON;
progressbar_npc "FFFF00",1;
delitem 25809,.@val; // Ein_REDIUM
delitem 25810,.@val; // Ein_RINDIUM
delitem 25811,.@val; // Ein_ODIUM
delitem 25812,.@val; // Ein_PURDIUM
delitem 25813,.@val; // Ein_WHIDIUM
getitem 25814,.@val; // Ein_DYNITE
mes "[Elmen]";
mes "" + .@val + " Dynite have been refined. It's perfect today!";
close;
case 2:
mes "[Elmen]";
mes "There are various accessories and modification permits. Look carefully at what you want before buying.";
close2;
callshop "barter_ein_dun03";
end;
case 3:
mes "[Elmen]";
mes "I can exchange the equipment with the Dynite, but it's already in a tightly sealed box.";
mes "Give me 50 ^4d4dffDynites^000000 and I will open a ^4d4dffweapon box^000000 for you.";
next;
mes "[Elmen]";
mes "I don't know what will come out, but the quality is good. Would you like to open it?";
next;
if (select( "Close your eyes and exchange.", "Do not exchange." ) == 2) {
mes "[Elmen]";
mes "Kee, this is a waste, it was a good deal.";
close;
}
if (countitem(25814) < 50) {
mes "[Elmen]";
mes "You don't have enough Dynite friends.";
mes "I don't know what's going to come out, so it's hard to go anywhere and get this kind of equipment at this price.";
close;
}
delitem 25814,50;
// unknown text
getgroupitem(IG_EIN_1HITEMBOX);
end;
}
}

View File

@@ -0,0 +1,18 @@
//===== rAthena Script =======================================
//= Amicitia dungeons
//===== Description: =========================================
//= Amicitia dungeons Monster Spawn Script.
//===== Additional Comments: =================================
//= 1.0 First version. [Capuche]
//============================================================
amicitia1 monster Amitera 20924,55
amicitia1 monster Litus 20925,55
amicitia1 monster Fillia 20926,55
amicitia1 monster Vanilaqus 20927,55
amicitia2 monster Lavaeter 20920,65
amicitia2 monster Fulgor 20921,65
amicitia2 monster Napeo 20922,65
amicitia2 monster Galensis 20923,65
amicitia2 boss_monster The One 20928,1,21600000,600000,0

View File

@@ -0,0 +1,17 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Tartar Cellar - Level 1
//============================================================
ba_2whs01,0,0 monster Broken Beta Guards 20639,30,5000
ba_2whs01,0,0 monster Broken Omega Cleaner 20641,90,5000
ba_2whs01,0,0 monster Heart Hunter Skirmisher 20682,70,5000
//= Tartar Cellar - Level 2
//============================================================
ba_2whs02,0,0 monster Broken Warehouse Manager 20637,80,5000
ba_2whs02,0,0 monster Broken Beta Guards 20639,80,5000
ba_2whs02,0,0 monster Broken Omega Cleaner 20641,20,5000

View File

@@ -0,0 +1,14 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Meditation Bath
//============================================================
ba_bath,0,0 monster Broken Cleaner 20633,30,5000
ba_bath,0,0 monster Broken Cleaner 20634,30,5000
ba_bath,0,0 monster Boiling Water Phen 20643,70,5000
ba_bath,0,0 monster Boiling Water Marc 20644,50,5000
ba_bath,0,0 monster Boiling Water Swordfish 20645,50,5000
ba_bath,0,0 monster Boiling Water Piranha 20646,70,5000

View File

@@ -0,0 +1,12 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Library - Memory Corridor
//============================================================
ba_lib,0,0 monster Broken Beta 20630,10,5000
ba_lib,0,0 monster Heart Hunter Skirmisher 20680,15,5000
ba_lib,0,0 monster Bookworm 20683,80,5000
ba_lib,0,0 monster Roaming Spellbook 20684,70,5000

View File

@@ -0,0 +1,28 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Power Plant - Level 1
//=============================================================
ba_pw01,0,0 monster Broken Beta 20630,15,5000
ba_pw01,0,0 monster Heart Hunter Skirmisher 20680,15,5000
ba_pw01,0,0 monster Elite Bellare 20688,90,5000
ba_pw01,0,0 monster Spell Addicted Dolor 20689,80,5000
ba_pw01,0,0 monster Released Spell 20690,50,5000
//= Sewage Treatment Station
//=============================================================
ba_pw02,0,0 monster Heart Hunter Skirmisher 20680,15,5000
ba_pw02,0,0 monster Sewage Venenum 20685,60,5000
ba_pw02,0,0 monster Sewage Clamp 20686,80,5000
ba_pw02,0,0 monster Sewage Waterfall 20687,60,5000
ba_pw02,0,0 monster Elite Bellare 20688,60,5000
//= Power Plant - Level 2
//=============================================================
ba_pw03,0,0 monster Spell Addicted Plaga 20691,80,5000
ba_pw03,0,0 monster Spell Addicted Sanare 20692,80,5000
ba_pw03,0,0 monster Powerful Spell 20693,70,5000
ba_pw03,0,0 monster Sharp Spell 20694,70,5000

View File

@@ -11,6 +11,7 @@
//= 1.2 Small 11.1 spawn update [Playtester]
//= 1.3 More accurate spawns [Playtester]
//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf]
//= 1.5 Added Illusion of Luanda. [Capuche]
//============================================================
//==================================================
@@ -38,3 +39,114 @@ beach_dun3,0,0 monster Thara Frog 1034,50,5000
beach_dun3,0,0 monster Megalodon 1064,30,5000
beach_dun3,0,0 monster Hydra 1068,30,5000
beach_dun3,0,0 monster Nereid 1255,1,5000
//==================================================
// Illusion of Luanda
//==================================================
// Todo: the count should start after the end of the cooldown?
- script illusion_luanda -1,{
end;
OnMob20270: callsub( S_Mob, 20270, 5 ); // ILL_TRI_JOINT
OnMob20271: callsub( S_Mob, 20271, 5 ); // ILL_STALACTIC_GOLEM
OnMob20272: callsub( S_Mob, 20272, 5 ); // ILL_MEGALITH
OnMob20274: callsub( S_Mob, 20274, 4 ); // ILL_STONE_SHOOTER
OnMob20275: callsub( S_Mob, 20275, 4 ); // ILL_WOOTAN_SHOOTER
OnMob20276: callsub( S_Mob, 20276, 4 ); // ILL_WOOTAN_FIGHTER
S_Mob:
.@group = getarg(1);
if (.@group != .group)
end;
if (playerattached()) {
if (.count < 1500)
.count++;
if (.count == 1500 && !.boss_spawn && !.cooldown) {
getunitdata( killedgid, .@data );
callsub( S_Boss, (20273 + .swap), .@group, .@data[UMOB_X], .@data[UMOB_Y] );
}
}
.@mob_id = getarg(0);
sleep 5000;
if (.@group == .group) {
monster "com_d02_i",0,0,"--ja--",.@mob_id,1,"illusion_luanda::OnMob" + .@mob_id;
// setunittitle for the title, setunitdata
setunitdata $@mobid[0], UMOB_GROUP_ID, getarg(1);
}
end;
S_Boss:
killmonster "com_d02_i", "illusion_luanda::OnBossDeath";
.boss_spawn = true;
monster "com_d02_i",getarg(2),getarg(3),"--ja--",getarg(0),1,"illusion_luanda::OnBossDeath";
setunitdata $@mobid[0], UMOB_GROUP_ID, getarg(1);
if (.swap == 0) // ILL_TAO_GUNKA
mapannounce "com_d02_i", "Ancient Tao Gunka: Is it time to show off your megalithic power?", bc_map, 0x70DBDB;
else // ILL_WOOTAN_DEFENDER
mapannounce "com_d02_i", "Ancient Wootan Defender: I guess I'll have to step in after all these useless guys.", bc_map, 0x70DBDB;
end;
OnBossDeath:
killmonster "com_d02_i", "illusion_luanda::OnBossDeath";
.boss_spawn = false;
.cooldown = true;
if (.swap == 0) { // ILL_TAO_GUNKA
mapannounce "com_d02_i", "Ancient Tao Gunka: Megaliths, it's time to crouch and hold your breath.", bc_map, 0x70DBDB;
sleep 2000;
mapannounce "com_d02_i", "Ancient Tao Gunka: We'll grow stronger as we unhook and step out into the world.", bc_map, 0x70DBDB;
sleep 2000;
mapannounce "com_d02_i", "Ancient Tao Gunka: Crouch. When you crouch, you megalith.", bc_map, 0x70DBDB;
}
else { // ILL_WOOTAN_DEFENDER
mapannounce "com_d02_i", "Ancient Wootan Defender: Ugh.. Quite a dangerous wound..", bc_map, 0x70DBDB;
sleep 2000;
mapannounce "com_d02_i", "Ancient Wootan Defender: You pushed me, a warrior of the Wootan tribe, this far. It's pretty good. It's a pity, but I'm going to step down now.", bc_map, 0x70DBDB;
sleep 2000;
mapannounce "com_d02_i", "Ancient Wootan Defender: Listen to all Wootans! Leave now and commit to the next one.", bc_map, 0x70DBDB;
}
sleep 1000;
.group = (.group == 4 ? 5 : 4);
// all the mobs are killed and immediately replaced with new mobs
for ( .@i = 0; .@i < 3; ++.@i ) {
.@mob_id = 20270 + .@i + .swap;
killmonster "com_d02_i", "illusion_luanda::OnMob" + .@mob_id;
}
.swap = .swap ^ 4; // swap 0 -> 4, 4 -> 0 (used for mob ID)
callsub( S_SpawnInit,
(20270 + .swap),
(20271 + .swap),
(20272 + .swap)
);
initnpctimer;
end;
OnTimer7200000:
.cooldown = false;
stopnpctimer;
end;
S_SpawnInit:
.count = 0;
monster "com_d02_i",0,0,"--ja--",getarg(0),50,"illusion_luanda::OnMob" + getarg(0);
copyarray .@gid[0], $@mobid[0], 50;
monster "com_d02_i",0,0,"--ja--",getarg(1),50,"illusion_luanda::OnMob" + getarg(1);
copyarray .@gid[50], $@mobid[0], 50;
monster "com_d02_i",0,0,"--ja--",getarg(2),50,"illusion_luanda::OnMob" + getarg(2);
copyarray .@gid[100], $@mobid[0], 50;
for ( .@i = 0; .@i < 150; ++.@i )
setunitdata .@gid[.@i], UMOB_GROUP_ID, .group;
return;
OnInit:
.group = 5; // UMOB_GROUP_ID
callsub( S_SpawnInit,
20270, // ILL_TRI_JOINT
20271, // ILL_STALACTIC_GOLEM
20272 // ILL_MEGALITH
);
end;
}

View File

@@ -34,3 +34,18 @@ ein_dun02,0,0 monster Obsidian 1615,40,5000
ein_dun02,0,0 monster Old Stove 1617,30,5000
ein_dun02,0,0 monster Teddy Bear 1622,30,5000
ein_dun02,0,0,0,0 boss_monster RSX-0806 1623,1,7500000,600000,0
//==================================================
// ein_dun03 - Mine Dungeon
//==================================================
ein_dun03 monster Poisonous 20592,35
ein_dun03 monster Toxious 20593,35
ein_dun03 monster Green Mineral 20594,40
ein_dun03 monster Red Mineral 20595,40
ein_dun03 monster White Mineral 20596,40
ein_dun03 monster Purple Mineral 20597,40
ein_dun03 monster Abyssman 20603,20
ein_dun03 monster White Porcellio 20602,22
ein_dun03 monster Jeweliant 20598,20
ein_dun03 monster Jewel 20600,3
ein_dun03 boss_monster Jungoliant 20601,1,7200000,600000,0

View File

@@ -12,6 +12,7 @@
//= 1.3 Added Izlude Dungeon F6 spawns [Chilly]
//= 1.4 Official F6 spawns.
//= 1.5 Correct Spawn by Navigation's mob data. [attackjom]
//= 1.6 Added Illusion of Underwater. [Capuche]
//============================================================
//==================================================
@@ -119,3 +120,78 @@ iz_dun05,0,0 monster Sedora 2204,60,5000
iz_dun05,0,0 monster Pot Dofle 2203,30,5000
iz_dun05,0,0 monster King Dramoh 2198,25,5000
iz_dun05,0,0,0,0 boss_monster Kraken 2202,1,7200000,1800000,0
//==================================================
// Illusion of Underwater
//==================================================
iz_d04_i monster Deep Sea Sropho 20801,45,5000,0,"iz_d04_i_boss::OnMobDead"
iz_d04_i monster Deep Sea Obeaune 20802,45,5000,0,"iz_d04_i_boss::OnMobDead"
iz_d04_i monster Deep Sea Merman 20805,45,5000,0,"iz_d04_i_boss::OnMobDead"
iz_d04_i monster Deep Sea Marse 20804,45,5000,0,"iz_d04_i_boss::OnMobDead"
iz_d04_i monster Deep Sea Deviace 20803,45,5000,0,"iz_d04_i_boss::OnMobDead"
- script iz_d04_i_boss -1,{
end;
OnMobDead:
if (playerattached()) {
if (.count < 1500) // todo value ?
.count++;
if (!.boss_spawn && !.cooldown && .count == 1500) {
.boss_spawn = true;
.count = 0;
killmonster "iz_d04_i", "iz_d04_i_boss::OnBossDeath";
// mapannounce "iz_d04_i", "", bc_map; // todo
getunitdata( killedgid, .@data );
monster "iz_d04_i", .@data[UMOB_X], .@data[UMOB_Y], "--ja--", 20811,1, "iz_d04_i_boss::OnBossDeath"; // ILL_KRAKEN
end;
}
}
end;
OnBossDeath:
killmonster "iz_d04_i", "iz_d04_i_boss::OnBossDeath";
.boss_spawn = false;
.cooldown = true;
initnpctimer;
end;
OnTimer7200000:
.cooldown = false;
stopnpctimer;
end;
}
iz_d05_i monster Deep Sea Strouf 20808,45,5000,0,"iz_d05_i_boss::OnMobDead"
iz_d05_i monster Deep Sea Swordfish 20807,45,5000,0,"iz_d05_i_boss::OnMobDead"
iz_d05_i monster Deep Sea Phen 20809,45,5000,0,"iz_d05_i_boss::OnMobDead"
iz_d05_i monster Deep Sea Sedora 20806,45,5000,0,"iz_d05_i_boss::OnMobDead"
iz_d05_i monster Deep Sea King Dramoh 20810,45,5000,0,"iz_d05_i_boss::OnMobDead"
- script iz_d05_i_boss -1,{
end;
OnMobDead:
if (playerattached()) {
if (.count < 1500) // todo value ?
.count++;
if (!.boss_spawn && !.cooldown && .count == 1500) {
.boss_spawn = true;
.count = 0;
killmonster "iz_d05_i", "iz_d05_i_boss::OnBossDeath";
// mapannounce "iz_d05_i", "", bc_map; // todo
getunitdata( killedgid, .@data );
monster "iz_d05_i", .@data[UMOB_X], .@data[UMOB_Y], "--ja--", 20843,1, "iz_d05_i_boss::OnBossDeath"; // ILL_ABYSMAL_WITCH
end;
}
}
end;
OnBossDeath:
killmonster "iz_d05_i", "iz_d05_i_boss::OnBossDeath";
.boss_spawn = false;
.cooldown = true;
initnpctimer;
end;
OnTimer7200000:
.cooldown = false;
stopnpctimer;
end;
}

View File

@@ -30,3 +30,15 @@ mag_dun02,0,0 monster Deleter 1384,38,5000
mag_dun02,0,0 monster Blazer 1367,20,5000
mag_dun02,0,0 monster Diabolic 1382,15,5000
mag_dun02,0,0 monster Gig 1387,10,5000
//==================================================
// mag_dun03 - Nogg Road
//==================================================
mag_dun03 monster Rigid Lava Golem 20378,18
mag_dun03 monster Rigid Kaho 20377,20
mag_dun03 monster Rigid Explosion 20376,20
mag_dun03 monster Rigid Sky Deleter 20374,32
mag_dun03 monster Rigid Earth Deleter 20375,32
mag_dun03 monster Rigid Nightmare Terror 20373,27
mag_dun03 monster Rigid Blazer 20372,18
mag_dun03 boss_monster Rigid Muspellskoll 20419,1,3600000,600000,1

View File

@@ -0,0 +1,18 @@
//===== rAthena Script =======================================
//= Niflheim dungeon Monsters Spawn Script
//===== Description: =========================================
//= Spawns monsters in nif_dun.
//===== Additional Comments: =================================
//= 1.0 First version. [Capuche]
//============================================================
nif_dun01 monster Gan Ceann GAN_CEANN,60
nif_dun01 monster Brutal Murderer BRUTAL_MURDERER,60
nif_dun01 monster Ghost Cube GHOST_CUBE,60
nif_dun01 monster Lude Gal LUDE_GAL,60
nif_dun02 monster Disguiser DISGUISER,80
nif_dun02 monster Grote GROTE,80
nif_dun02 monster Pierrotzoist PIERROTZOIST,80
nif_dun02 monster Blue Moon Loli Ruri BLUEMOON_LOLI_RURI,80
nif_dun02 boss_monster Death Witch DEATH_WITCH,1,21600000,600000,0

View File

@@ -9,6 +9,7 @@
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//= 1.3 Correct Spawn by Navigation's mob data. [attackjom]
//= 1.4 Added Illusion of Turtle. [Capuche]
//============================================================
//==================================================
@@ -51,3 +52,49 @@ tur_dun04,99,93,20,20 boss_monster Turtle General 1312,1,3600000,600000,0
tur_dun05,0,0 monster Freezer 1319,7,5000
tur_dun05,0,0 monster Permeter 1314,4,5000
tur_dun05,0,0 monster Assaulter 1315,1,5000
//==================================================
// Illusion of Turtle
//==================================================
tur_d03_i monster Ominous Solider 3802,40
tur_d03_i monster Ominous Permeter 3800,50
tur_d04_i monster Ominous Permeter 3800,16,5000,0,"illusion_turtle_boss::OnEvent"
tur_d04_i monster Ominous Freezer 3801,36,5000,0,"illusion_turtle_boss::OnEvent"
tur_d04_i monster Ominous Assulter 3799,16,5000,0,"illusion_turtle_boss::OnEvent"
tur_d04_i monster Ominous Solider 3802,16,5000,0,"illusion_turtle_boss::OnEvent"
tur_d04_i monster Ominous Heater 3803,36,5000,0,"illusion_turtle_boss::OnEvent"
// boss spawn
- script illusion_turtle_boss -1,{
end;
OnEvent:
if (playerattached() == 0 || .boss_spawn || .cooldown)
end;
if (.mob_count[killedrid] >= 2500)
end;
.mob_count[killedrid]++;
if (.mob_count[3799] < 2500 || .mob_count[3800] < 2500 || .mob_count[3801] < 2500 || .mob_count[3802] < 2500 || .mob_count[3803] < 2500)
end;
.boss_spawn = true;
.mob_count[3799] = 0;
.mob_count[3800] = 0;
.mob_count[3801] = 0;
.mob_count[3802] = 0;
.mob_count[3803] = 0;
mapannounce "tur_d04_i", "Ominous Turtle General : Who interferes with my authority!!!", bc_map, "0x70dbdb";
getunitdata( killedgid, .@data );
monster "tur_d04_i",.@data[UMOB_X],.@data[UMOB_Y],"Ominous Turtle General",3804,1, "illusion_turtle_boss::OnBoss";
end;
OnBoss:
killmonster "tur_d04_i", "illusion_turtle_boss::OnBoss";
.boss_spawn = false;
.cooldown = true;
initnpctimer;
end;
OnTimer7200000:
.cooldown = false;
stopnpctimer;
end;
}

View File

@@ -0,0 +1,14 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Forgotten Valley
//============================================================
ba_lost,0,0 monster Pitaya 20649,50,5000
ba_lost,0,0 monster Pitaya 20650,50,5000
ba_lost,0,0 monster Pitaya 20651,50,5000
ba_lost,0,0 monster Pitaya 20652,50,5000
ba_lost,0,0 monster Pitaya 20653,30,5000
ba_lost,0,0,0,0 boss_monster Boss Pitaya 20648,1,7200000,600000,0

View File

@@ -0,0 +1,13 @@
//===== rAthena Script =======================================
//= Monsters from Varmundt's Mansion
//===== Changelog: ===========================================
//= 1.0 First version. [JohnnyPlayy]
//============================================================
//= Varmundt Mansion Garden
//============================================================
ba_maison,0,0 monster Broken Beta 20630,15,5000
ba_maison,0,0 monster Omega Cleaner 20640,5,5000
ba_maison,0,0 monster Guardian Parts 20679,15,5000
ba_maison,0,0 monster Bookworm 20683,2,5000
ba_maison,0,0 monster Roaming Spellbook 20684,1,5000

View File

@@ -40,3 +40,29 @@ function script F_22507 {// ShabbyOldScroll
else if (.@r == 10) warp "pay_fild10",147,267;
end;
}
// Return a value according to the quests states.
// -1 : One of the quest has a different state
// 0 : All the quests are not started
// 1 : All the quests are started
// 2 : All the quests are completed
function script F_queststatus {
.@type = getarg(0);
.@base = checkquest(getarg(1),.@type);
.@size = getargcount();
for ( .@i = 2; .@i < .@size; ++.@i ) {
if (checkquest(getarg(.@i),.@type) != .@base)
return -1;
}
switch( .@base ) {
case -1:
return 0;
case 0:
case 1:
return 1;
case 2:
return 2;
}
end;
}

Some files were not shown because too many files have changed in this diff Show More