From a1feda545433edf86258efe0394b4d6027a461e8 Mon Sep 17 00:00:00 2001 From: shadow Date: Sat, 7 Jun 2008 02:52:03 +0000 Subject: Fixed a few properties of NPC_CHANGEUNDEAD bugreport:79 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12763 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ db/item_db2.txt | 5 +++++ src/map/map.c | 3 +++ src/map/skill.c | 7 +++++++ src/map/status.c | 10 ++++++++++ 5 files changed, 28 insertions(+) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index de7df7801..ba0015c56 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2008/06/07 + * Fixed a few properties of NPC_CHANGEUNDEAD bugreport:79 [Brainstorm] + 2008/06/01 * Added Ai4rei's "gm can view all players' equips" feature [ultramage] 2008/05/31 diff --git a/db/item_db2.txt b/db/item_db2.txt index 4656b22fd..9f4d9e1d2 100644 --- a/db/item_db2.txt +++ b/db/item_db2.txt @@ -9,3 +9,8 @@ //7951,Token_Bag,Token Bag,3,,10,10,,,,,,,,,,,,,{},{},{} //1998,Jeramiah's_Jur,Jeramiah's Jur,3,,10,10,,,,,,,,,,,,,{},{},{} //1999,Zed's_Staff,Zed's Staff,3,,10,10,,,,,,,,,,,,,{},{},{} + + +// Old Tuxedo and Wedding Dress, will display the outfit when worn, un-comment to enable it +//2338,Wedding_Dress,Wedding Dress,5,43000,,500,,0,,0,0xFFFFFFFE,7,0,16,,0,1,0,{},{ setoption Option_Wedding,1; },{ setoption Option_Wedding,0; } +//7170,Tuxedo,Tuxedo,5,43000,,10,,0,,0,0xFFFFFFFE,7,1,16,,0,1,0,{},{ setoption Option_Wedding,1; },{ setoption Option_Wedding,0; } diff --git a/src/map/map.c b/src/map/map.c index 688956f62..f4b5edfe6 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1607,6 +1607,9 @@ int map_quit(struct map_session_data *sd) status_change_end(&sd->bl,SC_EXPLOSIONSPIRITS,-1); if(sd->sc.data[SC_REGENERATION] && sd->sc.data[SC_REGENERATION]->val4) status_change_end(&sd->bl,SC_REGENERATION,-1); + //TO-DO Probably there are way more NPC_type negative status that are removed + if(sd->sc.data[SC_CHANGEUNDEAD]) + status_change_end(&sd->bl,SC_CHANGEUNDEAD,-1); } if (battle_config.debuff_on_logout&2) { diff --git a/src/map/skill.c b/src/map/skill.c index c5a73188d..c14053e1d 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4397,7 +4397,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NPC_CHANGEHOLY: case NPC_CHANGEDARKNESS: case NPC_CHANGETELEKINESIS: + clif_skill_nodamage(src,bl,skillid,skilllv, + sc_start2(bl, type, 100, skilllv, skill_get_ele(skillid,skilllv), + skill_get_time(skillid, skilllv))); + break; case NPC_CHANGEUNDEAD: + //This skill should fail if target is wearing bathory/evil druid card [Brainstorm] + //TO-DO This is ugly, fix it + if(tstatus->def_ele==ELE_UNDEAD || tstatus->def_ele==ELE_DARK) break; clif_skill_nodamage(src,bl,skillid,skilllv, sc_start2(bl, type, 100, skilllv, skill_get_ele(skillid,skilllv), skill_get_time(skillid, skilllv))); diff --git a/src/map/status.c b/src/map/status.c index d3d9f3544..96c130f53 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4840,6 +4840,8 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val switch (type) { case SC_BLESSING: + //TO-DO Blessing and Agi up should do 1 damage against players on Undead Status, even on PvM + //but cannot be plagiarized (this requires aegis investigation on packets and official behavior) [Brainstorm] if ((!undead_flag && status->race!=RC_DEMON) || bl->type == BL_PC) { if (sc->data[SC_CURSE]) status_change_end(bl,SC_CURSE,-1); @@ -4956,6 +4958,14 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if(sc->data[SC_ADJUSTMENT]) status_change_end(bl,SC_ADJUSTMENT,-1); break; + //NPC_CHANGEUNDEAD will debuff Blessing and Agi Up + case SC_CHANGEUNDEAD: + if(sc->data[SC_BLESSING]) + status_change_end(bl,SC_BLESSING,-1); + if(sc->data[SC_INCREASEAGI]) + status_change_end(bl,SC_INCREASEAGI,-1); + break; + } //Check for overlapping fails -- cgit v1.2.3-70-g09d2