Browse Source

* Fixed usage of mvp_hp_rate and monster_hp_rate. MVP rate was used for common monsters [Lupus]
* Added additional random respawn delay for instant respawning monsters (0..5 seconds) [Lupus]
- Should be made as an option of battle_athena.conf


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

Lupus 20 years ago
parent
commit
bcd9a01531
4 changed files with 18 additions and 7 deletions
  1. 4 0
      Changelog-SVN.txt
  2. 7 0
      Dev/bugs.txt
  3. 1 1
      src/map/mob.c
  4. 6 6
      src/map/status.c

+ 4 - 0
Changelog-SVN.txt

@@ -1,5 +1,9 @@
 Date	Added
 
+03/12
+        * Fixed usage of mvp_hp_rate and monster_hp_rate. MVP rate was used for common monsters [Lupus]
+	* Added additional random respawn delay for instant respawning monsters (0..5 seconds) [Lupus]
+		- Should be made as an option of battle_athena.conf
 03/11
         * Fixed "--en/ja--" usage in 'monster' script not working properly, thanks
           to sbilly [celest]

+ 7 - 0
Dev/bugs.txt

@@ -398,3 +398,10 @@ Problem:	Party EXP share bug
 			* SQL parties have been fixed in Freya (but the whole file int_party.c has been rewritten there)
 Assigned:	N/A
 Progress:	0%
+
+Problem:	Guilds Breaking
+		When you BREAK your guild and then someone re-creates another guild with the same Name
+		Then new GULD would have LEVEL, EXP, STATS of the broken guild
+			Probably it isn't being deleted from memory.
+Assigned:	N/A
+Progress:	0%

+ 1 - 1
src/map/mob.c

@@ -903,7 +903,7 @@ int mob_setdelayspawn(int id)
 
 	spawntime1=md->last_spawntime+md->spawndelay1;
 	spawntime2=md->last_deadtime+md->spawndelay2;
-	spawntime3=gettick()+5000;
+	spawntime3=gettick()+5000+rand()%5000; //Lupus
 	// spawntime = max(spawntime1,spawntime2,spawntime3);
 	if(DIFF_TICK(spawntime1,spawntime2)>0)
 		spawntime=spawntime1;

+ 6 - 6
src/map/status.c

@@ -1669,15 +1669,15 @@ int status_get_max_hp(struct block_list *bl)
 			if(battle_config.mobs_level_up) // mobs leveling up increase [Valaris]
 				max_hp += (md->level - mob_db[md->class_].lv) * status_get_vit(bl);
 
-			if(mob_db[md->class_].mexp > 0) {
+			if(mob_db[md->class_].mexp > 0) { //MVP Monsters
 				if(battle_config.mvp_hp_rate != 100) {
 					double hp = (double)max_hp * battle_config.mvp_hp_rate / 100.0;
 					max_hp = (hp > 0x7FFFFFFF ? 0x7FFFFFFF : (int)hp);
 				}
 			}
-			else {
-				if(battle_config.mvp_hp_rate != 100) {
-					double hp = (double)max_hp * battle_config.mvp_hp_rate / 100.0;
+			else {	//Common MONSTERS
+				if(battle_config.monster_hp_rate != 100) {
+					double hp = (double)max_hp * battle_config.monster_hp_rate / 100.0;
 					max_hp = (hp > 0x7FFFFFFF ? 0x7FFFFFFF : (int)hp);
 				}
 			}
@@ -1687,11 +1687,11 @@ int status_get_max_hp(struct block_list *bl)
 			nullpo_retr(1, pd = (struct pet_data*)bl);
 			max_hp = mob_db[pd->class_].max_hp;
 
-			if(mob_db[pd->class_].mexp > 0) {
+			if(mob_db[pd->class_].mexp > 0) { //MVP Monsters 
 				if(battle_config.mvp_hp_rate != 100)
 					max_hp = (max_hp * battle_config.mvp_hp_rate)/100;
 			}
-			else {
+			else {	//Common MONSTERS
 				if(battle_config.monster_hp_rate != 100)
 					max_hp = (max_hp * battle_config.monster_hp_rate)/100;
 			}