Krazyguy75 Posted September 14, 2013 Share Posted September 14, 2013 I've been looking through the data on characters, but I'm a little confused on how exactly perks are defined. I can see the functions that detect perks, assign perks, etc, but where exactly does it determine what perks each alien type has? Link to comment Share on other sites More sharing options...
johnnylump Posted September 15, 2013 Share Posted September 15, 2013 Presuming you are asking about vanilla perks (and not modding in x-com perks for aliens), check the characters= entry for each alien in the DGC.ini file, specifically the Property and Ability assignments. Link to comment Share on other sites More sharing options...
Krazyguy75 Posted September 15, 2013 Author Share Posted September 15, 2013 Ah, did not realize that properties and abilities were equal to perks. That makes my coding substantially easier. Ultimately, I want to add in perks, but that's a long term goal, not what I was asking about right now. Is there a property/ability for every perk, then? Link to comment Share on other sites More sharing options...
johnnylump Posted September 15, 2013 Share Posted September 15, 2013 No, I'm afraid it's not so nicely organized. See XcomGame.upk >> XGTacticalGameCoreData >> eAbiltiy and eProperty enumerations for list of abilities, with the caveat that there's no promise all of them work or are easily plug and play into different aliens. The eperks are enumerated in XGTacticalGameCoreNativeBase. Link to comment Share on other sites More sharing options...
Krazyguy75 Posted September 15, 2013 Author Share Posted September 15, 2013 Hey, if some don't work, that'll make adding new ones easier :) But I found those, thanks. Now I'm looking at the character stats and wondering if it uses quite a few of them in native coding or not... Like Strength (.aStats[4]) Psidefense (.aStats[6]), Applied Suppression (.aStats[8]), Low Cover Bonus (.aStats[9]), Weapon Range (.aStats[11]), Critical Wounds Received (.aStats[15]), Close Combat (.aStats[16]). I can't find references, but I think some of them might be in the native coding. I'm under the impression that people think CritHit and CritWound are used, and that Psionics is unused, but the rest of the stats I've not even heard anything about. Link to comment Share on other sites More sharing options...
Amineri Posted September 15, 2013 Share Posted September 15, 2013 (edited) The stat meaning are defined in XGTacticalGameCoreData: enum ECharacterStat { eStat_HP, eStat_Offense, eStat_Defense, eStat_Mobility, eStat_Strength, eStat_Psi, eStat_PsiDefense, eStat_Will, eStat_AppliedSuppression, eStat_LowCoverBonus, eStat_SightRadius, eStat_WeaponRange, eStat_Damage, eStat_CriticalShot, eStat_CriticalWoundChance, eStat_CriticalWoundsReceived, eStat_CloseCombat, eStat_FlightFuel, eStat_Reaction, eStat_MAX }; As far as I've been able to determine, stats 4 through 6 (Strength, Psi, and Psi Defense) are no longer used. These are likely from an earlier version of the game which was more similar to the OG. Eventually they got rid of the more complex inventory system so Strength wasn't needed. Psi (presumable attack) and Psi Defense ended up rolled up into the Will stat that's used for both Psi attacks, Psi defense, and morale events. Long War uses the Strength stat to store the character's damage reduction, and I'd made a mod floating around that allowed setting and using the Psi stat to hold a unit's regeneration stat, although this isn't in Long War. CriticalWoundsReceived basically acts as a boolean currently. It increments if a soldier is critically wounded and then stabilized/revived, or if the mission is won before the soldier bleeds out. If a soldier has even been critically wounded before than the soldier cannot be critically wounded again -- the subsequent test automatically fails. The AppliedSuppression (stat 8 ) doesn't appear to be used in the upk code. However, it may be used "behind the scenes". I haven't tested whether it can be used. Similarly the LowCoverBonus (stat 9) doesn't appear to be used in the upk code. However, all of the cover bonus calculations are in the native code, so this could be getting used somewhere. SightRadius (stat 10) is commonly used, but the WeaponRange(stat 11) isn't used in the upk code. The WeaponDamage stat (stat 12) is how extra bonus damage defined in the difficulty-based DGC.ini is applied to aliens. When you specify +1 damage to Outsiders, for example, that "1" value ends up in stat 12. It tends to not be used for XCOM soldiers/SHIVs. Similarly difficulty-based config bonus critical chance is storred in the CriticalShot (stat 13). The CriticalWoundChance (stat 14) is configured from the CritWoundChance config variable in the Characters definitions, but does not appear to have any affect on critical wound chance. Critical Wounding is all checked in the upk (and I've modded it before), so this variable is likely not doing anything. CloseCombat (stat 16) doesn't appear to have any function in the upk, but I haven't tested it. FlightFuel (stat 17) does the obvious :smile: The Reaction stat isn't used in the vanilla game. However, reaction fire (as in the OG) can be turned on so that soldiers can react based on their reaction stat instead of just when on overwatch. Aliens too. Some perks give extra bonus reaction as well (rapid reaction, for one). If this is enabled then the stat will work as advertised ... higher reaction = higher chance to take reaction shot if an enemy moves. Edited September 15, 2013 by Amineri Link to comment Share on other sites More sharing options...
Krazyguy75 Posted September 15, 2013 Author Share Posted September 15, 2013 Thanks, I'd looked at the enum, that's how I got the names. Seems some testing's needed. Hopefully I'll get around to it. Link to comment Share on other sites More sharing options...
Recommended Posts