Jump to content

substep

Members
  • Posts

    11
  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling
  • Location
    United States

Recent Profile Visitors

1165 profile views

substep's Achievements

Poring

Poring (1/15)

1

Reputation

1

Community Answers

  1. Hello everyone, I went through most of the SQL files and noticed how atrocious the syntax was and decided to clean it up a bit. Shouldn't have any affect on the actual execution (especially since MySQL supports this new format). As most of up know, the current syntax is this for all the sql files: REPLACE INTO `mob_db_re` VALUES (1018,'CREAMY','Creamy','Creamy',23,378,1,144,162,1,61,62,28,20,16,1,1,0,1,20,10,12,0,4,24,0x181,150,1136,720,840,0,0,0,0,0,0,0,924,9000,2322,10,518,150,602,100,2207,2,712,500,692,100,0,0,0,0,4040,1); Ill be changing the mob,item and mob skill db's to this: REPLACE INTO `mob_db_re` (a,b,c,d,e,f,g,h,i,j,k) VALUES (a,b,c,d,e,f,g,h,i,j,k), (a,b,c,d,e,f,g,h,i,j,k); It should work unless there is something I don't know about. Also Ill be adding a lot of whitespace so they all line up nicely in rows and columns in case anyone wants to do some serious editing. Its tedious but it should help everyone out in the long run. Mob_db_re: 3% complete <- This is a total lie (its more like 1% lol) Mob_db2_re: 0% Item_db_re: 0% Item_db2_re: 0% mob_skill_db_re: 0% mob_skill_db2_re:0%
  2. and who doesnt love the smell of..... PROOF!! http://imgc.gnjoy.com/nPaint2/usr/20150228/challeng/20150228011533616235.jpg
  3. if you did, send it over to one of the devs or community peeps and see if they cant commit the updated prt script or at least add it and have it optional for those who arent using the new prontera
  4. Are mob stats affected by this stuff in status.c? #ifdef RENEWAL // Renewal formulas if (bl->type == BL_HOM) { // Def2 stat = status_get_homvit(bl) + status_get_homagi(bl) / 2; status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 stat = (status_get_homvit(bl) + status_get_homint(bl)) / 2; status->mdef2 = cap_value(stat, 0, SHRT_MAX); // Def stat = status->def; stat += status_get_homvit(bl) + level / 2; status->def = cap_value(stat, 0, SHRT_MAX); // Mdef stat = (int)(((float)status_get_homvit(bl) + level) / 4 + (float)status_get_homint(bl) / 2); status->mdef = cap_value(stat, 0, SHRT_MAX); // Hit stat = level + status->dex + 150; status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = level + status_get_homagi(bl); status->flee = cap_value(stat, 1, SHRT_MAX); // Atk stat = (status_get_homstr(bl) + status_get_homdex(bl)) / 5; status->rhw.atk = cap_value(stat, 0, SHRT_MAX); // Atk2 stat = (status_get_homluk(bl) + status_get_homstr(bl) + status_get_homdex(bl)) / 3; status->rhw.atk2 = cap_value(stat, 0, SHRT_MAX); } else { // Hit stat = status->hit; stat += level + status->dex + (bl->type == BL_PC ? status->luk / 3 + 175 : 150); //base level + ( every 1 dex = +1 hit ) + (every 3 luk = +1 hit) + 175 status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = status->flee; stat += level + status->agi + (bl->type == BL_MER ? 0 : bl->type == BL_PC ? status->luk / 5 : 0) + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100 status->flee = cap_value(stat, 1, SHRT_MAX); // Def2 if (bl->type == BL_MER) stat = (int)(status->vit + ((float)level / 10) + ((float)status->vit / 5)); else { stat = status->def2; stat += (int)(((float)level + status->vit) / 2 + (bl->type == BL_PC ? ((float)status->agi / 5) : 0)); //base level + (every 2 vit = +1 def) + (every 5 agi = +1 def) } status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 if (bl->type == BL_MER) stat = (int)(((float)level / 10) + ((float)status->int_ / 5)); else { stat = status->mdef2; stat += (int)(bl->type == BL_PC ? (status->int_ + ((float)level / 4) + ((float)(status->dex + status->vit) / 5)) : ((float)(status->int_ + level) / 4)); //(every 4 base level = +1 mdef) + (every 1 int = +1 mdef) + (every 5 dex = +1 mdef) + (every 5 vit = +1 mdef) } status->mdef2 = cap_value(stat, 0, SHRT_MAX); } status->matk_min = status->matk_max = status_base_matk(bl, status, level); #else // Matk status->matk_min = status_base_matk_min(status); status->matk_max = status_base_matk_max(status); // Hit stat = status->hit; stat += level + status->dex; status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = status->flee; stat += level + status->agi; status->flee = cap_value(stat, 1, SHRT_MAX); // Def2 stat = status->def2; stat += status->vit; status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 stat = status->mdef2; stat += status->int_ + (status->vit>>1); status->mdef2 = cap_value(stat, 0, SHRT_MAX); #endif I mean i get that it checks for the bl type but i was just wondering if editing these fomulas affected mob stats as well
  5. i have no idea, the skills are spread across a bunch of different luas did you check your homun_skill_tree.txt first?
  6. I cant see it being a source issue. The core devs are pretty on point with it. 9 times out of 10 its an issue with the something we did or didn't do. Actually before you get into data files check this file rathena/db/homun_skill_tree.txt (forgot that was there lol). cross check it with this https://github.com/rathena/rathena/blob/master/db/homun_skill_tree.txt if its the same as that link then keep reading the rest of the post (unless you want the new laggy prontera haha) if its not the same then copy n paste n see if it fixes your problem Something like this though might have something to do with your grf files. I know that their are tons of different data folders out there (I use this from hercules https://github.com/ROClientSide/Translation- its pretty up to date but there are some translation issues like the item menu). Back-up the grf file you have now (just change the name to this <your_grf_name>.grf.bak) and create a new grf with that data folder and see if it fixes the problem. Just dont go to prontera, if you use that grf folder you need the fix for new prontera - just add this to i think the data.grf (its either data.grf or rdata.grf whichever holds the prt map files) https://rathena.org/board/topic/100726-new-prontera-client-crash/
  7. cuz your vani wants to fly -.- Jk, check the luas in your grf file, see if they are correct if not change it Also check to see if your sprites and stuff arent mixed up either. If could actually be a fillir and not a vani
  8. Err check your map flags, see if there is anything for that particular map. If not, check the map server cmd and see if any errors are thrown. It could also be something you diffed into the client (I know if you dont diff certain things the client bugs out). Like if you diff in to ignore sprite/act files and your grf is not updated to support different colors for hair/clothes the client wont crash but nothing will change. Worst case scenario pm a contributor like judas or a forum mod with some screenshots and they should be able to tell you the problem
  9. Just as the title says, I want to mod the ASPD% that berserk gives. Currently it just max's out atk speed instead of giving +30% aspd (should be the same as 2h quicken). Where exactly is it defined in source?
  10. set the version to 45 in the clientinfo.xml and in packet_db.txt. Check your mmo.h and see if the version date matches the date of the client your using. Also you can diff the client into bypassing the check for clientinfo.xml
  11. Just as the title says, I want to cap the max crit rate to a certain percentage but with a catch. How do I cap the crit rate so that it doesn't affect cards? For example: Max crit is 30% (achievable through stats alone) then a card adds 10% to crit so that its now 40%. I know that there is this: // Critical adjustment rate for non-players (Note 2) mob_critical_rate: 100 critical_rate: 100 but there isnt much of a description lol EDIT: Also, is it possible to put a soft cap on aspd as well? EDIT2: nvm, I decided to quit being lazy for a few minutes and just modded the source
×
×
  • Create New...