New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added missile launch overlays for Dune 2000, Tiberian Sun and Tiberian Dawn #13874

Merged
merged 7 commits into from Sep 2, 2017

Conversation

Projects
None yet
4 participants
@Mailaender
Member

Mailaender commented Aug 20, 2017

Closes #12537.

@Mailaender Mailaender changed the title from Added missile launch overlay for Dune 2000 and Tiberian Sun to Added missile launchs overlay for Dune 2000 and Tiberian Sun Aug 20, 2017

@Mailaender Mailaender changed the title from Added missile launchs overlay for Dune 2000 and Tiberian Sun to Added missile launch overlays for Dune 2000 and Tiberian Sun Aug 20, 2017

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Aug 22, 2017

Contributor

In the original game, if the palace is damaged the animation is skipped, so the rocket appears after the delay in the middle of the air. This isn't the case in this PR right now and the overlay looks quite off if the structure is damged. I would prefer the original solution (maybe the rocket could start further below, so that it won't pop in the middle of nowhere) but I don't know how complex it is to have two launch animations depending on the health.

Contributor

ltem commented Aug 22, 2017

In the original game, if the palace is damaged the animation is skipped, so the rocket appears after the delay in the middle of the air. This isn't the case in this PR right now and the overlay looks quite off if the structure is damged. I would prefer the original solution (maybe the rocket could start further below, so that it won't pop in the middle of nowhere) but I don't know how complex it is to have two launch animations depending on the health.

@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender

Mailaender Aug 22, 2017

Member

I don't know how complex it is to have two launch animations depending on the health.

Should be doable with GrantConditionOnDamageState.

Member

Mailaender commented Aug 22, 2017

I don't know how complex it is to have two launch animations depending on the health.

Should be doable with GrantConditionOnDamageState.

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Aug 26, 2017

Contributor

@Mailaender yep, it works.

The code is below and I changed the MissileDelay: to 19 because I think it fits better.

	NukePower:
		Cursor: nuke
		Icon: deathhand
		PauseOnCondition: disabled
		Prerequisites: ~techlevel.superweapons, ~palace.nuke
		ChargeTime: 300
		Description: Death Hand
		LongDesc: Launches an atomic missile at a target location
		BeginChargeSpeechNotification: DeathHandMissilePrepping
		EndChargeSpeechNotification: DeathHandMissileReady
		MissileLaunchDetected: MissileLaunchDetected
		MissileWeapon: atomic
		MissileDelay: 19
		SpawnOffset: -512,1c171,0
		DisplayBeacon: True
		DisplayRadarPing: True
		CameraRange: 10c0
		ActivationSequence:
		ArrowSequence: arrow
		CircleSequence: circles
	WithNukeLaunchOverlay:
		RequiresCondition: !launchpad-damaged
	GrantConditionOnDamageState@LAUNCHPADDAMAGED:
		Condition: launchpad-damaged
		ValidDamageState: Medium, Heavy, Critical

Proof that the animation is skipped in D2K:

launchanimationskipped
Contributor

ltem commented Aug 26, 2017

@Mailaender yep, it works.

The code is below and I changed the MissileDelay: to 19 because I think it fits better.

	NukePower:
		Cursor: nuke
		Icon: deathhand
		PauseOnCondition: disabled
		Prerequisites: ~techlevel.superweapons, ~palace.nuke
		ChargeTime: 300
		Description: Death Hand
		LongDesc: Launches an atomic missile at a target location
		BeginChargeSpeechNotification: DeathHandMissilePrepping
		EndChargeSpeechNotification: DeathHandMissileReady
		MissileLaunchDetected: MissileLaunchDetected
		MissileWeapon: atomic
		MissileDelay: 19
		SpawnOffset: -512,1c171,0
		DisplayBeacon: True
		DisplayRadarPing: True
		CameraRange: 10c0
		ActivationSequence:
		ArrowSequence: arrow
		CircleSequence: circles
	WithNukeLaunchOverlay:
		RequiresCondition: !launchpad-damaged
	GrantConditionOnDamageState@LAUNCHPADDAMAGED:
		Condition: launchpad-damaged
		ValidDamageState: Medium, Heavy, Critical

Proof that the animation is skipped in D2K:

launchanimationskipped
@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender

Mailaender Aug 26, 2017

Member

Rebased and updated with your suggested changes.

Member

Mailaender commented Aug 26, 2017

Rebased and updated with your suggested changes.

@Mailaender Mailaender changed the title from Added missile launch overlays for Dune 2000 and Tiberian Sun to Added missile launch overlays for Dune 2000, Tiberian Sun and Tiberian Dawn Aug 26, 2017

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Aug 26, 2017

Contributor

With this Video as reference I optimized the smoke offset of the Nod Temple to these values.

	smoke: atomdoor
		Length: *
		Offset: -1,-47

After this change I would approve this PR for the yaml-side.


Out of scope: The missiles in the ra and cnc mod are "in front" of the launch structures.
It seems that they solved it in ra by adding a delay and poping the missile right above the silo (Video).
In cnc the missile has a spot in the launch smoke cloud and should be synced somehow (delay for the smoke animation). Manipulating the ZOffset: to -2048 so that it travels behind the smoke only looks good for the start and makes the impact weird.

Contributor

ltem commented Aug 26, 2017

With this Video as reference I optimized the smoke offset of the Nod Temple to these values.

	smoke: atomdoor
		Length: *
		Offset: -1,-47

After this change I would approve this PR for the yaml-side.


Out of scope: The missiles in the ra and cnc mod are "in front" of the launch structures.
It seems that they solved it in ra by adding a delay and poping the missile right above the silo (Video).
In cnc the missile has a spot in the launch smoke cloud and should be synced somehow (delay for the smoke animation). Manipulating the ZOffset: to -2048 so that it travels behind the smoke only looks good for the start and makes the impact weird.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Aug 26, 2017

Member

Manipulating the ZOffset: to -2048 so that it travels behind the smoke only looks good for the start and makes the impact weird.

This can be fixed by changing the SpawnOffset, giving it a negative Y and positive Z so that it launches further back but higher on the building (giving the same screen position as now).

Member

pchote commented Aug 26, 2017

Manipulating the ZOffset: to -2048 so that it travels behind the smoke only looks good for the start and makes the impact weird.

This can be fixed by changing the SpawnOffset, giving it a negative Y and positive Z so that it launches further back but higher on the building (giving the same screen position as now).

@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender

Mailaender Aug 27, 2017

Member

Updated with your optimized smoke offsets.

Member

Mailaender commented Aug 27, 2017

Updated with your optimized smoke offsets.

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Aug 28, 2017

Contributor

So, after some struggles with the coordinates, I think I got the launch animation of the Temple of Nod and the Missile Silo into the right direction. Would be happy if you could add it as well.

Temple of Nod Missile Silo
launchtmpl ra_launch
diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml
index 9009d41..10d8e24 100644
--- a/mods/cnc/rules/structures.yaml
+++ b/mods/cnc/rules/structures.yaml
@@ -716,8 +716,9 @@ TMPL:
                LaunchSpeechNotification: NuclearWeaponLaunched
                IncomingSpeechNotification: NuclearWarheadApproaching
                MissileWeapon: atomic
-               MissileDelay: 20
+               MissileDelay: 11
                DisplayBeacon: True
+               SpawnOffset: 3c0,0,-1c512
                BeaconPoster: atomic
                BeaconPosterPalette: beaconposter
                DisplayRadarPing: True
diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml
index 63fa875..8a2fb8a 100644
--- a/mods/ra/rules/structures.yaml
+++ b/mods/ra/rules/structures.yaml
@@ -42,8 +42,8 @@ MSLO:
                InsufficientPowerSpeechNotification: InsufficientPower
                IncomingSpeechNotification: AbombLaunchDetected
                MissileWeapon: atomic
-               MissileDelay: 3
-               SpawnOffset: 0,427,0
+               MissileDelay: 5
+               SpawnOffset: 1c0,427,0
                DisplayTimerStances: Ally, Neutral, Enemy
                DisplayBeacon: True
                DisplayRadarPing: True
Contributor

ltem commented Aug 28, 2017

So, after some struggles with the coordinates, I think I got the launch animation of the Temple of Nod and the Missile Silo into the right direction. Would be happy if you could add it as well.

Temple of Nod Missile Silo
launchtmpl ra_launch
diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml
index 9009d41..10d8e24 100644
--- a/mods/cnc/rules/structures.yaml
+++ b/mods/cnc/rules/structures.yaml
@@ -716,8 +716,9 @@ TMPL:
                LaunchSpeechNotification: NuclearWeaponLaunched
                IncomingSpeechNotification: NuclearWarheadApproaching
                MissileWeapon: atomic
-               MissileDelay: 20
+               MissileDelay: 11
                DisplayBeacon: True
+               SpawnOffset: 3c0,0,-1c512
                BeaconPoster: atomic
                BeaconPosterPalette: beaconposter
                DisplayRadarPing: True
diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml
index 63fa875..8a2fb8a 100644
--- a/mods/ra/rules/structures.yaml
+++ b/mods/ra/rules/structures.yaml
@@ -42,8 +42,8 @@ MSLO:
                InsufficientPowerSpeechNotification: InsufficientPower
                IncomingSpeechNotification: AbombLaunchDetected
                MissileWeapon: atomic
-               MissileDelay: 3
-               SpawnOffset: 0,427,0
+               MissileDelay: 5
+               SpawnOffset: 1c0,427,0
                DisplayTimerStances: Ally, Neutral, Enemy
                DisplayBeacon: True
                DisplayRadarPing: True
@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender

Mailaender Aug 28, 2017

Member

Added your latest patch for the missile spawn offsets.

Member

Mailaender commented Aug 28, 2017

Added your latest patch for the missile spawn offsets.

@ltem

ltem approved these changes Aug 28, 2017

@SoScared

This comment has been minimized.

Show comment
Hide comment
@SoScared

SoScared Sep 2, 2017

Member

Harkonnen death hand launch animation looks really good and the RA nuke missile spawns more naturally. Nod's Temple chimney spews its smoke from a slightly more naturally looking position.

Member

SoScared commented Sep 2, 2017

Harkonnen death hand launch animation looks really good and the RA nuke missile spawns more naturally. Nod's Temple chimney spews its smoke from a slightly more naturally looking position.

@Mailaender Mailaender merged commit 3ce8026 into OpenRA:bleed Sep 2, 2017

0 of 2 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details

@Mailaender Mailaender deleted the Mailaender:nuke-launch-overlay branch Sep 2, 2017

@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender
Member

Mailaender commented Sep 2, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment