-Upd abracadabra_db thank to Playtester.
--Added new skills and change the rate behaviour. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17374 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
cc701c83bb
commit
da56e53efd
480
db/abra_db.txt
480
db/abra_db.txt
@ -1,322 +1,224 @@
|
|||||||
// Hocus-Pocus (Abrakadabra) Castable Skills Database
|
// Hocus-Pocus (Abracadabra) Castable Skills Database
|
||||||
//
|
//
|
||||||
// Structure of Database:
|
// Structure of Database:
|
||||||
// SkillID,DummyName,RequiredHocusPocusLevel,Rate
|
// SkillID,DummyName,RatePerLvl
|
||||||
//
|
//
|
||||||
// 01. SkillID Skill ID to be casted by hocus pocus.
|
// 01. SkillID Skill ID to be casted by hocus pocus.
|
||||||
// 02. DummyName Name of the skill (informative, not used by server).
|
// 02. DummyName Name of the skill (informative, not used by server).
|
||||||
// 03. RequiredHocusPocusLevel Minimum skill level of hocus pocus for the current skill to be selected.
|
// 03. RatePerLvl Chance at which the skill is selected (1 = 0.01%, 10000 = 100%).
|
||||||
// 04. Rate 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
|
// NOTE: The skill is picked at random from the entire database and then tested for rate. If it
|
||||||
// does not succeed at that rate, an another skill is picked and tested. This continues
|
// does not succeed at that rate, another skill is picked and tested. This continues
|
||||||
// until a skill succeeds.
|
// 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.
|
||||||
|
|
||||||
//1,Basic Skill,1,0
|
5,Bash,500
|
||||||
|
6,Provoke,500
|
||||||
|
7,Magnum Break,500
|
||||||
|
8,Endure,500
|
||||||
|
|
||||||
//2,Sword Mastery,1,0
|
10,Sight,500
|
||||||
//3,Two-Handed Sword Mastery,1,0
|
11,Napalm Beat,500
|
||||||
//4,Increase HP Recovery,1,0
|
12,Safety Wall,500
|
||||||
5,Bash,1,5000
|
13,Soul Strike,500
|
||||||
6,Provoke,1,5000
|
14,Cold Bolt,500
|
||||||
7,Magnum Break,1,5000
|
15,Frost Diver,500
|
||||||
8,Endure,1,5000
|
16,Stone Curse,500
|
||||||
|
17,Fire Ball,500
|
||||||
|
18,Fire Wall,500
|
||||||
|
19,Fire Bolt,500
|
||||||
|
20,Lightning Bolt,500
|
||||||
|
21,Thunder Storm,500
|
||||||
|
|
||||||
//9,Increase SP Recovery,1,0
|
24,Ruwach,500
|
||||||
10,Sight,1,5000
|
25,Pneuma,500
|
||||||
11,Napalm Beat,1,5000
|
26,Teleport,500
|
||||||
12,Safety Wall,4,5000
|
27,Warp Portal,500
|
||||||
13,Soul Strike,2,5000
|
28,Heal,500
|
||||||
14,Cold Bolt,1,5000
|
29,Increase AGI,500
|
||||||
15,Frost Diver,2,5000
|
30,Decrease AGI,500
|
||||||
16,Stone Curse,1,5000
|
31,Aqua Benedicta,500
|
||||||
17,Fire Ball,2,5000
|
32,Signum Crucis,500
|
||||||
18,Fire Wall,4,5000
|
33,Angelus,500
|
||||||
19,Fire Bolt,1,5000
|
34,Blessing,500
|
||||||
20,Lightning Bolt,1,5000
|
35,Cure,500
|
||||||
21,Thunder Storm,2,5000
|
|
||||||
|
|
||||||
//22,Divine Protection,1,0
|
40,Item Appraisal,500
|
||||||
//23,Demon Bane,1,0
|
41,Vending,500
|
||||||
24,Ruwach,1,5000
|
42,Mammonite,500
|
||||||
25,Pneuma,6,5000
|
|
||||||
26,Teleport,2,5000
|
|
||||||
27,Warp Portal,4,5000
|
|
||||||
28,Heal,1,5000
|
|
||||||
29,Increase AGI,2,5000
|
|
||||||
30,Decrease AGI,4,5000
|
|
||||||
31,Aqua Benedicta,1,5000
|
|
||||||
32,Signum Crucis,1,5000
|
|
||||||
33,Angelus,1,5000
|
|
||||||
34,Blessing,2,5000
|
|
||||||
35,Cure,1,5000
|
|
||||||
|
|
||||||
//36,Enlarge Weight Limit,1,0
|
45,Improve Concentration,500
|
||||||
//37,Discount,1,0
|
46,Double Strafe,500
|
||||||
//38,Overcharge,1,0
|
47,Arrow Shower,500
|
||||||
//39,Pushcart,1,0
|
|
||||||
40,Item Appraisal,1,5000
|
|
||||||
41,Vending,4,5000
|
|
||||||
42,Mammonite,1,5000
|
|
||||||
|
|
||||||
//43,Owl's Eye,1,0
|
50,Steal,500
|
||||||
//44,Vulture's Eye,1,0
|
51,Hiding,500
|
||||||
45,Improve Concentration,4,5000
|
52,Envenom,500
|
||||||
46,Double Strafe,1,5000
|
53,Detoxify,500
|
||||||
47,Arrow Shower,2,5000
|
|
||||||
|
|
||||||
//48,Double Attack,1,0
|
54,Resurrection,500
|
||||||
//49,Improve Dodge,1,0
|
|
||||||
50,Steal,2,5000
|
|
||||||
51,Hiding,2,5000
|
|
||||||
52,Envenom,1,5000
|
|
||||||
53,Detoxify,1,5000
|
|
||||||
|
|
||||||
54,Resurrection,1,5000
|
56,Pierce,500
|
||||||
|
57,Brandish Spear,500
|
||||||
|
58,Spear Stab,500
|
||||||
|
59,Spear Boomerang,500
|
||||||
|
60,TwoHand Quicken,500
|
||||||
|
61,Counter Attack,500
|
||||||
|
62,Bowling Bash,500
|
||||||
|
|
||||||
//55,Spear Mastery,1,0
|
66,Impositio Manus,500
|
||||||
56,Pierce,2,4000
|
67,Suffragium,500
|
||||||
57,Brandish Spear,6,4000
|
68,Aspersio,500
|
||||||
58,Spear Stab,1,4000
|
69,B.S Sacramenti,500
|
||||||
59,Spear Boomerang,4,4000
|
70,Sanctuary,500
|
||||||
60,TwoHand Quicken,1,4000
|
71,Slow poison,500
|
||||||
61,Counter Attack,2,4000
|
72,Status Recovery,500
|
||||||
62,Bowling Bash,6,4000
|
73,Kyrie Eleison,500
|
||||||
//63,Peco Peco Riding,1,0
|
74,Magnificat,500
|
||||||
//64,Cavalier Mastery,1,0
|
75,Gloria,500
|
||||||
|
76,Lex Divina,500
|
||||||
|
77,Turn Undead,500
|
||||||
|
78,Lex Aeterna,500
|
||||||
|
79,Magnus Exorcismus,500
|
||||||
|
|
||||||
//65,Mace Mastery,1,0
|
80,Fire Pillar,500
|
||||||
66,Impositio Manus,1,4000
|
81,Sightrasher,500
|
||||||
67,Suffragium,2,4000
|
//82,Fire Ivy,500
|
||||||
68,Aspersio,2,4000
|
83,Meteor Storm,500
|
||||||
69,B.S Sacramenti,4,4000
|
84,Jupitel Thunder,500
|
||||||
70,Sanctuary,2,4000
|
85,Lord of Vermilion,500
|
||||||
71,Slow poison,1,4000
|
86,Water Ball,500
|
||||||
72,Status Recovery,1,4000
|
87,Ice Wall,500
|
||||||
73,Kyrie Eleison,2,4000
|
88,Frost Nova,500
|
||||||
74,Magnificat,2,4000
|
89,Storm Gust,500
|
||||||
75,Gloria,4,4000
|
90,Earth spike,500
|
||||||
76,Lex Divina,2,4000
|
91,Heaven's Drive,500
|
||||||
77,Turn Undead,2,4000
|
92,Quagmire,500
|
||||||
78,Lex Aeterna,4,4000
|
93,Sense,500
|
||||||
79,Magnus Exorcismus,6,4000
|
|
||||||
|
|
||||||
80,Fire Pillar,2,4000
|
//108,Weapon Repair,500
|
||||||
81,Sightrasher,2,4000
|
110,Hammer Fall,500
|
||||||
//82,Fire Ivy,1,0
|
111,Adrenaline Rush,500
|
||||||
83,Meteor Storm,6,4000
|
112,Weapon Perfection,500
|
||||||
84,Jupitel Thunder,2,4000
|
113,Power-Thrust,500
|
||||||
85,Lord of Vermilion,6,4000
|
114,Maximize Power,500
|
||||||
86,Water Ball,4,4000
|
|
||||||
87,Ice Wall,2,4000
|
|
||||||
88,Frost Nova,1,4000
|
|
||||||
89,Storm Gust,6,4000
|
|
||||||
90,Earth spike,1,4000
|
|
||||||
91,Heaven's Drive,2,4000
|
|
||||||
92,Quagmire,4,4000
|
|
||||||
93,Sense,1,4000
|
|
||||||
|
|
||||||
//94,Iron Tempering,1,0
|
115,Skid Trap,500
|
||||||
//95,Steel Tempering,1,0
|
116,Land Mine,500
|
||||||
//96,Enchanted Stone Craft,1,0
|
117,Ankle Snare,500
|
||||||
//97,Oridecon Research,1,0
|
118,Shockwave Trap,500
|
||||||
//98,Smith Dagger,1,0
|
119,Sandman,500
|
||||||
//99,Smith Sword,1,0
|
120,Flasher,500
|
||||||
//100,Smith Two-handed Sword,1,0
|
121,Freezing Trap,500
|
||||||
//101,Smith Axe,1,0
|
122,Blast Mine,500
|
||||||
//102,Smith Mace,1,0
|
123,Claymore Trap,500
|
||||||
//103,Smith Knucklebrace,1,0
|
124,Remove Trap,500
|
||||||
//104,Smith Spear,1,0
|
125,Talkie box,500
|
||||||
//105,Hilt Binding,1,0
|
129,Blitz Beat,500
|
||||||
//106,Ore Discovery,1,0
|
130,Detect,500
|
||||||
//107,Weaponry Research,1,0
|
131,Spring Trap,500
|
||||||
108,Weapon Repair,1,0
|
|
||||||
//109,Skin Tempering,1,0
|
|
||||||
110,Hammer Fall,1,4000
|
|
||||||
111,Adrenaline Rush,2,4000
|
|
||||||
112,Weapon Perfection,4,4000
|
|
||||||
113,Power-Thrust,4,4000
|
|
||||||
114,Maximize Power,6,4000
|
|
||||||
|
|
||||||
115,Skid Trap,1,4000
|
135,Cloaking,500
|
||||||
116,Land Mine,2,4000
|
136,Sonic Blow,500
|
||||||
117,Ankle Snare,2,4000
|
137,Grimtooth,500
|
||||||
118,Shockwave Trap,4,4000
|
138,Enchant Poison,500
|
||||||
119,Sandman,4,4000
|
139,Poison React,500
|
||||||
120,Flasher,4,4000
|
140,Venom Dust,500
|
||||||
121,Freezing Trap,4,4000
|
141,Venom Splasher,500
|
||||||
122,Blast Mine,4,4000
|
|
||||||
123,Claymore Trap,6,4000
|
|
||||||
124,Remove Trap,1,4000
|
|
||||||
125,Talkie box,1,4000
|
|
||||||
//126,Beast Bane,1,0
|
|
||||||
//127,Falconry Mastery,1,0
|
|
||||||
//128,Steel Crow,1,0
|
|
||||||
129,Blitz Beat,4,4000
|
|
||||||
130,Detect,1,4000
|
|
||||||
131,Spring Trap,1,4000
|
|
||||||
|
|
||||||
//132,Righthand Mastery,1,0
|
|
||||||
//133,Lefthand Mastery,1,0
|
|
||||||
//134,Katar Mastery,1,0
|
|
||||||
135,Cloaking,2,4000
|
|
||||||
136,Sonic Blow,2,4000
|
|
||||||
137,Grimtooth,4,4000
|
|
||||||
138,Enchant Poison,2,4000
|
|
||||||
139,Poison React,2,4000
|
|
||||||
140,Venom Dust,4,4000
|
|
||||||
141,Venom Splasher,4,4000
|
|
||||||
|
|
||||||
//---JP2.0 Additional skill---
|
|
||||||
142,First Aid,1,5000
|
|
||||||
143,Act Dead,1,5000
|
|
||||||
//144,Moving HP-Recovery,1,0
|
|
||||||
//145,Fatal Blow,1,0
|
|
||||||
146,Auto Berserk,1,0
|
|
||||||
147,Arrow Crafting,1,5000
|
|
||||||
148,Arrow Repel,1,5000
|
|
||||||
149,Throw Sand,1,5000
|
|
||||||
150,Back sliding,1,5000
|
|
||||||
151,Find Stone,1,5000
|
|
||||||
152,Stone Fling,1,5000
|
|
||||||
153,Cart Revolution,1,5000
|
|
||||||
154,Change Cart,1,5000
|
|
||||||
155,Crazy Uproar,1,5000
|
|
||||||
156,Holy Light,1,5000
|
|
||||||
157,Energy Coat,1,5000
|
|
||||||
|
|
||||||
//---EP4.0 Skill---
|
//---EP4.0 Skill---
|
||||||
//210,Gank,1,0
|
211,Mug,500
|
||||||
211,Mug,1,4000
|
212,Back Stab,500
|
||||||
212,Back Stab,4,4000
|
214,Sightless Raid,500
|
||||||
//213,Stalk,1,0
|
215,Divest Weapon,500
|
||||||
214,Sightless Raid,2,4000
|
216,Divest Shield,500
|
||||||
215,Divest Weapon,4,4000
|
217,Divest Armor,500
|
||||||
216,Divest shield,4,4000
|
218,Divest Helm,500
|
||||||
217,Divest armor,4,4000
|
219,Snatch,500
|
||||||
218,Divest helm,4,4000
|
220,Scribble,500
|
||||||
219,Snatch,4,4000
|
//221,Piece,500
|
||||||
220,Scribble,1,4000
|
222,Remover,500
|
||||||
221,Piece,1,0
|
|
||||||
222,Remover,4,4000
|
|
||||||
//223,Slyness,1,0
|
|
||||||
//224,Haggle,1,0
|
|
||||||
//225,Intimidate,1,0
|
|
||||||
|
|
||||||
//226,Axe Mastery,1,0
|
249,Guard,500
|
||||||
//227,Potion Research,1,0
|
250,Smite,500
|
||||||
228,Prepare Potion,1,4000
|
251,Shield Boomerang,500
|
||||||
229,Bomb,2,4000
|
252,Shield Reflect,500
|
||||||
230,Acid terror,2,4000
|
253,Holy Cross,500
|
||||||
231,Aid Potion,2,4000
|
254,Grand Cross,500
|
||||||
232,Summon Flora,4,4000
|
255,Sacrifice,500
|
||||||
233,Summon Marine Sphere,4,4000
|
256,Resistant Souls,500
|
||||||
234,Alchemical Weapon,4,4000
|
257,Defending Aura,500
|
||||||
235,Synthesized Shield,4,4000
|
258,Spear Quicken,500
|
||||||
236,Synthetic Armor,4,4000
|
|
||||||
237,Biochemical Helm,4,4000
|
|
||||||
|
|
||||||
//238,Bioethics,1,0
|
261,Summon Spirit Sphere,500
|
||||||
//239,Biotechnology,1,0
|
262,Absorb Spirit Sphere,500
|
||||||
//240,Life Creation,1,0
|
264,Snap,500
|
||||||
//241,Cultivation,1,0
|
266,Occult Impact,500
|
||||||
//242,Flame control,1,0
|
267,Throw Spirit Sphere,500
|
||||||
//243,Call Homunculus,1,0
|
268,Mental Strength,500
|
||||||
//244,Vaporize,1,0
|
269,Root,500
|
||||||
//245,Drillmaster,1,0
|
270,Fury,500
|
||||||
//246,Heal Homunculus,1,0
|
271,Asura Strike,500
|
||||||
//247,Resurrect Homunculus,1,0
|
//272,Raging Quadruple Blow,500
|
||||||
|
//273,Raging Thrust,500
|
||||||
|
|
||||||
//248,Faith,1,0
|
275,Cast Cancel,500
|
||||||
249,Guard,1,4000
|
276,Magic Rod,500
|
||||||
250,Smite,2,4000
|
277,Spell Break,500
|
||||||
251,Shield boomerang,2,4000
|
279,Hindsight,500
|
||||||
252,Shield Reflect,4,4000
|
280,Endow Blaze,500
|
||||||
253,Holy cross,2,4000
|
281,Endow Tsunami,500
|
||||||
254,Grand cross,6,4000
|
282,Endow Tornado,500
|
||||||
255,Sacrifice,4,4000
|
283,Endow Quake,500
|
||||||
256,Resistant Souls,2,4000
|
285,Volcano,500
|
||||||
257,Defending Aura,4,4000
|
286,Deluge,500
|
||||||
258,Spear Quicken,1,4000
|
287,Whirlwind,500
|
||||||
|
288,Magnetic Earth,500
|
||||||
//259,Iron fists,1,0
|
289,Dispel,500
|
||||||
//260,Spiritual Cadence,1,0
|
|
||||||
261,Summon Spirit Sphere,1,4000
|
|
||||||
262,Absorb Spirit Sphere,1,4000
|
|
||||||
//263,Raging Trifecta Blow,1,0
|
|
||||||
264,Snap,4,4000
|
|
||||||
//265,Dodge,1,0
|
|
||||||
266,Occult Impact,2,4000
|
|
||||||
267,Throw Spirit Sphere,2,4000
|
|
||||||
268,Mental Strength,4,4000
|
|
||||||
269,Root,2,4000
|
|
||||||
270,Fury,2,4000
|
|
||||||
271,Asura Strike,6,4000
|
|
||||||
272,Raging Quadruple Blow,1,0
|
|
||||||
273,Raging Thrust,1,0
|
|
||||||
|
|
||||||
//274,Study,1,0
|
|
||||||
275,Cast Cancel,1,4000
|
|
||||||
276,Magic Rod,1,4000
|
|
||||||
277,Spell Break,2,4000
|
|
||||||
//278,Free Cast,1,0
|
|
||||||
279,Hindsight,2,4000
|
|
||||||
280,Endow Blaze,2,4000
|
|
||||||
281,Endow Tsunami,2,4000
|
|
||||||
282,Endow Tornado,2,4000
|
|
||||||
283,Endow Quake,2,4000
|
|
||||||
//284,Dragonology,1,0
|
|
||||||
285,Volcano,4,4000
|
|
||||||
286,Deluge,4,4000
|
|
||||||
287,Whirlwind,4,4000
|
|
||||||
288,Magnetic Earth,4,4000
|
|
||||||
289,Dispel,6,4000
|
|
||||||
290,Hocus-pocus,4,4000
|
|
||||||
|
|
||||||
// Abracadabra Derivation Skill
|
// Abracadabra Derivation Skill
|
||||||
291,Monocell,4,2500
|
291,Monocell,250:500:750:1000:1250:1200:1750:2000:2250:2500
|
||||||
292,Class Change,8,2500
|
292,Class Change,0:0:0:0:10:10:20:20:30:30
|
||||||
293,Summon Monster,6,3500
|
293,Summon Monster,100:200:300:400:500:600:700:800:900:1000
|
||||||
294,Grampus Morph,4,5000
|
294,Grampus Morph,0:0:0:0:0:0:0:10:50:100
|
||||||
295,Grim Reaper,8,2000
|
295,Grim Reaper,50:100:150:200:250:300:350:400:450:500
|
||||||
//296,Gold Digger,6,4000
|
//296,Gold Digger,50:100:150:200:250:300:350:400:450:500
|
||||||
297,Beastly Hypnosis,6,4000
|
//297,Beastly Hypnosis,50:100:150:200:250:300:350:400:450:500
|
||||||
298,Questioning,4,5000
|
298,Questioning,1000:800:600:400:200:0:0:0:0:0
|
||||||
299,Gravity,4,5000
|
299,Gravity,0:0:0:0:0:0:0:20:50:100
|
||||||
//300,Leveling,10,500
|
//300,Leveling,0:0:0:0:0:0:0:0:10:50
|
||||||
301,Suicide,4,2000
|
301,Suicide,0:0:0:0:0:0:0:10:50:100
|
||||||
302,Rejuvination,8,3000
|
302,Rejuvination,0:0:0:0:0:0:20:50:100:200
|
||||||
303,Coma,4,4000
|
303,Coma,0:0:0:0:100:200:300:400:500:600
|
||||||
|
|
||||||
// Dancer / Bard commonness
|
// Dancer / Bard commonness
|
||||||
304,Amp,1,0
|
//304,Amp,500
|
||||||
305,Encore,1,0
|
//305,Encore,500
|
||||||
306,Lullaby,1,0
|
//306,Lullaby,500
|
||||||
307,Mental Sensing,1,0
|
//307,Mental Sensing,500
|
||||||
308,Down Tempo,1,0
|
//308,Down Tempo,500
|
||||||
309,Battle Theme,1,0
|
//309,Battle Theme,500
|
||||||
310,Harmonic Lick,1,0
|
//310,Harmonic Lick,500
|
||||||
311,Classical Pluck,1,0
|
//311,Classical Pluck,500
|
||||||
312,Power Chord,1,0
|
//312,Power Chord,500
|
||||||
313,Acoustic Rhythm,1,0
|
//313,Acoustic Rhythm,500
|
||||||
//314,Ragnarok,1,0
|
//314,Ragnarok,500
|
||||||
|
|
||||||
// Bard skill
|
// Bard skill
|
||||||
//315,Music Lessons,1,0
|
316,Melody Strike,500
|
||||||
316,Melody Strike,1,4000
|
//317,Unchained Serenade,500
|
||||||
317,Unchained Serenade,1,0
|
318,Unbarring Octave,500
|
||||||
318,Unbarring Octave,2,4000
|
//319,Perfect Tablature,500
|
||||||
319,Perfect Tablature,1,0
|
//320,Impressive Riff,500
|
||||||
320,Impressive Riff,1,0
|
//321,Magic Strings,500
|
||||||
321,Magic Strings,1,0
|
//322,Song of Lutie,500
|
||||||
322,Song of Lutie,1,0
|
|
||||||
|
|
||||||
// Dancer skill
|
// Dancer skill
|
||||||
//323,Dance Lessons,1,0
|
324,Slinging Arrow,500
|
||||||
324,Slinging Arrow,1,4000
|
//325,Hip Shaker,500
|
||||||
325,Hip Shaker,1,0
|
326,Dazzler,500
|
||||||
326,Dazzler,2,4000
|
//327,Focus Ballet,500
|
||||||
327,Focus Ballet,1,0
|
//328,Slow Grace,500
|
||||||
328,Slow Grace,1,0
|
//329,Lady Luck,500
|
||||||
329,Lady Luck,1,0
|
//330,Gypsy's Kiss,500
|
||||||
330,Gypsy's Kiss,1,0
|
|
||||||
|
@ -46,6 +46,7 @@ extern char mapindex_cfgfile[80];
|
|||||||
#define MAP_MALANGDO "malangdo"
|
#define MAP_MALANGDO "malangdo"
|
||||||
#define MAP_MALAYA "malaya"
|
#define MAP_MALAYA "malaya"
|
||||||
#define MAP_ECLAGE "eclage"
|
#define MAP_ECLAGE "eclage"
|
||||||
|
#define MAP_ECLAGE_IN "ecl_in01"
|
||||||
|
|
||||||
// When a map index search fails, return results from what map?
|
// When a map index search fails, return results from what map?
|
||||||
#define MAP_DEFAULT MAP_PRONTERA
|
#define MAP_DEFAULT MAP_PRONTERA
|
||||||
|
@ -5116,11 +5116,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|||||||
do {
|
do {
|
||||||
i = rnd() % MAX_SKILL_ABRA_DB;
|
i = rnd() % MAX_SKILL_ABRA_DB;
|
||||||
abra_skill_id = skill_abra_db[i].skill_id;
|
abra_skill_id = skill_abra_db[i].skill_id;
|
||||||
|
abra_skill_lv = min(skill_lv, skill_get_max(abra_skill_id));
|
||||||
} while (abra_skill_id == 0 ||
|
} while (abra_skill_id == 0 ||
|
||||||
skill_abra_db[i].req_lv > skill_lv || //Required lv for it to appear
|
rnd()%10000 >= skill_abra_db[i].per[abra_skill_lv]
|
||||||
rnd()%10000 >= skill_abra_db[i].per
|
|
||||||
);
|
);
|
||||||
abra_skill_lv = min(skill_lv, skill_get_max(abra_skill_id));
|
|
||||||
clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
|
clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
|
||||||
|
|
||||||
if( sd )
|
if( sd )
|
||||||
@ -8770,26 +8770,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|||||||
case ECLAGE_RECALL:
|
case ECLAGE_RECALL:
|
||||||
if( sd )
|
if( sd )
|
||||||
{
|
{
|
||||||
short x, y; // Destiny position.
|
short x=0, y=0; // Destiny position.
|
||||||
unsigned short mapindex;
|
unsigned short mapindex=0;
|
||||||
|
|
||||||
if ( skill_id == RETURN_TO_ELDICASTES )
|
switch(skill_id){
|
||||||
{
|
default:
|
||||||
|
case RETURN_TO_ELDICASTES:
|
||||||
x = 198;
|
x = 198;
|
||||||
y = 187;
|
y = 187;
|
||||||
mapindex = mapindex_name2id(MAP_DICASTES);
|
mapindex = mapindex_name2id(MAP_DICASTES);
|
||||||
}
|
break;
|
||||||
else if ( skill_id == ALL_GUARDIAN_RECALL )
|
case ALL_GUARDIAN_RECALL:
|
||||||
{
|
|
||||||
x = 44;
|
x = 44;
|
||||||
y = 151;
|
y = 151;
|
||||||
mapindex = mapindex_name2id(MAP_MORA);
|
mapindex = mapindex_name2id(MAP_MORA);
|
||||||
}
|
break;
|
||||||
else if ( skill_id == ECLAGE_RECALL )
|
case ECLAGE_RECALL:
|
||||||
{
|
|
||||||
x = 47;
|
x = 47;
|
||||||
y = 31;
|
y = 31;
|
||||||
mapindex = mapindex_name2id("ecl_in01");
|
mapindex = mapindex_name2id(MAP_ECLAGE_IN);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!mapindex)
|
if(!mapindex)
|
||||||
@ -8806,33 +8806,31 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|||||||
case ECL_PEONYMAMY:
|
case ECL_PEONYMAMY:
|
||||||
case ECL_SADAGUI:
|
case ECL_SADAGUI:
|
||||||
case ECL_SEQUOIADUST:
|
case ECL_SEQUOIADUST:
|
||||||
if ( skill_id == ECL_SNOWFLIP )
|
switch(skill_id){
|
||||||
{
|
case ECL_SNOWFLIP:
|
||||||
status_change_end(bl, SC_SLEEP, INVALID_TIMER);
|
status_change_end(bl, SC_SLEEP, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_BLEEDING, INVALID_TIMER);
|
status_change_end(bl, SC_BLEEDING, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_BURNING, INVALID_TIMER);
|
status_change_end(bl, SC_BURNING, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_DEEPSLEEP, INVALID_TIMER);
|
status_change_end(bl, SC_DEEPSLEEP, INVALID_TIMER);
|
||||||
}
|
break;
|
||||||
else if ( skill_id == ECL_PEONYMAMY )
|
case ECL_PEONYMAMY:
|
||||||
{
|
|
||||||
status_change_end(bl, SC_FREEZE, INVALID_TIMER);
|
status_change_end(bl, SC_FREEZE, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_FREEZING, INVALID_TIMER);
|
status_change_end(bl, SC_FREEZING, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER);
|
status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER);
|
||||||
}
|
break;
|
||||||
else if ( skill_id == ECL_SADAGUI )
|
case ECL_SADAGUI:
|
||||||
{
|
|
||||||
status_change_end(bl, SC_STUN, INVALID_TIMER);
|
status_change_end(bl, SC_STUN, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_CONFUSION, INVALID_TIMER);
|
status_change_end(bl, SC_CONFUSION, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_HALLUCINATION, INVALID_TIMER);
|
status_change_end(bl, SC_HALLUCINATION, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_FEAR, INVALID_TIMER);
|
status_change_end(bl, SC_FEAR, INVALID_TIMER);
|
||||||
}
|
break;
|
||||||
else if ( skill_id == ECL_SEQUOIADUST )
|
case ECL_SEQUOIADUST:
|
||||||
{
|
|
||||||
status_change_end(bl, SC_STONE, INVALID_TIMER);
|
status_change_end(bl, SC_STONE, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_POISON, INVALID_TIMER);
|
status_change_end(bl, SC_POISON, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_CURSE, INVALID_TIMER);
|
status_change_end(bl, SC_CURSE, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_BLIND, INVALID_TIMER);
|
status_change_end(bl, SC_BLIND, INVALID_TIMER);
|
||||||
status_change_end(bl, SC_ORCISH, INVALID_TIMER);
|
status_change_end(bl, SC_ORCISH, INVALID_TIMER);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
||||||
break;
|
break;
|
||||||
@ -12720,7 +12718,7 @@ int skill_isammotype (struct map_session_data *sd, int skill)
|
|||||||
(sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) &&
|
(sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) &&
|
||||||
skill != HT_PHANTASMIC &&
|
skill != HT_PHANTASMIC &&
|
||||||
skill_get_type(skill) == BF_WEAPON &&
|
skill_get_type(skill) == BF_WEAPON &&
|
||||||
!(skill_get_nk(skill)&NK_NO_DAMAGE) &&
|
!(skill_get_nk(skill)&NK_NO_DAMAGE) &&
|
||||||
!skill_get_spiritball(skill,1) //Assume spirit spheres are used as ammo instead.
|
!skill_get_spiritball(skill,1) //Assume spirit spheres are used as ammo instead.
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -18225,7 +18223,7 @@ static bool skill_parse_row_reproducedb(char* split[], int column, int current)
|
|||||||
|
|
||||||
|
|
||||||
static bool skill_parse_row_abradb(char* split[], int columns, int current)
|
static bool skill_parse_row_abradb(char* split[], int columns, int current)
|
||||||
{// skill_id,DummyName,RequiredHocusPocusLevel,Rate
|
{// skill_id,DummyName,RatePerLvl
|
||||||
uint16 skill_id = atoi(split[0]);
|
uint16 skill_id = atoi(split[0]);
|
||||||
if( !skill_get_index(skill_id) || !skill_get_max(skill_id) )
|
if( !skill_get_index(skill_id) || !skill_get_max(skill_id) )
|
||||||
{
|
{
|
||||||
@ -18239,8 +18237,8 @@ static bool skill_parse_row_abradb(char* split[], int columns, int current)
|
|||||||
}
|
}
|
||||||
|
|
||||||
skill_abra_db[current].skill_id = skill_id;
|
skill_abra_db[current].skill_id = skill_id;
|
||||||
skill_abra_db[current].req_lv = atoi(split[2]);
|
safestrncpy(skill_abra_db[current].name, trim(split[1]), sizeof(skill_abra_db[current].name)); //store dummyname
|
||||||
skill_abra_db[current].per = atoi(split[3]);
|
skill_split_atoi(split[2],skill_abra_db[current].per);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -18321,7 +18319,7 @@ static void skill_readdb(void)
|
|||||||
skill_init_unit_layout();
|
skill_init_unit_layout();
|
||||||
sv_readdb(db_path, "produce_db.txt" , ',', 4, 4+2*MAX_PRODUCE_RESOURCE, MAX_SKILL_PRODUCE_DB, skill_parse_row_producedb);
|
sv_readdb(db_path, "produce_db.txt" , ',', 4, 4+2*MAX_PRODUCE_RESOURCE, MAX_SKILL_PRODUCE_DB, skill_parse_row_producedb);
|
||||||
sv_readdb(db_path, "create_arrow_db.txt" , ',', 1+2, 1+2*MAX_ARROW_RESOURCE, MAX_SKILL_ARROW_DB, skill_parse_row_createarrowdb);
|
sv_readdb(db_path, "create_arrow_db.txt" , ',', 1+2, 1+2*MAX_ARROW_RESOURCE, MAX_SKILL_ARROW_DB, skill_parse_row_createarrowdb);
|
||||||
sv_readdb(db_path, "abra_db.txt" , ',', 4, 4, MAX_SKILL_ABRA_DB, skill_parse_row_abradb);
|
sv_readdb(db_path, "abra_db.txt" , ',', 3, 3, MAX_SKILL_ABRA_DB, skill_parse_row_abradb);
|
||||||
//Warlock
|
//Warlock
|
||||||
sv_readdb(db_path, "spellbook_db.txt" , ',', 3, 3, MAX_SKILL_SPELLBOOK_DB, skill_parse_row_spellbookdb);
|
sv_readdb(db_path, "spellbook_db.txt" , ',', 3, 3, MAX_SKILL_SPELLBOOK_DB, skill_parse_row_spellbookdb);
|
||||||
//Guillotine Cross
|
//Guillotine Cross
|
||||||
|
@ -217,8 +217,8 @@ extern struct s_skill_arrow_db skill_arrow_db[MAX_SKILL_ARROW_DB];
|
|||||||
|
|
||||||
struct s_skill_abra_db {
|
struct s_skill_abra_db {
|
||||||
uint16 skill_id;
|
uint16 skill_id;
|
||||||
int req_lv;
|
char name[NAME_LENGTH];
|
||||||
int per;
|
int per[MAX_SKILL_LEVEL];
|
||||||
};
|
};
|
||||||
extern struct s_skill_abra_db skill_abra_db[MAX_SKILL_ABRA_DB];
|
extern struct s_skill_abra_db skill_abra_db[MAX_SKILL_ABRA_DB];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user