Trigger event - isgallagher/DpOmnicide GitHub Wiki

{{TOCRIGHT}} Trigger event (verb '''''to trigger''''') is most useful event. It allows interaction between game objects.

Many entities can trigger other entities, or be triggered. For example you could open and close a door with a button, so here the button triggers the door. Not only buttons can trigger things, for example enemy could trigger a door when dies.

In Blood Omnicide, trigger event can have custom instructions which is used to control the way entities react to the event.

===Event input===

  • self - entity trigger event is being processed on
  • activator - who lets event go (usually player)
  • parameters - instructions for trigger event, fetched from "targetparm" field of self.

===Event rules===

  • Instructions are case insensative
  • Instruction keywords are separated by space and TAB (except for braces)
  • ';' is the separator between instructions
  • If trigger instructions not begin with "SELECT ", scripts automatically executes "SELECT TARGETS" at beginning.
  • Empty instructions defaults to "SELECT TARGETS;CALL"

==Instructions==

'''SELECT/ADD''' :Starts (select) or expands (add) selection of Entity. :* SELECT TARGETS - select entity to which i'm targeted :* SELECT TARGETERS - select entities which are targeted to me :* SELECT BYID '' ... '' - select entities by their save id's :* SELECT BYTARGETNAME '' ... '' - select entities by their targetnames

'''INFOPORTION ''OPERATOR''''' :Manipulate Infoportions on activator: :* '''INFO SET''' ''infoportion'' - add/update infoportion :* '''INFO DEL''' ''infoportion'' - delete infoportion :* '''INFO INC''' ''infoportion'' ''increase_by'' - increase infoportion value by 1 or by custom value (of presented) :* '''INFO DEC''' ''infoportion'' ''decrease_by'' - increase infoportion value by 1 or by custom value (of presented)

'''CALL''' :This triggers all selected entities with their default action. :Can prefix this instruction with classname:. In this case trigger event will only be processed on entities with matching class name. :Examples: ::select targets;effect_light:call ::select byid 145;call

'''''CUSTOM ACTION''''' :One of object's supported custom trigger actions. Classname filter is supported. :Examples: ::select targets;effect_light:on ::select byid 145;trigger_puzzle:toggle 2 1 3

'''BREAK or NOCALL''' :Immediately exit trigger event.

==Event keys==

Trigger event have general keys that is used for it.

Sometimes this keys are used by other kind of events too. This special behavior (if presented) is defined in particular class reference.

{{entity fields}}
Target
target
All entities with matching targetname will be triggered.
-
Target parameters
targetparm
When entity is triggered, this is instructions for trigger event (see instructions above);
-
Targetname
targetname
Entities with matching target will trigger this entity.
{{entity fields end}}

== See also ==

{{finished}}

⚠️ **GitHub.com Fallback** ⚠️