Jelajahi Sumber

Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did until now and those bugs would get lost)
* Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
* Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
* Fixed Monk spirit balls not being removed on death (like happens with gunslingers).
* Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont allow the skill to work.

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

shadow 16 tahun lalu
induk
melakukan
7699a5de32
5 mengubah file dengan 14 tambahan dan 4 penghapusan
  1. 7 0
      Changelog-Trunk.txt
  2. 2 2
      db/skill_require_db.txt
  3. 3 0
      src/map/battle.c
  4. 1 1
      src/map/pc.c
  5. 1 1
      src/map/skill.c

+ 7 - 0
Changelog-Trunk.txt

@@ -3,6 +3,13 @@ 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.
 
+2008/10/13
+	* Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did until now and those bugs would get lost)
+	* Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
+ 	* Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
+ 	* Fixed Monk spirit balls not being removed on death (like happens with gunslingers).
+ 	* Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont allow the skill to work.
+
 2009/03/01
 	* Ankle Snare cannot be knocked back anymore (bugreport:2804) [ultramage]
 2009/02/25

+ 2 - 2
db/skill_require_db.txt

@@ -135,7 +135,7 @@
 142,0,0,3,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NV_FIRSTAID#?急手?#
 143,0,0,5,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NV_TRICKDEAD#死んだふり#
 
-146,0,0,5,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SM_AUTOBERSERK#オ?トバ?サ?ク#
+146,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SM_AUTOBERSERK#オ?トバ?サ?ク#
 147,0,0,10,0,0,0,99,0,0,recover_weight_rate,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AC_MAKINGARROW#矢作成#
 148,0,0,15,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AC_CHARGEARROW#チャ?ジアロ?#
 149,0,0,9,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//TF_SPRINKLESAND#砂まき#
@@ -267,7 +267,7 @@
 356,0,0,50,0,0,0,3,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LK_PARRYING#パリイング#
 357,0,0,14:18:22:26:30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LK_CONCENTRATION#コンセントレ?ション#
 358,0,0,15,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LK_TENSIONRELAX#テンションリラックス#
-359,0,0,100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LK_BERSERK#バ?サ?ク#
+359,0,0,200,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LK_BERSERK#バ?サ?ク#
 361,0,0,20:30:40:50:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//HP_ASSUMPTIO#アスムプティオ#
 362,0,0,80:90:100:110:120,0,0,0,99,0,0,none,0,715,1,716,1,717,1,523,1,0,0,0,0,0,0,0,0,0,0,0,0	//HP_BASILICA#バジリカ#
 

+ 3 - 0
src/map/battle.c

@@ -329,6 +329,9 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
 
 		if( sc->data[SC_PNEUMA] && (flag&(BF_MAGIC|BF_LONG)) == BF_LONG )
 			return 0;
+			
+		if( sc->data[SC_PNEUMA] && src->type == BL_MOB && skill_num == LK_SPIRALPIERCE)
+			return 0; //Mob's Spiral Pierce is always blocked by pneuma [Brain]
 
 		if( (sce=sc->data[SC_AUTOGUARD]) && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && rand()%100 < sce->val2 )
 		{

+ 1 - 1
src/map/pc.c

@@ -5266,7 +5266,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
 
 	npc_script_event(sd,NPCE_DIE);
 
-	if ( sd && sd->spiritball && (sd->class_&MAPID_BASEMASK)==MAPID_GUNSLINGER ) // maybe also monks' spiritballs ?
+	if ( sd && sd->spiritball ) // maybe also monks' spiritballs ?
 		pc_delspiritball(sd,sd->spiritball,0);
 
 	if (src)

+ 1 - 1
src/map/skill.c

@@ -3662,7 +3662,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 		i = 0;
 		if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER)
 		{	// split the if for readability, and included gunslingers in the check so that their coins cannot be removed [Reddozen]
-			i = dstsd->spiritball * 10;
+			i = dstsd->spiritball * 7;
 			pc_delspiritball(dstsd,dstsd->spiritball,0);
 		} else if (dstmd && !(tstatus->mode&MD_BOSS) && rand() % 100 < 20)
 		{	// check if target is a monster and not a Boss, for the 20% chance to absorb 2 SP per monster's level [Reddozen]