From 22c466ba6599d874ce4014cf80ed8514ba4e0727 Mon Sep 17 00:00:00 2001 From: Cydh Date: Thu, 19 Sep 2019 09:36:33 +0700 Subject: [PATCH] Follow up * Fixed random options for `F_Lapine_Gray_Charcoal_Range`, `F_Lapine_Gray_Charcoal_Magic`, and `F_Lapine_Gray_Charcoal_Melee` * Another weight fixes * And added some hat effects --- db/re/item_db.txt | 24 ++-- db/re/item_synthesis.yml | 5 +- db/re/item_upgrade.yml | 23 ++-- npc/re/other/LapineEnchants.txt | 197 +++++++++++++++++--------------- 4 files changed, 127 insertions(+), 122 deletions(-) diff --git a/db/re/item_db.txt b/db/re/item_db.txt index bb1334673e..5dae3cda00 100644 --- a/db/re/item_db.txt +++ b/db/re/item_db.txt @@ -11347,7 +11347,7 @@ 22526,Level_Up_Box150,Level Up Box(150),18,10,,0,,,,0,0xFFFFFFFF,63,2,,,150,,,{ getgroupitem(IG_Level_Up_Box150); },{},{} 22527,Level_Up_Box160,Level Up Box(160),18,10,,0,,,,0,0xFFFFFFFF,63,2,,,160,,,{ getgroupitem(IG_Level_Up_Box160); },{},{} 22528,Pet_Exchange_Ticket_Box,Pet Exchange Ticket Box,18,10,,20,,,,,,,,,,,,,{ /*TODO*/ },{},{} -22529,Shadow_Exchange_Box,Shadow Exchange SynthesisBox,11,,,1,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 22529; },{},{} +22529,Shadow_Exchange_Box,Shadow Exchange SynthesisBox,11,,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ synthesisui 22529; },{},{} 22530,Christmas_Box,Christmas Box,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Christmas_Box); },{},{} 22531,Special_Christmas_Box,Special Christmas Box,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Special_Christmas_Box); },{},{} 22532,Santa_Gift,Santa Gift,18,10,,200,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getgroupitem(IG_Santa_Gift); },{},{} @@ -12258,8 +12258,8 @@ 25131,Fallen_Energy_Particle,Fallen Energy Particle,3,0,,0,,,,,,,,,,,,,{},{},{} 25132,Pumpkin_Deco,Pumpkin Deco,3,0,,0,,,,,,,,,,,,,{},{},{} 25133,Dried_White_Stem,Dried White Stem,3,0,,0,,,,,,,,,,,,,{},{},{} -25136,ElectricEffect_Middle,ElectricEffect (Middle),6,,,100,,,,,,,,,,,,,{/*TODO*/},{},{} -25137,GreenFloor_Bottom,GreenFloor (Bottom),6,,,100,,,,,,,,,,,,,{/*TODO*/},{},{} +25136,ElectricEffect_Middle,ElectricEffect (Middle),6,,,100,,,,,,,,,,,,,{ hateffect HAT_EF_Electric,true; },{},{ hateffect HAT_EF_Electric,false; } +25137,GreenFloor_Bottom,GreenFloor (Bottom),6,,,100,,,,,,,,,,,,,{ hateffect HAT_EF_Green_Floor,true; },{},{ hateffect HAT_EF_Green_Floor,false; } 25138,ShrinkEffect_Middle,ShrinkEffect (Middle),6,,,100,,,,,,,,,,,,,{/*TODO*/},{},{} 25139,Identify_Stone,Identify Stone (Bottom),6,,,100,,,,,,,,,,,,,{ skill "MC_IDENTIFY",1; },{},{} 25141,EXPStone_Middle,EXPStone (Middle),6,,,100,,,,,,,,,,,,,{ bonus2 bExpAddClass,Class_All,2; },{},{} @@ -12307,7 +12307,7 @@ 25185,Locket_Pendant,Locket Pendant,3,0,,0,,,,,,,,,,,,,{},{},{} 25187,Slug_Bullet,Slug Bullet,3,1200,,1200,,,,,,,,,,,,,{},{},{} 25205,ShrinkEffect_Bottom,ShrinkEffect (Bottom),6,,,100,,,,,,,,,,,,,{/*TODO*/},{},{} -25206,ElectricEffect_Top,ElectricEffect (Upper),6,,,100,,,,,,,,,,,,,{/*TODO*/},{},{} +25206,ElectricEffect_Top,ElectricEffect (Upper),6,,,100,,,,,,,,,,,,,{ hateffect HAT_EF_Electric,true; },{},{ hateffect HAT_EF_Electric,false; } 25207,SPAbsorb_Stone_Top,SPAbsorb Stone (Upper),6,,,100,,,,,,,,,,,,,{ bonus2 bSPDrainRate,20,1; },{},{} 25208,SPAbsorb_Stone_Robe,SPAbsorb Stone (Garment),6,,,100,,,,,,,,,,,,,{ bonus2 bSPDrainRate,20,1; },{},{} 25209,HPAbsorb_Stone_Robe,HPAbsorb Stone (Garment),6,,,100,,,,,,,,,,,,,{ bonus2 bHPDrainRate,20,3; },{},{} @@ -12332,15 +12332,15 @@ 25256,Hazy_Dream_Fragment,Hazy Dream Fragment,3,0,,10,,,,,,,,,,,,,{},{},{} 25257,Bloody_Love_Letter,Bloody Love Letter,3,780,,10,,,,,,,,,,,,,{},{},{} 25258,Broken_Arrow,Broken Arrow,3,550,,10,,,,,,,,,,,,,{},{},{} -25259,Recruitment_Leaflet,Recruitment Leaflet,3,778,,1,,,,,,,,,,,,,{},{},{} +25259,Recruitment_Leaflet,Recruitment Leaflet,3,778,,10,,,,,,,,,,,,,{},{},{} 25260,Fragment_of_Purple_Ore,Fragment of Purple Ore,3,0,,0,,,,,,,,,,,,,{},{},{} -25261,Torn_Paper_,Torn Paper,3,0,,1,,,,,,,,,,,,,{},{},{} -25262,Well-dried_Clover,Well-dried Clover,3,0,,1,,,,,,,,,,,,,{},{},{} -25263,Short_Bat_Hair,Short Bat Hair,3,0,,1,,,,,,,,,,,,,{},{},{} -25264,Cluster_of_Nightmares,Cluster of Nightmares,3,0,,1,,,,,,,,,,,,,{},{},{} -25265,Shining_Spore,Shining Spore,3,0,,1,,,,,,,,,,,,,{},{},{} -25266,Dried_Leaf_Of_Ygg,Dried Yggdrasil Leaf,3,0,,1,,,,,,,,,,,,,{},{},{} -25267,Suspicious_Pentacle,Suspicious Pentacle,3,0,,1,,,,,,,,,,,,,{},{},{} +25261,Torn_Paper_,Torn Paper,3,0,,10,,,,,,,,,,,,,{},{},{} +25262,Well-dried_Clover,Well-dried Clover,3,0,,10,,,,,,,,,,,,,{},{},{} +25263,Short_Bat_Hair,Short Bat Hair,3,0,,10,,,,,,,,,,,,,{},{},{} +25264,Cluster_of_Nightmares,Cluster of Nightmares,3,0,,10,,,,,,,,,,,,,{},{},{} +25265,Shining_Spore,Shining Spore,3,0,,10,,,,,,,,,,,,,{},{},{} +25266,Dried_Leaf_Of_Ygg,Dried Yggdrasil Leaf,3,0,,10,,,,,,,,,,,,,{},{},{} +25267,Suspicious_Pentacle,Suspicious Pentacle,3,0,,10,,,,,,,,,,,,,{},{},{} 25271,Illusion_Stone,Illusion Stone,3,10,,0,,,,,,,,,,,,,{},{},{} 25272,Illusion_Gemstone,Illusion Gemstone,3,0,,10,,,,,,,,,,,,,{},{},{} 25276,Clean_Bone,Clean Bone,3,248,,10,,,,,,,,,,,,,{},{},{} diff --git a/db/re/item_synthesis.yml b/db/re/item_synthesis.yml index 32f3e115c9..b93f57bd3f 100644 --- a/db/re/item_synthesis.yml +++ b/db/re/item_synthesis.yml @@ -1009,7 +1009,6 @@ Body: - Item: 19241 Amount: 1 Reward: | - // Duplicate on item upgrade if (rand(2) == 0) { getitem(19245,1); // chance to become Crimson Booster } else { @@ -1423,7 +1422,7 @@ Body: Amount: 1 Reward: | // Duplicate on item upgrade - getitem(2589,1); + getitem(20835,1); - Id: 22529 # 쉐도우뚝딱상자 SourceNeeded: 3 NeedRefine: 0 @@ -2319,7 +2318,7 @@ Body: // Duplicate on item upgrade callfunc("F_Lapine_Grown_Gunslinger", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; - getitem3(19157,1,1,.@refine,0,0,0,0,0,.@opts,.@vals,.@params); + getitem3(19157,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params); - Id: 23170 # 선풍기개조키트 SourceNeeded: 1 NeedRefine: 0 diff --git a/db/re/item_upgrade.yml b/db/re/item_upgrade.yml index aa5f88beba..2668b29c1f 100644 --- a/db/re/item_upgrade.yml +++ b/db/re/item_upgrade.yml @@ -57,9 +57,6 @@ Body: callfunc("F_Lapine_Ancient_Hero_Bravery", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); - // setarray .@properties[0], ITEMUPG_OPTION_ID0, ITEMUPG_OPTION_VALUE0, ITEMUPG_OPTION_ID1, ITEMUPG_OPTION_VALUE1; - // setarray .@values[0], .@opt1, .@val1, .@opt2, .@val2; - // upgrade @last_lapine_idx,.@properties,.@values; - Id: 100025 # Ancient_Hero_Wisdom, 영웅의 무기 NeedRefineMin: 0 NeedOptionNumMin: 0 @@ -405,7 +402,7 @@ Body: - Item: 16028 #타노스의망치 - Item: 28100 #타노스의도끼 Result: | - callfunc("F_Lapine_Gray_Charcoal_Range", .@opts[0], .@vals[0]); + callfunc("F_Lapine_Gray_Charcoal_Range", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); - Id: 23677 # Gray_Charcoal_Magic, 타노스 마법 무기 @@ -420,7 +417,7 @@ Body: - Item: 1933 #타노스의바이올린 - Item: 1988 #타노스의윕소드 Result: | - callfunc("F_Lapine_Gray_Charcoal_Magic", .@opts[0], .@vals[0]); + callfunc("F_Lapine_Gray_Charcoal_Magic", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); - Id: 23676 # Gray_Charcoal_Melee, 타노스 근거리 무기 @@ -440,7 +437,7 @@ Body: - Item: 28100 #타노스의도끼 - Item: 1933 #타노스의바이올린 Result: | - callfunc("F_Lapine_Gray_Charcoal_Melee", .@opts[0], .@vals[0]); + callfunc("F_Lapine_Gray_Charcoal_Melee", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); - Id: 23679 # Geffen_Magic_Scroll2, 게펜 마법 대회 액세서리 (accessory) @@ -1433,7 +1430,7 @@ Body: Result: | callfunc("F_Lapine_Shadow_9_Refine_Hammer", .@refine); getitem2(LapineUpgradeItem,1,1,.@refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4); -- Id: 23311 # 마법고양이손, 새끼 고양이 헤드드레스 +- Id: 23311 # 마법고양이손, 새끼 고양이 헤드드레스 (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1443,7 +1440,7 @@ Body: callfunc("F_Lapine_Magic_Cat_Hand", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,0,0,0,0,0,0,.@opts,.@vals,.@params); -- Id: 23289 # 사탕축복스크롤_물리, 사탕 주머니 가방(물리) +- Id: 23289 # 사탕축복스크롤_물리, 사탕 주머니 가방(물리) (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1453,7 +1450,7 @@ Body: callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_W", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); -- Id: 23290 # 사탕축복스크롤_원거리, 사탕 주머니 가방(원거리) +- Id: 23290 # 사탕축복스크롤_원거리, 사탕 주머니 가방(원거리) (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1463,7 +1460,7 @@ Body: callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_R", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); -- Id: 23291 # 사탕축복스크롤_마법, 사탕 주머니 가방(마법) +- Id: 23291 # 사탕축복스크롤_마법, 사탕 주머니 가방(마법) (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1473,7 +1470,7 @@ Body: callfunc("F_Lapine_Candy_Pouch_Blessing_Scroll_M", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); -- Id: 23100 # 건슬링거두루마리, 늘어진 건슬링거 +- Id: 23100 # 건슬링거두루마리, 늘어진 건슬링거 (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1483,7 +1480,7 @@ Body: callfunc("F_Lapine_Grown_Gunslinger", .@opts[0], .@vals[0], .@opts[1], .@vals[1]); .@params[0] = 0; getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params); -- Id: 23229 # 타락천사날개초기화권, 타락천사의 날개 +- Id: 23229 # 타락천사날개초기화권, 타락천사의 날개 (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true @@ -1495,7 +1492,7 @@ Body: getitem(@last_lapine_card1,1); } getitem2(LapineUpgradeItem,1,1,0,0,0,0,0,0); -- Id: 23175 # 제복수선키트, 카프라 제복 +- Id: 23175 # 제복수선키트, 카프라 제복 (rdata.grf) NeedRefineMin: 0 NeedOptionNumMin: 0 NotSocketEnchantItem: true diff --git a/npc/re/other/LapineEnchants.txt b/npc/re/other/LapineEnchants.txt index 22f58c4bb3..b5ba75e01b 100644 --- a/npc/re/other/LapineEnchants.txt +++ b/npc/re/other/LapineEnchants.txt @@ -834,108 +834,117 @@ function script F_Lapine_Charleston_Parts_R { } function script F_Lapine_Gray_Charcoal_Range { - .@r = rand(290); // No rates info - if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; return; } - if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; return; } - if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); return; } - if (.@r < 140) { set getarg(0), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(1), rand(5,10); return; } - if (.@r < 150) { set getarg(0), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(1), 1; return; } - if (.@r < 160) { set getarg(0), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(1), rand(1,20); return; } - if (.@r < 170) { set getarg(0), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(1), rand(1,20); return; } - if (.@r < 180) { set getarg(0), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(1), rand(1,20); return; } - if (.@r < 190) { set getarg(0), RDMOPT_RACE_DAMAGE_PLANT; set getarg(1), rand(1,20); return; } - if (.@r < 200) { set getarg(0), RDMOPT_RACE_DAMAGE_INSECT; set getarg(1), rand(1,20); return; } - if (.@r < 210) { set getarg(0), RDMOPT_RACE_DAMAGE_FISHS; set getarg(1), rand(1,20); return; } - if (.@r < 220) { set getarg(0), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(1), rand(1,20); return; } - if (.@r < 230) { set getarg(0), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(1), rand(1,20); return; } - if (.@r < 240) { set getarg(0), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(1), rand(1,20); return; } - if (.@r < 250) { set getarg(0), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(1), rand(1,20); return; } - if (.@r < 260) { set getarg(0), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(1), rand(5,10); return; } - if (.@r < 270) { set getarg(0), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(1), rand(5,10); return; } - if (.@r < 280) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,20); return; } - if (.@r < 290) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(3,7); return; } + .@r = rand(150); // No rates info + if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; } + else if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; } + else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); } + else if (.@r < 140) { set getarg(0), RDMOPT_RANGE_ATTACK_DAMAGE_TARGET; set getarg(1), rand(5,10); } + else if (.@r < 150) { set getarg(0), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(1), 1; } + + .@r = rand(140); // No rates info + if (.@r < 10) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,20); } + else if (.@r < 20) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,20); } + else if (.@r < 30) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,20); } + else if (.@r < 40) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,20); } + else if (.@r < 50) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,20); } + else if (.@r < 60) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,20); } + else if (.@r < 70) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,20); } + else if (.@r < 80) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,20); } + else if (.@r < 90) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,20); } + else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,20); } + else if (.@r < 110) { set getarg(2), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(3), rand(5,10); } + else if (.@r < 120) { set getarg(2), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(3), rand(5,10); } + else if (.@r < 130) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,20); } + else if (.@r < 140) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(3,7); } + return; } function script F_Lapine_Gray_Charcoal_Magic { - .@r = rand(280); // No rates info - if (.@r < 10) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 20) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 30) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 40) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 50) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 60) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 70) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 80) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 90) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 110) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,10); return; } - if (.@r < 120) { set getarg(0), RDMOPT_HEAL_VALUE; set getarg(1), rand(5,20); return; } - if (.@r < 130) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(5,10); return; } - if (.@r < 140) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); return; } - if (.@r < 150) { set getarg(0), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(1), rand(1,20); return; } - if (.@r < 160) { set getarg(0), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(1), rand(1,20); return; } - if (.@r < 170) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(1), rand(1,20); return; } - if (.@r < 180) { set getarg(0), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(1), rand(1,20); return; } - if (.@r < 190) { set getarg(0), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(1), rand(1,20); return; } - if (.@r < 200) { set getarg(0), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(1), rand(1,20); return; } - if (.@r < 210) { set getarg(0), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(1), rand(1,20); return; } - if (.@r < 220) { set getarg(0), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(1), rand(1,20); return; } - if (.@r < 230) { set getarg(0), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(1), rand(1,20); return; } - if (.@r < 240) { set getarg(0), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(1), rand(1,20); return; } - if (.@r < 250) { set getarg(0), RDMOPT_CLASS_MDAMAGE_NORMAL_TARGET; set getarg(1), rand(5,10); return; } - if (.@r < 260) { set getarg(0), RDMOPT_CLASS_MDAMAGE_BOSS_TARGET; set getarg(1), rand(5,10); return; } - if (.@r < 270) { set getarg(0), RDMOPT_VAR_MAGICATKPERCENT; set getarg(1), rand(3,7); return; } - if (.@r < 280) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,10); return; } + .@r = rand(140); // No rates info + if (.@r < 10) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 20) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 30) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 40) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 50) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 60) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 70) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 80) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 90) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 100) { set getarg(0), RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 110) { set getarg(0), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(1), rand(5,10); } + else if (.@r < 120) { set getarg(0), RDMOPT_HEAL_MODIFY_PERCENT; set getarg(1), rand(5,20); } + else if (.@r < 130) { set getarg(0), RDMOPT_DEC_SP_CONSUMPTION; set getarg(1), rand(5,10); } + else if (.@r < 140) { set getarg(0), RDMOPT_DEC_SPELL_DELAY_TIME; set getarg(1), rand(1,5); } + + .@r = rand(140); // No rates info + if (.@r < 10) { set getarg(2), RDMOPT_RACE_MDAMAGE_NOTHING; set getarg(3), rand(1,20); } + else if (.@r < 20) { set getarg(2), RDMOPT_RACE_MDAMAGE_UNDEAD; set getarg(3), rand(1,20); } + else if (.@r < 30) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANIMAL; set getarg(3), rand(1,20); } + else if (.@r < 40) { set getarg(2), RDMOPT_RACE_MDAMAGE_PLANT; set getarg(3), rand(1,20); } + else if (.@r < 50) { set getarg(2), RDMOPT_RACE_MDAMAGE_INSECT; set getarg(3), rand(1,20); } + else if (.@r < 60) { set getarg(2), RDMOPT_RACE_MDAMAGE_FISHS; set getarg(3), rand(1,20); } + else if (.@r < 70) { set getarg(2), RDMOPT_RACE_MDAMAGE_DEVIL; set getarg(3), rand(1,20); } + else if (.@r < 80) { set getarg(2), RDMOPT_RACE_MDAMAGE_HUMAN; set getarg(3), rand(1,20); } + else if (.@r < 90) { set getarg(2), RDMOPT_RACE_MDAMAGE_ANGEL; set getarg(3), rand(1,20); } + else if (.@r < 100) { set getarg(2), RDMOPT_RACE_MDAMAGE_DRAGON; set getarg(3), rand(1,20); } + else if (.@r < 110) { set getarg(2), RDMOPT_CLASS_MDAMAGE_NORMAL_TARGET; set getarg(3), rand(5,10); } + else if (.@r < 120) { set getarg(2), RDMOPT_CLASS_MDAMAGE_BOSS_TARGET; set getarg(3), rand(5,10); } + else if (.@r < 130) { set getarg(2), RDMOPT_VAR_MAGICATKPERCENT; set getarg(3), rand(3,7); } + else if (.@r < 140) { set getarg(2), RDMOPT_DEC_SPELL_CAST_TIME; set getarg(3), rand(5,10); } + return; } function script F_Lapine_Gray_Charcoal_Melee { - .@r = rand(340); // No rates info - if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); return; } - if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; return; } - if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; return; } - if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); return; } - if (.@r < 140) { set getarg(0), RDMOPT_BODY_ATTR_WATER; set getarg(1), 1; return; } - if (.@r < 150) { set getarg(0), RDMOPT_BODY_ATTR_GROUND; set getarg(1), 1; return; } - if (.@r < 160) { set getarg(0), RDMOPT_BODY_ATTR_FIRE; set getarg(1), 1; return; } - if (.@r < 170) { set getarg(0), RDMOPT_BODY_ATTR_WIND; set getarg(1), 1; return; } - if (.@r < 180) { set getarg(0), RDMOPT_BODY_ATTR_SAINT; set getarg(1), 1; return; } - if (.@r < 190) { set getarg(0), RDMOPT_BODY_ATTR_DARKNESS; set getarg(1), 1; return; } - if (.@r < 200) { set getarg(0), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(1), rand(1,20); return; } - if (.@r < 210) { set getarg(0), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(1), rand(1,20); return; } - if (.@r < 220) { set getarg(0), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(1), rand(1,20); return; } - if (.@r < 230) { set getarg(0), RDMOPT_RACE_DAMAGE_PLANT; set getarg(1), rand(1,20); return; } - if (.@r < 240) { set getarg(0), RDMOPT_RACE_DAMAGE_INSECT; set getarg(1), rand(1,20); return; } - if (.@r < 250) { set getarg(0), RDMOPT_RACE_DAMAGE_FISHS; set getarg(1), rand(1,20); return; } - if (.@r < 260) { set getarg(0), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(1), rand(1,20); return; } - if (.@r < 270) { set getarg(0), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(1), rand(1,20); return; } - if (.@r < 280) { set getarg(0), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(1), rand(1,20); return; } - if (.@r < 290) { set getarg(0), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(1), rand(1,20); return; } - if (.@r < 300) { set getarg(0), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(1), rand(1,10); return; } - if (.@r < 310) { set getarg(0), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(1), rand(1,10); return; } - if (.@r < 320) { set getarg(0), RDMOPT_VAR_ATKPERCENT; set getarg(1), rand(3,5); return; } - if (.@r < 330) { set getarg(0), RDMOPT_DAMAGE_CRI_TARGET; set getarg(1), rand(5,20); return; } - if (.@r < 340) { set getarg(0), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(1), 1; return; } + .@r = rand(190); // No rates info + if (.@r < 10) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 20) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WATER_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 30) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 40) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 50) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_WIND_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 60) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_POISON_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 70) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 80) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 90) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 100) { set getarg(0), RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET; set getarg(1), rand(1,20); } + else if (.@r < 110) { set getarg(0), RDMOPT_DAMAGE_SIZE_PERFECT; set getarg(1), 1; } + else if (.@r < 120) { set getarg(0), RDMOPT_VAR_PLUSASPD; set getarg(1), 1; } + else if (.@r < 130) { set getarg(0), RDMOPT_VAR_PLUSASPDPERCENT; set getarg(1), rand(5,10); } + else if (.@r < 140) { set getarg(0), RDMOPT_BODY_ATTR_WATER; set getarg(1), 1; } + else if (.@r < 150) { set getarg(0), RDMOPT_BODY_ATTR_GROUND; set getarg(1), 1; } + else if (.@r < 160) { set getarg(0), RDMOPT_BODY_ATTR_FIRE; set getarg(1), 1; } + else if (.@r < 170) { set getarg(0), RDMOPT_BODY_ATTR_WIND; set getarg(1), 1; } + else if (.@r < 180) { set getarg(0), RDMOPT_BODY_ATTR_SAINT; set getarg(1), 1; } + else if (.@r < 190) { set getarg(0), RDMOPT_BODY_ATTR_DARKNESS; set getarg(1), 1; } + + .@r = rand(150); // No rates info + if (.@r < 10) { set getarg(2), RDMOPT_RACE_DAMAGE_NOTHING; set getarg(3), rand(1,20); } + else if (.@r < 20) { set getarg(2), RDMOPT_RACE_DAMAGE_UNDEAD; set getarg(3), rand(1,20); } + else if (.@r < 30) { set getarg(2), RDMOPT_RACE_DAMAGE_ANIMAL; set getarg(3), rand(1,20); } + else if (.@r < 40) { set getarg(2), RDMOPT_RACE_DAMAGE_PLANT; set getarg(3), rand(1,20); } + else if (.@r < 50) { set getarg(2), RDMOPT_RACE_DAMAGE_INSECT; set getarg(3), rand(1,20); } + else if (.@r < 60) { set getarg(2), RDMOPT_RACE_DAMAGE_FISHS; set getarg(3), rand(1,20); } + else if (.@r < 70) { set getarg(2), RDMOPT_RACE_DAMAGE_DEVIL; set getarg(3), rand(1,20); } + else if (.@r < 80) { set getarg(2), RDMOPT_RACE_DAMAGE_HUMAN; set getarg(3), rand(1,20); } + else if (.@r < 90) { set getarg(2), RDMOPT_RACE_DAMAGE_ANGEL; set getarg(3), rand(1,20); } + else if (.@r < 100) { set getarg(2), RDMOPT_RACE_DAMAGE_DRAGON; set getarg(3), rand(1,20); } + else if (.@r < 110) { set getarg(2), RDMOPT_CLASS_DAMAGE_NORMAL_TARGET; set getarg(3), rand(1,10); } + else if (.@r < 120) { set getarg(2), RDMOPT_CLASS_DAMAGE_BOSS_TARGET; set getarg(3), rand(1,10); } + else if (.@r < 130) { set getarg(2), RDMOPT_VAR_ATKPERCENT; set getarg(3), rand(3,5); } + else if (.@r < 140) { set getarg(2), RDMOPT_DAMAGE_CRI_TARGET; set getarg(3), rand(5,20); } + else if (.@r < 150) { set getarg(2), RDMOPT_WEAPON_INDESTRUCTIBLE; set getarg(3), 1; } + return; }