Castle Story Guide

How to siege your own sandbox Castle for Castle Story

How to siege your own sandbox Castle

Overview

Here I tell you:How to convert a Sandbox level into Survival one (and possibly back)How to add enemy spawners for Corruptions in Sandbox mode

Intro

Simpliest way to spawn enimies in Sandbox mode is to edit the savegame.

Savegame editing is a kind of hacking so USE THIS GUIDE FOR YOU OWN RISK.

Neither Me, nor the Developers are not responsible for any loss of your amazing castle, game crashes, thunder strikes and so on.

So MAKE BACKUPS!
Just copy whole folder “New Save #” to some safe place before making such changes.

Creating spawn points

1. Select a spawn point

To spawn Corruptuions the game need spawn points there they should appear.
Lets mark a new spawnpoint from a “Clean” job. It is good to remove all other clean jobs for clarity.

2. Save the map
3. Edit the Monde_Autre_data.brx

Use good editor, and turn Word Wrap on.
That file is a string of @ separated items, we are looking for Groupe Nettoyer.

@Groupe Nettoyer 15 BaliseAI 118016480 10 @
  • 15[/b] means group number (must be unique across the file)
  • 118016480 is an index encoded X Y Z coordinates

We replace that part of the string to another one

@Groupe Custom 15 Tag CorruptronSpawnPoint BaliseAI 118016480 0@

using group number (15) and index (118016480) from original string.

That replacement should be performed for each needed spawn.

4. Edit the Monde_Objects.json

Here we looking for other part of “Clean job” description “groupeDesc”: “Nettoyer”,

{ “$type”: “BaliseAI, Assembly-UnityScript”, “index”: 118016480, “rayon”: 10, “groupeID”: 15, “groupeDesc”: “Nettoyer”, “groupeTag”: “” },

Here we should change groupeDesc to Custon, rayon to 0 and groupeTag to CorruptronSpawnPoint fields.

{ “$type”: “BaliseAI, Assembly-UnityScript”, “index”: 118016480, “rayon”: 0, “groupeID”: 15, “groupeDesc”: “Custom”, “groupeTag”: “CorruptronSpawnPoint” },

That change also should be performed for each spawnpoint

Turn on the Survival mode logic

In Sandbox mode game uses default logic for enemy (i.e. does nothing) and doesnt “tick” any waves.

To enable good logic and spawn waves of creeps you should edit the gamemode.json

Enemy logic

The default logic is controlled by that statement

{ “$type”: “EnemyStrategy, Assembly-UnityScript” },

It should be replaced with

{ “$type”: “EnemySiege, Assembly-UnityScript” },

That strategy means waiting for a next wave, spawn enemies and send them for your crystal.

Rounds

The default “no rounds” strategy called “RoundStrategy”, so we search for

{ “$type”: “RoundStrategy, Assembly-UnityScript”, “number”: 0 },

and replace it with

{ “$type”: “SurvivalRound, Assembly-UnityScript”, “reste”: 30.0, “number”: 0 },

where reste means remaining time in seconds.

There is another value for Sandbox should be changed from zero (or Corruptions will not be spawned at all)

“enemeyIncreasePerRound”: 0,

should be changed to 1 (or more).
That value means how much creeps will be spawned per wave number, so value of one means each spawn point spawns 1 Corruption at start wave, 2 Corruptions at second wave, and so on.

Enjoy

Just load a game again (from a Sandbox list) and you see a wave timer at the left corner of the screen.

It will start waves in time.

Good luck!

SteamSolo.com