summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshadow <shadow@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-06-07 02:52:03 +0000
committershadow <shadow@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-06-07 02:52:03 +0000
commita1feda545433edf86258efe0394b4d6027a461e8 (patch)
treec512aaee8502d4399df8b482dc8bf0dcfc0183b0
parentbaf58e38ae2bcc6e3b8fb0de650234cb29dff8b5 (diff)
downloadhercules-a1feda545433edf86258efe0394b4d6027a461e8.tar.gz
hercules-a1feda545433edf86258efe0394b4d6027a461e8.tar.bz2
hercules-a1feda545433edf86258efe0394b4d6027a461e8.tar.xz
hercules-a1feda545433edf86258efe0394b4d6027a461e8.zip
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
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--db/item_db2.txt5
-rw-r--r--src/map/map.c3
-rw-r--r--src/map/skill.c7
-rw-r--r--src/map/status.c10
5 files changed, 28 insertions, 0 deletions
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