Jump to content

Recommended Posts

I'm trying to use these logics/behavoirs, but I think I need help in getting them to work:

 

1. DamageAndSpawnNugget

Tried to use this nugget in KW, but it doesn't appear to work - even when using the code copied from CNC3 corruptor's weapon

 

2. HelicopterSlowDeath

I'm also trying to use this behavior on the Hammerhead, but even with the settings copied from Generals, the unit simply disappears when killed.

 

3. 'burned/aflame death behavior' (not sure about the name of this one)

I remember seeing a few mods for CNC3 that gave infantry who died from fire weapons a 'burned texture'.

Also, there was a mod that made burned infantry panic in a random direction before dying

Share this post


Link to post

Helicopterslowdeathbehavior works for me in TW..it is just jittery...it either needs more fine tuning then i did or some extra animation efforts to make the spiraling look more convincing.

 

this is how i used it while testing it:

 

<HelicopterSlowDeath
				id="ModuleTag_HelicopterSlowDeath"
				MaxSelfSpin="2.0"
				SpiralOrbitTurnRate="0.5"
				DestructionDelay="10.0s"
				SelfSpinUpdateDelay="100ms"
				SelfSpinUpdateAmount="0.3"
				SpiralOrbitForwardSpeed="5.0"
				FallHowFast="75"
				OclHitGround="OCL_GDIOrcaInitialDebris"
				FxHitGround="FX_GDIAirVehicleExplode">
				<DieMuxData
					DeathTypes="ALL" />
               <FX
					Type="INITIAL">
					<FX>FX_GDI_Orca_VoiceDie</FX>
				</FX>
			</HelicopterSlowDeath>

Share this post


Link to post

Can no one else help?

 

I know these behaviors have been used in mods like CNC Fallout, Tiberian Legacy & Tiberian Apocalypse etc

 

If it helps I can upload my xmls

Edited by someguy11

Share this post


Link to post

Can no one else help?

 

I know these behaviors have been used in mods like CNC Fallout, Tiberian Legacy & Tiberian Apocalypse etc

 

If it helps I can upload my xmls

You can try to check those two mods by wrathed 1.08, to find out what different.

 

I'm also trapped in SpawnNugget, Stygs said it's still available and can use directly, but I can't realize it.

Edited by ztz2019

Share this post


Link to post

fom the KW schematic for damageandspawnnuggettype:

 

<EntryReference
id="SpawnTemplate"
AssetType="GameObjectWeak"
IsAttribute="true" />

 

I am not sure that should be an attribute? try changing it to false and try the nugget in game again. ITs the only thing i can hink of besides it just being broken in KW. IT works normaly in TW.

Share this post


Link to post

It certainly works in KW - the wrathed defines are just wrong, hence it never get compiled in a way that the game can read it.

 

I know Bibber fixed it for Zocker4evers One Vision mod, but I have no idea how it needs to be to work.

 

 

 

And the mod with burning inf running around was allmost certainly TWA.

Edited by Stygs

Share this post


Link to post

I went to ...Tools/Definitions/Kane's Wrath/WeaponTemplate.xml

and changed

 

<EntryReference
id="SpawnTemplate"
AssetType="GameObjectWeak"
IsAttribute="false />

 

even tried

 

<EntryReference
id="SpawnTemplate"
AssetType="GameObjectWeakRef"
IsAttribute="false />

 

but it still doesn't work

 

--

 

Here's what I've got for burning death infantry (it doesn't work still)

burneddeath.xml

Edited by someguy11

Share this post


Link to post

If it's an attribute or not doesn't matter for the game, all it does is telling WrathEd to expect an attribute or element in xml.

Share this post


Link to post

What exactlly are you trying to archive with the flame death?

 

If you wwant the burning infantry to run around, remove the FlammableUpdate (its not needed for that) and add a locomotorset that has Condition="BURNINGDEATH" and add something like BurniningDeathRadius="100" into the locomotor (well, you also need a BurningDeathFX to complete the look).

Share this post


Link to post

If it's an attribute or not doesn't matter for the game, all it does is telling WrathEd to expect an attribute or element in xml.

How does

 

<xs:sequence>

<element></element>

</xs:sequence>

 

translate into WE definitions? Or does <EntryReference/> replace that as a whole?

 

All that aside im wondering the following:

Comparing the AlienCorrupterTioxinBlastCannon weapon from TW vs the one from KW:

 

TW shows the following code:

<DamageAndSpawnNugget 
				Damage="40.0" 
				Radius="40.0" 
				DamageFXType="ALIEN_TIOXIN"
				DamageType="GRENADE"
				SpawnProbability="0.2"
				SpawnedModelConditionFlags="EMOTION_DISSIDENT">
				<SpecialObjectFilter
					Rule="NONE"
					Include="INFANTRY" 
					Relationship="ENEMIES">
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
				<SpawnTemplate>Viceroid</SpawnTemplate>
			</DamageAndSpawnNugget>

while Kw shows it as

<DamageNugget
				PartitionFilterTestType="EXTENTS_3D"
				Damage="40"
				Radius="40"
				DamageType="GRENADE"
				DeathType="NORMAL"
				DamageFXType="ALIEN_TIOXIN"
				DamageSubType="NORMAL"
				>
				<SpecialObjectFilter
					Rule="NONE"
					Relationship="ENEMIES"
					Alignment="NONE"
					Include="INFANTRY"
					>
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
			</DamageNugget>
			

So this either means the spawn nugget is no longer in KW or WE idd mistranslates it as just a standard damage nugget.

 

Looking at some of the definitions, specialy the references im wondering if

 

<EntryReference
            id="SpawnTemplate"
            AssetType="GameObjectWeak"//Spelling error?from includes/Ref.xml <Asset id="GameObjectWeakRef"><EntryReference id="GameObject" AssetType="GameObject"/></Asset>
            IsAttribute="false />

Shouldnt be

 

like in other modules:

<EntryList
			id="IncludeThing"
			AssetType="GameObjectWeakRef"
			MinLength="0"
			MaxLength="0" />

So maybe

 

<EntryReference
                           id="SpawnTemplate"
                           AssetType="GameObjectWeakRef"
                           MinLength="0"
                           MaxLength="0" />
 

Any thoughts ?

Share this post


Link to post

You can test if the compiled code has the correct structure by looking at it with wrathed.exe bigview. It's also possible to compare the .asset files with a hex editor 1. from a tw compiled peace of code thats working with 2. your wrathed compiled code. In worst case you can even create/modify the .asset yourself adjusting the binary code manually in a hexeditor and then put it to ModName/Assets/Static. Wrathed will automatically include it with the asset merger. For this way to begin you can extract a original .asset from the original kw files that has equal code.

 

My guess for the weapon (because SpawnBehaviorModuleData uses it the same way for it's SpawnTemplate entry...):

 

	<Asset
		id="DamageAndSpawnNuggetType">
		<EntryInheritance
			id="base"
			AssetType="DamageNuggetType" />
		<Entry
			id="SpawnProbability"
			AssetType="SageReal"
			IsAttribute="true"
			Default="1.0" />
		<Entry
			id="SpawnedModelConditionFlags"
			AssetType="ModelConditionBitFlags"
			IsAttribute="true" />
		<EntryList
			id="SpawnTemplate"
			AssetType="GameObjectWeakRef"
			MinLength="0"
			MaxLength="0" />
	</Asset>
Edited by Mjjstral

Share this post


Link to post

For the Helicopter Slow Death, I believed someone helped out Madin on that before, it was this code that came the closest:

 

<HelicopterSlowDeath id="ModuleTag_SlowDeath"
SinkDelay="0.000s"
SinkRate="0.5"
DestructionDelay="8s"
MinSelfSpin="-0.3"
MaxSelfSpin="-0.5"
SpiralOrbitTurnRate="150"
SpiralOrbitForwardSpeed="12.9"
SpiralOrbitForwardSpeedDamping=".91"
FxHitGround="FX_BodyGroundHitExplode"
MaxBraking="11590"
FallHowFast="1"
    DelayFromGroundToFinalDeath="0"
    FinalRubbleObject="GDIOrcaDebris_06">
<DieMuxData DeathTypes="ALL" DeathTypesForbidden="EXPLODED"  RequiredStatus="AIRBORNE_TARGET"/>
<FX Type="INITIAL"><FX>FX_GDI_Orca_AirDie</FX></FX>
</HelicopterSlowDeath>

Share this post


Link to post

How does

 

<xs:sequence>

<element></element>

</xs:sequence>

 

translate into WE definitions? Or does <EntryReference/> replace that as a whole?

Entry itself without the "is attribute" thing replaces that. Elements in the original xsd with min/max occurences = 1 are basically the same as attributes just written as an element.

EntryReference just denotes that it's a reference to the asset type, otherwise it would expect a whole game object in there.

All that aside im wondering the following:

Comparing the AlienCorrupterTioxinBlastCannon weapon from TW vs the one from KW:

 

TW shows the following code:

<DamageAndSpawnNugget 
				Damage="40.0" 
				Radius="40.0" 
				DamageFXType="ALIEN_TIOXIN"
				DamageType="GRENADE"
				SpawnProbability="0.2"
				SpawnedModelConditionFlags="EMOTION_DISSIDENT">
				<SpecialObjectFilter
					Rule="NONE"
					Include="INFANTRY" 
					Relationship="ENEMIES">
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
				<SpawnTemplate>Viceroid</SpawnTemplate>
			</DamageAndSpawnNugget>
while Kw shows it as
<DamageNugget
				PartitionFilterTestType="EXTENTS_3D"
				Damage="40"
				Radius="40"
				DamageType="GRENADE"
				DeathType="NORMAL"
				DamageFXType="ALIEN_TIOXIN"
				DamageSubType="NORMAL"
				>
				<SpecialObjectFilter
					Rule="NONE"
					Relationship="ENEMIES"
					Alignment="NONE"
					Include="INFANTRY"
					>
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
			</DamageNugget>
			
So this either means the spawn nugget is no longer in KW or WE idd mistranslates it as just a standard damage nugget.

 

 

The binary works in such a way that a list which can hold multiple different options itself points to an entry which consists of a hash of the entry type and a pointer to the actual data. Idk why it just says DamageNugget. Maybe because of the error you pointed out further down, so it might default to it.

Looking at some of the definitions, specialy the references im wondering if

 

 

<EntryReference
            id="SpawnTemplate"
            AssetType="GameObjectWeak"//Spelling error?from includes/Ref.xml <Asset id="GameObjectWeakRef"><EntryReference id="GameObject" AssetType="GameObject"/></Asset>
            IsAttribute="false />
Shouldnt be

 

like in other modules:

<EntryList
			id="IncludeThing"
			AssetType="GameObjectWeakRef"
			MinLength="0"
			MaxLength="0" />
So maybe

<EntryReference
                           id="SpawnTemplate"
                           AssetType="GameObjectWeakRef"
                           MinLength="0"
                           MaxLength="0" />
 
Any thoughts ?

 

 

It should be
<EntryReference
                           id="SpawnTemplate"
                           AssetType="GameObjectWeakRef" />
 
It's no list, so no min/max length (WrathEd sees a 0 in max length as unlimited). Edited by Lauren

Share this post


Link to post

TW shows the following code:

<DamageAndSpawnNugget 
				Damage="40.0" 
				Radius="40.0" 
				DamageFXType="ALIEN_TIOXIN"
				DamageType="GRENADE"
				SpawnProbability="0.2"
				SpawnedModelConditionFlags="EMOTION_DISSIDENT">
				<SpecialObjectFilter
					Rule="NONE"
					Include="INFANTRY" 
					Relationship="ENEMIES">
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
				<SpawnTemplate>Viceroid</SpawnTemplate>
			</DamageAndSpawnNugget>

while Kw shows it as

<DamageNugget
				PartitionFilterTestType="EXTENTS_3D"
				Damage="40"
				Radius="40"
				DamageType="GRENADE"
				DeathType="NORMAL"
				DamageFXType="ALIEN_TIOXIN"
				DamageSubType="NORMAL"
				>
				<SpecialObjectFilter
					Rule="NONE"
					Relationship="ENEMIES"
					Alignment="NONE"
					Include="INFANTRY"
					>
					<ExcludeThing>Viceroid</ExcludeThing>
				</SpecialObjectFilter>
			</DamageNugget>
			

So this either means the spawn nugget is no longer in KW or WE idd mistranslates it as just a standard damage nugget.

 

 

If you look at the uncompiled KW xmls, you can find a comment by EA about it - they changed the weapon because they didnt like the way visceroids spawn.

So WrathEd is correct in that case. ;)

Edited by Stygs

Share this post


Link to post


I've been experimenting with "HelicopterSlowDeath";

The hammerhead no longer disappears after I commented out "SlowDeath"

 

Using default C&C Generals or PurpleGaga27's settings causes a crash but

Ravendark's works, however the hammerhead spins without falling to the ground.

Even after tinkering with the settings, I can't make the hammerhead hit the ground

 

Maybe it's to do with the data types used in the "HelicopterSlowDeath"?

 

"DeathSound" appears to replace "SoundDeathLoop" - does it work the same way? (A looping sound? Or is it a 1-shot sound?)

 

post-9783-0-55809700-1487520588_thumb.jpg

 

--

What exactlly are you trying to archive with the flame death?

 

If you wwant the burning infantry to run around, remove the FlammableUpdate (its not needed for that) and add a locomotorset that has Condition="BURNINGDEATH" and add something like BurniningDeathRadius="100" into the locomotor (well, you also need a BurningDeathFX to complete the look).

It'd be good to get one or more of the following features:
'burned' textures for affected infantry
run/panic then dying
fire particle FX for affected infantry


Also how do I 'hookup' the logic to flame weaponry?

Edited by someguy11

Share this post


Link to post

set your gravity multiplier to somethin higher then 1 in your <physics/> module, think mine is arround 20-30 or so...that might help with it falling...its the only thing really different from my unit when compared to the hammerheads engineering parameters.

 

Set the deathtype BURNED in your damagenugget of the weapon/warhead.

Share this post


Link to post

 

I've been experimenting with "HelicopterSlowDeath";

The hammerhead no longer disappears after I commented out "SlowDeath"

 

Using default C&C Generals or PurpleGaga27's settings causes a crash but

Ravendark's works, however the hammerhead spins without falling to the ground.

Even after tinkering with the settings, I can't make the hammerhead hit the ground

 

Maybe it's to do with the data types used in the "HelicopterSlowDeath"?

 

"DeathSound" appears to replace "SoundDeathLoop" - does it work the same way? (A looping sound? Or is it a 1-shot sound?)

 

attachicon.gifhelideath.jpg

 

--

It'd be good to get one or more of the following features:

'burned' textures for affected infantry

run/panic then dying

fire particle FX for affected infantry

 

Also how do I 'hookup' the logic to flame weaponry?

Where's your ZH defination file from? I've eagered this several years. Since I'm in junior school playing General first time, now over 14 years, I always want to get the code templete.

Share this post


Link to post

Can someone confirm that they've gotten these 3 behaviors working 100% ingame?

Because I don't know if something's wrong, or if they no longer function in KW.

 

  • damageandspawn doesn't work
  • managed to get the helicopterslowdeath to actually look somewhat like Generals, but then it just disappears when it hits the ground; FX doesn't work
  • Burningdeath doesn't work - (I've added BurniningDeathRadius="100" to humanlocomotor. Set the locomoter's condition to BURNINGDEATH. But still doesn't work.)


---

Where's your ZH defination file from? I've eagered this several years. Since I'm in junior school playing General first time, now over 14 years, I always want to get the code templete.

AmericaAir (HelicopterSlowDeath Behavior).ini.zip

Edited by someguy11

Share this post


Link to post

Yes, Zockar has the spawnnugget working in his One Vision mod and I got the burning stuff working for TWA.

Edited by Stygs

Share this post


Link to post

 

I've been experimenting with "HelicopterSlowDeath";

The hammerhead no longer disappears after I commented out "SlowDeath"

 

Using default C&C Generals or PurpleGaga27's settings causes a crash but

Ravendark's works, however the hammerhead spins without falling to the ground.

Even after tinkering with the settings, I can't make the hammerhead hit the ground

 

Maybe it's to do with the data types used in the "HelicopterSlowDeath"?

 

"DeathSound" appears to replace "SoundDeathLoop" - does it work the same way? (A looping sound? Or is it a 1-shot sound?)

 

attachicon.gifhelideath.jpg

 

--

It'd be good to get one or more of the following features:

'burned' textures for affected infantry

run/panic then dying

fire particle FX for affected infantry

 

Also how do I 'hookup' the logic to flame weaponry?

Well, thanks. But I mean where's your code definition file like the snapshot left side, which equal to .xsd in TW.

Share this post


Link to post

FinalRubbleObject="GDIOrcaDebris_06" will cause crash.

 

But maybe we could let main debris GDIOrcaDebris_01 have more lifetime and don't bounce when hit ground.

 

After I set OclHitGround="GDIJuggernaughtDieOCL", the orca crashed down and when hit ground, it created JuggernaughtHusk, so it's could be effective if we remake new debris ocl for aircraft which has new main body debris and stay onto the ground for several seconds.

 

And this is my new orca helideath with main body debris slowdeath onto the ground.

 

I'm asking for how to call wbdata.big's model directly in my mod? Now I've no idea so I must extracted them from wbdata.big and paste them in mod's art file.

testmod_OrcaHeliDeath.zip

Edited by ztz2019

Share this post


Link to post

As I thought, why not just consult RA3's twin blade helicopter?

			<CreateObjectDie
				id="ModuleTag_CreateObjectDie"
				CreationList="SUAntiGroundAircraft_Die_OCL">
				<DieMuxData
					DeathTypes="ALL"
					ExemptStatus="PARKED_AT_AIRFIELD"/>
			</CreateObjectDie>
			<CreateObjectDie
				id="ModuleTag_CreateObjectDieAtAirfield"
				CreationList="SUAntiGroundAircraft_Collapse_OCL">
				<DieMuxData
					DeathTypes="ALL"
					RequiredStatus="PARKED_AT_AIRFIELD"/>
			</CreateObjectDie>
			<DestroyDie
				id="ModuleTag_Die">
				<DieMuxData
					DeathTypes="ALL" />
			</DestroyDie>

 

	<ObjectCreationList
		id="SUAntiGroundAircraft_Collapse_OCL">
		<CreateObject
			Options="IGNORE_ALL_OBJECTS"
			Disposition="LIKE_EXISTING INHERIT_VELOCITY SEND_IT_UP"
			Count="1"
			DispositionIntensity="100.0"
			VelocityScale="5.0"
			MinForceMagnitude="1.0"
			MaxForceMagnitude="2.0"
			MinForcePitch="90d"
			MaxForcePitch="75d">
			<CreateObject>SovietAntiGroundAircraft_Collapse</CreateObject>
		</CreateObject>
	</ObjectCreationList>
	
	<ObjectCreationList
		id="SUAntiGroundAircraft_Die_OCL"
		Flags="CHOOSE_ONE_CREATE_NUGGET_FROM_LIST">
		<CreateObject
			Options="IGNORE_ALL_OBJECTS"
			Disposition="LIKE_EXISTING INHERIT_VELOCITY"
			Count="1"
			VelocityScale="5.0">
			<CreateObject>SovietAntiGroundAircraft_Collapse</CreateObject>
		</CreateObject>
		<CreateObject
			Options="IGNORE_ALL_OBJECTS"
			Disposition="LIKE_EXISTING INHERIT_VELOCITY"
			Count="1"
			VelocityScale="=$AIRCRAFT_DYING_VELOCITY">
			<CreateObject>SovietAntiGroundAircraft_Dying</CreateObject>
		</CreateObject>
	</ObjectCreationList>

 

It don't use old HelicopterSlowDeath, just CreateObjectDie is enough

Share this post


Link to post

Yes, Zockar has the spawnnugget working in his One Vision mod and I got the burning stuff working for TWA.

Would you post your working KW code?

 

-

 

Also, I'm kinda lost; which post contained the spawnanddamagenugget's solution?

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.

×