/// <summary> /// Changes effect to check if the given race is supported by the /// item owner. /// </summary> /// <param name="race"></param> public void SetSupportCheck(SupportRace race) { CheckType = UpgradeCheckType.WhenSupporting; CheckRace = race; CheckValueType = 0; CheckValue = 0; }
/// <summary> /// Changes effect to check if today is the given Erinn month. /// </summary> /// <param name="month"></param> public void SetMonthCheck(Month month) { CheckType = UpgradeCheckType.WhileBeing; CheckMonth = month; CheckValueType = 0; CheckValue = 0; }
// ^ Skill check ^ /// <summary> /// Initializes upgrade effect, setting required default values. /// You should generally use this constructor! /// </summary> /// <param name="type"></param> public UpgradeEffect(UpgradeType type) { Type = type; Unk1 = 0; Unk2 = 0; Stat = 0; ValueType = 0; Value = 0; SkillId = 0; SkillVar = 0; Unk4 = 0x0A; Unk5 = 0; CheckType = UpgradeCheckType.None; CheckStat = 0; CheckRace = 0; CheckPtj = 0; CheckMonth = 0; CheckBroken = false; CheckTitleId = 0; CheckCondition = 0; CheckValueType = 0; CheckValue = 0; CheckSkillId = 0; CheckSkillRank = 0; }
/// <summary> /// Changes effect to check if the item is broken (0 durability). /// </summary> /// <param name="broken">False = intact, True = broken.</param> public void SetBrokenCheck(bool broken) { CheckType = UpgradeCheckType.WhenBroken; CheckBroken = broken; CheckValueType = 0; CheckValue = 0; }
/// <summary> /// Changes effect to give a skill bonus. /// </summary> /// <param name="skillId"></param> /// <param name="skillVar"></param> /// <param name="value"></param> public void SetSkillEffect(SkillId skillId, short skillVar, short value, UpgradeValueType valueType) { Unk2 = 0x1B; Stat = UpgradeStat.Skill; ValueType = valueType; Value = value; SkillId = skillId; SkillVar = skillVar; }
/// <summary> /// Changes effect to check for the given summon to be there. /// </summary> /// <param name="summonStat"></param> public void SetSummonCheck(UpgradeStat summonStat) { if (summonStat != UpgradeStat.Pet && summonStat != UpgradeStat.BarrierSpikes && summonStat != UpgradeStat.Golem) { throw new ArgumentException(summonStat + " is not a summon stat."); } CheckType = UpgradeCheckType.WhileSummoned; CheckStat = summonStat; CheckValueType = 0; CheckValue = 0; }
/// <summary> /// Changes effect to check a stat for a value. /// </summary> /// <param name="stat"></param> /// <param name="checkType"></param> /// <param name="value"></param> public void SetStatCheck(UpgradeStat stat, UpgradeCheckType checkType, short value, UpgradeValueType valueType) { if (checkType < UpgradeCheckType.GreaterThan || checkType > UpgradeCheckType.Equal) { throw new ArgumentException(checkType + " is not a stat check."); } CheckType = checkType; CheckStat = stat; CheckValueType = valueType; CheckValue = value; }
/// <summary> /// Changes effect to give a stat bonus. /// </summary> /// <param name="stat"></param> /// <param name="value"></param> /// <param name="valueType"></param> public void SetStatEffect(UpgradeStat stat, short value, UpgradeValueType valueType) { if (stat < UpgradeStat.Fire || stat > UpgradeStat.Lightning) { Unk2 = 0x00; } else { Unk2 = 0x02; } Stat = stat; ValueType = valueType; Value = value; }
/// <summary> /// Changes effect to check for the given summon to be there. /// </summary> /// <param name="summonStat"></param> public void SetSummonCheck(UpgradeStat summonStat) { if (summonStat != UpgradeStat.Pet && summonStat != UpgradeStat.BarrierSpikes && summonStat != UpgradeStat.Golem) throw new ArgumentException(summonStat + " is not a summon stat."); CheckType = UpgradeCheckType.WhileSummoned; CheckStat = summonStat; CheckValueType = 0; CheckValue = 0; }
/// <summary> /// Changes effect to check a stat for a value. /// </summary> /// <param name="stat"></param> /// <param name="checkType"></param> /// <param name="value"></param> public void SetStatCheck(UpgradeStat stat, UpgradeCheckType checkType, short value, UpgradeValueType valueType) { if (checkType < UpgradeCheckType.GreaterThan || checkType > UpgradeCheckType.Equal) throw new ArgumentException(checkType + " is not a stat check."); CheckType = checkType; CheckStat = stat; CheckValueType = valueType; CheckValue = value; }
/// <summary> /// Changes effect to give a stat bonus. /// </summary> /// <param name="stat"></param> /// <param name="value"></param> /// <param name="valueType"></param> public void SetStatEffect(UpgradeStat stat, short value, UpgradeValueType valueType) { if (stat < UpgradeStat.Fire || stat > UpgradeStat.Lightning) Unk2 = 0x00; else Unk2 = 0x02; Stat = stat; ValueType = valueType; Value = value; }