Jump to content

R&D XCOM Map Alterations


Amineri

Recommended Posts

Found it:

 

UPK_FILE=URB_ResearchOutpost_Stream.upk

OBJECT=TheWorld.PersistentLevel.Main_Sequence.SeqEvent_LevelLoaded_1
FIND_CODE=<TheWorld.PersistentLevel.Main_Sequence.SeqAct_ForceLOD_0>
MODDED_CODE=<NullRef>

OBJECT=TheWorld.PersistentLevel.Main_Sequence
REL_OFFSET=32
[MODDED_CODE]
<TheWorld.PersistentLevel.Main_Sequence.SeqEvent_LevelLoaded_1>
<TheWorld.PersistentLevel.Main_Sequence.SeqAct_RemoveActor_2>
<TheWorld.PersistentLevel.Main_Sequence.SeqVar_Object_3>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>

 

 

Abduction working as expected: one LZ, no special narrative, usual win conditions.

 

Now it's just a matter of recalculating all the Locations for all 10 LZ objects. For every entrance on every map we want to change. :smile:

 

Since Ranger is part of the original map, not a stream map, it can't be moved ATM.

Link to comment
Share on other sites

  • Replies 473
  • Created
  • Last Reply

Top Posters In This Topic

Before relocating, try this


//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//
//Vector (X, Y, Z) = (0x4500FFFF, 0xC41BFFFE, 0x423FFFFF) = (2064, -624, 48)
OFFSET=0x0002455a

MODDED_CODE= <%f  -3600><%f  384><%f  16> // Vector(x,y,z)

/* BROKEN
//Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00004000, 0x00000000) = (0, 16384, 0)

OFFSET=0x000024586

//Pitch
REL_OFFSET=0
INT= 0
//Yaw
REL_OFFSET=4
FLOAT= 16384
//Roll
REL_OFFSET=8
INT=0
*/
//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
//Vector (X, Y, Z) = (0x451BFA51, 0xC44C186A, 0x42BDC2B7) = (2495.64, -816.381, 94.8803)

OFFSET=0x0002445c

MODDED_CODE= <%f  -3600><%f  384><%f  96> // Vector(x,y,z)

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//

Link to comment
Share on other sites

LiQuiD911, separate tokens with spaces:

//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//
//Vector (X, Y, Z) = (0x4500FFFF, 0xC41BFFFE, 0x423FFFFF) = (2064, -624, 48)
OFFSET=0x0002455a

MODDED_CODE= <%f  -3600>  <%f  384>  <%f  16> // Vector(x,y,z)

/* BROKEN
//Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00004000, 0x00000000) = (0, 16384, 0)

OFFSET=0x000024586

//Pitch
REL_OFFSET=0
INT= 0
//Yaw
REL_OFFSET=4
FLOAT= 16384
//Roll
REL_OFFSET=8
INT=0
*/
//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
//Vector (X, Y, Z) = (0x451BFA51, 0xC44C186A, 0x42BDC2B7) = (2495.64, -816.381, 94.8803)

OFFSET=0x0002445c

MODDED_CODE= <%f  -3600>  <%f  384>  <%f  96> // Vector(x,y,z)

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
Link to comment
Share on other sites

The spawnpoints in the base map are named from 1 to 7.. and in the stream from 6 to 11, do you think this could be a problem? I am trying to figure out why moving spawnpoints isn't working.Yessir, I'll add spaces immediately (:

Edited by LiQuiD911
Link to comment
Share on other sites

A tutorial on how to make a separate streaming package:

1. Copy URB_ResearchOutpost_Stream.upk to Base_LZ_Mod_Stream_0000000.upk

2. Apply mod file to rename a package and remove kismet scripts:

 

UPK_FILE=Base_LZ_Mod_Stream_0000000.upk

RENAME=URB_ResearchOutpost_Stream:Base_LZ_Mod_Stream_0000000

OBJECT=TheWorld.PersistentLevel.Main_Sequence.SeqEvent_LevelLoaded_1
FIND_CODE=<TheWorld.PersistentLevel.Main_Sequence.SeqAct_ForceLOD_0>
MODDED_CODE=<NullRef>

OBJECT=TheWorld.PersistentLevel.Main_Sequence
REL_OFFSET=32
[MODDED_CODE]
<TheWorld.PersistentLevel.Main_Sequence.SeqEvent_LevelLoaded_1>
<TheWorld.PersistentLevel.Main_Sequence.SeqAct_RemoveActor_2>
<TheWorld.PersistentLevel.Main_Sequence.SeqVar_Object_3>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>
<NullRef>

 

3. Add test map to DefaultMaps.ini:

Maps=( MapFamily="URB_PoliceStation",		  Name="URB_PoliceStation",          DisplayName="URB_PoliceStation Stream Test",          MissionType=eMission_Abduction,           bInRotation=True,  TimeOfDay=eMissionTime_Day,   ShipType=eShip_None,          eRegion=eMissionRegion_None,         CouncilType=eFCMType_None,       NewMap=False, InitialChance=20,  InitialGain=1.05, DynamicAliens[0]=eChar_None,    DynamicAliens[1]=eChar_None, StreamingMaps[0]=( MapName="Base_LZ_Mod_Stream_0000000", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), StreamingMaps[1]=( MapName="CIN_DropshipIntros", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ) )         
4. Test with developers menu as tactical mission.

 

Map is winnable, LZ is working, you can evacuate normally using it.

 

SonOfFacemelt is not winnable. Seems, it just lacks win condition.

Link to comment
Share on other sites

LiQuiD911, I'm a bad programmer, so I'm just not sure you won't have any bugs with no spaces between tokens. I tried to, but I'm not sure. :smile:

 

Spawn point objects are:

TheWorld.PersistentLevel.XComSpawnPoint_10

TheWorld.PersistentLevel.XComSpawnPoint_11

TheWorld.PersistentLevel.XComSpawnPoint_6

TheWorld.PersistentLevel.XComSpawnPoint_7

TheWorld.PersistentLevel.XComSpawnPoint_8

TheWorld.PersistentLevel.XComSpawnPoint_9

 

Use OBJECT key to select spawn point and FIND_CODE to move write pointer:

 

OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_10
FIND_CODE=<Location> <StructProperty> <%u 0xC> <%u 0> <Vector>:END
MODDED_CODE=<%f XXXX> <%f XXXX> <%f XXXX> // change XXXX to actual numbers
Edited by wghost81
Link to comment
Share on other sites

Try this: copy any abduction entry in defaultmaps, change the name to Name="DEMO_SonOfFacemelt". I am not sure if it is neccesary but delete Sons' stream and add a copy of the outpost one. LOL I am waaay behind you in PatchUPK coding

Edited by LiQuiD911
Link to comment
Share on other sites

 

 

A tutorial on how to make a separate streaming package:

 

Thanks for this. I'm unclear how to translate to upkmodder syntax, so you may have made a regular patchupk user out of me.

 

I take it that this simply loads a streaming map that does nothing. Is the next step to add the lines that Liquid is developing that move the XCOM spawn/extraction point? (And I can more than live with the Skyranger staying put).

Edited by johnnylump
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...