Selaa lähdekoodia

- Fixed the Warm Skills
- Removed the debug message when a player logs out and is removed from memory, it is working fine.


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

skotlex 19 vuotta sitten
vanhempi
commit
e6915d4f6d
3 muutettua tiedostoa jossa 31 lisäystä ja 28 poistoa
  1. 3 0
      Changelog-Trunk.txt
  2. 0 1
      src/map/map.c
  3. 28 27
      src/map/skill.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2006/07/07
+	* Fixed the Warm Skills [Skotlex]
+	* Removed the debug message when a player logs out and is removed from
+	  memory, it is working fine (tested normal logging off and autotrade). [Skotlex]
 	* Corrected the pet-armor field of the pet not being updated on
 	  equip/unequip of accessories, making them not show up inmediately. [Skotlex]
 	* Status_calc_bl will no longer stop you from attacking/walking when the

+ 0 - 1
src/map/map.c

@@ -1706,7 +1706,6 @@ void map_quit_ack(struct map_session_data *sd) {
 	if (sd && sd->state.finalsave) {
 		idb_remove(pc_db,sd->status.account_id);
 		aFree(sd);
-		ShowDebug("Final Save Ack for character %d:%d\n", sd->status.account_id, sd->status.char_id);
 	}
 }
 

+ 28 - 27
src/map/skill.c

@@ -3673,18 +3673,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 			BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY);
 		break;
 
-	case SG_SUN_WARM:
-	case SG_MOON_WARM:
-	case SG_STAR_WARM:
-	{
-		struct skill_unit_group *sg;
-		if (!tsc) break;
-		sg = skill_unitsetting(bl,skillid,skilllv,src->x,src->y,0);
-		clif_skill_nodamage(src,bl,skillid,skilllv,
-			sc_start4(bl,type,100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)));
-		break;
-	}
-
 	case CG_MOONLIT:		/* 月明りの泉に落ちる花びら */
 		clif_skill_nodamage(src,bl,skillid,skilllv,1);
 		if (sd && battle_config.player_skill_partner_check &&
@@ -6015,24 +6003,37 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
 
 	// Plant Cultivation [Celest]
 	case CR_CULTIVATION:
-		{
-			if (sd) {
-				int i = skilllv - 1;
-				int j = pc_search_inventory(sd,skill_db[skillid].itemid[i]);
-				if(j < 0 || skill_db[skillid].itemid[i] <= 0 || sd->inventory_data[j] == NULL ||
-					sd->status.inventory[j].amount < skill_db[skillid].amount[i]) {
-					clif_skill_fail(sd,skillid,0,0);
-					return 1;
-				}
-				pc_delitem(sd,j,skill_db[skillid].amount[i],0);
-				clif_skill_poseffect(src,skillid,skilllv,x,y,tick);
-				if (rand()%100 < 50)
-					mob_once_spawn(sd, "this", x, y, "--ja--",(skilllv < 2 ? 1084+rand()%2 : 1078+rand()%6), 1, "");
-				else
-					clif_skill_fail(sd,skillid,0,0);
+		if (sd) {
+			int i = skilllv - 1;
+			int j = pc_search_inventory(sd,skill_db[skillid].itemid[i]);
+			if(j < 0 || skill_db[skillid].itemid[i] <= 0 || sd->inventory_data[j] == NULL ||
+				sd->status.inventory[j].amount < skill_db[skillid].amount[i]) {
+				clif_skill_fail(sd,skillid,0,0);
+				return 1;
 			}
+			pc_delitem(sd,j,skill_db[skillid].amount[i],0);
+			clif_skill_poseffect(src,skillid,skilllv,x,y,tick);
+			if (rand()%100 < 50)
+				mob_once_spawn(sd, "this", x, y, "--ja--",(skilllv < 2 ? 1084+rand()%2 : 1078+rand()%6), 1, "");
+			else
+				clif_skill_fail(sd,skillid,0,0);
 		}
 		break;
+	case SG_SUN_WARM:
+	case SG_MOON_WARM:
+	case SG_STAR_WARM:
+		{
+			struct skill_unit_group *sg;
+			sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
+			clif_skill_nodamage(src,src,skillid,skilllv,
+				sc_start4(src,SkillStatusChangeTable(skillid),
+					100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)));
+		}
+		break;
+	default:
+		ShowWarning("skill_castend_pos2: Unknown skill used:%d\n",skillid);
+		map_freeblock_unlock();
+		return 1;
 	}
 
 	if (sc && sc->data[SC_MAGICPOWER].timer != -1)