Machine Class
An `Object` which needs occasional repair (to prevent explosion).
Inheritance: Machine » Object » Entity
Subclasses: OperatingTable
Method Index
- _getUsageTile(usage_position_name) (inherited from Object)
- _tick() (inherited from Entity)
- addReservedUser(user) (inherited from Object)
- afterLoad(old, new) (overrides Object:afterLoad)
- calculateIsMachineMustExplode(room)
- callHandymanForRepairIfNecessary(room)
- cancelUsage() (inherited from Object)
- clearDynamicInfo() (inherited from Entity)
- createHandymanActions(handyman)
- denyReservation() (inherited from Object)
- deoccupyTilesByObjectFootprintAt(x, y) (inherited from Object)
- directionParameters() (inherited from Object)
- earthquakeImpact(room)
- eraseObject() (inherited from Object)
- explodeMachine(room)
- finalize(room)
- getAllUsageTiles() (inherited from Object)
- getComplementaryPassableFlag(passable_flag) (inherited from Object)
- getDrawingLayer() (inherited from Entity)
- getDynamicInfo() (inherited from Entity)
- getRemainingUses()
- getRenderAttachTile() (inherited from Object)
- getRepairTile()
- getRoom() (inherited from Entity)
- getSecondaryUsageTile() (inherited from Object)
- getSmokeDrawingLayer()
- getState() (overrides Object:getState)
- getTile() (inherited from Entity)
- getWalkableTiles() (inherited from Object)
- getXYforUsePosition(object_x, object_y, object_layout, usage_position_name) (inherited from Object)
- incrementUsageCounts(total_usage_only, is_earthquake)
- incrementUsedCount() (inherited from Object)
- initOrientation(direction) (inherited from Object)
- isBreaking()
- isMachine() (overrides Object:isMachine)
- isReservedFor(user) (inherited from Object)
- machineRepaired(room, strength_reducible)
- machineUsed(room, earthquake_activated)
- notifyNewObject(id) (inherited from Entity)
- notifyNewRoom(room) (overrides Entity:notifyNewRoom)
- occupyTilesByObjectFootprintAt(x, y) (inherited from Object)
- onClick(ui, button) (overrides Object:onClick)
- onDestroy() (overrides Object:onDestroy)
- onPickUp() (inherited from Object)
- placed(room)
- playAfterLoadSound() (inherited from Entity)
- playEntitySounds(name_pattern, min_silence_lengths, max_silence_lengths, num_silences) (inherited from Entity)
- playSound(name, played_callback, played_callback_delay) (inherited from Entity)
- processTypeDefinition(object_type) (inherited from Object)
- rebuildPassableCellFlags() (inherited from Object)
- reduceStrengthOnRepair()
- removeHandymanRepairTask()
- removeRepairingStatus()
- removeReservedUser(user) (inherited from Object)
- removeUser(user) (inherited from Object)
- replaceMachine(cost)
- resetAnimation() (inherited from Object)
- resetUsageAndReservaton() (inherited from Object)
- setAnimation(animation, flags) (inherited from Object)
- setCrashedAnimation()
- setDynamicInfo(type, value) (inherited from Entity)
- setHandymanRepairPosition(direction)
- setInvisible(invisible) (inherited from Object)
- setLayer(layer, id) (inherited from Entity)
- setMood(mood_name, activate) (inherited from Entity)
- setMoodInfo(new_mood) (inherited from Entity)
- setPosition(x, y) (inherited from Object)
- setRepairingStatus()
- setSpeed(x, y) (inherited from Entity)
- setState(state) (overrides Object:setState)
- setTile(x, y) (inherited from Object)
- setTilePositionSpeed(tx, ty, px, py, sx, sy) (inherited from Entity)
- setTimer(tick_count, f) (inherited from Entity)
- setUser(user) (inherited from Object)
- setWaitingForSoundEffectsToBeTurnedOn() (inherited from Entity)
- slaveMixinClass(class_method_table) (overrides Object.slaveMixinClass)
- tick() (overrides Object:tick)
- tickDay() (inherited from Entity)
- updateDynamicInfo() (overrides Object:updateDynamicInfo)
- updateSmokeDisplay(room)
- usePositionNames() (inherited from Object)
Member Index
- animation_flags (*)
- animation_idx (*)
- direction (*)
- dynamic_info (*)
- footprint (*)
- handyman_position
- hospital
- hover_cursor
- layers (*)
- mood_info (*)
- mood_marker
- num_animation_ticks (*)
- object_type
- orientation_before (*)
- permanent_flags (*)
- picked_up (*)
- playing_sounds_in_random_sequence (*)
- random_sound_sequence_parameters (*)
- repairing
- reserved_for (*)
- reserved_for_list (*)
- set_passable_flags (*)
- skip_next_tick (*)
- slow_animation (*)
- smokeInfo
- split_anim_positions (*)
- split_anims (*)
- strength
- th (*)
- ticks
- tile_x
- tile_y
- timer_function (*)
- timer_time (*)
- times_used
- total_usage
- user
- user_list (*)
- user_of (*)
- waiting_for_finalize
- waiting_for_sound_effects_to_be_turned_on (*)
- world
function Machine:Machine(hospital, object_type, x, y, direction, etc)
Parameters:
| Name | Type | Description |
|---|---|---|
| hospital | ? | ? |
| object_type | ? | ? |
| x | ? | ? |
| y | ? | ? |
| direction | ? | ? |
| etc | ? | ? |
Declared on: line 29 of Lua/entities/machine.lua.
function Machine:afterLoad(old, new)
Parameters:
| Name | Type | Description |
|---|---|---|
| old | ? | ? |
| new | ? | ? |
Overrides: Object:afterLoad.
Declared on: line 503 of Lua/entities/machine.lua.
function Machine:calculateIsMachineMustExplode(room)
Call on machine use. Handles crashing the machine
Parameters:
| Name | Type | Description |
|---|---|---|
| room | ? | ? |
Declared on: line 196 of Lua/entities/machine.lua.
function Machine:callHandymanForRepairIfNecessary(room)
Call on machine use.
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 168 of Lua/entities/machine.lua.
function Machine:createHandymanActions(handyman)
Parameters:
| Name | Type | Description |
|---|---|---|
| handyman | ? | ? |
Declared on: line 296 of Lua/entities/machine.lua.
function Machine:earthquakeImpact(room)
Function defines the machine's reaction to an earthquake.
During an earthquake, this function is called one or several times.
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 119 of Lua/entities/machine.lua.
function Machine:explodeMachine(room)
Call on machine explode. Handles machine and room exploding
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 228 of Lua/entities/machine.lua.
function Machine:finalize(room)
Currently used to make the hover cursor of the machine be special
only if the room is active at the moment (e.g. not being edited)
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 447 of Lua/entities/machine.lua.
function Machine:getRemainingUses()
Calculates the number of times the machine can be used before crashing (unless repaired first)
Declared on: line 60 of Lua/entities/machine.lua.
function Machine:getSmokeDrawingLayer()
Access the dedicated DrawingLayer for the smoke animation attached to this machine
Declared on: line 590 of Lua/entities/machine.lua.
function Machine:getState()
Gets the state of a machine
In addition to the object implementation this includes total_usage
Overrides: Object:getState.
Declared on: line 531 of Lua/entities/machine.lua.
function Machine:incrementUsageCounts(total_usage_only, is_earthquake)
Call after use of the machine.
Parameters:
| Name | Type | Description |
|---|---|---|
| total_usage_only | ? | ? |
| is_earthquake | ? | ? |
Declared on: line 157 of Lua/entities/machine.lua.
function Machine:isBreaking()
Returns true if a machine is smoking/needs repair
Declared on: line 66 of Lua/entities/machine.lua.
function Machine:isMachine()
Overrides: Object:isMachine.
Declared on: line 73 of Lua/entities/machine.lua.
function Machine:machineRepaired(room, strength_reducible)
Call on machine repaired.
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
| strength_reducible | bool | machine room |
Declared on: line 371 of Lua/entities/machine.lua.
function Machine:machineUsed(room, earthquake_activated)
Call on machine use.
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
| earthquake_activated | boolean | If true, machine was damaged by an active earthquake |
Declared on: line 127 of Lua/entities/machine.lua.
function Machine:notifyNewRoom(room)
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Overrides: Entity:notifyNewRoom.
Declared on: line 48 of Lua/entities/machine.lua.
function Machine:onClick(ui, button)
Parameters:
| Name | Type | Description |
|---|---|---|
| ui | ? | ? |
| button | ? | ? |
Overrides: Object:onClick.
Declared on: line 480 of Lua/entities/machine.lua.
function Machine:onDestroy()
Overrides: Object:onDestroy.
Declared on: line 490 of Lua/entities/machine.lua.
function Machine:placed(room)
Call on machine place.
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 283 of Lua/entities/machine.lua.
function Machine:reduceStrengthOnRepair()
Calculates if machine strength should be reduced as a result of repair
Declared on: line 396 of Lua/entities/machine.lua.
function Machine:removeHandymanRepairTask()
Call on machine repaired. Removes repair task for that machine.
Declared on: line 386 of Lua/entities/machine.lua.
function Machine:removeRepairingStatus()
Remove the room's repair status. Unlock room and remove gear icon.
Declared on: line 423 of Lua/entities/machine.lua.
function Machine:replaceMachine(cost)
Replace this machine (make it pretend it's brand new)
Parameters:
| Name | Type | Description |
|---|---|---|
| cost | int | Cost to replace the machine |
Declared on: line 349 of Lua/entities/machine.lua.
function Machine:setHandymanRepairPosition(direction)
Calculate handyman use position based on object orientation
or the normal use position if one not available
Parameters:
| Name | Type | Description |
|---|---|---|
| direction | string | orientation of object |
Declared on: line 557 of Lua/entities/machine.lua.
function Machine:setRepairingStatus()
Set the room's repair status manually. Lock room and show gear icon.
Declared on: line 411 of Lua/entities/machine.lua.
function Machine:setState(state)
Sets the state of a machine
Adds total_usage
Parameters:
| Name | Type | Description |
|---|---|---|
| state | table | table holding the state |
Overrides: Object:setState.
Declared on: line 543 of Lua/entities/machine.lua.
function Machine.slaveMixinClass(class_method_table)
Parameters:
| Name | Type | Description |
|---|---|---|
| class_method_table | ? | ? |
Overrides: Object.slaveMixinClass.
Declared on: line 438 of Lua/entities/machine.lua.
Note: Is a function rather than a method.
function Machine:tick()
Overrides: Object:tick.
Declared on: line 522 of Lua/entities/machine.lua.
function Machine:updateDynamicInfo()
Overrides: Object:updateDynamicInfo.
Declared on: line 460 of Lua/entities/machine.lua.
function Machine:updateSmokeDisplay(room)
Calculates whether smoke gets displayed for this machine (and if so, how much)
Parameters:
| Name | Type | Description |
|---|---|---|
| room | object | machine room |
Declared on: line 257 of Lua/entities/machine.lua.