Merge branch 'master' into feature/char_deletion_code

This commit is contained in:
Aleos 2018-07-26 12:49:40 -04:00 committed by GitHub
commit 0556b49a30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
187 changed files with 27728 additions and 7029 deletions

View File

@ -155,7 +155,20 @@ matrix:
- mkdir cbuild
- cd cbuild
- cmake -G "Unix Makefiles" ..
- make
- make || travis_terminate 1
# MariaDB
- os: linux
addons:
mariadb: '10.0'
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
- libmariadbclient-dev
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
before_install:
- eval "${MATRIX_EVAL}"
@ -165,10 +178,10 @@ before_script:
- ./tools/ci/sql.sh
script:
- ./configure $CONFIGURE_FLAGS
- ./configure $CONFIGURE_FLAGS || travis_terminate 1
- ./tools/ci/npc.sh
- make clean
- make server
- make clean || travis_terminate 1
- make server || travis_terminate 1
- ./login-server --run-once
- ./char-server --run-once
- ./map-server --run-once

View File

@ -61,8 +61,7 @@ feature.autotrade_open_delay: 5000
// Roulette (Note 1)
// Requires: 2014-10-22bRagexe or later
// Off by default while test version is out; enable at your own risk.
feature.roulette: off
feature.roulette: on
// Achievement (Note 1)
// Requires: 2015-05-13aRagexe or later
@ -71,3 +70,7 @@ feature.achievement: on
// Homunculues Autofeeding (Note 1)
// Requires: 2017-09-20bRagexeRE or later
feature.homunculus_autofeed: off
// Attendance System (Note 1)
// Requires: 2018-03-07bRagexeRE or later
feature.attendance: off

View File

@ -61,7 +61,9 @@ natural_healsp_interval: 8000
natural_heal_skill_interval: 10000
// The maximum weight for a character to carry when the character stops healing naturally. (in %)
// For renewal: Requires client 20171025 or newer to display properly
natural_heal_weight_rate: 50
natural_heal_weight_rate_renewal: 70
// Maximum atk speed. (Default 190, Highest allowed 199)
max_aspd: 190

View File

@ -94,6 +94,7 @@ groups: (
can_trade: true
can_party: true
command_enable: true
attendance: true
}
},
{
@ -135,6 +136,7 @@ groups: (
langtype: true
}
permissions: {
attendance: false
}
},
{

View File

@ -123,6 +123,7 @@ jobchange: "Params: <job name|ID>\n" "Changes your job.\n"
"4229 Baby Rebellion 4241 Baby Star Emperor 4242 Baby Soul Reaper\n"
"---- Modes And Others ----\n"
" 22 Wedding 26 Christmas 27 Summer 28 Hanbok\n"
" 29 Oktoberfest 30 Summer 2\n"
" 4048 Star Gladiator (Union) 4238 Baby Star Glad (Union)\n"
option: "Params: <param1> <param2>(stackable) <param3>(stackable)\n" "Adds different visual effects on or around your character.\n"
" <param1> <param2> <param3>\n"

View File

@ -105,11 +105,13 @@ minsave_time: 100
// 32: After successfully submitting an item for auction
// 64: After successfully get/delete/complete a quest
// 128: After every bank transaction (deposit/withdraw)
// 256: After every attendance reward
// 4095: Always
// NOTE: These settings decrease the chance of dupes/lost items when there's a
// server crash at the expense of increasing the map/char server lag. If your
// server rarely crashes, but experiences interserver lag, you may want to set
// these off.
save_settings: 255
save_settings: 4095
// Message of the day file, when a character logs on, this message is displayed.
motd_txt: conf/motd.txt

View File

@ -839,7 +839,20 @@
784: Baby Star Emperor
785: Baby Soul Reaper
//786-899 free
// Guild Storage Expansion Skill
786: The guild does not have a guild storage.
787: You do not have permission to use the guild storage.
// Attendance
// Mail sender: Officer
788: <MSG>3455</MSG>
// Mail title: %dday attendance has been paid.
789: <MSG>3456,%d</MSG>
// Mail body: %dday attendance has been paid.
790: <MSG>3456,%d</MSG>
791: You are not allowed to use the attendance system.
//792-899 free
//------------------------------------
// More atcommands message

View File

@ -27,3 +27,4 @@
10012,1,10011,1,0,0,0,0,0,0,0,0 //GD_RESTORE#Restoration#
10013,1,10000,1,10002,1,10004,5,10010,1,10011,1 //GD_EMERGENCYCALL#Urgent Call#
10014,1,0,0,0,0,0,0,0,0,0,0 //GD_DEVELOPMENT#Permanent Development#
10016,5,0,0,0,0,0,0,0,0,0,0 //GD_GUILD_STORAGE#Guild Storage Expansion#

View File

@ -0,0 +1,3 @@
Header:
Type: ATTENDANCE_CONF
Version: 1

3
db/pre-re/attendance.yml Normal file
View File

@ -0,0 +1,3 @@
Header:
Type: ATTENDANCE_CONF
Version: 1

View File

@ -5142,6 +5142,7 @@
12580,Vending_Search_Scroll,Universal Catalog Silver,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,0; },{},{}
12581,Vending_Search_Scroll2,Universal Catalog Gold,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
12591,Uni_Catalog_Bz,Universal Catalog Bronze,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
12609,Old_Ore_Box,Old Ore Box,2,20,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12701,Old_Blue_Box_F,Old Blue Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12702,Old_Bleu_Box,Old Navy Box,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_BleuBox),1; getrandgroupitem(IG_BleuBox),1; },{},{}
12703,Holy_Egg_2,Holy Egg,11,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
@ -5221,6 +5222,7 @@
12771,Passion_Hat_Box2,Passion Hat Box2,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12772,Cool_Hat_Box2,Cool Hat Box2,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12773,Victory_Hat_Box2,Victory Hat Box2,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12831,Potion_Box,Potion Box,2,0,,50,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12848,Falcon_Flute,Falcon Flute,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if(getskilllv("HT_FALCON")) { if(!checkoption(Option_Wug) && !checkoption(Option_Wugrider)) setfalcon (!checkfalcon()); } },{},{}
12900,Battle_Manual_Box,Battle Manual Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12208,10; },{},{}
12901,Insurance_Package,Insurance Package,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12209,10; },{},{}
@ -6579,3 +6581,5 @@
19505,T_Cigarette,T Cigarette,4,0,,0,,0,,0,0xFFFFFFFF,7,2,4096,,0,0,54,{},{},{}
19506,T_Valkyrie_Feather_Band,T Valkyrie Feather Band,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1024,,0,1,300,{},{},{}
19507,Fine_Sun,Clear Sun,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1024,,1,0,654,{},{},{}
22777,Gift_Buff_Set,Gift Buff Set,2,10,,100,,,,0,0xFFFFFFFF,63,2,,,1,,,{},{},{}

View File

@ -705,7 +705,7 @@
477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, WS_WEAPONREFINE,Upgrade Weapon
478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0,0x0, CR_SLIMPITCHER,Aid Condensed Potion
479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0, CR_FULLPROTECTION,Full Protection
480,5,8,1,0,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
480,4,8,1,0,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
481,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, HP_MANARECHARGE,Mana Recharge
482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0,0x0, PF_DOUBLECASTING,Double Casting
483,18,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0,0x0, HW_GANBANTEIN,Ganbantein
@ -1553,3 +1553,4 @@
10013,0,0,4,0,0x3,0,1,0,yes,0,0x10,0,none,0,0x40, GD_EMERGENCYCALL,Urgent Call
10014,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0,0x0, GD_DEVELOPMENT,Permanent Development
10015,0,0,4,0,0x3,0,3,0,yes,0,0x10,0,none,0,0x40, GD_ITEMEMERGENCYCALL,Item Emergency Call
10016,0,0,0,0,0,0,5,0,no,0,0x10,0,none,0,0x0, GD_GUILD_STORAGE,Guild Storage Expansion

61
db/re/attendance.yml Normal file
View File

@ -0,0 +1,61 @@
Header:
Type: ATTENDANCE_CONF
Version: 1
Attendance:
- Start: 20180502
End: 20180529
Rewards:
- Day: 1
ItemId: 22979
- Day: 2
ItemId: 6316
- Day: 3
ItemId: 12265
Amount: 5
- Day: 4
ItemId: 23047
Amount: 5
- Day: 5
ItemId: 23038
- Day: 6
ItemId: 23043
- Day: 7
ItemId: 23340
Amount: 3
- Day: 8
ItemId: 12516
Amount: 5
- Day: 9
ItemId: 23307
Amount: 5
- Day: 10
ItemId: 12610
- Day: 11
ItemId: 14533
Amount: 2
- Day: 12
ItemId: 23012
Amount: 3
- Day: 13
ItemId: 23048
Amount: 5
- Day: 14
ItemId: 12264
Amount: 5
- Day: 15
ItemId: 23046
Amount: 5
- Day: 16
ItemId: 12515
Amount: 5
- Day: 17
ItemId: 12522
Amount: 5
- Day: 18
ItemId: 12523
Amount: 5
- Day: 19
ItemId: 6234
- Day: 20
ItemId: 22845

View File

@ -35,6 +35,6 @@
28,Central Laboratory,3600,300,1@lab,120,30
29,Last room,3600,300,1@uns,145,35
// 30,Charleston in Distress,3600,300,1@mcd,127,282
// 31,Ritual of Blessing,3600,300,2@mir,101,12
// 32,Room of Consciousness,3600,300,1@mir,101,10
31,Ritual of Blessing,3600,300,2@mir,101,12
32,Room of Consciousness,3600,300,1@mir,101,10
// 33,Sky Fortress Invasion,3600,300,1@sthb,54,67,1@sthc,1@sthd

View File

@ -4917,8 +4917,8 @@
6936,Cold_Core,Cold Core,3,10,,10,,,,,,,,,,,,,{},{},{}
6937,Silicone_Shell,Silicone Shell,3,10,,10,,,,,,,,,,,,,{},{},{}
6938,Hedgehog_Picks,Hedgehog Picks,3,10,,10,,,,,,,,,,,,,{},{},{}
6939,Old_Belt,Old Belt,3,10,,10,,,,,,,,,,,,,{},{},{}
6940,Moving_Dark_Matter,Moving Dark Matter,3,10,,10,,,,,,,,,,,,,{},{},{}
6939,Old_Belt,Worn-Out Belt,3,10,,10,,,,,,,,,,,,,{},{},{}
6940,Moving_Dark_Matter,Moving Black Material,3,10,,10,,,,,,,,,,,,,{},{},{}
6941,Fragments_Valkyrie_Power,Fragments Valkyrie Power,3,10,,10,,,,,,,,,,,,,{},{},{}
6942,Will_Master,Will Master,3,10,,10,,,,,,,,,,,,,{},{},{}
6943,ATKStone_Top,Attack Stone(Upper),6,10,,100,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,1; },{},{}
@ -6827,6 +6827,7 @@
12607,Lolli_Pop_Box,Delicious Lollipop Box,11,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12608,Splendid_Box2,Splendid Box2,11,20,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12609,Old_Ore_Box,Old Ore Box,2,20,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Old_Ore_Box); },{},{}
12610,Mysterious_Egg,Mysterious Egg,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12612,Old_Coin_Pocket,Old Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Old_Coin_Pocket); },{},{}
12613,High_Coin_Pocket,Improved Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_High_Coin_Pocket); },{},{}
12614,Mid_Coin_Pocket,Intermediate Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Mid_Coin_Pocket); },{},{}
@ -9277,7 +9278,7 @@
17181,Jan_Groove_Box,Jan Groove Box,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
17184,3rd_Test_Pass_Box,3rd Test Pass Box,18,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 6583,1; },{},{}
17203,Free_Pass_Box,Free Pass Box,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
17204,Mysterious_Egg,Shining Egg,18,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Mysterious_Egg); },{},{}
17204,Shining_Egg,Shining Egg,18,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Shining_Egg); },{},{}
17207,Idn_Heart_Scroll,Idn Heart Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Idn_Heart_Scroll); },{},{}
17209,Tw_Rainbow_Scroll,Tw Rainbow Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Tw_Rainbow_Scroll); },{},{}
17210,Tw_Red_Scroll,Tw Red Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Tw_Red_Scroll); },{},{}
@ -11155,6 +11156,7 @@
22782,PC_Bang_Wooden_Box,PC Bang Wooden Box,2,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem 547,30; /*No Info*/},{},{}
22783,PC_Bang_Golden_Box,PC Bang Golden Box,2,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem 547,1; getitem 985,10; /*No Info*/},{},{}
22784,PC_Bang_Platinum_Box,PC Bang Platinum Box,2,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem 547,1; getitem 12017,10; getitem 678,12; /*No Info*/},{},{}
22979,C_Battle_Gum_2,[Sale] Battle Manual and Bubble Gum,2,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
22802,Safe_to_6_Equipment_Certificate,Safe to 6 Equipment Certificate,3,10,,10,,,,,,,,,,,,,{},{},{}
22808,Special_Gift_Box,Special Gift Box,2,10,,100,,,,,,,,,,,,,{},{},{}
22812,Sealed_Dracula_Scroll,Sealed Dracula Scroll,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem callfunc("F_Rand",6228,6232,22813,19937,17314, 6635),1; },{},{}
@ -11208,11 +11210,18 @@
22895,Limited_2015_Status_Initialization_Volume,(Limited)2015 Status Initialization Volume,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*Works like item 6320, can reset up to 3x within 1 hour*/ },{},{}
22896,Limited_Old_Status_Initialization_Volume,(Limited)Old Status Initialization Volume,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*Works like item 6320, can reset up to 3x within 1 hour*/ },{},{}
22899,Parchment_City,Parchment City,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_INCAGI",1; heal -15,0; },{},{}
22901,Question_Old_Blue_Box,Question Old Blue Box,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*No info yet*/ },{},{}
22901,Question_Old_Blue_Box,Mysterious Blue Box,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc("F_Mysterious_box"); },{},{}
22902,Sealed_Card_Album_Scroll_II,Sealed Card Album Scroll II,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem callfunc("F_Rand",6238,6239,17474,22829,24243,24244,24245),1; },{},{}
22984,Kahluna_Milk,Kahluna Milk,0,6,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_DORAM_BUF_01, 180000, 0; },{},{}
22985,Basil,Basil,0,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_DORAM_BUF_02, 180000, 0; },{},{}
//
23012,S_Small_Mana_Potion,[Sale] Small Mana Potion,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23038,S_Slim_White_Box,[Sale] Slim White Potion Box,2,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23043,S_Seed_Of_Yggdrasil_Box,[Sale] Yggdrasil Seed Box,2,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23046,S_Mystic_Powder,[Sale] Mystic Powder,2,,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23047,S_Blessing_Tyr,[Sale] Blessing of Tyr,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23048,S_Resilience_Potion,[Sale] Resilience Enhancement Potion,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
//
23123,Bullet_Case_Flare,Flare Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13228,500; },{},{}
23124,Bullet_Case_Lighting,Lightning Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13229,500; },{},{}
23125,Bullet_Case_Ice,Ice Bullet Cartridge,2,10,,250,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 13230,500; },{},{}
@ -11227,6 +11236,9 @@
23196,Agust_Lucky_Scroll,Shining Blue Lucky Egg,18,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Agust_Lucky_Scroll); },{},{}
//
23277,Mado_Box,Emergency Magic Gear,2,10000,,3000,,,,,0x00000400,56,2,,,100,,,{ setmadogear 1; },{},{}
//
23307,S_Shining_Def_Scroll,[Sale] Shining Defense Scroll,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
23340,S_Megaphone,[Sale] Megaphone,2,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
//===================================================================
// Shadow Equipments
//===================================================================

View File

@ -4473,23 +4473,23 @@ IG_Something_Candy_Holder,22067,1,1 // 1x Witch Shoes
IG_Something_Candy_Holder,22669,5,1 // 1x October Spooky Trade Box
IG_Something_Candy_Holder,22670,1,1 // 1x DARK INVITATION
// Mysterious_Egg
IG_Mysterious_Egg,12259,200,1,1,0,0,0 // 1x Miracle_Medicine
IG_Mysterious_Egg,5374,1,1,1,0,0,0 // 1x L_Magestic_Goat
IG_Mysterious_Egg,5254,99,1,1,0,0,0 // 1x Deviling_Hat
IG_Mysterious_Egg,12246,99,1,1,0,0,0 // 1x Magic_Card_Album
IG_Mysterious_Egg,4302,1,1,1,0,0,0 // 1x Tao_Gunka_Card
IG_Mysterious_Egg,5474,200,1,1,0,0,0 // 1x Notice_Board
IG_Mysterious_Egg,2554,1,1,1,0,0,0 // 1x Piece_Of_Angent_Skin
IG_Mysterious_Egg,17001,1099,1,1,0,0,0 // 1x Wander_Man_Box10
IG_Mysterious_Egg,12903,1000,1,1,0,0,0 // 1x Str_Dish_Box
IG_Mysterious_Egg,12922,1100,1,1,0,0,0 // 1x Token_Of_Siegfried_Box
IG_Mysterious_Egg,16755,1200,1,1,0,0,0 // 1x Unbreak_Def_Box
IG_Mysterious_Egg,12909,800,1,1,0,0,0 // 1x Kafra_Card_Box
IG_Mysterious_Egg,14232,800,1,1,0,0,0 // 1x Yggdrasilberry_Box_
IG_Mysterious_Egg,12361,1000,2,1,0,0,0 // 2x Delicious_Shaved_Ice
IG_Mysterious_Egg,12910,1100,1,1,0,0,0 // 1x Giant_Fly_Wing_Box
IG_Mysterious_Egg,16753,1300,1,1,0,0,0 // 1x Unbreak_Weap_Box
// Shining Egg
IG_Shining_Egg,12259,200,1,1,0,0,0 // 1x Miracle_Medicine
IG_Shining_Egg,5374,1,1,1,0,0,0 // 1x L_Magestic_Goat
IG_Shining_Egg,5254,99,1,1,0,0,0 // 1x Deviling_Hat
IG_Shining_Egg,12246,99,1,1,0,0,0 // 1x Magic_Card_Album
IG_Shining_Egg,4302,1,1,1,0,0,0 // 1x Tao_Gunka_Card
IG_Shining_Egg,5474,200,1,1,0,0,0 // 1x Notice_Board
IG_Shining_Egg,2554,1,1,1,0,0,0 // 1x Piece_Of_Angent_Skin
IG_Shining_Egg,17001,1099,1,1,0,0,0 // 1x Wander_Man_Box10
IG_Shining_Egg,12903,1000,1,1,0,0,0 // 1x Str_Dish_Box
IG_Shining_Egg,12922,1100,1,1,0,0,0 // 1x Token_Of_Siegfried_Box
IG_Shining_Egg,16755,1200,1,1,0,0,0 // 1x Unbreak_Def_Box
IG_Shining_Egg,12909,800,1,1,0,0,0 // 1x Kafra_Card_Box
IG_Shining_Egg,14232,800,1,1,0,0,0 // 1x Yggdrasilberry_Box_
IG_Shining_Egg,12361,1000,2,1,0,0,0 // 2x Delicious_Shaved_Ice
IG_Shining_Egg,12910,1100,1,1,0,0,0 // 1x Giant_Fly_Wing_Box
IG_Shining_Egg,16753,1300,1,1,0,0,0 // 1x Unbreak_Weap_Box
// Agust_Lucky_Scroll
IG_Agust_Lucky_Scroll,4365,1,1,1,1,0,0 // 1x B_Katrinn_Card

View File

@ -1440,7 +1440,7 @@
12596,475,100 // Magic_Candy
12600,507,100 // Treasure_Box_Scroll
12607,507,100 // Lolli_Pop_Box
//12610,475,100 //
12610,475,100 // Mysterious_Egg
12622,507,100 // Boarding_Halter
12625,475,100 // Sapa_Feat_Cert_Pack
12633,475,100 // Malang_Cat_Can
@ -3869,6 +3869,15 @@
//22950,475,100 //
//22951,475,100 //
//22952,475,100 //
22979,475,100 // C_Battle_Gum_2
23012,475,100 // S_Small_Mana_Potion
23038,475,100 // S_Slim_White_Box
23043,475,100 // S_Seed_Of_Yggdrasil_Box
23046,475,100 // S_Mystic_Powder
23047,475,100 // S_Blessing_Tyr
23048,475,100 // S_Resilience_Potion
23307,475,100 // S_Shining_Def_Scroll
23340,475,100 // S_Megaphone
23177,475,100 // Kafra_Card_
23196,475,100 // Shining_Blue_Lucky_Egg
25043,499,100 // Thorny_Vine_Flute

View File

@ -2332,13 +2332,13 @@
//3172,EVENT_MONEMUS02
//3173,EVENT_FIREFOX
//3174,HELL_FLY
3175,E1_ROTAR_ZAIRO,Rotar Zairo,Rotar Zairo,48,1088,0,190,220,10,0,0,0,0,0,0,0,0,0,0,10,12,2,0,44,0x2085,155,2420,2016,432,0,0,0,0,0,0,0,22046,50,7126,250,2312,1,0,0,0,0,601,500,912,200,910,200,0,0,0,0
3176,E1_GREMLIN,Gremlin,Gremlin,118,20313,1,2008,1390,1,0,0,0,0,0,0,0,0,0,0,10,12,2,6,47,0x2003885,140,432,540,432,0,0,0,0,0,0,0,20743,50,7340,500,938,500,719,50,603,1,0,0,0,0,0,0,0,0,0,0
3177,E1_BEHOLDER,Beholder,Beholder,118,20313,1,2008,1390,6,0,0,0,0,0,0,0,0,0,0,10,12,0,0,44,0x2000091,140,0,540,432,0,0,0,0,0,0,0,22046,50,576,500,605,50,996,50,985,1,603,1,0,0,0,0,0,0,0,0
3178,E1_ACIDUS,Acidus,Acidus,130,48430,1,3088,2391,2,0,0,0,0,0,0,0,0,0,0,10,12,2,9,46,0x3095,170,1011,1008,300,0,0,0,0,0,0,0,15116,50,7938,100,1035,500,7448,200,0,0,0,0,0,0,0,0,0,0,0,0
3179,E1_ACIDUS_,Acidus,Acidus,130,40718,1,2938,2031,2,0,0,0,0,0,0,0,0,0,0,10,12,2,9,44,0x3091,180,168,768,360,0,0,0,0,0,0,0,20743,50,1035,500,1036,500,7446,200,0,0,0,0,0,0,0,0,0,0,0,0
3180,E1_G_S_NYDHOG,Wywern,Wywern,117,300000,1,0,0,1,0,0,0,0,0,0,0,0,0,0,10,12,2,9,87,0x3091,150,1621,1620,864,0,0,0,0,0,0,0,15116,50,6091,500,7444,1,985,10,0,0,0,0,0,0,0,0,0,0,0,0
3181,E1_FELOCK,Captain Ferlock,Captain Ferlock,130,3000000,1,3088,333333,10,0,0,0,0,0,0,0,0,0,0,10,12,2,9,26,0x6280081,170,1018,1008,300,0,0,0,0,0,0,0,15117,100,20744,100,22047,100,12082,3000,12072,3000,12087,3000,12077,3000,12092,3000,0,0,27182,1
3175,E1_ROTAR_ZAIRO,Rotar Zairo,Rotar Zairo,113,15900,1,190,220,10,1551,2216,95,34,109,54,60,50,84,30,10,12,2,0,44,0x2085,155,2416,2016,432,0,0,0,0,0,0,0,22046,50,7126,250,2312,1,0,0,0,0,601,500,912,200,910,200,0,0,0,0
3176,E1_GREMLIN,Gremlin,Gremlin,118,20313,1,2008,1390,1,937,1276,76,25,141,75,48,61,126,37,10,12,2,6,47,0x2003885,140,432,540,432,0,0,0,0,0,0,0,20743,50,7340,500,938,500,719,50,603,1,0,0,0,0,0,0,0,0,0,0
3177,E1_BEHOLDER,Beholder,Beholder,118,20313,1,2008,1390,1,937,1276,76,25,141,75,48,61,126,37,10,12,2,6,47,0x2000091,140,432,540,432,0,0,0,0,0,0,0,22046,50,576,500,605,50,996,50,985,1,603,1,0,0,0,0,0,0,0,0
3178,E1_ACIDUS,Acidus,Acidus,130,48430,1,3088,2391,2,935,1284,101,90,109,78,50,55,108,55,10,12,2,9,47,0x3095,170,168,1008,300,0,0,0,0,0,0,0,15116,50,7938,100,1035,500,7448,200,0,0,0,0,0,0,0,0,0,0,0,0
3179,E1_ACIDUS_,Acidus,Acidus,130,40718,1,2938,2031,2,1423,2016,98,47,106,110,61,53,133,53,10,12,2,9,44,0x3091,180,168,768,360,0,0,0,0,0,0,0,20743,50,1035,500,1036,500,7446,200,0,0,0,0,0,0,0,0,0,0,0,0
3180,E1_G_S_NYDHOG,Wywern,Wywern,117,300000,0,0,0,2,1058,1529,60,60,1,30,30,136,123,30,10,12,2,9,87,0x3091,150,1596,1620,864,0,0,0,0,0,0,0,15116,50,6091,500,7444,1,985,10,0,0,0,0,0,0,0,0,0,0,0,0
3181,E1_FELOCK,Captain Ferlock,Captain Ferlock,130,3000000,1,3088,2391,10,935,1284,101,90,109,78,50,55,108,55,10,12,2,9,47,0x6280081,170,168,1008,300,0,0,0,0,0,0,0,15117,100,20744,100,22047,100,12082,3000,12072,3000,12087,3000,12077,3000,12092,3000,0,0,27182,1
//3182,E2_ROTAR_ZAIRO
//3183,E2_GREMLIN
//3184,E2_BEHOLDER
@ -2599,20 +2599,20 @@
//3439,MIN_G_HIGH_ORC
//3440,MIN_G_MEGALITH
//3441,B_DRACULA
//3442,FROZENWOLF
//3443,TAFFY
//3444,WATCHER
//3445,P_ARCHER_SKELETON
//3446,P_SKELETON
//3447,P_SOLDIER_SKELETON
//3448,P_AMDARAIS
//3449,G_P_AMDARAIS
//3450,BIJOU
//3451,IMMOTAL_CORPS
//3452,ZOMBIE_GUARD
3442,FROZENWOLF,Frozenwolf,Frozen Wolf,140,80000,1,5000,5000,1,1040,1440,50,50,100,80,100,100,100,50,10,12,1,2,21,0x3885,200,1120,420,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6921,2000,4640,1
3443,TAFFY,Taffy,Taffy,145,100000,1,6000,6000,1,1445,2045,125,47,100,80,100,100,100,50,10,12,1,2,22,0x91,200,1604,1344,2016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6922,2000,4639,1
3444,WATCHER,Watcher,Watcher,145,120000,1,7000,7000,6,1365,1925,125,47,100,80,100,100,80,50,10,12,0,0,24,0x3885,190,576,1344,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6924,2000,4638,1
3445,P_ARCHER_SKELETON,P Archer Skeleton,Enchanted Archer Skelet,114,10000,0,0,0,14,294,374,20,0,20,60,30,60,150,30,10,12,1,1,69,0x3885,300,1152,864,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4633,1
3446,P_SKELETON,P Skeleton,Enchanted Skeleton,114,10000,0,0,0,1,354,434,20,20,80,60,30,120,90,30,10,12,1,1,69,0x3885,250,1440,528,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4446,1
3447,P_SOLDIER_SKELETON,P Soldier Skeleton,Enchanted Soldier Skele,115,20000,0,0,0,1,395,475,20,20,120,60,30,60,90,30,10,12,1,1,69,0x3885,250,1440,576,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4634,1
3448,P_AMDARAIS,P Amdarais,Renovated Amdarais,99,10000000,0,0,0,2,889,1209,30,30,150,50,100,50,70,50,10,12,2,1,29,0x3885,200,1152,1536,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4635,1
3449,G_P_AMDARAIS,P Amdarais,Enhanced Amdarais,98,66666,0,0,0,2,758,1038,30,30,100,50,100,50,70,50,10,12,2,1,29,0x3885,200,1152,1536,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3450,BIJOU,Bijou,Bijou,115,10000000,0,66666,66666,3,1420,1997,20,200,150,40,50,150,150,50,10,12,2,1,89,0x6203885,150,2000,1536,480,0,0,0,0,0,0,0,6941,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4636,1
3451,IMMOTAL_CORPS,Immotal Corps,Immotal Corps,158,198410,1,9575,7859,1,1449,2012,150,83,165,75,95,75,150,50,10,12,1,6,89,0x2003885,150,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4637,1
3452,ZOMBIE_GUARD,Zombie Guard,Zombie Guard,145,124000,1,6887,4809,1,1000,1359,200,35,138,75,200,43,120,20,10,12,1,1,89,0x3885,400,768,2784,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4641,1
//3453,LOST_LAMB
//3454,HEART_HUNTER_N
//3455,GLASS_PLATE
3454,HEART_HUNTER_N,Heart Hunter N,Suspicious Intruder,103,20714,1,1963,2001,1,701,982,49,28,36,53,32,22,98,5,10,12,1,7,47,0x3885,200,864,1268,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3455,GLASS_PLATE,Glass Plate,Plate,1,1,0,0,0,0,0,0,100,99,0,0,0,0,0,0,7,12,0,0,20,0x170000,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
//3456,WATERMELON_34
//3457,WATERMELON_35
//3458,WATERMELON_36
@ -2644,10 +2644,10 @@
//3484,AS_D_RAGGED_GOLEM
//3485,AS_D_CURSED_SOLDIER
//3486,E_WILD_RABBIT
//3487,IMMORTAL_CORPS1
//3488,IMMORTAL_CORPS2
//3489,IMMORTAL_CORPS3
//3490,IMMORTAL_CO_CMDER
3487,IMMORTAL_CORPS1,Butcher Soldier,Butcher Soldier,115,90000,1,0,0,1,855,1175,50,30,100,90,70,50,150,50,10,12,0,6,89,0x3885,100,500,840,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4637,1
3488,IMMORTAL_CORPS2,Scythe Soldier,Scythe Soldier,115,120000,1,0,0,1,679,919,30,60,84,75,70,120,120,80,10,12,0,6,89,0x3885,150,1000,1100,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4637,1
3489,IMMORTAL_CORPS3,Bone Crash Soldier,Bone Crash Soldier,115,170000,0,0,0,2,955,1315,80,40,120,90,130,30,80,50,10,12,0,6,89,0x3885,200,1500,1500,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4637,1
3490,IMMORTAL_CO_CMDER,Immortal Commander,Immortal Commander,160,500000,1,25000,15000,3,1042,1398,200,120,170,80,100,85,160,90,10,12,1,6,89,0x2003885,150,1500,1344,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
//3491,COELACANTH_TW
//3492,E_WILD_MOBSTER
//3493,SYS_MSG_J
@ -3409,7 +3409,7 @@
//20278,G_ILL_MEGALITH
//20279,G_ILL_WOOTAN_SHOOTER
//20280,G_ILL_WOOTAN_FIGHTER
//20281,E_DANDY_STAR
//20282,JP_MAZEMOB_51
//20283,JP_MAZEMOB_52
//20284,JP_MAZEMOB_53
@ -3468,5 +3468,51 @@
//20337,DELETER2_MJ
//20338,NIGHTMARE_TERROR_MJ
//20339,BLAZZER_MJ
//20340,MD_EL_A17T
//20341,MD_E_EA1L
//20342,MD_E_EA2S
//20343,MD_E_13EN0
//20344,MD_VENOM_BUG
//20345,MD_CONSTANT
//20346,MD_MIGUEL
//20347,MD_MIGUEL_G
//20348,MD_A013_CAPUT
//20349,MD_A013_DOLOR
//20350,MD_A013_BELLARE
//20351,MD_MANHOLE2
//20352,MD_POMPOM
//20353,MD_CROB
//20354,E_FINE_DUST
//20355,EP17_1_BELLARE1
//20356,EP17_1_BELLARE2
//20357,EP17_1_SANARE1
//20358,EP17_1_SANARE2
//20359,EP17_1_PLAGA1
//20360,EP17_1_PLAGA2
//20361,EP17_1_DOLOR1
//20362,EP17_1_DOLOR2
//20363,EP17_1_VENENUM1
//20364,EP17_1_VENENUM2
//20365,EP17_1_TWIN_CAPUT1
//20366,EP17_1_TWIN_CAPUT2
//20367,RAYDRIC_H
//20368,RAYDRIC_ARCHER_H
//20369,GARGOYLE_H
//20370,STING_H
//20371,RAGGED_ZOMBIE_H
//20372,BLAZZER_H
//20373,NIGHTMARE_TERROR_H
//20374,DELETER1_H
//20375,DELETER2_H
//20376,EXPLOSION_H
//20377,KAHO_H
//20378,LAVA_GOLEM_H
//20379,ICE_GHOST_H
//20380,FLAME_GHOST_H
//20381,EP17_1_R4885_BESTIA
//20382,G_TWIN_CAPUT2
//20419,MUSPELLSKOLL_H
//20420,WANDER_MAN_H
//20421,BRINARANEA_H
//20422,DARK_LORD_H

View File

@ -11224,28 +11224,15 @@
3249,Exploration Rover T@NPC_GUIDEDATTACK,attack,172,5,1000,0,5000,no,target,always,0,,,,,,,
3249,Exploration Rover T@AL_PNEUMA,attack,25,1,2000,0,5000,no,self,longrangeattacked,0,,,,,,,
3253,Sys Msg@AL_HEAL,walk,28,11,10000,0,5000,no,friend,myhpltmaxrate,99,,,,,,,
3253,Sys Msg@AL_HEAL,idle,28,11,10000,0,5000,yes,friend,myhpltmaxrate,99,,,,,,,
3253,SYS_MSG@AL_HEAL,attack,28,10,500,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
3253,SYS_MSG@AL_HEAL,chase,28,10,500,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
3253,SYS_MSG@AL_HEAL,idle,28,10,500,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
3254,T_W_O@NPC_STUNATTACK,attack,179,5,500,0,5000,no,target,always,0,,,,,,,
3254,T_W_O@AL_PNEUMA,chase,25,1,2000,0,5000,no,self,longrangeattacked,0,,,,,,,
3254,T_W_O@NPC_CHANGEWIND,attack,165,1,10000,0,1200000,no,self,myhpltmaxrate,80,,,,,,,
3254,T_W_O@NPC_WIDECONFUSE,chase,667,2,10000,0,10000,no,target,myhpltmaxrate,80,,,,,,,
3254,T_W_O@NPC_CRITICALSLASH,any,170,1,1000,0,5000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,no,target,attackpcgt,1,,,,,,,
3254,T_W_O@NPC_WIDECONFUSE,attack,667,2,10000,0,10000,yes,target,myhpltmaxrate,80,,,,,,,
3254,T_W_O@NPC_WIDESLEEP,attack,668,1,10000,1000,20000,no,target,always,0,,,,,,,
3254,T_W_O@AL_PNEUMA,attack,25,1,2000,0,6000,no,self,longrangeattacked,0,,,,,,,
3254,T_W_O@MG_THUNDERSTORM,attack,21,20,2000,1000,5000,no,target,always,0,,,,,,,
3254,T_W_O@SM_MAGNUM,attack,7,25,1500,0,3000,no,target,always,0,,,,,,,
3254,T_W_O@SM_ENDURE,chase,8,1,5000,0,10000,yes,self,longrangeattacked,0,,,,,,,
3254,T_W_O@NPC_CALLSLAVE,attack,352,1,10000,0,5000,no,self,onspawn,,3253,3253,,,,,
3254,T_W_O@KN_BRANDISHSPEAR,any,57,10,2000,200,5000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_PULSESTRIKE,attack,661,5,10000,0,30000,no,target,myhpltmaxrate,80,,,,,,,
3254,T_W_O@NPC_WIDESLEEP,chase,668,1,10000,1000,20000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_DARKBREATH,attack,202,5,10000,0,30000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_CALLSLAVE,attack,352,1,10000,0,5000,no,self,slavele,1,3253,3253,,,,,
3254,T_W_O@SM_MAGNUM,chase,7,25,1500,0,3000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_SUMMONSLAVE,attack,196,5,10000,0,5000,no,randomtarget,always,,3253,3253,,,,,
3254,T_W_O@NPC_PULSESTRIKE,chase,661,5,10000,0,30000,no,target,myhpltmaxrate,80,,,,,,,
3254,T_W_O@SM_ENDURE,attack,8,1,5000,0,10000,no,target,longrangeattacked,0,,,,,,,
3254,T_W_O@NPC_PIERCINGATT,attack,158,10,300,0,30000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_PIERCINGATT,chase,158,10,500,0,5000,no,target,always,0,,,,,,,
3254,T_W_O@NPC_SILENCEATTACK,attack,178,5,750,250,10000,no,target,casttargeted,0,,,,,,6,
3254,T_W_O@NPC_SILENCEATTACK,chase,178,5,750,250,3000,no,target,casttargeted,0,,,,,,6,
3254,T_W_O@NPC_WIDESLEEP,attack,668,5,400,0,15000,no,self,always,0,,,,,,,
3254,T_W_O@NPC_WIDESTONE,attack,666,5,600,0,30000,no,self,always,0,,,,,,,
3254,T_W_O@NPC_WIDESOULDRAIN,attack,680,10,1000,0,60000,no,self,always,0,,,,,,,
3254,T_W_O@NPC_CRITICALWOUND,attack,673,5,150,500,45000,no,target,always,,,,,,,,

View File

@ -110,7 +110,7 @@
// Find Professor Worm's Memory
1214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1216,0,0,0,0,0,0,0,2364,6522,3000,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1216,0,0,0,0,0,0,0,2364,6542,3000,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
@ -121,7 +121,7 @@
1224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1225,0,2367,15,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1227,0,0,0,0,0,0,0,2364,6522,3000,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1227,0,0,0,0,0,0,0,2364,6542,3000,0,0,0,0,0,0,"Getting back Professor Worm's memory"
1228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Getting back Professor Worm's memory"
// Academy 14.2
@ -928,6 +928,76 @@
5369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Delivered the Message"
5370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Memory Record"
// Banquet Quests
5402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Royal Richard"
5403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Royal Richard"
// Todo : Quests by race / level
5404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Human"
5405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Animal"
5406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Insect"
5407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Fish"
5408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Plant"
5409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Devil"
5410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Angel"
5411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Immortal"
5412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Intangible"
5413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Warrior Discipline-Dragon"
5414,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Warrior Discipline"
5415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector"
5416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector A"
5417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector B"
5418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector C"
5419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector D"
5420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector E"
5421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector F"
5422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector G"
5423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Restricted Sector H"
5424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Complete]Restricted Sector"
5425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To My Beloved Fellow"
5426,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]To My Beloved Fellow"
5427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]To My Beloved Fellow"
5428,0,0,0,0,0,0,0,3444,6924,2000,0,0,0,0,0,0,"Lowly Standards"
5429,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Lowly Standards"
5430,0,0,0,0,0,0,0,3444,6924,2000,0,0,0,0,0,0,"[Repeat]Lowly Standards"
5431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Clean Life"
5432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Cleaning is complete."
5433,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Clean Life"
5434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Clean Life"
5435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Cleaning is complete."
5436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Finding Lights"
5437,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Finding Lights"
5438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Finding Lights"
5439,0,0,0,0,0,0,0,3442,6921,2000,0,0,0,0,0,0,"Refreshing Prison Life"
5440,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Refreshing Prison Life"
5441,0,0,0,0,0,0,0,3442,6921,2000,0,0,0,0,0,0,"[Repeat]Refreshing Prison Life"
5442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Suppressing Darkness"
5443,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Suppressing Darkness"
5444,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Repeat]Suppressing Darkness"
5445,0,0,0,0,0,0,0,3443,6922,2000,0,0,0,0,0,0,"Bothersome Little Thing"
5446,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Bothersome Little Thing"
5447,0,0,0,0,0,0,0,3443,6922,2000,0,0,0,0,0,0,"[Repeat]Bothersome Little Thing"
5448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Request from Chief Guard"
5449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Request from Chief Guard"
5450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Request from Chief Guard"
5451,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Request from Chief Guard"
5452,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"[Stand by]Request from Chief Guard"
5453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ungrateful(1)"
5454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ungrateful(2)"
5455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ungrateful(3)"
5456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ungrateful(4)"
5457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Find My Sister(1)"
5458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Find My Sister(2)"
5459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Find My Sister(3)"
5460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Blatant Bluff(1)"
5461,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Blatant Bluff(2)"
5462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Blatant Bluff(3)"
5463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(1)"
5464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(2)"
5465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(3)"
5466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(4)"
5467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(5)"
5468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mad Love for Wife(6)"
6000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Taekwon"
6001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Taekwon"
6002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Taekwon"
@ -1549,6 +1619,33 @@
7655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Play Laboratories Memory Records"
7656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Invitation of Rekenber"
// Banquet Quests
7681,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Invitation to Royal Banquet"
7682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Socializing Starts from an Eye Contact"
7683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Visit the Heines"
7684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Visit the Nerius"
7685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"What Is the Next Thing on the Schedule ?"
7686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Nyhill and Skia"
7687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Participating in the Banquet"
7688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Suspicious Movement"
7689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Find Nyhill"
7690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Where Is Nyhill?"
7691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Waiting for the Ritual"
7692,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Attend the Ritual"
7693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Surprise Attack"
7694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I'd Like to See that Too"
7695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Escape from the Past Memories of the Royal Family"
7696,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"What's Next?"
7697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Invitation from the Nerius"
7698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Heine Now"
7699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To the Past"
7700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Once More!"
7701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Lost Imir Heart"
7702,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Prontera at the Time"
7703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Who Knows the Truth"
7705,0,3450,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hope You Cannot Let Go"
7706,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Nillem Is Not Almighty"
// Lasagna Quests
7711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Beginning"
7712,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Where am I? Who am I??"
@ -2486,6 +2583,46 @@
11388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Vestige"
11389,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Vestige"
// Banquet Quests
11394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Call of the Royal Head Chef"
11395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Geoborgs"
11413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11419,0,0,0,0,0,0,0,3455,6935,3000,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Why Should I Prepare for the Banquets?"
11421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Banquet: Unexpected Sauce"
11422,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Complete Today's Sauce"
11423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Banquet: Griffin Barbecue"
11424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Banquet: Griffin Barbecue"
11425,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Complete Today's Grilled Griffin"
11426,0,0,0,0,0,0,0,3455,6935,3000,0,0,0,0,0,0,"Banquet: Washing 15 Dishes"
11427,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Complete Today's Dish Collecting"
11428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ingredient for the Sauce"
11429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ingredient for the Sauce"
11430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ingredient for the Sauce"
11431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Ingredient for the Sauce"
// Lasagna Quests
11435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Vigilante Corp"
11436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Vigilante Corp"
@ -2846,6 +2983,9 @@
12363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"?????? ?? ??"
// Banquet Quests
12369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Secret Business Relation"
13000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"RWC2011Card Gathering"
13001,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"RWC2011Card Gathering - Hold"
@ -3121,6 +3261,56 @@
//14290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,""
//14291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,""
// Banquet Quests
14469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Look around the Walther Family"
14470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"In Search of the Guardian Knight"
14471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To the Royal Prison"
14472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Gourmet Bigfoot"
14473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Veins"
14474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Report to Isenhonor"
14475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Jurgen"
14476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Levuiere and His Wife"
14477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"What Is Going on?"
14478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Searching for the Clue"
14479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Clean-up out of Apology"
14480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Conquer the Grease"
14481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Conquer the Mold"
14482,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Conquer the Dirt of Devil"
14483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Report the Completion of the Clean-up"
14484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"There Was a Furniture Delivery Man"
14485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Am Upset"
14486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Heard the Story"
14487,0,0,0,0,0,0,0,1148,6927,3000,0,0,0,0,0,0,"Please Find the Token of Memory"
14488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Please Deliver My Love"
14489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Have to Turn It Down"
14490,0,0,0,0,0,0,0,1148,6927,3000,0,0,0,0,0,0,"My Love Once More"
14491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Have to Turn It Down Again"
14492,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"There Is a Silver Lining"
14493,0,0,0,0,0,0,0,1148,6927,3000,0,0,0,0,0,0,"Today I Feel"
14494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Have to Turn It Down Again"
14495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Wolf"
14496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Isaac"
14497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Delivery for Wolf"
14498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Which Rumor"
14499,0,1310,33,0,0,0,0,0,0,0,0,0,0,0,0,0,"Prove Yourself"
14500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Complete checking out the book"
14501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Report to Wolf"
14502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Isaac"
14503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Report to Wolf"
14504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"In Search of Helmut"
14505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"I Won't go Back"
14506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Things Turned out This Way"
14507,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To Maximilian"
14508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Jewel and Cloth"
14509,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Still Making It"
14510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Pink Petal-like Dress"
14511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Beautiful Flower Decoration"
14512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Dress of the Night Sky"
14513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shawl of the Blazing Sun"
14514,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Step of the Fairy"
14515,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Sparkling Star"
14516,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Suspicious Shadow"
// Lasagna Quests
14531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Everything about Con-Chliina"
14532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Greetings to Captain Gamberi"

View File

@ -705,7 +705,7 @@
477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, WS_WEAPONREFINE,Upgrade Weapon
478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0,0x0, CR_SLIMPITCHER,Aid Condensed Potion
479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0, CR_FULLPROTECTION,Full Protection
480,5,8,1,-1,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
480,4,8,1,-1,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
481,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, HP_MANARECHARGE,Mana Recharge
482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0,0x0, PF_DOUBLECASTING,Double Casting
483,18,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0,0x0, HW_GANBANTEIN,Ganbantein
@ -1611,3 +1611,4 @@
10013,0,0,4,0,0x3,0,1,0,yes,0,0x10,0,none,0,0x40, GD_EMERGENCYCALL,Urgent Call
10014,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0,0x0, GD_DEVELOPMENT,Permanent Development
10015,0,0,4,0,0x3,0,3,0,yes,0,0x10,0,none,0,0x40, GD_ITEMEMERGENCYCALL,Item Emergency Call
10016,0,0,0,0,0,0,5,0,no,0,0x10,0,none,0,0x0, GD_GUILD_STORAGE,Guild Storage Expansion

View File

@ -4,12 +4,12 @@
// SkillName,Caster,Map,Damage against Players{,Damage against Mobs{,Damage against Bosses{,Damage against Other}}}
//
// Caster: The groups for which the adjustment takes effect. (bitmask)
// 1 = Player
// 2 = Monster
// 4 = Pet
// 8 = Homunculus
// 16 = Mercenary
// 32 = Elemental
// BL_PC = Player
// BL_MOB = Monster
// BL_PET = Pet
// BL_HOM = Homunculus
// BL_MER = Mercenary
// BL_ELEM = Elemental
//
// Map:
// 1 - Normal (the maps that aren't classified as these maps below)
@ -31,6 +31,6 @@
// Negative values decrease damage and positive values increase it (0 = no change).
//
// Examples:
// MC_MAMMONITE,1,1,50 // In normal maps, players deal +50% damage to other players with Mammonite.
// MO_EXTREMITYFIST,1,6,-50 // In PVP and GVG, players deal -50% (half) damage to other players with Asura Strike.
// AB_ADORAMUS,1,6,50,0,10,15 // In PVP and GVG, players deal +50% damage to other players, +0% to mobs, +10% to bosses, and +15% to other with Adoramus.
// MC_MAMMONITE,BL_PC,1,50 // In normal maps, players deal +50% damage to other players with Mammonite.
// MO_EXTREMITYFIST,BL_PC,6,-50 // In PVP and GVG, players deal -50% (half) damage to other players with Asura Strike.
// AB_ADORAMUS,BL_PC,6,50,0,10,15 // In PVP and GVG, players deal +50% damage to other players, +0% to mobs, +10% to bosses, and +15% to other with Adoramus.

View File

@ -209,7 +209,7 @@ Disables skill WZ_ICEWALL on a map.
---------------------------------------
*nosumstarmiracle
*nosunmoonstarmiracle
Disables Star Gladiator's "Solar, Lunar, and Stellar Miracle" from occurring on a map.
@ -297,7 +297,7 @@ Notes:
---------------------------------------
*skill_damage {<skill_name>,<caster>,<damage1>,{<damage2>,{<damage3>,{<damage4>}}}}
*skill_damage {<skill_name>,<caster>,<SKILLDMG_PC>,{<SKILLDMG_MOB>,{<SKILLDMG_BOSS>,{<SKILLDMG_OTHER>}}}}
Enables skill damage adjustment on a map. All adjustments in 'db/skill_damage_db.txt'
for 'Map' type 16 will be applied.
@ -307,21 +307,17 @@ This mapflag can also be used to adjust the damage of one skill by a percentage:
Name of the skill in 'db/(pre-)re/skill_db.txt' (ex. SM_BASH).
To adjust all skill damage, write "all" (without quotes).
- caster: the groups for which the adjustment takes effect. (bitmask)
1 = Player
2 = Monster
4 = Pet
8 = Homunculus
16 = Mercenary
32 = Elemental
BL_PC = Player
BL_MOB = Monster
BL_PET = Pet
BL_HOM = Homunculus
BL_MER = Mercenary
BL_ELEM = Elemental
- damage: percent adjustment rate (between -100 and 100000).
1 = against player
2 = against normal monster
3 = against boss monster
4 = against other (homunculus, mercenary, pet, elemental)
Notes:
- You MUST enable ADJUST_SKILL_DAMAGE in 'src/config/core.hpp' for this mapflag to take effect.
- Each map can contain up to 5 adjustments (MAX_MAP_SKILL_MODIFIER in 'src/map/map.h').
SKILLDMG_PC = against player
SKILLDMG_MOB = against normal monster
SKILLDMG_BOSS = against boss monster
SKILLDMG_OTHER = against other (homunculus, mercenary, pet, elemental)
---------------------------------------
@ -368,7 +364,8 @@ Allows usage of item Neuralizer (ID 12213).
*bexp <rate>
*jexp <rate>
Changes the base and job experience rates on a map.
Changes the base and job experience rates on a map. Supports negative values to reduce EXP
rates as well.
<rate> is given as a percentage (i.e. 100 = 1x EXP). This takes into account the modifiers
'base_exp_rate' and 'job_exp_rate' in '/conf/battle/exp.conf'.

View File

@ -3135,6 +3135,7 @@ DT_DAYOFMONTH - Day of the current month
DT_MONTH - Month (constants for JANUARY to DECEMBER are available)
DT_YEAR - Year
DT_DAYOFYEAR - Day of the year
DT_YYYYMMDD - current date in the form YYYYMMDD
It will only return numbers. If another type is supplied -1 will be returned.
@ -5416,12 +5417,15 @@ This will open the Auction window on the client connected to the invoking charac
This function works the same as 'openstorage' but will open a guild storage
window instead for the guild storage of the guild the invoking character belongs
to. This is a function because it returns a value - 0 if the guild storage was
opened successfully and 1 if it wasn't. (Notice, it's a ZERO upon success.)
Since guild storage is only accessible to one character at one time, it may fail
if another character is accessing the guild storage at the same time.
to.
This will also fail and return 2 if the character does not belong to any guild.
Return values:
GSTORAGE_OPEN - Successfully opened.
GSTORAGE_STORAGE_ALREADY_OPEN - Player storage is already open.
GSTORAGE_ALREADY_OPEN - Guild storage is already open.
GSTORAGE_NO_GUILD - Player is not in a guild.
GSTORAGE_NO_STORAGE - Guild hasn't invested in the Guild Storage Expansion skill (only if OFFICIAL_GUILD_STORAGE is enabled).
GSTORAGE_NO_PERMISSION - Player doesn't have permission to use the guild storage.
---------------------------------------
@ -6997,7 +7001,7 @@ specified.
*setmapflag "<map name>",<flag>{,<zone>{,<type>}};
This command marks a specified map with the given map flag, which will alter the
behavior of the map. A full list of mapflags is located in 'src/map/script_constants.h' with
behavior of the map. A full list of mapflags is located in 'src/map/script_constants.hpp' with
the 'mf_' prefix, and documentation can be found in 'doc/mapflags.txt'.
The map flags alter the behavior of the map regarding teleporting (mf_nomemo,
@ -7009,15 +7013,14 @@ skills or open up trade deals (mf_notrade, mf_novending, mf_noskill, mf_noicewal
current weather effects (mf_snow, mf_fog, mf_sakura, mf_leaves, mf_rain, mf_clouds,
mf_fireworks) and whether night will be in effect on this map (mf_nightenabled).
The optional parameter 'zone' is used to set the zone for restricted mapflags.
The optional parameter <zone> is used to set the zone for 'restricted' mapflags,
GM level bypass for 'nocommand', base/job experience for 'bexp'/'jexp', and
flag for 'battleground'.
For the 'skill_damage' mapflag, 'zone' functions as 'value' (-100 to 100000) and
'type' can be:
1: damage against players
2: damage against mobs
3: damage against bosses
4: damage against other
5: caster type
For 'skill_damage' mapflag:
- Setting the flag here will adjust the global (all skills) damage on the map.
- <zone> is the -100 to 100000 damage adjustment value of the skills.
- See 'getmapflag' for the different <type> values.
---------------------------------------
@ -7036,12 +7039,12 @@ This command checks the status of a given mapflag and returns the mapflag's stat
0 means OFF, and 1 means ON. See 'setmapflag' for a list of mapflags.
The optional parameter 'type' is used in the 'skill_damage' mapflag:
0: if mapflag is set (default)
1: damage against players
2: damage against mobs
3: damage against bosses
4: damage against other
5: caster type
SKILLDMG_MAX: if mapflag is set (default)
SKILLDMG_PC: damage against players
SKILLDMG_MOB: damage against mobs
SKILLDMG_BOSS: damage against bosses
SKILLDMG_OTHER: damage against other
SKILLDMG_CASTER: caster type
---------------------------------------
@ -8661,6 +8664,13 @@ This command will open a book item at the specified page.
---------------------------------------
*open_roulette( {char_id} )
Opens the roulette window for the currently attached character or the character
with the given character id.
---------------------------------------
========================
|7.- Instance commands.|
========================

View File

@ -1,11 +1,5 @@
//===== rAthena Script =======================================
//= Lutie Town
//===== By: ==================================================
//= rAthena Dev Team
//===== Current Version: =====================================
//= 1.7
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= Lutie - City NPCs
//===== Additional Comments: =================================
@ -17,11 +11,12 @@
//= 1.5 Fixed a bug that could reset Lutie quest state [Lupus]
//= 1.6 Heavy optimization to all the NPCs [DZeroX]
//= 1.7 Updated to match AEGIS script. [Kisuka]
//= 1.8 Split Mr. Claus to pre-re and re [Lemongrass]
//============================================================
// Teleport to Lutie
//============================================================
aldebaran,223,222,4 script Mr. Claus 718,{
- script Mr. Claus 718,{
mes "[Mr. Claus]";
mes "Ho Ho Ho~";
mes "Merry Christmas!!";

View File

@ -24,13 +24,17 @@
// Shop NPCs -- supplying no argument displays entire menu.
// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
// ADD YOUR NPC HERE
//============================================================
prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; }
// Script Core
// prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below
// etc.. Add your Shop NPCs 'Quest Shop#XXX' here
//============================================================
- script quest_shop -1,{
// Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!!
//============================================================
- script quest_shop -1,{
function Add; function Chk; function Slot;
OnInit:
freeloop(1);
@ -50,14 +54,23 @@ OnInit:
// setarray .Points$[0],"<variable name>","<display name>";
// -----------------------------------------------------------
setarray .Points$[0],"#CASHPOINTS","Cash Points";
setarray .Points$[0],
"#CASHPOINTS", "Cash Points";
//=====================================================================================
// ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE --------------
//=====================================================================================
// -----------------------------------------------------------
// Shop IDs -- to add shops, copy dummy data at bottom of file.
// setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
// -----------------------------------------------------------
setarray .Shops$[1],"Headgears","Weapons","Other";
setarray .Shops$[1],
"Headgears", // Shop Named 1
"Weapons", // Shop Named 2
"Other"; // Shop Named 3
// -----------------------------------------------------------
// Quest items -- do NOT use a reward item more than once!
@ -66,14 +79,17 @@ OnInit:
// <required item ID>,<required item amount>{,...});
// -----------------------------------------------------------
// Shop 1
Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2);
Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600);
Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1);
Add(1,5045,1,0,0,2252,1,1054,450,943,1200);
// Shop 2
Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10);
Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10);
// Shop 3
Add(3,531,1,3,0,512,1,713,1);
Add(3,532,1,3,0,513,1,713,1);
Add(3,533,1,3,0,514,1,713,1);
@ -81,6 +97,10 @@ OnInit:
// -----------------------------------------------------------
//=====================================================================================
// ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED ---------------------
//=====================================================================================
freeloop(0);
set .menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {
@ -133,7 +153,7 @@ OnBuyItem:
while(1) {
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (@qe[0]) {
if (@qe[0]) {
mes "[Quest Shop]";
mes "You're missing one or more quest requirements.";
close;

View File

@ -32,11 +32,12 @@
//= 3.1 Adding Hermemton's changes. [L0ne_W0lf]
//= 3.2 Added Quest Log commands. [Kisuka]
//= 3.3 Removed the need for use of 'goto.' [L0ne_W0lf]
//= 4.0 Split for renewal ep16.1 [Capuche]
//============================================================
// Senior Crusader: 1st Collect Items Test
//============================================================
prt_castle,45,169,5 script Senior Crusader 752,{
- script Senior Crusader_ -1,{
mes "[Michael Halig]";
if (Upper == 1) { //the baby classes were totally blocked... due to missing == 1
mes "Go and train yourself in preparation for the holy war that is coming. Victory will be in the hands of those who are most ready to receive it.";
@ -316,7 +317,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{
// Suffering Man: 2nd Endurance Test
//============================================================
prt_castle,164,32,1 script Man in Anguish 733,{
- script Man in Anguish_ -1,{
mes "[Murnak Mijoul]";
if(BaseJob != Job_Swordman) {
if (BaseJob == Job_Crusader) {
@ -799,7 +800,7 @@ prt_church,95,127,3 script Crusader 745,{
// Crusader: 4th Purification Test
//============================================================
prt_castle,35,151,5 script Patron Knight 751,{
- script Patron Knight_ -1,{
mes "[Bliant Piyord]";
mes "Welcome.";
if(BaseJob != Job_Swordman) {
@ -1203,15 +1204,6 @@ OnDead:
end;
}
job_cru,98,105,4 script Summoner#cr5 45,3,3,{
OnTouch_:
set CRUS_Q,6;
changequest 3010,3011;
warp "prt_castle",164,28;
end;
}
//----------------------------------------------------------------------------
// Purification Test
//----------------------------------------------------------------------------
@ -1410,32 +1402,6 @@ OnDead:
end;
}
job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{
OnInit:
disablenpc "Monster Summon#cr5";
end;
OnTouch_:
warp "prt_castle",35,147;
donpcevent "Monster Summon#cr0::OnReset";
donpcevent "Monster Summon#cr4::OnReset";
donpcevent "Monster Summon#cr0::OnEnd";
donpcevent "Monster Summon#cr4::OnEnd";
donpcevent "Monster Summon#cr5::OnEnd";
donpcevent "Monster Summon#cr6::OnStop";
donpcevent "Monster Summon#cr6::OnEnd";
donpcevent "Waiting Room#cr1::OnStart";
end;
OnStart:
enablenpc "Monster Summon#cr5";
end;
OnEnd:
disablenpc "Monster Summon#cr5";
end;
}
job_cru,2,2,1 script Monster Summon#cr6 -1,{
OnTimer241000:
areawarp "job_cru",160,14,175,178,"job_cru",24,169;

View File

@ -11,9 +11,6 @@
//= skill_damage_db.txt for 'Map' type 16 will be applied.
//= See the mapflag documentation for details about extra
//= parameters.
//=
//= You MUST enable ADJUST_SKILL_DAMAGE in 'src/config/core.hpp'
//= for this mapflag to take effect.
//===== Additional Comments: =================================
//= 1.0 Initial script. [Cydh]
//============================================================

View File

@ -93,6 +93,7 @@ S_RefineValidate:
.@item_req = getarg(1);
.@price = getarg(2);
.@part = getarg(3);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
// If the VIP system is enabled, the prices for non-VIP players are considerably higher.
if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) {
@ -158,7 +159,7 @@ S_RefineValidate:
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, getarg(4)) ||
callfunc("F_IsEquipRefineHack", .@part, getarg(5))) {
callfunc("F_IsEquipRefineHack", .@part, getarg(5)) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
mes "[Holink]";
emotion ET_FRET;
mes "Wait a second...";

View File

@ -609,6 +609,7 @@ function script refinemain {
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
@ -687,7 +688,7 @@ function script refinemain {
delitem .@material,1;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "["+ .@npc_name$ +"]";
emotion ET_FRET;
@ -745,7 +746,7 @@ function script refinemain {
}
// New Refining Functions ========================
if(getequiprefinerycnt(.@part) < .@safe) {
if (.@refinerycnt < .@safe) {
mes "["+ .@npc_name$ +"]";
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
next;
@ -754,7 +755,7 @@ function script refinemain {
.@menu2 = 2;
switch(.@menu2){
case 1:
.@refinecnt = .@safe - getequiprefinerycnt(.@part);
.@refinecnt = .@safe - .@refinerycnt;
break;
case 2:
next;
@ -762,7 +763,7 @@ function script refinemain {
mes "How many times would you like me to refine your item?";
next;
input .@refinecnt;
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
.@refinecheck = .@refinecnt + .@refinerycnt;
if (.@refinecnt < 1 || .@refinecheck > 10) {
mes "["+ .@npc_name$ +"]";
mes "I can't refine this item that many times.";
@ -808,7 +809,9 @@ function script refinemain {
mes "Look here... you don't have any items on...";
close;
}
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
mes "["+ .@npc_name$ +"]";
mes "Clang... No, but did you imagine I could be so stupid?!";
mes "You changed it...";
@ -832,6 +835,7 @@ function script refinemain {
successrefitem .@part;
emotion ET_BEST;
.@refinecnt = .@refinecnt - 1;
.@refinerycnt = getequiprefinerycnt(.@part);
next;
}
mes "["+ .@npc_name$ +"]";

View File

@ -18,6 +18,7 @@
//============================================================
prontera,115,90,0 script Putty 4_F_01,{
disable_items;
setarray .@card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022,
4027,4028,4038,4025,4021,4050,4079,4081,4090,4094,
4101,4104,4110,4114,4119,4108,4095,4231,4280,4008,

View File

@ -0,0 +1,11 @@
//===== rAthena Script =======================================
//= Lutie Town Pre-Renewal
//===== Description: =========================================
//= Lutie - City NPCs
//===== Additional Comments: =================================
//= 1.0 First version. [Lemongrass]
//============================================================
// Teleport to Lutie
//============================================================
aldebaran,223,222,4 duplicate(Mr. Claus) Mr. Claus#1 718

View File

@ -0,0 +1,65 @@
//===== rAthena Script =======================================
//= Crusader Job Quest
//===== Description: =========================================
//= [Official Conversion]
//= Job quest for Crusader classes
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
// Senior Crusader: 1st Collect Items Test
//============================================================
prt_castle,45,169,5 duplicate(Senior Crusader_) Senior Crusader 4_M_CRU_OLD
// Suffering Man: 2nd Endurance Test
//============================================================
prt_castle,164,32,1 duplicate(Man in Anguish_) Man in Anguish 4_M_JOB_KNIGHT1
// Crusader: 4th Purification Test
//============================================================
prt_castle,35,151,5 duplicate(Patron Knight_) Patron Knight 4_M_CRU
// Actual tests
//============================================================
//----------------------------------------------------------------------------
// Endurance Test
//----------------------------------------------------------------------------
job_cru,98,105,4 script Summoner#cr5 WARPNPC,3,3,{
end;
OnTouch_:
set CRUS_Q,6;
changequest 3010,3011;
warp "prt_castle",164,28;
end;
}
//----------------------------------------------------------------------------
// Purification Test
//----------------------------------------------------------------------------
job_cru,168,180,4 script Monster Summon#cr5 WARPNPC,3,3,{
end;
OnInit:
disablenpc "Monster Summon#cr5";
end;
OnTouch_:
warp "prt_castle",35,147;
donpcevent "Monster Summon#cr0::OnReset";
donpcevent "Monster Summon#cr4::OnReset";
donpcevent "Monster Summon#cr0::OnEnd";
donpcevent "Monster Summon#cr4::OnEnd";
donpcevent "Monster Summon#cr5::OnEnd";
donpcevent "Monster Summon#cr6::OnStop";
donpcevent "Monster Summon#cr6::OnEnd";
donpcevent "Waiting Room#cr1::OnStart";
end;
OnStart:
enablenpc "Monster Summon#cr5";
end;
OnEnd:
disablenpc "Monster Summon#cr5";
end;
}

View File

@ -0,0 +1,13 @@
//===== rAthena Script =======================================
//= Cooking Quest
//===== Description: =========================================
//= [Official Conversion]
//= Official Cooking Quest (10.3)
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
prt_castle,43,30,3 duplicate(Charles Orleans#cook_) Charles Orleans#cook 4_M_OILMAN
prt_castle,45,35,5 duplicate(Madeleine Chu#cook_) Madeleine Chu#cook 4_COOK
prt_castle,45,28,3 duplicate(Child with Cat#cook_) Child with Cat#cook 4_F_YUNYANG
prt_castle,44,30,5 duplicate(Wickebine#cook_) Wickebine#cook 4_F_JOB_ASSASSIN

View File

@ -11,6 +11,15 @@
//= Archer training quest.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Location changed in ep16.1 of Minister NPC. [Capuche]
//============================================================
mjolnir_11,27,223,3 duplicate(Acolyte_Tu) Acolyte#tu 95
// Minister
//============================================================
prt_castle,76,165,6 duplicate(Minister#tu_) Minister#tu 1_M_JOBTESTER
// Range NPC
//============================================================
prt_castle,94,150,4 duplicate(#sound_tu_) #sound_tu HIDDEN_WARP_NPC,6,6

View File

@ -10,6 +10,11 @@
//= Contains duplicate NPCs from main script.
//===== Additional Comments: =================================
//= 1.0 Moved Izlude NPC to pre-re/re paths. [Euphy]
//= 1.1 Renewal script update for ep16.1 [Capuche]
//============================================================
izlude,99,136,5 duplicate(PromotionalStaff_izlude) Promotional Staff#iz 100
prt_castle,121,51,3 duplicate(Alliance Manager#prt_) Alliance Manager#prt 4_M_CRU_OLD
prt_castle,117,51,5 duplicate(Member of Alliance#prt_) Member of Alliance#prt 4_M_SAGE_A
prt_castle,83,67,5 duplicate(Recruiter for the Brave_) Recruiter for the Brave 4_M_MANAGER
prt_castle,88,165,3 duplicate(Laur_) Laur 1_M_LIBRARYMASTER

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,194 @@
//===== rAthena Script =======================================
//= God Item Quest - Brisingamen Seal
//===== Description: =========================================
//= [Official Conversion]
//= Quest for breaking the seal of Brisingamen.
//===== Changelogs: ==========================================
//= 1.0 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
if ($God2 < $@god_check1) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if ($God3 >= $@god_check2) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if (god_brising == 26) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "["+ strcharinfo(0) +"]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "["+ strcharinfo(0) +"]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_castle",94,37;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
close2;
warp "prt_castle",94,37;
end;
}
}
else if (god_brising == 25) {
mes "^3355FFYou took the book from the shelf while the librarian was dozing. According to the Crusader Personnel Records, there's only one recruit that was named Lowen Ellenen.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Lowen Ellenen...";
mes "Member of the";
mes "2nd squad...";
mes "Age 22...";
mes "Female...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Became a fugitive?";
mes "This isn't the same";
mes "information the";
mes "Librarian told me!";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "[" + strcharinfo(0) + "]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "[" + strcharinfo(0) + "]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_castle",94,37;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,26;
next;
mes "["+ strcharinfo(0) +"]";
mes "(Nuts...!";
mes "I didn't get";
mes "to finish reading!)";
close2;
warp "prt_castle",94,37;
end;
}
}
else {
mes "[Librarian]";
mes "What are you doing here?";
mes "Don't touch anything!";
close;
}
}
//-----------librarian----------------------------------------------------------
prt_castle,84,51,5 duplicate(Librarian#2_) Librarian#2 8W_SOLDIER

View File

@ -0,0 +1,11 @@
//===== rAthena Script =======================================
//= God Item Quest - Megingjard Seal
//===== Description: =========================================
//= [Official Conversion]
//= Quest for breaking the seal of Megingjard.
//===== Changelogs: ==========================================
//= 1.0 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_castle,44,151,0 duplicate(Rebarev Doug_) Rebarev Doug 1_M_KNIGHTMASTER
prt_castle,48,164,0 duplicate(Crusader#God_) Crusader#God 4_M_JOB_KNIGHT2

View File

@ -0,0 +1,12 @@
//===== rAthena Script =======================================
//= The Sign Quest
//===== Description: =========================================
//= [Official Conversion]
//= Quest for opening the doors to Geffenia.
//= This script uses sign_01.bmp - sign_04.bmp, these will be
//= found in the language of your client.
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
prt_castle,107,58,5 duplicate(Soldier#s11_) Soldier#s11 8W_SOLDIER

View File

@ -9,6 +9,7 @@ npc: npc/pre-re/airports/izlude.txt
npc: npc/pre-re/cities/alberta.txt
npc: npc/pre-re/cities/izlude.txt
npc: npc/pre-re/cities/jawaii.txt
npc: npc/pre-re/cities/lutie.txt
npc: npc/pre-re/cities/yuno.txt
// --------------------------- Guides ---------------------------
@ -77,10 +78,17 @@ npc: npc/pre-re/other/turbo_track.txt
// - Quests-Tutorials for basic classes (1st class quests) ------
npc: npc/pre-re/quests/first_class/tu_archer.txt
// --------------------------------------------------------------
// - The God Item Quest -----------------------------------------
npc: npc/pre-re/quests/seals/brisingamen_seal.txt
npc: npc/pre-re/quests/seals/megingard_seal.txt
// --------------------------------------------------------------
npc: npc/pre-re/quests/cooking_quest.txt
npc: npc/pre-re/quests/monstertamers.txt
npc: npc/pre-re/quests/mrsmile.txt
npc: npc/pre-re/quests/quests_13_1.txt
npc: npc/pre-re/quests/quests_izlude.txt
npc: npc/pre-re/quests/quests_lighthalzen.txt
npc: npc/pre-re/quests/quests_morocc.txt
npc: npc/pre-re/quests/quests_nameless.txt
npc: npc/pre-re/quests/the_sign_quest.txt
npc: npc/pre-re/quests/quests_veins.txt

View File

@ -10,6 +10,8 @@ npc: npc/pre-re/jobs/1-1/mage.txt
npc: npc/pre-re/jobs/1-1/merchant.txt
npc: npc/pre-re/jobs/1-1/swordman.txt
npc: npc/pre-re/jobs/1-1/thief.txt
// - 2-2
npc: npc/pre-re/jobs/2-2/crusader.txt
// - Novice
npc: npc/pre-re/jobs/novice/novice.txt

View File

@ -4,6 +4,7 @@
// --------------------------- Cities ---------------------------
npc: npc/pre-re/warps/cities/izlude.txt
npc: npc/pre-re/warps/cities/prontera.txt
npc: npc/pre-re/warps/cities/rachel.txt
npc: npc/pre-re/warps/cities/yggdrasil.txt
@ -21,3 +22,4 @@ npc: npc/pre-re/warps/fields/yuno_fild.txt
// --------------------------- Others ---------------------------
npc: npc/pre-re/warps/other/arena.txt
npc: npc/pre-re/warps/other/sign.txt
npc: npc/pre-re/warps/guildcastles.txt

View File

@ -0,0 +1,38 @@
//===== rAthena Script =======================================
//= Prontera Warp Script
//===== Description: =========================================
//= Warp Points for Prontera
//===== Changelogs: ==========================================
//= 1.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
//= Prontera City ============================================
prontera,156,360,0 warp prt005 4,2,prt_castle,102,20
//= Prontera Castle ===========================================
prt_castle,102,129,0 warp prtca01 3,2,prt_castle,102,143
prt_castle,102,140,0 warp prtca01-1 3,2,prt_castle,102,126
prt_castle,102,16,0 warp prtca001 6,2,prontera,156,356
prt_castle,102,181,0 warp prtca002 6,2,prt_gld,159,28
prt_castle,102,73,0 warp prtca02 3,2,prt_castle,102,91
prt_castle,102,88,0 warp prtca02-1 3,2,prt_castle,102,70
prt_castle,113,107,0 warp prtca03 2,3,prt_castle,134,107
prt_castle,121,29,0 warp prtca04 1,1,prt_castle,148,29
prt_castle,130,107,0 warp prtca03-1 2,3,prt_castle,110,107
prt_castle,135,153,0 warp prtca05 1,1,prt_castle,167,145
prt_castle,144,29,0 warp prtca04-1 2,2,prt_castle,117,29
prt_castle,149,113,0 warp prtca06 1,1,prt_castle,175,113
prt_castle,164,145,0 warp prtca05-1 1,1,prt_castle,132,153
prt_castle,170,138,0 warp prtca07 3,2,prt_castle,176,118
prt_castle,172,113,0 warp prtca06-1 1,1,prt_castle,146,113
prt_castle,176,121,0 warp prtca07-1 3,2,prt_castle,170,141
prt_castle,28,121,0 warp prtca08 2,2,prt_castle,40,141
prt_castle,31,113,0 warp prtca09 1,1,prt_castle,58,113
prt_castle,40,138,0 warp prtca08-1 3,2,prt_castle,28,118
prt_castle,45,145,0 warp prtca10 1,1,prt_castle,72,153
prt_castle,54,113,0 warp prtca09-1 1,1,prt_castle,27,113
prt_castle,59,29,0 warp prtca11 2,2,prt_castle,85,29
prt_castle,68,153,0 warp prtca10-1 1,1,prt_castle,42,145
prt_castle,75,107,0 warp prtca12 2,3,prt_castle,95,107
prt_castle,82,29,0 warp prtca11-1 1,1,prt_castle,56,29
prt_castle,92,107,0 warp prtca12-1 2,3,prt_castle,72,107

View File

@ -0,0 +1,10 @@
//===== rAthena Script =======================================
//= Guild Castles Warp Script
//===== Description: =========================================
//= Warp Points for Renewal Guild Castles
//===== Changelogs: ==========================================
//= 1.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
// Prontera Castle Map
prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_castle,102,178

View File

@ -27,9 +27,10 @@
//= 1.7 Replaced effect numerics with constants. [L0ne_W0lf]
//= 1.8 Renamed the variable cooking to cooking_q [ultramage]
//= 1.8a Minor cleaning. [Euphy]
//= 1.9 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_castle,43,30,3 script Charles Orleans#cook 878,{
- script Charles Orleans#cook_ -1,{
if (MaxWeight - Weight < 2000) {
mes "[Charles Orleans]";
mes "Just one second.";
@ -1480,7 +1481,7 @@ L_End:
end;
}
prt_castle,45,35,5 script Madeleine Chu#cook 886,{
- script Madeleine Chu#cook_ -1,{
if (MaxWeight - Weight < 2000) {
mes "[Madeleine Chu]";
mes "I'm sorry, but right now";
@ -2120,7 +2121,7 @@ S_SellSets:
return;
}
prt_castle,45,28,3 script Child with Cat#cook 877,{
- script Child with Cat#cook_ -1,{
set .@nyu,rand(1,2);
if (.@nyu == 1) {
cutin "nyuang_1",2;
@ -2143,7 +2144,7 @@ prt_castle,45,28,3 script Child with Cat#cook 877,{
end;
}
prt_castle,44,30,5 script Wickebine#cook 725,{
- script Wickebine#cook_ -1,{
disablenpc "Wickebine#cook";
end;

View File

@ -19,12 +19,13 @@
//= 1.5 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
//= 1.6 Fixed infinate loop. (bugreport:2393) [L0ne_W0lf]
//= 1.7 Added 10.3 dialog and moved Arpesto to hunter skill quest. [Kisuka]
//= 1.8 Updated slightly, removed additional emotions from Reiden. [L0ne_W0lf]
//= 1.8 Updated slightly, removed additional emotions from Reidin. [L0ne_W0lf]
//= 1.9 Misc. updates. [L0ne_W0lf]
//= 1.9a Added 'npcskill' command. [Euphy]
//= 2.0 Updated to match the official script. [Euphy]
//= Added Pre-Renewal support.
//= 3.0 Clean-up. [Capuche]
//= 3.1 Location changed in ep16.1 of Minister NPC. [Capuche]
//============================================================
// Bard Jet
@ -858,6 +859,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "might! Practice Double Strafe";
mes "enough and you'll get used to it!";
next;
tu_archer01 = 10;
if(.@eagle == 0){
specialeffect2 EF_WIND;
// tu_archer01 = 10;
@ -1148,7 +1150,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
next;
emotion ET_HNG, getnpcid(0, "Arpesto");
mes "[Arpesto]";
mes "Reiden...";
mes "Reidin...";
mes "Stop messing around.";
mes "Hey there, kid. The real";
mes "master of the Icarus Guild";
@ -1826,7 +1828,7 @@ prontera,144,301,5 script Mage#tu 2_F_MAGICMASTER,{
// Minister
//============================================================
prt_castle,76,165,6 script Minister#tu 1_M_JOBTESTER,{
- script Minister#tu_ -1,{
mes "[Minister]";
mes "The royal family";
mes "is extremely busy";
@ -1886,7 +1888,8 @@ prt_castle,76,165,6 script Minister#tu 1_M_JOBTESTER,{
// Range NPC
//============================================================
prt_castle,94,150,4 script #sound_tu HIDDEN_WARP_NPC,6,6,{
- script #sound_tu_ -1,{
end;
OnTouch_:
if(tu_archer02 == 6) {
mes "[Minister]";

View File

@ -711,7 +711,7 @@ morocc_in,137,102,5 script Trainee#2008hat01 82,{
mes "Did this color came out nicely?";
delitem 5438,1;
delitem 976,1;
getitem 250,1;
getitem 2250,1;
close;
}
mes "[Elgo]";

View File

@ -28,6 +28,7 @@
//= 3.3a Added Izlude RE coordinates. [Euphy]
//= 3.4 Added GM management function and NPC. [Euphy]
//= 3.5 Updated turn-in requirements for Tripatriate Union's Feud. [Euphy]
//= 3.6 Renewal script update for ep16.1 [Capuche]
//============================================================
// Onward to the New World :: ep13_gogo
@ -87,7 +88,7 @@ prontera,163,53,3 script Promotional Staff#prt 100,{
end;
}
prt_castle,121,51,3 script Alliance Manager#prt 752,{
- script Alliance Manager#prt_ -1,{
if (ep13_ryu == 13) {
mes "[Alliance Manager]";
mes "If we'd had the initiative over Schwartzvald, we could take advantage over them! But we lost the opportunity.";
@ -173,7 +174,7 @@ prt_castle,121,51,3 script Alliance Manager#prt 752,{
close;
}
prt_castle,117,51,5 script Member of Alliance#prt 754,{
- script Member of Alliance#prt_ -1,{
if ((ep13_ryu == 12) || (ep13_ryu == 13)) {
mes "[Member of Alliance]";
mes "If we have absolute power, we wouldn't have to get along with Schwartzvald and Arunafeltz.";
@ -195,7 +196,7 @@ prt_castle,117,51,5 script Member of Alliance#prt 754,{
close;
}
prt_castle,83,67,5 script Recruiter for the Brave 109,{
- script Recruiter for the Brave_ -1,{
if (ep13_ryu == 12) {
mes "[Recruiter]";
mes "Why have you come again?";
@ -10134,7 +10135,7 @@ man_fild03,202,251,3 duplicate(Expedition Scout#1) Expedition Scout#2 707
spl_fild02,295,368,3 duplicate(Expedition Scout#1) Expedition Scout#3 707
spl_fild03,172,71,3 duplicate(Expedition Scout#1) Expedition Scout#4 707
prt_castle,88,165,3 script Laur 57,{
- script Laur_ -1,{
mes "[Laur]";
if (ep13_1_edq == 9 || ep13_1_edq == 111 || ep13_1_edq == 121 || ep13_1_edq == 113 || ep13_1_edq == 123) {
mes "I'm Laur, the aide of the Home Minister of the Rune-Midgarts Kingdom. Do you have any business with me?";

View File

@ -1804,7 +1804,10 @@ ama_in02,200,176,4 script Lord of Palace#ama 768,{
mes "may be able to cure my mother's disease. I will reward you well if you succeed...";
next;
set event_amatsu,2;
changequest 8131,8132;
if (isbegin_quest(8131) == 1)
changequest 8131,8132;
else
setquest 8132;
mes "[Ishida Yoshinaga]";
mes "I beg you...Please.";
mes "My mother is living in a house outside of the palace.";

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
//= 1.5 Corrected serverwide announcement. [L0ne_W0lf]
//= 1.6 Updated RE/Pre-RE EXP. [Euphy]
//= 1.7 Renewal script update. [Euphy]
//= 1.8 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_fild08,175,374,3 script Bard#brising 51,{
@ -2082,190 +2083,8 @@ prt_church,113,103,1 script Praying Man 798,{
}
}
prt_castle,80,52,0 script Personnel Record#book1 111,{
if ($God2 < $@god_check1) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if ($God3 >= $@god_check2) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if (god_brising == 26) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "["+ strcharinfo(0) +"]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "["+ strcharinfo(0) +"]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_castle",94,37;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
close2;
warp "prt_castle",94,37;
end;
}
}
else if (god_brising == 25) {
mes "^3355FFYou took the book from the shelf while the librarian was dozing. According to the Crusader Personnel Records, there's only one recruit that was named Lowen Ellenen.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Lowen Ellenen...";
mes "Member of the";
mes "2nd squad...";
mes "Age 22...";
mes "Female...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Became a fugitive?";
mes "This isn't the same";
mes "information the";
mes "Librarian told me!";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "[" + strcharinfo(0) + "]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "[" + strcharinfo(0) + "]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_castle",94,37;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,26;
next;
mes "["+ strcharinfo(0) +"]";
mes "(Nuts...!";
mes "I didn't get";
mes "to finish reading!)";
close2;
warp "prt_castle",94,37;
end;
}
}
else {
mes "[Librarian]";
mes "What are you doing here?";
mes "Don't touch anything!";
close;
}
}
//-----------librarian----------------------------------------------------------
prt_castle,84,51,5 script Librarian#2 105,{
- script Librarian#2_ -1,{
if ($God2 < $@god_check1) {
mes "[Librarian]";
mes "What are you doing here?";

View File

@ -22,9 +22,10 @@
//= 2.0 Updated RE/Pre-RE EXP. [Euphy]
//= 2.1 Fixed minor bug with the Librarian Jekan
//= 2.2 Renewal script update. [Euphy]
//= 2.3 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_castle,44,151,0 script Rebarev Doug 56,{
- script Rebarev Doug_ -1,{
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items! -";
close;
@ -538,7 +539,7 @@ prt_castle,44,151,0 script Rebarev Doug 56,{
end;
}
prt_castle,48,164,0 script Crusader#God 734,{
- script Crusader#God_ -1,{
if ($God1 >= $@god_check1 && $God2 < $@god_check2) {
if (god_eremes > 22 && god_eremes < 25) {
mes "[Max Von Shedough]";

View File

@ -1964,7 +1964,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
mes "me to do with this?";
close;
}
if (getequiprefinerycnt(.@part) >= 10) {
.@equip_id = getequipid(.@part);
.@equip_refine = getequiprefinerycnt(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@equip_refine >= 10) {
mes "[Vestri]";
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
close;
@ -2037,6 +2040,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
mes "Hurry up and get one.";
close;
}
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
if (getequippercentrefinery(.@part) > rand(100)) {
mes "^3355FF*Clang Clang!*^000000";
successrefitem .@part;
@ -2181,7 +2188,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
mes "me to do with this?";
close;
}
if (getequiprefinerycnt(.@part) >= 10) {
.@equip_id = getequipid(.@part);
.@equip_refine = getequiprefinerycnt(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@equip_refine >= 10) {
mes "[Vestri]";
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
close;
@ -2248,6 +2258,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
mes "Hurry up and get one.";
close;
}
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
if (getequippercentrefinery(.@part) > rand(100)) {
mes "^3355FF*Clang Clang!*^000000";
successrefitem .@part;

View File

@ -27,6 +27,7 @@
//= 3.7 Massive cleaning/optimization (more can still be done). [Euphy]
//= 3.8 Corrected an invalid map name. [Joseph]
//= 3.9 Updated RE/Pre-RE EXP. [Euphy]
//= 4.0 Renewal script update for ep16.1 [Capuche]
//============================================================
// The Sign (Part 1)
@ -6000,7 +6001,7 @@ alberta_in,154,171,5 script Maid#s10 758,{
}
}
prt_castle,107,58,5 script Soldier#s11 105,{
- script Soldier#s11_ -1,{
callfunc "F_UpdateSignVars";
mes "[Maruin]";
if (sign_q < 49) {

11
npc/re/cities/lutie.txt Normal file
View File

@ -0,0 +1,11 @@
//===== rAthena Script =======================================
//= Lutie Town Renewal
//===== Description: =========================================
//= Lutie - City NPCs
//===== Additional Comments: =================================
//= 1.0 First version. [Lemongrass]
//============================================================
// Teleport to Lutie
//============================================================
aldebaran,168,168,4 duplicate(Mr. Claus) Mr. Claus#1 718

View File

@ -0,0 +1,785 @@
//===== rAthena Script =======================================
//= Instance Ritual of Blessing.
//===== Description: =========================================
//- [Walkthrough conversion].
//- Required in Banquet main quest.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
2@mir,100,17,5 script Skia#skia01 4_EP16_SKIA,{
mes "[Skia]";
mes "Welcome!";
mes "I've been wondering when you would arrive.";
next;
mes "[Nyhill]";
mes "You are here!";
mes "The people from other families all have taken their seats.";
next;
mes "[Nyhill]";
mes "By the way.........";
mes "After I left the Banquet Hall";
mes "....No, never mind.";
npctalk "...?", instance_npcname("Skia#skia01");
next;
mes "[Nyhill]";
mes "Nothing good can be heard if we keep them waiting for any longer. Let's get going.";
next;
mes "[Skia]";
mes "^4d4dffThere is a seat left next to Lord Richard. It must be the seat reserved for an observer.^000000";
next;
mes "[Skia]";
mes "Well, let's go.";
close2;
enablenpc instance_npcname("Skia Nerius#skia02");
enablenpc instance_npcname("Nyhill M. Heine#nihil02");
disablenpc instance_npcname("Skia#skia01");
disablenpc instance_npcname("Nyhill#nihil01");
end;
}
2@mir,103,17,3 duplicate(Skia#skia01) Nyhill#nihil01 4_EP16_NIHIL
2@mir,107,77,0 script #royal_evt02 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
donpcevent instance_npcname("#royal_evt02") + "::OnEvent";// player can move
end;
OnEvent:
disablenpc instance_npcname("Skia#skia01"); // not disabled on official
disablenpc instance_npcname("Nyhill#nihil01");
enablenpc instance_npcname("Skia Nerius#skia02");
enablenpc instance_npcname("Nyhill M. Heine#nihil02");
disablenpc instance_npcname("#royal_evt02");
mapannounce instance_mapname("2@mir"), "Kronecker: Although there has been a slight delay, let me proceed.", bc_map,0xFF99;
mapannounce instance_mapname("2@mir"), "Kronecker: According to the Royal Assembly which has passed down in the palace,", bc_map,0xFF99;
sleep 6000;
npctalk "Heine", instance_npcname("Friedrich S. Heine#stol_1");
npctalk "Heine", instance_npcname("Nyhill M. Heine#nihil02");
sleep 2500;
npctalk "Nerius", instance_npcname("Skia Nerius#skia02");
npctalk "Nerius", instance_npcname("Spica Nerius#spica01");
sleep 2500;
npctalk "Walther", instance_npcname("Isenhonor Walther#eisen");
npctalk "Walther", instance_npcname("Ian Walther#ian01");
sleep 2500;
npctalk "Wigner", instance_npcname("Levuiere Wigner#louvier1");
npctalk "Wigner", instance_npcname("Jurgen Wigner#jurgen01");
npctalk "Wigner", instance_npcname("Isaac Wigner#isaac01");
npctalk "Wigner", instance_npcname("Katrin Wigner#kath01");
sleep 2500;
npctalk "Geoborg", instance_npcname("Catherine D. Geoborg#ca1");
npctalk "Geoborg", instance_npcname("Ernst Geoborg#ernst01");
sleep 2500;
npctalk "Richard", instance_npcname("Po Richard#po01");
sleep 3000;
npctalk "Roegenburg", instance_npcname("Maximilian Roegenburg#m1");
npctalk "Roegenburg", instance_npcname("Wolf Roegenburg#wolf01");
npctalk "Roegenburg", instance_npcname("Helmut Roegenburg#helmu");
npctalk "Roegenburg", instance_npcname("Agnes Roegenburg#agnes0_1");
mapannounce instance_mapname("2@mir"), "Kronecker: On the behalf of the seven royal families supporting Rune Midgarts,", bc_map,0xFF99;
mapannounce instance_mapname("2@mir"), "Kronecker: Here is the new representative appointed", bc_map,0xFF99;
mapannounce instance_mapname("2@mir"), "Kronecker: The blessing star light may reach the glory of the earth...", bc_map,0xFF99;
sleep 10000;
npctalk "Please allow the power from the source granted for all beings,", instance_npcname("Friedrich S. Heine#stol_1");
npctalk "Please allow the power from the source granted for all beings,", instance_npcname("Nyhill M. Heine#nihil02");
sleep 2500;
npctalk "The courage to take a step forward without turning back, and stab the enemy with a dagger,", instance_npcname("Catherine D. Geoborg#ca1");
npctalk "The courage to take a step forward without turning back, and stab the enemy with a dagger,", instance_npcname("Ernst Geoborg#ernst01");
sleep 2500;
npctalk "The heart to embrace everything in this world,", instance_npcname("Skia Nerius#skia02");
npctalk "The heart to embrace everything in this world,", instance_npcname("Spica Nerius#spica01");
sleep 2500;
npctalk "The strong will to protect everything in the arms,", instance_npcname("Po Richard#po01");
sleep 3000;
npctalk "The intact pride which never bends in the justice and faith no matter what,", instance_npcname("Isenhonor Walther#eisen");
npctalk "The intact pride which never bends in the justice and faith no matter what,", instance_npcname("Ian Walther#ian01");
sleep 2500;
npctalk "The virtue of looking up to others with a humble mind,", instance_npcname("Maximilian Roegenburg#m1");
npctalk "The virtue of looking up to others with a humble mind,", instance_npcname("Wolf Roegenburg#wolf01");
npctalk "The virtue of looking up to others with a humble mind,", instance_npcname("Helmut Roegenburg#helmu");
npctalk "The virtue of looking up to others with a humble mind,", instance_npcname("Agnes Roegenburg#agnes0_1");
sleep 2500;
npctalk "And the wisdom to look at the truth", instance_npcname("Levuiere Wigner#louvier1");
npctalk "And the wisdom to look at the truth", instance_npcname("Jurgen Wigner#jurgen01");
npctalk "And the wisdom to look at the truth", instance_npcname("Isaac Wigner#isaac01");
npctalk "And the wisdom to look at the truth", instance_npcname("Katrin Wigner#kath01");
mapannounce instance_mapname("2@mir"), "Kronecker: To our new king...", bc_map,0xFF99;
mapannounce instance_mapname("2@mir"), "I am sorry to interrupt the fun!", bc_map,0xDDDDDD;
sleep 5000;
specialeffect EF_SCREEN_QUAKE, AREA, instance_npcname("Peter Heine#peter01");
disablenpc instance_npcname("Peter Heine#peter01");
enablenpc instance_npcname("Fallen Peter#peter02");
mapannounce instance_mapname("2@mir"), "Kronecker: Peter!!!", bc_map,0xFF99;
sleep 1000;
disablenpc instance_npcname("Kronecker G. Heine#gran1");
enablenpc instance_npcname("Kronecker G. Heine#gran2");
sleep 400;
enablenpc instance_npcname("Intruder#hunter01");
npctalk "Oh, hello! You must be the famous Archduke Grantz the Sage!", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "What are you doing!!!", instance_npcname("Kronecker G. Heine#gran2");
sleep 3000;
npctalk "No, nothing much. Nothing worth doing here anyways.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "I have heard that there is something really nice hidden here...", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "But what is this? It is fake!", instance_npcname("Intruder#hunter01");
specialeffect EF_BEGINSPELL,AREA,instance_npcname("Kronecker G. Heine#gran2");
specialeffect EF_BEGINSPELL6,AREA,instance_npcname("Intruder#hunter01");
specialeffect EF_LEVEL99,AREA,instance_npcname("Intruder#hunter01");
sleep 2000;
npctalk "You old man, and the noble people behind him...", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "Hold it there. It is no fun. I may want to destroy something.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "For example...", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "This fake resembling Ymir's Heart!", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "...What do you want?", instance_npcname("Kronecker G. Heine#gran2");
sleep 3000;
npctalk "The piece of Ymir's Heart. I have heard that it is here, but I don't see any, do I?", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "...What are you talking about?", instance_npcname("Kronecker G. Heine#gran2");
sleep 3000;
npctalk "Oh, you didn't know?", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "Well, I see. If you knew that you wouldn't have kept it in the ground, wasting your time on this ritual and all.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "But I can't help it, old man. This is fake.", instance_npcname("Intruder#hunter01");
sleep 2000;
npctalk "...How dare you...", instance_npcname("Kronecker G. Heine#gran2");
sleep 2000;
npctalk "Don't give me that look. I have wasted my time here as well, you know.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "Well, I'll get going without casing a scene this time.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "Ha! What good does all the power do when you don't know how to use it? I guess you don't need this anymore.", instance_npcname("Intruder#hunter01");
sleep 3000;
npctalk "It is the time for this fake Ymir's Heart to go!", instance_npcname("Intruder#hunter01");
sleep 600;
specialeffect EF_BEGINSPELL3,AREA, instance_npcname("Intruder#hunter01");
sleep 400;
specialeffect EF_SCREEN_QUAKE,AREA, instance_npcname("Peter Heine#peter01");
specialeffect EF_LORD,AREA, instance_npcname("Kronecker G. Heine#gran2");
specialeffect EF_LORD,AREA, instance_npcname("Levuiere Wigner#louvier1");
specialeffect EF_LORD,AREA, instance_npcname("Catherine D. Geoborg#ca1");
disablenpc instance_npcname("Ian Walther#ian01");
disablenpc instance_npcname("Levuiere Wigner#louvier1");
disablenpc instance_npcname("Jurgen Wigner#jurgen01");
disablenpc instance_npcname("Catherine D. Geoborg#ca1");
enablenpc instance_npcname("Ian Walther#ian02");
enablenpc instance_npcname("Levuiere Wigner#louvier2");
enablenpc instance_npcname("Jurgen Wigner#jurgen02");
enablenpc instance_npcname("Katrin Wigner#kath02");
sleep 500;
specialeffect EF_LORD,AREA, instance_npcname("Maximilian Roegenburg#m1");
disablenpc instance_npcname("Ernst Geoborg#ernst01");
disablenpc instance_npcname("Maximilian Roegenburg#m1");
disablenpc instance_npcname("Wolf Roegenburg#wolf01");
disablenpc instance_npcname("Agnes Roegenburg#agnes0_1");
disablenpc instance_npcname("Isaac Wigner#isaac01");
disablenpc instance_npcname("Katrin Wigner#kath01");
disablenpc instance_npcname("Po Richard#po01");
disablenpc instance_npcname("Peter Heine#peter01");
disablenpc instance_npcname("Spica Nerius#spica01");
disablenpc instance_npcname("Isenhonor Walther#eisen");
disablenpc instance_npcname("Friedrich S. Heine#stol_1");
disablenpc instance_npcname("Helmut Roegenburg#helmu");
disablenpc instance_npcname("Skia Nerius#skia02");
disablenpc instance_npcname("Nyhill M. Heine#nihil02");
enablenpc instance_npcname("Agnes Roegenburg#agnes0_2");
enablenpc instance_npcname("Skia Nerius#skia03");
enablenpc instance_npcname("Nyhill M. Heine#nihil03");
enablenpc instance_npcname("Spica Nerius#spica02");
enablenpc instance_npcname("Po Richard#po02");
enablenpc instance_npcname("Maximilian Roegenburg#m2");
enablenpc instance_npcname("Wolf Roegenburg#wolf02");
enablenpc instance_npcname("Ernst Geoborg#ernst02");
enablenpc instance_npcname("Catherine D. Geoborg#ca2");
enablenpc instance_npcname("Isaac Wigner#isaac02");
specialeffect EF_LORD,AREA, instance_npcname("Agnes Roegenburg#agnes0_2");
mapannounce instance_mapname("2@mir"), "Intruder: Then ladies and gentlemen, have a good time!", bc_map,0xDDDDDD;
disablenpc instance_npcname("Intruder#hunter01");
donpcevent instance_npcname("Intruder#hunter02") + "::OnEvent";
donpcevent instance_npcname("Intruder#hunter03") + "::OnEvent";
donpcevent instance_npcname("Intruder#hunter04") + "::OnEvent";
donpcevent instance_npcname("Intruder#hunter06") + "::OnEvent";
end;
}
2@mir,87,79,5 script Intruder#hunter02 3454,{
end;
OnEvent:
enablenpc instance_npcname("Intruder#hunter02");
initnpctimer;
donpcevent instance_npcname("Intruder#hunter05") + "::OnEvent"; // timer + enable
donpcevent instance_npcname("Helmut Roegenburg#helmu2") + "::OnEvent";
donpcevent instance_npcname("Isenhonor Walther#eisen2") + "::OnEvent";
monster instance_mapname("2@mir"),107,73,"Suspicious Intruder",3454,1, instance_npcname("Intruder#hunter02") + "::OnMobDead";// HEART_HUNTER_N
end;
OnMobDead:
stopnpctimer;
hideonnpc instance_npcname("Intruder#hunter02");
donpcevent instance_npcname("Intruder#hunter05") + "::OnMobDead"; // stop timer + disable
donpcevent instance_npcname("Helmut Roegenburg#helmu2") + "::OnMobDead";
donpcevent instance_npcname("Isenhonor Walther#eisen2") + "::OnMobDead";
'intruder_count++;
if ('intruder_count == 3) {
mapannounce instance_mapname("2@mir"), "Fellows! Let's leave this place!", bc_map,0xDDDDDD;
donpcevent instance_npcname("Intruder#hunter02") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter05") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter03") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter06") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter04") + "::OnLeave";
}
end;
OnLeave:
specialeffect EF_TEIHIT3;
disablenpc instance_npcname("Intruder#hunter02");
end;
OnTimer1500:
specialeffect EF_PIERCE;
end;
OnTimer3500:
specialeffect EF_HOLYCROSS;
end;
OnTimer4500:
npctalk "It is no use!";
end;
OnTimer6500:
specialeffect EF_SHIELDCHARGE;
end;
OnTimer8000:
initnpctimer;
end;
}
2@mir,91,84,5 script Intruder#hunter03 3454,{
end;
OnEvent:
enablenpc instance_npcname("Intruder#hunter03");
initnpctimer;
donpcevent instance_npcname("Intruder#hunter06") + "::OnEvent"; // timer + enable
donpcevent instance_npcname("Po Richard#po02") + "::OnEvent";
donpcevent instance_npcname("Skia Nerius#skia03") + "::OnEvent";
monster instance_mapname("2@mir"),98,73,"Suspicious Intruder",3454,1, instance_npcname("Intruder#hunter03") + "::OnMobDead";// HEART_HUNTER_N
end;
OnMobDead:
stopnpctimer;
hideonnpc instance_npcname("Intruder#hunter03");
donpcevent instance_npcname("Intruder#hunter06") + "::OnMobDead"; // stop timer + disable
donpcevent instance_npcname("Po Richard#po02") + "::OnMobDead";
donpcevent instance_npcname("Skia Nerius#skia03") + "::OnMobDead";
'intruder_count++;
if ('intruder_count == 3) {
mapannounce instance_mapname("2@mir"), "Fellows! Let's leave this place!", bc_map,0xDDDDDD;
donpcevent instance_npcname("Intruder#hunter02") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter05") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter03") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter06") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter04") + "::OnLeave";
}
end;
OnLeave:
specialeffect EF_TEIHIT3;
disablenpc instance_npcname("Intruder#hunter03");
end;
OnTimer1500:
specialeffect EF_MAGICALATTHIT;
end;
OnTimer4000:
specialeffect EF_HIT5;
end;
OnTimer7000:
specialeffect EF_HIT2;
end;
OnTimer8000:
npctalk "It is no use!";
end;
OnTimer10500:
specialeffect EF_HOLYCROSS;
end;
OnTimer11500:
initnpctimer;
end;
}
2@mir,94,86,5 script Intruder#hunter04 3454,{
end;
OnEvent:
enablenpc instance_npcname("Intruder#hunter04");
initnpctimer;
donpcevent instance_npcname("Friedrich S. Heine#stol_2") + "::OnEvent"; // timer + enable
monster instance_mapname("2@mir"),101,83,"Suspicious Intruder",3454,1, instance_npcname("Intruder#hunter04") + "::OnMobDead";// HEART_HUNTER_N
end;
OnMobDead:
stopnpctimer;
hideonnpc instance_npcname("Intruder#hunter04");
donpcevent instance_npcname("Friedrich S. Heine#stol_2") + "::OnMobDead"; // timer
'intruder_count++;
if ('intruder_count == 3) {
mapannounce instance_mapname("2@mir"), "Fellows! Let's leave this place!", bc_map,0xDDDDDD;
donpcevent instance_npcname("Intruder#hunter02") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter05") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter03") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter06") + "::OnLeave";
donpcevent instance_npcname("Intruder#hunter04") + "::OnLeave";
}
end;
OnLeave:
specialeffect EF_TEIHIT3;
disablenpc instance_npcname("Intruder#hunter04");
end;
OnTimer1500:
specialeffect EF_MAGICALATTHIT;
end;
OnTimer3500:
specialeffect EF_HIT5;
end;
OnTimer4500:
npctalk "Heh!";
end;
OnTimer7500:
specialeffect EF_HIT2;
end;
OnTimer12000:
specialeffect EF_HOLYCROSS;
end;
OnTimer14000:
initnpctimer;
end;
}
2@mir,107,86,5 script Intruder#hunter05 3454,{
end;
OnEvent:
enablenpc instance_npcname("Intruder#hunter05");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
hideonnpc instance_npcname("Intruder#hunter05");
end;
OnLeave:
specialeffect EF_TEIHIT3;
disablenpc instance_npcname("Intruder#hunter05");
end;
OnTimer1500:
specialeffect EF_MAGICALATTHIT;
end;
OnTimer3500:
npctalk "Die!!!";
specialeffect EF_HIT5;
end;
OnTimer6500:
specialeffect EF_HIT2;
end;
OnTimer9500:
specialeffect EF_HOLYCROSS;
initnpctimer;
end;
}
2@mir,110,85,5 script Intruder#hunter06 3454,{
end;
OnEvent:
enablenpc instance_npcname("Intruder#hunter06");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
hideonnpc instance_npcname("Intruder#hunter06");
end;
OnLeave:
specialeffect EF_TEIHIT3;
disablenpc instance_npcname("Intruder#hunter06");
end;
OnTimer1500:
specialeffect EF_HITDARK;
end;
OnTimer3500:
npctalk "Die!!!";
specialeffect EF_LIGHTBOLT;
end;
OnTimer6000:
specialeffect EF_COMBOATTACK1;
end;
OnTimer9000:
specialeffect EF_NAPALMBEAT;
end;
OnTimer14000:
initnpctimer;
end;
}
2@mir,88,78,2 script Isenhonor Walther#eisen2 4_M_1STPRIN1,{
if ('intruder_count < 3) {
npctalk "We don't have the time to chat!";
end;
}
mes "[Isenhonor]";
mes "What is going on...";
mes "We shall leave this place first.";
next;
mes "[Isenhonor]";
mes "Is everyone all right...";
close2;
disablenpc instance_npcname("Isenhonor Walther#eisen2");
disablenpc instance_npcname("Ian Walther#ian02");
end;
OnEvent:
enablenpc instance_npcname("Isenhonor Walther#eisen2");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
end;
OnTime1500:
npctalk "Ha...";
end;
OnTime3000:
specialeffect EF_CONCENTRATION;
end;
OnTime5500:
specialeffect EF_TEIHIT1X;
end;
OnTime8500:
specialeffect EF_CHAINCOMBO;
end;
OnTime10000:
npctalk "We don't have the time to chat!";
initnpctimer;
end;
}
2@mir,106,85,7 script Helmut Roegenburg#helmu2 4_EP16_HELMUT,{
if ('intruder_count < 3)
end;
mes "[Helmut]";
mes "All seem well.";
mes "...I shall get going. The brothers don't look so good.";
close2;
disablenpc instance_npcname("Helmut Roegenburg#helmu2");
disablenpc instance_npcname("Wolf Roegenburg#wolf02");
disablenpc instance_npcname("Maximilian Roegenburg#m2");
disablenpc instance_npcname("Agnes Roegenburg#agnes0_2");
end;
OnEvent:
enablenpc instance_npcname("Helmut Roegenburg#helmu2");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
end;
OnTime1500:
specialeffect EF_TEIHIT1X;
end;
OnTimer3500:
npctalk "Look who's talking!!!";
specialeffect EF_HIT6;
end;
OnTimer7000:
specialeffect EF_HIT1;
end;
OnTimer9000:
specialeffect EF_AUTOCOUNTER;
npctalk "Argh!!!";
initnpctimer;
end;
}
2@mir,92,83,2 script Skia Nerius#skia03 4_EP16_SKIA,{
if ('intruder_count < 3) {
npctalk "...Eh... Where did they come from?";
end;
}
mes "[Skia]";
mes "Phew, let's get out of here.";
mes "Sis, let's get out!";
mes "Nyhill, you should come with us!";
next;
mes "[Skia]";
mes "Other people will get out on their own!";
close2;
disablenpc instance_npcname("Skia Nerius#skia03");
disablenpc instance_npcname("Spica Nerius#spica02");
end;
OnEvent:
enablenpc instance_npcname("Skia Nerius#skia03");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
end;
OnTime2000:
specialeffect EF_TEIHIT1X;
end;
OnTimer4500:
specialeffect EF_HIT6;
end;
OnTimer7500:
specialeffect EF_HIT1;
end;
OnTimer12000:
specialeffect EF_HIT1;
end;
OnTimer12500:
initnpctimer;
end;
}
2@mir,109,84,7 script Po Richard#po02 4_M_6THPRIN1,{
if ('intruder_count < 3) {
npctalk "...Haha, I didn't expect to fight here!";
end;
}
npctalk "Since the hall seems to have been cleared out, I am leaving now. What a hassle, this time!";
sleep 2000;
disablenpc instance_npcname("Po Richard#po02");
end;
OnEvent:
enablenpc instance_npcname("Po Richard#po02");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
end;
OnTime1500:
npctalk "Oh, this doesn't look good.";
end;
OnTimer5500:
specialeffect EF_HIT6;
end;
OnTimer7500:
specialeffect EF_HIT1;
end;
OnTimer17500:
specialeffect EF_HIT1;
end;
OnTimer19000:
initnpctimer;
end;
}
2@mir,95,85,1 script Friedrich S. Heine#stol_2 4_EP16_STOLZ,{
if ('intruder_count < 3) {
npctalk "Please take care of the others.";
end;
}
mes "[Friedrich]";
mes "...There seems to be no one dead.";
npctalk "What are you waiting for! Get out of here with the wounded people!";
close2;
OnDisable:
disablenpc instance_npcname("Skia Nerius#skia03");
disablenpc instance_npcname("Spica Nerius#spica02");
disablenpc instance_npcname("Isenhonor Walther#eisen2");
disablenpc instance_npcname("Ian Walther#ian02");
disablenpc instance_npcname("Levuiere Wigner#louvier2");
disablenpc instance_npcname("Jurgen Wigner#jurgen02");
disablenpc instance_npcname("Katrin Wigner#kath02");
disablenpc instance_npcname("Ernst Geoborg#ernst02");
disablenpc instance_npcname("Catherine D. Geoborg#ca2");
disablenpc instance_npcname("Po Richard#po02");
disablenpc instance_npcname("Maximilian Roegenburg#m2");
disablenpc instance_npcname("Wolf Roegenburg#wolf02");
disablenpc instance_npcname("Helmut Roegenburg#helmu2");
disablenpc instance_npcname("Agnes Roegenburg#agnes0_2");
disablenpc instance_npcname("Friedrich S. Heine#stol_2");
disablenpc instance_npcname("Isaac Wigner#isaac02");
end;
OnEvent:
enablenpc instance_npcname("Friedrich S. Heine#stol_2");
initnpctimer;
end;
OnMobDead:
stopnpctimer;
end;
OnTime1500:
specialeffect EF_TEIHIT1X;
end;
OnTimer4000:
specialeffect EF_HIT6;
end;
OnTimer11500:
specialeffect EF_AUTOCOUNTER;
npctalk "...Where are these bastards from?";
end;
OnTimer12000:
initnpctimer;
end;
}
2@mir,101,93,7 script Kronecker G. Heine#gran2 4_EP16_GRANZ,{
if ('intruder_count < 3) {
mes "[Kronecker]";
mes "Peter is in a critical condition.";
mes "...Would you mind fighting against the intruder for us?";
close;
}
if (isbegin_quest(7692) == 1) {
mes "[Kronecker]";
mes "....";
mes ".... ^4d4dffTerra Gloria^000000 is missing...";
next;
select("Terra Gloria?");
mes "[Kronecker]";
mes "It is the crown passed down in the palace of Rune Midgarts.";
mes "It means more than an ordinary crown.";
next;
mes "[Kronecker]";
mes "Has it been taken by them?";
mes "What on earth...!";
next;
mes "[Kronecker]";
mes "What is hidden here is not known to anyone... Except the seven royal families...!";
next;
mes "[Kronecker]";
mes "Does it mean...";
mes "...Well, first things first, There are things to find out.";
next;
mes "[Kronecker]";
mes "Let's get out of here now.";
mes "There is much left for use to find out.";
erasequest 7692;
setquest 7693;// Surprise Attack
banquet_main_quest = 9;
next;
mes "[Kronecker]";
mes "Whoever left here, clear out with the wounded near you!";
mes "The Room of Consciousness will be closed for a while!";
donpcevent instance_npcname("Friedrich S. Heine#stol_2") + "::OnDisable";
disablenpc instance_npcname("Nyhill M. Heine#nihil03");
close;
}
mes "[Kronecker]";
mes "Peter has been wounded.";
mes "We need to move him fast.";
next;
mes "[Kronecker]";
mes "I'll see you out there.";
mes "You can leave through the door you have entered.";
mes "Let's meet at the Past Memories of the Royal Family.";
close;
}
2@mir,93,80,2 script Nyhill M. Heine#nihil03 4_EP16_NIHIL,4,4,{
if ('intruder_count < 3) {
npctalk "...Oh... My...";
end;
}
mes "[Nyhill]";
mes "...This... Is all... My fault...";
close;
OnTouch:
npctalk "...Will I be a help?";
npcskill "AL_HEAL",11,99,60;
npcskill "PR_KYRIE",10,99,60;
end;
}
2@mir,97,65,5 script Jurgen Wigner#jurgen02 4_M_4THPRIN1,{
npctalk "I am counting on you!";
npcskill "AL_INCAGI",10,99,60;
end;
}
2@mir,111,66,4 script Catherine D. Geoborg#ca2 4_EP16_EGEO,{
npctalk "...I hope it helps you.";
npcskill "AL_HEAL",10,130,115;
end;
}
2@mir,107,61,6 script Isaac Wigner#isaac02 4_EP16_ISAAC,{
npctalk "Cheer up!";
npcskill "AL_BLESSING",10,99,60;
end;
}
2@mir,112,71,1 script Agnes Roegenburg#agnes0_2 4_EP16_AGNES,{
npctalk "Argh! Watch out!";
end;
}
2@mir,96,83,2 script Spica Nerius#spica02 4_EP16_SPICA,{
npctalk "...S... ki... a...";
end;
}
2@mir,102,97,3 script Intruder#hunter01 3454,{
end;
OnInstanceInit:
'intruder_count = 0;// init on reload
disablenpc instance_npcname("Intruder#hunter01");
disablenpc instance_npcname("Spica Nerius#spica02");
disablenpc instance_npcname("Agnes Roegenburg#agnes0_2");
disablenpc instance_npcname("Isaac Wigner#isaac02");
disablenpc instance_npcname("Catherine D. Geoborg#ca2");
disablenpc instance_npcname("Jurgen Wigner#jurgen02");
disablenpc instance_npcname("Kronecker G. Heine#gran2");
disablenpc instance_npcname("Intruder#hunter02");
disablenpc instance_npcname("Intruder#hunter03");
disablenpc instance_npcname("Intruder#hunter04");
disablenpc instance_npcname("Intruder#hunter05");
disablenpc instance_npcname("Intruder#hunter06");
disablenpc instance_npcname("Isenhonor Walther#eisen2");
disablenpc instance_npcname("Helmut Roegenburg#helmu2");
disablenpc instance_npcname("Po Richard#po02");
disablenpc instance_npcname("Friedrich S. Heine#stol_2");
disablenpc instance_npcname("Skia Nerius#skia03");
disablenpc instance_npcname("Nyhill M. Heine#nihil03");
end;
}
2@mir,96,83,0 script dummy_npc_rituel_disabled -1,{
end;
OnInstanceInit:
disablenpc instance_npcname( strnpcinfo(0) );
end;
}
2@mir,88,74,3 duplicate(dummy_npc_rituel_disabled) Ian Walther#ian02 1_M_JOBTESTER
2@mir,86,70,4 duplicate(dummy_npc_rituel_disabled) Levuiere Wigner#louvier2 4_EP16_LOUVIERE
2@mir,94,72,3 duplicate(dummy_npc_rituel_disabled) Katrin Wigner#kath02 4_EP16_POE
2@mir,112,66,3 duplicate(dummy_npc_rituel_disabled) Ernst Geoborg#ernst02 4_M_2NDPRIN1
2@mir,91,69,7 duplicate(dummy_npc_rituel_disabled) Maximilian Roegenburg#m2 4_EP16_MAX
2@mir,94,66,3 duplicate(dummy_npc_rituel_disabled) Wolf Roegenburg#wolf02 4_EP16_WOLF
2@mir,100,80,7 duplicate(dummy_npc_rituel_disabled) Nyhill M. Heine#nihil02 4_EP16_NIHIL
2@mir,101,95,3 duplicate(dummy_npc_rituel_disabled) Fallen Peter#peter02 4_EP16_PETER
2@mir,97,77,7 duplicate(dummy_npc_rituel_disabled) Skia Nerius#skia02 4_EP16_SKIA
2@mir,96,83,0 script dummy_npc_rituel -1,{ end; }
2@mir,101,88,4 duplicate(dummy_npc_rituel) Kronecker G. Heine#gran1 4_EP16_GRANZ
2@mir,97,71,7 duplicate(dummy_npc_rituel) Levuiere Wigner#louvier1 4_EP16_LOUVIERE
2@mir,100,71,7 duplicate(dummy_npc_rituel) Jurgen Wigner#jurgen01 4_M_4THPRIN1
2@mir,97,68,7 duplicate(dummy_npc_rituel) Isaac Wigner#isaac01 4_EP16_ISAAC
2@mir,100,68,7 duplicate(dummy_npc_rituel) Katrin Wigner#kath01 4_EP16_POE
2@mir,103,80,2 duplicate(dummy_npc_rituel) Catherine D. Geoborg#ca1 4_EP16_EGEO
2@mir,106,80,2 duplicate(dummy_npc_rituel) Ernst Geoborg#ernst01 4_M_2NDPRIN1
2@mir,103,77,2 duplicate(dummy_npc_rituel) Po Richard#po01 4_M_6THPRIN1
2@mir,103,74,2 duplicate(dummy_npc_rituel) Maximilian Roegenburg#m1 4_EP16_MAX
2@mir,106,74,2 duplicate(dummy_npc_rituel) Wolf Roegenburg#wolf01 4_EP16_WOLF
2@mir,101,94,0 duplicate(dummy_npc_rituel) Peter Heine#peter01 4_M_3RDPRIN1
2@mir,100,77,7 duplicate(dummy_npc_rituel) Spica Nerius#spica01 4_EP16_SPICA
2@mir,106,71,2 duplicate(dummy_npc_rituel) Agnes Roegenburg#agnes0_1 4_EP16_AGNES
2@mir,97,80,7 duplicate(dummy_npc_rituel) Friedrich S. Heine#stol_1 4_EP16_STOLZ
2@mir,100,74,7 duplicate(dummy_npc_rituel) Ian Walther#ian01 1_M_JOBTESTER
2@mir,97,74,7 duplicate(dummy_npc_rituel) Isenhonor Walther#eisen 4_M_1STPRIN1
2@mir,103,71,2 duplicate(dummy_npc_rituel) Helmut Roegenburg#helmu 4_EP16_HELMUT
2@mir,101,10,0 script to_prt_lib WARPNPC,1,1,{
if (isbegin_quest(7693) == 1) {
warp "prt_lib",88,80;
end;
}
mes "[" + strcharinfo(0) + "]";
mes "We should watch the Ritual of Blessing.";
mes "Don't get out now.";
close;
}

View File

@ -0,0 +1,881 @@
//===== rAthena Script =======================================
//= Instance Room of Consciousness.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Require Banquet main quest.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
1@mir,103,40,3 script Fenrir#1mir 4_F_FENRIR,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "Sealed in the underground";
mes "of the Prontera Castle...";
mes "I didn't expect it to be this huge...";
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "What on earth is there inside?";
next;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "I don't know. Let's investigate the inside, first.";
close2;
cutin "",255;
disablenpc instance_npcname("Iris#1mir");
disablenpc instance_npcname("Fenrir#1mir");
end;
OnInstanceInit:
'map_name$ = instance_mapname("1@mir");
disablenpc instance_npcname("Bijou#2mir");
disablenpc instance_npcname("Fenrir#3mir");
disablenpc instance_npcname("Iris#3mir");
disablenpc instance_npcname("Bijou#3mir");
disablenpc instance_npcname("Renovated Amdarais#3mir");
disablenpc instance_npcname("Fenrir#4mir");
disablenpc instance_npcname("Iris#4mir");
disablenpc instance_npcname("Bijou#4mir");
disablenpc instance_npcname("Fenrir#5mir");
disablenpc instance_npcname("Iris#5mir");
disablenpc instance_npcname("Bijou#5mir");
disablenpc instance_npcname("Sarah#5mir");
disablenpc instance_npcname("Fenrir#6mir");
disablenpc instance_npcname("Iris#6mir");
disablenpc instance_npcname("Bijou#6mir");
disablenpc instance_npcname("Sarah#6mir");
disablenpc instance_npcname("Fenrir#boss1a");
disablenpc instance_npcname("Fenrir#boss1b");
disablenpc instance_npcname("Fenrir#boss1c");
disablenpc instance_npcname("Fenrir#boss1d");
disablenpc instance_npcname("Iris#boss1a");
disablenpc instance_npcname("Iris#boss1b");
disablenpc instance_npcname("Iris#boss1c");
disablenpc instance_npcname("Iris#boss1d");
disablenpc instance_npcname("Fenrir#boss2a");
disablenpc instance_npcname("Fenrir#boss2b");
disablenpc instance_npcname("Fenrir#boss2c");
disablenpc instance_npcname("Fenrir#boss2d");
disablenpc instance_npcname("Iris#boss2a");
disablenpc instance_npcname("Iris#boss2b");
disablenpc instance_npcname("Iris#boss2c");
disablenpc instance_npcname("Iris#boss2d");
disablenpc instance_npcname("eq#mir2");
disablenpc instance_npcname("eq#mir3");
disablenpc instance_npcname("eq#mir4");
disablenpc instance_npcname("eq#mir5");
disablenpc instance_npcname("eq#mir6");
end;
}
1@mir,100,94,7 script Iris#2mir 4_F_IRIS,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
mes "[Iris]";
mes "This...this must be...";
mes "Ymir's Heart!";
next;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "This...";
mes "This is Ymir's Heart...";
next;
cutin "hero_iris_01",255;
mes "~Rumbling~";
next;
specialeffect EF_SCREEN_QUAKE,AREA, instance_npcname("Iris#2mir");
cutin "hero_iris_01",2;
mes "[Iris]";
mes "Why is this place shaking?!";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "~Grunts~ They must've started attacking this place, too.";
next;
enablenpc instance_npcname("Bijou#2mir");
cutin "bijou_01",2;
mes "[Bijou]";
mes "~Grins~ Delighted to see you all.";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "!!";
mes "You've got to be kidding me!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "From this moment on, we the Immortal Legion by Lord Valkyrie Himelmez";
mes "will take over here.";
next;
specialeffect EF_SCREEN_QUAKE,AREA, instance_npcname("Iris#2mir");
cutin "hero_iris_01",2;
mes "[Iris]";
mes "What? How dare you!";
mes "I'm game. Bring it on!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "~Grins~ Do I look like I have the time to deal with a petty thing like you, human?";
mes "But, out of pure mercy, I'll let you taste the fearful power of the Immortal Legion just a little bit.";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "~Grunts~ When did all the legionnaires get here?";
close2;
cutin "",255;
donpcevent instance_npcname("eq#mir1") + "::OnEvent";
disablenpc instance_npcname("Iris#2mir");
end;
}
1@mir,101,104,0 script eq#mir1 HIDDEN_WARP_NPC,{
end;
OnEvent:
initnpctimer;
end;
OnTimer200:
disablenpc instance_npcname("Iris#1mir");
disablenpc instance_npcname("Fenrir#1mir");
disablenpc instance_npcname("Fenrir#2mir");
disablenpc instance_npcname("Bijou#2mir");
mapannounce 'map_name$, "Fenrir: The enemies will show up soon! Brace yourself!", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer2200:
mapannounce 'map_name$, "Fenrir: The enemies are swarming in. We must get rid of them all!", bc_map,0xFFFF00,FW_NORMAL,12;
// coords inaccurate
monster 'map_name$,83,67,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_SKELETON
monster 'map_name$,91,51,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_SKELETON
monster 'map_name$,111,67,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_SKELETON
monster 'map_name$,92,69,"Enchanted Soldier Skeleton",3447,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_SOLDIER_SKELETON
monster 'map_name$,109,50,"Enchanted Soldier Skeleton",3447,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_SOLDIER_SKELETON
monster 'map_name$,109,47,"Enchanted Archer Skeleton",3445,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_ARCHER_SKELETON
monster 'map_name$,90,48,"Enchanted Archer Skeleton",3445,1, instance_npcname("eq#mir1") + "::OnMobDead";// P_ARCHER_SKELETON
'skeleton_wave[0] = 7;
stopnpctimer;
end;
OnMobDead:
'skeleton_wave[0]--;
if ('skeleton_wave[0] == 0) {
mapannounce 'map_name$, "Iris: ~Exhales~ Did we knock out all the enemies now?", bc_map,0xFFFF00,FW_NORMAL,12;
startnpctimer;
}
end;
OnTimer4200:
mapannounce 'map_name$, "Fenrir: I don't think so. Some of the remnants are still here. Watch out!", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer6200:
// coords inaccurate
monster 'map_name$,83,67,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_SKELETON
monster 'map_name$,91,51,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_SKELETON
monster 'map_name$,111,67,"Enchanted Skeleton",3446,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_SKELETON
monster 'map_name$,92,69,"Enchanted Soldier Skeleton",3447,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_SOLDIER_SKELETON
monster 'map_name$,109,50,"Enchanted Soldier Skeleton",3447,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_SOLDIER_SKELETON
monster 'map_name$,109,47,"Enchanted Archer Skeleton",3445,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_ARCHER_SKELETON
monster 'map_name$,90,48,"Enchanted Archer Skeleton",3445,1, instance_npcname("eq#mir1") + "::OnMobDead2";// P_ARCHER_SKELETON
'skeleton_wave[1] = 7;
stopnpctimer;
end;
OnMobDead2:
'skeleton_wave[1]--;
if ('skeleton_wave[1] == 0) {
mapannounce 'map_name$, "Fenrir: Phew! I think we've done here.", bc_map,0xFFFF00,FW_NORMAL,12;
enablenpc instance_npcname("Fenrir#3mir");
enablenpc instance_npcname("Iris#3mir");
enablenpc instance_npcname("Bijou#2mir");
disablenpc instance_npcname("eq#mir1");
}
end;
}
1@mir,103,85,1 script Iris#3mir 4_F_IRIS,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
mes "[Bijou]";
mes "~Chuckles~ I think you're not that bad for a human.";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "But do you think you can get away from this, again? Wake up, my underlings!";
specialeffect EF_WARP,AREA, instance_npcname("Renovated Amdarais#3mir");
sleep2 3000;
specialeffect EF_ENTRY,AREA, instance_npcname("Renovated Amdarais#3mir");
enablenpc instance_npcname("Renovated Amdarais#3mir");
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "What...what's up with this monster?!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "Ah...";
mes "I'll let you in on me before I go.";
mes "I'm Bijou.";
mes "I'm the adjutant to Lord Valkyrie Himelmez.";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "~Groans~";
mes "No Valkyrie's subordinates ever disappointed me and neither did you.";
mes "Ymir's Heart is a huge energy source. For what do you want to use it anyway?";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "......";
mes "You don't need to know. You're going to be wiped out soon anyway.";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "I don't think you'd use it for any good cause.";
mes "I'll stop Bijou from taking Ymir's Heart. You go ahead and take care of that huge monster!";
close2;
cutin "",255;
donpcevent instance_npcname("eq#mir2") + "::OnEvent";
end;
}
1@mir,101,104,0 script eq#mir2 HIDDEN_WARP_NPC,{
end;
OnEvent:
enablenpc instance_npcname("eq#mir2");
enablenpc instance_npcname("eq#mir3");
disablenpc instance_npcname("Bijou#2mir");
disablenpc instance_npcname("Fenrir#3mir");
disablenpc instance_npcname("Iris#3mir");
disablenpc instance_npcname("Renovated Amdarais#3mir");
monster 'map_name$,101,95,"Renovated Amdarais",3448,1, instance_npcname("eq#mir2") + "::OnMobDead";// P_AMDARAIS
'boss_id = $@mobid[0];
'target_event = 1; // Amdarais
initnpctimer;
end;
OnTimer1000:
getunitdata 'boss_id, .@data;
if (.@data[UMOB_HP] == .@data[UMOB_MAXHP]) {
initnpctimer;
end;
}
mapannounce 'map_name$, "Iris: Oh, this monster...I don't think its HP doesn't seem to drop no matter how many times I hit.", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer3000:
mapannounce 'map_name$, "Bijou: ~Chuckles~ Amdarais won't get knocked down that easily.", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer5000:
mapannounce 'map_name$, "Fenrir: This undead seems to be different from any other undeads.", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer7000:
mapannounce 'map_name$, "Fenrir: Yes, it's the nucleus! Attack its nucleus to inflict huge damage!", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer9000:
donpcevent instance_npcname("eq#mir3") + "::OnEvent";
stopnpctimer;
end;
OnMobDead:
stopnpctimer;
donpcevent instance_npcname("eq#mir3") + "::OnStop";
if ('random_letter$ != "")
donpcevent instance_npcname( "Fenrir#boss1" + 'random_letter$ ) + "::OnStop";
disablenpc instance_npcname("eq#mir2");
enablenpc instance_npcname("Fenrir#4mir");
enablenpc instance_npcname("Iris#4mir");
end;
}
1@mir,101,104,0 script eq#mir3 HIDDEN_WARP_NPC,{
end;
OnEvent:
callsub S_Announce, true;
OnEvent2:
callsub S_Announce, false;
S_Announce:
setarray .@list$[0],"a","b","c","d";
'random_letter$ = .@list$[ rand(4) ];
donpcevent instance_npcname( "Fenrir#boss" + 'target_event + "" + 'random_letter$ ) + "::OnEvent"; // 1: P_AMDARAIS / 2: BIJOU
if (getarg(0) == true)
mapannounce 'map_name$, "Fenrir: Lure it to where I am!", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnStart:
initnpctimer;
end;
OnTimer25000:
donpcevent instance_npcname("eq#mir3") + "::OnEvent";
stopnpctimer;
end;
OnStop:
stopnpctimer;
disablenpc instance_npcname("eq#mir3");
end;
}
1@mir,103,80,3 script Fenrir#boss1a 4_F_FENRIR,2,2,{
end;
OnEvent:
'fenrir_name$ = instance_npcname( strnpcinfo(0) );
'iris_name$ = instance_npcname( "Iris#" + strnpcinfo(2) );
enablenpc 'fenrir_name$;
enablenpc 'iris_name$;
end;
OnTouchNPC:
if ('touch_mob == 0) {
npctalk "Fenrir: Good work! Now it's on you, Iris!", 'fenrir_name$;
'touch_mob = 1;
initnpctimer;
}
end;
OnTimer2000:
npctalk "Iris: Alright, let me do it! What I, Iris, want is...!", 'iris_name$;
specialeffect EF_BEGINSPELL,AREA, 'iris_name$;
end;
OnTimer4000:
npctalk "Iris: Mabi Amulet! Go!!", 'iris_name$;
if ('target_event == 1)
unittalk 'boss_id, "Aaarrgghhh---!!";
else
unittalk 'boss_id, "Bijou: What the...!!";
end;
OnTimer5000:
npctalk "Iris: It worked!", 'iris_name$;
end;
OnTimer7000:
npctalk "Fenrir: So this is my turn, then. ~Spirited yell~", 'fenrir_name$;
specialeffect EF_BEGINSPELL,AREA, 'fenrir_name$;
specialeffect EF_TETRACASTING,AREA, 'fenrir_name$;
progressbar_npc "000000",3;
end;
OnTimer10000:
npctalk "Fenrir: Take this!!", 'fenrir_name$;
specialeffect EF_SUI_EXPLOSION,AREA, 'fenrir_name$;
specialeffect EF_LORD,AREA, 'fenrir_name$;
specialeffect EF_FLAMELAUNCHER,AREA, 'fenrir_name$;
if ('target_event == 1)
unittalk 'boss_id, "~Screams~";
else
unittalk 'boss_id, "Bijou: ~Groans~ More hurting than I thought...!";
getunitdata 'boss_id, .@data;
if (.@data[UMOB_HP] > 0) {
.@damage = rand(700,1300) * 1000;
if (.@damage >= .@data[UMOB_HP])
.@mob_hp = 0;
else
.@mob_hp = .@data[UMOB_HP] - .@damage;
setunitdata 'boss_id, UMOB_HP, .@mob_hp;
}
end;
OnTimer13000:
npctalk "Fenrir: It's not perfect but I think we've caused a pretty significant amount of damage!", 'fenrir_name$;
end;
OnTimer14500:
npctalk "Fenrir: I've consumed magic too much. I'll take a short break. I'm counting on you, then!", 'fenrir_name$;
end;
OnTimer16500:
donpcevent instance_npcname("eq#mir3") + "::OnStart";
OnStop:
stopnpctimer;
disablenpc instance_npcname( strnpcinfo(0) );
disablenpc instance_npcname( "Iris#" + strnpcinfo(2) );
'touch_mob = 0;
'random_letter$ = "";
end;
}
1@mir,100,90,7 script Iris#4mir 4_F_IRIS,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
mes "[Iris]";
mes "Was that it...? Has it gone now?";
mes "So what's left now is...";
next;
enablenpc instance_npcname("Bijou#4mir");
cutin "bijou_01",2;
mes "[Bijou]";
mes "Me...I'm the only one left...";
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "What?!";
next;
mes "~POW!~";
specialeffect EF_SUI_EXPLOSION,AREA, instance_npcname("Iris#4mir");
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "Aaarrghhh---!!!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "I must say it was rather unexpected. ~Chuckles~";
mes "I didn't expect anyone to defeat Amdarais that I spent three good years to complete.";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "You will pay";
mes "for ruining my three-year efforts!!";
mes "Slowly...";
mes "And horribly painfully...!!";
close2;
cutin "",255;
donpcevent instance_npcname("eq#mir4") + "::OnEvent";
end;
}
1@mir,101,104,0 script eq#mir4 HIDDEN_WARP_NPC,{
end;
OnEvent:
enablenpc instance_npcname("eq#mir4");
disablenpc instance_npcname("Fenrir#4mir");
disablenpc instance_npcname("Iris#4mir");
disablenpc instance_npcname("Bijou#4mir");
monster 'map_name$,102,95,"Bijou",3450,1, instance_npcname("eq#mir4") + "::OnMobDead";// BIJOU
'boss_id = $@mobid[0];
initnpctimer;
end;
OnTimer1000:
getunitdata 'boss_id, .@data;
if (.@data[UMOB_HP] == .@data[UMOB_MAXHP]) {
initnpctimer;
end;
}
killmonster 'map_name$, instance_npcname("eq#mir4") + "::OnMobDead";
stopnpctimer;
enablenpc instance_npcname("Fenrir#5mir");
enablenpc instance_npcname("Iris#5mir");
enablenpc instance_npcname("Bijou#5mir");
disablenpc instance_npcname("eq#mir4");
end;
OnMobDead:
// shouldn't happen
end;
}
1@mir,103,90,1 script Fenrir#5mir 4_F_FENRIR,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
mes "[Fenrir]";
mes "~Groans~ I can't believe nothing seems to work!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "~Chuckles~";
mes "I'll let you taste what despair feels like.";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "Frost Diver!";
specialeffect EF_LOCKON,AREA, instance_npcname("Fenrir#5mir");
sleep2 3000;
specialeffect EF_FREEZE,AREA, instance_npcname("Fenrir#5mir");
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "~Groans~";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "How does it feel? Painful, eh?";
mes "You must become paralyzed by now.";
mes "...But don't expect me to kill you that easily...";
next;
mes "[Bijou]";
mes "I should take care of this downright annoying cleric gal first.";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "I...Iris!!";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "......";
enablenpc instance_npcname("Sarah#5mir");
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "Sarah...?";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "So this is it...";
mes "This is the underground of Prontera Castle.";
mes "The place where the first Ymir's Heart is sealed.";
next;
mes "[Sarah]";
mes "And that must be...";
mes "Ymir's Heart...";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "What brought you all the way up here?";
mes "Sarah Irine.";
mes "I didn't expect you would show up here.";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "What do you think you're doing here, Bijou?";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "Yes, I was in the middle of taking care of the annoying bugs.";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "What kind of answer is that, Bijou?";
next;
mes "[Sarah]";
mes "My question was: what are you still doing here, totally goofing off, and, why didn't you break any sealing off of Ymir's Heart?";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "Well, that's uh...I did break the 1st seal, though.";
mes "This place will be cleaned up in no time. There is nothing for you to worry about, Sarah.";
next;
mes "[Bijou]";
mes "Trust me and consider it done. Please be yourself as proud Valkyrie.";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "(~Scoffs~ What an uptight, pathetic Valkyrie she is! I can't believe a greenhorn like you are treated the same as Himelmez. That is so unfair.)";
next;
cutin "sarah_hero3_2",2;
mes "[Sarah]";
mes "You must be out of your mind, Bijou...There is no Himelmez here.";
next;
cutin "bijou_03",2;
mes "[Bijou]";
mes "....~Gasps~";
mes "I'm out of breath!";
next;
cutin "sarah_hero3_2",2;
mes "[Sarah]";
mes "You'd better keep your mouth shut!";
next;
cutin "bijou_03",2;
mes "[Bijou]";
mes "~Coughs~";
mes "~Keeps coughing~";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "I can certainly do without a subordinate who wastes time for this kind of petty job.";
mes "Let me take that Ymir's Heart...myself.";
disablenpc instance_npcname("Sarah#5mir");
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "(She is Valkyrie, indeed. Oh, what can you do about that?)";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "The time is right!";
mes "Frost Diver!";
specialeffect EF_FREEZE,AREA, instance_npcname("Bijou#5mir");
next;
cutin "bijou_03",2;
mes "[Bijou]";
mes "What did you say?!";
next;
mes "[Bijou]";
mes "Whoa...That was a close; call.";
mes "How could this happen?";
next;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "This magic...";
mes "This must be high-level magic as I expected. It's pretty tough to cast it.";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "(What is this?! Did she just master the magic that I used on her?)";
next;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "Iris! This is a healing potion.";
mes "Drink it and you'll come to your senses.";
next;
sleep2 500;
specialeffect EF_POTION1,AREA, instance_npcname("Iris#5mir");
cutin "hero_iris_01",2;
mes "[Iris]";
mes "~Muffled sound~";
next;
sleep2 500;
specialeffect EF_POTION1,AREA, instance_npcname("Iris#5mir");
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "Oh, you woke up now?";
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "Umm....";
mes "~Vomiting sound~";
mes "Yuck! Is this bitter!";
mes "What the heck is this?!";
mes "What did you give to me?";
next;
cutin "fenrir_a",2;
mes "[Fenrir]";
mes "So you woke up, Iris.";
mes "I'm so relieved.";
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "~Sighs~ By the way, Fenrir!";
mes "What about Ymir's Heart?";
next;
cutin "bijou_02",2;
mes "[Bijou]";
mes "(...Fenrir? I thought too much about Ymir's Heart and totally forgot about her. If my guess is right, she must be...!)";
next;
mes "[Bijou]";
mes "~Exhales~ I see. That's right.";
mes "That beast's blood flowing through your body...That was the answer!";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "Then, let me serve you the right way! ~Chuckles~";
mes "I didn't expect to see the hero from a thousand years ago!";
next;
cutin "bijou_03",2;
mes "[Bijou]";
mes "Die!!";
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "...Be careful. She's about to attack!";
close2;
cutin "",255;
donpcevent instance_npcname("eq#mir5") + "::OnEvent";
end;
}
1@mir,101,104,0 script eq#mir5 HIDDEN_WARP_NPC,{
end;
OnEvent:
enablenpc instance_npcname("eq#mir3");
enablenpc instance_npcname("eq#mir5");
disablenpc instance_npcname("Bijou#5mir");
disablenpc instance_npcname("Fenrir#5mir");
disablenpc instance_npcname("Iris#5mir");
monster 'map_name$,102,95,"Bijou",3450,1, instance_npcname("eq#mir5") + "::OnMobDead";// BIJOU
'boss_id = $@mobid[0];
'target_event = 2;
initnpctimer;
end;
OnTimer1000:
getunitdata 'boss_id, .@data;
if (.@data[UMOB_HP] == .@data[UMOB_MAXHP]) {
initnpctimer;
end;
}
end;
OnTimer3000:
mapannounce 'map_name$, "Iris: Let's fight together and we will win again!", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer5000:
mapannounce 'map_name$, "Fenrir: I think so, too. This time, too, I'd like to ask you to lure it to where I am.", bc_map,0xFFFF00,FW_NORMAL,12;
end;
OnTimer7000:
mapannounce 'map_name$, "Bijou: ......", bc_map,0xFFFF00,FW_NORMAL,12;
donpcevent instance_npcname("eq#mir3") + "::OnEvent2";
donpcevent instance_npcname("eq#mir6") + "::OnTalk";
stopnpctimer;
end;
OnMobDead:
stopnpctimer;
donpcevent instance_npcname("eq#mir3") + "::OnStop";
donpcevent instance_npcname("eq#mir6") + "::OnStop";
if ('random_letter$ != "")
donpcevent instance_npcname( "Fenrir#boss2" + 'random_letter$ ) + "::OnStop";
disablenpc instance_npcname("eq#mir5");
enablenpc instance_npcname("Fenrir#6mir");
enablenpc instance_npcname("Iris#6mir");
enablenpc instance_npcname("Bijou#6mir");
end;
}
1@mir,101,104,0 script eq#mir6 HIDDEN_WARP_NPC,{
end;
OnTalk:
enablenpc instance_npcname("eq#mir6");
initnpctimer;
end;
OnTimer20000:
.@r = rand(3);
if (.@r == 0)
unittalk 'boss_id, "Bijou: To Lord Himelmez!";
else if (.@r == 1)
unittalk 'boss_id, "Bijou: Heh...You're still alive!";
else
unittalk 'boss_id, "Bijou: ~Chuckles~ Are you feeling the pain?";
initnpctimer;
end;
OnStop:
stopnpctimer;
}
1@mir,100,95,5 script Iris#6mir 4_F_IRIS,{
if (getpartyleader(getcharid(1),2) != getcharid(0)) // it shouldn't happen
end;
mes "[Iris]";
mes "~Grunts~";
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "~Evil laughter~ Die!";
mes "Clerics deserve to die!";
specialeffect EF_TETRACASTING,AREA, instance_npcname("Iris#6mir");
next;
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "Iris!!";
mes "No! Stop!!";
specialeffect EF_TETRACASTING,AREA, instance_npcname("Iris#6mir");
next;
cutin "bijou_01",2;
mes "[Bijou]";
mes "~Chuckles~";
mes "So you're looking for a partner, eh?";
mes "Good idea, but...I think it's too late.";
specialeffect EF_TETRACASTING,AREA, instance_npcname("Iris#6mir");
next;
mes "[Bijou]";
mes "Because...";
mes "This will be the final, fatal blow to you. Wahahaha!";
specialeffect EF_TETRACASTING,AREA, instance_npcname("Iris#6mir");
next;
sleep2 300;
enablenpc instance_npcname("Sarah#6mir");
cutin "bijou_03",2;
mes "[Bijou]";
mes "....~Sighs~";
mes "Huh?...In my stomach...";
mes "This knife...";
mes "Sa...Sarah...? How?";
specialeffect EF_HFLIMOON1,AREA, instance_npcname("Bijou#6mir");
next;
cutin "bijou_death",4;
mes "[Sarah]";
mes "Is that all you want to say?";
mes "Don't worry. I'll let Himelmez know of your brave contribution. Don't blame me, Bijou.";
next;
mes "[Bijou]";
mes "Why...? Tell me why!";
mes "...That...that little chick...Was that it? Because she's your sister? Was that it? Tell me, Sarah!";
next;
mes "[Bijou]";
mes "~Groans~";
specialeffect EF_HFLIMOON1,AREA, instance_npcname("Bijou#6mir");
disablenpc instance_npcname("Bijou#6mir");
next;
mes "[Sarah]";
mes "......";
mes "Your soul has been set free, Bijou.";
next;
cutin "hero_iris_01",2;
mes "[Iris]";
mes "(Did she save me...?)";
next;
mes "[Iris]";
mes "Sarah...";
mes "It's Sarah, right?";
mes "People say we parted when we were little...";
next;
mes "[Iris]";
mes "...So what's your plan, huh? Why...why did you save me?!";
mes "Don't you ever think this will ever change my belief! I will never, ever forgive you!";
next;
mes "[Iris]";
mes "Mom...Dad...Every people in our town. I'm going to revenge!";
next;
cutin "sarah_hero3",2;
mes "[Sarah]";
mes "Shut that mouth!";
mes "Don't be a drama queen as if you're the only victim here.";
mes "They just paid the price for what they sinned. The sin that they committed by killing my mother 12 years ago.";
next;
mes "[Sarah]";
mes "Do you want me to tell you the truth? Those 'loved ones' you're incessantly talking about...Our great elder and the people in our town were actually...";
next;
mes "[Sarah]";
mes "......";
mes "Stop it...";
mes "Ymir's Heart comes first, no matter what.";
next;
mes "[Sarah]";
mes "Mark my word.";
mes "I didn't let you live.";
mes "I will let you die soon.";
mes "I make sure you no longer see the light of day the next time when we meet.";
next;
mes "[Sarah]";
mes "Don't you ever let anyone kill you until then, Iris.";
mes "I'd better bid farewell for today, then.";
disablenpc instance_npcname("Sarah#6mir");
next;
specialeffect EF_SCREEN_QUAKE,AREA, instance_npcname("Iris#6mir");
cutin "fenrir_b",2;
mes "[Fenrir]";
mes "~Grunts~ That Valkyrie destroyed the ceiling when taking Ymir's Heart!";
next;
mes "[Fenrir]";
mes "We'd better get out of here, too! This place is too dangerous!";
close2;
if (banquet_main_quest == 21) {
erasequest 7700;// Once More!
setquest 7701;// Lost Imir Heart
banquet_main_quest = 22;
}
warp "prt_lib_q",88,83;
end;
}
1@mir,100,40,5 script Iris#1mir 4_F_IRIS,{ end; }
1@mir,103,94,1 duplicate(Iris#1mir) Fenrir#2mir 4_F_FENRIR
1@mir,102,98,3 duplicate(Iris#1mir) Bijou#2mir 4_F_BIJOU
1@mir,100,85,7 duplicate(Iris#1mir) Fenrir#3mir 4_F_FENRIR
1@mir,102,88,3 duplicate(Iris#1mir) Bijou#3mir 4_F_BIJOU
1@mir,101,95,1 duplicate(Iris#1mir) Renovated Amdarais#3mir 3448
1@mir,94,73,3 duplicate(Fenrir#boss1a) Fenrir#boss1b 4_F_FENRIR,2,2
1@mir,112,73,3 duplicate(Fenrir#boss1a) Fenrir#boss1c 4_F_FENRIR,2,2
1@mir,103,60,3 duplicate(Fenrir#boss1a) Fenrir#boss1d 4_F_FENRIR,2,2
1@mir,100,80,5 duplicate(Iris#1mir) Iris#boss1a 4_F_IRIS
1@mir,91,73,5 duplicate(Iris#1mir) Iris#boss1b 4_F_IRIS
1@mir,109,73,5 duplicate(Iris#1mir) Iris#boss1c 4_F_IRIS
1@mir,100,60,5 duplicate(Iris#1mir) Iris#boss1d 4_F_IRIS
1@mir,103,76,3 duplicate(Fenrir#boss1a) Fenrir#boss2a 4_F_FENRIR,2,2
1@mir,94,70,3 duplicate(Fenrir#boss1a) Fenrir#boss2b 4_F_FENRIR,2,2
1@mir,112,70,3 duplicate(Fenrir#boss1a) Fenrir#boss2c 4_F_FENRIR,2,2
1@mir,103,63,3 duplicate(Fenrir#boss1a) Fenrir#boss2d 4_F_FENRIR,2,2
1@mir,100,76,5 duplicate(Iris#1mir) Iris#boss2a 4_F_IRIS
1@mir,91,70,5 duplicate(Iris#1mir) Iris#boss2b 4_F_IRIS
1@mir,109,70,5 duplicate(Iris#1mir) Iris#boss2c 4_F_IRIS
1@mir,100,63,5 duplicate(Iris#1mir) Iris#boss2d 4_F_IRIS
1@mir,102,95,3 duplicate(Iris#1mir) Bijou#4mir 4_F_BIJOU
1@mir,103,90,1 duplicate(Iris#1mir) Fenrir#4mir 4_F_FENRIR
1@mir,102,95,3 duplicate(Iris#1mir) Bijou#5mir 4_F_BIJOU
1@mir,99,95,5 duplicate(Iris#1mir) Sarah#5mir 4_F_SARAH
1@mir,100,90,7 duplicate(Iris#1mir) Iris#5mir 4_F_IRIS
1@mir,102,95,3 duplicate(Iris#1mir) Bijou#6mir 4_F_BIJOU
1@mir,104,95,3 duplicate(Iris#1mir) Sarah#6mir 4_F_SARAH
1@mir,103,90,1 duplicate(Iris#1mir) Fenrir#6mir 4_F_FENRIR

View File

@ -248,25 +248,25 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
mes "If you wish to enchant, you must equip Sarah's " + .@sarah_earring$ + " earring.";
close;
}
setarray .@card[0], getequipcardid(.@part,3), getequipcardid(.@part,2);
if (.@card[1] > 0) {// 2 enchants
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@card[2] > 0) {// 2 enchants
mes "[Chief Assistant]";
mes "A fully enchanted earring of Sarah cannot be enchanted any further.";
close;
}
if (.@card[0] < 1) {// none enchant
mes "[Chief Assistant]";
mes "Sarah's Earring is currently in a state without enchantment.";
.@slot = 0;
}
else {// 1 enchant
if (.@card[3] > 0) {// 1 enchant
mes "[Chief Assistant]";
mes "Sarah's Earring is currently in a state of enchantment in slot 4.";
.@slot = 1;
.@slot = 3;
}
else {// none enchant
mes "[Chief Assistant]";
mes "Sarah's Earring is currently in a state without enchantment.";
.@slot = 4;
}
next;
mes "[Chief Assistant]";
mes "Which ability do you want as an enchantment on slot " + (4-.@slot) + "?";
mes "Which ability do you want as an enchantment on slot " + .@slot + "?";
next;
switch( select( "CRI or Critical", "Expert archer or Bleed", "Conservation or MATK", "Delay Attack or Delay Skill" ) ) {
case 1:
@ -278,7 +278,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
4941, // Critical4
4865; // Fatal3
mes "[Chief Assistant]";
mes "Selected for CRI or Critical Enchantment slot " + (4-.@slot) + ".";
mes "Selected for CRI or Critical Enchantment slot " + .@slot + ".";
break;
case 2:
setarray .@bonus[0],
@ -289,7 +289,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
4944, // Dodge3
4834; // Expert_Archer3
mes "[Chief Assistant]";
mes "Selected for Expert Archer or Bleed Enchantment slot " + (4-.@slot) + ".";
mes "Selected for Expert Archer or Bleed Enchantment slot " + .@slot + ".";
break;
case 3:
setarray .@bonus[0],
@ -300,7 +300,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
4947, // Thrift3
4899; // Matk5p
mes "[Chief Assistant]";
mes "Selected for Conservation or MATK Enchantment slot " + (4-.@slot) + ".";
mes "Selected for Conservation or MATK Enchantment slot " + .@slot + ".";
break;
case 4:
setarray .@bonus[0],
@ -311,7 +311,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
4950, // Skill_Delay3
4873; // Attack_Delay_3
mes "[Chief Assistant]";
mes "Selected for Delay Attack or Delay Skill Enchantment slot " + (4-.@slot) + ".";
mes "Selected for Delay Attack or Delay Skill Enchantment slot " + .@slot + ".";
break;
}
next;
@ -344,6 +344,11 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
specialeffect2 EF_MAGICALATTHIT;
specialeffect2 EF_POTION2;
delitem 6803,4;// Shard of Gigantes
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
close;
delequip .@part;
.@r = rand(100);
for ( .@i = 0; .@i < .@bonus_size && (.@bonus_chance * (.@i+1)) < .@r; .@i++ );
@ -357,9 +362,9 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
mes "enchantment is not an easy task..";
close;
}
.@card[.@slot] = .@bonus[.@i];
.@card[.@slot-1] = .@bonus[.@i];
specialeffect2 EF_ANGEL2;
getitem2 .@sarah_item_id,1,1,0,0,0,0,.@card[1],.@card[0];
getitem2 .@sarah_item_id,1,1,0,0,.@card[0],.@card[1],.@card[2],.@card[3];
mes "[Chief Assistant]";
mes "Enchantment completed!";
close;
@ -403,6 +408,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
.@column$ = "right";
}
.@equip_id = getequipid(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@equip_id == -1) {
mes "[Chief Assistant]";
mes "To initialize an enchantment, the relevant column must be equipped with gear.";
@ -432,6 +438,11 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
specialeffect2 EF_POTION2;
specialeffect2 EF_ANGEL2;
delitem 6803,1;// Shard of Gigantes
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
close;
delequip .@part;
getitem .@sarah_item_id,1;
mes "[Chief Assistant]";

View File

@ -0,0 +1,65 @@
//===== rAthena Script =======================================
//= Crusader Job Quest
//===== Description: =========================================
//= [Official Conversion]
//= Job quest for Crusader classes
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
// Senior Crusader: 1st Collect Items Test
//============================================================
prt_cas,251,75,1 duplicate(Senior Crusader_) Senior Crusader 4_M_CRU_OLD
// Suffering Man: 2nd Endurance Test
//============================================================
prt_cas,238,94,5 duplicate(Man in Anguish_) Man in Anguish 4_M_JOB_KNIGHT1
// Crusader: 4th Purification Test
//============================================================
prt_cas,261,101,3 duplicate(Patron Knight_) Patron Knight 4_M_CRU
// Actual tests
//============================================================
//----------------------------------------------------------------------------
// Endurance Test
//----------------------------------------------------------------------------
job_cru,98,105,4 script Summoner#cr5 WARPNPC,3,3,{
end;
OnTouch_:
set CRUS_Q,6;
changequest 3010,3011;
warp "prt_cas",238,94; // inaccurate location
end;
}
//----------------------------------------------------------------------------
// Purification Test
//----------------------------------------------------------------------------
job_cru,168,180,4 script Monster Summon#cr5 WARPNPC,3,3,{
end;
OnInit:
disablenpc "Monster Summon#cr5";
end;
OnTouch_:
warp "prt_cas",238,94; // inaccurate location
donpcevent "Monster Summon#cr0::OnReset";
donpcevent "Monster Summon#cr4::OnReset";
donpcevent "Monster Summon#cr0::OnEnd";
donpcevent "Monster Summon#cr4::OnEnd";
donpcevent "Monster Summon#cr5::OnEnd";
donpcevent "Monster Summon#cr6::OnStop";
donpcevent "Monster Summon#cr6::OnEnd";
donpcevent "Waiting Room#cr1::OnStart";
end;
OnStart:
enablenpc "Monster Summon#cr5";
end;
OnEnd:
disablenpc "Monster Summon#cr5";
end;
}

View File

@ -2091,6 +2091,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
close;
} else {
set .@equip_id, getequipid(.@part);
set .@equip_refine, getequiprefinerycnt(.@part);
if (.@equip_id == 13074 || .@equip_id == 13312) {
mes "[Red Leopard Joe]";
mes "Is that weapon yours? Let me have a look.";
@ -2106,7 +2107,6 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
}
mes "Joe took a thorough look at the seal.";
next;
set .@equip_refine, getequiprefinerycnt(.@part);
if (.@equip_refine < 7) {
mes "[Red Leopard Joe]";
mes "Are you that low?";
@ -2150,6 +2150,11 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
mes "I can feel it.";
mes "I will take this weapon to give it some finishing touches.";
next;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;
erasequest 5145;
completequest 5138;
@ -2158,9 +2163,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
mes "[Red Leopard Joe]";
mes "'" + strcharinfo(0) + "'";
mes "Passed the weapon test!!";
close2;
enable_items;
end;
close;
} else if (.@ko_test_03_1 == 2 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 2 || .@ko_test_03_4 == 2) && .@ko_test_03_5 == 0) {
mes "[Red Leopard Joe]";
mes "Oh, I almost forgot.";
@ -2429,6 +2432,8 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
close;
} else {
set .@equip_id, getequipid(.@part);
set .@equip_refine, getequiprefinerycnt(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@equip_id == 13074 || .@equip_id == 13312) {
mes "Analyzing the weapon.";
next;
@ -2449,7 +2454,6 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
mes "That weapon cannot be refined. Where did you get it?"; //custom translation
close;
}
set .@equip_refine, getequiprefinerycnt(.@part);
if (.@equip_refine >= 20) {
mes "Bzzzt";
mes "A warning beep comes from the tool.";
@ -2486,6 +2490,11 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
} else { // 10>20 2%
if (.@rand < 3) set .@wlevel_up,1;
}
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
if (.@wlevel_up) {
successrefitem .@part;
mes "Succeeded in refining.";

View File

@ -14,9 +14,11 @@
//= 1.1 Updated script. [Euphy]
//= 1.2 Added GM management function. [Euphy]
//= 1.3 Added VIP features. [Euphy]
//= 2.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{
// prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{
prt_cas,172,275,5 script Middle-aged Gentleman#rg 1_M_LIBRARYMASTER,{
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
mes "- Your pack is too heavy. -";
mes "- Lighten your body first -";

View File

@ -7427,7 +7427,7 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
end;
}
mes "[Lusa]";
if (.@has_manual == 1) {
if (isequippedcnt(2941) || countitem(2941)) {
mes "Hey! What kind of con is this?! You already had a manual!";
} else {
getitem 2941,1;// Gunslinger_Manual
@ -8227,9 +8227,8 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
mes "[Sharp Snake's Fang]";
mes "Yesssssss? I wass sssent by the academy.";
close;
} else if (nov_3_guns > 7) {
disable_items;
}
disable_items;
mes "[Sharp Snake's Fang]";
mes "I am ^A2563ESharp Snake's Fang^000000 from the Gunslinger Guild. What do you need?";
next;
@ -8239,9 +8238,7 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
next;
mes "[Sharp Snake's Fang]";
mes "You don't need to worry, he said you're doing great!";
close2;
enable_items;
end;
close;
}
mes "[Sharp Snake's Fang]";
mes "Do you wish to exchange your guild issued weapon?";
@ -8249,125 +8246,66 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
mes "[Sharp Snake's Fang]";
mes "Let's first check your gun's condition.";
next;
if (getequipname(EQI_HAND_R) == "") {
.@gun = getequipid(EQI_HAND_R);
.@equip_refine = getequiprefinerycnt(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@gun == -1) {
mes "[Sharp Snake's Fang]";
mes "If you want to proceed, you need to have your weapon equipped.";
close2;
enable_items;
end;
} else {
.@gun = getequipid(EQI_HAND_R);
close;
}
mes "[Sharp Snake's Fang]";
mes "Let's see...";
next;
mes "[Sharp Snake's Fang]";
if (.@gun == 13116) {// Novice_Revolver
.@gun_code$ = "RV";
.@now_gun$ = "Revolver";
mes "[Sharp Snake's Fang]";
mes "You want to exchange your Guild issued Revolver?";
next;
} else if (.@gun == 13180) {// Novice_Rifle
.@gun_code$ = "RF";
.@now_gun$ = "Rifle";
mes "[Sharp Snake's Fang]";
mes "You want to exchange your Guild issued Rifle?";
next;
} else if (.@gun == 13181) {// Novice_Shotgun
.@gun_code$ = "SG";
.@now_gun$ = "Shotgun";
mes "[Sharp Snake's Fang]";
mes "You want to exchange your Guild issued Shotgun?";
next;
} else if (.@gun == 13182) {// Novice_Gatling
.@gun_code$ = "GT";
.@now_gun$ = "Gatling";
mes "[Sharp Snake's Fang]";
mes "You want to exchange your Guild issued Gatling Gun?";
next;
} else if (.@gun == 13183) {// Novice_Grenade_Launcher
.@gun_code$ = "GL";
.@now_gun$ = "Grenade Launcher";
mes "[Sharp Snake's Fang]";
mes "You want to exchange your Guild issued Grenade Launcher?";
next;
} else {
mes "[Sharp Snake's Fang]";
mes "The gun you are using is was not provided by the guild.";
close;
}
next;
mes "[Sharp Snake's Fang]";
mes "The gun looks to be in good condition.";
next;
mes "[Sharp Snake's Fang]";
mes "Please select the novice weapon you wish to exchange for your "+.@now_gun$+"!";
next;
switch(select("Exchange for Revolver", "Exchange for Rifle", "Exchange for Shotgun", "Exchange for Gatling Gun", "Exchange for Grenade Launcher", "Cancel")) {
case 1:
if (.@gun == 13116) {
setarray .@selection_item_id[0], 13116, 13180, 13181, 13182, 13183;
.@s = select("Exchange for Revolver", "Exchange for Rifle", "Exchange for Shotgun", "Exchange for Gatling Gun", "Exchange for Grenade Launcher", "Cancel") - 1;
if (.@s != 5) {
if (.@gun == .@selection_item_id[.@s]) {
mes "[Sharp Snake's Fang]";
mes "You already have that gun, just use it!";
close2;
enable_items;
end;
} else {
delequip EQI_HAND_R;
getitem 13116,1;// Novice_Revolver
close;
}
break;
case 2:
if (.@gun == 13180) {
mes "[Sharp Snake's Fang]";
mes "You already have that gun, just use it!";
close2;
enable_items;
end;
} else {
delequip EQI_HAND_R;
getitem 13180,1;// Novice_Rifle
}
break;
case 3:
if (.@gun == 13181) {
mes "[Sharp Snake's Fang]";
mes "You already have that gun, just use it!";
close2;
enable_items;
end;
} else {
delequip EQI_HAND_R;
getitem 13181,1;// Novice_Shotgun
}
break;
case 4:
if (.@gun == 13182) {
mes "[Sharp Snake's Fang]";
mes "You already have that gun, just use it!";
close2;
enable_items;
end;
} else {
delequip EQI_HAND_R;
getitem 13182,1;// Novice_Gatling
}
break;
case 5:
if (.@gun == 13183) {
mes "[Sharp Snake's Fang]";
mes "You already have that gun, just use it!";
close2;
enable_items;
end;
} else {
delequip EQI_HAND_R;
getitem 13183,1;// Novice_Grenade_Launcher
}
break;
case 6:
break;
// anti-hack
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@gun) || callfunc("F_IsEquipCardHack", EQI_HAND_R, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine))
close;
delequip EQI_HAND_R;
getitem .@selection_item_id[.@s],1;
}
mes "[Sharp Snake's Fang]";
mes "Gun control management number ^FF0000"+.@gun_code$+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+"^000000.";
mes "Gun control management number ^FF0000"+.@gun_code$+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+"^000000.";
next;
mes "[Sharp Snake's Fang]";
mes "Are there any issues?";
@ -8375,9 +8313,7 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
select("No issues.");
mes "[Sharp Snake's Fang]";
mes "Cherish your gun!";
close2;
enable_items;
end;
close;
}
iz_ac02_a,162,86,4 duplicate(Guild Staff#ac) Guild Staff#ac_a 4W_M_02
@ -12036,7 +11972,12 @@ OnReset:
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(4)+"", "#"+strnpcinfo(2)+"::OnMyMobDead");
if (.@dead_num < 1)
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
initnpctimer;
end;
OnTimer5000: // custom timer (there is officially no respawn delay)
stopnpctimer;
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
end;
OnSpawn:
@ -12069,7 +12010,12 @@ OnReset:
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(4)+"", "#"+strnpcinfo(2)+"::OnMyMobDead");
if (.@dead_num < 1)
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
initnpctimer;
end;
OnTimer5000: // custom timer (there is officially no respawn delay)
stopnpctimer;
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
end;
OnSpawn:
@ -12102,7 +12048,12 @@ OnReset:
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(4)+"", "#"+strnpcinfo(2)+"::OnMyMobDead");
if (.@dead_num < 1)
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
initnpctimer;
end;
OnTimer5000: // custom timer (there is officially no respawn delay)
stopnpctimer;
donpcevent "#"+strnpcinfo(2)+"::OnSpawn";
end;
OnSpawn:
@ -12887,9 +12838,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
mes "[Refining Machine Wagjak]";
mes "^ff0000- Error number 000"+.@part+" -^000000";
mes "Item is not equipped.";
close2;
enable_items;
end;
close;
}
mes "[Refining Machine Wagjak]";
mes "Searching for the equipment information - completed.";
@ -12898,9 +12847,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
mes "[Refining Machine Wagjak]";
mes "^FF0000- error number 4444 -^000000";
mes "This item cannot be refined.";
close2;
enable_items;
end;
close;
}
// if (!getequipisidentify(.@part)) {// getequipisidentify command removed
// mes "[Refining Machine Wagjak]";
@ -12910,13 +12857,15 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
// enable_items;
// end;
// }
if (getequiprefinerycnt(.@part) >= 10) {
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@refinerycnt >= 10) {
mes "[Refining Machine Wagjak]";
mes "^FF0000- error number 1010 -^000000";
mes "At the current version, you can do refining up to level 10.";
close2;
enable_items;
end;
close;
}
if (isbegin_quest(5153) == 1) {
if (getequipweaponlv(.@part) == 1) {
@ -12928,9 +12877,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
if (select("Refine.", "Don't Refine.") == 2) {
mes "[Refining Machine Wagjak]";
mes "Cancel the refining.";
close2;
enable_items;
end;
close;
}
if (getequippercentrefinery(.@part) < 100) {
mes "[Refining Machine Wagjak]";
@ -12941,19 +12888,18 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
if (select("Refine.", "Don't Refine.") == 2) {
mes "[Refining Machine Wagjak]";
mes "Refining has been cancelled as per the user's request.";
close2;
enable_items;
end;
close;
}
}
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt))
close;
if (getequippercentrefinery(.@part) <= rand(100)) {
failedrefitem .@part;
mes "[Refining Machine Wagjak]";
mes "Result : Fail";
mes "refining failed. The equipment was destroyed.";
close2;
enable_items;
end;
close;
} else {
successrefitem .@part;
mes "[Refining Machine Wagjak]";
@ -12963,15 +12909,11 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
next;
mes "[Refining Machine Wagjak]";
mes "Service usage coupon was used.";
close2;
enable_items;
end;
close;
}
}
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
.@price = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_MATERIAL_ID);
@ -12988,9 +12930,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
if (select("Refine.", "Don't Refine.") == 2) {
mes "[Refining Machine Wagjak]";
mes "Refining has been cancelled as per the user's request.";
close2;
enable_items;
end;
close;
}
if (getequippercentrefinery(.@part) < 100) {
mes "[Refining Machine Wagjak]";
@ -13001,9 +12941,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
if (select("Refine.", "Don't Refine.") == 2) {
mes "[Refining Machine Wagjak]";
mes "Refining has been cancelled as per the user's request.";
close2;
enable_items;
end;
close;
}
}
if (countitem(.@material) > 0 && Zeny >= .@price) {
@ -13011,8 +12949,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
Zeny -= .@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "[Refining Machine Wagjak]";
emotion ET_FRET;
mes "Wait a second...";
@ -13024,9 +12961,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
mes "[Refining Machine Wagjak]";
mes "^FF0000- error number 8282 -^000000";
mes "You are short of refining price.";
close2;
enable_items;
end;
close;
}
if (getequippercentrefinery(.@part) <= rand(100)) {
failedrefitem .@part;
@ -13039,9 +12974,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
mes "Result : Success";
mes "Congratulations!! You succeeded in refining.";
}
close2;
enable_items;
end;
close;
}
izlude,153,121,3 duplicate(izludeWagjak) Refining Machine Wagjak::iz 2_MONEMUS
@ -14043,9 +13976,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
next;
mes "[Almond J]";
mes "If you have anything to do with the enchant association, please consult with Mounds inside.";
close2;
enable_items;
end;
close;
} else if (.@in_tutorial == 4) {
.@part = EQI_ARMOR;
mes "[Almond J]";
@ -14075,25 +14006,21 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
if (select("Hidden enchant start!!", "Wait for a while.") == 2) {
mes "[Almond J]";
mes "Heh? Eh? Hik?! Come here quick.";
close2;
enable_items;
end;
close;
}
if (!getequipisequiped(.@part)) {
mes "[Almond J]";
mes "Please come back after you have equipped the Cotton Shirt.";
close2;
enable_items;
end;
close;
}
if (getequipid(EQI_ARMOR) == 2302) {
.@refineCount = getequiprefinerycnt(EQI_ARMOR);
.@equip_id = getequipid(.@part);
if (.@equip_id == 2302) {
.@refineCount = getequiprefinerycnt(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
} else {
mes "[Almond J]";
mes "Hing, it is not a normal Cotton Shirt.";
close2;
enable_items;
end;
close;
}
mes "[Almond J]";
mes "Now!! Start the first hidden enchant!! Start!!!!!";
@ -14101,8 +14028,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
specialeffect2 EF_REPAIRWEAPON;
progressbar "ffff00", 2;
completequest 5159;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refineCount))
close;
delequip .@part;
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1);
getitem2 2302,1,1,.@refineCount,0,.@equip_card[0],.@equip_card[1],4800,4795;// Cotton_Shirt_ ; SP50 ; HP100
mes "[Almond J]";
mes "Zzazanzn!! Completed!!";
@ -14115,9 +14046,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
next;
mes "Gradually you are getting into your own world. You better go back to Mounds.";
close2;
enable_items;
end;
close;
} else if (.@in_tutorial == 5) {
mes "[Almond J]";
mes "How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?";
@ -14126,9 +14055,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
next;
mes "Gradually you are getting into your own world. You better go back to Mounds.";
close2;
enable_items;
end;
close;
} else if (.@in_tutorial == 6) {
mes "[Almond J]";
mes "Heh heh... how are you? I am doing a ^142CEBservice of free hidden enchant for the beginner's weapon to advertise the enchant association.^000000.";
@ -14136,9 +14063,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
} else {
mes "[Almond J]";
mes "Something strange must've happened. If this continues, please contact customer service.";
close2;
enable_items;
end;
close;
}
mes "[Almond J]";
mes "As you are still a beginner, you don't have a very, very, very functional jewelry, but soon you will have.";
@ -14159,16 +14084,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
mes "[Almond J]";
mes "^FD4F02For Novices-";
mes "Cutter, Mace, Rod, Axe, Etc.";
close2;
enable_items;
end;
close;
case 3:
mes "[Almond J]";
mes "Ye?!?!?!?!?!";
mes "Where are you going? You should do the hidden enchant before going.";
close2;
enable_items;
end;
close;
}
.@part = EQI_HAND_R;
@ -14176,13 +14097,11 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
if (!getequipisequiped(.@part)) {
mes "[Almond J]";
mes "Hehehe... hidden enchant makes me excited. But you should come back with your weapon armed.";
close2;
enable_items;
end;
close;
}
.@equip = getequipid(.@part);
.@equip_refine = getequiprefinerycnt(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1);
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
mes "[Almond J]";
switch(.@equip) {
@ -14191,9 +14110,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
next;
mes "[Almond J]";
mes "But this weapon might be strange to add a hidden enchant? Sorry.";
close2;
enable_items;
end;
close;
case 1381: // N_Battle_Axe
case 1545: // N_Mace
case 1639: // N_Rod
@ -14206,14 +14123,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
case 13182: // Novice_Gatling
case 13183: // Novice_Grenade_Launcher
case 13415: // N_Falchion
mes "It is!! The ^142ceb"+ getequipname(EQI_HAND_R) +"^000000.";
mes "It is!! The ^142ceb"+ getequipname(.@part) +"^000000.";
next;
break;
default:
mes "Ehee.. It is not a Novice Weapon. Leaving this expensive weapon to us and if broken... I'm not taking that chance.";
close2;
enable_items;
end;
close;
}
setarray .@enchantments[1],4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4766,4764,4786,4791,4795,4800,4811,4832,4818,4815;
.@enchant1 = rand(1,35);
@ -14234,14 +14149,17 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
next;
specialeffect2 EF_REPAIRWEAPON;
progressbar "ffff00", 3;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;
getitem2 .@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2;
mes "[Almond J]";
mes "Zzazanzn!! Completed!!";
mes "As I'm too excited, I can't check the options. Please check it yourself.";
close2;
enable_items;
end;
close;
}
izlude_a,108,139,7 duplicate(Enchanter Almond J#iz) Enchanter Almond J#iz_a 4_CAT_SAILOR3

View File

@ -12,6 +12,7 @@
//===== Additional Comments: =================================
//= 1.0 First version.
//= 1.1 Added GM management function. [Euphy]
//= 2.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
// Job Variables
@ -267,7 +268,7 @@ prt_in,88,108,4 duplicate(Valerie#sign) Valerie#knt 837
prt_church,19,36,4 duplicate(Valerie#sign) Valerie#prst 837
gef_tower,110,30,4 duplicate(Valerie#sign) Valerie#wiz 837
comodo,215,155,4 duplicate(Valerie#sign) Valerie#danc 837
prt_castle,45,167,4 duplicate(Valerie#sign) Valerie#cru 837
// prt_castle,45,167,4 duplicate(Valerie#sign) Valerie#cru 837
prt_monk,59,253,4 duplicate(Valerie#sign) Valerie#mnk 837
moc_ruins,90,104,4 duplicate(Valerie#sign) Valerie#rg 837
yuno_in02,43,62,4 duplicate(Valerie#sign) Valerie#sag 837

View File

@ -92,6 +92,10 @@ moro_cav mapflag nowarpto
1@eom mapflag nowarpto
1@jtb mapflag nowarpto
// Nightmare Biolab
lhz_dun_n mapflag nowarpto
lhz_d_n2 mapflag nowarpto
// Episode 15 - Phantasmagorica
1@lab mapflag nowarpto
1@uns mapflag nowarpto
@ -120,7 +124,10 @@ prt_cas_q mapflag nowarpto
prt_pri00 mapflag nowarpto
prt_lib mapflag nowarpto
prt_lib_q mapflag nowarpto
prt_q mapflag nowarpto
prt_prison mapflag nowarpto
rebel_in mapflag nowarpto
slabw01 mapflag nowarpto
que_swat mapflag nowarpto
1@mir mapflag nowarpto
2@mir mapflag nowarpto
@ -132,11 +139,15 @@ que_swat mapflag nowarpto
// Rockridge
har_in01 mapflag nowarpto
rockmi1 mapflag nowarpto
rockmi2 mapflag nowarpto
// Lasagna
lasa_in01 mapflag nowarpto
conch_in mapflag nowarpto
lasa_dun01 mapflag nowarpto
lasa_dun02 mapflag nowarpto
lasa_dun03 mapflag nowarpto
lasa_dun_q mapflag nowarpto
// Chicken Mode Nightmare Glastheim
@ -146,17 +157,40 @@ lasa_dun_q mapflag nowarpto
// Chicken Mode Horror Toy Factory
1@xm_d2 mapflag nowarpto
// Illusion Payon (Moonlight)
pay_d03_i mapflag nowarpto
// Illusion Geffen (Vampire)
gef_d01_i mapflag nowarpto
// Illusion Ice (Frozen)
ice_d03_i mapflag nowarpto
// Suspicious shipwreck
1@tre mapflag nowarpto
// Poring Town
1@begi mapflag nowarpto
// Illusion Turtle island (Archery)
tur_d03_i mapflag nowarpto
tur_d04_i mapflag nowarpto
// Volcanic island Korodo
1@crd mapflag nowarpto
// Noodles Festival July
1@drdo mapflag nowarpto
// Illusion Teddy Bear Nasarian Empire
ein_d02_i mapflag nowarpto
// Illusion Ruande
com_d02_i mapflag nowarpto
// Soul Reaper Job Change
1@soul mapflag nowarpto
// Star Emperor Job Change
star_frst mapflag nowarpto
star_in mapflag nowarpto

View File

@ -446,18 +446,23 @@ xmas,240,294,3 script Black Beard Joe#pa0829 4_M_05,{
mes "There is a problem, please come back again!";// custom
close;
}
if (.@card[3] == 0 && .@sc_type < 4)
.@card[3] = .@enchant;
if (.@card[3] == 0 && .@sc_type < 4)
.@index_slot = 3;
else if (.@card[2] == 0 && .@sc_type < 3)
.@card[2] = .@enchant;
.@index_slot = 2;
else if (.@card[1] == 0 && .@sc_type < 2)
.@card[1] = .@enchant;
.@index_slot = 1;
else {
mes "I don't know what this is, but I think this isn't thing I could handle.";// custom
close;
}
if (countitem(7642) > 14) {// Bloody_Coin
delitem 7642,15;// Bloody_Coin
// anti-hack
if (callfunc("F_IsEquipIDHack", .@eq_num, .@item_id) || callfunc("F_IsEquipCardHack", .@eq_num, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@eq_num, .@refine))
close;
delequip .@eq_num;
if (.@enchant == 0) {
mes "Ouch! Poor you, the enchantment has failed and your gear is broken, Geez!";
@ -465,6 +470,7 @@ xmas,240,294,3 script Black Beard Joe#pa0829 4_M_05,{
specialeffect2 EF_LORD;
end;
}
.@card[ .@index_slot ] = .@enchant;
getitem2 .@item_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
mes "Hmm.. It was successful. Take a look at it.";
specialeffect2 EF_REPAIRWEAPON;

View File

@ -89,9 +89,11 @@ glast_01,210,273,5 script Hugin's butler#pa0829 1_F_04,{
}
mes "[Hugin's Buttler]";
mes "The boots have been upgraded as you want.";
delequip EQI_SHOES;
delitem 6607,5;// Temporal_Crystal
getitem .@equip_type[.@s],1;
if (getequipid(EQI_SHOES) == 2499) {
delequip EQI_SHOES;
delitem 6607,5;// Temporal_Crystal
getitem .@equip_type[.@s],1;
}
close;
}
@ -164,16 +166,20 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
case 22111: // Modified_DEX_Boots
case 22112: // Modified_LUK_Boots
.@equip_name$ = getequipname(EQI_SHOES);
.@card2 = getequipcardid(EQI_SHOES,2);
.@card3 = getequipcardid(EQI_SHOES,3);
setarray .@card[0],
getequipcardid(EQI_SHOES,0),
getequipcardid(EQI_SHOES,1),
getequipcardid(EQI_SHOES,2),
getequipcardid(EQI_SHOES,3);
copyarray .@equip_card[0], .@card[0], 4; // for final check
.@equip_refine = getequiprefinerycnt(EQI_SHOES);
if (.@card2 > 0) {
if (.@card[2] > 0) {
mes "[Hugin's Magic master]";
mes "These boots have already passed the enchanting limit. We can't enchant them any more.";
close;
}
if (.@card3 == 0) {// 4th slot 1st try enchanting
if (.@card[3] == 0) {// 4th slot 1st try enchanting
.@cost = .@enchant_cost[0];
mes "[Hugin's Magic Master]";
mes "Want to enchant ^0000FF" + .@equip_name$ + "^000000?";
@ -185,12 +191,12 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
mes "Ok, come back when you are ready.";
close;
}
.@card3 = .@enchant_1[.@s];
.@card[3] = .@enchant_1[.@s];
.@string$ = "enchant number ^6300001^000000.";
}
else {
for ( .@enchant_num = 1; .@enchant_num < 5; .@enchant_num++ ) {
for ( .@enchant_type = 0; .@enchant_type < 6 && .@card3 != getd( ".@enchant_" + .@enchant_num + "[" + .@enchant_type + "]" ); .@enchant_type++ )
for ( .@enchant_type = 0; .@enchant_type < 6 && .@card[3] != getd( ".@enchant_" + .@enchant_num + "[" + .@enchant_type + "]" ); .@enchant_type++ )
continue;
if (.@enchant_type < 6)
break;
@ -204,13 +210,13 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
mes "[Hugin's Magic Master]";
if (.@enchant_num == 4) {
.@card2 = callfunc("F_Rand",4875,4876,4877,4878,4879,4880);// Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day
.@card[2] = callfunc("F_Rand",4875,4876,4877,4878,4879,4880);// Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day
.@string$ = "^990000Bonus effect ^000000 upgrade.";
mes "4th slot is already upgraded to the final option. Would you like a random bonus effect for the 3rd slot? You need ^0000ff" + .@cost + "^000000 Coagulated Spell items.";
}
else {
.@number = .@enchant_num + 1;
.@card3 = getd( ".@enchant_" + (.@enchant_num+1) + "[" + .@enchant_type + "]" );
.@card[3] = getd( ".@enchant_" + (.@enchant_num+1) + "[" + .@enchant_type + "]" );
.@string$ = "enchant number ^630000" + .@number + "^000000.";
mes "Enchanting ^0000FF" + .@equip_name$ + "^000000's 4th slot as ^0000FF" + .@number + "^000000 level effect. Requires ^0000FF" + .@cost + "^000000 Coagulated Spell items.";
}
@ -228,10 +234,15 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
}
specialeffect2 EF_REPAIRWEAPON;
delitem 6608,.@cost;// Coagulated_Spell
// anti-hack
if (callfunc("F_IsEquipIDHack", EQI_SHOES, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_SHOES, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", EQI_SHOES, .@equip_refine))
close;
delequip EQI_SHOES;
mes "[Hugin's Magic Master]";
mes "Trying for " + .@string$;
getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@card2,.@card3;
getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@card[2],.@card[3];
close;
default:
mes "[Hugin's Magic Master]";
@ -288,6 +299,7 @@ glast_01,210,270,0 script Hugin's Craftsman#pa0829 4_F_JOB_BLACKSMITH,{
}
S_Slot:
.@equip_id = getequipid(EQI_SHOES);
mes "[Hugin's Craftsman]";
mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000";
mes "Still want to risk it?";
@ -312,16 +324,18 @@ S_Slot:
close;
}
delitem 6607,5;// Temporal_Crystal
delequip EQI_SHOES;
if (rand(1,100) < 50) {
if (getequipid(EQI_SHOES) == .@equip_id) {
delequip EQI_SHOES;
if (rand(1,100) < 50) {
mes "[Hugin's Craftsman]";
mes "Arrggg, we failed. Better luck next time.";
specialeffect2 EF_PHARMACY_FAIL;
close;
}
mes "[Hugin's Craftsman]";
mes "Arrggg, we failed. Better luck next time.";
specialeffect2 EF_PHARMACY_FAIL;
close;
mes "Successful! Here you go.";
specialeffect2 EF_MAXPOWER;
getitem getarg(0),1;
}
mes "[Hugin's Craftsman]";
mes "Successful! Here you go.";
specialeffect2 EF_MAXPOWER;
getitem getarg(0),1;
close;
}

View File

@ -72,6 +72,7 @@ malangdo,221,174,6 script Holink#mal_cash 559,{
mes "[Holink]";
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_MATERIAL_ID);
@ -148,7 +149,7 @@ malangdo,221,174,6 script Holink#mal_cash 559,{
set Zeny, Zeny-.@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "[Holink]";
emotion ET_FRET;

View File

@ -640,6 +640,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
}
.@refine_count = getequiprefinerycnt(.@part);
.@equip_item = getequipid(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@lhz_max_num = 4000;
if (.@equip_item == 13069 || .@equip_item == 1291 || .@equip_item == 1392 ||
.@equip_item == 1393 || .@equip_item == 1435 || .@equip_item == 1490 ||
@ -701,7 +702,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
mes "Not enough '^F2766EWill of Warrior^000000'. You need to bring 10 '^F2766EWill of Warrior^000000'";
close;
}
else if (getequipcardid(.@part, 3) > 0) {
else if (.@equip_card[3] > 0) {
mes "[Pudding]";
mes "This equipment already has the power of '^F2766EWill of Warrior^000000'.";
close;
@ -715,7 +716,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
mes "Not enough '^952420Thirst for Blood^000000'. You need to bring 10 '^952420Thirst for Blood^000000'";
close;
}
else if (getequipcardid(.@part, 2) > 0) {
else if (.@equip_card[2] > 0) {
mes "[Pudding]";
mes "This equipment already has the power of '^952420Thirst for Blood^000000'.";
close;
@ -731,13 +732,13 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
.@4thzptsodyd = 1;
.@3thzptsodyd = 1;
} else {
if (getequipcardid(.@part, 3) > 0) {
if (.@equip_card[3] > 0) {
.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
} else {
.@menu_clear$[1] = "^999999There's no power to remove^000000";
.@4thzptsodyd = 1;
}
if (getequipcardid(.@part, 2) > 0) {
if (.@equip_card[2] > 0) {
.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
} else {
.@menu_clear$[2] = "^999999There's no power to remove^000000";
@ -765,16 +766,19 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
mes "This equipment didn't get any special power.";
close;
}
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
specialeffect EF_BEGINSPELL2;
progressbar "ffff00", 2;
specialeffect2 EF_FROSTWEAPON;
delitem 6471, 10; //Goast_Chill
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
close;
if (.@menu == 2)
.@equip_card[3] = 0;
else
.@equip_card[2] = 0;
.@equip_item = getequipid(.@part);
specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward";
progressbar "ffff00", 2;
specialeffect2 EF_FROSTWEAPON;
delitem 6471, 10; //Goast_Chill
delequip .@part;
getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
mes "[Pudding]";
@ -956,15 +960,18 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
else .@enchant = 0;
break;
}
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
.@equip_card[(.@socket_type-1)] = .@enchant;
.@equip_item = getequipid(.@part);
specialeffect EF_BEGINSPELL3, AREA, "Sorcerer#Bio4Reward";
specialeffect EF_BEGINSPELL3;
progressbar "ffff00", 2;
if (.@socket_type == 3)
delitem 6470, 10; //Blood_Thirst
else
delitem 6469, 10; //Will_Of_Warrior
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
close;
.@equip_card[(.@socket_type-1)] = .@enchant;
delequip .@part;
if (.@enchant == 0){

View File

@ -68,7 +68,10 @@
mes "This item cannot be refined.";
close;
}
set .@equip_refine, getequiprefinerycnt(.@part);
.@equip_id = getequipid(.@part);
.@equip_refine = getequiprefinerycnt(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (.@equip_refine < 6 || .@equip_refine > 12) {
mes "[Blacksmith Dister]";
mes "This equipment has refined to "+.@equip_refine+". I only handle items with refine levels from +6 to +12!";
@ -134,6 +137,11 @@
}
delitem .@material,1;
set Zeny, Zeny-.@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
mes "[Blacksmith Dister]";
mes "Tac! Tac! Tac!";
if (getequippercentrefinery(.@part, true) > rand(100)) {

View File

@ -151,6 +151,9 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
}
break;
}
set .@equip_refine, getequiprefinerycnt(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
copyarray .@card[0], .@equip_card[0], 4;
set .@select,1;
break;
case 3:
@ -209,6 +212,10 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
set .@equip_id,15056; //Special_Ninja_Suit_
break;
}
set .@equip_refine, getequiprefinerycnt(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
copyarray .@card[0], .@equip_card[0], 4;
mes "[Artisan Tene]";
mes "You want to reset ^44B7BC" + getitemname(.@equip_id) + "^000000?";
next;
@ -253,9 +260,6 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
close;
}
set .@equip_refine, getequiprefinerycnt(.@part);
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
// Initialization
if (.@select == 2) {
if (.@sot03_ck) {// reset only 3rd slot
@ -276,8 +280,12 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
}
progressbar "ffff00",2;
set Zeny, Zeny - 100000;
delequip .@part;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
@ -516,6 +524,11 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
set .@equip_card[2], .@enchant;
progressbar "ffff00",2;
set Zeny, Zeny - 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]

View File

@ -319,6 +319,7 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
L_Socket:
set .@select, @mal_enchant_select;
set .@equip_id, @mal_equip_id;
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
set .@equip_name$, getitemname(.@equip_id)+((getitemslots(.@equip_id))?"["+getitemslots(.@equip_id)+"]":"");
setarray .@equip_card[0], getequipcardid(EQI_HAND_R,0),getequipcardid(EQI_HAND_R,1),getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
set @mal_equip_id,0;
@ -575,7 +576,7 @@ L_Socket:
}
// anti-hack
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) ||
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine) ||
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
close;
@ -604,7 +605,6 @@ L_Socket:
mes "[Mayomayo]";
mes "I have enchanted ^990000slot "+.@socket+"^000000 of this equipment.";
delitem .@coin[.@coin_select],.@total[.@coin_select];
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
delequip EQI_HAND_R;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
@ -641,11 +641,10 @@ L_Socket:
delitem 6417,1; //Silvervine
// anti-hack
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) ||
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine) ||
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
close;
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
delequip EQI_HAND_R;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]

View File

@ -1147,6 +1147,11 @@ L_Socket:
mes "The ability to enhance remains.";
delitem 6380,1; //Mora_Coin
set Zeny, Zeny-100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
@ -1331,7 +1336,8 @@ mora,124,82,4 script Artifact Collector#blan 522,{
close;
}
set .@equip_id, getequipid(EQI_HAND_R);
setarray .@equip_card[2], getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
.@equip_refine = getequiprefinerycnt(EQI_HAND_R);
setarray .@equip_card[0], getequipcardid(EQI_HAND_R,0), getequipcardid(EQI_HAND_R,1), getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
switch(.@equip_id) {
case 2007: //Golden_Rod_Staff
case 2008: //Aqua_Staff
@ -1359,7 +1365,7 @@ mora,124,82,4 script Artifact Collector#blan 522,{
mes "The weapon you have isn't one of the Artifacts I can work with.";
close;
}
if (getequiprefinerycnt(EQI_HAND_R) < 7) {
if (.@equip_refine < 7) {
emotion ET_FRET;
mes "[Artifact Collector]";
mes "I must insist that the refine level of the Artifact be at least +7!";
@ -1378,7 +1384,7 @@ mora,124,82,4 script Artifact Collector#blan 522,{
next;
emotion ET_OK;
mes "[Artifact Collector]";
mes "If you are ready I am about to show you what I can do with your +"+getequiprefinerycnt(EQI_HAND_R)+" Artifact!";
mes "If you are ready I am about to show you what I can do with your +" + .@equip_refine + " Artifact!";
next;
mes "[Artifact Collector]";
mes "I'm going to take your ^FF0000"+getequipname(EQI_HAND_R)+"^000000 and exchange it, are you ready?";
@ -1405,6 +1411,11 @@ mora,124,82,4 script Artifact Collector#blan 522,{
break;
}
emotion ET_SMILE;
// anti-hack
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine))
close;
delequip EQI_HAND_R;
getitem .@empowered,1;
mes "[Artifact Collector]";
@ -1487,6 +1498,8 @@ function script F_Mora_Enchant {
specialeffect2 EF_REPAIRWEAPON;
progressbar "ffff00",3;
delitem 6380,5; //Mora_Coin
if (countitem(getarg(0)) < 1)
return 0;
delitem getarg(0),1;
set .@i, rand(1,4568);
if (.@i <= 3168) {
@ -1516,6 +1529,7 @@ function script F_Mora_Enchant {
return 1;
}
mora,105,176,4 script Master Tailor#pa0829 509,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
close;
@ -1608,6 +1622,7 @@ mora,105,176,4 script Master Tailor#pa0829 509,{
}
mora,123,177,6 script Pendant Crafter#pa0829 509,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
close;
@ -1678,6 +1693,7 @@ mora,123,177,6 script Pendant Crafter#pa0829 509,{
}
mora,134,166,4 script Bulberry Westhood#pa0829 509,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
close;

View File

@ -79,11 +79,12 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
close;
}
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (!getequipisequiped(.@part)) {
mes "It is dangerous to remove equipment during enchant process!";
close;
}
// if (!getequipisequiped(.@part)) {
// mes "It is dangerous to remove equipment during enchant process!";
// close;
// }
set .@equip_id, getequipid(.@part);
.@equip_refine = getequiprefinerycnt(.@part);
set .@item$, "|1292|1394|1491|1585|2015|13071|13115|16019|18112|21000|";
if (!compare(.@item$,"|"+.@equip_id+"|")) {
mes "I don't want to touch your equipment now!";
@ -217,7 +218,6 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
close;
}
set .@equip_refine, getequiprefinerycnt(.@part);
if (.@enchant == 0) {
specialeffect EF_SHIELDCHARGE;
mes "Oh! Unbelievable!! It failed!! Please come again!";
@ -230,7 +230,7 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
delitem 6484,1; //Enchant_Book
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) ||
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine) ||
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
close;
@ -263,11 +263,10 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
set Zeny, Zeny - 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) ||
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine) ||
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
close;
set .@equip_refine, getequiprefinerycnt(.@part);
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] 0

View File

@ -76,6 +76,7 @@
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_MATERIAL_ID);
@ -109,7 +110,7 @@
set Zeny, Zeny-.@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "[Blacksmith Mighty Hammer]";
emotion ET_FRET;
@ -216,6 +217,7 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 826
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_MATERIAL_ID);
switch(getequipweaponlv(.@part)) {
@ -271,7 +273,7 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 826
set Zeny, Zeny-.@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "[Basta]";
emotion ET_FRET;

View File

@ -86,12 +86,13 @@ function script refinenew {
mes "refine this item at all...";
close;
}
if (getequiprefinerycnt(.@part) < 10) {
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
if (.@refinerycnt < 10) {
mes "["+ .@npc_name$ +"]";
mes "I said I don't work with items that are lower than Level 10.";
close;
}
if (getequiprefinerycnt(.@part) >= 20) { //custom check
if (.@refinerycnt >= 20) { //custom check
mes "["+ .@npc_name$ +"]";
mes "I can't refine this";
mes "any more. This is as";
@ -99,12 +100,12 @@ function script refinenew {
close;
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_MATERIAL_ID);
.@safe = 10;
if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) {
if (getequipweaponlv(.@part) >= 1 && getequipweaponlv(.@part) <= 4) {
.@article$ = "a";
.@type$ = "weapon";
} else {
@ -118,7 +119,7 @@ function script refinenew {
mes "I will need 1 ^003366" + getitemname(.@material) + "^000000 and " + callfunc("F_InsertComma",.@price) + " zeny.";
mes "Are you sure you want to continue?";
next;
if(select("Yes:No") == 2){
if (select("Yes:No") == 2) {
mes "["+ .@npc_name$ +"]";
mes "Hm... if you mind... never mind...";
close;
@ -155,7 +156,7 @@ function script refinenew {
delitem .@material,1;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "["+ .@npc_name$ +"]";
emotion ET_FRET;
@ -209,7 +210,7 @@ function script refinenew {
}
}
// New +11 and above Refining Functions ========================
if (getequiprefinerycnt(.@part) < .@safe) {
if (.@refinerycnt < .@safe) {
mes "["+ .@npc_name$ +"]";
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
next;
@ -218,14 +219,14 @@ function script refinenew {
.@menu2 = 2;
switch(.@menu2){
case 1:
.@refinecnt = .@safe - getequiprefinerycnt(.@part);
.@refinecnt = .@safe - .@refinerycnt;
break;
case 2:
mes "["+ .@npc_name$ +"]";
mes "How many times would you like me to refine your item?";
next;
input .@refinecnt;
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
.@refinecheck = .@refinecnt + .@refinerycnt;
if (.@refinecnt < 1 || .@refinecheck > 20) {
mes "["+ .@npc_name$ +"]";
mes "I can't refine this item that many times.";
@ -271,6 +272,11 @@ function script refinenew {
mes "Look here... you don't have any items on...";
close;
}
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt))
close;
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
mes "["+ .@npc_name$ +"]";
mes "Clang... No, but did you imagine I could be so stupid?!";
@ -316,6 +322,7 @@ function script refinenew {
mes "I will do a better job next time! Don't worry!";
close;
}
.@refinerycnt = getequiprefinerycnt(.@part);
}
emotion ET_BEST;
mes "["+ .@npc_name$ +"]";
@ -433,14 +440,15 @@ malangdo,224,172,6 script Clink#mal_normal 544,{
mes "This can't be refined!!";
close;
}
if (getequiprefinerycnt(.@part) >= 10) {
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
if (.@refinerycnt >= 10) {
mes "[Clink]";
mes "Perfect refining. Did I do this for you?";
close;
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
@ -506,7 +514,7 @@ malangdo,224,172,6 script Clink#mal_normal 544,{
Zeny = Zeny-.@price;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
mes "[Clink]";
emotion ET_FRET;

View File

@ -5,7 +5,7 @@
//= Shadow equipments refining NPC.
//===== Changelog: ===========================================
//= 1.0 First version [Aleos]
//= 1.1 Removed re-roll behavior and fetch materials from db
//= 1.1 Removed re-roll behavior and fetch materials from db
//= [Secret]
//============================================================
- script ::ShadowBlacksmith -1,{
@ -35,62 +35,64 @@
mes "HD ores can be used for gear that is at least refine level +7 and will prevent breaking as long as you stay talking to me.";
close;
}
.@part = .@indices[.@choice];
if (!getequipisequiped(.@part)) {
mes "[Shadow Blacksmith]";
mes "There's nothing here!";
close;
}
.@equip_id = getequipid(.@part);
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
while(1) {
.@equip_refine = getequiprefinerycnt(.@part);
mes "[Shadow Blacksmith]";
mes "I require " + callfunc("F_InsertComma", .@zeny_cost) + " zeny as a fee for EACH refine attempt.";
mes "Choose your Ore and start refining.";
next;
.@isNormalEqp = 0;
if (.@part != EQI_SHADOW_WEAPON)
.@isNormalEqp = 1;
.@material[0] = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
.@material[1] = getequiprefinecost(.@part, REFINE_COST_ENRICHED, REFINE_MATERIAL_ID);
.@material[2] = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_MATERIAL_ID);
.@is_enriched = false;
if (countitem(.@material[0]))
.@mate$[0] = getitemname(.@material[0]);
else {
else
.@mate$[0] = "^8C8C8C"+ getitemname(.@material[0]) +"^000000";
.@miss[0] = 1;
}
if (countitem(.@material[1]))
.@mate$[1] = getitemname(.@material[1]);
else {
else
.@mate$[1] = "^8C8C8C"+ getitemname(.@material[1]) +"^000000";
.@miss[1] = 1;
}
if (getequiprefinerycnt(.@part) > 6 && countitem(.@material[2]))
if (.@equip_refine > 6 && countitem(.@material[2]))
.@mate$[2] = getitemname(.@material[2]);
else {
else
.@mate$[2] = "^8C8C8C"+ getitemname(.@material[2]) +"^000000";
.@miss[2] = 1;
}
.@option = select(.@mate$[0],.@mate$[1],.@mate$[2],"Cancel");
if (.@option == 4) {
mes "[Shadow Blacksmith]";
mes "You've cancelled refining.";
close;
}
else if (.@option == 3) { // HD
if (getequiprefinerycnt(.@part) < 7) {
switch( select( .@mate$[0], .@mate$[1], .@mate$[2], "Cancel" ) ) {
case 1:// NORMAL
.@choose = .@material[0];
break;
case 2:// ENRICHED
.@is_enriched = true;
.@choose = .@material[1];
break;
case 3:// HD
if (.@equip_refine < 7) {
mes "[Shadow Blacksmith]";
mes "HD Ore can only used for +7 or higher refine level items.";
close;
}
.@hoihoi = 1;
.@choose = .@material[2];
break;
case 4:
mes "[Shadow Blacksmith]";
mes "You've cancelled refining.";
close;
}
.@choose = .@material[.@option-1];
if (!countitem(.@choose)) {
mes "[Shadow Blacksmith]";
mes "You do not have enough "+ getitemname(.@choose) +".";
@ -101,7 +103,7 @@
mes "You do not have enough zeny.";
close;
}
if (getequiprefinerycnt(.@part) > 9) {
if (.@equip_refine > 9) {
mes "[Shadow Blacksmith]";
mes "Shadow Equipment can be refined to the maximum of 10...";
close;
@ -125,13 +127,17 @@
close;
}
}
mes "[Shadow Blacksmith]";
mes "Well then.. here goes nothing!";
next;
delitem .@choose,1;
Zeny -= .@zeny_cost;
if (getequippercentrefinery(.@part, .@option > 1) > rand(100)) {
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
if (getequippercentrefinery(.@part, .@is_enriched) > rand(100)) {
successrefitem .@part;
mes "[Shadow Blacksmith]";
mes "It worked! It worked!";

View File

@ -78,6 +78,7 @@ prontera,184,177,6 script Refine Master 851,{
}
.@refineitemid = getequipid(.@part); // save id of the item
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
switch(getequipweaponlv(.@part)) {
default:
case 0:
@ -150,7 +151,7 @@ prontera,184,177,6 script Refine Master 851,{
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
mes "[Refine Master]";
emotion ET_FRET;
mes "Wait a second...";

View File

@ -0,0 +1,12 @@
//===== rAthena Script =======================================
//= Episode 16.1 Monsters Spawn Script
//===== Description: =========================================
//= Spawns monsters in prt_prison.
//===== Additional Comments: =================================
//= 1.0 First version. [Capuche]
//============================================================
// Prontera Underground Prison
prt_prison,0,0 monster Frozen Wolf 3442,20
prt_prison,0,0 monster Taffy 3443,50
prt_prison,0,0 monster Watcher 3444,30

View File

@ -0,0 +1,14 @@
//===== rAthena Script =======================================
//= Episode 16.1 Monsters Spawn Script
//===== Description: =========================================
//= Spawns monsters in prt_q.
//===== Additional Comments: =================================
//= 1.0 First version. [Capuche]
//============================================================
// Prontera Invasion
prt_q,0,0 monster Zombie Guard 3452,60
prt_q,0,0 monster Ghoul 1036,10
prt_q,0,0 monster Immortal Corps 3451,30
prt_q,0,0 monster Hunter Fly 1035,15
prt_q,0,0 monster Immortal Commander 3490,1

10
npc/re/mobs/prt_cas.txt Normal file
View File

@ -0,0 +1,10 @@
//===== rAthena Script =======================================
//= Episode 16.1 Monsters Spawn Script
//===== Description: =========================================
//= Spawns monsters in prt_cas.
//===== Additional Comments: =================================
//= 1.0 First version. [Capuche]
//============================================================
// Prontera Castle
prt_cas,367,138,15,19 monster Plate 3455,15

View File

@ -0,0 +1,15 @@
//===== rAthena Script =======================================
//= Cooking Quest
//===== Description: =========================================
//= [Official Conversion]
//= Official Cooking Quest (10.3)
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
prt_cas,324,200,5 duplicate(Charles Orleans#cook_) Charles Orleans#cook 4_M_OILMAN
prt_cas,329,206,3 duplicate(Madeleine Chu#cook_) Madeleine Chu#cook 4_COOK
prt_cas,329,194,3 duplicate(Child with Cat#cook_) Child with Cat#cook 4_F_YUNYANG
// inaccurate
prt_cas,329,192,3 duplicate(Wickebine#cook_) Wickebine#cook 4_F_JOB_ASSASSIN

View File

@ -11,6 +11,15 @@
//= Archer training quest.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Location changed in ep16.1 of Minister NPC. [Capuche]
//============================================================
pay_fild08,40,83,5 duplicate(Acolyte_Tu) Acolyte#tu 95
// Minister
//============================================================
prt_cas,97,289,3 duplicate(Minister#tu_) Minister#tu 1_M_JOBTESTER
// Range NPC
//============================================================
prt_cas,94,270,5 duplicate(#sound_tu_) #sound_tu HIDDEN_WARP_NPC,6,6

View File

@ -11,6 +11,7 @@
//===== Additional Comments: =================================
//= 1.0 Moved Izlude NPC to pre-re/re paths. [Euphy]
//= 1.1 Added Izlude duplicates. [Euphy]
//= 1.1 Renewal script update for ep16.1 [Capuche]
//============================================================
izlude,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz 100
@ -18,3 +19,8 @@ izlude_a,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_a 100
izlude_b,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_b 100
izlude_c,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_c 100
izlude_d,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_d 100
prt_cas,19,98,7 duplicate(Alliance Manager#prt_) Alliance Manager#prt 4_M_CRU_OLD
prt_cas,23,104,5 duplicate(Member of Alliance#prt_) Member of Alliance#prt 4_M_SAGE_A
prt_cas,207,165,5 duplicate(Recruiter for the Brave_) Recruiter for the Brave 4_M_MANAGER
prt_cas,108,265,5 duplicate(Laur_) Laur 1_M_LIBRARYMASTER

17211
npc/re/quests/quests_16_1.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -3604,6 +3604,7 @@ ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{
// Upgrade Boss Equipment :: malaya_mvpitem
//============================================================
ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
disable_items;
mes "[Bayani]";
mes "I will upgrade your armor if you bring one that holds enormous power.";
next;
@ -3782,7 +3783,9 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
mes "[Bayani]";
mes "What is this! You said you wanted to upgrade " + getitemname(.@item) + " but why are you giving me this? You should be wearing " + getitemname(.@item) + ".";
close;
} else if (getequiprefinerycnt(.@part) < 9) {
}
.@equip_refine = getequiprefinerycnt(.@part);
if (.@equip_refine < 9) {
mes "[Bayani]";
mes "No, the sturdiness of this item has not been tested yet. It'll have to be at least +9 refined for me to say, 'Oh this is pretty sturdy armor.";
close;
@ -3823,7 +3826,7 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
delitem 6499,20; //Ancient_Grudge
// anti-hack
if (callfunc("F_IsEquipIDHack", .@part, .@item))
if (callfunc("F_IsEquipIDHack", .@part, .@item) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
close;
delequip .@part;

View File

@ -0,0 +1,193 @@
//===== rAthena Script =======================================
//= God Item Quest - Brisingamen Seal
//===== Description: =========================================
//= [Official Conversion]
//= Quest for breaking the seal of Brisingamen.
//===== Changelogs: ==========================================
//= 1.0 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_cas,372,74,0 script Personnel Record#hidden HIDDEN_NPC,{
if ($God2 < $@god_check1) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if ($God3 >= $@god_check2) {
mes "[Librarian]";
mes "What are you doing?";
mes "Don't touch anything!";
close;
}
if (god_brising == 26) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "["+ strcharinfo(0) +"]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "["+ strcharinfo(0) +"]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_cas",349,68;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
close2;
warp "prt_cas",349,68;
end;
}
}
else if (god_brising == 25) {
mes "^3355FFYou took the book from the shelf while the librarian was dozing. According to the Crusader Personnel Records, there's only one recruit that was named Lowen Ellenen.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Lowen Ellenen...";
mes "Member of the";
mes "2nd squad...";
mes "Age 22...";
mes "Female...";
next;
mes "["+ strcharinfo(0) +"]";
mes "Became a fugitive?";
mes "This isn't the same";
mes "information the";
mes "Librarian told me!";
next;
set .@bookrand,rand(1,3);
if (.@bookrand == 1) {
mes "[" + strcharinfo(0) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
mes "[" + strcharinfo(0) + "]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
mes "[" + strcharinfo(0) + "]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
mes "Now let's see...";
next;
mes "[Personnel Record]";
mes "^663300Lowen, of the 2nd squad, returned to her detachment 3 days after the incident. A trial was held, and she was judged guilty of fleeing when ordered to fight.^000000";
next;
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
mes "^6633002 years later after the incident, an expedition team found rusty armor shards, a broken sword";
mes "and some effects belonging to";
mes "Lowen Ellenen.^000000";
next;
mes "[Personnel Record]";
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
mes "Should I try to meet her again?";
next;
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,30;
close2;
warp "prt_cas",349,68;
end;
}
else {
mes "[Librarian]";
mes "^666666*Yawn...*^000000";
mes "What the...?";
mes "who are you!";
mes "Get the hell";
mes "out of here!";
set god_brising,26;
next;
mes "["+ strcharinfo(0) +"]";
mes "(Nuts...!";
mes "I didn't get";
mes "to finish reading!)";
close2;
warp "prt_cas",349,68;
end;
}
}
else {
mes "[Librarian]";
mes "What are you doing here?";
mes "Don't touch anything!";
close;
}
}
//-----------librarian----------------------------------------------------------
prt_cas,373,75,3 duplicate(Librarian#2_) Librarian#2 8W_SOLDIER

View File

@ -0,0 +1,11 @@
//===== rAthena Script =======================================
//= God Item Quest - Megingjard Seal
//===== Description: =========================================
//= [Official Conversion]
//= Quest for breaking the seal of Megingjard.
//===== Changelogs: ==========================================
//= 1.0 Renewal script update for ep16.1 [Capuche]
//============================================================
prt_cas,180,269,6 duplicate(Rebarev Doug_) Rebarev Doug 1_M_KNIGHTMASTER
prt_cas,241,100,1 duplicate(Crusader#God_) Crusader#God 4_M_JOB_KNIGHT2

View File

@ -0,0 +1,12 @@
//===== rAthena Script =======================================
//= The Sign Quest
//===== Description: =========================================
//= [Official Conversion]
//= Quest for opening the doors to Geffenia.
//= This script uses sign_01.bmp - sign_04.bmp, these will be
//= found in the language of your client.
//===== Changelogs: ==========================================
//= 1.0 Location changed in ep16.1 [Capuche]
//============================================================
prt_cas,87,214,8 duplicate(Soldier#s11_) Soldier#s11 8W_SOLDIER

View File

@ -13,6 +13,7 @@ npc: npc/re/cities/dicastes.txt
npc: npc/re/cities/eclage.txt
npc: npc/re/cities/izlude.txt
npc: npc/re/cities/jawaii.txt
npc: npc/re/cities/lutie.txt
npc: npc/re/cities/malangdo.txt
npc: npc/re/cities/malaya.txt
npc: npc/re/cities/mora.txt
@ -67,6 +68,8 @@ npc: npc/re/instances/MalangdoCulvert.txt
npc: npc/re/instances/MorseCave.txt
npc: npc/re/instances/OctopusCave.txt
npc: npc/re/instances/OldGlastHeim.txt
npc: npc/re/instances/RitualOfBlessing.txt
npc: npc/re/instances/RoomOfConsciousness.txt
npc: npc/re/instances/SarahAndFenrir.txt
npc: npc/re/instances/SaraMemory.txt
npc: npc/re/instances/WolfchevLaboratory.txt
@ -148,7 +151,11 @@ npc: npc/re/quests/first_class/tu_archer.txt
// - Headgear Quests --------------------------------------------
npc: npc/re/quests/newgears/2010_headgears.txt
npc: npc/re/quests/newgears/2012_headgears.txt
// - The God Item Quest -----------------------------------------
npc: npc/re/quests/seals/brisingamen_seal.txt
npc: npc/re/quests/seals/megingard_seal.txt
// --------------------------------------------------------------
npc: npc/re/quests/cooking_quest.txt
//npc: npc/re/quests/cupet.txt
npc: npc/re/quests/homun_s.txt
npc: npc/re/quests/magic_books.txt
@ -160,6 +167,7 @@ npc: npc/re/quests/quests_13_1.txt
npc: npc/re/quests/quests_14_3.txt
npc: npc/re/quests/quests_15_1.txt
npc: npc/re/quests/quests_15_2.txt
npc: npc/re/quests/quests_16_1.txt
npc: npc/re/quests/quests_aldebaran.txt
npc: npc/re/quests/quests_brasilis.txt
npc: npc/re/quests/quests_dewata.txt
@ -174,6 +182,7 @@ npc: npc/re/quests/quests_mora.txt
npc: npc/re/quests/quests_morocc.txt
npc: npc/re/quests/quests_nameless.txt
npc: npc/re/quests/quests_veins.txt
npc: npc/re/quests/the_sign_quest.txt
npc: npc/re/quests/woe_te/te_mission_main.txt
npc: npc/re/quests/woe_te/te_mission_alde.txt
npc: npc/re/quests/woe_te/te_mission_prt.txt

View File

@ -10,6 +10,8 @@ npc: npc/re/jobs/1-1/mage.txt
npc: npc/re/jobs/1-1/merchant.txt
npc: npc/re/jobs/1-1/swordman.txt
npc: npc/re/jobs/1-1/thief.txt
// - 2-2
npc: npc/re/jobs/2-2/crusader.txt
// - 2e
npc: npc/re/jobs/2e/kagerou_oboro.txt
npc: npc/re/jobs/2e/rebellion.txt

View File

@ -5,6 +5,7 @@
//npc: npc/re/mobs/academy.txt
npc: npc/re/mobs/championmobs.txt
npc: npc/re/mobs/int_land.txt
npc: npc/re/mobs/prt_cas.txt
npc: npc/re/mobs/towns.txt
npc: npc/re/mobs/verus.txt
@ -46,6 +47,8 @@ npc: npc/re/mobs/dungeons/odin.txt
npc: npc/re/mobs/dungeons/orcsdun.txt
npc: npc/re/mobs/dungeons/pay_dun.txt
npc: npc/re/mobs/dungeons/prt_maze.txt
npc: npc/re/mobs/dungeons/prt_prison.txt
npc: npc/re/mobs/dungeons/prt_q.txt
npc: npc/re/mobs/dungeons/prt_sew.txt
npc: npc/re/mobs/dungeons/ra_san.txt
npc: npc/re/mobs/dungeons/teg_dun.txt

View File

@ -10,6 +10,7 @@ npc: npc/re/warps/cities/eclage.txt
npc: npc/re/warps/cities/izlude.txt
npc: npc/re/warps/cities/malangdo.txt
npc: npc/re/warps/cities/malaya.txt
npc: npc/re/warps/cities/prontera.txt
npc: npc/re/warps/cities/rachel.txt
npc: npc/re/warps/cities/yggdrasil.txt

View File

@ -0,0 +1,99 @@
//===== rAthena Script =======================================
//= Prontera Warp Script
//===== Description: =========================================
//= Warp Points for Prontera
//===== Changelogs: ==========================================
//= 1.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
//= Prontera City ============================================
prontera,156,358,0 warp prt_cas_B#prt_cas_A 1,1,prt_cas,216,146
//= Prontera Castle ===========================================
prt_cas,216,142,0 warp prt_cas_A#prt_cas_B 1,1,prontera,156,354
prt_cas,82,175,0 warp prt_cas_C#prt_cas_D 1,1,prt_gld,159,30
// castle left side
prt_cas_q,154,8,0 warp prt_cas_F#prt_cas_E 1,1,prt_cas,156,163
prt_cas,164,177,0 warp prt_cas_G#prt_cas_H 1,1,prt_cas,54,156
prt_cas,54,152,0 warp prt_cas_H#prt_cas_G 1,1,prt_cas,164,172
prt_cas,197,148,0 warp prt_cas_I#prt_cas_J 1,1,prt_cas,31,117
prt_cas,31,120,0 warp prt_cas_J#prt_cas_I 1,1,prt_cas,197,152
prt_cas,178,148,0 warp prt_cas_K#prt_cas_L 1,1,prt_cas,27,43
prt_cas,27,47,0 warp prt_cas_L#prt_cas_K 1,1,prt_cas,178,152
// Rooms
// Belle
prt_cas_q,130,8,0 warp prt_cas_M#prt_cas_N 1,1,prt_cas_q,30,28
prt_cas_q,34,28,0 warp prt_cas_N#prt_cas_M 1,1,prt_cas_q,134,8
// Heine
prt_cas_q,34,78,0 warp prt_cas_O#prt_cas_P 1,1,prt_cas_q,134,32
// Nerius
// it's locked
prt_cas_q,34,128,0 warp prt_cas_Q#prt_cas_R 1,1,prt_cas_q,134,56
// Walther
prt_cas_q,130,80,0 warp prt_cas_S#prt_cas_T 1,1,prt_cas_q,30,178
prt_cas_q,34,178,0 warp prt_cas_T#prt_cas_S 1,1,prt_cas_q,134,80
// castle right side
prt_cas_q,132,119,0 warp prt_cas_V#prt_cas_U 1,1,prt_cas,274,163
prt_cas,268,176,0 warp prt_cas_W#prt_cas_X 1,1,prt_cas,110,156
prt_cas,110,152,0 warp prt_cas_X#prt_cas_W 1,1,prt_cas,268,172
prt_cas,253,148,0 warp prt_cas_Y#prt_cas_Z 1,1,prt_cas,174,37
prt_cas,174,40,0 warp prt_cas_Z#prt_cas_Y 1,1,prt_cas,253,152
prt_cas,235,148,0 warp prt_cas_1#prt_cas_2 1,1,prt_cas,174,104
prt_cas,174,108,0 warp prt_cas_2#prt_cas_1 1,1,prt_cas,235,152
// Rooms
// Wigner
prt_cas_q,153,119,0 warp prt_cas_3#prt_cas_4 1,1,prt_cas_q,78,21
prt_cas_q,74,21,0 warp prt_cas_4#prt_cas_3 1,1,prt_cas_q,149,119
// Richards
prt_cas_q,153,143,0 warp prt_cas_5#prt_cas_6 1,1,prt_cas_q,78,77
prt_cas_q,74,77,0 warp prt_cas_6#prt_cas_5 1,1,prt_cas_q,149,143
// Geoborg
prt_cas_q,153,167,0 warp prt_cas_7#prt_cas_8 1,1,prt_cas_q,78,131
prt_cas_q,74,131,0 warp prt_cas_8#prt_cas_7 1,1,prt_cas_q,149,167
// Roegenburg
prt_cas_q,153,191,0 warp prt_cas_9#prt_cas_10 1,1,prt_cas_q,78,189
prt_cas_q,74,189,0 warp prt_cas_10#prt_cas_9 1,1,prt_cas_q,149,191
// Hall
prt_cas,216,184,0 warp prt_cas_11#prt_cas_12 1,1,prt_cas,93,212
prt_cas,93,208,0 warp prt_cas_12#prt_cas_11 1,1,prt_cas,216,180
// Dinner room
prt_cas,54,217,0 warp prt_cas_13#prt_cas_14 1,1,prt_cas,388,137
prt_cas,392,137,0 warp prt_cas_14#prt_cas_13 1,1,prt_cas,58,217
// Kitchen
prt_cas,41,275,0 warp prt_cas_15#prt_cas_16 1,1,prt_cas,320,182
prt_cas,320,178,0 warp prt_cas_16#prt_cas_15 1,1,prt_cas,41,271
// Library
prt_cas,130,218,0 warp prt_cas_17#prt_cas_18 1,1,prt_cas,303,48
prt_cas,300,48,0 warp prt_cas_18#prt_cas_17 1,1,prt_cas,127,218
// Prison
prt_pri00,54,139,0 warp prt_cas_19#prt_cas_20 1,1,prt_cas,182,258
prt_prison,155,290,0 warp2 prt_cas_21#prt_cas_22 2,2,prt_pri00,50,120
prt_cas,174,234,0 warp prt_cas_23#prt_cas_24 1,1,prt_cas,247,107
prt_cas,247,111,0 warp prt_cas_24#prt_cas_23 1,1,prt_cas,174,237
// Prontera invasion
prt_q,155,358,0 warp prt_cas_25#prt_cas_26 1,1,prt_lib_q,89,43

View File

@ -11,8 +11,12 @@
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 2.0 Added WoE:TE warps. [Capuche]
//= 3.0 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
// Prontera Castle Map
prt_gld,159,24,0 warp prt_cas_D#prt_cas_C 1,1,prt_cas,82,171
// Hall of Abyss
//============================================================
gld2_prt,10,22,0 warp dun2prt_to_gld 1,1,prt_gld,252,247
@ -57,7 +61,8 @@ te_alde_gld,225,188,0 warp to_luina 1,1,alde_gld,228,185
// te_prt_gld
/*
te_prt_gld,159,298,0 warp prtg01_NorthField 1,1,prt_fild01,199,30
te_prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_castle,102,178
// te_prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_castle,102,178
te_prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_cas,82,171
*/
- script warp_TE_castle -1,{

View File

@ -13,6 +13,7 @@
//= 1.3 prt19 warp fix [shadow]
//= 1.4 Added warps for the sign quest [MasterOfMuppets]
//= 1.5 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
//= 1.6 Renewal script update for ep16.1 [Capuche]
//============================================================
//= Prontera City ============================================
@ -21,7 +22,6 @@ prontera,120,267,0 warp prt02 2,2,prt_in,180,97
prontera,133,183,0 warp prt03 2,2,prt_in,50,105
prontera,134,221,0 warp prt04 1,1,prt_in,131,71
prontera,156,22,0 warp prt001 3,2,prt_fild08,170,375
prontera,156,360,0 warp prt005 4,2,prt_castle,102,20
prontera,177,221,0 warp prt05 2,2,prt_in,168,128
prontera,179,184,0 warp prt06 2,2,prt_in,60,73
prontera,192,267,0 warp prt07 2,2,prt_in,178,55
@ -74,33 +74,3 @@ prt_church,109,81,0 warp prtch01 1,2,prt_church,172,19
prt_church,168,19,0 warp prtch01-1 1,2,prt_church,105,81
prt_church,31,19,0 warp prtch02 1,2,prt_church,94,81
prt_church,90,81,0 warp prtch02-1 1,2,prt_church,27,19
//= Prontera Castle ===========================================
prt_castle,102,129,0 warp prtca01 3,2,prt_castle,102,143
prt_castle,102,140,0 warp prtca01-1 3,2,prt_castle,102,126
prt_castle,102,16,0 warp prtca001 6,2,prontera,156,356
prt_castle,102,181,0 warp prtca002 6,2,prt_gld,159,28
prt_castle,102,73,0 warp prtca02 3,2,prt_castle,102,91
prt_castle,102,88,0 warp prtca02-1 3,2,prt_castle,102,70
prt_castle,113,107,0 warp prtca03 2,3,prt_castle,134,107
prt_castle,121,29,0 warp prtca04 1,1,prt_castle,148,29
prt_castle,130,107,0 warp prtca03-1 2,3,prt_castle,110,107
prt_castle,135,153,0 warp prtca05 1,1,prt_castle,167,145
prt_castle,144,29,0 warp prtca04-1 2,2,prt_castle,117,29
prt_castle,149,113,0 warp prtca06 1,1,prt_castle,175,113
prt_castle,164,145,0 warp prtca05-1 1,1,prt_castle,132,153
prt_castle,170,138,0 warp prtca07 3,2,prt_castle,176,118
prt_castle,172,113,0 warp prtca06-1 1,1,prt_castle,146,113
prt_castle,176,121,0 warp prtca07-1 3,2,prt_castle,170,141
prt_castle,28,121,0 warp prtca08 2,2,prt_castle,40,141
prt_castle,31,113,0 warp prtca09 1,1,prt_castle,58,113
prt_castle,40,138,0 warp prtca08-1 3,2,prt_castle,28,118
prt_castle,45,145,0 warp prtca10 1,1,prt_castle,72,153
prt_castle,54,113,0 warp prtca09-1 1,1,prt_castle,27,113
prt_castle,59,29,0 warp prtca11 2,2,prt_castle,85,29
prt_castle,68,153,0 warp prtca10-1 1,1,prt_castle,42,145
prt_castle,75,107,0 warp prtca12 2,3,prt_castle,95,107
prt_castle,82,29,0 warp prtca11-1 1,1,prt_castle,56,29
prt_castle,92,107,0 warp prtca12-1 2,3,prt_castle,72,107

View File

@ -24,11 +24,11 @@
//= 2.5 Updated Schwaltzvalt warps and added Arunafeltz. [L0ne_W0lf]
//= 2.6 Fixed warp position between Juno and Schwaltzvalt Realm. [Gepard]
//= 2.7 Updated WoE:FE warps. [Masao]
//= 2.8 Prontera castle map changed in ep16.1 [Capuche]
//============================================================
//Prontera Castle Map
prt_gld,159,298,0 warp prtg01_NorthField 1,1,prt_fild01,199,30
prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_castle,102,178
prt_gld,129,65,0 warp prtg-1_prtg-1-01 1,1,prtg_cas01,99,32
prt_gld,240,124,0 warp prtg-2_prtg-2 1,1,prtg_cas02,43,229
prt_gld,153,141,0 warp prtg-3_prtg-3 1,1,prtg_cas03,168,12

View File

@ -5174,6 +5174,7 @@ REPLACE INTO `item_db` VALUES (12579,'Ring_Of_Valkyrie_Box','Ring Of Valkyrie Bo
REPLACE INTO `item_db` VALUES (12580,'Vending_Search_Scroll','Universal Catalog Silver',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'searchstores 10,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12581,'Vending_Search_Scroll2','Universal Catalog Gold',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'searchstores 10,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12591,'Uni_Catalog_Bz','Universal Catalog Bronze',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'searchstores 10,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12609,'Old_Ore_Box','Old Ore Box',2,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12701,'Old_Blue_Box_F','Old Blue Box',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12702,'Old_Bleu_Box','Old Navy Box',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_BleuBox),1; getrandgroupitem(IG_BleuBox),1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12703,'Holy_Egg_2','Holy Egg',11,0,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -5253,6 +5254,7 @@ REPLACE INTO `item_db` VALUES (12770,'Glory_FB_Hat_Box','Glory FB Hat Box',2,0,N
REPLACE INTO `item_db` VALUES (12771,'Passion_Hat_Box2','Passion Hat Box2',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12772,'Cool_Hat_Box2','Cool Hat Box2',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12773,'Victory_Hat_Box2','Victory Hat Box2',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12831,'Potion_Box','Potion Box',2,0,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12848,'Falcon_Flute','Falcon Flute',11,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'if(getskilllv("HT_FALCON")) { if(!checkoption(Option_Wug) && !checkoption(Option_Wugrider)) setfalcon (!checkfalcon()); }',NULL,NULL);
REPLACE INTO `item_db` VALUES (12900,'Battle_Manual_Box','Battle Manual Box',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 12208,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12901,'Insurance_Package','Insurance Package',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 12209,10;',NULL,NULL);
@ -6612,3 +6614,5 @@ REPLACE INTO `item_db` VALUES (19505,'T_Cigarette','T Cigarette',4,0,NULL,0,NULL
REPLACE INTO `item_db` VALUES (19506,'T_Valkyrie_Feather_Band','T Valkyrie Feather Band',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1024,NULL,0,1,300,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (19507,'Fine_Sun','Clear Sun',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1024,NULL,1,0,654,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (22777,'Gift_Buff_Set','Gift Buff Set',2,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);

View File

@ -4949,8 +4949,8 @@ REPLACE INTO `item_db_re` VALUES (6935,'Advanced_Dish','Advanced Dish',3,10,NULL
REPLACE INTO `item_db_re` VALUES (6936,'Cold_Core','Cold Core',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6937,'Silicone_Shell','Silicone Shell',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6938,'Hedgehog_Picks','Hedgehog Picks',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6939,'Old_Belt','Old Belt',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6940,'Moving_Dark_Matter','Moving Dark Matter',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6939,'Old_Belt','Worn-Out Belt',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6940,'Moving_Dark_Matter','Moving Black Material',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6941,'Fragments_Valkyrie_Power','Fragments Valkyrie Power',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6942,'Will_Master','Will Master',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6943,'ATKStone_Top','Attack Stone(Upper)',6,10,NULL,100,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
@ -6859,6 +6859,7 @@ REPLACE INTO `item_db_re` VALUES (12606,'Special_Box5','Special Box V',11,100,NU
REPLACE INTO `item_db_re` VALUES (12607,'Lolli_Pop_Box','Delicious Lollipop Box',11,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12608,'Splendid_Box2','Splendid Box2',11,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12609,'Old_Ore_Box','Old Ore Box',2,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Old_Ore_Box);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12610,'Mysterious_Egg','Mysterious Egg',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12612,'Old_Coin_Pocket','Old Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Old_Coin_Pocket);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12613,'High_Coin_Pocket','Improved Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_High_Coin_Pocket);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12614,'Mid_Coin_Pocket','Intermediate Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Mid_Coin_Pocket);',NULL,NULL);
@ -9309,7 +9310,7 @@ REPLACE INTO `item_db_re` VALUES (17176,'Boarding_Halter_Box3','Halter Lead Box[
REPLACE INTO `item_db_re` VALUES (17181,'Jan_Groove_Box','Jan Groove Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17184,'3rd_Test_Pass_Box','3rd Test Pass Box',18,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 6583,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17203,'Free_Pass_Box','Free Pass Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17204,'Mysterious_Egg','Shining Egg',18,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getgroupitem(IG_Mysterious_Egg);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17204,'Shining_Egg','Shining Egg',18,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getgroupitem(IG_Shining_Egg);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17207,'Idn_Heart_Scroll','Idn Heart Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Idn_Heart_Scroll);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17209,'Tw_Rainbow_Scroll','Tw Rainbow Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Tw_Rainbow_Scroll);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17210,'Tw_Red_Scroll','Tw Red Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Tw_Red_Scroll);',NULL,NULL);
@ -11187,6 +11188,7 @@ REPLACE INTO `item_db_re` VALUES (22781,'PC_Bang_Normal_Box','PC Bang Normal Box
REPLACE INTO `item_db_re` VALUES (22782,'PC_Bang_Wooden_Box','PC Bang Wooden Box',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem 547,30; /*No Info*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22783,'PC_Bang_Golden_Box','PC Bang Golden Box',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem 547,1; getitem 985,10; /*No Info*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22784,'PC_Bang_Platinum_Box','PC Bang Platinum Box',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem 547,1; getitem 12017,10; getitem 678,12; /*No Info*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22979,'C_Battle_Gum_2','[Sale] Battle Manual and Bubble Gum',2,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22802,'Safe_to_6_Equipment_Certificate','Safe to 6 Equipment Certificate',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22808,'Special_Gift_Box','Special Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22812,'Sealed_Dracula_Scroll','Sealed Dracula Scroll',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem callfunc("F_Rand",6228,6232,22813,19937,17314, 6635),1;',NULL,NULL);
@ -11240,11 +11242,18 @@ REPLACE INTO `item_db_re` VALUES (22894,'Limited_2015_Neuralizer','(Limited)2015
REPLACE INTO `item_db_re` VALUES (22895,'Limited_2015_Status_Initialization_Volume','(Limited)2015 Status Initialization Volume',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Works like item 6320, can reset up to 3x within 1 hour*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22896,'Limited_Old_Status_Initialization_Volume','(Limited)Old Status Initialization Volume',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Works like item 6320, can reset up to 3x within 1 hour*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22899,'Parchment_City','Parchment City',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "AL_INCAGI",1; heal -15,0;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22901,'Question_Old_Blue_Box','Question Old Blue Box',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*No info yet*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22901,'Question_Old_Blue_Box','Mysterious Blue Box',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'callfunc("F_Mysterious_box");',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22902,'Sealed_Card_Album_Scroll_II','Sealed Card Album Scroll II',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem callfunc("F_Rand",6238,6239,17474,22829,24243,24244,24245),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22984,'Kahluna_Milk','Kahluna Milk',0,6,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_DORAM_BUF_01, 180000, 0;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22985,'Basil','Basil',0,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_DORAM_BUF_02, 180000, 0;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (23012,'S_Small_Mana_Potion','[Sale] Small Mana Potion',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23038,'S_Slim_White_Box','[Sale] Slim White Potion Box',2,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23043,'S_Seed_Of_Yggdrasil_Box','[Sale] Yggdrasil Seed Box',2,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23046,'S_Mystic_Powder','[Sale] Mystic Powder',2,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23047,'S_Blessing_Tyr','[Sale] Blessing of Tyr',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23048,'S_Resilience_Potion','[Sale] Resilience Enhancement Potion',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (23123,'Bullet_Case_Flare','Flare Bullet Cartridge',2,10,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 13228,500;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23124,'Bullet_Case_Lighting','Lightning Bullet Cartridge',2,10,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 13229,500;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23125,'Bullet_Case_Ice','Ice Bullet Cartridge',2,10,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 13230,500;',NULL,NULL);
@ -11259,6 +11268,9 @@ REPLACE INTO `item_db_re` VALUES (23194,'Sienna_Execrate_Scroll_1_5','Level 5 Si
REPLACE INTO `item_db_re` VALUES (23196,'Agust_Lucky_Scroll','Shining Blue Lucky Egg',18,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getgroupitem(IG_Agust_Lucky_Scroll);',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (23277,'Mado_Box','Emergency Magic Gear',2,10000,NULL,3000,NULL,NULL,NULL,NULL,0x00000400,56,2,NULL,NULL,'100',NULL,NULL,'setmadogear 1;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (23307,'S_Shining_Def_Scroll','[Sale] Shining Defense Scroll',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (23340,'S_Megaphone','[Sale] Megaphone',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#===================================================================
# Shadow Equipments
#===================================================================

View File

@ -170,7 +170,7 @@ CREATE TABLE IF NOT EXISTS `picklog` (
`id` int(11) NOT NULL auto_increment,
`time` datetime NOT NULL,
`char_id` int(11) NOT NULL default '0',
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z','Q') NOT NULL default 'P',
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y','Z','Q') NOT NULL default 'P',
`nameid` smallint(5) unsigned NOT NULL default '0',
`amount` int(11) NOT NULL default '1',
`refine` tinyint(3) unsigned NOT NULL default '0',

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