diff --git a/src/engine/objects/MobBase.java b/src/engine/objects/MobBase.java index 9d399c2e..2bf3ca6f 100644 --- a/src/engine/objects/MobBase.java +++ b/src/engine/objects/MobBase.java @@ -117,7 +117,7 @@ public class MobBase extends AbstractGameObject { if (this.flags.contains(mbEnums.MobFlagType.RAT)) this.mask += MBServerStatics.MASK_RAT; - this.mobBaseStats = DbManager.MobBaseQueries.LOAD_STATS(this.loadID); + this.mobBaseStats = (rune != null) ? new MobBaseStats(rune) : MobBaseStats.GetGenericStats(); DbManager.MobBaseQueries.LOAD_ALL_MOBBASE_SPEEDS(this); //load effects for mobbase this.effectsList = DbManager.MobBaseQueries.GET_RUNEBASE_EFFECTS(this.loadID); diff --git a/src/engine/objects/MobBaseStats.java b/src/engine/objects/MobBaseStats.java index 2781c174..1c789f8d 100644 --- a/src/engine/objects/MobBaseStats.java +++ b/src/engine/objects/MobBaseStats.java @@ -9,6 +9,9 @@ package engine.objects; +import engine.mbEnums; +import engine.parsers.objects.RuneTemplate; + import java.sql.ResultSet; import java.sql.SQLException; @@ -38,6 +41,16 @@ public class MobBaseStats { this.mobbaseSkillAmount = rs.getInt("skillAmount"); } + public MobBaseStats(RuneTemplate rune) { + this.baseStr = rune.rune_attr_adj.getOrDefault(mbEnums.AttributeType.Strength, 0); + this.baseInt = rune.rune_attr_adj.getOrDefault(mbEnums.AttributeType.Intelligence, 0); + this.baseCon = rune.rune_attr_adj.getOrDefault(mbEnums.AttributeType.Constitution, 0); + this.baseSpi = rune.rune_attr_adj.getOrDefault(mbEnums.AttributeType.Spirit, 0); + this.baseDex = rune.rune_attr_adj.getOrDefault(mbEnums.AttributeType.Dexterity, 0); + this.mobbaseSkill = 0; + this.mobbaseSkillAmount = 0; + } + /** * Generic Constructor */