Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="gch"></param>
        /// <param name="victim"></param>
        /// <returns></returns>
        public static int CalculateAlign(this CharacterInstance gch, CharacterInstance victim)
        {
            var align = gch.CurrentAlignment - victim.CurrentAlignment;

            var divalign = 20;

            if (gch.CurrentAlignment > -350 && gch.CurrentAlignment < 350)
            {
                divalign = 4;
            }

            int newAlign;

            if (align > 500)
            {
                newAlign = Macros.UMIN(gch.CurrentAlignment + (align - 500) / divalign, 1000);
            }
            else if (align < -500)
            {
                newAlign = Macros.UMAX(gch.CurrentAlignment + (align + 500) / divalign, -1000);
            }
            else
            {
                newAlign = gch.CurrentAlignment - (int)(gch.CurrentAlignment / divalign);
            }

            return(newAlign);
        }