summaryrefslogtreecommitdiff
path: root/src/map/map.c
diff options
context:
space:
mode:
authorL0neW0lf.eAthena <L0neW0lf.eAthena@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-10-26 19:44:18 +0000
committerL0neW0lf.eAthena <L0neW0lf.eAthena@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-10-26 19:44:18 +0000
commitb6620108c8dc2b0e394462a7d32cc77a446dddee (patch)
tree15769dda2b1454cda132c9b2409237a63bc975b9 /src/map/map.c
parent8c95a8ceb2891c898b80df3ce002351f5a89dd03 (diff)
downloadhercules-b6620108c8dc2b0e394462a7d32cc77a446dddee.tar.gz
hercules-b6620108c8dc2b0e394462a7d32cc77a446dddee.tar.bz2
hercules-b6620108c8dc2b0e394462a7d32cc77a446dddee.tar.xz
hercules-b6620108c8dc2b0e394462a7d32cc77a446dddee.zip
* Implemented first version of rebalanced Rune Knight skills.
* Implemented the rebalancing of most Archbishop skills. * As a result, merged r14979 from trunk. (act/notify packet update) * Added pc_isUseitem_check_runeskill care of Meyrawr (blocks rune usage based on skill delay.) * Added more status effects that do NOT save on log out. A whole slew of them. * Now only level 11 Dec. AGI will take the new config settings into account. * Fixed Level 11 Dec. AGI duration faux pas, where it was multiplying it by 100. * Added script command: setdragon: See documentation for details. * Added script command: successruneuse: Will return 0 or 1. Handles runestone backfire effects. * Modified script command: produce, now accepts <item id> as a second parameter. * Corrected message that is displayed when attempting to generate items when that item has a limit. * GM Item commands will no longer display 'Item created' messages on failure. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14983 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/map.c')
-rw-r--r--src/map/map.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/map/map.c b/src/map/map.c
index 39077de6c..a4b419f65 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1584,6 +1584,9 @@ int map_quit(struct map_session_data *sd)
status_change_end(&sd->bl, SC_WEIGHT50, INVALID_TIMER);
status_change_end(&sd->bl, SC_WEIGHT90, INVALID_TIMER);
if (battle_config.debuff_on_logout&1) {
+ status_change_end(&sd->bl, SC_DECREASEAGI, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_BENEDICTIO, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_AETERNA, INVALID_TIMER);
status_change_end(&sd->bl, SC_ORCISH, INVALID_TIMER);
status_change_end(&sd->bl, SC_STRIPWEAPON, INVALID_TIMER);
status_change_end(&sd->bl, SC_STRIPARMOR, INVALID_TIMER);
@@ -1591,6 +1594,8 @@ int map_quit(struct map_session_data *sd)
status_change_end(&sd->bl, SC_STRIPHELM, INVALID_TIMER);
status_change_end(&sd->bl, SC_EXTREMITYFIST, INVALID_TIMER);
status_change_end(&sd->bl, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_JOINTBEAT, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_MINDBREAKER, INVALID_TIMER);
if(sd->sc.data[SC_REGENERATION] && sd->sc.data[SC_REGENERATION]->val4)
status_change_end(&sd->bl, SC_REGENERATION, INVALID_TIMER);
//TO-DO Probably there are way more NPC_type negative status that are removed
@@ -1601,12 +1606,61 @@ int map_quit(struct map_session_data *sd)
}
if (battle_config.debuff_on_logout&2)
{
+ status_change_end(&sd->bl, SC_MAGNIFICAT, INVALID_TIMER);
status_change_end(&sd->bl, SC_MAXIMIZEPOWER, INVALID_TIMER);
status_change_end(&sd->bl, SC_MAXOVERTHRUST, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_AURABLADE, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_PARRYING, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_CONCENTRATION, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_TENSIONRELAX, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_MAGICPOWER, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_EDP, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_TRUESIGHT, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_WINDWALK, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_MELTDOWN, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_CARTBOOST, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_MEMORIZE, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_DEVOTION, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_SACRIFICE, INVALID_TIMER);
status_change_end(&sd->bl, SC_STEELBODY, INVALID_TIMER);
status_change_end(&sd->bl, SC_PRESERVE, INVALID_TIMER);
status_change_end(&sd->bl, SC_KAAHI, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_KAUPE, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_DOUBLECAST, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_SHRINK, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_SIGHTBLASTER, INVALID_TIMER);
status_change_end(&sd->bl, SC_SPIRIT, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_KAITE, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_UTSUSEMI, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_BUNSINJYUTSU, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_SUITON, INVALID_TIMER);
+ // Third jobs
+ status_change_end(&sd->bl, SC_MILLENNIUMSHIELD, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_DEATHBOUND, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_REFRESH, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_STONEHARDSKIN, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_HALLUCINATIONWALK_POSTDELAY, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_WEAPONBLOCKING_POSTDELAY, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_ROLLINGCUTTER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_ELECTRICSHOCKER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_WUGDASH, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_WUGBITE, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_CAMOUFLAGE, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_MAGNETICFIELD, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_NEUTRALBARRIER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_NEUTRALBARRIER_MASTER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_STEALTHFIELD_MASTER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_SHADOWFORM, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_INVISIBILITY, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_RAISINGDRAGON, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_NOEQUIPACCESSARY, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_MANHOLE, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_PROPERTYWALK, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_DEEP_SLEEP, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_WARMER, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_GN_TRAINING_SWORD, INVALID_TIMER);
+ //status_change_end(&sd->bl, SC_GN_REMODELING_CART, INVALID_TIMER);
}
}