techannihilation / TA

Tech Annihilation
27 stars 16 forks source link

feat: add `tracks = false` where tracks is not needed, thanks to Silver! #1674

Closed jochumdev closed 9 months ago

jochumdev commented 9 months ago

If made this based on map changes from @silvapp

The following hand-crafted script made it:

#!/usr/bin/env python

import luadata
import os
import csv

def read_csv(file_path: str) -> dict:
    units = {}

    with open(file_path, 'r', encoding='utf-8', newline='') as file:
        reader = csv.reader(file, delimiter='\t')
        for row in reader:
            unit_name = row[0]
            weapon = row[1][len(unit_name)+1:]

            if unit_name in units:
                units[unit_name].append(weapon)
                continue

            units[unit_name] = [weapon]

    return units

if __name__ == '__main__':
    units = read_csv(os.path.expanduser("~/units.txt"))

    for unit_name, weapons in units.items():
        print(f"Working on '{unit_name}'")

        # Get unit file path
        unit_file = os.path.expanduser("~/.spring/games/TA.sdd/units/%s.lua" % unit_name)

        # Read unit file
        try:
            unit = luadata.read(unit_file, encoding="utf-8")
        except Exception as e:
            print(f"Failed to read '{unit_file}', error was: {e}")
            continue

        if unit_name not in unit or "weapondefs" not in unit[unit_name]:
            print("-- Bad unit")
            continue

        wd = unit[unit_name]["weapondefs"]

        # Add tracks = false to weapondefs
        for w in weapons:
            if w in wd:
                wd[w]["tracks"] = False
            else:
                print(f"-- unknown weapondef '{w}'")

        # Write unit file
        with open(unit_file, 'w', encoding='utf-8', newline='') as fp:
            fp.write("return " + luadata.serialize(unit, encoding="utf-8", indent="\t", indent_level=0))

Long list of units and theier weapondefs that need tracks = false,

ajuno   ajuno_juno_pulse
armamb  armamb_armamb_gun
armamb  armamb_armamb_gun_high
armamph armamph_armamph_missile
armamph armamph_armamph_weapon1
armanac armanac_armanac_weapon
armanni1    armanni1_ata10
armanni armanni_ata
armarch armarch_k777blaster
armarch armarch_multi_rocket
armarch armarch_ultimate_lightning
armatl  armatl_armatl_torpedo
arm_avatar  arm_avatar_arm_berthacannon2
armbanth    armbanth_armbantha_fire
armbanth    armbanth_rave_missile
armbanth    armbanth_tehlazerofdewm
armbats armbats_arm_bats
armbc   armbc_arm_bccannon
armbc   armbc_armbc_missile
armbc   armbc_arm_crus
armbrawl    armbrawl_vtol_emg
arm_broadside   arm_broadside_armflak_gun
arm_broadside   arm_broadside_ultimate_lightning
armbrtha1   armbrtha1_arm_berthacannon1
armbrtha2   armbrtha2_arm_intimidator
armbrtha    armbrtha_arm_berthacannon2
armbsub armbsub_sub_weapon
armbsub armbsub_sub_weapon_solo
armbull armbull_arm_bull
armcentrum  armcentrum_advdepthcharge
armcentrum  armcentrum_arm_bats
armcentrum  armcentrum_armflak_gun
armcentrum  armcentrum_oly_gun
armcentrum  armcentrum_seadragprime
armchimera  armchimera_armamph_missile
armchimera  armchimera_arm_lightning
armchimera  armchimera_arm_lightningxl
armclaw armclaw_arm_lightning
armcroc armcroc_arm_triton
armcrus armcrus_adv_decklaser
armcrus armcrus_advdepthcharge
armcrus armcrus_arm_crus
armcybr armcybr_arm_pidr
armcyclone  armcyclone_mk83
armdecade   armdecade_emg
armdfly armdfly_armdfly_paralyzer
armdl   armdl_coax_depthcharge
armemp  armemp_armemp_weapon
arm_emp_lrpt    arm_emp_lrpt_arm_berthacannonemp
armexo  armexo_emcc
armexo  armexo_shield
armexo  armexo_tehlazerofdewm1
armfast armfast_arm_fast
armfav  armfav_arm_laser
armfboy armfboy_arm_fatboy_notalaser
armfguard   armfguard_floating_plasma
armfhlt armfhlt_arm_laserh1
armfido armfido_bfido
armflash    armflash_emgx
armflea armflea_flea_laser
armfllt armfllt_arm_lightlaser
armfmine3   armfmine3_mine_detonator
armfmine3   armfmine3_mine_dummy
armfox  armfox_aa_missile
armfox  armfox_bfido
armfox  armfox_pluton_gun
armfsilo    armfsilo_armfsilo_weapon
armgrape    armgrape_emcc
armgripn    armgripn_emp_bomb
armguard    armguard_armfixed_gun
armguard    armguard_armfixed_gun_high
armham  armham_arm_ham
armhanni    armhanni_atam
armhcar armhcar_nuke_hcar_arm
armhcar armhcar_rocket_mcv
armhcrus    armhcrus_aa_missile
armhcrus    armhcrus_mamba_gatling
armhcrus    armhcrus_pluton_gun
armhlt  armhlt_arm_laserh1
armhobo armhobo_arm_lightning
armhope armhope_k666blaster
armhope armhope_rocket
armhope armhope_super_barrage
armhplasma  armhplasma_mamba_gatling
armjanus    armjanus_janus_rocket
armjugg armjugg_arm_jugg_emc
armkam  armkam_med_emg
armkrypto   armkrypto_k888blaster
armlance    armlance_air_torpedo
armlatnk    armlatnk_aa_missile
armlatnk    armlatnk_arm_lightning
armlhover   armlhover_arm_lightning
armllt  armllt_arm_lightlaser
armmanni    armmanni_atam
armmarauder armmarauder_armamph_missile
armmarauder armmarauder_armmech_cannon
armmarlin   armmarlin_adv_torpedo
armmarlin   armmarlin_armemp_weapon
armmart armmart_arm_artillery
armmav  armmav_armmav_weapon
armmcv1 armmcv1_aa_missile
armmcv1 armmcv1_arm_batsaftx
armmcv1 armmcv1_cannon_trmph
armmcv1 armmcv1_rocket_mcv
armmcv  armmcv_arm_batsaftx
armmcv  armmcv_rave_missile
armmerl armmerl_armtruck_rocket
armmh   armmh_armmh_weapon
armmin  armmin_minesweeperairmissile
armmine2    armmine2_mine_detonator
armmine2    armmine2_mine_dummy
armmine3    armmine3_mine_detonator
armmine3    armmine3_mine_dummy
armmine5    armmine5_mine_detonator
armmine5    armmine5_mine_dummy
armmine6    armmine6_mine_detonator
armmine6    armmine6_mine_dummy
armmlrs armmlrs_barrage
armmlv  armmlv_minesweep
armmship    armmship_armmship_rocket
armmship    armmship_armship_missile
armmygalo   armmygalo_emcc
armmygalo   armmygalo_mygalo_multilaser
armnebraska armnebraska_armnebraska_weapon
armolympus  armolympus_arm_batsaftx
armolympus  armolympus_arm_berthacannon1
armolympus  armolympus_multi_rocket
armorbital  armorbital_zeus_cannon
armorco armorco_arm_emcc4
armorco armorco_atad
armorco armorco_shield
armorion    armorion_orion_bomb
armpb   armpb_armpb_weapon
armpers armpers_arm_emcc3
armpincer   armpincer_arm_pincer_gauss
armpnix armpnix_armadvbomb
armpraet    armpraet_k666blaster
armpraet    armpraet_praetorian_rocket
armpraet    armpraet_praetorian_shield
armpt   armpt_armkbot_missile
armpt   armpt_armpt_laser
armpw   armpw_emg
armrambo    armrambo_commandolas
armraptor   armraptor_mech_rapidlaser1
armraptor   armraptor_missiles
armraz  armraz_mech_rapidlaser
armrex  armrex_armrogue_cannon
armrex  armrex_pluton_gun
armrock armrock_arm_kbot_rocket
armroy  armroy_arm_roy
armroy  armroy_depthcharge
armscpion   armscpion_arm_lightning
armscpion   armscpion_armscpion_torpedo
armscpion   armscpion_atam
armserpent  armserpent_armserpent_weapon
armsh   armsh_armsh_weapon
armshellshocker armshellshocker_small_mortar
armshock    armshock_shocker
armsilo1    armsilo1_nuclear_missile1
armsilo armsilo_nuclear_missile
armsnipe    armsnipe_armsnipe_weapon
armspider   armspider_spider
armst   armst_armst_gauss
armstump    armstump_arm_lightcannon
armsub  armsub_arm_torpedo
armsubk armsubk_armsmart_torpedo
armtabi armtabi_arm_tabithacannon
armtaipan   armtaipan_arm_fast7
armtankanotor   armtankanotor_missiles
armtarantula    armtarantula_adv_rocket
armtem  armtem_arm_lightningxl
armtem  armtem_mini_pluton_gun
armthor armthor_arm_emcc4
armthor armthor_arm_lightning
armthund    armthund_armbomb
armtl   armtl_coax_torpedo
armtrmph    armtrmph_advdepthcharge
armtrmph    armtrmph_cannon_bats_aft
armtrmph    armtrmph_cannon_trmph
armtrmph    armtrmph_rocket_mcv
armucar armucar_armflak_gun
armundertow armundertow_depthcharge
armvengence armvengence_armvengence_cannon
armvengence armvengence_shield
armvulc1    armvulc1_armvulc_weapon1
armvulc2    armvulc2_armvulc_weapon3
armvulc armvulc_armvulc_weapon2
armwar  armwar_armwar_laser
armweaver   armweaver_armrl_missile
armweaver   armweaver_armweaver_laser
armzeus armzeus_arm_lightning
aseadragon  aseadragon_arm_batsaftx
aseadragon  aseadragon_seadragonflak
aseadragon  aseadragon_seadragprime
cdevastator cdevastator_antimatteraccelerator
cdevastator cdevastator_corflak_gun
cdevastator cdevastator_devastatorrockets
cdevastator cdevastator_mountedantimatteraccelerator
cjuno   cjuno_juno_pulse
corabsolutor    corabsolutor_core_canlaser
coradamantoise  coradamantoise_core_laser
coradamantoise  coradamantoise_pepper_canon
coradamantoise  coradamantoise_rave_missile
coradon coradon_coradon_atad
coradon coradon_coradon_beam
coraegis    coraegis_tac_nuke
corak   corak_gator_laser
coramph coramph_core_beam
coramph coramph_torpedo
corangler   corangler_depthcharge
corape  corape_vtol_rocket
corarbritator   corarbritator_atadr
corarbritator   corarbritator_cortron_weapon
corarbritator   corarbritator_flammer_weapon
corarpe corarpe_corbladewing_lyzer
corarpe corarpe_gator_laserx
coratl  coratl_coratl_torpedo
corbanisher corbanisher_tawf_banisher
corbats corbats_cor_bats
corbats corbats_core_batslaser
corbhmth1   corbhmth1_corbhmth1_weapon
corbhmth    corbhmth_corbhmth_weapon
corblackdawn    corblackdawn_vtol_sabot
corblackhy  corblackhy_hydra_gun
corblackhy  corblackhy_hydramiss
corblackhy  corblackhy_hydra_prime
corbladew   corbladew_corbladewing_lyzer
corboucher  corboucher_core_boucher
corbsub corbsub_sub_weapon
corbsub corbsub_torpedo
corbt   corbt_corbt_cannon
corbuzz1    corbuzz1_corbuzz_weapon1
corbuzz2    corbuzz2_corbuzz_weapon3
corbuzz corbuzz_corbuzz_weapon2
corcan  corcan_core_canlaser
corchamp    corchamp_cor_taar_rc
corcommando corcommando_corcommandolas
corcrus corcrus_adv_decklaser
corcrus corcrus_advdepthcharge
corcrus corcrus_cor_crus
corcrw  corcrw_krowlaser_middle
corcrw  corcrw_krowlaser_side
cordl   cordl_coax_depthcharge
cordoom1    cordoom1_adv_decklaser10
cordoom1    cordoom1_atadr10
cordoom1    cordoom1_corsumo_weapon10
cordoom cordoom_adv_decklaser
cordoom cordoom_atadr
cordoom cordoom_corsumo_weapon
cordust cordust_antimatteraccelerator
cordust cordust_corflak_gun
cordust cordust_devastatorrockets
cordust cordust_tehlazerofdewm
coreavalanche   coreavalanche_flamethrower
coreclipse  coreclipse_fab500
core_emp_lrpt   core_emp_lrpt_core_emp_lrptemp
corejudgement   corejudgement_rapid_cannon
corejudgement   corejudgement_rave_missile
core_riptide    core_riptide_depthcharge
core_riptide    core_riptide_riptide
coresupp    coresupp_corvette_lightlaser
core_turbulence core_turbulence_pepper_canon
core_turbulence core_turbulence_rave_missile
corfav  corfav_core_laser
corfhlt corfhlt_corfhlt_laser
corfllt corfllt_core_lightlaser
corflu  corflu_cor_flucannon
corfmine3   corfmine3_mine_detonator
corfmine3   corfmine3_mine_dummy
corfpun corfpun_floating_plasma
corfsilo    corfsilo_corfsilo_weapon
corgarp corgarp_arm_pincer_gauss
corgator    corgator_gator_laserx
corgladiator    corgladiator_core_beam
corgol  corgol_cor_gol
corgor  corgor_atad
corgor  corgor_core_blaster
corgor  corgor_rave_missile
corgorg corgorg_corgorg_bottom
corgorg corgorg_corgorg_top
corgorg corgorg_cor_jug
corhaboob   corhaboob_mini_buzz
corhalberd  corhalberd_core_canlaser
corhcar corhcar_nuke_hcar_core
corhcar corhcar_rocket_krog
corhcrus    corhcrus_aa_missile
corhcrus    corhcrus_beam_weapon
corhcrus    corhcrus_lrpc_weapon
corhflag    corhflag_beam_weapon
corhflag    corhflag_blod_doom
corhflag    corhflag_cannon_tyrnt
corhflag    corhflag_rocket_krog
corhgol corhgol_cor_behegoli
corhllt corhllt_corhllt_bottom
corhllt corhllt_corhllt_top
corhlt  corhlt_core_laserh1
corhrk  corhrk_corhrk_rocket
corhurc corhurc_coradvbomb
corint1 corint1_core_intimidator1
corint2 corint2_core_intimidator
corint  corint_core_intimidator2
corkarg corkarg_aa_missile
corkarg corkarg_super_missile
corkarg corkarg_tawf_banisher1
corkrog corkrog_atad
corkrog corkrog_corkrog_fire
corkrog corkrog_corkrog_rocket
corkrogtaar corkrogtaar_core_blaster
corlevlr    corlevlr_corlevlr_weapon
corlhover   corlhover_core_lightlaser
corlhover   corlhover_corfhlt_laser
corlilith   corlilith_1250mw
corlilith   corlilith_850mw
corlilith   corlilith_tehlazerofdewm
corllt  corllt_core_lightlaser
cormart cormart_core_artillery
cormatch    cormatch_flamethrower
cormaw  cormaw_dmaw
cormenacer  cormenacer_menacer
cormexp cormexp_cormexp_rocket
cormexp cormexp_corsumo_weapon
cormh   cormh_cormh_weapon
cormin  cormin_minesweeperairmissile
cormine1    cormine1_mine_detonator
cormine1    cormine1_mine_dummy
cormine2    cormine2_mine_detonator
cormine2    cormine2_mine_dummy
cormine3    cormine3_mine_detonator
cormine3    cormine3_mine_dummy
cormine5    cormine5_mine_detonator
cormine5    cormine5_mine_dummy
cormine6    cormine6_mine_detonator
cormine6    cormine6_mine_dummy
corminotaur corminotaur_minos_weapon
corminotaur corminotaur_rave_missile
cormkl  cormkl_atad
cormkl  cormkl_flammer_weapon
cormkl  cormkl_mountedantimatteraccelerator
cormkl  cormkl_rocket
cormlv  cormlv_minesweep
cormonkeylord   cormonkeylord_cybran_monkeylord_beam
cormonkeylord   cormonkeylord_cybran_monkeylord_shield
cormonsta   cormonsta_cormonsta_gun
cormonsta   cormonsta_sam2_missile
cormort cormort_core_mort
cormship1   cormship1_aa_missiles
cormship1   cormship1_asm
cormship    cormship_armship_missile
cormship    cormship_cormship_rocket
corparrow   corparrow_core_parrow
corpokie    corpokie_flammer_weapon
corpokie    corpokie_mountedantimatteraccelerator
corprot corprot_corprot_weapon
corpt   corpt_armkbot_missile
corpt   corpt_armpt_laser
corpun  corpun_corfixed_gun
corpun  corpun_corfixed_gun_high
corpyro corpyro_flamethrower
corraid corraid_arm_lightcannon
corraven1   corraven1_exp_heavyrocket1
corraven    corraven_exp_heavyrocket
correap correap_core_reap
corrock corrock_lightartmiss
corroy  corroy_core_roy
corroy  corroy_depthcharge
corsbomb    corsbomb_napalm_bomb
corseal corseal_core_croc
corshad corshad_corebomb
corshark    corshark_armsmart_torpedo
corsh   corsh_armsh_weapon
corshiva    corshiva_corshiva_gun
corshiva    corshiva_rave_missile
corshiva    corshiva_torpedo
corsiege    corsiege_cannon_siege
corsilo1    corsilo1_crblmssl1
corsilo corsilo_crblmssl
corskrog    corskrog_corskrog_beam
corskrog    corskrog_corskrog_fire
corskrog    corskrog_corskrog_rocket
corsnap corsnap_armanac_weapon
corspun corspun_rapid_plasma
corssub corssub_corssub_weapon
corstorm    corstorm_core_kbot_rocket
corsub  corsub_arm_torpedo
corsumo corsumo_corsumo_weapon
corthud corthud_arm_ham
cortigre    cortigre_rave_missile
cortigre    cortigre_tigre_weapon
cortitan    cortitan_armair_torpedo
cortl   cortl_torpedo
cortoast    cortoast_cortoast_gun
cortoast    cortoast_cortoast_gun_high
cortremor   cortremor_cortremoror_weapon
cortroman   cortroman_armmav_weapon
cortroman   cortroman_cortroman_head
cortroman   cortroman_rave_missile
cortron cortron_cortron_weapon
cortyrnt    cortyrnt_blod_doom
cortyrnt    cortyrnt_cannon_tyrnt
cortyrnt    cortyrnt_core_laser
cortyrnt    cortyrnt_depthcharge
cortyrnt    cortyrnt_rocket_krog
corucar corucar_core_erad
coruppercut coruppercut_sub_weapon
coruppercut coruppercut_tacnuke
corurbanus  corurbanus_cannon_tyrnt
corurbanus  corurbanus_core_bats
corurbanus  corurbanus_core_laser
corurbanus  corurbanus_corflak_gun
corurbanus  corurbanus_depthcharge
corvaliant  corvaliant_core_bats
corvaliant  corvaliant_tehlazerofdewm
corvipe corvipe_vipersabot
corvroc corvroc_cortruck_rocket
corwolv corwolv_small_mortar
gok_abyss   gok_abyss_gok_beam
gok_agrat   gok_agrat_flamethrower
gok_amon    gok_amon_gok_lrpt
gok_antichrist  gok_antichrist_blade
gok_antichrist  gok_antichrist_com_shield
gok_apocalypse  gok_apocalypse_gok_beam
gok_apocalypse  gok_apocalypse_gok_blast
gok_apocalypse  gok_apocalypse_rockets
gok_artycrab    gok_artycrab_gok_gun
gok_asmodee gok_asmodee_gok_beam
gok_atl gok_atl_torpedo
gok_avatar  gok_avatar_gok_beam
gok_azaroth gok_azaroth_gok_beam
gok_azaroth gok_azaroth_mountedantimatteraccelerator
gok_azaroth gok_azaroth_shield
gok_bats    gok_bats_gok_gun
gok_bats    gok_bats_gok_plasma
gok_bats    gok_bats_repulsor2
gok_benne   gok_benne_gok_beam
gok_blackcoconut    gok_blackcoconut_gok_rocket
gok_blackdawn   gok_blackdawn_gok_plasma
gok_blackpollen gok_blackpollen_cut_launcher
gok_bloodletter gok_bloodletter_gok_beam
gok_bsub    gok_bsub_smart_torpedo
gok_bsub    gok_bsub_sub_weapon_solo
gok_cacodemon   gok_cacodemon_gok_plasma
gok_cain    gok_cain_ultimate_weapon
gok_cancer  gok_cancer_depthcharge
gok_claw    gok_claw_saw
gok_crus    gok_crus_advdepthcharge
gok_crus    gok_crus_gok_plasma
gok_cut1    gok_cut1_saw
gok_cut gok_cut_saw
gok_diablo  gok_diablo_diablo_canon
gok_diablo  gok_diablo_gok_plasma
gok_diablo  gok_diablo_rave_missile
gok_dirgesinger gok_dirgesinger_gok_bomb
gok_disciple    gok_disciple_blade
gok_dl  gok_dl_coax_depthcharge
gok_dmc gok_dmc_gok_dmc_weapon
gok_drac    gok_drac_smart_torpedo
gok_dvergar gok_dvergar_gok_plasma
gok_eck gok_eck_com_shield1
gok_eck gok_eck_flamethrower
gok_engineerk   gok_engineerk_gok_beam
gok_eveningstar gok_eveningstar_eveningstar_weapon
gok_exorcist    gok_exorcist_depthcharge
gok_faerie  gok_faerie_gok_beam
gok_fblackdawn  gok_fblackdawn_gok_plasma
gok_fllt    gok_fllt_gok_beam
gok_fmine   gok_fmine_mine_detonator
gok_fmine   gok_fmine_mine_dummy
gok_godhammer   gok_godhammer_gok_beam
gok_godsword    gok_godsword_flamethrower
gok_godsword    gok_godsword_gok_aa_missile
gok_godsword    gok_godsword_gok_beam
gok_hellbiker   gok_hellbiker_flame
gok_hellfire    gok_hellfire_flamethrower
gok_hellspawn   gok_hellspawn_gok_plasma
gok_hookah  gok_hookah_gok_bomb
gok_ifrit   gok_ifrit_dem_weapon
gok_immortal    gok_immortal_gok_gun
gok_imp gok_imp_gok_plasma
gok_jocond  gok_jocond_gok_gun
gok_junglenaut  gok_junglenaut_gok_beam
gok_juno    gok_juno_juno_pulse
gok_kadesh  gok_kadesh_black_flame
gok_kadesh  gok_kadesh_gok_beam
gok_kadesh  gok_kadesh_gok_kadesh_beam
gok_kafka   gok_kafka_gok_beam
gok_llt gok_llt_gok_beam
gok_lrpt1   gok_lrpt1_long_range_plasma
gok_lrpt    gok_lrpt_gok_lrpt_canon
gok_mahlat  gok_mahlat_flamethrower
gok_mask    gok_mask_blade
gok_meteor1 gok_meteor1_meteor
gok_meteor2 gok_meteor2_meteor
gok_meteor  gok_meteor_meteor
gok_mine1   gok_mine1_mine_detonator
gok_mine1   gok_mine1_mine_dummy
gok_mine2   gok_mine2_mine_detonator
gok_mine2   gok_mine2_mine_dummy
gok_mine3   gok_mine3_mine_detonator
gok_mine3   gok_mine3_mine_dummy
gok_min gok_min_minesweeperairmissile
gok_mlrpt   gok_mlrpt_gok_lrpt_canon
gok_mlv gok_mlv_minesweep
gok_moonstrike  gok_moonstrike_gok_starburst
gok_mship   gok_mship_gok_aa
gok_mship   gok_mship_gok_rocket
gok_mtur    gok_mtur_gok_rocket
gok_negator gok_negator_flame
gok_nightfall   gok_nightfall_gok_beam
gok_nosferatu   gok_nosferatu_gok_beam
gok_nosferatu   gok_nosferatu_gok_starburst
gok_nurgle  gok_nurgle_gok_bomb
gok_orchid  gok_orchid_gok_gun
gok_revenant    gok_revenant_torpedo
gok_roy gok_roy_depthcharge
gok_roy gok_roy_gok_plasma
gok_satan   gok_satan_blade
gok_satan   gok_satan_com_shield1
gok_silo1   gok_silo1_nuclear_missile1
gok_silo2   gok_silo2_gok_silo2_weapon
gok_silo    gok_silo_crblmssl
gok_slanesh gok_slanesh_blade
gok_slanesh gok_slanesh_com_shield1
gok_slanesh gok_slanesh_ultimate_psychic
gok_slesh1  gok_slesh1_gok_beam
gok_slesh   gok_slesh_gok_beam
gok_snipe   gok_snipe_gok_snipe_gun
gok_specter gok_specter_gok_beam
gok_spook   gok_spook_gok_plasma
gok_sub gok_sub_gok_torpedo
gok_sunstrike   gok_sunstrike_gok_starburst
gok_tl  gok_tl_torpedo
gok_tzenth  gok_tzenth_sub_weapon_back
gok_tzenth  gok_tzenth_sub_weapon_front
gok_valefor gok_valefor_gok_beam
gok_valefor gok_valefor_gok_blast
gok_valefor gok_valefor_repulsor3
gok_valkyrie    gok_valkyrie_gok_beam
gok_withering   gok_withering_gok_kbot_rocket
gok_zealot  gok_zealot_axe
halloween1  halloween1_flame
rumad_antarion  rumad_antarion_rumad_advmissilex4
rumad_antarion  rumad_antarion_rumad_plasma
rumad_artybot   rumad_artybot_rumad_missilex6
rumad_artybot   rumad_artybot_rumad_plasma
rumad_bliz  rumad_bliz_rumad_gauss
rumad_bomber_lvl1   rumad_bomber_lvl1_rumad_bomb
rumad_bomber_lvl2   rumad_bomber_lvl2_rumad_bomb
rumad_bomber_lvl3   rumad_bomber_lvl3_rumad_bomb
rumad_camel rumad_camel_rumad_missile
rumad_dragster  rumad_dragster_rumad_missile
rumad_eagle rumad_eagle_rumad_supermissilex2
rumad_fennek    rumad_fennek_rumad_lightning
rumad_gala  rumad_gala_rumad_missilex6
rumad_gala  rumad_gala_rumad_plasma
rumad_gala  rumad_gala_shield
rumad_garuda    rumad_garuda_rumad_gauss
rumad_gunship_lvl1  rumad_gunship_lvl1_rumad_missile
rumad_gunship_lvl2  rumad_gunship_lvl2_rumad_missile
rumad_gunship_lvl3  rumad_gunship_lvl3_rumad_advmissile
rumad_hellion   rumad_hellion_rumad_advmissilex16
rumad_hellion   rumad_hellion_rumad_plasma
rumad_hellion   rumad_hellion_rumad_plasmax4
rumad_hotshot1  rumad_hotshot1_rumad_supermissile
rumad_hotshot   rumad_hotshot_rumad_advmissile
rumad_howie rumad_howie_asm
rumad_jafa  rumad_jafa_rumad_flak_gun
rumad_jafa  rumad_jafa_rumad_plasma
rumad_juno  rumad_juno_juno_pulse
rumad_lago  rumad_lago_rumad_flak_gun
rumad_lago  rumad_lago_rumad_orb
rumad_lago  rumad_lago_rumad_plasma
rumad_lago  rumad_lago_rumad_rocket
rumad_lightartybot  rumad_lightartybot_rumad_plasma
rumad_llt   rumad_llt_rumad_missile
rumad_lrpt1 rumad_lrpt1_rumad_plasma
rumad_lrpt  rumad_lrpt_rumad_plasma
rumad_macm  rumad_macm_rumad_advmissile
rumad_macross   rumad_macross_rumad_advmissilex2
rumad_macross   rumad_macross_rumad_advmissilex4
rumad_macross   rumad_macross_rumad_gauss
rumad_mcv1  rumad_mcv1_rumad_flak_gun
rumad_mcv1  rumad_mcv1_rumad_plasma
rumad_mcv1  rumad_mcv1_rumad_supermissilex2
rumad_mcv2  rumad_mcv2_repulsor3
rumad_mcv2  rumad_mcv2_rumad_aa_missile
rumad_mcv2  rumad_mcv2_rumad_plasma
rumad_mcv2  rumad_mcv2_rumad_supermissilex4
rumad_mcv   rumad_mcv_rumad_advmissile
rumad_mcv   rumad_mcv_rumad_plasma
rumad_mine2 rumad_mine2_mine_detonator
rumad_mine2 rumad_mine2_mine_dummy
rumad_mine3 rumad_mine3_mine_detonator
rumad_mine3 rumad_mine3_mine_dummy
rumad_mine4 rumad_mine4_mine_detonator
rumad_mine4 rumad_mine4_mine_dummy
rumad_min   rumad_min_minesweeperairmissile
rumad_mirage    rumad_mirage_rumad_lightning
rumad_mklrpt    rumad_mklrpt_rumad_plasma
rumad_mlrpt rumad_mlrpt_rumad_plasma
rumad_mlv   rumad_mlv_minesweep
rumad_mongol    rumad_mongol_rumad_advmissilex6
rumad_mongol    rumad_mongol_rumad_plasma
rumad_mortor    rumad_mortor_rumad_plasma
rumad_oasis rumad_oasis_rumad_rocket
rumad_orb   rumad_orb_orb
rumad_osiris    rumad_osiris_rumad_plasma
rumad_overlord  rumad_overlord_rumad_bomb
rumad_overlord  rumad_overlord_rumad_plasma
rumad_pasta rumad_pasta_rumad_missile
rumad_pt    rumad_pt_rumad_gauss
rumad_puppy rumad_puppy_missile
rumad_raviole   rumad_raviole_rumad_advmissile
rumad_rlrpt2    rumad_rlrpt2_rumad_plasma
rumad_rlrpt rumad_rlrpt_rumad_plasma
rumad_rottweiler    rumad_rottweiler_rumad_gauss
rumad_rottweiler    rumad_rottweiler_rumad_missile
rumad_sahara    rumad_sahara_rumad_advmissile
rumad_sahara    rumad_sahara_rumad_gauss
rumad_silo1 rumad_silo1_nuclear_missile1
rumad_silo2 rumad_silo2_rumad_silo2_weapon
rumad_silo  rumad_silo_nuclear_missile
rumad_templar   rumad_templar_rumad_missilex3
rumad_templar   rumad_templar_rumad_plasma
rumad_triton    rumad_triton_rumad_plasma
rumad_uck   rumad_uck_rumad_advmissile
rumad_utur  rumad_utur_laser
rumad_zorga rumad_zorga_rumad_gauss
talon_abaddon   talon_abaddon_talon_bats
talon_abaddon   talon_abaddon_talon_laser
talon_abaddon   talon_abaddon_talon_missile
talon_annubis   talon_annubis_talon_laser
talon_annubis   talon_annubis_talon_veloute
talon_armadillo talon_armadillo_talon_rocket
talon_armistice talon_armistice_talonemp_weapon
talon_ash   talon_ash_armheavydepthcharge
talon_atl   talon_atl_talon_atl_torpedo
talon_azul  talon_azul_talon_laser
talon_basilisk  talon_basilisk_depthcharge
talon_basilisk  talon_basilisk_talon_laser
talon_berserker talon_berserker_berserker_laser
talon_blt1  talon_blt1_blt1
talon_blt   talon_blt_blt
talon_boxer talon_boxer_gatling
talon_boxer talon_boxer_shield
talon_boxer talon_boxer_talon_missile
talon_carbon    talon_carbon_minesweeperairmissile
talon_carbuncle talon_carbuncle_carbuncle_rc
talon_carbuncle talon_carbuncle_flammer_weapon
talon_carbuncle talon_carbuncle_rave_missile
talon_ceddral   talon_ceddral_blt
talon_cerberus  talon_cerberus_gatling
talon_cerberus  talon_cerberus_mountedantimatteraccelerator
talon_cerberus  talon_cerberus_ultimate_weapon
talon_charon    talon_charon_armpt_laser
talon_charon    talon_charon_talon_rl_starburst
talon_collier   talon_collier_talon_bats
talon_coral talon_coral_armsmart_torpedo
talon_crab  talon_crab_aa_missiles
talon_crab  talon_crab_lighting_talon
talon_crusader  talon_crusader_lighting_talon
talon_crus  talon_crus_advdepthcharge
talon_crus  talon_crus_talon_crus
talon_crystal   talon_crystal_barrage
talon_dl    talon_dl_torpedo
talon_dmc   talon_dmc_talon_dmc_weapon
talon_dread talon_dread_adv_torpedo
talon_dread talon_dread_blt
talon_dread talon_dread_cannon_talon
talon_drone talon_drone_tal_laser
talon_dutchman  talon_dutchman_rave_missile
talon_dutchman  talon_dutchman_talon_laser
talon_eck   talon_eck_talon_laser
talon_eclipse   talon_eclipse_talon_bomb
talon_elixir    talon_elixir_talon_elixir_weapon
talon_emerald   talon_emerald_emerald_weapon
talon_fdog  talon_fdog_plasma_fatdog
talon_fhlt  talon_fhlt_talon_hlt_laser
talon_fmine talon_fmine_mine_detonator
talon_fmine talon_fmine_mine_dummy
talon_frigate   talon_frigate_emp_weapon
talon_frigate   talon_frigate_talon_heavy_torpedo
talon_fsprinkler    talon_fsprinkler_talon_laser
talon_gold  talon_gold_antimatteraccelerator
talon_gold  talon_gold_gatling
talon_gold  talon_gold_talon_flak_gun
talon_gorgon    talon_gorgon_lighting_weapon
talon_grenat    talon_grenat_flammer_weapon
talon_grenat    talon_grenat_lightning_grenat
talon_grenat    talon_grenat_rave_missile
talon_grenat    talon_grenat_talon_laser
talon_handgod   talon_handgod_moabb
talon_handgod   talon_handgod_talon_laser
talon_hcar  talon_hcar_nuke_hcar_arm
talon_hcar  talon_hcar_talon_starburst
talon_herison   talon_herison_crawl_detonator
talon_herison   talon_herison_crawl_dummy
talon_hlt   talon_hlt_talon_laser
talon_hollander talon_hollander_talon_lrpc
talon_imperator talon_imperator_talon_bats
talon_imperator talon_imperator_talon_laser
talon_infantry  talon_infantry_emg
talon_jewel talon_jewel_blt
talon_juno  talon_juno_juno_pulse
talon_kevlar    talon_kevlar_adv_rocket
talon_lancelet  talon_lancelet_talonsub_weapon
talon_llt   talon_llt_talon_lightlaser
talon_lrpt1 talon_lrpt1_long_range_plasma
talon_lrpt  talon_lrpt_talon_bertha
talon_lupa  talon_lupa_talon_starburst
talon_luridae   talon_luridae_armlatnk_weapon
talon_luridae   talon_luridae_tlllight_paralyzer
talon_mainstay  talon_mainstay_arm_roy
talon_mainstay  talon_mainstay_depthcharge
talon_mastiff   talon_mastiff_adv_rocket
talon_mcv1  talon_mcv1_talon_blast_overcharged
talon_mercenary talon_mercenary_tal_laser
talon_mine1 talon_mine1_mine_detonator
talon_mine1 talon_mine1_mine_dummy
talon_mine2 talon_mine2_mine_detonator
talon_mine2 talon_mine2_mine_dummy
talon_mine3 talon_mine3_mine_detonator
talon_mine3 talon_mine3_mine_dummy
talon_mine4 talon_mine4_mine_detonator
talon_mine4 talon_mine4_mine_dummy
talon_mlv   talon_mlv_minesweep
talon_mythril   talon_mythril_blt1
talon_mythril   talon_mythril_gatling
talon_mythril   talon_mythril_mountedantimatteraccelerator
talon_mythril   talon_mythril_shield
talon_mythril   talon_mythril_super_barrage
talon_mythril   talon_mythril_talon_missile
talon_november  talon_november_talon_rocket
talon_nunchuck  talon_nunchuck_talon_artillery
talon_obsidian  talon_obsidian_obsidian_weapon
talon_ogopogo   talon_ogopogo_core_croc
talon_opal  talon_opal_talon_laser
talon_opal  talon_opal_talon_torpedo
talon_painless  talon_painless_armfixed_gun
talon_paladium  talon_paladium_adv_torpedo
talon_paladium  talon_paladium_cannon_talon
talon_paladium  talon_paladium_gatling
talon_paladium  talon_paladium_rapid_cannon_talon
talon_paladium  talon_paladium_talon_flak_gun
talon_pampa talon_pampa_talon_laser
talon_planetkiller  talon_planetkiller_ultimate_weapon
talon_plutor    talon_plutor_advanced_missile
talon_plutor    talon_plutor_talon_starburst
talon_pyroclastic   talon_pyroclastic_carbuncle_rc
talon_repentance    talon_repentance_cannon_siege
talon_repentance    talon_repentance_gatling
talon_repentance    talon_repentance_shield
talon_salamander    talon_salamander_talon_salamander_weapon
talon_sapphire  talon_sapphire_talon_plasma
talon_scorpion  talon_scorpion_lightning_scorpion
talon_scorpion  talon_scorpion_talon_blt
talon_scorpion  talon_scorpion_talon_laser
talon_scorpion  talon_scorpion_talon_missile
talon_seth  talon_seth_carbuncle_rc
talon_seth  talon_seth_repulsor2
talon_shade talon_shade_armbomb
talon_shepherd  talon_shepherd_light_paralyzer
talon_shieldgen talon_shieldgen_repulsor2
talon_shieldgen talon_shieldgen_talon_laser
talon_silo1 talon_silo1_nuclear_missile1
talon_silo  talon_silo_crblmssl
talon_sirius    talon_sirius_antimatteraccelerator
talon_sirius    talon_sirius_talon_laser
talon_sirius    talon_sirius_talon_starburst
talon_slinger   talon_slinger_armamb_gun
talon_sniper    talon_sniper_bullet_weapon
talon_snitch    talon_snitch_talon_snitch_weapon
talon_solarwind talon_solarwind_barrage
talon_sphere    talon_sphere_crawl_detonator
talon_sphere    talon_sphere_crawl_dummy
talon_spirit    talon_spirit_emp_moabb
talon_sprinkler talon_sprinkler_talon_laser
talon_squarepants   talon_squarepants_squarepants_laser
talon_squarepants   talon_squarepants_squarepants_torpedo
talon_sub   talon_sub_talon_torpedo
talon_talos talon_talos_talon_blt
talon_talos talon_talos_talon_missile
talon_talos talon_talos_talon_starburst
talon_thingyness    talon_thingyness_hunter_missiles
talon_tl    talon_tl_coax_torpedo
talon_topaz talon_topaz_talon_laser
talon_trident   talon_trident_talon_weapon
talon_vasculitis    talon_vasculitis_talon_rocket
talon_vasculitis    talon_vasculitis_talon_starburst
talon_veloute1  talon_veloute1_talon_veloute_weapon1
talon_veloute2  talon_veloute2_talon_veloute_weapon3
talon_veloute   talon_veloute_talon_veloute_weapon2
talon_visitant  talon_visitant_talon_visitant_weapon
talon_vulture   talon_vulture_talon_laser
talon_whinestone    talon_whinestone_arm_lightcannon
talon_wolf  talon_wolf_talon_laser
talon_xeon  talon_xeon_flamethrower
talon_zamak talon_zamak_blt
talon_zamak talon_zamak_depthcharge
tllabomber  tllabomber_coradvbomb
tllacid tllacid_acidrain_rocket
tllaether   tllaether_thermite_bomb
tllalbertosaurus    tllalbertosaurus_gauss_tll
tllalbertosaurus    tllalbertosaurus_lightning
tllalbertosaurus    tllalbertosaurus_miniflak
tllalbertosaurus    tllalbertosaurus_minigun_gauss_tll
tllamoho    tllamoho_cannon
tllamphibot tllamphibot_tll_lightning
tllanhur    tllanhur_emp_bomb
tllannouncer    tllannouncer_cortruck_missile
tllanvil    tllanvil_anchorempbeam
tllares tllares_tll_lightning
tllariman   tllariman_light_cannon
tllartybot  tllartybot_gauss
tllasgard   tllasgard_hailstorm
tllasgard   tllasgard_tll_crus
tllasship   tllasship_tll_asedo
tllatorp    tllatorp_tll_advedo
tllbarbarus tllbarbarus_gauss_tll
tllbarbarus tllbarbarus_miniflak
tllbind tllbind_tll_lightning
tllblind    tllblind_cor_gol
tllblind    tllblind_rave_missile
tllblind    tllblind_tll_lightning
tllbomber   tllbomber_tllbomb
tllbsub tllbsub_sub_weapon
tllbsub tllbsub_torpedo
tllbug  tllbug_tlllight_paralyzer
tllburner   tllburner_tll_flame
tllcaps tllcaps_cannon
tllcaps tllcaps_miniflak
tllcaps tllcaps_rocket
tllcaps tllcaps_tll_lightning
tllcenturion    tllcenturion_tll_centurion
tllcolossus tllcolossus_gauss_tll
tllcolossus tllcolossus_miniflak
tllcolossus tllcolossus_quatro_gun
tllcolossus tllcolossus_rocket
tllconvincer    tllconvincer_armtruck_rocket
tllcopter   tllcopter_tll_lightning
tllcoyote   tllcoyote_armamph_missile
tllcoyote   tllcoyote_tll_canon
tlldcsta    tlldcsta_rocket
tlldemon    tlldemon_demonslayer_cannon
tlldilophosaurus    tlldilophosaurus_aa_starburst
tlldilophosaurus    tlldilophosaurus_miniflak
tlldilophosaurus    tlldilophosaurus_tll_lightning
tlldimetrodon   tlldimetrodon_rocket
tlldischarge    tlldischarge_discharge
tlldischarge    tlldischarge_stun_bomb
tlldmc  tlldmc_tlldmc
tll_emp_lrpt    tll_emp_lrpt_tll_cannonemp
tllemp  tllemp_armemp_weapon
tllequalizer    tllequalizer_advdepthcharge
tllequalizer    tllequalizer_arm_crus
tllfireraiser1  tllfireraiser1_tll_kbot_rocket
tllfireraiser   tllfireraiser_tll_kbot_rocket
tllfllt tllfllt_llt_lightning
tllfmine3   tllfmine3_mine_detonator
tllfmine3   tllfmine3_mine_dummy
tllfsilo    tllfsilo_tll_ultimate_nuke
tllgeo_armored  tllgeo_armored_tll_flame
tllgizmo    tllgizmo_tllgizmolas
tllgladius  tllgladius_tlllight_paralyzer
tllgrim tllgrim_tllgrim_gun
tllhailstorm    tllhailstorm_rapid_cannon
tllhcar tllhcar_nuke_hcar_arm
tllhcar tllhcar_rocket_pulse
tllhcrus    tllhcrus_plasma_gun
tllhcrus    tllhcrus_tll_flame
tllheavyimpact  tllheavyimpact_cormechart
tllhltns    tllhltns_tll_lightning
tllhlt  tllhlt_tll_lightning
tllhopomis  tllhopomis_tll_asedo
tllhovergauss   tllhovergauss_tll_lightning
tllhoverlight   tllhoverlight_armsh_weapon
tllhoverrocket  tllhoverrocket_tll_vpulse
tllhplasma  tllhplasma_arm_bull
tllhrk  tllhrk_corhrk_rocket
tllhtml tllhtml_thermite_barrage
tllhtml tllhtml_tll_lightning
tll_hydre1  tll_hydre1_hydra_weapon
tll_hydre2  tll_hydre2_hydra_weapon
tll_hydre   tll_hydre_hydra_weapon
tllhyperion tllhyperion_minigun_gauss_tll
tllhyperion tllhyperion_rocket
tllinsulator    tllinsulator_tll_flame
tllinsulator    tllinsulator_tll_insulator
tllirritator    tllirritator_minigun_gauss_tll
tllirritator    tllirritator_rave_missile
tllirritator    tllirritator_tllirritator_shield
tlljuno tlljuno_juno_pulse
tllkrak tllkrak_floating_plasma
tlllasbot   tlllasbot_tll_lightning
tlllbt  tlllbt_tllfixed_gun
tlllbt  tlllbt_tllfixed_gun_high
tllleatherback  tllleatherback_torp
tllleopard  tllleopard_mortor_cannon
tllleopard  tllleopard_thermite_barrage
tlllft  tlllft_tll_flame
tllllt  tllllt_llt_lightning
tlllochness tlllochness_gauss_tll
tllloki tllloki_core_artillery
tlllrpt1    tlllrpt1_tll_big_plasma
tlllrpt2    tlllrpt2_tll_intimidator3
tlllrpt tlllrpt_tll_berthacannon
tllluth tllluth_gauss_tll
tllluth tllluth_rave_missile
tllmako tllmako_repulsor2
tllmako tllmako_tll_bats
tllmanta    tllmanta_armsmart_torpedo
tllmatamata tllmatamata_cannon
tllmatamata tllmatamata_tlllight_paralyzer
tllmcv  tllmcv_tll_batsaftx
tllmcv  tllmcv_tll_blast
tllmcv  tllmcv_tll_lightning
tllmine1    tllmine1_mine_detonator
tllmine1    tllmine1_mine_dummy
tllmine2    tllmine2_mine_detonator
tllmine2    tllmine2_mine_dummy
tllmine4    tllmine4_mine_detonator
tllmine4    tllmine4_mine_dummy
tllmine5    tllmine5_mine_detonator
tllmine5    tllmine5_mine_dummy
tllmine6    tllmine6_mine_detonator
tllmine6    tllmine6_mine_dummy
tllmlrpc    tllmlrpc_arm_berthacannon2
tllmlv  tllmlv_minesweep
tllmosasaurus   tllmosasaurus_minigun_gauss_tll
tllmosasaurus   tllmosasaurus_tll_lightning
tllnaja tllnaja_thermite_barrage
tllnuada    tllnuada_tll_lightning
tllobliterator1 tllobliterator1_gauss_tll
tllobliterator  tllobliterator_gauss_tll
tllom   tllom_gauss_tll
tllom   tllom_rave_missile
tllorc  tllorc_corssub_weapon
tllotter    tllotter_armkbot_missile
tllotter    tllotter_tlllight_paralyzer
tllpbot tllpbot_tll_pbot
tllplasma   tllplasma_armamb_gun
tllpliosaurus   tllpliosaurus_cannon
tllpliosaurus   tllpliosaurus_gauss_tll
tllpliosaurus   tllpliosaurus_tll_lightning
tllplunger  tllplunger_arm_torpedo
tllprivate  tllprivate_tll_lightning
tllpterodactyl  tllpterodactyl_thermite_barrage
tllpterodactyl  tllpterodactyl_tll_canon
tllpulaser  tllpulaser_tll_lightning
tllriot tllriot_tllriot_cannon
tllrlrpc    tllrlrpc_tll_barret
tllroaster  tllroaster_gauss_tll
tllroaster  tllroaster_tll_lightning
tllsalamander   tllsalamander_arm_pincer_gauss
tllsaurus   tllsaurus_thermite_barrage
tllsaurus   tllsaurus_ultimate_gun
tllshaker   tllshaker_small_mortar
tllshoretorp    tllshoretorp_tll_torpedo
tllshrinker tllshrinker_armtruck_missile
tllshrinker tllshrinker_tll_lightning
tllsilo1    tllsilo1_nuclear_missile1
tllsilo tllsilo_crblmssl
tllsnakeneck    tllsnakeneck_artillery
tllsniper   tllsniper_corprot_weapon
tllswordfish    tllswordfish_adv_torpedo
tllswordfish    tllswordfish_swordfish_rocket
tlltelsatnk tlltelsatnk_tll_lightning
tllthumper  tllthumper_tll_thumper
tlltorpp    tlltorpp_armair_torpedo
tlltorp tlltorp_coax_torpedo
tlltraq tlltraq_tlltraq_weapon
tlltrid tlltrid_gauss_tll
tlltsetse   tlltsetse_minesweeperairmissile
tll_tyranosaurus    tll_tyranosaurus_tll_bats
tll_tyranosaurus    tll_tyranosaurus_tll_blast
tll_tyranosaurus    tll_tyranosaurus_tll_flak
tll_tyranosaurus    tll_tyranosaurus_tll_gauss
tll_tyranosaurus    tll_tyranosaurus_tll_mega_lightning
tll_tyranosaurus    tll_tyranosaurus_tll_minigun_gauss
tll_tyranosaurus    tll_tyranosaurus_tll_rocket
tllvanya    tllvanya_arm_tabithacannon
tllviking   tllviking_tll_bats
tllviking   tllviking_tll_crus
tllviolator tllviolator_arm_roy
tllviolator tllviolator_depthcharge
tllvisitor  tllvisitor_ga2
tllvisitor  tllvisitor_visitor_vpulse
tll_wasp    tll_wasp_tll_lightning
tllzeppelin1    tllzeppelin1_gauss_tll
tllzeppelin1    tllzeppelin1_miniflak
tllzeppelin1    tllzeppelin1_tll_lightning
tllzeppelin tllzeppelin_gauss_tll
tllzeppelin tllzeppelin_miniflak
tllzeppelin tllzeppelin_minigun_gauss_tll