Jump to content

Gawesome

Premium Member
  • Posts

    17
  • Joined

  • Last visited

Nexus Mods Profile

About Gawesome

Profile Fields

  • Country
    United States

Recent Profile Visitors

221 profile views

Gawesome's Achievements

Apprentice

Apprentice (3/14)

  • Dedicated
  • Collaborator
  • First Post
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Thank you! That worked perfectly. LegendDarkness97, since you suggested this method, does this mean that there is no way to update a master list of research projects at this time? My guess is that the files under game\progression\crafting reference these individual "researchproject_*" files. In this directory, I see a lot of "researchnode_milkyway_weapon_*" entries, but none for the Halberd. So if I'm right, we'd have to gain the ability to create new files before being able to do this properly.
  2. Thank you! That worked perfectly. LegendDarkness97, since you suggested this method, does this mean that there is no way to update a master list of research projects at this time?
  3. As far as I can tell, a research item does exist for the item, but I have yet to find a working method. My first attempt involves modifying the _lootdrop_freeporjects_tier* files in game\loot\tables\projects\special. These files appear to contain a list of all the items that are instantly craftable for players (such as the Avenger I-X rifles). I attempted to replace all entries for Avenger with researchproject_weapon_assaultrifle_lotigtech_*, but so far it hasn't changed anything in-game. Very confusing.
  4. I'd like to find a way to add the Halberd assault rifle as a researchable item. Does anybody know how this may be done? Just getting my feet wet with Frosty right now.
  5. I am, though it doesn't seem to have any effect. It's very frustrating...
  6. I have a class mod that has several abilities that provide damage bonuses. I'm trying to provide users with a configurable INI setting to allow for variable results. I've tried it two ways: 1) Add a constant meant to be toggled. In this example, SMG_Penalty defaults to 1. I want it so that if users edit the value in the ini to be 0, then my damage bonus scripts provide a different result. In my tests, I can only get the different damage bonuses if I build the project, not by just saving the .ini file with a different value. 2. Add a new ability that the player can assign to the class data. I scripted my damage bonus effects a different way and forked the damage bonus results based on whether or not the player had an ability. The idea was the users would be able to edit my mod's XComClassData.ini to give their class a different ability: [spectreClass X2SoldierClassTemplate] ;;+SoldierRanks=( aAbilityTree=( (AbilityName="StalkerAR", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) +SoldierRanks=( aAbilityTree=( (AbilityName="Stalker", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) (Note: SolderRanks entries above left incomplete intentionally, this is just to illustrate what I mean in this message). So the goal was to make it so that a user could uncomment the 1st line and comment out the 2nd line. This would then give them a different starting (squaddie) ability, which would then produce different damage bonus results in the class abilities. Again, in this case, I can only get the results I want by building the project. This is very confusing, as I've seen other mods out there that allow users to edit .ini files to affect parameters of class abilities, like cooldown values. What is it that I'm doing incorrectly?
  7. I'm trying to see if there's a way to look up specific equipped weapons on characters to ensure that certain player abilities don't work fully work unless conditions are met. In my specific case, I'd like to enforce SMG Pack usage on my character class by making abilities only partially effective when characters are equipped with non-SMGs. For instance, if I have an ability that grants bonus damage on a shot, I'd like to conditionalize that bonus damage such that it only applies if a SMG is equipped. Since SMGs aren't distinct weapon categories, I'm hoping that I can look up specific SMG types in script, but I don't know of any way to do so. Anybody out there have any luck doing so?
  8. Yeah, that's what I ended up doing. I wanted it all taken care of in a single ability to make the presentation cleaner, but decided it's not worth the time investment to mimic that presentation. :)
  9. Thanks Prowler, appreciate the info. Kregano, I didn't do anything dramatic. I just set the user to have damage, crit and aim bonuses while in concealment. Your automatic overwatch shot idea sounds pretty cool.
  10. I created an ability that is similar to Phantom, but with some additional properties. While it does keep its owner concealed when the group is spotted, I just noticed that it is not bestowing automatic concealment at level start on those missions in which the group doesn't start concealed. This leads me to think that there's code somewhere that is checking not for the presence of "X2Effect_StayConcealed," but for the actual ability itself. I'm trying to find where this is designated, assuming it's true, so that I can add my new ability to that check and replicate the effect. Does anyone know if I can do this or where I should look?
  11. fxsjosh, I spent a little time trying your method, and it doesn't seem to work. I set up the ability such that player picks the enemy target. It then uses Ability A (modifies detection radius) first, before triggering Ability B (the attack). Immediately as Ability A is used, the player is spotted by the enemy. I think the game determines whether or not the player is spotted immediately after an ability that has selected an enemy target fires. That's my guess, since I know that running a different ability that I created which targets the player and reduces detection radius to 0 works just fine. This isn't a problem I need to solve at the moment, but just wanted to follow up.
  12. fxsjosh, the issue is that without reducing enemy detection radius, concealed players will always be spotted by enemies as they close in for a sword attack, which thus ends concealment. AFAIK, eConceal_KillShot requires you to be concealed at the time of the kill.
  13. Could use some advice for a custom ability. I'm trying to apply this effect at the beginning of a sword attack ability: PersistentEffect = new class'X2Effect_PersistentStatChange';PersistentEffect.BuildPersistentEffect(1, false, false);PersistentEffect.AddPersistentStatChange(eStat_DetectionModifier, 1.0f);PersistentEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage,,,Template.AbilitySourceName);Template.AddShooterEffect(PersistentEffect); I've read that, when attaching enemy detection radius modifiers to an activated attack ability, the actual detection radius change won't take place during the attack, and this bears out in my testing. Is there another method I can use to accomplish this? I'm trying to make a sword attack ability that, for the duration of the attack, reduces enemy detection radius to 0 (though I'm willing to accept the effect lasting for a full turn, as it is currently set up to do). The goal is to give concealed players the ability to stay in concealment if the attack results in a kill. Everything I've set up works for this attack, but I can't figure out a way to get the enemy detection aspect to activate during the attack.
  14. I've been trying to create an ability but have run into a roadblock and would love some help with my code. The ability is called Wraithstrike, and it is a sword attack meant to allow the player to maintain concealment if the target is killed. As part of that, the ability is supposed to reduce enemy detection radius to nothing for the duration of the attack (or the player's turn... I don't actually know how to limit it just to the attack right now). Here's the snippet of code that controls the detection radius: PersistentEffect = new class'X2Effect_PersistentStatChange';PersistentEffect.BuildPersistentEffect(1, false, false);PersistentEffect.AddPersistentStatChange(eStat_DetectionModifier, 1.0f);PersistentEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage,,,Template.AbilitySourceName);Template.AddShooterEffect(PersistentEffect); For whatever reason, it doesn't work. Now, if I add this code to a passive ability that the player gets, it does work. I've run tests in which I've started a mission with this effect set to be forever active, and nobody can detect the player unless he attacks. But when attached to a sword attack ability, it doesn't seem to ever go into effect. I've tried setting the BuildPersisteEffect() to actually run forever, and that didn't work either. Does anyone have any ideas what I'm doing wrong? For reference, here is the full ability function: static function X2AbilityTemplate Wraithstrike(){local X2AbilityTemplate Template; local X2AbilityCost_SwiftBladeActionPoints ActionPointCost;local X2Effect_ApplyWeaponDamage WeaponDamageEffect;local array<name> SkipExclusions;local X2AbilityCooldown Cooldown;local X2AbilityToHitCalc_StandardMelee StandardMelee;local X2AbilityToHitCalc_StandardAim ToHitCalc;local X2Effect_Sunder SwordEffect;local X2Effect_PersistentStatChange PersistentEffect; `CREATE_X2ABILITY_TEMPLATE(Template, 'Wraithstrike'); Template.AdditionalAbilities.AddItem('WraithstrikeDamage'); // Icon PropertiesTemplate.IconImage = "img:///UILibrary_PerkIcons.UIPerk_bulletshred";Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY;Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_AlwaysShow;Template.AbilitySourceName = 'eAbilitySource_Perk';Template.DisplayTargetHitChance = true;Template.AbilityConfirmSound = "TacticalUI_SwordConfirm"; SwordEffect = new class'X2Effect_Sunder';SwordEffect.BuildPersistentEffect(1, false, false);SwordEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage,,,Template.AbilitySourceName);Template.AddShooterEffect(SwordEffect); // Activated by a button press; additionally, tells the AI this is an activatableTemplate.AbilityTriggers.AddItem(default.PlayerInputTrigger); // *** VALIDITY CHECKS *** //// Normal effect restrictions (except disoriented)SkipExclusions.AddItem(class'X2AbilityTemplateManager'.default.DisorientedName);Template.AddShooterEffectExclusions(SkipExclusions); // Target Conditions//Template.AbilityTargetConditions.AddItem(default.LivingHostileTargetProperty);Template.AbilityTargetConditions.AddItem(default.MeleeVisibilityCondition); SkipExclusions.AddItem(class'X2StatusEffects'.default.BurningName);Template.AddShooterEffectExclusions(SkipExclusions); // Shooter Conditions//Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);SkipExclusions.AddItem(class'X2StatusEffects'.default.BurningName);Template.AddShooterEffectExclusions(SkipExclusions); // Damage Effect WeaponDamageEffect = new class'X2Effect_ApplyWeaponDamage';Template.AddTargetEffect(WeaponDamageEffect); ActionPointCost = new class'X2AbilityCost_SwiftBladeActionPoints';ActionPointCost.iNumPoints = 1;ActionPointCost.bMoveCost = true;ActionPointCost.bConsumeAllPoints = true;Template.AbilityCosts.AddItem(ActionPointCost); Cooldown = new class'X2AbilityCooldown';Cooldown.iNumTurns = default.SUNDER_COOLDOWN;Template.AbilityCooldown = Cooldown; // Reduce detection radiusPersistentEffect = new class'X2Effect_PersistentStatChange';PersistentEffect.BuildPersistentEffect(1, false, false);PersistentEffect.AddPersistentStatChange(eStat_DetectionModifier, 1.0f);PersistentEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage,,,Template.AbilitySourceName);Template.AddShooterEffect(PersistentEffect); //ToHitCalc = new class'X2AbilityToHitCalc_StandardAim';//ToHitCalc.FinalMultiplier = default.SUNDER_AIM_MULTIPLIER;//Template.AbilityToHitCalc = ToHitCalc; // Weapon Upgrade CompatibilityTemplate.bAllowFreeFireWeaponUpgrade = true; // Flag that permits action to become 'free action' via 'Hair Trigger' or similar upgrade / effects Template.bAllowBonusWeaponEffects = true;Template.bSkipMoveStop = true; StandardMelee = new class'X2AbilityToHitCalc_StandardMelee';StandardMelee.bHitsAreCrits = false;Template.AbilityToHitCalc = StandardMelee; // Targeting MethodTemplate.AbilityTargetStyle = new class'X2AbilityTarget_MovingMelee';Template.TargetingMethod = class'X2TargetingMethod_MeleePath';Template.bUsesFiringCamera = true;Template.CinescriptCameraType = "Ranger_Reaper"; // Voice eventsTemplate.ActivationSpeech = 'BulletShred';Template.SourceMissSpeech = 'SwordMiss'; // MAKE IT LIVE! Template.BuildNewGameStateFn = TypicalMoveEndAbility_BuildGameState;Template.BuildInterruptGameStateFn = TypicalMoveEndAbility_BuildInterruptGameState; Template.BuildVisualizationFn = TypicalAbility_BuildVisualization; //Conceal upon killshotTemplate.ConcealmentRule = eConceal_KillShot; Template.bCrossClassEligible = false; return Template; } static function X2AbilityTemplate WraithstrikeDamage(){local X2AbilityTemplate Template;local X2Effect_DeadeyeDamage DamageEffect; // Icon Properties`CREATE_X2ABILITY_TEMPLATE(Template, 'WraithstrikeDamage');Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_momentum"; Template.AbilitySourceName = 'eAbilitySource_Perk';Template.eAbilityIconBehaviorHUD = EAbilityIconBehavior_NeverShow;Template.Hostility = eHostility_Neutral; Template.AbilityToHitCalc = default.DeadEye;Template.AbilityTargetStyle = default.SelfTarget;Template.AbilityTriggers.AddItem(default.UnitPostBeginPlayTrigger); DamageEffect = new class'X2Effect_DeadeyeDamage';DamageEffect.BuildPersistentEffect(1, true, false, false);DamageEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage, false,,Template.AbilitySourceName);Template.AddTargetEffect(DamageEffect); Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;// NOTE: No visualization on purpose! return Template;}
×
×
  • Create New...