Parcourir la source

Added battle config 'warg_can_falcon'. (tid:63060, credits: 3CeAM r112)
Fixed a documentation issue for @size. (bugreport:8547)
http://rathena.org/board/tracker/issue-8547-size-size/

Signed-off-by: Euphy <euphy.raliel@rathena.org>

Euphy il y a 11 ans
Parent
commit
11e507bbde
7 fichiers modifiés avec 16 ajouts et 8 suppressions
  1. 4 0
      conf/battle/battle.conf
  2. 1 1
      conf/help.txt
  3. 4 3
      doc/atcommands.txt
  4. 1 1
      src/map/atcommand.c
  5. 1 0
      src/map/battle.c
  6. 3 1
      src/map/battle.h
  7. 2 2
      src/map/skill.c

+ 4 - 0
conf/battle/battle.conf

@@ -141,3 +141,7 @@ arrow_decrement: 1
 // range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
 // This setting also affects autospellwhenhit.
 autospell_check_range: no
+
+// Can players use Falcons and Wargs at the same time? (Note 1)
+// This is not allowed on official servers.
+warg_can_falcon: no

+ 1 - 1
conf/help.txt

@@ -63,7 +63,7 @@ undisguise: "Restore your normal appearance."
 disguiseguild: "Disguises all online characters of a guild."
 undisguiseguild: "Restore the normal appearance of all characters of a guild."
 model: "Params:  <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4> - Changes your characters appearence."
-size: "Params:  <1-3> Changes your size (1-Smallest 2-Biggest 3-Normal)"
+size: "Params:  <0-2> Changes your size (0-Normal 1-Small 2-Large)"
 sizeall: "Changes the size of all players."
 sizeguild: "Changes the size of all online characters of a guild."
 hide: "Makes you character invisible (GM invisibility). Type again to become visible."

+ 4 - 3
doc/atcommands.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Last Updated: ========================================
-//= 20140123
+//= 20140126
 //===== Description: =========================================
 //= List of available atcommands and their functions.
 //============================================================
@@ -786,9 +786,10 @@ Warps to your save point.
 
 ---------------------------------------
 
-@jump
+@jump {<x> <y>}
 
-Warps to a random coordinate on the current map.
+Warps to the given coordinates on the current map.
+If no coordinates are entered, a random location will be chosen.
 
 ---------------------------------------
 

+ 1 - 1
src/map/atcommand.c

@@ -4083,7 +4083,7 @@ ACMD_FUNC(mount_peco)
 		}
 		return 0;
 	}
-	if( (sd->class_&MAPID_THIRDMASK) == MAPID_RANGER && pc_checkskill(sd,RA_WUGRIDER) > 0 ) {
+	if( (sd->class_&MAPID_THIRDMASK) == MAPID_RANGER && pc_checkskill(sd,RA_WUGRIDER) > 0 && (!pc_isfalcon(sd) || battle_config.warg_can_falcon) ) {
 		if( !pc_isridingwug(sd) ) {
 			clif_displaymessage(sd->fd,msg_txt(sd,1121)); // You have mounted your Warg.
 			pc_setoption(sd, sd->sc.option|OPTION_WUGRIDER);

+ 1 - 0
src/map/battle.c

@@ -7345,6 +7345,7 @@ static const struct _battle_data {
 	{ "feature.autotrade_direction",		&battle_config.feature_autotrade_direction,		4,		0,		7,				},
 	{ "feature.autotrade_sit",				&battle_config.feature_autotrade_sit,			1,		0,		1,				},
 	{ "disp_serverbank_msg",				&battle_config.disp_serverbank_msg,				0,		0,		1,				},
+	{ "warg_can_falcon",                    &battle_config.warg_can_falcon,                 0,      0,      1,              },
 };
 #ifndef STATS_OPT_OUT
 /**

+ 3 - 1
src/map/battle.h

@@ -521,12 +521,14 @@ extern struct Battle_Config
 	int discount_item_point_shop;
 	int update_enemy_position;
 	int devotion_rdamage;
-	int disp_serverbank_msg;
 
 	// autotrade persistency
 	int feature_autotrade;
 	int feature_autotrade_direction;
 	int feature_autotrade_sit;
+
+	int disp_serverbank_msg;
+	int warg_can_falcon;
 } battle_config;
 
 void do_init_battle(void);

+ 2 - 2
src/map/skill.c

@@ -13916,7 +13916,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
 		 * Ranger
 		 **/
 		case RA_WUGMASTERY:
-			if( pc_isfalcon(sd) || pc_isridingwug(sd) || sd->sc.data[SC__GROOMY]) {
+			if( (pc_isfalcon(sd) && !battle_config.warg_can_falcon) || pc_isridingwug(sd) || sd->sc.data[SC__GROOMY]) {
 				clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
 				return 0;
 			}
@@ -13928,7 +13928,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
 			}
 			break;
 		case RA_WUGRIDER:
-			if( pc_isfalcon(sd) || ( !pc_isridingwug(sd) && !pc_iswug(sd) ) ) {
+			if( (pc_isfalcon(sd) && !battle_config.warg_can_falcon) || ( !pc_isridingwug(sd) && !pc_iswug(sd) ) ) {
 				clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
 				return 0;
 			}