Jump to content

pan

Community Contributors
  • Content Count

    355
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by pan

  1. Sorry I had made some mistakes in my last snippets, they're correct now...
  2. pan

    @hatredreset?

    I don't think so, I've just searched Hercules' source and found nothing with any of those names...
  3. It's on srcmapbattle.c case SR_EARTHSHAKER: if( tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] || // [(Skill Level x 150) x (Caster Base Level / 100) + (Caster INT x 3)] % tsc->data[SC_CHASEWALK] || tsc->data[SC_CLOAKINGEXCEED] || tsc->data[SC__INVISIBILITY]) ){ skillratio += -100 + 150 * skill_lv; RE_LVL_DMOD(100); skillratio += status_get_int(src) * 3; }else{ //[(Skill Level x 50) x (Caster Base Level / 100) + (Caster INT x 2)] % skillratio += 50 * (skill_lv-2); RE_LVL_DMOD(100); skillratio += status_get_int(src) * 2; } break;
  4. What's the purpose of those changes? It's difficult to know if they're right or wrong without knowing their purpose :x
  5. Most of these changes are database related and the others could be made with a simple script, but as you requested in source support I'll post them as source modifications, except for those that can be made altering databases. Regarding those db changes: Open dbreskill_tree.conf and search for: SG_DEVIL: 10 SG_FRIEND: 3 SG_KNOWLEDGE: 10 SG_FUSION: { MaxLevel: 1 SG_KNOWLEDGE: 9 }Add just below it: WZ_VERMILION: 10 LK_PARRYING: 10If you want to add any pre-requisites just use the following format:skill_name: {MaxLevel: max_skill_lvlskill_name1: min_lvlskill_name2: min_lvl}Now open srcmapbattle.c and search for:if( src != target ) { // Don't reflect your own damage (Grand Cross)Add above it: if( target->type == BL_MOB && ( (pc->jobid2mapid(JOB_STAR_GLADIATOR)) == ((TBL_PC*)src)->class_ || (pc->jobid2mapid(JOB_STAR_GLADIATOR2)) == ((TBL_PC*)src)->class_) && (((TBL_MOB*)target)->state.boss || ((TBL_MOB*)target)->db->status.def_ele == ELE_HOLY) ) wd.damage += wd.damage; // 100% damage bonusNow open srcmapstatus.c and search for: for(i=0;i<(int)sd->status.job_level && i<MAX_LEVEL;i++){ if(!status->job_bonus[index][i]) continue; switch(status->job_bonus[index][i]) { case 1: bstatus->str++; break; case 2: bstatus->agi++; break; case 3: bstatus->vit++; break; case 4: bstatus->int_++; break; case 5: bstatus->dex++; break; case 6: bstatus->luk++; break; } }Add below it: if( index == JOB_STAR_GLADIATOR || index == JOB_STAR_GLADIATOR2 ) bstatus->flee2 += 10;Save and build and it should work c: Happy holidays @EDIT Tested mods in-game now they're working
  6. I'm not getting this warning, I'm building using VCpp. Try updating and if it's not gone you should report this warning in Hercules' bug tracker http://herc.ws/board/tracker/. But don't worry it's not serious, you can use your server normally c:
  7. It's not going to work, there're some errors in this snippet so I've made some changes and it's working now.. I have no idea why but SC_SPIRIT in Hercules' code is referred as SC_SOULLINK. Just change in your mod this: if(require.weapon && !(pc_check_weapontype(sd,require.weapon) || (skill == LK_PARRYING && sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_KNIGHT && sd->status.weapon == W_1HSWORD)) ){to:if(require.weapon && !(pc_check_weapontype(sd,require.weapon) || (skill_id == LK_PARRYING && sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_KNIGHT && sd->status.weapon == W_1HSWORD)) ){And it should work, don't forget to add that other mod c:
  8. It's very simple to use any plugin in Hercules, extract balarm.7z and put its contents in your plugins folder. Now open conf/plugins.conf you'll see something like: plugins_list: [ /* Enable HPMHooking when plugins in use rely on Hooking */ //"HPMHooking", //"db2sql", //"sample", //"other",]Add just below "//"other,":"balarm",Now download balarm's sourcefile http://pastebin.com/TFS0GCDs and save it as balarm.c in /src/plugin
  9. You can increase the length of character and npc names just changing macros in Hercules' src, but, if I'm not mistaken, the client won't show any extra characters as they are hard coded.
  10. I tested it and it was working, Hercules' is constantly changing as ossi0110 said you should update your server to the latest revision and then try to add this plugin to your server... Or you could add it manually, like any atcommand.
  11. Well, probably those errors that have happened are because some functions are called differently in Hercules, because its plugin module changed them, in short time using Hercules' source you'll get used to it, or you could just ask for ports in Source Request session c:
  12. When you're building those errors are recorded in your compiler log, well I modified it a little bit but I haven't tested in-game, I hope it works http://pastebin.com/NNkJL21J
  13. Just checked it, it is permanent, only "bonus" isn't
  14. Open srcmapskill.c and search for: // High-class skills if(/*(skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) ||*/ (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) return 0; else if(battle_config.copyskill_restrict) return (sd->status.class_ == JOB_STALKER); }Replace it with:/* // High-class skills if((skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) || (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) return 0; else if(battle_config.copyskill_restrict) return (sd->status.class_ == JOB_STALKER); }*/Try and see if that works c:
  15. Well, according to Hercules' source-code after using Body Relocation you need only to wait 2s to use Asura Strike, you could alter that as well. Open srcmapskill.c and search for: skill->blockpc_start (sd, MO_EXTREMITYFIST, 2000);Change it to:skill->blockpc_start (sd, MO_EXTREMITYFIST, 3000);Search for: case SR_KNUCKLEARROW: if( !map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground && unit->movepos(src, bl->x, bl->y, 1, 1) ) { clif->slide(src,bl->x,bl->y); clif->fixpos(src); // Aegis send this packet too. } if( flag&1 ) skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag|SD_LEVEL); else skill->addtimerskill(src, tick + 300, bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag|SD_LEVEL|2);Add right below it, before 'break': if( sd ) skill->blockpc_start (sd, MO_EXTREMITYFIST, 3000);Done, save the file and build your map-server c:
  16. It's on re/job_db1.txt or pre-re/job_db1.txt
  17. Just alter skill_require_db.txt, search for those skills that you're going to change requirements and alter them c: // Structure of Database:// SkillID,HPCost,MaxHPTrigger,SPCost,HPRateCost,SPRateCost,ZenyCost,RequiredWeapons,RequiredAmmoTypes,RequiredAmmoAmount,RequiredState,SpiritSphereCost,RequiredItemID1,RequiredItemAmount1,RequiredItemID2,RequiredItemAmount2,RequiredItemID3,RequiredItemAmount3,RequiredItemID4,RequiredItemAmount4,RequiredItemID5,RequiredItemAmount5,RequiredItemID6,RequiredItemAmount6,RequiredItemID7,RequiredItemAmount7,RequiredItemID8,RequiredItemAmount8,RequiredItemID9,RequiredItemAmount9,RequiredItemID10,RequiredItemAmount10
  18. I think some of the data that's used by shadow spell is from skill_reproduce_db, try adding trans skills there just to see if it works
  19. I found some things regarding ice pick's formula: http://db.irowiki.org/db/item-info/1230/ http://irowiki.org/wiki/Ice_Pick
  20. Those clifs just signal that the status has started, I think that those "permanent" effects are signalised by the SI flag, but again, I'm not so sure of that c:
  21. @EDIT Oh, sorry I missed a spot, open srcmapclif.c and search for: sd->status.skill[i].id < GS_GLITTERING && skill->get_type(sd->status.skill[i].id) == BF_MAGIC )replace it with:/*sd->status.skill[i].id < GS_GLITTERING &&*/ skill->get_type(sd->status.skill[i].id) == BF_MAGIC )Now I think it will work c: I'll edit my other answer to include this snippet as well
  22. Open srcmapbattle.c and search for: clif->specialeffect(bl, 462, AREA);change it to://clif->specialeffect(bl, 462, AREA);Now open srcmapstatus.c, search for:set_sc( SL_KAUPE , SC_KAUPE , SI_KAUPE , SCB_NONE );set_sc( SL_KAITE , SC_KAITE , SI_KAITE , SCB_NONE );replace it with:set_sc( SL_KAUPE , SC_KAUPE , SI_BLANK , SCB_NONE );set_sc( SL_KAITE , SC_KAITE , SI_BLANK , SCB_NONE );Open srcmapskill.c and find:clif->specialeffect(bl, 438, AREA)change it to: //clif->specialeffect(bl, 438, AREA);I think this way there won't be any effects regarding those stati, but I'm not sure..
  23. As it's not official, I don't think Hercules' team will port it... You could post instead in source mod requests asking to port it
  24. Also this diff is outdated, to apply those changes it would be needed to remake all those packets and all queries that are being made...
  25. Well I did it: Sourcefile is at:http://pastebin.com/TFS0GCDsRegardsbalarm.7z
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.