private Scroll process_sDC(ScrollDC rs)
 {
     return new Scroll(rs);
 }
Example #2
0
        private Scroll process_sDC(ScrollDC rs)
        {
            int    SIDNO = rs.IDNumber;
            int    SCOST = rs.Cost;
            string SNAME = rs.Name;

            Scroll.Atk_Area_Type SAETP = 0;
            switch (rs.AOEType)
            {
            case "singleTile":
                SAETP = Scroll.Atk_Area_Type.singleTile;
                break;

            case "cloudAOE":
                SAETP = Scroll.Atk_Area_Type.cloudAOE;
                break;

            case "solidblockAOE":
                SAETP = Scroll.Atk_Area_Type.solidblockAOE;
                break;

            case "randomblockAOE":
                SAETP = Scroll.Atk_Area_Type.randomblockAOE;
                break;

            case "personalBuff":
                SAETP = Scroll.Atk_Area_Type.personalBuff;
                break;

            case "piercingBolt":
                SAETP = Scroll.Atk_Area_Type.piercingBolt;
                break;

            case "smallfixedAOE":
                SAETP = Scroll.Atk_Area_Type.smallfixedAOE;
                break;

            case "chainedBolt":
                SAETP = Scroll.Atk_Area_Type.chainedBolt;
                break;

            case "enemyDebuff":
                SAETP = Scroll.Atk_Area_Type.enemyDebuff;
                break;
            }
            int STIER = rs.ScrollTier;
            int SMANA = rs.ManaCost;
            int SRANG = rs.ScrollRange;
            int SAESZ = rs.AOESize;
            int SMNDM = rs.MinDamage;
            int SMADM = rs.MaxDamage;

            Attack.Damage SDMTP = 0;
            switch (rs.DamageType)
            {
            case "Acid":
                SDMTP = Attack.Damage.Acid;
                break;

            case "Crushing":
                SDMTP = Attack.Damage.Crushing;
                break;

            case "Electric":
                SDMTP = Attack.Damage.Electric;
                break;

            case "Fire":
                SDMTP = Attack.Damage.Fire;
                break;

            case "Frost":
                SDMTP = Attack.Damage.Frost;
                break;

            case "Piercing":
                SDMTP = Attack.Damage.Piercing;
                break;

            case "Slashing":
                SDMTP = Attack.Damage.Slashing;
                break;
            }
            bool SDSWL = false;

            if (String.Compare("Y", rs.DestroysWalls) == 0)
            {
                SDSWL = true;
            }
            bool SMLSP = false;

            if (String.Compare("Y", rs.MeleeSpell) == 0)
            {
                SMLSP = true;
            }
            int SCHIP = rs.ChainImpacts;

            Projectile.projectile_type SPRJT = 0;
            switch (rs.SpellProjectile)
            {
            case "Blank":
                SPRJT = Projectile.projectile_type.Blank;
                break;

            case "Arrow":
                SPRJT = Projectile.projectile_type.Arrow;
                break;

            case "Flamebolt":
                SPRJT = Projectile.projectile_type.Flamebolt;
                break;

            case "Javelin":
                SPRJT = Projectile.projectile_type.Javelin;
                break;

            case "AcidCloud":
                SPRJT = Projectile.projectile_type.AcidCloud;
                break;

            case "Crossbow_Bolt":
                SPRJT = Projectile.projectile_type.Crossbow_Bolt;
                break;

            case "Fireball":
                SPRJT = Projectile.projectile_type.Fireball;
                break;

            case "Lightning_Bolt":
                SPRJT = Projectile.projectile_type.Lightning_Bolt;
                break;

            case "Bonespear":
                SPRJT = Projectile.projectile_type.Bonespear;
                break;

            case "Bloody_AcidCloud":
                SPRJT = Projectile.projectile_type.Bloody_AcidCloud;
                break;
            }
            Projectile.special_anim SSPFX = 0;
            switch (rs.SpecialAnimation)
            {
            case "BloodAcid":
                SSPFX = Projectile.special_anim.BloodAcid;
                break;

            case "Alert":
                SSPFX = Projectile.special_anim.Alert;
                break;

            case "Earthquake":
                SSPFX = Projectile.special_anim.Earthquake;
                break;

            case "None":
                SSPFX = Projectile.special_anim.None;
                break;

            case "Blank":
                SSPFX = Projectile.special_anim.Blank;
                break;
            }
            Scroll.Status_Type SBFDB = 0;
            switch (rs.SpellSpecialEffect)
            {
            case "Anosmia":
                SBFDB = Scroll.Status_Type.Anosmia;
                break;

            case "Blind":
                SBFDB = Scroll.Status_Type.Blind;
                break;

            case "Deaf":
                SBFDB = Scroll.Status_Type.Deaf;
                break;

            case "LynxFer":
                SBFDB = Scroll.Status_Type.LynxFer;
                break;

            case "PantherFer":
                SBFDB = Scroll.Status_Type.PantherFer;
                break;

            case "TigerFer":
                SBFDB = Scroll.Status_Type.TigerFer;
                break;
            }
            int SBDDR = rs.SpecialEffectDuration;

            return(new Scroll(SIDNO, SCOST, SNAME, STIER, SMANA, SRANG, SAESZ, SMNDM,
                              SMADM, SMLSP, SAETP, SPRJT, SDMTP, SDSWL, SCHIP, SBFDB,
                              SBDDR, SSPFX));
        }
        private XmlNode fill_in_scroll_node(XmlDocument rootDocument, XmlNode rootNode, ScrollDC raw_scroll)
        {
            //Generic item properites
            XmlNode scroll_id_node = rootDocument.CreateElement("Scroll_ID");
            scroll_id_node.InnerText = raw_scroll.IDNumber.ToString();
            XmlNode scroll_cost_node = rootDocument.CreateElement("Scroll_Cost");
            scroll_cost_node.InnerText = raw_scroll.Cost.ToString();
            XmlNode scroll_icon_node = rootDocument.CreateElement("Scroll_Icon");
            scroll_icon_node.InnerText = raw_scroll.Icon;
            XmlNode scroll_name_node = rootDocument.CreateElement("Scroll_Name");
            scroll_name_node.InnerText = raw_scroll.Name;
            XmlNode scroll_tier_node = rootDocument.CreateElement("Scroll_Tier");
            scroll_tier_node.InnerText = raw_scroll.ItemTier.ToString();
            XmlNode scroll_dungeons_node = rootDocument.CreateElement("Scroll_Dungeons_Required");
            scroll_dungeons_node.InnerText = raw_scroll.DungeonsRequired.ToString();
            XmlNode scroll_floors_node = rootDocument.CreateElement("Scroll_Floors_Required");
            scroll_floors_node.InnerText = raw_scroll.FloorsRequired.ToString();
            XmlNode scroll_classes_node = rootDocument.CreateElement("Scroll_Valid_Classes");
            scroll_classes_node.InnerText = raw_scroll.ValidClasses;
            XmlNode scroll_properties_node = rootDocument.CreateElement("Scroll_Properties");
            List<string> raw_properties = raw_scroll.ItemProperties;
            for (int i = 0; i < raw_properties.Count; i++)
            {
                XmlNode property_node = rootDocument.CreateElement("Item");
                property_node.InnerText = raw_properties[i];

                scroll_properties_node.AppendChild(property_node);
            }
            XmlNode scroll_talismans_node = rootDocument.CreateElement("Scroll_Talismans");
            List<string> raw_talismans = raw_scroll.Talismans;
            for (int i = 0; i < raw_talismans.Count; i++)
            {
                XmlNode talisman_node = rootDocument.CreateElement("Item");
                talisman_node.InnerText = raw_talismans[i];

                scroll_talismans_node.AppendChild(talisman_node);
            }

            //Scroll only properties
            XmlNode scroll_AOE_type_node = rootDocument.CreateElement("Scroll_AOE_Type");
            scroll_AOE_type_node.InnerText = raw_scroll.AOEType;
            XmlNode scroll_special_tier_node = rootDocument.CreateElement("Scroll_Special_Tier");
            scroll_special_tier_node.InnerText = raw_scroll.ScrollTier.ToString();
            XmlNode scroll_manacost_node = rootDocument.CreateElement("Scroll_Mana_Cost");
            scroll_manacost_node.InnerText = raw_scroll.ManaCost.ToString();
            XmlNode scroll_range_node = rootDocument.CreateElement("Scroll_Range");
            scroll_range_node.InnerText = raw_scroll.ScrollRange.ToString();
            XmlNode scroll_AOE_size_node = rootDocument.CreateElement("Scroll_AOE_Size");
            scroll_AOE_size_node.InnerText = raw_scroll.AOESize.ToString();
            XmlNode scroll_min_damage_node = rootDocument.CreateElement("Scroll_Min_Damage");
            scroll_min_damage_node.InnerText = raw_scroll.MinDamage.ToString();
            XmlNode scroll_max_damage_node = rootDocument.CreateElement("Scroll_Max_Damage");
            scroll_max_damage_node.InnerText = raw_scroll.MaxDamage.ToString();
            XmlNode scroll_damage_type_node = rootDocument.CreateElement("Scroll_Damage_Type");
            scroll_damage_type_node.InnerText = raw_scroll.DamageType.ToString();
            XmlNode scroll_destroys_walls_node = rootDocument.CreateElement("Scroll_Destroys_Walls");
            scroll_destroys_walls_node.InnerText = raw_scroll.DestroysWalls.ToString();
            XmlNode scroll_melee_node = rootDocument.CreateElement("Scroll_Melee_Spell");
            scroll_melee_node.InnerText = raw_scroll.MeleeSpell.ToString();
            XmlNode scroll_chain_impacts_node = rootDocument.CreateElement("Scroll_Chain_Impacts");
            scroll_chain_impacts_node.InnerText = raw_scroll.ChainImpacts.ToString();
            XmlNode scroll_projectile_node = rootDocument.CreateElement("Scroll_Projectile_Img");
            scroll_projectile_node.InnerText = raw_scroll.SpellProjectile.ToString();
            XmlNode scroll_special_anim_node = rootDocument.CreateElement("Scroll_Special_Animation");
            scroll_special_anim_node.InnerText = raw_scroll.SpecialAnimation.ToString();
            XmlNode scroll_special_effect_node = rootDocument.CreateElement("Scroll_Special_Effect");
            scroll_special_effect_node.InnerText = raw_scroll.SpellSpecialEffect.ToString();
            XmlNode scroll_special_effect_duration_node = rootDocument.CreateElement("Scroll_Special_Effect_Duration");
            scroll_special_effect_duration_node.InnerText = raw_scroll.SpecialEffectDuration.ToString();
            XmlNode scroll_effect_counts_down_node = rootDocument.CreateElement("Scroll_Effect_Counts_Down");
            scroll_effect_counts_down_node.InnerText = raw_scroll.CountDown.ToString();
            XmlNode scroll_cost_per_turn_node = rootDocument.CreateElement("Scroll_Cost_Per_Turn");
            scroll_cost_per_turn_node.InnerText = raw_scroll.CostPerTurn.ToString();
            XmlNode scroll_cost_per_turn_per_turn_node = rootDocument.CreateElement("Scroll_Cost_Per_Turn_Per_Turn");
            scroll_cost_per_turn_per_turn_node.InnerText = raw_scroll.CostPerTurnPerTurn.ToString();
            XmlNode scroll_rage_dump_node = rootDocument.CreateElement("Scroll_Rage_Dump");
            scroll_rage_dump_node.InnerText = raw_scroll.RageDump.ToString();
            XmlNode scroll_rage_incr_node = rootDocument.CreateElement("Scroll_Rage_Increment");
            scroll_rage_incr_node.InnerText = raw_scroll.RageIncr.ToString();
            XmlNode scroll_rage_min_dmg_node = rootDocument.CreateElement("Scroll_Rage_Min_Damage");
            scroll_rage_min_dmg_node.InnerText = raw_scroll.RageMinDmg.ToString();
            XmlNode scroll_rage_max_dmg_node = rootDocument.CreateElement("Scroll_Rage_Max_Damage");
            scroll_rage_max_dmg_node.InnerText = raw_scroll.RageMaxDmg.ToString();
            XmlNode scroll_adj_max_EN_node = rootDocument.CreateElement("Scroll_Adjust_Max_EN");
            scroll_adj_max_EN_node.InnerText = raw_scroll.AdjMaxENCap.ToString();

            rootNode.AppendChild(scroll_id_node);
            rootNode.AppendChild(scroll_cost_node);
            rootNode.AppendChild(scroll_icon_node);
            rootNode.AppendChild(scroll_name_node);
            rootNode.AppendChild(scroll_tier_node);
            rootNode.AppendChild(scroll_dungeons_node);
            rootNode.AppendChild(scroll_floors_node);
            rootNode.AppendChild(scroll_classes_node);
            rootNode.AppendChild(scroll_properties_node);
            rootNode.AppendChild(scroll_talismans_node);

            rootNode.AppendChild(scroll_AOE_type_node);
            rootNode.AppendChild(scroll_special_tier_node);
            rootNode.AppendChild(scroll_manacost_node);
            rootNode.AppendChild(scroll_range_node);
            rootNode.AppendChild(scroll_AOE_size_node);
            rootNode.AppendChild(scroll_min_damage_node);
            rootNode.AppendChild(scroll_max_damage_node);
            rootNode.AppendChild(scroll_damage_type_node);
            rootNode.AppendChild(scroll_destroys_walls_node);
            rootNode.AppendChild(scroll_melee_node);
            rootNode.AppendChild(scroll_chain_impacts_node);
            rootNode.AppendChild(scroll_projectile_node);
            rootNode.AppendChild(scroll_special_anim_node);
            rootNode.AppendChild(scroll_special_effect_node);
            rootNode.AppendChild(scroll_special_effect_duration_node);
            rootNode.AppendChild(scroll_effect_counts_down_node);
            rootNode.AppendChild(scroll_cost_per_turn_node);
            rootNode.AppendChild(scroll_cost_per_turn_per_turn_node);
            rootNode.AppendChild(scroll_rage_dump_node);
            rootNode.AppendChild(scroll_rage_incr_node);
            rootNode.AppendChild(scroll_rage_min_dmg_node);
            rootNode.AppendChild(scroll_rage_max_dmg_node);
            rootNode.AppendChild(scroll_adj_max_EN_node);

            return rootNode;
        }