Jump to content

luminoray

Members
  • Content Count

    7
  • Joined

  • Last visited

Everything posted by luminoray

  1. Hello. I've been trying to crack this problem, and have made a little bit of progress. I found the part of the code in status.c where damage subtraction takes place, and was able to add a little experimental piece of code to it: if( st == &status->dummy ) return 0; //This is what I added if (src && src->type == BL_PC && target->type == BL_MOB) { hp = hp/2; } if ((unsigned int)hp >= st->hp) { if (flag&2) return 0; hp = st->hp; } What happens here is that the hp variable holds the damage being done to the enemy. I also saw that I can add checks to it to determine both the source of the attack, and the target, so I can make any combination Player vs Mob, Player vs Player, etc. I'm 100% sure this works, I've tested it with different tags and combinations. What I'm doing here though, is halving all damage received by mobs coming from players. This has one little problem though, while the damage is being calculated correctly, the damage reported to the client isn't being updated accordingly. This isn't really a big problem on Player vs Mob, as it gives the illusion of the mob having more health (and I don't wish to display monster health anyways), but on Mob vs Player, there will be a difference between the damage reported and the actual damage received. To do: Find out if src->party.count is available to use in the context of status.c BL_HOM is available to use both as a target and a source of damage. Can I apply the party count to the damage they dish out? (I.E. Count the party size of their master) Where can I change the damage being reported to the client? This is for Mob vs Player purposes. How to exclude MVP monsters from this calculation, as they are grouped in BL_MOB.
  2. Hello, I'd like to implement a simple system for dynamic difficulty depending on the number of members in a party. I'd like enemies to have 50% extra HP for every extra member in the party, but since enemies aren't instanced in this game, a similar effect would be achieved by reducing player damage vs monsters by 33%, stacking multiplicatively. The formula for damage would pretty much be: FinalDamage = Damage * (0.66 ^ (PartyMembers - 1)) I also want players to take more damage from monsters when they are in a party, by about 5% for each extra member, stacking additively. ReceivedDamage = Damage * (1 + 0.05 * (PartyMembers - 1)) I'd be very grateful if someone could help guide me in the right direction on how to do this. I believe I could approach the problem by going into the end of the damage calculation code, count the number of party members and perform the operation. Something like: damage = damage * (pow(0.66, p->party.count - 1)) And have this calculation only take place if the enemy is a monster.
  3. Yes this seems to be it, thanks a lot. All of this is defined on a function called status_get_weapon_atk in status.c, for future reference. Thanks Frost.
  4. I want to alter the part of the formula in renewal where final damage is being calculated. Each attack deals a different amount of damage, but variance seems very low. I want to change the variance so that it now depends on source's Dex and target's Agi. I've searched around battle.c but I haven't found anything of the sort. Thanks in advance!
  5. Hello there guys. When a character levels up to 99, an aura shows, but it is lost upon reaching Lv 100. I want the aura to remain visible from 99 and onwards. On client.conf I tried setting max_lv and aura_lv to 99, to no avail. I also tried diffing the exe but I see no option at all to display auras above level 99 whatsoever. Im using xdiff patcher and 2013-08-07 client. Could someone help me with this please? Thank you in advance!
  6. Nvm found the solution. guild_vs2 also has a flag on gvg.txt. Having that flag also prevents Dead Branch usage, so to allow them, one has to remove the flags on both nobranch.txt and gvg.txt.
  7. Commented the line in nobranch.txt. Tried @reloadscript and restarting the server. Am I missing something? // GvG Arenas ==================guild_vs1 mapflag nobranch//guild_vs2 mapflag nobranchguild_vs3 mapflag nobranchguild_vs4 mapflag nobranchguild_vs5 mapflag nobranch
×
×
  • Create New...

Important Information

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