Files
questshock/modding/hacked/ss1/content/archive/level/lvlobj/lvlobj.go
T

78 lines
3.2 KiB
Go

package lvlobj
import (
"github.com/inkyblackness/hacked/ss1/content/interpreters"
"github.com/inkyblackness/hacked/ss1/content/object"
)
var realWorldEntries *interpreterEntry
var cyberspaceEntries *interpreterEntry
var realWorldExtras *interpreterEntry
var cyberspaceExtras *interpreterEntry
var extraDefault = interpreters.New().
With("CurrentFrame", 1, 1).
With("TimeRemainder", 2, 1)
var extraIced = interpreters.New().
With("ICE-presence", 1, 1).
With("ICE-level", 3, 1)
var extraIcedFixtures = interpreters.New().
With("PanelName", 0, 1).
With("ICE-presence", 1, 1).
With("ICE-level", 3, 1)
var extraFixtures = interpreters.New().
With("PanelName", 0, 1)
var extraSurfaces = interpreters.New().
With("Index", 1, 1)
func init() {
software := initSoftware()
traps := initTraps()
critters := initCritters()
realWorldEntries = newInterpreterEntry(interpreters.New())
realWorldEntries.set(int(object.ClassGun), initGuns())
realWorldEntries.set(int(object.ClassAmmo), newInterpreterEntry(interpreters.New())) // have no data
realWorldEntries.set(int(object.ClassPhysics), newInterpreterEntry(basePhysics))
realWorldEntries.set(int(object.ClassGrenade), initGrenades())
realWorldEntries.set(int(object.ClassDrug), newInterpreterEntry(interpreters.New())) // have no data
realWorldEntries.set(int(object.ClassHardware), newInterpreterEntry(baseHardware))
realWorldEntries.set(int(object.ClassSoftware), software)
realWorldEntries.set(int(object.ClassBigStuff), initBigStuff())
realWorldEntries.set(int(object.ClassSmallStuff), initSmallStuff())
realWorldEntries.set(int(object.ClassFixture), initFixtures())
realWorldEntries.set(int(object.ClassDoor), initDoors())
realWorldEntries.set(int(object.ClassAnimating), newInterpreterEntry(baseAnimation))
realWorldEntries.set(int(object.ClassTrap), traps)
realWorldEntries.set(int(object.ClassContainer), initContainers())
realWorldEntries.set(int(object.ClassCritter), critters)
cyberspaceEntries = newInterpreterEntry(interpreters.New())
cyberspaceEntries.set(int(object.ClassSoftware), software)
cyberspaceEntries.set(int(object.ClassBigStuff), initCyberspaceBigStuff())
cyberspaceEntries.set(int(object.ClassSmallStuff), initCyberspaceSmallStuff())
cyberspaceEntries.set(int(object.ClassFixture), initCyberspaceFixtures())
cyberspaceEntries.set(int(object.ClassTrap), traps)
cyberspaceEntries.set(int(object.ClassCritter), critters)
realWorldExtras = newInterpreterEntry(extraDefault)
realWorldExtras.set(int(object.ClassFixture), newInterpreterLeaf(extraFixtures))
extraBigStuff := newInterpreterEntry(extraDefault)
simpleSurfaces := newInterpreterLeaf(extraSurfaces)
surfaces := newInterpreterEntry(extraDefault)
surfaces.set(1, simpleSurfaces)
surfaces.set(4, simpleSurfaces)
extraBigStuff.set(2, surfaces)
realWorldExtras.set(int(object.ClassBigStuff), extraBigStuff)
cyberspaceExtras = newInterpreterEntry(interpreters.New())
cyberspaceExtras.set(int(object.ClassSoftware), newInterpreterLeaf(extraIced))
cyberspaceExtras.set(int(object.ClassBigStuff), newInterpreterLeaf(extraIced))
cyberspaceExtras.set(int(object.ClassSmallStuff), newInterpreterLeaf(extraIced))
cyberspaceExtras.set(int(object.ClassFixture), newInterpreterLeaf(extraIcedFixtures))
}