Jump to content

Bret1

Members
  • Posts

    29
  • Joined

  • Last visited

Everything posted by Bret1

  1. For more glossy effect you need to make the alpha channel values darker. Check out synthorange guide on the workshop. It is really helpful. If it still isn't glossy after you edited the textures, you can check the roughness value checkbox in the materialeditor and put a value <1 to multiply the roughness by (less roughness more glossy effect, as the surface is more "flat").
  2. i dont like the pod activation, too. like u said, it just feels so unrealistic. I didnt try the activate all pods mod, cause i fear activating all pods at the same time, but ur idea of activating only the surrounding pods could be really cool. maybe (but thats advanced modding i think ^^) have the "volume" (how many granedes rockets you use/how often u fire) of the fight play a part in the radius in which additional pods get activated. Long Story Short: Would love to see a mod like this :) So if you can figure out how to do that pleas do :D
  3. Thanks CaveRat, that was the trick. I coped the parts of that funktion that do matter and added them to my effect that adds the Ability. now the ability does work with the trigger. :smile: // Adds a Ability to a unit (if the unit doenst already have the ability) // Code is partialy copied from the "EvacAll" Mod (thanks for documenting it so nicely :) ) class X2Effect_EnsureAbilityOnUnit extends X2Effect config(LegitPsi); var X2AbilityTemplate AbilityTemplate; var name AbilityTemplateName; simulated protected function OnEffectAdded(const out EffectAppliedData ApplyEffectParameters, XComGameState_BaseObject kNewTargetState, XComGameState NewGameState, XComGameState_Effect NewEffectState) { local X2AbilityTemplateManager AbilityTemplateManager; if(AbilityTemplateName == '') { `RedScreenOnce("LegitPsi - EnsureAbilityOnUnit - AbilityTemplateName is not set"); } AbilityTemplateManager = class'X2AbilityTemplateManager'.static.GetAbilityTemplateManager(); AbilityTemplate = AbilityTemplateManager.FindAbilityTemplate(AbilityTemplateName); if(AbilityTemplate == none) { `RedScreenOnce("LegitPsi - EnsureAbilityOnUnit - AbilityTemplate " @ AbilityTemplateName @ " not found"); } EnsureAbilityOnUnit(ApplyEffectParameters.TargetStateObjectRef,AbilityTemplate,AbilityTemplateName,NewGameState); } // Ensure the unit represented by the given reference has the ability function EnsureAbilityOnUnit(StateObjectReference UnitStateRef, X2AbilityTemplate Template, name TemplateName, XComGameState NewGameState) { local XComGameState_Unit UnitState, NewUnitState; local XComGameState_Ability AbilityState; local StateObjectReference StateObjectRef; local X2TacticalGameRuleset TacticalRules; local XComGameState_Player PlayerState; local Object FilterObj, AbilityObj; local AbilityEventListener kListener; local X2AbilityTrigger Trigger; local X2AbilityTrigger_EventListener AbilityTriggerEventListener; // Find the current unit state for this unit UnitState = XComGameState_Unit(`XCOMHISTORY.GetGameStateForObjectId(UnitStateRef.ObjectID)); `Log("EnsureAbilityOnUnit" @ TemplateName,, 'LegitPsi');//` // Loop over all the abilities they have foreach UnitState.Abilities(StateObjectRef) { AbilityState = XComGameState_Ability(`XCOMHISTORY.GetGameStateForObjectID(StateObjectRef.ObjectID));//` // If the unit already has this ability, don't add a new one. if (AbilityState.GetMyTemplateName() == TemplateName) { return; } } // Construct a new unit game state for this unit, adding an instance of the ability NewUnitState = XComGameState_Unit(NewGameState.CreateStateObject(class'XComGameState_Unit', UnitState.ObjectID)); AbilityState = Template.CreateInstanceFromTemplate(NewGameState); AbilityState.InitAbilityForUnit(NewUnitState, NewGameState); NewGameState.AddStateObject(AbilityState); NewUnitState.Abilities.AddItem(AbilityState.GetReference()); NewGameState.AddStateObject(NewUnitState); //Now register the EventListerners and Triggers of the Ability TacticalRules = `TACTICALRULES;//` PlayerState = XComGameState_Player(NewGameState.GetGameStateForObjectID(NewUnitState.ControllingPlayer.ObjectID)); if (PlayerState == none) { PlayerState = XComGameState_Player(`XCOMHISTORY.GetGameStateForObjectID(NewUnitState.ControllingPlayer.ObjectID));//` } foreach Template.AbilityEventListeners(kListener) { AbilityObj = AbilityState; FilterObj = GetEventFilterObject(kListener.Filter, NewUnitState, PlayerState); `XEVENTMGR.RegisterForEvent(AbilityObj, kListener.EventID, kListener.EventFn, kListener.Deferral, /*priority*/, FilterObj);//` } foreach Template.AbilityTriggers(Trigger) { if (Trigger.IsA('X2AbilityTrigger_EventListener')) { AbilityTriggerEventListener = X2AbilityTrigger_EventListener(Trigger); FilterObj = GetEventFilterObject(AbilityTriggerEventListener.ListenerData.Filter, NewUnitState, PlayerState); AbilityTriggerEventListener.RegisterListener(AbilityState, FilterObj); } } } private function Object GetEventFilterObject(AbilityEventFilter eventFilter, XComGameState_Unit FilterUnit, XComGameState_Player FilterPlayerState) { local Object FilterObj; switch(eventFilter) { case eFilter_None: FilterObj = none; break; case eFilter_Unit: FilterObj = FilterUnit; break; case eFilter_Player: FilterObj = FilterPlayerState; break; } return FilterObj; } That is the Effect i wrote for anybody who might try something similar :smile:
  4. I want the abiltiy to trigger in death, but changed that to move, as that is easier/faster to test. I also think it looks correct as it is basicly just coped from the andromedon code... but like u said its realy hard to debug, so i hope u dont mind me picking ur code apart ;) ((love the Infantry mod btw^^))
  5. Sooo. Main goal is to add a feedback effect to the vanilla Domiante effect (if the target dies u get some dmg, maybe get disoriented or even panik). I wrote an Effect which i added to the DominateTemplate which adds an ability to the target (if the target doesnt already has the ability). This Effect works just fine, i was able to add Deadeye (the sniper skill) to a Trooper by Dominating him. Next step was to replace Deadeye with a new Ability "PsiFeedback" which triggers when the unit dies and do some dmg to the PsiOperative. The Ability (for now its only a dummy ability that gives dmg to both target and shooter) gets added to the unit by dominating just like Deadeye and works when i set the trigger to "player activated", but doesnt when i set the trigger to "X2AbilityTrigger_EventListener" with 'UnitDied' as Event. Im Testing this by loading in a TacticalMission were i have a PsiOperative (tier 3) with Dominate in concealment next to a trooper pod (first mission force lvl, so Domiante allways hits). Did you get this method to work ? if so can u send me ur code so i can copy it ? :D
  6. I looked through Lucubrations Infantry Code and he doesnt use the method that the Andromedon and the other vanilla Abilities use. He uses XComGameStates (dont ask me what this even is ^^) to listen to the Events. Next time i try to get this to work ill go through his code and try to understand it (= copy all of it ^^). Hopefully that way i can get this to work.
  7. I have removed that, still doesnt work :(
  8. X2Effect_FeedbackDamage is my own effect which does work (its only logs that its OnEffectAdded funtion is called), when i added it to other templates (i edited the vanilla dominate ability and added the effect).
  9. I am trying to create a new "passive" Ability which triggers when the unit (which has the ability) dies. I look at the Andromedon (and the Vengeance ability, as the trigger is similar) code (X2Ability_Andromedon; were the templates get created) and i copied the code, but for some odd reason the ability doesnt trigger. This is the Code that creates the Template for my ability: (I changed the 'UnitDied' to 'UnitMoveFinished' just to try if that works (it didnt), but 'UnitDies' is what i actualy want it to trigger on) static function X2AbilityTemplate PsiFeedback() { local X2AbilityTemplate Template; //local X2Effect_Vengeance VengeanceEffect; local X2Condition_UnitProperty ShooterProperty, MultiTargetProperty; local X2AbilityTrigger_EventListener Listener; local X2Effect_FeedbackDamage DmgEffect; local X2Condition_UnitProperty UnitPropertyCondition; local Object ThisObj; ThisObj = class'X2Ability_LegitPsi'; `CREATE_X2ABILITY_TEMPLATE(Template, 'PsiFeedback');//` Template.AbilitySourceName = 'eAbilitySource_Perk'; Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_AlwaysShow;//eAbilityIconBehavior_NeverShow; Template.Hostility = eHostility_Offensive; Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_soulfire"; Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_AlwaysShow; Template.AbilitySourceName = 'eAbilitySource_Psionic'; Template.AbilityToHitCalc = default.DeadEye; Template.AbilityTargetStyle = default.SelfTarget; //Template.AbilityTargetStyle = default.SimpleSingleTarget; //Template.AbilityMultiTargetStyle = new class'X2AbilityMultiTarget_AllAllies'; Listener = new class'X2AbilityTrigger_EventListener'; Listener.ListenerData.Filter = eFilter_Unit; Listener.ListenerData.Deferral = ELD_OnStateSubmitted; Listener.ListenerData.EventFn = class'XComGameState_Ability'.static.AbilityTriggerEventListener_Self; Listener.ListenerData.EventID = 'UnitMoveFinished'; //Listener.ListenerData.OverrideListenerSource = ThisObj; Template.AbilityTriggers.AddItem(Listener); DmgEffect = new class'X2Effect_FeedbackDamage'; Template.AddTargetEffect(DmgEffect); // Target must be an enemy //UnitPropertyCondition = new class'X2Condition_UnitProperty'; //UnitPropertyCondition.ExcludeDead = true; //UnitPropertyCondition.ExcludeFriendlyToSource = true; //UnitPropertyCondition.RequireWithinRange = false; //Template.AbilityTargetConditions.AddItem(UnitPropertyCondition); Template.bSkipFireAction = true; Template.bShowActivation = true; Template.BuildNewGameStateFn = TypicalAbility_BuildGameState; Template.BuildVisualizationFn = TypicalAbility_BuildVisualization; `Log("Created PsiFeedback Template"); return Template; } Im pretty new to Unreal and I hope someone finds my error [Which is probaly realy dumb ^^] :wink: EDIT: typos; added //` to make to code look good in the "code" block^^ ;
  10. is the same part in ur DIF-texture black ? i found the texture needs to black on the parts u want to make the color customisable. also, is the color in ur material set up to support that color ? u have to check the "PrimaryColor" and the "OneColorTint" (or something like that) checkboxs. (there are 2 one for activating the property (rigth next to the name) and one for the actual value of the proberty)
  11. Thouse look realy good :) Thanks for dooing this kind of mods, they make the game so much more enjoiable :)
  12. Try Changing the compression of the texture (open in texture viewer editor thingy, and look for the compression dropdown menu as one of the properties). if that doesnt help i found that some programs export strange things that u cant direcly import into unreal (when i create a texture with blender i have to import it to gimp and export it again, otherwise it looks strange ingame). Last tip i have... dont know with which programm u create ur Textures, but directly exporting them to TGA instead of PNG helps some times too. Hope this helps Kat. P.S.: actual pictures of the textures can help solving ur problem ^^ also which programm do u use ? i can tell u how to save the alpha channel so it doenst change when editing in gimp. EDIT: "Dont Edit ur posts (besides typos etc.) if someone else already awnsered. thats confusing at best." wanted to say that but didnt wanted to post again.
  13. its quite good tbh :wink: love cycles. everything looks good in cycles ^^ (just make a plane. place a qube on top. let it render. ART. so beautiful) EDIT: added img (took 30 secounds to make (render time exclusive)^^)
  14. if someone is interest in making such a mod, i would happily "create" (rip the head of of a sectoid and fill the inside of the mesh^^ [like in my mod]) the models... im just no good at unreal script and such, but i know blender a bit ;)
  15. I made a better material than just the "apply Diffusemap". It takes all the different textures of a model, as on many models the details are in the normal and ambient occlusion map and i wanted a better visual of how the model looks ingame. Also i found that Cycles is way better than standard blender renderer. If you got the object already in blender, the rest is easy ^^. First u need to add a lamp (if u dont already have one). Next up u need to just delete the material the object has (as the one that unreal exports is just crap) and make a new one. when u go in the node editor of the material, this is how mine looks (you can make one with only the defuse but then the roghness effect (the alpha channel of the DIF texture), which makes the model glossy is not applied). this material only takes the Ambient Occlusion Part of the MSK texture, ofc thats not accuate at all but it works for the most part. The Normalmap gets inverted as blender wants a blue one and Unreal gives you yellow ones ^^. Hope this helps Kat. EDIT: forgot a connection in the Material
  16. ill upload again this time hopefully right version. probably made a missclicked on an old backup -.-
  17. I made a Guide. Things shown are not testes extensively, but ill update the guide if i find bugs. Add costom prop icons like the DLC (http://steamcommunity.com/sharedfiles/filedetails/?id=649017632)
  18. I know its possible to upload big mods... its ob my end, my internet is unstable atm and the upload allways stops. I have no problem with someone with reasonable internet uploading it here for me (dont know if u are able to have 2 Admins on one mod, but new mod would be fine too). ...Thanks for the tagging tut... will defently do that :) Kat.
  19. jea that i dont like either, also u cant tag the mods which is super bad imo, cause i dont want to look at >100000 shitty voicepacks (although i got like 20 of them^^) b4 finding an actual interesting mod. But the some of the good things about the workshop is that u dont need to reupload the whole mod every time u update something / fix stuff as it only uploades the things you actualy changed. with xcom i dont think its that bad tho... the autoupdating sucs, i think it should be toggelable per mod, so you dont loose all the .ini tweaking. But I also like dont having to update manually every time someone adds a prop to his/her mod. Pros 'n Cons every fukn time ;)
  20. As i wrote in the descripton of my steam mod (were u find the nexus link to an older version), i cant upload to nexus cause the mod is too big (half a gig) and it wount let me. If u want the mod then subscribe -> download -> take the folder (which is normaly at "...\Steam\SteamApps\workshop\content\268500\616824432" ) and put it in ur mod directory -> unsubscribe. I can understand that the steam workshop is not the best modding platform, but just boycotting it doesn't change that either. Happy Modding Kat. (Dont know why u cant change names here)
  21. I made a toothpick... isn't uploaded yet as I need to tone down the texture, but will do that in a bit :smile: http://steamcommunity.com/sharedfiles/filedetails/?id=616824432 I think it would be better to write such suggestion under the mods (I speak for myself here;) do not know about other autors (Capnbubs igoners them as he only makes his own idears, i think)) even if they don't get picked up. Thats way easier to find, cause u get a message :wink: The toothpick itself took 3 min to make and getting it in the mod kit takes 10... if I had the idear earler I would have done it sooner :wink: PS:btw adding is way more easy than changing out exiting stuff, as u actualy need to add ur stuff AND delete the old ones. EDIT: I uploaded the Prop :)
  22. in the mod shader chache the precompiled shaders are saved... thouse are nessesary for all mods that add models with new materials (also re-textures of existing stuff)... there is a bug with that tho; modbudy just saves a bunch of extra shaders in that file that are not needed (at least not for the specific mod). What you could do is check if the modshadercache is about 85mb big (which is most/all of the time too big). if its smaler its ok. so far (i have only started the game twice with ur launcher) everything else looks good :wink: Edit:Typos/grammar;)
  23. The side says i need a key and should request it from the link owner ;)
  24. looks realy good ! i hate the vanilla launcher as it always forgets wich mods were activated when u start the game form the Dev-kit. And reactivating takes forever with this little window...
  25. thats the problem ... i have not realy looked into skript modding (I moded a bit for skyrim but thats way easier ^^)... thats why i asked, and hoped somebody already figuerd it out so i can "copy" that. Guess ill try to understand skripts then ;) thanks
×
×
  • Create New...