summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-16 23:24:39 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-16 23:24:39 +0000
commitdb1f65c3ed119044754d1a4deefc6cf36461554b (patch)
treeb9bfea8ba4ed7af623f21d3397f149575ea0e50e /src/map/clif.c
parent68584f714db13e550ae532674fc39a6aeff428dc (diff)
downloadhercules-db1f65c3ed119044754d1a4deefc6cf36461554b.tar.gz
hercules-db1f65c3ed119044754d1a4deefc6cf36461554b.tar.bz2
hercules-db1f65c3ed119044754d1a4deefc6cf36461554b.tar.xz
hercules-db1f65c3ed119044754d1a4deefc6cf36461554b.zip
* Venom Splasher fixes according to bugreport:230
- added passive skillv*30% bonus from Poison React - added official splash damage calculation - damage gets split by the number of targets at range 1, then applied to all targets in range 2 - reverted some very old code - clif_calc_delay() - that was preventing skills from displaying properly, by erroneously assuming that if the target has ddelay 0, it has endure effect activated - TODO: the skill should not consume a gemstone when it fails git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11494 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index bb5d2a7ec..02bfe2e95 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -3712,9 +3712,6 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
}
}
-//Modifies the type of damage according to status changes [Skotlex]
-#define clif_calc_delay(type,delay) (type==1||type==4||type==0x0a)?type:(delay==0?9:type)
-
/*==========================================
* Estimates walk delay based on the damage criteria. [Skotlex]
*------------------------------------------*/
@@ -3758,10 +3755,10 @@ int clif_damage(struct block_list* src, struct block_list* dst, unsigned int tic
nullpo_retr(0, src);
nullpo_retr(0, dst);
- type = clif_calc_delay(type, ddelay); //Type defaults to 0 for normal attacks.
-
sc = status_get_sc(dst);
if(sc && sc->count) {
+ if(type != 4 && dst->type == BL_PC && sc->data[SC_ENDURE].timer != -1 && !map_flag_gvg(dst->m))
+ type = 9;
if(sc->data[SC_HALLUCINATION].timer != -1) {
if(damage > 0) damage = damage*(5+sc->data[SC_HALLUCINATION].val1) + rand()%100;
if(damage2 > 0) damage2 = damage2*(5+sc->data[SC_HALLUCINATION].val1) + rand()%100;
@@ -4329,11 +4326,10 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst,unsigned int
nullpo_retr(0, src);
nullpo_retr(0, dst);
- if( type == 0 ) type = skill_get_hit(skill_id);
- type = clif_calc_delay(type, ddelay);
sc = status_get_sc(dst);
-
if(sc && sc->count) {
+ if(type != 4 && dst->type == BL_PC && sc->data[SC_ENDURE].timer != -1 && !map_flag_gvg(dst->m))
+ type = 9;
if(sc->data[SC_HALLUCINATION].timer != -1 && damage > 0)
damage = damage*(5+sc->data[SC_HALLUCINATION].val1) + rand()%100;
}