Browse Source

- Hiding cancels Close Confine.
- Added the move enable condition to High Jump and Jump Kick.
- ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk check if the skill is ground targetted.
- Moved the berserk_cancel_buffs code to status_change_start.
- Moved most checks of status_isimmune() to status_get_sc_def
- Allowed Endow skills to go through status_isinmune characters.
- Added variable type to skill_castend_nodamage_id which holds the value of SkillStatusChangeTable[skillid] to simplify code reading afterwards.
- Fixed PR_BENEDICTIO not taking away all SP
- Fixed the most horrible typo ever. (SC_STAN -> SC_STUN)
- Added StatusSkillChangeTable which returns the Skill for a given SC. Used in skill_additional_effect for SC cards.
- Removed the whole ugly static implementation of SkillStatusChangeTable, see status_initChangeTables() for new format which is much easier to read.


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

skotlex 19 years ago
parent
commit
c1263b25da
8 changed files with 511 additions and 842 deletions
  1. 10 1
      Changelog-Trunk.txt
  2. 3 0
      db/Changelog.txt
  3. 2 2
      db/skill_require_db.txt
  4. 2 2
      src/map/battle.c
  5. 1 1
      src/map/mob.c
  6. 169 268
      src/map/skill.c
  7. 321 566
      src/map/status.c
  8. 3 2
      src/map/status.h

+ 10 - 1
Changelog-Trunk.txt

@@ -3,7 +3,16 @@ 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.  EVERYTHING ELSE
 GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
-
+2006/02/14
+	* Hiding cancels Close Confine now. [Skotlex]
+	* ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk
+	  check if the skill is ground targetted. [Skotlex]
+	* Moved the berserk_cancel_buffs code to status_change_start. [Skotlex]
+	* Moved most checks of status_isimmune() to status_get_sc_def [Skotlex]
+	* Allowed Endow skills to go through status_isinmune characters. [Skotlex]
+	* Fixed PR_BENEDICTIO not taking away all SP. [Skotlex]
+	* Modified the way Status changes are linked to skills for an easier to
+	  read implementation (see status_initChangeTables). [Skotlex]
 2006/02/13
 	* Added battle config sc_def_rate which adjusts natural defense of
 	  characters against status changes (see conf/battle/battle.conf). [Skotlex]

+ 3 - 0
db/Changelog.txt

@@ -29,6 +29,9 @@
 
 =========================
 
+02/14
+	* Jump Kick and High Jump now depend on the skill state ST_MOVE_ENABLE
+	  [Skotlex]
 02/13
 	* Updated most mobs Summon Skills to use "OnSpawn" conditions. [Poki#3]
 	* Fixed exp.txt for Baby Dancer, thanks to Gepard [Komurka]

+ 2 - 2
db/skill_require_db.txt

@@ -319,10 +319,10 @@
 418,0,0,1,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_READYCOUNTER
 419,0,0,14:12:10:8:6:4:2,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_COUNTERKICK
 420,0,0,1,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_DODGE
-421,0,0,70:60:50:40:30:20:10,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_JUMPKICK
+421,0,0,70:60:50:40:30:20:10,0,0,0,99,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_JUMPKICK
 
 425,0,0,20:20:20:20:50:50:50,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_SEVENWIND
-426,0,0,50,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_HIGHJUMP
+426,0,0,50,0,0,0,99,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TK_HIGHJUMP
 
 427,0,0,100,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SG_FEEL
 428,0,0,20,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SG_SUN_WARM

+ 2 - 2
src/map/battle.c

@@ -1386,7 +1386,7 @@ static struct Damage battle_calc_weapon_attack(
 			}
 		if ((tsc && !flag.hit) &&
 			(tsc->data[SC_SLEEP].timer!=-1 ||
-			tsc->data[SC_STAN].timer!=-1 ||
+			tsc->data[SC_STUN].timer!=-1 ||
 			tsc->data[SC_FREEZE].timer!=-1 ||
 			(tsc->data[SC_STONE].timer!=-1 && tsc->data[SC_STONE].val2==0))
 			)
@@ -2808,7 +2808,7 @@ struct Damage  battle_calc_misc_attack(
 			struct status_change *sc = status_get_sc(target);
 			int hitrate=status_get_hit(bl) - status_get_flee(target) + 80;
 			hitrate = ( (hitrate>95)?95: ((hitrate<5)?5:hitrate) );
-			if(sc && sc->count && (sc->data[SC_SLEEP].timer!=-1 || sc->data[SC_STAN].timer!=-1 ||
+			if(sc && sc->count && (sc->data[SC_SLEEP].timer!=-1 || sc->data[SC_STUN].timer!=-1 ||
 				sc->data[SC_FREEZE].timer!=-1 || (sc->data[SC_STONE].timer!=-1 && sc->data[SC_STONE].val2==0) ) )
 				hitrate = 1000000;
 			if(rand()%100 < hitrate) {

+ 1 - 1
src/map/mob.c

@@ -4572,7 +4572,7 @@ static int mob_readskilldb(void)
 		{	"anybad",		-1				},
 		{	"stone",		SC_STONE		},
 		{	"freeze",		SC_FREEZE		},
-		{	"stan",			SC_STAN			},
+		{	"stan",			SC_STUN			},
 		{	"sleep",		SC_SLEEP		},
 		{	"poison",		SC_POISON		},
 		{	"curse",		SC_CURSE		},

File diff suppressed because it is too large
+ 169 - 268
src/map/skill.c


File diff suppressed because it is too large
+ 321 - 566
src/map/status.c


+ 3 - 2
src/map/status.h

@@ -11,7 +11,7 @@ enum {
 	//First we enumerate common status ailments which are often used around.
 	SC_STONE = 0,
 	SC_FREEZE,
-	SC_STAN,
+	SC_STUN,
 	SC_SLEEP,
 	SC_POISON,
 	SC_CURSE,
@@ -232,7 +232,8 @@ enum {
 	//
 	SC_MAX, //Automatically updated max, used in for's and at startup to check we are within bounds. [Skotlex]
 };
-extern int SkillStatusChangeTable[];
+extern int SkillStatusChangeTable[MAX_SKILL];
+extern int StatusSkillChangeTable[SC_MAX];
 
 //Numerates the Number for the status changes (client-dependent), imported from jA
 enum {

Some files were not shown because too many files changed in this diff