Files
VOREStation/code/modules/scripting/AST/Operators/Binary Operators.dm
Cadyn cc05d51b69 Garbage collection, asset delivery, icon2html revolution, and general fixes (515) (#15739)
* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Update GC from TGStation

* fixes

* Appease linter

* begone custom_items.txt

* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Build dependencies at 514

* Asset delivery/GC/515 megapatch

* fix runtime

* Appease integration tests

* More runtime fixes

* Attempting to resolve runtime

* Update spacemanDMM

* icon2html revolution

* icon2html part 2

* fixes

* Attempt to appease linter

* More fixes

* Final fixes (hopefully)

* operator keyword moment

* minor fixes and additions

* undo extra tgui files

* switch to QDEL_IN_STOPPABLE where necessary

* Pain

* GPS runtime

* dropped(null) fix, + chompedit the fixes just incase.

* Fix chat tags

* Update _build_dependencies.sh

* runtime in orebag, duplicate in computer/ship/proc/look, runtime in zoom

* tweak zoom change

* another registersignal override runtime

* 1

* Revert "1"

This reverts commit 43f619ca6c216c2bc41b8f7a346069f99591261b.

* various qdel ref fixes

* newplayer and observer harddels

* disposalholder logging remove, gargoyle hard del + typo

* retouch atom/movable destroy to be TG-like

* potential edge case ref in manualfollow

* extra following potential ref

* global list refs tweak, new_player undo a thing

* /mob/new_player qdel fixes

* undo some things

* revert atoms/movable/destroy

* revert mind and new_player panel changes

* atoms and atom/movable reversions

* bring back datum/mind and panel fixes

* projectile optimisation

* Reverts useless edits, clothing hood runtime, projectile runtime

I tried a lot of things which do not help, and i reverted a lot of it here.

* a few more reversions of useless changes

* Begin getting rid of CHOMPedit comments

* Nuke remaining chompedit comments

* Revert "undo extra tgui files"

This reverts commit f3bdcde8cb.

* fixing oops

* line ending shenanigans

* More GC cleanup

* Optimisations to test/trace projectile, turrets. Tweaks.

Turrets now only trace when they are absolutely sure they want to shoot. disposalholder, effect master and artefact qdel refs changes.

* bad usage of the check_trajectory proc

check_trajectory returns a list of objects hit along it's path to it's target, not a boolean of the target being hittable. a couple places in code assume this, so here they are fixed.

* puts legacy globals into GLOB datum for debug use

* fix upport oopsie

* fix

* Move recursive listening to component

* Minor fixes and cleanup

* undo my temp solution

* tweaks + a missed thing

* recursive_move sanity checks and safety cases

* Catch null initialisation cases + fix borg creation

VV edit spawns the object in nullspace then directly sets it's loc, which means the movement is unregistered. The spawn(0) delay should hopefully mean that setup_parents happens AFTER any unregistered movement.

* circular inventory check, make checks better

* better handling of safety reset cases

* Add logging to safety checks

---------

Co-authored-by: Selis <selis@xynolabs.com>
Co-authored-by: Selis <sirlionfur@hotmail.de>
Co-authored-by: Raeschen <rycoop29@gmail.com>
2024-03-10 09:39:33 +10:00

175 lines
2.6 KiB
Plaintext

//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
/*
File: Binary Operators
*/
/*
Class: binary
Represents a binary operator in the AST. A binary operator takes two operands (ie x and y) and returns a value.
*/
/node/expression/op/binary
var/node/expression/exp2
////////// Comparison Operators //////////
/*
Class: Equal
Returns true if x = y.
*/
//
/node/expression/op/binary/Equal
precedence=OOP_EQUAL
/*
Class: NotEqual
Returns true if x and y aren't equal.
*/
//
/node/expression/op/binary/NotEqual
precedence=OOP_EQUAL
/*
Class: Greater
Returns true if x > y.
*/
//
/node/expression/op/binary/Greater
precedence=OOP_COMPARE
/*
Class: Less
Returns true if x < y.
*/
//
/node/expression/op/binary/Less
precedence=OOP_COMPARE
/*
Class: GreaterOrEqual
Returns true if x >= y.
*/
//
/node/expression/op/binary/GreaterOrEqual
precedence=OOP_COMPARE
/*
Class: LessOrEqual
Returns true if x <= y.
*/
//
/node/expression/op/binary/LessOrEqual
precedence=OOP_COMPARE
////////// Logical Operators //////////
/*
Class: LogicalAnd
Returns true if x and y are true.
*/
//
/node/expression/op/binary/LogicalAnd
precedence=OOP_AND
/*
Class: LogicalOr
Returns true if x, y, or both are true.
*/
//
/node/expression/op/binary/LogicalOr
precedence=OOP_OR
/*
Class: LogicalXor
Returns true if either x or y but not both are true.
*/
//
/node/expression/op/binary/LogicalXor //Not implemented in nS
precedence=OOP_OR
////////// Bitwise Operators //////////
/*
Class: BitwiseAnd
Performs a bitwise and operation.
Example:
011 & 110 = 010
*/
//
/node/expression/op/binary/BitwiseAnd
precedence=OOP_BIT
/*
Class: BitwiseOr
Performs a bitwise or operation.
Example:
011 | 110 = 111
*/
//
/node/expression/op/binary/BitwiseOr
precedence=OOP_BIT
/*
Class: BitwiseXor
Performs a bitwise exclusive or operation.
Example:
011 xor 110 = 101
*/
//
/node/expression/op/binary/BitwiseXor
precedence=OOP_BIT
////////// Arithmetic Operators //////////
/*
Class: Add
Returns the sum of x and y.
*/
//
/node/expression/op/binary/Add
precedence=OOP_ADD
/*
Class: Subtract
Returns the difference of x and y.
*/
//
/node/expression/op/binary/Subtract
precedence=OOP_ADD
/*
Class: Multiply
Returns the product of x and y.
*/
//
/node/expression/op/binary/Multiply
precedence=OOP_MULTIPLY
/*
Class: Divide
Returns the quotient of x and y.
*/
//
/node/expression/op/binary/Divide
precedence=OOP_MULTIPLY
/*
Class: Power
Returns x raised to the power of y.
*/
//
/node/expression/op/binary/Power
precedence=OOP_POW
/*
Class: Modulo
Returns the remainder of x / y.
*/
//
/node/expression/op/binary/Modulo
precedence=OOP_MULTIPLY