浏览代码

- Changed the default of multi_hit_delay from 230 to 80 which seems more official.
- Wedding recall skills are now blocked by the nomemo mapflag.
- Skill delay for weapon types is now based on adelay (ASPD) rather than amotion (ASPD/2)
- Removed ending Endure when casting Berserk, may fix the timer mismatch issues.


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

skotlex 19 年之前
父节点
当前提交
3faa5d199f
共有 6 个文件被更改,包括 19 次插入10 次删除
  1. 9 0
      Changelog-Trunk.txt
  2. 3 1
      conf-tmpl/battle/battle.conf
  3. 1 1
      src/map/battle.c
  4. 5 5
      src/map/skill.c
  5. 0 2
      src/map/status.c
  6. 1 1
      src/map/status.h

+ 9 - 0
Changelog-Trunk.txt

@@ -3,6 +3,15 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 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.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 
+2006/04/09
+	* Changed the default of multi_hit_delay from 230 to 80 which seems more
+	  official. [Skotlex]
+	* Wedding recall skills are now blocked by the nomemo mapflag instead of
+	  nowarpto. [Skotlex]
+	* Skill delay for weapon types is now based on adelay (ASPD) rather than
+	  amotion (ASPD/2) [Skotlex]
+	* Removed ending Endure when casting Berserk, may fix the timer mismatch
+	  issues. [Skotlex
 2006/04/08
 2006/04/08
 	* Fixed skill_nocast_db reading so that when the same skill is specified
 	* Fixed skill_nocast_db reading so that when the same skill is specified
 	  multiple times, the blocked effects add up instead of replacing each other.
 	  multiple times, the blocked effects add up instead of replacing each other.

+ 3 - 1
conf-tmpl/battle/battle.conf

@@ -38,7 +38,9 @@ damage_walk_delay_rate: 100
 // Move-delay adjustment for multi-hitting attacks.
 // Move-delay adjustment for multi-hitting attacks.
 // When hit by a multi-hitting skill like Lord of Vermillion or Jupitel Thunder, characters will be 
 // When hit by a multi-hitting skill like Lord of Vermillion or Jupitel Thunder, characters will be 
 // unable to move for an additional "(number of hits -1) * multihit_delay" milliseconds.
 // unable to move for an additional "(number of hits -1) * multihit_delay" milliseconds.
-multihit_delay: 230
+// 80 is the setting that feels like Aegis (vs Sonic Blows)
+// 230 is the setting that makes walkdelay last until the last hit (vs Jupitel thunder)
+multihit_delay: 80
 
 
 // Damaged delay rate for players (Note 2)
 // Damaged delay rate for players (Note 2)
 // (Setting to no/0  will be like always endure)
 // (Setting to no/0  will be like always endure)

+ 1 - 1
src/map/battle.c

@@ -3992,7 +3992,7 @@ void battle_set_defaults() {
  	battle_config.summons_inherit_effects=1; 
  	battle_config.summons_inherit_effects=1; 
 	battle_config.pc_walk_delay_rate=20;
 	battle_config.pc_walk_delay_rate=20;
 	battle_config.walk_delay_rate=100;
 	battle_config.walk_delay_rate=100;
-	battle_config.multihit_delay=230;
+	battle_config.multihit_delay=80;
 	battle_config.quest_skill_learn=0;
 	battle_config.quest_skill_learn=0;
 	battle_config.quest_skill_reset=1;
 	battle_config.quest_skill_reset=1;
 	battle_config.basic_skill_check=1;
 	battle_config.basic_skill_check=1;

+ 5 - 5
src/map/skill.c

@@ -6476,7 +6476,7 @@ struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,
 	case WE_CALLPARTNER:
 	case WE_CALLPARTNER:
 		if (!sd)
 		if (!sd)
 			return NULL;
 			return NULL;
-		if (map[src->m].flag.nowarpto) {
+		if (map[src->m].flag.nomemo) {
 			clif_skill_teleportmessage(sd,1);
 			clif_skill_teleportmessage(sd,1);
 			return NULL;
 			return NULL;
 		}
 		}
@@ -6485,7 +6485,7 @@ struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,
 	case WE_CALLPARENT:
 	case WE_CALLPARENT:
 		if (!sd)
 		if (!sd)
 			return NULL;
 			return NULL;
-		if (map[src->m].flag.nowarpto) {
+		if (map[src->m].flag.nomemo) {
 			clif_skill_teleportmessage(sd,1);
 			clif_skill_teleportmessage(sd,1);
 			return NULL;
 			return NULL;
 		}
 		}
@@ -6495,7 +6495,7 @@ struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,
 	case WE_CALLBABY:
 	case WE_CALLBABY:
 		if (!sd)
 		if (!sd)
 			return NULL;
 			return NULL;
-		if (map[src->m].flag.nowarpto) {
+		if (map[src->m].flag.nomemo) {
 			clif_skill_teleportmessage(sd,1);
 			clif_skill_teleportmessage(sd,1);
 			return NULL;
 			return NULL;
 		}
 		}
@@ -8334,11 +8334,11 @@ int skill_delayfix(struct block_list *bl, int skill_id, int skill_lv)
 	// instant cast attack skills depend on aspd as delay [celest]
 	// instant cast attack skills depend on aspd as delay [celest]
 	if (time == 0) {
 	if (time == 0) {
 		if (skill_get_type(skill_id) == BF_WEAPON && !(skill_get_nk(skill_id)&NK_NO_DAMAGE))
 		if (skill_get_type(skill_id) == BF_WEAPON && !(skill_get_nk(skill_id)&NK_NO_DAMAGE))
-			time = status_get_amotion(bl); //Use attack animation as default delay.
+			time = status_get_adelay(bl); //Use attack delay as default delay.
 		else
 		else
 			time = 300;	// default delay, according to official servers
 			time = 300;	// default delay, according to official servers
 	} else if (time < 0)
 	} else if (time < 0)
-		time = -time + status_get_amotion(bl);	// if set to <0, the attack motion is added.
+		time = -time + status_get_adelay(bl);	// if set to <0, the attack delay is added.
 
 
 	if (battle_config.delay_dependon_dex && !(delaynodex&1))
 	if (battle_config.delay_dependon_dex && !(delaynodex&1))
 	{	// if skill casttime is allowed to be reduced by dex
 	{	// if skill casttime is allowed to be reduced by dex

+ 0 - 2
src/map/status.c

@@ -3847,8 +3847,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
 				status_change_end(bl,SC_CONCENTRATION,-1);
 				status_change_end(bl,SC_CONCENTRATION,-1);
 			if (sc->data[SC_PARRYING].timer != -1)
 			if (sc->data[SC_PARRYING].timer != -1)
 				status_change_end(bl,SC_PARRYING,-1);
 				status_change_end(bl,SC_PARRYING,-1);
-			if (sc->data[SC_ENDURE].timer != -1)
-				status_change_end(bl,SC_ENDURE,-1);
 			if (sc->data[SC_AURABLADE].timer != -1)
 			if (sc->data[SC_AURABLADE].timer != -1)
 				status_change_end(bl,SC_AURABLADE,-1);
 				status_change_end(bl,SC_AURABLADE,-1);
 		}
 		}

+ 1 - 1
src/map/status.h

@@ -55,7 +55,7 @@ enum {
 	SC_BROKENARMOR, //50 - NOTE: These two aren't used anywhere, and they have an icon...
 	SC_BROKENARMOR, //50 - NOTE: These two aren't used anywhere, and they have an icon...
 	SC_BROKENWEAPON,
 	SC_BROKENWEAPON,
 	SC_HALLUCINATION,
 	SC_HALLUCINATION,
-	SC_WEIGHT50 ,
+	SC_WEIGHT50,
 	SC_WEIGHT90,
 	SC_WEIGHT90,
 	SC_ASPDPOTION0,
 	SC_ASPDPOTION0,
 	SC_ASPDPOTION1,
 	SC_ASPDPOTION1,