Issue information

Issue ID
#8408
Status
Invalid
Severity
High
Started
Mhalicot
Oct 19, 2014 16:11
Last Post
Michi
Oct 23, 2014 6:59
Confirmation
N/A

Mhalicot - Oct 19, 2014 16:11

[color=#009acd][font='trebuchet ms', helvetica, sans-serif]Hello,[/font][/color]

[indent=1][color=#009acd][font='trebuchet ms', helvetica, sans-serif]Can anyone confirm this? I tried to use 50% and it is still not working.[/font][/color][/indent][code=:0] I tried to use this code but nothing happend. Id: 2709 AegisName: "5_Anniversary_Coin" Name: "5th Anniversary Coin" Type: 5 Buy: 2 Upper: 63 Loc: 136 Refine: false Script: <" bonus bAtkRate,50; bonus bMatkRate,50; "> }, [/code]

Hadeszeus - Oct 19, 2014 16:30

You mean no change in damage?

Mhalicot - Oct 20, 2014 0:17

[color=#009acd][font='trebuchet ms', helvetica, sans-serif]Yes, check it to confirm..[/font][/color]

Zer - Oct 20, 2014 7:43

[size=3][font=tahoma, geneva, sans-serif]I am using pre-re and i tested the item and it works it also increase my damage ? My hercules is not updated for a week.[/font][/size]

Playtester - Oct 20, 2014 8:39

Those bonuses are most likely obsolete for Hercules renewal.

bAtkRate never really existed officially. Instead, it is "Increase damage against all classes".
We have the same: "bAddClass,Class_All"
Seems database devs have forgotten that should do it like this and started using bAtkRate for some reason on new items...

bMatkRate existed but seems to be removed in renewal now? Aegis still uses bMatkRate, but seems here it was replaced by the "bMagicAddClass,Class_All" bonus? Why?

Anyway, use the same script as The Sign:
2644,The_Sign_,The Sign,4,2,,0,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{ bonus2 bAddClass,Class_All,5; bonus2 bMagicAddClass,Class_All,5; },{},{}

That should fix it.

Should update the whole item_db accordingly.

Dastgir - Oct 20, 2014 12:09

[quote name="Playtester" timestamp="1413794381"]
Those bonuses are most likely obsolete for Hercules renewal.

bAtkRate never really existed officially. Instead, it is "Increase damage against all classes".
We have the same: "bAddClass,Class_All"
Seems database devs have forgotten that should do it like this and started using bAtkRate for some reason on new items...

bMatkRate existed but seems to be removed in renewal now? Aegis still uses bMatkRate, but seems here it was replaced by the "bMagicAddClass,Class_All" bonus? Why?

Anyway, use the same script as The Sign:
2644,The_Sign_,The Sign,4,2,,0,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{ bonus2 bAddClass,Class_All,5; bonus2 bMagicAddClass,Class_All,5; },{},{}

That should fix it.

Should update the whole item_db accordingly.[/quote]
I think hercules don't have Class* item_bonuses

Mhalicot - Oct 20, 2014 15:16

[quote name="Playtester" timestamp="1413794381"]
Those bonuses are most likely obsolete for Hercules renewal.

bAtkRate never really existed officially. Instead, it is "Increase damage against all classes".
We have the same: "bAddClass,Class_All"
Seems database devs have forgotten that should do it like this and started using bAtkRate for some reason on new items...

bMatkRate existed but seems to be removed in renewal now? Aegis still uses bMatkRate, but seems here it was replaced by the "bMagicAddClass,Class_All" bonus? Why?

Anyway, use the same script as The Sign:
2644,The_Sign_,The Sign,4,2,,0,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{ bonus2 bAddClass,Class_All,5; bonus2 bMagicAddClass,Class_All,5; },{},{}

That should fix it.

Should update the whole item_db accordingly.[/quote]

[color=#009acd][font='trebuchet ms', helvetica, sans-serif]Hello Playtester,[/font][/color]

[indent=1][color=#009acd][font='trebuchet ms', helvetica, sans-serif]I think you are referring to other Emulator script.. bMagicAddClass & bAddClass is not available in Hercules..[/font][/color][/indent]
[color=#009acd][font='trebuchet ms', helvetica, sans-serif]Thanks btw..[/font][/color]

Playtester - Oct 21, 2014 5:53

Ah I see. So Herc is using a different script then. Hmm, guess Michi needs to either fix this one or merge the other bonuses from rAthena.

I guess there might not be a bonus to fix bMatkRate then.

But for bAtkRate you can use original eAthena script I guess:

2644,The_Sign_,The Sign,5,2,,0,,0,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; },{},{}

Increase is for Boss and NonBoss. :-)



Edit:
Code on Herc:

pc.c - pc_bonus sets it properly:[code=auto:0]case SP_MATK_RATE: if(sd->state.lr_flag != 2) sd->matk_rate += val; break;[/code]status.c - status_calc_pc_ applies it:[code=auto:0] if(sd->matk_rate != 100){ bstatus->matk_max = bstatus->matk_max * sd->matk_rate/100; bstatus->matk_min = bstatus->matk_min * sd->matk_rate/100; }[/code]And status_get_matk_sub:[code=auto:0] if (sd && sd->matk_rate != 100) { *matk_max = (*matk_max) * sd->matk_rate/100; *matk_min = (*matk_min) * sd->matk_rate/100; }[/code]Hmmm, it could be that something with the flags is wrong in status_get_matk, though![code=auto:0]/** * Get bl's matk value depending on flag * @param flag [malufett] * 1 - Get MATK w/o SC bonuses * 2 - Get modified MATK * 3 - Get MATK w/o eATK & SC bonuses * @retval 1 failure * @retval MATK success * * Shouldn't change _any_ value! [Panikon] **/ int status_get_matk( struct block_list *bl, int flag ) { struct status_data *st; unsigned short matk_max, matk_min; if( bl == NULL ) return 1; if( flag < 1 || flag > 3 ) { ShowError("status_get_matk: Unknown flag %d!\n", flag); return 1; } if( (st = status->get_status_data(bl)) == NULL ) return 0; // Just get matk if( flag == 2 ) return status_get_rand_matk(st->matk_max, st->matk_min); status_get_matk_sub( bl, flag, &matk_max, &matk_min ); // Get unmodified from sc matk return status_get_rand_matk(matk_max, matk_min); }[/code]The description at the top says flag = 2 means "get modified MATK" but if you look at the source if flag is = 2 it will return unmodified MATK? Also the last return comment doesn't make sense, at the end it does return modified matk as status_get_matk_sub modified it. >_>

This post has been edited by Playtester on Oct 21, 2014 6:33

Mhalicot - Oct 22, 2014 0:22

[color=#009acd][font='trebuchet ms', helvetica, sans-serif]Up~ (Marking it Severity High since it affects all items that has bMatkRate and bAtkRate)[/font][/color]

This post has been edited by Mhalicot on Oct 22, 2014 0:23

Michi - Oct 22, 2014 6:51

[url="http://www.hostingpics.net/viewer.php?id=499296screenHercules001.jpg"][img]http://img4.hostingpics.net/pics/499296screenHercules001.jpg[/img][/url]

[URL=http://www.hostingpics.net/viewer.php?id=664695screenHercules002.jpg][img]http://img4.hostingpics.net/pics/664695screenHercules002.jpg[/img][/URL]

[url="http://www.hostingpics.net/viewer.php?id=114739screenHercules003.jpg"][img]http://img4.hostingpics.net/pics/114739screenHercules003.jpg[/img][/url]

[url="http://www.hostingpics.net/viewer.php?id=407227screenHercules004.jpg"][img]http://img4.hostingpics.net/pics/407227screenHercules004.jpg[/img][/url]

[url="http://www.hostingpics.net/viewer.php?id=351183item.jpg"][img]http://img4.hostingpics.net/pics/351183item.jpg[/img][/url]

This "bug" as already set to invalid last time. Duno how you test but it's works fine.

This post has been edited by Michi on Oct 22, 2014 6:55

Playtester - Oct 22, 2014 20:06

It doesn't show properly in the status screen, though!

Michi - Oct 23, 2014 6:59

it should not be show in the status screen