Quellcode durchsuchen

Fixed bugreport:6719 adjusted SR_GENTLETOUCH_CURE,SR_GENTLETOUCH_CHANGE, and SR_GENTLETOUCH_REVITALIZE required spirit balls.
Fixed bugreport:6140 removed unused status icon SI_CLOUDKILL.
Fixed bugreport:6829 an animation problem in casting skills.


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

rud0lp20 vor 12 Jahren
Ursprung
Commit
0733e02c45

+ 3 - 3
db/pre-re/skill_require_db.txt

@@ -680,10 +680,10 @@
 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell#
 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GATEOFHELL#Gate of Hell#
 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet#
-2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CURE#Gentle Touch - Cure#
+2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CURE#Gentle Touch - Cure#
 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain#
-2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CHANGE#Gentle Touch - Change#
-2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize#
+2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CHANGE#Gentle Touch - Change#
+2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize#
 //More from SR Sura (but not following ID order)
 2517,0,0,40:45:50:55:60,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_HOWLINGOFLION#Howling of Lion# 
 2518,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_RIDEINLIGHTNING#Ride In Lightening#

+ 1 - 1
db/pre-re/skill_unit_db.txt

@@ -135,7 +135,7 @@
 2446,0x86,    ,  0, 3:3:3:4:4,1000,enemy, 0x018	//SO_EARTHGRAVE
 2447,0x86,    ,  0, 3:3:3:4:4,1000,enemy, 0x018	//SO_DIAMONDDUST
 2449,0xdf,    ,  0, 3:3:4:4:5,500,enemy,  0x018	//SO_PSYCHIC_WAVE
-2450,0xe0,    ,  3, 0, 500,enemy, 0x010	//SO_CLOUD_KILL
+2450,0xe0,    ,  0, 3, 500,enemy, 0x010	//SO_CLOUD_KILL
 2452,0xe4,    ,  0, 3,3000,all,   0x010	//SO_WARMER
 2453,0xeb,    ,  0, 1:1:2:2:3,1000,enemy,0x010	//SO_VACUUM_EXTREME
 2465,0xf1,    ,  0, 2,1000,all,   0x010	//SO_FIRE_INSIGNIA

+ 3 - 3
db/re/skill_require_db.txt

@@ -686,10 +686,10 @@
 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell#
 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GATEOFHELL#Gate of Hell#
 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet#
-2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CURE#Gentle Touch - Cure#
+2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CURE#Gentle Touch - Cure#
 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain#
-2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CHANGE#Gentle Touch - Change#
-2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize#
+2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_CHANGE#Gentle Touch - Change#
+2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize#
 //More from SR Sura (but not following ID order)
 2517,0,0,40:45:50:55:60,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_HOWLINGOFLION#Howling of Lion# 
 2518,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_RIDEINLIGHTNING#Ride In Lightening#

+ 1 - 1
db/re/skill_unit_db.txt

@@ -138,7 +138,7 @@
 2446,0x86,    ,  0, 3:3:3:4:4,1000,enemy, 0x018	//SO_EARTHGRAVE
 2447,0x86,    ,  0, 3:3:3:4:4,1000,enemy, 0x018	//SO_DIAMONDDUST
 2449,0xdf,    ,  0, 3:3:4:4:5,500,enemy,  0x018	//SO_PSYCHIC_WAVE
-2450,0xe0,    ,  3, 0, 500,enemy, 0x010	//SO_CLOUD_KILL
+2450,0xe0,    ,  0, 3, 500,enemy, 0x010	//SO_CLOUD_KILL
 2452,0xe4,    ,  0, 3,3000,all,   0x010	//SO_WARMER
 2453,0xeb,    ,  0, 1:1:2:2:3,1000,enemy,0x010	//SO_VACUUM_EXTREME
 2465,0xf1,    ,  0, 1,1000,all,   0x010	//SO_FIRE_INSIGNIA

+ 2 - 7
src/map/skill.c

@@ -9709,9 +9709,9 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk
 		map_foreachinarea(skill_graffitiremover,src->m,x-i,y-i,x+i,y+i,BL_SKILL);
 		break;
 
-	case SO_CLOUD_KILL:
 	case SO_WARMER:
-		flag|=(skillid == SO_WARMER)?8:4;
+		flag|= 8;
+	case SO_CLOUD_KILL:
 		skill_unitsetting(src,skillid,skilllv,x,y,0);
 		break;
 
@@ -14420,10 +14420,6 @@ int skill_clear_group (struct block_list *bl, int flag)
 				if (flag&1)
 					group[count++]= ud->skillunit[i];
 				break;
-			case SO_CLOUD_KILL:
-				if( flag&4 )
-					group[count++]= ud->skillunit[i];
-				break;
 			case SO_WARMER:
 				if( flag&8 )
 					group[count++]= ud->skillunit[i];
@@ -14462,7 +14458,6 @@ struct skill_unit_group *skill_locate_element_field(struct block_list *bl)
 			case SA_LANDPROTECTOR:
 			case NJ_SUITON:
 			case SO_WARMER:
-			case SO_CLOUD_KILL:
 			case SC_BLOODYLUST:
 				return ud->skillunit[i];
 		}

+ 1 - 1
src/map/status.c

@@ -685,7 +685,7 @@ void initChangeTables(void) {
 	set_sc( SO_ELECTRICWALK      , SC_PROPERTYWALK    , SI_PROPERTYWALK    , SCB_NONE );
 	set_sc( SO_SPELLFIST         , SC_SPELLFIST       , SI_SPELLFIST       , SCB_NONE );
 	set_sc_with_vfx( SO_DIAMONDDUST       , SC_CRYSTALIZE      , SI_COLD   , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it.
-	set_sc( SO_CLOUD_KILL        , SC_POISON          , SI_CLOUDKILL       , SCB_NONE );
+	add_sc( SO_CLOUD_KILL		 , SC_POISON );
 	set_sc( SO_STRIKING          , SC_STRIKING        , SI_STRIKING        , SCB_WATK|SCB_CRI );
 	set_sc( SO_WARMER            , SC_WARMER          , SI_WARMER          , SCB_NONE );
 	set_sc( SO_VACUUM_EXTREME    , SC_VACUUM_EXTREME  , SI_VACUUM_EXTREME  , SCB_NONE );

+ 3 - 3
src/map/unit.c

@@ -1260,12 +1260,11 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 	casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv);
 #endif
 
+	unit_stop_walking(src,1);// eventhough this is not how official works but this will do the trick. bugreport:6829
 	// in official this is triggered even if no cast time.
 	clif_skillcasting(src, src->id, target_id, 0,0, skill_num, skill_get_ele(skill_num, skill_lv), casttime);
 	if( casttime > 0 || temp )
 	{
-		unit_stop_walking(src,1);
-
 		if (sd && target->type == BL_MOB)
 		{
 			TBL_MOB *md = (TBL_MOB*)target;
@@ -1453,11 +1452,12 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
 			if (!src->prev) return 0;
 		}
 	}
+	
+	unit_stop_walking(src,1);
 	// in official this is triggered even if no cast time.
 	clif_skillcasting(src, src->id, 0, skill_x, skill_y, skill_num, skill_get_ele(skill_num, skill_lv), casttime);
 	if( casttime > 0 )
 	{
-		unit_stop_walking(src,1);
 		ud->skilltimer = add_timer( tick+casttime, skill_castend_pos, src->id, 0 );
 		if( (sd && pc_checkskill(sd,SA_FREECAST) > 0) || skill_num == LG_EXEEDBREAK)
 			status_calc_bl(&sd->bl, SCB_SPEED);