WeaponData = { DefaultWeaponValues = { MinWeaponChargeTime = 0.1, DefaultKnockbackForce = 800, DefaultKnockbackScale = 1, DefaultSpeedPropertyChanges = { { WeaponProperty = "ChargeTime", }, }, }, BaseUnlockableWeapon = { UsePromptOffsetX = 64, UsePromptOffsetY = -64, StartingWeapon = true, UnlockUseText = "UseWeaponKit_LockedHasKey", LockedUseText = "UseWeaponKit_LockedNoKey", AspectAvailableAnimation = "WeaponAspectAvailableFront", InfoBackingAnimation = "WeaponSlotBase", MouseOverSound = "/Leftovers/World Sounds/Caravan Interior/TarotCardSpecialInteract", }, WeaponCastLob = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, LinkedTraitNames = { "ArtemisCastCountBoon" }, ShowManaIndicator = true, HideChargeDuration = 0.15, OnChargeFunctionNames = { "DoWeaponCharge", }, CustomChannelSlowEvent = "WeaponCastProjectile", ArmedCastChargeStage = true, ChargeWeaponData = { EmptyChargeFunctionName = "EmptyIndirectCastCharge", OnStageReachedFunctionName = "IndirectCastChargeStage" }, ChargeWeaponStages = { { ManaCost = 15, Wait = 0.8, ChannelSlowEventOnStart = true }, }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, CauseImpactReaction = true, ImpactReactionHitsOverride = 10, SkipManaIndicatorIfZeroManaCost = true, OnProjectileDeathFunction = "FireCastAtLocation", SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/MelMagicalChargeLoop", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/Leftovers/SFX/WyrmCastAttack" }, }, FireStageSounds = { { Name = "/VO/MelinoeEmotes/EmotePowerAttackingStaff" }, { Name = "/Leftovers/SFX/AuraThrowSmall" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SimSlowDistanceThreshold = 180, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.3, LerpTime = 0 }, { ScreenPreWait = 0.02, Fraction = 1.0, LerpTime = 0.07 }, }, SelfMultiplier = 0, }, WeaponAnywhereCast = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, LinkedTraitNames = { "ArtemisCastCountBoon" }, ArmedCastChargeStage = true, ShowManaIndicator = true, HideChargeDuration = 0.15, OnChargeFunctionNames = { "DoWeaponCharge", }, CustomChannelSlowEvent = "WeaponAnywhereCast", ChargeWeaponData = { EmptyChargeFunctionName = "EmptyIndirectCastCharge", OnStageReachedFunctionName = "IndirectCastChargeStage" }, ChargeWeaponStages = { { ManaCost = 15, Wait = 0.8, ChannelSlowEventOnStart = true, }, }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, CauseImpactReaction = true, ImpactReactionHitsOverride = 10, SkipManaIndicatorIfZeroManaCost = true, OnFiredFunctionNames = { "FireAnywhereCastAtLocation", }, SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/MelMagicalChargeLoop", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/Leftovers/SFX/WyrmCastAttack" }, }, FireStageSounds = { { Name = "/VO/MelinoeEmotes/EmotePowerAttackingStaff" }, { Name = "/Leftovers/SFX/AuraThrowSmall" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SimSlowDistanceThreshold = 180, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.3, LerpTime = 0 }, { ScreenPreWait = 0.02, Fraction = 1.0, LerpTime = 0.07 }, }, SelfMultiplier = 0, }, WeaponCastProjectile = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, LinkedTraitNames = { "ArtemisCastCountBoon" }, ShowManaIndicator = true, HideChargeDuration = 0.15, OnChargeFunctionNames = { "DoWeaponCharge", }, CustomChannelSlowEvent = "WeaponCastProjectile", ArmedCastChargeStage = true, ChargeWeaponData = { EmptyChargeFunctionName = "EmptyIndirectCastCharge", OnStageReachedFunctionName = "IndirectCastChargeStage" }, ChargeWeaponStages = { { ManaCost = 15, Wait = 0.8, ChannelSlowEventOnStart = true }, }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, CauseImpactReaction = true, ImpactReactionHitsOverride = 10, SkipManaIndicatorIfZeroManaCost = true, OnProjectileDeathFunction = "FireCastAtLocation", SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/MelMagicalChargeLoop", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/Leftovers/SFX/WyrmCastAttack" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SimSlowDistanceThreshold = 180, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.3, LerpTime = 0 }, { ScreenPreWait = 0.02, Fraction = 1.0, LerpTime = 0.07 }, }, SelfMultiplier = 0, }, WeaponCastProjectileHades = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, LinkedTraitNames = { "ArtemisCastCountBoon" }, ShowManaIndicator = true, HideChargeDuration = 0.15, OnChargeFunctionNames = { "DoWeaponCharge", }, CustomChannelSlowEvent = "WeaponCastProjectileHades", ArmedCastChargeStage = true, ChargeWeaponData = { EmptyChargeFunctionName = "EmptyIndirectCastCharge", OnStageReachedFunctionName = "IndirectCastChargeStage" }, ChargeWeaponStages = { { ManaCost = 15, Wait = 0.8, ChannelSlowEventOnStart = true }, }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, CauseImpactReaction = true, ImpactReactionHitsOverride = 10, SkipManaIndicatorIfZeroManaCost = true, OnProjectileDeathFunction = "AttachCastAtLocation", SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/MelMagicalChargeLoop", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/SFX/Enemy Sounds/Hades/HadesFireSkullImpact" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SimSlowDistanceThreshold = 180, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.3, LerpTime = 0 }, { ScreenPreWait = 0.02, Fraction = 1.0, LerpTime = 0.07 }, }, SelfMultiplier = 0, }, WeaponCast = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, OnFiredFunctionNames = { "WeaponCastFired", }, OnFiredFunctionArgs = { ProjectileNames = { }, }, OnChargeFunctionNames = { "CheckChargeCastBuffs", }, OnHitFunctionNames = { "RefreshImpactSlow", "CheckOnArmedHitEffect", }, CauseImpactReaction = true, ImpactReactionHitsOverride = 10, SkipManaIndicatorIfZeroManaCost = true, UnarmedCastCompleteGraphic = "Melinoe_Cast_Fire_Quick", SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/Leftovers/SFX/WyrmCastAttack" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, OnArmedHitEffect = { EffectName = "OnHitStun", DataProperties = { Duration = 0.7, DisableMove = true, DisableRotate = true, DisableAttack = true, CanAffectInvulnerable = false, } }, ArmedParameters = { Sounds = { ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, HitScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, HitSimSlowParameters = { { ScreenPreWait = 0.07, Fraction = 0.15, LerpTime = 0 }, { ScreenPreWait = 0.25, Fraction = 1.0, LerpTime = 0.10 }, }, SimSlowDistanceThreshold = 180, HitRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, }, SelfMultiplier = 0, Using = { EffectNames = { "ImpactSlow", "ImpactGrip" }, WeaponName = "WeaponCastProjectileHades" }, }, WeaponCastVacuum = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", ManaCost = 10, OutOfManaFunctionName = "WeaponCooldownOutOfMana", OutOfManaFunctionArgs = { Cooldown = 0.85 }, FireScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, SpeedPropertyChanges = { { EffectName = "WeaponCastAttackDisable", EffectProperty = "Duration", }, { EffectName = "WeaponCastSelfSlow", EffectProperty = "Duration", }, }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/Leftovers/SFX/WyrmCastAttack" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SelfMultiplier = 0, }, WeaponCastArm = { UpgradeChoiceText = "UpgradeChoiceMenu_Ranged", ManaCost = 15, HideChargeDuration = 0.25, --ManaChargeStartAnimation = "Melinoe_Cast_Start", HideOutOfManaPresentation = true, FireScreenshake = { Distance = 3, Speed = 1000, Duration = 0.05, FalloffSpeed = 3000 }, OnFiredFunctionNames = { "CastArmedFunction", }, RepeatFailToFireFunction = true, OnChargeFunctionNames = {}, ChargeWeaponData = {}, ChargeWeaponStages = {}, FireRumbleParameters = { { ScreenPreWait = 0.06, Fraction = 0.21, Duration = 0.21 }, }, SpeedPropertyChanges = { { WeaponProperty = "ChargeTime", }, }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmotePowerAttackingStaff" }, { Name = "/Leftovers/SFX/AuraThrowSmall" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusBloodshotImpact", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Brick = "/SFX/Player Sounds/ZagreusBloodshotImpact", Stone = "/SFX/Player Sounds/ZagreusBloodshotImpact", Organic = "/SFX/Player Sounds/ZagreusBloodshotImpact", StoneObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BrickObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", MetalObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", BushObstacle = "/SFX/Player Sounds/ZagreusBloodshotImpact", }, }, SelfMultiplier = 0, }, WeaponBlink = { UpgradeChoiceText = "UpgradeChoiceMenu_Rush", IgnoreCancelSimOnEffects = { "RushWeaponDisable", "RushWeaponDisableCancelable" }, CompleteObjectivesOnFire = { "RushWeapon" }, ExpireProjectilesOnFire = {"ProjectileAxeSpin", "ProjectileDagger"}, CancelWeaponOnFire = "WeaponAxeBlock2", OnChargeFunctionNames = { "WeaponBlinkFunction", }, --OnChargeFunctionArgs = { AlphaDuration = 0.3 }, OnChargeCancelFunctionName = "ClearBlinkAlpha", SimSlowBlur = { Strength = 0.3, Distance = 1.6, FXInTime = 0.06, FXHoldTime = 0.4, FXOutTime = 0.4, }, SkipAttackNotReadySounds = true, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/MelMagicalCharge", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteEvading" }, { Name = "/SFX/Player Sounds/MelDash" }, }, ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/FistImpactMedium", Brick = "/SFX/FistImpactMedium", Stone = "/SFX/FistImpactMedium", Organic = "/SFX/FistImpactMedium", }, CancelEffectSounds = { }, }, NoExpressiveAnim = true, Upgrades = { }, }, WeaponMorphedBlink_YoungMel = { OnChargeFunctionNames = { "WeaponBlinkFunction", }, OnChargeCancelFunctionName = "ClearBlinkAlpha", }, WeaponSprint = { HideChargeDuration = 0.25, IgnoreObjectives = true, ChargeWeaponData = {}, OnChargeFunctionNames = {}, }, WeaponSprintEx = { IsExWeapon = true, }, WeaponMorphedAttack = { OnFiredFunctionNames = { "WeaponFiredGenericPresentation", }, OnFiredFunctionArgs = { VoiceLines = { PlayOnceFromTableThisRun = true, PreLineWait = 0.4, RandomRemaining = true, ChanceToPlay = 0.25, SuccessiveChanceToPlay = 0.25, SuccessiveChanceToPlayAll = 0.05, ObjectType = "Hecate", Cooldowns = { { Name = "HecateSpokeRecently", Time = 10 }, }, { Cue = "/VO/HecateField_0209", Text = "If you could see yourself...!", GameStateRequirements = { { PathFalse = { "CurrentRun", "SpeechRecord", "/VO/Hecate_0152" }, }, }, }, { Cue = "/VO/HecateField_0210", Text = "Not very dignified." }, { Cue = "/VO/HecateField_0211", Text = "Come on, Melinoë." }, { Cue = "/VO/HecateField_0212", Text = "Fall back!" }, }, }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteSheepAttacking" }, -- { Name = "/VO/MelinoeEmotes/EmoteSheepHit" } }, ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/FistImpactMedium", Brick = "/SFX/FistImpactMedium", Stone = "/SFX/FistImpactMedium", Organic = "/SFX/FistImpactMedium", }, }, }, WeaponMorphedAttack_Pig = { InheritFrom = { "WeaponMorphedAttack" }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmotePigAttacking" }, }, ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/FistImpactMedium", Brick = "/SFX/FistImpactMedium", Stone = "/SFX/FistImpactMedium", Organic = "/SFX/FistImpactMedium", }, }, }, WeaponMorphedAttack_Rat = { InheritFrom = { "WeaponMorphedAttack" }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteRatAttacking" }, }, ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/FistImpactMedium", Brick = "/SFX/FistImpactMedium", Stone = "/SFX/FistImpactMedium", Organic = "/SFX/FistImpactMedium", }, }, }, FlashbackMelBlink = { SimSlowBlur = { Strength = 0.3, Distance = 1.6, FXInTime = 0.06, FXHoldTime = 0.4, FXOutTime = 0.4, }, SkipAttackNotReadySounds = true, Sounds = { ChargeSounds = { { -- Name = "/VO/MelinoeEmotes/EmoteCharging", Name = "/SFX/Player Sounds/MelMagicalCharge", StoppedBy = { "ChargeCancel", "Fired" } } }, FireSounds = { -- { Name = "/VO/MelinoeEmotes/EmoteEvading" }, { Name = "/SFX/Player Sounds/MelDaggerKnifeSwipe" }, }, ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/FistImpactMedium", Brick = "/SFX/FistImpactMedium", Stone = "/SFX/FistImpactMedium", Organic = "/SFX/FistImpactMedium", }, CancelEffectSounds = { }, }, }, -- Spell weapons BaseSpell = { IsModifiedByTraits = true, SpellWeapon = true, FailToFireFunctionName = "SpellFailToFirePresentation", OnChargeFunctionNames = { "StartSpellCharge", }, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 1.8, DisableBlink = true, Force = true, }, --OnHasManaFunctionName = "SpellHasMana", --OnHasNoManaFunctionName = "SpellHasNoMana", OnChargeCancelFunctionName = "CheckSpellOutOfManaPresentation", BlockNotReadyWhenGiftableUseTarget = true, NotReadyText = "Spell_NotReady", ManaSpendCost = 10, }, WeaponSpellTransform = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellTransformPrompt" }, ManaSpendCost = 110, Duration = 5.0, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 0.1, DisableBlink = true, Force = true, }, OnFiredFunctionNames = { "SpellFire", "SpellTransform", }, OnFiredFunctionArgs = { TransformWeapons = { "WeaponTransformAttack", "WeaponTransformSpecial" }, StartVfx = "SuperStartFlare", EndVfx = "SuperStartFlare", RevertAnimationSwaps = true, EndGraphic = "MelinoeEquip", Vfx = "GrenadeSelfDamageOutputFx", Scale = 1.1, }, FireSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.25, LerpTime = 0 }, { ScreenPreWait = 0.12, Fraction = 1.0, LerpTime = 0.1 }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/TimeSlowCharge" , Key = "SpearWeaponSpin", StoppedBy = { "ChargeCancel", "TriggerRelease", "Fired" }, SetPitchToPropertyValue = "ChargeTime", }, }, FireSounds = { { Name = "/SFX/Player Sounds/TransformActivate" }, { Name = "/VO/MelinoeEmotes/EmoteAttackingSpell" }, }, }, }, WeaponTransformAttack = { Sounds = { ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusShieldRicochet", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/BurnDamageTorches", Brick = "/SFX/BurnDamageTorches", Stone = "/SFX/BurnDamageTorches", Organic = "/SFX/BurnDamageTorches", StoneObstacle = "/SFX/BurnDamageTorches", BrickObstacle = "/SFX/BurnDamageTorches", MetalObstacle = "/SFX/BurnDamageTorches", BushObstacle = "/SFX/BurnDamage", }, }, }, WeaponTransformSpecial = { Sounds = { ChargeSounds = { { Name = "/VO/MelinoeEmotes/EmoteChargingHowl", StoppedBy = { "ChargeCancel", "Fired" } }, }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteHowlSlam" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ZagreusShieldRicochet", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/BurnDamageTorches", Brick = "/SFX/BurnDamageTorches", Stone = "/SFX/BurnDamageTorches", Organic = "/SFX/BurnDamageTorches", StoneObstacle = "/SFX/BurnDamageTorches", BrickObstacle = "/SFX/BurnDamageTorches", MetalObstacle = "/SFX/BurnDamageTorches", BushObstacle = "/SFX/BurnDamage", }, }, }, WeaponSpellMeteor = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellMeteorPrompt" }, OnFiredFunctionNames = {"SpellFire", "SpellMeteorPresentation", "SpellMeteorFire" }, ManaSpendCost = 90, FireSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.25, LerpTime = 0 }, { ScreenPreWait = 0.12, Fraction = 1.0, LerpTime = 0.1 }, }, HitSimSlowCooldown = 1.0, SimSlowDistanceThreshold = 800, HitSimSlowParameters = { { ScreenPreWait = 0.15, Fraction = 0.10, LerpTime = 0 }, { ScreenPreWait = 0.5, Fraction = 1.00, LerpTime = 0.16 }, }, Sounds = { ChargeSounds = { { Name = "/SFX/Player Sounds/TimeSlowChargeLoop", StoppedBy = { "ChargeCancel", "Fired" } }, }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteAttackingFierce" }, { Name = "/SFX/Player Sounds/TimeSlowStart" }, }, ImpactSounds = { Invulnerable = "/SFX/Player Sounds/ElectricZapSmall", Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/SFX/Player Sounds/ElectricZapSmall", Brick = "/SFX/Player Sounds/ElectricZapSmall", Stone = "/SFX/Player Sounds/ElectricZapSmall", Organic = "/SFX/Player Sounds/ElectricZapSmall", StoneObstacle = "/SFX/Player Sounds/ElectricZapSmall", BrickObstacle = "/SFX/Player Sounds/ElectricZapSmall", MetalObstacle = "/SFX/Player Sounds/ElectricZapSmall", BushObstacle = "/SFX/Player Sounds/ElectricZapSmall", }, }, }, WeaponSpellLaser = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellLaserPrompt" }, OnFiredFunctionNames = { "LaserSpellFire" }, OnClipEmptyFunctionName = "LaserSpellReload", MaxDuration = 2, ManaSpendCost = 30, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 0.7, DisableBlink = true, Force = true, }, Sounds = { ChargeSounds = { -- { Name = "/VO/MelinoeEmotes/EmoteCharging" }, { Name = "/SFX/Player Sounds/TimeSlowCharge" , StoppedBy = { "TriggerRelease" } }, }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteAttackingSpell" }, }, }, FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.16, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.5 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.7, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.22, Duration = 1.0 }, }, }, WeaponSpellSummon = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellSummonPrompt" }, SpawnName = "SwarmerSummon", Duration = 12, MaxSummons = 1, OnFiredFunctionNames = { "SpellReloadStarted", "SpellFire" }, ManaSpendCost = 60, SummonMultipliers = { MaxHealthMultiplier = 100, SpeedMultiplier = 1.6, ScaleMultiplier = 1.2, DamageMultiplier = 1.5, }, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 0.6, DisableBlink = true, Force = true, }, FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.16, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.0 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.7, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.4 }, }, Sounds = { FireSounds = { { Name = "/SFX/Player Sounds/SummonFire" }, { Name = "/VO/MelinoeEmotes/EmoteCastingFierce" }, }, }, }, WeaponSpellPolymorph = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellPolymorphPrompt" }, OnFiredFunctionNames = { "SpellReloadStarted", "SpellFire", "SpellPolymorphFire" }, ManaSpendCost = 40, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 0.6, DisableBlink = true, Force = true, }, PolymorphExtractModifier = 0.5, FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.16, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.5 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.7, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.4 }, }, --[[ FireSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.25, LerpTime = 0 }, { ScreenPreWait = 0.12, Fraction = 1.0, LerpTime = 0.1 }, }, ]] HitScreenshake = { Distance = 4, Speed = 1000, Duration = 0.10, FalloffSpeed = 3000 }, HitRumbleParameters = { { ScreenPreWait = 0.0, RightFraction = 0.3, Duration = 0.18 }, }, HitSimSlowCooldown = 0.3, SimSlowDistanceThreshold = 220, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.10, LerpTime = 0 }, { ScreenPreWait = 0.03, Fraction = 1.00, LerpTime = 0.07 }, }, Sounds = { FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingFierce" }, }, }, }, WeaponSpellTimeSlow = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellTimeSlowPrompt" }, OnFiredFunctionNames = { "SpellReloadStarted", "SpellFire", "StartSpellSlow" }, OnFiredFunctionArgs = { Modifier = 0.5, Duration = 4.0, LoopingSound = "/SFX/Player Sounds/TimeSlowLoop", EndWarnNum = 3, EndWarnPresentationFunction = "SpellSlowWarnPresentation", EndSlowMotionSound = "/VO/MelinoeEmotes/EmoteGasping", EndSlowMotionFunctionName = "EndTimeSlow" }, OnChargeFunctionArgs = { TimeSlowModifier = 0.001, Duration = 0.8, DisableBlink = true, Force = true, }, BaseDuration = 4.0, ManaSpendCost = 130, FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.16, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.0 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.7, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.4 }, }, Sounds = { ChargeSounds = { -- { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, { Name = "/SFX/Player Sounds/TimeSlowCharge" , StoppedBy = { "TriggerRelease" } }, }, FireSounds = { { Name = "/VO/MelinoeEmotes/EmoteCastingFierce" }, }, }, }, WeaponSpellPotion = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellPotionPrompt" }, OnChargeFunctionNames = {}, OnChargeFunctionArgs = {}, OnFiredFunctionNames = { "SpellPotion", "SpellFire" }, OnFiredFunctionArgs = { Amount = 15, HealDelay = 0.35 }, HealingAmount = 15, ShowManaIndicator = false, ManaSpendCost = 70, FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.08, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.5 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.3, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.5 }, }, Sounds = { FireSounds = { { Name = "/SFX/Player Sounds/PotionTraitTrigger" }, { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, }, }, EffectsForPackaging = { "SelfBuffOutput" } }, WeaponSpellLeap = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellLeapPrompt" }, OnFiredFunctionNames = {"SpellFire", "SetupSpellLeap" }, ExpireProjectilesOnFire = {"ProjectileAxeSpin"}, ManaSpendCost = 50, ShowManaIndicator = false, RiseDistance = 400, RiseTime = 0.6, --Ascent duration HangTime = 0.1, --Pause at apex duration LandingTime = 0.175, --Descent duration LeapRiseSound = "/VO/MelinoeEmotes/EmoteChargingAxe", LeapFlightSound = "/VO/MelinoeEmotes/EmotePoweringUpLeap", LeapLandingSound = "/SFX/Player Sounds/LeapTraitImpact", LeapRiseAnimation = "MelinoeCrossCastHold", LeapFlightAnimation = "MelinoeSpellFireHoldFrame", LeapLandingAnimation = "Melinoe_Leap_Landing", --[[ TouchdownSimSlow = { LeapFraction = 0.8, --part of descent to pause Fraction = 0.05, --Sim slow degree Duration = 0.3, --Duration of slow hold }, ]] OnChargeFunctionArgs = { TimeSlowModifier = 0.10, Duration = 1.0, DisableBlink = true, ManualBlinkReenable = true, SpellChargePresentationFunction = "SpellChargeTimeSlowPresentationSoftVignette", }, OnChargeCancelFunctionName = "LeapEnableBlink", HitScreenshake = { Distance = 8, Speed = 800, FalloffSpeed = 1400, Duration = 0.24, Angle = 90, ScreenPreWait = 0.02 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.0 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.7, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.0 }, }, HitSimSlowCooldown = 1.0, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.25, LerpTime = 0 }, { ScreenPreWait = 0.35, Fraction = 1.0, LerpTime = 0.1 }, }, Sounds = { FireSounds = { { Name = "/SFX/Player Sounds/LeapTraitCharge" }, }, }, }, WeaponSpellMoonBeam = { InheritFrom = { "BaseSpell", }, CompleteObjectivesOnFire = { "SpellPotionPrompt" }, OnChargeFunctionNames = {}, OnChargeFunctionArgs = {}, OnFiredFunctionNames = { "MoonBeamSpellFire" }, OnFiredFunctionArgs = { Range = 450, ProjectileName = "ProjectileMoonBeam", Count = 8, Delay = 0.525, FollowUpDelay = 0.525, }, Using = { EffectName = "MoonBeamVulnerability", }, ShowManaIndicator = false, ManaSpendCost = 100, LinkedTraitManaSpendAdjustment = "SuitHexAspect", FireScreenshake = { Distance = 4, Speed = 400, FalloffSpeed = 1400, Duration = 0.08, Angle = 225, ScreenPreWait = 0.19 }, ChargeScreenshake = { Distance = 2, Speed = 100, FalloffSpeed = 2000, Duration = 1.5 }, ChargeCameraMotion = { ZoomType = "Ease", Fraction = 1.08, Duration = 0.3, HoldDuration = 0.0, RestoreDefaultDuration = 0.4 }, ChargeRumbleParameters = { { ScreenPreWait = 0.02, Fraction = 0.14, Duration = 1.5 }, }, Sounds = { FireSounds = { { Name = "/SFX/Player Sounds/PotionTraitTrigger" }, { Name = "/VO/MelinoeEmotes/EmoteCastingAlt" }, }, }, }, -- Enemy Weapons BaseCollisionWeapon = { StartingWeapon = false, BlockWrathGain = true, FireScreenshake = { Distance = 3, Speed = 300, Duration = 0.15, FalloffSpeed = 3000 }, HitSimSlowCooldown = 0.4, HitSimSlowParameters = { { ScreenPreWait = 0.02, Fraction = 0.10, LerpTime = 0 }, { ScreenPreWait = 0.04, Fraction = 1.0, LerpTime = 0.07 }, }, Upgrades = { }, KillText = "BodySlamHit", Sounds = { ImpactSounds = { Armored = "/SFX/Player Sounds/ZagreusShieldRicochet", Bone = "/Leftovers/World Sounds/PhysicalImpactPunch", Brick = "/Leftovers/World Sounds/PhysicalImpactPunch", Stone = "/Leftovers/World Sounds/PhysicalImpactPunch", Organic = "/Leftovers/World Sounds/PhysicalImpactPunch", }, }, OutgoingDamageModifiers = { { PlayerMultiplier = 0, Multiplicative = true } } }, } GameData.WeaponEquipOrder = { "WeaponBlink", "WeaponCast", "WeaponCastArm", } GameData.MissingPackages = ToLookup({ "None", "WeaponUpgrade", "WeaponCastArm", "WeaponDaggerThrow", "WeaponSprint", "WeaponSprintEx", "WeaponAxeSpecial", "WeaponAxe4", "WeaponAxe5", "WeaponStaffBall", "WeaponLobSpecial", "WeaponSuitRanged", "WeaponTransformAttack", "WeaponTransformSpecial", "WeaponSkullImpulse", "WeaponLobChargedPulse", "WeaponLobPulse", "WeaponTorchSpecial", "FlashbackHadesBlink", "WeaponSpellNova", "WeaponCastProjectile", "EncounterStartBuffWeapon", "WeaponCastBlink", "WeaponCastProjectileHades", "WeaponAnywhereCast", "WeaponCastLob", "WeaponCastProjectile", "WeaponSprintEx", "MixerFBossDrop", "MixerGBossDrop", "MixerHBossDrop", "MixerIBossDrop", "MixerNBossDrop", "MixerOBossDrop", "MixerPBossDrop", "MixerQBossDrop", "Mixer5CommonDrop", "Boon", "SpellDrop", "GiftDrop", "TalentDrop", "TalentBigDrop", "MinorTalentDrop", "StackUpgrade", "StackUpgradeBig", "StackUpgradeTriple", "Shop", "Story", "Devotion", "ClockworkGoal", "MetaCardPointsCommonDrop", "MetaCurrencyBigDrop", "MetaCardPointsCommonBigDrop", "MaxHealthDropSmall", "MaxHealthDrop", "MaxHealthDropBig", "MaxManaDropSmall", "MaxManaDrop", "MaxManaDropBig", "RoomMoneyDrop", "RoomMoneyTripleDrop", "RoomMoneyTinyDrop", "MetaCurrencyDrop", "MemPointsCommonBigDrop", "TestingRoom", "EarthBoost", "WaterBoost", "AirBoost", "FireBoost", "ElementalBoost", "Intercom", }) WeaponPackages = { "WeaponCast", "WeaponAxe", "WeaponStaffSwing", "WeaponDagger", "WeaponTorch", "WeaponLob", "WeaponSuit", }