diff --git a/Data/MuIlaak.rte/Actors.ini b/Data/MuIlaak.rte/Actors.ini index 026b2b09b0..da2c2985a4 100644 --- a/Data/MuIlaak.rte/Actors.ini +++ b/Data/MuIlaak.rte/Actors.ini @@ -1,9 +1,5 @@ /////////////////////////////////////////////////////////////////////// -// Shared Assets +// Actors - -IncludeFile = MuIlaak.rte/Actors/Shared.ini - - -/////////////////////////////////////////////////////////////////////// -// Actors \ No newline at end of file +IncludeFile = MuIlaak.rte/Actors/Brains/HivemindWalker/HivemindWalker.ini +IncludeFile = MuIlaak.rte/Actors/Infantry/Warrior/Warrior.ini diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA000.png new file mode 100644 index 0000000000..b8ef1c6f94 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA001.png new file mode 100644 index 0000000000..1bcae2c99d Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA002.png new file mode 100644 index 0000000000..f10deb0bbd Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA003.png new file mode 100644 index 0000000000..3f464c4500 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA004.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA004.png new file mode 100644 index 0000000000..6c0099c6ae Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA000.png new file mode 100644 index 0000000000..748c263903 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA001.png new file mode 100644 index 0000000000..3871608654 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA002.png new file mode 100644 index 0000000000..81e989ad45 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA003.png new file mode 100644 index 0000000000..7d02814701 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA004.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA004.png new file mode 100644 index 0000000000..7a01353e84 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA000.png new file mode 100644 index 0000000000..f6860e5cc4 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA001.png new file mode 100644 index 0000000000..8bd3887552 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA002.png new file mode 100644 index 0000000000..eea1e0b6af Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA003.png new file mode 100644 index 0000000000..cc55d71980 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA000.png new file mode 100644 index 0000000000..4c471e91b3 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA001.png new file mode 100644 index 0000000000..7dfe3f9b3b Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA002.png new file mode 100644 index 0000000000..880384e981 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA003.png new file mode 100644 index 0000000000..6f6d3cf998 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGA.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGA.png new file mode 100644 index 0000000000..c2c69c1eda Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGA.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGB.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGB.png new file mode 100644 index 0000000000..ed180c7c82 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGB.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Head.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Head.png new file mode 100644 index 0000000000..57bcb7f6dc Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Head.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HivemindWalker.ini b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HivemindWalker.ini new file mode 100644 index 0000000000..f29d7442dd --- /dev/null +++ b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/HivemindWalker.ini @@ -0,0 +1,658 @@ +/////////////////////////////////////////////////////////////////////// +// HVWalker + + +AddEffect = Attachable + PresetName = HVWalker Head + Mass = 25 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/Head.png + FrameCount = 1 + SpriteOffset = Vector + X = -7 + Y = -6 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = HVWalker Wound Entry Head + BurstSound = SoundContainer + CopyOf = Flesh Head Impact + BurstDamage = 0.5 + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + PresetName = HVWalker Wound Exit Head + BurstSound = SoundContainer + CopyOf = Flesh Head Exit Sweetener + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 320 + JointStiffness = 0.3 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -2 + Y = 5 + GibImpulseLimit = 770 + GibWoundLimit = 13 + GibSound = SoundContainer + CopyOf = Flesh Head Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + LifeVariation = 0.20 + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Brain + Offset = Vector + X = -5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Temple + Offset = Vector + X = -4 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Forehead + Offset = Vector + X = -1 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 12 + Offset = Vector + X = 1.5 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 11 + Offset = Vector + X = 0 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 10 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 3 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 2 + Offset = Vector + X = -4 + Y = -3.5 + +AddActor = Arm + PresetName = HVWalker Arm FG + Mass = 14 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/ArmFGA.png + FrameCount = 5 + SpriteOffset = Vector + X = -6 + Y = -3 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = HVWalker Wound Entry Arm + BurstSound = SoundContainer + CopyOf = Flesh Limb Impact + BurstDamage = 0.5 + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + BurstDamage = 0.5 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 400 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -3.5 + Y = -1 + DrawAfterParent = 1 + Hand = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGA.png + GripStrength = 170 + ThrowStrength = 30 + MaxLength = 15 + IdleOffset = Vector + X = 2 + Y = 13 + MoveSpeed = 0.2 + GibImpulseLimit = 800 + GibWoundLimit = 14 + GibSound = SoundContainer + CopyOf = Flesh Limb Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 4 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 6 + Offset = Vector + X = -3 + Y = -6 + +AddActor = Arm + CopyOf = HVWalker Arm FG + PresetName = HVWalker Arm BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/ArmBGA.png + Hand = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/HandFGB.png + + +AddActor = Attachable + PresetName = HVWalker Foot FG + Mass = 4 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/FootFGA.png + FrameCount = 4 + SpriteOffset = Vector + X = -5 + Y = -3.5 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 1 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 2 + DeepCheck = 0 + JointStrength = 80 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -2 + Y = -1 + DrawAfterParent = 1 + + +AddActor = Attachable + CopyOf = HVWalker Foot FG + PresetName = HVWalker Foot BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/FootBGA.png + FrameCount = 4 + + +AddActor = Leg + PresetName = HVWalker Leg FG + Mass = 12 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA.png + FrameCount = 5 + SpriteOffset = Vector + X = -6 + Y = -7 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = HVWalker Wound Entry Leg + BurstSound = SoundContainer + CopyOf = Flesh Limb Impact + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 530 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -5 + Y = 2 + DrawAfterParent = 1 + Foot = Attachable + CopyOf = HVWalker Foot FG + ParentOffset = Vector + X = -17 + Y = -10 + ExtendedOffset = Vector + X = 15 + Y = 0 + ContractedOffset = Vector + X = 7.5 + Y = 0 + IdleOffset = Vector + X = 1 + Y = 3 + MoveSpeed = 0.65 + GibImpulseLimit = 1000 + GibWoundLimit = 12 + GibSound = SoundContainer + CopyOf = Flesh Limb Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 9 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 2 + Offset = Vector + X = -3 + Y = -6 + + +AddActor = Leg + CopyOf = HVWalker Leg FG + PresetName = HVWalker Leg BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA.png + FrameCount = 5 + Foot = Attachable + CopyOf = HVWalker Foot BG + + +AddActor = AHuman + PresetName = Hivemind + AddToGroup = Actors + AddToGroup = Actors - Light + AddToGroup = Brains + Description = A synthetic entity without a mind of its own, designed to relay signals and coordinate numerous units on the battlefield. Destruction of the Hivemind severs these links, sowing disarray among the fighting forces and guaranteeing defeat. + Mass = 48 + GoldValue = 250 + HitsMOs = 1 + GetsHitByMOs = 1 + ScriptPath = Base.rte/AI/HumanAI.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/LaakRegen.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/Torso.png + FrameCount = 1 + SpriteOffset = Vector + X = -7 + Y = -17 + IconFile = ContentFile + FilePath = MuIlaak.rte/Actors/Brains/HivemindWalker/Icon.png + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = HVWalker Wound Entry Torso + BurstSound = SoundContainer + CopyOf = Flesh Torso Impact + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit Deadly + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 6 + Depth = 3 + DeepCheck = 0 + BodyHitSound = SoundContainer + CopyOf = Foley Heavy Robot Impact + PainSound = SoundContainer + CopyOf = Laak Pain + DeathSound = SoundContainer + CopyOf = Laak Pain + DeviceSwitchSound = SoundContainer + CopyOf = Foley Light Robot Light + Health = 100 + Mechanical = 1 + Organic = 1 // they're biomechanical lol + ImpulseDamageThreshold = 2700 + AimDistance = 30 + Perceptiveness = 1 + SharpAimDelay = 250 + CharHeight = 110 + HolsterOffset = Vector + X = -6 + Y = -4 + ReloadOffset = Vector + X = 2 + Y = 4 + Head = Attachable + CopyOf = HVWalker Head + ParentOffset = Vector + X = -1.5 + Y = -13 + Jetpack = AEJetpack + CopyOf = Laak Jetpack Brain + ParentOffset = Vector + X = -8 + Y = -1 + DrawAfterParent = 0 + ParticlesPerMinute = 14000 + JumpTime = 1.5 + JumpReplenishRate = 1.5 + FGArm = Arm + CopyOf = HVWalker Arm FG + ParentOffset = Vector + X = -3 + Y = -11 + BGArm = Arm + CopyOf = HVWalker Arm BG + ParentOffset = Vector + X = 4.5 + Y = -11 + BGArmFlailScalar = -0.5 + FGLeg = Leg + CopyOf = HVWalker Leg FG + ParentOffset = Vector + X = -1 + Y = 2.5 + BGLeg = Leg + CopyOf = HVWalker Leg BG + ParentOffset = Vector + X = 0.3 + Y = 2.5 + HandGroup = AtomGroup + CopyOf = Human Hand + FGFootGroup = AtomGroup + CopyOf = Human Foot + BGFootGroup = AtomGroup + CopyOf = Human Foot + StrideSound = SoundContainer + CopyOf = Footstep Base Light Robot Generic + Pitch = 0.85 + StandLimbPath = LimbPath + PresetName = Soldier Stand Path + StartOffset = Vector + X = -2 + Y = 17 + StartSegCount = 0 + SlowTravelSpeed = 0.1 + NormalTravelSpeed = 0.7 + FastTravelSpeed = 1.4 + PushForce = 4200 + StandLimbPathBG = LimbPath + CopyOf = Soldier Stand Path + PresetName = Laak Stand Path + StartOffset = Vector + X = 7 + Y = 17 + WalkLimbPath = LimbPath + CopyOf = Human Walk Path + PresetName = Laak Walk Path + StartOffset = Vector + X = 10 + Y = -1 + SlowTravelSpeed = 2 + NormalTravelSpeed = 3 + FastTravelSpeed = 6 + PushForce = 5200 + WalkRotAngleTarget = -0.1 + CrouchLimbPath = LimbPath + CopyOf = Human Crouch Path + CrouchLimbPathBG = LimbPath + CopyOf = Human Crouch Path BG + CrouchRotAngleTarget = -0.3 + CrawlLimbPath = LimbPath + CopyOf = Human Crawl Path + ArmCrawlLimbPath = LimbPath + CopyOf = Human Arm Crawl Path + ClimbLimbPath = LimbPath + CopyOf = Human Climb Path + JumpLimbPath = LimbPath + CopyOf = Human Jump Path + DislodgeLimbPath = LimbPath + CopyOf = Human Dislodge Path + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 0.5 + Y = -9 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 0 + Y = -2 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 3 + Offset = Vector + X = 1 + Y = -4 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 7 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 8 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Offset = Vector + X = -4.5 + Y = -3 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Offset = Vector + X = -2.5 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + GibImpulseLimit = 5100 + GibWoundLimit = 28 + GibSound = SoundContainer + CopyOf = Flesh Torso Gib diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Icon.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Icon.png new file mode 100644 index 0000000000..d007aa3ed6 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Icon.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA000.png new file mode 100644 index 0000000000..71cbc1111d Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA001.png new file mode 100644 index 0000000000..ada0b171b2 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA002.png new file mode 100644 index 0000000000..0dbbf78252 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA003.png new file mode 100644 index 0000000000..7f0cf1246f Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA004.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA004.png new file mode 100644 index 0000000000..0349ea1e8c Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegBGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA000.png new file mode 100644 index 0000000000..45d1386098 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA001.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA001.png new file mode 100644 index 0000000000..be56ba6aca Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA002.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA002.png new file mode 100644 index 0000000000..aaa9c1a672 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA003.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA003.png new file mode 100644 index 0000000000..c87c313989 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA004.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA004.png new file mode 100644 index 0000000000..3e6af2ccb4 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/LegFGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Torso000.png b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Torso000.png new file mode 100644 index 0000000000..5eb45b1160 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Brains/HivemindWalker/Torso000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA000.png new file mode 100644 index 0000000000..4bd921085e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA001.png new file mode 100644 index 0000000000..95fc0d0603 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA002.png new file mode 100644 index 0000000000..58891874af Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA003.png new file mode 100644 index 0000000000..aba3fc56fa Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA004.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA004.png new file mode 100644 index 0000000000..1f7aaa05ca Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA000.png new file mode 100644 index 0000000000..d7b6d6a818 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA001.png new file mode 100644 index 0000000000..0c9d636d95 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA002.png new file mode 100644 index 0000000000..6106ed0633 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA003.png new file mode 100644 index 0000000000..cb73d9a8e4 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA004.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA004.png new file mode 100644 index 0000000000..22928e3163 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA000.png new file mode 100644 index 0000000000..7854aadd7e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA001.png new file mode 100644 index 0000000000..771f0c4e32 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA002.png new file mode 100644 index 0000000000..0187eb8b1e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA003.png new file mode 100644 index 0000000000..bda64f9f01 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA000.png new file mode 100644 index 0000000000..23aee326ba Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA001.png new file mode 100644 index 0000000000..211bd18188 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA002.png new file mode 100644 index 0000000000..24c46be6a1 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA003.png new file mode 100644 index 0000000000..91d2fa87fd Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/FootFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGA.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGA.png new file mode 100644 index 0000000000..d95d4e9a20 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGA.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGB.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGB.png new file mode 100644 index 0000000000..d112dc3e2e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/HandFGB.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head000.png new file mode 100644 index 0000000000..13a6922746 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head001.png new file mode 100644 index 0000000000..da40ca302f Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Head001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/Icon.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Icon.png new file mode 100644 index 0000000000..268bdd44d8 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Icon.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA000.png new file mode 100644 index 0000000000..a71e3dff44 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA001.png new file mode 100644 index 0000000000..99121b7962 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA002.png new file mode 100644 index 0000000000..ef7456b35f Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA003.png new file mode 100644 index 0000000000..3548ff998e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA004.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA004.png new file mode 100644 index 0000000000..23d556c425 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegBGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA000.png new file mode 100644 index 0000000000..91bc554e2b Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA001.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA001.png new file mode 100644 index 0000000000..47cec7399b Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA001.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA002.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA002.png new file mode 100644 index 0000000000..b07dac2c8e Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA002.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA003.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA003.png new file mode 100644 index 0000000000..90e0b4c150 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA003.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA004.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA004.png new file mode 100644 index 0000000000..52291a7c2f Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/LegFGA004.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/Torso000.png b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Torso000.png new file mode 100644 index 0000000000..d5db70e9e6 Binary files /dev/null and b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Torso000.png differ diff --git a/Data/MuIlaak.rte/Actors/Infantry/Warrior/Warrior.ini b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Warrior.ini new file mode 100644 index 0000000000..1340c62f21 --- /dev/null +++ b/Data/MuIlaak.rte/Actors/Infantry/Warrior/Warrior.ini @@ -0,0 +1,661 @@ +/////////////////////////////////////////////////////////////////////// +// Warrior + + +AddEffect = Attachable + PresetName = Warrior Head + Mass = 25 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/Head.png + FrameCount = 2 + ScriptPath = MuIlaak.rte/Shared/Scripts/RandomFrame.lua + SpriteOffset = Vector + X = -7 + Y = -6 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = Warrior Wound Entry Head + BurstSound = SoundContainer + CopyOf = Flesh Head Impact + BurstDamage = 0.5 + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + PresetName = Warrior Wound Exit Head + BurstSound = SoundContainer + CopyOf = Flesh Head Exit Sweetener + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 320 + JointStiffness = 0.3 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -2 + Y = 5 + GibImpulseLimit = 700 + GibWoundLimit = 11 + GibSound = SoundContainer + CopyOf = Flesh Head Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + LifeVariation = 0.20 + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Brain + Offset = Vector + X = -5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Temple + Offset = Vector + X = -4 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak Forehead + Offset = Vector + X = -1 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 12 + Offset = Vector + X = 1.5 + Y = -4.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 11 + Offset = Vector + X = 0 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 10 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 3 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = -4 + Y = -3.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 2 + Offset = Vector + X = -4 + Y = -3.5 + +AddActor = Arm + PresetName = Warrior Arm FG + Mass = 14 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/ArmFGA.png + FrameCount = 5 + SpriteOffset = Vector + X = -6 + Y = -3 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = Warrior Wound Entry Arm + BurstSound = SoundContainer + CopyOf = Flesh Limb Impact + BurstDamage = 0.5 + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + BurstDamage = 0.5 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 350 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -3.5 + Y = -1 + DrawAfterParent = 1 + Hand = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/HandFGA.png + GripStrength = 170 + ThrowStrength = 30 + MaxLength = 15 + IdleOffset = Vector + X = 2 + Y = 13 + MoveSpeed = 0.2 + GibImpulseLimit = 550 + GibWoundLimit = 10 + GibSound = SoundContainer + CopyOf = Flesh Limb Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 4 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 6 + Offset = Vector + X = -3 + Y = -6 + +AddActor = Arm + CopyOf = Warrior Arm FG + PresetName = Warrior Arm BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/ArmBGA.png + Hand = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/HandFGB.png + + +AddActor = Attachable + PresetName = Warrior Foot FG + Mass = 4 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/FootFGA.png + FrameCount = 4 + SpriteOffset = Vector + X = -5 + Y = -3.5 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 1 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 2 + DeepCheck = 0 + JointStrength = 80 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -2 + Y = -2 + DrawAfterParent = 1 + + +AddActor = Attachable + CopyOf = Warrior Foot FG + PresetName = Warrior Foot BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/FootBGA.png + FrameCount = 4 + + +AddActor = Leg + PresetName = Warrior Leg FG + Mass = 12 + HitsMOs = 1 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/LegFGA.png + FrameCount = 5 + SpriteOffset = Vector + X = -6 + Y = -7 + AngularVel = 6 + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = Warrior Wound Entry Leg + BurstSound = SoundContainer + CopyOf = Flesh Limb Impact + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 530 + JointStiffness = 0.5 + BreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + ParentBreakWound = AEmitter + CopyOf = Laak Wound Flesh Body + JointOffset = Vector + X = -5 + Y = 2 + DrawAfterParent = 1 + Foot = Attachable + CopyOf = Warrior Foot FG + ParentOffset = Vector + X = -11 + Y = -10 + ExtendedOffset = Vector + X = 15 + Y = 0 + ContractedOffset = Vector + X = 7.5 + Y = 0 + IdleOffset = Vector + X = 1 + Y = 3 + MoveSpeed = 0.65 + GibImpulseLimit = 1000 + GibWoundLimit = 12 + GibSound = SoundContainer + CopyOf = Flesh Limb Gib + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 9 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 2 + Offset = Vector + X = -3 + Y = -6 + + +AddActor = Leg + CopyOf = Warrior Leg FG + PresetName = Warrior Leg BG + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/LegBGA.png + FrameCount = 5 + Foot = Attachable + CopyOf = Warrior Foot BG + ParentOffset = Vector + X = -11 + Y = -10 + + +AddActor = AHuman + PresetName = Warrior + AddToGroup = Actors + AddToGroup = Actors - Light + Description = A biomechanical construct designed for a single purpose: war. Its body douubles as armor, absorbing fire and autonomously patching wounds sustained in battle. + Mass = 48 + GoldValue = 200 + HitsMOs = 1 + GetsHitByMOs = 1 + ScriptPath = Base.rte/AI/HumanAI.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/RandomFrame.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/LaakRegen.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/Torso.png + FrameCount = 1 + SpriteOffset = Vector + X = -7 + Y = -17 + IconFile = ContentFile + FilePath = MuIlaak.rte/Actors/Infantry/Warrior/Icon.png + EntryWound = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = Warrior Wound Entry Torso + BurstSound = SoundContainer + CopyOf = Flesh Torso Impact + ExitWound = AEmitter + CopyOf = Laak Wound Flesh Exit Deadly + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 6 + Depth = 3 + DeepCheck = 0 + BodyHitSound = SoundContainer + CopyOf = Foley Heavy Robot Impact + PainSound = SoundContainer + CopyOf = Laak Pain + DeathSound = SoundContainer + CopyOf = Laak Pain + DeviceSwitchSound = SoundContainer + CopyOf = Foley Light Robot Light + Health = 100 + Mechanical = 1 + Organic = 1 // they're biomechanical lol + ImpulseDamageThreshold = 2700 + AimDistance = 30 + Perceptiveness = 1 + SharpAimDelay = 250 + CharHeight = 110 + HolsterOffset = Vector + X = -6 + Y = -4 + ReloadOffset = Vector + X = 2 + Y = 4 + Head = Attachable + CopyOf = Warrior Head + ParentOffset = Vector + X = -1.5 + Y = -13 + Jetpack = AEJetpack + CopyOf = Laak Jetpack + ParentOffset = Vector + X = -8 + Y = -1 + DrawAfterParent = 0 + ParticlesPerMinute = 14000 + JumpTime = 1.5 + JumpReplenishRate = 1.5 + FGArm = Arm + CopyOf = Warrior Arm FG + ParentOffset = Vector + X = -3 + Y = -11 + BGArm = Arm + CopyOf = Warrior Arm BG + ParentOffset = Vector + X = 4.5 + Y = -11 + BGArmFlailScalar = -0.5 + FGLeg = Leg + CopyOf = Warrior Leg FG + ParentOffset = Vector + X = -1 + Y = 2.5 + BGLeg = Leg + CopyOf = Warrior Leg BG + ParentOffset = Vector + X = 0.3 + Y = 2.5 + HandGroup = AtomGroup + CopyOf = Human Hand + FGFootGroup = AtomGroup + CopyOf = Human Foot + BGFootGroup = AtomGroup + CopyOf = Human Foot + StrideSound = SoundContainer + CopyOf = Footstep Base Light Robot Generic + StandLimbPath = LimbPath + PresetName = Soldier Stand Path + StartOffset = Vector + X = -2 + Y = 17 + StartSegCount = 0 + SlowTravelSpeed = 0.1 + NormalTravelSpeed = 0.7 + FastTravelSpeed = 1.4 + PushForce = 4200 + StandLimbPathBG = LimbPath + CopyOf = Soldier Stand Path + PresetName = Laak Stand Path + StartOffset = Vector + X = 7 + Y = 17 + WalkLimbPath = LimbPath + CopyOf = Human Walk Path + PresetName = Laak Walk Path + StartOffset = Vector + X = 10 + Y = -1 + SlowTravelSpeed = 2 + NormalTravelSpeed = 3 + FastTravelSpeed = 6 + PushForce = 5200 + WalkRotAngleTarget = -0.1 + CrouchLimbPath = LimbPath + CopyOf = Human Crouch Path + CrouchLimbPathBG = LimbPath + CopyOf = Human Crouch Path BG + CrouchRotAngleTarget = -0.3 + CrawlLimbPath = LimbPath + CopyOf = Human Crawl Path + ArmCrawlLimbPath = LimbPath + CopyOf = Human Arm Crawl Path + ClimbLimbPath = LimbPath + CopyOf = Human Climb Path + JumpLimbPath = LimbPath + CopyOf = Human Jump Path + DislodgeLimbPath = LimbPath + CopyOf = Human Dislodge Path + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Drop Blood + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 1 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Viscera 2 + Count = 25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 0.5 + Y = -9 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 1 + Offset = Vector + X = 0 + Y = -2 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 3 + Offset = Vector + X = 1 + Y = -4 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 7 + Offset = Vector + X = -1.5 + Y = -1.5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 8 + Offset = Vector + X = 3 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 5 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Offset = Vector + X = -4.5 + Y = -3 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + Offset = Vector + X = -2.5 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 13 + Offset = Vector + X = -3 + Y = -6 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Laak 14 + Offset = Vector + X = -3 + Y = -6 + GibImpulseLimit = 4900 + GibWoundLimit = 20 + GibSound = SoundContainer + CopyOf = Flesh Torso Gib diff --git a/Data/MuIlaak.rte/Actors/Shared.ini b/Data/MuIlaak.rte/Actors/Shared.ini deleted file mode 100644 index 1994258356..0000000000 --- a/Data/MuIlaak.rte/Actors/Shared.ini +++ /dev/null @@ -1,2 +0,0 @@ -/////////////////////////////////////////////////////////////////////// -// Actors Shared Assets \ No newline at end of file diff --git a/Data/MuIlaak.rte/Craft.ini b/Data/MuIlaak.rte/Craft.ini deleted file mode 100644 index 7ffa370281..0000000000 --- a/Data/MuIlaak.rte/Craft.ini +++ /dev/null @@ -1,9 +0,0 @@ -/////////////////////////////////////////////////////////////////////// -// Shared Assets - - -IncludeFile = MuIlaak.rte/Craft/Shared.ini - - -/////////////////////////////////////////////////////////////////////// -// Craft \ No newline at end of file diff --git a/Data/MuIlaak.rte/Craft/Shared.ini b/Data/MuIlaak.rte/Craft/Shared.ini deleted file mode 100644 index 2bbb9c004b..0000000000 --- a/Data/MuIlaak.rte/Craft/Shared.ini +++ /dev/null @@ -1,2 +0,0 @@ -/////////////////////////////////////////////////////////////////////// -// Craft Shared Assets \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices.ini b/Data/MuIlaak.rte/Devices.ini index 580a958b57..122ec55379 100644 --- a/Data/MuIlaak.rte/Devices.ini +++ b/Data/MuIlaak.rte/Devices.ini @@ -1,9 +1,15 @@ /////////////////////////////////////////////////////////////////////// -// Shared Assets - - -IncludeFile = MuIlaak.rte/Devices/Shared.ini +// Weapons +IncludeFile = MuIlaak.rte/Devices/Weapons/Anathem/Anathem.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Foundation/Foundation.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Solaris/Solaris.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Ubik/Ubik.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.ini +IncludeFile = MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.ini /////////////////////////////////////////////////////////////////////// -// Devices \ No newline at end of file +// Throwables + +IncludeFile = MuIlaak.rte/Devices/Throwables/Recursion/Recursion.ini \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Shared.ini b/Data/MuIlaak.rte/Devices/Shared.ini deleted file mode 100644 index cba22a04de..0000000000 --- a/Data/MuIlaak.rte/Devices/Shared.ini +++ /dev/null @@ -1,2 +0,0 @@ -/////////////////////////////////////////////////////////////////////// -// Devices Shared Assets \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.ini b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.ini new file mode 100644 index 0000000000..15f419be43 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.ini @@ -0,0 +1,295 @@ +/////////////////////////////////////////////////////////////////////// +// Recursion + + +AddDevice = MOSRotating + PresetName = Recursion Payload + Mass = 0 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + GibSound = SoundContainer + CopyOf = Explosion Bassy + AddGib = Gib + GibParticle = MOPixel + CopyOf = Hyperion Emission Particle 1 + Count = 30 + Spread = 3.14 + MaxVelocity = 35 + MinVelocity = 30 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Hyperion Emission Particle 2 + Count = 30 + Spread = 3.14 + MaxVelocity = 45 + MinVelocity = 35 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Green Glow + Count = 1 + Spread = 3.14 + MaxVelocity = 0.1 + MinVelocity = 0.1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast Short + Count = 6 + Spread = 3.14 + MaxVelocity = 25 + MinVelocity = 20 + SpreadMode = 1 + GibImpulseLimit = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast + Count = 50 + MinVelocity = 40 + MaxVelocity = 60 + InheritsVel = 0 + SpreadMode = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Particle Hyperion's Shot + Count = 60 + MinVelocity = 20 + MaxVelocity = 40 + LifeVariation = 0.50 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Plasma Flame Damage Particle + Count = 15 + MinVelocity = 35 + MaxVelocity = 70 + InheritsVel = 0 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Flame 2 Hurt + Count = 5 + MinVelocity = 10 + MaxVelocity = 25 + InheritsVel = 0 + LifeVariation = 0.20 + SpreadMode = 1 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Flame Hurt Short + Count = 5 + MinVelocity = 20 + MaxVelocity = 40 + InheritsVel = 0 + LifeVariation = 0.20 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Ground Flame + Count = 15 + MinVelocity = 10 + MaxVelocity = 25 + InheritsVel = 0 + LifeVariation = 0.20 + SpreadMode = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Plasma Flame Smoke 2 + Count = 15 + Spread = 3.1 + MinVelocity = 15 + MaxVelocity = 30 + LifeVariation = 0.50 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Plasma Fire Puff + Count = 30 + MinVelocity = 25 + MaxVelocity = 50 + LifeVariation = 0.20 + InheritsVel = 0 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Fire Trace + Count = 60 + MinVelocity = 25 + MaxVelocity = 50 + LifeVariation = 0.20 + InheritsVel = 0 + GibImpulseLimit = 20 + GibWoundLimit = 5 + + +AddDevice = TDExplosive + PresetName = Recursion Charge + AddToGroup = Bombs - Grenades + AddToGroup = Bombs + Description = A single plasma grenade. Just a single one. You're really better off buying the 3-nade pack; 25oz for just a single one is a goddamn robbery. + Mass = 0.7 + RestThreshold = -1 + HitsMOs = 1 + GetsHitByMOs = 1 + ScriptPath = Base.rte/Devices/Shared/Scripts/TrajectoryGuide.lua + AddCustomValue = NumberValue + TrajectoryGuideBlastRadius = 75 + ScriptPath = MuIlaak.rte/Devices/Throwables/Recursion/Recursion.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Throwables/Recursion/Recursion.png + FrameCount = 1 + SpriteOffset = Vector + X = -6 + Y = -4 + EntryWound = AEmitter + CopyOf = Dent Metal + ExitWound = AEmitter + CopyOf = Dent Metal + GoldValue = 25 + Buyable = 0 + AngularVel = 5 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -1 + Y = 1 + DrawAfterParent = 0 + StanceOffset = Vector + X = 8 + Y = 6 + SharpStanceOffset = Vector + X = 4 + Y = 1 + SupportOffset = Vector + X = 1 + Y = -2 + ActivationSound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + StartThrowOffset = Vector + X = -11 + Y = -2 + EndThrowOffset = Vector + X = 12 + Y = -1 + TriggerDelay = 10000 + ActivatesWhenReleased = 0 + GibSound = SoundContainer + CopyOf = Bone Crack + GibImpulseLimit = 8000 + GibWoundLimit = 2 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Military Tiny A + Offset = Vector + X = 0 + Y = -3 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Military Tiny A + Offset = Vector + X = -3 + Y = -1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Offset = Vector + X = -3 + Y = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Offset = Vector + X = 1 + Y = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Offset = Vector + X = -2 + Y = -3 + + +AddDevice = TDExplosive + PresetName = Recursion Charge Bandolier + AddToGroup = Bombs - Grenades + AddToGroup = Bombs + Description = A bundle of three plasma charges. Each Recursion Charge explodes violently, leaving plasma fire behind. + Mass = 3.6 + HitsMOs = 1 + GetsHitByMOs = 1 + ScriptPath = Base.rte/Devices/Shared/Scripts/GrenadeBandolier.lua + AddCustomValue = StringValue + GrenadeName = Recursion Charge + AddCustomValue = StringValue + GrenadeTech = MuIlaak.rte + AddCustomValue = NumberValue + GrenadeCount = 3 + AddCustomValue = NumberValue + ReplenishDelay = 0 + AddCustomValue = NumberValue + BandolierMass = 1.5 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Throwables/Recursion/Recursion.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Throwables/Recursion/RecursionBandoilerIcon.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -4 + EntryWound = AEmitter + CopyOf = Dent Metal + ExitWound = AEmitter + CopyOf = Dent Metal + GoldValue = 35 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -1 + Y = 1 + DrawAfterParent = 0 + StanceOffset = Vector + X = 8 + Y = 6 + SharpStanceOffset = Vector + X = 4 + Y = 1 + SupportOffset = Vector + X = 1 + Y = -2 + StartThrowOffset = Vector + X = -11 + Y = -2 + EndThrowOffset = Vector + X = 12 + Y = -1 + TriggerDelay = 9999999 + GibImpulseLimit = 8000 + GibWoundLimit = 4 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.lua b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.lua new file mode 100644 index 0000000000..118a23f357 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.lua @@ -0,0 +1,22 @@ +function Create(self) + self.fuzeDelay = 4000; + self.payload = CreateMOSRotating("Recursion Payload", "MuIlaak.rte"); +end + +function Update(self) + if self.fuze then + if self.fuze:IsPastSimMS(self.fuzeDelay) then + self.ToDelete = true; + end + elseif self:IsActivated() then + self.fuze = Timer(); + end +end + +function Destroy(self) + if self.fuze and self.payload then + self.payload.Pos = Vector(self.Pos.X, self.Pos.Y); + MovableMan:AddParticle(self.payload); + self.payload:GibThis(); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.png b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.png new file mode 100644 index 0000000000..a6f6c41c4d Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Throwables/Recursion/Recursion.png differ diff --git a/Data/MuIlaak.rte/Devices/Throwables/Recursion/RecursionBandoilerIcon.png b/Data/MuIlaak.rte/Devices/Throwables/Recursion/RecursionBandoilerIcon.png new file mode 100644 index 0000000000..1220592264 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Throwables/Recursion/RecursionBandoilerIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.ini b/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.ini new file mode 100644 index 0000000000..4ae1c1d53e --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.ini @@ -0,0 +1,421 @@ +AddEffect = MOPixel + PresetName = Plasma Fragment + Mass = 0.05 + LifeTime = 100 + Sharpness = 50 + AirResistance = 0.075 + WoundDamageMultiplier = 0.2 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 210 + G = 255 + B = 180 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 210 + G = 255 + B = 180 + TrailLength = 3 + + +AddEffect = MOPixel + PresetName = Plasma Fragment Scripted + Description = This particle is set to hit objects after the first couple of frames, allowing it to pass through objects in the immediate vicinity and deal damage to larger groups. + ScriptPath = Base.rte/Scripts/GrenadeFragment.lua + Mass = 0.07 + LifeTime = 100 + Sharpness = 35 + AirResistance = 0.025 + WoundDamageMultiplier = 0.5 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 210 + G = 255 + B = 180 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 210 + G = 255 + B = 180 + TrailLength = 3 + +/////////////////////////////////////////////////////////////////////// +// Anathem Gibs + +AddEffect = MOSRotating + PresetName = Anathem Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Anathem Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Anathem Gib C + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibC.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +/////////////////////////////////////////////////////////////////////// +// Anathem Ammo + +AddEffect = AEmitter + PresetName = Laak Plasma Bolt Missile Anathem + Mass = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + GlobalAccScalar = 0 + ScriptPath = MuIlaak.rte/Shared/Scripts/PlasmaBolt.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/BigPlasmaTrail.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaBolt.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 1 + DeepCheck = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Green Trace Front Effect Particle + PresetName = Plasma Bolt Front Effect Particle + LifeTime = 20 + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + ParticlesPerMinute = 16000 + BurstSize = 1 + Spread = 0 + MaxVelocity = 35 + MinVelocity = 0 + PushesEmitter = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Green Trace Effect Particle + PresetName = Plasma Bolt Effect Particle + LifeTime = 100 + EffectStartTime = 0 + EffectStopTime = 300 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + ParticlesPerMinute = 12000 + BurstSize = 1 + Spread = 0 + MaxVelocity = 35 + MinVelocity = 0 + PushesEmitter = 0 + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstTriggered = 1 + GibSound = SoundContainer + AttenuationStartDistance = 195 + Pitch = 2 + PitchVariation = 0.5 + AddSound = ContentFile + FilePath = Imperatus.rte/Devices/Weapons/Slugger/Sounds/Explode1.flac + AddSound = ContentFile + FilePath = Imperatus.rte/Devices/Weapons/Slugger/Sounds/Explode2.flac + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Green Glow + Count = 1 + Spread = 3.14 + MaxVelocity = 0.1 + MinVelocity = 0.1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast Short + Count = 6 + Spread = 3.14 + MaxVelocity = 25 + MinVelocity = 20 + SpreadMode = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Plasma Fragment Scripted + LifeVariation = 0.25 + Count = 24 + MinVelocity = 38 + MaxVelocity = 38 + InheritsVel = 0 + GibImpulseLimit = 1 + +AddAmmo = Round + PresetName = Laak Plasma Bolt Anathem + ParticleCount = 1 + Particle = AEmitter + PresetName = Laak Plasma Bolt Shot Anathem + Mass = 10 + HitsMOs = 0 + GetsHitByMOs = 0 + PinStrength = 10 + LifeTime = 1000 + GlobalAccScalar = 0 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + AddEmission = Emission + EmittedParticle = AEmitter + CopyOf = Laak Plasma Bolt Missile Anathem + ParticlesPerMinute = 1 + BurstSize = 1 + Spread = 0 + MaxVelocity = 18 + MinVelocity = 18 + PushesEmitter = 0 + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + BurstTriggered = 1 + FireVelocity = 18 + AIFireVel = 18 + Separation = 0 + +AddAmmo = Magazine + PresetName = Magazine Anathem + Mass = 1 + HitsMOs = 0 + GetsHitByMOs = 0 + CollidesWithTerrainWhileAttached = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Anathem/AnathemMagazine.png + FrameCount = 1 + SpriteOffset = Vector + X = -4 + Y = -4 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 2 + Depth = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + DrawAfterParent = 1 + JointOffset = Vector + X = 0 + Y = 0 + ParentOffset = Vector + X = 0 + Y = -2.5 + RoundCount = 6 + RegularRound = Round + CopyOf = Laak Plasma Bolt Anathem + +/////////////////////////////////////////////////////////////////////// +// Anathem + +AddDevice = HDFirearm + PresetName = Anathem + Description = A plasma handgun capable of heavily injuring lightly armored enemy units. + AddToGroup = Weapons + AddToGroup = Weapons - Secondary + Mass = 2 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Devices/Weapons/Anathem/AnathemRecoil.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Anathem/Anathem.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Anathem/AnathemIcon.png + FrameCount = 1 + SpriteOffset = Vector + X = -6 + Y = -4 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 30 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -2 + Y = 2 + DrawAfterParent = 0 + OneHanded = 1 + DualWieldable = 1 + DualReloadable = 1 + OneHandedReloadTimeMultiplier = 1.5 + StanceOffset = Vector + X = 15 + Y = 4 + SharpStanceOffset = Vector + X = 22 + Y = 2 + SupportOffset = Vector + X = -1 + Y = 4 + SharpLength = 125 + Magazine = Magazine + CopyOf = Magazine Anathem + Flash = Attachable + CopyOf = Laak Flash Green + FireSound = SoundContainer + AttenuationStartDistance = 165 + Pitch = 1.5 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire1.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire2.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire3.flac + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AttenuationStartDistance = 110 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac + ReloadEndSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac + RateOfFire = 137 + ReloadTime = 2000 + FullAuto = 0 + FireIgnoresThis = 1 + ShakeRange = 7 + SharpShakeRange = 1 + NoSupportFactor = 1.7 + ParticleSpreadRange = 0 + ShellSpreadRange = 8 + ShellAngVelRange = 2 + MuzzleOffset = Vector + X = 10 + Y = -2 + EjectionOffset = Vector + X = -1 + Y = -2 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Anathem Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Anathem Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Anathem Gib C + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 3 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 5 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Rust Micro A + Count = 7 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 3 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + GibWoundLimit = 4 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.png b/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.png new file mode 100644 index 0000000000..65d44a86dc Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Anathem/Anathem.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibB.png new file mode 100644 index 0000000000..5a52e37b19 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibC.png b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibC.png new file mode 100644 index 0000000000..c5ae34ad08 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemGibC.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemIcon.png new file mode 100644 index 0000000000..9e9243edd9 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemMagazine.png b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemMagazine.png new file mode 100644 index 0000000000..cbf62619cb Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemMagazine.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemRecoil.lua b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemRecoil.lua new file mode 100644 index 0000000000..8d5dda18cb --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Anathem/AnathemRecoil.lua @@ -0,0 +1,34 @@ +function Create(self) + --Suffer from fire rate loss when firing rapidly + self.fireRatePenaltyPerShot = 100; + self.fireRateRevertIncrement = 6; + self.fireRateRevertTimer = Timer(); +end + +function ThreadedUpdate(self) + if not self.origRateOfFire then --Check original stats on Update() to include global script changes + self.origRateOfFire = self.RateOfFire; + end + + if self.FiredFrame then + local parent = self:GetParent() or self; + + self.InheritedRotAngleOffset = self.InheritedRotAngleOffset + RangeRand(1.1, 1.2)/math.sqrt(1 + parent.Mass + parent.Material.StructuralIntegrity * 0.1); + self.RateOfFire = math.max(self.RateOfFire - self.fireRatePenaltyPerShot, 1); + + self.fireRateRevertTimer:Reset(); + elseif self.RateOfFire < self.origRateOfFire then + self.RateOfFire = math.min(self.RateOfFire * (1 + self.fireRateRevertIncrement * 0.01) + self.fireRateRevertIncrement, self.origRateOfFire); + self.fireRateRevertTimer:Reset(); + end + + if self.InheritedRotAngleOffset > 0 then + self.InheritedRotAngleOffset = self.InheritedRotAngleOffset - 0.0001 * (self.RateOfFire/(0.9 + self.InheritedRotAngleOffset)); + if self.InheritedRotAngleOffset < 0 then + self.InheritedRotAngleOffset = 0; + end + if self.InheritedRotAngleOffset > 0.3 then + self:Deactivate(); + end + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.ini b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.ini new file mode 100644 index 0000000000..35f2894483 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.ini @@ -0,0 +1,374 @@ +/////////////////////////////////////////////////////////////////////// +// Blindsight Gibs + + +AddEffect = MOSRotating + PresetName = Blindsight Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Blindsight Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + + +/////////////////////////////////////////////////////////////////////// +// Blindsight Magazine + +AddAmmo = AEmitter + PresetName = Crystal Light + Mass = 0.5 + Sharpness = 20 + WoundDamageMultiplier = 0.3 + AirResistance = 0.01 + OrientToVel = 0.1 + LifeTime = 3000 + HitsMOs = 1 + GetsHitByMOs = 0 + RestThreshold = 1000 + GibWithParentChance = 0.5 + GibAtEndOfLifetime = 1 + ScriptPath = MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.lua + ScriptPath = MuIlaak.rte/Devices/Weapons/Blindsight/CrystalTrailBlindsight.lua + AddCustomValue = NumberValue + SmokeTrailSize = 2.36 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -1 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 1 + Depth = 0 + DeepCheck = 0 + DrawAfterParent = 0 + JointStrength = 99999 + +// BurstSound = SoundContainer +// CopyOf = Injection Sound Here + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + BurstTriggered = 1 + EmissionDamage = 0.1 + DamageMultiplier = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Red 1 + MaxVelocity = 10 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Red 2 + MaxVelocity = 10 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Crystal Gib + Count = 2 + MaxVelocity = 5 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Crystal Puff Small + Count = 4 + MinVelocity = 1 + MaxVelocity = 3 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + PresetName = Crystal Fragment + Sharpness = 25 + Count = 6 + MinVelocity = 15 + MaxVelocity = 25 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Fragment + Mass = 2 + Count = 10 + Spread = 3.14 + MaxVelocity = 9 + MinVelocity = 9 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Air Blast + Mass = 1 + Count = 5 + Spread = 3.14 + MaxVelocity = 20 + MinVelocity = 50 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Air Blast + PinStrength = 10 + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1.0 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + Count = 1 + Spread = 3.14 + MaxVelocity = 1 + MinVelocity = 1 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Fragment Damage + LifeTime = 100 + Sharpness = 20 + Count = 5 + MinVelocity = 15 + MaxVelocity = 35 + InheritsVel = 0 + GibSound = SoundContainer + AttenuationStartDistance = 150 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/CrystalBurst.mp3 + GibImpulseLimit = 8 + +AddAmmo = Round + PresetName = Round Blindsight + ParticleCount = 1 + Particle = AEmitter + CopyOf = Crystal Light + Shell = AEmitter + PresetName = Blindsight Muzzle Effect + LifeTime = 10 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstSize = 6 + BurstTriggered = 1 + ShellVelocity = 1 + FireVelocity = 150 + Separation = 0 + +AddAmmo = Magazine + PresetName = Magazine Blindsight + Mass = 3 + CollidesWithTerrainWhileAttached = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/BlindsightMagazine.png + FrameCount = 1 + SpriteOffset = Vector + X = -6 + Y = -4 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 4 + Depth = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + JointOffset = Vector + X = 0 + Y = 0 + ParentOffset = Vector + X = -3 + Y = -2 + RoundCount = 24 + RegularRound = Round + CopyOf = Round Blindsight + Discardable = 1 + + +/////////////////////////////////////////////////////////////////////// +// Blindsight + + +AddDevice = HDFirearm + PresetName = Blindsight + Description = Brutally efficient and cheap at the same time. This compact coilgun SMG chips away fragments of a volatile crystal, and then launches them as explosive projectiles. + AddToGroup = Weapons + AddToGroup = Weapons - Primary + AddToGroup = Weapons - Secondary + AddToGroup = Weapons - Light + AddToGroup = Weapons - Explosive + Mass = 4 + HitsMOs = 0 + GetsHitByMOs = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/IconBlindsight.png + FrameCount = 1 + SpriteOffset = Vector + X = -7 + Y = -3 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 50 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 120 + JointStiffness = 0.2 + JointOffset = Vector + X = -3 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 5 + Y = 5 + SharpStanceOffset = Vector + X = 8 + Y = 4 + SupportOffset = Vector + X = 4 + Y = 4 + SharpLength = 110 + Flash = Attachable + CopyOf = Laak Flash Red + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png + Magazine = Magazine + CopyOf = Magazine Blindsight + FireSound = SoundContainer + AttenuationStartDistance = 190 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire1.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire2.flac + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadStart.mp3 + ReloadEndSound = SoundContainer + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadEnd.mp3 + Loudness = 0.5 + OneHanded = 0 + DualWieldable = 0 + DualReloadable = 0 + RateOfFire = 566 + ReloadTime = 2200 + FullAuto = 1 + FireIgnoresThis = 1 + ShakeRange = 3 + SharpShakeRange = 2 + NoSupportFactor = 1.5 + ParticleSpreadRange = 0 + ShellSpreadRange = 1 + ShellEjectAngle = 0 + MuzzleOffset = Vector + X = 10 + Y = 0 + EjectionOffset = Vector + X = 10 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib A + Offset = Vector + X = 2 + Y = 7 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 6 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 9 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Drop Oil + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Rust Micro A + Count = 7 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 8 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + GibWoundLimit = 8 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.png new file mode 100644 index 0000000000..6d8ee9b1ee Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Blindsight.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/BlindsightMagazine.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/BlindsightMagazine.png new file mode 100644 index 0000000000..73c33b4757 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/BlindsightMagazine.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.lua b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.lua new file mode 100644 index 0000000000..fd12ef993b --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.lua @@ -0,0 +1,60 @@ +function Create(self) + self.damageResistanceMultiplier = 0; + self.withdrawalIncrement = 0.1; + self.IgnoresTeamHits = false; + self.Team = Activity.NOTEAM; + self.width = 3; +end + +function OnCollideWithMO(self, mo, rootMO, terrainID) + if not self.target then + local trajectoryScalar = math.abs(math.cos(self.RotAngle - self.Vel.AbsRadAngle)); + + local dots = math.sqrt(self.PrevVel.Magnitude); + local trace = Vector((self.PrevVel.Magnitude * rte.PxTravelledPerFrame + self.width) * trajectoryScalar * self.FlipFactor, 0):RadRotate(self.PrevRotAngle); + for i = 1, dots do + local checkPos = self.PrevPos + trace * (i/dots); + local checkPix = SceneMan:GetMOIDPixel(checkPos.X, checkPos.Y); + if checkPix ~= rte.NoMOID then + local foundMO = MovableMan:GetMOFromID(checkPix); + if self.Mass * self.PrevVel.Magnitude * self.Sharpness > foundMO.Material.StructuralIntegrity then + checkPos = checkPos + SceneMan:ShortestDistance(checkPos, self.PrevPos, SceneMan.SceneWrapsX):SetMagnitude(self.width); + + self.target = ToMOSRotating(foundMO); + local dist = SceneMan:ShortestDistance(self.target.Pos, checkPos, SceneMan.SceneWrapsX); + local stickOffset = Vector(dist.X * self.target.FlipFactor, dist.Y):RadRotate(-self.target.RotAngle * self.target.FlipFactor); + + local woundName = self.target:GetEntryWoundPresetName(); + if woundName ~= "" then + local wound = CreateAEmitter(woundName); + wound.BurstDamage = wound.BurstDamage * self.WoundDamageMultiplier; + wound.EmitCountLimit = math.ceil(wound.EmitCountLimit * 0.5); + wound.Scale = wound.Scale * 0.5; + for em in wound.Emissions do + em.ParticlesPerMinute = em.ParticlesPerMinute * 0.75; + em.MaxVelocity = em.MaxVelocity * 0.75; + em.MinVelocity = em.MinVelocity * 0.75; + end + wound.InheritedRotAngleOffset = stickOffset.AbsRadAngle; + self.target:AddWound(wound, Vector(stickOffset.X, stickOffset.Y):SetMagnitude(stickOffset.Magnitude - self.width), math.random() < 0.5); + end + self.Team = self.target.Team; + self.InheritsHFlipped = (self.HFlipped == self.target.HFlipped) and 1 or -1; + self.DrawAfterParent = math.random() * self.target.Radius < self.Radius; + + self.InheritedRotAngleOffset = (self.PrevRotAngle - self.target.RotAngle) * self.target.FlipFactor; + self.target:AddAttachable(self:Clone(), stickOffset); + self.ToDelete = true; + end + break; + end + end + end +end + +function OnDetach(self, parent) + if parent and string.find(parent.Material.PresetName, "Flesh") then + parent.DamageMultiplier = parent.DamageMultiplier * self.damageResistanceMultiplier + self.withdrawalIncrement; + self:EnableEmission(false); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.png new file mode 100644 index 0000000000..b83b3b7bfd Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalBlindsight.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalTrailBlindsight.lua b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalTrailBlindsight.lua new file mode 100644 index 0000000000..8607c499b6 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/CrystalTrailBlindsight.lua @@ -0,0 +1,35 @@ +function Create(self) + self.smokeTrailLifeTime = self:NumberValueExists("SmokeTrailLifeTime") and self:GetNumberValue("SmokeTrailLifeTime") or 150 + self.smokeTrailSize = self:NumberValueExists("SmokeTrailSize") and self:GetNumberValue("SmokeTrailSize") or 2.231 + self.smokeTrailRadius = self:NumberValueExists("SmokeTrailRadius") and self:GetNumberValue("SmokeTrailRadius") or ToMOSprite(self):GetSpriteHeight() * 15 - 5; + self.smokeTrailTwirl = self:NumberValueExists("SmokeTrailTwirl") and self:GetNumberValue("SmokeTrailTwirl") or 3; + + self.smokeAirThreshold = 1/(1 + self.smokeTrailLifeTime * 0.01); + self.smokeTwirlCounter = math.random() < 30 and math.pi or 0; +end + +function Update(self) + local offset = self.Vel * rte.PxTravelledPerFrame; --The effect will be created the next frame so move it one frame backwards towards the barrel + + local trailLength = math.floor(offset.Magnitude/self.smokeTrailSize - self.smokeTrailSize); + local setVel = Vector(self.Vel.X, self.Vel.Y):SetMagnitude(math.sqrt(self.Vel.Magnitude)); + for i = 1, trailLength do + local effect = CreateMOSParticle(("Tiny Smoke Ball 1 Glow Red"), "MuIlaak.rte"); + effect.Pos = self.Pos - (offset * i/trailLength) + Vector(RangeRand(5, 100), RangeRand(-1, 100)) * self.smokeTrailRadius; + effect.Vel = setVel * RangeRand(30, 30); + effect.Lifetime = math.max(self.smokeTrailLifeTime * RangeRand(0.4, 1) * (self.Lifetime > 1 and 1 - self.Age/self.Lifetime or 1000), 1); + effect.AirResistance = effect.AirResistance * RangeRand(0.8, 1); + effect.AirThreshold = self.smokeAirThreshold; + + if self.smokeTrailTwirl > 0 then + effect.GlobalAccScalar = effect.GlobalAccScalar * math.random(); + + effect.Pos = self.Pos - offset + (offset * i/trailLength); + effect.Vel = setVel + Vector(0, math.sin(self.smokeTwirlCounter) * self.smokeTrailTwirl + RangeRand(-0.5, 0.5)):RadRotate(self.Vel.AbsRadAngle); + + self.smokeTwirlCounter = self.smokeTwirlCounter + RangeRand(-1000, 10000); + end + + MovableMan:AddParticle(effect); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightA.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightA.png new file mode 100644 index 0000000000..3de0f256cf Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightB.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightB.png new file mode 100644 index 0000000000..cbce1d5318 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/GibBlindsightB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/IconBlindsight.png b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/IconBlindsight.png new file mode 100644 index 0000000000..4132db727a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/IconBlindsight.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire1.flac b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire1.flac new file mode 100644 index 0000000000..be21226e7b Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire1.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire2.flac b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire2.flac new file mode 100644 index 0000000000..8186d13333 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightFire2.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadEnd.mp3 b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadEnd.mp3 new file mode 100644 index 0000000000..471ed23859 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadEnd.mp3 differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadStart.mp3 b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadStart.mp3 new file mode 100644 index 0000000000..f545b69278 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/BlindsightReloadStart.mp3 differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/CrystalBurst.mp3 b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/CrystalBurst.mp3 new file mode 100644 index 0000000000..1f583dd4e9 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/CrystalBurst.mp3 differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.lua b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.lua new file mode 100644 index 0000000000..b9edaff482 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.lua @@ -0,0 +1,64 @@ +function Create(self) + self.damageResistanceMultiplier = 0; + self.withdrawalIncrement = 0.1; + self.IgnoresTeamHits = false; + self.Team = Activity.NOTEAM; + self.width = 3; +end + +function OnCollideWithMO(self, mo, rootMO, terrainID) + if not self.target then + local trajectoryScalar = math.abs(math.cos(self.RotAngle - self.Vel.AbsRadAngle)); + + local dots = math.sqrt(self.PrevVel.Magnitude); + local trace = Vector((self.PrevVel.Magnitude * rte.PxTravelledPerFrame + self.width) * trajectoryScalar * self.FlipFactor, 0):RadRotate(self.PrevRotAngle); + for i = 1, dots do + local checkPos = self.PrevPos + trace * (i/dots); + local checkPix = SceneMan:GetMOIDPixel(checkPos.X, checkPos.Y); + if checkPix ~= rte.NoMOID then + local foundMO = MovableMan:GetMOFromID(checkPix); + if self.Mass * self.PrevVel.Magnitude * self.Sharpness > foundMO.Material.StructuralIntegrity then + checkPos = checkPos + SceneMan:ShortestDistance(checkPos, self.PrevPos, SceneMan.SceneWrapsX):SetMagnitude(self.width); + + self.target = ToMOSRotating(foundMO); + local dist = SceneMan:ShortestDistance(self.target.Pos, checkPos, SceneMan.SceneWrapsX); + local stickOffset = Vector(dist.X * self.target.FlipFactor, dist.Y):RadRotate(-self.target.RotAngle * self.target.FlipFactor); + + local woundName = self.target:GetEntryWoundPresetName(); + if woundName ~= "" then + local wound = CreateAEmitter(woundName); + wound.BurstDamage = wound.BurstDamage * self.WoundDamageMultiplier; + wound.EmitCountLimit = math.ceil(wound.EmitCountLimit * 0.5); + wound.Scale = wound.Scale * 0.5; + for em in wound.Emissions do + em.ParticlesPerMinute = em.ParticlesPerMinute * 0.75; + em.MaxVelocity = em.MaxVelocity * 0.75; + em.MinVelocity = em.MinVelocity * 0.75; + end + wound.InheritedRotAngleOffset = stickOffset.AbsRadAngle; + self.target:AddWound(wound, Vector(stickOffset.X, stickOffset.Y):SetMagnitude(stickOffset.Magnitude - self.width), math.random() < 0.5); + end + self.Team = self.target.Team; + self.InheritsHFlipped = (self.HFlipped == self.target.HFlipped) and 1 or -1; + self.DrawAfterParent = math.random() * self.target.Radius < self.Radius; + + self.InheritedRotAngleOffset = (self.PrevRotAngle - self.target.RotAngle) * self.target.FlipFactor; + self.target:AddAttachable(self:Clone(), stickOffset); + self.ToDelete = true; + end + break; + end + end + end +end + +function OnDetach(self, parent) + if parent and string.find(parent.Material.PresetName, "Flesh") then + parent.DamageMultiplier = parent.DamageMultiplier * self.damageResistanceMultiplier + self.withdrawalIncrement; + self:EnableEmission(false); + end +end + +function Destroy(self) + CameraMan:AddScreenShake(10, self.Pos); +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.png new file mode 100644 index 0000000000..b83b3b7bfd Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalTrailEchopraxia.lua b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalTrailEchopraxia.lua new file mode 100644 index 0000000000..8607c499b6 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalTrailEchopraxia.lua @@ -0,0 +1,35 @@ +function Create(self) + self.smokeTrailLifeTime = self:NumberValueExists("SmokeTrailLifeTime") and self:GetNumberValue("SmokeTrailLifeTime") or 150 + self.smokeTrailSize = self:NumberValueExists("SmokeTrailSize") and self:GetNumberValue("SmokeTrailSize") or 2.231 + self.smokeTrailRadius = self:NumberValueExists("SmokeTrailRadius") and self:GetNumberValue("SmokeTrailRadius") or ToMOSprite(self):GetSpriteHeight() * 15 - 5; + self.smokeTrailTwirl = self:NumberValueExists("SmokeTrailTwirl") and self:GetNumberValue("SmokeTrailTwirl") or 3; + + self.smokeAirThreshold = 1/(1 + self.smokeTrailLifeTime * 0.01); + self.smokeTwirlCounter = math.random() < 30 and math.pi or 0; +end + +function Update(self) + local offset = self.Vel * rte.PxTravelledPerFrame; --The effect will be created the next frame so move it one frame backwards towards the barrel + + local trailLength = math.floor(offset.Magnitude/self.smokeTrailSize - self.smokeTrailSize); + local setVel = Vector(self.Vel.X, self.Vel.Y):SetMagnitude(math.sqrt(self.Vel.Magnitude)); + for i = 1, trailLength do + local effect = CreateMOSParticle(("Tiny Smoke Ball 1 Glow Red"), "MuIlaak.rte"); + effect.Pos = self.Pos - (offset * i/trailLength) + Vector(RangeRand(5, 100), RangeRand(-1, 100)) * self.smokeTrailRadius; + effect.Vel = setVel * RangeRand(30, 30); + effect.Lifetime = math.max(self.smokeTrailLifeTime * RangeRand(0.4, 1) * (self.Lifetime > 1 and 1 - self.Age/self.Lifetime or 1000), 1); + effect.AirResistance = effect.AirResistance * RangeRand(0.8, 1); + effect.AirThreshold = self.smokeAirThreshold; + + if self.smokeTrailTwirl > 0 then + effect.GlobalAccScalar = effect.GlobalAccScalar * math.random(); + + effect.Pos = self.Pos - offset + (offset * i/trailLength); + effect.Vel = setVel + Vector(0, math.sin(self.smokeTwirlCounter) * self.smokeTrailTwirl + RangeRand(-0.5, 0.5)):RadRotate(self.Vel.AbsRadAngle); + + self.smokeTwirlCounter = self.smokeTwirlCounter + RangeRand(-1000, 10000); + end + + MovableMan:AddParticle(effect); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.ini b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.ini new file mode 100644 index 0000000000..544e923579 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.ini @@ -0,0 +1,380 @@ +/////////////////////////////////////////////////////////////////////// +// Echopraxia Gibs + +AddEffect = MOSRotating + PresetName = Echopraxia Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Echopraxia Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +/////////////////////////////////////////////////////////////////////// +// Echopraxia Ammo + +AddAmmo = AEmitter + PresetName = Crystal Heavy + Mass = 4 + Sharpness = 30 + WoundDamageMultiplier = 2.05 + AirResistance = 0.01 + OrientToVel = 0.1 + LifeTime = 400 + HitsMOs = 1 + GetsHitByMOs = 0 + RestThreshold = 1000 + GibWithParentChance = 0.5 + GibAtEndOfLifetime = 1 + GibImpulseLimit = 8 + ScriptPath = MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalTrailEchopraxia.lua + //ScriptPath = MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/CrystalEchopraxia.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -1 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 1 + Depth = 0 + DeepCheck = 0 + DrawAfterParent = 0 + JointStrength = 99999 +// BurstSound = SoundContainer +// CopyOf = Injection Sound Here + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + BurstTriggered = 1 + EmissionDamage = 0.1 + DamageMultiplier = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Red 1 + MaxVelocity = 10 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Red 2 + MaxVelocity = 10 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Crystal Gib + Count = 2 + MaxVelocity = 5 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Crystal Puff Small + Count = 4 + MinVelocity = 1 + MaxVelocity = 3 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + PresetName = Crystal Fragment + Sharpness = 23 + Count = 3 + MinVelocity = 15 + MaxVelocity = 25 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Fragment + Mass = 2 + Sharpness = 23 + Count = 7 + Spread = 3.14 + MaxVelocity = 8 + MinVelocity = 8 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Air Blast + Mass = 1 + Count = 50 + Spread = 3.14 + MaxVelocity = 50 + MinVelocity = 20 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Air Blast + PinStrength = 10 + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1.0 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + Count = 10 + Spread = 3.14 + MaxVelocity = 50 + MinVelocity = 20 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Crystal Fragment Damage + LifeTime = 100 + Sharpness = 20 + Count = 50 + MinVelocity = 15 + MaxVelocity = 25 + InheritsVel = 0 + GibSound = SoundContainer + AttenuationStartDistance = 150 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Blindsight/Sounds/CrystalBurst.mp3 + +AddAmmo = Round + PresetName = Round Echopraxia + ParticleCount = 1 + Particle = AEmitter + CopyOf = Crystal Heavy + Shell = AEmitter + PresetName = Blindsight Muzzle Effect + LifeTime = 10 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstSize = 6 + BurstTriggered = 1 + ShellVelocity = 1 + FireVelocity = 300 + Separation = 0 + + +/////////////////////////////////////////////////////////////////////// +// Echopraxia Magazine + + +AddAmmo = Magazine + PresetName = Magazine Echopraxia + Mass = 3 + CollidesWithTerrainWhileAttached = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaMagazine.png + FrameCount = 1 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 4 + Depth = 0 + ParentOffset = Vector + X = 3 + Y = -3 + SpriteOffset = Vector + X = -6 + Y = -4 + JointOffset = Vector + X = 0 + Y = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + DrawAfterParent = 1 + RoundCount = 3 + RegularRound = Round + CopyOf = Round Echopraxia + Discardable = 1 + + +/////////////////////////////////////////////////////////////////////// +// Echopraxia + + +AddDevice = HDFirearm + PresetName = Echopraxia + Description = Fires large crystals that violently explode upon impact. By Earth standards, this weapon would have been used to hunt elephants. + AddToGroup = Weapons + AddToGroup = Weapons - Primary + AddToGroup = Weapons - Sniper + AddToGroup = Weapons - Heavy + Mass = 30 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaRecoil.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaIcon.png + FrameCount = 1 + SpriteOffset = Vector + X = -13.5 + Y = -5 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 175 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 120 + JointStiffness = 0.2 + JointOffset = Vector + X = -3 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 7 + Y = 8 + SharpStanceOffset = Vector + X = 8 + Y = 3 + SupportOffset = Vector + X = 11 + Y = 1.5 + SharpLength = 430 + Flash = Attachable + CopyOf = Laak Flash Red + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png + Magazine = Magazine + CopyOf = Magazine Echopraxia + FireSound = SoundContainer + AttenuationStartDistance = 190 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Echopraxia/Sounds/EchopraxiaFire.wav + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/ReloadStart.flac + ReloadEndSound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/ReloadEnd.flac + Loudness = 0.5 + OneHanded = 0 + DualWieldable = 0 + DualReloadable = 0 + RateOfFire = 52 + ReloadTime = 5000 + FullAuto = 0 + FireIgnoresThis = 1 + ShakeRange = 3 + SharpShakeRange = 2 + NoSupportFactor = 1.5 + ParticleSpreadRange = 0 + ShellSpreadRange = 1 + ShellEjectAngle = 0 + MuzzleOffset = Vector + X = 27 + Y = -1.5 + EjectionOffset = Vector + X = 10 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Echopraxia Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Echopraxia Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 6 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 9 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Drop Oil + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Rust Micro A + Count = 7 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 8 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + GibWoundLimit = 8 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.png new file mode 100644 index 0000000000..f906f1cb96 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Echopraxia.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibA.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibA.png new file mode 100644 index 0000000000..64a1b92323 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibB.png new file mode 100644 index 0000000000..ab0a9bb0ad Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaIcon.png new file mode 100644 index 0000000000..e2aee8e5e7 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaMagazine.png b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaMagazine.png new file mode 100644 index 0000000000..a2e9823213 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaMagazine.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaRecoil.lua b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaRecoil.lua new file mode 100644 index 0000000000..fee12d325a --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/EchopraxiaRecoil.lua @@ -0,0 +1,35 @@ +function Create(self) + --Suffer from fire rate loss when firing rapidly + self.fireRatePenaltyPerShot = 500; + self.fireRateRevertIncrement = 2; + self.fireRateRevertTimer = Timer(); +end + +function ThreadedUpdate(self) + if not self.origRateOfFire then --Check original stats on Update() to include global script changes + self.origRateOfFire = self.RateOfFire; + end + + if self.FiredFrame then + local parent = self:GetParent() or self; + + self.InheritedRotAngleOffset = self.InheritedRotAngleOffset + RangeRand(1.8, 1.9)/math.sqrt(1 + parent.Mass + parent.Material.StructuralIntegrity * 0.1); + self.RateOfFire = math.max(self.RateOfFire - self.fireRatePenaltyPerShot, 1); + CameraMan:AddScreenShake(20, self.Pos); + + self.fireRateRevertTimer:Reset(); + elseif self.RateOfFire < self.origRateOfFire then + self.RateOfFire = math.min(self.RateOfFire * (1 + self.fireRateRevertIncrement * 0.01) + self.fireRateRevertIncrement, self.origRateOfFire); + self.fireRateRevertTimer:Reset(); + end + + if self.InheritedRotAngleOffset > 0 then + self.InheritedRotAngleOffset = self.InheritedRotAngleOffset - 0.0001 * (self.RateOfFire/(0.9 + self.InheritedRotAngleOffset)); + if self.InheritedRotAngleOffset < 0 then + self.InheritedRotAngleOffset = 0; + end + if self.InheritedRotAngleOffset > 0.3 then + self:Deactivate(); + end + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Sounds/EchopraxiaFire.wav b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Sounds/EchopraxiaFire.wav new file mode 100644 index 0000000000..644e8c47b4 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Echopraxia/Sounds/EchopraxiaFire.wav differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation.ini b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation.ini new file mode 100644 index 0000000000..52037f4ca3 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation.ini @@ -0,0 +1,360 @@ +/////////////////////////////////////////////////////////////////////// +// Foundation Gibs + +AddEffect = MOSRotating + PresetName = Foundation Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Foundation Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + + +/////////////////////////////////////////////////////////////////////// +// Foundation's Ammo + +AddEffect = AEmitter + PresetName = Laak Plasma Bolt Missile + Mass = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + GlobalAccScalar = 0 + ScriptPath = MuIlaak.rte/Shared/Scripts/PlasmaBolt.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/BigPlasmaTrail.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaBolt.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 1 + DeepCheck = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Green Trace Front Effect Particle + PresetName = Plasma Bolt Front Effect Particle + LifeTime = 20 + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + ParticlesPerMinute = 16000 + BurstSize = 1 + Spread = 0 + MaxVelocity = 35 + MinVelocity = 0 + PushesEmitter = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Green Trace Effect Particle + PresetName = Plasma Bolt Effect Particle + LifeTime = 100 + EffectStartTime = 0 + EffectStopTime = 300 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + ParticlesPerMinute = 12000 + BurstSize = 1 + Spread = 0 + MaxVelocity = 35 + MinVelocity = 0 + PushesEmitter = 0 + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstTriggered = 1 + GibSound = SoundContainer + AttenuationStartDistance = 195 + Pitch = 2 + PitchVariation = 0.5 + AddSound = ContentFile + FilePath = Imperatus.rte/Devices/Weapons/Slugger/Sounds/Explode1.flac + AddSound = ContentFile + FilePath = Imperatus.rte/Devices/Weapons/Slugger/Sounds/Explode2.flac + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Green Glow + Count = 1 + Spread = 3.14 + MaxVelocity = 0.1 + MinVelocity = 0.1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast Short + Count = 6 + Spread = 3.14 + MaxVelocity = 25 + MinVelocity = 20 + SpreadMode = 1 + GibImpulseLimit = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Plasma Fragment Scripted + LifeVariation = 0.25 + Count = 23 + MinVelocity = 37 + MaxVelocity = 37 + InheritsVel = 0 + +AddAmmo = Round + PresetName = Laak Plasma Bolt + ParticleCount = 1 + Particle = AEmitter + PresetName = Laak Plasma Bolt Shot + Mass = 2 + HitsMOs = 0 + GetsHitByMOs = 0 + PinStrength = 10 + LifeTime = 1000 + GlobalAccScalar = 0 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + AddEmission = Emission + EmittedParticle = AEmitter + CopyOf = Laak Plasma Bolt Missile + ParticlesPerMinute = 1 + BurstSize = 1 + Spread = 0 + MaxVelocity = 18 + MinVelocity = 18 + PushesEmitter = 0 + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + BurstTriggered = 1 + FireVelocity = 18 + AIFireVel = 18 + Separation = 0 + +AddAmmo = Magazine + PresetName = Foundation Magazine + Mass = 2 + HitsMOs = 0 + GetsHitByMOs = 0 + CollidesWithTerrainWhileAttached = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png + FrameCount = 1 + SpriteOffset = Vector + X = -4 + Y = -4 + JointOffset = Vector + X = 0 + Y = 0 + ParentOffset = Vector + X = -2 + Y = -3 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 2 + Depth = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + DrawAfterParent = 0 + RoundCount = 12 + Discardable = 1 + DrawAfterParent = 1 + RegularRound = Round + CopyOf = Laak Plasma Bolt + +/////////////////////////////////////////////////////////////////////// +// Foundation + +AddDevice = HDFirearm + PresetName = Foundation + Description = Fires plasma bolts by superheating a peculiar alien substance. High concentrations of copper within the substance give the bolts their signature green look. + AddToGroup = Weapons - Primary + AddToGroup = Weapons - CQB + AddToGroup = Weapons - Light + Mass = 10 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Foundation.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/FoundationIcon.png + FrameCount = 1 + SpriteOffset = Vector + X = -13 + Y = -4 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 70 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -6 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 5 + Y = 8 + SharpStanceOffset = Vector + X = 9 + Y = 5 + SupportOffset = Vector + X = 6 + Y = 4 + SharpLength = 250 + Magazine = Magazine + CopyOf = Foundation Magazine + Flash = Attachable + CopyOf = Laak Flash Green + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png + FireSound = SoundContainer + AttenuationStartDistance = 175 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire1.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire2.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire3.flac + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AttenuationStartDistance = 110 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac + ReloadEndSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac + RateOfFire = 285 + OneHanded = 0 + DualWieldable = 0 + DualReloadable = 0 + ReloadTime = 1700 + FullAuto = 1 + FireIgnoresThis = 1 + ShakeRange = 3 + SharpShakeRange = 1.5 + NoSupportFactor = 2 + ParticleSpreadRange = 0.8 + MuzzleOffset = Vector + X = 11 + Y = -2.5 + EjectionOffset = Vector + X = 11 + Y = 0 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Foundation Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Foundation Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 3 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 5 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Panel White Micro A + Count = 10 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 8 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Panel White Small A + Count = 1 + Spread = 0 + MaxVelocity = 15 + MinVelocity = 5 + GibWoundLimit = 10 diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation000.png b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation000.png new file mode 100644 index 0000000000..10a5e42fd9 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation000.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation001.png b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation001.png new file mode 100644 index 0000000000..c8e44282c7 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Foundation001.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibA.png b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibA.png new file mode 100644 index 0000000000..4f59167a8b Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibB.png new file mode 100644 index 0000000000..e3cae56520 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationIcon.png new file mode 100644 index 0000000000..3d43d67062 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/FoundationIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire1.flac b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire1.flac new file mode 100644 index 0000000000..0fb8671eb2 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire1.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire2.flac b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire2.flac new file mode 100644 index 0000000000..076cf4804d Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire2.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire3.flac b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire3.flac new file mode 100644 index 0000000000..684472d904 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Foundation/Sounds/FoundationFire3.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.ini b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.ini new file mode 100644 index 0000000000..e14341f175 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.ini @@ -0,0 +1,586 @@ +/////////////////////////////////////////////////////////////////////// +// Hyperion Gibs + +AddEffect = MOSRotating + PresetName = Hyperion Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Hyperion Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Hyperion Gib C + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibC.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Hyperion Gib D + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibD.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +/////////////////////////////////////////////////////////////////////// +// Hyperion Effects + + +AddEffect = MOPixel + PresetName = Hyperion Emission Particle 1 + Mass = 10 + GlobalAccScalar = 0 + Sharpness = 1 + LifeTime = 600 + AirResistance = 0.1 + AirThreshold = 1 + RestThreshold = 500 + HitsMOs = 1 + GetsHitByMOs = 0 + WoundDamageMultiplier = 1.3 + Color = Color + R = 249 + G = 249 + B = 185 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 249 + G = 249 + B = 185 + TrailLength = 2 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStartTime = 0 + EffectStopTime = 590 + EffectStartStrength = 1.0 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + PresetName = Hyperion Emission Particle 2 + Mass = 1 + GlobalAccScalar = 0 + Sharpness = 10 + LifeTime = 700 + AirResistance = 0.075 + AirThreshold = 2 + RestThreshold = 500 + HitsMOs = 1 + GetsHitByMOs = 0 + WoundDamageMultiplier = 1.15 + Color = Color + R = 249 + G = 249 + B = 185 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 249 + G = 249 + B = 185 + TrailLength = 1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png + EffectStartTime = 0 + EffectStopTime = 690 + EffectStartStrength = 1.0 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + PresetName = Hyperion Trail Glow + Mass = 1 + GlobalAccScalar = 0 + AirResistance = 0.1 + AirThreshold = 1 + LifeTime = 500 + RestThreshold = -500 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 255 + G = 0 + B = 255 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png + EffectStartTime = 0 + EffectStopTime = 490 + EffectStartStrength = 1.0 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = Hyperion Trail Glow + PresetName = Hyperion Muzzle Glow + LifeTime = 200 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStopTime = 200 + EffectStartStrength = 0.2 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +AddEffect = MOPixel + PresetName = Particle Hyperion's Shot + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png + EffectStartTime = 0 + EffectStopTime = 1000 + EffectStartStrength = 0.8 + EffectStopStrength = 0.1 + Mass = 2 + AirResistance = 0.03 + AirThreshold = 3 + GlobalAccScalar = 0.9 + LifeTime = 1500 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 249 + G = 249 + B = 185 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 249 + G = 249 + B = 185 + TrailLength = 5 + +/////////////////////////////////////////////////////////////////////// +// Hyperion Ammo + + +AddAmmo = AEmitter + PresetName = Hyperion Shot + Mass = 10 + LifeTime = 10000 + GlobalAccScalar = 1 + RestThreshold = -500 + OrientToVel = 0.8 + AirResistance = 0.001 + Sharpness = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + ScriptPath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.png + FrameCount = 1 + SpriteOffset = Vector + X = -6 + Y = -6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 2 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Metal + Resolution = 4 + Depth = 1 + DeepCheck = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Hyperion Trail Glow + Spread = 0 + MaxVelocity = 0 + MinVelocity = 0 + PushesEmitter = 0 + InheritsVel = 0 + EmissionSound = SoundContainer + PresetName = Hyperion Emission Sound + AttenuationStartDistance = 120 + Volume = 0.45 + Pitch = 1.5 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/PlasmaLoop.flac + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + ParticlesPerMinute = 8000 + BurstSize = 1 + BurstTriggered = 0 + GibSound = SoundContainer + AttenuationStartDistance = 220 + Pitch = 1 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Explode1.flac + AddGib = Gib + GibParticle = MOPixel + CopyOf = Hyperion Emission Particle 1 + Count = 30 + Spread = 3.14 + MaxVelocity = 35 + MinVelocity = 30 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Hyperion Emission Particle 2 + Count = 30 + Spread = 3.14 + MaxVelocity = 45 + MinVelocity = 35 + LifeVariation = 0.10 + InheritsVel = 0 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Laak Green Glow + Count = 1 + Spread = 3.14 + MaxVelocity = 0.1 + MinVelocity = 0.1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast Short + Count = 6 + Spread = 3.14 + MaxVelocity = 25 + MinVelocity = 20 + SpreadMode = 1 + GibImpulseLimit = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Air Blast + Count = 50 + MinVelocity = 40 + MaxVelocity = 60 + InheritsVel = 0 + SpreadMode = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Particle Hyperion's Shot + Count = 60 + MinVelocity = 20 + MaxVelocity = 40 + LifeVariation = 0.50 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Plasma Flame Damage Particle + Count = 40 + MinVelocity = 35 + MaxVelocity = 70 + InheritsVel = 0 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Flame 2 Hurt + Count = 10 + MinVelocity = 10 + MaxVelocity = 25 + InheritsVel = 0 + LifeVariation = 0.20 + SpreadMode = 1 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Flame Hurt Short + Count = 20 + MinVelocity = 20 + MaxVelocity = 40 + InheritsVel = 0 + LifeVariation = 0.20 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Ground Flame + Count = 30 + MinVelocity = 10 + MaxVelocity = 25 + InheritsVel = 0 + LifeVariation = 0.20 + SpreadMode = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Plasma Flame Smoke 2 + Count = 25 + Spread = 3.1 + MinVelocity = 15 + MaxVelocity = 30 + LifeVariation = 0.50 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Plasma Fire Puff + Count = 10 + MinVelocity = 25 + MaxVelocity = 50 + LifeVariation = 0.20 + InheritsVel = 0 + AddGib = Gib + GibParticle = PEmitter + CopyOf = Plasma Fire Trace + Count = 30 + MinVelocity = 25 + MaxVelocity = 50 + LifeVariation = 0.20 + InheritsVel = 0 + GibImpulseLimit = 20 + GibWoundLimit = 5 + +AddAmmo = Magazine + PresetName = Magazine Hyperion + Mass = 5 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionMagazine.png + ParentOffset = Vector + X = -8 + Y = -3.5 + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + JointStrength = 200 + JointStiffness = 1 + RoundCount = 1 + RegularRound = Round + CopyOf = Null Round + PresetName = Round Dummy Hyperion + Shell = MOPixel + CopyOf = Hyperion Trail Glow + AIFireVel = 100 + AILifeTime = 1000 + + +/////////////////////////////////////////////////////////////////////// +// Hyperion + + +AddDevice = HDFirearm + PresetName = Hyperion + Description = A powerful shoulder-mounted plasma cannon. Tap the trigger to lob a slow-moving bolt over any obstacle, or hold it for a high-velocity charged shot that travels in a (almost) straight line at your enemies. + AddToGroup = Weapons + AddToGroup = Weapons - Primary + AddToGroup = Weapons - Heavy + AddToGroup = Weapons - Explosive + Mass = 48 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/HyperionIcon.png + FrameCount = 4 + IsAnimatedManually = 1 + SpriteOffset = Vector + X = -24 + Y = -5 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 200 + RandomWeight = 40 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -6 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 6 + Y = 3 + SharpStanceOffset = Vector + X = 9 + Y = 2 + SupportOffset = Vector + X = 0 + Y = 2 + SharpLength = 300 + Magazine = Magazine + CopyOf = Magazine Hyperion + Flash = Attachable + CopyOf = Muzzle Flash Shotgun + FireSound = SoundContainer + AttenuationStartDistance = 220 + PitchVariation = 0.05 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire1.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire2.flac + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire3.flac + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadStart.flac + ReloadEndSound = SoundContainer + AttenuationStartDistance = 140 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadEnd.flac + RateOfFire = 1000 + ReloadTime = 4000 + FullAuto = 1 + FireIgnoresThis = 1 + ShakeRange = 5 + SharpShakeRange = 1 + NoSupportFactor = 3 + ParticleSpreadRange = 1 + MuzzleOffset = Vector + X = 8 + Y = 0 + EjectionOffset = Vector + X = 13 + Y = 0 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Hyperion Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Hyperion Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Hyperion Gib C + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Hyperion Gib D + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 6 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 9 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Drop Oil + Count = 5 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Rust Micro A + Count = 7 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 8 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Device Big C + Count = 1 + Spread = 2.25 + MaxVelocity = 10 + MinVelocity = 1 + GibWoundLimit = 10 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.lua b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.lua new file mode 100644 index 0000000000..3427fbba60 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.lua @@ -0,0 +1,118 @@ +function Create(self) + self.charge = 0; + + self.minFireVel = 27; + self.maxFireVel = 65; + + self.chargeDelay = 1000; + + self.animTimer = Timer(); + self.chargeTimer = Timer(); + self.chargeTimer:SetSimTimeLimitMS(self.chargeDelay); + --The following timer prevents a glitch where you can fire twice by putting the gun inside the inventory while charging + self.inventorySwapTimer = Timer(); + self.inventorySwapTimer:SetSimTimeLimitMS(math.ceil(TimerMan.DeltaTimeMS)); + self.activeSound = CreateSoundContainer("Hyperion Emission Sound", "MuIlaak.rte"); +end + +function ThreadedUpdate(self) + if self.Magazine then + if self.inventorySwapTimer:IsPastSimTimeLimit() then + self.activeSound:Stop(); + self.charge = 0; + end + self.inventorySwapTimer:Reset(); + if self.Magazine.RoundCount > 0 then + if self.animTimer:IsPastSimMS(200 * (1 - self.charge)) then + self.animTimer:Reset(); + self.Frame = self.Frame < (self.FrameCount - 1) and self.Frame + 1 or 0; + if self.Frame == 1 then + self.effect = CreateMOPixel("Hyperion Muzzle Glow"); + self.effect.Pos = self.MuzzlePos; + self.effect.Vel = self.Vel * 0.5; + + self.damagePar = CreateMOPixel("Hyperion Emission Particle 2"); + self.damagePar.Pos = self.MuzzlePos; + self.damagePar.Vel = self.Vel * 0.5 + Vector(math.random(5) * (1 + self.charge), 0):RadRotate(6.28 * math.random()); + self.damagePar.Team = self.Team; + self.damagePar.IgnoresTeamHits = true; + self.damagePar.Lifetime = 100 * (1 + self.charge); + + self:RequestSyncedUpdate(); + end + end + if self:DoneReloading() then + self:Deactivate(); + end + + if self:IsActivated() and not self.forceFire then + self:Deactivate(); + + if self.activeSound:IsBeingPlayed() then + self.activeSound.Pos = self.Pos; + self.activeSound.Pitch = self.charge; + else + self.activeSound:Play(self.Pos); + end + + if not self.chargeTimer:IsPastSimTimeLimit() then + self.charge = self.chargeTimer.ElapsedSimTimeMS/self.chargeDelay; + else + self.charge = 1; + local parent = self:GetRootParent(); + if parent and IsActor(parent) and not ToActor(parent):IsPlayerControlled() then + self.forceFire = true; + end + end + + self.Magazine.RoundCount = math.ceil(self.charge * 100); + else + self.Magazine.RoundCount = 1; + if self.charge > 0 then + self:Activate(); + end + self.chargeTimer:Reset(); + end + else + self:Reload(); + end + else + self.Frame = 0; + end + + if self.FiredFrame then + CameraMan:AddScreenShake(30, self.Pos); + self.par = CreateAEmitter("Hyperion Shot"); + self.par.Team = self.Team; + self.par.IgnoresTeamHits = true; + self.par.Pos = self.MuzzlePos; + self.par.Vel = Vector((self.minFireVel + (self.maxFireVel - self.minFireVel) * self.charge) * self.FlipFactor, 0):RadRotate(self.RotAngle); + self:RequestSyncedUpdate(); + + self.charge = 0; + self.activeSound:Stop(); + + self.forceFire = false; + end +end + +function SyncedUpdate(self) + if self.effect then + MovableMan:AddParticle(self.effect); + self.effect = nil; + end + + if self.damagePar then + MovableMan:AddParticle(self.damagePar); + self.damagePar = nil; + end + + if self.par then + MovableMan:AddParticle(self.par); + self.par = nil; + end +end + +function Destroy(self) + self.activeSound:Stop(); +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.png new file mode 100644 index 0000000000..2acd8c976a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion000.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion000.png new file mode 100644 index 0000000000..2acd8c976a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion000.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion001.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion001.png new file mode 100644 index 0000000000..2acd8c976a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion001.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion002.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion002.png new file mode 100644 index 0000000000..2acd8c976a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion002.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion003.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion003.png new file mode 100644 index 0000000000..2acd8c976a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Hyperion003.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibA.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibA.png new file mode 100644 index 0000000000..c09735588b Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibB.png new file mode 100644 index 0000000000..a2a42161e9 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibC.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibC.png new file mode 100644 index 0000000000..5e3fc3ce1a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibC.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibD.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibD.png new file mode 100644 index 0000000000..33015e12f6 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionGibD.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionIcon.png new file mode 100644 index 0000000000..75aca9a61e Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionMagazine.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionMagazine.png new file mode 100644 index 0000000000..3f59582d64 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionMagazine.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.lua b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.lua new file mode 100644 index 0000000000..905ae9de9d --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.lua @@ -0,0 +1,29 @@ +function Create(self) + self.lifeTimer = Timer(); + self.lifeTimer:SetSimTimeLimitMS(self.Lifetime - 100); + self.emitTimer = Timer(); + + self.startSpeed = self.Vel.Magnitude; + self.acceleration = 0.1; +end + +function Update(self) + self.Vel = self.Vel:MagnitudeIsLessThan(self.startSpeed) and Vector(self.Vel.X, self.Vel.Y):SetMagnitude(self.Vel.Magnitude + self.acceleration) or self.Vel; + + if self.emitTimer:IsPastSimMS(6) then + self.emitTimer:Reset(); + local particleCount = 1 + math.sqrt(self.Vel.Magnitude * 0.2); + for i = 1, particleCount do + local damagePar = CreateMOPixel("Hyperion Emission Particle ".. math.random(2)); + damagePar.Pos = self.Pos; + damagePar.Vel = self.Vel * 0.5 + Vector(particleCount + math.random(10), 0):RadRotate(math.pi * 2 * math.random()); + damagePar.Team = self.Team; + damagePar.IgnoresTeamHits = true; + MovableMan:AddParticle(damagePar); + end + end + + if self.lifeTimer:IsPastSimTimeLimit() then + self:GibThis(); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.png b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.png new file mode 100644 index 0000000000..df7cc088b2 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/HyperionShot.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Explode1.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Explode1.flac new file mode 100644 index 0000000000..af60fba306 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Explode1.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire1.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire1.flac new file mode 100644 index 0000000000..0a0968f72a Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire1.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire2.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire2.flac new file mode 100644 index 0000000000..948e861af7 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire2.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire3.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire3.flac new file mode 100644 index 0000000000..97682a434f Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/Fire3.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/PlasmaLoop.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/PlasmaLoop.flac new file mode 100644 index 0000000000..f810ad1567 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/PlasmaLoop.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadEnd.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadEnd.flac new file mode 100644 index 0000000000..c3ee0843be Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadEnd.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadStart.flac b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadStart.flac new file mode 100644 index 0000000000..a4b38fb5cd Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Hyperion/Sounds/ReloadStart.flac differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.ini b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.ini new file mode 100644 index 0000000000..e227b4b58b --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.ini @@ -0,0 +1,341 @@ +/////////////////////////////////////////////////////////////////////// +// Solaris Gibs + +AddEffect = MOSRotating + PresetName = Solaris Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Solaris Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOPixel + PresetName = Laser Rifle Glow 0 + Mass = 1 + GlobalAccScalar = 0 + LifeTime = 25 + Atom = Atom + Material = Material + CopyOf = Air Blast + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/LightBlueTiny.png + EffectAlwaysShows = 1 + EffectStartStrength = 1 + EffectStopStrength = 0 + + +AddEffect = MOPixel + CopyOf = Laser Rifle Glow 0 + PresetName = Laser Rifle Glow 1 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/LightBlueSmaller3.png + + +AddEffect = MOPixel + CopyOf = Laser Rifle Glow 0 + PresetName = Laser Rifle Glow 2 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/LightBlueSmaller2.png + + +AddEffect = MOPixel + CopyOf = Laser Rifle Glow 0 + PresetName = Laser Rifle Glow 3 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/LightBlueSmaller1.png + + +AddEffect = MOPixel + CopyOf = Laser Rifle Glow 0 + PresetName = Laser Rifle Glow 4 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/LightBlueSmall.png + + +AddEffect = AEmitter + PresetName = Laser Solaris Smoker + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Tiny Smoke Ball 1 Glow Blue + ParticlesPerMinute = 1300 + StopTimeMS = 500 + Spread = 3.14 + MaxVelocity = 2 + MinVelocity = 0 + PushesEmitter = 0 + LifeVariation = 0.4 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Tiny Smoke Ball 1 + ParticlesPerMinute = 1900 + StopTimeMS = 1000 + Spread = 3.14 + MaxVelocity = 2 + MinVelocity = 0 + PushesEmitter = 0 + LifeVariation = 0.3 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Tiny Smoke Ball 1 + ParticlesPerMinute = 800 + StartTimeMS = 1000 + StopTimeMS = 1500 + Spread = 3.14 + MaxVelocity = 1 + MinVelocity = 0 + PushesEmitter = 0 + LifeVariation = 0.2 + BurstTriggered = 1 + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + NegativeThrottleMultiplier = 0 + BurstSize = 1 + + +AddAmmo = Magazine + PresetName = Magazine Solaris + Mass = 1 + RestThreshold = 1000 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png + FrameCount = 1 + SpriteOffset = Vector + X = -4 + Y = -4 + JointOffset = Vector + X = 0 + Y = 0 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 3 + Depth = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + ParentOffset = Vector + X = -11 + Y = -2.5 + DrawAfterParent = 1 + RoundCount = 160 + RegularRound = Round + CopyOf = Null Round + PresetName = Round Solaris + FireVelocity = 850 + AIFireVel = 300 + AILifeTime = 1000 + +AddDevice = HDFirearm + PresetName = Solaris + AddToGroup = Weapons + AddToGroup = Weapons - Primary + AddToGroup = Weapons - Light + AddToGroup = Weapons - Sniper + Description = A long-range plasma beam rifle that fires a continuous stream of energy, scorching any unarmored targets. Output measured in the thousands of degrees. + Mass = 20 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Devices/Weapons/Solaris/Solaris.lua + ScriptPath = MuIlaak.rte/Devices/Weapons/Solaris/SolarisDelay.lua + ScriptPath = MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/Solaris.png + SpriteOffset = Vector + X = -23 + Y = -4 + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/SolarisIcon.png + FrameCount = 4 + SpriteAnimMode = 4 + SpriteAnimDuration = 25 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 115 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 70 + JointStiffness = 0.5 + JointOffset = Vector + X = -11 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 8 + Y = 6 + SharpStanceOffset = Vector + X = 10 + Y = 3.5 + SupportOffset = Vector + X = -2 + Y = 3 + SharpLength = 400 + Magazine = Magazine + CopyOf = Magazine Solaris + Flash = Attachable + CopyOf = Laak Flash Green But With A Bigger Glow Lmao + FireSound = SoundContainer + AttenuationStartDistance = 130 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisFire.wav + Pitch = 0.75 + LoopSetting = -1 + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AttenuationStartDistance = 110 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac + ReloadEndSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac + ActivationDelay = 1000 + DeactivationDelay = 1000 + ActiveSound = SoundContainer + AttenuationStartDistance = 140 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisSpin.wav + Pitch = 0.90 + LoopSetting = -1 + RateOfFire = 4000 + ReloadTime = 2500 + FullAuto = 1 + FireIgnoresThis = 1 + ShakeRange = 0 + SharpShakeRange = 0 + NoSupportFactor = 1 + ParticleSpreadRange = 0 + MuzzleOffset = Vector + X = 6 + Y = -1 + EjectionOffset = Vector + X = 9 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Solaris Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Solaris Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 10 + MaxVelocity = 18 + MinVelocity = 6 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 10 + MaxVelocity = 18 + MinVelocity = 6 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Panel White Micro A + Count = 5 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 7 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Panel White Tiny A + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Tiny A + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Glass Micro A + Offset = Vector + X = -5 + Y = -1 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Glass Micro A + Offset = Vector + X = 9 + Y = -1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Device Small L + Offset = Vector + X = 5 + Y = 0 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Device Small I + Offset = Vector + X = -11 + Y = -1 + GibWoundLimit = 5 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.lua b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.lua new file mode 100644 index 0000000000..91e5b7e2ff --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris.lua @@ -0,0 +1,171 @@ +local function InsertParticle(var, particle) + var.addedParticleCount = var.addedParticleCount + 1; + var.addedParticles[var.addedParticleCount] = particle; +end + +local function emitSmoke(self, particleCount) + local var = self.var; + local MuzzlePos = self.MuzzlePos; + for i = 1, particleCount do + local smoke = CreateMOSParticle("Plasma Flame Smoke 2 Special", "MuIlaak.rte"); + smoke.Pos = MuzzlePos; + smoke.Lifetime = smoke.Lifetime * RangeRand(0.1, 0.3); + smoke.Vel = var.Vel * 0.001 + Vector(RangeRand(0, i), 0):RadRotate(RangeRand(-math.pi, math.pi)); + InsertParticle(var, smoke); + end + self:RequestSyncedUpdate(); +end + +local function drawThiccWobblyLine(screen, startPos, endPos, thiccness, color) + local dirVector = SceneMan:ShortestDistance(startPos, endPos, true):Perpendicularize() + local pos1 = startPos + dirVector:SetMagnitude((thiccness - 1) / 2 + math.random(-1, 1.5)) + local pos2 = startPos - dirVector:SetMagnitude((thiccness - 1) / 2 + math.random(-1, 1. )) + local pos3 = endPos + dirVector:SetMagnitude((thiccness - 1) / 2 + math.random(-1, 1)) + local pos4 = endPos - dirVector:SetMagnitude((thiccness - 1) / 2 + math.random(-1, 1)) + + PrimitiveMan:DrawTriangleFillPrimitive(screen, pos1, pos2, pos3, color) + PrimitiveMan:DrawTriangleFillPrimitive(screen, pos3, pos4, pos2, color) +end + +function Create(self) + -- Create local table to store variables for performance + local var = {}; + + -- var.range = math.sqrt(FrameMan.PlayerScreenWidth^2 + FrameMan.PlayerScreenHeight^2)/2; + var.range = 1000; + var.penetrationStrength = 100; + var.strengthVariation = 6; + --This value tracks the shots and varies the penetration strength to create a "resistance" effect on tougher materials + var.shotCounter = 0; --TODO: Rename/describe this variable better + var.activity = ActivityMan:GetActivity(); + + var.cooldown = Timer(); + var.cooldownSpeed = 0.5; + + var.addedParticles = {}; + var.addedParticleCount = 0; + + var.addedWound = nil; + var.addedWoundOffset = nil; + var.addedWoundToUniqueID = nil; + var.Vel = self.Vel; + + self.var = var; +end + +function ThreadedUpdate(self) + local var = self.var; + if self.FiredFrame then + local actor = self:GetRootParent(); + local range = var.range + math.random(8); + if IsActor(actor) then + actor = ToActor(actor); + range = range + actor.AimDistance; + if actor:GetController():IsState(Controller.AIM_SHARP) then + range = range + self.SharpLength * actor.SharpAimProgress; + end + end + + local startPos = self.MuzzlePos + Vector(0, RangeRand(-0.5, 0.5)):RadRotate(self.RotAngle); + local hitPos = Vector(startPos.X, startPos.Y); + local gapPos = Vector(startPos.X, startPos.Y); + local trace = Vector(range * self.FlipFactor, 0):RadRotate(self.RotAngle); + --Use higher pixel skip first to find a rough estimate + local skipPx = 4; + local rayLength = SceneMan:CastObstacleRay(startPos, trace, hitPos, gapPos, actor.ID, self.Team, rte.airID, skipPx); + + if rayLength >= 0 then + gapPos = gapPos - Vector(trace.X, trace.Y):SetMagnitude(skipPx); + skipPx = 1; + local shortRay = SceneMan:CastObstacleRay(gapPos, Vector(trace.X, trace.Y):SetMagnitude(range - rayLength + skipPx), hitPos, gapPos, actor.ID, self.Team, rte.airID, skipPx); + gapPos = gapPos - Vector(trace.X, trace.Y):SetMagnitude(skipPx); + local strengthFactor = math.max(1 - rayLength/var.range, math.random()) * (var.shotCounter + 1)/var.strengthVariation; + + local addedWoundToMOID = SceneMan:GetMOIDPixel(hitPos.X, hitPos.Y); + if addedWoundToMOID ~= rte.NoMOID and addedWoundToMOID ~= self.ID then + local mo = ToMOSRotating(MovableMan:GetMOFromID(addedWoundToMOID)); + if var.penetrationStrength * strengthFactor >= mo.Material.StructuralIntegrity then + local moAngle = -mo.RotAngle * mo.FlipFactor; + + local woundName = mo:GetEntryWoundPresetName(); + if woundName ~= "" then + local wound = CreateAEmitter(woundName); + + local dist = SceneMan:ShortestDistance(mo.Pos, hitPos, SceneMan.SceneWrapsX); + local woundOffset = Vector(dist.X * mo.FlipFactor, dist.Y):RadRotate(moAngle):SetMagnitude(dist.Magnitude - (wound.Radius - 1) * wound.Scale); + wound.InheritedRotAngleOffset = woundOffset.AbsRadAngle; + woundOffset = woundOffset:RadRotate(-mo.RotAngle); + self:RequestSyncedUpdate(); + end + end + end + + local smoke = CreatePEmitter("Plasma Flame Hurt Short Solaris", "MuIlaak.rte"); + smoke.Pos = gapPos; + smoke.Vel = Vector(trace.X, trace.Y):SetMagnitude(6); + smoke.Lifetime = smoke.Lifetime * strengthFactor; + InsertParticle(var, smoke); + + local pix = CreateMOPixel("Fire Burn Particle", "Browncoats.rte"); + pix.Pos = gapPos; + pix.Sharpness = var.penetrationStrength/6; + pix.Vel = Vector(trace.X, trace.Y):SetMagnitude(6); + InsertParticle(var, pix); + end + if rayLength ~= 0 then + trace = SceneMan:ShortestDistance(startPos, gapPos, SceneMan.SceneWrapsX); + for player = Activity.PLAYER_1, Activity.MAXPLAYERCOUNT - 1 do + local team = var.activity:GetTeamOfPlayer(player); + local screen = var.activity:ScreenOfPlayer(player); + if screen ~= -1 and not (SceneMan:IsUnseen(startPos.X, startPos.Y, team) or SceneMan:IsUnseen(hitPos.X, hitPos.Y, team)) then + drawThiccWobblyLine(screen, startPos, startPos + trace, 3, 149); + PrimitiveMan:DrawLinePrimitive(screen, startPos, startPos + trace, 254); + end + end + end + var.shotCounter = (var.shotCounter + 1) % var.strengthVariation; + var.cooldown:Reset(); + end + + if self.Magazine and self.Magazine.RoundCount > 0 then + local ammoRatio = 1 - self.Magazine.RoundCount/self.Magazine.Capacity; + emitSmoke(self, math.floor(ammoRatio * RangeRand(0, 0) + RangeRand(0.25, 0.50))); + var.cooldown:SetSimTimeLimitMS(self.ReloadTime * ammoRatio); + + local cooldownRate = math.floor(var.cooldown.ElapsedSimTimeMS/(60000/(self.RateOfFire * var.cooldownSpeed))); + if ammoRatio ~= 0 and cooldownRate >= 1 then + var.cooldown:Reset(); + end + elseif self:IsReloading() then + emitSmoke(self, math.floor((var.cooldown:LeftTillSimTimeLimitMS()/self.ReloadTime) * RangeRand(0.5, 2.0) + RangeRand(0.50, 0.75))); + elseif self.RoundInMagCount >= 0 then + self:Reload(); + end +end + +-- Localize function to improve performance +local AddParticle = MovableMan.AddParticle; + +function SyncedUpdate(self) + local var = self.var; + if var.addedWound then + local mo = MovableMan:FindObjectByUniqueID(var.addedWoundToUniqueID); + if mo then + mo = ToMOSRotating(mo); + mo:AddWound(var.addedWound, var.addedWoundOffset, true); + end + + var.addedWound = nil; + var.addedWoundOffset = nil; + var.addedWoundToUniqueID = nil; + end + + if (var.addedParticleCount > 0) then + for i = 1, var.addedParticleCount do + -- Remember to add function caller as first argument to localized function + AddParticle(MovableMan, var.addedParticles[i]); + end + var.addedParticles = {}; + var.addedParticleCount = 0; + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris000.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris000.png new file mode 100644 index 0000000000..f1b551a007 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris000.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris001.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris001.png new file mode 100644 index 0000000000..c41b079fcd Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris001.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris002.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris002.png new file mode 100644 index 0000000000..dd46311f79 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris002.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris003.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris003.png new file mode 100644 index 0000000000..8decfe568c Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Solaris003.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisDelay.lua b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisDelay.lua new file mode 100644 index 0000000000..f9a375c879 --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisDelay.lua @@ -0,0 +1,19 @@ +function Create(self) + self.origActivationDelay = self.ActivationDelay; + self.spinDownTimer = Timer(); + self.currentlySpinningDown = false; +end + +function ThreadedUpdate(self) + if not self.currentlySpinningDown and not self:IsActivated() and not self:IsReloading() and self.ActiveSound:IsBeingPlayed() then + self.spinDownTimer:Reset(); + self.currentlySpinningDown = true; + self.activationDelay = self.origActivationDelay; + elseif (self.currentlySpinningDown and self.spinDownTimer:IsPastSimMS(self.DeactivationDelay)) or self:IsReloading() then + self.ActivationDelay = self.origActivationDelay; + self.currentlySpinningDown = false; + elseif self.currentlySpinningDown and self:IsActivated() then + self.ActivationDelay = self.origActivationDelay * self.spinDownTimer.ElapsedSimTimeMS / self.DeactivationDelay; + self.currentlySpinningDown = false; + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibA.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibA.png new file mode 100644 index 0000000000..71860f9c99 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibB.png new file mode 100644 index 0000000000..1d984ed33d Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisIcon.png new file mode 100644 index 0000000000..1d1a883363 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/SolarisIcon.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisFire.wav b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisFire.wav new file mode 100644 index 0000000000..9264d13401 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisFire.wav differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisSpin.wav b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisSpin.wav new file mode 100644 index 0000000000..a630e4eefc Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/Sounds/SolarisSpin.wav differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Solaris/ValisMagazine.png b/Data/MuIlaak.rte/Devices/Weapons/Solaris/ValisMagazine.png new file mode 100644 index 0000000000..5f5ecbd598 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Solaris/ValisMagazine.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/RailShot.lua b/Data/MuIlaak.rte/Devices/Weapons/Ubik/RailShot.lua new file mode 100644 index 0000000000..98db18285b --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Ubik/RailShot.lua @@ -0,0 +1,160 @@ +function Create(self) + --Range of the shot. + self.range = 1000; + + --Amplitude of the wave. + self.maxAmplitude = math.floor(1 + math.sqrt(self.Vel.Magnitude) + 0); + + --Wavelength of the wave. + self.flaceLength = math.floor(3 + math.sqrt(self.Vel.Magnitude) + -1); + + --Track intersecting beams + self.lastAmplitude = 0; + + --Speed of the wave (pixels per second). + self.speed = self.Vel.Magnitude * 100; + + --Speed of damage particles. + self.damageSpeed = 1 + self.Vel.Magnitude * 0.1; + + --Maximum strength for material penetration (both MOs and terrain). + self.strengthThreshold = 2; + + --Direction of the wave. + self.direction = Vector(self.Vel.X, self.Vel.Y); + self.direction:SetMagnitude(1); + self.up = Vector(self.direction.X, self.direction.Y); + self.up:RadRotate(math.pi * 0.0001); + + --Interval at which to create damage particles. + self.damageInterval = 3; + + --Timer for the wave. + self.timer = Timer(); + + --The last starting position along the line. + self.lastI = 0; + + --Count MO and terrain hits. + self.hits = 0; + + --Disintegration strength. + self.disintegrationStrength = 500; + + self.melter = CreateMOPixel("Disintegrator", "Techion.rte"); +end + +function Update(self) + local endPoint = self.timer.ElapsedSimTimeS * self.speed; + if endPoint > self.range then + endPoint = self.range; + self.ToDelete = true; + else + self.ToDelete = false; + self.ToSettle = false; + end + + endPoint = math.floor(endPoint); + + --Draw out the path. + for i = self.lastI, endPoint, 1 do + local amplitude = math.sin((i/self.flaceLength) * 2 * math.pi) * self.maxAmplitude; + local waveOffset = Vector(self.up.X, self.up.Y); + waveOffset:SetMagnitude(amplitude); + + local linePos = self.Pos + Vector(self.direction.X, self.direction.Y):SetMagnitude(i * 2); + local fireVector = Vector(self.direction.X, self.direction.Y):SetMagnitude(self.damageSpeed); + local upPos = linePos + waveOffset; + local downPos = linePos - waveOffset * 0.2; + + --Cancel the beam if there's a terrain collision. + local trace = Vector(fireVector.X, fireVector.Y):SetMagnitude(self.damageSpeed * 0.1); + + local strSumRay = SceneMan:CastStrengthSumRay(downPos, downPos + trace, 3, 160); + self.hits = self.hits + math.sqrt(strSumRay); + + if SceneMan:GetTerrMatter(upPos.X, upPos.Y) == rte.airID then + --Add the blue wave effect. + local partA = CreateMOPixel("MuIlaak.rte/RailShot Effect Particle"); + partA.Pos = upPos; + partA.Vel = (fireVector * 0.5 - waveOffset) * 0.2; + MovableMan:AddParticle(partA); + + --Add the wave front effect. + local frontA = CreateMOPixel("MuIlaak.rte/RailShot Front Effect Particle"); + frontA.Pos = upPos; + frontA.Vel = (fireVector * 0.5 - waveOffset) * 0.2; + MovableMan:AddParticle(frontA); + end + + --Add the green wave effect. + local partB = CreateMOPixel("MuIlaak.rte/RailShot Effect Particle"); + partB.Pos = downPos; + partB.Vel = (fireVector + waveOffset) * 0.04; + MovableMan:AddParticle(partB); + + --Add the wave front effect. + local frontB = CreateMOPixel("MuIlaak.rte/RailShot Front Effect Particle"); + frontB.Pos = downPos; + frontB.Vel = (fireVector + waveOffset) * 0.04; + MovableMan:AddParticle(frontB); + + if i % self.damageInterval == 0 then + local pos = {upPos, downPos}; + local hitID = rte.NoMOID; + for i = 1, #pos do + local checkPos = pos[i]; + local hitPos = Vector(); + local hitID = SceneMan:CastObstacleRay(checkPos, fireVector * rte.PxTravelledPerFrame, hitPos, Vector(), hitID, self.Team, rte.airID, 2) >= 0 and SceneMan:GetMOIDPixel(hitPos.X, hitPos.Y) or rte.NoMOID; + local mo = MovableMan:GetMOFromID(hitID); + if mo and IsMOSRotating(mo) then + mo = ToMOSRotating(mo); + + local wounds = {mo:GetEntryWoundPresetName(), mo:GetExitWoundPresetName()}; + --Center beam creates both entry and exit wounds. + for j = 1, i do + local woundName = wounds[j]; + if woundName ~= "" and not mo.ToDelete then + local wound = CreateAEmitter(woundName); + wound.BurstDamage = wound.BurstDamage * self.WoundDamageMultiplier; + local woundOffset = SceneMan:ShortestDistance(mo.Pos, hitPos, SceneMan.SceneWrapsX); + woundOffset.X = woundOffset.X * mo.FlipFactor; + wound.InheritedRotAngleOffset = woundOffset.AbsRadAngle; + mo:AddWound(wound, woundOffset:RadRotate(-mo.RotAngle * mo.FlipFactor), true); + end + end + + self.hits = self.hits + (i == 2 and math.sqrt(mo.Material.StructuralIntegrity) + math.sqrt(mo.Radius + mo.Mass) * 0.1 or 1); + + end + end + end + + if (self.lastAmplitude > 0 and amplitude < 0) or (self.lastAmplitude < 0 and amplitude > 0) then + local part = CreateMOPixel("MuIlaak.rte/RailShot Large Effect Particle"); + part.Pos = linePos - Vector(self.direction.X, self.direction.Y):SetMagnitude(2); + part.Vel = fireVector * 0.1; + MovableMan:AddParticle(part); + end + + self.lastAmplitude = amplitude; + if self.hits > self.strengthThreshold then + + local effect = CreateAEmitter("MuIlaak.rte/RailShot Impact Particle"); + effect.Pos = linePos - Vector(self.direction.X, self.direction.Y):SetMagnitude(2); + effect.Team = self.Team; + effect.IgnoresTeamHits = true; + MovableMan:AddParticle(effect); + + self.ToDelete = true; + break; + else + self.hits = self.hits * 0.9; + end + + self.flaceLength = self.flaceLength * (1 + 0.05/self.flaceLength); + self.maxAmplitude = self.flaceLength * 0.5; + end + + self.lastI = endPoint; +end diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/Sounds/UbikFire.mp3 b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Sounds/UbikFire.mp3 new file mode 100644 index 0000000000..cc740353f3 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Sounds/UbikFire.mp3 differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.ini b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.ini new file mode 100644 index 0000000000..0334906e0b --- /dev/null +++ b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.ini @@ -0,0 +1,431 @@ +/////////////////////////////////////////////////////////////////////// +// RailShot Effects + +AddEffect = MOPixel + PresetName = RailShot Damage Particle + Mass = 1 + Sharpness = 2 + LifeTime = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + WoundDamageMultiplier = 1 + Color = Color + R = 255 + G = 0 + B = 255 + Atom = Atom + Material = Material + CopyOf = Air + + +AddEffect = MOPixel + PresetName = RailShot Effect Particle + Mass = 1 + Sharpness = 1 + GlobalAccScalar = 0 + AirResistance = 0.01 + AirThreshold = 1 + LifeTime = 500 + RestThreshold = -1 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 255 + G = 0 + B = 255 + Atom = Atom + Material = Material + CopyOf = Air + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png + EffectStartTime = 0 + EffectStopTime = 500 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = RailShot Effect Particle + PresetName = RailShot Large Effect Particle + LifeTime = 800 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStopTime = 300 + EffectStartStrength = 0.3 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = RailShot Effect Particle + PresetName = RailShot Front Effect Particle + LifeTime = 100 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/WhiteVerySmall.png + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddAmmo = AEmitter + PresetName = RailShot Impact Particle + Mass = 0.1 + LifeTime = 5 + Sharpness = 0.1 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + FrameCount = 1 + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = RailShot Large Effect Particle + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectAlwaysShows = 1 + EffectStartStrength = 1 + BurstSize = 1 + Spread = 0 + MaxVelocity = 0 + MinVelocity = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Particle Very Heavy Digger + BurstSize = 25 + Spread = 3.14 + MaxVelocity = 80 + MinVelocity = 70 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = RailShot Damage Particle + BurstSize = 30 + Spread = 3.14 + MaxVelocity = 3 + MinVelocity = 3 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Tiny Smoke Ball 1 Glow Green + LifeVariation = 0.50 + BurstSize = 10 + Spread = 3.14 + MaxVelocity = 20 + MinVelocity = 1 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Tiny Smoke Ball 1 Glow Green + LifeVariation = 0.50 + BurstSize = 10 + Spread = 3.14 + MaxVelocity = 20 + MinVelocity = 1 + BurstSound = SoundContainer + AddSound = ContentFile + FilePath = Techion.rte/Devices/Shared/Sounds/LaserDissipate1.flac + AddSound = ContentFile + FilePath = Techion.rte/Devices/Shared/Sounds/LaserDissipate2.flac + AddSound = ContentFile + FilePath = Techion.rte/Devices/Shared/Sounds/LaserDissipate3.flac + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstTriggered = 1 + ParticlesPerMinute = 0 + +AddAmmo = MOPixel + PresetName = Laak RailShot Particle + ScriptPath = MuIlaak.rte/Devices/Weapons/Ubik/RailShot.lua + Mass = 0.0001 + Sharpness = 1 + GlobalAccScalar = 0 + LifeTime = 1100 + PinStrength = 1000 + RestThreshold = 1100 + HitsMOs = 0 + GetsHitByMOs = 0 + WoundDamageMultiplier = 1.5 + Color = Color + R = 255 + G = 0 + B = 255 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png + EffectStartTime = 0 + EffectStopTime = 200 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddAmmo = Round + PresetName = Round RailShot + ParticleCount = 1 + Particle = MOPixel + CopyOf = Laak RailShot Particle + AIFireVel = 70 + AILifeTime = 1000 + FireVelocity = 70 + + +AddAmmo = Magazine + PresetName = Magazine RailShot + Mass = 2 + HitsMOs = 0 + GetsHitByMOs = 0 + CollidesWithTerrainWhileAttached = 1 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png + FrameCount = 1 + SpriteOffset = Vector + X = -4 + Y = -4 + JointOffset = Vector + X = 0 + Y = 0 + ParentOffset = Vector + X = 3 + Y = 4 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Bullet Casing + Resolution = 2 + Depth = 0 + DeepCheck = 0 + JointStrength = 200 + JointStiffness = 1 + DrawAfterParent = 0 + RoundCount = 1 + RegularRound = Round + CopyOf = Round RailShot + + +/////////////////////////////////////////////////////////////////////// +// Ubik Gibs + +AddEffect = MOSRotating + PresetName = Ubik Gib A + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/UbikGibA.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Ubik Gib B + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/UbikGibB.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddEffect = MOSRotating + PresetName = Ubik Gib C + Mass = 34.83 + Sharpness = 1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/UbikGibC.png + FrameCount = 1 + SpriteOffset = Vector + X = -9 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + +AddAmmo = Magazine + CopyOf = Magazine RailShot + PresetName = Ubik Integrated Magazine + RoundCount = 8 + DrawAfterParent = 1 + +/////////////////////////////////////////////////////////////////////// +// Ubik + + +AddDevice = HDFirearm + PresetName = Ubik + Description = Precision plasma railgun. Its odd ergonomics are certain to make using it a painful experience for any non-Mu-Ilaak. Targeting wetware sold separately. + AddToGroup = Weapons - Primary + AddToGroup = Weapons - Sniper + Mass = 16 + HitsMOs = 0 + GetsHitByMOs = 1 + ScriptPath = MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/Ubik.png + IconFile = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/UbikIcon.png + FrameCount = 1 + SpriteOffset = Vector + X = -14 + Y = -3 + EntryWound = AEmitter + CopyOf = Dent Metal Device + ExitWound = AEmitter + CopyOf = Dent Metal Device + GoldValue = 130 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 10 + DeepCheck = 0 + JointStrength = 100 + JointStiffness = 0.5 + JointOffset = Vector + X = -6 + Y = 3 + DrawAfterParent = 0 + StanceOffset = Vector + X = 5 + Y = 4 + SharpStanceOffset = Vector + X = 8 + Y = 2 + SupportOffset = Vector + X = 6 + Y = 6 + SharpLength = 420 + Magazine = Magazine + CopyOf = Ubik Integrated Magazine + Flash = Attachable + CopyOf = Laak Flash Green + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png + FireSound = SoundContainer + AttenuationStartDistance = 175 + AddSound = ContentFile + FilePath = MuIlaak.rte/Devices/Weapons/Ubik/Sounds/UbikFire.mp3 + EmptySound = SoundContainer + AddSound = ContentFile + FilePath = Base.rte/Sounds/Devices/EmptyClick1.flac + ReloadStartSound = SoundContainer + AttenuationStartDistance = 110 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac + ReloadEndSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac + RateOfFire = 125 + ReloadTime = 2800 + FullAuto = 0 + FireIgnoresThis = 1 + ShakeRange = 1 + SharpShakeRange = 1 + NoSupportFactor = 2 + ParticleSpreadRange = 0.8 + MuzzleOffset = Vector + X = 15 + Y = 2.5 + EjectionOffset = Vector + X = 11 + Y = 0 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Blindsight Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Ubik Gib A + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Ubik Gib B + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Ubik Gib C + Offset = Vector + X = 4 + Y = 1 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 1 + Count = 3 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOPixel + CopyOf = Spark Yellow 2 + Count = 5 + Spread = 2.25 + MaxVelocity = 20 + MinVelocity = 8 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Panel White Micro A + Count = 10 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSParticle + CopyOf = Gib Metal Grey Micro A + Count = 8 + Spread = 2.25 + MaxVelocity = 15 + MinVelocity = 5 + AddGib = Gib + GibParticle = MOSRotating + CopyOf = Gib Panel White Small A + Count = 1 + Spread = 0 + MaxVelocity = 15 + MinVelocity = 5 + GibWoundLimit = 10 diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.png b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.png new file mode 100644 index 0000000000..19fcf9aaca Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/Ubik.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibA.png b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibA.png new file mode 100644 index 0000000000..7643014f77 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibA.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibB.png b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibB.png new file mode 100644 index 0000000000..929b2abddd Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibB.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibC.png b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibC.png new file mode 100644 index 0000000000..faf5f02175 Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikGibC.png differ diff --git a/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikIcon.png b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikIcon.png new file mode 100644 index 0000000000..d06fde7edf Binary files /dev/null and b/Data/MuIlaak.rte/Devices/Weapons/Ubik/UbikIcon.png differ diff --git a/Data/MuIlaak.rte/GUIs/BuyMenuLogo.png b/Data/MuIlaak.rte/GUIs/BuyMenuLogo.png index cafa82490e..555ac00dc2 100644 Binary files a/Data/MuIlaak.rte/GUIs/BuyMenuLogo.png and b/Data/MuIlaak.rte/GUIs/BuyMenuLogo.png differ diff --git a/Data/MuIlaak.rte/GUIs/BuyMenuSkin.ini b/Data/MuIlaak.rte/GUIs/BuyMenuSkin.ini new file mode 100644 index 0000000000..56f00401e3 --- /dev/null +++ b/Data/MuIlaak.rte/GUIs/BuyMenuSkin.ini @@ -0,0 +1,280 @@ +[Mouse_Pointer] +Filename = Base.rte/GUIs/Skins/Cursor.png +ColorKeyIndex = 255 + +[Mouse_Text] +Filename = Base.rte/Null.png +ColorKeyIndex = 255 + +[Mouse_HSize] +Filename = Base.rte/Null.png +ColorKeyIndex = 255 + +[CollectionBox_Panel] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 0,24, 2,2 +Top = 3,24, 1,2 +TopRight = 7,24, 2,2 +Left = 0,27, 2,1 +BottomLeft = 0,31, 2,2 +Bottom = 3,30, 1,3 +BottomRight = 7,31, 2,2 +Right = 6,27, 3,1 +Filler = 12,24, 8,8 + +[Button_Up] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +Font = Base.rte/GUIs/Skins/FontLarge.png +FontColor = 0 +FontKerning = 0 +FontShadow = 0 +TopLeft = 0,36, 2,2 +Top = 3,36, 3,2 +TopRight = 7,36, 3,2 +Left = 0,39, 2,3 +BottomLeft = 0,43, 2,3 +Bottom = 3,43, 3,3 +BottomRight = 7,43, 3,3 +Right = 7,39, 3,3 +Filler = 0,48, 8,8 + +[Button_Over] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 12,36, 2,2 +Top = 15,36, 3,2 +TopRight = 19,36, 3,2 +Left = 12,39, 2,3 +BottomLeft = 12,43, 2,3 +Bottom = 15,43, 3,3 +BottomRight = 19,43, 3,3 +Right = 19,39, 3,3 +Filler = 12,48, 8,8 + +[Button_Down] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 24,36, 2,2 +Top = 27,36, 3,2 +TopRight = 31,36, 3,2 +Left = 24,39, 2,3 +BottomLeft = 24,43, 2,3 +Bottom = 27,43, 3,3 +BottomRight = 31,43, 3,3 +Right = 31,39, 3,3 +Filler = 24,48, 8,8 + +[Listbox] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +Font = Base.rte/GUIs/Skins/FontSmall.png +FontColor = 0 +FontKerning = 0 +FontSelectColor = +SelectedColorIndex = 117 +UnselectedColorIndex = 242 +TopLeft = 112,11, 2,2 +Top = 115,11, 3,2 +TopRight = 119,11, 2,2 +Left = 112,14, 2,3 +BottomLeft = 112,18, 2,2 +Bottom = 115,18, 3,2 +BottomRight = 119,18, 2,2 +Right = 119,14, 2,3 +Filler = 64,12, 8,8 + +[ScrollButton_Up] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 112,68, 2,2 +Top = 114,68, 3,2 +TopRight = 117,68, 2,2 +Left = 112,70, 2,3 +BottomLeft = 112,73, 2,2 +Bottom = 114,73, 3,2 +BottomRight = 117,73, 2,2 +Right = 117,70, 2,3 +Filler = 114,70, 3,3 + +[ScrollButton_Down] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 120,68, 2,2 +Top = 122,68, 3,2 +TopRight = 125,68, 2,2 +Left = 120,70, 2,3 +BottomLeft = 120,73, 2,2 +Bottom = 122,73, 3,2 +BottomRight = 125,73, 2,2 +Right = 125,70, 2,3 +Filler = 122,70, 3,3 + +[ScrollKnob_Up] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 112,78, 3,3 +Top = 114,78, 3,3 +TopRight = 116,78, 3,3 +Left = 112,81, 2,3 +BottomLeft = 112,84, 3,3 +Bottom = 114,84, 3,3 +BottomRight = 116,84, 3,3 +Right = 117,81, 2,3 +Filler = 114,81, 3,3 + +[ScrollKnob_Down] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 120,78, 3,3 +Top = 122,78, 3,3 +TopRight = 124,78, 3,3 +Left = 120,81, 2,3 +BottomLeft = 120,84, 3,3 +Bottom = 122,84, 3,3 +BottomRight = 124,84, 3,3 +Right = 125,81, 2,3 +Filler = 122,81, 3,3 + +[ScrollTopArrow] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Rect = 114,64, 3,3 + +[ScrollBottomArrow] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Rect = 122,64, 3,3 + +[ScrollLeftArrow] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Rect = 85,40, 3,3 + +[ScrollRightArrow] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Rect = 85,32, 3,3 + +[ScrollBackground] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +Filler = 112,87, 7,7 + +[Checkbox] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Font = Base.rte/GUIs/Skins/FontSmall.png +FontColor = 0 +FontKerning = 0 +Base = 16,60, 7,7 +MouseOver = 24,60, 7,7 +Check = 16,67, 7,7 +GreyCheck = 23,67, 7,7 + +[RadioButton] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 0 +Font = Base.rte/GUIs/Skins/FontLarge.png +FontColor = 0 +FontKerning = 0 +Base = 0,60, 7,7 +MouseOver = 8,60, 7,7 +Check = 0,67, 7,7 +GreyCheck = 8,67, 7,7 + +[Tab] +Filename = MuIlaak.rte/GUIs/TabMaroon.png +ColorKeyIndex = 0 +Font = Base.rte/GUIs/Skins/FontLarge.png +FontColor = 0 +FontKerning = 0 +Base = 0,0, 57,17 +MouseOver = 0,19, 57,17 +Selected = 0,38, 57,17 +Disabled = 0,57, 57,17 + +[ProgressBar_Base] +Filename = Base.rte/Null.png +TopLeft = 0,0, 1,1 +Top = 0,0, 1,1 +TopRight = 0,0, 1,1 +Left = 0,0, 1,1 +BottomLeft = 0,0, 1,1 +Bottom = 0,0, 1,1 +BottomRight = 0,0, 1,1 +Right = 0,0, 1,1 +Filler = 0,0, 1,1 + +[ProgressBar_Indicator] +Filename = Base.rte/Null.png +Top = 0,0, 1,1 +Centre = 0,0, 1,1 +Bottom = 0,0, 1,1 +Spacing = 0,0, 1,1 + +[Slider_Horz] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 13 +Start = 0,76, 2,9 +Middle = 3,76, 4,9 +End = 8,76, 2,9 +TopLeftSlider = 16,76, 9,3 +BottomRightSlider = 12,76, 3,9 +TickColorIndex = 0 + +[Slider_Vert] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 13 +Start = 0,3, 2,2 +Middle = 0,6, 2,3 +End = 0,10, 2,2 +TopLeftSlider = 23,9, 14,8 +BottomRightSlider = 23,0, 14,8 +TickColorIndex = 0 + +[TextBox] +Font = Base.rte/GUIs/Skins/FontLarge.png +CursorColorIndex = 117 +SelectedColorIndex = 117 +FontColor = 0 +FontKerning = 0 +FontSelectColor = 0 +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 112,11, 2,2 +Top = 115,11, 3,2 +TopRight = 119,11, 2,2 +Left = 112,14, 2,3 +BottomLeft = 112,18, 2,2 +Bottom = 115,18, 3,2 +BottomRight = 119,18, 2,2 +Right = 119,14, 2,3 +Filler = 64,12, 8,8 + +[Label] +Font = Base.rte/GUIs/Skins/FontLarge.png +FontColor = 0 +FontKerning = 0 + +[ComboBox_Arrow] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +ColorKeyIndex = 255 +Rect = 76,70, 7,5 + +[ComboBox_ButtonUp] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 112,11, 2,2 +Top = 115,11, 3,2 +TopRight = 119,11, 2,2 +Left = 112,14, 2,3 +BottomLeft = 112,18, 2,2 +Bottom = 115,18, 3,2 +BottomRight = 119,18, 2,2 +Right = 119,14, 2,3 +Filler = 64,12, 8,8 + +[ComboBox_ButtonDown] +Filename = MuIlaak.rte/GUIs/SkinMaroon.png +TopLeft = 112,20, 2,2 +Top = 115,20, 3,2 +TopRight = 119,20, 2,2 +Left = 112,23, 2,3 +BottomLeft = 112,27, 2,2 +Bottom = 115,27, 3,2 +BottomRight = 119,27, 2,2 +Right = 119,23, 2,3 +Filler = 64,12, 8,8 + +[DescriptionBoxText] +Font = Base.rte/GUIs/Skins/FontSmall.png \ No newline at end of file diff --git a/Data/MuIlaak.rte/GUIs/SkinMaroon.png b/Data/MuIlaak.rte/GUIs/SkinMaroon.png new file mode 100644 index 0000000000..1a261fa581 Binary files /dev/null and b/Data/MuIlaak.rte/GUIs/SkinMaroon.png differ diff --git a/Data/MuIlaak.rte/GUIs/TabMaroon.png b/Data/MuIlaak.rte/GUIs/TabMaroon.png new file mode 100644 index 0000000000..7d079998bc Binary files /dev/null and b/Data/MuIlaak.rte/GUIs/TabMaroon.png differ diff --git a/Data/MuIlaak.rte/Index.ini b/Data/MuIlaak.rte/Index.ini index e90582b934..aa58eee714 100644 --- a/Data/MuIlaak.rte/Index.ini +++ b/Data/MuIlaak.rte/Index.ini @@ -1,12 +1,15 @@ DataModule ModuleName = Mu-Ilaak -// IsFaction = 1 + Author = mkadnt + IsFaction = 1 IconFile = ContentFile FilePath = MuIlaak.rte/ModuleIcon.png - Description = TBA + Description = An ancient biomechanical alien race, the Mu-Ilaak are remnants of a fallen star-spanning empire seeking to restore their former glory. Though their numbers are few, their combat capabilities remain unmatched. FactionBuyMenuTheme = BuyMenuTheme + SkinFile = MuIlaak.rte/GUIs/BuyMenuSkin.ini + BackgroundColorIndex = 8 LogoFile = MuIlaak.rte/GUIs/BuyMenuLogo.png - IncludeFile = MuIlaak.rte/Devices.ini + IncludeFile = MuIlaak.rte/Shared/Shared.ini IncludeFile = MuIlaak.rte/Actors.ini - IncludeFile = MuIlaak.rte/Craft.ini - IncludeFile = MuIlaak.rte/Loadouts.ini \ No newline at end of file + IncludeFile = MuIlaak.rte/Devices.ini + IncludeFile = MuIlaak.rte/Loadouts.ini diff --git a/Data/MuIlaak.rte/Loadouts.ini b/Data/MuIlaak.rte/Loadouts.ini index c69c9c28c0..2199ce4cba 100644 --- a/Data/MuIlaak.rte/Loadouts.ini +++ b/Data/MuIlaak.rte/Loadouts.ini @@ -1,43 +1,192 @@ /////////////////////////////////////////////////////////////////////// // Faction Loadouts -/* + AddLoadout = Loadout PresetName = Default + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem AddLoadout = Loadout PresetName = Infantry Brain + DeliveryCraft = ACDropShip + PresetName = Base.rte/Dropship MK1 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Hivemind + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = HDFirearm + PresetName = Coalition.rte/Constructor + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + AddCargoItem = ACrab + PresetName = Base.rte/Anti-Air Drone AddLoadout = Loadout PresetName = Infantry Light + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier + + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Blindsight + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit AddLoadout = Loadout - PresetName = Infantry CQB + PresetName = Infantry Heavy + DeliveryCraft = ACDropShip + PresetName = Base.rte/Dropship MK1 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Echopraxia + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Hyperion + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit AddLoadout = Loadout - PresetName = Infantry Heavy + PresetName = Infantry CQB + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Blindsight + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = Coalition.rte/Solaris + AddCargoItem = HDFirearm + PresetName = Coalition.rte/Anathem + AddCargoItem = TDExplosive + PresetName = Coalition.rte/Recursion Charge Bandolier AddLoadout = Loadout PresetName = Infantry Sniper + DeliveryCraft = ACDropShip + PresetName = Base.rte/Dropship MK1 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Ubik + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Blindsight + AddCargoItem = HDFirearm + PresetName = Base.rte/Heavy Digger + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit AddLoadout = Loadout PresetName = Infantry Grenadier + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Hyperion + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier AddLoadout = Loadout PresetName = Infantry Engineer + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = HDFirearm + PresetName = Base.rte/Heavy Digger + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier + + +AddLoadout = Loadout + PresetName = Infantry Medic + DeliveryCraft = ACRocket + PresetName = Base.rte/Rocket MK2 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Foundation + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit AddLoadout = Loadout PresetName = Mecha + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Blindsight + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier + AddLoadout = Loadout PresetName = Turret -*/ + DeliveryCraft = ACDropShip + PresetName = Base.rte/Dropship MK1 + AddCargoItem = AHuman + PresetName = MuIlaak.rte/Warrior + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Solaris + AddCargoItem = HDFirearm + PresetName = MuIlaak.rte/Anathem + AddCargoItem = HDFirearm + PresetName = Base.rte/Medikit + AddCargoItem = TDExplosive + PresetName = MuIlaak.rte/Recursion Charge Bandolier \ No newline at end of file diff --git a/Data/MuIlaak.rte/ModuleIcon.png b/Data/MuIlaak.rte/ModuleIcon.png index a1b564adcc..36b2683ab9 100644 Binary files a/Data/MuIlaak.rte/ModuleIcon.png and b/Data/MuIlaak.rte/ModuleIcon.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/Ammo.ini b/Data/MuIlaak.rte/Shared/Ammo/Ammo.ini new file mode 100644 index 0000000000..6da9852ab7 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Ammo/Ammo.ini @@ -0,0 +1,4 @@ +/////////////////////////////////////////////////////////////////////// +// Ammo + +IncludeFile = MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlame.ini \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaBolt.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaBolt.png new file mode 100644 index 0000000000..caa648b6b4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaBolt.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlame.ini b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlame.ini new file mode 100644 index 0000000000..d66f8aaab3 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlame.ini @@ -0,0 +1,233 @@ +AddEffect = MOPixel + PresetName = Plasma Flame Damage Particle + Mass = 0.3 + AirResistance = 0.018 + GlobalAccScalar = -0.3 + LifeTime = 350 + Sharpness = 25 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 30 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + PresetName = Plasma Incendiary Flames + Bounce = 1.0 + Friction = 0.0 + TrailColor = Color + R = 30 + G = 205 + B = 0 + TrailLength = 1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png + EffectStartTime = 0 + EffectStopTime = 350 + EffectStartStrength = 0.75 + EffectStopStrength = 0.2 + +AddEffect = MOSParticle + PresetName = Plasma Flame Smoke 1 + Mass = 0.98 + GlobalAccScalar = -0.3 + AirResistance = 0.25 + AirThreshold = 4 + RestThreshold = -1 + LifeTime = 1500 + Sharpness = 0.0 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB.png + FrameCount = 19 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -4 + Y = -4 + Atom = Atom + Material = Material + CopyOf = Air Blast + TrailLength = 0 + +AddEffect = MOSParticle + CopyOf = Plasma Flame Smoke 1 + PresetName = Plasma Flame Smoke 2 + Mass = 0.2 + HitsMOs = 1 + LifeTime = 800 + GlobalAccScalar = -0.25 + AirResistance = 0.03 + AirThreshold = 3 + +AddEffect = MOSParticle + CopyOf = Flame Smoke 1 + PresetName = Plasma Flame Smoke 2 Special + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB.png + +AddEffect = PEmitter + PresetName = Plasma Flame 1 + GlobalAccScalar = 0.9 + AirResistance = 0.03 + AirThreshold = 1 + RestThreshold = -1 + Mass = 0.5 + LifeTime = 5000 + Sharpness = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame.png + FrameCount = 86 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -10 + Y = -19 + Atom = Atom + Material = Material + CopyOf = Rubber + TrailLength = 0 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectAlwaysShows = 0 + EffectStartTime = 0 + EffectStopTime = 5000 + EffectStartStrength = 0.4 + EffectStopStrength = 0.0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Plasma Flame Damage Particle + ParticlesPerMinute = 600 + LifeVariation = 0.25 + Spread = 1.5 + MaxVelocity = 1 + MinVelocity = 1 + PushesEmitter = 0 + InheritsVel = 1 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Plasma Flame Smoke 2 + ParticlesPerMinute = 1200 + LifeVariation = 0.50 + Spread = 1.5 + MaxVelocity = 1.5 + MinVelocity = 0 + PushesEmitter = 0 + InheritsVel = 1 + EmissionAngle = Matrix + AngleDegrees = 90 + EmissionOffset = Vector + X = 0 + Y = -1 + EmissionEnabled = 1 + EmissionsIgnoreThis = 0 + NegativeThrottleMultiplier = 0.75 + PositiveThrottleMultiplier = 1.5 + BurstSize = 1 + BurstTriggered = 1 + + +AddEffect = PEmitter + CopyOf = Plasma Flame 1 + PresetName = Plasma Flame 1 Hurt + GlobalAccScalar = 2 + LifeTime = 6000 + EffectStopTime = 6000 + HitsMOs = 1 + +AddEffect = PEmitter + CopyOf = Plasma Flame 1 Hurt + PresetName = Plasma Flame 1 Hurt Special + AirResistance = 1 + AirThreshold = 69 + RestThreshold = 69 + BurstSize = 1 + LifeTime = 1500 + + +AddEffect = PEmitter + CopyOf = Plasma Flame 1 Hurt + PresetName = Plasma Flame Hurt Short + GlobalAccScalar = 0.5 + LifeTime = 4500 // Maximum lifetime after collision + EffectStartTime = 10 + +AddEffect = PEmitter + CopyOf = Plasma Flame Hurt Short + PresetName = Plasma Flame Hurt Short Solaris + ScriptPath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlameSolaris.lua + +AddEffect = PEmitter + CopyOf = Plasma Flame 1 Hurt + PresetName = Plasma Flame 2 Hurt + EffectStopTime = 4500 + EffectStartStrength = 0.6 + + +AddEffect = PEmitter + CopyOf = Plasma Flame Hurt Short + PresetName = Plasma Flame Hurt Short Float + GlobalAccScalar = -0.1 + +AddEffect = PEmitter + CopyOf = Plasma Flame 1 + PresetName = Plasma Ground Flame + LifeTime = 8000 + EffectStopTime = 16000 + +AddEffect = MOSParticle + PresetName = Plasma Fire Puff + Mass = 3 + GlobalAccScalar = -0.24 + AirResistance = 0.1 + AirThreshold = 2 + RestThreshold = -1 + LifeTime = 400 + Sharpness = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB.png + FrameCount = 19 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -14 + Y = -14 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/YellowSmall.png + EffectStartTime = 0 + EffectStopTime = 200 + EffectStartStrength = 0.65 + EffectStopStrength = 0.3 + +AddEffect = PEmitter + PresetName = Plasma Fire Trace + LifeTime = 150 + AirResistance = 0.01 + Mass = 0.1 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + FrameCount = 1 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Plasma Fire Puff + ParticlesPerMinute = 4000 + LifeVariation = 0.20 + BurstSize = 2 + Spread = 3.14 + MaxVelocity = 5 + MinVelocity = 0 + PushesEmitter = 0 \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlameSolaris.lua b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlameSolaris.lua new file mode 100644 index 0000000000..71dce1a4be --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/PlasmaFlameSolaris.lua @@ -0,0 +1,104 @@ +function Create(self) + self.ageRatio = 1; + --A separate delay for lifetime control is used to preserve animation speed + self.deleteDelay = self.PresetName:find("Short") and self.Lifetime * RangeRand(0.1, 0.2) or self.Lifetime; + --Define Throttle for non-emitter particles + if self.Throttle == nil then + self.Throttle = 0; + end + + -- extra hurty particle toggle when on ground/without target + self.extraParticles = self:NumberValueExists("ExtraParticles") or false; + + -- team awareness toggle... friendly fire hahahahahahaah + self.teamAware = self:NumberValueExists("TeamAware") or false; + + self.flameLingerChance = self:NumberValueExists("FlameLingerChance") and self:GetNumberValue("FlameLingerChance") or 0.5; + + -- i am not sure why this grass interaction occurs, but i'm not going to remove it, Chesterton's Fence and all + self.grassInteraction = self:NumberValueExists("DisableGrassInteraction") and false or true; + + self.extraPar = nil; + self.damage = 0; +end + +function ThreadedUpdate(self) + self.ageRatio = 1 - self.Age/self.deleteDelay; + self:NotResting(); + --TODO: Use Throttle to combine multiple flames into one + self.Throttle = self.Throttle - TimerMan.DeltaTimeMS/self.Lifetime; + self.damage = 0; + + if self.target and IsMOSRotating(self.target) and self.target.ID ~= rte.NoMOID and (not self.target.ToDelete) and (self.teamAware == false or self.target.Team ~= self.Team) then + self.Vel = Vector(); + self.Pos = self.target.Pos + Vector(self.stickOffset.X, self.stickOffset.Y):RadRotate(self.target.RotAngle - self.targetStickAngle); + local actor = self.target:GetRootParent(); + if IsActor(actor) then + actor = ToActor(actor); + self.damage = math.max(self.target.DamageMultiplier * (self.Throttle + 1), 0.1)/((actor.Mass - actor.InventoryMass) * 0.25 + self.target.Material.StructuralIntegrity); + --Stop, drop and roll! + self.deleteDelay = self.deleteDelay - math.abs(actor.AngularVel); + self:RequestSyncedUpdate(); + end + else + self.target = nil; + if self.extraParticles then + local extraPar = CreateMOPixel("Plasma Flame Damage Particle"); + extraPar.Pos = self.Pos; + extraPar.Team = self.Team; + extraPar.IgnoresTeamHits = true; + extraPar.Vel = self.Vel + Vector(RangeRand(-20, 20), -math.random(-10, 30)); + self.extraPar = extraPar; + self:RequestSyncedUpdate(); + end + end + if self.Age > self.deleteDelay then + self.ToDelete = true; + end +end + +function SyncedUpdate(self) + if self.target and self.damage ~= 0 then + local actor = ToActor(self.target:GetRootParent()); + actor.Health = actor.Health - self.damage; + elseif self.extraPar then + MovableMan:AddParticle(self.extraPar); + end +end + +function OnCollideWithMO(self, mo, rootMO) + if self.target == nil then + --Stick to objects on collision + if not mo.ToDelete and IsMOSRotating(mo) and math.random() < self.ageRatio then + self.target = ToMOSRotating(mo); + self.targetStickAngle = mo.RotAngle; + local velOffset = self.PrevVel * rte.PxTravelledPerFrame * 0.5; + local dist = SceneMan:ShortestDistance(mo.Pos, self.Pos + velOffset, SceneMan.SceneWrapsX); + dist:SetMagnitude(math.max(dist.Magnitude - velOffset.Magnitude, 0)); + self.stickOffset = Vector(dist.X, dist.Y); + + self.deleteDelay = self.Lifetime; + else + self.deleteDelay = math.random(self.Age, self.Lifetime); + end + self.GlobalAccScalar = 0.9; + self.HitsMOs = false; + end +end + +function OnCollideWithTerrain(self, terrainID) + if self.grassInteraction and terrainID == rte.grassID then + local newFlame = CreatePEmitter("Plasma Ground Flame", "MuIlaak.rte"); + newFlame.Pos = self.Pos; + newFlame.Vel = self.Vel; + MovableMan:AddParticle(newFlame); + self.ToDelete = true; + elseif self.HitsMOs then + --Let the flames linger occasionally + if math.random() < self.flameLingerChance then + self.GlobalAccScalar = 0.9; + self.deleteDelay = math.random(self.Age, self.Lifetime); + end + self.HitsMOs = false; + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB000.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB000.png new file mode 100644 index 0000000000..49eebeaeb7 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB000.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB001.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB001.png new file mode 100644 index 0000000000..5791ecf61d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB001.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB002.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB002.png new file mode 100644 index 0000000000..f1d1accdeb Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB002.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB003.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB003.png new file mode 100644 index 0000000000..fb608ac43b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB003.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB004.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB004.png new file mode 100644 index 0000000000..c07fe7188a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB004.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB005.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB005.png new file mode 100644 index 0000000000..dd1f69b86c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB005.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB006.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB006.png new file mode 100644 index 0000000000..0fec8d249e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB006.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB007.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB007.png new file mode 100644 index 0000000000..358c5519db Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB007.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB008.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB008.png new file mode 100644 index 0000000000..4a83b882ac Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB008.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB009.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB009.png new file mode 100644 index 0000000000..9ab549d54c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB009.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB010.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB010.png new file mode 100644 index 0000000000..668640c10d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB010.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB011.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB011.png new file mode 100644 index 0000000000..aec949e2ec Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB011.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB012.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB012.png new file mode 100644 index 0000000000..3ab74c32b9 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB012.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB013.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB013.png new file mode 100644 index 0000000000..901072909e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB013.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB014.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB014.png new file mode 100644 index 0000000000..5573d39389 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB014.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB015.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB015.png new file mode 100644 index 0000000000..9c44b65ec9 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB015.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB016.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB016.png new file mode 100644 index 0000000000..db0a1ea757 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB016.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB017.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB017.png new file mode 100644 index 0000000000..06ff93c9d3 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB017.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB018.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB018.png new file mode 100644 index 0000000000..b5433d1d93 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB018.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame000.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame000.png new file mode 100644 index 0000000000..0bdf0e6e14 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame000.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame001.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame001.png new file mode 100644 index 0000000000..82ff041f04 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame001.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame002.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame002.png new file mode 100644 index 0000000000..a03ece97a1 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame002.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame003.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame003.png new file mode 100644 index 0000000000..ead4003242 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame003.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame004.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame004.png new file mode 100644 index 0000000000..47f27baa69 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame004.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame005.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame005.png new file mode 100644 index 0000000000..6c12f4d395 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame005.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame006.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame006.png new file mode 100644 index 0000000000..6c6a235efe Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame006.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame007.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame007.png new file mode 100644 index 0000000000..0ad3d1c6ff Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame007.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame008.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame008.png new file mode 100644 index 0000000000..e95d3c93c5 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame008.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame009.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame009.png new file mode 100644 index 0000000000..66df96627d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame009.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame010.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame010.png new file mode 100644 index 0000000000..350288bfff Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame010.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame011.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame011.png new file mode 100644 index 0000000000..bfd5898f54 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame011.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame012.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame012.png new file mode 100644 index 0000000000..889e2695e3 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame012.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame013.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame013.png new file mode 100644 index 0000000000..d39c1eccf0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame013.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame014.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame014.png new file mode 100644 index 0000000000..87eeaa29eb Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame014.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame015.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame015.png new file mode 100644 index 0000000000..4812ecc434 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame015.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame016.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame016.png new file mode 100644 index 0000000000..018310597b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame016.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame017.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame017.png new file mode 100644 index 0000000000..9eedf0b3ca Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame017.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame018.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame018.png new file mode 100644 index 0000000000..2d3605ccd5 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame018.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame019.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame019.png new file mode 100644 index 0000000000..a2d218e7f6 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame019.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame020.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame020.png new file mode 100644 index 0000000000..fc87feffff Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame020.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame021.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame021.png new file mode 100644 index 0000000000..85a39162d1 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame021.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame022.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame022.png new file mode 100644 index 0000000000..034f1084c9 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame022.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame023.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame023.png new file mode 100644 index 0000000000..0867941d36 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame023.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame024.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame024.png new file mode 100644 index 0000000000..7b89e41f92 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame024.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame025.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame025.png new file mode 100644 index 0000000000..bf006f9727 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame025.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame026.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame026.png new file mode 100644 index 0000000000..b8c11d8165 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame026.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame027.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame027.png new file mode 100644 index 0000000000..3e6fc6eaae Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame027.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame028.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame028.png new file mode 100644 index 0000000000..f1aa39c90b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame028.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame029.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame029.png new file mode 100644 index 0000000000..ffdf418bba Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame029.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame030.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame030.png new file mode 100644 index 0000000000..337005b532 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame030.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame031.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame031.png new file mode 100644 index 0000000000..bb0c40025d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame031.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame032.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame032.png new file mode 100644 index 0000000000..d400a31430 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame032.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame033.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame033.png new file mode 100644 index 0000000000..9a0db6bef0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame033.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame034.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame034.png new file mode 100644 index 0000000000..82e0778091 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame034.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame035.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame035.png new file mode 100644 index 0000000000..7a2f997e6f Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame035.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame036.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame036.png new file mode 100644 index 0000000000..9f6959c872 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame036.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame037.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame037.png new file mode 100644 index 0000000000..041fdcc788 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame037.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame038.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame038.png new file mode 100644 index 0000000000..7f1b0d3d67 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame038.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame039.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame039.png new file mode 100644 index 0000000000..a5bca0c65a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame039.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame040.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame040.png new file mode 100644 index 0000000000..5c5fa4e18b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame040.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame041.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame041.png new file mode 100644 index 0000000000..61284725af Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame041.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame042.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame042.png new file mode 100644 index 0000000000..2c61973065 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame042.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame043.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame043.png new file mode 100644 index 0000000000..f9c97304f1 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame043.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame044.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame044.png new file mode 100644 index 0000000000..8d7da2bb44 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame044.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame045.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame045.png new file mode 100644 index 0000000000..b64ca9a5e6 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame045.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame046.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame046.png new file mode 100644 index 0000000000..c5d49e4b0e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame046.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame047.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame047.png new file mode 100644 index 0000000000..dc1a4e0d90 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame047.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame048.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame048.png new file mode 100644 index 0000000000..af7ad982be Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame048.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame049.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame049.png new file mode 100644 index 0000000000..a7b0ba5b43 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame049.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame050.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame050.png new file mode 100644 index 0000000000..6fc0294a11 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame050.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame051.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame051.png new file mode 100644 index 0000000000..1f9072c56d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame051.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame052.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame052.png new file mode 100644 index 0000000000..8032e44491 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame052.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame053.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame053.png new file mode 100644 index 0000000000..bf03222ea3 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame053.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame054.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame054.png new file mode 100644 index 0000000000..f78aca7506 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame054.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame055.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame055.png new file mode 100644 index 0000000000..329e13aba8 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame055.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame056.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame056.png new file mode 100644 index 0000000000..dd56f84a2d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame056.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame057.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame057.png new file mode 100644 index 0000000000..62ec91d636 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame057.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame058.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame058.png new file mode 100644 index 0000000000..b7e542cd78 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame058.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame059.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame059.png new file mode 100644 index 0000000000..e8901598c3 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame059.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame060.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame060.png new file mode 100644 index 0000000000..564a649a5d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame060.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame061.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame061.png new file mode 100644 index 0000000000..8ee76f51e0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame061.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame062.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame062.png new file mode 100644 index 0000000000..0472efff8e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame062.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame063.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame063.png new file mode 100644 index 0000000000..02649b3376 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame063.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame064.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame064.png new file mode 100644 index 0000000000..f6fe44caef Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame064.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame065.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame065.png new file mode 100644 index 0000000000..b1093e7dbf Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame065.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame066.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame066.png new file mode 100644 index 0000000000..13d6340c33 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame066.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame067.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame067.png new file mode 100644 index 0000000000..4fdf12b3f6 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame067.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame068.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame068.png new file mode 100644 index 0000000000..1de27d7691 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame068.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame069.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame069.png new file mode 100644 index 0000000000..829243c2da Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame069.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame070.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame070.png new file mode 100644 index 0000000000..e30e48ad56 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame070.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame071.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame071.png new file mode 100644 index 0000000000..b0561ea6d8 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame071.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame072.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame072.png new file mode 100644 index 0000000000..3b5b6bed1c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame072.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame073.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame073.png new file mode 100644 index 0000000000..8dcc7bc301 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame073.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame074.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame074.png new file mode 100644 index 0000000000..bf6c8f4b6f Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame074.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame075.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame075.png new file mode 100644 index 0000000000..11fcaf30fc Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame075.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame076.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame076.png new file mode 100644 index 0000000000..3a4cbb1fbe Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame076.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame077.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame077.png new file mode 100644 index 0000000000..d9a85f362a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame077.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame078.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame078.png new file mode 100644 index 0000000000..31c9b481a2 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame078.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame079.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame079.png new file mode 100644 index 0000000000..17a43a4c22 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame079.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame080.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame080.png new file mode 100644 index 0000000000..b164d01cbb Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame080.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame081.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame081.png new file mode 100644 index 0000000000..777a95cca5 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame081.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame082.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame082.png new file mode 100644 index 0000000000..0d248eb14c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame082.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame083.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame083.png new file mode 100644 index 0000000000..d0a494c9b2 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame083.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame084.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame084.png new file mode 100644 index 0000000000..6fa805a10a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame084.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame085.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame085.png new file mode 100644 index 0000000000..3f15c4da2a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/FireItself/Flame085.png differ diff --git a/Data/MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png b/Data/MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png new file mode 100644 index 0000000000..5f5ecbd598 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Ammo/PlasmaMagazineGeneric.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Effects.ini b/Data/MuIlaak.rte/Shared/Effects/Effects.ini new file mode 100644 index 0000000000..595412ace5 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Effects/Effects.ini @@ -0,0 +1,478 @@ +////////////////////////////////////////////////////////////////////// +// Green Effects + +AddEffect = MOPixel + PresetName = Laak Jetpack Blast 1 + Mass = 1.25 + LifeTime = 50 + Sharpness = 0.3 + AirResistance = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 30 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + TrailColor = Color + R = 30 + G = 205 + B = 0 + TrailLength = 4 + + +AddEffect = MOPixel + PresetName = Laak Jetpack Blast 2 + Mass = 1.25 + LifeTime = 75 + Sharpness = 0.3 + AirResistance = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 30 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + TrailColor = Color + R = 30 + G = 205 + B = 0 + TrailLength = 3 + +AddEffect = Attachable + PresetName = Laak Flash Green + Mass = 0 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen.png + FrameCount = 4 + SpriteOffset = Vector + X = -2 + Y = -6 + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + JointStrength = 10000 + JointStiffness = 1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + DrawAfterParent = 1 + +AddEffect = Attachable + CopyOf = Laak Flash Green + PresetName = Laak Flash Green But With A Bigger Glow Lmao + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButBiggerLmao.png + +AddEffect = MOSParticle + CopyOf = Tiny Smoke Ball 1 + PresetName = Tiny Smoke Ball 1 Glow Green + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png + EffectStartStrength = 0.1 + EffectStopStrength = 0 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + +AddEffect = MOPixel + PresetName = Laak Green Glow + Mass = 0.1 + LifeTime = 100 + PinStrength = 1000 + HitsMOs = 0 + GetsHitByMOs = 0 + RestThreshold = -500 + Color = Color + R = 0 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +AddEffect = MOPixel + PresetName = Green Trace Effect Particle + Mass = 1 + Sharpness = 1 + GlobalAccScalar = 0 + AirResistance = 0.01 + AirThreshold = 0 + LifeTime = 500 + RestThreshold = -1 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 0 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png + EffectStartTime = 0 + EffectStopTime = 500 + EffectStartStrength = 3 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +AddEffect = MOPixel + CopyOf = Green Trace Effect Particle + PresetName = Green Trace Large Effect Particle + LifeTime = 800 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png + EffectStopTime = 300 + EffectStartStrength = 0.3 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = Green Trace Effect Particle + PresetName = Green Trace Front Effect Particle + LifeTime = 100 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + PresetName = Plasma Bolt Trail Glow + Mass = 0 + PinStrength = 10 + LifeTime = 140 + RestThreshold = -100 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 255 + G = 0 + B = 255 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmaller.png + EffectStartTime = 0 + EffectStopTime = 140 + EffectStartStrength = 0.2 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = Plasma Bolt Trail Glow + PresetName = Plasma Bolt Trail Glow 2 + LifeTime = 1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButDifferent.png + EffectStopTime = 40 + EffectStartStrength = 0.4 + EffectStopStrength = 0.4 + EffectAlwaysShows = 1 + +AddEffect = MOPixel + PresetName = Green Trace Effect Particle Big + Mass = 1 + Sharpness = 1 + GlobalAccScalar = 0 + AirResistance = 0.01 + AirThreshold = 0 + LifeTime = 500 + RestThreshold = -1 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 0 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStartTime = 0 + EffectStopTime = 500 + EffectStartStrength = 3 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +AddEffect = MOPixel + CopyOf = Green Trace Effect Particle + PresetName = Green Trace Front Effect Particle Big + LifeTime = 100 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +/////////////////////////////////////////////////////////////////////// +// Red Effects + +AddEffect = MOPixel + PresetName = Spark Red 1 + Mass = 0.001 + LifeTime = 75 + HitsMOs = 0 + GetsHitByMOs = 0 + AirResistance = 0.1 + AirThreshold = 3 + Color = Color + R = 96 + G = 19 + B = 32 + Atom = Atom + Material = Material + CopyOf = Air + TrailColor = Color + R = 96 + G = 19 + B = 32 + TrailLength = 8 + ScreenEffect = ContentFile + FilePath = Base.rte/Effects/Glows/FireGlowTiny.png + + +AddEffect = MOPixel + PresetName = Spark Red 2 + Mass = 0.001 + LifeTime = 120 + HitsMOs = 0 + GetsHitByMOs = 0 + AirResistance = 0.05 + AirThreshold = 4 + Color = Color + R = 54 + G = 6 + B = 19 + Atom = Atom + Material = Material + CopyOf = Air + TrailColor = Color + R = 54 + G = 6 + B = 19 + TrailLength = 5 + +AddEffect = MOSParticle + PresetName = Crystal Puff Small + Mass = 3 + GlobalAccScalar = -0.3 + AirResistance = 0.06 + AirThreshold = 2 + RestThreshold = -1 + LifeTime = 300 + Sharpness = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff.png + FrameCount = 7 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -8 + Y = -8 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + +AddEffect = MOPixel + PresetName = Crystal Fragment + Mass = 0.15 + LifeTime = 250 + Sharpness = 15 + AirResistance = 0.05 + WoundDamageMultiplier = 1.3 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 54 + G = 6 + B = 19 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 54 + G = 6 + B = 19 + TrailLength = 5 + +AddEffect = MOPixel + PresetName = Crystal Fragment Damage + Mass = 0.15 + LifeTime = 200 + Sharpness = 40 + AirResistance = 0.075 + WoundDamageMultiplier = 1.2 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 54 + G = 6 + B = 19 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 54 + G = 6 + B = 19 + TrailLength = 7 + +AddEffect = MOPixel + PresetName = Crystal Air Blast + Mass = 3 + RestThreshold = -1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png + LifeTime = 65 + Sharpness = 0 + GlobalAccScalar = 0 + AirResistance = 0.01 + AirThreshold = 1 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 54 + G = 6 + B = 19 + Atom = Atom + Material = Material + CopyOf = Air + TrailColor = Color + R = 54 + G = 6 + B = 19 + TrailLength = 2 + +AddEffect = MOSParticle + PresetName = Crystal Gib + Mass = 0.92 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib.png + FrameCount = 8 + SpriteAnimMode = 8 + SpriteOffset = Vector + X = -2 + Y = -2 + AngularVel = 6 + Atom = Atom + Material = Material + CopyOf = Civilian Stuff + TrailLength = 0 + AddToGroup = Gibs - Base Set + Buyable = 0 + GoldValue = 0 + +AddEffect = Attachable + PresetName = Laak Flash Red + Mass = 0 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed.png + FrameCount = 4 + SpriteOffset = Vector + X = -2 + Y = -6 + AtomGroup = AtomGroup + CopyOf = Null AtomGroup + JointStrength = 10000 + JointStiffness = 1 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedSmall.png + DrawAfterParent = 1 + +AddEffect = MOPixel + PresetName = Red Trace Effect Particle + Mass = 1 + Sharpness = 1 + GlobalAccScalar = 0 + AirResistance = 0.01 + AirThreshold = 1 + LifeTime = 500 + RestThreshold = -1 + HitsMOs = 0 + GetsHitByMOs = 0 + Color = Color + R = 0 + G = 205 + B = 0 + Atom = Atom + Material = Material + CopyOf = Air + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png + EffectStartTime = 0 + EffectStopTime = 500 + EffectStartStrength = 3 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = Red Trace Effect Particle + PresetName = Red Trace Large Effect Particle + LifeTime = 10 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png + EffectStopTime = 300 + EffectStartStrength = 0.01 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + + +AddEffect = MOPixel + CopyOf = Red Trace Effect Particle + PresetName = Red Trace Front Effect Particle + LifeTime = 25 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png + EffectStartTime = 0 + EffectStopTime = 100 + EffectStartStrength = 1 + EffectStopStrength = 0.0 + EffectAlwaysShows = 1 + +AddEffect = MOSParticle + CopyOf = Tiny Smoke Ball 1 + PresetName = Tiny Smoke Ball 1 Glow Red + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny.png + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Red/RedTiny.png + EffectStartStrength = 0.1 + EffectStopStrength = 0 + Atom = Atom + Material = Material + CopyOf = Air + TrailLength = 0 + +//please forgive me for the disarray in this file lmao + diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png new file mode 100644 index 0000000000..71be82b42c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenBig.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png new file mode 100644 index 0000000000..96bc40f545 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButBiggerLmao.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButBiggerLmao.png new file mode 100644 index 0000000000..ba30278a53 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButBiggerLmao.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButDifferent.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButDifferent.png new file mode 100644 index 0000000000..9f9bc76259 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmallButDifferent.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmaller.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmaller.png new file mode 100644 index 0000000000..f690b05922 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmaller.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png new file mode 100644 index 0000000000..1b113fa686 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenTiny.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png new file mode 100644 index 0000000000..0482a88f79 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Green/GreenVerySmall.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png new file mode 100644 index 0000000000..d0badd5f6d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedBig.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedSmall.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedSmall.png new file mode 100644 index 0000000000..6694fb3767 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedSmall.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedTiny.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedTiny.png new file mode 100644 index 0000000000..61180079e5 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedTiny.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png new file mode 100644 index 0000000000..9fd3d715cd Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Glows/Red/RedVerySmall.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen000.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen000.png new file mode 100644 index 0000000000..71619632b2 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen000.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen001.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen001.png new file mode 100644 index 0000000000..084087fc54 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen001.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen002.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen002.png new file mode 100644 index 0000000000..99e24e6c19 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen002.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen003.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen003.png new file mode 100644 index 0000000000..2f23f735a2 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Green/LaakFlashGreen003.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff000.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff000.png new file mode 100644 index 0000000000..ceabe39282 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff000.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff001.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff001.png new file mode 100644 index 0000000000..82a43abcff Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff001.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff002.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff002.png new file mode 100644 index 0000000000..84962e2f5c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff002.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff003.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff003.png new file mode 100644 index 0000000000..b58204b8fd Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff003.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff004.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff004.png new file mode 100644 index 0000000000..bf0e1ebbd9 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff004.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff005.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff005.png new file mode 100644 index 0000000000..17d6698b6b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff005.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff006.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff006.png new file mode 100644 index 0000000000..5d5604c093 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/CrystalPuff006.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed000.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed000.png new file mode 100644 index 0000000000..ab5e460beb Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed000.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed001.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed001.png new file mode 100644 index 0000000000..4152d42d80 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed001.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed002.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed002.png new file mode 100644 index 0000000000..9065619918 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed002.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed003.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed003.png new file mode 100644 index 0000000000..8357d6c008 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/LaakFlashRed003.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny000.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny000.png new file mode 100644 index 0000000000..733d3c380d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny000.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny001.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny001.png new file mode 100644 index 0000000000..58094010b2 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny001.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny002.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny002.png new file mode 100644 index 0000000000..a54aad810d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny002.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny003.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny003.png new file mode 100644 index 0000000000..14e2ebd68d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny003.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny004.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny004.png new file mode 100644 index 0000000000..1607064f8d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny004.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny005.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny005.png new file mode 100644 index 0000000000..83317309b5 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny005.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny006.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny006.png new file mode 100644 index 0000000000..e58e641737 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny006.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny007.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny007.png new file mode 100644 index 0000000000..f09554bd91 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny007.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny008.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny008.png new file mode 100644 index 0000000000..c273cbc823 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny008.png differ diff --git a/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny009.png b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny009.png new file mode 100644 index 0000000000..b786b4da94 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Effects/Pyro/Red/RedSmokeBallTiny009.png differ diff --git a/Data/MuIlaak.rte/Shared/Gear/Gear.ini b/Data/MuIlaak.rte/Shared/Gear/Gear.ini new file mode 100644 index 0000000000..917907b1fe --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gear/Gear.ini @@ -0,0 +1,4 @@ +/////////////////////////////////////////////////////////////////////// +// Gear + +IncludeFile = MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.ini diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.ini b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.ini new file mode 100644 index 0000000000..cff285e701 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.ini @@ -0,0 +1,189 @@ +AddEffect = MOSParticle + PresetName = Laak Alternative Flame Smoke + RestThreshold = -1 + Mass = 5.98 + GlobalAccScalar = -0.1 + AirResistance = 0.2 + AirThreshold = 3 + LifeTime = 1000 + Sharpness = 0.1 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB.png + FrameCount = 19 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -10 + Y = -10 + AngularVel = 60 + Atom = Atom + Material = Material + CopyOf = Air Blast + TrailLength = 0 + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + EffectStartTime = 0 + EffectStopTime = 300 + EffectStartStrength = 0.50 + EffectStopStrength = 0.0 + + +AddEffect = MOSParticle + CopyOf = Flame Smoke 1 + PresetName = Flame Smoke 2 Laak + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Ammo/PlasmaFlame/Sprites/Blast/FireBlastSmallB.png + Mass = 0.2 + HitsMOs = 1 + LifeTime = 400 + GlobalAccScalar = -0.25 + AirResistance = 0.03 + AirThreshold = 3 + +AddEffect = MOPixel + PresetName = Laak Jetpack Particle + Mass = 0.01 + GlobalAccScalar = -0.5 + AirResistance = 0.05 + RestThreshold = -1 + LifeTime = 75 + Sharpness = 175 + HitsMOs = 1 + GetsHitByMOs = 0 + Color = Color + R = 50 + G = 255 + B = 50 + Atom = Atom + Material = Material + CopyOf = Bullet Metal + TrailColor = Color + R = 75 + G = 225 + B = 35 + TrailLength = 2 + + +/////////////////////////////////////////////////////////////////////// +// Laak Jetpack + +AddEffect = AEJetpack + PresetName = Laak Jetpack + Description = This device is actually a living (like a plant), biomechanical being that constantly produces a green blood-like substance, which, when superheated, turns into plasma for thrust or projectiles. It is biologically immortal, and can survive aeons on trace amounts of sulfur and ammonia. Costs about 4 eurocents, accounting for inflation. + Mass = 1 + //GoldValue = 4 eurocents lmao + HitsMOs = 0 + GetsHitByMOs = 0 + JetpackType = Standard + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -10 + JointOffset = Vector + X = 0 + Y = 2 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 5 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 3 + Depth = 5 + DeepCheck = 0 + JointStrength = 10000 + JointStiffness = 1 + DrawAfterParent = 0 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Jetpack Blast 1 + LifeVariation = 0.20 + Spread = 0.2 + MaxVelocity = 23 + MinVelocity = 12 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Jetpack Particle + PresetName = Laak Jetpack Blast 1 + Mass = 1.25 + Sharpness = 1 + LifeVariation = 0.20 + Spread = 0.1 + MaxVelocity = 23 + MinVelocity = 12 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Flame Smoke 2 Laak + PresetName = Laak Jetpack Blast 2 + Mass = 1.3 + LifeTime = 133 + AirResistance = 0.1 + Sharpness = 0.1 + LifeVariation = 0.30 + Spread = 0.1 + MaxVelocity = 18 + MinVelocity = 9 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Laak Alternative Flame Smoke + PresetName = Laak Jetpack Blast 3 + Mass = 2 + LifeTime = 250 + AirResistance = 0.8 + Sharpness = 0.1 + StopTimeMS = 10 + LifeVariation = 0.30 + Spread = 0.1 + MaxVelocity = 18 + MinVelocity = 9 + PushesEmitter = 1 + SustainBurstSound = 1 + EmissionSound = SoundContainer + AttenuationStartDistance = 120 + AddSound = Base.rte/Sounds/Actors/JetpackLoop1.flac + LoopSetting = -1 // Means loop infinitely until stopped + Pitch = 1.1 + BurstSound = SoundContainer + AttenuationStartDistance = 50 // Severely annoying otherwise + AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack1.flac + AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack2.flac + AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack3.flac + Pitch = 1.5 + PitchVariation = 0.05 + EndSound = SoundContainer + AttenuationStartDistance = 110 + AddSound = Base.rte/Sounds/Actors/JetpackEnd1.flac + AddSound = Base.rte/Sounds/Actors/JetpackEnd2.flac + AddSound = Base.rte/Sounds/Actors/JetpackEnd3.flac + Pitch = 1.5 + PitchVariation = 0.05 + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + NegativeThrottleMultiplier = 0.7 + PositiveThrottleMultiplier = 1.3 + ParticlesPerMinute = 15000 + BurstSize = 7 + BurstSpacing = 180 + BurstScale = 3 + BurstTriggered = 1 + Flash = Attachable + CopyOf = Laak Flash Green + ScreenEffect = ContentFile + FilePath = MuIlaak.rte/Shared/Effects/Glows/Green/GreenSmall.png + FlashOnlyOnBurst = 0 + +AddEffect = AEJetpack + CopyOf = Laak Jetpack + PresetName = Laak Jetpack Brain + Description = Same shit as the previous one. The one used by the brain is just purple. + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpackBrain.png + FrameCount = 1 + diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.png b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.png new file mode 100644 index 0000000000..98adb764be Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpack.png differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpackBrain.png b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpackBrain.png new file mode 100644 index 0000000000..95e275d1cb Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/LaakJetpackBrain.png differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd1.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd1.mp3 new file mode 100644 index 0000000000..1be127d7c4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd1.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd2.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd2.mp3 new file mode 100644 index 0000000000..f5458d3b0a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd2.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd3.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd3.mp3 new file mode 100644 index 0000000000..83b9ba8f1c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackEnd3.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackLoop1.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackLoop1.mp3 new file mode 100644 index 0000000000..b7da945aaf Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackLoop1.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart1.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart1.mp3 new file mode 100644 index 0000000000..2af5e1727c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart1.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart2.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart2.mp3 new file mode 100644 index 0000000000..f7bdbabafe Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart2.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart3.mp3 b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart3.mp3 new file mode 100644 index 0000000000..10b74c2d1e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gear/LaakJetpack/Sounds/LaakJetpackStart3.mp3 differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib000.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib000.png new file mode 100644 index 0000000000..35946c5e99 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib000.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib001.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib001.png new file mode 100644 index 0000000000..522350809f Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib001.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib002.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib002.png new file mode 100644 index 0000000000..5546c6b189 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib002.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib003.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib003.png new file mode 100644 index 0000000000..6ae162e78a Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib003.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib004.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib004.png new file mode 100644 index 0000000000..a017c921b1 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib004.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib005.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib005.png new file mode 100644 index 0000000000..860fe077b0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib005.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib006.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib006.png new file mode 100644 index 0000000000..4a4b5bf637 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib006.png differ diff --git a/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib007.png b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib007.png new file mode 100644 index 0000000000..6cb54075c0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gibs/Crystal/CrystalGib007.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/Blood.ini b/Data/MuIlaak.rte/Shared/Gore/Blood/Blood.ini new file mode 100644 index 0000000000..7cf84deb86 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gore/Blood/Blood.ini @@ -0,0 +1,53 @@ +/////////////////////////////////////////////////////////////////////// +// Blood + +AddEffect = MOSParticle + PresetName = Laak Blood Spray Particle + RestThreshold = -1 + Mass = 0.1 + LifeTime = 300 + Sharpness = 0.1 + AirResistance = 0.02 + AirThreshold = 2 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff.png + FrameCount = 8 + SpriteAnimMode = 7 + SpriteOffset = Vector + X = -5 + Y = -5 + AngularVel = 60 + Atom = Atom + Material = Material + CopyOf = Water + TrailLength = 0 + +AddEffect = MOPixel + PresetName = Laak Drop Blood + Mass = 0.03 + AirResistance = 0.01 + Staininess = 0.5 + Color = Color + R = 66 + G = 2 + B = 4 + Atom = Atom + Material = Material + CopyOf = Military Stuff + TrailColor = Color + R = 66 + G = 2 + B = 4 + TrailLength = 3 + + +AddEffect = MOPixel + CopyOf = Laak Drop Blood + PresetName = Laak Viscera 1 + + +AddEffect = MOPixel + CopyOf = Laak Drop Blood + PresetName = Laak Viscera 2 diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff000.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff000.png new file mode 100644 index 0000000000..098b927bed Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff000.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff001.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff001.png new file mode 100644 index 0000000000..a762fa2b2f Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff001.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff002.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff002.png new file mode 100644 index 0000000000..b2807555c7 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff002.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff003.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff003.png new file mode 100644 index 0000000000..a5e1108e69 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff003.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff004.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff004.png new file mode 100644 index 0000000000..ee230a5ecf Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff004.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff005.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff005.png new file mode 100644 index 0000000000..275deb1664 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff005.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff006.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff006.png new file mode 100644 index 0000000000..e79474ca09 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff006.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff007.png b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff007.png new file mode 100644 index 0000000000..bedba105b0 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Blood/LaakBloodPuff007.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric1.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric1.png new file mode 100644 index 0000000000..0711b5671d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric1.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric10.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric10.png new file mode 100644 index 0000000000..0491cf8a5f Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric10.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric11.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric11.png new file mode 100644 index 0000000000..1444817634 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric11.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric12.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric12.png new file mode 100644 index 0000000000..7c80a7ee38 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric12.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric13.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric13.png new file mode 100644 index 0000000000..7650a09ad7 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric13.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric14.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric14.png new file mode 100644 index 0000000000..b4550261f4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric14.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric2.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric2.png new file mode 100644 index 0000000000..2770c9108e Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric2.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric3.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric3.png new file mode 100644 index 0000000000..367372e007 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric3.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric4.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric4.png new file mode 100644 index 0000000000..b9006ce73d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric4.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric5.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric5.png new file mode 100644 index 0000000000..ad41d8a81b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric5.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric6.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric6.png new file mode 100644 index 0000000000..ffb23a72c4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric6.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric7.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric7.png new file mode 100644 index 0000000000..758141024c Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric7.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric8.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric8.png new file mode 100644 index 0000000000..d3b96f3744 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric8.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric9.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric9.png new file mode 100644 index 0000000000..21a437907b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric9.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Gibs.ini b/Data/MuIlaak.rte/Shared/Gore/Gibs/Gibs.ini new file mode 100644 index 0000000000..2dda6ac3d8 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gore/Gibs/Gibs.ini @@ -0,0 +1,257 @@ +/////////////////////////////////////////////////////////////////////// +// Gibs + +AddEffect = MOSRotating + PresetName = Gib Laak Base + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + ScriptPath = Base.rte/Scripts/Shared/GibletSounds.lua + SpriteFile = ContentFile + FilePath = Base.rte/Null.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + AngularVel = 6 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 4 + Depth = 0 + DeepCheck = 0 + Buyable = 0 + GoldValue = 0 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 1 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric1.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 2 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric2.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 3 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric3.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 4 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric4.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 5 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric5.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 6 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric6.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 7 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric7.png + FrameCount = 1 + SpriteOffset = Vector + X = 0 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 8 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric8.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -1 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 9 + AngularVel = 3 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric9.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -2 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 10 + AngularVel = 2 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric10.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -4 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 11 + AngularVel = 3 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric11.png + FrameCount = 1 + SpriteOffset = Vector + X = -1 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 12 + AngularVel = 5 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric12.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = 4 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 13 + AngularVel = 2 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric13.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak 14 + AngularVel = 2 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Generic/GibLaakGeneric14.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak Brain + Description = Brains of the Mu-Ilaak are highly developed, being able to calculate the exact trajectory of any projectile under any conditions in a split-second. Yet, they manage to struggle with understanding the deep themes of classical human literature. + AngularVel = 4 + Mass = 2.5 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Head/LaakBrainGib.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak Temple + AngularVel = 1 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibTemple.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + +AddEffect = MOSRotating + CopyOf = Gib Laak Base + PresetName = Gib Laak Forehead + Description = At that point, nothing will help with a receding hairline. + AngularVel = 2 + Mass = 3 + HitsMOs = 1 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibForehead.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakBrainGib.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakBrainGib.png new file mode 100644 index 0000000000..037dfba345 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakBrainGib.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibForehead.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibForehead.png new file mode 100644 index 0000000000..2243d1b266 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibForehead.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibTemple.png b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibTemple.png new file mode 100644 index 0000000000..3e7a8a5cb4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Gibs/Head/LaakHeadGibTemple.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Gore.ini b/Data/MuIlaak.rte/Shared/Gore/Gore.ini new file mode 100644 index 0000000000..29c8afe11c --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gore/Gore.ini @@ -0,0 +1,6 @@ +/////////////////////////////////////////////////////////////////////// +// Gore + +IncludeFile = MuIlaak.rte/Shared/Gore/Blood/Blood.ini +IncludeFile = MuIlaak.rte/Shared/Gore/Wounds/Wounds.ini +IncludeFile = MuIlaak.rte/Shared/Gore/Gibs/Gibs.ini diff --git a/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundA.png b/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundA.png new file mode 100644 index 0000000000..d39c894bf8 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundA.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundB.png b/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundB.png new file mode 100644 index 0000000000..71fa50c2ac Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundB.png differ diff --git a/Data/MuIlaak.rte/Shared/Gore/Wounds/Wounds.ini b/Data/MuIlaak.rte/Shared/Gore/Wounds/Wounds.ini new file mode 100644 index 0000000000..e125b5a212 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Gore/Wounds/Wounds.ini @@ -0,0 +1,145 @@ +/////////////////////////////////////////////////////////////////////// +// Wounds + +AddEffect = AEmitter + PresetName = Laak Wound Flesh + Mass = 0.0001 + HitsMOs = 0 + GetsHitByMOs = 0 + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundA.png + BurstDamage = 0.5 + FrameCount = 1 + SpriteOffset = Vector + X = -2 + Y = -2 + AtomGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 2 + Depth = 5 + DeepGroup = AtomGroup + AutoGenerate = 1 + Material = Material + CopyOf = Military Stuff + Resolution = 3 + Depth = 5 + DeepCheck = 0 + JointStrength = 10000 + JointStiffness = 1 + DrawAfterParent = 1 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Drop Blood + Spread = 0.1 + MaxVelocity = 5 + MinVelocity = 1 + BurstSound = SoundContainer + CopyOf = Flesh Limb Impact // definitely intended to be replaced rather than used as-is + EmissionEnabled = 1 + EmissionsIgnoreThis = 1 + BurstTriggered = 1 + EmissionDamage = 0.05 + + +AddEffect = AEmitter + CopyOf = Laak Wound Flesh + PresetName = Laak Wound Flesh Entry + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Viscera 1 + Spread = 0.2 + MaxVelocity = 10 + MinVelocity = 0 + EmissionCountLimit = 40 + ParticlesPerMinute = 60 + BurstSize = 6 + BurstScale = 2 + BurstDamage = 0.7 + + +AddEffect = AEmitter + CopyOf = Laak Wound Flesh + PresetName = Laak Wound Flesh Exit + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Viscera 2 + Spread = 0.3 + MaxVelocity = 10 + MinVelocity = 0 + BurstSound = SoundContainer + CopyOf = Flesh Exit Sweetener + EmissionCountLimit = 80 + ParticlesPerMinute = 120 + BurstSize = 9 + BurstScale = 3 + BurstDamage = 0.7 + +AddEffect = AEmitter + CopyOf = Laak Wound Flesh + PresetName = Laak Wound Flesh Body + SpriteFile = ContentFile + FilePath = MuIlaak.rte/Shared/Gore/Wounds/LaakFleshWoundB.png + FrameCount = 1 + SpriteOffset = Vector + X = -3 + Y = -3 + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + ParticlesPerMinute = 60 + LifeVariation = 0.20 + Spread = 0.1 + MaxVelocity = 5 + MinVelocity = 2 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Viscera 1 + ParticlesPerMinute = 120 + Spread = 0.3 + MaxVelocity = 8 + MinVelocity = 2 + BurstSound = SoundContainer + CopyOf = Flesh Exit Sweetener + EmissionCountLimit = 480 + BurstSize = 9 + BurstScale = 3 + BurstDamage = 10 + EmissionDamage = 0.2 + +AddEffect = AEmitter + CopyOf = Laak Wound Flesh Entry + PresetName = Laak Wound Flesh Entry Deadly + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Drop Blood + ParticlesPerMinute = 30 + Spread = 0.1 + MaxVelocity = 8 + MinVelocity = 1 + EmissionCountLimit = 240 + BurstDamage = 2 + + +AddEffect = AEmitter + CopyOf = Laak Wound Flesh Exit + PresetName = Laak Wound Flesh Exit Deadly + AddEmission = Emission + EmittedParticle = MOSParticle + CopyOf = Laak Blood Spray Particle + ParticlesPerMinute = 0 + LifeVariation = 0.20 + BurstSize = 1 + Spread = 0 + MaxVelocity = 8 + MinVelocity = 1 + AddEmission = Emission + EmittedParticle = MOPixel + CopyOf = Laak Drop Blood + ParticlesPerMinute = 60 + Spread = 0.2 + MaxVelocity = 8 + MinVelocity = 1 + EmissionCountLimit = 480 + BurstDamage = 1 diff --git a/Data/MuIlaak.rte/Shared/Scripts/BigPlasmaTrail.lua b/Data/MuIlaak.rte/Shared/Scripts/BigPlasmaTrail.lua new file mode 100644 index 0000000000..cf8bf3748e --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/BigPlasmaTrail.lua @@ -0,0 +1,12 @@ +function Update(self) + local velNum = math.ceil(math.sqrt(self.Vel.Magnitude)); + for i = 1, velNum do + local trail = CreateMOPixel("Plasma Bolt Trail Glow"); + trail.Pos = self.Pos - Vector(self.Vel.X, self.Vel.Y):SetMagnitude(i); + MovableMan:AddParticle(trail); + end + + local glow = CreateMOPixel("Plasma Bolt Trail Glow 2"); + glow.Pos = self.Pos; + MovableMan:AddParticle(glow); +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Scripts/CrystalTrail.lua b/Data/MuIlaak.rte/Shared/Scripts/CrystalTrail.lua new file mode 100644 index 0000000000..8607c499b6 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/CrystalTrail.lua @@ -0,0 +1,35 @@ +function Create(self) + self.smokeTrailLifeTime = self:NumberValueExists("SmokeTrailLifeTime") and self:GetNumberValue("SmokeTrailLifeTime") or 150 + self.smokeTrailSize = self:NumberValueExists("SmokeTrailSize") and self:GetNumberValue("SmokeTrailSize") or 2.231 + self.smokeTrailRadius = self:NumberValueExists("SmokeTrailRadius") and self:GetNumberValue("SmokeTrailRadius") or ToMOSprite(self):GetSpriteHeight() * 15 - 5; + self.smokeTrailTwirl = self:NumberValueExists("SmokeTrailTwirl") and self:GetNumberValue("SmokeTrailTwirl") or 3; + + self.smokeAirThreshold = 1/(1 + self.smokeTrailLifeTime * 0.01); + self.smokeTwirlCounter = math.random() < 30 and math.pi or 0; +end + +function Update(self) + local offset = self.Vel * rte.PxTravelledPerFrame; --The effect will be created the next frame so move it one frame backwards towards the barrel + + local trailLength = math.floor(offset.Magnitude/self.smokeTrailSize - self.smokeTrailSize); + local setVel = Vector(self.Vel.X, self.Vel.Y):SetMagnitude(math.sqrt(self.Vel.Magnitude)); + for i = 1, trailLength do + local effect = CreateMOSParticle(("Tiny Smoke Ball 1 Glow Red"), "MuIlaak.rte"); + effect.Pos = self.Pos - (offset * i/trailLength) + Vector(RangeRand(5, 100), RangeRand(-1, 100)) * self.smokeTrailRadius; + effect.Vel = setVel * RangeRand(30, 30); + effect.Lifetime = math.max(self.smokeTrailLifeTime * RangeRand(0.4, 1) * (self.Lifetime > 1 and 1 - self.Age/self.Lifetime or 1000), 1); + effect.AirResistance = effect.AirResistance * RangeRand(0.8, 1); + effect.AirThreshold = self.smokeAirThreshold; + + if self.smokeTrailTwirl > 0 then + effect.GlobalAccScalar = effect.GlobalAccScalar * math.random(); + + effect.Pos = self.Pos - offset + (offset * i/trailLength); + effect.Vel = setVel + Vector(0, math.sin(self.smokeTwirlCounter) * self.smokeTrailTwirl + RangeRand(-0.5, 0.5)):RadRotate(self.Vel.AbsRadAngle); + + self.smokeTwirlCounter = self.smokeTwirlCounter + RangeRand(-1000, 10000); + end + + MovableMan:AddParticle(effect); + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Scripts/LaakRegen.lua b/Data/MuIlaak.rte/Shared/Scripts/LaakRegen.lua new file mode 100644 index 0000000000..56d8152375 --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/LaakRegen.lua @@ -0,0 +1,28 @@ +function Create(self) + self.healAmount = 1; + self.regenDelay = 250; + self.regenTimer = Timer(); + + self.lastWoundCount = self.WoundCount; +end + +function ThreadedUpdate(self) + if self.regenTimer:IsPastSimMS(self.regenDelay) then + self.regenTimer:Reset(); + if self.Health > 0 then + local damageRatio = (self.WoundCount - self.lastWoundCount)/self:GetGibWoundLimit(true, false, false) + (self.PrevHealth - self.Health)/self.MaxHealth; + if damageRatio > 0 then + self.regenDelay = self.regenDelay * (1 + damageRatio); + else + local healed = self:RemoveWounds(1); + if healed ~= 0 and self.Health < self.MaxHealth then + self:AddHealth(self.healAmount); + if self.Health > self.MaxHealth then + self.Health = self.MaxHealth; + end + end + end + end + self.lastWoundCount = self.WoundCount; + end +end diff --git a/Data/MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua b/Data/MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua new file mode 100644 index 0000000000..81b687cfff --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/MuzzleSparks.lua @@ -0,0 +1,29 @@ +function Create(self) + self.emitTimer = Timer(); +end + +function ThreadedUpdate(self) + if self.Magazine and self.Magazine.RoundCount > 0 then + if self.FiredFrame then + if self.emitTimer:IsPastSimMS(1) then + self.emitTimer:Reset(); + + self.sparkPar = CreateMOPixel("Hyperion Emission Particle 2"); + self.sparkPar.Pos = self.MuzzlePos; + self.sparkPar.Vel = self.Vel * 0.5 + Vector(math.random(5), 0):RadRotate(6.28 * math.random()); + self.sparkPar.Team = self.Team; + self.sparkPar.IgnoresTeamHits = true; + self.sparkPar.Lifetime = 100; + + self:RequestSyncedUpdate(); + end + end + end +end + +function SyncedUpdate(self) + if self.sparkPar then + MovableMan:AddParticle(self.sparkPar); + self.sparkPar = nil; + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Scripts/PlasmaBolt.lua b/Data/MuIlaak.rte/Shared/Scripts/PlasmaBolt.lua new file mode 100644 index 0000000000..4813b65b6f --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/PlasmaBolt.lua @@ -0,0 +1,62 @@ +function Create(self) + self.speed = 45; + self.TraceValue = 120 + + local raylength = 25; + local rayPixSpace = 15; + + local dots = math.floor(raylength/rayPixSpace); + + for i = 1, dots do + local checkPos = self.Pos + Vector(self.Vel.X, self.Vel.Y):SetMagnitude((i/dots) * raylength); + if SceneMan.SceneWrapsX == true then + if checkPos.X > SceneMan.SceneWidth then + checkPos = Vector(checkPos.X - SceneMan.SceneWidth, checkPos.Y); + elseif checkPos.X < 0 then + checkPos = Vector(SceneMan.SceneWidth + checkPos.X, checkPos.Y); + end + end + if SceneMan:GetTerrMatter(checkPos.X, checkPos.Y) == rte.airID then + local moCheck = SceneMan:GetMOIDPixel(checkPos.X, checkPos.Y); + if moCheck ~= rte.NoMOID then + local actor = MovableMan:GetMOFromID(MovableMan:GetMOFromID(moCheck).RootID); + if actor and actor.Team ~= self.Team then + self.target = actor; + break; + end + end + else + self.tPos = checkPos; + break; + end + if i == dots then + self.tPos = checkPos; + end + end + + self.moveTimer = Timer(); + self.lifeTimer = Timer(); + +end + +function Update(self) + + if self.target ~= nil and self.target.ID ~= rte.NoMOID then + self.tPos = Vector(self.target.Pos.X, self.target.Pos.Y); + useAdjust = self.targetingAdjustmentAmount; + self.seekerDelay = 0; + else + self.target = nil; + end + + if self.tPos ~= nil then + local checkDirB = SceneMan:ShortestDistance(self.Pos, self.tPos, SceneMan.SceneWrapsX); + local checkDir = checkDirB:SetMagnitude(self.TraceValue * (self.moveTimer.ElapsedSimTimeMS/1000)); + self.Vel = Vector(self.Vel.X + checkDir.X, self.Vel.Y + checkDir.Y):SetMagnitude(self.speed); + end + + if self.lifeTimer:IsPastSimMS(3000) then + self:GibThis(); + end + self.moveTimer:Reset(); +end diff --git a/Data/MuIlaak.rte/Shared/Scripts/RandomFrame.lua b/Data/MuIlaak.rte/Shared/Scripts/RandomFrame.lua new file mode 100644 index 0000000000..c4d91c1a3e --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Scripts/RandomFrame.lua @@ -0,0 +1,6 @@ +function Create(self) + if self.Randomized == nil then + self.Frame = math.random(0, self.FrameCount - 1); + self.Randomized = true; + end +end \ No newline at end of file diff --git a/Data/MuIlaak.rte/Shared/Shared.ini b/Data/MuIlaak.rte/Shared/Shared.ini new file mode 100644 index 0000000000..3ac4e2c1de --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Shared.ini @@ -0,0 +1,8 @@ +/////////////////////////////////////////////////////////////////////// +// Shared Assets + +IncludeFile = MuIlaak.rte/Shared/Effects/Effects.ini +IncludeFile = MuIlaak.rte/Shared/Gore/Gore.ini +IncludeFile = MuIlaak.rte/Shared/Sounds/Sounds.ini +IncludeFile = MuIlaak.rte/Shared/Ammo/Ammo.ini +IncludeFile = MuIlaak.rte/Shared/Gear/Gear.ini diff --git a/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac b/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac new file mode 100644 index 0000000000..1a3b28b173 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadEnd.flac differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac b/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac new file mode 100644 index 0000000000..aa704d029d Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Guns/GenericPlasmaReloadStart.flac differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain1.wav b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain1.wav new file mode 100644 index 0000000000..d5ef8ebcf8 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain1.wav differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain2.wav b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain2.wav new file mode 100644 index 0000000000..cace24daf4 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain2.wav differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain3.wav b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain3.wav new file mode 100644 index 0000000000..f7a53d8a35 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain3.wav differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain4.wav b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain4.wav new file mode 100644 index 0000000000..16db9d3882 Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain4.wav differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain5.wav b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain5.wav new file mode 100644 index 0000000000..7a6746541b Binary files /dev/null and b/Data/MuIlaak.rte/Shared/Sounds/Pain/LaakPain5.wav differ diff --git a/Data/MuIlaak.rte/Shared/Sounds/Sounds.ini b/Data/MuIlaak.rte/Shared/Sounds/Sounds.ini new file mode 100644 index 0000000000..2e07d86a2f --- /dev/null +++ b/Data/MuIlaak.rte/Shared/Sounds/Sounds.ini @@ -0,0 +1,17 @@ +/////////////////////////////////////////////////////////////////////// +// Sounds + +AddSoundContainer = SoundContainer + PresetName = Laak Pain + AttenuationStartDistance = 135 + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Pain/LaakPain1.wav + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Pain/LaakPain2.wav + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Pain/LaakPain3.wav + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Pain/LaakPain4.wav + AddSound = ContentFile + FilePath = MuIlaak.rte/Shared/Sounds/Pain/LaakPain5.wav +