forked from MagicBane/Server
null checks
This commit is contained in:
@@ -265,6 +265,9 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
this.ownerUID = mob.getObjectUUID();
|
this.ownerUID = mob.getObjectUUID();
|
||||||
this.isMobOwner = true;
|
this.isMobOwner = true;
|
||||||
boolean isGuard = mob.agentType.equals(Enum.AIAgentType.GUARDCAPTAIN) || mob.agentType.equals(Enum.AIAgentType.GUARDMINION);
|
boolean isGuard = mob.agentType.equals(Enum.AIAgentType.GUARDCAPTAIN) || mob.agentType.equals(Enum.AIAgentType.GUARDMINION);
|
||||||
|
if(isGuard) {
|
||||||
|
boolean poop = true;
|
||||||
|
}
|
||||||
calculateMobBaseAmount(isGuard);
|
calculateMobBaseAmount(isGuard);
|
||||||
calculateModifiedAmount(isGuard);
|
calculateModifiedAmount(isGuard);
|
||||||
this.skillType = CharacterSkills.GetCharacterSkillByToken(this.skillsBase.getToken());
|
this.skillType = CharacterSkills.GetCharacterSkillByToken(this.skillsBase.getToken());
|
||||||
@@ -1036,15 +1039,15 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
//Get any rune bonus
|
//Get any rune bonus
|
||||||
float bonus = 0f;
|
float bonus = 0f;
|
||||||
//TODO SKILLS RUNES
|
//TODO SKILLS RUNES
|
||||||
|
float base = 7f;
|
||||||
|
float statMod = 0.5f;
|
||||||
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
||||||
//Get bonuses from runes
|
//Get bonuses from runes
|
||||||
bonus = CharacterSkill.GetOwner(this).getBonuses().getSkillBonus(this.skillsBase.sourceType);
|
bonus = CharacterSkill.GetOwner(this).getBonuses().getSkillBonus(this.skillsBase.sourceType);
|
||||||
}
|
|
||||||
|
|
||||||
//Get Base skill for unmodified stats
|
//Get Base skill for unmodified stats
|
||||||
float base = 7f;
|
|
||||||
float statMod = 0.5f;
|
|
||||||
if (this.skillsBase.getStrMod() > 0)
|
if (this.skillsBase.getStrMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getStrMod() * (float) ((Mob) CharacterSkill.GetOwner(this)).getMobBase().getMobBaseStats().getBaseStr() / 100f;
|
statMod += (float) this.skillsBase.getStrMod() * (float) ((Mob) CharacterSkill.GetOwner(this)).getMobBase().getMobBaseStats().getBaseStr() / 100f;
|
||||||
if (this.skillsBase.getDexMod() > 0)
|
if (this.skillsBase.getDexMod() > 0)
|
||||||
@@ -1059,6 +1062,7 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
statMod = 1f;
|
statMod = 1f;
|
||||||
else if (statMod > 600)
|
else if (statMod > 600)
|
||||||
statMod = 600f;
|
statMod = 600f;
|
||||||
|
}
|
||||||
base += CharacterSkill.baseSkillValues[(int) statMod];
|
base += CharacterSkill.baseSkillValues[(int) statMod];
|
||||||
|
|
||||||
if (base + bonus < 1f)
|
if (base + bonus < 1f)
|
||||||
@@ -1079,35 +1083,37 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
}
|
}
|
||||||
//Get any rune bonus
|
//Get any rune bonus
|
||||||
float bonus = 0f;
|
float bonus = 0f;
|
||||||
|
float base = 7f;
|
||||||
|
float statMod = 0.5f;
|
||||||
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
||||||
//Get bonuses from runes
|
//Get bonuses from runes
|
||||||
bonus = CharacterSkill.GetOwner(this).getBonuses().getSkillBonus(this.skillsBase.sourceType);
|
bonus = CharacterSkill.GetOwner(this).getBonuses().getSkillBonus(this.skillsBase.sourceType);
|
||||||
}
|
|
||||||
|
|
||||||
//Get Base skill for modified stats
|
|
||||||
//TODO this fomula needs verified
|
//Get Base skill for modified stats
|
||||||
float base = 7f;
|
//TODO this fomula needs verified
|
||||||
float statMod = 0.5f;
|
|
||||||
if (this.skillsBase.getStrMod() > 0)
|
if (this.skillsBase.getStrMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getStrMod() * (float) CharacterSkill.GetOwner(this).getStatStrCurrent() / 100f;
|
statMod += (float) this.skillsBase.getStrMod() * (float) CharacterSkill.GetOwner(this).getStatStrCurrent() / 100f;
|
||||||
if (this.skillsBase.getDexMod() > 0)
|
if (this.skillsBase.getDexMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getDexMod() * (float) CharacterSkill.GetOwner(this).getStatDexCurrent() / 100f;
|
statMod += (float) this.skillsBase.getDexMod() * (float) CharacterSkill.GetOwner(this).getStatDexCurrent() / 100f;
|
||||||
if (this.skillsBase.getConMod() > 0)
|
if (this.skillsBase.getConMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getConMod() * (float) CharacterSkill.GetOwner(this).getStatConCurrent() / 100f;
|
statMod += (float) this.skillsBase.getConMod() * (float) CharacterSkill.GetOwner(this).getStatConCurrent() / 100f;
|
||||||
if (this.skillsBase.getIntMod() > 0)
|
if (this.skillsBase.getIntMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getIntMod() * (float) CharacterSkill.GetOwner(this).getStatIntCurrent() / 100f;
|
statMod += (float) this.skillsBase.getIntMod() * (float) CharacterSkill.GetOwner(this).getStatIntCurrent() / 100f;
|
||||||
if (this.skillsBase.getSpiMod() > 0)
|
if (this.skillsBase.getSpiMod() > 0)
|
||||||
statMod += (float) this.skillsBase.getSpiMod() * (float) CharacterSkill.GetOwner(this).getStatSpiCurrent() / 100f;
|
statMod += (float) this.skillsBase.getSpiMod() * (float) CharacterSkill.GetOwner(this).getStatSpiCurrent() / 100f;
|
||||||
if (statMod < 1)
|
if (statMod < 1)
|
||||||
statMod = 1f;
|
statMod = 1f;
|
||||||
else if (statMod > 600)
|
else if (statMod > 600)
|
||||||
statMod = 600f;
|
statMod = 600f;
|
||||||
|
}
|
||||||
base += CharacterSkill.baseSkillValues[(int) statMod];
|
base += CharacterSkill.baseSkillValues[(int) statMod];
|
||||||
SourceType sourceType = SourceType.GetSourceType(this.skillsBase.getNameNoSpace());
|
SourceType sourceType = SourceType.GetSourceType(this.skillsBase.getNameNoSpace());
|
||||||
|
|
||||||
//Get any rune, effect and item bonus
|
//Get any rune, effect and item bonus
|
||||||
|
|
||||||
if (CharacterSkill.GetOwner(this).getBonuses() != null) {
|
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
||||||
//add bonuses from effects/items and runes
|
//add bonuses from effects/items and runes
|
||||||
base += bonus + CharacterSkill.GetOwner(this).getBonuses().getFloat(ModType.Skill, sourceType);
|
base += bonus + CharacterSkill.GetOwner(this).getBonuses().getFloat(ModType.Skill, sourceType);
|
||||||
}
|
}
|
||||||
@@ -1119,7 +1125,7 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
|
|
||||||
float modAmount = this.baseAmount + calculateAmountAfterTrains();
|
float modAmount = this.baseAmount + calculateAmountAfterTrains();
|
||||||
|
|
||||||
if (CharacterSkill.GetOwner(this).getBonuses() != null) {
|
if (CharacterSkill.GetOwner(this) != null && CharacterSkill.GetOwner(this).getBonuses() != null) {
|
||||||
//Multiply any percent bonuses
|
//Multiply any percent bonuses
|
||||||
modAmount *= (1 + CharacterSkill.GetOwner(this).getBonuses().getFloatPercentAll(ModType.Skill, sourceType));
|
modAmount *= (1 + CharacterSkill.GetOwner(this).getBonuses().getFloatPercentAll(ModType.Skill, sourceType));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user