From a9397aeb5a7a50c1fae39dbacb40faeb0722f6ae Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 1 Aug 2006 15:56:57 +0000 Subject: - Modified Self Destruction, so that Marine Spheres in non-versus maps will hurt only enemies, while in all other situations this skill will hurt everyone around them. - Expanded setting debuff_on_logout so that &1 removes negative buffs and &2 removes positive buffs. - Food status boosts will no longer end on death, but they will end when you respawn or logout. - Added battle config file status.conf, moved some settings from skill.conf and battle.conf to it since they are entirely Status-Change related. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8033 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/unit.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/map/unit.c') diff --git a/src/map/unit.c b/src/map/unit.c index 5cfd25093..606d64801 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1621,7 +1621,7 @@ int unit_free(struct block_list *bl) { status_change_end(bl,SC_BERSERK,-1); if(sd->sc.data[SC_TRICKDEAD].timer!=-1) status_change_end(bl,SC_TRICKDEAD,-1); - if (battle_config.debuff_on_logout) { + if (battle_config.debuff_on_logout&1) { if(sd->sc.data[SC_ORCISH].timer!=-1) status_change_end(bl,SC_ORCISH,-1); if(sd->sc.data[SC_STRIPWEAPON].timer!=-1) @@ -1637,6 +1637,31 @@ int unit_free(struct block_list *bl) { if(sd->sc.data[SC_EXPLOSIONSPIRITS].timer!=-1) status_change_end(bl,SC_EXPLOSIONSPIRITS,-1); } + if (battle_config.debuff_on_logout&2) + { //Food items are removed on logout. + if(sd->sc.data[SC_STRFOOD].timer!=-1) + status_change_end(bl,SC_STRFOOD,-1); + if(sd->sc.data[SC_AGIFOOD].timer!=-1) + status_change_end(bl,SC_AGIFOOD,-1); + if(sd->sc.data[SC_VITFOOD].timer!=-1) + status_change_end(bl,SC_VITFOOD,-1); + if(sd->sc.data[SC_INTFOOD].timer!=-1) + status_change_end(bl,SC_INTFOOD,-1); + if(sd->sc.data[SC_DEXFOOD].timer!=-1) + status_change_end(bl,SC_DEXFOOD,-1); + if(sd->sc.data[SC_LUKFOOD].timer!=-1) + status_change_end(bl,SC_LUKFOOD,-1); + if(sd->sc.data[SC_HITFOOD].timer!=-1) + status_change_end(bl,SC_HITFOOD,-1); + if(sd->sc.data[SC_FLEEFOOD].timer!=-1) + status_change_end(bl,SC_FLEEFOOD,-1); + if(sd->sc.data[SC_BATKFOOD].timer!=-1) + status_change_end(bl,SC_BATKFOOD,-1); + if(sd->sc.data[SC_WATKFOOD].timer!=-1) + status_change_end(bl,SC_WATKFOOD,-1); + if(sd->sc.data[SC_MATKFOOD].timer!=-1) + status_change_end(bl,SC_MATKFOOD,-1); + } } if (sd->followtimer != -1) pc_stop_following(sd); -- cgit v1.2.3-60-g2f50