示例#1
0
        public Karmesine() : base("karmesine", "Karmesine", string.Empty)
        {
            MeltingTemperature   = 800;
            ColorTransform       = ColorMatrix.TwoColorLight(new Color(198, 77, 55), new Color(242, 214, 208));
            Parts[ToolArrow.Tip] = "fork";

            AddDurability(100, 1, 0);

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 2));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.7));

            AddOffensiveEffect(new EffectStat(this, Stat.Attack, 10));
            AddOffensiveEffect(new EffectStatPercent(this, Stat.Attack, 0.2));
            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, -0.4));

            AddPlateEffect(new EffectStat(this, Stat.Defense, 10));
            AddFullEffect(new EffectStat(this, Element.Bludgeon.Resistance, 5));

            AddShieldEffect(new EffectStat(this, Stat.BlockChance, 0.15));
            AddShieldEffect(new EffectStat(this, Stat.BlockValue, 10));
            AddShieldEffect(new EffectStat(this, Stat.Defense, 5));
            AddShieldEffect(new EffectStat(this, Element.Bludgeon.Resistance, 10));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 1.0));

            AddOffensiveEffect(new EffectTrait(this, Trait.Sharp));
            AddArmorEffect(new EffectTrait(this, Trait.Stiff));
            AddShieldEffect(new EffectTrait(this, Trait.BloodShield));
            //Arrow: Heartripper - Bleed on impact. Deal damage to enemies behind impact location.
        }
示例#2
0
        public Meteorite() : base("meteorite", "Meteorite", string.Empty)
        {
            MeltingTemperature = 600;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(69, 75, 54), new Color(157, 167, 143));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";

            AddDurability(500, 0.6, 0.1);

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 1));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.5));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.3));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 15));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 1.0));

            //Sword: Geddon - Extra damage to Man-made targets
            AddEffect(ToolAdze.Head, new EffectTrait(this, Trait.Crumbling));
            AddEffect(ToolAdze.Head, new EffectTrait(this, Trait.Pulverizing));
            AddShieldEffect(new EffectTrait(this, Trait.MeteorBash));
            //Armor:
            //Arrow:
        }
示例#3
0
        public Jauxum() : base("jauxum", "Jauxum", string.Empty)
        {
            MeltingTemperature   = 550;
            ColorTransform       = ColorMatrix.TwoColorLight(new Color(105, 142, 64), new Color(208, 251, 121));
            Parts[ToolArrow.Tip] = "small";

            AddDurability(100, 1, 0);

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 2));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 10));
            AddHandleEffect(new EffectStatPercent(this, Stat.HP, -0.2));

            AddFullEffect(new EffectStat(this, Element.Pierce.Resistance, 5));
            AddFullEffect(new EffectStatPercent(this, Element.Poison.DamageRate, -0.3));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Poison, 0.5));

            AddBladeEffect(new EffectTrait(this, Trait.Poxic));
            AddAdzeEffect(new EffectTrait(this, Trait.SlimeEater));
            AddPlateEffect(new EffectTrait(this, Trait.SludgeArmor));
            //Shield:
            //Arrow: Poison Bolt - Poison on impact
        }
示例#4
0
        public Terrax() : base("terrax", "Terrax", string.Empty)
        {
            Priority           = 3;
            MeltingTemperature = 1900;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(82, 96, 101), new Color(254, 250, 222));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "reap";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));
            AddHandleEffect(new EffectStatPercent(this, Stat.Defense, 0.3));

            Random random = new Random();

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
            //AddHeadEffect(new Trait(this, "Slaughtering", "More drops, but no experience."));
            AddHeadEffect(new EffectTrait(this, Trait.Slaughtering));
        }
示例#5
0
        public Tiberium() : base("tiberium", "Tiberium", string.Empty)
        {
            MeltingTemperature   = 260;
            ColorTransform       = ColorMatrix.TwoColorLight(new Color(92, 156, 65), new Color(238, 251, 77));
            Parts[ToolArrow.Tip] = "bomb";

            AddDurability(50, 0.5, 0.1);

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 1));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.2));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddHandleEffect(new EffectStatPercent(this, Element.Thunder.DamageRate, -0.20));

            AddPlateEffect(new EffectStatPercent(this, Element.Thunder.DamageRate, -0.20));
            AddPlateEffect(new EffectStatPercent(this, Element.Fire.DamageRate, +0.40));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Bludgeon, 1.0));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 20));
            AddFullEffect(new EffectTrait(this, Trait.Unstable));
            AddEffect(ToolArrow.Tip, new EffectTrait(this, Trait.Discharge));
            AddEffect(ToolArrow.Limb, new EffectTrait(this, Trait.Charged));
            //Shield: Reactive - Explode on hit, deals damage in facing direction
            //Arrow: Charge - Arcs to nearby enemies in flight
            //Arrow: Discharge - Explodes into lightning on impact
        }
示例#6
0
        public Dilithium() : base("dilithium", "Dilithium", string.Empty)
        {
            FuelTemperature      = 2000;
            MeltingTemperature   = 75;
            ColorTransform       = ColorMatrix.TwoColorLight(new Color(35 * 2, 86 * 2, 79 * 2), new Color(234, 252, 253));
            Parts[ToolArrow.Tip] = "small";

            AddDurability(50, 0.5, 0.1);

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            //Weapons
            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 10));
            AddOffensiveToolEffect(new EffectTrait(this, Trait.Holy));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Holy, 0.5));

            //Plate
            AddPlateEffect(new EffectStatPercent(this, Element.Holy.DamageRate, -0.10));
            AddPlateEffect(new EffectStat(this, Stat.Defense, 3));
            AddShieldEffect(new EffectTrait(this, Trait.Spotlight));
        }
示例#7
0
        public Ovium() : base("ovium", "Ovium", string.Empty)
        {
            MeltingTemperature   = 700;
            ColorTransform       = ColorMatrix.TwoColorLight(new Color(94, 101, 170), new Color(215, 227, 253));
            Parts[ToolArrow.Tip] = "bomb";

            AddDurability(100, 1, 0);

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 2));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.5));

            AddFullEffect(new EffectStat(this, Element.Slash.Resistance, 5));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Bludgeon, 1.0));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 10));
            AddHandleEffect(new EffectStatPercent(this, Stat.Attack, -0.4));
            AddHandleEffect(new EffectStatPercent(this, Stat.Defense, +0.2));


            AddFullEffect(new EffectTrait(this, Trait.Fuming));
            //Adze: Steam Injection - Extra ore drop for ores that melt at low temperatures
            //Armor:
            //Shield:
            //Arrow: Smoke Bolt - Create smoke cloud on impact. Create poison/acid smoke in certain cases.
        }
示例#8
0
        public static ColorMatrix Sun()
        {
            var color = ColorMatrix.Greyscale();

            color *= ColorMatrix.Translate(new Color(50, 50, 50));
            color *= ColorMatrix.TwoColorLight(new Color(222, 96, 12), new Color(252, 253, 193));
            color  = ColorMatrix.Lerp(color, ColorMatrix.Identity, 0.33f);
            //color *= ColorMatrix.Scale(2);
            return(color);
        }
示例#9
0
        public static ColorMatrix Ender()
        {
            var color = ColorMatrix.Greyscale();

            color *= ColorMatrix.Translate(new Color(50, 50, 50));
            color *= ColorMatrix.TwoColorLight(new Color(103, 21, 138), new Color(196, 223, 251));
            color  = ColorMatrix.Lerp(color, ColorMatrix.Identity, 0.33f);
            //color *= ColorMatrix.Scale(2);
            return(color);
        }
示例#10
0
        public Astrium() : base("astrium", "Astrium", string.Empty)
        {
            MeltingTemperature = 2000;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(112, 46, 81), new Color(179, 197, 225));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#11
0
        public Cobalt() : base("cobalt", "Cobalt", string.Empty)
        {
            MeltingTemperature = 2000;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(61, 106, 143), new Color(63, 233, 233));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#12
0
        public Tritonite() : base("tritonite", "Tritonite", string.Empty)
        {
            MeltingTemperature = 2000;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(23, 29, 96), new Color(85, 190, 196)) * ColorMatrix.Scale(1.2f);

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";
            Parts[ToolArrow.Tip]   = "fork";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#13
0
        public Ignitz() : base("ignitz", "Ignitz", string.Empty)
        {
            MeltingTemperature = 2000;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(188, 95, 92), new Color(255, 186, 26)) * ColorMatrix.Scale(1.3f);

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";
            Parts[ToolArrow.Tip]   = "bomb";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#14
0
        public Aurorium() : base("aurorium", "Aurorium", string.Empty)
        {
            MeltingTemperature = 2000;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(191, 51, 86), new Color(243, 209, 218));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "sledge";
            Parts[ToolArrow.Tip]   = "small";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#15
0
        public Triberium() : base("triberium", "Triberium", string.Empty)
        {
            Priority           = 2;
            MeltingTemperature = 760;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(92, 156, 65), new Color(187, 253, 204));

            AddDurability(100, 1.0, 0);

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 2));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.2));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 5));
            AddEffect(ToolAdze.Head, new EffectTrait(this, Trait.Fragile));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Wind, 0.5));
        }
示例#16
0
        public Manyullyn() : base("manyullyn", "Manyullyn", string.Empty)
        {
            Priority           = 3;
            MeltingTemperature = 1900;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(96, 57, 174), new Color(222, 118, 248));

            Parts[ToolBlade.Blade] = "rip";
            Parts[ToolAdze.Head]   = "reap";

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 3));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.3));

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 1.0));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Pierce, 0.5));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 0.5));

            AddHandleEffect(new EffectStatPercent(this, Stat.MiningSpeed, 0.15));
            AddHandleEffect(new EffectStatPercent(this, Stat.Defense, 0.3));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 30));
        }
示例#17
0
        public Obsidiorite() : base("obsidiorite", "Obsidiorite", string.Empty)
        {
            MeltingTemperature = 1100;
            ColorTransform     = ColorMatrix.TwoColorLight(new Color(69 / 2, 54 / 2, 75 / 2), new Color(157, 143, 167));

            Parts[ToolBlade.Blade] = "disembowel";
            Parts[ToolBlade.Guard] = "binding";
            Parts[ToolAdze.Head]   = "sledge";

            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Slash, 0.7));
            AddItemEffect(ToolBlade.Blade, new EffectElement(this, Element.Pierce, 0.3));
            AddItemEffect(ToolAdze.Head, new EffectElement(this, Element.Bludgeon, 1.0));

            AddEffect(ToolAdze.Head, new EffectStat(this, Stat.MiningLevel, 1));
            AddEffect(ToolAdze.Head, new EffectStatPercent(this, Stat.MiningSpeed, 0.5));

            AddFullEffect(new EffectTrait(this, Trait.Alien));

            AddHandleEffect(new EffectStatPercent(this, Element.Fire.DamageRate, -0.10));

            AddOffensiveToolEffect(new EffectStat(this, Stat.Attack, 10));

            AddItemEffect(ToolArrow.Tip, new EffectElement(this, Element.Pierce, 1.0));
        }