-
Posts
765 -
Joined
-
Last visited
-
Days Won
19
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Playtester
-
Well, I don't like change myself and don't know why we have move to IPB4, because everything I need from a forum is already working here. But I hardly use the forums anyway, other than digging up information, so I rather let others that actually have to actively work with them decide what to do. I really hope the format / quoting doesn't mess up as it did on Herc forums, though. That was really really horrible. Also there's still a lot of important information on the bug tracker, would be nice if that wasn't lost. Including bug number (as old commit message link to those).
-
B.S Sacramenti and Arrow Shower Problem
Playtester replied to sethacuestapro's question in Source Support
Update your repository to the newest git hash? Or... check how it's implemented now. https://raw.githubusercontent.com/rathena/rathena/master/src/map/skill.c -
B.S Sacramenti and Arrow Shower Problem
Playtester replied to sethacuestapro's question in Source Support
Could it be that you are using an old emulator version? Several of those values are different in the latest version. BSS was not working at some point of time but was fixed over a year ago as far as I know. Arrow Shower should also knock back traps already. -
You want to increase the max job level from 50 to 70, right? In that case you need to define the job exp required for level 51-70 for these jobs. Easiest is to open the job_exp.txt with Excel or OpenOffice and then use a formula to your liking to fill out the missing parts.
-
If you want Devotion to work on Pressure then you need to delete it. If you want pressure to always damage the target, then it should already be working.
-
My mistake. battle.c if( ((d_tbl && check_distance_bl(target, d_tbl, sc->data[SC_DEVOTION]->val3)) || e_tbl) && damage > 0 && skill_id != PA_PRESSURE && skill_id != CR_REFLECTSHIELD ) damage = 0; skill.c if (tsc && skill_id != PA_PRESSURE && skill_id != HW_GRAVITATION && skill_id != NPC_EVILLAND) {
-
Pressure already is coded to ignore devotion. See skill.c: if( sc && sc->data[SC_DEVOTION] && skill_id != PA_PRESSURE ) { If it doesn't work, I guess starting to debug here might help.
-
There's no need for that. If you enable the PRERE define at top, everything else is automatically disabled.
-
You can just expand the pre-re mob db with renewal mobs by using their IDs. You'll have to put the stats and stuff yourself, though. Or copy those monsters over from renewal, but renewal stats usually don't fit into pre-renewal.
-
Every MDEF reduces 1% duration.
-
Do you mean exp.conf? There are two separate settings for exp: https://github.com/rathena/rathena/blob/master/conf/battle/exp.conf
-
Revert / bring back the old equipment switch frost.
Playtester replied to MusiLiciouS's question in Source Requests
At least give the thread a proper title if you merge them all together. =D Edit: Done. -
Revert / bring back the old equipment switch frost.
Playtester replied to MusiLiciouS's question in Source Requests
On official servers the damage of an attack and what status effects it causes it determined at the beginning of the attack. So even if you change equip during the attack, neither damage nor effect will change. On eAthena, the damage of an attack is calculated at the start of the attack but status effects are calculated only the moment when the damage is actually applied (HP substracted). So in eAthena it was possible to start an attack with a strong weapon and during the attack switch to a weak weapon that causes status changes and then deal the high damage of the strong weapon and causing the status changes at the same time. rAthena implemented a system that blocks your status from being recalculated during an attack and solves that issue this way (the code above). -
Revert / bring back the old equipment switch frost.
Playtester replied to MusiLiciouS's question in Source Requests
The easiest way to do that is to go to status.c and remove that part: if (bl->type == BL_PC && ((TBL_PC*)bl)->delayed_damage != 0) { if (opt&SCO_FORCE) ((TBL_PC*)bl)->state.hold_recalc = 0; /* Clear and move on */ else { ((TBL_PC*)bl)->state.hold_recalc = 1; /* Flag and stop */ return; } } -
Max drop rate 10000 is actually correct. That's 100%, more doesn't make sense. It's not the max rate for the drop rate. The base card drop rate is 0.01%. So 40x rates would result in a 0.4% drop rate. If you are using renewal you might have a 50% drop penalty which would explain why it's 0.2% for you.
-
They are all independent already. Depending on where you stand only some meteors might hit you and others not.
-
MDEF already reduces the duration of Freeze. See: https://raw.githubusercontent.com/rathena/rathena/master/src/map/status.c status_get_sc_def case SC_FREEZE: sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk break; As tick_def isn't defined it will use the same as sc_def as explained at the top: /// Resistance rate: 10000 = 100% /// Example: 50% (5000) -> sc_def = 5000 -> 25%; /// 5000ms -> tick_def = 5000 -> 2500ms int sc_def = 0, tick_def = -1; // -1 = use sc_def /// Fixed resistance value (after rate calculation) /// Example: 25% (2500) -> sc_def2 = 2000 -> 5%; /// 2500ms -> tick_def2=2000 -> 500ms int sc_def2 = 0, tick_def2 = 0; No, but as you can see in the formula quoted above. LUCK of the caster can increase the freeze duration. LUCK of the target reduces chance to be affected but not duration.
-
What do you mean by "Showing"?
-
If that's the only thing you've changed it should work just fine. That the ASPD is 193 indicates you must have made another modification. Making Knife or Cotton Shirt give +100% ASPD would cause this. Or messing with the pre-re/job_db1.txt file.
-
Maybe you are GM and set it so that GMs can't attack monsters?
-
You have to put the code further down at the end of function "battle_calc_weapon_attack". Probably below "wd = battle_calc_weapon_final_atk_modifiers(wd, src, target, skill_id, skill_lv);". Like... if(skill_id == MC_MAMMONITE) wd.damage = cap_value(wd.damage, INT_MIN, 80000);
-
I don't know what value i is. Assuming you want to put the code here: status->amotion = cap_value(amotion,pc_maxaspd(sd),2000); Then adding below something like... if (sc->data[SC_EDP]) { if (sc->data[SC_EDP]->val1 == 5) status->amotion = cap_value(amotion,pc_maxaspd(sd)+20,2000); else if (sc->data[SC_EDP]->val1 == 4) status->amotion = cap_value(amotion,pc_maxaspd(sd)+10,2000); } should do the trick.
-
You might need to refresh OR your client isn't diffed to display aura on higher levels.
-
Yes whenever you modify any c file you need to compile again.
-
The option you put there only affects Magnum Break's direct damage. The bonus damage is hardcoded, you can only set the duration in skill_cast_db: //-- SM_MAGNUM 7,0,0,0,2000,10000,2000 The code for the elemental damage bonus is in battle.c if (sc && sc->data[SC_WATK_ELEMENT] && (wd.damage || wd.damage2)) { // Descriptions indicate this means adding a percent of a normal attack in another element. [Skotlex] int64 damage = battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, (is_skill_using_arrow(src, skill_id)?2:0)) * sc->data[SC_WATK_ELEMENT]->val2 / 100; wd.damage += battle_attr_fix(src, target, damage, sc->data[SC_WATK_ELEMENT]->val1, tstatus->def_ele, tstatus->ele_lv); if (is_attack_left_handed(src, skill_id)) { damage = battle_calc_base_damage(sstatus, &sstatus->lhw, sc, tstatus->size, sd, (is_skill_using_arrow(src, skill_id)?2:0)) * sc->data[SC_WATK_ELEMENT]->val2 / 100; wd.damage2 += battle_attr_fix(src, target, damage, sc->data[SC_WATK_ELEMENT]->val1, tstatus->def_ele, tstatus->ele_lv); } } You can mess around there if you want to change how it works, but I don't really have time to write you a complete solution for what you want. Maybe if you remove the requirement for there to be wd.damage or wd.damage2 it might work on a miss?