Переглянути джерело

- NPC_AGIUP will now give movement boost of 50%
- Fixed WZ_WATERBALL number of hits when used by non-players.
- MO_BODYRELOCATION will send the slide packet with the actual src's coordinates rather than selected tile.


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

skotlex 19 роки тому
батько
коміт
f56c98572b
3 змінених файлів з 14 додано та 5 видалено
  1. 5 0
      Changelog-Trunk.txt
  2. 7 3
      src/map/skill.c
  3. 2 2
      src/map/trade.c

+ 5 - 0
Changelog-Trunk.txt

@@ -3,6 +3,11 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2006/05/18
+	* NPC_AGIUP will now give movement boost of 50% [Skotlex]
+	* Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
+	* MO_BODYRELOCATION will send the slide packet with the actual src's
+	  coordinates rather than selected tile. [Skotlex]
 2006/05/17
 	* Modified mob_can_changetarget to return true always when the new target
 	  is the provoked-by character. Fixes provoke not making the mob change

+ 7 - 3
src/map/skill.c

@@ -2840,7 +2840,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
 			int range = skilllv/2;
 			//Rain doesn't affect WATERBALL (Rain has been removed at kRO) [Lupus]
 			//int cnt = (!map[src->m].flag.rain) ? skill_count_water(src,range) - 1 : skill_get_num(skillid,skilllv) - 1;
-			int cnt = (src->type==BL_PC)?skill_count_water(src,range):range*range;
+			int cnt = (src->type==BL_PC)?skill_count_water(src,range):++range*range;
 			cnt--;
 			if (cnt > 0)
 				skill_addtimerskill(src,tick+150,bl->id,0,0,
@@ -4972,8 +4972,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 
 	case NPC_POWERUP:
 		sc_start(bl,SC_INCATKRATE,100,40*skilllv,skill_get_time(skillid, skilllv));
-		//Power up is atkrate increase + hit% increase.
+		clif_skill_nodamage(src,bl,skillid,skilllv,
+			sc_start(bl,type,100,20*skilllv,skill_get_time(skillid, skilllv)));
+		break;
+		
 	case NPC_AGIUP:
+		sc_start(bl,SC_SPEEDUP1,100,skilllv,skill_get_time(skillid, skilllv));
 		clif_skill_nodamage(src,bl,skillid,skilllv,
 			sc_start(bl,type,100,20*skilllv,skill_get_time(skillid, skilllv)));
 		break;
@@ -5984,7 +5988,7 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil
 
 	case MO_BODYRELOCATION:
 		if (unit_movepos(src, x, y, 1, 1)) {
-			clif_slide(src, x, y);
+			clif_slide(src, src->x, src->y);
 			if (sd) skill_blockpc_start (sd, MO_EXTREMITYFIST, 2000);
 		}
 		break;

+ 2 - 2
src/map/trade.c

@@ -157,7 +157,7 @@ int impossible_trade_check(struct map_session_data *sd) {
 		{ // if more than the player have -> hack
 			sprintf(message_to_gm, msg_txt(538), sd->status.name, sd->status.account_id); // Hack on trade: character '%s' (account: %d) try to trade more items that he has.
 			intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, message_to_gm);
-			sprintf(message_to_gm, msg_txt(539), sd->status.inventory[index].amount, sd->status.inventory[index].nameid, sd->deal.item[i].amount); // This player has %d of a kind of item (id: %d), and try to trade %d of them.
+			sprintf(message_to_gm, msg_txt(539), inventory[index].amount, inventory[index].nameid, sd->deal.item[i].amount); // This player has %d of a kind of item (id: %d), and try to trade %d of them.
 			intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, message_to_gm);
 			// if we block people
 			if (battle_config.ban_hack_trade < 0) {
@@ -446,7 +446,7 @@ void trade_tradecommit(struct map_session_data *sd) {
 	
 	sd->state.deal_locked = 2;
 	
-	if (sd->state.deal_locked < 2 || tsd->state.deal_locked < 2)
+	if (tsd->state.deal_locked < 2)
 		return; //Not yet time for trading.
 
 	//Now is a good time (to save on resources) to check that the trade can indeed be made and it's not exploitable.