Prototype/ArithmeticCombinator: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Converted to SMW format)
(Added lua prototype example)
Line 28: Line 28:


{{Prototype property|xor_symbol_sprites|[[Types/Sprite4Way|Sprite4Way]]}}
{{Prototype property|xor_symbol_sprites|[[Types/Sprite4Way|Sprite4Way]]}}
== Example 0.18.15 ==
<syntaxhighlight lang="lua">
generate_arithmetic_combinator
  {
    type = "arithmetic-combinator",
    name = "arithmetic-combinator",
    icon = "__base__/graphics/icons/arithmetic-combinator.png",
    icon_size = 64, icon_mipmaps = 4,
    flags = {"placeable-neutral", "player-creation"},
    minable = {mining_time = 0.1, result = "arithmetic-combinator"},
    max_health = 150,
    corpse = "arithmetic-combinator-remnants",
    dying_explosion = "arithmetic-combinator-explosion",
    collision_box = {{-0.35, -0.65}, {0.35, 0.65}},
    selection_box = {{-0.5, -1}, {0.5, 1}},
    damaged_trigger_effect = hit_effects.entity(),
    energy_source =
    {
      type = "electric",
      usage_priority = "secondary-input"
    },
    active_energy_usage = "1KW",
    working_sound =
    {
      sound =
      {
        filename = "__base__/sound/combinator.ogg",
        volume = 0.6
      },
      max_sounds_per_type = 2,
      fade_in_ticks = 4,
      fade_out_ticks = 30,
      match_speed_to_activity = true
    },
    vehicle_impact_sound = sounds.generic_impact,
    activity_led_light =
    {
      intensity = 0.8,
      size = 1,
      color = {r = 1.0, g = 1.0, b = 1.0}
    },
    activity_led_light_offsets =
    {
      {0.234375, -0.484375},
      {0.5, 0},
      {-0.265625, 0.140625},
      {-0.453125, -0.359375}
    },
    screen_light =
    {
      intensity = 0.3,
      size = 0.6,
      color = {r = 1.0, g = 1.0, b = 1.0}
    },
    screen_light_offsets =
    {
      {0.015625, -0.234375},
      {0.015625, -0.296875},
      {0.015625, -0.234375},
      {0.015625, -0.296875}
    },
    input_connection_bounding_box = {{-0.5, 0}, {0.5, 1}},
    output_connection_bounding_box = {{-0.5, -1}, {0.5, 0}},
    circuit_wire_max_distance = 9
  },
</syntaxhighlight>

Revision as of 20:12, 21 March 2020

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/Combinator » Prototype/ArithmeticCombinator


An arithmetic combinator.


Prototype/ArithmeticCombinator — arithmetic-combinator
and_symbol_sprites::Sprite4Way
divide_symbol_sprites::Sprite4Way
left_shift_symbol_sprites::Sprite4Way
minus_symbol_sprites::Sprite4Way
modulo_symbol_sprites::Sprite4Way
multiply_symbol_sprites::Sprite4Way
or_symbol_sprites::Sprite4Way
plus_symbol_sprites::Sprite4Way
power_symbol_sprites::Sprite4Way
right_shift_symbol_sprites::Sprite4Way
xor_symbol_sprites::Sprite4Way
Inherited from Prototype/Combinator
active_energy_usage::Energy
activity_led_light_offsets::table of vector
activity_led_sprites::Sprite4Way
energy_source::EnergySource
input_connection_bounding_box::BoundingBox
input_connection_points::table of WireConnectionPoint
output_connection_bounding_box::BoundingBox
output_connection_points::table of WireConnectionPoint
screen_light_offsets::table of vector
sprites::Sprite4Way
activity_led_hold_time::uint8 (optional)
activity_led_light::LightDefinition (optional)
circuit_wire_max_distance::double (optional)
draw_circuit_wires::bool (optional)
draw_copper_wires::bool (optional)
screen_light::LightDefinition (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

This prototype inherits all the properties from Prototype/Combinator.

plus_symbol_sprites

Type: Sprite4Way

minus_symbol_sprites

Type: Sprite4Way

multiply_symbol_sprites

Type: Sprite4Way

divide_symbol_sprites

Type: Sprite4Way

modulo_symbol_sprites

Type: Sprite4Way

power_symbol_sprites

Type: Sprite4Way

left_shift_symbol_sprites

Type: Sprite4Way

right_shift_symbol_sprites

Type: Sprite4Way

and_symbol_sprites

Type: Sprite4Way

or_symbol_sprites

Type: Sprite4Way

xor_symbol_sprites

Type: Sprite4Way


Example 0.18.15

generate_arithmetic_combinator
  {
    type = "arithmetic-combinator",
    name = "arithmetic-combinator",
    icon = "__base__/graphics/icons/arithmetic-combinator.png",
    icon_size = 64, icon_mipmaps = 4,
    flags = {"placeable-neutral", "player-creation"},
    minable = {mining_time = 0.1, result = "arithmetic-combinator"},
    max_health = 150,
    corpse = "arithmetic-combinator-remnants",
    dying_explosion = "arithmetic-combinator-explosion",
    collision_box = {{-0.35, -0.65}, {0.35, 0.65}},
    selection_box = {{-0.5, -1}, {0.5, 1}},
    damaged_trigger_effect = hit_effects.entity(),

    energy_source =
    {
      type = "electric",
      usage_priority = "secondary-input"
    },
    active_energy_usage = "1KW",

    working_sound =
    {
      sound =
      {
        filename = "__base__/sound/combinator.ogg",
        volume = 0.6
      },
      max_sounds_per_type = 2,
      fade_in_ticks = 4,
      fade_out_ticks = 30,
      match_speed_to_activity = true
    },
    vehicle_impact_sound = sounds.generic_impact,

    activity_led_light =
    {
      intensity = 0.8,
      size = 1,
      color = {r = 1.0, g = 1.0, b = 1.0}
    },

    activity_led_light_offsets =
    {
      {0.234375, -0.484375},
      {0.5, 0},
      {-0.265625, 0.140625},
      {-0.453125, -0.359375}
    },

    screen_light =
    {
      intensity = 0.3,
      size = 0.6,
      color = {r = 1.0, g = 1.0, b = 1.0}
    },

    screen_light_offsets =
    {
      {0.015625, -0.234375},
      {0.015625, -0.296875},
      {0.015625, -0.234375},
      {0.015625, -0.296875}
    },

    input_connection_bounding_box = {{-0.5, 0}, {0.5, 1}},
    output_connection_bounding_box = {{-0.5, -1}, {0.5, 0}},

    circuit_wire_max_distance = 9
  },