Jump to content
Madin

Yuri's Revenge Boris airstrike (idea storm)

Recommended Posts

I have Boris from Yuri's revenge, and while I have his air-strike working, I am not happy with the results.

 

Currently I have it in a similar style to Yuri's revenge, the air-strike comes in from the edge of the map. This causes a number of visual issues, ie there is no easy way to have the structure that is the target stay tinted until the air-strike hits, also in a similar vain the Boris will have stopped pointing at a target depending on the size of type map, well before the air-strike hits.

 

I am looking to use a parabolic sweep style air-strike. This is featured in RA3 (for Natasha), and also is used in a few of the Shockwave team Rise of the Reds mod.

Obviously the parabolic sweep code was added for RA3, but I was thinking of using something similar to the animated sweep of the sonic air-wave in Kane's Wrath (the anti-air support power).

 

I want a couple of Migs to sweep in a drop a bomb on the target. Because the bombs will always take the same time to be delivered, it will solve the issues mentioned at the start. I am unsure how I will be able to show the bombs being dropped at the correct point in the sweep animation.

 

Has anyone had any experience on this kind of OCL power? or does anyone have anything they can add?

 

Current code:

          <Weapon Ordering="SECONDARY_WEAPON" Template="SovietCommandoCallBombingRun" />
<!--Boris call MIGs-->
      <OCLSpecialPower id="ModuleTag_MIGBombingRun" SpecialPowerTemplate="SpecialPowerMIGBombingRun" UpdateModuleStartsAttack="false" AvailableAtStart="true" OCL="OCL_SovietBorisMIGBombingRun" CreateLocation="CREATE_AT_EDGE_NEAR_SOURCE" DestinationOCL="OCL_SovietMIGBombingRunBeacon"></OCLSpecialPower>
  <ObjectCreationList id="OCL_SovietMIGBombingRunBeacon">
    <CreateObject Options="IGNORE_ALL_OBJECTS" Disposition="ON_GROUND_ALIGNED USE_WATER_SURFACE">
      <CreateObject>SovietMIGBombingRunBeacon</CreateObject>
    </CreateObject>
  </ObjectCreationList>
  <ObjectCreationList id="OCL_SovietBorisMIGBombingRun">
    <CreateObject Options="IGNORE_ALL_OBJECTS ISSUE_MOVE_AFTER_CREATION MOVE_USES_STRAFE_UPDATE MOVE_TARGET_USES_DISPOSITION_OFFSET DONT_SET_PRODUCER SPREAD_FORMATION" Disposition="SPAWN_AROUND" DispositionIntensity="200" DispositionAngle="72d" Count="2">
      <!-- same as the preferred height of the locomotor -->
      <Offset x="0" y="0" z="140" />
      <CreateObject>SovietMIG_BombingRun</CreateObject>
    </CreateObject>
  </ObjectCreationList>
<SpecialPowerTemplate id="SpecialPowerMIGBombingRun" TargetType="OBJECT" InitiateAtLocationSound="SovietMIG_VoiceAirStrikeInbound"></SpecialPowerTemplate>
  <SpecialPowerTemplate id="SpecialPowerHeroicMIGBombingRun" TargetType="OBJECT" InitiateAtLocationSound="SovietMIG_VoiceAirStrikeInbound"></SpecialPowerTemplate>
<WeaponTemplate id="SovietCommandoCallBombingRun" AttackRange="450.0" MinimumAttackRange="25" WeaponSpeed="999999.0" RadiusDamageAffects="ENEMIES" ClipSize="1" CanFireWhileMoving="false" ReAcquireDetailType="PER_CLIP" PreAttackType="PER_TARGET" AcceptableAimDelta="10d" AntiMask="ANTI_STRUCTURE" ForbiddenFiringObjectStatus="INSIDE_GARRISON">
    <PreAttackDelay MinSeconds="1.5s" MaxSeconds="1.5s" />
    <FiringDuration MinSeconds="5s" MaxSeconds="5s" />
    <ClipReloadTime MinSeconds="3s" MaxSeconds="3s" />
    <Nuggets>
      <ActivateLaserNugget Lifetime="4s" LaserId="1">
        <SpecialObjectFilter Rule="NONE" Include="STRUCTURE"></SpecialObjectFilter>
      </ActivateLaserNugget>
      <SpecialPowerNugget SpecialPowerTemplate="SpecialPowerMIGBombingRun">
        <SpecialObjectFilter Rule="NONE" Include="STRUCTURE"></SpecialObjectFilter>
      </SpecialPowerNugget>
    </Nuggets>
  </WeaponTemplate>

<StrafeAreaUpdate id="ModuleTag_StrafeAreaUpdate" WeaponName="MIGBombingRunBombWeapon" SweepFrequency="0.0" SweepAmplitude="0" DivingFloor="50" PreattackDistance="500" Radius="40" MinRadius="20" TargetJitterOffset="25" />
      <RunOffMapBehavior id="ModuleTag_RunOffMapBehavior" FlyingOffMap="true" RequiresSpecificTrigger="true" />
Edited by Madin

Share this post


Link to post

A few thoughts:

 

Target painting:

 

I am guessing you are using the tint object coding in the weapon coding and you are not content with that?

One thing you could do is use a atributemod nugget and give the targeted object a modelcondition, then overlay somesort of target cursor as mesh or decal by adding that mesh or decal into a seperate draw for each object that needs to be targetable. Or do a kindof stealthtank effect trick as overlay but with a duplicate object skin and a different shader etc etc.

(something i plan on doing for a few specialpowers of mine eventually...i talked about this in another topic once while using the Predator(the movies not the drones or tanks) triangle target from their plasma casters as example).

 

The actuall airstrike:

If you don't want to use the fly in mechanics, everything will come down to animation timing i guess.

 

You create one OCL that creates the visual swoop with the mig. Second ocl drops the bomb(s) and time the aniation and spawn time perfectly....partialy reuse the one of the clustermissile coding we where mentioning in another topic a while back..thinking the one more based on the single nuke coming down or such.....downside is that the bombs will have a rather static vertical drop....not as good looking.

 

Now something abit out of the box:

 

create a dummy unit that works like a combat drone, but give it a none movable loco or make it immobile. Within that unit create the swooping mig animation. The entry and exit points of the swoop curve are above the camera ceiling so you dont see it spawn. Give the mig a bone, make that bone(the mig itself) the launch bone of that dummy units weapon. you spawn that dummy unit with Yuri's laser painting weapon.

The experimental part: Give every unit that can be targeted by yuri a modelcondition it starts of with like USER_30(you can make it a emtpy model in another draw so it doest interfere with standard animations and effects in the standard draw) you can use that USER_30 condition in the weapon logic to prevent the weapon from targeting anything with USER_30... you then give Yuris weapon a atributemod nugget that removes that model condition, so only that unit becomes targetable...now your dummy can fire on the targeted unit and nothing else. the dumy when spawned will play the mig animation, the dummy will only fire at an object that has its USER_30 removed by the atribute nugget of yuris laserpointer weapon, it should fire the bone from launchbone/mig. if the whole things starts of without a targetable object within the dummies range the dummy will only swoop but wont fire anything even. making it act/look abit more lifelike like a real unit. single clipsize, no reload, life time of the dummy etc are something you need to play arround with also maybe a pre attack delay on the dummy weapon to time it with the correct angle of the mig and distance etc

 

hope that made any sense...

Edited by Ravendark

Share this post


Link to post

005X3nOQjw1ep6o6xk8vdj30zk0k0wux.jpg005X3q9sjw1ep6wwwt5iwj30eo061q4n.jpg

 

I've already tried to add the airestrike, but it still no way to cancel bombing on target when the fighters already appear.

Share this post


Link to post

nope, i scrapped that a long time ago....there where a few issues with it:

When i used the dummy to do the targeting i needed to use the PAC like slave/master setup....wish caused the A10's to go static after they killed a unit (basicly they looked for a DOCK bone that wasnt there and stopped working after that).

When the lifetime of the dummy expired the A10.s being its slaves exploded instantly. I didnt find a good way to make them disapear after a while that didnt look ****ty.

Share this post


Link to post

Thanks for the input, I will try some things!

It's easy to build a target_laser, but no matter OCL specialpower or spawn slave fighter, it seems no way to totally remake boris/natasha's airstrike ability.

 

If OCL like orcabombingrun, the problem is how to cancel the strike when you disaim the target before the fighter comes.

 

If spawn slave fighter like assaultplanetcarrier, the slave fighter always wonder around you, no matter how I build new model, no way to let them far and high enough out of vision on the map.

 

Maybe a possible way is double-deck spawn, build a carrier unit whose geometry height very high to out of map sight, and let it be Commando's spawn slave, and this slave carrier also has its own slave.

Share this post


Link to post

If OCL like orcabombingrun, the problem is how to cancel the strike when you disaim the target before the fighter comes.

I actually use a fake strafingweapon for my current A10 airstrike in its strafing module. My real weapons are a GAU like gun and missiles...in its current state the A10 attacks everything on its way towards the airstrike zone with those.

 

If you would implement a weapon filter to those weapons you could get the aircraft to fly in of map...and only fire at a specific target that doesnt have a verry specific modelcondtion or or object status. As i mentioned earlier above. If the target is no longer marked it will just fly off map when it reaches the target zone....might not be ideal looking but better then nothing. i guess.

Share this post


Link to post

I actually use a fake strafingweapon for my current A10 airstrike in its strafing module. My real weapons are a GAU like gun and missiles...in its current state the A10 attacks everything on its way towards the airstrike zone with those.

 

If you would implement a weapon filter to those weapons you could get the aircraft to fly in of map...and only fire at a specific target that doesnt have a verry specific modelcondtion or or object status. As i mentioned earlier above. If the target is no longer marked it will just fly off map when it reaches the target zone....might not be ideal looking but better then nothing. i guess.

You mean no matter aim or disaim, A-10 will fly towards to former target zone, if aiming at target, will play a firing animation and OCL_weapon from target zone.

Share this post


Link to post

You mean no matter aim or disaim, A-10 will fly towards to former target zone, if aiming at target, will play a firing animation and OCL_weapon from target zone.

More like:

 

the strafe module weapon is a dummy weapon...no effect no visuals. The A10 itself has weaponslots..turrets actually. 1 for its GUA minigun and 4 for missilelaunchers (i use 4 turrets with none overlapping angles to simulate the effect of the A10 being able to lock multiple targets at once in a crowded group of units-my a10 is primarely a anti vehicle/anti infantry only SP-)...its slot weapons will engange any unit it comes across while flying to and over and away from the airstrike target zone. if there arent any vehicles or infantry in its frontal cone angle(the angles of its turrets) it will just fly across the battlfield to its airstrike beacon then fly offmap without firing a shot.

 

what i meant was about that:

If you give every BaseVehicle.xml or BaseInfantry.xml a extra <draw> and you put a USER_20 or so modelcondition that you enable or disable through modelconditionevents and you give those a10 weapons the following:

 

ForbiddenTargetModelCondition="USER_20"

 

In the damagenugget you might be able to prevent that unit from being targeted by those weapons. This needs major testing tho as im not sure if it prevents targeting or just prevents the dmg effect at this point.

 

Then if you give the commando weapon a atribute modifier that removes a model condition then you can basicly mark only that target for a weapon lock on.

 

<xs:attribute name="ModelConditionsSet" type="xs:string" default="" /> set user_21 for the sake of adding a extra effect like new model or decal etc

<xs:attribute name="ModelConditionsClear" type="xs:string" default="" /> remove user_20

Share this post


Link to post

GUA minigun

*cough* GAU autocannon *cough*

 

GAU-8 Avenger to be exact. Miniguns are specifically 7.62mm six-barreled Gatling guns, or more generically, any Gatling gun chambered for rifle rounds ("mini" compared to bigger weapons, "gun" as opposed to 20mm+ cannon). GAU-8 Avengers are 30mm seven-barreled autocannons.

 

That is all, I will now let myself out. :)

Share this post


Link to post

*cough* GAU autocannon *cough*

 

GAU-8 Avenger to be exact. Miniguns are specifically 7.62mm six-barreled Gatling guns, or more generically, any Gatling gun chambered for rifle rounds ("mini" compared to bigger weapons, "gun" as opposed to 20mm+ cannon). GAU-8 Avengers are 30mm seven-barreled autocannons.

 

That is all, I will now let myself out. :)

Ye my brother would've berade me over that faux pas aswell.

 

Atleast i got the sound more or less right in my mod :

 

go to 0.48sec in the vid, the rest is some fooling arround with basebuilding and stuff.

 

You can also see what i meant with regards to my weapon setup

Share this post


Link to post

Atleast i got the sound more or less right in my mod...............

now that is nice! :)

Share this post


Link to post

 

Well, how to remove modelcondition? In AssetTypeWeaponTemplate.xsd there's only RemoveParalyzeType. I recall last time when I add new HalfTrackDraw it caused crash.

Edited by ztz2019

Share this post


Link to post

in the weapon

 

 

<AttributeModifierNugget
                PartitionFilterTestType="CIRCLE"
                AttributeModifierName="AttributeModifier_laserpainter"
                Radius="1"
                >
 

the atribute mod:

 

 

<AttributeModifier
        id="AttributeModifier_Laserpainter"
        Category="NONE"
        Duration="2s"
        ModelConditionsSet="USER_21"           <- i would use this to add a effect like a targeting decal or maybe a mesh overlay or so
        ModelConditionsClear="USER_20"         <- this removes the mod condition for the time duration above, not sure if it re aplies the mod condition after tho needs testing
        ObjectStatusToSet=""
        StackingLimit="0"
        >
    </AttributeModifier>
 

Share this post


Link to post

How you made the decal to circle around in your mod?

Share this post


Link to post

How you made the decal to circle around in your mod?

 

<RadiusCursor
            Id="TargetingDecalOSR_A10">
            <DecalTemplate
                Texture="Portrait_TargetingDecalOSR_A10"
                Style="ALPHA_DECAL"
                OpacityMin="30"
                OpacityMax="60"
                RotationsPerMinute="10" <--------
                OpacityThrobTime="1000"
                OnlyVisibleToOwningPlayer="true">
                <Color R="255" G="255" B="255" A="255" />
            </DecalTemplate>
        </RadiusCursor>
 

Share this post


Link to post

Thanks, it so going to fit to Dill SP ability from TT xD

Edited by Egozi44

Share this post


Link to post


The laser itself doesn't seem to work with that method tho.

http://pastebin.com/MbteBuE8

The deathtype is probably suicided. So you can add an animation, or OCL, which shows it flying off instead of crashing. Also might want to remove the EVA unit lost. Edited by Lauren

Share this post


Link to post

The laser itself doesn't seem to work with that method tho.

 

http://pastebin.com/MbteBuE8

 

The deathtype is probably suicided. So you can add an animation, or OCL, which shows it flying off instead of crashing. Also might want to remove the EVA unit lost.

Sweet. Didnt know how that oclmonitor could work like that.

 

As for the laser, you could try to use a weaponfirefx instead of a laserdraw/module....think the lightningbolt that apears with the mammoth railguns or the scrin lightningspike, its created through the weaponfirefx instead of a draw or module.

 

i used that method once for a laser lock SAM i tested....the firefx draws the laser from firefxbone to the target. worked pretty well.

Share this post


Link to post

The laser itself doesn't seem to work with that method tho.

 

http://pastebin.com/MbteBuE8

 

The deathtype is probably suicided. So you can add an animation, or OCL, which shows it flying off instead of crashing. Also might want to remove the EVA unit lost.

I find only primary and ID=1 the target's color is available.

 

Anyway, when I pointing at the target, the targeting laser is always up and down, how to let it stable?

Share this post


Link to post

For it not to acquire a new target contact point each shot try setting PreferredTargetBone to a specific bone name and give every targetable object a bone with that name. You could use roottransform, but this might cause it to point down too much.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×