Quellcode durchsuchen

- blocked again skill usage during marionette.
- Some minor code cleanups.


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

skotlex vor 19 Jahren
Ursprung
Commit
c811ab0d88
3 geänderte Dateien mit 5 neuen und 9 gelöschten Zeilen
  1. 1 0
      Changelog-Trunk.txt
  2. 3 3
      src/map/status.c
  3. 1 6
      src/map/unit.c

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ 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/06/14
+	* Blocked again skill usage during marionette. [Skotlex]
 	* Fixed main.sql adding a key on char_id rather than account_id for the
 	  char table. [Skotlex]
 	* Cleaned up character saving in char-sql, it no longer needs to query the

+ 3 - 3
src/map/status.c

@@ -896,7 +896,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
 			(src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_num)
 		) {	//Skills blocked through status changes...
 			if (!flag && ( //Blocked only from using the skill (stuff like autospell may still go through
-//				(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
+				(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
 				(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||
 				sc->data[SC_SILENCE].timer != -1 || 
 				sc->data[SC_STEELBODY].timer != -1 ||
@@ -3817,7 +3817,7 @@ struct status_change *status_get_sc(struct block_list *bl)
 	case BL_NPC:
 		return &((TBL_NPC*)bl)->sc;
 	case BL_HOMUNCULUS: //[blackhole89]
-		return &((struct homun_data*)bl)->sc;
+		return &((TBL_HOMUNCULUS*)bl)->sc;
 	}
 	return NULL;
 }
@@ -3890,7 +3890,7 @@ int status_get_sc_def(struct block_list *bl, int type)
 		break;
 	case SC_CURSE:
 		if (status->luk > status_get_lv(bl))
-			sc_def = 10000; //Special property: inmunity when luk is greater than level
+			return 10000; //Special property: inmunity when luk is greater than level
 		else
 			sc_def = 300 +100*status->luk;
 		break;

+ 1 - 6
src/map/unit.c

@@ -529,10 +529,6 @@ int unit_warp(struct block_list *bl,int m,short x,short y,int type)
 
 	map_addblock(bl);
 	clif_spawn(bl);
-//This is broken because the mob already was changed from map.
-//Fortunately, the slave ai will make them chase their master automatically
-//	if (bl->type == BL_MOB)
-//		mob_warpslave(bl,AREA_SIZE);
 	skill_unit_move(bl,gettick(),1);
 	return 0;
 }
@@ -838,7 +834,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int
 	switch(skill_num){
 	case ALL_RESURRECTION:
 		if(battle_check_undead(tstatus->race,tstatus->def_ele)){	
-			temp=1;	
+			temp=1;
 			casttime = skill_castfix(src, PR_TURNUNDEAD, skill_lv);
 		}
 		break;
@@ -1281,7 +1277,6 @@ static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int t
 
 		if(sd && sd->status.pet_id > 0 && sd->pd && battle_config.pet_attack_support)
 			pet_target_check(sd,target,0);
-
 		map_freeblock_unlock();
 
 		ud->attackabletime = tick + sstatus->adelay;