Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 1 addition & 17 deletions src/map/battle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4776,24 +4776,8 @@ static int32 battle_calc_attack_skill_ratio(struct Damage* wd, block_list *src,b
case NPC_REVERBERATION_ATK:
skillratio += 400 + 200 * skill_lv;
break;
case CR_SHIELDCHARGE:
skillratio += 20 * skill_lv;
break;
case CR_SHIELDBOOMERANG:
#ifdef RENEWAL
skillratio += -100 + skill_lv * 80;
#else
skillratio += 30 * skill_lv;
#endif
break;
case NPC_DARKCROSS:
case CR_HOLYCROSS:
#ifdef RENEWAL
if(sd && sd->status.weapon == W_2HSPEAR)
skillratio += 70 * skill_lv;
else
#endif
skillratio += 35 * skill_lv;
skillratio += 35 * skill_lv;
break;
case MO_FINGEROFFENSIVE:
#ifdef RENEWAL
Expand Down
14 changes: 14 additions & 0 deletions src/map/map-server-generator.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -377,11 +377,18 @@
<ClInclude Include="skills/swordman/bowlingbash.hpp" />
<ClInclude Include="skills/swordman/brandishspear.hpp" />
<ClInclude Include="skills/swordman/counterattack.hpp" />
<ClInclude Include="skills/swordman/grandcross.hpp" />
<ClInclude Include="skills/swordman/holycross.hpp" />
<ClInclude Include="skills/swordman/magnum.hpp" />
<ClInclude Include="skills/swordman/pierce.hpp" />
<ClInclude Include="skills/swordman/provoke.hpp" />
<ClInclude Include="skills/swordman/resistantsouls.hpp" />
<ClInclude Include="skills/swordman/sacrifice.hpp" />
<ClInclude Include="skills/swordman/selfprovoke.hpp" />
<ClInclude Include="skills/swordman/shieldboomerang.hpp" />
<ClInclude Include="skills/swordman/shieldreflect.hpp" />
<ClInclude Include="skills/swordman/skill_factory_swordman.hpp" />
<ClInclude Include="skills/swordman/smite.hpp" />
<ClInclude Include="skills/swordman/spearboomerang.hpp" />
<ClInclude Include="skills/swordman/spearstab.hpp" />
<ClInclude Include="skills/taekwon/counter.hpp" />
Expand Down Expand Up @@ -606,11 +613,18 @@
<ClCompile Include="skills/swordman/bowlingbash.cpp" />
<ClCompile Include="skills/swordman/brandishspear.cpp" />
<ClCompile Include="skills/swordman/counterattack.cpp" />
<ClCompile Include="skills/swordman/grandcross.cpp" />
<ClCompile Include="skills/swordman/holycross.cpp" />
<ClCompile Include="skills/swordman/magnum.cpp" />
<ClCompile Include="skills/swordman/pierce.cpp" />
<ClCompile Include="skills/swordman/provoke.cpp" />
<ClCompile Include="skills/swordman/resistantsouls.cpp" />
<ClCompile Include="skills/swordman/sacrifice.cpp" />
<ClCompile Include="skills/swordman/selfprovoke.cpp" />
<ClCompile Include="skills/swordman/shieldboomerang.cpp" />
<ClCompile Include="skills/swordman/shieldreflect.cpp" />
<ClCompile Include="skills/swordman/skill_factory_swordman.cpp" />
<ClCompile Include="skills/swordman/smite.cpp" />
<ClCompile Include="skills/swordman/spearboomerang.cpp" />
<ClCompile Include="skills/swordman/spearstab.cpp" />
<ClCompile Include="skills/taekwon/counter.cpp" />
Expand Down
42 changes: 42 additions & 0 deletions src/map/map-server-generator.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,12 @@
<ClInclude Include="skills/swordman/counterattack.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/grandcross.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/holycross.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/magnum.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
Expand All @@ -789,12 +795,27 @@
<ClInclude Include="skills/swordman/provoke.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/resistantsouls.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/sacrifice.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/selfprovoke.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/shieldboomerang.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/shieldreflect.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/skill_factory_swordman.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/smite.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/spearboomerang.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
Expand Down Expand Up @@ -1325,6 +1346,12 @@
<ClCompile Include="skills/swordman/counterattack.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/grandcross.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/holycross.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/magnum.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
Expand All @@ -1334,12 +1361,27 @@
<ClCompile Include="skills/swordman/provoke.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/resistantsouls.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/sacrifice.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/selfprovoke.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/shieldboomerang.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/shieldreflect.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/skill_factory_swordman.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/smite.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/spearboomerang.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
Expand Down
14 changes: 14 additions & 0 deletions src/map/map-server.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -377,11 +377,18 @@
<ClInclude Include="skills/swordman/bowlingbash.hpp" />
<ClInclude Include="skills/swordman/brandishspear.hpp" />
<ClInclude Include="skills/swordman/counterattack.hpp" />
<ClInclude Include="skills/swordman/grandcross.hpp" />
<ClInclude Include="skills/swordman/holycross.hpp" />
<ClInclude Include="skills/swordman/magnum.hpp" />
<ClInclude Include="skills/swordman/pierce.hpp" />
<ClInclude Include="skills/swordman/provoke.hpp" />
<ClInclude Include="skills/swordman/resistantsouls.hpp" />
<ClInclude Include="skills/swordman/sacrifice.hpp" />
<ClInclude Include="skills/swordman/selfprovoke.hpp" />
<ClInclude Include="skills/swordman/shieldboomerang.hpp" />
<ClInclude Include="skills/swordman/shieldreflect.hpp" />
<ClInclude Include="skills/swordman/skill_factory_swordman.hpp" />
<ClInclude Include="skills/swordman/smite.hpp" />
<ClInclude Include="skills/swordman/spearboomerang.hpp" />
<ClInclude Include="skills/swordman/spearstab.hpp" />
<ClInclude Include="skills/taekwon/counter.hpp" />
Expand Down Expand Up @@ -606,11 +613,18 @@
<ClCompile Include="skills/swordman/bowlingbash.cpp" />
<ClCompile Include="skills/swordman/brandishspear.cpp" />
<ClCompile Include="skills/swordman/counterattack.cpp" />
<ClCompile Include="skills/swordman/grandcross.cpp" />
<ClCompile Include="skills/swordman/holycross.cpp" />
<ClCompile Include="skills/swordman/magnum.cpp" />
<ClCompile Include="skills/swordman/pierce.cpp" />
<ClCompile Include="skills/swordman/provoke.cpp" />
<ClCompile Include="skills/swordman/resistantsouls.cpp" />
<ClCompile Include="skills/swordman/sacrifice.cpp" />
<ClCompile Include="skills/swordman/selfprovoke.cpp" />
<ClCompile Include="skills/swordman/shieldboomerang.cpp" />
<ClCompile Include="skills/swordman/shieldreflect.cpp" />
<ClCompile Include="skills/swordman/skill_factory_swordman.cpp" />
<ClCompile Include="skills/swordman/smite.cpp" />
<ClCompile Include="skills/swordman/spearboomerang.cpp" />
<ClCompile Include="skills/swordman/spearstab.cpp" />
<ClCompile Include="skills/taekwon/counter.cpp" />
Expand Down
42 changes: 42 additions & 0 deletions src/map/map-server.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,12 @@
<ClInclude Include="skills/swordman/counterattack.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/grandcross.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/holycross.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/magnum.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
Expand All @@ -789,12 +795,27 @@
<ClInclude Include="skills/swordman/provoke.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/resistantsouls.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/sacrifice.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/selfprovoke.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/shieldboomerang.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/shieldreflect.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/skill_factory_swordman.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/smite.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
<ClInclude Include="skills/swordman/spearboomerang.hpp">
<Filter>Header Files\Skills\Swordman</Filter>
</ClInclude>
Expand Down Expand Up @@ -1325,6 +1346,12 @@
<ClCompile Include="skills/swordman/counterattack.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/grandcross.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/holycross.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/magnum.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
Expand All @@ -1334,12 +1361,27 @@
<ClCompile Include="skills/swordman/provoke.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/resistantsouls.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/sacrifice.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/selfprovoke.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/shieldboomerang.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/shieldreflect.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/skill_factory_swordman.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/smite.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
<ClCompile Include="skills/swordman/spearboomerang.cpp">
<Filter>Source Files\Skills\Swordman</Filter>
</ClCompile>
Expand Down
54 changes: 4 additions & 50 deletions src/map/skill.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1438,24 +1438,13 @@ int32 skill_additional_effect( block_list* src, block_list *bl, uint16 skill_id,
break;

case NPC_DARKCROSS:
case CR_HOLYCROSS:
sc_start(src,bl,SC_BLIND,3*skill_lv,skill_lv,skill_get_time2(skill_id,skill_lv));
break;

case NPC_GRANDDARKNESS:
sc_start(src, bl, SC_BLIND, 100, skill_lv, skill_get_time2(skill_id, skill_lv));
break;

case CR_GRANDCROSS:
//Chance to cause blind status vs demon and undead element, but not against players
if(!dstsd && (battle_check_undead(tstatus->race,tstatus->def_ele) || tstatus->race == RC_DEMON))
sc_start(src,bl,SC_BLIND,100,skill_lv,skill_get_time2(skill_id,skill_lv));
break;

case CR_SHIELDCHARGE:
sc_start(src,bl,SC_STUN,(15+skill_lv*5),skill_lv,skill_get_time2(skill_id,skill_lv));
break;

#ifndef RENEWAL
case PA_PRESSURE:
status_percent_damage(src, bl, 0, 15+5*skill_lv, false);
Expand Down Expand Up @@ -7685,17 +7674,6 @@ int32 skill_castend_nodamage_id (block_list *src, block_list *bl, uint16 skill_i
}
break;

case CR_PROVIDENCE:
if(sd && dstsd){ //Check they are not another crusader [Skotlex]
if ((dstsd->class_&MAPID_SECONDMASK) == MAPID_CRUSADER) {
clif_skill_fail( *sd, skill_id );
return 1;
}
}
clif_skill_nodamage(src,*bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
break;

case CG_MARIONETTE:
{
if( (sd && dstsd && (dstsd->class_&MAPID_SECONDMASK) == MAPID_BARDDANCER && dstsd->status.sex == sd->status.sex) || (tsc && (tsc->getSCE(SC_CURSE) || tsc->getSCE(SC_QUAGMIRE))) )
Expand Down Expand Up @@ -7857,7 +7835,6 @@ int32 skill_castend_nodamage_id (block_list *src, block_list *bl, uint16 skill_i
}
sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
break;
case CR_REFLECTSHIELD:
case MS_REFLECTSHIELD:
if (tsc && tsc->getSCE(SC_DARKCROW)) { // SC_DARKCROW prevents using reflecting skills
if (sd)
Expand Down Expand Up @@ -8133,48 +8110,26 @@ int32 skill_castend_nodamage_id (block_list *src, block_list *bl, uint16 skill_i
break;

case ML_DEVOTION:
case CR_DEVOTION:
{
int32 count, lv;
if( !dstsd || (!sd && !mer) )
int32 lv;
if( !dstsd || !mer )
{ // Only players can be devoted
if( sd )
clif_skill_fail( *sd, skill_id );
break;
}

if( (lv = status_get_lv(src) - dstsd->status.base_level) < 0 )
lv = -lv;
if( lv > battle_config.devotion_level_difference || // Level difference requeriments
(dstsd->sc.getSCE(type) && dstsd->sc.getSCE(type)->val1 != src->id) || // Cannot Devote a player devoted from another source
(skill_id == ML_DEVOTION && (!mer || mer != dstsd->md)) || // Mercenary only can devote owner
mer != dstsd->md || // Mercenary only can devote owner
(dstsd->class_&MAPID_SECONDMASK) == MAPID_CRUSADER || // Crusader Cannot be devoted
(dstsd->sc.getSCE(SC_HELLPOWER))) // Players affected by SC_HELLPOWER cannot be devoted.
{
if( sd )
clif_skill_fail( *sd, skill_id );
return 1;
}

i = 0;
count = (sd)? min(skill_lv,MAX_DEVOTION) : 1; // Mercenary only can Devote owner
if( sd )
{ // Player Devoting Player
ARR_FIND(0, count, i, sd->devotion[i] == bl->id );
if( i == count )
{
ARR_FIND(0, count, i, sd->devotion[i] == 0 );
if( i == count )
{ // No free slots, skill Fail
clif_skill_fail( *sd, skill_id );
return 1;
}
}

sd->devotion[i] = bl->id;
}
else
mer->devotion_flag = 1; // Mercenary Devoting Owner
mer->devotion_flag = 1; // Mercenary Devoting Owner

clif_skill_nodamage(src, *bl, skill_id, skill_lv,
sc_start4(src, bl, type, 10000, src->id, i, skill_get_range2(src, skill_id, skill_lv, true), 0, skill_get_time2(skill_id, skill_lv)));
Expand Down Expand Up @@ -13218,7 +13173,6 @@ int32 skill_castend_pos2(block_list* src, int32 x, int32 y, uint16 skill_id, uin

// Skill Unit Setting
case NPC_GROUNDDRIVE:
case CR_GRANDCROSS:
case NPC_GRANDDARKNESS:
case MA_SKIDTRAP:
case MA_LANDMINE:
Expand Down
Loading
Loading