Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/24/22 in Posts

  1. A small update this time, but something I'm quite pleased with. Meet Pere! Players of Renewal might recognize Pere from Jitterbug of Nightmare, which I recently implemented on my server. (Which, as mentioned above, is PRE-RE, I've been porting all of Renewal's content to it). Pere is quite special. Besides being super cute, she can also serve as your ensemble partner! There are two Peres that you can get as pets, one dances and one plays the guitar, and whichever one you are, you need the other one. Someone on my server has been complaining since day 1 about the necessity of being joined at the hip with a Bard and I think this is a good compromise that preserves the intent of the ensemble skills while also making them a little more accessible. If you want to add this functionality to your server, it's actually pretty easy from a coding perspective. You just have to find the method "skill_check_condition_castbegin" in skill.cpp, then find this code: else if(inf2[INF2_ISENSEMBLE]) { if (skill_check_pc_partner(sd, skill_id, &skill_lv, 1, 0) < 1 && !(sc && sc->data[SC_KVASIR_SONATA])) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return false; } } And replace it with this: else if(inf2[INF2_ISENSEMBLE]) { // check to see if we have the ensemble pet bool ensemblepet = false; if (sd && sd->pd) { if ((sd->status.class_ == JOB_BARD || sd->status.class_ == JOB_CLOWN) && sd->pd->pet.class_ == 3069 && sd->pd->pet.intimate > PET_INTIMATE_LOYAL) { ensemblepet = true; } if ((sd->status.class_ == JOB_DANCER || sd->status.class_ == JOB_GYPSY) && sd->pd->pet.class_ == 3070 && sd->pd->pet.intimate > PET_INTIMATE_LOYAL) { ensemblepet = true; } } if (!ensemblepet && skill_check_pc_partner(sd, skill_id, &skill_lv, 1, 0) < 1 && !(sc && sc->data[SC_KVASIR_SONATA])) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return false; } } Of course, you also have to pull everything from Jitterbug of Nightmare into PRE-RE, then implement the Peres as custom pets, but at least the coding part is simple! (alternatively, you could just use a different pet, like maybe a Rocker or something, you can just change the id number it looks for in the pet.class_ part).
    1 point
×
×
  • Create New...