Skip to content
Permalink
Browse files

== Crash-fixes and more ==

=General:
*Merged missing changes from 3ceam rev. 503 - 504

*Fixed Wizard Jobquest
-Fixed getting stuck when failing 2nd Wave of Earth Room.

*Fixed an issue where the Itembound system would crash the char-server.

*Fixed an typo that was causing map server crashes.

*Fixed wrong item deletion in guild creation code if emperium item not in inventory.
-Thanks to @HerculesWS / @4144.

*Fixed GC_CLOAKINGEXCEED that wasn't properly hiding from demons/insects.

=Databases:
*Added Eclage Card drops.
-Also added some missing cards.

*Added some more monsters to Dead Branches.
  • Loading branch information...
15peaces committed Aug 9, 2016
1 parent cbbe671 commit 3ee39f3fc1b4fd6f0bd98755365836bbbc0c5753
Showing with 96 additions and 63 deletions.
  1. +14 −0 Changelog-15-3athena.txt
  2. +12 −1 db/item_db2.txt
  3. +3 −0 db/mob_branch.txt
  4. +9 −9 db/mob_db.txt
  5. +1 −1 npc/jobs/2-1/wizard.txt
  6. +3 −3 src/char_sql/char.c
  7. +7 −7 src/map/clif.c
  8. +6 −2 src/map/guild.c
  9. +41 −40 src/map/status.c
@@ -4,6 +4,20 @@
// * Modifications.
// - Details.
//========================================
08/09/2016
r133 [15peaces]
*Merged missing changes from 3ceam rev. 503 - 504
*Added Eclage Card drops.
-Also added some missing cards.
*Added some more monsters to Dead Branches.
*Fixed Wizard Jobquest
-Fixed getting stuck when failing 2nd Wave of Earth Room.
*Fixed an issue where the Itembound system would crash the char-server.
*Fixed an typo that was causing map server crashes.
*Fixed wrong item deletion in guild creation code if emperium item not in inventory.
-Thanks to @HerculesWS / @4144.
*Fixed GC_CLOAKINGEXCEED that wasn't properly hiding from demons/insects.

07/31/2016
r132 [15peaces]
*Merged missing changes from 3ceam rev. 501 - 502
@@ -163,13 +163,13 @@
19862,C_Succubus_Horn,Costume Succubus Horn,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,150,{},{},{}
19863,C_Incubus_Horn,Costume Incubus Horn,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,156,{},{},{}
19864,C_Dokebis_Wig,Costume Dokebi's Wig,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,302,{},{},{}

19865,C_Joker_Jester,Costume Joker Jester,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,89,{},{},{}
19866,C_Blue_Pajamas,Costume Blue Pajamas,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,501,{},{},{}
19867,C_Red_Pajamas,Costume Red Pajamas,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,501,{},{},{}
19868,C_Showy_High_Cap,Costume Showy High Cap,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,830,{},{},{}
19869,C_Boss_Beret,Costume Boss Beret,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,1134,{},{},{}
19873,C_Carnival_Hat,Costume Carnival Hat,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,505,{},{},{}

19874,C_Carnival_Circlet,Costume Carnival Circlet,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,506,{},{},{}
19875,C_Love_Rabbit_Hood,Costume Love Rabbit Hood,5,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,,,549,{},{},{}
19876,C_Rabbit_Ear_Hat,Costume Rabbit Ear Hat,5,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,,384,{},{},{}
@@ -2186,6 +2186,17 @@
22700,Jumping_Support_Box,Jumping Support Box,18,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ /*TODO: getitem 12529,1; getitem 12323,200; getitem 12324,50; and 5 boxes that containing quivers + oridecons*/ },{},{}

// New kRO Cards [renewal]
4593,Menblatt_Card,Menblatt Card,6,20,,10,,,,,,,,4,,,,,{ bonus bLongAtkRate,readparam(bDex)/10; },{},{}
4594,Petal_Card,Petal Card,6,20,,10,,,,,,,,4,,,,,{ bonus bCritAtkRate,2*(readparam(bLuk)/10); },{},{}
4595,Cenere_Card,Cenere Card,6,20,,10,,,,,,,,4,,,,,{ bonus bAspdRate,2*(readparam(bAgi)/10); },{},{}
4596,Antique_Book_Card,Antique Book Card,6,20,,10,,,,,,,,4,,,,,{ bonus bMatk,5*(readparam(bInt)/10); },{},{}
4597,Lichtern_Blue_Card,Lichtern Blue Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Water,(getrefine()>=9)?10:5; },{},{}
4598,Lichtern_Green_Card,Lichtern Green Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Ghost,(getrefine()>=9)?10:5; },{},{}
4599,Lichtern_Red_Card,Lichtern Red Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Fire,(getrefine()>=9)?10:5; },{},{}
4600,Lichtern_Yellow_Card,Lichtern Yellow Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Earth,(getrefine()>=9)?10:5; },{},{}
4601,Amdarais_Card,Amdarais Card,6,20,,10,,,,,,,,16,,,,,{ bonus bAtkRate,15; bonus bMatkRate,15; bonus2 bHPLossRate,666,4000; bonus2 bSPLossRate,66,4000; },{},{ heal -6666,-666; }
4602,Realized_Amdarais_Card,Realized Amdarais Card,6,20,,10,,,,,,,,16,,,,,{ bonus bAtkRate,20; bonus bMatkRate,20; bonus2 bHPLossRate,666,6000; bonus2 bSPLossRate,66,6000; },{},{ heal -6666,-666; }
4607,Faithful_Manager_Card,Faithful Manager Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) { set .@r, getrefine(); if(.@r>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(.@r>=14) { bonus bBaseAtk,20; bonus bMatk,20; } } },{},{}
4642,Min_Toad_Card,Infinite Toad Card,6,20,,10,,,,,,,,64,,,,,{ set .@r,getrefine(); if(.@r>6){ set .@b,.@b+2; if(.@r>8) set .@b,.@b+3; } bonus bFlee2,2+.@b; },{},{}
4643,Min_Vagabond_Wolf_Card,Infinite Vagabond Wolf Card,6,20,,10,,,,,,,,64,,,,,{ set .@r,getrefine(); if(.@r>6){ set .@b,.@b+10; if(.@r>8)set .@b,.@b+15; } bonus bAtk,10+.@b; },{},{}
4644,Min_Vocal_Card,Infinite Vocal Card,6,20,,10,,,,,,,,64,,,,,{ set .@r,getrefine(); if(.@r>6){ set .@b,.@b+10; if(.@r>8) set .@b,.@b+15; } bonus bMdef,5+.@b; },{},{}
@@ -417,12 +417,15 @@
1796,Aunoe,142857
1797,Fanat,142857
1830,Bow Guardian,71428
1837,Imp,71428
1839,Byrogue,71428
1866,Hellhound,71428
1867,Banshee,71428
1869,Flame Skull,71428
1872,Hell Fly,71428
1882,Baba-Yaga,71428
1920,Incarnation of Morroc,71428
1921,Incarnation of Morroc,71428
1974,Banshee Master,71428
1975,Beholder Master,71428
1976,Cobalt Mineral,71428
@@ -1273,15 +1273,15 @@

2343,HIDDEN_MOB_W,Hidden Mob,Hidden Mob,151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x1C4,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
// Eclage (14.2)
2363,MENBLATT,Menblatt,Menblatt,143,147960,1,41500,34210,3,816,1017,9,6,70,68,40,55,108,30,10,12,1,4,44,0x3795,145,472,1056,480,0,0,0,0,0,0,0,0,6557,4000,7168,2000,7163,4608,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2364,PETAL,Petal,Petal,141,145855,1,40580,33610,1,671,844,8,4,70,82,55,45,108,25,10,12,1,2,24,0x3795,200,1500,768,480,0,0,0,0,0,0,0,0,6558,4000,12346,2000,1026,2000,6089,500,0,0,0,0,0,0,0,0,0,0,0,0
2365,CENERE,Cenere,Cenere,146,234235,1,71170,57120,1,1802,2833,10,10,67,39,30,35,95,45,10,12,0,3,24,0x3795,300,1500,720,360,0,0,0,0,0,0,0,0,6561,4000,7322,1000,7001,3000,7320,2000,0,0,0,0,0,0,0,0,0,0,0,0
2366,ANTIQUE_BOOK,Antique Book,Antique Book,148,242307,1,72250,58700,1,1861,3074,8,5,67,53,32,44,125,5,10,12,0,0,60,0x3795,150,864,960,480,0,0,0,0,0,0,0,0,6560,4000,7015,2000,1097,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2367,LICHTERN_B,Blue Lichtern,Lichtern,149,236179,1,71870,57010,1,1513,2923,8,5,124,74,60,55,92,50,10,12,0,0,81,0x3795,150,480,1728,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,995,40,12812,10,0,0,0,0,0,0,0,0,0,0,0,0
2368,LICHTERN_Y,Yellow Lichtern,Lichtern,147,236723,1,70710,58100,1,1416,2977,9,6,141,94,75,91,144,50,10,12,0,0,88,0x3795,150,0,3456,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,997,40,12815,10,0,0,0,0,0,0,0,0,0,0,0,0
2369,LICHTERN_R,Red Lichtern,Lichtern,149,244292,1,72010,60130,1,1647,3096,12,7,147,77,66,65,133,50,10,12,0,0,83,0x3795,150,0,4032,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,994,40,12813,10,0,0,0,0,0,0,0,0,0,0,0,0
2370,LICHTERN_G,Green Lichtern,Lichtern,151,240211,1,72140,57100,1,1547,3141,13,57,121,60,58,62,102,50,10,12,0,0,82,0x3795,100,0,2304,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,996,40,12814,10,0,0,0,0,0,0,0,0,0,0,0,0
2371,FAITHFUL_MANAGER,Faithful Manager,Faithful Manager,155,272786,1,86760,65010,3,2091,3698,23,18,80,28,40,25,88,45,10,12,2,0,80,0x3795,200,480,1536,480,0,0,0,0,0,0,0,0,6559,4000,12353,2000,970,50,971,50,0,0,0,0,0,0,0,0,0,0,0,0
2363,MENBLATT,Menblatt,Menblatt,143,147960,1,41500,34210,3,816,1017,9,6,70,68,40,55,108,30,10,12,1,4,44,0x3795,145,472,1056,480,0,0,0,0,0,0,0,0,6557,4000,7168,2000,7163,4608,0,0,0,0,0,0,0,0,0,0,0,0,4593,1
2364,PETAL,Petal,Petal,141,145855,1,40580,33610,1,671,844,8,4,70,82,55,45,108,25,10,12,1,2,24,0x3795,200,1500,768,480,0,0,0,0,0,0,0,0,6558,4000,12346,2000,1026,2000,6089,500,0,0,0,0,0,0,0,0,0,0,4594,1
2365,CENERE,Cenere,Cenere,146,234235,1,71170,57120,1,1802,2833,10,10,67,39,30,35,95,45,10,12,0,3,24,0x3795,300,1500,720,360,0,0,0,0,0,0,0,0,6561,4000,7322,1000,7001,3000,7320,2000,0,0,0,0,0,0,0,0,0,0,4595,1
2366,ANTIQUE_BOOK,Antique Book,Antique Book,148,242307,1,72250,58700,1,1861,3074,8,5,67,53,32,44,125,5,10,12,0,0,60,0x3795,150,864,960,480,0,0,0,0,0,0,0,0,6560,4000,7015,2000,1097,2000,0,0,0,0,0,0,0,0,0,0,0,0,4596,1
2367,LICHTERN_B,Blue Lichtern,Lichtern,149,236179,1,71870,57010,1,1513,2923,8,5,124,74,60,55,92,50,10,12,0,0,81,0x3795,150,480,1728,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,995,40,12812,10,0,0,0,0,0,0,0,0,0,0,4597,1
2368,LICHTERN_Y,Yellow Lichtern,Lichtern,147,236723,1,70710,58100,1,1416,2977,9,6,141,94,75,91,144,50,10,12,0,0,88,0x3795,150,0,3456,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,997,40,12815,10,0,0,0,0,0,0,0,0,0,0,4600,1
2369,LICHTERN_R,Red Lichtern,Lichtern,149,244292,1,72010,60130,1,1647,3096,12,7,147,77,66,65,133,50,10,12,0,0,83,0x3795,150,0,4032,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,994,40,12813,10,0,0,0,0,0,0,0,0,0,0,4599,1
2370,LICHTERN_G,Green Lichtern,Lichtern,151,240211,1,72140,57100,1,1547,3141,13,57,121,60,58,62,102,50,10,12,0,0,82,0x3795,100,0,2304,480,0,0,0,0,0,0,0,0,1000,2000,1001,2000,996,40,12814,10,0,0,0,0,0,0,0,0,0,0,4598,1
2371,FAITHFUL_MANAGER,Faithful Manager,Faithful Manager,155,272786,1,86760,65010,3,2091,3698,23,18,80,28,40,25,88,45,10,12,2,0,80,0x3795,200,480,1536,480,0,0,0,0,0,0,0,0,6559,4000,12353,2000,970,50,971,50,0,0,0,0,0,0,0,0,0,0,4607,1
2372,SOIL,Soil,Soil,1,15,0,0,0,1,1,2,100,99,0,0,0,0,0,0,7,12,0,3,22,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2373,ROCK,Rock,Rock,1,15,0,0,0,1,1,2,100,99,0,0,0,0,0,0,7,12,0,3,22,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2374,THICKET,Thicket,Thicket,1,15,0,0,0,1,1,2,100,99,0,0,0,0,0,0,7,12,0,3,22,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -1403,7 +1403,7 @@ OnTimer60000:
end;

OnTimer61000:
donpcevent "Room of Earth#Failed::OnEnable";
enablenpc "Room of Earth#Failed";
end;

OnTimer62000:
@@ -765,7 +765,7 @@ int memitemdata_to_sql(const struct item items[], int max, int id, int tableswit
SqlStmt_BindColumn(stmt, 5, SQLDT_CHAR, &item.refine, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 6, SQLDT_CHAR, &item.attribute, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 7, SQLDT_UINT, &item.expire_time, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 8, SQLDT_UINT, &item.bound, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 8, SQLDT_CHAR, &item.bound, 0, NULL, NULL);
for( j = 0; j < MAX_SLOTS; ++j )
SqlStmt_BindColumn(stmt, 9+j, SQLDT_USHORT, &item.card[j], 0, NULL, NULL);

@@ -993,7 +993,7 @@ int inventory_to_sql(const struct item items[], int max, int id) {
else {
// update all fields.
StringBuf_Clear(&buf);
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `favorite`='%d', `bound`='%u'",
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `favorite`='%d', `bound`='%d'",
inventory_db, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].favorite, items[i].bound);
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", `card%d`=%d", j, items[i].card[j]);
@@ -1036,7 +1036,7 @@ int inventory_to_sql(const struct item items[], int max, int id) {
else
found = true;

StringBuf_Printf(&buf, "('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%d', '%u'",
StringBuf_Printf(&buf, "('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%d', '%d'",
id, items[i].nameid, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].favorite, items[i].bound);
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", '%d'", items[i].card[j]);
@@ -5993,13 +5993,13 @@ int clif_display_banding(struct block_list *dst, struct block_list *bl, int val1
return 0;
}

/// Send message (modified by [Yor]) (ZC_NOTIFY_PLAYERCHAT).
/// 008e <packet len>.W <message>.?B
void clif_displaymessage(const int fd, const char* mes)
{
nullpo_retv(mes);
//Scrapped, as these are shared by disconnected players =X [Skotlex]
/// Send message (modified by [Yor]) (ZC_NOTIFY_PLAYERCHAT).
/// 008e <packet len>.W <message>.?B
void clif_displaymessage(const int fd, const char* mes)
{
nullpo_retv(mes);

//Scrapped, as these are shared by disconnected players =X [Skotlex]
if ( fd > 0 ) {
#if PACKETVER == 20141022
/** for some reason game client crashes depending on message pattern (only for this packet) **/
@@ -307,8 +307,12 @@ void guild_created(int account_id,int guild_id)
//struct guild *g;
sd->status.guild_id=guild_id;
clif_guild_created(sd,0);
if(battle_config.guild_emperium_check)
pc_delitem(sd,pc_search_inventory(sd,714),1,0,0); //emperium consumption
if(battle_config.guild_emperium_check){
int index = pc_search_inventory(sd,ITEMID_EMPERIUM);

if( index > 0 )
pc_delitem(sd,index,1,0,0); //emperium consumption
}
return;
}

@@ -1571,45 +1571,46 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
if( skill_get_ele(skill_num, (skill_lv) ? skill_lv : 1) == ELE_EARTH )
hide_flag &= ~OPTION_HIDE;

switch( target->type )
{
case BL_PC:
{
struct map_session_data *sd = (TBL_PC*) target;
if (pc_isinvisible(sd))
return 0;
if( tsc->option&hide_flag && !(status->mode&MD_BOSS) && (sd->special_state.perfect_hiding || !(status->mode&MD_DETECTOR)))
return 0;
if( tsc->data[SC_CAMOUFLAGE] && !(status->mode&(MD_BOSS|MD_DETECTOR)) && !skill_num )
return 0;
if( tsc->data[SC_STEALTHFIELD] )
return 0;
if( sc && sc->data[SC_CURSEDCIRCLE_TARGET] )
return 0;
}
break;
case BL_ITEM: //Allow targetting of items to pick'em up (or in the case of mobs, to loot them).
//TODO: Would be nice if this could be used to judge whether the player can or not pick up the item it targets. [Skotlex]
if (status->mode&MD_LOOTER)
return 1;
return 0;
case BL_HOM:
case BL_MER:
case BL_ELEM:
if( target->type == BL_HOM && skill_num && battle_config.hom_setting&0x1 && skill_get_inf(skill_num)&INF_SUPPORT_SKILL && battle_get_master(target) != src )
return 0; // Can't use support skills on Homunculus (only Master/Self)
if( target->type == BL_MER && (skill_num == PR_ASPERSIO || (skill_num >= SA_FLAMELAUNCHER && skill_num <= SA_SEISMICWEAPON)) && battle_get_master(target) != src )
return 0; // Can't use Weapon endow skills on Mercenary (only Master)
if( (target->type == BL_MER || target->type == BL_ELEM) && skill_num == AM_POTIONPITCHER )
return 0; // Can't use Potion Pitcher on Mercenaries
default:
//Check for chase-walk/hiding/cloaking opponents.
if( tsc ){
if( tsc->option&hide_flag && !(status->mode&(MD_BOSS|MD_DETECTOR)) )
return 0;
if( tsc->data[SC_STEALTHFIELD] )
return 0;
}
switch( target->type ) {
case BL_PC:
{
struct map_session_data *sd = (TBL_PC*) target;
if (pc_isinvisible(sd))
return 0;
if( tsc->data[SC_CLOAKINGEXCEED] && !(status->mode&MD_BOSS) )
return 0;
if( tsc->option&hide_flag && !(status->mode&MD_BOSS) && (sd->special_state.perfect_hiding || !(status->mode&MD_DETECTOR)))
return 0;
if( tsc->data[SC_CAMOUFLAGE] && !(status->mode&(MD_BOSS|MD_DETECTOR)) && !skill_num )
return 0;
if( tsc->data[SC_STEALTHFIELD] )
return 0;
if( sc && sc->data[SC_CURSEDCIRCLE_TARGET] )
return 0;
}
break;
case BL_ITEM: //Allow targetting of items to pick'em up (or in the case of mobs, to loot them).
//TODO: Would be nice if this could be used to judge whether the player can or not pick up the item it targets. [Skotlex]
if (status->mode&MD_LOOTER)
return 1;
return 0;
case BL_HOM:
case BL_MER:
case BL_ELEM:
if( target->type == BL_HOM && skill_num && battle_config.hom_setting&0x1 && skill_get_inf(skill_num)&INF_SUPPORT_SKILL && battle_get_master(target) != src )
return 0; // Can't use support skills on Homunculus (only Master/Self)
if( target->type == BL_MER && (skill_num == PR_ASPERSIO || (skill_num >= SA_FLAMELAUNCHER && skill_num <= SA_SEISMICWEAPON)) && battle_get_master(target) != src )
return 0; // Can't use Weapon endow skills on Mercenary (only Master)
if( (target->type == BL_MER || target->type == BL_ELEM) && skill_num == AM_POTIONPITCHER )
return 0; // Can't use Potion Pitcher on Mercenaries
default:
//Check for chase-walk/hiding/cloaking opponents.
if( tsc ){
if( tsc->option&hide_flag && !(status->mode&(MD_BOSS|MD_DETECTOR)) )
return 0;
if( tsc->data[SC_STEALTHFIELD] )
return 0;
}
}
return 1;
}
@@ -4206,7 +4207,7 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
if( sc->data[SC_PYROTECHNIC_OPTION] )
watk += sc->data[SC_PYROTECHNIC_OPTION]->val2;
if( sc && sc->data[SC_TIDAL_WEAPON] )
watk += watk * sc->data[SC_TIDAL_WEAPON_OPTION]->val2 / 100;
watk += watk * sc->data[SC_TIDAL_WEAPON]->val2 / 100;

return (unsigned short)cap_value(watk,0,USHRT_MAX);
}

0 comments on commit 3ee39f3

Please sign in to comment.
You can’t perform that action at this time.