-
Content count
729 -
Joined
-
Last visited
Everything posted by Lauren
-
Def needs a return, but what about the awesomeness of Raj's "Flametanks, Firehawks, and Foundries!"... most awesome quote of it all.
-
grant upgrade create + triggered?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
The AI can actually use any button in the commandset, even the ones which cannot be displayed (for reference see the reinforcement bays in the campaign). I've progressed a little further, yes, I want to do the addition of the command set buttons as a decompile/compile test for it before working on the ui, also it's a highly wanted thing. -
grant upgrade create + triggered?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
I'm actually plan to work on an UI this week with more slots, maybe without a limit like player power buttons or construction yard constructs. I'm hoping of having a release on the weekend. -
grant upgrade create + triggered?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
This is actually the best way. Though you can leave out the newborn. The unit upgrade should be the same regardless if it's achieved through grantupgrade or manually purchasing it. You can also just add the RequiredObjectStatusAny attribute to the gamedependency of your unit upgrade so you don't need a commandset switch. -
A few Stealth Tanks blowing up the bridge it crosses. Easiest fight ever. Mammoth MK2 had more of an epic in my opinion, even though it dies to 3 Banshees.
- 2 replies
-
- Throwback Thursday
- CnCTBT
-
(and 1 more)
Tagged with:
-
A limit to scriptedModeldraws per unit and performance?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Its weapon activates the special power to disguise itself (as RA3 only has 1 sp button and that's the evac button). Yes you can do such a mirage effect, that is basically where it was first used (in BFME's Eowyn to disguise herself as a Rohirim).- 7 replies
-
- scriptedmodeldraw
- spy
-
(and 1 more)
Tagged with:
-
A limit to scriptedModeldraws per unit and performance?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
It's actually already in the schemas in TW RA3 uses: <SpecialPower id="ModuleTag_Disguise" SpecialPowerTemplate="SpecialPower_JapanLightTransportVehicleDisguise" UpdateModuleStartsAttack="true" /> <SpecialDisguiseUpdate id="ModuleTag_DisguiseUpdate" TriggerInstantlyOnCreate="false" SpecialPowerTemplate="SpecialPower_JapanLightTransportVehicleDisguise" OpacityTarget="0.0" DisguiseFX="FX_JAP_SuddenDisguise" UnpackTime="1s" UnpackSound="JAP_SuddenTransport_DisguiseOnMS" FaceTarget="false"/>combined with a draw: <ScriptedModelDraw id="ModuleTag_DisguiseDraw" InvertStealthOpacity="true"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT"> <Model Name="" /> </ModelConditionState> </ScriptedModelDraw>Might have had a rework for RA3 though, you would have to check that.- 7 replies
-
- scriptedmodeldraw
- spy
-
(and 1 more)
Tagged with:
-
A limit to scriptedModeldraws per unit and performance?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
That's kinda yesterday too as that's what the Japanese APC does in RA3- 7 replies
-
- scriptedmodeldraw
- spy
-
(and 1 more)
Tagged with:
-
A limit to scriptedModeldraws per unit and performance?
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Shouldn't have much performance impact actually if you set the model of the default state to nothing. It would probably still have to parse it but as you don't render anything the graphics card shouldn't be flooded with state changes.- 7 replies
-
- scriptedmodeldraw
- spy
-
(and 1 more)
Tagged with:
-
Animated Turret turning
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Yeah most useful would probably be transition animation where you can say from x to y which implies cw and ccw. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Yes it has to come from the projectile/spawned dummy (like the original Nuke Seed)... read: the object using the weapon with the meta impact is the center of the effect. NODAttackBikeRocketProjectile.xml <?xml version="1.0" encoding="UTF-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xai="uri:ea.com:eala:asset:instance"> <Includes> <Include type="instance" source="DATA:NOD/Props/NODAttackBikeRocketProjectile.xml" /> </Includes> <GameObject id="NODAttackBikeRocketProjectile_Veteran" inheritFrom="NODAttackBikeRocketProjectile_Veteran"> <Behaviors> <FXListBehavior id="ModuleTag_FXLists"> <DieMuxData DeathTypes="ALL" /> <Event Index="onDeath" FX="FX_NOD_CatalystMissile_TiberiumExplosion" /> </FXListBehavior> <FireWeaponWhenDead InitiallyActive="true" DeathWeapon="NuclearMissileStageFour"> <DieMuxData DeathTypes="ALL" /> </FireWeaponWhenDead> </Behaviors> </GameObject> </AssetDeclaration> -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
That is because you're using NONE. You can read the rules as: NONE but x - Filter out everything but this KindOf. Though usually it should just be used to include specific things with IncludeThing. ANY of x - Object has to have at least one of these KindOfs. ALL of x - Object has to have all of these KindOfs. At least that is the general direction, sometimes it reacts weird and a IncludeThing or ExcludeThing helps, though it sucks that there sometimes isn't a general rule. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
NODTempleOfNOD.xml <?xml version="1.0" encoding="UTF-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xai="uri:ea.com:eala:asset:instance"> <Includes> <Include type="instance" source="DATA:NOD/Structures/NODTempleOfNOD.xml" /> </Includes> <GameObject id="NODTempleOfNOD" inheritFrom="NODTempleOfNOD"> <Behaviors> <OCLSpecialPower id="ModuleTag_NuclearMissile" xai:joinAction="Overwrite" SpecialPowerTemplate="SpecialPowerNuclearMissile" AvailableAtStart="false" OCL="OCL_NODNukeSeed" CreateLocation="CREATE_AT_EDGE_NEAR_SOURCE" /> <WeaponFireSpecialAbilityUpdate id="ModuleTag_NuclearMissileUpdate" xai:joinAction="Remove" /> </Behaviors> </GameObject> </AssetDeclaration> OCL.xml<?xml version="1.0" encoding="UTF-8" ?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <ObjectCreationList id="OCL_NODNukeSeed"> <CreateObject Options="IGNORE_ALL_OBJECTS ISSUE_MOVE_AFTER_CREATION MOVE_USES_STRAFE_UPDATE MOVE_TARGET_USES_DISPOSITION_OFFSET" Disposition="SPAWN_AROUND" DispositionIntensity="100" DispositionAngle="180d" Count="1"> <Offset x="0" y="0" z="50" /> <CreateObject>NODNukeSeed</CreateObject> </CreateObject> </ObjectCreationList> </AssetDeclaration> NODNukeSeed.xml<?xml version="1.0" encoding="UTF-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xai="uri:ea.com:eala:asset:instance"> <Includes> <Include type="instance" source="DATA:NOD/Units/NODArmageddonBomber.xml" /> </Includes> <GameObject id="NODNukeSeed" inheritFrom="NODArmageddonBomber" KindOf="PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SCORE AIRCRAFT VEHICLE TRANSPORT SUMMONED"> <Behaviors> <StrafeAreaUpdate id="ModuleTag_StrafeArea" WeaponName="NuclearMissileStageTwo" PreattackDistance="10" Radius="0" MinRadius="0" ShotsToFirePerFrame="1" /> </Behaviors> <AI> <JetAIUpdate id="ModuleTag_AI" xai:joinAction="Overwrite" AutoAcquireEnemiesWhenIdle="NO" NeedsRunway="false" AILuaEventsList="GDIOrcaAirstrikeEventsList"> <LockonInfo /> </JetAIUpdate> </AI> <Body> <ActiveBody id="ModuleTag_Body" xai:joinAction="Overwrite" MaxHealth="4000" /> </Body> <EvaEvents xai:joinAction="Remove" /> </GameObject> </AssetDeclaration> Weapon.xml<?xml version="1.0" encoding="UTF-8" ?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <WeaponTemplate id="NuclearMissileStageTwo" Name="NuclearMissileStageTwo" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" RadiusDamageAffects="SELF ALLIES ENEMIES NEUTRALS" AttackRange="50000.0" MinWeaponSpeed="50" MaxWeaponSpeed="250" ScaleWeaponSpeed="true" ScatterRadius="100" ScatterIndependently="true" NoVictimNeeded="true" BombardType="true"> <Nuggets> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <ProjectileNugget WarheadTemplate="NuclearMissileStageThree" ProjectileTemplate="NODAttackBikeRocketProjectile_Veteran" /> <DamageNugget OnlyKillOwnerWhenTriggered="true" /> </Nuggets> </WeaponTemplate> <WeaponTemplate id="NuclearMissileStageThree" Name="NuclearMissileStageThree" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" RadiusDamageAffects="SELF ALLIES ENEMIES NEUTRALS" AttackRange="50000.0"> <Nuggets> <DamageNugget Damage="200" DamageTaperOff="50" Radius="50" DamageType="CANNON" DeathType="DETONATED" /> </Nuggets> </WeaponTemplate> <WeaponTemplate id="NuclearMissileStageFour" Name="NuclearMissileStageFour" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" RadiusDamageAffects="SELF ALLIES ENEMIES NEUTRALS" AttackRange="50000.0"> <Nuggets> <MetaImpactNugget ShockWaveAmount="50" ShockWaveRadius="50" ShockWaveTaperOff="10" ShockWaveSpeed="0" ShockWaveZMult="1.2" ShockwaveDelaySeconds="0.1s" ShockWaveClearRadius="true" ShockWaveClearFlingHeight="25" ShockWaveClearWaveMult="2" /> </Nuggets> </WeaponTemplate> </AssetDeclaration> These are the important ones. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
My take on it would be something like this, just needs more pep, maybe make the launch an animation, use that when the sp is triggered and delay the spawn for that time. If you want the relevant code I'll post it. Also note the acceleration of the cluster rockets. Also it doesn't use LifeTimeUpdate nor HeightDie. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Could you post the cluster code? -
Crate probability progress
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
True, it would have been nice if they had a probability attribute. -
Crate probability progress
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
You could just edit the GenericCrateSpawner to add more new crates to its spawn list. Thus you wouldn't need any upgrades and LUA. It's nice if you just want one object to do more stuff, but it makes it just more complicated. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Yeah well in short the object goes from point to point but the points between the start and end just give it a rough direction to follow. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
A cubic (which TW uses) bezier curve is defined by 4 points. You already got start and end point set (attacker and victim). It interpolates through all points which results in a more or less smooth curve. Point 1 is defined by FirstPercentIndent, FirstHeightMin, and FirstHeightMax (point 2 with the ones starting with second obviously). Percent Indent is the relative distance from the attacker to the victim. The min/max height defines the minimum and maximum height (relative to the ground) of the control point at that coordinate. So if we've got 2 objects lets say one at (0, 0, 0) and the other at (0, 1, 0) and set FirstPercentIndent to 20, SecondPercentIndent to 80, and Min/Max height of both to 2 the calculation would be: f(t) = (1 - t) ^ 3 * (0, 0, 0) + 3 * (1 - t) ^ 2 * t * (0, 0.2, 2) + 3 * (1 - t) * t ^ 2 * (0, 0.8, 2) + t ^ 3 * (0, 1, 0) -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Raven: you have flipped the min/max heights. FirstHeightMin="250" FirstHeightMax="150" SecondHeightMin="300" SecondHeightMax="200"Also I'd suggest setting SecondPercentIndent to something like 99 so it detonates over the target and not a quarter way into the flight. Totally forgot you can set OnlyWhenMovingDown in HeightDieUpdate which is why I didn't have it in my first post. It's imo the best of the 3 options. -
Tiberian Sun style multi missile?
Lauren replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
The easiest way would be to make it like the nuke where it goes straight up at the launch position and straight down at the target as the time it takes is always equal. With that you can do a LifetimeUpdate that triggers a FireWeaponWhenDead with some scatter. The other option is to have the carrier rocket basically be an Orca Strike/Armageddon Bomber, just looking like a rocket, then firing the payload at the target with some scatter while killing itself.. -
There isn't much to the program itself that I can show off, there's a lot of stuff going on but not much with any graphical representation. I'm currently rewriting from scratch how an asset is loaded from a manifest, which going forward will support the possible options of having a linked stream in a big (the standard and current way), a linked stream outside of a big, and an unlinked stream. I might even do an unlinked stream inside a big, but there's no real point to that.
-
Wanted to unofficially state somewhere about some (what I think are) nice changes: Like the ages ago previously released screenshot showed big content and stream content will now show in a single tree view. When an asset is clicked on to show its content WrathEd will now look up the streams AllTypesHash and load the corresponding GameDefinition accordingly, no annoying reloads anymore!
-
a brainstorm about power/supply depots
Lauren replied to Ravendark's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Well you can do function MyHandler(self, other) local selfstr = tostring(ObjectTeamName(self)) local otherstr = tostring(ObjectTeamName(other)) if selfstr == otherstr then ...do stuff.. end end The function ObjectTeamName returns teamPlayer_x where x is the starting position on the map. And if the unit belongs to a team via WB it would say teamPlayer_x/teamname.
