rf900 Posted October 29, 2012 Share Posted October 29, 2012 Great job... I am thinking on creating a visual GUI to allow to change the abilities easily and generate the HEX code needed to be modified in the UPK. Also here is an uber assault class, I was thinking on a one man army kind of unit, that is able to go alone... The alternatives in each level are for an aggressive build and the others mainly for survival. ONEMAN: SquaddieRun & Gun: Allows firing or Overwatch after Dashing. Two turn cooldown. CorporalLightning Reflexes:Forces the first reaction shot against this unit each turn to miss.Low Profile: Converts partial cover to full cover SergeantClose Combat Specialist: Confers a reaction shot against any enemy who closes within 4 tiles.Will to Survive: Reduces normal damage taken by 2 if in cover and not flanked. LieutenantSentinel: Allows two reaction shots during Overwatch instead of one.Extra Conditioning: Confers bonus health based on which type of armor is equipped. Heavier armor increases the bonus.. CaptainHEAT Ammo: Confers +100% damage against robotic enemies.Bullet Swarm: Firing the primary weapon as the first action no longer ends the turn. MajorSprinter: Allows the unit to move 3 additional tiles. ColonelResilience: Confers immunity to critical hits.Killer Instinct: Activating Run & Gun now also grants +50% critical damage for the rest of the turn. Link to comment Share on other sites More sharing options...
graaa Posted October 29, 2012 Author Share Posted October 29, 2012 Also here is an uber assault class, I was thinking on a one man army kind of unit, that is able to go alone... The alternatives in each level are for an aggressive build and the others mainly for survival. Nice build... Run & Gun, Sentinal, Heat Ammo, Lightning Reflexes OR Low profile (nice), close combat specialist, sprinter at major (double nice)... this looks like a guy that can handle ANYTHING. I've tried testing bulletstorm on the assault tho, and it doesn't seem to work. At the moment I'm wondering if adding the _heavy property to the shotgun will allow it but I'm currently in the middle of testing a .ini rebalance mod with my new builds. Maybe rapid fire will have to suffice instead of bulletstorm for now? Keep the ideas coming! Link to comment Share on other sites More sharing options...
kaijin2k3 Posted October 30, 2012 Share Posted October 30, 2012 (edited) Also here is an uber assault class, I was thinking on a one man army kind of unit, that is able to go alone... The alternatives in each level are for an aggressive build and the others mainly for survival. Nice build... Run & Gun, Sentinal, Heat Ammo, Lightning Reflexes OR Low profile (nice), close combat specialist, sprinter at major (double nice)... this looks like a guy that can handle ANYTHING. I've tried testing bulletstorm on the assault tho, and it doesn't seem to work. At the moment I'm wondering if adding the _heavy property to the shotgun will allow it but I'm currently in the middle of testing a .ini rebalance mod with my new builds. Maybe rapid fire will have to suffice instead of bulletstorm for now? Keep the ideas coming! I've added Bullet Swarm to my Support class and _Heavy to the assault rifle. Sadly, Bullet Swarm doesn't seem to work like this either. I haven't tested Bullet Swarm on an LMG though (will try in a bit), but maybe Bullet Swarm is somehow tied with the Heavy class itself? EDIT: Just tried it with the Heavy Plasma. Bullet Swarm still did not work on Support :( Edited October 30, 2012 by kaijin2k3 Link to comment Share on other sites More sharing options...
BanjoOz Posted October 30, 2012 Share Posted October 30, 2012 Great job... I am thinking on creating a visual GUI to allow to change the abilities easily and generate the HEX code needed to be modified in the UPK.That would be an awesome and very useful little tool, regardless of any other tools being worked on too; just an "ability manager editor" GUI would make this a lot faster and easier. Link to comment Share on other sites More sharing options...
PepprmintButler Posted October 30, 2012 Share Posted October 30, 2012 If I understand this right, this might be the code that ties in Bullet Swarm to the Heavy : (it's in xcomgame.upk/XGUnit)simulated function int GetRemainingActions() { local int maxActions, currentActionsUsed; maxActions = 2; // End:0x48 Loop:False if(m_iFireActionsPerformed == 1 && (GetSoldierClass() != 2)) { currentActionsUsed = maxActions; } // End:0x5b else { currentActionsUsed = m_iMovesActionsPerformed; } return Max(0, maxActions - currentActionsUsed); ie if a firing action is performed, it returns that all actions are used regardless of perks unless soldierclass=2. I didn't check, but my money is on class "2" being Heavy. Modding this out should be fairly easy (some smart person gave a way to skip a whole IF check in the code, in the Next Step thread). Maybe I'll try to look into it if I find the time but honestly my backlog of testing is growing much faster that I can handle right now. Link to comment Share on other sites More sharing options...
kaijin2k3 Posted October 30, 2012 Share Posted October 30, 2012 (edited) If I understand this right, this might be the code that ties in Bullet Swarm to the Heavy : (it's in xcomgame.upk/XGUnit) ie if a firing action is performed, it returns that all actions are used regardless of perks unless soldierclass=2. I didn't check, but my money is on class "2" being Heavy. Modding this out should be fairly easy (some smart person gave a way to skip a whole IF check in the code, in the Next Step thread). Maybe I'll try to look into it if I find the time but honestly my backlog of testing is growing much faster that I can handle right now. I changed it to == 255. Sadly, it didn't affect anything. EDIT: Nevermind on my edit. I should sleep v.v Edited October 30, 2012 by kaijin2k3 Link to comment Share on other sites More sharing options...
szkkteam11 Posted October 30, 2012 Share Posted October 30, 2012 If I understand this right, this might be the code that ties in Bullet Swarm to the Heavy : (it's in xcomgame.upk/XGUnit)simulated function int GetRemainingActions() { local int maxActions, currentActionsUsed; maxActions = 2; // End:0x48 Loop:False if(m_iFireActionsPerformed == 1 && (GetSoldierClass() != 2)) { currentActionsUsed = maxActions; } // End:0x5b else { currentActionsUsed = m_iMovesActionsPerformed; } return Max(0, maxActions - currentActionsUsed); ie if a firing action is performed, it returns that all actions are used regardless of perks unless soldierclass=2. I didn't check, but my money is on class "2" being Heavy. Modding this out should be fairly easy (some smart person gave a way to skip a whole IF check in the code, in the Next Step thread). Maybe I'll try to look into it if I find the time but honestly my backlog of testing is growing much faster that I can handle right now. Nice catch :)You found what i searched for 2 days :) If we could change currentActionsUsed = maxActions; to currentActionsUsed = m_iMovesActionsPerformed; then every squad member (and maybe the aliens too) get the bulletswarm ability. Link to comment Share on other sites More sharing options...
rf900 Posted October 30, 2012 Share Posted October 30, 2012 (edited) Perk Visual Editor Still under construction, not sure if it is useful, it will generate a text with HEX lines in pairs, the first one is the default perk and the following is the change needed for the new perk. Some sort of HEX search & replace script will be needed (will work on it afterwards) what I need to know if it is worth changing the HEX values in the uncompressed UPK XComGame file directly. Edited October 30, 2012 by rf900 Link to comment Share on other sites More sharing options...
szkkteam11 Posted October 30, 2012 Share Posted October 30, 2012 I have a bad news. I think this is not where the magic happens. I changed the code to: maxActions = 2; // End:0x48 Loop:False if(m_iFireActionsPerformed == 1 && (GetSoldierClass() != 2)) { currentActionsUsed = m_iMovesActionsPerformed; } // End:0x5b else { currentActionsUsed = m_iMovesActionsPerformed; } return Max(0, maxActions - currentActionsUsed); But isn't working.I mean, think it consequently. If the actor performed a shot and it's not class=2, then all of the action points used, cause, currentActionsUsed=maxActions and in the return, maxActions -currentActionsUsed (what is equal to maxActions) it will return 0, and that say, you have 0 action remaning, in the else section, currentActionsUsed will be equal to m_iMovesActionsPerformed who's value i think is 1, and then the return part will be 1. So what did i do? is simple: copy the else part to the if part, and nobody care what the if says, because it will do the same thing, it will return with number 1.If i wrong somewhere, please correct me.By the way in the game, it's not working ... i dont know why ... i think it's the same magic, as the constants in the XGTacticalGameCoreNativeBase dosent do anything. Link to comment Share on other sites More sharing options...
PepprmintButler Posted October 30, 2012 Share Posted October 30, 2012 I have a bad news. I think this is not where the magic happens. I changed the code to: maxActions = 2; // End:0x48 Loop:False if(m_iFireActionsPerformed == 1 && (GetSoldierClass() != 2)) { currentActionsUsed = m_iMovesActionsPerformed; } // End:0x5b else { currentActionsUsed = m_iMovesActionsPerformed; } return Max(0, maxActions - currentActionsUsed); But isn't working.I mean, think it consequently. If the actor performed a shot and it's not class=2, then all of the action points used, cause, currentActionsUsed=maxActions and in the return, maxActions -currentActionsUsed (what is equal to maxActions) it will return 0, and that say, you have 0 action remaning, in the else section, currentActionsUsed will be equal to m_iMovesActionsPerformed who's value i think is 1, and then the return part will be 1. So what did i do? is simple: copy the else part to the if part, and nobody care what the if says, because it will do the same thing, it will return with number 1.If i wrong somewhere, please correct me.By the way in the game, it's not working ... i dont know why ... i think it's the same magic, as the constants in the XGTacticalGameCoreNativeBase dosent do anything. You did give your non-heavies the Bullet Swarm perk right ? Modding this code would remove the impossibility for non-heavies to fire twice, not actually give them the ability to do it.I think your mod to the code is good and should do the trick. Link to comment Share on other sites More sharing options...
Recommended Posts