HerculesWS / Hercules

Hercules is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. Hercules is a continuation of the original Athena project.
http://herc.ws
GNU General Public License v3.0
892 stars 757 forks source link

Mdef effect on official servers. #885

Open Jedzkie opened 8 years ago

Jedzkie commented 8 years ago

https://github.com/rathena/rathena/issues/693

@MishimaHaruna @4144 @kyeme @dastgir @AnnieRuru take a look on this.

AnnieRuru commented 8 years ago

so you mean, there are some item bonus that are not shown in the player window status ? so if I do like ... bonus bStr, 1; for example, this bonus does not update in player window status right ?

I guess ... its better to code hiddenbonus script command instead ... but I wonder how aegis handle it ?

EDIT: or like cydh said, { bonus field }, { onequip field }, {onunequip field }, { hidden bonus field }

Historica commented 8 years ago

TE WoE gears effect are partially disabled outside TE WoE castle. Def and Mdef bonus works on all maps while the other bonus on the gear only works on TE castle. While the current zoning method (map_zone_db.conf) used on Hercules will disable all effects of disabled items.

dastgirp commented 8 years ago

Isn't WoE TE suppose to disable all effects outside TE?

Historica commented 8 years ago

TE WoE Axe http://db.irowiki.org/db/item-info/1319/ 100 base weapon atk works on all map. while 40% damage bonus to RC player and chance to freeze are TE castle only

TE WoE Cap http://db.irowiki.org/db/item-info/18732/ 5 def and 5 mdef on all map. while atk-matk bonus , % bonus damage to RC player and frozen resistance only work on TC castle

AnnieRuru commented 8 years ago

ahhh now I understand so there is no need to do that change then

since the mdef only apply to players anyway so it should be bonus2 bAddMDefRace, RC_PLAYER, amount;

    Physical Attack Power +40% against other adventurers.
    Physical attacks have a high Freezing chance.

if ( getmapflag( strcharinfo(PC_MAP), mf_gvg_castle3 ) ) { bonus2 bAddDamageRace, RC_PLAYER, 40; bonus3 bAddEffRace, Eff_Freeze, RC_PLAYER, [chance]; }

    Additional WoE TE options:
        ATK + 5, MATK + 5.
        Physical/Magic Attack Power +10% against other adventurers.
        Resistance to [Frozen] status +25%.
Special Notes:
    Rental item obtained for use in War of Emperium: Training Edition.

if ( getmapflag( strcharinfo(PC_MAP), mf_gvg_castle3 ) ) { bonus2 bAtkRace, RC_PLAYER, 5; bonus2 bMatkRace, RC_PLAYER, 5; bonus2 bAtkRateRace, RC_PLAYER, 10; bonus2 bMatkRateRace, RC_PLAYER, 10; bonus3 bResEffRace, Eff_Freeze, RC_PLAYER, [chance]; }

since the effect only works on players, of course the effect doesn't shown on player status bar

note that some of these bonuses not available yet

if we can confirm these WOE:TE doesn't have additional effect on monsters there, then my code is correct

cydh commented 8 years ago

I have to correcting something here

  1. It's not only MDEF, there are STR, AGI, VIT, DEX, LUK, Element, MHP, MSP
  2. If it went to @AnnieRuru sample, it may works 'official' feature that Hercules has, by using map zone, there is DISABLE_ITEM thing to block item. Beside, there are more than 2000 items that have 'absolute' parameters.
  3. By using libconfig item_db, it'll be easy to add more fields for those parameters, or add script field.
Kenpachi2k13 commented 4 years ago

@MishimaHaruna I can confirm that if an item is restricted by ADD_BLOCK_EQUIPITEM map property, Aegis still applies all bonuses from script database but no bonuses from special.sc. Now we have to make a decision. Do we add a separate script field for persistent bonuses, or do we add fields for each persistent bonuses like Aegis does in script database? I tend to add a script field to be more flexible.