Skip to content

Commit

Permalink
Copy editing for h3 scarab guide
Browse files Browse the repository at this point in the history
  • Loading branch information
csauve committed Jan 8, 2025
1 parent b59dddc commit e6527e6
Showing 1 changed file with 44 additions and 58 deletions.
102 changes: 44 additions & 58 deletions src/content/h3/guides/scarab/readme.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,18 @@
---
title: Scarab usage
about: guide
img: gnr.jpg
keywords:
- giant
- scarab
- ai
thanks:
Rataz: Writing this guide
RejectedShotGun: Streaming while adding a scarab to a map.
RejectedShotGun: Streaming while adding a scarab to a map
---
This guide provides general info on how to set up the scarab in a custom scenario. The Scarab is a fun opponent to add to custom scenarios, but requires more steps to set up than other AI characters.

General info on how to set up the scarab in a custom scenario.

# Scarab

The Scarab is a fun opponent to add to custom scenarios. It reqiures more steps to set up than other ai characters.


# AI Scarab setup

## Importing the Scarab.

Two different tags must be imported to have a working scarab.

### Summary
# Overview

1. Add giant tag.
2. Add character tag.
Expand All @@ -32,12 +21,14 @@ Two different tags must be imported to have a working scarab.
5. Create a squad with scarab as the character, and set the initial zone to the giants zone.
6. Optionally put gunners on the plasma turrets using scripting.

# Importing the Scarab
Two different tags must be included in Sapien to have a working scarab: the scarab [giant](~) and its [character](~).

### Import the giant tag
## Import the giant tag

1. Edit Types
1. Edit Types

![](edit_types.png)
![](edit_types.png)

2. Select `giant`

Expand All @@ -55,7 +46,7 @@ Two different tags must be imported to have a working scarab.

![](add_giant3.png)

### Import the character tag
## Import the character tag

1. Edit Types

Expand All @@ -65,7 +56,7 @@ Two different tags must be imported to have a working scarab.

![](add_scarab_character.png)

3. Find the scarab ai folder
3. Find the scarab AI folder

![](scarab_character_path.png)

Expand All @@ -74,7 +65,7 @@ Two different tags must be imported to have a working scarab.
![](add_scarab_character2.png)


## Create a giants zone
# Create a giants zone

1. Selecting the Zones folder.
2. Click New Instance.
Expand All @@ -87,16 +78,16 @@ Two different tags must be imported to have a working scarab.
2. Set the zone to be a `giants zone`.

![](giants_zone.png)


## Create giant hints

# Create giant hints

4. Under AI/Hints, Select `Giant sector hints`

4. Open _AI > Hints > Giant sector hints_ in the Hierarchy window.

![](giant_sector_hints.png)

6. Right click in the scene view to place points to mark out an area where the scarab is allowed to walk.
6. Right click in the scene view to place points to mark out an area where the scarab is allowed to walk.

![](area2.jpg)

Expand All @@ -105,39 +96,39 @@ Two different tags must be imported to have a working scarab.

![](area_drag.jpg)

7. Place a couple `Giant rail hints` within the giant sector hints area using rightclick.
7. Place a couple _Giant rail hints_ within the giant sector hints area using right click.

![](railhints.png)

![](railhints2.jpg)

8. Click `Generate All Pathfinding`.
8. Click _Scenarios > Generate all pathfinding data_

![](generate_pathfinding.png)

9. Click Scenarios -> Map reset.
9. Click _Scenarios > Map reset_.

## Set up a squad
# Set up a squad

1. Select Squads folder.
1. Select _Squads_ folder.

![](squads_folder.png)

2. New Instance.

![](squad_new_instance.png)

3. Select `Fire Teams`
3. Select _Fire teams_

![](sel_fireteam.png)

4. Set the fireteam `normal diff count` to 1.
4. Set the fireteam _normal diff count_ to `1`.

5. Select `Starting points`.
5. Select _Starting points_.

![](sel_startingpoints.png)

6. Place a startingpoint by rightclicking in the scene view.
6. Place a starting point by right clicking in the scene view.

![](place_startingpoint.jpg)

Expand All @@ -147,48 +138,43 @@ Two different tags must be imported to have a working scarab.

8. Select the squad and rename it something memorable like `scarab squad`.

9. Set the scarab squad's `initial zone` to the giants zone created earlier in this guide.
9. Set the scarab squad's _initial zone_ to the giants zone created earlier in this guide.

![](set_scarab_zone.png)

10. Right click the squad and click "Place squad" to spawn the scarab.

![](place_squad.png)

11. Use `ctrl+q` to spawn in and the Scarab will attack and walk around.
11. Use {% key "Ctrl + Q" /%} to spawn in and the Scarab will attack and walk around.


## Adding side gunners.

1. Add 3 more starting points to the squad and increase Normal Diff Count to 4.
2. On the new starting points, set the character type to Brute or Grunt
1. Add 3 more starting points to the squad and increase _Normal diff count_ to `4`.
2. On the new starting points, set the character type to Brute or Grunt.

![](gunner_settings.png)

3. Name the gunner starting points to `gnr1`, `gnr2`, `gnr3`

![](gunner_starting_pts.png)

4. Use `vehicle_load_magic` and `object_get_turret` in a script to put the gunners on the turrets. An example script is provided below. The script assumes that the squad is called `scarab_squad`


```
(script startup mymission
(print "Mission begin")
(placeScarab)
)
(script static void placeScarab
;Place the squad
(ai_place scarab_squad)
4. Use `vehicle_load_magic` and `object_get_turret` in a script to put the gunners on the turrets. An example script is provided below. The script assumes that the squad is called `scarab_squad`.

```hsc
(script startup my_mission
(print "Mission begin")
(place_scarab)
)

;Put gunners on the turrets
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 0) "turret_g" (ai_actors scarab_squad/gnr1))
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 1) "turret_g" (ai_actors scarab_squad/gnr2))
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 2) "turret_g" (ai_actors scarab_squad/gnr3))
)
```
(script static void place_scarab
; Place the squad
(ai_place scarab_squad)

![](gnr.jpg)
; Put gunners on the turrets
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 0) "turret_g" (ai_actors scarab_squad/gnr1))
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 1) "turret_g" (ai_actors scarab_squad/gnr2))
(vehicle_load_magic (object_get_turret (ai_get_object scarab_squad/starting_locations_0) 2) "turret_g" (ai_actors scarab_squad/gnr3))
)
```

0 comments on commit e6527e6

Please sign in to comment.