static void CreateAttackSkills() { EffectSec effect1; // make the Slash Attack affix file effect1 = new EffectSec("dynamic", "damage", 40, 80); effect1.duration = "instant"; effect1.statModifyName = "melee"; effect1.statModifyPercent = "100"; CreateSkillAffix("WhirlingGust", new EffectSec[] { effect1 }); // prepare the Slash Attack skill file SkillFile skill = new SkillFile("WhirlingGust", "warrior/whirlinggust/"); skill.name = "Whirling Gust"; skill.displayName = "Slash Attack"; skill.description = "Attacks all foes in front of you\\nwith all equipped weapons\\n"; skill.skillIconActive = "skill_slash"; skill.skillIconInactive = "skill_slash_gray"; skill.animation = "Special_Cleave"; skill.animationDW = "Special_DWCleave"; skill.range = 2; skill.requirementRight = "melee"; skill.requirementLeft = "melee"; skill.maxInvestLevel = 100; skill.uniqueGUID = 7711097244085326302; CreateSkillLevels(skill, "WhirlingGust", "media/skills/warrior/whirlinggust/whirlinggust.layout", true); skill.Create(); }
static void CreatePassiveSkills() { EffectSec effect1, effect2, effect3; SkillFile skill; // make Adventurer affix effect1 = new EffectSec("passive", "xp gain bonus", 200, 200); effect1.name = "XPGAIN"; effect1.duration = "always"; effect1.graphOverride = "linear_graph"; effect2 = new EffectSec("passive", "fame gain bonus", 200, 200); effect2.name = "FAMEGAIN"; effect2.duration = "always"; effect2.graphOverride = "linear_graph"; effect3 = new EffectSec("passive", "potion efficiency", 100, 100); effect3.name = "POTIONEFF"; effect3.duration = "always"; effect3.graphOverride = "mastery_graph"; CreateSkillAffix("skill_adventurer_mastery", new EffectSec[] { effect1, effect2, effect3 }); // make Adventurer skill skill = new SkillFile("Adventurer", "shared/passives/"); skill.displayName = skill.name; skill.description = "Improves the potency of potions, increases the rate of Experience and Fame gain, " + "and reduces resurrection penalties"; }
static void CreateGemAffix(string gemtype, string armorEffect, double armorValue, string weaponEffect, double weaponValue, string trinketEffect, double[] trinketValues) { EffectSec effect; TorchFile file; effect = new EffectSec("passive", armorEffect, armorValue, armorValue); file = new GemAffixFile(gemtype + "Armor", 1, 0, "armor", effect); file.Create(); effect = new EffectSec("passive", weaponEffect, weaponValue, weaponValue); file = new GemAffixFile(gemtype + "Weapon", 1, 0, "weapon", effect); file.Create(); bool isDamageBonue = trinketEffect == "pet damage bonus"; for (int i = 0; i < trinketValues.Length; ++i) { if (isDamageBonue) { effect = new EffectSec("passive", trinketEffect, "all", trinketValues[i], trinketValues[i]); } else { effect = new EffectSec("passive", trinketEffect, trinketValues[i], trinketValues[i]); } file = new GemAffixFile(gemtype + "Trinket" + (i + 1).ToString("00"), 1, 0, "trinket", effect); file.Create(); } }
public GemAffixFile(string name, int rank, int weight, string type, EffectSec effect) : this(name, rank, weight, new string[] { "socketable", type }, effect) { }
public GemAffixFile(string name, int rank, int weight, string[] types, EffectSec effect) : base(name, "Gems/", rank, weight, 0, 0, 9999999, types, new EffectSec[] { effect }) { }
public void AddEffects(EffectSec effect1, EffectSec effect2, EffectSec effect3) { effects.Add(effect1); effects.Add(effect2); effects.Add(effect3); }
public void AddEffects(EffectSec effect) { effects.Add(effect); }