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/*.o
|
||||
|
||||
# /db/
|
||||
/db/import
|
||||
|
||||
# /conf/
|
||||
/conf/import
|
||||
/conf/msg_conf/import
|
||||
|
@ -64,13 +64,16 @@ import:
|
||||
# 1) create conf/import folder
|
||||
# 2) add missing files
|
||||
# 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
|
||||
@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
|
||||
@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
|
||||
@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:
|
||||
@$(MAKE) -C src/common $@
|
||||
@ -92,7 +95,7 @@ help:
|
||||
@echo "'char' - builds char server"
|
||||
@echo "'map' - builds map server"
|
||||
@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 "'sql' - builds servers (targets 'common_sql' 'login' 'char' 'map' and 'import')"
|
||||
@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)
|
||||
// Client detection is faster when all clients use this version.
|
||||
// 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_ver: 5
|
||||
|
@ -720,12 +720,16 @@ int inter_guild_CharOffline(int char_id, int guild_id)
|
||||
// Initialize guild sql
|
||||
int inter_guild_sql_init(void)
|
||||
{
|
||||
const char *filename[]={ DBPATH"exp_guild.txt","import/exp_guild.txt"};
|
||||
int i;
|
||||
//Initialize the guild cache
|
||||
guild_db_= idb_alloc(DB_OPT_RELEASE_DATA);
|
||||
castle_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
||||
|
||||
//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(gettick() + 10000, guild_save_timer, 0, 0);
|
||||
|
@ -2181,6 +2181,12 @@ void guild_flags_clear(void) {
|
||||
}
|
||||
|
||||
void do_init_guild(void) {
|
||||
const char* dbsubpath[] = {
|
||||
"",
|
||||
"import/",
|
||||
};
|
||||
int i;
|
||||
|
||||
guild_db = idb_alloc(DB_OPT_RELEASE_DATA);
|
||||
castle_db = idb_alloc(DB_OPT_BASE);
|
||||
guild_expcache_db = idb_alloc(DB_OPT_BASE);
|
||||
@ -2189,11 +2195,19 @@ void do_init_guild(void) {
|
||||
|
||||
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));
|
||||
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_send_xy_timer, "guild_send_xy_timer");
|
||||
add_timer_interval(gettick()+GUILD_PAYEXP_INVERVAL,guild_payexp_timer,0,0,GUILD_PAYEXP_INVERVAL);
|
||||
|
@ -1219,26 +1219,11 @@ static bool read_homunculusdb_sub(char* str[], int columns, int current)
|
||||
int read_homunculusdb(void)
|
||||
{
|
||||
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));
|
||||
for(i = 0; i<ARRAYLENGTH(filename); 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);
|
||||
for(i = 0; i<ARRAYLENGTH(filename); i++){
|
||||
sv_readdb(db_path, filename[i], ',', 50, 50, MAX_HOMUNCULUS_CLASS, &read_homunculusdb_sub, i);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1286,9 +1271,12 @@ static bool read_homunculus_skilldb_sub(char* split[], int columns, int current)
|
||||
|
||||
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));
|
||||
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;
|
||||
}
|
||||
|
||||
@ -1299,16 +1287,17 @@ void read_homunculus_expdb(void)
|
||||
int i, j=0;
|
||||
char *filename[]={
|
||||
DBPATH"exp_homun.txt",
|
||||
"exp_homun2.txt"};
|
||||
"import/exp_homun.txt"
|
||||
};
|
||||
|
||||
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]);
|
||||
fp=fopen(line,"r");
|
||||
if(fp == NULL){
|
||||
if(i != 0)
|
||||
continue;
|
||||
ShowError("can't read %s\n",line);
|
||||
if(i==0) ShowError("can't read %s\n",line);
|
||||
return;
|
||||
}
|
||||
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!
|
||||
{
|
||||
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;
|
||||
}
|
||||
fclose(fp);
|
||||
|
@ -646,14 +646,14 @@ static bool itemdb_read_itemavail(char* str[], int columns, int current)
|
||||
* read item group data
|
||||
* 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;
|
||||
int ln=0, entries=0;
|
||||
char line[1024];
|
||||
|
||||
if ((fp=fopen(filename,"r")) == NULL) {
|
||||
ShowError("can't read %s\n", filename);
|
||||
if(silent == 0) ShowError("can't read %s\n", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -670,7 +670,7 @@ static void itemdb_read_itemgroup_sub(const char* filename)
|
||||
if (sscanf(line,"%[^:]: %[^\r\n]",w1,w2) == 2 &&
|
||||
strcmpi(w1,"import") == 0)
|
||||
{
|
||||
itemdb_read_itemgroup_sub(w2);
|
||||
itemdb_read_itemgroup_sub(w2, 0);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -765,12 +765,12 @@ static void itemdb_read_itemgroup_sub(const char* filename)
|
||||
return;
|
||||
}
|
||||
|
||||
static void itemdb_read_itemgroup(void)
|
||||
static void itemdb_read_itemgroup(const char* basedir, bool silent)
|
||||
{
|
||||
char path[256];
|
||||
snprintf(path, 255, "%s/"DBPATH"item_group_db.txt", db_path);
|
||||
char filepath[256];
|
||||
sprintf(filepath, "%s/%s", basedir, "item_group_db.txt");
|
||||
memset(&itemgroup_db, 0, sizeof(itemgroup_db));
|
||||
itemdb_read_itemgroup_sub(path);
|
||||
itemdb_read_itemgroup_sub(filepath, silent);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1538,7 +1538,7 @@ static void itemdb_read(void) {
|
||||
itemdb_readdb();
|
||||
|
||||
|
||||
itemdb_read_itemgroup();
|
||||
|
||||
|
||||
for(i=0; i<ARRAYLENGTH(dbsubpath); i++){
|
||||
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_nouse.txt", ',', 3, 3, -1, &itemdb_read_nouse, i);
|
||||
|
||||
if(i==0)
|
||||
safesnprintf(dbsubpath2,n2,"%s/%s%s",db_path,DBPATH,dbsubpath[i]);
|
||||
if(i==0) 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 ?
|
||||
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);
|
||||
|
@ -462,8 +462,12 @@ static bool read_mercenarydb_sub(char* str[], int columns, int current)
|
||||
|
||||
int read_mercenarydb(void)
|
||||
{
|
||||
const char *filename[]={ "mercenary_db.txt","import/mercenary_db.txt"};
|
||||
int i;
|
||||
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;
|
||||
}
|
||||
@ -501,7 +505,11 @@ static bool read_mercenary_skilldb_sub(char* str[], int columns, int current)
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -4052,7 +4052,7 @@ static int mob_read_randommonster(void)
|
||||
sprintf(line, "%s/%s", db_path, mobfile[i]);
|
||||
fp=fopen(line,"r");
|
||||
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;
|
||||
}
|
||||
while(fgets(line, sizeof(line), fp))
|
||||
|
@ -10146,7 +10146,7 @@ int pc_read_statsdb(const char *basedir, bool silent){
|
||||
entries++;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
@ -1213,7 +1213,7 @@ int pet_skill_support_timer(int tid, unsigned int tick, int id, intptr_t data)
|
||||
*------------------------------------------*/
|
||||
int read_petdb()
|
||||
{
|
||||
char* filename[] = {"pet_db.txt","pet_db2.txt"};
|
||||
char* filename[] = {"pet_db.txt","import/pet_db.txt"};
|
||||
FILE *fp;
|
||||
int nameid,i,j,k;
|
||||
|
||||
@ -1243,10 +1243,8 @@ int read_petdb()
|
||||
|
||||
sprintf(line, "%s/%s", db_path, filename[i]);
|
||||
fp=fopen(line,"r");
|
||||
if( fp == NULL )
|
||||
{
|
||||
if( i == 0 )
|
||||
ShowError("can't read %s\n",line);
|
||||
if( fp == NULL ) {
|
||||
if( i == 0 ) ShowError("can't read %s\n",line);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
107
src/map/quest.c
107
src/map/quest.c
@ -288,63 +288,70 @@ int quest_check(TBL_PC * sd, int quest_id, quest_check_type type) {
|
||||
}
|
||||
|
||||
int quest_read_db(void) {
|
||||
FILE *fp;
|
||||
char line[1024];
|
||||
int i,j,k = 0;
|
||||
char *str[20],*p,*np;
|
||||
const char* dbsubpath[] = {
|
||||
"",
|
||||
"import/",
|
||||
};
|
||||
int f;
|
||||
|
||||
sprintf(line, "%s/quest_db.txt", db_path);
|
||||
if( (fp=fopen(line,"r"))==NULL ){
|
||||
ShowError("can't read %s\n", line);
|
||||
return -1;
|
||||
}
|
||||
for(f=0; f<ARRAYLENGTH(dbsubpath); f++){
|
||||
FILE *fp;
|
||||
char line[1024];
|
||||
int i,j,k = 0;
|
||||
char *str[20],*p,*np;
|
||||
char filename[256];
|
||||
|
||||
while(fgets(line, sizeof(line), fp)) {
|
||||
|
||||
if (k == MAX_QUEST_DB) {
|
||||
ShowError("quest_read_db: Too many entries specified in %s/quest_db.txt!\n", db_path);
|
||||
break;
|
||||
sprintf(filename, "%s/%s%s", db_path,dbsubpath[f],"quest_db.txt");
|
||||
if( (fp=fopen(filename,"r"))==NULL ){
|
||||
if(f==0) ShowError("can't read %s\n", filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(line[0]=='/' && line[1]=='/')
|
||||
continue;
|
||||
memset(str,0,sizeof(str));
|
||||
|
||||
for( j = 0, p = line; j < 8; j++ ) {
|
||||
if( ( np = strchr(p,',') ) != NULL ) {
|
||||
str[j] = p;
|
||||
*np = 0;
|
||||
p = np + 1;
|
||||
}
|
||||
else if (str[0] == NULL)
|
||||
continue;
|
||||
else {
|
||||
ShowError("quest_read_db: insufficient columns in line %s\n", line);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(str[0]==NULL)
|
||||
continue;
|
||||
|
||||
memset(&quest_db[k], 0, sizeof(quest_db[0]));
|
||||
|
||||
quest_db[k].id = atoi(str[0]);
|
||||
quest_db[k].time = atoi(str[1]);
|
||||
|
||||
for( i = 0; i < MAX_QUEST_OBJECTIVES; i++ ) {
|
||||
quest_db[k].mob[i] = atoi(str[2*i+2]);
|
||||
quest_db[k].count[i] = atoi(str[2*i+3]);
|
||||
|
||||
if( !quest_db[k].mob[i] || !quest_db[k].count[i] )
|
||||
while(fgets(line, sizeof(line), fp)) {
|
||||
if (k == MAX_QUEST_DB) {
|
||||
ShowError("quest_read_db: Too many entries specified in %s/quest_db.txt!\n", db_path);
|
||||
break;
|
||||
}
|
||||
|
||||
quest_db[k].num_objectives = i;
|
||||
}
|
||||
if(line[0]=='/' && line[1]=='/')
|
||||
continue;
|
||||
memset(str,0,sizeof(str));
|
||||
|
||||
k++;
|
||||
for( j = 0, p = line; j < 8; j++ ) {
|
||||
if( ( np = strchr(p,',') ) != NULL ) {
|
||||
str[j] = p;
|
||||
*np = 0;
|
||||
p = np + 1;
|
||||
}
|
||||
else if (str[0] == NULL)
|
||||
continue;
|
||||
else {
|
||||
ShowError("quest_read_db: insufficient columns in line %s\n", line);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(str[0]==NULL)
|
||||
continue;
|
||||
|
||||
memset(&quest_db[k], 0, sizeof(quest_db[0]));
|
||||
|
||||
quest_db[k].id = atoi(str[0]);
|
||||
quest_db[k].time = atoi(str[1]);
|
||||
|
||||
for( i = 0; i < MAX_QUEST_OBJECTIVES; i++ ) {
|
||||
quest_db[k].mob[i] = atoi(str[2*i+2]);
|
||||
quest_db[k].count[i] = atoi(str[2*i+3]);
|
||||
|
||||
if( !quest_db[k].mob[i] || !quest_db[k].count[i] )
|
||||
break;
|
||||
}
|
||||
|
||||
quest_db[k].num_objectives = i;
|
||||
|
||||
k++;
|
||||
}
|
||||
fclose(fp);
|
||||
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", k, filename);
|
||||
}
|
||||
fclose(fp);
|
||||
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", k, "quest_db.txt");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user