Exemple #1
0
 public Scroll(Scroll s)
     : base(s.get_my_IDno(), s.get_my_gold_value(), s.get_my_name())
 {
     //Enums
     my_sType       = s.get_spell_type();
     spell_dmg_type = s.get_damage_type();
     my_prjType     = s.get_assoc_projectile();
     my_specAnim    = s.get_spec_impact_anim();
     myBufforDebuff = s.get_status_effect();
     //Ints
     scroll_tier         = s.get_tier();
     aoe_size            = s.get_aoe_size();
     max_range           = s.get_range();
     min_damage          = s.get_specific_damage(false);
     max_damage          = s.get_specific_damage(true);
     total_impacts       = s.get_t_impacts();
     mana_cost           = s.get_manaCost();
     buffDebuff_duration = s.get_duration();
     //Bools
     destroys_walls = s.spell_destroys_walls();
     melee_range    = s.is_melee_range_spell();
 }
Exemple #2
0
 public Scroll(int IDno, int goldVal, string myName, int stier, int smana, int srange, int sAoe, int minDmg, int maxDmg, bool meleeSpell,
               Atk_Area_Type s_spell_type, Projectile.projectile_type s_prj_type, Attack.Damage dmg_type, bool destroyWalls, int t_impacts,
               Status_Type s_buffDebuff, int spell_duration, Projectile.special_anim s_prj_special_anim)
     : base(IDno, goldVal, myName)
 {
     //Enums
     my_sType       = s_spell_type;
     spell_dmg_type = dmg_type;
     my_prjType     = s_prj_type;
     my_specAnim    = s_prj_special_anim;
     myBufforDebuff = s_buffDebuff;
     //Ints
     scroll_tier         = stier;
     aoe_size            = sAoe;
     max_range           = srange;
     min_damage          = minDmg;
     max_damage          = maxDmg;
     total_impacts       = t_impacts;
     mana_cost           = smana;
     buffDebuff_duration = spell_duration;
     //Bools
     destroys_walls = destroyWalls;
     melee_range    = meleeSpell;
 }
Exemple #3
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));
        }