Tero Posted October 30, 2022 Group: Members Topic Count: 8 Topics Per Day: 0.01 Content Count: 65 Reputation: 122 Joined: 10/01/22 Last Seen: January 4 Share Posted October 30, 2022 (edited) If you've used a relatively recent client for a pre-renewal server, you've probably been greeted by this while creating a character. Coming soon? What a tease! This is a 20-year old game, we've waited long enough. Soon is now. Here's how to add the Doram to PRE-RE. What you'll need: GRF Editor Server Database Editor, or SDE Some basic understanding of how to modify Rathena's configuration files. Getting started: First thing's first, we need to get rid of that Coming Soon message. This requires GRF Editor. The problem lies inside our pre20190427.grf file, or whatever your pre-re grf file is called. We need to navigate to data/lua files/luafiles514/service_korea folder, specifically inside ExternalSettings_kr.lub. There's a line in this file that says: MakeableRace = { Doram = false } We need to change the "false" to "true". You can't directly change .lub files with GRF Editor. You can click on it, select all the text, paste it into notepad, make your changes, save it with the same name, then just drag it into GRF editor and save your GRF to make the update. We can now try to create Doram via the character select screen! The problem is, when you try to create one, you'll get "rejected from server". This is because the server is not configured to accept Doram. This is also easy to fix. We need to go to char.athena.conf within the PRE-RE server folder, under conf. Find this line. //allowed_job_flag: 3 Uncomment this to allow Doram. You can now actually create one! Doram exist! Spawn location for Doram: There's still a lot of problems though. The first is that Doram don't have a proper spawn location. By default, they attempt to spawn in Lasagna, but it doesn't exist in PRE-RE, so the server tosses them into Prontera instead. This is functional, but not very cool. Let's instead send them to the training area, where everyone else goes. Find the "start_point_doram" line, also inside char_athena.conf. Make it this. start_point_doram: new_1-1,53,111:new_2-1,53,111:new_3-1,53,111:new_4-1,53,111:new_5-1,53,111 Now the Doram start inside the training area. However, some of it doesn't work so great for them because it's designed for humans. Never fear, I've created a new version of the training area that handles them. You can download it from the bottom of the post, it's called novice.txt. This goes inside rathena_PRERE\npc\pre-re\jobs\novice Equipment for Doram: Another problem is that Doram use their own weapons, which aren't present in PRE-RE, so right now they can only punch. Let's fix that now. All of the Doram equipment is present in renewal, so we can simply grab it from renewal's item database, at db/re/item-db.txt. However, you have to know what items to grab, so I've made this even easier and done it for you. Copy the following into your pre-re/item-db.txt. Anywhere is fine, you can put them at the end if you want. 1681,Short_Foxtail_Staff,Short Foxtail Staff,5,300,,20,40,,1,3,0x80000000,7,2,2,1,1,1,10,{ bonus bMatkRate,10; },{},{} 1683,Enriched_Foxtail_Staff,Enriched Foxtail Staff,5,4000,,200,50,,1,3,0x80000000,7,2,2,2,12,1,10,{ bonus bMaxSP,50;bonus bMatkRate,15; },{},{} 1684,Long_Foxtail_Staff,Long Foxtail Staff,5,4000,,200,70,,2,3,0x80000000,7,2,2,2,12,1,10,{ bonus bLongAtkRate,5; bonus bMaxHP,200; },{},{} 1685,Dragonfly_Sitting_Foxtail_Staff,Dragonfly Sitting Foxtail Staff,5,8000,,300,60,,1,2,0x80000000,7,2,2,3,30,1,10,{ bonus bInt,1; bonus bMaxHP,100; bonus bMaxSP,150;bonus bMatkRate,15; },{},{} 1686,Large_Foxtail_Staff,Large Foxtail Staff,5,8000,,300,90,,2,2,0x80000000,7,2,2,3,30,1,10,{ bonus bLongAtkRate,8; bonus bDex,1; bonus bMaxHP,200; bonus bMaxSP,100; },{},{} 1687,Short_Foxtail_Staff_,Short Foxtail Staff,5,300,,20,40,,1,4,0x80000000,7,2,2,1,1,1,10,{ bonus bMatkRate,10; },{},{} 1690,Mysterious_Foxtail_Staff,Mysterious Foxtail Staff,5,40000,,400,70,,1,1,0x80000000,7,2,2,4,60,1,10,{ bonus bMaxSP,300; bonus bMatkRate,20; },{},{} 1694,Foxtail_Model,Foxtail Model,5,40000,,300,130,,2,1,0x80000000,7,2,2,4,60,1,10,{ bonus bLongAtkRate,10; bonus bMaxHP,500; },{},{} 1697,Heavenly_Foxtail,Heavenly Foxtail,5,60000,,500,150,,2,0,0x80000000,7,2,2,4,85,1,10,{ bonus bLongAtkRate,15; bonus bMatkRate,25; },{},{} 15126,Female_Poring_Balloon,Doram Suit,4,20,,700,,5,,1,0x80000000,7,2,16,,18,1,,{ bonus bMaxHP,500; bonus bMaxSP,100; },{},{} 20788,Private_Doram_Manteau,Doram Manteau,4,20,,300,,3,,1,0x80000000,7,2,4,,18,1,,{ bonus bFlee,5; },{},{} 22077,Red_Eco-Friendly_Shoes,Doram Shoes,4,20,,100,,2,,1,0x80000000,7,2,64,,18,1,,{ bonus bCritical,5; },{},{} Now the Doram have some weapons and armor. Currently, none of this drops from enemies and none of the shops sell it. If you wish, open up SDE, and add some of these items to the drop tables of various enemies. I added them to various cat and fox-themed enemies like Wild Rose, Nine Tail, Cat O Nine Tail, Leaf Cat, Civil Servant, and Moonlight Flower, but you can add them anywhere you want. I also made the prontera weapon shop sell item 1681, this is inside npc/merchants/shops.txt Add ,1681:-1 To the end of the prontera weapon seller to make him sell 3 slot Short Foxtail Staves. The 4 slot version can drop from an enemy. By the way, these items probably won't have descriptions yet. This is because the descriptions are stored inside System/iteminfo.lua inside your Ragnarok Online client folder. If you want, I've attached a text document containing their descriptions called DoramDescriptions.txt, which you can merge into your iteminfo file by replacing the existing description stubs (use Ctrl-F and look for the item number inside square brackets, like this [1981] ) Point Caps, HP and Skills for Doram: We're making good progress, but there are still more things to fix. For starters, as renewal classes, Doram are allowed to increase their stats past 99. This does not fit with PRE-RE, so let's fix it. This is in conf/battle/player.conf. Find this line: max_summoner_parameter And set the value after the colon to be 99. Now we need to fix their HP. Currently, the Doram are using a stubbed out value for HP and SP that is way too low. This is in job_basehpsp_db.txt. First, search for :4218 (it will appear near the bottom of the file) and remove it, to removed the stubbed values. Next, paste these into the document, at the bottom: //Summoner HP 1,500,4218,0,60,69,80,92,105,119,134,150,167,185,204,224,245,267,291,315,341,368,395,423,453,483,515,548,582,617,653,690,728,767,807,848,890,933,978,1023,1070,1118,1166,1215,1266,1317,1370,1424,1479,1535,1592,1650,1709,1769,1830,1892,1955,2019,2085,2151,2219,2288,2357,2427,2499,2571,2645,2720,2796,2873,2951,3030,3110,3191,3273,3356,3440,3525,3612,3699,3788,3878,3968,4059,4152,4245,4340,4436,4533,4631,4730,4830,4931,5033,5136,5240,5345,5451,5559,5667,5777,5888,5999,6111,6225,6339,6455,6572,6690,6809,6929,7050,7172,7295,7419,7544,7670,7797,7926,8055,8186,8318,8450,8583,8718,8853,8990,9128,9267,9407,9548,9690,9833,9977,10122,10268,10415,10563,10713,10863,11015,11168,11321,11475,11631,11787,11945,12104,12264,12425,12587,12750,12914,13079,13245,13412,13580,13749,13920,14091,14264,14438,14612,14787,14964,15141,15320,15500,15681,15863,16046,16230,16415,16601,16788,16976,17165,17355,17547,17739,17931,18123,18315,18507,18699,18891,19083,19275,19467,19659,19851,20043,20235,20427,20619,20811,21003,21195,21387,21579,21771,21963,22155,22347,22539,22731,22923,23115,23307,23499,23691,23883,24075,24267,24459,24651,24843,25035,25227,25419,25611,25803,25995,26187,26379,26571,26763,26955,27147,27339,27531,27723,27915,28107,28299,28491,28683,28875,29067,29259,29451,29643,29835,30027,30219,30411,30603,30795,30987,31179,31371,31563,31755,31947,32139,32331,32523,32715,32907,33099,33291,33483,33675,33867,34059,34251,34443,34635,34827,35019,35211,35403,35595,35787,35979,36171,36363,36555,36747,36939,37131,37323,37515,37707,37899,38091,38283,38475,38667,38859,39051,39243,39435,39627,39819,40011,40203,40395,40587,40779,40971,41163,41355,41547,41739,41931,42123,42315,42507,42699,42891,43083,43275,43467,43659,43851,44043,44235,44427,44619,44811,45003,45195,45387,45579,45771,45963,46155,46347,46539,46731,46923,47115,47307,47499,47691,47883,48075,48267,48459,48651,48843,49035,49227,49419,49611,49803,49995,50187,50379,50571,50763,50955,51147,51339,51531,51723,51915,52107,52299,52491,52683,52875,53067,53259,53451,53643,53835,54027,54219,54411,54603,54795,54987,55179,55371,55563,55755,55947,56139,56331,56523,56715,56907,57099,57291,57483,57675,57867,58059,58251,58443,58635,58827,59019,59211,59403,59595,59787,59979,60171,60363,60555,60747,60939,61131,61323,61515,61707,61899,62091,62283,62475,62667,62859,63051,63243,63435,63627,63819,64011,64203,64395,64587,64779,64971,65163,65355,65547,65739,65931,66123,66315,66507,66699,66891,67083,67275,67467,67659,67851,68043,68235,68427,68619,68811,69003,69195,69387,69579,69771,69963,70155,70347,70539,70731,70923,71115,71307,71499,71691,71883,72075,72267,72459,72651,72843,73035,73227,73419,73611,73803,73995,74187,74379,74571,74763,74955,75147,75339,75531,75723,75915,76107,76299,76491,76683,76875,77067,77259,77451,77643,77835,78027,78219,78411,78603,78795,78987,79179,79371,79563,79755,79947 //Summoner SP 1,500,4218,1,8,10,13,15,18,20,23,25,28,30,33,35,38,40,43,45,48,50,53,55,58,60,63,65,68,70,73,75,78,80,83,85,88,90,93,95,98,100,103,105,108,110,113,115,118,120,123,125,128,130,133,135,138,140,143,145,148,150,153,155,158,160,163,165,168,170,173,175,178,180,183,185,188,190,193,195,198,200,203,205,208,210,213,215,218,220,223,225,228,230,233,235,238,240,243,245,248,250,253,255,258,260,263,265,268,270,273,275,278,280,283,285,288,290,293,295,298,300,303,305,308,310,313,315,318,320,323,325,328,330,333,335,338,340,343,345,348,350,353,355,358,360,363,365,368,370,373,375,378,380,383,385,388,390,393,395,398,400,403,405,408,410,413,415,418,420,423,425,428,430,433,435,438,440,443,445,448,450,453,455,458,460,463,465,468,470,473,475,478,480,483,485,488,490,493,495,498,500,503,505,508,510,513,515,518,520,523,525,528,530,533,535,538,540,543,545,548,550,553,555,558,560,563,565,568,570,573,575,578,580,583,585,588,590,593,595,598,600,603,605,608,610,613,615,618,620,623,625,628,630,633,635,638,640,643,645,648,650,653,655,658,660,663,665,668,670,673,675,678,680,683,685,688,690,693,695,698,700,703,705,708,710,713,715,718,720,723,725,728,730,733,735,738,740,743,745,748,750,753,755,758,760,763,765,768,770,773,775,778,780,783,785,788,790,793,795,798,800,803,805,808,810,813,815,818,820,823,825,828,830,833,835,838,840,843,845,848,850,853,855,858,860,863,865,868,870,873,875,878,880,883,885,888,890,893,895,898,900,903,905,908,910,913,915,918,920,923,925,928,930,933,935,938,940,943,945,948,950,953,955,958,960,963,965,968,970,973,975,978,980,983,985,988,990,993,995,998,1000,1003,1005,1008,1010,1013,1015,1018,1020,1023,1025,1028,1030,1033,1035,1038,1040,1043,1045,1048,1050,1053,1055,1058,1060,1063,1065,1068,1070,1073,1075,1078,1080,1083,1085,1088,1090,1093,1095,1098,1100,1103,1105,1108,1110,1113,1115,1118,1120,1123,1125,1128,1130,1133,1135,1138,1140,1143,1145,1148,1150,1153,1155,1158,1160,1163,1165,1168,1170,1173,1175,1178,1180,1183,1185,1188,1190,1193,1195,1198,1200,1203,1205,1208,1210,1213,1215,1218,1220,1223,1225,1228,1230,1233,1235,1238,1240,1243,1245,1248,1250,1253,1255 There's another problem. Doram have no skills. Their skills should already exist within db/pre-re/skill-db.txt, but they are not specified within skill-tree.txt, Paste the following at the bottom to give skills to the Doram. //Summoner 4218,5018,1,0,0,0,0,0,0,0,0,0,0 //SU_BASIC_SKILL## 4218,5019,1,5018,1,0,0,0,0,0,0,0,0 //SU_BITE## 4218,5020,1,5019,1,0,0,0,0,0,0,0,0 //SU_HIDE## 4218,5021,3,5020,1,0,0,0,0,0,0,0,0 //SU_SCRATCH## 4218,5022,1,5021,3,0,0,0,0,0,0,0,0 //SU_STOOP## 4218,5023,3,5022,1,0,0,0,0,0,0,0,0 //SU_LOPE## 4218,5024,1,5023,3,0,0,0,0,0,0,0,0 //SU_SPRITEMABLE## 4218,5025,1,5027,3,0,0,0,0,0,0,0,0 //SU_POWEROFLAND## 4218,5026,5,5024,1,0,0,0,0,0,0,0,0 //SU_SV_STEMSPEAR## 4218,5027,5,5028,3,0,0,0,0,0,0,0,0 //SU_CN_POWDERING## 4218,5028,5,5029,3,0,0,0,0,0,0,0,0 //SU_CN_METEOR## 4218,5029,5,5026,3,0,0,0,0,0,0,0,0 //SU_SV_ROOTTWIST## 4218,5031,1,5036,3,0,0,0,0,0,0,0,0 //SU_POWEROFLIFE## 4218,5032,5,5035,3,0,0,0,0,0,0,0,0 //SU_SCAROFTAROU## 4218,5033,5,5024,1,0,0,0,0,0,0,0,0 //SU_PICKYPECK## 4218,5035,5,5033,3,0,0,0,0,0,0,0,0 //SU_ARCLOUSEDASH## 4218,5036,5,5032,3,0,0,0,0,0,0,0,0 //SU_LUNATICCARROTBEAT## 4218,5037,1,5039,3,0,0,0,0,0,0,0,0 //SU_POWEROFSEA## 4218,5038,5,5040,3,0,0,0,0,0,0,0,0 //SU_TUNABELLY## 4218,5039,5,5038,3,0,0,0,0,0,0,0,0 //SU_TUNAPARTY## 4218,5040,5,5041,3,0,0,0,0,0,0,0,0 //SU_BUNCHOFSHRIMP## 4218,5041,5,5024,1,0,0,0,0,0,0,0,0 //SU_FRESHSHRIMP## 4218,5044,1,5024,1,0,0,0,0,0,0,0,0 //SU_SOULATTACK## 4218,5045,5,5047,5,0,0,0,0,0,0,0,0 //SU_POWEROFFLOCK## 4218,5046,5,5045,5,0,0,0,0,0,0,0,0 //SU_SVG_SPIRIT## 4218,5047,5,5031,1,0,0,0,0,0,0,0,0 //SU_HISS## 4218,5048,5,5053,1,0,0,0,0,0,0,0,0 //SU_NYANGGRASS## 4218,5049,5,5037,1,0,0,0,0,0,0,0,0 //SU_GROOMING## 4218,5050,5,5049,1,0,0,0,0,0,0,0,0 //SU_PURRING## 4218,5051,5,5050,1,0,0,0,0,0,0,0,0 //SU_SHRIMPARTY## 4218,5052,1,5046,5,5047,5,5045,5,0,0,0,0 //SU_SPIRITOFLIFE## 4218,5053,5,5025,1,0,0,0,0,0,0,0,0 //SU_MEOWMEOW## 4218,5054,1,5048,5,5053,5,5055,5,0,0,0,0 //SU_SPIRITOFLAND## 4218,5055,5,5025,1,0,0,0,0,0,0,0,0 //SU_CHATTERING## 4218,5056,1,5051,5,5050,5,5049,5,0,0,0,0 //SU_SPIRITOFSEA## 4218,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# //Baby Summoner 4220,5018,1,0,0,0,0,0,0,0,0,0,0 //SU_BASIC_SKILL## 4220,5019,1,5018,1,0,0,0,0,0,0,0,0 //SU_BITE## 4220,5020,1,5019,1,0,0,0,0,0,0,0,0 //SU_HIDE## 4220,5021,3,5020,1,0,0,0,0,0,0,0,0 //SU_SCRATCH## 4220,5022,1,5021,3,0,0,0,0,0,0,0,0 //SU_STOOP## 4220,5023,3,5022,1,0,0,0,0,0,0,0,0 //SU_LOPE## 4220,5024,1,5023,3,0,0,0,0,0,0,0,0 //SU_SPRITEMABLE## 4220,5025,1,5027,3,0,0,0,0,0,0,0,0 //SU_POWEROFLAND## 4220,5026,5,5024,1,0,0,0,0,0,0,0,0 //SU_SV_STEMSPEAR## 4220,5027,5,5028,3,0,0,0,0,0,0,0,0 //SU_CN_POWDERING## 4220,5028,5,5029,3,0,0,0,0,0,0,0,0 //SU_CN_METEOR## 4220,5029,5,5026,3,0,0,0,0,0,0,0,0 //SU_SV_ROOTTWIST## 4220,5031,1,5036,3,0,0,0,0,0,0,0,0 //SU_POWEROFLIFE## 4220,5032,5,5035,3,0,0,0,0,0,0,0,0 //SU_SCAROFTAROU## 4220,5033,5,5024,1,0,0,0,0,0,0,0,0 //SU_PICKYPECK## 4220,5035,5,5033,3,0,0,0,0,0,0,0,0 //SU_ARCLOUSEDASH## 4220,5036,5,5032,3,0,0,0,0,0,0,0,0 //SU_LUNATICCARROTBEAT## 4220,5037,1,5039,3,0,0,0,0,0,0,0,0 //SU_POWEROFSEA## 4220,5038,5,5040,3,0,0,0,0,0,0,0,0 //SU_TUNABELLY## 4220,5039,5,5038,3,0,0,0,0,0,0,0,0 //SU_TUNAPARTY## 4220,5040,5,5041,3,0,0,0,0,0,0,0,0 //SU_BUNCHOFSHRIMP## 4220,5041,5,5024,1,0,0,0,0,0,0,0,0 //SU_FRESHSHRIMP## 4220,408,1,0,0,0,0,0,0,0,0,0,0 //WE_BABY#Baby# 4220,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent# 4220,5065,1,0,0,0,0,0,0,0,0,0,0 //WE_CHEERUP#Cheer Up# It's possible that you might not have the entries for skill-cast-db.txt or skill-require-db.txt either. If you don't see Doram skills here, find the equivalent files in the db/re folder, and copy any summoner skills into these files. I would give you the ones I have, but I changed a bunch of the values. We're almost done! The only problem now is that some of these skills still don't show up properly in-game. This is because the skills need to be added to the client files that display the skill trees. These are skilldescript.lub, skillinfolist.lub, and skilltreeview.lub. First, find these files within your renewal grf file. They are in data/lua files/skillinfoz. As before, we'll need to copy the text from GRF editor to a notepad file to change it. Some of the data for the Doram is already there, but it's incomplete, at least in the version I have. The doram only have their pre-level 99 skills, skills like Chattering are not present. If you want these skills, you'll need to add them. I've attached some txt files to this post that have the entries you need to add. These are not complete files, you'll need to merge these entries into the files that you have, then add them back to the grf and save. And done! If I didn't forget too many steps (I probably forgot a couple, I coded this quite some time ago), you should now have cats! By the way, if you want colours for your cats, as by default they have only one palette available, I made a post that has some colour palettes for the cats elsewhere on the forum. Good luck and happy catting! novice.txt DoramDescriptions.txt skilldescript.txt skillinfolist.txt skilltreeview.txt Edited November 1, 2022 by Tero Added a section about missing HP values. 1 1 Quote Link to comment Share on other sites More sharing options...
Chaos92 Posted October 31, 2022 Group: Members Topic Count: 49 Topics Per Day: 0.01 Content Count: 1786 Reputation: 283 Joined: 08/03/12 Last Seen: 11 minutes ago Share Posted October 31, 2022 Hello, you're not using latest rathena file ? since I saw above are still using itemdb TXT. Quote Link to comment Share on other sites More sharing options...
Tero Posted October 31, 2022 Group: Members Topic Count: 8 Topics Per Day: 0.01 Content Count: 65 Reputation: 122 Joined: 10/01/22 Last Seen: January 4 Author Share Posted October 31, 2022 (edited) Oh, that's true, my rathena is a little out of date, and I still have the non-yaml item-db. I whipped you up a Yaml version. - Id: 1681 AegisName: Short_Foxtail_Staff Name: Short Foxtail Staff Type: Weapon SubType: Staff Buy: 300 Attack: 40 Range: 1 Slots: 3 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 1 EquipLevelMin: 1 Refineable: true Script: | bonus bMatkRate,10; - Id: 1683 AegisName: Abundantly_Foxtail Name: Enriched Foxtail Staff Type: Weapon SubType: Staff Buy: 4000 Weight: 200 Attack: 50 Range: 1 Slots: 3 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 2 EquipLevelMin: 12 Refineable: true Script: | bonus bMaxSP,50; bonus bMatkRate,15; - Id: 1684 AegisName: Long_Foxtail Name: Long Foxtail Staff Type: Weapon SubType: Staff Buy: 4000 Weight: 200 Attack: 70 Range: 2 Slots: 3 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 2 EquipLevelMin: 12 Refineable: true Script: | bonus bLongAtkRate,5; bonus bMaxHP,200; - Id: 1685 AegisName: DragonFry_Foxtail Name: Dragonfly Sitting Foxtail Staff Type: Weapon SubType: Staff Buy: 8000 Weight: 300 Attack: 60 Range: 1 Slots: 2 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 3 EquipLevelMin: 30 Refineable: true Script: | bonus bInt,1; bonus bMaxHP,100; bonus bMaxSP,150; bonus bMatkRate,15; - Id: 1686 AegisName: BigSize_Foxtail Name: Large Foxtail Staff Type: Weapon SubType: Staff Buy: 8000 Weight: 300 Attack: 90 Range: 2 Slots: 2 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 3 EquipLevelMin: 30 Refineable: true Script: | bonus bLongAtkRate,8; bonus bDex,1; bonus bMaxHP,200; bonus bMaxSP,100; - Id: 1687 AegisName: Short_Foxtail_Staff_ Name: Short Foxtail Staff Type: Weapon SubType: Staff Buy: 300 Attack: 40 Range: 1 Slots: 4 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 1 EquipLevelMin: 1 Refineable: true Script: | bonus bMatkRate,10; - Id: 1690 AegisName: Amazing_Foxtail Name: Mysterious Foxtail Staff Type: Weapon SubType: Staff Buy: 40000 Weight: 400 Attack: 70 Range: 1 Slots: 1 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 4 EquipLevelMin: 60 Refineable: true Script: | bonus bMaxSP,300; bonus bMatkRate,20; - Id: 1694 AegisName: Model_Foxtail Name: Foxtail Model Type: Weapon SubType: Staff Buy: 40000 Weight: 300 Attack: 130 Range: 2 Slots: 1 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 4 EquipLevelMin: 60 Refineable: true Script: | bonus bLongAtkRate,10; bonus bMaxHP,500; - Id: 1697 AegisName: Ex_Y_Model_Foxtail Name: Heavenly_Foxtail Type: Weapon SubType: Staff Buy: 60000 Weight: 300 Attack: 150 Range: 2 Jobs: Summoner: true Spirit_Handler: true Locations: Right_Hand: true WeaponLevel: 4 EquipLevelMin: 85 Refineable: true Script: | bonus bLongAtkRate,15; bonus bMatkRate,25; - Id: 15126 AegisName: Doram_Only_Suit Name: Doram Suit Type: Armor Buy: 20 Weight: 700 Defense: 5 Slots: 1 Jobs: Summoner: true Spirit_Handler: true Locations: Armor: true EquipLevelMin: 18 Refineable: true Script: | bonus bMaxHP,500; bonus bMaxSP,100; - Id: 20788 AegisName: Doram_Only_Cape Name: Doram Manteau Type: Armor Buy: 20 Weight: 300 Defense: 3 Slots: 1 Jobs: Summoner: true Spirit_Handler: true Locations: Garment: true EquipLevelMin: 18 Refineable: true Script: | bonus bFlee,5; - Id: 22077 AegisName: Red_Eco_Boots Name: Doram Shoes Type: Armor Buy: 20 Weight: 100 Defense: 2 Slots: 1 Jobs: Summoner: true Spirit_Handler: true Locations: Shoes: true ArmorLevel: 1 EquipLevelMin: 18 Refineable: true Script: | bonus bCritical,5; Hopefully this is all correct, I did the conversion by hand and I haven't tested it since my server doesn't use it, so if there's a small error somewhere you might have to edit it a tiny bit. For skill-tree.yml, that's super easy, you can just copy everything summoner related from the renewal one into the pre-re one. Unlike the one I have, the post-level 100 skills are present here, so you don't need to add anything from scratch. The one thing you have to do is for the post-level 100 skills, their entries look like this - Name: SU_PURRING MaxLevel: 5 BaseLevel: 100 Requires: - Name: SU_GROOMING Level: 5 You need to remove the "BaseLevel: 100" line (just completely delete it), because of course it's not possible for your Doram to be over level 100 in Pre-Re. For skill-cast.yml and skill-require.yml you can similarly just copy from renewal. While reviewing the new version, I also found that job-stats.yml and job-basepoints.yml under pre-re does not have the values for Summoner, you need to copy the summoner values for both of these from the renewal version of the file into the pre-re version. They don't need any changes. Edited November 1, 2022 by Tero Slight correction. Quote Link to comment Share on other sites More sharing options...
Tero Posted November 1, 2022 Group: Members Topic Count: 8 Topics Per Day: 0.01 Content Count: 65 Reputation: 122 Joined: 10/01/22 Last Seen: January 4 Author Share Posted November 1, 2022 (edited) I found a couple things during some further testing that experienced users may want to look at. To perform these changes, you need to be able to make changes to your source code and recompile. These are not mandatory for Doram to work but some skills will not work quite as intended without them. In status.cpp, there are some Doram-specific buffs that affect Matk. These are only applied when in renewal mode, so these buffs have no effect under PRE-RE without a code change. To make these work, you need to add the following to the method "status_calc_matk" in status.cpp. if (sc->data[SC_CATNIPPOWDER]) matk -= matk * sc->data[SC_CATNIPPOWDER]->val2 / 100; if (sc->data[SC_CHATTERING]) matk += sc->data[SC_CHATTERING]->val2; if (sc->data[SC_DORAM_MATK]) matk += sc->data[SC_DORAM_MATK]->val1; They go right before the line: return (unsigned short)cap_value(matk,0,USHRT_MAX); Another Matk Bonus is granted by investing 20 or more points in the plant tree while having Power of Land This too is not applied in PRE-RE. This is also in status.cpp, in the method status_calc_bl_main. Right after this code: if (bl->type&BL_PC && sd->matk_rate != 100) { status->matk_max = status->matk_max * sd->matk_rate/100; status->matk_min = status->matk_min * sd->matk_rate/100; } You need to insert the following to apply the Matk bonus: if (bl->type&BL_PC && pc_checkskill(sd, SU_POWEROFLAND) > 0) { if ((pc_checkskill(sd, SU_SV_STEMSPEAR) + pc_checkskill(sd, SU_CN_POWDERING) + pc_checkskill(sd, SU_CN_METEOR) + pc_checkskill(sd, SU_SV_ROOTTWIST) + pc_checkskill(sd, SU_CHATTERING) + pc_checkskill(sd, SU_MEOWMEOW) + pc_checkskill(sd, SU_NYANGGRASS)) > 19) status->matk_min += status->matk_min * 20 / 100; status->matk_max += status->matk_max * 20 / 100; } By the way, a minor glitch exists here, RO only recalculates your stats, including MAtk, when you learn a passive skill, not an active skill, even though this stat change can be applied by learning an active skill. You could actually fix this if you wanted (it's in pc_skillup in pc.cpp) with the following changes. Find this: if( !skill_get_inf(skill_id) ) status_calc_pc(sd,SCO_NONE); // Only recalculate for passive skills. Change it to this. status_calc_pc(sd, SCO_NONE); // Always recalc because of Power of Land if (!skill_get_inf(skill_id)) ; // Do nothing to avoid breaking the logic You now receive the Matk bonus immediately. There is also a mistake in the skill "Picky Peck" in battle.cpp. Search for this code. if (status_get_hp(target) < status_get_max_hp(target) >> 1) skillratio *= 2; This is actually intended to apply to Bite, not Picky Peck (the description states that Bite is the skill that does extra damage on weakened targets). You can cut these lines and paste them a few lines above under case SU_BITE: skillratio += 100 + sd->status.base_level * 10; In the old version of the code only, there's a mistake in checking the heal bonus granted by power of sea. if (pc_checkskill(sd, SU_TUNABELLY) == 5 && pc_checkskill(sd, SU_TUNAPARTY) == 5 && pc_checkskill(sd, SU_BUNCHOFSHRIMP) == 5 && pc_checkskill(sd, SU_FRESHSHRIMP) == 5) This does not correctly check the entire seafood skill tree to see if the total is 20 or higher. Replace it with this. if ((pc_checkskill(sd, SU_TUNABELLY) + pc_checkskill(sd, SU_TUNAPARTY) + pc_checkskill(sd, SU_BUNCHOFSHRIMP) + pc_checkskill(sd, SU_FRESHSHRIMP) + pc_checkskill(sd, SU_GROOMING) + pc_checkskill(sd, SU_PURRING) + pc_checkskill(sd, SU_SHRIMPARTY)) > 19) This is fixed in the latest version (the skill counting is refactored into its own method and is correct) so if you're on latest you don't have to do this. Additionally, the skill "Fresh Shrimp" skill has some very strange logic, the wiki states it heals half of Heal Level 5 per tick, but in Rathena's code, the value is simply set to 178, regardless of your stats / skill level / whatever. This also causes healing bonuses not to be applied and generally makes the skill nearly worthless. This is also in status.cpp, Search for 178, the only instance will be in the code we need to alter. My fix is simply to insert this before the line "if (sd)" val2 = skill_calc_heal(src, bl, SU_FRESHSHRIMP, val1, true); skill_calc_heal already has a heal formula for fresh_shrimp which otherwise goes unused. Edited November 2, 2022 by Tero More corrections. Quote Link to comment Share on other sites More sharing options...
Gidz Cross Posted November 4, 2022 Group: Members Topic Count: 133 Topics Per Day: 0.03 Content Count: 678 Reputation: 88 Joined: 04/07/14 Last Seen: 3 hours ago Share Posted November 4, 2022 Good job uploading txt version. Me i still use txt version. Quote Link to comment Share on other sites More sharing options...
Scamper Posted November 7, 2022 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 7 Reputation: 0 Joined: 08/27/17 Last Seen: January 12 Share Posted November 7, 2022 Since I have zero experience with scripting/coding I rely on Guides like this one. So far everything works fine except Catnip Meteor. If I use it the Map Server crashes.... Disabled the skill for now since I'm not able to fix it. Still having a blast with Dorams on PRE-RE Big Thanks for the Guide Quote Link to comment Share on other sites More sharing options...
Tero Posted December 6, 2022 Group: Members Topic Count: 8 Topics Per Day: 0.01 Content Count: 65 Reputation: 122 Joined: 10/01/22 Last Seen: January 4 Author Share Posted December 6, 2022 On 11/7/2022 at 9:04 AM, Scamper said: So far everything works fine except Catnip Meteor. If I use it the Map Server crashes.... Haha, you're right! I just tried it and it crashed my server too! Good thing no one else was playing a magic cat! Easily fixed though. The problem is we forgot to update skill_unit_db. If you have skill_unit_db.txt, paste the following into it: 5027,0x106, , 1:1:2:2:3, 0, -1,enemy, 0x2010 // SU_CN_POWDERING 5028,0x86, , 0, 3, 500,enemy, 0x10 // SU_CN_METEOR 5042,0x86, , 0, 3, 500,enemy, 0x10 // SU_CN_METEOR2 5048,0x107, , 2:2:3:3:4, 0, -1, enemy, 0x2010 // SU_NYANGGRASS No more crash! If your rathena is the latest version, the content of skill_unit_db has been incorporated into skill_db.yaml, so I don't think you should experience this crash. If you somehow still do, make sure the Unit settings inside skill-db.yaml got copied properly. I also discovered one more problem. Currently, if your cat is level 99, it will still show the exp bar, and cat does not get an aura, either. This is because some of the settings in ExternalSettings_kr.lub are wrong. We edited this in the first step, but it turns out we have a couple more changes to make. At the top, there is a "MaxLevelTable". Find the "BaseLevelDoram", and put this: BaseLevelDoram = 99, Might want to update BaseLevelHomun to 99 too, though this is unrelated to cats. Now the EXP bar disappears at level 99, and Doram can get an aura. However, currently it's not the same aura as everyone else. If you want it to be, find the "MaxLevelAuraTable" section below, and replace it with the following: MaxLevelAuraTable = { Default150LvAura = LEVELAURA.EF_LEVEL99, Default150LvAura_sub = LEVELAURA.EF_LEVEL99_ORB1, Default160LvAura = LEVELAURA.EF_LEVEL99, Default160LvAura_sub = LEVELAURA.EF_LEVEL99_ORB1, Default185LvAura = LEVELAURA.EF_LEVEL99, Default185LvAura_sub = LEVELAURA.EF_LEVEL99_ORB1, HomunMaxLvAura = LEVELAURA.EF_LEVEL99, HomunMaxLvAura_sub = LEVELAURA.EF_LEVEL99_ORB1 } And Presto! Aura Cat! Quote Link to comment Share on other sites More sharing options...
Tero Posted January 2, 2023 Group: Members Topic Count: 8 Topics Per Day: 0.01 Content Count: 65 Reputation: 122 Joined: 10/01/22 Last Seen: January 4 Author Share Posted January 2, 2023 A quick update. Under latest Rathena, the way statuses are referenced has been changed. So if you're trying to apply the following code tweak. On 10/31/2022 at 8:29 PM, Tero said: In status.cpp, there are some Doram-specific buffs that affect Matk. These are only applied when in renewal mode, so these buffs have no effect under PRE-RE without a code change. To make these work, you need to add the following to the method "status_calc_matk" in status.cpp. if (sc->data[SC_CATNIPPOWDER]) matk -= matk * sc->data[SC_CATNIPPOWDER]->val2 / 100; if (sc->data[SC_CHATTERING]) matk += sc->data[SC_CHATTERING]->val2; if (sc->data[SC_DORAM_MATK]) matk += sc->data[SC_DORAM_MATK]->val1; They go right before the line: return (unsigned short)cap_value(matk,0,USHRT_MAX); You now need to use the following code instead. if (sc->getSCE(SC_CATNIPPOWDER)) matk -= matk * sc->getSCE(SC_CATNIPPOWDER)->val2 / 100; if (sc->getSCE(SC_CHATTERING)) matk += sc->getSCE(SC_CHATTERING)->val2; if (sc->getSCE(SC_DORAM_MATK)) matk += sc->getSCE(SC_DORAM_MATK)->val1; I think the rest of it is still fine, but it's quite possible that some of these issues might have been fixed by now. Quote Link to comment Share on other sites More sharing options...
spinzaku Posted January 3, 2023 Group: Members Topic Count: 10 Topics Per Day: 0.00 Content Count: 82 Reputation: 6 Joined: 04/20/16 Last Seen: July 23, 2024 Share Posted January 3, 2023 If you are using the latest rAthena, you only need to src edit status.cpp for the changes. Others are already updated Great guide! Quote Link to comment Share on other sites More sharing options...
jaymarkova Posted March 25, 2023 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 5 Reputation: 0 Joined: 05/07/22 Last Seen: March 28, 2024 Share Posted March 25, 2023 is doram balanced alongside with 2-2 jobs? Quote Link to comment Share on other sites More sharing options...
quickly Posted February 11, 2024 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 2 Reputation: 0 Joined: 12/17/23 Last Seen: March 10, 2024 Share Posted February 11, 2024 After adding Quote 5027,0x106, , 1:1:2:2:3, 0, -1,enemy, 0x2010 // SU_CN_POWDERING 5028,0x86, , 0, 3, 500,enemy, 0x10 // SU_CN_METEOR 5042,0x86, , 0, 3, 500,enemy, 0x10 // SU_CN_METEOR2 5048,0x107, , 2:2:3:3:4, 0, -1, enemy, 0x2010 // SU_NYANGGRASS I got such errors, can you tell me what the problem might be? Quote Link to comment Share on other sites More sharing options...
imat1 Posted February 11, 2024 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 100 Reputation: 20 Joined: 05/01/12 Last Seen: 7 hours ago Share Posted February 11, 2024 4 hours ago, quickly said: After adding I got such errors, can you tell me what the problem might be? The error clearly said item id 11602 in your item db does not exist. Quote Link to comment Share on other sites More sharing options...
quickly Posted February 18, 2024 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 2 Reputation: 0 Joined: 12/17/23 Last Seen: March 10, 2024 Share Posted February 18, 2024 On 2/11/2024 at 9:21 PM, imat1 said: The error clearly said item id 11602 in your item db does not exist. Oh,thx ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.