Bläddra i källkod

- Moved a bunch of sc_effects that should be cancelled on hit from mob_damage/pc_damage to battle_damage.
- Changed ITEM_NAME_LENGTH to 50.


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

skotlex 19 år sedan
förälder
incheckning
26374a61c1
6 ändrade filer med 19 tillägg och 27 borttagningar
  1. 1 0
      Changelog-Trunk.txt
  2. 1 1
      src/common/mmo.h
  3. 10 0
      src/map/battle.c
  4. 7 7
      src/map/itemdb.c
  5. 0 9
      src/map/mob.c
  6. 0 10
      src/map/pc.c

+ 1 - 0
Changelog-Trunk.txt

@@ -5,6 +5,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.  EV
 GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
 
 2006/03/09
+	* Changed ITEM_NAME_LENGTH to 50. [Skotlex]
 	* Fixed stun's duration not getting reduced by vit + luk/3 [Skotlex]
 	* Fixed #itemlist not taking into consideration crafted/forged items and
 	  pet eggs. [Skotlex]

+ 1 - 1
src/common/mmo.h

@@ -99,7 +99,7 @@
 //Includes null-terminator as it is the length of the array.
 #define NAME_LENGTH 24
 //For item names, which tend to have much longer names.
-#define ITEM_NAME_LENGTH 24
+#define ITEM_NAME_LENGTH 50
 //For Map Names, which the client considers to be 16 in length
 #define MAP_NAME_LENGTH 16
 

+ 10 - 0
src/map/battle.c

@@ -260,6 +260,16 @@ int battle_damage(struct block_list *bl,struct block_list *target,int damage, in
 			status_change_end(target,SC_SLEEP,-1);
 		if (sc->data[SC_WINKCHARM].timer != -1)
 			status_change_end(target,SC_WINKCHARM,-1);
+		if (sc->data[SC_CONFUSION].timer != -1)
+			status_change_end(target, SC_CONFUSION, -1);
+		if (sc->data[SC_TRICKDEAD].timer != -1)
+			status_change_end(target, SC_TRICKDEAD, -1);
+		if (sc->data[SC_HIDING].timer != -1)
+			status_change_end(target, SC_HIDING, -1);
+		if (sc->data[SC_CLOAKING].timer != -1)
+			status_change_end(target, SC_CLOAKING, -1);
+		if (sc->data[SC_CHASEWALK].timer != -1)
+			status_change_end(target, SC_CHASEWALK, -1);
 	}
 
 	if (target->type == BL_MOB) {	// MOB

+ 7 - 7
src/map/itemdb.c

@@ -238,8 +238,8 @@ static void create_dummy_data(void) {
 	dummy_item->nameid=500;
 	dummy_item->weight=1;
 	dummy_item->type=3; //Etc item
-	strncpy(dummy_item->name,"UNKNOWN_ITEM",ITEM_NAME_LENGTH);
-	strncpy(dummy_item->jname,"UNKNOWN_ITEM",ITEM_NAME_LENGTH);
+	strncpy(dummy_item->name,"UNKNOWN_ITEM",ITEM_NAME_LENGTH-1);
+	strncpy(dummy_item->jname,"UNKNOWN_ITEM",ITEM_NAME_LENGTH-1);
 	dummy_item->view_id = 512; //Use apple sprite.
 }
 
@@ -575,7 +575,7 @@ static int itemdb_read_itemnametable(void)
 			}
 #endif
 
-			memcpy(itemdb_search(nameid)->jname,buf2,ITEM_NAME_LENGTH-1);
+			strncpy(itemdb_search(nameid)->jname,buf2,ITEM_NAME_LENGTH-1);
 		}
 
 		p=strchr(p,10);
@@ -848,8 +848,8 @@ static int itemdb_read_sqldb(void)
 					// ----------
 					id = itemdb_load(nameid);
 					
-					memcpy(id->name, sql_row[1], ITEM_NAME_LENGTH);
-					memcpy(id->jname, sql_row[2], ITEM_NAME_LENGTH);
+					strncpy(id->name, sql_row[1], ITEM_NAME_LENGTH-1);
+					strncpy(id->jname, sql_row[2], ITEM_NAME_LENGTH-1);
 
 					id->type = atoi(sql_row[3]);
 					if (id->type == 11)
@@ -991,8 +991,8 @@ static int itemdb_readdb(void)
 
 			//ID,Name,Jname,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Job Upper,Gender,Loc,wLV,eLV,refineable,View
 			id=itemdb_load(nameid);
-			memcpy(id->name, str[1], ITEM_NAME_LENGTH);
-			memcpy(id->jname, str[2], ITEM_NAME_LENGTH);
+			strncpy(id->name, str[1], ITEM_NAME_LENGTH-1);
+			strncpy(id->jname, str[2], ITEM_NAME_LENGTH-1);
 			id->type=atoi(str[3]);
 			if (id->type == 11)
 			{	//Items that are consumed upon target confirmation

+ 0 - 9
src/map/mob.c

@@ -2308,15 +2308,6 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
 		return 0;
 	}
 
-	if(md->sc.count) {
-		if(md->sc.data[SC_CONFUSION].timer != -1)
-			status_change_end(&md->bl, SC_CONFUSION, -1);
-		if(md->sc.data[SC_HIDING].timer != -1)
-			status_change_end(&md->bl, SC_HIDING, -1);
-		if(md->sc.data[SC_CLOAKING].timer != -1)
-			status_change_end(&md->bl, SC_CLOAKING, -1);
-	}
-
 	if(damage > max_hp>>2)
 		skill_stop_dancing(&md->bl);
 

+ 0 - 10
src/map/pc.c

@@ -5253,16 +5253,6 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage)
 				status_change_end(&sd->bl, SC_GRAVITATION, -1);
 			}
 		}
-		if (sd->sc.data[SC_CONFUSION].timer != -1)
-			status_change_end(&sd->bl, SC_CONFUSION, -1);
-		if (sd->sc.data[SC_TRICKDEAD].timer != -1)
-			status_change_end(&sd->bl, SC_TRICKDEAD, -1);
-		if (sd->sc.data[SC_HIDING].timer != -1)
-			status_change_end(&sd->bl, SC_HIDING, -1);
-		if (sd->sc.data[SC_CLOAKING].timer != -1)
-			status_change_end(&sd->bl, SC_CLOAKING, -1);
-		if (sd->sc.data[SC_CHASEWALK].timer != -1)
-			status_change_end(&sd->bl, SC_CHASEWALK, -1);
 	}
 
 	// ‰‰‘t/ƒ_ƒ“ƒX‚Ì’†?