Преглед на файлове

-Fix bugreport:7537 guild emblem not displaying correctly
-Fix bugreport:7536 SATURDAYNIGHTFEVER should prevent item consumtion
-Fix TINDER_BREAKER stuking Eleanor when jump
-Fix combo continuation after MH_MIDNIGHT_FENZY and MH_EQC
-Upd console notice, less ambigious

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

glighta преди 12 години
родител
ревизия
9f074c93c9
променени са 8 файла, в които са добавени 33 реда и са изтрити 23 реда
  1. 3 1
      src/char/char.c
  2. 3 1
      src/login/login.c
  3. 2 3
      src/map/atcommand.c
  4. 1 1
      src/map/clif.c
  5. 12 5
      src/map/map.c
  6. 1 1
      src/map/pc.c
  7. 10 11
      src/map/skill.c
  8. 1 0
      src/map/unit.c

+ 3 - 1
src/char/char.c

@@ -4354,9 +4354,11 @@ int parse_console(const char* buf)
 		if((n = sscanf(buf, "%63[^\n]", type))<1) return -1; //nothing to do no arg
 	}
 	if( n != 2 ){ //end string
+		ShowNotice("Type: '%s'\n",type);
 		command[0] = '\0';
 	}
-	ShowNotice("Type of command: '%s' || Command: '%s'\n",type,command);
+	else
+		ShowNotice("Type of command: '%s' || Command: '%s'\n",type,command);
 
 	if( n == 2 && strcmpi("server", type) == 0 ){
 		if( strcmpi("shutdown", command) == 0 || strcmpi("exit", command) == 0 || strcmpi("quit", command) == 0 ){

+ 3 - 1
src/login/login.c

@@ -376,9 +376,11 @@ int parse_console(const char* buf){
 		if((n = sscanf(buf, "%63[^\n]", type))<1) return -1; //nothing to do no arg
 	}
 	if( n != 2 ){ //end string
+		ShowNotice("Type: '%s'\n",type);
 		command[0] = '\0';
 	}
-	ShowNotice("Type of command: '%s' || Command: '%s'\n",type,command);
+	else
+		ShowNotice("Type of command: '%s' || Command: '%s'\n",type,command);
 
 	if( n == 2 ){
 		if(strcmpi("server", type) == 0 ){

+ 2 - 3
src/map/atcommand.c

@@ -9077,10 +9077,9 @@ ACMD_FUNC(fontcolor)
 ACMD_FUNC(langtype)
 {
 	char langstr[8];
-	int i=0, test=0; char output[100];
+	int i=0, test=0;
 
 	memset(langstr, '\0', sizeof(langstr));
-	memset(output, '\0', sizeof(output));
 
 	if(sscanf(message, "%3s", langstr) >= 1){
 		int lang=-1;
@@ -9103,7 +9102,7 @@ ACMD_FUNC(langtype)
 	clif_displaymessage(fd,msg_txt(sd,464)); // ---- Available languages:
 	while(test!=-1){ //out of range
 		test = msg_checklangtype(i,false);
-		if(test == 1) 
+		if(test == 1)
 			clif_displaymessage(fd,msg_langtype2langstr(i));
 		i++;
 	}

+ 1 - 1
src/map/clif.c

@@ -12264,7 +12264,7 @@ void clif_parse_GuildRequestEmblem(int fd,struct map_session_data *sd)
 	struct guild* g;
 	int guild_id = RFIFOL(fd,2);
 
-	if( (g = sd->guild) != NULL )
+	if( (g = guild_search(guild_id)) != NULL )
 		clif_guild_emblem(sd,g);
 }
 

+ 12 - 5
src/map/map.c

@@ -3119,13 +3119,19 @@ int parse_console(const char* buf){
 		}
 	}
 
-	if( n != 5 ){ //end string
-		map[0] = '\0';
-		if( n < 2 )
+	if( n != 5 ){ //end string and display
+		if( n < 2 ) {
+			ShowNotice("Type of command: '%s'\n", type);
 			command[0] = '\0';
+			map[0] = '\0';
+		}
+		else {
+			ShowNotice("Type of command: '%s' || Command: '%s'\n", type, command);
+			map[0] = '\0';
+		}
 	}
-
-	ShowNotice("Type of command: '%s' || Command: '%s' || Map: '%s' Coords: %d %d\n", type, command, map, x, y);
+	else
+		ShowNotice("Type of command: '%s' || Command: '%s' || Map: '%s' Coords: %d %d\n", type, command, map, x, y);
 
 	if(strcmpi("admin",type) == 0 ) {
 		if(strcmpi("map",command) == 0){
@@ -3140,6 +3146,7 @@ int parse_console(const char* buf){
 				sd.bl.x = x;
 			if( y > 0 )
 				sd.bl.y = y;
+			ShowNotice("Now at : '%s' Coords: %d %d\n", map, x, y);
 		}
 		else if( !is_atcommand(sd.fd, &sd, command, 0) )
 			ShowInfo("Console: Invalid atcommand.\n");

+ 1 - 1
src/map/pc.c

@@ -4255,7 +4255,7 @@ int pc_useitem(struct map_session_data *sd,int n)
 		return 0;
 
 	if (sd->sc.count && (
-		sd->sc.data[SC_BERSERK] || sd->sc.data[SC__BLOODYLUST] ||
+		sd->sc.data[SC_BERSERK] || sd->sc.data[SC__BLOODYLUST] || sd->sc.data[SC_SATURDAYNIGHTFEVER] ||
 		(sd->sc.data[SC_GRAVITATION] && sd->sc.data[SC_GRAVITATION]->val3 == BCT_SELF) ||
 		sd->sc.data[SC_TRICKDEAD] ||
 		sd->sc.data[SC_HIDING] ||

+ 10 - 11
src/map/skill.c

@@ -2194,12 +2194,11 @@ void skill_combo_toogle_inf(struct block_list* bl, uint16 skill_id, int inf){
 	case MH_MIDNIGHT_FRENZY:
 	case MH_EQC:{
 		int skill_id2 = ((skill_id==MH_EQC)?MH_TINDER_BREAKER:MH_SONIC_CRAW);
-		int idx = skill_get_index(skill_id2);
+		int idx = skill_id2 - HM_SKILLBASE;
 		int flag = (inf?SKILL_FLAG_TMP_COMBO:SKILL_FLAG_PERMANENT);
 		TBL_HOM *hd = BL_CAST(BL_HOM, bl);
 		sd = hd->master;
-//		if (sd) clif_skillinfo(sd,skill_id2, inf);
-		hd->homunculus.hskill[idx].flag= SKILL_FLAG_TMP_COMBO;
+		hd->homunculus.hskill[idx].flag= flag;
 		if(sd) clif_homskillinfoblock(sd); //refresh info //@FIXME we only want to refresh one skill
 	}
 	break;
@@ -4718,14 +4717,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 		break;
 	}
 	case MH_TINDER_BREAKER:
-		if (unit_movepos(src, bl->x, bl->y, 1, 1)) {
-#if PACKETVER >= 20111005
-			clif_snap(src, bl->x, bl->y);
-#else
-			clif_skill_poseffect(src,skill_id,skill_lv,bl->x,bl->y,tick);
-#endif
-
-		}
 	case MH_CBC:
 	case MH_EQC: {
 		int duration=0;
@@ -4735,6 +4726,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 		skill_attack(skill_get_type(skill_id),src,src,bl,skill_id,skill_lv,tick,flag);
 		clif_skill_nodamage(src,bl,skill_id,skill_lv,
 			sc_start4(src,bl,status_skill2sc(skill_id),100,skill_lv,src->id,0,0,duration));
+		if (skill_id==MH_TINDER_BREAKER && unit_movepos(src, bl->x, bl->y, 1, 1)) {
+#if PACKETVER >= 20111005
+			clif_snap(src, bl->x, bl->y);
+#else
+			clif_skill_poseffect(src,skill_id,skill_lv,bl->x,bl->y,tick);
+#endif
+
+		}
 		break;
 	}
 

+ 1 - 0
src/map/unit.c

@@ -1100,6 +1100,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
 			if(sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id2){ //it,s a combo
 				target_id = sc->data[SC_COMBO]->val2;
 				combo = 1;
+				casttime = -1;
 			}
 			break;
 		}