Browse Source
Add aliases functionality to acedia. Aliases allow to add "synonyms" to class names or other text values.new
Anton Tarasenko
5 years ago
6 changed files with 810 additions and 2 deletions
@ -0,0 +1,569 @@ |
|||||||
|
; Field Medic weapons |
||||||
|
[weapon/KFMod:MP7MMedicGun Aliases] |
||||||
|
Alias="MP7M" |
||||||
|
Alias="MP7" |
||||||
|
[weapon/KFMod:MP5MMedicGun Aliases] |
||||||
|
Alias="MP5M" |
||||||
|
Alias="MP5" |
||||||
|
Alias="MP" |
||||||
|
Alias="M5" |
||||||
|
[weapon/KFMod:CamoMP5MMedicGun Aliases] |
||||||
|
Alias="CamoMP5M" |
||||||
|
Alias="CamoMP5" |
||||||
|
Alias="CamoMP" |
||||||
|
Alias="CamoM5" |
||||||
|
[weapon/KFMod:M7A3MMedicGun Aliases] |
||||||
|
Alias="M7A3" |
||||||
|
Alias="M7A" |
||||||
|
Alias="M7" |
||||||
|
[weapon/KFMod:KrissMMedicGun Aliases] |
||||||
|
Alias="Schneidzekk" |
||||||
|
Alias="Schneidzek" |
||||||
|
Alias="Kriss" |
||||||
|
Alias="Kris" |
||||||
|
[weapon/KFMod:NeonKrissMMedicGun Aliases] |
||||||
|
Alias="NeonSchneidzekk" |
||||||
|
Alias="NeonSchneidzek" |
||||||
|
Alias="NeonKriss" |
||||||
|
Alias="NeonKris" |
||||||
|
[weapon/KFMod:BlowerThrower Aliases] |
||||||
|
Alias="BlowerThrower" |
||||||
|
Alias="Blower" |
||||||
|
Alias="Thrower" |
||||||
|
Alias="BThrower" |
||||||
|
Alias="PoopGun" |
||||||
|
Alias="BileGun" |
||||||
|
Alias="BloatGun" |
||||||
|
|
||||||
|
; Support Specialist weapons |
||||||
|
[weapon/KFMod:Shotgun Aliases] |
||||||
|
Alias="Shotgun" |
||||||
|
[weapon/KFMod:CamoShotgun Aliases] |
||||||
|
Alias="CamoShotgun" |
||||||
|
[weapon/KFMod:BoomStick Aliases] |
||||||
|
Alias="HuntingShotgun" |
||||||
|
Alias="BoomStick" |
||||||
|
Alias="Hunting" |
||||||
|
[weapon/KFMod:KSGShotgun Aliases] |
||||||
|
Alias="HSG-1Shotgun" |
||||||
|
Alias="HSG1Shotgun" |
||||||
|
Alias="HSGShotgun" |
||||||
|
Alias="HSG" |
||||||
|
Alias="KSG-1Shotgun" |
||||||
|
Alias="KSG1Shotgun" |
||||||
|
Alias="KSGShotgun" |
||||||
|
Alias="KSG" |
||||||
|
[weapon/KFMod:NeonKSGShotgun Aliases] |
||||||
|
Alias="NeonHSG-1Shotgun" |
||||||
|
Alias="NeonHSG1Shotgun" |
||||||
|
Alias="NeonHSGShotgun" |
||||||
|
Alias="NeonHSG" |
||||||
|
Alias="NeonKSG-1Shotgun" |
||||||
|
Alias="NeonKSG1Shotgun" |
||||||
|
Alias="NeonKSGShotgun" |
||||||
|
Alias="NeonKSG" |
||||||
|
[weapon/KFMod:NailGun Aliases] |
||||||
|
Alias="VladTheImpaler" |
||||||
|
Alias="VladImpaler" |
||||||
|
Alias="Vlad" |
||||||
|
Alias="Impaler" |
||||||
|
Alias="NailGun" |
||||||
|
Alias="Nails" |
||||||
|
Alias="Nail" |
||||||
|
[weapon/KFMod:SPAutoShotgun Aliases] |
||||||
|
Alias="MultichamberZEDThrower" |
||||||
|
Alias="ZEDThrower" |
||||||
|
Alias="ZThrower" |
||||||
|
[weapon/KFMod:BenelliShotgun Aliases] |
||||||
|
Alias="CombatShotgun" |
||||||
|
Alias="Combat" |
||||||
|
Alias="CShotgun" |
||||||
|
Alias="BenelliShotgun" |
||||||
|
Alias="BeneliShotgun" |
||||||
|
Alias="Benelli" |
||||||
|
Alias="Beneli" |
||||||
|
[weapon/KFMod:GoldenBenelliShotgun Aliases] |
||||||
|
Alias="GoldCombatShotgun" |
||||||
|
Alias="GoldCombat" |
||||||
|
Alias="GoldCShotgun" |
||||||
|
Alias="GoldBenelliShotgun" |
||||||
|
Alias="GoldBeneliShotgun" |
||||||
|
Alias="GoldBenelli" |
||||||
|
Alias="GoldBeneli" |
||||||
|
[weapon/KFMod:AA12AutoShotgun Aliases] |
||||||
|
Alias="AA12" |
||||||
|
Alias="AA12AutoShotgun" |
||||||
|
Alias="AA12Shotgun" |
||||||
|
[weapon/KFMod:GoldenAA12AutoShotgun Aliases] |
||||||
|
Alias="GoldAA12" |
||||||
|
Alias="GoldAA12AutoShotgun" |
||||||
|
Alias="GoldAA12Shotgun" |
||||||
|
|
||||||
|
; Sharpshooter weapons |
||||||
|
[weapon/KFMod:Single Aliases] |
||||||
|
Alias="9mmTactical" |
||||||
|
Alias="9mmTact" |
||||||
|
Alias="9mm" |
||||||
|
Alias="Single" |
||||||
|
Alias="Pistol" |
||||||
|
[weapon/KFMod:Dualies Aliases] |
||||||
|
Alias="Dual9mms" |
||||||
|
Alias="Dual9mm" |
||||||
|
Alias="9mmDual" |
||||||
|
Alias="Dualies" |
||||||
|
Alias="Dual" |
||||||
|
[weapon/KFMod:Magnum44Pistol Aliases] |
||||||
|
Alias="Magnum44Pistol" |
||||||
|
Alias="Magnum44" |
||||||
|
Alias="44Magnum" |
||||||
|
Alias="Magnum" |
||||||
|
Alias="44" |
||||||
|
[weapon/KFMod:Dual44Magnum Aliases] |
||||||
|
Alias="DualMagnum44Pistols" |
||||||
|
Alias="DualMagnum44s" |
||||||
|
Alias="DualMagnums" |
||||||
|
Alias="DualMagnumPistols" |
||||||
|
Alias="Dual44Magnums" |
||||||
|
Alias="Dual44Magnum" |
||||||
|
Alias="DualMagnum" |
||||||
|
Alias="Dual44ss" |
||||||
|
Alias="Dual44" |
||||||
|
[weapon/KFMod:MK23Pistol Aliases] |
||||||
|
Alias="MK23" |
||||||
|
Alias="MK" |
||||||
|
Alias="23" |
||||||
|
[weapon/KFMod:DualMK23Pistol Aliases] |
||||||
|
Alias="DualMK23s" |
||||||
|
Alias="DualMK23" |
||||||
|
Alias="DualMKs" |
||||||
|
Alias="DualMK" |
||||||
|
Alias="Dual23s" |
||||||
|
Alias="Dual23" |
||||||
|
[weapon/KFMod:Deagle Aliases] |
||||||
|
Alias="Handcannon" |
||||||
|
Alias="Deagle" |
||||||
|
Alias="HC" |
||||||
|
[weapon/KFMod:DualDeagle Aliases] |
||||||
|
Alias="DualHandcannons" |
||||||
|
Alias="DualHC" |
||||||
|
Alias="DualDeagle" |
||||||
|
[weapon/KFMod:GoldenDeagle Aliases] |
||||||
|
Alias="GoldHandcannon" |
||||||
|
Alias="GoldDeagle" |
||||||
|
Alias="GoldHC" |
||||||
|
[weapon/KFMod:GoldenDualDeagle Aliases] |
||||||
|
Alias="GoldDualHandcannons" |
||||||
|
Alias="GoldDualHC" |
||||||
|
Alias="GoldDualDeagle" |
||||||
|
[weapon/KFMod:Winchester Aliases] |
||||||
|
Alias="Winchester" |
||||||
|
Alias="LeverActionRifle" |
||||||
|
Alias="LAR" |
||||||
|
[weapon/KFMod:SPSniperRifle Aliases] |
||||||
|
Alias="SPMusket" |
||||||
|
Alias="Musket" |
||||||
|
Alias="SPSniperRifle" |
||||||
|
Alias="SPRifle" |
||||||
|
Alias="SPSniper" |
||||||
|
Alias="SPMauler" |
||||||
|
Alias="Mauler" |
||||||
|
[weapon/KFMod:M14EBRBattleRifle Aliases] |
||||||
|
Alias="M14EBR" |
||||||
|
Alias="M14" |
||||||
|
Alias="EBR" |
||||||
|
Alias="M14EBRRifle" |
||||||
|
Alias="M14EBRBattleRifle" |
||||||
|
[weapon/KFMod:Crossbow Aliases] |
||||||
|
Alias="CompoundCrossbow" |
||||||
|
Alias="CCrossbow" |
||||||
|
Alias="Crossbow" |
||||||
|
Alias="XBow" |
||||||
|
[weapon/KFMod:M99SniperRifle Aliases] |
||||||
|
Alias="M99AMR" |
||||||
|
Alias="M99" |
||||||
|
Alias="M99SniperRifle" |
||||||
|
Alias="M99Sniper" |
||||||
|
Alias="M99Rifle" |
||||||
|
Alias="M99SR" |
||||||
|
|
||||||
|
; Commando weapons |
||||||
|
[weapon/KFMod:Bullpup Aliases] |
||||||
|
Alias="Bullpup" |
||||||
|
Alias="Bulpup" |
||||||
|
[weapon/KFMod:ThompsonSMG Aliases] |
||||||
|
Alias="ThompsonSMG" |
||||||
|
Alias="Thompson" |
||||||
|
Alias="Thomp" |
||||||
|
Alias="TommyGun" |
||||||
|
Alias="TomyGun" |
||||||
|
Alias="Tommy" |
||||||
|
Alias="Tomy" |
||||||
|
[weapon/KFMod:SPThompsonSMG Aliases] |
||||||
|
Alias="SPThompsonSMG" |
||||||
|
Alias="SPThompson" |
||||||
|
Alias="SPThomp" |
||||||
|
Alias="Dr.T'sLeadDeliverySystem" |
||||||
|
Alias="Dr.TsLeadDeliverySystem" |
||||||
|
Alias="DrT'sLeadDeliverySystem" |
||||||
|
Alias="DrTsLeadDeliverySystem" |
||||||
|
Alias="Dr.T'LeadDeliverySystem" |
||||||
|
Alias="Dr.TLeadDeliverySystem" |
||||||
|
Alias="DrT'LeadDeliverySystem" |
||||||
|
Alias="DrTLeadDeliverySystem" |
||||||
|
Alias="DrTDeliverySystem" |
||||||
|
Alias="DrTLeadSystem" |
||||||
|
Alias="DrTLeadDelivery" |
||||||
|
Alias="DrTDelivery" |
||||||
|
Alias="LeadDelivery" |
||||||
|
Alias="LeadSystem" |
||||||
|
Alias="DeliverySystem" |
||||||
|
Alias="LeadDS" |
||||||
|
Alias="LeadD" |
||||||
|
[weapon/KFMod:ThompsonDrumSMG Aliases] |
||||||
|
Alias="ThompsonDrumSMG" |
||||||
|
Alias="ThompsonDrum" |
||||||
|
Alias="ThompDrum" |
||||||
|
Alias="RisingStormTommyGun" |
||||||
|
Alias="RisingStormTommy" |
||||||
|
Alias="RisingStormTomyGun" |
||||||
|
Alias="RisingStormTomy" |
||||||
|
Alias="RSTommyGun" |
||||||
|
Alias="RSTommy" |
||||||
|
Alias="RSTomyGun" |
||||||
|
Alias="RSTomy" |
||||||
|
[weapon/KFMod:AK47AssaultRifle Aliases] |
||||||
|
Alias="AK47AssaultRifle" |
||||||
|
Alias="AK47Assault" |
||||||
|
Alias="AK47Rifle" |
||||||
|
Alias="AK47AR" |
||||||
|
Alias="AK47" |
||||||
|
Alias="AK" |
||||||
|
Alias="47" |
||||||
|
[weapon/KFMod:GoldenAK47AssaultRifle Aliases] |
||||||
|
Alias="GoldAK47AssaultRifle" |
||||||
|
Alias="GoldAK47Assault" |
||||||
|
Alias="GoldAK47Rifle" |
||||||
|
Alias="GoldAK47AR" |
||||||
|
Alias="GoldAK47" |
||||||
|
Alias="GoldAK" |
||||||
|
Alias="Gold47" |
||||||
|
[weapon/KFMod:NeonAK47AssaultRifle Aliases] |
||||||
|
Alias="NeonAK47AssaultRifle" |
||||||
|
Alias="NeonAK47Assault" |
||||||
|
Alias="NeonAK47Rifle" |
||||||
|
Alias="NeonAK47AR" |
||||||
|
Alias="NeonAK47" |
||||||
|
Alias="NeonAK" |
||||||
|
Alias="Neon47" |
||||||
|
[weapon/KFMod:M4AssaultRifle Aliases] |
||||||
|
Alias="M4AssaultRifle" |
||||||
|
Alias="M4Assault" |
||||||
|
Alias="M4Rifle" |
||||||
|
Alias="M4" |
||||||
|
[weapon/KFMod:M4AssaultRifle Aliases] |
||||||
|
Alias="CamoM4AssaultRifle" |
||||||
|
Alias="CamoM4Assault" |
||||||
|
Alias="CamoM4Rifle" |
||||||
|
Alias="CamoM4" |
||||||
|
[weapon/KFMod:M4AssaultRifle Aliases] |
||||||
|
Alias="CamoM4AssaultRifle" |
||||||
|
Alias="CamoM4Assault" |
||||||
|
Alias="CamoM4Rifle" |
||||||
|
Alias="CamoM4" |
||||||
|
[weapon/KFMod:MKb42AssaultRifle Aliases] |
||||||
|
Alias="MKb42AssaultRifle" |
||||||
|
Alias="MKb42Assault" |
||||||
|
Alias="MKb42Rifle" |
||||||
|
Alias="MKb42" |
||||||
|
Alias="MK42" |
||||||
|
Alias="MKb" |
||||||
|
[weapon/KFMod:SCARMK17AssaultRifle Aliases] |
||||||
|
Alias="SCARMK17AssaultRifle" |
||||||
|
Alias="SCARMK17Assault" |
||||||
|
Alias="SCARMK17Rifle" |
||||||
|
Alias="SCARMKAssaultRifle" |
||||||
|
Alias="SCARMKAssault" |
||||||
|
Alias="SCARMKRifle" |
||||||
|
Alias="SCAR17AssaultRifle" |
||||||
|
Alias="SCAR17Assault" |
||||||
|
Alias="SCAR17Rifle" |
||||||
|
Alias="SCARAssaultRifle" |
||||||
|
Alias="SCARAssault" |
||||||
|
Alias="SCARRifle" |
||||||
|
Alias="SCAR17" |
||||||
|
Alias="SCARMK" |
||||||
|
Alias="SCAR" |
||||||
|
[weapon/KFMod:NeonSCARMK17AssaultRifle Aliases] |
||||||
|
Alias="NeonSCARMK17AssaultRifle" |
||||||
|
Alias="NeonSCARMK17Assault" |
||||||
|
Alias="NeonSCARMK17Rifle" |
||||||
|
Alias="NeonSCARMKAssaultRifle" |
||||||
|
Alias="NeonSCARMKAssault" |
||||||
|
Alias="NeonSCARMKRifle" |
||||||
|
Alias="NeonSCAR17AssaultRifle" |
||||||
|
Alias="NeonSCAR17Assault" |
||||||
|
Alias="NeonSCAR17Rifle" |
||||||
|
Alias="NeonSCARAssaultRifle" |
||||||
|
Alias="NeonSCARAssault" |
||||||
|
Alias="NeonSCARRifle" |
||||||
|
Alias="NeonSCAR17" |
||||||
|
Alias="NeonSCARMK" |
||||||
|
Alias="NeonSCAR" |
||||||
|
[weapon/KFMod:FNFAL_ACOG_AssaultRifle Aliases]FNFAL ACOG |
||||||
|
Alias="FNFALACOGAssaultRifle" |
||||||
|
Alias="FNFALACOGAssault" |
||||||
|
Alias="FNFALACOGRifle" |
||||||
|
Alias="FNFALAssaultRifle" |
||||||
|
Alias="FNFALAssault" |
||||||
|
Alias="FNFALRifle" |
||||||
|
Alias="FALACOGAssaultRifle" |
||||||
|
Alias="FALACOGAssault" |
||||||
|
Alias="FALACOGRifle" |
||||||
|
Alias="FALAssaultRifle" |
||||||
|
Alias="FALAssault" |
||||||
|
Alias="FALRifle" |
||||||
|
Alias="FNFALACOG" |
||||||
|
Alias="FNFAL" |
||||||
|
Alias="FALACOG" |
||||||
|
Alias="FAL" |
||||||
|
Alias="FN" |
||||||
|
|
||||||
|
; Berserker weapons |
||||||
|
[weapon/KFMod:Knife Aliases] |
||||||
|
Alias="Knife" |
||||||
|
[weapon/KFMod:Machete Aliases] |
||||||
|
Alias="Machete" |
||||||
|
Alias="Chete" |
||||||
|
[weapon/KFMod:Axe Aliases] |
||||||
|
Alias="Axe" |
||||||
|
Alias="FireAxe" |
||||||
|
[weapon/KFMod:Katana Aliases] |
||||||
|
Alias="Katana" |
||||||
|
[weapon/KFMod:GoldenKatana Aliases] |
||||||
|
Alias="GoldKatana" |
||||||
|
[weapon/KFMod:Scythe Aliases] |
||||||
|
Alias="Scythe" |
||||||
|
Alias="Scyte" |
||||||
|
Alias="Sickle" |
||||||
|
Alias="Sickl" |
||||||
|
[weapon/KFMod:Chainsaw Aliases] |
||||||
|
Alias="Chainsaw" |
||||||
|
Alias="Saw" |
||||||
|
Alias="Denji" |
||||||
|
Alias="Pochita" |
||||||
|
[weapon/KFMod:GoldenChainsaw Aliases] |
||||||
|
Alias="GoldChainsaw" |
||||||
|
Alias="GoldSaw" |
||||||
|
Alias="GoldDenji" |
||||||
|
Alias="GoldPochita" |
||||||
|
[weapon/KFMod:DwarfAxe Aliases] |
||||||
|
Alias="DwarfsAxe" |
||||||
|
Alias="DwarfAxe" |
||||||
|
Alias="ShitAxe" |
||||||
|
Alias="CrapAxe" |
||||||
|
Alias="PushAxe" |
||||||
|
Alias="GnomeAxe" |
||||||
|
Alias="TrollAxe" |
||||||
|
Alias="NoobAxe" |
||||||
|
[weapon/KFMod:ClaymoreSword Aliases] |
||||||
|
Alias="ClaymoreSword" |
||||||
|
Alias="ClaymoreBlade" |
||||||
|
Alias="Claymore" |
||||||
|
Alias="Claymor" |
||||||
|
Alias="ClaimoreSword" |
||||||
|
Alias="ClaimoreBlade" |
||||||
|
Alias="Claimore" |
||||||
|
Alias="Claimor" |
||||||
|
Alias="Sword" |
||||||
|
Alias="Blade" |
||||||
|
[weapon/KFMod:Crossbuzzsaw Aliases] |
||||||
|
Alias="Crossbuzzsaw" |
||||||
|
Alias="Buzzsaw" |
||||||
|
Alias="Buzz" |
||||||
|
Alias="BuzzsawBow" |
||||||
|
Alias="BuzzBow" |
||||||
|
Alias="ZerkBow" |
||||||
|
|
||||||
|
; Firebug weapons |
||||||
|
[weapon/KFMod:MAC10MP Aliases] |
||||||
|
Alias="MAC10MP" |
||||||
|
Alias="MAC10" |
||||||
|
Alias="MAC" |
||||||
|
[weapon/KFMod:FlareRevolver Aliases] |
||||||
|
Alias="FlareRevolver" |
||||||
|
Alias="FireRevolver" |
||||||
|
Alias="FlareGun" |
||||||
|
Alias="Flares" |
||||||
|
Alias="Flare" |
||||||
|
[weapon/KFMod:DualFlareRevolver Aliases] |
||||||
|
Alias="DualFlareRevolvers" |
||||||
|
Alias="DualFlareRevolver" |
||||||
|
Alias="DualFireRevolvers" |
||||||
|
Alias="DualFireRevolver" |
||||||
|
Alias="DualFlareGuns" |
||||||
|
Alias="DualFlareGun" |
||||||
|
Alias="DualFlares" |
||||||
|
Alias="DualFlare" |
||||||
|
[weapon/KFMod:FlameThrower Aliases] |
||||||
|
Alias="FlameThrower" |
||||||
|
Alias="FireThrower" |
||||||
|
Alias="FThrower" |
||||||
|
Alias="Flamer" |
||||||
|
Alias="FireSpam" |
||||||
|
[weapon/KFMod:GoldenFlamethrower Aliases] |
||||||
|
Alias="GoldFlameThrower" |
||||||
|
Alias="GoldFireThrower" |
||||||
|
Alias="GoldFThrower" |
||||||
|
Alias="GoldFlamer" |
||||||
|
Alias="GoldFireSpam" |
||||||
|
[weapon/KFMod:Trenchgun Aliases] |
||||||
|
Alias="DragonsBreathTrenchgun" |
||||||
|
Alias="DragonsBreathGun" |
||||||
|
Alias="DragonsBreath" |
||||||
|
Alias="DragBreathTrenchgun" |
||||||
|
Alias="DragBreathGun" |
||||||
|
Alias="DragBreath" |
||||||
|
Alias="Trenchgun" |
||||||
|
Alias="FireShotgun" |
||||||
|
Alias="Flameshotgun" |
||||||
|
[weapon/KFMod:HuskGun Aliases] |
||||||
|
Alias="HuskFireballLauncher" |
||||||
|
Alias="HuskFireball" |
||||||
|
Alias="FireballLauncher" |
||||||
|
Alias="HuskLauncher" |
||||||
|
Alias="HuskFirebalLauncher" |
||||||
|
Alias="HuskFirebal" |
||||||
|
Alias="FirebalLauncher" |
||||||
|
Alias="HuskLauncher" |
||||||
|
Alias="HuskGun" |
||||||
|
Alias="Husk" |
||||||
|
|
||||||
|
; Demolition weapons |
||||||
|
[weapon/KFMod:M79GrenadeLauncher Aliases] |
||||||
|
Alias="M79GrenadeLauncher" |
||||||
|
Alias="M79Grenade" |
||||||
|
Alias="M79Launcher" |
||||||
|
Alias="M79NadeLauncher" |
||||||
|
Alias="M79Nade" |
||||||
|
Alias="M79GrenadeLauncher" |
||||||
|
Alias="M79" |
||||||
|
[weapon/KFMod:GoldenM79GrenadeLauncher Aliases] |
||||||
|
Alias="GoldM79GrenadeLauncher" |
||||||
|
Alias="GoldM79Grenade" |
||||||
|
Alias="GoldM79Launcher" |
||||||
|
Alias="GoldM79NadeLauncher" |
||||||
|
Alias="GoldM79Nade" |
||||||
|
Alias="GoldM79GrenadeLauncher" |
||||||
|
Alias="GoldM79" |
||||||
|
[weapon/KFMod:SPGrenadeLauncher Aliases] |
||||||
|
Alias="SPGrenadeLauncher" |
||||||
|
Alias="SPNadeLauncher" |
||||||
|
Alias="SPLauncher" |
||||||
|
Alias="SPNade" |
||||||
|
Alias="TheOrcaBombPropeller" |
||||||
|
Alias="TheOrcaBombPropeler" |
||||||
|
Alias="TheOrcaBomb" |
||||||
|
Alias="TheOrca" |
||||||
|
Alias="TheOrcaLauncher" |
||||||
|
Alias="OrcaBombPropeller" |
||||||
|
Alias="OrcaBombPropeler" |
||||||
|
Alias="OrcaBomb" |
||||||
|
Alias="Orca" |
||||||
|
Alias="OrcaLauncher" |
||||||
|
[weapon/KFMod:PipeBombExplosive Aliases] |
||||||
|
Alias="PipeBombExplosive" |
||||||
|
Alias="PipeExplosive" |
||||||
|
Alias="PipeBomb" |
||||||
|
Alias="Pipes" |
||||||
|
Alias="Pipe" |
||||||
|
[weapon/KFMod:SealSquealHarpoonBomber Aliases] |
||||||
|
Alias="SealSquealHarpoonBomber" |
||||||
|
Alias="SealSquealHarpoon" |
||||||
|
Alias="SealSquealBomber" |
||||||
|
Alias="SealHarpoonBomber" |
||||||
|
Alias="SealHarpoon" |
||||||
|
Alias="SealBomber" |
||||||
|
Alias="SealSqueal" |
||||||
|
Alias="HarpoonBomber" |
||||||
|
Alias="Harpoon" |
||||||
|
Alias="Harp" |
||||||
|
[weapon/KFMod:SeekerSixRocketLauncher Aliases] |
||||||
|
Alias="SeekerSixRocketLauncher" |
||||||
|
Alias="SeekerSixLauncher" |
||||||
|
Alias="Seeker6RocketLauncher" |
||||||
|
Alias="Seeker6Launcher" |
||||||
|
Alias="SeekerRocketLauncher" |
||||||
|
Alias="SeekerLauncher" |
||||||
|
Alias="SeekerSix" |
||||||
|
Alias="Seeker6" |
||||||
|
Alias="Seeker" |
||||||
|
Alias="SuckerSix" |
||||||
|
Alias="Sucker6" |
||||||
|
Alias="Sucker" |
||||||
|
[weapon/KFMod:M4203AssaultRifle Aliases] |
||||||
|
Alias="M4203Assault" |
||||||
|
Alias="M4203Rifle" |
||||||
|
Alias="M4203" |
||||||
|
Alias="M4200" |
||||||
|
Alias="M420" |
||||||
|
Alias="M42" |
||||||
|
[weapon/KFMod:LAW Aliases] |
||||||
|
Alias="LAW" |
||||||
|
[weapon/KFMod:M32GrenadeLauncher Aliases] |
||||||
|
Alias="M32GrenadeLauncher" |
||||||
|
Alias="M32Grenade" |
||||||
|
Alias="M32Launcher" |
||||||
|
Alias="M32NadeLauncher" |
||||||
|
Alias="M32Nade" |
||||||
|
Alias="M32GrenadeLauncher" |
||||||
|
Alias="M32" |
||||||
|
[weapon/KFMod:CamoM32GrenadeLauncher Aliases] |
||||||
|
Alias="CamoM32GrenadeLauncher" |
||||||
|
Alias="CamoM32Grenade" |
||||||
|
Alias="CamoM32Launcher" |
||||||
|
Alias="CamoM32NadeLauncher" |
||||||
|
Alias="CamoM32Nade" |
||||||
|
Alias="CamoM32GrenadeLauncher" |
||||||
|
Alias="CamoM32" |
||||||
|
|
||||||
|
; Off-perk weapons |
||||||
|
[weapon/KFMod:ZEDGun Aliases] |
||||||
|
Alias="ZedEradicationDevice" |
||||||
|
Alias="ZedEradication" |
||||||
|
Alias="ZedDevice" |
||||||
|
Alias="ZEDGun" |
||||||
|
Alias="ZED" |
||||||
|
[weapon/KFMod:ZEDMKIIWeapon Aliases] |
||||||
|
Alias="ZedEradicationDeviceMKII" |
||||||
|
Alias="ZedEradicationMKII" |
||||||
|
Alias="ZedDeviceMKII" |
||||||
|
Alias="ZEDGunMKII" |
||||||
|
Alias="ZEDMKII" |
||||||
|
Alias="ZedEradicationDeviceMK2" |
||||||
|
Alias="ZedEradicationMK2" |
||||||
|
Alias="ZedDeviceMK2" |
||||||
|
Alias="ZEDGunMK2" |
||||||
|
Alias="ZEDMK2" |
||||||
|
Alias="ZedEradicationDeviceMK" |
||||||
|
Alias="ZedEradicationMK" |
||||||
|
Alias="ZedDeviceMK" |
||||||
|
Alias="ZEDGunMK" |
||||||
|
Alias="ZEDMK" |
||||||
|
Alias="ZedEradicationDevice2" |
||||||
|
Alias="ZedEradication2" |
||||||
|
Alias="ZedDevice2" |
||||||
|
Alias="ZEDGun2" |
||||||
|
Alias="ZED2" |
||||||
|
|
||||||
|
; For the puposes of unit-testing. |
||||||
|
; Changing these can break unit tests. |
||||||
|
; |
||||||
|
; If you don't plan to run unit tests or do not know what they are, - |
||||||
|
; feel free to remove records below. |
||||||
|
[test/car Aliases] |
||||||
|
Alias="Ford" |
||||||
|
Alias="Delorean" |
||||||
|
Alias="Audi" |
||||||
|
[test/scifi Aliases] |
||||||
|
Alias="Spice" |
||||||
|
Alias="HardToBeAGod" |
@ -0,0 +1,140 @@ |
|||||||
|
/** |
||||||
|
* Aliases allow users to define human-readable and easier to use |
||||||
|
* "synonyms" to some symbol sequences (mainly names of UnrealScript classes). |
||||||
|
* Due to how aliases are stored, there is a limitation on original |
||||||
|
* values to which aliases refer: it must be a valid object name to store via |
||||||
|
* `perObjectConfig`. For example it cannot contain `]` or a dot `.` |
||||||
|
* (use `:` as a delimiter for class names: `KFMod:M14EBRBattleRifle`). |
||||||
|
* Aliases can be grouped into categories: "weapons", "test", "maps", etc. |
||||||
|
* Aliases can be configured in `AcediaAliases` in form: |
||||||
|
* ________________________________________________________________________ |
||||||
|
* | [<groupName>/<aliasesValue> Aliases] |
||||||
|
* | Alias="<alias1>" |
||||||
|
* | Alias="<alias2>" |
||||||
|
* | ... |
||||||
|
* |_______________________________________________________________________ |
||||||
|
* where <groupName>, <aliasesValue>, <alias1>, ... can be replaced with |
||||||
|
* desired values. |
||||||
|
* Copyright 2020 Anton Tarasenko |
||||||
|
*------------------------------------------------------------------------------ |
||||||
|
* This file is part of Acedia. |
||||||
|
* |
||||||
|
* Acedia is free software: you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation, version 3 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* Acedia is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with Acedia. If not, see <https://www.gnu.org/licenses/>. |
||||||
|
*/ |
||||||
|
class Aliases extends AcediaObject |
||||||
|
perObjectConfig |
||||||
|
config(AcediaAliases); |
||||||
|
|
||||||
|
/** |
||||||
|
* All data is stored in config as a bunch of named `Aliases` objects |
||||||
|
* (via `perObjectConfig`). Name of each object records both aliases group and |
||||||
|
* value (see class description for details). |
||||||
|
* Aliases themselves are recorded into the `alias` array. |
||||||
|
*/ |
||||||
|
|
||||||
|
// Stores name of the configuration file. |
||||||
|
var private const string configName; |
||||||
|
// Both value |
||||||
|
// Symbol (or symbol sequence) that separates value from the group in |
||||||
|
// `[<groupName>/<aliasesValue> Aliases]`. |
||||||
|
var private const string delimiter; |
||||||
|
|
||||||
|
// Set once to prevent more than one object loading. |
||||||
|
var private bool initialized; |
||||||
|
|
||||||
|
// All aliases objects, specified by the configuration file. |
||||||
|
var private array<Aliases> availableRecords; |
||||||
|
|
||||||
|
// Data loaded from the configuration file into the `Aliases` object. |
||||||
|
// Value to which all aliases refer to. |
||||||
|
var private string originalValue; |
||||||
|
// Group to which this object's aliases belong to. |
||||||
|
var private string groupName; |
||||||
|
// Recorded aliases ("synonyms") for the `originalValue`. |
||||||
|
var public config array<string> alias; |
||||||
|
|
||||||
|
// Initializes data that we can not directly read from the configuration file. |
||||||
|
private final function Initialize() |
||||||
|
{ |
||||||
|
if (initialized) return; |
||||||
|
|
||||||
|
availableRecords.length = 0; |
||||||
|
ParseObjectName(string(self.name)); |
||||||
|
initialized = true; |
||||||
|
} |
||||||
|
|
||||||
|
private final function ParseObjectName(string configName) |
||||||
|
{ |
||||||
|
local int i; |
||||||
|
local array<string> splitName; |
||||||
|
Split(configName, "/", splitName); |
||||||
|
groupName = splitName[0]; |
||||||
|
originalValue = ""; |
||||||
|
for (i = 1; i < splitName.length; i += 1) |
||||||
|
{ |
||||||
|
originalValue $= splitName[i]; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// This function loads all the defined aliases from the config file. |
||||||
|
// Need to only be called once, further calls do nothing. |
||||||
|
public static final function LoadAliases() |
||||||
|
{ |
||||||
|
local int i; |
||||||
|
local array<string> recordNames; |
||||||
|
if (default.initialized) return; |
||||||
|
recordNames = |
||||||
|
GetPerObjectNames(default.configName, string(class'Aliases'.name)); |
||||||
|
for (i = 0; i < recordNames.length; i += 1) |
||||||
|
{ |
||||||
|
default.availableRecords[i] = new(none, recordNames[i]) class'Aliases'; |
||||||
|
if (default.availableRecords[i] != none) |
||||||
|
{ |
||||||
|
default.availableRecords[i].Initialize(); |
||||||
|
} |
||||||
|
} |
||||||
|
default.initialized = true; |
||||||
|
} |
||||||
|
|
||||||
|
// Tries to find original value for a given alias in a given group. |
||||||
|
public static final function bool ResolveAlias |
||||||
|
( |
||||||
|
string group, |
||||||
|
string alias, |
||||||
|
out string result |
||||||
|
) |
||||||
|
{ |
||||||
|
local int i, j; |
||||||
|
if (!default.initialized) return false; |
||||||
|
for (i = 0; i < default.availableRecords.length; i += 1) |
||||||
|
{ |
||||||
|
if (!(default.availableRecords[i].groupName ~= group)) continue; |
||||||
|
for (j = 0; j < default.availableRecords[i].alias.length; j += 1) |
||||||
|
{ |
||||||
|
if (default.availableRecords[i].alias[j] ~= alias) |
||||||
|
{ |
||||||
|
result = default.availableRecords[i].originalValue; |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
defaultproperties |
||||||
|
{ |
||||||
|
initialized = false |
||||||
|
configName = "AcediaAliases" |
||||||
|
delimiter = "/" |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
/** |
||||||
|
* Provides convenient access to Aliases-related functions. |
||||||
|
* Copyright 2019 Anton Tarasenko |
||||||
|
*------------------------------------------------------------------------------ |
||||||
|
* This file is part of Acedia. |
||||||
|
* |
||||||
|
* Acedia is free software: you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation, version 3 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* Acedia is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with Acedia. If not, see <https://www.gnu.org/licenses/>. |
||||||
|
*/ |
||||||
|
class AliasesAPI extends Singleton; |
||||||
|
|
||||||
|
// Resolves original value for given alias and it's group. |
||||||
|
// Returns `false` if there no such alias and `true` if there is. |
||||||
|
public function bool Resolve(string group, string alias, out string result) |
||||||
|
{ |
||||||
|
return class'Aliases'.static.ResolveAlias(group, alias, result); |
||||||
|
} |
||||||
|
|
||||||
|
// Tries to resolve given alias. |
||||||
|
// If fails - returns passed `alias` value back. |
||||||
|
public function string Try(string group, string alias) |
||||||
|
{ |
||||||
|
local string result; |
||||||
|
if (class'Aliases'.static.ResolveAlias(group, alias, result)) |
||||||
|
{ |
||||||
|
return result; |
||||||
|
} |
||||||
|
return alias; |
||||||
|
} |
||||||
|
|
||||||
|
defaultproperties |
||||||
|
{ |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
/** |
||||||
|
* Set of tests for Aliases system. |
||||||
|
* Copyright 2020 Anton Tarasenko |
||||||
|
*------------------------------------------------------------------------------ |
||||||
|
* This file is part of Acedia. |
||||||
|
* |
||||||
|
* Acedia is free software: you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation, version 3 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* Acedia is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with Acedia. If not, see <https://www.gnu.org/licenses/>. |
||||||
|
*/ |
||||||
|
class TEST_Aliases extends TestCase |
||||||
|
abstract; |
||||||
|
|
||||||
|
protected static function TESTS() |
||||||
|
{ |
||||||
|
local string result; |
||||||
|
Context("Testing Aliases loading."); |
||||||
|
Issue("`Try` cannot resolve correct alias"); |
||||||
|
TEST_ExpectTrue(_().alias.Try("test", "Ford") == "car"); |
||||||
|
TEST_ExpectTrue(_().alias.Try("test", "Delorean") == "car"); |
||||||
|
TEST_ExpectTrue(_().alias.Try("test", "HardToBeAGod") == "scifi"); |
||||||
|
|
||||||
|
Issue("`Resolve` cannot resolve correct alias"); |
||||||
|
_().alias.Resolve("test", "Ford", result); |
||||||
|
TEST_ExpectTrue(result == "car"); |
||||||
|
_().alias.Resolve("test", "Audi", result); |
||||||
|
TEST_ExpectTrue(result == "car"); |
||||||
|
_().alias.Resolve("test", "Spice", result); |
||||||
|
TEST_ExpectTrue(result == "scifi"); |
||||||
|
|
||||||
|
Issue("`Try` does not return original alias for non-existing alias record"); |
||||||
|
TEST_ExpectTrue(_().alias.Try("test", "AllFiction") == "AllFiction"); |
||||||
|
|
||||||
|
Issue("`Resolve` reports success when it failed"); |
||||||
|
TEST_ExpectFalse(_().alias.Resolve("test", "KarmicJustice", result)); |
||||||
|
|
||||||
|
Issue("`Resolve` reports failure when it succeeds"); |
||||||
|
TEST_ExpectTrue(_().alias.Resolve("test", "Delorean", result)); |
||||||
|
} |
||||||
|
|
||||||
|
defaultproperties |
||||||
|
{ |
||||||
|
caseName = "Aliases" |
||||||
|
} |
Reference in new issue