about summary refs log tree commit diff stats
path: root/data/maps/control_center/rooms/Perceptive Entrance.txtpb
blob: be264e1ae7deaab95e00c9667fe7635a3bb2512a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
name: "Perceptive Entrance"
panels {
  name: "PART"
  path: "Panels/Doors/stormyPanel2"
  clue: "part"
  answer: "hole"
  symbols: SUN
  symbols: ZERO
}
panels {
  name: "COLORS"
  path: "Panels/Doors/stormyPanel3"
  clue: "colors"
  answer: "hues"
  symbols: SUN
}
ports {
  name: "PERCEPTIVE"
  path: "Components/Warps/worldport12"
  destination { x: -23 y: 0 z: -11 }
  rotation: 0
  # TODO: shuffle entrances with dependent keyholders
  no_shuffle: true
}
d } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
require 'yaml'

configpath = ARGV[0]
outputpath = ARGV[1]

config = YAML.load_file(configpath)
output = config.map do |panel|
  ret = panel
  if ret["color"].kind_of? String
    ret["color"] = [ret["color"]]
  end
  ret
end.map do |panel|
  ret = {}
  ret["id"] = "\"#{panel["id"]}\""
  ret["color"] = "[\"" + panel["color"].join("\",\"") + "\"]"
  ret["tag"] = "\"#{panel["tag"]}\""
  if panel.include? "subtag"
    ret["subtag"] = "\"#{panel["subtag"]}\""
  end
  if panel.include? "link"
    ret["link"] = "\"#{panel["link"]}\""
  end
  if panel.include? "copy_to_sign"
    copytos = []
    if panel["copy_to_sign"].kind_of? String
      copytos = [panel["copy_to_sign"]]
    else
      copytos = panel["copy_to_sign"]
    end
    ret["copy_to_sign"] = "[\"" + copytos.join("\",\"") + "\"]"
  end
  if panel.include? "achievement"
    ret["achievement"] = "\"#{panel["achievement"]}\""
  end
    ret
end.map do |panel|
  "{" + panel.to_a.map do |element|
    "\"#{element[0]}\":#{element[1]}"
  end.join(",") + "}"
end.join(",")

header = "extends Node\n\nvar panels = ["
footer = "]"

File.write(outputpath, header + output + footer)