Ver Fonte

- Fixed some warnings
- Corrected the comment for the global functions file.
- Updated Charge Attack's damage equation as per the only source I've seen of it so far.
- Now Guardians/Emperium can't hit /be hit if their current map isn't a gvg_castle or woe is off. This enables "localized" WoE by removing/setting the mapflag gvg_castle on the castles where you want WoE to take effect (note that even though normal players can't be hit on non gvg_castle maps, normal mobs can still be killed in such maps, you'd still need to modify the WoE scripts to use this kind of feature)


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

skotlex há 18 anos atrás
pai
commit
b6dbcc39c9
5 ficheiros alterados com 14 adições e 14 exclusões
  1. 8 0
      Changelog-Trunk.txt
  2. 2 4
      conf-tmpl/GM_account.txt
  3. 1 1
      npc/scripts_main.conf
  4. 0 2
      src/map/atcommand.c
  5. 3 7
      src/map/battle.c

+ 8 - 0
Changelog-Trunk.txt

@@ -4,6 +4,14 @@ 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/12/26
+	* Updated Charge Attack's damage equation as per the only source I've seen
+	  of it so far.
+	* Now Guardians/Emperium can't hit /be hit if their current map isn't a
+	  gvg_castle or woe is off. This enables "localized" WoE by removing/setting
+	  the mapflag gvg_castle on the castles where you want WoE to take effect
+	  (note that even though normal players can't be hit on non gvg_castle maps,
+	  normal mobs can still be killed in such maps, you'd still need to modify
+	  the WoE scripts to use this kind of feature)
 	* TK_MISSION will now pick any mob from the DB as long as it is not a boss
 	  type and it gives base exp.
 	* Fixed the double-stone issue when hitting a petrified character.

+ 2 - 4
conf-tmpl/GM_account.txt

@@ -1,4 +1,4 @@
-// eAthena's GM Accounts File
+// eAthena's GM Accounts File (for TXT servers only)
 // Edited by MC Cameri to enable account id ranges
 // Changing this file while login server is running 
 // Usage #1(Standard): <account id> <level>
@@ -7,6 +7,4 @@
 // 2000002 99
 // 2000003-2000005 99
 // 2000003~2000005 99
-// 704585 30
-
-704554-704584 99
+// 2000001 30

+ 1 - 1
npc/scripts_main.conf

@@ -31,7 +31,7 @@
 // - eAthena Dev Team						-
 // --------------------------------------------------------------
 // ------------------ Global Scripts Functions ------------------
-// !! Warning! Do NOT remove there or it breaks a lot of items !!
+// Utilitarian functions used by many scripts.
 npc: npc/other/Global_Functions.txt
 // --------------------------------------------------------------
 // ------------------------ PCLoginEvent ------------------------

+ 0 - 2
src/map/atcommand.c

@@ -3031,8 +3031,6 @@ int atcommand_pvpoff(
 	const int fd, struct map_session_data* sd,
 	const char* command, const char* message)
 {
-	struct map_session_data *pl_sd, **pl_allsd;
-	int i, users;
 	nullpo_retr(-1, sd);
 
 	if (battle_config.pk_mode) { //disable command if server is in PK mode [Valaris]

+ 3 - 7
src/map/battle.c

@@ -1587,7 +1587,7 @@ static struct Damage battle_calc_weapon_attack(
 					skillratio += 100*(skill_lv-1);
 					break;
 				case KN_CHARGEATK:
-					skillratio += wflag*15; //FIXME: How much is the actual bonus? [Skotlex]
+					skillratio += 100*((wflag-1)/3); //+100% every 3 cells.of distance
 					break;
 				case HT_PHANTASMIC:
 					skillratio += 50;
@@ -3259,7 +3259,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 		{
 			TBL_MOB *md = (TBL_MOB*)t_bl;
 
-			if (!agit_flag && md->guardian_data && md->guardian_data->guild_id)
+			if (!(agit_flag && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id)
 				return 0; //Disable guardians/emperiums owned by Guilds on non-woe times.
 			break;
 		}
@@ -3267,10 +3267,6 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 
 	switch(src->type)
   	{	//Checks on actual src type
-		case BL_MOB:
-			if (!agit_flag && ((TBL_MOB*)src)->guardian_data && ((TBL_MOB*)src)->guardian_data->guild_id)
-				return 0; //Disable guardians/emperium owned by Guilds on non-woe times.
-			break;
 		case BL_PET:
 			if (t_bl->type != BL_MOB && flag&BCT_ENEMY)
 				return 0; //Pet may not attack non-mobs.
@@ -3333,7 +3329,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 		case BL_MOB:
 		{
 			TBL_MOB*md = (TBL_MOB*)s_bl;
-			if (!agit_flag && md->guardian_data && md->guardian_data->guild_id)
+			if (!(agit_flag && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id)
 				return 0; //Disable guardians/emperium owned by Guilds on non-woe times.
 			if(md->state.killer/* || !(battle_config.mob_ai&0x400)*/)
 				state |= BCT_ENEMY; //By default everyone hates mobs.