Specifically Crowd Control.
I know that you could just change the points required in the crowd_ht
and crowd_su xtbls to beat the missions easier but I thought it might
be a little more interesting to try a different approach. So what I did
was change the amount of points you receive instead.
When you perform certain actions in crowd control you receive
a set amount of points. That amount of points can be changed.
We are working on the crowd_common.xtbl for this one. You can find
in the common.vpp_pc file. Just use ThomasJepp tools to unpack it
and then copy all the crowd* files into a separate directory.
(crowd_common.cts, crowd_common.xtbl, crowd_ht.cts, crowd_ht.xtbl
crowd_su.cts and crowd_su.xtbl) The crowd_control files are
CTS: crowd and item selection and placement
XTBL: Points and actions
Crowd_HT is the Charred Hard Burgers location
Crowd_SU is the location near your Mall adjacent safe house.
(We will only use crowd_common.xtbl for this mod but the other
files might be useful if you decide to work with the code yourself.)
Here is a section from Crowd_Common.xtbl (This is for level 1):
In the capture triggers and capture throw sections are the values 750 and 1000. If you have played the activity
then you already know what these are, but if you haven't then:
*Possible Spoilers Ahead*
You get 750 points for throwing the crazed fans into certain objects like a treadmill or a car
and you get 1000 points for throwing one into a group of police or into the rotor blades of a
helicopter. There are also a couple of other values. You get 250 points for dispatching them with a weapon
or 100 points for using your hands. All of these values can be changed.
Note that in the code they are not called points they are referred to as cash. Also you need to change the
values on every level individually.
Unmodded Example:
<Capture_Triggers>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>750</Cash>
<Actions></Actions>
<Disable_Capture>False</Disable_Capture>
<Parent_Object>crowd_common_dome_capture01</Parent_Object>
<Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1000</Cash>
<Actions>
Modded
<Capture_Triggers>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1500</Cash>
<Actions></Actions>
<Disable_Capture>False</Disable_Capture>
<Parent_Object>crowd_common_dome_capture01</Parent_Object>
<Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>2000</Cash>
<Actions>
I recommend using the replace command here instead of searching each individual occurrence.
If you were feeling creative you might like to change the npcs defined in the Humans section of the
crowd_common.cts with some of your gang members or some of the rabid fans with people
like Jessica or Maero or Donnie, etc.. (Personally I'd love to throw Donnie off a roof but I digress...)
You could also change some of the vehicles as well. They are in the crowd_common.cts as well.
Note: If you change vehicles remember, some of them are activity specific.
I am including all of the crowd control files for you to study or use if you wish.
If you do choose to use this mod the only file you need is crowd_common.xtbl
Just drop it in your GOTR mods folder and recompile. Then drop compiled files
in your Saints Row 2 directory.
This mod will change the crowd control missions even if you have already finished
them. As far as I know it shouldn't mess with anything else in game, but as ever
if concerned start a new save.
and crowd_su xtbls to beat the missions easier but I thought it might
be a little more interesting to try a different approach. So what I did
was change the amount of points you receive instead.
When you perform certain actions in crowd control you receive
a set amount of points. That amount of points can be changed.
We are working on the crowd_common.xtbl for this one. You can find
in the common.vpp_pc file. Just use ThomasJepp tools to unpack it
and then copy all the crowd* files into a separate directory.
(crowd_common.cts, crowd_common.xtbl, crowd_ht.cts, crowd_ht.xtbl
crowd_su.cts and crowd_su.xtbl) The crowd_control files are
CTS: crowd and item selection and placement
XTBL: Points and actions
Crowd_HT is the Charred Hard Burgers location
Crowd_SU is the location near your Mall adjacent safe house.
(We will only use crowd_common.xtbl for this mod but the other
files might be useful if you decide to work with the code yourself.)
Here is a section from Crowd_Common.xtbl (This is for level 1):
Code:
<Event>
<Event_Name>Ultor Dome</Event_Name>
<Vehicle_Stop>crowd_common_dome_limo_stop</Vehicle_Stop>
<Celebrity_Start>crowd_common_dome_celebrity_start</Celebrity_Start>
<Player_Start_1>crowd_common_dome_player_start_1</Player_Start_1>
<Player_Start_2>crowd_common_dome_player_start_2</Player_Start_2>
<Event_Group>crowd_common_dome_group</Event_Group>
<Celebrity_Stops>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n032</Stop_Navpoint>
<Stop_Type>wave<Celebrity_Action>
<Possible_Actions>
<Possible_Action>
<Action>Wave Left</Action>
</Possible_Action>
<Possible_Action>
<Action>Wave Right</Action>
</Possible_Action>
</Possible_Actions>
</Celebrity_Action>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n033</Stop_Navpoint>
<Stop_Type>wave<Interaction>
<Interaction_NPC>crowd_common_dome_interact_fan01</Interaction_NPC>
<Possible_Animations>
<Possible_Animation>
<Animation_Pair>Give Autograph</Animation_Pair>
</Possible_Animation>
</Possible_Animations>
</Interaction>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n034</Stop_Navpoint>
<Stop_Type>wave<Interaction>
<Interaction_NPC>crowd_common_dome_interact_fan02</Interaction_NPC>
<Possible_Animations>
<Possible_Animation>
<Animation_Pair>Shake Hands</Animation_Pair>
</Possible_Animation>
</Possible_Animations>
</Interaction>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n035</Stop_Navpoint>
<Stop_Type>wave<Celebrity_Action>
<Possible_Actions>
<Possible_Action>
<Action>Special</Action>
</Possible_Action>
</Possible_Actions>
</Celebrity_Action>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n036</Stop_Navpoint>
<Stop_Type>wave<Interaction>
<Interaction_NPC>crowd_common_dome_interact_fan03</Interaction_NPC>
<Possible_Animations>
<Possible_Animation>
<Animation_Pair>Give Autograph</Animation_Pair>
</Possible_Animation>
</Possible_Animations>
</Interaction>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n037</Stop_Navpoint>
<Stop_Type>wave<Interaction>
<Interaction_NPC>crowd_common_dome_interact_fan04</Interaction_NPC>
<Possible_Animations>
<Possible_Animation>
<Animation_Pair>Shake Hands</Animation_Pair>
</Possible_Animation>
</Possible_Animations>
</Interaction>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n038</Stop_Navpoint>
<Stop_Type>wave<Celebrity_Action>
<Possible_Actions>
<Possible_Action>
<Action>Special</Action>
</Possible_Action>
</Possible_Actions>
</Celebrity_Action>
</Stop_Type>
</Celebrity_Stop>
<Celebrity_Stop>
<Stop_Navpoint>crowd_common_$n039</Stop_Navpoint>
<Stop_Type>wave<Interaction>
<Interaction_NPC>crowd_common_dome_interact_fan05</Interaction_NPC>
<Possible_Animations>
<Possible_Animation>
<Animation_Pair>Shake Hands</Animation_Pair>
</Possible_Animation>
<Possible_Animation>
<Animation_Pair>Give Autograph</Animation_Pair>
</Possible_Animation>
</Possible_Animations>
</Interaction>
</Stop_Type>
</Celebrity_Stop>
</Celebrity_Stops>
<Capture_Triggers>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>750</Cash>
<Actions></Actions>
<Disable_Capture>False</Disable_Capture>
<Parent_Object>crowd_common_dome_capture01</Parent_Object>
<Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1000</Cash>
<Actions>
<Action>
<Type>
<Trigger_APC_Attack>
<APC>crowd_common_dome_capture02</APC>
<Firing_Time>2</Firing_Time>
<Reward>1000</Reward>
</Trigger_APC_Attack>
</Type>
</Action>
<Action>
<Type>
<Trigger_APC_Attack>
<APC>crowd_common_dome_capture03</APC>
<Firing_Time>2</Firing_Time>
<Reward>1000</Reward>
</Trigger_APC_Attack>
</Type>
</Action>
<Action>
<Type>
<Play_Crowd_Gasp></Play_Crowd_Gasp>
</Type>
</Action>
</Actions>
<Disable_Capture>True</Disable_Capture>
<Arrow_Location>crowd_common_dome_apc_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_conveyor_kill_trigger</Trigger_Name>
<Disable_Capture>False</Disable_Capture>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1000</Cash>
<Actions>
<Action>
<Type>
<Play_Crowd_Gasp></Play_Crowd_Gasp>
</Type>
</Action>
<Action>
<Type>
<Play_Effect>
<Name>cc_gib_enter</Name>
<Navpoint>crowd_common_dome_conveyor_entry_death_effect</Navpoint>
<Position_Type>Absolute</Position_Type>
<Orient_Type>Absolute</Orient_Type>
</Play_Effect>
</Type>
</Action>
<Action>
<Type>
<Play_Effect>
<Name>cc_gib_directional</Name>
<Navpoint>crowd_common_dome_conveyor_exit_death_effect</Navpoint>
<Position_Type>Absolute</Position_Type>
<Orient_Type>Absolute</Orient_Type>
</Play_Effect>
</Type>
</Action>
<Action>
<Type>
<Play_Sound_At_Victim>
<Sound>SFX_CROWDCONTROL_XRAY</Sound>
</Play_Sound_At_Victim>
</Type>
</Action>
<Action>
<Type>
<Kill></Kill>
</Type>
</Action>
</Actions>
<Arrow_Location>crowd_common_dome_conveyor_arrow</Arrow_Location>
</Capture_Trigger>
</Capture_Triggers>
<Fan_Spawn_Areas>
<Fan_Spawn_Area>
<Fans_Count>30</Fans_Count>
<Spawn_Edge_Vertices>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_01_01</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_01_02</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_01_03</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_01_04</Navpoint>
</Spawn_Edge_Vertex>
</Spawn_Edge_Vertices>
</Fan_Spawn_Area>
<Fan_Spawn_Area>
<Fans_Count>15</Fans_Count>
<Spawn_Edge_Vertices>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_02_01</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_02_02</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_02_03</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_02_04</Navpoint>
</Spawn_Edge_Vertex>
</Spawn_Edge_Vertices>
</Fan_Spawn_Area>
<Fan_Spawn_Area>
<Fans_Count>15</Fans_Count>
<Spawn_Edge_Vertices>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_03_01</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_03_02</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_03_03</Navpoint>
</Spawn_Edge_Vertex>
<Spawn_Edge_Vertex>
<Navpoint>crowd_common_dome_spawn_03_04</Navpoint>
</Spawn_Edge_Vertex>
</Spawn_Edge_Vertices>
</Fan_Spawn_Area>
</Fan_Spawn_Areas>
<Hour>12</Hour>
<Crowd_Ambience_Origin>crowd_common_dome_ambience_origin</Crowd_Ambience_Origin>
<Capture_Throws>
<Capture_Throw>
<Throw_Navpoint>crowd_common_dome_capture_throw01</Throw_Navpoint>
</Capture_Throw>
</Capture_Throws>
<Base_Melee_Annoyance_Refund>0</Base_Melee_Annoyance_Refund>
<Base_Mover_Annoyance_Refund>0</Base_Mover_Annoyance_Refund>
<Base_Melee_Cash>100</Base_Melee_Cash>
<Base_Mover_Cash>750</Base_Mover_Cash>
<Base_Weapon_Cash>250</Base_Weapon_Cash>
<Critical_Objects>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_metaldetector01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_securitybelt01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_phoneA64</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_Flatscreen_A13</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_mousepad_A13</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_computermouse_A13</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_phonehandA64</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_Keyboard18</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_Ticketcounter_B18</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_weigher_A07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ChairOfficeRA07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>PosDummy13</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ChairOfficeLA07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>LightAlarmA01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmA01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmLightA01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmGlareB01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmLightB01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmGlareA01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ATInt_Flatscreen_A14</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>red_carpet01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmMMoverA01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>LightAlarmA02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmA02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmLightA02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmGlareB02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmLightB02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>AlarmGlareA02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_prox01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_prox02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col03</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col04</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_prox03</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col02</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>security_col01</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarAB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarCB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngBB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngAB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarBB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierLBB04</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierRBB04</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarAB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarCB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngBB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngAB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarBB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierLBB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierRBB05</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarAB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarCB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngBB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngAB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarBB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierLBB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierRBB06</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarAB08</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarCB08</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngBB08</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarHngAB08</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>ARGround04_ARc9_trafficbarBB08</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierLBB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
<Critical_Object>
<Chunk_Name>sr2_chunk117</Chunk_Name>
<Object_Name>trafficBarrierRBB07</Object_Name>
<Visible_For_Activity>True</Visible_For_Activity>
</Critical_Object>
</Critical_Objects>
<Leash_To_Celeb_Dist>50</Leash_To_Celeb_Dist>
<Ally_Groups>
<Ally_Group>
<NPCs>
<NPC>
<Name>crowd_common_dome_ally_group1_cop1</Name>
</NPC>
<NPC>
<Name>crowd_common_dome_ally_group1_cop2</Name>
</NPC>
<NPC>
<Name>crowd_common_dome_ally_group1_cop3</Name>
</NPC>
</NPCs>
<Arrow_Location>crowd_common_dome_securitygroup_arrow</Arrow_Location>
<Type>Assault</Type>
<Beatdown_Reward>1000</Beatdown_Reward>
<Equipped_When_Idle>False</Equipped_When_Idle>
</Ally_Group>
</Ally_Groups>
<Suck_Triggers>
<Suck_Trigger>
<Trigger_Name>crowd_common_dome_conveyor_suction_trigger</Trigger_Name>
<Points>
<Point>
<Navpoint>crowd_common_dome_conveyor_suction_trigger_point</Navpoint>
<Acceleration>100</Acceleration>
</Point>
</Points>
</Suck_Trigger>
</Suck_Triggers>
<Special_Movers>
<Special_Mover>
<Mover_Prefix>ATInt_metaldetector01</Mover_Prefix>
<Type>Preserve<Preserve_Without_Capture></Preserve_Without_Capture>
</Type>
</Special_Mover>
<Special_Mover>
<Mover_Prefix>ATInt_securitybelt01</Mover_Prefix>
<Type>Preserve<Preserve_Without_Capture></Preserve_Without_Capture>
</Type>
</Special_Mover>
</Special_Movers>
</Event>
In the capture triggers and capture throw sections are the values 750 and 1000. If you have played the activity
then you already know what these are, but if you haven't then:
*Possible Spoilers Ahead*
You get 750 points for throwing the crazed fans into certain objects like a treadmill or a car
and you get 1000 points for throwing one into a group of police or into the rotor blades of a
helicopter. There are also a couple of other values. You get 250 points for dispatching them with a weapon
or 100 points for using your hands. All of these values can be changed.
Note that in the code they are not called points they are referred to as cash. Also you need to change the
values on every level individually.
Unmodded Example:
<Capture_Triggers>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>750</Cash>
<Actions></Actions>
<Disable_Capture>False</Disable_Capture>
<Parent_Object>crowd_common_dome_capture01</Parent_Object>
<Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1000</Cash>
<Actions>
Modded
<Capture_Triggers>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>1500</Cash>
<Actions></Actions>
<Disable_Capture>False</Disable_Capture>
<Parent_Object>crowd_common_dome_capture01</Parent_Object>
<Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
</Capture_Trigger>
<Capture_Trigger>
<Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
<Annoyance_Refund>0</Annoyance_Refund>
<Cash>2000</Cash>
<Actions>
I recommend using the replace command here instead of searching each individual occurrence.
If you were feeling creative you might like to change the npcs defined in the Humans section of the
crowd_common.cts with some of your gang members or some of the rabid fans with people
like Jessica or Maero or Donnie, etc.. (Personally I'd love to throw Donnie off a roof but I digress...)
You could also change some of the vehicles as well. They are in the crowd_common.cts as well.
Note: If you change vehicles remember, some of them are activity specific.
I am including all of the crowd control files for you to study or use if you wish.
If you do choose to use this mod the only file you need is crowd_common.xtbl
Just drop it in your GOTR mods folder and recompile. Then drop compiled files
in your Saints Row 2 directory.
This mod will change the crowd control missions even if you have already finished
them. As far as I know it shouldn't mess with anything else in game, but as ever
if concerned start a new save.
Part 2: Changing Vehicles Within The Activity
Down in the Vehicles Section of crowd_common.cts
you will see some entries that look like this:
$Vehicle: "crowd_common_$v001"
$Vehicle type: "car_2dr_exoticsports01"
$Start nav: "crowd_common_$v001"
$Group: "crowd_common_fpcar_group"
$Stream Distance: 50.000
+Invulnerable
+ImmuneToFlatTires
+Locked
* Possible Spoiler Alert*
The car in question 'car_2dr_exoticsports01'
is part of the crowd control level that
takes place at the Saint's Row Foreign Power location.
During this mission you protect a celebrity while they
tour the parking lot greeting fans. While the activity
is in progress the lot is filled with expensive automobiles
all there for you to demolish.
This mission is the perfect place to try out vehicle substitution
code.
Note: There are plenty of vehicles in the activity levels that
shouldn't be touched as they are needed like the APC
or the Swat Van or the Helicopter, etc. My advice is don't
attempt to swap vehicles unless you have played the activity before
and know what should and should not be substituted.
So let's take one of those foreign cars and substitute it for an SUV.
An Alaskan I think.
All you need to do is pick a vehicle entry (like the above
example) and change the vehicle in quotes. in our case we'll change
"car_2dr_exoticsports01" to "suv_4dr_06" then recompile your code.
(-SeaboundSaint- has created a very handy guide that can help you
find the vehicle you want.) https://www.saintsrowmods.com/forum/threads/vehicle-internal-names.21232/
$Vehicle: "crowd_common_$v001"
$Vehicle type: "suv_4dr_06"
$Start nav: "crowd_common_$v001"
$Group: "crowd_common_fpcar_group"
$Stream Distance: 50.000
+Invulnerable
+ImmuneToFlatTires
+Locked
This will change the vehicle at this particular set of coordinates
to another vehicle. In this case an Alaskan. Unless you manually change
them the rest of the vehicles will remain the same.
For the sake of testing purposes I suggest changing several of the cars
to an Alaskan, that way you can be sure to see if the code works properly,
because just changing one car on the lot that we don't know
the location of may mean that in the heat of battle we might not see it.
The only down side to this is messing up a nice truck by throwing an idiot into it.
Down in the Vehicles Section of crowd_common.cts
you will see some entries that look like this:
$Vehicle: "crowd_common_$v001"
$Vehicle type: "car_2dr_exoticsports01"
$Start nav: "crowd_common_$v001"
$Group: "crowd_common_fpcar_group"
$Stream Distance: 50.000
+Invulnerable
+ImmuneToFlatTires
+Locked
* Possible Spoiler Alert*
The car in question 'car_2dr_exoticsports01'
is part of the crowd control level that
takes place at the Saint's Row Foreign Power location.
During this mission you protect a celebrity while they
tour the parking lot greeting fans. While the activity
is in progress the lot is filled with expensive automobiles
all there for you to demolish.
This mission is the perfect place to try out vehicle substitution
code.
Note: There are plenty of vehicles in the activity levels that
shouldn't be touched as they are needed like the APC
or the Swat Van or the Helicopter, etc. My advice is don't
attempt to swap vehicles unless you have played the activity before
and know what should and should not be substituted.
So let's take one of those foreign cars and substitute it for an SUV.
An Alaskan I think.
All you need to do is pick a vehicle entry (like the above
example) and change the vehicle in quotes. in our case we'll change
"car_2dr_exoticsports01" to "suv_4dr_06" then recompile your code.
(-SeaboundSaint- has created a very handy guide that can help you
find the vehicle you want.) https://www.saintsrowmods.com/forum/threads/vehicle-internal-names.21232/
$Vehicle: "crowd_common_$v001"
$Vehicle type: "suv_4dr_06"
$Start nav: "crowd_common_$v001"
$Group: "crowd_common_fpcar_group"
$Stream Distance: 50.000
+Invulnerable
+ImmuneToFlatTires
+Locked
This will change the vehicle at this particular set of coordinates
to another vehicle. In this case an Alaskan. Unless you manually change
them the rest of the vehicles will remain the same.
For the sake of testing purposes I suggest changing several of the cars
to an Alaskan, that way you can be sure to see if the code works properly,
because just changing one car on the lot that we don't know
the location of may mean that in the heat of battle we might not see it.
The only down side to this is messing up a nice truck by throwing an idiot into it.
Part 3: Changing Activity Peds
Changing An NPC
===============
For this part we will trade the Pimp Dj at the Hapton for Shaundi.
In the crowd_common.cts search for pimp and find:
$Human: "crowd_common_hapton_pimp_dj"
$Char type: "npc_pimp"
$Start nav: "crowd_common_hapton_pimp_dj"
+Item: "pimpcane"
+Group: "crowd_common_hapton_group"
Just change it to:
$Human: "crowd_common_hapton_pimp_dj"
$Char type: "npc_Shaundi"
$Start nav: "crowd_common_hapton_pimp_dj"
+Item: "pimpcane"
+Group: "crowd_common_hapton_group"
Now let's change the cops at the Hapton:
$Human: "crowd_common_hapton_cop01"
$Char type: "npc_bouncer"
$Start nav: "crowd_common_hapton_cop01"
+Team: "Police"
+Group: "crowd_common_hapton_group"
$Human: "crowd_common_hapton_cop02"
$Char type: "npc_bouncer"
$Start nav: "crowd_common_hapton_cop02"
+Team: "Police"
+Group: "crowd_common_hapton_group"
change to:
$Human: "crowd_common_hapton_cop01"
$Char type: "npc_gat"
$Start nav: "crowd_common_hapton_cop01"
+Team: "Police"
+Group: "crowd_common_hapton_group"
$Human: "crowd_common_hapton_cop02"
$Char type: "npc_pierce"
$Start nav: "crowd_common_hapton_cop02"
+Team: "Police"
+Group: "crowd_common_hapton_group"
This sets them as Police for the mission, but they will
return to normal after.
You can also change the "crazed fans" but in doing so you change the crowd as well.
Here is a small piece of modded code. (The following changes need to be made in the
Crowd_HT.xtbl or the Crowd_SU.xtbl depending on which level you want to change.
Note: Each level within the Xtbl will have to be changed individually.
<Spawnable_Fan>
<Character_Preset>npc_Donnie</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Maero</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Using this your whole crowd will be Donnie and Maero, not just the crazed fans.
Changing An NPC
===============
For this part we will trade the Pimp Dj at the Hapton for Shaundi.
In the crowd_common.cts search for pimp and find:
$Human: "crowd_common_hapton_pimp_dj"
$Char type: "npc_pimp"
$Start nav: "crowd_common_hapton_pimp_dj"
+Item: "pimpcane"
+Group: "crowd_common_hapton_group"
Just change it to:
$Human: "crowd_common_hapton_pimp_dj"
$Char type: "npc_Shaundi"
$Start nav: "crowd_common_hapton_pimp_dj"
+Item: "pimpcane"
+Group: "crowd_common_hapton_group"
Now let's change the cops at the Hapton:
$Human: "crowd_common_hapton_cop01"
$Char type: "npc_bouncer"
$Start nav: "crowd_common_hapton_cop01"
+Team: "Police"
+Group: "crowd_common_hapton_group"
$Human: "crowd_common_hapton_cop02"
$Char type: "npc_bouncer"
$Start nav: "crowd_common_hapton_cop02"
+Team: "Police"
+Group: "crowd_common_hapton_group"
change to:
$Human: "crowd_common_hapton_cop01"
$Char type: "npc_gat"
$Start nav: "crowd_common_hapton_cop01"
+Team: "Police"
+Group: "crowd_common_hapton_group"
$Human: "crowd_common_hapton_cop02"
$Char type: "npc_pierce"
$Start nav: "crowd_common_hapton_cop02"
+Team: "Police"
+Group: "crowd_common_hapton_group"
This sets them as Police for the mission, but they will
return to normal after.
You can also change the "crazed fans" but in doing so you change the crowd as well.
Here is a small piece of modded code. (The following changes need to be made in the
Crowd_HT.xtbl or the Crowd_SU.xtbl depending on which level you want to change.
Note: Each level within the Xtbl will have to be changed individually.
<Spawnable_Fan>
<Character_Preset>npc_Donnie</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Maero</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Using this your whole crowd will be Donnie and Maero, not just the crazed fans.
Crowd Weapons
To remove the crowd weapons
Just remove the proper lines from the code:
(original)
<Crowd_Jerk>
<Annoyance>10</Annoyance>
<Max_Annoyance>50</Max_Annoyance>
<Lose_Interest_Delay>0.0</Lose_Interest_Delay>
<Weapon>baseball_bat</Weapon>
</Crowd_Jerk>
(modded)
<Crowd_Jerk>
<Annoyance>10</Annoyance>
<Max_Annoyance>50</Max_Annoyance>
<Lose_Interest_Delay>0.0</Lose_Interest_Delay>
</Crowd_Jerk>
To change weapons you just change the content of the line
IE:
<Weapon>m16</Weapon>
To remove the crowd weapons
Just remove the proper lines from the code:
(original)
<Crowd_Jerk>
<Annoyance>10</Annoyance>
<Max_Annoyance>50</Max_Annoyance>
<Lose_Interest_Delay>0.0</Lose_Interest_Delay>
<Weapon>baseball_bat</Weapon>
</Crowd_Jerk>
(modded)
<Crowd_Jerk>
<Annoyance>10</Annoyance>
<Max_Annoyance>50</Max_Annoyance>
<Lose_Interest_Delay>0.0</Lose_Interest_Delay>
</Crowd_Jerk>
To change weapons you just change the content of the line
IE:
<Weapon>m16</Weapon>
Adding More NPCs To The Crowd
There are only two NPCs that spawn. It just looks like more because you're not paying
close attention to the crowd, plus some of them spawn in their different outfits.
Here is the original spawnable fans info for the
Airport level: (From Crowd_HT.xtbl)
<Spawnable_Fans>
<Spawnable_Fan>
<Character_Preset>npc_young_male_generic</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_young_female_generic</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Here is the modded code: (I changed all of them to Saints so that I could see all the
different characters at a glance instead of having to study the crowd for too long.)
<Spawnable_Fans>
<Spawnable_Fan>
<Character_Preset>npc_Gat</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Shaundi</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Pierce</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Carlos</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Four seems to be the limit that will spawn right now. Testing if this can be
added to will require modding the crowd_common.cts file.
Note:Gat and Shaundi replaced the two NPCs originally in the mission
with Pierce and Carlos being added.
There are only two NPCs that spawn. It just looks like more because you're not paying
close attention to the crowd, plus some of them spawn in their different outfits.
Here is the original spawnable fans info for the
Airport level: (From Crowd_HT.xtbl)
<Spawnable_Fans>
<Spawnable_Fan>
<Character_Preset>npc_young_male_generic</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_young_female_generic</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Here is the modded code: (I changed all of them to Saints so that I could see all the
different characters at a glance instead of having to study the crowd for too long.)
<Spawnable_Fans>
<Spawnable_Fan>
<Character_Preset>npc_Gat</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Shaundi</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Pierce</Character_Preset>
</Spawnable_Fan>
<Spawnable_Fan>
<Character_Preset>npc_Carlos</Character_Preset>
</Spawnable_Fan>
</Spawnable_Fans>
Four seems to be the limit that will spawn right now. Testing if this can be
added to will require modding the crowd_common.cts file.
Note:Gat and Shaundi replaced the two NPCs originally in the mission
with Pierce and Carlos being added.
Attachments
Last edited: