Jump to content

Crown The Empire

Members
  • Content Count

    14
  • Joined

  • Last visited

Posts posted by Crown The Empire


  1. 1 hour ago, AnnieRuru said:

    Sorry for any inconvenience now the skill is being affected by distance damage letters thanks for all the support and patience It worked xd


  2. 14 minutes ago, AnnieRuru said:
    
    @@ -4960,6 +4953,14 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl

    the patch has clearly said, modify the line somewhere at line no.4960

    and your compiler said your error is on line 4127

    wtf, i'm n00b.

    compiled now but the damage continues very low for example I used the skill without weapon and letter = 400 damage

    I put 4 cards of elemental damage and the damage was = 450

    before all the change the damage was very high without letter or weapon 


  3. 3 hours ago, AnnieRuru said:

    if you change skill->attack from BF_MISC into BF_WEAPON,
    then you should also change the damage calculation from battle_calc_misc_attack function into battle_calc_weapon_attack function

    but how you want to change the damage formula is totally up to you ...

     

    I had tried something similar. I compiled and generated these errors.

    A1TQyxA.png


  4. Old damage formula (before the 175/60 update, implemented December 10, 2014 in iRO):

    Damage = [(CurrHP ÷ 50) + (MaxSP ÷ 4)] × (SkillLv × BaseLv ÷ 150) × (95 + DragonTraining_Lv × 5)%

    New damage formula (after the 175/60 update):

    Damage = [(CurrHP ÷ 50) + (MaxSP ÷ 4)] × (SkillLv × BaseLv ÷ 150) × (95 + DragonTraining_Lv × 5)% × (100 + Ranged Damage Modifiers)% x (Elemental Modifiers)%

    battle.c (Hercules)

    	case RK_DRAGONBREATH:
    	case RK_DRAGONBREATH_WATER:
    		md.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv;
    		RE_LVL_MDMOD(150);
    		if (sd) md.damage = md.damage * (95 + 5 * pc->checkskill(sd,RK_DRAGONTRAINING)) / 100;
    		md.flag |= BF_LONG|BF_WEAPON;
    		break;

    battle.ccp (rAthena)

    		case RK_DRAGONBREATH:
    		case RK_DRAGONBREATH_WATER:
    			{
    				int damagevalue = (sstatus->hp / 50 + status_get_max_sp(src) / 4) * skill_lv;
    
    				if(status_get_lv(src) > 100)
    					damagevalue = damagevalue * status_get_lv(src) / 150;
    				if(sd)
    					damagevalue = damagevalue * (100 + 5 * (pc_checkskill(sd,RK_DRAGONTRAINING) - 1)) / 100;
    				ATK_ADD(wd->damage, wd->damage2, damagevalue);
    #ifdef RENEWAL
    				ATK_ADD(wd->weaponAtk, wd->weaponAtk2, damagevalue);
    #endif
    				wd->flag |= BF_LONG;
    			}

    skill.c (Hercules)

    		case RK_DRAGONBREATH_WATER:
    		case RK_DRAGONBREATH:
    		{
    			struct status_change *tsc = NULL;
    			if( (tsc = status->get_sc(bl)) && (tsc->data[SC_HIDING] )) {
    				clif->skill_nodamage(src,src,skill_id,skill_lv,1);
    			} else
    				skill->attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag);
    		}

    skill.cpp (rAthena)

    	case RK_DRAGONBREATH_WATER:
    	case RK_DRAGONBREATH:
    		if( tsc && tsc->data[SC_HIDING] )
    			clif_skill_nodamage(src,src,skill_id,skill_lv,1);
    		else
    			skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
    		break;

    So I think the difference is the new formula takes these range, elemental and racial modifiers into account.
    It seems this formula was recently implemented in rAthena (BF_WEAPON TYPE), while Hercules is still using the old formula (BF_MISC TYPE). I have tried to merge rathena's new formula into Hercules, but encountered several problems.


  5. O estranho não é a chance de congelar.

    E sim aquela que quanto mais luk, você tem mais rápido você descongela.

    Acredito que alterando ai no status.conf, seria so a resistencia de ser congelado, e não algo ligado a descongelar.


  6. A armadilha está funcionando normalmente no PVP. Já no GvG o jogador passa por cima retira quase todas, e trava somente em uma celula

    que nem tem armadilha.

     

    4oUWmzw.jpg

     

    Queria que o jogador travesse na armadilha imediatamente assim que passa por cima como deveria ser, que nem a imagem abaixo..

    Só que a armadilha só trava corretamente quando o PVP está ligado...

     

    UpnhN9J.jpg

     

    Sobre o HP das armadilhas onde eu posso modifica - lo?


  7. A skill "Armadilha" não está funcionando corretamente!

     

    Acontece o seguinte:

    O jogador passa por cima tira a maioria das armadilhas e trava só depois em uma célula que sequer tem armadilha.

     

    case UNT_ANKLESNARE:case UNT_MANHOLE:if( sg->val2 == 0 && tsc && (sg->unit_id == UNT_ANKLESNARE || bl->id != sg->src_id) ) {int sec = skill->get_time2(sg->skill_id,sg->skill_lv);if( status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,sec, 8) ) {const struct TimerData* td = tsc->data[type]?iTimer->get_timer(tsc->data[type]->timer):NULL;if( td )sec = DIFF_TICK(td->tick, tick);if( sg->unit_id == UNT_MANHOLE || battle_config.skill_trap_type || !map_flag_gvg(src->bl.m) ) {unit_movepos(bl, src->bl.x, src->bl.y, 0, 0);clif->fixpos(bl);}sg->val2 = bl->id;} elsesec = 3000; //Couldn't trap it?if( sg->unit_id == UNT_ANKLESNARE ) {clif->skillunit_update(&src->bl);/*** If you're snared from a trap that was invisible this makes the trap be* visible again -- being you stepped on it (w/o this the trap remains invisible and you go "WTF WHY I CANT MOVE")* bugreport:3961**/clif->changetraplook(&src->bl, UNT_ANKLESNARE);}sg->limit = DIFF_TICK(tick,sg->tick)+sec;sg->interval = -1;src->range = 0;}break;
×
×
  • Create New...

Important Information

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