summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-05-07 12:43:37 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-05-07 12:43:37 +0000
commit7666e881212f15d7d8ed22ef6ee82f98b15c175c (patch)
tree474a19c532e544e5b37829610003225db1b2916c
parent81a85e322a784f6237b1948c53dca39bffb42f18 (diff)
downloadhercules-7666e881212f15d7d8ed22ef6ee82f98b15c175c.tar.gz
hercules-7666e881212f15d7d8ed22ef6ee82f98b15c175c.tar.bz2
hercules-7666e881212f15d7d8ed22ef6ee82f98b15c175c.tar.xz
hercules-7666e881212f15d7d8ed22ef6ee82f98b15c175c.zip
* Update Waterball code due to info updated
* A piece of GX casttime def reduction code I forgot to merge git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13737 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/status.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 18c09f135..e65b87639 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2832,8 +2832,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
int x, y;
struct skill_unit* unit;
- if( src->type == BL_PC && skilllv > maxlv )
- range = maxlv / 2;
+ if( skilllv > maxlv && (src->type == BL_PC || skilllv < 10) )
+ range = maxlv / 2;
for( y = src->y - range; y <= src->y + range; ++y )
for( x = src->x - range; x <= src->x + range; ++x )
diff --git a/src/map/status.c b/src/map/status.c
index c7b7b1567..792c225d0 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -3685,6 +3685,13 @@ static signed short status_calc_flee2(struct block_list *bl, struct status_chang
static signed char status_calc_def(struct block_list *bl, struct status_change *sc, int def)
{
+ if( bl->type == BL_PC )
+ {
+ struct unit_data *ud = unit_bl2ud( bl);
+ if( ud && ud->skilltimer != INVALID_TIMER && (ud->skillid == CR_GRANDCROSS || ud->skillid == NPC_GRANDDARKNESS) )
+ def = def*2/3;
+ }
+
if(!sc || !sc->count)
return (signed char)cap_value(def,CHAR_MIN,CHAR_MAX);