protected virtual int UpdateIDModifiers(GalleonStatus status, Direction facing) { int intStatus = (int)status; int intFacing = (int)facing / 2; CurrentItemIdModifier = itemIDMods[intStatus, intFacing]; switch (intFacing) { case 0: { CannonItemIdModifier = 0; CannonItemIdModifierSx = -1; CannonItemIdModifierDx = 1; break; } case 1: { CannonItemIdModifier = 1; CannonItemIdModifierSx = 0; CannonItemIdModifierDx = -2; break; } case 2: { CannonItemIdModifier = -2; CannonItemIdModifierSx = 1; CannonItemIdModifierDx = -1; break; } case 3: { CannonItemIdModifier = -1; CannonItemIdModifierSx = -2; CannonItemIdModifierDx = 0; break; } } return(multiIDs[intStatus] + intFacing); }
protected override void OnDurabilityChange(ushort oldDurability) { GalleonStatus newStatus = (GalleonStatus)(Durability / Math.Ceiling(MaxDurability / 3.0)); if (newStatus != Status) { Status = newStatus; ItemID = GetMultiId(Facing); OnStatusChange(); } GalleonCondition newCondition = (GalleonCondition)(Durability / Math.Ceiling(MaxDurability / 4.0)); if (newCondition != Condition) { Condition = newCondition; if (TillerMan != null) { TillerMan.RefreshTillerMan(); } } }