Jump to content

Yuka

Members
  • Posts

    333
  • Joined

  • Last visited

Everything posted by Yuka

  1. Oh, sorry. Thought it was something with strcharinfo(4), but couldn't find it. Thanks though.
  2. Well I can basically create a BG ID like this: set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",390,10,"Flavius_BG1::OnGuillaumeQuit",""); Now how can I figure out if Player X is in this BG team?
  3. Is there a script command for this? The whole BG architecture is sooo bad.. ~.~
  4. This is what I've done: 1. shut server down 2. cd /root/rAthena/ yum install patch patch -p1 < battleground_17102.diff 3. recompile 4. start server Didn't work for me, what did I do wrong? :/ I'm using Centos 5.9 32 bit
  5. How can I make a mob immune to skills just like Emperium in WoE?
  6. Hm.. so it's not the code I stated, but what is it then? :/ Anyone got an idea about that? Still not fixed. :s Bump. Bump. D: Is it really just me? I haven't touched anything at the skill..
  7. Uhm, what are the BG files at the GRF? It also happens in WoE maps sometimes. If it helps, here is my GRF: http://www.mediafire.com/download/gs9fwsxu13w44dx/MastelaRoGRF.rar I just tried to figure out what files you mean, but I have no clue, sorry.
  8. Hi, I'm trying to use a WoE map for my custom battleground, but when I spawn an Emperium on that map, it will automatically be set to the normal WoE Emperium. So either I need to somehow remove that for this castle (I don't use it for WoE) or I need to make a new Mob that has the Emperium settings (cannot be damage by skills). Either way I don't know how to do it. Is the automatical change to a WoE Emperium based on a mapflag? Or what is it? Thanks! Bump. Bump.
  9. No, I haven't done any changes in the skill source code.. I have just changed the RENEWAL variable to false to have my server on pre-renewal features. D:
  10. Hm, well it does 4k damage to a Poring with 4k HP and with 10k HP.. so current HP doesn't seem to influence the damage. The code I have posted is under renewal features I think, I'll check if I can find some under pre-renewal. I hve set the rAthena variable for renewal features to false. #else case NJ_ISSEN: wd.damage = 40 * sstatus->str + (8 / 100) * skill_lv * sstatus->hp; wd.damage2 = 0; break; I think that's the code that kicks in, right? Since #ifdef RENEWAL should be false.
  11. Hm, when I use it ingame with 4k HP, it's the same as using it with 20k HP. Sorry, I meant the current HP, I just want the official damage formula. If that already is the official one, it seems to use some other formula, since I am using pre-renewal settings. D:
  12. Hello, my users report some Gravity Errors in BG a lot recently. What I have changed recently: Added Cloth Colours (but most of the users are using the palettes.grf already), added BG custom items (added them properly in the client-side files). I am using this palettes.grf : http://rathena.org/board/files/file/2701-553251-old-dyes-palettes-working-all-classes/ Here's the Gravity Error: Module Name: Time Stamp: 0x4d199600 - Tue Dec 28 14:47:12 2010 Exception Type: 0xc0000005 0x0055a1b0 MastelaRo.exe 0xc9c90032 0xff232c36 eax: 0x0769dd10 ebx: 0x00000000 ecx: 0x00000000 edx: 0x0018f850 esi: 0x0018f850 edi: 0x0018fa1c ebp: 0x0ef74ed8 esp: 0x0018f81c stack 0018f81c - 0018fc1c 0018F81C : 78 F9 18 00 DC A5 55 00 50 F8 18 00 7C DB CD D2 0018F82C : 20 4B F7 0E 10 55 16 0F 05 00 00 00 00 00 00 00 0018F83C : 58 F8 18 00 ED 69 3C 71 A8 F9 18 00 00 00 00 00 0018F84C : 0F 00 00 00 D8 4E F7 0E A4 F9 18 00 70 F8 18 00 0018F85C : 2A 4F 64 73 A8 F9 18 00 0F 00 00 00 D8 4E F7 0E 0018F86C : 05 00 00 00 88 F8 18 00 42 52 64 73 A8 F9 18 00 0018F87C : 0F 00 00 00 D8 4E F7 0E 05 00 00 00 A8 F8 18 00 0018F88C : D5 59 64 73 A8 F9 18 00 0F 00 00 00 D8 4E F7 0E 0018F89C : 05 00 00 00 0F 00 00 00 0F 00 00 00 C8 F8 18 00 0018F8AC : 22 64 64 73 A8 F9 18 00 C8 F8 18 00 2F 64 64 73 0018F8BC : 05 00 00 00 20 4B F7 0E A4 F9 18 00 DC F8 18 00 0018F8CC : 58 64 64 73 64 DB CD D2 A0 FA 18 00 4C 76 74 00 0018F8DC : 00 00 00 00 F9 F8 4E 00 1C FA 18 00 BC DB CD D2 0018F8EC : 2E 00 00 00 10 55 16 0F 00 00 00 00 B6 00 00 00 0018F8FC : 60 78 6F 08 01 A6 2D 56 20 49 12 16 9C 01 E3 02 0018F90C : 00 00 E3 02 18 55 16 0F 9C 01 E3 02 52 00 82 01 Launch Info 016A 016A 00A6 00A4 015D 015D 016A 016A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 I really cannot tell why this happens, maybe someone can read the Error code. Thanks a lot! Here's another error, I got it while walking into a warp inside a woe castle. Module Name: Time Stamp: 0x4d199600 - Tue Dec 28 08:47:12 2010 Exception Type: 0xc0000005 0x0055a1b0 MastelaRo.exe eax: 0x0af9ebf8 ebx: 0x00000000 ecx: 0x00000000 edx: 0x0018f854 esi: 0x0018f854 edi: 0x0018fa20 ebp: 0x1f0dcc18 esp: 0x0018f820 stack 0018f820 - 0018fc20 0018F820 : 7C F9 18 00 DC A5 55 00 54 F8 18 00 0A DF C9 E5 0018F830 : 60 C8 0D 1F A8 D9 64 16 05 00 00 00 00 00 00 00 0018F840 : 5C F8 18 00 ED 69 0E 69 AC F9 18 00 00 00 00 00 0018F850 : 0F 00 00 00 18 CC 0D 1F A8 F9 18 00 74 F8 18 00 0018F860 : 2A 4F F5 69 AC F9 18 00 0F 00 00 00 18 CC 0D 1F 0018F870 : 05 00 00 00 8C F8 18 00 42 52 F5 69 AC F9 18 00 0018F880 : 0F 00 00 00 18 CC 0D 1F 05 00 00 00 AC F8 18 00 0018F890 : D5 59 F5 69 AC F9 18 00 0F 00 00 00 18 CC 0D 1F 0018F8A0 : 05 00 00 00 0F 00 00 00 0F 00 00 00 CC F8 18 00 0018F8B0 : 22 64 F5 69 AC F9 18 00 CC F8 18 00 2F 64 F5 69 0018F8C0 : 05 00 00 00 60 C8 0D 1F A8 F9 18 00 E0 F8 18 00 0018F8D0 : 58 64 F5 69 02 DF C9 E5 A4 FA 18 00 4C 76 74 00 0018F8E0 : 00 00 00 00 F9 F8 4E 00 20 FA 18 00 CA DF C9 E5 0018F8F0 : 2E 00 00 00 A8 D9 64 16 00 00 00 00 B6 00 00 00 0018F900 : 40 AA F2 0B C0 01 33 00 00 00 00 00 2A DE C9 E5 0018F910 : 98 F9 18 00 B1 E9 2F 77 00 00 00 00 0C 00 00 00 Launch Info 016A 016A 0177 00A4 0141 0141 014C 0141 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Job : High Priest Bump.
  13. Okay, I've made it. But the patch seem to be broken.
  14. Hi, I have figured out that Final Strike isn't influenced by MaxHP. How can I change it to the official formula? I am using (one of) the latest rAthena rev. and set it to pre-renewal. My src/map/battle.c says this: #ifdef RENEWAL case LK_SPIRALPIERCE: case ML_SPIRALPIERCE: if (sd) { short index = sd->equip_index[EQI_HAND_R]; if (index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON) wd.equipAtk += sd->inventory_data[index]->weight/20; // weight from spear is treated as equipment ATK on official [helvetica] wd = battle_calc_damage_parts(wd, src, target, skill_id, skill_lv); wd.masteryAtk = 0; // weapon mastery is ignored for spiral } else { wd.damage = battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, 0); //Monsters have no weight and use ATK instead } switch (tstatus->size) { //Size-fix. Is this modified by weapon perfection? case SZ_SMALL: //Small: 125% ATK_RATE(wd.damage, wd.damage2, 125); RE_ALLATK_RATE(wd, 125); break; //case SZ_MEDIUM: //Medium: 100% case SZ_BIG: //Large: 75% ATK_RATE(wd.damage, wd.damage2, 75); RE_ALLATK_RATE(wd, 75); break; } #else case NJ_ISSEN: wd.damage = 40 * sstatus->str + (8 / 100) * skill_lv * sstatus->hp; wd.damage2 = 0; break; case LK_SPIRALPIERCE: case ML_SPIRALPIERCE: if (sd) { short index = sd->equip_index[EQI_HAND_R]; if (index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON) wd.damage = sd->inventory_data[index]->weight*8/100; //80% of weight ATK_ADDRATE(wd.damage, wd.damage2, 50*skill_lv); //Skill modifier applies to weight only. } else { wd.damage = battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, 0); //Monsters have no weight and use ATK instead } i = sstatus->str/10; i*=i; ATK_ADD(wd.damage, wd.damage2, i); //Add str bonus. switch (tstatus->size) { //Size-fix. Is this modified by weapon perfection? case SZ_SMALL: //Small: 125% ATK_RATE(wd.damage, wd.damage2, 125); break; //case SZ_MEDIUM: //Medium: 100% case SZ_BIG: //Large: 75% ATK_RATE(wd.damage, wd.damage2, 75); break; } #ifdef RENEWAL case NJ_ISSEN: // Official Renewal formula [helvetica] // base damage = currenthp + ((atk * currenthp * skill level) / maxhp) // final damage = base damage + ((mirror image count + 1) / 5 * base damage) - (edef + sdef) // modified def formula { short totaldef; struct Damage atk = battle_calc_weapon_attack(src, target, skill_id, skill_lv, 0); struct status_change *sc = status_get_sc(src); md.damage = (int64)sstatus->hp + (atk.damage * (int64)sstatus->hp * skill_lv) / (int64)sstatus->max_hp; if (sc && sc->data[SC_BUNSINJYUTSU] && (i=sc->data[SC_BUNSINJYUTSU]->val2) > 0) { // mirror image bonus only occurs if active md.div_ = -( i + 2 ); // mirror image count + 2 md.damage += (md.damage * (((i + 1) * 10) / 5)) / 10; } // modified def reduction, final damage = base damage - (edef + sdef) totaldef = tstatus->def2 + (short)status_get_def(target); md.damage -= totaldef; } break; #ifdef RENEWAL break; case NJ_ISSEN: // Final Strike will MISS on "plant"-type mobs [helvetica] md.damage = 0; md.dmg_lv=ATK_FLEE; break; What do I need to change to get the official damage formula? Thanks!
×
×
  • Create New...