Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #008217

  • 0 - None Assigned

  • Fixed

Issue Confirmations

  • Yes (3)No (0)
Photo

Small error in status changes from items

Posted by Xanthin on 26 May 2014 - 01:14 PM

1.

I was wrong on that part. If you use an item like Ice Cream, you CAN
resist the status change. The defense will be calculated with "self" as
source in this case. I'd fix it myself but I don't know in which class
the item scripts are handled.



How to test: On officials, if you have a Marc Card equipped, you will
never be frozen from eating Ice Creams. This is currently not working
here.





2.

Also, right now we use a strange workaround to determine the chance:



536,Ice_Cream,Ice Cream,0,150,,80,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal
rand(105,145),0; if(rand(1000)<250) sc_start SC_Freeze,10000,0;
},{},{}



Anybody knows how sc_start works here? LemonGrass told me it can never
be reduced, but is that true? You seem to be freeze immune if you are
undead, but marc card doesn't seem to work...



On officials it's more like:

"Condition BODYFreezing 10 25"

Which means "25% chance to freeze for 10 seconds" and that is reduced
just like any other freeze. For example a player with high MDEF might
only freeze every 8th time.



I'm also a little confused by other bonuses where the second number is
300, 600 or 1000. That would indicate that it's actually 1000=100%. But
if you test on iRO, Ice Cream's base chance really seems to be 25% and
not 2.5%. Strange.


quote: http://rathena.org/b...ges-from-items/

Bump~ It's still happening; Using Ice Cream with Marc equipped will freeze you, but not if you equip an Evil Druid (strange). It was previously working correctly, and then it stopped working properly sometime during rAthena, which I guess it continued in Hercules.

Edited by Kaiser, 14 July 2014 - 03:58 PM.


Bump, anyone else able to confirm this? Thanks.

For a quick workaround I used this:
Replace in script.c
if( bl )
    status->change_start(NULL, bl, type, 10000, val1, 0, 0, val4, tick, 2);
with
	if( bl ) {
		if (st->oid == npc->fake_nd->bl.id && SC_COMMON_MIN <= type && type <= SC_COMMON_MAX) {
			status->change_start(bl, bl, type, 10000, val1, 0, 0, val4, tick, 2);
		} else {
			status->change_start(NULL, bl, type, 10000, val1, 0, 0, val4, tick, 2);
		}
	}
This is under BUILDIN(sc_start).
What it does is if this sc_start is called under fake NPC id (usually equipment/items) and is inside most used SC range, then it calls status change with player as source to avoid getting cut off as NPC called status change.

Awesome, thanks for that, seems to work out well.

seems to work! Thanks! :D

changed status to: Started

changed status to: Fixed