Starward Rogue:XML - Enum Reference

From Arcen Wiki
Jump to navigation Jump to search

DamageType

  • Ballistic
  • Tracking
  • Gravity
  • Deployment
  • Laser
  • Energy
  • Ion
  • Concussive
  • Piercing
  • Poison
  • Fire
  • Acid
  • Lightning
  • Explosive
    • "Explosive" gets the MissileShotDamage modifier and not the NormalShotDamage one, and vice versa for non-Explosive.
    • "Explosive" shots can reveal secret doors on direct collision

DifficultyType

  • VeryEasy
  • Easy
  • Normal
  • Hard
  • Misery

FiringTiming

  • AllTheTime
    • always fires if there's any eligible target at all, even if not in range
  • OnlyInRange
    • only fires when there's something in range
  • WhenParentEntityHit
    • only fires when the parent entity is hit by something (which authorizes one salvo)
  • Never
    • never does normal salvo logic; useful with systems with category=DirectUseSystem

TargetingLogic

  • Direct
    • fires at where the target is now
  • Lead
    • fires at where this shot would intercept the target at its present speed and course. If the target is travelling too fast for the shot to intercept at any angle, this just shoots at the target's current location.
  • Dumbfire
    • fires in a straight line from the firing ship at the angle the firing ship is currently facing

FourDirection

  • North
  • East
  • South
  • West

RoomType

  • Starting
  • Item
  • Secret
  • Shop
  • Miniboss
  • Challenge
  • Boss_Rectangle
  • Boss_Large
  • Standard
  • TunnelWide
  • TunnelTall
  • Quad
  • FatVertical
  • FatHorizontal
  • Square
  • Boss_Square
  • Boss_RectEdged
  • SquareNE
  • SquareSW
  • StandardEW
  • StandardNS

EntityModifierProbationType

  • NoMissileUse
  • NoEnergyUse
  • NoTakingDamage
  • NoHealingHull
  • NoUsingConsumable

FamiliarType

  • NormalOrbit
    • stays relative to the master ship, never collides with walls, moves around in smooth-ish arcs from random offset to random offset (similar to movement of armadas around planets on the TLF metamap)
  • SimpleCircleOrbit
    • stays relative to the master ship, never collides with walls, moves around in a smooth-ish circle around the master ship
  • NormalShipBehavior
    • basically acts like a normal ship, according to the behavior flag. For example, you could use this with behavior=Wanderer or behavior=CardinalMover
    • will spawn on top of the master entity

EntityModifierType

These require attributes "math" and "magnitude" (see below for those)

  • MaxHealth
  • MaxShields
  • Range
    • Range that shots will live, specifically. Doesn't do much for BulletPattern stuff.
  • ReloadTime
  • MovementSpeed
  • ShotSize
    • Applies to the size of shots generated by this entity, not to the entity itself.
  • MySize
    • Applies to the entity itself. So if you want a system that causes its shots to be huge you can give it:
      • <modifier target="MyShots" type="MySize" math="Multiply" magnitude="4" />
  • NormalShotDamage
    • Applies to the damage of shots generated by this entity, not to the entity itself.
    • doesn't apply to melee damage, or the player's missiles
  • MissileShotDamage
    • Applies to the damage of shots generated by this entity, not to the entity itself.
  • AreaOfEffect_Self
    • only makes sense on shots, forces the shot to be aoe
  • MeleeDamage
    • Applies to the damage of shots generated by this entity, not to the entity itself.
    • this is the implicit "on-touch" damage that happens when the player's hitbox overlaps an enemy hitbox
  • IncomingDamage
    • accepts (but does not require) the damage_type attribute
      • if specified, only applies to damage from that source
      • if not specified, applies to all damage
  • Acceleration
  • Deceleration
    • this refers to how quickly an entity slows down from its current speed to zero.
    • If you want to adjust how fast an entity moves, you want MovementSpeed instead.
  • InventoryChangePerSecond
    • also requires "related_item" attribute, see below
    • only does anything when it applies to the player's entity
  • DamagePerSecond
    • does damage to the thing with the modifier every sim-step
    • uses damage_type
  • DamagePerSecond_IfMoving
    • similar to DamagePerSecond, but only has an impact if the ship is moving under power (not decelerating or being knocked back or whatever)
  • MyOwnDamage
    • unlike NormalShotDamage, which only impacts shots generated by the entity with that modifier, this one is for the shots themselves, and modifies the damage it does on impact
  • SystemAutoFireDuringAfterburner
    • during afterburner, if this system is on the player ship and would not normally be fired (its key isn't being held or whatever), it fires anyway and the shots are aimed directly behind the ship
  • RevealsWholeMap
    • when the player has this modifier, the whole map for the current floor is revealed; if the player still has this modifier after a floor transition it reveals that new floor as well
  • RevealsShopsItemRoomsAndBossRoom
    • similar to RevealsWholeMap, but just for shop, item, and boss rooms
  • SystemCannotBeDropped
    • if the player has this on their ammo system, they cannot pick up any item that would cause their ammo system to be destroyed or swapped out
      • same deal with consumable system
      • similar with main gun system (no pickups destroy it, but some can swap it out)
  • CannotPickUpItems
    • if the player has this, they cannot pick up any items

These require that "math" and "magnitude" be absent, as they're just on/off flags

  • ReflectsOffTerrain
    • Comes back at the opposite angle it came in on.
  • RicochetsOffTerrain
    • Comes back at a different angle than it came in on (if it was a shallow angle of incidence, the angle of reflection is shallow, etc)
  • IgnoresCollisionWithNonWallTerrain
    • Passes through Shootable and Bombable obstacles, but not the Indestructible obstacles (look like walls) or the exterior wall that bounds the room.
  • NonMeleeCannotFire
    • Prevents all its normal weapons from firing; only the implicit on-touch-damage systems will work during the duration
  • DestroysTouchingShootables
    • If touches a shootable while this modifier is applied, that shootable is destroyed.
  • DestroysTouchingBombables
    • Same deal with bombables.
  • IgnoresCollisionWithWallTerrain
    • Passes through Indestructible obstacles (look like walls) and the exterior wall that bounds the room. Does not pass through shootables or bombables (but you can set that flag too)
  • SystemDisabledAndInvisible
    • System doesn't render or do anything while this is applied.
  • PhasedOut
    • entity draws at half alpha
    • entity cannot be hit by shots
    • entity is immune to damage
  • Self_DestroyEnemyShots
    • when on a shot, makes it behave like its firing system had shot_destroys_other_shots
  • Self_NotDestroyedOnCollisionWithShip
    • when on a shot, makes it behave like its firing system had shot_is_not_stopped_by_hitting
  • ItemCosts
    • modifies requires_item_amount values where related_item matches requires_item_type
    • notably, used with Energy, this can make energy weapons cost more or less energy to fire
  • ItemGains
    • modifies on_pickup_grants_amount values where related_item matches on_pickup_grants_item
    • notably, used with Credits, this can increase the value of future credit drops
  • InventoryCapacity
    • modifies the max amount of related_item that you can store
    • notably, used with Energy, this can increase or decrease the player's energy storage capacity
  • HealthGainOnEnemyKill
    • when an entity (not system) with this kills a ship, it gains this much health
    • partial gain (less than one point) is stored and can be applied as actual health gain if a later kill brings it up to a full point (if it happens in the same room)
  • ItemGainOnEnemyKill
    • when an entity (not system) with this kills a ship, the player's inventory of related_item changes by this amount (can be negative, if you wanted a credit fine for killing something, for example)
  • HardensAfterTimeStationary
    • when an entity has this modifier, and has not moved under power, it shifts towards a dark gray color (maxing out when time not under power >= the value of this modifier)
    • when its time not under power >= the value of this modifier, the ship cannot take damage
  • StoreItemPrices
    • if the player has this, it modifies all credit_cost values

FlockBehaviorType

  • Attacker
    • It comes chasing after you, but moving directly for you and not paying attention to walls.
    • Not going to work well in enclosed areas. Once it gets in firing range it will stop, and it will move out of range if you get a bit closer to it. It’s kiting you, basically.
  • Stationary
    • sits there without moving.
  • Wanderer
    • wanders around from point to point at random.
    • Changes direction when it hits an obstacle or wall, or when it goes a certain distance (defined below).
    • Totally separate properties that are only relevant when using wanderer (so I’ll show them here):
      • wander_distance_min (int)
      • wander_distance_max (int)
      • These two properties, default 300 and 600 respectively, say how far the enemy will move before considering changing directions (assuming it doesn’t hit something else first).
      • In other words, when it starts moving it chooses a target that is rand(min,max) distance away.
  • PathfindingAttacker
    • More sophisticated tracking of you, trying to come after you.
    • Will collide with walls as if was 64x64 in size when in this mode, so big enemies using this may wind up seeming to go through impossible gaps if you use this on them. Best for smaller enemies.
  • LineOfSightAttacker
    • Same as Attacker mode, but will move toward the player if it has line of sight on the player. This will work well in any sort of space, but mainly for enemies that lurk.
  • CardinalMover
    • Moves around in the four cardinal directions only, turning in a new direction when it hits an obstruction. If moves for 5 seconds with no collision, will potentially change direction.
    • Totally separate property that is only relevant when using cardinal mover (so I’ll show it here):
      • cardinal_mover_random_turn_interval (float)
      • Default 5. This is what sets the “if moves for x seconds with no collision, will potentially change direction” number.
  • Zamboni
    • travels up until it hits a wall
    • then goes one tile right
    • then goes down until it hits a wall
    • then goes one tile right
    • repeat
    • if it ever hits a situation where it cannot go right, it repeats the above with "left" instead; and vice versa
  • FamiliarFollower
    • like Attacker
    • on entity: familiar_follower_leash_distance (int)
      • if this entity is at least this far from the player, it pathfinds to the player
      • if this entity is pathfinding to the player, and is no longer at least this far from the player, that path order is cleared and it falls back on Attacker behavior
  • FamiliarCreditGathering
    • pathfinds to the credit drop that it has the shortest path to
    • if it can't find a path to any credit drop it reverts to FamiliarFollower for the rest of the room (to avoid frequent path checks to all the inaccessible credit drops, if any)
    • if it touches a credit drop, it does the normal player-picked-it-up logic
    • on entity: familiar_credit_gatherer_does_something_every_x_credits (int)
      • every time this entity's total gathered credits (in this room; familiar state is not retained between rooms) reaches this value, it does "something" (not yet defined)
  • FamiliarRam
    • like FamiliarFollower
    • on entity: familiar_ram_charge_distance (int)
      • if this entity is within this distance of a hostile target that it can hit, it pathfinds to that entity
      • used in conjunction with a short-ranged attack with an aoe and the destroys_firing_entity flag, it can make a kamikaze ram; otherwise it can be given guns to harass the target

InventoryItemType

  • Energy
  • Keycard
  • Missile
  • Credit

AnchorLocation

  • Center,
  • Left
  • Right
  • Up
  • Down
  • UpLeft
  • UpRight
  • DownLeft
  • DownRight
  • CenterLeft
  • CenterRight

ShaderType

  • Normal
  • Additive
  • PartialBlend
  • Multiplicative
  • InverseAdditive
  • InverseAdditiveWithAlpha
  • Experimental
  • ExperimentalCutoff
  • HSV
  • HSVAdditive
  • InverseSubtractive
  • Graycolored
  • Grayscale

Starward Rogue XML Documentation Main