Figure out max techlevels, make a reference sheet and a tool.

This commit is contained in:
Rob Nelson
2013-10-21 16:22:38 -07:00
parent fac75229b8
commit cb3b8c9d29
8 changed files with 556 additions and 12 deletions

View File

@@ -769,7 +769,7 @@
name = "nano-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "nano_mani"
origin_tech = "materials=3,programming=2"
origin_tech = "materials=3;programming=2"
rating = 2
m_amt = 30
@@ -812,7 +812,7 @@
name = "pico-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "pico_mani"
origin_tech = "materials=5,programming=2"
origin_tech = "materials=5;programming=2"
rating = 3
m_amt = 30

View File

@@ -213,7 +213,7 @@ to destroy them and players will be able to make replacements.
name = "Circuit Board (PACMAN-type Generator)"
build_path = "/obj/machinery/power/port_gen/pacman"
board_type = "machine"
origin_tech = "programming=3:powerstorage=3;plasmatech=3;engineering=3"
origin_tech = "programming=3;powerstorage=3;plasmatech=3;engineering=3"
frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, and 1 Capacitor."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 1,

View File

@@ -332,10 +332,8 @@
/obj/item/mecha_parts/part/phazon_phase_array
name="Phase Array"
//desc = "A peice of bluespace technology so advanced, it seems magical."
//icon='icons/mecha/mecha_equipment.dmi'
icon_state = "phazon_phase_array"
origin_tech = "materials=9;bluespace=10,magnets"
origin_tech = "materials=9;bluespace=10;magnets=3"
construction_time = 1200
construction_cost = list("metal"=5000,"phazon"=2000)

View File

@@ -204,13 +204,13 @@ datum/tech/plasmatech
name = "Plasma Research"
desc = "Research into the mysterious substance colloqually known as 'plasma'."
id = "plasmatech"
max_level=3
max_level=4
datum/tech/powerstorage
name = "Power Manipulation Technology"
desc = "The various technologies behind the storage and generation of electicity."
id = "powerstorage"
max_level=6
max_level=8
datum/tech/bluespace
name = "'Blue-space' Research"
@@ -222,25 +222,25 @@ datum/tech/biotech
name = "Biological Technology"
desc = "Research into the deeper mysteries of life and organic substances."
id = "biotech"
max_level=7
max_level=8
datum/tech/combat
name = "Combat Systems Research"
desc = "The development of offensive and defensive systems."
id = "combat"
max_level=6
max_level=8
datum/tech/magnets
name = "Electromagnetic Spectrum Research"
desc = "Research into the electromagnetic spectrum. No clue how they actually work, though."
id = "magnets"
max_level=5
max_level=8
datum/tech/programming
name = "Data Theory Research"
desc = "The development of new computer and artificial intelligence and data storage systems."
id = "programming"
max_level=4
max_level=9
datum/tech/syndicate
name = "Illegal Technologies Research"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

14
max_tech_origins.txt Normal file
View File

@@ -0,0 +1,14 @@
Calculated Max Tech Levels:
These tech levels have been determined by parsing ALL origin_tech variables in code included by C:\Users\Rob\Documents\Projects\vgstation13\baystation12.dme, C:\Users\Rob\Documents\Projects\vgstation13\tools\Redirector\Redirect_Tgstation.dme.
biotech: 8
bluespace: 10
combat: 8
engineering: 5
magnets: 8
materials: 9
plasma: 3
plasmatech: 4
power: 4
powerstorage: 8
programming: 9
syndicate: 8

355
tech_origin_list.csv Normal file
View File

@@ -0,0 +1,355 @@
Atom,biotech,bluespace,combat,engineering,magnets,materials,plasma,plasmatech,power,powerstorage,programming,syndicate
,,,4,,,2,,,,,,
/obj/item/ammo_magazine/a12mm,,,2,,,,,,,,,
/obj/item/ammo_magazine/a50,,,2,,,,,,,,,
/obj/item/ammo_magazine/a762,,,2,,,,,,,,,
/obj/item/ammo_magazine/c45,,,2,,,,,,,,,
/obj/item/ammo_magazine/c9mm,,,2,,,,,,,,,
/obj/item/ammo_magazine/mc9mm,,,2,,,,,,,,,
/obj/item/brain,3,,,,,,,,,,,
/obj/item/clothing/glasses/hud,2,,,,3,,,,,,,
/obj/item/clothing/glasses/material,,,,3,3,,,,,,,
/obj/item/clothing/glasses/meson,,,,2,2,,,,,,,
/obj/item/clothing/glasses/night,,,,,2,,,,,,,
/obj/item/clothing/glasses/thermal,,,,,3,,,,,,,4
/obj/item/clothing/mask/gas/voice,,,,,,,,,,,,4
/obj/item/clothing/shoes/syndigaloshes,,,,,,,,,,,,3
/obj/item/clothing/under/chameleon,,,,,,,,,,,,3
/obj/item/device/aicard,,,,,,4,,,,,4,
/obj/item/device/analyzer,,,,1,1,,,,,,,
/obj/item/device/assembly,,,,,1,,,,,,,
/obj/item/device/assembly/igniter,,,,,1,,,,,,,
/obj/item/device/assembly/infra,,,,,2,,,,,,,
/obj/item/device/assembly/mousetrap,,,1,,,,,,,,,
/obj/item/device/assembly/prox_sensor,,,,,1,,,,,,,
/obj/item/device/assembly/signaler,,,,,1,,,,,,,
/obj/item/device/assembly/timer,,,,,1,,,,,,,
/obj/item/device/batterer,,,3,,3,,,,,,,3
/obj/item/device/chameleon,,,,,4,,,,,,,4
/obj/item/device/debugger,,,,1,1,,,,,,,
/obj/item/device/encryptionkey/binary,,,,,,,,,,,,3
/obj/item/device/encryptionkey/syndicate,,,,,,,,,,,,3
/obj/item/device/flash,,,1,,2,,,,,,,
/obj/item/device/flash/synthetic,,,1,,2,,,,,,,
/obj/item/device/healthanalyzer,1,,,,1,,,,,,,
/obj/item/device/lightreplacer,,,,,3,2,,,,,,
/obj/item/device/mass_spectrometer,2,,,,2,,,,,,,
/obj/item/device/mass_spectrometer/adv,2,,,,4,,,,,,,
/obj/item/device/mmi,3,,,,,,,,,,,
/obj/item/device/mmi/posibrain,,2,,4,,4,,,,,4,
/obj/item/device/mmi/radio_enabled,4,,,,,,,,,,,
/obj/item/device/multitool,,,,1,1,,,,,,,
/obj/item/device/paicard,,,,,,,,,,,2,
/obj/item/device/powersink,,,,,,,,,,3,,5
/obj/item/device/radio/beacon,,1,,,,,,,,,,
/obj/item/device/radio/beacon/syndicate,,1,,,,,,,,,,7
/obj/item/device/radio/headset/binary,,,,,,,,,,,,3
/obj/item/device/radio/headset/syndicate,,,,,,,,,,,,3
/obj/item/device/soulstone,,4,,,,4,,,,,,
/obj/item/device/t_scanner,,,,1,1,,,,,,,
/obj/item/mecha_parts,,,,,,2,,,,,2,
/obj/item/mecha_parts/chassis/phazon,,,,,,7,,,,,,
/obj/item/mecha_parts/mecha_equipment,,,,,,2,,,,,,
/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,,,,,,4,,,,,,
/obj/item/mecha_parts/mecha_equipment/generator,,,,1,,,,2,,2,,
/obj/item/mecha_parts/mecha_equipment/generator/nuclear,,,,3,,,,,,3,,
/obj/item/mecha_parts/mecha_equipment/gravcatapult,,,,,,3,,,,,,
/obj/item/mecha_parts/mecha_equipment/repair_droid,,,,,3,,,,,,3,
/obj/item/mecha_parts/mecha_equipment/teleporter,,10,,,,,,,,,,
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,,,,,4,,,,,,,2
/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,,,,3,,4,,,,,,
/obj/item/mecha_parts/mecha_equipment/tool/rcd,,3,,,4,4,,,,4,,
/obj/item/mecha_parts/mecha_equipment/tool/sleeper,3,,,,,,,,,,2,
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,4,,,,4,3,,,,,3,
/obj/item/mecha_parts/mecha_equipment/weapon,,,3,,,3,,,,,,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,,,6,,,3,,,,4,,
/obj/item/mecha_parts/mecha_equipment/wormhole_generator,,3,,,,,,,,,,
/obj/item/mecha_parts/mecha_tracking,,,,,2,,,,,,2,
/obj/item/mecha_parts/part/durand_armour,,,4,5,,5,,,,,,
/obj/item/mecha_parts/part/durand_head,,,,3,3,3,,,,,2,
/obj/item/mecha_parts/part/durand_left_arm,,,,3,,3,,,,,2,
/obj/item/mecha_parts/part/durand_left_leg,,,,3,,3,,,,,2,
/obj/item/mecha_parts/part/durand_right_arm,,,,3,,3,,,,,2,
/obj/item/mecha_parts/part/durand_right_leg,,,,3,,3,,,,,2,
/obj/item/mecha_parts/part/durand_torso,3,,,3,,3,,,,,2,
/obj/item/mecha_parts/part/gygax_armour,,,4,5,,6,,,,,,
/obj/item/mecha_parts/part/gygax_head,,,,3,3,2,,,,,2,
/obj/item/mecha_parts/part/gygax_left_arm,,,,3,,2,,,,,2,
/obj/item/mecha_parts/part/gygax_left_leg,,,,3,,2,,,,,2,
/obj/item/mecha_parts/part/gygax_right_arm,,,,3,,2,,,,,2,
/obj/item/mecha_parts/part/gygax_right_leg,,,,3,,2,,,,,2,
/obj/item/mecha_parts/part/gygax_torso,3,,,3,,2,,,,,2,
/obj/item/mecha_parts/part/odysseus_head,,,,,,2,,,,,3,
/obj/item/mecha_parts/part/odysseus_left_arm,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/odysseus_left_leg,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/odysseus_right_arm,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/odysseus_right_leg,,,,3,,3,,,,,,
/obj/item/mecha_parts/part/odysseus_torso,2,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/phazon_head,,,,,6,9,,,,,9,
/obj/item/mecha_parts/part/phazon_left_arm,,6,,,2,9,,,,,,
/obj/item/mecha_parts/part/phazon_left_leg,,6,,,3,9,,,,,,
/obj/item/mecha_parts/part/phazon_phase_array,,10,,,3,9,,,,,,
/obj/item/mecha_parts/part/phazon_right_arm,,6,,,2,9,,,,,,
/obj/item/mecha_parts/part/phazon_right_leg,,6,,,3,9,,,,,,
/obj/item/mecha_parts/part/phazon_torso,,10,,,,9,,,,6,5,
/obj/item/mecha_parts/part/ripley_left_arm,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/ripley_left_leg,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/ripley_right_arm,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/ripley_right_leg,,,,2,,2,,,,,2,
/obj/item/mecha_parts/part/ripley_torso,2,,,2,,2,,,,,2,
/obj/item/slime_extract,4,,,,,,,,,,,
/obj/item/stack,,,,,,1,,,,,,
/obj/item/stack/medical/advanced/bruise_pack,1,,,,,,,,,,,
/obj/item/stack/medical/advanced/ointment,1,,,,,,,,,,,
/obj/item/stack/medical/bruise_pack,1,,,,,,,,,,,
/obj/item/stack/medical/ointment,1,,,,,,,,,,,
/obj/item/stack/nanopaste,,,,3,,4,,,,,,
/obj/item/stack/sheet/cloth,,,,,,1,,,,,,
/obj/item/stack/sheet/glass,,,,,,1,,,,,,
/obj/item/stack/sheet/leather,,,,,,2,,,,,,
/obj/item/stack/sheet/metal,,,,,,1,,,,,,
/obj/item/stack/sheet/mineral/adamantine,,,,,,4,,,,,,
/obj/item/stack/sheet/mineral/clown,,,,,,4,,,,,,
/obj/item/stack/sheet/mineral/diamond,,,,,,6,,,,,,
/obj/item/stack/sheet/mineral/enruranium,,,,,,5,,,,,,
/obj/item/stack/sheet/mineral/gold,,,,,,4,,,,,,
/obj/item/stack/sheet/mineral/mythril,,,,,,4,,,,,,
/obj/item/stack/sheet/mineral/phazon,,,,,,9,,,,,,
/obj/item/stack/sheet/mineral/plasma,,,,,,2,,2,,,,
/obj/item/stack/sheet/mineral/plastic,,,,,,3,,,,,,
/obj/item/stack/sheet/mineral/sandstone,,,,,,1,,,,,,
/obj/item/stack/sheet/mineral/silver,,,,,,3,,,,,,
/obj/item/stack/sheet/mineral/uranium,,,,,,5,,,,,,
/obj/item/stack/sheet/plasteel,,,,,,2,,,,,,
/obj/item/stack/sheet/rglass,,,,,,2,,,,,,
/obj/item/stack/sheet/wood,1,,,,,1,,,,,,
/obj/item/stack/tile/grass,1,,,,,,,,,,,
/obj/item/weapon/FixOVein,3,,,,,1,,,,,,
/obj/item/weapon/SWF_uplink,,,,,1,,,,,,,
/obj/item/weapon/aiModule,,,,,,,,,,,3,
/obj/item/weapon/aiModule/corp,,,,,,,,,,,4,
/obj/item/weapon/aiModule/oxygen,,,,,,4,,,,,4,
/obj/item/weapon/aiModule/prototypeEngineOffline,,,,,,4,,,,,3,
/obj/item/weapon/aiModule/quarantine,2,,,,,4,,,,,3,
/obj/item/weapon/aiModule/reset,,,,,,4,,,,,3,
/obj/item/weapon/aiModule/safeguard,,,,,,4,,,,,3,
/obj/item/weapon/aiModule/teleporterOffline,,,,,,4,,,,,3,
/obj/item/weapon/autopsy_scanner,1,,,,,1,,,,,,
/obj/item/weapon/butch,,,,,,1,,,,,,
/obj/item/weapon/card/emag,,,,,2,,,,,,,2
/obj/item/weapon/card/id/syndicate,,,,,,,,,,,,3
/obj/item/weapon/cautery,1,,,,,1,,,,,,
/obj/item/weapon/cell,,,,,,,,,,1,,
/obj/item/weapon/cell/crap,,,,,,,,,,0,,
/obj/item/weapon/cell/high,,,,,,,,,,2,,
/obj/item/weapon/cell/hyper,,,,,,,,,,6,,
/obj/item/weapon/cell/potato,,,,,,,,,,1,,
/obj/item/weapon/cell/secborg,,,,,,,,,,0,,
/obj/item/weapon/cell/slime,4,,,,,,,,,2,,
/obj/item/weapon/cell/super,,,,,,,,,,5,,
/obj/item/weapon/circuitboard,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/aicore,2,,,,,,,,,,4,
/obj/item/weapon/circuitboard/aifixer,2,,,,,,,,,,3,
/obj/item/weapon/circuitboard/aiupload,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/arcade,,,,,,,,,,,1,
/obj/item/weapon/circuitboard/area_atmos,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/autolathe,,,,2,,,,,,,2,
/obj/item/weapon/circuitboard/biogenerator,3,,,2,,,,,,,3,
/obj/item/weapon/circuitboard/borgupload,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/chem_dispenser,5,,,4,,,,,,,3,
/obj/item/weapon/circuitboard/chemmaster3000,4,,,3,,,,,,,,
/obj/item/weapon/circuitboard/circuit_imprinter,,,,2,,,,,,,2,
/obj/item/weapon/circuitboard/clonepod,3,,,,,,,,,,3,
/obj/item/weapon/circuitboard/clonescanner,2,,,,,,,,,,2,
/obj/item/weapon/circuitboard/cloning,3,,,,,,,,,,3,
/obj/item/weapon/circuitboard/comm_monitor,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/comm_server,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/comm_traffic,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/communications,,,,,2,,,,,,2,
/obj/item/weapon/circuitboard/condimaster,4,,,3,,,,,,,,
/obj/item/weapon/circuitboard/crew,2,,,,2,,,,,,3,
/obj/item/weapon/circuitboard/cryo,3,,,2,,,,,,,3,
/obj/item/weapon/circuitboard/defib_recharger,4,,,2,,,,,2,,3,
/obj/item/weapon/circuitboard/destructive_analyzer,,,,2,2,,,,,,2,
/obj/item/weapon/circuitboard/freezer,4,,,4,,,,,3,,,
/obj/item/weapon/circuitboard/gibber,3,,,2,,,,,,2,3,
/obj/item/weapon/circuitboard/heater,4,,,5,,,,,3,,,
/obj/item/weapon/circuitboard/hydroponics,3,,,2,,,,,,2,3,
/obj/item/weapon/circuitboard/mech_bay_power_console,,,,,,,,,,3,2,
/obj/item/weapon/circuitboard/mecha/durand,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/mecha/durand/targeting,,,4,,,,,,,,4,
/obj/item/weapon/circuitboard/mecha/gygax,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/mecha/gygax/targeting,,,4,,,,,,,,4,
/obj/item/weapon/circuitboard/mecha/honker,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/mecha/odysseus,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/mecha/phazon,,10,,,,9,,,,,,
/obj/item/weapon/circuitboard/mecha/ripley,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/mechfab,,,,3,,,,,,,3,
/obj/item/weapon/circuitboard/message_monitor,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/microwave,,,,2,3,,,,,,3,
/obj/item/weapon/circuitboard/mining,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/mining_shuttle,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/operating,2,,,,,,,,,,2,
/obj/item/weapon/circuitboard/ordercomp,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/pacman,,,,3,,,,3,,3,3,
/obj/item/weapon/circuitboard/pacman/mrs,,,,5,,,,,,5,3,
/obj/item/weapon/circuitboard/pacman/super,,,,4,,,,,,4,3,
/obj/item/weapon/circuitboard/pandemic,2,,,,,,,,,,2,
/obj/item/weapon/circuitboard/photocopier,,,,2,,,,,2,,4,
/obj/item/weapon/circuitboard/pipedispenser,3,,,2,,,,,,2,3,
/obj/item/weapon/circuitboard/pipedispenser/disposal,3,,,2,,,,,,2,3,
/obj/item/weapon/circuitboard/prison_shuttle,,,,,,,,,,,2,
/obj/item/weapon/circuitboard/processor,3,,,2,,,,,,2,3,
/obj/item/weapon/circuitboard/protolathe,,,,2,,,,,,,2,
/obj/item/weapon/circuitboard/rdserver,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/reagentgrinder,,,,2,,,,,,,3,
/obj/item/weapon/circuitboard/recharge_station,,,,,,,,,4,,3,
/obj/item/weapon/circuitboard/research_shuttle,,,,,,,,,,,4,
/obj/item/weapon/circuitboard/robotics,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/rust_core,,3,,,5,,,4,,6,,
/obj/item/weapon/circuitboard/rust_core_control,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/rust_fuel_control,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/rust_injector,,,,4,,6,,4,,3,,
/obj/item/weapon/circuitboard/scan_consolenew,2,,,,,,,,,,2,
/obj/item/weapon/circuitboard/seed_extractor,3,,,2,,,,,,,3,
/obj/item/weapon/circuitboard/shield_cap,,,,,3,,,,,4,,
/obj/item/weapon/circuitboard/shield_gen,,4,,,,,,3,,,,
/obj/item/weapon/circuitboard/shield_gen_ex,,4,,,,,,3,,,,
/obj/item/weapon/circuitboard/smartfridge,,,,2,,,,,,,3,
/obj/item/weapon/circuitboard/smes,,,,4,,,,,4,,4,
/obj/item/weapon/circuitboard/solar_control,,,,,,,,,,2,2,
/obj/item/weapon/circuitboard/supplycomp,,,,,,,,,,,3,
/obj/item/weapon/circuitboard/telecomms/broadcaster,,2,,4,,,,,,,4,
/obj/item/weapon/circuitboard/telecomms/bus,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/telecomms/hub,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/telecomms/processor,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/telecomms/receiver,,2,,3,,,,,,,4,
/obj/item/weapon/circuitboard/telecomms/relay,,3,,4,,,,,,,3,
/obj/item/weapon/circuitboard/telecomms/server,,,,4,,,,,,,4,
/obj/item/weapon/circuitboard/telehub,,3,,3,,,,,,,4,
/obj/item/weapon/circuitboard/teleporter,,2,,,,,,,,,2,
/obj/item/weapon/circuitboard/telestation,,3,,3,,,,,,,4,
/obj/item/weapon/circular_saw,1,,,,,1,,,,,,
/obj/item/weapon/cloaking_device,,,,,3,,,,,,,4
/obj/item/weapon/conversion_kit,,,2,,,,,,,,,
/obj/item/weapon/crowbar,,,,1,,,,,,,,
/obj/item/weapon/dart_cartridge,,,,,,2,,,,,,
/obj/item/weapon/ectoplasm,8,8,8,,8,8,,,,8,8,8
/obj/item/weapon/flamethrower,,,1,,,,,1,,,,
/obj/item/weapon/grenade/chem_grenade/large,,,3,,,3,,,,,,
/obj/item/weapon/grenade/empgrenade,,,,,3,2,,,,,,
/obj/item/weapon/grenade/flashbang,,,1,,,2,,,,,,
/obj/item/weapon/grenade/spawnergrenade,,,,,4,3,,,,,,
/obj/item/weapon/grenade/spawnergrenade/manhacks,,,,,4,3,,,,,,4
/obj/item/weapon/grenade/spawnergrenade/spesscarp,,,,,4,3,,,,,,4
/obj/item/weapon/grown/log,,,3,,,,,,,,,
/obj/item/weapon/gun,,,1,,,,,,,,,
/obj/item/weapon/gun/energy/crossbow,,,2,,2,,,,,,,5
/obj/item/weapon/gun/energy/decloner,,,5,,,4,,,,3,,
/obj/item/weapon/gun/energy/floragun,3,,,,,2,,,,3,,
/obj/item/weapon/gun/energy/gun,,,3,,2,,,,,,,
/obj/item/weapon/gun/energy/gun/nuclear,,,3,,,5,,,,3,,
/obj/item/weapon/gun/energy/ionrifle,,,2,,4,,,,,,,
/obj/item/weapon/gun/energy/laser,,,3,,2,,,,,,,
/obj/item/weapon/gun/energy/laser/bluetag,,,1,,2,,,,,,,
/obj/item/weapon/gun/energy/laser/redtag,,,1,,2,,,,,,,
/obj/item/weapon/gun/energy/lasercannon,,,4,,,3,,,,3,,
/obj/item/weapon/gun/energy/stunrevolver,,,3,,,3,,,,2,,
/obj/item/weapon/gun/energy/temperature,,,3,,2,4,,,,3,,
/obj/item/weapon/gun/energy/xray,,,5,,2,3,,,,,,2
/obj/item/weapon/gun/projectile,,,2,,,2,,,,,,
/obj/item/weapon/gun/projectile/automatic/c20r,,,5,,,2,,,,,,8
/obj/item/weapon/gun/projectile/automatic/l6_saw,,,5,,,1,,,,,,2
/obj/item/weapon/gun/projectile/automatic/mini_uzi,,,5,,,2,,,,,,8
/obj/item/weapon/gun/projectile/detective,,,2,,,2,,,,,,
/obj/item/weapon/gun/projectile/gyropistol,,,3,,,,,,,,,
/obj/item/weapon/gun/projectile/mateba,,,2,,,2,,,,,,
/obj/item/weapon/gun/projectile/pistol,,,2,,,2,,,,,,2
/obj/item/weapon/gun/projectile/russian,,,2,,,2,,,,,,
/obj/item/weapon/gun/projectile/shotgun/doublebarrel,,,3,,,1,,,,,,
/obj/item/weapon/gun/projectile/shotgun/pump,,,4,,,2,,,,,,
/obj/item/weapon/gun/projectile/shotgun/pump/combat,,,5,,,2,,,,,,
/obj/item/weapon/gun/projectile/silenced,,,2,,,2,,,,,,8
/obj/item/weapon/hand_tele,,3,,,1,,,,,,,
/obj/item/weapon/handcuffs,,,,,,1,,,,,,
/obj/item/weapon/hatchet,,,1,,,2,,,,,,
/obj/item/weapon/hemostat,1,,,,,1,,,,,,
/obj/item/weapon/kitchen/utensil,,,,,,1,,,,,,
/obj/item/weapon/kitchenknife,,,,,,1,,,,,,
/obj/item/weapon/legcuffs,,,,,,1,,,,,,
/obj/item/weapon/locator,,,,,1,,,,,,,
/obj/item/weapon/match,,,,,,1,,,,,,
/obj/item/weapon/melee/baton,,,2,,,,,,,,,
/obj/item/weapon/melee/chainofcommand,,,4,,,,,,,,,
/obj/item/weapon/melee/defibrilator,3,,,,,,,,,,,
/obj/item/weapon/melee/energy/axe,,,3,,,,,,,,,
/obj/item/weapon/melee/energy/sword/color,,,,,3,,,,,,,4
/obj/item/weapon/module/rust_fuel_compressor,,,,,,6,,4,,,,
/obj/item/weapon/module/rust_fuel_port,,,,4,,5,,,,,,
/obj/item/weapon/ore/clown,,,,,,4,,,,,,
/obj/item/weapon/ore/diamond,,,,,,6,,,,,,
/obj/item/weapon/ore/glass,,,,,,1,,,,,,
/obj/item/weapon/ore/gold,,,,,,4,,,,,,
/obj/item/weapon/ore/iron,,,,,,1,,,,,,
/obj/item/weapon/ore/phazon,,,,,,7,,,,,,
/obj/item/weapon/ore/plasma,,,,,,2,,,,,,
/obj/item/weapon/ore/silver,,,,,,3,,,,,,
/obj/item/weapon/ore/strangerock,,,,,,5,,,,,,
/obj/item/weapon/ore/uranium,,,,,,5,,,,,,
/obj/item/weapon/pen/sleepypen,,,,,,2,,,,,,5
/obj/item/weapon/pickaxe,,,,1,,1,,,,,,
/obj/item/weapon/pickaxe/diamond,,,,5,,6,,,,4,,
/obj/item/weapon/pickaxe/drill,,,,2,,2,,,,3,,
/obj/item/weapon/pickaxe/gold,,,,,,4,,,,,,
/obj/item/weapon/pickaxe/jackhammer,,,,2,,3,,,,2,,
/obj/item/weapon/pickaxe/plasmacutter,,,,3,,4,,3,,,,
/obj/item/weapon/pickaxe/silver,,,,,,3,,,,,,
/obj/item/weapon/pipe_dispenser,,,,4,,2,,,,,,
/obj/item/weapon/plastique,,,,,,,,,,,,2
/obj/item/weapon/rcd,,,,4,,2,,,,,,
/obj/item/weapon/rcd_ammo,,,,,,2,,,,,,
/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato,,3,,,,,,,,,,
/obj/item/weapon/reagent_containers/spray/chemsprayer,,,3,3,,3,,,,,,
/obj/item/weapon/retractor,1,,,,,1,,,,,,
/obj/item/weapon/scalpel,1,,,,,1,,,,,,
/obj/item/weapon/scythe,,,2,,,2,,,,,,
/obj/item/weapon/shield/energy,,,,,3,4,,,,,,4
/obj/item/weapon/shield/riot,,,,,,2,,,,,,
/obj/item/weapon/shovel,,,,1,,1,,,,,,
/obj/item/weapon/stock_parts/capacitor,,,,,,,,,,1,,
/obj/item/weapon/stock_parts/capacitor/adv,,,,,,,,,,3,,
/obj/item/weapon/stock_parts/capacitor/super,,,,,,4,,,,5,,
/obj/item/weapon/stock_parts/console_screen,,,,,,1,,,,,,
/obj/item/weapon/stock_parts/manipulator,,,,,,1,,,,,1,
/obj/item/weapon/stock_parts/manipulator/nano,,,,,,3,,,,,2,
/obj/item/weapon/stock_parts/manipulator/pico,,,,,,5,,,,,2,
/obj/item/weapon/stock_parts/matter_bin,,,,,,1,,,,,,
/obj/item/weapon/stock_parts/matter_bin/adv,,,,,,3,,,,,,
/obj/item/weapon/stock_parts/matter_bin/super,,,,,,5,,,,,,
/obj/item/weapon/stock_parts/micro_laser,,,,,1,,,,,,,
/obj/item/weapon/stock_parts/micro_laser/high,,,,,3,,,,,,,
/obj/item/weapon/stock_parts/micro_laser/ultra,,,,,5,,,,,,,
/obj/item/weapon/stock_parts/scanning_module,,,,,1,,,,,,,
/obj/item/weapon/stock_parts/scanning_module/adv,,,,,3,,,,,,,
/obj/item/weapon/stock_parts/scanning_module/phasic,,,,,5,,,,,,,
/obj/item/weapon/stock_parts/subspace/amplifier,,2,,,4,4,,,,,3,
/obj/item/weapon/stock_parts/subspace/analyzer,,2,,,4,4,,,,,3,
/obj/item/weapon/stock_parts/subspace/ansible,,2,,,5,4,,,,,3,
/obj/item/weapon/stock_parts/subspace/crystal,,2,,,4,4,,,,,,
/obj/item/weapon/stock_parts/subspace/filter,,,,,2,,,,,,4,
/obj/item/weapon/stock_parts/subspace/transmitter,,3,,,5,5,,,,,,
/obj/item/weapon/stock_parts/subspace/treatment,,2,,,2,5,,,,,3,
/obj/item/weapon/storage/backpack/holding,,4,,,,,,,,,,
/obj/item/weapon/storage/toolbox,,,1,,,,,,,,,
/obj/item/weapon/storage/toolbox/syndicate,,,1,,,,,,,,,1
/obj/item/weapon/surgicaldrill,1,,,,,1,,,,,,
/obj/item/weapon/syntiflesh,2,,,,,,,,,,,
/obj/item/weapon/teleportation_scroll,,4,,,,,,,,,,
/obj/item/weapon/twohanded/dualsaber,,,,,3,,,,,,,4
/obj/item/weapon/twohanded/hfrequency,,,5,,4,,,,,,,
/obj/item/weapon/weldingtool,,,,1,,,,,,,,
/obj/item/weapon/weldingtool/experimental,,,,4,,,3,,,,,
/obj/item/weapon/weldingtool/hugetank,,,,3,,,,,,,,
/obj/item/weapon/weldingtool/largetank,,,,2,,,,,,,,
/obj/item/weapon/wirecutters,,,,1,,1,,,,,,
/obj/item/weapon/wrench,,,,1,,1,,,,,,
1 Atom biotech bluespace combat engineering magnets materials plasma plasmatech power powerstorage programming syndicate
2 4 2
3 /obj/item/ammo_magazine/a12mm 2
4 /obj/item/ammo_magazine/a50 2
5 /obj/item/ammo_magazine/a762 2
6 /obj/item/ammo_magazine/c45 2
7 /obj/item/ammo_magazine/c9mm 2
8 /obj/item/ammo_magazine/mc9mm 2
9 /obj/item/brain 3
10 /obj/item/clothing/glasses/hud 2 3
11 /obj/item/clothing/glasses/material 3 3
12 /obj/item/clothing/glasses/meson 2 2
13 /obj/item/clothing/glasses/night 2
14 /obj/item/clothing/glasses/thermal 3 4
15 /obj/item/clothing/mask/gas/voice 4
16 /obj/item/clothing/shoes/syndigaloshes 3
17 /obj/item/clothing/under/chameleon 3
18 /obj/item/device/aicard 4 4
19 /obj/item/device/analyzer 1 1
20 /obj/item/device/assembly 1
21 /obj/item/device/assembly/igniter 1
22 /obj/item/device/assembly/infra 2
23 /obj/item/device/assembly/mousetrap 1
24 /obj/item/device/assembly/prox_sensor 1
25 /obj/item/device/assembly/signaler 1
26 /obj/item/device/assembly/timer 1
27 /obj/item/device/batterer 3 3 3
28 /obj/item/device/chameleon 4 4
29 /obj/item/device/debugger 1 1
30 /obj/item/device/encryptionkey/binary 3
31 /obj/item/device/encryptionkey/syndicate 3
32 /obj/item/device/flash 1 2
33 /obj/item/device/flash/synthetic 1 2
34 /obj/item/device/healthanalyzer 1 1
35 /obj/item/device/lightreplacer 3 2
36 /obj/item/device/mass_spectrometer 2 2
37 /obj/item/device/mass_spectrometer/adv 2 4
38 /obj/item/device/mmi 3
39 /obj/item/device/mmi/posibrain 2 4 4 4
40 /obj/item/device/mmi/radio_enabled 4
41 /obj/item/device/multitool 1 1
42 /obj/item/device/paicard 2
43 /obj/item/device/powersink 3 5
44 /obj/item/device/radio/beacon 1
45 /obj/item/device/radio/beacon/syndicate 1 7
46 /obj/item/device/radio/headset/binary 3
47 /obj/item/device/radio/headset/syndicate 3
48 /obj/item/device/soulstone 4 4
49 /obj/item/device/t_scanner 1 1
50 /obj/item/mecha_parts 2 2
51 /obj/item/mecha_parts/chassis/phazon 7
52 /obj/item/mecha_parts/mecha_equipment 2
53 /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster 4
54 /obj/item/mecha_parts/mecha_equipment/generator 1 2 2
55 /obj/item/mecha_parts/mecha_equipment/generator/nuclear 3 3
56 /obj/item/mecha_parts/mecha_equipment/gravcatapult 3
57 /obj/item/mecha_parts/mecha_equipment/repair_droid 3 3
58 /obj/item/mecha_parts/mecha_equipment/teleporter 10
59 /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay 4 2
60 /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill 3 4
61 /obj/item/mecha_parts/mecha_equipment/tool/rcd 3 4 4 4
62 /obj/item/mecha_parts/mecha_equipment/tool/sleeper 3 2
63 /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun 4 4 3 3
64 /obj/item/mecha_parts/mecha_equipment/weapon 3 3
65 /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse 6 3 4
66 /obj/item/mecha_parts/mecha_equipment/wormhole_generator 3
67 /obj/item/mecha_parts/mecha_tracking 2 2
68 /obj/item/mecha_parts/part/durand_armour 4 5 5
69 /obj/item/mecha_parts/part/durand_head 3 3 3 2
70 /obj/item/mecha_parts/part/durand_left_arm 3 3 2
71 /obj/item/mecha_parts/part/durand_left_leg 3 3 2
72 /obj/item/mecha_parts/part/durand_right_arm 3 3 2
73 /obj/item/mecha_parts/part/durand_right_leg 3 3 2
74 /obj/item/mecha_parts/part/durand_torso 3 3 3 2
75 /obj/item/mecha_parts/part/gygax_armour 4 5 6
76 /obj/item/mecha_parts/part/gygax_head 3 3 2 2
77 /obj/item/mecha_parts/part/gygax_left_arm 3 2 2
78 /obj/item/mecha_parts/part/gygax_left_leg 3 2 2
79 /obj/item/mecha_parts/part/gygax_right_arm 3 2 2
80 /obj/item/mecha_parts/part/gygax_right_leg 3 2 2
81 /obj/item/mecha_parts/part/gygax_torso 3 3 2 2
82 /obj/item/mecha_parts/part/odysseus_head 2 3
83 /obj/item/mecha_parts/part/odysseus_left_arm 2 2 2
84 /obj/item/mecha_parts/part/odysseus_left_leg 2 2 2
85 /obj/item/mecha_parts/part/odysseus_right_arm 2 2 2
86 /obj/item/mecha_parts/part/odysseus_right_leg 3 3
87 /obj/item/mecha_parts/part/odysseus_torso 2 2 2 2
88 /obj/item/mecha_parts/part/phazon_head 6 9 9
89 /obj/item/mecha_parts/part/phazon_left_arm 6 2 9
90 /obj/item/mecha_parts/part/phazon_left_leg 6 3 9
91 /obj/item/mecha_parts/part/phazon_phase_array 10 3 9
92 /obj/item/mecha_parts/part/phazon_right_arm 6 2 9
93 /obj/item/mecha_parts/part/phazon_right_leg 6 3 9
94 /obj/item/mecha_parts/part/phazon_torso 10 9 6 5
95 /obj/item/mecha_parts/part/ripley_left_arm 2 2 2
96 /obj/item/mecha_parts/part/ripley_left_leg 2 2 2
97 /obj/item/mecha_parts/part/ripley_right_arm 2 2 2
98 /obj/item/mecha_parts/part/ripley_right_leg 2 2 2
99 /obj/item/mecha_parts/part/ripley_torso 2 2 2 2
100 /obj/item/slime_extract 4
101 /obj/item/stack 1
102 /obj/item/stack/medical/advanced/bruise_pack 1
103 /obj/item/stack/medical/advanced/ointment 1
104 /obj/item/stack/medical/bruise_pack 1
105 /obj/item/stack/medical/ointment 1
106 /obj/item/stack/nanopaste 3 4
107 /obj/item/stack/sheet/cloth 1
108 /obj/item/stack/sheet/glass 1
109 /obj/item/stack/sheet/leather 2
110 /obj/item/stack/sheet/metal 1
111 /obj/item/stack/sheet/mineral/adamantine 4
112 /obj/item/stack/sheet/mineral/clown 4
113 /obj/item/stack/sheet/mineral/diamond 6
114 /obj/item/stack/sheet/mineral/enruranium 5
115 /obj/item/stack/sheet/mineral/gold 4
116 /obj/item/stack/sheet/mineral/mythril 4
117 /obj/item/stack/sheet/mineral/phazon 9
118 /obj/item/stack/sheet/mineral/plasma 2 2
119 /obj/item/stack/sheet/mineral/plastic 3
120 /obj/item/stack/sheet/mineral/sandstone 1
121 /obj/item/stack/sheet/mineral/silver 3
122 /obj/item/stack/sheet/mineral/uranium 5
123 /obj/item/stack/sheet/plasteel 2
124 /obj/item/stack/sheet/rglass 2
125 /obj/item/stack/sheet/wood 1 1
126 /obj/item/stack/tile/grass 1
127 /obj/item/weapon/FixOVein 3 1
128 /obj/item/weapon/SWF_uplink 1
129 /obj/item/weapon/aiModule 3
130 /obj/item/weapon/aiModule/corp 4
131 /obj/item/weapon/aiModule/oxygen 4 4
132 /obj/item/weapon/aiModule/prototypeEngineOffline 4 3
133 /obj/item/weapon/aiModule/quarantine 2 4 3
134 /obj/item/weapon/aiModule/reset 4 3
135 /obj/item/weapon/aiModule/safeguard 4 3
136 /obj/item/weapon/aiModule/teleporterOffline 4 3
137 /obj/item/weapon/autopsy_scanner 1 1
138 /obj/item/weapon/butch 1
139 /obj/item/weapon/card/emag 2 2
140 /obj/item/weapon/card/id/syndicate 3
141 /obj/item/weapon/cautery 1 1
142 /obj/item/weapon/cell 1
143 /obj/item/weapon/cell/crap 0
144 /obj/item/weapon/cell/high 2
145 /obj/item/weapon/cell/hyper 6
146 /obj/item/weapon/cell/potato 1
147 /obj/item/weapon/cell/secborg 0
148 /obj/item/weapon/cell/slime 4 2
149 /obj/item/weapon/cell/super 5
150 /obj/item/weapon/circuitboard 2
151 /obj/item/weapon/circuitboard/aicore 2 4
152 /obj/item/weapon/circuitboard/aifixer 2 3
153 /obj/item/weapon/circuitboard/aiupload 4
154 /obj/item/weapon/circuitboard/arcade 1
155 /obj/item/weapon/circuitboard/area_atmos 2
156 /obj/item/weapon/circuitboard/autolathe 2 2
157 /obj/item/weapon/circuitboard/biogenerator 3 2 3
158 /obj/item/weapon/circuitboard/borgupload 4
159 /obj/item/weapon/circuitboard/chem_dispenser 5 4 3
160 /obj/item/weapon/circuitboard/chemmaster3000 4 3
161 /obj/item/weapon/circuitboard/circuit_imprinter 2 2
162 /obj/item/weapon/circuitboard/clonepod 3 3
163 /obj/item/weapon/circuitboard/clonescanner 2 2
164 /obj/item/weapon/circuitboard/cloning 3 3
165 /obj/item/weapon/circuitboard/comm_monitor 3
166 /obj/item/weapon/circuitboard/comm_server 3
167 /obj/item/weapon/circuitboard/comm_traffic 3
168 /obj/item/weapon/circuitboard/communications 2 2
169 /obj/item/weapon/circuitboard/condimaster 4 3
170 /obj/item/weapon/circuitboard/crew 2 2 3
171 /obj/item/weapon/circuitboard/cryo 3 2 3
172 /obj/item/weapon/circuitboard/defib_recharger 4 2 2 3
173 /obj/item/weapon/circuitboard/destructive_analyzer 2 2 2
174 /obj/item/weapon/circuitboard/freezer 4 4 3
175 /obj/item/weapon/circuitboard/gibber 3 2 2 3
176 /obj/item/weapon/circuitboard/heater 4 5 3
177 /obj/item/weapon/circuitboard/hydroponics 3 2 2 3
178 /obj/item/weapon/circuitboard/mech_bay_power_console 3 2
179 /obj/item/weapon/circuitboard/mecha/durand 4
180 /obj/item/weapon/circuitboard/mecha/durand/targeting 4 4
181 /obj/item/weapon/circuitboard/mecha/gygax 4
182 /obj/item/weapon/circuitboard/mecha/gygax/targeting 4 4
183 /obj/item/weapon/circuitboard/mecha/honker 4
184 /obj/item/weapon/circuitboard/mecha/odysseus 3
185 /obj/item/weapon/circuitboard/mecha/phazon 10 9
186 /obj/item/weapon/circuitboard/mecha/ripley 3
187 /obj/item/weapon/circuitboard/mechfab 3 3
188 /obj/item/weapon/circuitboard/message_monitor 3
189 /obj/item/weapon/circuitboard/microwave 2 3 3
190 /obj/item/weapon/circuitboard/mining 2
191 /obj/item/weapon/circuitboard/mining_shuttle 2
192 /obj/item/weapon/circuitboard/operating 2 2
193 /obj/item/weapon/circuitboard/ordercomp 2
194 /obj/item/weapon/circuitboard/pacman 3 3 3 3
195 /obj/item/weapon/circuitboard/pacman/mrs 5 5 3
196 /obj/item/weapon/circuitboard/pacman/super 4 4 3
197 /obj/item/weapon/circuitboard/pandemic 2 2
198 /obj/item/weapon/circuitboard/photocopier 2 2 4
199 /obj/item/weapon/circuitboard/pipedispenser 3 2 2 3
200 /obj/item/weapon/circuitboard/pipedispenser/disposal 3 2 2 3
201 /obj/item/weapon/circuitboard/prison_shuttle 2
202 /obj/item/weapon/circuitboard/processor 3 2 2 3
203 /obj/item/weapon/circuitboard/protolathe 2 2
204 /obj/item/weapon/circuitboard/rdserver 3
205 /obj/item/weapon/circuitboard/reagentgrinder 2 3
206 /obj/item/weapon/circuitboard/recharge_station 4 3
207 /obj/item/weapon/circuitboard/research_shuttle 4
208 /obj/item/weapon/circuitboard/robotics 3
209 /obj/item/weapon/circuitboard/rust_core 3 5 4 6
210 /obj/item/weapon/circuitboard/rust_core_control 4 4
211 /obj/item/weapon/circuitboard/rust_fuel_control 4 4
212 /obj/item/weapon/circuitboard/rust_injector 4 6 4 3
213 /obj/item/weapon/circuitboard/scan_consolenew 2 2
214 /obj/item/weapon/circuitboard/seed_extractor 3 2 3
215 /obj/item/weapon/circuitboard/shield_cap 3 4
216 /obj/item/weapon/circuitboard/shield_gen 4 3
217 /obj/item/weapon/circuitboard/shield_gen_ex 4 3
218 /obj/item/weapon/circuitboard/smartfridge 2 3
219 /obj/item/weapon/circuitboard/smes 4 4 4
220 /obj/item/weapon/circuitboard/solar_control 2 2
221 /obj/item/weapon/circuitboard/supplycomp 3
222 /obj/item/weapon/circuitboard/telecomms/broadcaster 2 4 4
223 /obj/item/weapon/circuitboard/telecomms/bus 4 4
224 /obj/item/weapon/circuitboard/telecomms/hub 4 4
225 /obj/item/weapon/circuitboard/telecomms/processor 4 4
226 /obj/item/weapon/circuitboard/telecomms/receiver 2 3 4
227 /obj/item/weapon/circuitboard/telecomms/relay 3 4 3
228 /obj/item/weapon/circuitboard/telecomms/server 4 4
229 /obj/item/weapon/circuitboard/telehub 3 3 4
230 /obj/item/weapon/circuitboard/teleporter 2 2
231 /obj/item/weapon/circuitboard/telestation 3 3 4
232 /obj/item/weapon/circular_saw 1 1
233 /obj/item/weapon/cloaking_device 3 4
234 /obj/item/weapon/conversion_kit 2
235 /obj/item/weapon/crowbar 1
236 /obj/item/weapon/dart_cartridge 2
237 /obj/item/weapon/ectoplasm 8 8 8 8 8 8 8 8
238 /obj/item/weapon/flamethrower 1 1
239 /obj/item/weapon/grenade/chem_grenade/large 3 3
240 /obj/item/weapon/grenade/empgrenade 3 2
241 /obj/item/weapon/grenade/flashbang 1 2
242 /obj/item/weapon/grenade/spawnergrenade 4 3
243 /obj/item/weapon/grenade/spawnergrenade/manhacks 4 3 4
244 /obj/item/weapon/grenade/spawnergrenade/spesscarp 4 3 4
245 /obj/item/weapon/grown/log 3
246 /obj/item/weapon/gun 1
247 /obj/item/weapon/gun/energy/crossbow 2 2 5
248 /obj/item/weapon/gun/energy/decloner 5 4 3
249 /obj/item/weapon/gun/energy/floragun 3 2 3
250 /obj/item/weapon/gun/energy/gun 3 2
251 /obj/item/weapon/gun/energy/gun/nuclear 3 5 3
252 /obj/item/weapon/gun/energy/ionrifle 2 4
253 /obj/item/weapon/gun/energy/laser 3 2
254 /obj/item/weapon/gun/energy/laser/bluetag 1 2
255 /obj/item/weapon/gun/energy/laser/redtag 1 2
256 /obj/item/weapon/gun/energy/lasercannon 4 3 3
257 /obj/item/weapon/gun/energy/stunrevolver 3 3 2
258 /obj/item/weapon/gun/energy/temperature 3 2 4 3
259 /obj/item/weapon/gun/energy/xray 5 2 3 2
260 /obj/item/weapon/gun/projectile 2 2
261 /obj/item/weapon/gun/projectile/automatic/c20r 5 2 8
262 /obj/item/weapon/gun/projectile/automatic/l6_saw 5 1 2
263 /obj/item/weapon/gun/projectile/automatic/mini_uzi 5 2 8
264 /obj/item/weapon/gun/projectile/detective 2 2
265 /obj/item/weapon/gun/projectile/gyropistol 3
266 /obj/item/weapon/gun/projectile/mateba 2 2
267 /obj/item/weapon/gun/projectile/pistol 2 2 2
268 /obj/item/weapon/gun/projectile/russian 2 2
269 /obj/item/weapon/gun/projectile/shotgun/doublebarrel 3 1
270 /obj/item/weapon/gun/projectile/shotgun/pump 4 2
271 /obj/item/weapon/gun/projectile/shotgun/pump/combat 5 2
272 /obj/item/weapon/gun/projectile/silenced 2 2 8
273 /obj/item/weapon/hand_tele 3 1
274 /obj/item/weapon/handcuffs 1
275 /obj/item/weapon/hatchet 1 2
276 /obj/item/weapon/hemostat 1 1
277 /obj/item/weapon/kitchen/utensil 1
278 /obj/item/weapon/kitchenknife 1
279 /obj/item/weapon/legcuffs 1
280 /obj/item/weapon/locator 1
281 /obj/item/weapon/match 1
282 /obj/item/weapon/melee/baton 2
283 /obj/item/weapon/melee/chainofcommand 4
284 /obj/item/weapon/melee/defibrilator 3
285 /obj/item/weapon/melee/energy/axe 3
286 /obj/item/weapon/melee/energy/sword/color 3 4
287 /obj/item/weapon/module/rust_fuel_compressor 6 4
288 /obj/item/weapon/module/rust_fuel_port 4 5
289 /obj/item/weapon/ore/clown 4
290 /obj/item/weapon/ore/diamond 6
291 /obj/item/weapon/ore/glass 1
292 /obj/item/weapon/ore/gold 4
293 /obj/item/weapon/ore/iron 1
294 /obj/item/weapon/ore/phazon 7
295 /obj/item/weapon/ore/plasma 2
296 /obj/item/weapon/ore/silver 3
297 /obj/item/weapon/ore/strangerock 5
298 /obj/item/weapon/ore/uranium 5
299 /obj/item/weapon/pen/sleepypen 2 5
300 /obj/item/weapon/pickaxe 1 1
301 /obj/item/weapon/pickaxe/diamond 5 6 4
302 /obj/item/weapon/pickaxe/drill 2 2 3
303 /obj/item/weapon/pickaxe/gold 4
304 /obj/item/weapon/pickaxe/jackhammer 2 3 2
305 /obj/item/weapon/pickaxe/plasmacutter 3 4 3
306 /obj/item/weapon/pickaxe/silver 3
307 /obj/item/weapon/pipe_dispenser 4 2
308 /obj/item/weapon/plastique 2
309 /obj/item/weapon/rcd 4 2
310 /obj/item/weapon/rcd_ammo 2
311 /obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato 3
312 /obj/item/weapon/reagent_containers/spray/chemsprayer 3 3 3
313 /obj/item/weapon/retractor 1 1
314 /obj/item/weapon/scalpel 1 1
315 /obj/item/weapon/scythe 2 2
316 /obj/item/weapon/shield/energy 3 4 4
317 /obj/item/weapon/shield/riot 2
318 /obj/item/weapon/shovel 1 1
319 /obj/item/weapon/stock_parts/capacitor 1
320 /obj/item/weapon/stock_parts/capacitor/adv 3
321 /obj/item/weapon/stock_parts/capacitor/super 4 5
322 /obj/item/weapon/stock_parts/console_screen 1
323 /obj/item/weapon/stock_parts/manipulator 1 1
324 /obj/item/weapon/stock_parts/manipulator/nano 3 2
325 /obj/item/weapon/stock_parts/manipulator/pico 5 2
326 /obj/item/weapon/stock_parts/matter_bin 1
327 /obj/item/weapon/stock_parts/matter_bin/adv 3
328 /obj/item/weapon/stock_parts/matter_bin/super 5
329 /obj/item/weapon/stock_parts/micro_laser 1
330 /obj/item/weapon/stock_parts/micro_laser/high 3
331 /obj/item/weapon/stock_parts/micro_laser/ultra 5
332 /obj/item/weapon/stock_parts/scanning_module 1
333 /obj/item/weapon/stock_parts/scanning_module/adv 3
334 /obj/item/weapon/stock_parts/scanning_module/phasic 5
335 /obj/item/weapon/stock_parts/subspace/amplifier 2 4 4 3
336 /obj/item/weapon/stock_parts/subspace/analyzer 2 4 4 3
337 /obj/item/weapon/stock_parts/subspace/ansible 2 5 4 3
338 /obj/item/weapon/stock_parts/subspace/crystal 2 4 4
339 /obj/item/weapon/stock_parts/subspace/filter 2 4
340 /obj/item/weapon/stock_parts/subspace/transmitter 3 5 5
341 /obj/item/weapon/stock_parts/subspace/treatment 2 2 5 3
342 /obj/item/weapon/storage/backpack/holding 4
343 /obj/item/weapon/storage/toolbox 1
344 /obj/item/weapon/storage/toolbox/syndicate 1 1
345 /obj/item/weapon/surgicaldrill 1 1
346 /obj/item/weapon/syntiflesh 2
347 /obj/item/weapon/teleportation_scroll 4
348 /obj/item/weapon/twohanded/dualsaber 3 4
349 /obj/item/weapon/twohanded/hfrequency 5 4
350 /obj/item/weapon/weldingtool 1
351 /obj/item/weapon/weldingtool/experimental 4 3
352 /obj/item/weapon/weldingtool/hugetank 3
353 /obj/item/weapon/weldingtool/largetank 2
354 /obj/item/weapon/wirecutters 1 1
355 /obj/item/weapon/wrench 1 1

View File

@@ -0,0 +1,177 @@
import os, sys, re
"""
Usage:
$ python calculateMaxTechLevels.py path/to/your.dme .dm
calculateMaxTechLevels.py - Get techlevels of all objects and generate reports.
Copyright 2013 Rob "N3X15" Nelson <nexis@7chan.org>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
REGEX_TECH_ORIGIN = re.compile('^(?P<tabs>\t+)(?:var/)?origin_tech\s*=\s*"(?P<content>.+)"\s*$')
REGEX_ATOMDEF = re.compile('^(?P<tabs>\t*)(?P<atom>[a-zA-Z0-9_/]+)\s*$')
#Calculated Max Tech Levels.
CMTLs = {}
# All known atoms with tech origins.
AtomTechOrigins = {}
def debug(filename, line, path, message):
print('{0}:{1}: {2} - {3}'.format(filename, line, '/'.join(path), message))
def ProcessFile(filename):
with open(filename, 'r') as f:
cpath = []
popLevels = []
pindent = 0 # Previous Indent
ln = 0
ignoreLevel = []
debugOn = False
for line in f:
ln += 1
if '/*' in line:
ignoreLevel += ['*/']
if '{"' in line:
ignoreLevel += ['"}']
if len(ignoreLevel) > 0:
if ignoreLevel[-1] in line:
ignoreLevel.pop()
continue
m = REGEX_ATOMDEF.match(line)
if m is not None:
numtabs = len(m.group('tabs'))
atom = m.group('atom')
atom_path = m.group('atom').split('/')
if atom in ('else', 'break', 'return', 'continue', 'spawn', 'proc'):
continue
if atom.startswith('var/') or atom.startswith('//') or (numtabs > 0 and atom.strip().startswith('/')):
continue
# Was used to debug a weird path resolution issue with mecha boards.
#if line.startswith('/obj/item/weapon/circuitboard/mecha'):
# debugOn = True
if debugOn: print('{} > {}'.format(numtabs, line.rstrip()))
if numtabs == 0:
cpath = atom_path
if cpath[0] != '':
cpath.insert(0, '')
popLevels = [len(cpath)]
if debugOn: debug(filename, ln, cpath, '0')
elif numtabs > pindent:
cpath += atom_path
popLevels += [len(atom_path)]
if debugOn: debug(filename, ln, cpath, '>')
elif numtabs < pindent:
for i in range(pindent - numtabs):
popsToDo = popLevels.pop()
if debugOn: print(' pop {} {}'.format(popsToDo, popLevels))
for i in range(popsToDo):
cpath.pop()
if debugOn: print(repr(cpath))
cpath += atom_path
if debugOn: debug(filename, ln, cpath, '<')
elif numtabs == pindent:
for i in range(popLevels.pop()):
cpath.pop()
if debugOn: print(repr(cpath))
cpath += atom_path
popLevels += [len(atom_path)]
if debugOn: debug(filename, ln, cpath, '==')
pindent = numtabs
continue
path = '/'.join(cpath)
m = REGEX_TECH_ORIGIN.match(line)
if m is not None:
tech_origin = {}
# materials=9;bluespace=10;magnets=3
techchunks = m.group('content').split(';')
for techchunk in techchunks:
parts = techchunk.split('=')
tech = parts[0]
level = int(parts[1])
tech_origin[tech] = level
if tech not in CMTLs:
CMTLs[tech] = level
if CMTLs[tech] < level:
CMTLs[tech] = level
AtomTechOrigins[path] = tech_origin
def ProcessFilesFromDME(dmefile='baystation12.dme', ext='.dm'):
numFilesTotal = 0
rootdir = os.path.dirname(dmefile)
with open(dmefile, 'r') as dmeh:
for line in dmeh:
if line.startswith('#include'):
inString = False
# escaped=False
filename = ''
for c in line:
"""
if c == '\\' and not escaped:
escaped = True
continue
if escaped:
if
escaped = False
continue
"""
if c == '"':
inString = not inString
if not inString:
filepath = os.path.join(rootdir, filename)
if filepath.endswith(ext):
# print('Processing {0}...'.format(filepath))
ProcessFile(filepath)
numFilesTotal += 1
filename = ''
continue
else:
if inString:
filename += c
if os.path.isdir(sys.argv[1]):
selectedDMEs = []
for root, _, files in os.walk(sys.argv[1]):
for filename in files:
filepath = os.path.join(root, filename)
if filepath.endswith('.dme'):
ProcessFilesFromDME(filepath, sys.argv[2])
selectedDMEs.append(filepath)
break
with open(os.path.join(sys.argv[1], 'tech_origin_list.csv'), 'w') as w:
with open(os.path.join(sys.argv[1], 'max_tech_origins.txt'), 'w') as mto:
tech_columns = []
mto.write('Calculated Max Tech Levels:\n These tech levels have been determined by parsing ALL origin_tech variables in code included by {0}.\n'.format(', '.join(selectedDMEs)))
for tech in sorted(CMTLs.keys()):
tech_columns.append(tech)
mto.write('{:>15}: {}\n'.format(tech, CMTLs[tech]))
w.write(','.join(['Atom'] + tech_columns) + "\n")
for atom in sorted(AtomTechOrigins.keys()):
techs = []
for tech in tech_columns:
if tech in AtomTechOrigins[atom]:
techs.append(str(AtomTechOrigins[atom][tech]))
else:
techs.append('')
w.write(','.join([atom] + techs) + "\n")
if os.path.isfile(sys.argv[1]):
ProcessFilesFromDME(sys.argv[1], sys.argv[2])