示例#1
0
        public void draw_armor_integrity_ratio(SpriteBatch sBatch, Armor target_armor, Color target_color, bool above)
        {
            string armor_max_c_integ = target_armor.get_max_c_integ().ToString();
            string armor_max_integ   = target_armor.get_max_integ().ToString();

            int line_spacing = big_text_font.LineSpacing;

            if (above)
            {
                line_spacing *= -1;
            }

            if (target_armor.what_armor_type() == Armor.Armor_Type.Helmet)
            {
                string  armor_head_report       = target_armor.get_helm_integ().ToString() + "/" + armor_max_integ;
                Vector2 armor_head_rep_position = new Vector2(head_center.X - big_text_font.MeasureString(armor_head_report).X / 2, head_center.Y);
                sBatch.DrawString(big_text_font, armor_head_report, armor_head_rep_position, target_color);
            }
            else
            {
                string  armor_chest_report       = target_armor.get_chest_integ().ToString() + "/" + armor_max_c_integ;
                Vector2 armor_chest_rep_position = new Vector2(torso_center.X - big_text_font.MeasureString(armor_chest_report).X / 2, torso_center.Y + line_spacing);
                sBatch.DrawString(big_text_font, armor_chest_report, armor_chest_rep_position, target_color);

                string  armor_larm_report       = target_armor.get_larm_integ().ToString() + "/" + armor_max_integ;
                Vector2 armor_larm_rep_position = new Vector2(larm_center.X - big_text_font.MeasureString(armor_larm_report).X / 2, larm_center.Y + line_spacing);
                sBatch.DrawString(big_text_font, armor_larm_report, armor_larm_rep_position, target_color);

                string  armor_rarm_report       = target_armor.get_rarm_integ().ToString() + "/" + armor_max_integ;
                Vector2 armor_rarm_rep_position = new Vector2(rarm_center.X - big_text_font.MeasureString(armor_rarm_report).X / 2, rarm_center.Y + line_spacing);
                sBatch.DrawString(big_text_font, armor_rarm_report, armor_rarm_rep_position, target_color);

                string  armor_lleg_report       = target_armor.get_lleg_integ().ToString() + "/" + armor_max_integ;
                Vector2 armor_lleg_rep_position = new Vector2(lleg_center.X - big_text_font.MeasureString(armor_lleg_report).X / 2, lleg_center.Y + line_spacing);
                sBatch.DrawString(big_text_font, armor_lleg_report, armor_lleg_rep_position, target_color);

                string  armor_rleg_report       = target_armor.get_rleg_integ().ToString() + "/" + armor_max_integ;
                Vector2 armor_rleg_rep_position = new Vector2(rleg_center.X - big_text_font.MeasureString(armor_rleg_report).X / 2, rleg_center.Y + line_spacing);
                sBatch.DrawString(big_text_font, armor_rleg_report, armor_rleg_rep_position, target_color);
            }
        }
示例#2
0
        public Armor(int IDno, int goldVal, string myName, Armor a)
            : base(IDno, goldVal, myName)
        {
            ablative_value   = a.get_armor_value(Armor.Armor_Value.Ablative);
            insulative_value = a.get_armor_value(Armor.Armor_Value.Insulative);
            padding_value    = a.get_armor_value(Armor.Armor_Value.Padding);
            hardness_value   = a.get_armor_value(Armor.Armor_Value.Hardness);
            rigidness_value  = a.get_armor_value(Armor.Armor_Value.Rigidness);

            max_integrity       = a.get_max_integ();
            max_chest_integrity = a.get_max_c_integ();
            c_chest_integ       = max_chest_integrity;
            c_rarm_integ        = max_integrity;
            c_larm_integ        = max_integrity;
            c_rleg_integ        = max_integrity;
            c_lleg_integ        = max_integrity;
            c_helm_integ        = max_integrity;

            my_armor_type      = a.what_armor_type();
            talismans_equipped = a.get_my_equipped_talismans();
        }
示例#3
0
        public void draw_armorText(ref SpriteBatch sBatch, Armor ax, Vector2 ixtextPosition, bool compareA1)
        {
            int linedif        = 34;
            int axablative     = ax.get_armor_value(Armor.Armor_Value.Ablative);
            int axinsulat      = ax.get_armor_value(Armor.Armor_Value.Insulative);
            int axpadding      = ax.get_armor_value(Armor.Armor_Value.Padding);
            int axhardness     = ax.get_armor_value(Armor.Armor_Value.Hardness);
            int axrigidty      = ax.get_armor_value(Armor.Armor_Value.Rigidness);
            int slashingAbsorb = (axhardness * 4) + (axrigidty * 2);
            int piercingAbsorb = (axhardness * 4) + (axpadding * 2);
            int crushingAbsorb = (axrigidty * 4) + (axpadding * 2);
            int fireAbsorb     = (axablative * 4) + (axrigidty * 2);
            int frostAbsorb    = (axpadding * 4) + (axinsulat * 2);
            int elecAbsorb     = (axinsulat * 4) + (axpadding * 2);
            int acidAbsorb     = (axinsulat * 4) + (axablative * 2);
            int integrity      = ax.get_max_integ();

            string[]   wname    = ax.get_my_name().Split(' ');
            SpriteFont nameFont = std_textfont;

            if (ax.get_my_name().Length > 10 || wname.Count() > 1)
            {
                nameFont = small_textfont;
            }

            //Draw item name.
            Vector2 namePos = new Vector2(ixtextPosition.X, i1rect.Bottom + (nameFont.LineSpacing - 10));

            for (int i = 0; i < wname.Count(); i++)
            {
                namePos.X = ixtextPosition.X - (nameFont.MeasureString(wname[i]).X / 2);
                sBatch.DrawString(nameFont, wname[i], namePos, Color.White);
                namePos.Y += (nameFont.LineSpacing - 5);
            }

            //Draw slashing absorb
            sBatch.DrawString(std_textfont, slashingAbsorb.ToString() + "%", ixtextPosition, Color.White);
            //if comparison.
            if (compareA1)
            {
                int a1slashingabsorb = (a1.get_armor_value(Armor.Armor_Value.Hardness) * 4) + (a1.get_armor_value(Armor.Armor_Value.Rigidness) * 2);
                draw_difference(a1slashingabsorb - slashingAbsorb, ixtextPosition, slashingAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw crushing absorb
            sBatch.DrawString(std_textfont, crushingAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1crushingabsorb = (a1.get_armor_value(Armor.Armor_Value.Hardness) * 4) + (a1.get_armor_value(Armor.Armor_Value.Padding) * 2);
                draw_difference(a1crushingabsorb - crushingAbsorb, ixtextPosition, crushingAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw piercing absorb
            sBatch.DrawString(std_textfont, piercingAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1piercingabsorb = (a1.get_armor_value(Armor.Armor_Value.Hardness) * 4) + (a1.get_armor_value(Armor.Armor_Value.Padding) * 2);
                draw_difference(a1piercingabsorb - piercingAbsorb, ixtextPosition, piercingAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw fire absorb
            sBatch.DrawString(std_textfont, fireAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1fireabsorb = (a1.get_armor_value(Armor.Armor_Value.Ablative) * 4) + (a1.get_armor_value(Armor.Armor_Value.Hardness) * 2);
                draw_difference(a1fireabsorb - fireAbsorb, ixtextPosition, fireAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw frost absorb
            sBatch.DrawString(std_textfont, frostAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1frostabsorb = (a1.get_armor_value(Armor.Armor_Value.Padding) * 4) + (a1.get_armor_value(Armor.Armor_Value.Insulative) * 2);
                draw_difference(a1frostabsorb - frostAbsorb, ixtextPosition, frostAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw electric absorb
            sBatch.DrawString(std_textfont, elecAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1elecabsorb = (a1.get_armor_value(Armor.Armor_Value.Insulative) * 4) + (a1.get_armor_value(Armor.Armor_Value.Padding) * 2);
                draw_difference(a1elecabsorb - elecAbsorb, ixtextPosition, elecAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw acid absorb
            sBatch.DrawString(std_textfont, acidAbsorb.ToString() + "%", ixtextPosition, Color.White);
            if (compareA1)
            {
                int a1acidabsorb = (a1.get_armor_value(Armor.Armor_Value.Insulative) * 4) + (a1.get_armor_value(Armor.Armor_Value.Ablative) * 2);
                draw_difference(a1acidabsorb - acidAbsorb, ixtextPosition, acidAbsorb.ToString(), ref sBatch, true);
            }
            ixtextPosition.Y += linedif;

            //draw integrity
            sBatch.DrawString(std_textfont, integrity.ToString(), ixtextPosition, Color.White);
            if (compareA1)
            {
                int diff = a1.get_max_integ() - ax.get_max_integ();
                draw_difference(diff, ixtextPosition, integrity.ToString(), ref sBatch, false);
            }
            ixtextPosition.Y += linedif;
        }