Crown The Empire
-
Content Count
14 -
Joined
-
Last visited
Posts posted by Crown The Empire
-
-
The ability is not imprisoning boss-type monsters. Can someone help me?
-
1 hour ago, AnnieRuru said:no idea, I have tested it works
do I seriously have to do like this ?
https://github.com/HerculesWS/Hercules/compare/master...AnnieRuru:topic/16676-n.
https://github.com/AnnieRuru/Hercules/blob/803f7335803460b8a4f2554240a9b29f4686f556/src/map/battle.c#L4957-L4963Sorry for any inconvenience now the skill is being affected by distance damage letters thanks for all the support and patience It worked xd
-
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 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 functionbut how you want to change the damage formula is totally up to you ...
I had tried something similar. I compiled and generated these errors.
-
I switched BF MISC on skill.c by BF WEAPON. The damage was very low. In the part of the battle.c also could not do something that worked, can help me to develop something similar to rAthena?
-
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.banhelba2019 reacted to this -
Ainda permanece, a chance de congelar está certa porém para descongelar mesmo com a LUK alta, você passa muito tempo congelado, como se tivesse 0 .
-
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.
-
Eu desfiz essa alteração na src, para voltar a formula do congelamento...
https://github.com/HerculesWS/Hercules/commit/931058402a47abd14f022c12bdf29c68e261204d
Deu certo, porém a unica coisa que está estranha é o tempo, pois o jogador com 190 de LUK ainda fica congelado bastante tempo, era pra
descongelar rápido...
Onde posso ajustar?
-
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.
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...
Sobre o HP das armadilhas onde eu posso modifica - lo?
-
Estranho, porque o jogador passa desativa algo em torno de 6 armadilhas, e para somente na 7 , e um local sem nada!
-
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;
How to enable crit for double attack?
in Source Requests
Posted · Edited by Crown The Empire
Implementation Double Critical Attack. It is now possible to use double critical damage attack on the kRO.
https://github.com/rathena/rathena/commit/b0de030e02fb67b86e4c6825d9b7dbe05eb7e36f