Jump to content

MarkZD

Members
  • Posts

    134
  • Joined

  • Last visited

  • Days Won

    1

Community Answers

  1. MarkZD's post in PARRYING FOR 1 HAND SWORD was marked as the answer   
    For the parrying, u just need to change your parrying in db/(pre/re)/skill_require_db.txt
    Find:
    And replace with:
  2. MarkZD's post in Requesting the code's cap damage for Deathbound and Shadowform. was marked as the answer   
    In src/map/battle.c

    if( sc && sc->data[sC__SHADOWFORM] ) { struct block_list *s_bl = map_id2bl(sc->data[sC__SHADOWFORM]->val2); if( !s_bl ) { // If the shadow form target is not present remove the sc. status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER); } else if( status_isdead(s_bl) || !battle_check_target(src,s_bl,BCT_ENEMY)) { // If the shadow form target is dead or not your enemy remove the sc in both. status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER); if( s_bl->type == BL_PC ) ((TBL_PC*)s_bl)->shadowform_id = 0; } else { if( (--sc->data[sC__SHADOWFORM]->val3) < 0 ) { // If you have exceded max hits supported, remove the sc in both. status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER); if( s_bl->type == BL_PC ) ((TBL_PC*)s_bl)->shadowform_id = 0; } else { status_damage(src, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0); return ATK_NONE; } } }
    The damage variable in here:
    You could redulce this value before it's passed trought the status_damage function, right after the else.
    Something like:

    } else { damage *= 0.7; //reduces 30% of damage status_damage(src, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0); return ATK_NONE; }
  3. MarkZD's post in Soul Linker Spirit Skill modification was marked as the answer   
    If you're using rAthena, One Hand Quicken is already provided when LK is linked(and have two hand quicken lv 10).
    So the edits below are just for the second request.
    Open src/map/skill.c
    Find:

    int skill_check_condition_castend(struct map_session_data* sd, short skill, short lv) { struct skill_condition require; struct status_data *status; int i; int index[MAX_SKILL_ITEM_REQUIRE];
    After ADD:

    struct status_change *sc = &sd->sc;
    Find and Replace the two places like that:

    if( require.weapon && !pc_check_weapontype(sd,require.weapon) ) {
    By 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)) ){
×
×
  • Create New...