Skip to content

Commit

Permalink
Some fixes and more augmention wip
Browse files Browse the repository at this point in the history
  • Loading branch information
Musashi1584 committed Dec 13, 2017
1 parent 97d907b commit 236050b
Show file tree
Hide file tree
Showing 27 changed files with 521 additions and 67 deletions.
Binary file added Assets/Inv_Augmentation_CyberClaws.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Assets/LoadoutAugmenations.xcf
Binary file not shown.
Binary file added Assets/TECH_Nanofiber_Materials.TGA
Binary file not shown.
Binary file modified RPG.v12.XCOM_suo
Binary file not shown.
25 changes: 25 additions & 0 deletions RPG/Config/Augmentations/XComAugmentations.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
[Augmentations.X2Ability_Augmentations_Abilities]
AUGMENTATION_BASE_MITIGATION_AMOUNT=1

[Augmentations.X2Item_Augmentations]
CLAWS_BASEDAMAGE=(Damage=7, Spread=1, PlusOne=0, Crit=3, Pierce=2, Shred=1, Tag="", DamageType="Melee")
CLAWS_AIM=20
CLAWS_CRITCHANCE=10
CLAWS_ICLIPSIZE=0
CLAWS_ISOUNDRANGE=0
CLAWS_IENVIRONMENTDAMAGE=5
CLAWS_UPGRADE_SLOTS=4

+AugmentationSlots = eInvSlot_AugmentationHead
+AugmentationSlots = eInvSlot_AugmentationTorso
+AugmentationSlots = eInvSlot_AugmentationArms
+AugmentationSlots = eInvSlot_AugmentationLegs

+SlotConfig = (InvSlot=eInvSlot_AugmentationHead, Category=augmentation_head)
+SlotConfig = (InvSlot=eInvSlot_AugmentationTorso,Category=augmentation_torso)
+SlotConfig = (InvSlot=eInvSlot_AugmentationArms, Category=augmentation_arms)
+SlotConfig = (InvSlot=eInvSlot_AugmentationLegs, Category=augmentation_legs)

[Augmentations.X2DownloadableContentInfo_Augmentations]
+SocketReplacements=(TorsoName="Default", SocketMeshString="Sockets_Augmentions.Meshes.SM_Head_And_Sockets_M", Female=false)
+SocketReplacements=(TorsoName="Default", SocketMeshString="Sockets_Augmentions.Meshes.SM_Head_And_Sockets_F", Female=true)
19 changes: 18 additions & 1 deletion RPG/Config/Augmentations/XComGameData.ini
Original file line number Diff line number Diff line change
@@ -1,2 +1,19 @@
[XComGame.X2ItemTemplateManager]
ItemCategories=augmentation
+ItemCategories=augmentation_head
+ItemCategories=augmentation_torso
+ItemCategories=augmentation_arms
+ItemCategories=augmentation_legs

+WeaponCategories=cyberclaws

[XComGame.XGStrategy]
+DEBUG_StartingItems=AugmentationHead_Base_CV

+DEBUG_StartingItems=AugmentationTorso_Base_CV

+DEBUG_StartingItems=AugmentationLegs_Base_CV

+DEBUG_StartingItems=AugmentationArms_Base_CV
+DEBUG_StartingItems=AugmentationArms_Claws_MG
+DEBUG_StartingItems=AugmentationArms_Grapple_MG

4 changes: 0 additions & 4 deletions RPG/Config/XComGameData.ini
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,3 @@
+DEBUG_StartingItems=AlloyBlade_Adv
+DEBUG_StartingItems=AlloyBlade_Sup

+DEBUG_StartingItems=AugmentationHead
+DEBUG_StartingItems=AugmentationTorso
+DEBUG_StartingItems=AugmentationLegs
+DEBUG_StartingItems=AugmentationArms
7 changes: 6 additions & 1 deletion RPG/Config/XComGameData_SoldierSkills.ini
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
[XComGame.X2Effect_TheLostHeadshot]
+ValidHeadshotAbilities=AutoFireShot
+ValidHeadshotAbilities=AutoFireShot


[XComGame.X2Ability_ReaperAbilitySet]
-HomingMineRadius=2.5f
+HomingMineRadius=3.0f
2 changes: 1 addition & 1 deletion RPG/Config/XComGameData_WeaponData.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[XComGame.X2Item_DefaultGrenades]
-FIREGRENADE_RADIUS=3
+FIREGRENADE_RADIUS=4
+FIREGRENADE_RADIUS=3.5f

-FRAGGRENADE_RADIUS=3
+FRAGGRENADE_RADIUS=4
Expand Down
4 changes: 3 additions & 1 deletion RPG/Config/XComRPG.ini
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ AutoPistolCritChanceBonus=20
+AbilityWeaponCategoryRestrictions = (AbilityName=SwordSlice, WeaponCategories=(sword))
+AbilityWeaponCategoryRestrictions = (AbilityName=Blademaster, WeaponCategories=(sword))

+AbilityWeaponCategoryRestrictions = (AbilityName=SkirmisherGrapple, WeaponCategories=(gauntlet))
+AbilityWeaponCategoryRestrictions = (AbilityName=Reckoning, WeaponCategories=(wristblade))
+AbilityWeaponCategoryRestrictions = (AbilityName=SkirmisherGrapple, WeaponCategories=(wristblade))
+AbilityWeaponCategoryRestrictions = (AbilityName=Justice, WeaponCategories=(wristblade))
+AbilityWeaponCategoryRestrictions = (AbilityName=SkirmisherVengeance, WeaponCategories=(wristblade))
+AbilityWeaponCategoryRestrictions = (AbilityName=Whiplash, WeaponCategories=(wristblade))
Expand Down Expand Up @@ -101,6 +102,7 @@ AutoPistolCritChanceBonus=20

+MutuallyExclusiveAbilities = (Abilities=(RunAndGun, LightEmUp))
+MutuallyExclusiveAbilities = (Abilities=(RpgZoneOfControl, HighNoon))
+MutuallyExclusiveAbilities = (Abilities=(EverVigilant, DeepCover))

VERY_SHORT_RANGE[0]=0
VERY_SHORT_RANGE[1]=40
Expand Down
Binary file not shown.
Binary file not shown.
Binary file added RPG/Content/Augmentations/Sockets_Augmentions.upk
Binary file not shown.
Binary file modified RPG/Content/Augmentations/UILibrary_Augmentations.upk
Binary file not shown.
51 changes: 38 additions & 13 deletions RPG/Localization/Augmentations/XComGame.int
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,47 @@ m_strInventoryLabels[eInvSlot_AugmentationTorso]=TORSO
m_strInventoryLabels[eInvSlot_AugmentationArms]=ARMS
m_strInventoryLabels[eInvSlot_AugmentationLegs]=LEGS

[AugmentationHead X2EquipmentTemplate]
FriendlyName="Cybernetic Skull"
FriendlyNamePlural="Cybernetic Skull"
[AugmentationHead_Base_CV X2EquipmentTemplate]
FriendlyName="<font color='#00e0d5'><b>Cybernetic Skull</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cybernetic Skull</b></font>"
BriefSummary="Cybernetic Skull"
TacticalText="<Bullet/>"

[AugmentationTorso X2EquipmentTemplate]
FriendlyName="Cybernetic Torso"
FriendlyNamePlural="Cybernetic Torsos"
[AugmentationTorso_Base_CV X2EquipmentTemplate]
FriendlyName="<font color='#00e0d5'><b>Cybernetic Torso</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cybernetic Torsos</b></font>"
BriefSummary="Cybernetic Torso"
TacticalText="<Bullet/>"

[AugmentationArms X2EquipmentTemplate]
FriendlyName="Cybernetic Arms"
FriendlyNamePlural="Cybernetic Arms"
[AugmentationArms_Base_CV X2EquipmentTemplate]
FriendlyName="<font color='#00e0d5'><b>Cybernetic Arms</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cybernetic Arms</b></font>"
BriefSummary="Cybernetic Arms"
TacticalText="<Bullet/>"

[AugmentationLegs X2EquipmentTemplate]
FriendlyName="Cybernetic Legs"
FriendlyNamePlural="Cybernetic Legs"
BriefSummary="Cybernetic Legs"
[AugmentationLegs_Base_CV X2EquipmentTemplate]
FriendlyName="<font color='#00e0d5'><b>Cybernetic Legs</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cybernetic Legs</b></font>"
BriefSummary="Cybernetic Legs"
TacticalText="<Bullet/>"

[AugmentationArms_Grapple_MG X2EquipmentTemplate]
FriendlyName="<font color='#00e0d5'><b>Cybernetic Grapple</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cybernetic Grapple</b></font>"
BriefSummary="Cybernetic Grapple"
TacticalText="<Bullet/>"

[AugmentationArms_Claws_MG X2PairedWeaponTemplate]
FriendlyName="<font color='#00e0d5'><b>Cyberclaws</b></font>"
FriendlyNamePlural="<font color='#00e0d5'><b>Cyberclaws</b></font>"
BriefSummary=""
TacticalText="<Bullet/>"
AbilityDescName="Cyberclaws"


[ClawsSlash X2AbilityTemplate]
LocFriendlyName="Claw Slash"
LocLongDescription="Melee slash that does not end turn if you have action points left."
LocHelpText="Melee slash that does not end turn if you have action points left."
LocFlyOverText="Claw Slash"
LocPromotionPopupText="Melee slash that does not end turn if you have action points left."
Binary file modified RPG/Localization/XComGame.int
Binary file not shown.
18 changes: 18 additions & 0 deletions RPG/RPG.x2proj
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ tags=Gameplay, Soldier Class, Overhaul, RPG, Weapon, Item</Description>
<Folder Include="Src\XCOM2RPGOverhaul\Classes\" />
</ItemGroup>
<ItemGroup>
<Content Include="Config\Augmentations\XComAugmentations.ini">
<SubType>Content</SubType>
</Content>
<Content Include="Config\Augmentations\XComGameData.ini">
<SubType>Content</SubType>
</Content>
Expand Down Expand Up @@ -94,6 +97,15 @@ tags=Gameplay, Soldier Class, Overhaul, RPG, Weapon, Item</Description>
<Content Include="Config\XComStealthOverhaul.ini">
<SubType>Content</SubType>
</Content>
<Content Include="Content\Augmentations\AnimationsMaster_Augmentations.upk">
<SubType>Content</SubType>
</Content>
<Content Include="Content\Augmentations\CyberClaws_Augmentations.upk">
<SubType>Content</SubType>
</Content>
<Content Include="Content\Augmentations\Sockets_Augmentions.upk">
<SubType>Content</SubType>
</Content>
<Content Include="Content\Augmentations\UILibrary_Augmentations.upk">
<SubType>Content</SubType>
</Content>
Expand Down Expand Up @@ -145,6 +157,12 @@ tags=Gameplay, Soldier Class, Overhaul, RPG, Weapon, Item</Description>
<Content Include="Src\Augmentations\Classes\UIArmory_Augmentations.uc">
<SubType>Content</SubType>
</Content>
<Content Include="Src\Augmentations\Classes\X2Ability_Augmentations_Abilities.uc">
<SubType>Content</SubType>
</Content>
<Content Include="Src\Augmentations\Classes\X2DownloadableContentInfo_Augmentations.uc">
<SubType>Content</SubType>
</Content>
<Content Include="Src\Augmentations\Classes\X2EventListener_Augmentations_MainMenu.uc">
<SubType>Content</SubType>
</Content>
Expand Down
14 changes: 7 additions & 7 deletions RPG/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- Replaces vanilla classes with a single class with 14 specializations with 7 ranks each for a total of 98 abilities to choose from
- The new class can choose from all primary and all secondary weapons (including LW2 secondaries). Every combination is possible.
- Dynamic class title / class icon based on your ability choices
- 2 random starting abilties on squaddie
- 2 random starting abilitieson squaddie
- Stats can be upgraded with ability points
- All secondary weapon abilities work regardless of the inventory slot (e.g fan fire with pistols in the utility slot).
- Weapon and Attachment mechanics got revamped to have a more focused role for each weapon
Expand All @@ -25,25 +25,25 @@ I recommend to play this mod with the following mods:

[h1]About this overhaul[/h1]
The idea of this mod was born out of my passion for oldschool rpg games.
I thought it would be cool to develope every single soldier in every way you want and give it every weapon or item you want.
I thought it would be cool to develop every single soldier in every way you want and give it every weapon or item you want.

So here it is. The mod replaces the vanilla class by one class starting as "Soldier".

The Soldier class can use every weapon (supporting Primary Secondaries, LW2 Secondary Weapons and Utility Slot Sidearms).

This class has 14 rows of abilities (named specializations) with 7 ranks each (98 abilities total) to choose from. I am planning to even expand on this.

When your soldier evolves your class name and icon changes dynamicly to the specialization you have the most perks from.
When your soldier evolves your class name and icon changes dynamicallyto the specialization you have the most perks from.

On squaddie your soldier will get two random starting abilities from a pool to give each soldier an idea to where he/she could be deveveloped.
On squaddie your soldier will get two random starting abilities from a pool to give each soldier an idea to where he/she could be developed.

Any combination of abilities and weapons are possible. For example you can create a cannon wielding medic, a gunslinging grenadier, sniper with ripjack or whatever you can imagine.

Most abilities work with each weapon, the secondary weapon abilities work with their associated secondary regardless if it is in the primary, secondary or utility slot (if you are using Utility Slot Sidearms WOTC)

Another big change is the possibility to upgrade the soldiers stats with ability points. Therefor i designed a completely new ui screen.

For overall balance and because i wanted to i overhauled the weapon mechanics and how most weapon attachements work.
For overall balance and because i wanted to i overhauled the weapon mechanics and how most weapon attachments work.

[h1]Soldier AP[/h1]
Since you can raise stats with Soldier AP the rank up AP bonus is raised to 30
Expand Down Expand Up @@ -72,7 +72,7 @@ The ability point rewards are doubled and the mission cap is raised from 2 to 10
- All weapons get 3 upgrade slots
- Assault Rifles get Autofire ability (Fire a long burst at a target that does +1 damage per ammo left in the clip. The shot is less accurate against targets in cover, consumes full clip, destroys cover but cannot be dodged. Needs 2 action points and 3 ammo minimum to be activated.).
- Sniper Rifles give Squadsight ability and can be fired after moving (overwatch still needs 2 AP).
- Cannons get Autofire and Supression ability, have increased damage and clip size but get a -25% mobility penalty.
- Cannons get Autofire and Suppression ability, have increased damage and clip size but get a -25% mobility penalty.
- Shotguns are very accurate but *damage* drops of with distance and also get reduced by cover to a minimum 1 damage.
- Vektor rifles get the chance of staying concealed (they have a integrated basic suppressor)
- Bullpup Rifles get +1 clip size, get the Autofire ability and standard shots are not turn-ending
Expand Down Expand Up @@ -143,7 +143,7 @@ A full documentation of all abilities can be found [url=https://docs.google.com/

[h1]Credits[/h1]
Pavonis Interactive for all long war 2 perks i used and initial Detailed Soldier Lists.
Robojumper for the stats icons i used in the stats upgrade screen, some class icons, controller support and coding assistence when i was stuck.
Robojumper for the stats icons i used in the stats upgrade screen, some class icons, controller support and coding assistance when i was stuck.
xylthixlm for xmod base and the perk icon library. Fantastic work and a tremendous workload reduction.
creative xenos for being that crazy chaotic creative bunch of great people that they are.
bg for [WOTC] Detailed Soldier Lists
Expand Down
21 changes: 10 additions & 11 deletions RPG/Src/Augmentations/Classes/UIArmory_Augmentations.uc
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
class UIArmory_Augmentations extends UIArmory_Loadout;

var protected array<EInventorySlot> AugmentationSlots;

simulated function UpdateEquippedList()
{
local int i, numUtilityItems;
Expand All @@ -19,20 +17,14 @@ simulated function UpdateEquippedList()
// Clear out tooltips from removed list items
Movie.Pres.m_kTooltipMgr.RemoveTooltipsByPartialPath(string(EquippedList.MCPath));

AugmentationSlots.Length = 0;
AugmentationSlots.AddItem(eInvSlot_AugmentationHead);
AugmentationSlots.AddItem(eInvSlot_AugmentationTorso);
AugmentationSlots.AddItem(eInvSlot_AugmentationArms);
AugmentationSlots.AddItem(eInvSlot_AugmentationLegs);

En = class'CHUIItemSlotEnumerator'.static.CreateEnumerator(UpdatedUnit, CheckGameState,,,AugmentationSlots);
En = class'CHUIItemSlotEnumerator'.static.CreateEnumerator(UpdatedUnit, CheckGameState,,, class'X2Item_Augmentations'.default.AugmentationSlots);
while (En.HasNext())
{
En.Next();

`LOG(GetFuncName() @ En.Slot,, 'Augmentations');

if (AugmentationSlots.Find(En.Slot) == INDEX_NONE)
if (class'X2Item_Augmentations'.default.AugmentationSlots.Find(En.Slot) == INDEX_NONE)
{
continue;
}
Expand All @@ -53,12 +45,19 @@ simulated function UpdateEquippedList()
simulated function bool ShowInLockerList(XComGameState_Item Item, EInventorySlot SelectedSlot)
{
local X2ItemTemplate ItemTemplate;
local int Index;

ItemTemplate = Item.GetMyTemplate();

if(MeetsAllStrategyRequirements(ItemTemplate.ArmoryDisplayRequirements) && MeetsDisplayRequirement(ItemTemplate))
{
return AugmentationSlots.Find(SelectedSlot) != INDEX_NONE && ItemTemplate.ItemCat == 'augmentation';
Index = class'X2Item_Augmentations'.default.SlotConfig.Find('InvSlot', SelectedSlot);

if (Index != INDEX_NONE)
{
`LOG(GetFuncName() @ ItemTemplate.DataName @ ItemTemplate.ItemCat @ ItemTemplate.ItemCat == class'X2Item_Augmentations'.default.SlotConfig[Index].Category,, 'Augmentation');
return ItemTemplate.ItemCat == class'X2Item_Augmentations'.default.SlotConfig[Index].Category;
}
}

return false;
Expand Down
Loading

0 comments on commit 236050b

Please sign in to comment.