Skip to content

Objects / Choices

Objects, also referred to as Choices, are the most important element of not just Interactive CYOAs, but CYOAs as a whole. Without Choice, you are just left with a story or history.

In the context of the ICC, Objects are individual options that can be selected by the player.

To do anything with Objects, you first must go into the Edit Row menu. You can learn how to that here.

Creating Objects

To create an Object, press this button.

Cloning Objects

To clone or copy an Object, press this button.

Deleting Objects

To delete an Object, press this button.

Danger

This action does NOT warn you when deleting an Object, so be extra careful when using this option.

Resetting Objects

If you've accidentally activated choices, you can reset them using the following methods:

  • Pressing Clean Selected Choices in the Sidebar.
  • Going into Choice Import and importing an empty ID list
  • Manually deselecting them

Object Width

Object Width, much like the Objects per Row option, specifies how many Objects should fit within one row.

For example:

  1. If you have two Objects, you might want to set them to 2 per Row, making it so that only two Objects would fit.
  2. If you have six Objects, you might want to set them to 3 per Row, making it 2 columns times 3 rows.

Note

You should not make the width too high. If you do, the row's Objects' text will be too skinny to be legible and too cramped to look good.

You can preview what this looks like here.

To learn more about the Object Width of 'Row', read here.

Functions

Functions are something you'll quickly become familiar with if you make ICYOAs for a time. They are your bread and butter for interactivity between choices.

Selecting this choice will de-select all other choices

Danger

Be very careful when implementing this function. Unless the choice is clearly marked, it can harm players who might accidentally press on it.

This function will automatically deactivate EVERY choice in the ICYOA.

This choice can be selected multiple times

One of the most useful functions, this allows you to select a choice more than once.

Tip

Using a custom Point type to is ill-advised, because you need to create a new Point type each time you make a choice that can be selected multiple times.

According to the official author:

Quote

The point type used here should only be used for this choice, and it can be hidden by placing something in 'Id needed to activate' in Features -> Manage Points.

Therefore, it's easier to just use a simple variable every time.

Warning

However, should you use a simple point type, you will be unable to attach a requirement to each press.

According to the official author:

Quote

The function that allows for a choice to be selected multiple times does no longer need a point-type, but without using one the number of times it has been pressed will not be possible to use in a requirement.

Therefore, you should make an exclusive Point-type if a requirement is necessary.

You will be presented with two input fields:

  • Number where the minus will stop working: This is your 'minimum' number. You cannot go below this threshold.
  • Number where the plus will stop working: This is your 'maximum number. You cannot go above this threshold.

Info

It's worth noting that the number used for the threshold relates to how many times you can press the buttons for increasing or decreasing.

It will also stop you from going down or up if you lack the points required, and the Point type has the property This score is not allowed to go under 0.

If you wish to make points go up or down with each press, simply add the score as per usual. If you don't know how to do that yet, please see here.

Selecting this choice will be impossible

Similar to the Row Non-Activatable? switch, but instead for a singular choice instead of all choices in a Row.

Warning

This is known to be quite buggy at times. Be careful with it.

Forces another choice active

Another one of the more useful functions, this function will, given an ID of a choice, forcibly activate another choice or a list of choices.

You can activate more than one choice at a time by separating the Object IDs with a comma (but no space), e.g. this:

Text Only
josf,ld2f,os9f,ls01

…will forcibly activate all four Objects.

Deactivating the enforcing choice will also deactivate any forcibly activated Objects, but it will not deactivate any Objects that were selected beforehand.

Warning

According to the creator of the ICC, this option works poorly if more than one Object possesses the same ID, or if a target has requirements attached.

ICC Quote

Works badly if multiple of these have the same ID, or if the target has requirements attached. You can use comma to activate multiple (ID,ID,ID).

Will make another choice unselected

The inverse of the above function, it will instead forcibly deselect any IDs passed into it.

Multiply Points when activated

See here.

Divide Points when activated

See here.

Words will be changed to something else at select

See here.

Players can upload a picture by pressing this choice

See here.

Adds or takes away a rows Allowed Choices

This function can be used to dynamically change what a Row's Allowed Choices number is.

Bypass Allowed Choices

If you have a Perk or any other reason why you would want to have an Object within a Row with a limited amount of choices to not count as an Allowed Choice, then you can bypass it by having the Object itself increase the Allowed Choice by 1, whilst it naturally simultaneously takes 1 itself, leaving with no difference.

Clean Selected Choices (Side Menu)

See here.

(TODO) Adds or takes away a rows Allowed Choices

See [here]

Copy Choice Into Another Row

This dropdown menu allows you to copy a Choice into another Row. Simply press Copy to copy it.

List of objects

If you want to get a list of Objects within a Row, simply go into a Edit RowList of objects. You will find the latter as the second button on the top right.

Pressing this button will open up a list of Choices.

This gives a concise list of Choices within that Row. Here, much like you could with Rows, you can reorder the Choices how you like.

Reference

(TODO) You may only pick X options

Use Allowed Choices.

(EX TODO) You may only pick X options from an arbitrary group

Similar to the above, except these choices are not required to have been from the same Row.

You do this buy creating a unique Point Type that is unable to go below 0, and is also hidden. Each choice in this arbitrary group costs 1 of these points.

This can be useful compared to the above if you wanted to have a dynamic

??? example (TODO)

Text Only
1

Choice requires another's Choice

See here

(TODO) Hide a choice if it doesn't meet the requirements

Simply use filters.

(TODO) Disabled Choices via Selected Choice

If you have some choices that have prerequisites/requirements, then having them require those requirements will enforce that users don't cheat, and follow the rules.

(TODO) Making Choices Invisible

There are two ways to make a Choice invisible, depending on what you want:

  1. If you want a Choice that is merely meant for functional purposes (i.e., it does some logic in the background), simply make the Choice title and text empty, and it will effectively render it invisible.

    Best used with an invisible Row and at the end of the document.

  2. If you want to make choices that don't fit requirements disappear, then you can solve that using filters. We discuss that below.

    Note

    Instead of making choices invisible, consider merely blurring them or dimming them such that they're visibly unable to be selected. This way, users will be able to tell there's a potential Choice there, and they simply need the requirements.

    If you still want to make Choices invisible, continue on ahead.

Choices that don't have their requirements can be made invisible using filters.

Tip

Warning

Before you use private styling, make sure you've read and understood this.

Unless your CYOA constantly and consistently wants to hide every choice that doesn't have its

(WIP) Chaining Invisible Choices

There may be times where you have to do something like activate a function more than once, but the Choice which is selected does not allow that, such as wanting to change multiple Words.

A way to bypass that, is

(TODO) Dynamically change Allowed Choices number

You can dynamically change the

Make a Choice only able to be selected once

This will make sure that once they select the Choice it cannot be reselected1.

Warning

This method is hacky and relies on bugged mechanics.

This is what it'll look like once you're done:

What you do is:

  1. Make a Point Type just for this option
  2. Hide the Point Type
  3. Set the Point Type to 1
  4. Set a += More or Equal requirement on the Choice you want to affect
  5. Select the Point Type you created, and set it to 1
  6. Add a Score setting the Score to 1

And you're (functionally) done! You can reset it in the creator by clearing your selected IDs.

But we can go further. In the private styling we can setup disabled Choices so that they look like they've been selected, so this can only be used if the Row is explicitly for Choices you don't want to be taken back, otherwise the styling would be inconsistent.

Do this like so:

  1. Turn on Private Styling
  2. Manage Filter Design
  3. Change the Filter on Choice that is missing its required to the same as the filter above it, matching it

And then we get this:


There is — as of yet — no known method to detect whether the Choice has been pressed because it actually stops being selected as soon as you press it, with the bug being that it appears and acts disabled.

(TODO EX) Make a Requirement based on a Choice that can be selected multiple times

To do this, you simple have to:

  1. Create a hidden point type
  2. Make sure it's set to 0
  3. Add a Score to it
  4. Set the score to increase the Point by one
  5. In the Row, Choice, or Addon you want to detect the multiple selected choice, make a:
    • More Than 0 Requirement, if you wanted to detect if the Choice has been increased more than once
    • Less Than 0 Requirement, if you wanted to detect if the Choice has been put in the negatives

  1. Credit to SensualWetting#5481 on Discord for this 

Comments

If you have any questions, concerns, corrections, or anything else, please comment below.