Преглед изворни кода

Follow-up to r17402 - Fix compiling warnings and VCC errors

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17403 54d463be-8e91-2dee-dedb-b68131a5f0ec
akinari1087 пре 12 година
родитељ
комит
b5eb9a8fc2
4 измењених фајлова са 15 додато и 16 уклоњено
  1. 1 1
      sql-files/item_db_re.sql
  2. 10 11
      src/map/battle.c
  3. 3 3
      src/map/skill.c
  4. 1 1
      src/map/status.c

+ 1 - 1
sql-files/item_db_re.sql

@@ -3574,7 +3574,7 @@ REPLACE INTO `item_db_re` VALUES (5846,'Buzzy_Ball_Gum','Buzzy Ball Gum',5,50,NU
 #REPLACE INTO `item_db_re` VALUES (5849,'Doctor_Hairband','Doctor Hairband',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,'1',0,60,NULL,NULL,NULL);
 #REPLACE INTO `item_db_re` VALUES (5850,'Golden_Savage_Hat','Golden Savage Hat',5,20,NULL,500,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,'50',1,648,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (5851,'Summer_Knight','Summer Knight',5,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,768,NULL,'60',0,138,NULL,NULL,NULL);
-#REPLACE INTO `item_db_re` VALUES (5852,'Resurrect_Egg_Shell','Resurrect Egg Shell',5,20,NULL,500,NULL,-7,NULL,0,0xFFFFFFFF,7,2,256,NULL,'40',1,537,'bonus bMdef,-7;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (5852,'Easter_Egg_Shell','Easter Egg Shell',5,20,NULL,500,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,'40',1,537,'bonus bDef,-7; bonus bMdef,-7; bonus2 bHPRegenRate,(MaxHp/100),10000; if (getrefine()>=7) bonus bFlee,2; if (getrefine() >= 9) bonus2 bSPRegenRate,(MaxSp/100),10000;',NULL,NULL);
 #
 REPLACE INTO `item_db_re` VALUES (5856,'Passion_FB_Hat','Passion FB Hat',5,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,'1',1,671,'bonus bStr,2; bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (5857,'Cool_FB_Hat','Cool FB Hat',5,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,'1',1,672,'bonus bInt,2; bonus bVit,2;',NULL,NULL);

+ 10 - 11
src/map/battle.c

@@ -2372,10 +2372,6 @@ struct Damage battle_calc_skill_base_damage(struct Damage wd, struct block_list
 	struct status_data *sstatus = status_get_status_data(src);
 	struct status_data *tstatus = status_get_status_data(target);
 	struct map_session_data *sd = BL_CAST(BL_PC, src);
-#ifdef RENEWAL
-	struct map_session_data *tsd = BL_CAST(BL_PC, target);
-	int right_element, left_element;
-#endif
 	int i, skill;
 	
 	int nk = battle_skill_get_damage_properties(skill_id, wd.miscflag);
@@ -4185,9 +4181,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
 #ifdef RENEWAL
 	if(is_attack_critical(wd, src, target, skill_id, skill_lv, false)) {
 		if(sd) // monsters don't have crit_atk_rate
-			wd.damage = (int64)floor((double)wd.damage * 1.4 * ((double)(100 + sd->bonus.crit_atk_rate) / 100.0));
+			wd.damage = (int32)floor(wd.damage * 1.4 * ((100 + sd->bonus.crit_atk_rate) / 100));
 		else
-			wd.damage = (int64)floor((double)wd.damage * 1.4);
+			wd.damage = (int32)floor(wd.damage * 1.4);
 	}
 #endif
 
@@ -5055,16 +5051,18 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 		// base skill dmg = currenthp + ((atk * currenthp * skill lvl) / maxhp) 
 		// final damage = base damage + ((mirror image count + 1) / 5 * base damage) - (edef + sdef)
 		{
+			short totaldef;
 			struct Damage atk = battle_calc_weapon_attack(src, target, skill_id, skill_lv, 0);
-			md.damage = (int64)sstatus->hp + (atk.damage * (int64)sstatus->hp * skill_lv) / (int64)sstatus->max_hp;
-			
 			struct status_change *sc = status_get_sc(src);
+
+			md.damage = (int64)sstatus->hp + (atk.damage * (int64)sstatus->hp * skill_lv) / (int64)sstatus->max_hp;
+
 			if (sc && sc->data[SC_BUNSINJYUTSU] && (i=sc->data[SC_BUNSINJYUTSU]->val2) > 0) { // mirror image bonus only occurs if active
 				md.div_ = -( i + 2 ); // mirror image count + 2
 				md.damage += (md.damage * (((i + 1) * 10) / 5)) / 10;
 			}
 			// modified def reduction, final damage = base damage - (edef + sdef)
-			short totaldef = tstatus->def2 + (short)status_get_def(target);
+			totaldef = tstatus->def2 + (short)status_get_def(target);
 			md.damage -= totaldef;
 		}
 		break;
@@ -5082,6 +5080,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 	case ASC_BREAKER:
 #ifdef RENEWAL
 		{
+			short totaldef, totalmdef;
 			struct Damage atk = battle_calc_weapon_attack(src, target, skill_id, skill_lv, 0);
 			struct Damage matk = battle_calc_magic_attack(src, target, skill_id, skill_lv, 0);
 			nk|=NK_NO_ELEFIX; // atk part takes on weapon element, matk part is non-elemental
@@ -5090,8 +5089,8 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 			md.damage = ((30 + (5 * skill_lv)) * (atk.damage + matk.damage)) / 10;
 			
 			// modified def reduction, final damage = base damage - (edef + sdef + emdef + smdef)
-			short totaldef = tstatus->def2 + (short)status_get_def(target);
-			short totalmdef = tstatus->mdef + tstatus->mdef2;
+			totaldef = tstatus->def2 + (short)status_get_def(target);
+			totalmdef = tstatus->mdef + tstatus->mdef2;
 			md.damage -= totaldef + totalmdef;
 		}
 #else

+ 3 - 3
src/map/skill.c

@@ -4216,13 +4216,13 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 #ifdef RENEWAL
 	case NJ_ISSEN: // teleport for Issen
 		{
-			status_change_end(bl, SC_NEN, INVALID_TIMER);
-			status_change_end(bl, SC_HIDING, INVALID_TIMER);
-		
 			short x, y, i = 2; // Move 2 cells for Issen(from target)
 			struct block_list *mbl = bl;
 			short dir = 0;
 
+			status_change_end(bl, SC_NEN, INVALID_TIMER);
+			status_change_end(bl, SC_HIDING, INVALID_TIMER);
+
 			skill_attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag);
 
 			status_set_hp(src,max(status_get_max_hp(src)/100, 1),0);

+ 1 - 1
src/map/status.c

@@ -1906,7 +1906,7 @@ static unsigned short status_base_atk(const struct block_list *bl, const struct
 #ifdef RENEWAL
 unsigned int status_weapon_atk(struct weapon_atk wa, struct status_data *status)
 {
-	float str = status->str;
+	short str = status->str;
 
 	if (wa.range > 1)
 		str = status->dex;