From 2bff231df920ba4b8f916a2fdd1ee7be4968e7c1 Mon Sep 17 00:00:00 2001 From: dnqbob Date: Thu, 12 Oct 2023 17:53:07 +0800 Subject: [PATCH] Add SpawnHuskEffectOnDeath and ProjectileHusk 1. this is to solve the bug that when actor aircraft husk spawn at ground level can never die 2. aircraft husk now has inertia of the dead aircraft, more reasonable 3. aircraft use projectile will save us some PERF on both CPU and RAM. --- OpenRA.Mods.Sp/Projectiles/ProjetcileHusk.cs | 243 +++++++ .../Traits/SpawnHuskEffectOnDeath.cs | 139 ++++ mods/sp/bits/gdi/infantry/jumpjet1.shp | Bin 0 -> 269078 bytes mods/sp/mod.yaml | 1 - mods/sp/rules/aircraft.yaml | 107 ++-- mods/sp/rules/campaignstuff.yaml | 24 +- mods/sp/rules/husks.yaml | 571 ----------------- mods/sp/rules/infantry.yaml | 16 +- mods/sp/rules/sharedrules.yaml | 36 +- mods/sp/sequences/gdiseq.yaml | 4 +- mods/sp/sequences/scrseq.yaml | 9 - mods/sp/weapons/explosionweapons.yaml | 603 +++++++++++++----- 12 files changed, 935 insertions(+), 818 deletions(-) create mode 100644 OpenRA.Mods.Sp/Projectiles/ProjetcileHusk.cs create mode 100644 OpenRA.Mods.Sp/Traits/SpawnHuskEffectOnDeath.cs create mode 100644 mods/sp/bits/gdi/infantry/jumpjet1.shp delete mode 100644 mods/sp/rules/husks.yaml diff --git a/OpenRA.Mods.Sp/Projectiles/ProjetcileHusk.cs b/OpenRA.Mods.Sp/Projectiles/ProjetcileHusk.cs new file mode 100644 index 000000000..d8015ffc0 --- /dev/null +++ b/OpenRA.Mods.Sp/Projectiles/ProjetcileHusk.cs @@ -0,0 +1,243 @@ +#region Copyright & License Information +/* + * Copyright (c) The OpenRA Developers and Contributors + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System; +using System.Collections.Generic; +using OpenRA.GameRules; +using OpenRA.Graphics; +using OpenRA.Mods.Common.Effects; +using OpenRA.Mods.SP.Traits; +using OpenRA.Primitives; +using OpenRA.Traits; +using Util = OpenRA.Mods.Common.Util; + +namespace OpenRA.Mods.SP.Projectiles +{ + [Desc("Projectile with customisable acceleration vector, recieve dead actor speed by using range modifier, used as aircraft husk.")] + public class ProjetcileHuskInfo : IProjectileInfo + { + public readonly string Image = null; + + [SequenceReference(nameof(Image), allowNullImage: true)] + [Desc("Loop a randomly chosen sequence of Image from this list while falling.")] + public readonly string[] Sequences = { "idle" }; + + [PaletteReference] + [Desc("The palette used to draw this projectile.")] + public readonly string Palette = "effect"; + + [Desc("Palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + + [Desc("Does this projectile have a shadow?")] + public readonly bool Shadow = false; + + [Desc("Color to draw shadow if Shadow is true.")] + public readonly Color ShadowColor = Color.FromArgb(140, 0, 0, 0); + + [Desc("Projectile movement vector per tick (forward, right, up), use negative values for opposite directions.")] + public readonly WVec Velocity = WVec.Zero; + + [Desc("Value added to Velocity every tick when spin is activated.")] + public readonly WVec AccelerationWhenSpin = new(0, 0, -10); + + [Desc("Value added to Velocity every tickwhen spin is NOT activated.")] + public readonly WVec Acceleration = new(0, 0, -10); + + [Desc("The X of the speed becomes dead actor speed by using range modifier, coop with " + nameof(SpawnHuskEffectOnDeath) + ".")] + public readonly bool UseRangeModifierAsVelocityX = true; + + [Desc("Chance of Spin. Activate Spin.")] + public readonly int SpinChance = 100; + + [Desc("Limit the maximum spin (in angle units per tick) that can be achieved.", + "0 Disables spinning.")] + public readonly int MaximumSpinSpeed = 0; + + [Desc("Spin acceleration.")] + public readonly int SpinAcc = 0; + + [Desc("begin spin speed.")] + public readonly int Spin = 0; + + [Desc("Revert the Y of the speed, spin and horizongtal acceleration at 50% randomness.")] + public readonly bool HorizontalRevert = false; + + [Desc("Trail animation.")] + public readonly string TrailImage = null; + + [SequenceReference(nameof(TrailImage), allowNullImage: true)] + [Desc("Loop a randomly chosen sequence of TrailImage from this list while this projectile is moving.")] + public readonly string[] TrailSequences = { "idle" }; + + [Desc("Interval in ticks between each spawned Trail animation.")] + public readonly int TrailInterval = 2; + + [Desc("Delay in ticks until trail animation is spawned.")] + public readonly int TrailDelay = 0; + + [PaletteReference(nameof(TrailUsePlayerPalette))] + [Desc("Palette used to render the trail sequence.")] + public readonly string TrailPalette = "effect"; + + [Desc("Use the Player Palette to render the trail sequence.")] + public readonly bool TrailUsePlayerPalette = false; + + public IProjectile Create(ProjectileArgs args) { return new ProjetcileHusk(this, args); } + } + + public class ProjetcileHusk : IProjectile, ISync + { + readonly ProjetcileHuskInfo info; + readonly Animation anim; + readonly ProjectileArgs args; + readonly string trailPalette; + + readonly float3 shadowColor; + readonly float shadowAlpha; + readonly int spinAcc; + readonly int maxSpin; + + WVec velocity; + WVec acceleration; + WAngle facing; + int spin; + + [Sync] + WPos pos, lastPos; + int smokeTicks; + + public ProjetcileHusk(ProjetcileHuskInfo info, ProjectileArgs args) + { + this.info = info; + this.args = args; + pos = args.Source; + facing = args.Facing; + var world = args.SourceActor.World; + + var vx = info.UseRangeModifierAsVelocityX && args.RangeModifiers.Length > 0 ? args.RangeModifiers[0] : info.Velocity.X; + + if (info.HorizontalRevert && world.SharedRandom.Next(2) == 0) + { + velocity = new WVec(-info.Velocity.Y, -vx, info.Velocity.Z); + if (info.MaximumSpinSpeed > 0 && world.SharedRandom.Next(1, 101) <= info.SpinChance) + { + acceleration = new WVec(-info.AccelerationWhenSpin.Y, info.AccelerationWhenSpin.X, info.AccelerationWhenSpin.Z); + spin = -info.Spin; + spinAcc = -info.SpinAcc; + maxSpin = -info.MaximumSpinSpeed; + } + else + acceleration = new WVec(-info.Acceleration.Y, info.Acceleration.X, info.Acceleration.Z); + } + else + { + velocity = new WVec(info.Velocity.Y, -vx, info.Velocity.Z); + if (info.MaximumSpinSpeed > 0 && world.SharedRandom.Next(1, 101) <= info.SpinChance) + { + acceleration = new WVec(info.AccelerationWhenSpin.Y, -info.AccelerationWhenSpin.X, info.AccelerationWhenSpin.Z); + spin = info.Spin; + spinAcc = info.SpinAcc; + maxSpin = info.MaximumSpinSpeed; + } + else + acceleration = new WVec(info.Acceleration.Y, -info.Acceleration.X, info.Acceleration.Z); + } + + velocity = velocity.Rotate(WRot.FromYaw(facing)); + acceleration = acceleration.Rotate(WRot.FromYaw(facing)); + + if (!string.IsNullOrEmpty(info.Image)) + { + anim = new Animation(args.SourceActor.World, info.Image, GetEffectiveFacing); + anim.PlayRepeating(info.Sequences.Random(args.SourceActor.World.SharedRandom)); + } + + shadowColor = new float3(info.ShadowColor.R, info.ShadowColor.G, info.ShadowColor.B) / 255f; + shadowAlpha = info.ShadowColor.A / 255f; + + trailPalette = info.TrailPalette; + if (info.TrailUsePlayerPalette) + trailPalette += args.SourceActor.Owner.InternalName; + smokeTicks = info.TrailDelay; + } + + public void Tick(World world) + { + lastPos = pos; + pos += velocity; + var spinAngle = new WAngle(spin); + facing += spinAngle; + acceleration = acceleration.Rotate(WRot.FromYaw(spinAngle)); + velocity += acceleration; + + spin = Math.Abs(spin) < Math.Abs(maxSpin) ? spin + spinAcc : maxSpin; + + if (pos.Z <= args.PassiveTarget.Z) + { + pos += new WVec(0, 0, args.PassiveTarget.Z - pos.Z); + world.AddFrameEndTask(w => w.Remove(this)); + + var warheadArgs = new WarheadArgs(args) + { + ImpactOrientation = new WRot(WAngle.Zero, Util.GetVerticalAngle(lastPos, pos), args.Facing), + ImpactPosition = pos, + }; + + args.Weapon.Impact(Target.FromPos(pos), warheadArgs); + } + + if (!string.IsNullOrEmpty(info.TrailImage) && --smokeTicks < 0) + { + world.AddFrameEndTask(w => w.Add(new SpriteEffect(pos, GetEffectiveFacing(), w, + info.TrailImage, info.TrailSequences.Random(world.SharedRandom), trailPalette))); + + smokeTicks = info.TrailInterval; + } + + anim?.Tick(); + } + + WAngle GetEffectiveFacing() + { + return facing; + } + + public IEnumerable Render(WorldRenderer wr) + { + if (anim == null) + yield break; + + var world = args.SourceActor.World; + if (!world.FogObscures(pos)) + { + var paletteName = info.Palette; + if (paletteName != null && info.IsPlayerPalette) + paletteName += args.SourceActor.Owner.InternalName; + + var palette = wr.Palette(paletteName); + + if (info.Shadow) + { + var dat = world.Map.DistanceAboveTerrain(pos); + var shadowPos = pos - new WVec(0, 0, dat.Length); + foreach (var r in anim.Render(shadowPos, palette)) + yield return ((IModifyableRenderable)r) + .WithTint(shadowColor, ((IModifyableRenderable)r).TintModifiers | TintModifiers.ReplaceColor) + .WithAlpha(shadowAlpha); + } + + foreach (var r in anim.Render(pos, palette)) + yield return r; + } + } + } +} diff --git a/OpenRA.Mods.Sp/Traits/SpawnHuskEffectOnDeath.cs b/OpenRA.Mods.Sp/Traits/SpawnHuskEffectOnDeath.cs new file mode 100644 index 000000000..02368e90a --- /dev/null +++ b/OpenRA.Mods.Sp/Traits/SpawnHuskEffectOnDeath.cs @@ -0,0 +1,139 @@ +#region Copyright & License Information +/* + * Copyright (c) The OpenRA Developers and Contributors + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System; +using System.Linq; +using OpenRA.GameRules; +using OpenRA.Mods.Common.Activities; +using OpenRA.Mods.Common.Traits; +using OpenRA.Primitives; +using OpenRA.Traits; + +namespace OpenRA.Mods.SP.Traits +{ + [Desc("Spawn projectile as husk upon death.")] + public class SpawnHuskEffectOnDeathInfo : ConditionalTraitInfo, IRulesetLoaded + { + [WeaponReference] + [FieldLoader.Require] + [Desc("Weapon to spawn on death as husk.")] + public readonly string Weapon = null; + + [Desc("DeathType(s) that trigger the effect. Leave empty to always trigger an effect.")] + public readonly BitSet DeathTypes = default; + + [Desc("Offset to fire husk weapon from on death.")] + public readonly WVec LocalOffset = WVec.Zero; + + [Desc("Give random facing instead of actor facing to husk weapon.")] + public readonly bool RandomFacing = false; + + [Desc("Offset to fire husk weapon to on death.")] + public readonly WVec TargetOffset = new(200, 0, 0); + + [Desc("Always target ground level when fire at TargetOffset.")] + public readonly bool ForceToGround = true; + + [Desc("Pass current actor speed as RangeModifier to husk weapon.", + "Only supports aircraft for now.")] + public readonly bool UnitSpeedAsRangeModifier = true; + + public WeaponInfo WeaponInfo { get; private set; } + + public override void RulesetLoaded(Ruleset rules, ActorInfo ai) + { + if (string.IsNullOrEmpty(Weapon)) + return; + + var weaponToLower = Weapon.ToLowerInvariant(); + if (!rules.Weapons.TryGetValue(weaponToLower, out var weapon)) + throw new YamlException($"Weapons Ruleset does not contain an entry '{weaponToLower}'"); + + WeaponInfo = weapon; + + base.RulesetLoaded(rules, ai); + } + + public override object Create(ActorInitializer init) { return new SpawnHuskEffectOnDeath(this); } + } + + public class SpawnHuskEffectOnDeath : ConditionalTrait, INotifyKilled + { + public SpawnHuskEffectOnDeath(SpawnHuskEffectOnDeathInfo info) + : base(info) { } + + void INotifyKilled.Killed(Actor self, AttackInfo e) + { + if (IsTraitDisabled || (!Info.DeathTypes.IsEmpty && !e.Damage.DamageTypes.Overlaps(Info.DeathTypes))) + return; + + var weapon = Info.WeaponInfo; + var body = self.TraitOrDefault(); + var facing = Info.RandomFacing ? new WAngle(self.World.SharedRandom.Next(1024)) : self.TraitOrDefault()?.Facing; + if (!facing.HasValue) facing = WAngle.Zero; + + var epicenter = self.CenterPosition + (body != null + ? body.LocalToWorld(Info.LocalOffset.Rotate(body.QuantizeOrientation(self.Orientation))) + : Info.LocalOffset); + var world = self.World; + + var map = world.Map; + var targetpos = epicenter + body.LocalToWorld(new WVec(Info.TargetOffset.Length, 0, 0).Rotate(body.QuantizeOrientation(self.Orientation))); + var target = Target.FromPos(new WPos(targetpos.X, targetpos.Y, Info.ForceToGround ? map.CenterOfCell(map.CellContaining(targetpos)).Z : targetpos.Z)); + + var rangeModifiers = Array.Empty(); + if (Info.UnitSpeedAsRangeModifier) + { + var aircraft = self.TraitOrDefault(); + if (aircraft != null && !self.IsIdle) + { + if (self.CurrentActivity is FlyIdle) + rangeModifiers = new int[1] { aircraft.Info.CanHover ? 0 : aircraft.IdleMovementSpeed }; + else if (self.CurrentActivity.ActivitiesImplementing().Any()) + rangeModifiers = new int[1] { aircraft.MovementSpeed }; + } + else + rangeModifiers = new int[1] { 0 }; + } + + var projectileArgs = new ProjectileArgs + { + Weapon = weapon, + Facing = facing.Value, + CurrentMuzzleFacing = () => facing.Value, + + DamageModifiers = Array.Empty(), + + InaccuracyModifiers = Array.Empty(), + + RangeModifiers = rangeModifiers, + Source = epicenter, + CurrentSource = () => epicenter, + SourceActor = self, + GuidedTarget = target, + PassiveTarget = target.CenterPosition + }; + + if (projectileArgs.Weapon.Projectile != null) + { + var projectile = projectileArgs.Weapon.Projectile.Create(projectileArgs); + if (projectile != null) + world.AddFrameEndTask(w => w.Add(projectile)); + } + + if (weapon.Report != null && weapon.Report.Any()) + { + if (weapon.AudibleThroughFog || (!self.World.ShroudObscures(epicenter) && !self.World.FogObscures(epicenter))) + Game.Sound.Play(SoundType.World, weapon.Report, world, epicenter, null, weapon.SoundVolume); + } + } + } +} diff --git a/mods/sp/bits/gdi/infantry/jumpjet1.shp b/mods/sp/bits/gdi/infantry/jumpjet1.shp new file mode 100644 index 0000000000000000000000000000000000000000..0f8048bb9127e60452bed89a7430fe9abac5e41c GIT binary patch literal 269078 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