public MeleeAttack(Entity entity, MeleeWeapon meleeWeapon) : base(entity, meleeWeapon.attack) { meleeObject = meleeWeapon.attack.meleeObjectPrototype; speed = meleeWeapon.attributes.GetAttribute(WeaponAttributesType.AttackSpeed).GetValue(); coolDown = coolDown * speed; startUpFrames = (int)(startUpFrames * speed); duration = duration * speed; //Override these values with the weapons values baseDamage = (int)meleeWeapon.attributes.GetAttribute(WeaponAttributesType.Damage).GetValue(); }
public MeleeAttackObject(MeleeAttackObjectPrototype proto, MeleeAttack attack, Vector2 direction) : base(proto, attack, direction) { hitbox = new Hitbox(this, new CustomAABB(Position, proto.hitboxSize, new Vector2(0, proto.hitboxSize.y))); this.attack = attack; mMaxTime = attack.duration; //Body.mState = ColliderState.Closed; SetOwner(attack.mEntity); isAngled = proto.angled; //mMovingSpeed = 100; if (SoundManager.instance != null) { SoundManager.instance.PlaySingle(proto.spawnSFX); } }
public MeleeAttack(Entity entity, MeleeAttackPrototype proto) : base(entity, proto) { meleeObject = proto.meleeObjectPrototype; }