Fixed restoring summons on login.

This commit is contained in:
MobiusDev 2018-04-02 13:44:23 +00:00
parent 711581a2bc
commit 40558fe87b
6 changed files with 48 additions and 30 deletions

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}

View File

@ -197,18 +197,21 @@ public class CharSummonTable
final int time = rs.getInt("time");
skill = SkillData.getInstance().getSkill(skillId, activeChar.getSkillLevel(skillId));
if ((skill == null) || !activeChar.hasServitor(summonObjId))
if (skill == null)
{
removeServitor(activeChar, summonObjId);
return;
}
removeServitor(activeChar, summonObjId);
skill.applyEffects(activeChar, activeChar);
final L2ServitorInstance summon = (L2ServitorInstance) activeChar.getServitor(summonObjId);
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
if (summon != null)
{
summon.setCurrentHp(curHp);
summon.setCurrentMp(curMp);
summon.setLifeTimeRemaining(time);
}
}
}
}