WheteThunger / MonumentAddons

Add entities, spawn points and more to monuments
https://umod.org/plugins/monument-addons
MIT License
5 stars 9 forks source link

Add profile for sharks at Oilrig #5

Closed WheteThunger closed 2 years ago

WheteThunger commented 2 years ago

Create an example profile which adds shark spawn points to oilrig monuments.

m-hynek commented 2 years ago

I have sharks on rigs - 2 on large, 1 on small. I'll clean it up and share in PR

WheteThunger commented 2 years ago

Below is a profile I was working on before, which has 5 sharks at large Oil Rig. Fee free to reuse any of it for the profile you are making.

Some things to keep in mind:

{
  "Name": "OilrigSharks",
  "Author": "WhiteThunder",
  "SchemaVersion": 2.0,
  "MonumentData": {
    "OilrigAI": {
      "SpawnGroups": [
        {
          "Id": "b8c55194-6bbf-4245-8ceb-0763f804784c",
          "Name": "Sharks",
          "MaxPopulation": 5,
          "SpawnPerTickMin": 5,
          "SpawnPerTickMax": 5,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "PreventDuplicates": false,
          "Prefabs": [
            {
              "PrefabName": "assets/rust.ai/agents/fish/simpleshark.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "efe3c661-2387-4ec7-aa02-f6ec2dd7f1eb",
              "Position": {
                "x": -10.0,
                "y": 0.0,
                "z": -17.0
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 90.0,
                "z": 0.0
              },
              "Exclusive": true,
              "DropToGround": true
            },
            {
              "Id": "de248f4e-07bd-49fd-beb0-2706c199eced",
              "Position": {
                "x": 13.75,
                "y": 0.0,
                "z": 10.0
              },
              "Exclusive": true,
              "DropToGround": true
            },
            {
              "Id": "dd55b8e1-d6a1-408e-aff8-cdad51864b26",
              "Position": {
                "x": 35.0,
                "y": 0.0,
                "z": -16.0
              },
              "Exclusive": true,
              "DropToGround": true
            },
            {
              "Id": "2a9ef1c9-dd90-44ba-ab48-0e4ab8c01b7f",
              "Position": {
                "x": 13.75,
                "y": 0.0,
                "z": -40.0
              },
              "Exclusive": true,
              "DropToGround": true
            },
            {
              "Id": "296d6193-d25c-4d1e-b08e-fdcfb290e17a",
              "Position": {
                "x": 15.0,
                "y": 0.0,
                "z": -16.0
              },
              "Exclusive": true,
              "DropToGround": true
            }
          ]
        }
      ]
    }
  }
}
m-hynek commented 2 years ago

I had best results, considering gameplay balance, with single spawnpoint in middle for small rig, and 2 spawn points close to red pipes on large rig. 5 sharks profile is IMO straight unfair and I dont think players or even server owners would like it. Fewer sharks would add danger element to water so players would jump off rig only when absolutely necessary, but knowing that there are 5 sharks, that would put jumping to water out of the table. Also with 1-2 sharks players can observe their paths and have little minigame avoiding them if they time it well and are careful enough. Unaware swimmers will get most likely eaten even without 5 sharks.

{
  "Name": "OilrigSharks",
  "Author": "marcuzz",
  "SchemaVersion": 2.0,
  "MonumentData": {
    "OilrigAI": {
      "SpawnGroups": [
        {
          "Id": "b8c55194-6bbf-4245-8ceb-0763f804784c",
          "Name": "Sharks",
          "MaxPopulation": 1,
          "SpawnPerTickMin": 1,
          "SpawnPerTickMax": 1,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/rust.ai/agents/fish/simpleshark.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "296d6193-d25c-4d1e-b08e-fdcfb290e17a",
              "Position": {
                "x": 15.0,
                "y": 0.0,
                "z": -16.0
              },
              "Exclusive": true,
              "SnapToGround": true
            }
          ]
        }
      ]
    },
    "OilrigAI2": {
      "SpawnGroups": [
        {
          "Id": "7623668c-b725-4ac2-8ea3-c013e69368ac",
          "Name": "Sharks",
          "MaxPopulation": 2,
          "SpawnPerTickMin": 2,
          "SpawnPerTickMax": 2,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/rust.ai/agents/fish/simpleshark.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "4249e064-9fbe-409c-8e3d-812976ad98e7",
              "Position": {
                "x": 0.0,
                "y": 0.0,
                "z": -28.0
              },
              "Exclusive": true,
              "SnapToGround": true
            },
            {
              "Id": "1dc494b3-3069-406d-8cfc-341eaba21219",
              "Position": {
                "x": 0.0,
                "y": 0.0,
                "z": 28.0
              },
              "Exclusive": true,
              "SnapToGround": true
            }
          ]
        }
      ]
    }
  }
}
WheteThunger commented 2 years ago

Sounds good to me! Thanks for thinking it through.

I tested those example profiles and I like how evenly they are covering the area, as seen in the below screenshots.

image

image

WheteThunger commented 2 years ago

Resolved in #34.