Ravendark 43 Posted July 30, 2015 1. So wait, the DefectionFrameCount thing was in regard to the area mind control correct? Will test it out, however won't it effect the units with other stuff? Like increasing their time for all the other attributes that in the games? No its just the time attribute used for that module, changing the framerate count in there doesnt effect anything else(most likely), if you change the framerate count in gamedata.ini, then you will speed up or slow down all other things. 2. From my experience with kw, wed don't always let me add SP, don't sure what I miss though Can you plese tell me all the places that I will need to add or replace that support power into? Just so I be sure I done everything right This is like adding the sniper airstrike, you can basicly (if all else fails) just override SpecialPower_Redemption, i said to use SpecialPower_NewRedemption in my example, but if you just use the original id you can override it and it will use the existing commandsets and buttons. 3. Also are you sure that redemption is hardcoded? Can't I just add the upgrade xml to the game (via static and etc), and then add the upgrade to the redemption weapon, add to it's xml filter the word infantry (next to the horde... if it don't have one already), and then just add required upgrade ocl for each single inf? the existing redemption gets triggered inside the horde module....tochange that you either have to create a new module just from that single piee of coding and hope it works, or you could maybe turn all single infatry units into squads and just give them 1 horde member maybe Share this post Link to post
Egozi44 27 Posted July 31, 2015 No its just the time attribute used for that module, changing the framerate count in there doesnt effect anything else(most likely), if you change the framerate count in gamedata.ini, then you will speed up or slow down all other things. I see. thanks, will test it out soon This is like adding the sniper airstrike, you can basicly (if all else fails) just override SpecialPower_Redemption, i said to use SpecialPower_NewRedemption in my example, but if you just use the original id you can override it and it will use the existing commandsets and buttons. Ah well, I tried to override some hardcoded SP before and nothing really changed (I think it was the gdi air strike but don't remember), and I tried to add new SP as some point and unless it was something from the game the game won't show it button, I recall that Megumi mentioned something about adding new SP to the spell book or something? the existing redemption gets triggered inside the horde module....tochange that you either have to create a new module just from that single piee of coding and hope it works, or you could maybe turn all single infatry units into squads and just give them 1 horde member maybe Umm won't chaning the single infantry into squad with 1 horde going to give them new issues and bugs with random stuff? Actually, is there any chance that you can help me with the SP vie pms? I really weak when it come to making new SP from nearly scratch (exclude the stealthfield you told me to use) Even if you don't have KW I can extract the xmls for you in WED 1.07 (since you hate 1.08) send them to you and you will edit them as you see fit, then you can let me deal with the testing (since you can't make KW to work) Share this post Link to post
Ravendark 43 Posted July 31, 2015 Umm won't chaning the single infantry into squad with 1 horde going to give them new issues and bugs with random stuff? Probably. don't know thill you try it. Also i suggested it as plan B, plan A would still be changing the special power. Actually, is there any chance that you can help me with the SP vie pms? I really weak when it come to making new SP from nearly scratch (exclude the stealthfield you told me to use) Even if you don't have KW I can extract the xmls for you in WED 1.07 (since you hate 1.08) send them to you and you will edit them as you see fit, then you can let me deal with the testing (since you can't make KW to work) No sorry. Share this post Link to post
Egozi44 27 Posted July 31, 2015 I see :/ Well I will try it myself but probably will hit a wall really fast, it would be great if you can help me from here as you usually do~ Share this post Link to post
Egozi44 27 Posted August 2, 2015 Ok I followed what you told me to do, the SP still seem to work after overdrive But the issue is that now each unit that need the upgrade Still turning into cyborg upon death even without it Here what I added <CreateObjectDie id="ModuleTag_CreateObjectDie_cyborg" CreationList="OCL_RedemptionSpawn5"> <RequiresUpgrade>Upgrade_Redemption</RequiresUpgrade> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="DETONATED VISSPAWN" /> </CreateObjectDie> Did I forgot anything? Share this post Link to post
Ravendark 43 Posted August 2, 2015 overdrive? its UpgradeRequired not requiresupgrade(this shouldnt work basicly, i dont think WE gives a validation error on it tho, in TW modstudio would give a error and not compile) Share this post Link to post
Egozi44 27 Posted August 2, 2015 Yea I tried both, I've noticed that "UpgradeRequired" didn't work and that KW units used "RequiresUpgrade" so I tried it What I can do to make it work so far? Share this post Link to post
Ravendark 43 Posted August 2, 2015 in the createobjectdie xml schematic for Kw it says the following: <Asset id="CreateObjectDieModuleData"> <EntryInheritance id="base" AssetType="DieModuleData" /> <EntryReference id="CreationList" AssetType="ObjectCreationList" IsAttribute="true" /> <Entry id="DebrisPortionOfSelf" AssetType="String" IsAttribute="true" /> <EntryList id="UpgradeRequired" AssetType="UpgradeTemplateRef" IsAttribute="true" MinLength="0" MaxLength="0" /> /***change this value into 1 <EntryList id="UpgradeForbidden" AssetType="UpgradeTemplateRef" IsAttribute="true" MinLength="0" MaxLength="0" /> </Asset> Chance maxlength="0" into 1 you can find the schematic in \Tools\Games\Kane's Wrath\ in your wrathed directory try that. Share this post Link to post
Egozi44 27 Posted August 3, 2015 (edited) Didn't worked : / I hope it not coded.... Edited August 3, 2015 by Egozi44 Share this post Link to post
Lauren 77 Posted August 3, 2015 (edited) The actual error is actually having IsAttribute="true" in there for both lists. Remove these two lines. Min/Max length of 0 is correct. I should maybe go through all definitions again and fix these small errors. That's actually the core problem the current WE has. Edited August 3, 2015 by Lauren Share this post Link to post
Ravendark 43 Posted August 3, 2015 The actual error is actually having IsAttribute="true" in there for both lists. Remove these two lines. Min/Max length of 0 is correct. So it WE the max=0 means unbound then? IF you change that 1 would just limit the use of that element to 1 per module, it doesnt break it though iirc? . I should maybe go through all definitions again and fix these small errors. That's actually the core problem the current WE has. That seems like a lot of work considering you are working a wrathed 2.0. Share this post Link to post
Ravendark 43 Posted August 3, 2015 The actual error is actually having IsAttribute="true" in there for both lists. Remove these two lines. Min/Max length of 0 is correct. I should maybe go through all definitions again and fix these small errors. That's actually the core problem the current WE has. From a quick look and comparing the TW schematics to the KW ones: alot of them have the IsAttribute in them where as TW doesnt. Don't know if that comparrison is correct or to simplistic but: Either in most cases the engine doesnt care wether or not that statement is true but only cares if its there for elements or sequences? Else alot more wouldnt work i guess? Share this post Link to post
Lauren 77 Posted August 3, 2015 I would have to check the code, the IsAttribute thing is for WrathEd when to look for an attribute, otherwise it expects an element. And yes MaxLength=0 is unbounded. The Attribute thing might be because there is no inner element but just plain text. As said would have to look, and WE1 is quite a hack job Share this post Link to post
Egozi44 27 Posted August 3, 2015 Will give it a try, I recall I had similar issue on the old c&c forum with a building that also ignored the required upgrade thing it won't ruin anything else through correct? Share this post Link to post
Egozi44 27 Posted August 4, 2015 (edited) Ok after I deleted the IsAttribute="true" from UpgradeForbidden and UpgradeRequired The units stop spawn stuff upon any death which require upgrade (which is good) But it seem that they don't detect the upgrade.... that what I done so far: added the upgrade: <?xml version="1.0" encoding="utf-8"?><AssetDeclaration xmlns="uri:ea.com:eala:asset"><UpgradeTemplate id="Upgrade_Redemption" Type="PLAYER" /></AssetDeclaration> Overdrive the support power: <?xml version="1.0" encoding="utf-8"?><AssetDeclaration xmlns="uri:ea.com:eala:asset"><GrantUpgradeAreaOfEffectSpecialPower id="SpecialPower_Redemption" SpecialPowerTemplate="SpecialPower_Redemption"TargetType="LOCATION" Flags="WATER_OK SHARED_SYNC IS_PLAYER_POWER" ReloadTime="140s" InitiateAtLocationSound="AudioEvent:NOD_Redemption" RadiusCursorRadius="250" EvaEventToPlayWhenSelectingTarget="SelectSpecialPowerTarget" Money="-750" AntiCategory="" AntiFX="" AttributeModifier="" AttributeModifierRange="0" AttributeModifierFX="" WeatherDuration="0" InitiateFX="" TriggerFX="" SetModelCondition="TOPPLED" SetModelConditionTime="0s" GiveLevels="0" ChangeWeather="NORMAL" OnTriggerRechargeSpecialPower="" BurnDecayModifier="0" MaxDistanceFromCommandCenter="0" UpdateModuleStartsAttack="True" StartsPaused="False" ReEnableAntiCategory="False" AttributeModifierAffectsSelf="False" AttributeModifierWeatherBased="False" TargetEnemy="False" TargetAllSides="False" DisableDuringAnimDuration="False" IdleWhenStartingPower="False" AffectGood="False" AffectEvil="False" AffectAllies="True" AvailableAtStart="True" AdjustVictim="False" UseDistanceFromCommandCenter="False" ChildModuleHandlesFX="False" Radius="250"> <AttributeModifierAffects Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterMP Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterStrategic Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <AcceptObjectFilter Rule="ANY" Relationship="ALLIES" Alignment="NONE" Include="INFANTRY HORDE" Exclude="AIRCRAFT HUGE_VEHICLE VEHICLE" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <UpgradeTemplate>Upgrade_Redemption</UpgradeTemplate> </GrantUpgradeAreaOfEffectSpecialPower></AssetDeclaration>made another OCL<?xml version="1.0" encoding="utf-8"?><AssetDeclaration xmlns="uri:ea.com:eala:asset"><ObjectCreationList id="OCL_RedemptionSpawn5"><CreateObject CreateFX="FX_NOD_RedemptionSummon" Options="IGNORE_ALL_OBJECTS" Disposition="ON_GROUND_ALIGNED" StartingModelConditions="" TempModelCondition="USER_12" TempModelConditionTime="4.9s"><CreateObject>NODCyborgInfantry</CreateObject><CreateObject>NODImprovedCyborgInfantrySquad</CreateObject></CreateObject><CreateObject Options="IGNORE_ALL_OBJECTS" Disposition="ON_GROUND_ALIGNED" StartingModelConditions=""><CreateObject>NODRedemptionAnimator</CreateObject></CreateObject></ObjectCreationList></AssetDeclaration> and added these lines for each unit: <CreateObjectDie id="ModuleTag_CreateObjectDie_cyborg" CreationList="OCL_RedemptionSpawn5"> <UpgradeRequired>Upgrade_Redemption</UpgradeRequired> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="DETONATED VISSPAWN" /> </CreateObjectDie> What I done wrong? also do I need to delete all the IsAttribute="true" from the CreateObjectDie? or just the ones from the upgrades? Edited August 4, 2015 by Egozi44 Share this post Link to post
Ravendark 43 Posted August 4, 2015 where did you put the <GrantUpgradeAreaOfEffectSpecialPower> ? This should be inside the structure that houses the speciapower, like the operationscenter (iirc) not a new xml file. also i used DeathTypesForbidden="DETONATED VISSPAWN" /> DETONATED as a example it isnt really needed(or even wanted) in your case i think...any unit that dies by explosive weapons like grenades or so wont spawn a cyborg Share this post Link to post
Egozi44 27 Posted August 4, 2015 (edited) Wait so now I confused, what I should add to the structure xml (Nod's tech lab in this case) and what I should left in the Support power? The GrantUpgradeAreaOfEffectSpecialPowe is in the support power just as you showed me in your example And about the DETONATED, I want to transform to cyborgs from any weapon when the upgrade is on, so I should probably delete it correct? Edited August 4, 2015 by Egozi44 Share this post Link to post
Ravendark 43 Posted August 5, 2015 GrantUpgradeAreaOfEffectSpecialPower module needs to be inside the tech lab or whatever structure does the specialpower...basicly where the old redemption was triggered from. The speciapower itself can be in a seperate xml file. Yes then you will nedd to leave out the detonaded deathtype. Share this post Link to post
Egozi44 27 Posted August 6, 2015 (edited) So in other words I need to change that: <OCLSpecialPower id="E8F66E5F" SpecialPowerTemplate="SpecialPower_Redemption" AntiCategory="" AntiFX="" AttributeModifier="" AttributeModifierRange="0" AttributeModifierFX="" WeatherDuration="0" InitiateFX="" TriggerFX="FX_NodCloakingField" SetModelCondition="TOPPLED" SetModelConditionTime="0s" GiveLevels="0" ChangeWeather="NORMAL" OnTriggerRechargeSpecialPower="" BurnDecayModifier="0" MaxDistanceFromCommandCenter="0" UpdateModuleStartsAttack="False" StartsPaused="False" ReEnableAntiCategory="False" AttributeModifierAffectsSelf="False" AttributeModifierWeatherBased="False" TargetEnemy="False" TargetAllSides="False" DisableDuringAnimDuration="False" IdleWhenStartingPower="False" AffectGood="False" AffectEvil="False" AffectAllies="True" AvailableAtStart="True" AdjustVictim="False" UseDistanceFromCommandCenter="False" ChildModuleHandlesFX="False" OCL="OCL_RedemptionTrigger" CreateLocation="CREATE_AT_LOCATION" MaxCreateCount="0" NumberToSpawn="1" DestinationOCL="" RegisterObjectsWithSpecialAbilityUpdate="False"> <AttributeModifierAffects Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterMP Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterStrategic Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> </OCLSpecialPower> in the nod tech lab to that : <GrantUpgradeAreaOfEffectSpecialPower id="E8F66E5F" SpecialPowerTemplate="SpecialPower_Redemption" AntiCategory="" AntiFX="" AttributeModifier="" AttributeModifierRange="0" AttributeModifierFX="" WeatherDuration="0" InitiateFX="" TriggerFX="FX_NodCloakingField" SetModelCondition="TOPPLED" SetModelConditionTime="0s" GiveLevels="0" ChangeWeather="NORMAL" OnTriggerRechargeSpecialPower="" BurnDecayModifier="0" MaxDistanceFromCommandCenter="0" UpdateModuleStartsAttack="False" StartsPaused="False" ReEnableAntiCategory="False" AttributeModifierAffectsSelf="False" AttributeModifierWeatherBased="False" TargetEnemy="False" TargetAllSides="False" DisableDuringAnimDuration="False" IdleWhenStartingPower="False" AffectGood="False" AffectEvil="False" AffectAllies="True" AvailableAtStart="True" AdjustVictim="False" UseDistanceFromCommandCenter="False" ChildModuleHandlesFX="False" OCL="OCL_RedemptionTrigger" CreateLocation="CREATE_AT_LOCATION" MaxCreateCount="0" NumberToSpawn="1" DestinationOCL="" RegisterObjectsWithSpecialAbilityUpdate="False"> <AttributeModifierAffects Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterMP Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterStrategic Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <AcceptObjectFilter Rule="ANY" Relationship="ALLIES" Alignment="NONE" Include="INFANTRY HORDE" Exclude="AIRCRAFT HUGE_VEHICLE VEHICLE" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <UpgradeTemplate>Upgrade_Redemption</UpgradeTemplate> </GrantUpgradeAreaOfEffectSpecialPower> Correct? and if the current SP is coded then to overwrite it (will need help though because I don't remeber where to find all of it IDs that I need to replace and I never mess with the spell book) Edited August 7, 2015 by Egozi44 Share this post Link to post
Ravendark 43 Posted August 6, 2015 Basicly: * You are keeping the button, sidebar specialpower . So you dont touch the buttontemplate, the logiccommandset or the logiccommand. * You create the grant area specialpower but give it the old SpecialPower_Redemption id, That is why you dont have to alter the other things mentioned above. * In the gameobject (the nod tech building or what ever its called) you replace the oclspecialpower with the grantareaupgradespecialpower, but remove anything related to OCL="OCL_RedemptionTrigger", you dont need a ocl anymore. i would recommend removing all the other nonsense out of it that isnt used: <GrantUpgradeAreaOfEffectSpecialPower id="ModuleTag_RiseOfTheMachines" UpdateModuleStartsAttack="true" SpecialPowerTemplate="SpecialPower_Redemption" <!-- This is remanent of the cloaking specialpower, you can create your own fx later on if you want it so --> TriggerFX="FX_NodCloakingField" Radius="200"> <AcceptObjectFilter Rule="ANY" Relationship="ALLIES" Include="INFANTRY HORDE" Exclude="AIRCRAFT HUGE_VEHICLE VEHICLE" /> <UpgradeTemplate>Upgrade_Redemption</UpgradeTemplate> </GrantUpgradeAreaOfEffectSpecialPower> also remember to remove anything i posted along the lines of /** **/ or <!-- --> etc, i use it as anotations to explain why some parts of code are there...alot of the times you can't leave it in the coding as i use wrong tags or in the wrong places Share this post Link to post
Egozi44 27 Posted August 7, 2015 (edited) I see after changing the Nod Teach lab xml the SP stop working at all, the button still appear but nothing happened.... is it because it coded? or I done something wrong? if it does then I need to know what to change in each redmption related xml so it will use new SP rather then the old, but do the exact same stuff + the upgrade * You create the grant area specialpower but give it the old SpecialPower_Redemption id, That is why you dont have to alter the other things mentioned above. I already posted my try to add the GrantUpgradeAreaOfEffectSpecialPower to SpecialPower_Redemption, unless you meant to something else? * In the gameobject (the nod tech building or what ever its called) you replace the oclspecialpower with the grantareaupgradespecialpower, but remove anything related to OCL="OCL_RedemptionTrigger", you dont need a ocl anymore. However If I delete the OCL_RedemptionTrigger the effects won't start at all... Another question that rise in my head... let say I put the Redemption upgrade on unit, then the SP ended and I still didn't killed the unit... won't it cause that unit to still spawn cyborg upon death even when the player missed the chance to do so? Edited August 7, 2015 by Egozi44 Share this post Link to post