示例#1
0
        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);
        }
示例#2
0
        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();
                }
            }
        }