public void InitWindUp(HeldEquipment _prop, WeaponStyle _weaponStyle, int _windUpDepth) { type = CombatActionType.WindUp; prop = _prop; weaponStyle = _weaponStyle; windUpLevel = _windUpDepth; }
private static List <InventoryType> GetInventoryTypesForWeaponStyle(WeaponStyle style) { var slots = new List <InventoryType>(); switch (style) { case WeaponStyle.DualWield: slots.Add(InventoryType.WeaponMainHand); slots.Add(InventoryType.WeaponOffHand); slots.Add(InventoryType.Weapon); break; case WeaponStyle.OneHanderAndShield: slots.Add(InventoryType.WeaponMainHand); slots.Add(InventoryType.Weapon); slots.Add(InventoryType.Shield); break; case WeaponStyle.TwoHander: slots.Add(InventoryType.TwoHandWeapon); break; } return(slots); }
public void Clear() { prevAction = null; weaponStyle = null; targetArea = null; windUpLevel = 0; offBalanceLevel = 0; }
public CombatActorState() { prevAction = null; weaponStyle = null; targetArea = null; windUpLevel = 0; offBalanceLevel = 0; }
public void InitParry(HeldEquipment _prop, WeaponStyle _weaponStyle, int _windUpDepth, int _offBalance) { type = CombatActionType.Parry; prop = _prop; weaponStyle = _weaponStyle; windUpLevel = _windUpDepth; offBalance = _offBalance; }
public void InitSwing(HeldEquipment _prop, WeaponStyle _weaponStyle, List <Vector2> _targetArea, int _windUpDepth) { type = CombatActionType.Swing; prop = _prop; weaponStyle = _weaponStyle; targetArea = _targetArea; windUpLevel = _windUpDepth; }
public Weapon(WeaponDesign design, EquipmentMaterial material) : base(design, material) { element = design.element; ammoType = design.ammoType; style = design.style; minRange = design.minRange; maxRange = design.maxRange; damage = design.damage * material.attack[element]; attribute = design.attribute; }
/// <summary> /// 버프 유형에 맞는 버프데이터를 반환하는 함수 /// </summary> /// <param name="buffType">버프 유형</param> /// <returns></returns> public BuffData GetBuffData(WeaponStyle weaponStyle, BuffType buffType) { List <BuffData> buffdataList = new List <BuffData>(); // 배열을 리스트로 변환 buffdataList.AddRange(buffDatas); List <BuffData> datas = buffdataList.FindAll(delegate(BuffData a) { return(a.weaponStyle == weaponStyle); }); // 버프 유형이 같은 데이터를 반환 return(datas.Find(delegate(BuffData a) { return a.buffType == buffType; })); }
public void Init(BinaryReader BR, ContentManager Content, string AttackName, Dictionary <string, BaseSkillRequirement> DicRequirement, Dictionary <string, BaseEffect> DicEffect, Dictionary <string, AutomaticSkillTargetType> DicAutomaticSkillTarget) { //Create the Part file. this.ItemName = Path.GetFileNameWithoutExtension("Content/Attacks/" + AttackName + ".pew"); this.Description = BR.ReadString(); this.PowerFormula = BR.ReadString(); this.MinDamageFormula = BR.ReadString(); this.ENCost = BR.ReadInt32(); this.MaxAmmo = BR.ReadInt32(); this.MoraleRequirement = BR.ReadInt32(); this.RangeMinimum = BR.ReadInt32(); this.RangeMaximum = BR.ReadInt32(); this.Accuracy = BR.ReadInt32(); this.Critical = BR.ReadInt32(); this.Pri = (WeaponPrimaryProperty)BR.ReadByte(); if (this.Pri == WeaponPrimaryProperty.MAP) { MAPAttributes = new MAPAttackAttributes(BR); } else if (this.Pri == WeaponPrimaryProperty.PER) { PERAttributes = new PERAttackAttributes(BR, Content); } this.Sec = (WeaponSecondaryProperty)BR.ReadByte(); PostMovementAccuracyMalus = BR.ReadByte(); PostMovementEvasionBonus = BR.ReadByte(); ExplosionOption = new ExplosionOptions(BR); int AttackType = BR.ReadInt32(); if (AttackType == 0) { this.AttackType = "Blank"; Style = WeaponStyle.M; } else if (AttackType == 1) { this.AttackType = "Melee"; Style = WeaponStyle.M; } else if (AttackType == 2) { this.AttackType = "Solid blade"; Style = WeaponStyle.M; } else if (AttackType == 3) { this.AttackType = "Energy blade"; Style = WeaponStyle.M; } else if (AttackType == 4) { this.AttackType = "Solid shot"; Style = WeaponStyle.R; } else if (AttackType == 5) { this.AttackType = "Energy shot"; Style = WeaponStyle.R; } else if (AttackType == 6) { this.AttackType = "Remote"; Style = WeaponStyle.R; } else if (AttackType == 7) { this.AttackType = "Special"; Style = WeaponStyle.R; } int TerrainGradeAir = BR.ReadInt32(); int TerrainGradeLand = BR.ReadInt32(); int TerrainGradeSea = BR.ReadInt32(); int TerrainGradeSpace = BR.ReadInt32(); char[] Grades = new char[6] { '-', 'S', 'A', 'B', 'C', 'D' }; DicTerrainAttribute = new Dictionary <string, char>(4); DicTerrainAttribute.Add(UnitStats.TerrainAir, Grades[TerrainGradeAir]); DicTerrainAttribute.Add(UnitStats.TerrainLand, Grades[TerrainGradeLand]); DicTerrainAttribute.Add(UnitStats.TerrainSea, Grades[TerrainGradeSea]); DicTerrainAttribute.Add(UnitStats.TerrainSpace, Grades[TerrainGradeSpace]); Int32 AttackAttributesCount = BR.ReadInt32(); this.ArrayAttackAttributes = new BaseAutomaticSkill[AttackAttributesCount]; for (int S = 0; S < AttackAttributesCount; ++S) { string RelativePath = BR.ReadString(); ArrayAttackAttributes[S] = new BaseAutomaticSkill("Content/Attacks/Attributes/" + RelativePath + ".peaa", RelativePath, DicRequirement, DicEffect, DicAutomaticSkillTarget); } ListQuoteSet = new List <string>(); int ListQuoteSetCount = BR.ReadInt32(); for (int R = 0; R < ListQuoteSetCount; R++) { ListQuoteSet.Add(BR.ReadString()); } }
private static List<InventoryType> GetInventoryTypesForWeaponStyle(WeaponStyle style) { var slots = new List<InventoryType>(); switch (style) { case WeaponStyle.DualWield: slots.Add(InventoryType.WeaponMainHand); slots.Add(InventoryType.WeaponOffHand); slots.Add(InventoryType.Weapon); break; case WeaponStyle.OneHanderAndShield: slots.Add(InventoryType.WeaponMainHand); slots.Add(InventoryType.Weapon); slots.Add(InventoryType.Shield); break; case WeaponStyle.TwoHander: slots.Add(InventoryType.TwoHandWeapon); break; } return slots; }