Bladeren bron

Some updates

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1120 54d463be-8e91-2dee-dedb-b68131a5f0ec
celest 20 jaren geleden
bovenliggende
commit
6dedcd15dc
2 gewijzigde bestanden met toevoegingen van 16 en 3 verwijderingen
  1. 6 0
      doc/item_bonus.txt
  2. 10 3
      src/map/pc.c

+ 6 - 0
doc/item_bonus.txt

@@ -158,5 +158,11 @@ bonus2 bSkillAtk,n,x;			Increase damage of skill n by x%
 bonus2 bAddDamageByClass,n,x;		When being hit by monster of class n increase
                                         damage taken by x%
 
+bonus3 bHPLossRate,n,x,y;		Lose n amount of hp every x amount of time
+                                        y:0=Don't show damage 1=Show damage
 bonus3 bAutoSpellWhenHit,x,y,n;		n% chance to cast skill x of level y when
                                         being hit by physical close range damage
+
+bonus4 bAutoSpellWhenHit,x,y,n,i;	n% chance to cast skill x of level y when
+                                        being hit by physical close range damage
+                                        i:0=cast on self  1=cast on enemy

+ 10 - 3
src/map/pc.c

@@ -1885,6 +1885,13 @@ int pc_bonus3(struct map_session_data *sd,int type,int type2,int type3,int val)
 			sd->autospell2_type = 1;	// enemy
 		}
 		break;
+	case SP_HP_LOSS_RATE:
+		if(sd->state.lr_flag != 2) {
+			sd->hp_loss_value = type2;
+			sd->hp_loss_rate = type3;
+			sd->hp_loss_type = val;
+		}
+		break;
 	default:
 		if(battle_config.error_log)
 			printf("pc_bonus3: unknown type %d %d %d %d!\n",type,type2,type3,val);
@@ -6646,10 +6653,10 @@ static int pc_bleeding (struct map_session_data *sd)
 			sd->hp_loss_tick -= interval;
 			if (sd->status.hp < hp)
 				hp = sd->status.hp;
-			if (sd->hp_loss_type == 0) {
-				pc_heal(sd,-hp,0);
-			} else if (sd->hp_loss_type == 1) {
+			if (sd->hp_loss_type == 1) {
+				clif_damage(&sd->bl,&sd->bl,gettick(),0,0,hp,0,0,0);
 			}
+			pc_heal(sd,-hp,0);
 			sd->hp_loss_tick = 0;
 		}
 	}