Jelajahi Sumber

* Update Waterball code due to info updated
* A piece of GX casttime def reduction code I forgot to merge

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13737 54d463be-8e91-2dee-dedb-b68131a5f0ec

Inkfish 16 tahun lalu
induk
melakukan
96635c8c81
2 mengubah file dengan 9 tambahan dan 2 penghapusan
  1. 2 2
      src/map/skill.c
  2. 7 0
      src/map/status.c

+ 2 - 2
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 )

+ 7 - 0
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);