Jump to content


  • Content count

  • Joined

  • Last visited

Community Reputation

36 Excellent

About Ravendark

  • Rank
    Chief Warrant Officer W-5

Command & Conquer Profile

  • Favourite C&C
    Tiberium Wars

Recent Profile Visitors

3,997 profile views
  1. Very true, they can be a bit spammy depending on conditions. But in your case you are applying a very strong filter. Dmg state + none-spammy unit + range (perhaps), so there might be the occasional multiple harvesters getting targeted at the same time by your ironcurtain, but that would mean multiple harvester drop down in health to the dmg condition at the exact same moment (most likely if multiple harvesters get hit by a aoe of magnitude like a nuke or so). But like i said, that's from the top of my mind, without having worked on something similar. Probably better solutions out there.
  2. From the top of my head: Have the ironcurtain use a fireweaponupdate with a fireonobject nugget, target = PLAYER harvesters. with a ForbiddenTargetModelCondition="PRISTINE RUBBLE" so it only fires when the harvester is DAMAGED/REALLY_DAMAGED ? Give the weapon a AttributeModifierNugget that does the actual ironcurtain effect and invulnerability stuff. Have a dummy specialability SP. with a 30 second recharge, use the MonitorSpecialPowerTimerUpdate to set a modelcondition like (SPECIALPOWER1_READY), use that modelcondition to trigger a status through lua that enables/disables the weapon by using ForbiddenFiringObjectStatus or RequiredFiringObjectStatus in the weapon. Trigger the dummy sp to fire itself on whenever the ironcurtain attacks/fires its weapon (ATTACKING condition should trigger of the Fireweapon module iirc) , have that condition trigger the Dospecialpower function in lua firing the SP. Alternatively you might work of your prismforwarding coding, take the fire weapon on object coding in there and adapt it to fire on harvesters? Maybe...
  3. did you manage to SET a Status with that function? And what status did you set then? Shouldnt it be something along the lines of ExecuteAction("UNIT_CHANGE_OBJECT_STATUS",self, "UNATTACKABLE",1) then? Also is the %self a spelling error? Did he say you could use it like that or did you need his extended Lua mod for it?
  4. Been experimenting with it myself and i'm not rly getting anything satisfying either. For testing purposes i've been turning the firehawk into the orca and back. It does seem that the replaceself module wants to insta switch and isnt rly using its unpacktime like i hope/expected it would. So i tried to do a Oncreate Dospecialpower lua thing, but weirdly enough the firehawk doesn't seem to want to do that, the orca does tho....so i have a half working solution but with some additional bugs when its created on the helipad. I hae to rethink and retry somethings, might look into it later this week again. Also i don't think a dummy will do it, its a convoluted solution that most likely will create more issues then it solves.
  5. Well if you want Unit B to go back ito A aswell you can duplicate the code into B aswell. The process is the same, just make sure you use a object type upgrade and not a player type upgrade. Normaly the replace happens after "NewObjectUnpackTime"expires. Let us know if it works this time or not, maybe post a vid including what isnt working. Oftopic, the exhaust you use on your aricraft, where did you get it or did you create it yourself(looks like a combination of 2 particle systems the rings and the air distort texture ?) I've been working on and off on getting a nice railgun particle effect and that "air wobly effect" you have going looks rather nice. Edit: Nvm the above particle fx, managed to got it working (worked of the orca engine fx, got the result i wanted.)
  6. i think you need to take a step back and re-evaluate what you are trying to achieve. You are basically getting lost in the woods looking for a specific tree at this point. Just go back to basics. You don't need all that shield junk. From my understanding this is what you want: 1. You have a firehawk like unit and you want to turn it into a orca like unit, in regards to flight behavior and maybe this orca like thing has a different weapon. The problem you had is you don't want the unit to be attacked(idealy by ground units) while its changing from A to B right? How do we do that? Replace self module <!-- Object = per unit, PLAYER = globaly/army --> <UpgradeTemplate id="Upgrade_A_TO_B" Type="OBJECT" /> <!-- This ONLY goes into unit A, not into Unit B --> <ReplaceSelfUpgrade id="ModuleTag_ReplaceSelf" NewObjectUnpackTime="2.0s" CheckBuildAssistant="false"> <TriggeredBy>Upgrade_A_TO_B</TriggeredBy> <ReplacementTemplate>Unit_B</ReplacementTemplate> </ReplaceSelfUpgrade> <!-- Remember to add a LogicCommand, LogicCommandSet and a PlayerUpgradeButton --> Next , How de we prevent the unit from being attacked? <!-- This ONLY goes into Unit A Behavior section --> <StatusBitsUpgrade id="ModuleTag_StatusBitUpgrade" StatusToSet="UNATTACKABLE"> <TriggeredBy>Upgrade_A_TO_B</TriggeredBy> </StatusBitsUpgrade> <!-- Normally status isnt tranfered between different units so shouldnt need anything to clear it --> Now Lets assume i'm wrong inthe abve comment line and The replaceselfupgrade is hardcoded to transfer Object status to the new Unit B. We can do the following: <!-- This only goes into UNIT B --> <StatusBitsUpgrade id="ModuleTag_StatusBitUpgrade" StatusToClear="UNATTACKABLE"> <TriggeredBy>Upgrade_Remove_NoAttackStatus</TriggeredBy> </StatusBitsUpgrade> <UpgradeTemplate id="Upgrade_Remove_NoAttackStatus" Type="OBJECT" /> And you trigger Upgrade_Remove_NoAttackStatus through lua. Just use the Oncreate condition, look at the existing examples in lua.ini and ScriptedEventlist.xml Remember to add/update your unit B's AILuaEventsList="MyUnitB_Functions" in its <AI</JetAI></AI> section. Try that
  7. Are you putting that in the original unit or the replacement unit?
  8. 1. Keeping them grounded: Trigger a status like IMMOBILE or so once landed from the TAXI conditionstate maybe? Remove that status when exiting -RELOADING? 2. Map wise you can tell a aircraft to garrison its airfield and that makes it land (have a look at any of the sp maps that use that like the gdi first mission or the gdi mission with the battlebase /empy nod vehicles mission, see what script that is precisely and work from that), so maybe use lua to trigger that script on the Onclip empty condition? 2b. ive been experimenting with a remnant of the ZH aurora code to simulate aircraft fuel. It works pretty well so far but needs more work for my use but you might be able to use it to force AI aircraft home on clip empty aswell. Altho AI control might override it? <JetAIUpdate id="ModuleTag_JetAIUpdate" AutoAcquireEnemiesWhenIdle="YES" NeedsRunway="false" KeepsParkingSpaceWhenAirborne="true" OutOfAmmoDamagePerSecond="1.5" MinHeight="5" CirclesForAttack="true" ReturnForAmmoLocomotorType="SUPERSONIC" UseForOutOfAmmoCheck="SIGMA_DummyFuelWeapon" OutOfAmmoEvaEvent="AircraftOutOfAmmoDamage" ReturnToBaseWhenVictimDead="true" AILuaEventsList="GDIFirehawkFunctions"> <UnitAITargetChooserData SympathyRange="100.0" /> <LockonInfo /> </JetAIUpdate> <LocomotorSet Locomotor="FirehawkLocomotor" Condition="NORMAL" Speed="200.0" /> <LocomotorSet Locomotor="FirehawkLocomotor" Condition="SUPERSONIC" Speed="200.0" /> <LocomotorSet Locomotor="BasicHelicopterTaxiLocomotor" Condition="TAXIING" Speed="10" /> i just use the same locomotor for the supersonic condition as the aimodule needs that conition to work iirc. I use a dummy weapon for fuel count, my actual weapons on the aircraft autoreload, but you can use the normal weapon for Useforaotofammoceck=
  9. duration isn't a valid attribute of either the statusbitupgrade module nor the upgrade module it inherits of. In the ra3buildstudio or the normal tw compiler you would've gotten a error on a invalid attribute and it would've aborted the compile. Its a surprise its willing to work at all with that module at this point. Are you applying the status effect to the original unit or the replacement unit? If its the latter, then its not working because of the explained reason above, duration isn't a valid attribute. if you want a duration you are better of applying a attribute modifier with a duration and statuscondition. you can trigger that with a basic specialpower+atrib mod that you trigger Oncreate with a Dospecialpower lua command. Although you can maybe use a direct EXECUTE_ACTION lua script but from the top of my head im not sure if there is a status codition +duration script, iirc there is a modelcondition one tho, not sure about status.
  10. Should you target strong or weak units first?

    Fair point in general. But i feel the video is more intended to consider a absolute scenario. Unit A vs Unit B strength and weakness. Alot of the tactical nuances that make a great "total"game aren't or shouldn't be considered. Things like player skill, terrain, economy strength, ruses, abilities etc. That aside something interesting related to this topic: I was working on my mod yesterday, haven't had alot of time this year so do so, but now i got sometime. so i decided to do a quick skirmish to refresh myself on what i ha done so far and some of the changes was working on. I have a infantry unit that basicly has 2 weapons: a rocket weapon (think along the line of a LAW) and a missile weapon (something like a JAVELIN). The rocket weapon is on by default and uses a sort of defragmentation warhead. Its basicly explosive dmg and some aoe dmg. Rather effective vs infantry (if it hits close enough, it isnt accurate vs infantry), light vehicles and medium armor. When the unit enters cover and a garrison it switches to its missile weapon. Shit vs infantry but does amazing dmg vs vehicles. Due to how the weapons work, the infantry gets decimated out in the open by most vehicles, strength in numbers determines most of the time who wins. But when that unit is in cover or a structure it melts armor like its nothing. So: open terrain: i it has strength of numbers its rockets can some serious dmg to anything depending on rng how they hit or miss. A good focus fire from something like a apc or buggy can counter that specially if those vehicles have a strength in numbers aswell. Something like a mammoth tank can withstand the rocket onslaught long enough to crush them with some micro. The explosive defrag warhead of the rocket is a treath to rifle infantry even. But in a urban environment: The missile weapon is 100% accurate to vehicles and 2-3 missiles can kill a apc like armor/hp vehicle. Garrisoned they are protected and cant be crushed, cover i tweaked the armor bonus so they have increased survivability even if you would focus them. But they are absolute shit vs infantry now. And riflemen can advance without effort onto them. I also changed my sniper to be able to clear (shot per shot) garrisons instead of grenadiers. So the sniper is a serious hardcounter in general to them. So in a ideal scenario like the above video...yes most in that video is accurate. But when you bring more complexity to a single units design those rules go out of the window partially or fully. Even with disregarding player aptitude.
  11. Should you target strong or weak units first?

    In general the same logic presented in the video will be applicable to c&c as well. Where a difference might come into play is that in c&c or more modern themed games is the following: Secondary weapons that shift the rock/paper/scissors and hp based logic out of the black and white into a more grey area: Consider the following scenario: 1. going from the video logic: enemy = 1 heavy tank, 6 light tanks and you have a squad of missile/rocket aka anti armor units. Most of the time he video logic will prevail, kill the light tanks first to reduce the enemies global firepower output and sustain less dmg/losses. 2. More modern weapon loadout/logic: 1 heavy tank, 6 light and you have 1 anti armor squad, BUT the heavy tank has a secondary anti infantry machine gun. That heavy tank will decimate your squad. In this scenario you have to remove that type of weapon (the machinegun on the heavy) from the equation. So focusing the heavy tank becomes a prio. And in more modern setting games those scenarios happen more often i would guess. What i can recall from most of the more old era or sword and sorcery themed games, they usually focus more on a single weapon loadout. Archers are archers, swordsmen are swordsmen. etc. When they break away from that rock/paper/scissor -ish system engagements become more complex and not so strait forward. A second thing that will change the videos scenario is layers. Air layer vs ground layer or sea layer units. A untouchable air unit with a shitty weapon can demolish a awesome ground unit with a godly weapon if its not able to target the air unit. From a c&c 3 point: 5 venoms vs 6 predators and 1 mammoth -> focusing the mammoth due to its aa missiles is a bigger prio then those predators most of the time? But if those 5 preds and the mam are attacking your harvester, you might go back to focussing the preds to lower dps on the harvester and give it a chance to survive/return to base and just take the dmg from the mammoth on your venoms?
  12. Star Trek: Discovery

    Seen the first 4 (or is it 5) episodes. The first 2(pilot) had me put off....those felt like some bad trekkie fan fiction writing...all holier-then-thou star fleet shit. But then it turned a bit darker and more intriguing from episode 3 when the discovery and its purpose was tipped off. Kind of committed myself to watching it now for the moment. Still feel the main character of Michael is utter crap. The actress isn't convincing either. the captain of the discovery (the name escapes me atm) is interesting, way darker then previous star trek captains, i find it good that he breaks that generic good guy chain and is more practical and opportunistic in regards to the war backstory. the support cast for the most part give a good effort and their acting is more solid(for a ST tv-series anyway) then the main protagonist.
  13. Forged Battalion

    Not sure what is more concerning, EA not getting back into the RTS pool or Petroglyph staying in the pool but they keep pissing in it. At this time i don't have much faith in both companies. And Honostly Petro needs to start distancing them self from the WestWood name/brand. The majority of the company isn't Westwood staff. Journalist need to stop dropping fanboy bait like that in their articles. It is just preying on the community nostalgia. Same with the Frank Klepacki thing. A score should be match made to the theme of the game, not vice versa. Frank K. did some good work obviously but his style isn't suited for every game or theme. Well at least its not that 8bit cashgrab nonsense, i'll give it a fair try when it comes available next year. But i'm not awestruck atm. we'll see what gives.
  14. You can trigger the autohealnehavior with a upgrade <TriggeredBy>upgrade_starthealing</TriggeredBy> or something like it. if you remove that upgrade (using a modelconditionevent +HEALTH_PERCENT_50) it will stop healing. so start with: function OnReach25Health(self) ObjectGrantUpgrade( self, "Upgrade_StartHealing" ) end function OnReach50Health(self) ObjectRemoveUpgrade( self, "Upgrade_StartHealing" ) end and in your evenlist <ModelConditionEvent Name="Reach25Health"> <Conditions>+HEALTH_PERCENT_25</Conditions> </ModelConditionEvent> <ModelConditionEvent Name="Reach50Health"> <Conditions>+HEALTH_PERCENT_50</Conditions> </ModelConditionEvent> <!-- Add these handlers to each unit that needs self healing --> <EventHandler EventName="Reach25Health" ScriptFunctionName="OnReach25Health" DebugSingleStep="false"/> <EventHandler EventName="Reach50Health" ScriptFunctionName="OnReach50Health" DebugSingleStep="false"/> try that
  15. no point in sending me anything atm, im only at my pc in short bursts. Mostly using my leftarm to do everything now and thats a pain ontop of the pain. But i might look into it later this week, when i feel more able. home for 3 months , so seems like good time to catch up on my modding stuff aswell .