Show / Hide Table of Contents

Class SoulTotemContainer

Inheritance
object
Container
SoulTotemContainer
Inherited Members
Container.Unknown
Container.Shiny
Container.GrubJar
Container.GeoRock
Container.Chest
Container.Tablet
Container.Shop
Container.Enemy
Container.Mimic
Container.Totem
Container.Bluggsac
Container.GetContainer(string)
Container.DefineContainer(Container)
Container.DefineContainer<T>()
Container.SupportsAll(string, bool, bool, bool)
Container.OnEnable(PlayMakerFSM)
Container.AddChangeSceneToFsm(PlayMakerFSM, ChangeSceneInfo)
Container.AddCostToFsm(PlayMakerFSM, CostInfo)
Container.SupportsCost
Container.SupportsSceneChange
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: ItemChanger.Containers
Assembly: ItemChanger.dll
Syntax
public class SoulTotemContainer : Container

Constructors

View Source

SoulTotemContainer()

Declaration
public SoulTotemContainer()

Fields

View Source

Elevation

Declaration
public static readonly Dictionary<SoulTotemSubtype, float> Elevation
Field Value
Type Description
Dictionary<SoulTotemSubtype, float>
View Source

HitCount

Declaration
public static readonly Dictionary<SoulTotemSubtype, int> HitCount
Field Value
Type Description
Dictionary<SoulTotemSubtype, int>
View Source

ShrinkageFactor

Declaration
public static readonly Dictionary<SoulTotemSubtype, float> ShrinkageFactor
Field Value
Type Description
Dictionary<SoulTotemSubtype, float>
View Source

WasEverObtainedColor

Declaration
public static readonly Color WasEverObtainedColor
Field Value
Type Description
Color

Properties

View Source

Name

The unique name of the container.

Declaration
public override string Name { get; }
Property Value
Type Description
string
Overrides
Container.Name
View Source

SupportsDrop

Returns true if the container has a natural way to be dropped from midair.

Declaration
public override bool SupportsDrop { get; }
Property Value
Type Description
bool
Overrides
Container.SupportsDrop
View Source

SupportsInstantiate

Returns true if the container can be instantiated. For some containers, this value is variable in which objects were preloaded.

Declaration
public override bool SupportsInstantiate { get; }
Property Value
Type Description
bool
Overrides
Container.SupportsInstantiate

Methods

View Source

AddGiveEffectToFsm(PlayMakerFSM, ContainerGiveInfo)

Declaration
public override void AddGiveEffectToFsm(PlayMakerFSM fsm, ContainerGiveInfo info)
Parameters
Type Name Description
PlayMakerFSM fsm
ContainerGiveInfo info
Overrides
Container.AddGiveEffectToFsm(PlayMakerFSM, ContainerGiveInfo)
Remarks

Soul totems are implemented as follows:

  • The totem type is the type of the first SoulTotemItem in the items list, or B if no SoulTotemItems were included. It is also B if Soul Totem preloads were reduced.
  • The number of hits of the totem is the sum of the number of hits of each of the SoulTotemItems. If any of the SoulTotemItems have a negative number of hits, the totem is infinite.
  • The totem spawns non-soul items as shinies on the first hit. If the totem is depleted but has items, it will still spawn items on the first hit, but not give soul.
  • Soul items also count as given after the first hit. If all of the items on the soul totem have been obtained at least once, the totem becomes tinted orange.
  • The number of hits left on the totem is saved by its PersistentIntItem component.
View Source

ApplyTargetContext(GameObject, float, float, float)

Puts the container in the specified position, up to the elevation correction in y.

Declaration
public override void ApplyTargetContext(GameObject obj, float x, float y, float elevation)
Parameters
Type Name Description
GameObject obj
float x
float y
float elevation
Overrides
Container.ApplyTargetContext(GameObject, float, float, float)
View Source

ApplyTargetContext(GameObject, GameObject, float)

Puts the container in the same position and hierarchy of the target, up to the elevation correction in y.

Declaration
public override void ApplyTargetContext(GameObject obj, GameObject target, float elevation)
Parameters
Type Name Description
GameObject obj
GameObject target
float elevation
Overrides
Container.ApplyTargetContext(GameObject, GameObject, float)
View Source

GetNewContainer(ContainerInfo)

Produces a new object of this container type.

Declaration
public override GameObject GetNewContainer(ContainerInfo info)
Parameters
Type Name Description
ContainerInfo info
Returns
Type Description
GameObject
Overrides
Container.GetNewContainer(ContainerInfo)
Exceptions
Type Condition
NotImplementedException

The container does not support instantiation.

View Source

GetNewSoulTotemName(AbstractPlacement)

Declaration
public static string GetNewSoulTotemName(AbstractPlacement placement)
Parameters
Type Name Description
AbstractPlacement placement
Returns
Type Description
string
View Source

GetSoulTotemSubtype(GameObject)

Declaration
public static SoulTotemSubtype GetSoulTotemSubtype(GameObject totem)
Parameters
Type Name Description
GameObject totem
Returns
Type Description
SoulTotemSubtype

Extension Methods

Extensions.Yield<T>(T)
  • View Source
In this article
Back to top Generated by DocFX