DB Import2
Add db/import-tmpl/ and add all file that could currently be overwritten, (please add note if a db is missing) db/import folder is created by "make import" just like conf/import and msg_conff/import, (didn't found the visual equivalent)
This commit is contained in:
parent
dd24149060
commit
ff29c234cc
3
.gitignore
vendored
3
.gitignore
vendored
@ -40,6 +40,9 @@
|
|||||||
/3rdparty/mt19937ar/Makefile
|
/3rdparty/mt19937ar/Makefile
|
||||||
/3rdparty/mt19937ar/*.o
|
/3rdparty/mt19937ar/*.o
|
||||||
|
|
||||||
|
# /db/
|
||||||
|
/db/import
|
||||||
|
|
||||||
# /conf/
|
# /conf/
|
||||||
/conf/import
|
/conf/import
|
||||||
/conf/msg_conf/import
|
/conf/msg_conf/import
|
||||||
|
@ -64,13 +64,16 @@ import:
|
|||||||
# 1) create conf/import folder
|
# 1) create conf/import folder
|
||||||
# 2) add missing files
|
# 2) add missing files
|
||||||
# 3) remove remaining .svn folder
|
# 3) remove remaining .svn folder
|
||||||
@echo "building conf/import and conf/msg_conf/import folder..."
|
@echo "building conf/import, conf/msg_conf/import and db/import folder..."
|
||||||
@if test ! -d conf/import ; then mkdir conf/import ; fi
|
@if test ! -d conf/import ; then mkdir conf/import ; fi
|
||||||
@for f in $$(ls conf/import-tmpl) ; do if test ! -e conf/import/$$f ; then cp conf/import-tmpl/$$f conf/import ; fi ; done
|
@for f in $$(ls conf/import-tmpl) ; do if test ! -e conf/import/$$f ; then cp conf/import-tmpl/$$f conf/import ; fi ; done
|
||||||
@rm -rf conf/import/.svn
|
@rm -rf conf/import/.svn
|
||||||
@if test ! -d conf/msg_conf/import ; then mkdir conf/msg_conf/import ; fi
|
@if test ! -d conf/msg_conf/import ; then mkdir conf/msg_conf/import ; fi
|
||||||
@for f in $$(ls conf/msg_conf/import-tmpl) ; do if test ! -e conf/msg_conf/import/$$f ; then cp conf/msg_conf/import-tmpl/$$f conf/msg_conf/import ; fi ; done
|
@for f in $$(ls conf/msg_conf/import-tmpl) ; do if test ! -e conf/msg_conf/import/$$f ; then cp conf/msg_conf/import-tmpl/$$f conf/msg_conf/import ; fi ; done
|
||||||
@rm -rf conf/msg_conf/import/.svn
|
@rm -rf conf/msg_conf/import/.svn
|
||||||
|
@if test ! -d db/import ; then mkdir db/import ; fi
|
||||||
|
@for f in $$(ls db/import-tmpl) ; do if test ! -e db/import/$$f ; then cp db/import-tmpl/$$f db/import ; fi ; done
|
||||||
|
@rm -rf db/import/.svn
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@$(MAKE) -C src/common $@
|
@$(MAKE) -C src/common $@
|
||||||
@ -92,7 +95,7 @@ help:
|
|||||||
@echo "'char' - builds char server"
|
@echo "'char' - builds char server"
|
||||||
@echo "'map' - builds map server"
|
@echo "'map' - builds map server"
|
||||||
@echo "'tools' - builds all the tools in src/tools"
|
@echo "'tools' - builds all the tools in src/tools"
|
||||||
@echo "'import' - builds conf/import folder from the template conf/import-tmpl"
|
@echo "'import' - builds conf/import, conf/msg_conf/import and db/import folders from their template folders (x-tmpl)"
|
||||||
@echo "'all' - builds all the above targets"
|
@echo "'all' - builds all the above targets"
|
||||||
@echo "'sql' - builds servers (targets 'common_sql' 'login' 'char' 'map' and 'import')"
|
@echo "'sql' - builds servers (targets 'common_sql' 'login' 'char' 'map' and 'import')"
|
||||||
@echo "'test' - builds tests"
|
@echo "'test' - builds tests"
|
||||||
|
14
db/import-tmpl/abra_db.txt
Normal file
14
db/import-tmpl/abra_db.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Hocus-Pocus (Abracadabra) Castable Skills Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,DummyName,RatePerLvl
|
||||||
|
//
|
||||||
|
// 01. SkillID Skill ID to be casted by hocus pocus.
|
||||||
|
// 02. DummyName Name of the skill (informative, not used by server).
|
||||||
|
// 03. RatePerLvl Chance at which the skill is selected (1 = 0.01%, 10000 = 100%).
|
||||||
|
//
|
||||||
|
// NOTE: The skill is picked at random from the entire database and then tested for rate. If it
|
||||||
|
// does not succeed at that rate, another skill is picked and tested. This continues
|
||||||
|
// until a skill succeeds. Abracadabra-specific skills have a different chance to occur
|
||||||
|
// depending on skill level used. All other skills have an equal chance and appear from
|
||||||
|
// level 1 onward.
|
6
db/import-tmpl/attr_fix.txt
Normal file
6
db/import-tmpl/attr_fix.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Elemental Attribute Damage Adjustment Tables
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Columns - attacker's weapon element
|
||||||
|
// Rows - target's defense element
|
||||||
|
|
11
db/import-tmpl/castle_db.txt
Normal file
11
db/import-tmpl/castle_db.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// Guild Castles Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// CastleID,MapName,CastleName,OnGuildBreakEventName,Flag
|
||||||
|
//
|
||||||
|
// 01. CastleID Unique ID of the castle. Must remain unique across all map-servers.
|
||||||
|
// 02. MapName Map name to be considered as the castle map.
|
||||||
|
// 03. CastleName Name of the castle (used by scripts and guardian name tags).
|
||||||
|
// 04. OnGuildBreakEventName NPC unique name to invoke ::OnGuildBreak on, when a occupied
|
||||||
|
// castle is abandoned during guild break.
|
||||||
|
// 05. Flag Switch flag (reserved as of athena-dev mod0796~0801, not used by server).
|
12
db/import-tmpl/create_arrow_db.txt
Normal file
12
db/import-tmpl/create_arrow_db.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// Arrow Crafting Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SourceID,MakeID1,MakeAmount1,...,MakeID5,MakeAmount5
|
||||||
|
//
|
||||||
|
// 01. SourceID ID of the item, that is consumed by Arrow Crafting.
|
||||||
|
// 02. MakeID ID of the item received from Arrow Crafting.
|
||||||
|
// 03. MakeAmount Amount of MakeID item received from Arrow Crafting.
|
||||||
|
// ...
|
||||||
|
//
|
||||||
|
// NOTE: Up to MAX_ARROW_RESOURCE (typically 5) ID/Amount pairs can be specified.
|
||||||
|
|
9
db/import-tmpl/elemental_db.txt
Normal file
9
db/import-tmpl/elemental_db.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Elemental Summons Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// Summoned Elemental’s STATs are affected by the Caster’s Base Level and STATs.
|
||||||
|
// In other words, all values specified will be added to (and will not override) the calculated STATs of the summoned elemental.
|
||||||
|
|
7
db/import-tmpl/elemental_skill_db.txt
Normal file
7
db/import-tmpl/elemental_skill_db.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Elemental Summons Skill Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ElementalID,SkillID,SkillLevel,ReqMode
|
||||||
|
//
|
||||||
|
// Spirit Modes:
|
||||||
|
// 1 = Passive, 2 = Defensive, 4 = Aggressive
|
2
db/import-tmpl/exp_guild.txt
Normal file
2
db/import-tmpl/exp_guild.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
// Guild Experience Tables
|
||||||
|
|
1
db/import-tmpl/exp_homun.txt
Normal file
1
db/import-tmpl/exp_homun.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
// Homunculus Experience Tables
|
13
db/import-tmpl/guild_skill_tree.txt
Normal file
13
db/import-tmpl/guild_skill_tree.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Guild Skill Tree Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,MaxLv,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5 //GUILD SKILLNAME#Skill Name#
|
||||||
|
//
|
||||||
|
// 01. SkillID Skill ID of the guild skill.
|
||||||
|
// 02. MaxLv Maximum level of the guild skill.
|
||||||
|
// 03. Prerequisite SkillID Guild skill required for the skill to become available.
|
||||||
|
// 04. Prerequisite SkillLv Level of the required guild skill.
|
||||||
|
// ...
|
||||||
|
//
|
||||||
|
// NOTE: MAX_GUILD_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
|
||||||
|
|
15
db/import-tmpl/homun_skill_tree.txt
Normal file
15
db/import-tmpl/homun_skill_tree.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Homunculus Skill Tree Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Class,SkillID,MaxLv[,JobLevel],Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
|
||||||
|
//
|
||||||
|
// 01. Class Homunculus ID.
|
||||||
|
// 02. SkillID Skill ID of the homunuculus skill.
|
||||||
|
// 03. MaxLv Maximum level of the homunuculus skill.
|
||||||
|
// 04. JobLevel Job level required for the skill to become available (optional, reserved, not used by server).
|
||||||
|
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
|
||||||
|
// 06. Prerequisite SkillLv Level of the required homunculus skill.
|
||||||
|
// ...
|
||||||
|
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
|
||||||
|
//
|
||||||
|
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
|
20
db/import-tmpl/homunculus_db.txt
Normal file
20
db/import-tmpl/homunculus_db.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// Homunculus Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
|
||||||
|
//
|
||||||
|
// 01. Class Homunculus ID.
|
||||||
|
// 02. EvoClass Homunculus ID of the evolved version.
|
||||||
|
// 03. Name Name of the homunculus.
|
||||||
|
// 04. FoodID Item ID of the homunuclus food.
|
||||||
|
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
|
||||||
|
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
|
||||||
|
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
|
||||||
|
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
|
||||||
|
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
|
||||||
|
// The element level is always 1.
|
||||||
|
// ...
|
||||||
|
//
|
||||||
|
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
|
||||||
|
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
|
||||||
|
|
5
db/import-tmpl/instance_db.txt
Normal file
5
db/import-tmpl/instance_db.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Instance Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID,Name,LimitTime,EnterMap,EnterX,EnterY,Map1,Map2,Map3,Map4,Map5,Map6,Map7,Map8
|
||||||
|
|
11
db/import-tmpl/item_avail.txt
Normal file
11
db/import-tmpl/item_avail.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// Item Availability and Alias Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID,SpriteID
|
||||||
|
//
|
||||||
|
// 01. ItemID Item ID to change.
|
||||||
|
// 02. SpriteID Item ID which will be sent to the client instead of ItemID.
|
||||||
|
// If 0, the item becomes unavailable for use. If item_check is enabled and a player owns such an item, it will be removed upon next login/teleport.
|
||||||
|
//
|
||||||
|
// NOTE: Replaces an item client-side while keeping them separate server-side.
|
||||||
|
// Think of it as a way to disguise items.
|
10
db/import-tmpl/item_buyingstore.txt
Normal file
10
db/import-tmpl/item_buyingstore.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Buying Store Item List
|
||||||
|
// List of items that can be sold to buying stores.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID
|
||||||
|
//
|
||||||
|
// Note:
|
||||||
|
// Items are in same order as data\buyingstoreitemlist.txt, which
|
||||||
|
// must be edited as well for the client to accept added items.
|
||||||
|
|
18
db/import-tmpl/item_cash_db.txt
Normal file
18
db/import-tmpl/item_cash_db.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Cash Shop Database
|
||||||
|
// Contains the items sold in the ingame cash shop.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Type,ItemID,Price
|
||||||
|
//
|
||||||
|
// Type:
|
||||||
|
// 0: New
|
||||||
|
// 1: Hot
|
||||||
|
// 2: Limited
|
||||||
|
// 3: Rental
|
||||||
|
// 4: Gear
|
||||||
|
// 5: Buff
|
||||||
|
// 6: Heal
|
||||||
|
// 7: Other
|
||||||
|
//
|
||||||
|
// Price:
|
||||||
|
// Item cost, in cash points (#CASHPOINTS).
|
5
db/import-tmpl/item_combo_db.txt
Normal file
5
db/import-tmpl/item_combo_db.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Item Combos Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID:ID:ID:ID,{ Script }
|
||||||
|
|
63
db/import-tmpl/item_db.txt
Normal file
63
db/import-tmpl/item_db.txt
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
// Items Additional Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID,Name,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Class,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
|
||||||
|
//
|
||||||
|
// THQ Quest Items
|
||||||
|
//=============================================================
|
||||||
|
//7950,THG_Membership,THG Membership,3,,10,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
//7951,Token_Bag,Token Bag,3,,10,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
//1998,Jeramiah's_Jur,Jeramiah's Jur,3,,10,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
//1999,Zed's_Staff,Zed's Staff,3,,10,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
|
||||||
|
// Official Event Items that had their Effects removed after the event was completed
|
||||||
|
//585,Wurst,Brusti,11,2,,40,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(15,20),0; itemskill "PR_MAGNIFICAT",3; },{},{}
|
||||||
|
//679,Gold_Pill,Pilule,0,5000,,300,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 50,50; },{},{}
|
||||||
|
|
||||||
|
//2681,Republic_Ring,Republic Anniversary Ring,4,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bAllStats,3; },{},{}
|
||||||
|
|
||||||
|
//5134,Pumpkin_Hat,Pumpkin-Head,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus2 bSubRace,RC_Demon,5; },{},{}
|
||||||
|
//5136,Santa's_Hat_,Louise's Santa Hat,4,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,20,{ bonus bMdef,1; bonus bLuk,1; bonus3 bAutoSpellWhenHit,"AL_HEAL",3,50; bonus3 bAutoSpellWhenHit,"AL_BLESSING",10,50; },{},{}
|
||||||
|
//5145,Carnival_Joker_Jester,Carnival Jester,4,10,,100,,0,,0,0xFFFFFFFF,7,2,256,,0,1,89,{ bonus bAllStats,3; },{},{}
|
||||||
|
//5147,Baseball_Cap,Baseball Cap,4,0,,200,,3,,0,0xFFFFFFFF,7,2,256,,0,1,216,{ bonus2 bExpAddRace,RC_Boss,50; bonus2 bExpAddRace,RC_NonBoss,50; },{},{}
|
||||||
|
//5201,Party_Hat_B,2nd Anniversary Party Hat,4,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,0,1,144,{ bonus bAllStats,3; },{},{}
|
||||||
|
//5202,Pumpkin_Hat_,Pumpkin Hat,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus bAllStats,2; bonus2 bSubRace,RC_Demon,5; bonus3 bAddMonsterDropItem,529,RC_DemiHuman,1500; },{},{}
|
||||||
|
//5204,Event_Pierrot_Nose,Rudolf's Red Nose,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,0,49,{ bonus2 bResEff,Eff_Blind,3000; bonus2 bAddMonsterDropItem,12130,30; },{},{}
|
||||||
|
//5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
|
||||||
|
//5356,Pumpkin_Hat_H,Pumpkin Hat,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus bAllStats,2; bonus2 bSubRace,RC_Demon,5; bonus2 bMagicAddRace,RC_Demon,5; },{},{}
|
||||||
|
//5811,Santa_Beard,Santa Beard,4,20,,100,,5,,0,0xFFFFFFFF,7,2,1,,0,0,25,{ bonus2 bSubRace,RC_Brute,5; },{},{}
|
||||||
|
|
||||||
|
//11702,Moon_Cookie,Moon Cookie,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; sc_end SC_Hallucination; itemskill "AL_BLESSING",7; },{},{}
|
||||||
|
//12131,Lucky_Potion,Lucky Potion,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_LUKFood,180000,15; },{},{}
|
||||||
|
//12143,Red_Can,Red Can,2,50000,,300,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 25,25; },{},{}
|
||||||
|
//Event effect: Summon monster? Probably Rice_Cake. x_x
|
||||||
|
//12199,Rice_Scroll,Rice Scroll,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
|
||||||
|
//12200,Event_Cake,Event Cake,2,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "PR_MAGNIFICAT",3; },{},{}
|
||||||
|
//12238,New_Year_Rice_Cake_1,New Year Rice Cake,0,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 20,15; sc_start SC_STRFood,1200000,3; sc_start SC_INTFood,1200000,3; sc_start SC_LUKFood,1200000,3; sc_start SC_SpeedUp1,5000,0; },{},{}
|
||||||
|
//12239,New_Year_Rice_Cake_2,New Year Rice Cake,0,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 20,15; sc_start SC_DEXFood,1200000,3; sc_start SC_AGIFood,1200000,3; sc_start SC_VITFood,1200000,3; sc_start SC_SpeedUp1,5000,0; },{},{}
|
||||||
|
|
||||||
|
// iRO St. Patrick's Day Event 2008
|
||||||
|
//=============================================================
|
||||||
|
//12715,Black_Treasure_Chest,Black Treasure Chest,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_08stpattyseventbox"; },{},{}
|
||||||
|
|
||||||
|
// iRO Valentine's Day Event 2009
|
||||||
|
//=============================================================
|
||||||
|
//12742,Valentine_Gift_Box_M,Valentine Gift Box,2,10,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 7946,1; },{},{}
|
||||||
|
//12743,Valentine_Gift_Box_F,Valentine Gift Box,2,10,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 7947,1; },{},{}
|
||||||
|
//12744,Chocolate_Box,Chocolate Box,2,10,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 558,1; },{},{}
|
||||||
|
//14466,Valentine's_Emblem_Box,Valentine's Emblem Box,2,10,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 5817,1; },{},{}
|
||||||
|
//7946,Gold_Ring_Of_Valentine,Gold Ring Of Valentine,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||||
|
//7947,Silver_Ring_Of_Valentine,Silver Ring Of Valentine,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||||
|
//7948,Box,Box,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
//5817,Valentine's_Emblem,Valentine's Emblem,4,10,,0,,3,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bAtkRate,3; bonus bMatkRate,3; bonus bAllStats,2; bonus bFlee,10; bonus bAspd,1; bonus bMdef,3; bonus2 bSkillAtk,"AL_HEAL",10; bonus2 bSkillHeal,"AL_HEAL",10; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bAddItemHealRate,IG_Potion,10; },{},{}
|
||||||
|
|
||||||
|
// iRO Halloween Event 2009
|
||||||
|
//=============================================================
|
||||||
|
//5668,Weird_Pumpkin_Hat,Weird Pumpkin Hat,4,20,,0,,5,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus bMdef,5; bonus2 bAddMonsterDropItem,12192,2500; },{},{}
|
||||||
|
//6298,Crushed_Pumpkin,Crushed Pumpkin,3,0,,0,,,,,,,,,,,,,{},{},{}
|
||||||
|
//6299,Worn_Fabric,Worn Fabric,3,0,,0,,,,,,,,,,,,,{},{},{}
|
||||||
|
|
||||||
|
// Old Tuxedo and Wedding Dress, will display the outfit when worn.
|
||||||
|
//==================================================================
|
||||||
|
//2338,Wedding_Dress,Wedding Dress,4,43000,,500,,0,,0,0xFFFFFFFE,7,0,16,,0,1,0,{},{ setoption Option_Wedding,1; },{ setoption Option_Wedding,0; }
|
||||||
|
//7170,Tuxedo,Tuxedo,4,43000,,10,,0,,0,0xFFFFFFFE,7,1,16,,0,1,0,{},{ setoption Option_Wedding,1; },{ setoption Option_Wedding,0; }
|
8
db/import-tmpl/item_delay.txt
Normal file
8
db/import-tmpl/item_delay.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Item Delay Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Item ID,Delay in Milliseconds
|
||||||
|
//
|
||||||
|
// NOTE:
|
||||||
|
// There is a max concurrent number of entries set in src/map/itemdb.h as MAX_ITEMDELAYS.
|
||||||
|
|
2
db/import-tmpl/item_group_db.txt
Normal file
2
db/import-tmpl/item_group_db.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
//import: db/import/item_groupid.txt
|
||||||
|
|
27
db/import-tmpl/item_noequip.txt
Normal file
27
db/import-tmpl/item_noequip.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// Forbidden Items Database
|
||||||
|
// Defines restrictions on equipment, items, and cards in map types and zones.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID,Flag
|
||||||
|
//
|
||||||
|
// Legend for 'Flag' field (bitmask):
|
||||||
|
// 1 - restricted in normal maps
|
||||||
|
// 2 - restricted in PVP
|
||||||
|
// 4 - restricted in GVG
|
||||||
|
// 8 - restricted in Battlegrounds
|
||||||
|
// Restricted zones - configured by 'restricted <number>' mapflag
|
||||||
|
// 32 - restricted in zone 1
|
||||||
|
// 64 - restricted in zone 2
|
||||||
|
// 128 - restricted in zone 3
|
||||||
|
// 256 - restricted in zone 4
|
||||||
|
// 512 - restricted in zone 5
|
||||||
|
// 1024 - restricted in zone 6
|
||||||
|
// 2048 - restricted in zone 7
|
||||||
|
//
|
||||||
|
// Examples:
|
||||||
|
// 1201,1 // Knife can't be worn on normal maps
|
||||||
|
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
||||||
|
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
||||||
|
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
||||||
|
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
||||||
|
|
137
db/import-tmpl/item_nouse.txt
Normal file
137
db/import-tmpl/item_nouse.txt
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
// Item Usage Restriction Configuration File
|
||||||
|
// Defines if an item cannot be used under special circumstances.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID,Flag,Group ID Override
|
||||||
|
//
|
||||||
|
// Flag:
|
||||||
|
// 1 = Cannot use item while sitting
|
||||||
|
// ... [more to come]
|
||||||
|
//
|
||||||
|
// Group ID Override:
|
||||||
|
// Group ID necessary to override this setting.
|
||||||
|
|
||||||
|
619,1,100 // Unripe_Apple
|
||||||
|
620,1,100 // Orange_Juice
|
||||||
|
621,1,100 // Bitter_Herb
|
||||||
|
622,1,100 // Rainbow_Carrot
|
||||||
|
623,1,100 // Earthworm_The_Dude
|
||||||
|
624,1,100 // Rotten_Fish
|
||||||
|
625,1,100 // Lusty_Iron
|
||||||
|
626,1,100 // Monster_Juice
|
||||||
|
627,1,100 // Sweet_Milk
|
||||||
|
628,1,100 // Well_Dried_Bone
|
||||||
|
629,1,100 // Singing_Flower
|
||||||
|
630,1,100 // Dew_Laden_Moss
|
||||||
|
631,1,100 // Deadly_Noxious_Herb
|
||||||
|
632,1,100 // Fatty_Chubby_Earthworm
|
||||||
|
633,1,100 // Baked_Yam
|
||||||
|
634,1,100 // Tropical_Banana
|
||||||
|
635,1,100 // Horror_Of_Tribe
|
||||||
|
636,1,100 // No_Recipient
|
||||||
|
637,1,100 // Old_Broom
|
||||||
|
638,1,100 // Silver_Knife_Of_Chaste
|
||||||
|
639,1,100 // Armlet_Of_Obedience
|
||||||
|
640,1,100 // Shining_Stone
|
||||||
|
641,1,100 // Contracts_In_Shadow
|
||||||
|
642,1,100 // Book_Of_Devil
|
||||||
|
659,1,100 // Heart_Of_Her
|
||||||
|
660,1,100 // Prohibition_Red_Candle
|
||||||
|
661,1,100 // Sway_Apron
|
||||||
|
686,1,100 // Earth_Scroll_1_3
|
||||||
|
687,1,100 // Earth_Scroll_1_5
|
||||||
|
688,1,100 // Cold_Scroll_1_3
|
||||||
|
689,1,100 // Cold_Scroll_1_5
|
||||||
|
690,1,100 // Fire_Scroll_1_3
|
||||||
|
691,1,100 // Fire_Scroll_1_5
|
||||||
|
692,1,100 // Wind_Scroll_1_3
|
||||||
|
693,1,100 // Wind_Scroll_1_5
|
||||||
|
694,1,100 // Ghost_Scroll_1_3
|
||||||
|
695,1,100 // Ghost_Scroll_1_5
|
||||||
|
696,1,100 // Fire_Scroll_2_1
|
||||||
|
697,1,100 // Fire_Scroll_2_5
|
||||||
|
698,1,100 // Fire_Scroll_3_1
|
||||||
|
699,1,100 // Fire_Scroll_3_5
|
||||||
|
700,1,100 // Cold_Scroll_2_1
|
||||||
|
11702,1,100 // Moon_Cookie
|
||||||
|
12000,1,100 // Cold_Scroll_2_5
|
||||||
|
12001,1,100 // Holy_Scroll_1_3
|
||||||
|
12002,1,100 // Holy_Scroll_1_5
|
||||||
|
12027,1,100 // Giggling_Box
|
||||||
|
12028,1,100 // Box_Of_Thunder
|
||||||
|
12029,1,100 // Gloomy_Box
|
||||||
|
12030,1,100 // Box_Of_Grudge
|
||||||
|
12031,1,100 // Sleepy_Box
|
||||||
|
12032,1,100 // Box_Of_Storm
|
||||||
|
12033,1,100 // Box_Of_Sunlight
|
||||||
|
12034,1,100 // Painting_Box
|
||||||
|
12215,1,100 // Blessing_10_Scroll
|
||||||
|
12216,1,100 // Inc_Agi_10_Scroll
|
||||||
|
12217,1,100 // Aspersio_5_Scroll
|
||||||
|
12218,1,100 // Assumptio_5_Scroll
|
||||||
|
12219,1,100 // Wind_Walk_10_Scroll
|
||||||
|
12220,1,100 // Adrenaline_Scroll
|
||||||
|
12225,1,100 // Sweet_Candy_Striper
|
||||||
|
12235,1,100 // Strawberry_Choco
|
||||||
|
12236,1,100 // Choco_Tart
|
||||||
|
12237,1,100 // Choco_Lump
|
||||||
|
12290,1,100 // Mysterious_Can
|
||||||
|
12291,1,100 // Mysterious_PET_Bottle
|
||||||
|
12310,1,100 // Spray_Of_Flowers
|
||||||
|
12311,1,100 // Large_Spray_Of_Flowers
|
||||||
|
12313,1,100 // Protection_Of_Angel
|
||||||
|
12323,1,100 // N_Fly_Wing
|
||||||
|
12324,1,100 // N_Butterfly_Wing
|
||||||
|
12325,1,100 // N_Magnifier
|
||||||
|
12340,1,100 // Mysterious_Rice_Powder
|
||||||
|
12347,1,100 // Acorn_Jelly
|
||||||
|
12350,1,100 // Angeling_Potion
|
||||||
|
12358,1,100 // Fan_Of_Wind
|
||||||
|
12359,1,100 // Very_Soft_Plant
|
||||||
|
12360,1,100 // Very_Red_Juice
|
||||||
|
12361,1,100 // Delicious_Shaved_Ice
|
||||||
|
12362,1,100 // Kuloren
|
||||||
|
12363,1,100 // Fit_Pipe
|
||||||
|
12364,1,100 // Staff_Of_Leader
|
||||||
|
12365,1,100 // Charming_Lotus
|
||||||
|
12366,1,100 // Gril_Doll
|
||||||
|
12367,1,100 // Luxury_Whisky_Bottle
|
||||||
|
12368,1,100 // Splendid_Mirror
|
||||||
|
12369,1,100 // Oilpalm_Coconut
|
||||||
|
12370,1,100 // Gril's_Naivety
|
||||||
|
12371,1,100 // Magical_Lithography
|
||||||
|
12372,1,100 // Hell_Contract
|
||||||
|
12373,1,100 // Boy's_Naivety
|
||||||
|
12374,1,100 // Flaming_Ice
|
||||||
|
12376,1,100 // Mysterious_Can2
|
||||||
|
12377,1,100 // Mysterious_PET_Bottle2
|
||||||
|
12388,1,100 // Runstone_Crush
|
||||||
|
12389,1,100 // Runstone_Storm
|
||||||
|
12390,1,100 // Runstone_Millennium
|
||||||
|
12396,1,100 // Fools_Day_Box
|
||||||
|
12397,1,100 // Fools_Day_Box2
|
||||||
|
12415,1,100 // Siege_Teleport_Scroll2
|
||||||
|
12473,1,100 // RWC_Parti_Box
|
||||||
|
12474,1,100 // RWC_Final_Comp_Box
|
||||||
|
12706,1,100 // Lucky_Cookie01
|
||||||
|
12707,1,100 // Lucky_Cookie02
|
||||||
|
12708,1,100 // Lucky_Cookie03
|
||||||
|
12725,1,100 // Runstone_Nosiege
|
||||||
|
12726,1,100 // Runstone_Rhydo
|
||||||
|
12727,1,100 // Runstone_Verkana
|
||||||
|
12728,1,100 // Runstone_Isia
|
||||||
|
12729,1,100 // Runstone_Asir
|
||||||
|
12730,1,100 // Runstone_Urj
|
||||||
|
12731,1,100 // Runstone_Turisus
|
||||||
|
12732,1,100 // Runstone_Pertz
|
||||||
|
12733,1,100 // Runstone_Hagalas
|
||||||
|
14521,1,100 // Repair_Scroll
|
||||||
|
14529,1,100 // Greed_Scroll
|
||||||
|
14532,1,100 // Battle_Manual25
|
||||||
|
14587,1,100 // Repair_Scroll_
|
||||||
|
14591,1,100 // Siege_Teleport_Scroll
|
||||||
|
14592,1,100 // Job_Manual50
|
||||||
|
14593,1,100 // Magic_Power_Scroll
|
||||||
|
14594,1,100 // Quagmire_Scroll
|
||||||
|
14599,1,100 // Greed_Scroll_C
|
||||||
|
14606,1,100 // Job_Manual25
|
18
db/import-tmpl/item_stack.txt
Normal file
18
db/import-tmpl/item_stack.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Item Stacking Restriction File
|
||||||
|
// Prevents an item to be stacked more than x times in given
|
||||||
|
// inventory types. Generally used by 3rd class related skill items.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID,MaxStackAmount,Type
|
||||||
|
//
|
||||||
|
// MaxStackAmount:
|
||||||
|
// Stack limit for the item. Use 0 to disable a restriction.
|
||||||
|
//
|
||||||
|
// Type mask values:
|
||||||
|
// &1: Character inventory restriction
|
||||||
|
// &2: Character cart restriction
|
||||||
|
// &4: Account storage restriction
|
||||||
|
// &8: Guild storage restriction
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
// 512,4,12 // Will not allow more than 4 Apples in storages.
|
22
db/import-tmpl/item_trade.txt
Normal file
22
db/import-tmpl/item_trade.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Item Trade Restrictions Database
|
||||||
|
// Defines special trade rules for individual items.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Item ID, TradeMask,Group Level Override
|
||||||
|
//
|
||||||
|
// Legend for 'TradeMask' field (bitmask):
|
||||||
|
// 1 - item can't be dropped
|
||||||
|
// 2 - item can't be traded (nor vended)
|
||||||
|
// 4 - wedded partner can override restriction 2
|
||||||
|
// 8 - item can't be sold to npcs
|
||||||
|
// 16 - item can't be placed in the cart
|
||||||
|
// 32 - item can't be placed in the storage
|
||||||
|
// 64 - item can't be placed in the guild storage
|
||||||
|
// 128 - item can't be attached to mail
|
||||||
|
// 256 - item can't be auctioned
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
// 1161,67,50
|
||||||
|
// Balmung cannot be dropped, traded, or placed in Guild Storage (1+2+64).
|
||||||
|
// Only groups of group-level 50 and up can override this setting.
|
||||||
|
|
14
db/import-tmpl/job_basehpsp_db.txt
Normal file
14
db/import-tmpl/job_basehpsp_db.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Base HP/SP Tables
|
||||||
|
// Supports up to base level 500.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// StartLevel,EndLevel,JobID,Type,Base value for Lv 1,2,...,Base value for 'Max level'
|
||||||
|
//
|
||||||
|
// Type:
|
||||||
|
// 0 = BaseHP, 1 = BaseSP
|
||||||
|
|
||||||
|
//===============================
|
||||||
|
// Base HP Table
|
||||||
|
// According to base HP calculation on http://irowiki.org/wiki/Max_HP
|
||||||
|
//===============================
|
||||||
|
|
5
db/import-tmpl/job_db1.txt
Normal file
5
db/import-tmpl/job_db1.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Job-specific Values Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// JobID,Weight,HPFactor,HPMultiplicator,SPFactor,Unarmed,Dagger,1HSword,2HSword,1HSpear,2HSpear,1HAxe,2HAxe,1HMace,2HMace(unused),Rod,Bow,Knuckle,Instrument,Whip,Book,Katar,Revolver,Rifle,Gatling Gun,Shotgun,Grenade Launcher,Fuuma Shuriken,2HStaff,Shield
|
||||||
|
//
|
14
db/import-tmpl/job_db2.txt
Normal file
14
db/import-tmpl/job_db2.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Job-specific Stat Bonuses Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// JobID,JobLv1,JobLv2,JobLv3,...
|
||||||
|
//
|
||||||
|
// Legend for 'JobLvN' fields:
|
||||||
|
// 0 = No stat bonus at this job level
|
||||||
|
// 1 = STR increased by 1 at this job level
|
||||||
|
// 2 = AGI increased by 1 at this job level
|
||||||
|
// 3 = VIT increased by 1 at this job level
|
||||||
|
// 4 = INT increased by 1 at this job level
|
||||||
|
// 5 = DEX increased by 1 at this job level
|
||||||
|
// 6 = LUK increased by 1 at this job level
|
||||||
|
|
9
db/import-tmpl/job_exp.txt
Normal file
9
db/import-tmpl/job_exp.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Experience Tables [Renewal]
|
||||||
|
// Supports up to base level 1000 and job level 255 (excluding Novice/High Novice).
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Max Level,Class list,Type,Exp for Lv 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98
|
||||||
|
//
|
||||||
|
// Type:
|
||||||
|
// 0 = Base Exp, 1 = Job Exp
|
||||||
|
|
15
db/import-tmpl/job_param_db.txt
Normal file
15
db/import-tmpl/job_param_db.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Max Parameter Database
|
||||||
|
// Sets maximum stat parameters for specific jobs.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// JobID,MaxParam
|
||||||
|
// OR
|
||||||
|
// JobID,MaxStr,MaxAgi,MaxVit,MaxInt,MaxDex,MaxLuk
|
||||||
|
//
|
||||||
|
// JobID: Job constants in 'db/const.txt'
|
||||||
|
// MaxParams: Value between 10 ~ 32767 (SHRT_MAX)
|
||||||
|
//
|
||||||
|
// Examples:
|
||||||
|
// Job_Novice,60
|
||||||
|
// Normally, Novice's max. param uses 'max_parameter' in 'conf/battle/player.conf'.
|
||||||
|
// With this config, Novice's max. param will be 60 (for all stats).
|
13
db/import-tmpl/level_penalty.txt
Normal file
13
db/import-tmpl/level_penalty.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Experience & Drop Rate Modifier Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Type,Class,Level difference,Rate
|
||||||
|
//
|
||||||
|
// TYPE:
|
||||||
|
// 1=experience, 2=item drop
|
||||||
|
// CLASS:
|
||||||
|
// 0=Normal monsters, 1=Boss monsters, 2=Guardians
|
||||||
|
//
|
||||||
|
// Note: RENEWAL_DROP and/or RENEWAL_EXP must be enabled.
|
||||||
|
|
||||||
|
// EXP modifiers due to level difference
|
29
db/import-tmpl/magicmushroom_db.txt
Normal file
29
db/import-tmpl/magicmushroom_db.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Magic Mushroom Database
|
||||||
|
// List of skills that are randomly used through Magic Mushroom status change.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID
|
||||||
|
|
||||||
|
7 //SM_MAGNUM
|
||||||
|
8 //SM_ENDURE
|
||||||
|
10 //MG_SIGHT
|
||||||
|
24 //AL_RUWACH
|
||||||
|
32 //AL_CRUCIS
|
||||||
|
33 //AL_ANGELUS
|
||||||
|
45 //AC_CONCENTRATION
|
||||||
|
61 //KN_AUTOCOUNTER
|
||||||
|
74 //PR_MAGNIFICAT
|
||||||
|
110 //BS_HAMMERFALL
|
||||||
|
114 //BS_MAXIMIZE
|
||||||
|
142 //NV_FIRSTAID
|
||||||
|
150 //TF_BACKSLIDING
|
||||||
|
151 //TF_PICKSTONE
|
||||||
|
157 //MG_ENERGYCOAT
|
||||||
|
249 //CR_AUTOGUARD
|
||||||
|
256 //CR_PROVIDENCE
|
||||||
|
261 //MO_CALLSPIRITS
|
||||||
|
270 //MO_EXPLOSIONSPIRITS
|
||||||
|
326 //DC_SCREAM
|
||||||
|
500 //GS_GLITTERING
|
||||||
|
527 //NJ_TATAMIGAESHI
|
||||||
|
531 //NJ_UTSUSEMI
|
987
db/import-tmpl/map_index.txt
Normal file
987
db/import-tmpl/map_index.txt
Normal file
@ -0,0 +1,987 @@
|
|||||||
|
//======================================================================================
|
||||||
|
// Map Index
|
||||||
|
//======================================================================================
|
||||||
|
//Contains the list of maps with their respective IDs for inter-server use.
|
||||||
|
//IDs must never change, therefore any new maps need to be added at the end,
|
||||||
|
//and old ones must not be removed, but may be replaced.
|
||||||
|
//Format:
|
||||||
|
//mapname<tab>index <- specifies index for this map
|
||||||
|
//mapname <- map will use index of previous map +1
|
||||||
|
//Note that map index 0 is special and reserved for "error" status.
|
||||||
|
|
||||||
|
alb_ship 1
|
||||||
|
alb2trea
|
||||||
|
alberta
|
||||||
|
alberta_in
|
||||||
|
alde_dun01
|
||||||
|
alde_dun02
|
||||||
|
alde_dun03
|
||||||
|
alde_dun04
|
||||||
|
aldeba_in
|
||||||
|
aldebaran
|
||||||
|
anthell01
|
||||||
|
anthell02
|
||||||
|
arena_room
|
||||||
|
c_tower1
|
||||||
|
c_tower2
|
||||||
|
c_tower3
|
||||||
|
c_tower4
|
||||||
|
force_1-1
|
||||||
|
force_1-2
|
||||||
|
force_1-3
|
||||||
|
force_2-1
|
||||||
|
force_2-2
|
||||||
|
force_2-3
|
||||||
|
force_3-1
|
||||||
|
force_3-2
|
||||||
|
force_3-3
|
||||||
|
gef_dun00
|
||||||
|
gef_dun01
|
||||||
|
gef_dun02
|
||||||
|
gef_dun03
|
||||||
|
gef_fild00
|
||||||
|
gef_fild01
|
||||||
|
gef_fild02
|
||||||
|
gef_fild03
|
||||||
|
gef_fild04
|
||||||
|
gef_fild05
|
||||||
|
gef_fild06
|
||||||
|
gef_fild07
|
||||||
|
gef_fild08
|
||||||
|
gef_fild09
|
||||||
|
gef_fild10
|
||||||
|
gef_fild11
|
||||||
|
gef_fild12
|
||||||
|
gef_fild13
|
||||||
|
gef_fild14
|
||||||
|
gef_tower
|
||||||
|
geffen
|
||||||
|
geffen_in
|
||||||
|
gl_cas01
|
||||||
|
gl_cas02
|
||||||
|
gl_church
|
||||||
|
gl_chyard
|
||||||
|
gl_dun01
|
||||||
|
gl_dun02
|
||||||
|
gl_in01
|
||||||
|
gl_knt01
|
||||||
|
gl_knt02
|
||||||
|
gl_prison
|
||||||
|
gl_prison1
|
||||||
|
gl_sew01
|
||||||
|
gl_sew02
|
||||||
|
gl_sew03
|
||||||
|
gl_sew04
|
||||||
|
gl_step
|
||||||
|
glast_01
|
||||||
|
hunter_1-1
|
||||||
|
hunter_2-1
|
||||||
|
hunter_3-1
|
||||||
|
in_hunter
|
||||||
|
in_moc_16
|
||||||
|
in_orcs01
|
||||||
|
in_sphinx1
|
||||||
|
in_sphinx2
|
||||||
|
in_sphinx3
|
||||||
|
in_sphinx4
|
||||||
|
in_sphinx5
|
||||||
|
iz_dun00
|
||||||
|
iz_dun01
|
||||||
|
iz_dun02
|
||||||
|
iz_dun03
|
||||||
|
iz_dun04
|
||||||
|
job_sword1
|
||||||
|
izlu2dun
|
||||||
|
izlude
|
||||||
|
izlude_in
|
||||||
|
job_thief1
|
||||||
|
knight_1-1
|
||||||
|
knight_2-1
|
||||||
|
knight_3-1
|
||||||
|
mjo_dun01
|
||||||
|
mjo_dun02
|
||||||
|
mjo_dun03
|
||||||
|
mjolnir_01
|
||||||
|
mjolnir_02
|
||||||
|
mjolnir_03
|
||||||
|
mjolnir_04
|
||||||
|
mjolnir_05
|
||||||
|
mjolnir_06
|
||||||
|
mjolnir_07
|
||||||
|
mjolnir_08
|
||||||
|
mjolnir_09
|
||||||
|
mjolnir_10
|
||||||
|
mjolnir_11
|
||||||
|
mjolnir_12
|
||||||
|
moc_castle
|
||||||
|
moc_fild01
|
||||||
|
moc_fild02
|
||||||
|
moc_fild03
|
||||||
|
moc_fild04
|
||||||
|
moc_fild05
|
||||||
|
moc_fild06
|
||||||
|
moc_fild07
|
||||||
|
moc_fild08
|
||||||
|
moc_fild09
|
||||||
|
moc_fild10
|
||||||
|
moc_fild11
|
||||||
|
moc_fild12
|
||||||
|
moc_fild13
|
||||||
|
moc_fild14
|
||||||
|
moc_fild15
|
||||||
|
moc_fild16
|
||||||
|
moc_fild17
|
||||||
|
moc_fild18
|
||||||
|
moc_fild19
|
||||||
|
moc_pryd01
|
||||||
|
moc_pryd02
|
||||||
|
moc_pryd03
|
||||||
|
moc_pryd04
|
||||||
|
moc_pryd05
|
||||||
|
moc_pryd06
|
||||||
|
moc_prydb1
|
||||||
|
moc_ruins
|
||||||
|
monk_in
|
||||||
|
morocc
|
||||||
|
morocc_in
|
||||||
|
new_1-1
|
||||||
|
new_1-2
|
||||||
|
new_1-3
|
||||||
|
new_1-4
|
||||||
|
new_2-1
|
||||||
|
new_2-2
|
||||||
|
new_2-3
|
||||||
|
new_2-4
|
||||||
|
new_3-1
|
||||||
|
new_3-2
|
||||||
|
new_3-3
|
||||||
|
new_3-4
|
||||||
|
new_4-1
|
||||||
|
new_4-2
|
||||||
|
new_4-3
|
||||||
|
new_4-4
|
||||||
|
new_5-1
|
||||||
|
new_5-2
|
||||||
|
new_5-3
|
||||||
|
new_5-4
|
||||||
|
orcsdun01
|
||||||
|
orcsdun02
|
||||||
|
ordeal_1-1
|
||||||
|
ordeal_1-2
|
||||||
|
//ordeal_1-3
|
||||||
|
//ordeal_1-4
|
||||||
|
ordeal_2-1
|
||||||
|
ordeal_2-2
|
||||||
|
//ordeal_2-3
|
||||||
|
//ordeal_2-4
|
||||||
|
ordeal_3-1
|
||||||
|
ordeal_3-2
|
||||||
|
//ordeal_3-3
|
||||||
|
//ordeal_3-4
|
||||||
|
pay_arche
|
||||||
|
pay_dun00
|
||||||
|
pay_dun01
|
||||||
|
pay_dun02
|
||||||
|
pay_dun03
|
||||||
|
pay_dun04
|
||||||
|
pay_fild01
|
||||||
|
pay_fild02
|
||||||
|
pay_fild03
|
||||||
|
pay_fild04
|
||||||
|
pay_fild05
|
||||||
|
pay_fild06
|
||||||
|
pay_fild07
|
||||||
|
pay_fild08
|
||||||
|
pay_fild09
|
||||||
|
pay_fild10
|
||||||
|
pay_fild11
|
||||||
|
payon
|
||||||
|
payon_in01
|
||||||
|
payon_in02
|
||||||
|
priest_1-1
|
||||||
|
priest_2-1
|
||||||
|
priest_3-1
|
||||||
|
prontera
|
||||||
|
prt_are_in
|
||||||
|
prt_are01
|
||||||
|
pvp_room
|
||||||
|
prt_castle
|
||||||
|
prt_church
|
||||||
|
prt_fild00
|
||||||
|
prt_fild01
|
||||||
|
prt_fild02
|
||||||
|
prt_fild03
|
||||||
|
prt_fild04
|
||||||
|
prt_fild05
|
||||||
|
prt_fild06
|
||||||
|
prt_fild07
|
||||||
|
prt_fild08
|
||||||
|
prt_fild09
|
||||||
|
prt_fild10
|
||||||
|
prt_fild11
|
||||||
|
prt_in
|
||||||
|
prt_maze01
|
||||||
|
prt_maze02
|
||||||
|
prt_maze03
|
||||||
|
prt_monk
|
||||||
|
prt_sewb1
|
||||||
|
prt_sewb2
|
||||||
|
prt_sewb3
|
||||||
|
prt_sewb4
|
||||||
|
pvp_2vs2
|
||||||
|
pvp_c_room
|
||||||
|
pvp_n_1-1
|
||||||
|
pvp_n_1-2
|
||||||
|
pvp_n_1-3
|
||||||
|
pvp_n_1-4
|
||||||
|
pvp_n_1-5
|
||||||
|
pvp_n_2-1
|
||||||
|
pvp_n_2-2
|
||||||
|
pvp_n_2-3
|
||||||
|
pvp_n_2-4
|
||||||
|
pvp_n_2-5
|
||||||
|
pvp_n_3-1
|
||||||
|
pvp_n_3-2
|
||||||
|
pvp_n_3-3
|
||||||
|
pvp_n_3-4
|
||||||
|
pvp_n_3-5
|
||||||
|
pvp_n_4-1
|
||||||
|
pvp_n_4-2
|
||||||
|
pvp_n_4-3
|
||||||
|
pvp_n_4-4
|
||||||
|
pvp_n_4-5
|
||||||
|
pvp_n_5-1
|
||||||
|
pvp_n_5-2
|
||||||
|
pvp_n_5-3
|
||||||
|
pvp_n_5-4
|
||||||
|
pvp_n_5-5
|
||||||
|
pvp_n_6-1
|
||||||
|
pvp_n_6-2
|
||||||
|
pvp_n_6-3
|
||||||
|
pvp_n_6-4
|
||||||
|
pvp_n_6-5
|
||||||
|
pvp_n_7-1
|
||||||
|
pvp_n_7-2
|
||||||
|
pvp_n_7-3
|
||||||
|
pvp_n_7-4
|
||||||
|
pvp_n_7-5
|
||||||
|
pvp_n_8-1
|
||||||
|
pvp_n_8-2
|
||||||
|
pvp_n_8-3
|
||||||
|
pvp_n_8-4
|
||||||
|
pvp_n_8-5
|
||||||
|
pvp_n_room
|
||||||
|
pvp_y_1-1
|
||||||
|
pvp_y_1-2
|
||||||
|
pvp_y_1-3
|
||||||
|
pvp_y_1-4
|
||||||
|
pvp_y_1-5
|
||||||
|
pvp_y_2-1
|
||||||
|
pvp_y_2-2
|
||||||
|
pvp_y_2-3
|
||||||
|
pvp_y_2-4
|
||||||
|
pvp_y_2-5
|
||||||
|
pvp_y_3-1
|
||||||
|
pvp_y_3-2
|
||||||
|
pvp_y_3-3
|
||||||
|
pvp_y_3-4
|
||||||
|
pvp_y_3-5
|
||||||
|
pvp_y_4-1
|
||||||
|
pvp_y_4-2
|
||||||
|
pvp_y_4-3
|
||||||
|
pvp_y_4-4
|
||||||
|
pvp_y_4-5
|
||||||
|
pvp_y_5-1
|
||||||
|
pvp_y_5-2
|
||||||
|
pvp_y_5-3
|
||||||
|
pvp_y_5-4
|
||||||
|
pvp_y_5-5
|
||||||
|
pvp_y_6-1
|
||||||
|
pvp_y_6-2
|
||||||
|
pvp_y_6-3
|
||||||
|
pvp_y_6-4
|
||||||
|
pvp_y_6-5
|
||||||
|
pvp_y_7-1
|
||||||
|
pvp_y_7-2
|
||||||
|
pvp_y_7-3
|
||||||
|
pvp_y_7-4
|
||||||
|
pvp_y_7-5
|
||||||
|
pvp_y_8-1
|
||||||
|
pvp_y_8-2
|
||||||
|
pvp_y_8-3
|
||||||
|
pvp_y_8-4
|
||||||
|
pvp_y_8-5
|
||||||
|
pvp_y_room
|
||||||
|
sword_1-1
|
||||||
|
sword_2-1
|
||||||
|
sword_3-1
|
||||||
|
treasure01
|
||||||
|
treasure02
|
||||||
|
wizard_1-1
|
||||||
|
wizard_2-1
|
||||||
|
wizard_3-1
|
||||||
|
xmas
|
||||||
|
xmas_dun01
|
||||||
|
xmas_dun02
|
||||||
|
xmas_fild01
|
||||||
|
xmas_in
|
||||||
|
beach_dun
|
||||||
|
beach_dun2
|
||||||
|
beach_dun3
|
||||||
|
cmd_fild01
|
||||||
|
cmd_fild02
|
||||||
|
cmd_fild03
|
||||||
|
cmd_fild04
|
||||||
|
cmd_fild05
|
||||||
|
cmd_fild06
|
||||||
|
cmd_fild07
|
||||||
|
cmd_fild08
|
||||||
|
cmd_fild09
|
||||||
|
cmd_in01
|
||||||
|
cmd_in02
|
||||||
|
comodo
|
||||||
|
quiz_00
|
||||||
|
quiz_01
|
||||||
|
g_room1-1
|
||||||
|
g_room1-2
|
||||||
|
g_room1-3
|
||||||
|
g_room2
|
||||||
|
tur_dun01
|
||||||
|
tur_dun02
|
||||||
|
tur_dun03
|
||||||
|
tur_dun04
|
||||||
|
tur_dun05
|
||||||
|
tur_dun06
|
||||||
|
alde_gld
|
||||||
|
aldeg_cas01
|
||||||
|
aldeg_cas02
|
||||||
|
aldeg_cas03
|
||||||
|
aldeg_cas04
|
||||||
|
aldeg_cas05
|
||||||
|
gefg_cas01
|
||||||
|
gefg_cas02
|
||||||
|
gefg_cas03
|
||||||
|
gefg_cas04
|
||||||
|
gefg_cas05
|
||||||
|
gld_dun01
|
||||||
|
gld_dun02
|
||||||
|
gld_dun03
|
||||||
|
gld_dun04
|
||||||
|
guild_room
|
||||||
|
guild_vs1
|
||||||
|
guild_vs2
|
||||||
|
guild_vs3
|
||||||
|
guild_vs4
|
||||||
|
guild_vs5
|
||||||
|
guild_vs1-1
|
||||||
|
guild_vs1-2
|
||||||
|
guild_vs1-3
|
||||||
|
guild_vs1-4
|
||||||
|
guild_vs2-1
|
||||||
|
guild_vs2-2
|
||||||
|
job_hunte
|
||||||
|
job_knt
|
||||||
|
job_prist
|
||||||
|
job_wiz
|
||||||
|
pay_gld
|
||||||
|
payg_cas01
|
||||||
|
payg_cas02
|
||||||
|
payg_cas03
|
||||||
|
payg_cas04
|
||||||
|
payg_cas05
|
||||||
|
prt_gld
|
||||||
|
prtg_cas01
|
||||||
|
prtg_cas02
|
||||||
|
prtg_cas03
|
||||||
|
prtg_cas04
|
||||||
|
prtg_cas05
|
||||||
|
alde_alche
|
||||||
|
in_rogue
|
||||||
|
job_cru
|
||||||
|
job_duncer
|
||||||
|
job_monk
|
||||||
|
job_sage
|
||||||
|
mag_dun01
|
||||||
|
mag_dun02
|
||||||
|
monk_test
|
||||||
|
quiz_test
|
||||||
|
yuno
|
||||||
|
yuno_fild01
|
||||||
|
yuno_fild02
|
||||||
|
yuno_fild03
|
||||||
|
yuno_fild04
|
||||||
|
yuno_in01
|
||||||
|
yuno_in02
|
||||||
|
yuno_in03
|
||||||
|
yuno_in04
|
||||||
|
yuno_in05
|
||||||
|
ama_dun01
|
||||||
|
ama_dun02
|
||||||
|
ama_dun03
|
||||||
|
ama_fild01
|
||||||
|
ama_in01
|
||||||
|
ama_in02
|
||||||
|
ama_test
|
||||||
|
amatsu
|
||||||
|
gon_dun01
|
||||||
|
gon_dun02
|
||||||
|
gon_dun03
|
||||||
|
gon_fild01
|
||||||
|
gon_in
|
||||||
|
gon_test
|
||||||
|
gonryun
|
||||||
|
sec_in01
|
||||||
|
sec_in02
|
||||||
|
sec_pri
|
||||||
|
umbala
|
||||||
|
um_dun01
|
||||||
|
um_dun02
|
||||||
|
um_fild01
|
||||||
|
um_fild02
|
||||||
|
um_fild03
|
||||||
|
um_fild04
|
||||||
|
um_in
|
||||||
|
niflheim
|
||||||
|
nif_fild01
|
||||||
|
nif_fild02
|
||||||
|
nif_in
|
||||||
|
yggdrasil01
|
||||||
|
valkyrie
|
||||||
|
himinn
|
||||||
|
lou_in01
|
||||||
|
lou_in02
|
||||||
|
lou_dun03
|
||||||
|
lou_dun02
|
||||||
|
lou_dun01
|
||||||
|
lou_fild01
|
||||||
|
louyang
|
||||||
|
siege_test
|
||||||
|
n_castle
|
||||||
|
nguild_gef
|
||||||
|
nguild_prt
|
||||||
|
nguild_pay
|
||||||
|
nguild_alde
|
||||||
|
jawaii
|
||||||
|
jawaii_in
|
||||||
|
gefenia01
|
||||||
|
gefenia02
|
||||||
|
gefenia03
|
||||||
|
gefenia04
|
||||||
|
new_zone01
|
||||||
|
new_zone02
|
||||||
|
new_zone03
|
||||||
|
new_zone04
|
||||||
|
payon_in03
|
||||||
|
ayothaya
|
||||||
|
ayo_in01
|
||||||
|
ayo_in02
|
||||||
|
ayo_fild01
|
||||||
|
ayo_fild02
|
||||||
|
ayo_dun01
|
||||||
|
ayo_dun02
|
||||||
|
que_god01
|
||||||
|
que_god02
|
||||||
|
yuno_fild05
|
||||||
|
yuno_fild07
|
||||||
|
yuno_fild08
|
||||||
|
yuno_fild09
|
||||||
|
yuno_fild11
|
||||||
|
yuno_fild12
|
||||||
|
alde_tt02
|
||||||
|
turbo_n_1
|
||||||
|
turbo_n_4
|
||||||
|
turbo_n_8
|
||||||
|
turbo_n_16
|
||||||
|
turbo_e_4
|
||||||
|
turbo_e_8
|
||||||
|
turbo_e_16
|
||||||
|
turbo_room
|
||||||
|
airplane
|
||||||
|
airport
|
||||||
|
einbech
|
||||||
|
einbroch
|
||||||
|
ein_dun01
|
||||||
|
ein_dun02
|
||||||
|
ein_fild06
|
||||||
|
ein_fild07
|
||||||
|
ein_fild08
|
||||||
|
ein_fild09
|
||||||
|
ein_fild10
|
||||||
|
ein_in01
|
||||||
|
que_sign01
|
||||||
|
que_sign02
|
||||||
|
ein_fild03
|
||||||
|
ein_fild04
|
||||||
|
lhz_fild02
|
||||||
|
lhz_fild03
|
||||||
|
yuno_pre
|
||||||
|
lhz_fild01
|
||||||
|
lighthalzen
|
||||||
|
lhz_in01
|
||||||
|
lhz_in02
|
||||||
|
lhz_in03
|
||||||
|
lhz_que01
|
||||||
|
lhz_dun01
|
||||||
|
lhz_dun02
|
||||||
|
lhz_dun03
|
||||||
|
lhz_cube
|
||||||
|
juperos_01
|
||||||
|
juperos_02
|
||||||
|
jupe_area1
|
||||||
|
jupe_area2
|
||||||
|
jupe_core
|
||||||
|
jupe_ele
|
||||||
|
jupe_ele_r
|
||||||
|
jupe_gate
|
||||||
|
y_airport
|
||||||
|
lhz_airport
|
||||||
|
airplane_01
|
||||||
|
jupe_cave
|
||||||
|
quiz_02
|
||||||
|
hu_fild07
|
||||||
|
hu_fild05
|
||||||
|
hu_fild04
|
||||||
|
hu_fild01
|
||||||
|
yuno_fild06
|
||||||
|
job_soul
|
||||||
|
job_star
|
||||||
|
que_job01
|
||||||
|
que_job02
|
||||||
|
que_job03
|
||||||
|
abyss_01
|
||||||
|
abyss_02
|
||||||
|
abyss_03
|
||||||
|
thana_step
|
||||||
|
thana_boss
|
||||||
|
tha_scene01
|
||||||
|
tha_t01
|
||||||
|
tha_t02
|
||||||
|
tha_t03
|
||||||
|
tha_t04
|
||||||
|
tha_t07
|
||||||
|
tha_t05
|
||||||
|
tha_t06
|
||||||
|
tha_t08
|
||||||
|
tha_t09
|
||||||
|
tha_t10
|
||||||
|
tha_t11
|
||||||
|
tha_t12
|
||||||
|
auction_01
|
||||||
|
auction_02
|
||||||
|
hugel
|
||||||
|
hu_in01
|
||||||
|
que_bingo
|
||||||
|
que_hugel
|
||||||
|
p_track01
|
||||||
|
p_track02
|
||||||
|
odin_tem01
|
||||||
|
odin_tem02
|
||||||
|
odin_tem03
|
||||||
|
hu_fild02
|
||||||
|
hu_fild03
|
||||||
|
hu_fild06
|
||||||
|
ein_fild01
|
||||||
|
ein_fild02
|
||||||
|
ein_fild05
|
||||||
|
yuno_fild10
|
||||||
|
kh_kiehl02
|
||||||
|
kh_kiehl01
|
||||||
|
kh_dun02
|
||||||
|
kh_dun01
|
||||||
|
kh_mansion
|
||||||
|
kh_rossi
|
||||||
|
kh_school
|
||||||
|
kh_vila
|
||||||
|
force_map1
|
||||||
|
force_map2
|
||||||
|
force_map3
|
||||||
|
job_hunter
|
||||||
|
job_knight
|
||||||
|
job_priest
|
||||||
|
job_wizard
|
||||||
|
ve_in02
|
||||||
|
rachel
|
||||||
|
ra_in01
|
||||||
|
ra_fild01
|
||||||
|
ra_fild02
|
||||||
|
ra_fild03
|
||||||
|
ra_fild04
|
||||||
|
ra_fild05
|
||||||
|
ra_fild06
|
||||||
|
ra_fild07
|
||||||
|
ra_fild08
|
||||||
|
ra_fild09
|
||||||
|
ra_fild10
|
||||||
|
ra_fild11
|
||||||
|
ra_fild12
|
||||||
|
ra_fild13
|
||||||
|
ra_san01
|
||||||
|
ra_san02
|
||||||
|
ra_san03
|
||||||
|
ra_san04
|
||||||
|
ra_san05
|
||||||
|
ra_temin
|
||||||
|
ra_temple
|
||||||
|
ra_temsky
|
||||||
|
que_rachel
|
||||||
|
ice_dun01
|
||||||
|
ice_dun02
|
||||||
|
ice_dun03
|
||||||
|
ice_dun04
|
||||||
|
que_thor
|
||||||
|
thor_camp
|
||||||
|
thor_v01
|
||||||
|
thor_v02
|
||||||
|
thor_v03
|
||||||
|
veins
|
||||||
|
ve_in
|
||||||
|
ve_fild01
|
||||||
|
ve_fild02
|
||||||
|
ve_fild03
|
||||||
|
ve_fild04
|
||||||
|
ve_fild05
|
||||||
|
ve_fild06
|
||||||
|
ve_fild07
|
||||||
|
poring_c01
|
||||||
|
poring_c02
|
||||||
|
que_ng
|
||||||
|
nameless_i
|
||||||
|
nameless_n
|
||||||
|
nameless_in
|
||||||
|
abbey01
|
||||||
|
abbey02
|
||||||
|
abbey03
|
||||||
|
poring_w01
|
||||||
|
poring_w02
|
||||||
|
que_san04
|
||||||
|
moscovia
|
||||||
|
mosk_in
|
||||||
|
mosk_ship
|
||||||
|
mosk_fild01
|
||||||
|
mosk_fild02
|
||||||
|
mosk_dun01
|
||||||
|
mosk_dun02
|
||||||
|
mosk_dun03
|
||||||
|
mosk_que
|
||||||
|
force_4-1
|
||||||
|
force_5-1
|
||||||
|
06guild_r
|
||||||
|
06guild_01
|
||||||
|
06guild_02
|
||||||
|
06guild_03
|
||||||
|
06guild_04
|
||||||
|
06guild_05
|
||||||
|
06guild_06
|
||||||
|
06guild_07
|
||||||
|
06guild_08
|
||||||
|
z_agit
|
||||||
|
que_temsky
|
||||||
|
itemmall
|
||||||
|
bossnia_01
|
||||||
|
bossnia_02
|
||||||
|
bossnia_03
|
||||||
|
bossnia_04
|
||||||
|
schg_cas01
|
||||||
|
schg_cas02
|
||||||
|
schg_cas03
|
||||||
|
schg_cas04
|
||||||
|
schg_cas05
|
||||||
|
sch_gld
|
||||||
|
cave
|
||||||
|
moc_fild20
|
||||||
|
moc_fild21
|
||||||
|
moc_fild22
|
||||||
|
que_ba
|
||||||
|
que_moc_16
|
||||||
|
que_moon
|
||||||
|
arug_cas01
|
||||||
|
arug_cas02
|
||||||
|
arug_cas03
|
||||||
|
arug_cas04
|
||||||
|
arug_cas05
|
||||||
|
aru_gld
|
||||||
|
bat_room
|
||||||
|
bat_a01
|
||||||
|
bat_a02
|
||||||
|
bat_b01
|
||||||
|
bat_b02
|
||||||
|
que_qsch01
|
||||||
|
que_qsch02
|
||||||
|
que_qsch03
|
||||||
|
que_qsch04
|
||||||
|
que_qsch05
|
||||||
|
que_qaru01
|
||||||
|
que_qaru02
|
||||||
|
que_qaru03
|
||||||
|
que_qaru04
|
||||||
|
que_qaru05
|
||||||
|
1@cata
|
||||||
|
2@cata
|
||||||
|
e_tower
|
||||||
|
1@tower
|
||||||
|
2@tower
|
||||||
|
3@tower
|
||||||
|
4@tower
|
||||||
|
5@tower
|
||||||
|
6@tower
|
||||||
|
mid_camp
|
||||||
|
mid_campin
|
||||||
|
man_fild01
|
||||||
|
man_fild03
|
||||||
|
spl_fild02
|
||||||
|
spl_fild03
|
||||||
|
moc_fild22b
|
||||||
|
que_dan01
|
||||||
|
que_dan02
|
||||||
|
schg_que01
|
||||||
|
schg_dun01
|
||||||
|
arug_que01
|
||||||
|
arug_dun01
|
||||||
|
1@orcs
|
||||||
|
2@orcs
|
||||||
|
1@nyd
|
||||||
|
2@nyd
|
||||||
|
nyd_dun01
|
||||||
|
nyd_dun02
|
||||||
|
manuk
|
||||||
|
man_fild02
|
||||||
|
man_in01
|
||||||
|
splendide
|
||||||
|
spl_fild01
|
||||||
|
spl_in01
|
||||||
|
spl_in02
|
||||||
|
bat_c01
|
||||||
|
bat_c02
|
||||||
|
bat_c03
|
||||||
|
moc_para01
|
||||||
|
job3_arch01
|
||||||
|
job3_arch02
|
||||||
|
job3_arch03
|
||||||
|
job3_guil01
|
||||||
|
job3_guil02
|
||||||
|
job3_guil03
|
||||||
|
job3_rang01
|
||||||
|
job3_rang02
|
||||||
|
job3_rune01
|
||||||
|
job3_rune02
|
||||||
|
job3_rune03
|
||||||
|
job3_war01
|
||||||
|
job3_war02
|
||||||
|
jupe_core2
|
||||||
|
brasilis
|
||||||
|
bra_in01
|
||||||
|
bra_fild01
|
||||||
|
bra_dun01
|
||||||
|
bra_dun02
|
||||||
|
dicastes01
|
||||||
|
dicastes02
|
||||||
|
dic_in01
|
||||||
|
dic_fild01
|
||||||
|
dic_fild02
|
||||||
|
dic_dun01
|
||||||
|
dic_dun02
|
||||||
|
job3_gen01
|
||||||
|
s_atelier
|
||||||
|
job3_sha01
|
||||||
|
//evt_zombie
|
||||||
|
//evt_coke
|
||||||
|
//ac_sl_area
|
||||||
|
//ac_cl_hall
|
||||||
|
//ac_cl_room
|
||||||
|
//jp_s_dun11
|
||||||
|
mora
|
||||||
|
bif_fild01
|
||||||
|
bif_fild02
|
||||||
|
1@mist
|
||||||
|
dewata
|
||||||
|
dew_in01
|
||||||
|
dew_fild01
|
||||||
|
dew_dun01
|
||||||
|
dew_dun02
|
||||||
|
que_house_s
|
||||||
|
malangdo
|
||||||
|
mal_in01
|
||||||
|
mal_in02
|
||||||
|
mal_dun01
|
||||||
|
1@pump
|
||||||
|
2@pump
|
||||||
|
1@cash
|
||||||
|
iz_dun05
|
||||||
|
evt_mobroom
|
||||||
|
alde_tt03
|
||||||
|
dic_dun03
|
||||||
|
//mjolnir_04_1
|
||||||
|
1@lhz
|
||||||
|
lhz_dun04
|
||||||
|
que_lhz
|
||||||
|
evt_swar_b
|
||||||
|
evt_swar_r
|
||||||
|
evt_swar_s
|
||||||
|
evt_swar_t
|
||||||
|
gld2_ald
|
||||||
|
gld2_gef
|
||||||
|
gld2_pay
|
||||||
|
gld2_prt
|
||||||
|
gld_dun01_2
|
||||||
|
gld_dun02_2
|
||||||
|
gld_dun03_2
|
||||||
|
gld_dun04_2
|
||||||
|
malaya
|
||||||
|
job_ko
|
||||||
|
ma_scene01
|
||||||
|
1@ma_b
|
||||||
|
1@ma_c
|
||||||
|
1@ma_h
|
||||||
|
ma_in01
|
||||||
|
ma_dun01
|
||||||
|
ma_fild01
|
||||||
|
ma_fild02
|
||||||
|
ma_zif01
|
||||||
|
ma_zif02
|
||||||
|
ma_zif03
|
||||||
|
ma_zif04
|
||||||
|
ma_zif05
|
||||||
|
ma_zif06
|
||||||
|
ma_zif07
|
||||||
|
ma_zif08
|
||||||
|
ma_zif09
|
||||||
|
new_event
|
||||||
|
eclage
|
||||||
|
ecl_fild01
|
||||||
|
ecl_tdun01
|
||||||
|
ecl_tdun02
|
||||||
|
ecl_tdun03
|
||||||
|
ecl_tdun04
|
||||||
|
que_avan01
|
||||||
|
1@ecl
|
||||||
|
ecl_in01
|
||||||
|
ecl_in02
|
||||||
|
ecl_in03
|
||||||
|
ecl_in04
|
||||||
|
ecl_hub01
|
||||||
|
moc_prydn1
|
||||||
|
moc_prydn2
|
||||||
|
iz_ac01
|
||||||
|
iz_ac02
|
||||||
|
treasure_n1
|
||||||
|
treasure_n2
|
||||||
|
iz_int
|
||||||
|
iz_ng01
|
||||||
|
iz_int01
|
||||||
|
iz_int02
|
||||||
|
iz_int03
|
||||||
|
iz_int04
|
||||||
|
iz_ac01_a
|
||||||
|
iz_ac02_a
|
||||||
|
iz_ac01_b
|
||||||
|
iz_ac02_b
|
||||||
|
iz_ac01_c
|
||||||
|
iz_ac02_c
|
||||||
|
iz_ac01_d
|
||||||
|
iz_ac02_d
|
||||||
|
te_prtcas01
|
||||||
|
te_prtcas02
|
||||||
|
te_prtcas03
|
||||||
|
te_prtcas04
|
||||||
|
te_prtcas05
|
||||||
|
te_aldecas1
|
||||||
|
te_aldecas2
|
||||||
|
te_aldecas3
|
||||||
|
te_aldecas4
|
||||||
|
te_aldecas5
|
||||||
|
prt_fild08a
|
||||||
|
prt_fild08b
|
||||||
|
prt_fild08c
|
||||||
|
prt_fild08d
|
||||||
|
izlude_a
|
||||||
|
izlude_b
|
||||||
|
izlude_c
|
||||||
|
izlude_d
|
||||||
|
te_prt_gld
|
||||||
|
te_alde_gld
|
||||||
|
teg_dun01
|
||||||
|
teg_dun02
|
||||||
|
1@gl_k
|
||||||
|
2@gl_k
|
||||||
|
gl_chyard_
|
||||||
|
gl_cas02_
|
||||||
|
evt_bomb
|
||||||
|
1@def01
|
||||||
|
1@def02
|
||||||
|
1@def03
|
||||||
|
1@gef
|
||||||
|
1@face
|
||||||
|
1@sara
|
||||||
|
1@gef_in
|
||||||
|
dali
|
||||||
|
|
||||||
|
// Only add maps under this line if they are not standard maps!
|
||||||
|
|
||||||
|
|
||||||
|
//======================================================================================
|
||||||
|
// - Other/Extra maps -
|
||||||
|
//======================================================================================
|
||||||
|
//rwc01 1000
|
||||||
|
//rwc02
|
||||||
|
//rwc03
|
||||||
|
//2009rwc_f01
|
||||||
|
//2009rwc_01
|
||||||
|
//2009rwc_02
|
||||||
|
//2009rwc_03
|
||||||
|
//2009rwc_04
|
||||||
|
//2008rwc_04
|
||||||
|
//prontera_x
|
||||||
|
//alberta_x
|
||||||
|
//aldebaran_x
|
||||||
|
//geffen_x
|
||||||
|
//izlude_x
|
||||||
|
//prt_church_x
|
||||||
|
//prontera_s
|
||||||
|
//pay_arche_s
|
||||||
|
//xmas_old
|
||||||
|
//ordeal_a00
|
||||||
|
//ordeal_a02
|
||||||
|
//fay_vilg00
|
||||||
|
//fay_vilg01
|
||||||
|
//gef_vilg00
|
||||||
|
//gef_vilg01
|
||||||
|
//moc_dugn01
|
||||||
|
//moc_dugn02
|
||||||
|
//moc_fild01
|
||||||
|
//moc_fild02
|
||||||
|
//moc_fild03
|
||||||
|
//moc_fild04
|
||||||
|
//moc_intr00
|
||||||
|
//moc_intr01
|
||||||
|
//moc_intr02
|
||||||
|
//moc_intr04
|
||||||
|
//moc_vilg00
|
||||||
|
//moc_vilg01
|
||||||
|
//moc_vilg02
|
||||||
|
//probemap
|
||||||
|
//probemap02
|
||||||
|
//prt_cstl01
|
||||||
|
//prt_dugn00
|
||||||
|
//prt_dugn01
|
||||||
|
//prt_fild00
|
||||||
|
//prt_fild01
|
||||||
|
//prt_fild03
|
||||||
|
//prt_fild04
|
||||||
|
//prt_fild05
|
||||||
|
//prt_intr01
|
||||||
|
//prt_intr01_a
|
||||||
|
//prt_intr02
|
||||||
|
//prt_vilg00
|
||||||
|
//prt_vilg01
|
||||||
|
//prt_vilg02
|
||||||
|
//tank_test
|
||||||
|
//tank_test2
|
||||||
|
//test
|
||||||
|
|
||||||
|
//======================================================================================
|
||||||
|
//Place your custom maps with a starting ID here.
|
||||||
|
//======================================================================================
|
||||||
|
//Example:
|
||||||
|
//
|
||||||
|
//mymap 1250
|
||||||
|
//mymap-2
|
5
db/import-tmpl/mercenary_db.txt
Normal file
5
db/import-tmpl/mercenary_db.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Mercenary Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
|
||||||
|
|
4
db/import-tmpl/mercenary_skill_db.txt
Normal file
4
db/import-tmpl/mercenary_skill_db.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
// Mercenary Skill Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MercenryID,SkillID,SkillLevel
|
16
db/import-tmpl/mob_avail.txt
Normal file
16
db/import-tmpl/mob_avail.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// Mob Availability and Alias Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,SpriteID{,Equipment}
|
||||||
|
//
|
||||||
|
// 01. MobID Mob ID to change.
|
||||||
|
// 02. SpriteID Mob ID which will be sent to the client instead of MobID.
|
||||||
|
// If 0, the mob becomes unavailable for use.
|
||||||
|
// 03. Equipment Item ID of pet equipment (must be available for pet counterpart, or this will cause problems).
|
||||||
|
//
|
||||||
|
// To disguise a mob as a player:
|
||||||
|
// MobID,SpriteID,Sex,Hair_Style,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
|
||||||
|
//
|
||||||
|
// SpriteID is a job class value.
|
||||||
|
// Weapon and Shield uses Item ID, while Head uses View ID.
|
||||||
|
|
5
db/import-tmpl/mob_boss.txt
Normal file
5
db/import-tmpl/mob_boss.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Bloody Branch Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
5
db/import-tmpl/mob_branch.txt
Normal file
5
db/import-tmpl/mob_branch.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Dead Branch Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
46
db/import-tmpl/mob_chat_db.txt
Normal file
46
db/import-tmpl/mob_chat_db.txt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// Monster Chat Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Line_ID#Color_Code#Dialog
|
||||||
|
|
||||||
|
1#0xFF0000#Weakling! Challenge me if you have any courage!
|
||||||
|
2#0xFF0000#Impressive! I wonder how far your recklessness will take you.
|
||||||
|
3#0xFF0000#I almost pity how outmatched you are against me. Now prepare for my attack!
|
||||||
|
4#0xFF0000#My loyal servants! Welcome them with a painful death!
|
||||||
|
5#0xFF0000#Don't you run away!
|
||||||
|
6#0xFF0000#You worthless humans. Your so-called holy powers have no effect on me!
|
||||||
|
7#0xFF0000#Useless underlings!...Well, that's fine, I have more weapons to use and dispose.
|
||||||
|
8#0xFF0000#Pray to your gods!
|
||||||
|
9#0xFF0000#Do you still think you're a match to me?!
|
||||||
|
10#0xFF0000#Vanish!
|
||||||
|
11#0xFF0000#Let's see how long you can endure my power!
|
||||||
|
12#0xFF0000#Is this all you've got?!
|
||||||
|
13#0xFF0000#You're tickling me!
|
||||||
|
14#0xFF0000#This is how you attack? Watch and learn, weaklings!
|
||||||
|
15#0xFF0000#It's time to finish the game!
|
||||||
|
16#0xFF0000#Oh, you're stronger than I thought!
|
||||||
|
17#0xFF0000#No, this can't be happening! I'm Satan Morroc, Demon King of Destruction!
|
||||||
|
18#0xFF0000#I can never die! I'll be coming back for you!
|
||||||
|
19#0xFF0000#I was born to conquer this world! None shall stop me!
|
||||||
|
20#0xFF0000#Your days are numbered!
|
||||||
|
21#0xFF0000#Pulse Strike! My fingers tear steel!
|
||||||
|
22#0xFF0000#Hahaha, tell me who I am! I'm Baphomet, the Heir of Hell!
|
||||||
|
23#0xFF0000#Enjoy your time on the mortal plane while you can, your hope will soon turn into despair!
|
||||||
|
24#0xFF0000#When are you going to learn your lesson? In death?
|
||||||
|
25#0xFF0000#No... I can't lose! I won't beg for my life! I'm not running away! I don't accept this as defeat!
|
||||||
|
26#0xFF0000#Argh... I... I'm weakening...
|
||||||
|
27#0xFF0000#What do you want from me?
|
||||||
|
28#0xFF0000#No! I didn't do this! He's the one who planned out all this!
|
||||||
|
29#0xFF0000#I just wanted to find peace..! That's why I have been fleeing away!
|
||||||
|
30#0xFF0000#Ahhhh!!! Now, I just have to kill you all!
|
||||||
|
31#0xFF0000#Annoying flies!! Get off of me!
|
||||||
|
32#0xFF0000#Suffer in Hell!
|
||||||
|
33#0xFF0000#Mwahahaha! Taste the anger of the earth!!!
|
||||||
|
34#0xFF0000#No... I won't accept this as defeat!
|
||||||
|
35#0xFF0000#Will it ease your loneliness to hit me? Why don't you stay here with me forever, human?
|
||||||
|
36#0xFF0000#You will forgot the meaning of time. I wonder how long can you last in here...
|
||||||
|
37#0xFF0000#Is there anyone waiting for you outside of here? Throw them all away, you are mine now...
|
||||||
|
38#0xFF0000#Discard your life and stay confined here. You will yearn for freedom in captivity !!
|
||||||
|
39#0xFF0000#How much will the outside world change if you stay here in solitude for one thousand years?
|
||||||
|
40#0xFF0000#Yes! Yearn for your freedom from this confined place, your captivity here will be permanent !!
|
||||||
|
|
5
db/import-tmpl/mob_classchange.txt
Normal file
5
db/import-tmpl/mob_classchange.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Class Change Summonable Monsters Database
|
||||||
|
// List of monsters generated through Abracadabra's SA_CLASSCHANGE ability.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
47
db/import-tmpl/mob_db.txt
Normal file
47
db/import-tmpl/mob_db.txt
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
// Monsters Additional Database
|
||||||
|
//
|
||||||
|
// Structure of Database :
|
||||||
|
// ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
|
||||||
|
|
||||||
|
// rAthena Dev Team
|
||||||
|
//1900,VALARIS,Valaris,Valaris,99,668000,0,107250,37895,2,3220,4040,35,45,1,152,96,85,120,95,10,10,2,6,67,0x1973,100,1068,768,576,13000,608,1000,750,400,923,3800,1466,200,2256,200,2607,800,714,500,617,3000,984,4300,985,5600,0,0,0,0,4147,1
|
||||||
|
//1901,VALARIS_WORSHIPPER,Valaris's Worshipper,Valaris's Worshipper,50,8578,0,2706,1480,1,487,590,15,25,1,75,55,1,93,45,10,12,0,6,27,0x1685,100,868,480,120,0,0,0,0,0,0,0,923,500,984,63,1464,2,607,50,610,100,503,300,2405,50,0,0,0,0,4129,1
|
||||||
|
//1902,MC_CAMERI,MC Cameri,MC Cameri,99,668000,0,107250,37895,2,3220,4040,35,45,1,152,96,85,120,95,10,10,2,6,67,0x1973,100,1068,768,576,13000,608,1000,750,400,923,3800,1466,200,2256,200,2607,800,714,500,617,3000,984,4300,985,5600,0,0,0,0,4147,1
|
||||||
|
//1903,POKI,Poki#3,Poki#3,99,1349000,0,4093000,1526000,9,4892,9113,22,35,1,180,39,67,193,130,10,12,1,7,64,0x1973,120,500,672,480,92100,603,5500,617,3000,1723,1000,1228,100,1236,500,617,2500,1234,75,1237,125,1722,250,1724,100,1720,50,0,0,0,0
|
||||||
|
//1904,SENTRY,Sentry,Sentry,99,668000,0,107250,37895,2,3220,4040,35,45,1,152,96,85,120,95,10,10,2,6,67,0x1973,100,1068,768,576,13000,608,1000,750,400,923,3800,1466,200,2256,200,2607,800,714,500,617,3000,984,4300,985,5600,0,0,0,0,4147,1
|
||||||
|
|
||||||
|
// Custom Hollow Poring (overrrides/collides with META_ANDRE)
|
||||||
|
//1237,HOLLOW_PORING,Hollow Poring,Hollow Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,0,6,30,10,12,1,3,21,0x83,400,1872,672,480,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,512,150,619,20,0,0,0,0,4001,10
|
||||||
|
// Custom Fire Poring. Warning, Colides with META_DENIRO
|
||||||
|
//1239,FIRE_PORING,Fire Poring,Fire Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x131,400,1872,672,480,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,741,5,619,20,0,0,0,0,4001,20
|
||||||
|
|
||||||
|
// Lunar New Year 2008 Event Monster overrides
|
||||||
|
// Uncomment if event is enabled, as these drops modifications are nessecary.
|
||||||
|
//1145,MARTIN,Martin,Martin,18,1109,0,134,86,1,52,63,0,5,12,18,30,15,15,5,10,12,0,2,42,0x81,300,1480,480,480,0,0,0,0,0,0,0,1017,9000,1018,500,1251,10,2225,5,5009,1,10010,10,2224,15,7869,1500,0,0,4046,1
|
||||||
|
//1175,TAROU,Tarou,Tarou,11,284,0,57,28,1,34,45,0,0,1,20,11,10,24,5,10,12,0,2,27,0x91,150,1744,1044,684,0,0,0,0,0,0,0,1016,9000,919,3000,949,800,528,1000,701,2,7869,2500,0,0,0,0,0,0,4028,1
|
||||||
|
//1209,CRAMP,Cramp,Cramp,56,4720,0,2300,1513,1,395,465,0,5,1,85,35,5,65,60,10,12,0,2,45,0x3095,100,1000,500,1000,0,0,0,0,0,0,0,7007,4656,528,1000,726,80,746,110,568,250,510,70,984,95,7869,1500,0,0,4296,1
|
||||||
|
|
||||||
|
// iRO St. Patricks Day 2008 Event Monster overrides
|
||||||
|
// Uncomment if event is enabled, as these drops modifications are nessecary.
|
||||||
|
//1841,G_SNAKE_,Snake Lord's Minon,Snake Lord's Minon,15,471,0,72,48,1,46,55,0,0,1,15,15,10,35,5,10,12,1,2,22,0x81,200,1576,576,576,0,0,0,0,0,0,0,7915,1000,7916,100,7720,30,12715,7,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
//1842,G_ANACONDAQ_,Snake Lord's Minon,Snake Lord's Minon,23,1109,0,300,149,1,124,157,0,0,1,23,28,10,36,5,10,12,1,2,25,0x91,200,1576,576,576,0,0,0,0,0,0,0,7915,1000,7916,100,7720,30,12715,7,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
//1843,SIDE_WINDER_,Snake Lord's Minon,Snake Lord's Minon,43,4929,0,1996,993,1,240,320,5,10,38,43,40,15,115,20,10,12,1,2,25,0x3095,200,1576,576,576,0,0,0,0,0,0,0,7915,1000,7916,100,7720,30,12715,7,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
//1844,G_ISIS_,Snake Lord's Minon,Snake Lord's Minon,47,7003,0,3709,1550,1,423,507,10,35,38,65,43,50,66,15,10,12,2,6,27,0x3195,200,1384,768,336,0,0,0,0,0,0,0,7915,1000,7916,100,7720,30,12715,8,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
|
||||||
|
// iRO Christmas 2008 Event
|
||||||
|
// Uncomment if event is enabled, as these drops modifications are nessecary.
|
||||||
|
//1244,JAKK_XMAS,Christmas Jakk,Christmas Jakk,38,3581,0,1113,688,1,315,382,5,30,1,38,38,43,75,45,10,12,1,0,43,0x81,200,1180,480,648,0,0,0,0,0,0,0,529,1000,530,1000,14546,1000,14550,1000,7174,1000,7175,1000,6092,1000,12355,1250,0,0,0,0
|
||||||
|
//1245,GOBLINE_XMAS,Christmas Goblin,Christmas Goblin,25,1176,0,282,171,1,118,140,10,5,1,53,25,20,38,45,10,12,1,7,24,0x81,100,1120,620,240,0,0,0,0,0,0,0,529,1000,530,1000,14546,1000,14550,1000,7174,1000,7175,1000,6092,1000,12355,1250,0,0,0,0
|
||||||
|
//1246,COOKIE_XMAS,Christmas Cookie,Christmas Cookie,28,2090,0,461,284,1,140,170,0,50,1,24,30,53,45,100,10,12,0,7,46,0x91,400,1248,1248,240,0,0,0,0,0,0,0,529,1000,530,1000,14546,1000,14550,1000,7174,1000,7175,1000,6092,1000,12355,1250,0,0,0,0
|
||||||
|
//1247,ANTONIO,Antonio,Antonio,10,10,0,3,2,1,13,20,100,0,1,1,1,50,100,100,10,12,1,3,66,0xC1,100,720,720,432,0,0,0,0,0,0,0,604,500,12354,500,14550,500,5136,500,12132,500,12225,500,5811,500,0,0,0,0,4243,1
|
||||||
|
|
||||||
|
// iRO Halloween 2009 Event
|
||||||
|
// Uncomment if event is enabled. Uncomment the skills for Halloween Whisper in mob_skill_db2.
|
||||||
|
//3014,HALLOWEEN_WHISPER,Halloween Whisper,Halloween Whisper,1,800,0,0,0,1,10,13,0,45,1,51,14,0,60,0,10,12,0,6,68,0x81,150,1960,960,504,0,0,0,0,0,0,0,12396,150,6299,5335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
//3015,HALLOWEEN_DARK_LORD,Halloween Dark Lord,Halloween Dark Lord,1,45,0,0,0,1,10,13,0,45,1,51,14,0,60,0,10,12,2,6,89,0x81,100,868,768,480,0,0,0,0,0,0,0,12396,800,12397,5335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
|
||||||
|
// iRO Halloween 2008 Event
|
||||||
|
// Uncomment if event is enabled.
|
||||||
|
//3000,ZOMBIE,Zombie,Zombie,15,534,0,50,33,1,67,79,0,10,1,8,7,0,15,0,10,12,1,1,29,0x3885,400,2612,912,288,0,0,0,0,0,0,0,957,9000,724,5,938,1000,958,50,727,70,0,0,0,0,0,0,0,0,4038,1
|
||||||
|
//3001,GHOUL,Ghoul,Ghoul,40,5418,0,1088,622,1,420,500,5,20,1,20,29,0,45,20,10,12,1,1,49,0x3885,250,2456,912,504,0,0,0,0,0,0,0,958,6000,756,110,509,700,511,800,2609,60,934,150,1260,1,0,0,0,0,4110,1
|
||||||
|
//3002,ZOMBIE_MASTER,Zombie Master,Zombie Master,62,14211,0,7610,2826,1,824,1084,37,26,25,20,30,5,77,35,10,12,1,1,29,0x3695,175,2612,912,288,0,0,0,0,0,0,0,7071,4413,938,1500,958,1500,723,200,727,100,1260,1,2324,2,0,0,0,0,4274,1
|
30
db/import-tmpl/mob_item_ratio.txt
Normal file
30
db/import-tmpl/mob_item_ratio.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// Specific Item Drop Ratio Database
|
||||||
|
// Overrides for global item_rate* values from conf/battle/drops.conf
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ItemID,Ratio{,MonsterID}
|
||||||
|
//
|
||||||
|
// Result:
|
||||||
|
// ItemID base drop rates defined in mob_db will not get multiplied
|
||||||
|
// by global item_rate* values (aka drop rates) from
|
||||||
|
// conf/battle/drops.conf. Instead Ratio will be used (100 = 1x).
|
||||||
|
// If no MonsterID is specified, all monsters will be affected,
|
||||||
|
// otherwise only listed ones.
|
||||||
|
//
|
||||||
|
// Examples:
|
||||||
|
// 909,100 // Jellopies from monsters will drop with 1x drop rate regardless of global drop rate
|
||||||
|
// 909,1000 // Jellopies from monsters will drop with 10x drop rate regardless of global drop rate
|
||||||
|
// 909,100,1002 // Jellopies from Porings will drop with 1x drop rate. Other monsters that drop Jellopies are unaffected (use global drop rate).
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// - By default you can list up to 10 MonsterIDs per ItemID.
|
||||||
|
// It can be changed in src/map/mob.c by adjusting MAX_ITEMRATIO_MOBS.
|
||||||
|
// - Only ItemIDs up to MAX_ITEMDB are supported (default: 32768).
|
||||||
|
// - Does not override item_drop_*_min/max settings.
|
||||||
|
// - Does not affect card/item-granted drops. To adjust card/item-granted
|
||||||
|
// drops, edit them in item_db.
|
||||||
|
// - Does affect MVP prizes and Treasure Boxes.
|
||||||
|
// - You can add only ONE line per ItemID. If you need various ratios
|
||||||
|
// for different monsters, override drop rate with Ratio=100 and edit
|
||||||
|
// base drop rates in mob_db.
|
||||||
|
// - This file is reloaded by @reloadmobdb.
|
5
db/import-tmpl/mob_poring.txt
Normal file
5
db/import-tmpl/mob_poring.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Poring Box Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
4
db/import-tmpl/mob_pouch.txt
Normal file
4
db/import-tmpl/mob_pouch.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
// Red Pouch of Surprise Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
6
db/import-tmpl/mob_race2_db.txt
Normal file
6
db/import-tmpl/mob_race2_db.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Monster Racial Groups Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Race2ID,MobID1,MobID2,MobID3,...,MobID9
|
||||||
|
|
||||||
|
|
137
db/import-tmpl/mob_skill_db.txt
Normal file
137
db/import-tmpl/mob_skill_db.txt
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
// Custom Mob Skill Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat
|
||||||
|
//
|
||||||
|
// RATE: the chance of the skill being casted when the condition is fulfilled (10000 = 100%).
|
||||||
|
// DELAY: the time (in milliseconds) before attempting to recast the same skill.
|
||||||
|
//
|
||||||
|
// STATE:
|
||||||
|
// any (except dead) / idle (in standby) / walk (in movement) / dead (on killed) /
|
||||||
|
// loot /attack / angry (like attack, except player has not attacked mob yet) /
|
||||||
|
// chase (following target, after being attacked) / follow (following target,
|
||||||
|
// without being attacked) / anytarget (attack+angry+chase+follow)
|
||||||
|
//
|
||||||
|
// TARGET:
|
||||||
|
// target (current target) / self / friend / master / randomtarget (any enemy within skill's range)
|
||||||
|
//
|
||||||
|
// The following are for ground-skills, a random target tile is selected from the specified area:
|
||||||
|
// around1 (3x3 area around self) / around2 (5x5 area around self) /
|
||||||
|
// around3 (7x7 area around self) / around4 (9x9 area around self) /
|
||||||
|
// around5 (3x3 area around target) / around6 (5x5 area around target) /
|
||||||
|
// around7 (7x7 area around target) / around8 (9x9 area around target) /
|
||||||
|
// around = around4
|
||||||
|
//
|
||||||
|
// CONDITION:
|
||||||
|
// always Unconditional (no condition value).
|
||||||
|
// onspawn When mob spawns/respawns (no condition value).
|
||||||
|
// myhpltmaxrate When mob's HP drops to the specified %.
|
||||||
|
// myhpinrate When mob's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
|
||||||
|
// mystatuson If mob has the specified abnormality in status.
|
||||||
|
// mystatusoff If mob has ended the specified abnormality in status.
|
||||||
|
// friendhpltmaxrate When mob's friend's HP drops to the specified %.
|
||||||
|
// friendhpinrate When mob's friend's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
|
||||||
|
// friendstatuson If friend has the specified abnormality in status.
|
||||||
|
// friendstatusoff If friend has ended the specified abnormality in status.
|
||||||
|
// attackpcgt When attack PCs become greater than specified number.
|
||||||
|
// attackpcge When attack PCs become greater than or equal to the specified number.
|
||||||
|
// slavelt When number of slaves is less than the original specified number.
|
||||||
|
// slavele When number of slaves is less than or equal to the original specified number.
|
||||||
|
// closedattacked When close range melee attacked (no condition value).
|
||||||
|
// longrangeattacked When long range attacked, ex. bows, guns, ranged skills (no condition value).
|
||||||
|
// skillused When the specified skill is used on the mob.
|
||||||
|
// afterskill After mob casts the specified skill.
|
||||||
|
// casttargeted When a target is in cast range (no condition value).
|
||||||
|
// rudeattacked When mob is rude attacked (no condition value).
|
||||||
|
//
|
||||||
|
// Status abnormalities specified through the statuson/statusoff system:
|
||||||
|
// anybad (any type of state change) / stone / freeze / stun / sleep /
|
||||||
|
// poison / curse / silence / confusion / blind / hiding / sight (unhidden)
|
||||||
|
//
|
||||||
|
// Note: if a negative MobID is provided, the skill will be treated as 'global':
|
||||||
|
// -1: added for all boss types.
|
||||||
|
// -2: added for all normal types.
|
||||||
|
// -3: added for all mobs.
|
||||||
|
|
||||||
|
// rAthena Dev Team
|
||||||
|
//1900,Valaris@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1900,Valaris@AL_TELEPORT,walk,26,1,500,0,5000,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1900,Valaris@KN_BRANDISHSPEAR,attack,57,10,2000,500,5000,no,target,always,0,,,,,,29,
|
||||||
|
//1900,Valaris@MO_BODYRELOCATION,chase,264,1,200,200,1000,yes,target,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,target,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_DARKBREATH,attack,202,5,2000,800,5000,no,target,always,0,,,,,,29,
|
||||||
|
//1900,Valaris@NPC_DARKSTRIKE,chase,340,10,200,0,1000,yes,target,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
|
||||||
|
//1900,Valaris@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
|
||||||
|
//1900,Valaris@NPC_SUMMONSLAVE,attack,196,6,10000,700,10000,no,self,slavele,3,1902,,,,,,
|
||||||
|
//1900,Valaris@NPC_SUMMONSLAVE,idle,196,6,10000,700,10000,no,self,slavele,3,1902,,,,,,
|
||||||
|
//1900,Valaris@WZ_VERMILION,attack,85,10,2000,500,2000,no,target,always,0,,,,,,29,
|
||||||
|
//1900,Valaris@WZ_VERMILION,chase,85,10,200,500,2000,no,target,always,0,,,,,,29,
|
||||||
|
//1900,Valaris@WZ_VERMILION,chase,85,10,500,500,2000,no,target,skillused,18,,,,,,29,
|
||||||
|
//1901,Valaris's Worshipper@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1901,Valaris's Worshipper@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,29,
|
||||||
|
//1901,Valaris's Worshipper@NPC_DARKNESSATTACK,attack,190,2,500,500,5000,no,target,always,0,,,,,,6,
|
||||||
|
//1901,Valaris's Worshipper@NPC_EMOTION,chase,197,1,20,0,5000,yes,self,always,0,19,129,,,,,
|
||||||
|
//1901,Valaris's Worshipper@NPC_EMOTION,idle,197,1,200,0,5000,yes,self,always,0,6,1173,,,,,
|
||||||
|
//1901,Valaris's Worshipper@NPC_EMOTION,walk,197,1,200,0,5000,yes,self,always,0,2,,,,,,
|
||||||
|
//1901,Valaris's Worshipper@NPC_HALLUCINATION,attack,207,1,500,500,5000,yes,target,always,0,,,,,,29,
|
||||||
|
//1901,Valaris's Worshipper@NPC_HALLUCINATION,chase,207,1,50,500,5000,yes,target,always,0,,,,,,29,
|
||||||
|
//1901,Valaris's Worshipper@SA_DISPELL,attack,289,1,0,0,30000,yes,target,always,0,,,,,,29,
|
||||||
|
//1902,MC Cameri@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1902,MC Cameri@AL_TELEPORT,walk,26,1,500,0,5000,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1902,MC Cameri@KN_BRANDISHSPEAR,attack,57,10,2000,500,5000,no,target,always,0,,,,,,29,
|
||||||
|
//1902,MC Cameri@MO_BODYRELOCATION,chase,264,1,200,200,1000,yes,target,always,0,,,,,,,
|
||||||
|
//1902,MC Cameri@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,0,,,,,,,
|
||||||
|
//1902,MC Cameri@NPC_DARKBREATH,attack,202,5,2000,800,5000,no,target,always,0,,,,,,29,
|
||||||
|
//1902,MC Cameri@NPC_DARKSTRIKE,chase,340,10,200,0,1000,yes,target,always,0,,,,,,,
|
||||||
|
//1902,MC Cameri@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
|
||||||
|
//1902,MC Cameri@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
|
||||||
|
//1902,MC Cameri@WZ_VERMILION,attack,85,10,2000,500,2000,no,target,always,0,,,,,,29,
|
||||||
|
//1902,MC Cameri@WZ_VERMILION,chase,85,10,200,500,2000,no,target,always,0,,,,,,29,
|
||||||
|
//1902,MC Cameri@WZ_VERMILION,chase,85,10,500,500,2000,no,target,skillused,18,,,,,,29,
|
||||||
|
//1903,Poki#3@AC_DOUBLE,attack,46,10,500,1000,5000,no,target,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@AC_SHOWER,attack,47,8,2000,1000,5000,no,target,attackpcgt,2,,,,,,,
|
||||||
|
//1903,Poki#3@BS_MAXIMIZE,chase,114,5,500,1000,5000,no,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@BS_MAXIMIZE,attack,114,5,500,1000,5000,no,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_AGIUP,chase,350,5,2500,0,5000,no,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_POWERUP,attack,349,5,500,0,30000,yes,self,myhpltmaxrate,30,,,,,,,
|
||||||
|
//1903,Poki#3@SN_SHARPSHOOTING,attack,382,5,500,1000,5000,no,target,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@HT_SKIDTRAP,idle,115,5,50,0,5000,yes,self,always,0,,,,,,29,
|
||||||
|
//1903,Poki#3@HT_FREEZINGTRAP,idle,120,5,50,0,300000,yes,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@HT_FREEZINGTRAP,idle,121,5,50,0,300000,yes,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@AC_CHARGEARROW,attack,148,1,500,0,5000,yes,target,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@HT_FLASHER,idle,120,5,50,0,300000,yes,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_SUMMONSLAVE,idle,196,5,10000,2000,120000,no,self,slavele,1,1659,1660,1661,1662,1663,0,
|
||||||
|
//1903,Poki#3@NPC_CALLSLAVE,attack,352,1,2000,0,10000,yes,target,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_CALLSLAVE,idle,352,1,2000,0,10000,yes,self,always,0,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_CHANGEWATER,attack,162,1,10000,2000,600000,no,self,myhpltmaxrate,30,,,,,,,
|
||||||
|
//1903,Poki#3@NPC_CHANGETELEKINESIS,attack,169,1,500,2000,5000,no,self,myhpltmaxrate,10,,,,,,7,
|
||||||
|
//1903,Poki#3@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||||
|
|
||||||
|
// Easter Bunny (not in the db?? it's in db2!)
|
||||||
|
//1921,Easter Bunny@NPC_SUMMONSLAVE,attack,196,5,10000,3000,10000,no,self,slavele,2,1063,,,,,,
|
||||||
|
//1921,Easter Bunny@NPC_SUMMONSLAVE,idle,196,5,5000,2000,40000,no,self,always,2,1920,,,,,,
|
||||||
|
|
||||||
|
//Custom Fire Poring. Warning, Colides with META_DENIRO
|
||||||
|
//1239,Fire Poring@AL_HEAL,idle,28,10,10000,0,2000,yes,self,always,0,,,,,,4,
|
||||||
|
//1239,Fire Poring@AL_HEAL,walk,28,10,10000,0,2000,yes,self,always,0,,,,,,4,
|
||||||
|
//1239,Fire Poring@AL_TELEPORT,attack,26,1,1000,5000,60000,no,self,myhpltmaxrate,30,,,,,,,
|
||||||
|
//1239,Fire Poring@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||||
|
//1239,Fire Poring@NPC_DARKBLESSING,attack,203,1,1000,2000,5000,no,target,always,0,,,,,,18,
|
||||||
|
//1239,Fire Poring@NPC_SUMMONSLAVE,attack,196,16,10000,2000,10000,no,self,slavele,3,1491,1431,1433,,,18,
|
||||||
|
//1239,Fire Poring@NPC_SUMMONSLAVE,idle,196,16,10000,2000,10000,no,self,slavele,3,1491,1431,1433,,,18,
|
||||||
|
//1239,Fire Poring@RG_INTIMIDATE,attack,219,5,1000,0,3000,yes,target,always,0,,,,,,,
|
||||||
|
//1239,Fire Poring@RG_STRIPARMOR,attack,217,5,2000,0,3000,yes,target,always,0,,,,,,,
|
||||||
|
//1239,Fire Poring@RG_STRIPHELM,attack,218,5,2000,0,3000,yes,target,always,0,,,,,,,
|
||||||
|
//1239,Fire Poring@RG_STRIPSHIELD,attack,216,5,2000,0,3000,yes,target,always,0,,,,,,,
|
||||||
|
//1239,Fire Poring@RG_STRIPWEAPON,attack,215,5,2000,0,3000,yes,target,always,0,,,,,,,
|
||||||
|
|
||||||
|
//iRO Halloween Event 2009
|
||||||
|
//3014,Halloween Whisper@AS_CLOAKING,idle,135,1,2000,200,5000,yes,self,always,0,,,,,,,
|
||||||
|
//3014,Halloween Whisper@AS_CLOAKING,chase,135,1,2000,200,5000,yes,self,always,0,,,,,,,
|
||||||
|
//3014,Halloween Whisper@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,,,,,,,
|
||||||
|
//3014,Halloween Whisper@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
|
||||||
|
|
||||||
|
// Here you can place your custom mob skills
|
35
db/import-tmpl/packet_db.txt
Normal file
35
db/import-tmpl/packet_db.txt
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Client<->Map Packet Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// PacketType,PacketLength[,Name,FieldIndex1:FieldIndex2:FieldIndex3:...]
|
||||||
|
//
|
||||||
|
// 01. PacketType ID of the packet.
|
||||||
|
// 02. PacketLength Length of the packet. If 0, packet is disabled in current packet version. If -1, packet has variable size.
|
||||||
|
// 03. Name Name of the packet parser function (optional, for incoming packets only).
|
||||||
|
// 04. FieldIndex Specifies the offset of a packet field in bytes from the begin of the packet (only specified when Name is given).
|
||||||
|
// Can be 0, when the layout is not known.
|
||||||
|
// ...
|
||||||
|
//
|
||||||
|
// NOTE: Up to MAX_PACKET_POS (typically 20) field indexes may be used.
|
||||||
|
//
|
||||||
|
// The packet database allows you to add support for new clients,
|
||||||
|
// because packets change every release.
|
||||||
|
//
|
||||||
|
// Note: Every packet version needs a wanttoconnection specification, since
|
||||||
|
// that is the packet used to identify a client's version.
|
||||||
|
// If multiple versions have the same connection packet, the higher version
|
||||||
|
// will be used (unless the lower one is specified as the default)
|
||||||
|
//
|
||||||
|
// Incoming packets have their parser function and layout specified, which enables
|
||||||
|
// them for the current and all higher versions, unless explicitely disabled.
|
||||||
|
//
|
||||||
|
// Outgoing packets must be specified in order to enable them for the current
|
||||||
|
// and all higher versions, unless explicitely disabled. Packets that are not
|
||||||
|
// enabled for a packet version are silently discarded when sent as multicast.
|
||||||
|
//
|
||||||
|
// Every packet version inherits packet definitions from the previous (lower)
|
||||||
|
// packet version.
|
||||||
|
//
|
||||||
|
// Main packet version of the DB to use (default = max available version)
|
||||||
|
// Client detection is faster when all clients use this version.
|
||||||
|
// Version 23 is the latest Sakexe (above versions are for Renewal clients)
|
60
db/import-tmpl/pet_db.txt
Normal file
60
db/import-tmpl/pet_db.txt
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// Pet Additional Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script
|
||||||
|
//
|
||||||
|
// 01. MobID Monster ID of the pet.
|
||||||
|
// 02. Name Name of the monster as defined in the database.
|
||||||
|
// 03. JName The display name of the monster when hatched.
|
||||||
|
// 04. LureID Pet Tame Item ID.
|
||||||
|
// 05. EggID Pet Egg ID.
|
||||||
|
// 06. EquipID Pet Accessory ID.
|
||||||
|
// 07. FoodID Pet Food ID.
|
||||||
|
// 08. Fullness The amount Hunger is decreased every [HungryDelay] seconds.
|
||||||
|
// 09. HungryDelay The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds)
|
||||||
|
// 10. R_Hungry Amount of Intimacy that is increased when fed.
|
||||||
|
// 11. R_Full Amount of Intimacy that is decreased when over-fed.
|
||||||
|
// 12. Intimate Amount of Intimacy the pet starts with.
|
||||||
|
// 13. Die Amount of Intimacy that is decreased when the pet owner dies.
|
||||||
|
// 14. Capture Capture succes rate (10000 = 100%)
|
||||||
|
// 15. Speed Pet's walk speed. (Defaul: 150)
|
||||||
|
// 16. S_Performance Special Performance. (Yes = 1, No = 0)
|
||||||
|
// 17. talk_convert_class Disables pet talk (instead of talking they emote with /!.)
|
||||||
|
// 18. attack_rate Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy).
|
||||||
|
// 19. defence_attack_rate Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy).
|
||||||
|
// 20. change_target_rate Rate of which the pet will change its attack target.
|
||||||
|
// 21. pet_script Script to execute when the pet is hatched.
|
||||||
|
// 22. loyal_script Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script).
|
||||||
|
//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000.
|
||||||
|
|
||||||
|
//In theory you can use any valid script, but it is run only once upon pet
|
||||||
|
//loading, so it is recommended you use the specific pet scripts:
|
||||||
|
|
||||||
|
//petskillattack skillid, skilllv, rate, bonusrate
|
||||||
|
//Skill attack that triggers while the pet is attacking. Rate is the base
|
||||||
|
//chance of execution per attack. Bonusrate is an additional success rate when
|
||||||
|
//intimacy reaches max.
|
||||||
|
|
||||||
|
//petskillattack2 skillid, damage, hits, rate, bonusrate
|
||||||
|
//Same as petskillattack, but the damage and number of hits is fixed
|
||||||
|
//the damage specified is total, not per hit.
|
||||||
|
|
||||||
|
//petskillsupport skillid, skilllv, delay, hp%, sp%
|
||||||
|
//Casts a support skill when the health levels are below the specified hp% and
|
||||||
|
//sp%. Delay is the minimum time in seconds before the skill can be cast again
|
||||||
|
|
||||||
|
//petheal amount, delay, hp%, sp%
|
||||||
|
//Similar to petskillsupport, but the skill is fixed to heal (28) and the
|
||||||
|
//heal-amount is fixed to the value given.
|
||||||
|
|
||||||
|
//petrecovery type, delay: Cures the "type" status effect after "delay" seconds
|
||||||
|
|
||||||
|
//petskillbonus type, value, duration, delay
|
||||||
|
//Gives bonus stats. Type is the stat to increase (bStr, bLuk), value is the
|
||||||
|
//amount by which it is increased, duration signals how long the bonus lasts
|
||||||
|
//delay is the time elapsed after the bonus ends and before it starts again.
|
||||||
|
|
||||||
|
//A single pet can have petloot, petskillbonus, petskillattack (or
|
||||||
|
//petskillattack2) and petskillsupport (or petheal) at the same time,
|
||||||
|
//but only one of each.
|
||||||
|
|
9
db/import-tmpl/produce_db.txt
Normal file
9
db/import-tmpl/produce_db.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Item Produce Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ProduceItemID,ItemLV,RequireSkill,RequireSkillLv,MaterialID1,MaterialAmount1,......
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// If MaterialAmount is 0, the player must have that item in their inventory (i.e. guides).
|
||||||
|
// For example, Mine Bottle requires 0x Marine Sphere Creation Guide (ID 7131).
|
||||||
|
|
5
db/import-tmpl/quest_db.txt
Normal file
5
db/import-tmpl/quest_db.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Quest Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title
|
||||||
|
|
32
db/import-tmpl/refine_db.txt
Normal file
32
db/import-tmpl/refine_db.txt
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// Refine Database [Renewal]
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// Type,Stats per level,Random bonus start level,Random bonus value,Chance+1:Bonus+1,Chance+2:Bonus+2,Chance+3:Bonus+3,...
|
||||||
|
//
|
||||||
|
// For armors, values of 100 add 1 armor defense.
|
||||||
|
// For weapons, values of 100 add 1 ATK&MATK.
|
||||||
|
//
|
||||||
|
// Type:
|
||||||
|
// 0 - Armors
|
||||||
|
// 1 - Level 1 weapons
|
||||||
|
// 2 - Level 2 weapons
|
||||||
|
// 3 - Level 3 weapons
|
||||||
|
// 4 - Level 4 weapons
|
||||||
|
//
|
||||||
|
// Stats per level:
|
||||||
|
// This value is applied for every upgrade level.
|
||||||
|
//
|
||||||
|
// Random bonus start level:
|
||||||
|
// This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade).
|
||||||
|
//
|
||||||
|
// Random bonus value:
|
||||||
|
// A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past
|
||||||
|
// Random bonus start level. This is only applied for weapons, and not displayed client-side.
|
||||||
|
//
|
||||||
|
// Chance:
|
||||||
|
// 100 = 100%
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// Changing the number of upgrade levels requires modifying MAX_REFINE in src/map/status.h.
|
||||||
|
// For Renewal Armors, there may or may not be another bonus, according to iRO wiki: Every upgrade gives floor[( 3 + current upgrade ) / 4] equipment DEF)
|
||||||
|
|
7
db/import-tmpl/size_fix.txt
Normal file
7
db/import-tmpl/size_fix.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Size Fix Tables
|
||||||
|
// Contains size fixes for weapon damage.
|
||||||
|
//
|
||||||
|
// Struture of Database:
|
||||||
|
// Columns - Weapon type
|
||||||
|
// Rows - Target size
|
||||||
|
|
17
db/import-tmpl/skill_cast_db.txt
Normal file
17
db/import-tmpl/skill_cast_db.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// Skill Times Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time
|
||||||
|
//
|
||||||
|
// CastingTime: time to cast this skill, in miliseconds
|
||||||
|
// AfterCastActDelay: "normal" delay, character cannot use skills, in miliseconds
|
||||||
|
// AfterCastWalkDleay: amount of time before character can move again, in miliseconds
|
||||||
|
// Duration1/Duration2: usually the durations used by the skill, at special cases it is used to hold special data
|
||||||
|
// Cool Down: amount of time until character can re-use this skill, in miliseconds
|
||||||
|
// Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time)
|
||||||
|
//
|
||||||
|
// On all fields you can use ':' as a delimiter for level-specific values.
|
||||||
|
// For example:
|
||||||
|
// - Original: 6,0,0,0,30000,0,1000
|
||||||
|
// - Modified: 6,0,0,0,30000,0,1000:2500:3000:...
|
||||||
|
// Gives Level 1 1000ms cool down, Level 2 2500ms, Level 3 3000ms, and so on.
|
16
db/import-tmpl/skill_castnodex_db.txt
Normal file
16
db/import-tmpl/skill_castnodex_db.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// <Skill id>,<Cast>,<Delay (optional)>
|
||||||
|
//
|
||||||
|
// Cast: 0 - everything affects the skill's cast time
|
||||||
|
// 1 - skill's cast time is not affected by dex
|
||||||
|
// 2 - skill's cast time is not affected by statuses (Suffragium, etc)
|
||||||
|
// 4 - skill's cast time is not affected by item bonuses (equip, cards)
|
||||||
|
//
|
||||||
|
// Delay: 0 - everything affects the skill's delay
|
||||||
|
// 1 - skill's delay is not affected by dex
|
||||||
|
// 2 - skill's delay is not affected by Magic Strings / Bragi
|
||||||
|
// 4 - skill's delay is not affected by item bonuses (equip, cards)
|
||||||
|
//
|
||||||
|
// Note: Values are bit fields, add them up to combine their effects.
|
||||||
|
// Note: Delay setting '1' only makes sense when delay_dependon_dex is enabled.
|
||||||
|
// Example: 46,1,1 = Double Strafe's cast time and delay is not affected by dex.
|
||||||
|
|
8
db/import-tmpl/skill_changematerial_db.txt
Normal file
8
db/import-tmpl/skill_changematerial_db.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Change Material Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ProductID,BaseRate,MakeAmount1,MakeAmountRate1...,MakeAmount5,MakeAmountRate5
|
||||||
|
//
|
||||||
|
// NOTE:
|
||||||
|
// Up to 5 ID/Amount pairs can be specified.
|
||||||
|
// Rate = n/10%
|
51
db/import-tmpl/skill_copyable_db.txt
Normal file
51
db/import-tmpl/skill_copyable_db.txt
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
// Copyable Skills Database
|
||||||
|
// List of skills able to be copied by Intimidate/Plagiarism and Reproduce.
|
||||||
|
//
|
||||||
|
// Sources:
|
||||||
|
// http://irowiki.org/wiki/Intimidate
|
||||||
|
// -> "Intimidate will copy any 2nd class skill"
|
||||||
|
// http://irowiki.org/wiki/Reproduce/List_of_reproducible_skills
|
||||||
|
// -> "Players can reproduce 1-x, 2-x, and 3-x skills and Expanded Class,
|
||||||
|
// but cannot reproduce transcendent skills"
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillName,Option{,JobAllowed{,RequirementRemoved}}
|
||||||
|
//
|
||||||
|
// Option (bitmask) determines how a skill can be copied.
|
||||||
|
// 1 = Plagiarism
|
||||||
|
// 2 = Reproduce
|
||||||
|
//
|
||||||
|
// JobAllowed (bitmask) restricts copying the skill to certain classes.
|
||||||
|
// By default, all jobs can copy the skill (0).
|
||||||
|
// 1 = Rogue
|
||||||
|
// 2 = Stalker
|
||||||
|
// 4 = Shadow Chaser
|
||||||
|
// 8 = Trans. Shadow Chaser
|
||||||
|
// 16 = Baby Rouge
|
||||||
|
// 32 = Baby Shadow Chaser
|
||||||
|
//
|
||||||
|
// RequirementRemoved (bitmask) removes requirements when casting a copied skill.
|
||||||
|
// See 'skill_require_db.txt' for specific skill requirements.
|
||||||
|
// 0 = uses original requirement(s)
|
||||||
|
// 1 = hp
|
||||||
|
// 2 = maxhptrigger
|
||||||
|
// 4 = sp
|
||||||
|
// 8 = hprate
|
||||||
|
// 16 = sprate
|
||||||
|
// 32 = zeny
|
||||||
|
// 64 = weapon type
|
||||||
|
// 128 = ammo (with the amount)
|
||||||
|
// 256 = state
|
||||||
|
// 512 = statuses
|
||||||
|
// 1024 = spirit sphere
|
||||||
|
// 2048 = items (with the amount)
|
||||||
|
// 4096 = equipments
|
||||||
|
//
|
||||||
|
// Examples:
|
||||||
|
// AS_SONICBLOW,2,63,64
|
||||||
|
// Sonic Blow can be copied by all jobs with only Plagiarism.
|
||||||
|
// To use the copied skill, a Katar is not needed (a Sonic Blow weapon type requirement).
|
||||||
|
//
|
||||||
|
// CR_ACIDDEMONSTRATION,3,10
|
||||||
|
// Acid Demonstration can only be copied by Stalker/Trans. Shadow Chaser with Plagiarism or Reproduce.
|
||||||
|
// This mode simulates the previous battle config, which allowed only Trans. classes to copy Trans. skills.
|
36
db/import-tmpl/skill_damage_db.txt
Normal file
36
db/import-tmpl/skill_damage_db.txt
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
// Skill Damage Adjustment Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
// Map:
|
||||||
|
// 1 - Normal (the maps that aren't classified as these maps below)
|
||||||
|
// 2 - PVP
|
||||||
|
// 4 - GVG
|
||||||
|
// 8 - Battlegrounds
|
||||||
|
// 16 - 'skill_damage' mapflag
|
||||||
|
// Restricted zones - they're configured by 'restricted <number>' mapflag
|
||||||
|
// 32 - Zone 1
|
||||||
|
// 64 - Zone 2
|
||||||
|
// 128 - Zone 3
|
||||||
|
// 256 - Zone 4
|
||||||
|
// 512 - Zone 5
|
||||||
|
// 1024 - Zone 6
|
||||||
|
// 2048 - Zone 7
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// Damage is a percentage between -100 and 100000.
|
||||||
|
// 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.
|
66
db/import-tmpl/skill_db.txt
Normal file
66
db/import-tmpl/skill_db.txt
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
//id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,inf3,name,description
|
||||||
|
// 01 ID
|
||||||
|
// 02 range (combo skills do not check for range when used,
|
||||||
|
// if range is < 5, the skill is considered melee-range)
|
||||||
|
// 03 hit (8- repeated hitting, 6- single-hit)
|
||||||
|
// 04 inf (0- passive, 1- enemy, 2- place, 4- self, 16- friend, 32- trap)
|
||||||
|
// 05 element (0 - neutral, 1 - water, 2 - earth, 3 - fire, 4 - wind, 5 - poison,
|
||||||
|
// 6 - holy, 7 - dark, 8 - ghost, 9 - undead, -1 - use weapon element
|
||||||
|
// -2 - use endowed element, -3 - use random element.)
|
||||||
|
// 06 nk (skill damage properties):
|
||||||
|
// 0x01 - No damage skill
|
||||||
|
// 0x02 - Has splash area
|
||||||
|
// 0x04 - Damage should be split among targets
|
||||||
|
// 0x08 - Skill ignores caster's % damage cards (misc type always ignores)
|
||||||
|
// 0x10 - Skill ignores elemental adjustments
|
||||||
|
// 0x20 - Skill ignores target's defense (misc type always ignores)
|
||||||
|
// 0x40 - Skill ignores target's flee (magic type always ignores)
|
||||||
|
// 0x80 - Skill ignores target's def cards
|
||||||
|
// 07 splash/effect range (-1 for screen-wide)
|
||||||
|
// 08 MaxLv
|
||||||
|
// 09 Number of hits (when positive, damage is increased by hits,
|
||||||
|
// negative values just show number of hits without increasing total damage)
|
||||||
|
// 10 Cast interrupted when hit?
|
||||||
|
// 11 defense-reduction rate during cast.
|
||||||
|
// 12 inf2 (skill information 2):
|
||||||
|
// 0x00001- quest skill
|
||||||
|
// 0x00002- npc skill
|
||||||
|
// 0x00004- wedding skill
|
||||||
|
// 0x00008- spirit skill
|
||||||
|
// 0x00010- guild skill
|
||||||
|
// 0x00020- song/dance
|
||||||
|
// 0x00040- ensemble skill
|
||||||
|
// 0x00080- trap
|
||||||
|
// 0x00100- skill that damages/targets yourself
|
||||||
|
// 0x00200- cannot be casted on self (if inf = 4, auto-select target skill)
|
||||||
|
// 0x00400- usable only on party-members (and enemies if skill is offensive)
|
||||||
|
// 0x00800- usable only on guild-mates (and enemies if skill is offensive)
|
||||||
|
// 0x01000- disable usage on enemies (for non-offensive skills).
|
||||||
|
// 0x02000- free
|
||||||
|
// 0x04000- chorus skill
|
||||||
|
// 0x08000- spell that ignore bg reduction
|
||||||
|
// 0x10000- spell that ignore gvg reduction
|
||||||
|
// 0x20000- makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
|
||||||
|
// 13 maxcount: max amount of skill instances to place on the ground when
|
||||||
|
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
|
||||||
|
// that attack using a path, this is the path length to be used.
|
||||||
|
// 14 attack type (none, weapon, magic, misc)
|
||||||
|
// 15 Blowcount (amount of tiles skill knockbacks)
|
||||||
|
// 16 inf3 (skill information 3):
|
||||||
|
// 0x0001- skill ignores land protector (e.g. arrow shower)
|
||||||
|
// 0x0002- spell that doesn't end camouflage
|
||||||
|
// 0x0004- usable skills while hiding
|
||||||
|
// 0x0008- spell that can be use while in dancing state
|
||||||
|
// 0x0010- spell that could hit emperium
|
||||||
|
// 0x0020- spell blocked by statis
|
||||||
|
// 0x0040- spell blocked by kagehumi
|
||||||
|
// 0x0080- spell range affected by AC_VULTURE
|
||||||
|
// 0x0100- spell range affected by GS_SNAKEEYE
|
||||||
|
// 0x0200- spell range affected by NJ_SHADOWJUMP
|
||||||
|
// 0x0400- spell range affected by WL_RADIUS
|
||||||
|
// 0x0800- spell range affected by RA_RESEARCHTRAP
|
||||||
|
// 0x1000- spell that can't be copied
|
||||||
|
// 0x2000- spell that can be using while riding warg
|
||||||
|
// 0x4000- spell that can't be used while in mado
|
||||||
|
// 17 Name
|
||||||
|
// 18 Description
|
5
db/import-tmpl/skill_improvise_db.txt
Normal file
5
db/import-tmpl/skill_improvise_db.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// Improvise Database
|
||||||
|
// Database for skills that can be summoned trough Randomize Spell/Improvised Song (Minstrel/Wanderer Skill).
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,Rate
|
24
db/import-tmpl/skill_nocast_db.txt
Normal file
24
db/import-tmpl/skill_nocast_db.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Forbidden Skills Database
|
||||||
|
// Defines unusable skills in map types and zones.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,Flag
|
||||||
|
//
|
||||||
|
// Legend for 'Flag' field (bitmask):
|
||||||
|
// 1 - cannot be used in normal maps
|
||||||
|
// 2 - cannot be used in PvP maps (use this instead of 1 for PK-mode servers)
|
||||||
|
// 4 - cannot be used in GvG maps
|
||||||
|
// 8 - cannot be used in Battleground maps
|
||||||
|
// 16 - cannot be cloned (clones will not copy this skill)
|
||||||
|
// Restricted zones - configured by 'restricted <number>' mapflag
|
||||||
|
// 32 - cannot be used in zone 1 maps
|
||||||
|
// 64 - cannot be used in zone 2 maps
|
||||||
|
// 128 - cannot be used in zone 3 maps
|
||||||
|
// 256 - cannot be used in zone 4 maps
|
||||||
|
// 512 - cannot be used in zone 5 maps
|
||||||
|
// 1024 - cannot be used in zone 6 maps
|
||||||
|
// 2048 - cannot be used in zone 7 maps
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
// 8,6 // Endure cannot be used in PvP and GvG maps (2+4)
|
||||||
|
|
28
db/import-tmpl/skill_nonearnpc_db.txt
Normal file
28
db/import-tmpl/skill_nonearnpc_db.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// Skill Distance-to-NPC Database
|
||||||
|
// Prevents skills from being used near NPC types using INF2_NO_NEARNPC.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillName,AdditionalRange{,NPC Type}
|
||||||
|
//
|
||||||
|
// AdditionalRange:
|
||||||
|
// Number of cells from an NPC where the skill can be cast.
|
||||||
|
// If zero, this will read the splash range value from skill_db;
|
||||||
|
// if that is also zero, range+layout's range from skill_unit_db will be used.
|
||||||
|
//
|
||||||
|
// NPC Type (bitmask):
|
||||||
|
// 1 = warp portal, 2 = shop NPC, 4 = normal NPC script, 8 = tomb
|
||||||
|
//
|
||||||
|
// Examples:
|
||||||
|
// MG_SAFETYWALL,2
|
||||||
|
// Safety Wall can't be placed within 2 ground cells of an NPC.
|
||||||
|
// (MG_SAFETYWALL doesn't have splash, layout range, and range value,
|
||||||
|
// so we must add the 'additional_range', or it will be pointless.)
|
||||||
|
//
|
||||||
|
// GS_DESPERADO,2
|
||||||
|
// Desperado can't be casted if the caster is standing within 5 cells of an NPC.
|
||||||
|
// (Why? GS_DESPERADO has 3 cells of splash range +2 'additional_range' here.)
|
||||||
|
//
|
||||||
|
// SC_CHAOSPANIC,0,1
|
||||||
|
// Chaos Panic can't be placed within 2 ground cells of a warp portal.
|
||||||
|
// (Because SC_CHAOSPANIC doesn't have splash range, it uses layout range.)
|
||||||
|
|
33
db/import-tmpl/skill_require_db.txt
Normal file
33
db/import-tmpl/skill_require_db.txt
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Skill Requirements Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,HPCost,MaxHPTrigger,SPCost,HPRateCost,SPRateCost,ZenyCost,RequiredWeapons,RequiredAmmoTypes,RequiredAmmoAmount,RequiredState,RequiredStatuses,SpiritSphereCost,RequiredItemID1,RequiredItemAmount1,RequiredItemID2,RequiredItemAmount2,RequiredItemID3,RequiredItemAmount3,RequiredItemID4,RequiredItemAmount4,RequiredItemID5,RequiredItemAmount5,RequiredItemID6,RequiredItemAmount6,RequiredItemID7,RequiredItemAmount7,RequiredItemID8,RequiredItemAmount8,RequiredItemID9,RequiredItemAmount9,RequiredItemID10,RequiredItemAmount10,RequiredEquipment
|
||||||
|
//
|
||||||
|
// If HP/SPratecost is positive, it is a percent of your current life, otherwise it is a percent of your max life.
|
||||||
|
//
|
||||||
|
// Legend for 'RequiredState' field:
|
||||||
|
// none = Nothing special
|
||||||
|
// hidden = Requires on hidden status by using Hiding, Cloaking, or maybe Chasewalk
|
||||||
|
// riding = Requires to ride either a peco or a dragon
|
||||||
|
// falcon = Requires a Falcon
|
||||||
|
// cart = Requires a Pushcart (for renewal can replace this state by SC_PUSH_CART in 'RequiredStatuses' field)
|
||||||
|
// shield = Requires a 0,shield equipped
|
||||||
|
// recover_weight_rate = Requires to be less than 50% weight
|
||||||
|
// move_enable = Requires to be able to move
|
||||||
|
// water = Requires to be standing on a water cell
|
||||||
|
// dragon = Requires to ride a Dragon
|
||||||
|
// warg = Requires a Warg
|
||||||
|
// ridingwarg = Requires to ride a Warg
|
||||||
|
// mado = Requires to have an active mado
|
||||||
|
// elementalspirit = Requires to have an Elemental Spirit summoned.
|
||||||
|
// peco = Requires riding a peco
|
||||||
|
//
|
||||||
|
// 'RequiredStatuses'
|
||||||
|
// Fill the value only with SC_STATUS (see db/const.txt for more details)
|
||||||
|
// Usage for multiple status requirements: SC_STATUS1:SC_STATUS2:SC_STATUS3
|
||||||
|
// Max. multiple value is 3 (skill.h: MAX_SKILL_STATUS_REQUIRE)
|
||||||
|
// Use any number or SC_ALL will disable status requirements
|
||||||
|
// 'RequiredEquipment'
|
||||||
|
// Specified equipment to be equipped. For multiple values, use : as delimiter.
|
||||||
|
// Max. multiple value is 10 (skill.h: MAX_SKILL_EQUIP_REQUIRE)
|
||||||
|
|
1
db/import-tmpl/skill_tree.txt
Normal file
1
db/import-tmpl/skill_tree.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
//JobNo,Skill-ID,MaxLV{,JobLV},Prerequisite Skill-ID-1,Prerequisite Skill-ID-1-Lv,PrereqSkill-ID-2,PrereqSkill-ID-2-Lv,PrereqSkill-ID-3,PrereqSkill-ID-3-Lv,PrereqSkill-ID-4,PrereqSkill-ID-4-Lv,PrereqSkill-ID-5,PrereqSkill-ID-5-Lv//CLASS_SKILLNAME#Skill Name#
|
29
db/import-tmpl/skill_unit_db.txt
Normal file
29
db/import-tmpl/skill_unit_db.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Skill Unit Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID,unit ID,unit ID 2,layout,range,interval,target,flag
|
||||||
|
//
|
||||||
|
// layout = -1:special, 0:1*1, 1:3*3, 2:5*5, up to 5:11*11
|
||||||
|
// target = friend (party +guildmates +neutral players) / party / guild
|
||||||
|
// ally (party +guildmates) / all / enemy
|
||||||
|
// flag 0x0001(UF_DEFNOTENEMY) If 'defunit_not_enemy' is set, the target is changed to 'friend'
|
||||||
|
// 0x0002(UF_NOREITERRATION) Spell cannot be stacked
|
||||||
|
// 0x0004(UF_NOFOOTSET) Spell cannot be cast near/on targets
|
||||||
|
// 0x0008(UF_NOOVERLAP) Spell effects do not overlap
|
||||||
|
// 0x0010(UF_PATHCHECK) Only cells with a shootable path will be placed
|
||||||
|
// 0x0020(UF_NOPC) Spell cannot affect players.
|
||||||
|
// 0x0040(UF_NOMOB) Spell cannot affect mobs.
|
||||||
|
// 0x0080(UF_SKILL) Spell CAN affect skills.
|
||||||
|
// 0x0100(UF_DANCE) Dance skill
|
||||||
|
// 0x0200(UF_ENSEMBLE) Ensemble skill
|
||||||
|
// 0x0400(UF_SONG) Song skill
|
||||||
|
// 0x0800(UF_DUALMODE) Spell has effects both at an interval and when you step in/out
|
||||||
|
// 0x2000(UF_RANGEDSINGLEUNIT) Layout hack, use layout range propriety but only display center.
|
||||||
|
// Example: 0x006 = 0x002+0x004 -> Cannot be stacked nor cast near targets
|
||||||
|
//
|
||||||
|
// Notes:
|
||||||
|
// 0x89,0x8a,0x8b without indication
|
||||||
|
//
|
||||||
|
// u1 u2 lay r intr target flag
|
||||||
|
//
|
||||||
|
|
7
db/import-tmpl/spellbook_db.txt
Normal file
7
db/import-tmpl/spellbook_db.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Reading Spellbook Preserve Points Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// SkillID,PreservePoints,Required Book
|
||||||
|
//
|
||||||
|
// NOTE: To add more entries, increase MAX_SKILL_SPELLBOOK_DB in skill.h.
|
||||||
|
|
1
db/import-tmpl/statpoint.txt
Normal file
1
db/import-tmpl/statpoint.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
//statpoint per lvl
|
@ -0,0 +1,5 @@
|
|||||||
|
// Item Combos Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// ID:ID:ID:ID,{ Script }
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
// Bloody Branch Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
// Dead Branch Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
// Class Change Summonable Monsters Database
|
||||||
|
// List of monsters generated through Abracadabra's SA_CLASSCHANGE ability.
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
@ -0,0 +1,5 @@
|
|||||||
|
// Poring Box Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
||||||
|
|
@ -0,0 +1,4 @@
|
|||||||
|
// Red Pouch of Surprise Summonable Monsters Database
|
||||||
|
//
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,DummyName,Rate
|
@ -33,7 +33,7 @@
|
|||||||
// Main packet version of the DB to use (default = max available version)
|
// Main packet version of the DB to use (default = max available version)
|
||||||
// Client detection is faster when all clients use this version.
|
// Client detection is faster when all clients use this version.
|
||||||
// Version 23 is the latest Sakexe (above versions are for Renewal clients)
|
// Version 23 is the latest Sakexe (above versions are for Renewal clients)
|
||||||
//packet_db_ver: 25
|
//packet_db_ver: 45
|
||||||
packet_db_ver: default
|
packet_db_ver: default
|
||||||
|
|
||||||
packet_ver: 5
|
packet_ver: 5
|
||||||
|
@ -720,12 +720,16 @@ int inter_guild_CharOffline(int char_id, int guild_id)
|
|||||||
// Initialize guild sql
|
// Initialize guild sql
|
||||||
int inter_guild_sql_init(void)
|
int inter_guild_sql_init(void)
|
||||||
{
|
{
|
||||||
|
const char *filename[]={ DBPATH"exp_guild.txt","import/exp_guild.txt"};
|
||||||
|
int i;
|
||||||
//Initialize the guild cache
|
//Initialize the guild cache
|
||||||
guild_db_= idb_alloc(DB_OPT_RELEASE_DATA);
|
guild_db_= idb_alloc(DB_OPT_RELEASE_DATA);
|
||||||
castle_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
castle_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
||||||
|
|
||||||
//Read exp file
|
//Read exp file
|
||||||
sv_readdb("db", DBPATH"exp_guild.txt", ',', 1, 1, 100, exp_guild_parse_row, 0);
|
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||||
|
sv_readdb(db_path, filename[i], ',', 1, 1, 100, exp_guild_parse_row, i);
|
||||||
|
}
|
||||||
|
|
||||||
add_timer_func_list(guild_save_timer, "guild_save_timer");
|
add_timer_func_list(guild_save_timer, "guild_save_timer");
|
||||||
add_timer(gettick() + 10000, guild_save_timer, 0, 0);
|
add_timer(gettick() + 10000, guild_save_timer, 0, 0);
|
||||||
|
@ -2181,6 +2181,12 @@ void guild_flags_clear(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void do_init_guild(void) {
|
void do_init_guild(void) {
|
||||||
|
const char* dbsubpath[] = {
|
||||||
|
"",
|
||||||
|
"import/",
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
|
||||||
guild_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
guild_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
||||||
castle_db = idb_alloc(DB_OPT_BASE);
|
castle_db = idb_alloc(DB_OPT_BASE);
|
||||||
guild_expcache_db = idb_alloc(DB_OPT_BASE);
|
guild_expcache_db = idb_alloc(DB_OPT_BASE);
|
||||||
@ -2189,10 +2195,18 @@ void do_init_guild(void) {
|
|||||||
|
|
||||||
guild_flags_count = 0;
|
guild_flags_count = 0;
|
||||||
|
|
||||||
sv_readdb(db_path, "castle_db.txt", ',', 4, 5, -1, &guild_read_castledb, 0);
|
|
||||||
|
|
||||||
memset(guild_skill_tree,0,sizeof(guild_skill_tree));
|
memset(guild_skill_tree,0,sizeof(guild_skill_tree));
|
||||||
sv_readdb(db_path, "guild_skill_tree.txt", ',', 2+MAX_GUILD_SKILL_REQUIRE*2, 2+MAX_GUILD_SKILL_REQUIRE*2, -1, &guild_read_guildskill_tree_db, 0); //guild skill tree [Komurka]
|
|
||||||
|
for(i=0; i<ARRAYLENGTH(dbsubpath); i++){
|
||||||
|
int n1 = strlen(db_path)+strlen(dbsubpath[i])+1;
|
||||||
|
char* dbsubpath1 = aMalloc(n1+1);
|
||||||
|
safesnprintf(dbsubpath1,n1+1,"%s/%s",db_path,dbsubpath[i]);
|
||||||
|
|
||||||
|
sv_readdb(dbsubpath1, "castle_db.txt", ',', 4, 5, -1, &guild_read_castledb, i);
|
||||||
|
sv_readdb(dbsubpath1, "guild_skill_tree.txt", ',', 2+MAX_GUILD_SKILL_REQUIRE*2, 2+MAX_GUILD_SKILL_REQUIRE*2, -1, &guild_read_guildskill_tree_db, i); //guild skill tree [Komurka]
|
||||||
|
|
||||||
|
aFree(dbsubpath1);
|
||||||
|
}
|
||||||
|
|
||||||
add_timer_func_list(guild_payexp_timer,"guild_payexp_timer");
|
add_timer_func_list(guild_payexp_timer,"guild_payexp_timer");
|
||||||
add_timer_func_list(guild_send_xy_timer, "guild_send_xy_timer");
|
add_timer_func_list(guild_send_xy_timer, "guild_send_xy_timer");
|
||||||
|
@ -1219,26 +1219,11 @@ static bool read_homunculusdb_sub(char* str[], int columns, int current)
|
|||||||
int read_homunculusdb(void)
|
int read_homunculusdb(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
const char *filename[]={DBPATH"homunculus_db.txt","homunculus_db2.txt"};
|
const char *filename[]={DBPATH"homunculus_db.txt","import/homunculus_db.txt"};
|
||||||
|
|
||||||
memset(homunculus_db,0,sizeof(homunculus_db));
|
memset(homunculus_db,0,sizeof(homunculus_db));
|
||||||
for(i = 0; i<ARRAYLENGTH(filename); i++)
|
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||||
{
|
sv_readdb(db_path, filename[i], ',', 50, 50, MAX_HOMUNCULUS_CLASS, &read_homunculusdb_sub, i);
|
||||||
if( i > 0 )
|
|
||||||
{
|
|
||||||
char path[256];
|
|
||||||
|
|
||||||
sprintf(path, "%s/%s", db_path, filename[i]);
|
|
||||||
|
|
||||||
if( !exists(path) )
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
sv_readdb(db_path, filename[i], ',', 50, 50, MAX_HOMUNCULUS_CLASS, &read_homunculusdb_sub, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1286,9 +1271,12 @@ static bool read_homunculus_skilldb_sub(char* split[], int columns, int current)
|
|||||||
|
|
||||||
int read_homunculus_skilldb(void)
|
int read_homunculus_skilldb(void)
|
||||||
{
|
{
|
||||||
|
const char *filename[]={ "homun_skill_tree.txt","import/homun_skill_tree.txt"};
|
||||||
|
int i;
|
||||||
memset(hskill_tree,0,sizeof(hskill_tree));
|
memset(hskill_tree,0,sizeof(hskill_tree));
|
||||||
sv_readdb(db_path, "homun_skill_tree.txt", ',', 13, 15, -1, &read_homunculus_skilldb_sub, 0);
|
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||||
|
sv_readdb(db_path, filename[i], ',', 13, 15, -1, &read_homunculus_skilldb_sub, i);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1299,16 +1287,17 @@ void read_homunculus_expdb(void)
|
|||||||
int i, j=0;
|
int i, j=0;
|
||||||
char *filename[]={
|
char *filename[]={
|
||||||
DBPATH"exp_homun.txt",
|
DBPATH"exp_homun.txt",
|
||||||
"exp_homun2.txt"};
|
"import/exp_homun.txt"
|
||||||
|
};
|
||||||
|
|
||||||
memset(hexptbl,0,sizeof(hexptbl));
|
memset(hexptbl,0,sizeof(hexptbl));
|
||||||
for(i=0; i<2; i++){
|
for(i=0; i<ARRAYLENGTH(filename); i++){
|
||||||
sprintf(line, "%s/%s", db_path, filename[i]);
|
sprintf(line, "%s/%s", db_path, filename[i]);
|
||||||
fp=fopen(line,"r");
|
fp=fopen(line,"r");
|
||||||
if(fp == NULL){
|
if(fp == NULL){
|
||||||
if(i != 0)
|
if(i != 0)
|
||||||
continue;
|
continue;
|
||||||
ShowError("can't read %s\n",line);
|
if(i==0) ShowError("can't read %s\n",line);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while(fgets(line, sizeof(line), fp) && j < MAX_LEVEL)
|
while(fgets(line, sizeof(line), fp) && j < MAX_LEVEL)
|
||||||
@ -1322,7 +1311,7 @@ void read_homunculus_expdb(void)
|
|||||||
}
|
}
|
||||||
if (hexptbl[MAX_LEVEL - 1]) // Last permitted level have to be 0!
|
if (hexptbl[MAX_LEVEL - 1]) // Last permitted level have to be 0!
|
||||||
{
|
{
|
||||||
ShowWarning("read_hexptbl: Reached max level in exp_homun [%d]. Remaining lines were not read.\n ", MAX_LEVEL);
|
ShowWarning("read_hexptbl: Reached max level in %s [%d]. Remaining lines were not read.\n ",filename,MAX_LEVEL);
|
||||||
hexptbl[MAX_LEVEL - 1] = 0;
|
hexptbl[MAX_LEVEL - 1] = 0;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
@ -646,14 +646,14 @@ static bool itemdb_read_itemavail(char* str[], int columns, int current)
|
|||||||
* read item group data
|
* read item group data
|
||||||
* GroupID,ItemID,Rate{,Amount,isMust,isAnnounced,Duration,isNamed,isBound}
|
* GroupID,ItemID,Rate{,Amount,isMust,isAnnounced,Duration,isNamed,isBound}
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
static void itemdb_read_itemgroup_sub(const char* filename)
|
static void itemdb_read_itemgroup_sub(const char* filename, bool silent)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
int ln=0, entries=0;
|
int ln=0, entries=0;
|
||||||
char line[1024];
|
char line[1024];
|
||||||
|
|
||||||
if ((fp=fopen(filename,"r")) == NULL) {
|
if ((fp=fopen(filename,"r")) == NULL) {
|
||||||
ShowError("can't read %s\n", filename);
|
if(silent == 0) ShowError("can't read %s\n", filename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -670,7 +670,7 @@ static void itemdb_read_itemgroup_sub(const char* filename)
|
|||||||
if (sscanf(line,"%[^:]: %[^\r\n]",w1,w2) == 2 &&
|
if (sscanf(line,"%[^:]: %[^\r\n]",w1,w2) == 2 &&
|
||||||
strcmpi(w1,"import") == 0)
|
strcmpi(w1,"import") == 0)
|
||||||
{
|
{
|
||||||
itemdb_read_itemgroup_sub(w2);
|
itemdb_read_itemgroup_sub(w2, 0);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -765,12 +765,12 @@ static void itemdb_read_itemgroup_sub(const char* filename)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void itemdb_read_itemgroup(void)
|
static void itemdb_read_itemgroup(const char* basedir, bool silent)
|
||||||
{
|
{
|
||||||
char path[256];
|
char filepath[256];
|
||||||
snprintf(path, 255, "%s/"DBPATH"item_group_db.txt", db_path);
|
sprintf(filepath, "%s/%s", basedir, "item_group_db.txt");
|
||||||
memset(&itemgroup_db, 0, sizeof(itemgroup_db));
|
memset(&itemgroup_db, 0, sizeof(itemgroup_db));
|
||||||
itemdb_read_itemgroup_sub(path);
|
itemdb_read_itemgroup_sub(filepath, silent);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1538,7 +1538,7 @@ static void itemdb_read(void) {
|
|||||||
itemdb_readdb();
|
itemdb_readdb();
|
||||||
|
|
||||||
|
|
||||||
itemdb_read_itemgroup();
|
|
||||||
|
|
||||||
for(i=0; i<ARRAYLENGTH(dbsubpath); i++){
|
for(i=0; i<ARRAYLENGTH(dbsubpath); i++){
|
||||||
int n1 = strlen(db_path)+strlen(dbsubpath[i])+1;
|
int n1 = strlen(db_path)+strlen(dbsubpath[i])+1;
|
||||||
@ -1550,8 +1550,8 @@ static void itemdb_read(void) {
|
|||||||
sv_readdb(dbsubpath2, "item_stack.txt", ',', 3, 3, -1, &itemdb_read_stack, i);
|
sv_readdb(dbsubpath2, "item_stack.txt", ',', 3, 3, -1, &itemdb_read_stack, i);
|
||||||
sv_readdb(dbsubpath2, "item_nouse.txt", ',', 3, 3, -1, &itemdb_read_nouse, i);
|
sv_readdb(dbsubpath2, "item_nouse.txt", ',', 3, 3, -1, &itemdb_read_nouse, i);
|
||||||
|
|
||||||
if(i==0)
|
if(i==0) safesnprintf(dbsubpath2,n2,"%s/%s%s",db_path,DBPATH,dbsubpath[i]);
|
||||||
safesnprintf(dbsubpath2,n2,"%s/%s%s",db_path,DBPATH,dbsubpath[i]);
|
itemdb_read_itemgroup(dbsubpath2, i);
|
||||||
itemdb_read_combos(dbsubpath2,i); //TODO change this to sv_read ? id#script ?
|
itemdb_read_combos(dbsubpath2,i); //TODO change this to sv_read ? id#script ?
|
||||||
sv_readdb(dbsubpath2, "item_noequip.txt", ',', 2, 2, -1, &itemdb_read_noequip, i);
|
sv_readdb(dbsubpath2, "item_noequip.txt", ',', 2, 2, -1, &itemdb_read_noequip, i);
|
||||||
sv_readdb(dbsubpath2, "item_trade.txt", ',', 3, 3, -1, &itemdb_read_itemtrade, i);
|
sv_readdb(dbsubpath2, "item_trade.txt", ',', 3, 3, -1, &itemdb_read_itemtrade, i);
|
||||||
|
@ -462,8 +462,12 @@ static bool read_mercenarydb_sub(char* str[], int columns, int current)
|
|||||||
|
|
||||||
int read_mercenarydb(void)
|
int read_mercenarydb(void)
|
||||||
{
|
{
|
||||||
|
const char *filename[]={ "mercenary_db.txt","import/mercenary_db.txt"};
|
||||||
|
int i;
|
||||||
memset(mercenary_db,0,sizeof(mercenary_db));
|
memset(mercenary_db,0,sizeof(mercenary_db));
|
||||||
sv_readdb(db_path, "mercenary_db.txt", ',', 26, 26, MAX_MERCENARY_CLASS, &read_mercenarydb_sub, 0);
|
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||||
|
sv_readdb(db_path, filename[i], ',', 26, 26, MAX_MERCENARY_CLASS, &read_mercenarydb_sub, i);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -501,7 +505,11 @@ static bool read_mercenary_skilldb_sub(char* str[], int columns, int current)
|
|||||||
|
|
||||||
int read_mercenary_skilldb(void)
|
int read_mercenary_skilldb(void)
|
||||||
{
|
{
|
||||||
sv_readdb(db_path, "mercenary_skill_db.txt", ',', 3, 3, -1, &read_mercenary_skilldb_sub, 0);
|
const char *filename[]={ "mercenary_skill_db.txt","import/mercenary_skill_db.txt"};
|
||||||
|
int i;
|
||||||
|
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||||
|
sv_readdb(db_path, filename[i], ',', 3, 3, -1, &read_mercenary_skilldb_sub, i);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -4052,7 +4052,7 @@ static int mob_read_randommonster(void)
|
|||||||
sprintf(line, "%s/%s", db_path, mobfile[i]);
|
sprintf(line, "%s/%s", db_path, mobfile[i]);
|
||||||
fp=fopen(line,"r");
|
fp=fopen(line,"r");
|
||||||
if(fp==NULL){
|
if(fp==NULL){
|
||||||
if(i>=ARRAYLENGTH(mobfile)/2-1) ShowError("mob_read_randommonster: can't read %s\n",line);
|
if(i<=ARRAYLENGTH(mobfile)/2-1) ShowError("mob_read_randommonster: can't read %s\n",line);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
while(fgets(line, sizeof(line), fp))
|
while(fgets(line, sizeof(line), fp))
|
||||||
|
@ -10146,7 +10146,7 @@ int pc_read_statsdb(const char *basedir, bool silent){
|
|||||||
entries++;
|
entries++;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", entries, DBPATH"statpoint.txt");
|
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s%s"CL_RESET"'.\n", entries, basedir,"statpoint.txt");
|
||||||
}
|
}
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
@ -1213,7 +1213,7 @@ int pet_skill_support_timer(int tid, unsigned int tick, int id, intptr_t data)
|
|||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int read_petdb()
|
int read_petdb()
|
||||||
{
|
{
|
||||||
char* filename[] = {"pet_db.txt","pet_db2.txt"};
|
char* filename[] = {"pet_db.txt","import/pet_db.txt"};
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
int nameid,i,j,k;
|
int nameid,i,j,k;
|
||||||
|
|
||||||
@ -1243,10 +1243,8 @@ int read_petdb()
|
|||||||
|
|
||||||
sprintf(line, "%s/%s", db_path, filename[i]);
|
sprintf(line, "%s/%s", db_path, filename[i]);
|
||||||
fp=fopen(line,"r");
|
fp=fopen(line,"r");
|
||||||
if( fp == NULL )
|
if( fp == NULL ) {
|
||||||
{
|
if( i == 0 ) ShowError("can't read %s\n",line);
|
||||||
if( i == 0 )
|
|
||||||
ShowError("can't read %s\n",line);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,24 +288,30 @@ int quest_check(TBL_PC * sd, int quest_id, quest_check_type type) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int quest_read_db(void) {
|
int quest_read_db(void) {
|
||||||
|
const char* dbsubpath[] = {
|
||||||
|
"",
|
||||||
|
"import/",
|
||||||
|
};
|
||||||
|
int f;
|
||||||
|
|
||||||
|
for(f=0; f<ARRAYLENGTH(dbsubpath); f++){
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char line[1024];
|
char line[1024];
|
||||||
int i,j,k = 0;
|
int i,j,k = 0;
|
||||||
char *str[20],*p,*np;
|
char *str[20],*p,*np;
|
||||||
|
char filename[256];
|
||||||
|
|
||||||
sprintf(line, "%s/quest_db.txt", db_path);
|
sprintf(filename, "%s/%s%s", db_path,dbsubpath[f],"quest_db.txt");
|
||||||
if( (fp=fopen(line,"r"))==NULL ){
|
if( (fp=fopen(filename,"r"))==NULL ){
|
||||||
ShowError("can't read %s\n", line);
|
if(f==0) ShowError("can't read %s\n", filename);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(fgets(line, sizeof(line), fp)) {
|
while(fgets(line, sizeof(line), fp)) {
|
||||||
|
|
||||||
if (k == MAX_QUEST_DB) {
|
if (k == MAX_QUEST_DB) {
|
||||||
ShowError("quest_read_db: Too many entries specified in %s/quest_db.txt!\n", db_path);
|
ShowError("quest_read_db: Too many entries specified in %s/quest_db.txt!\n", db_path);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(line[0]=='/' && line[1]=='/')
|
if(line[0]=='/' && line[1]=='/')
|
||||||
continue;
|
continue;
|
||||||
memset(str,0,sizeof(str));
|
memset(str,0,sizeof(str));
|
||||||
@ -344,7 +350,8 @@ int quest_read_db(void) {
|
|||||||
k++;
|
k++;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", k, "quest_db.txt");
|
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", k, filename);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user