Browse Source

- Call Slave now invokes slaves on a 5x5 area around master.
- AL_TELEPORT will fail when used by slave mobs.
- Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable attacks.
- slaves inherit speed setting will now work regardless of whether the slave or master has the MD_CANMOVE mode bit.


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

skotlex 19 years ago
parent
commit
1de06a14e4
5 changed files with 12 additions and 3 deletions
  1. 6 0
      Changelog-Trunk.txt
  2. 2 0
      src/map/battle.c
  3. 2 2
      src/map/skill.c
  4. 1 1
      src/map/status.c
  5. 1 0
      src/map/unit.c

+ 6 - 0
Changelog-Trunk.txt

@@ -4,6 +4,12 @@ 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.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 
 2006/05/30
 2006/05/30
+	* slaves inherit speed setting will now work regardless of whether the
+	  slave or master has the MD_CANMOVE mode bit. [Skotlex]
+	* Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
+	* AL_TELEPORT will fail when used by slave mobs. [Skotlex]
+	* Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
+	  attacks. [Skotlex]
 	* Fixed status_damage not setting your HP to 0 when you died [Skotlex]
 	* Fixed status_damage not setting your HP to 0 when you died [Skotlex]
 	* Fixed the pcbonus2 warnings using the wrong value before printing the
 	* Fixed the pcbonus2 warnings using the wrong value before printing the
 	  invalid Element error. [Skotlex]
 	  invalid Element error. [Skotlex]

+ 2 - 0
src/map/battle.c

@@ -995,6 +995,8 @@ static struct Damage battle_calc_weapon_attack(
 				case SG_MOON_WARM:
 				case SG_MOON_WARM:
 				case SG_STAR_WARM:
 				case SG_STAR_WARM:
 				case NPC_BLOODDRAIN:
 				case NPC_BLOODDRAIN:
+				case NPC_ENERGYDRAIN:
+				case NPC_MENTALBREAKER:
 					flag.hit = 1;
 					flag.hit = 1;
 					break;
 					break;
 				case CR_SHIELDBOOMERANG:
 				case CR_SHIELDBOOMERANG:

+ 2 - 2
src/map/skill.c

@@ -4833,8 +4833,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 			mob_summonslave(md,md->db->skill[md->skillidx].val,skilllv,skillid);
 			mob_summonslave(md,md->db->skill[md->skillidx].val,skilllv,skillid);
 		break;
 		break;
 
 
-	case NPC_CALLSLAVE:		//Žæ‚芪‚«ŒÄ‚Ñ–ß‚µ
-		mob_warpslave(src,AREA_SIZE/2);
+	case NPC_CALLSLAVE:
+		mob_warpslave(src,2);
 		break;
 		break;
 
 
 	case NPC_RANDOMMOVE:
 	case NPC_RANDOMMOVE:

+ 1 - 1
src/map/status.c

@@ -1052,7 +1052,7 @@ int status_calc_mob(struct mob_data* md, int first)
 
 
 	if (flag&8 && mbl) {
 	if (flag&8 && mbl) {
 		struct status_data *mstatus = status_get_base_status(mbl);
 		struct status_data *mstatus = status_get_base_status(mbl);
-		if (mstatus && mstatus->mode&MD_CANMOVE && status->mode&MD_CANMOVE)
+		if (mstatus)
 			status->speed = mstatus->speed;
 			status->speed = mstatus->speed;
 	}
 	}
 		
 		

+ 1 - 0
src/map/unit.c

@@ -810,6 +810,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int
 		switch (skill_num) {
 		switch (skill_num) {
 			case NPC_SUMMONSLAVE:
 			case NPC_SUMMONSLAVE:
 			case NPC_SUMMONMONSTER:
 			case NPC_SUMMONMONSTER:
+			case AL_TELEPORT:
 				if (((TBL_MOB*)src)->master_id)
 				if (((TBL_MOB*)src)->master_id)
 					return 0;
 					return 0;
 		}
 		}