Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Copyright (C) 2013-2016 - DiamondGamers.net
- Unauthorized copying of this file, via any medium is strictly prohibited
- Proprietary and confidential
- Written by GhoulofGSG9 (GhoulofGSG9@gmail.com) and Rusty01 <vanfenix1@gmail.com>
- ]]
- DMDSkinHandler = {}
- local function JoinTableWithEnum( tbl, tb2 )
- local maxVal = 0
- for i, _ in ipairs(tbl) do
- maxVal = i
- end
- for i, v in ipairs(tb2) do
- rawset( tbl, v, maxVal + i )
- rawset( tbl, maxVal + i, v )
- end
- return maxVal
- end
- local VarianDataQueue = {}
- local function JoinTwoTablesWithIds( t1, t2 )
- for i, t in pairs( t2 ) do
- if not rawget(t1, i) then
- rawset(t1, i, t)
- end
- end
- VarianDataQueue[#VarianDataQueue + 1] = t1
- end
- local Checks = {}
- function DMDSkinHandler.AddOptionCheck( Option, maxNum )
- Checks[Option] = maxNum
- end
- function DMDSkinHandler.GetOptionCheck()
- return Checks
- end
- function DMDSkinHandler:InitialiseMarineSkins()
- local DMDVariants = { "medic", "hev", "guns2", "red", "hellokitty", "hudson", "bluefire", "ghost", "rainbow", "redeclipse", "tundra", "kodiak", "assault" }
- local NumVannilaVariants = JoinTableWithEnum( kMarineVariant, DMDVariants )
- self.AddOptionCheck("marineVariant", NumVannilaVariants )
- kMedicProductId = 4939
- kHevProductId = 4938
- kGunsv2ProductId = 4937
- kRedProductId = 4936
- kHelloKittyProductId = 4935
- kHudsonProductId = 49350
- kBluefireProductId = 49351
- kGhostProductId = 49352
- kRainbowProductID = 49353
- kRedeclipseProductID = 49354
- kTundraArmorItemId = 101
- kKodiakArmorItemId = 201
- kAssaultArmorItemId = 502
- local kDmdVariantData =
- {
- [kMarineVariant.medic] = { productId = kMedicProductId, displayName = "DMD-Anarchist Medic", modelFilePart = "_medic", viewModelFilePart = "" },
- [kMarineVariant.hev] = { productId = kHevProductId, displayName = "DMD-Gordon", modelFilePart = "_hev", viewModelFilePart = "" },
- [kMarineVariant.guns2] = { productId = kGunsv2ProductId, displayName = "DMD-Gunslinger", modelFilePart = "_gunsv2", viewModelFilePart = "" },
- [kMarineVariant.red] = { productId = kRedProductId, displayName = "DMD-Ferrari", modelFilePart = "_red", viewModelFilePart = "" },
- [kMarineVariant.hellokitty] = { productId = kHelloKittyProductId, displayName = "DMD-Barbi", modelFilePart = "_hellokitty", viewModelFilePart = "" },
- [kMarineVariant.hudson] = { productId = kHudsonProductId, displayName = "DMD-Hudson", modelFilePart = "_hudson", viewModelFilePart = "" },
- [kMarineVariant.bluefire] = { productId = kBluefireProductId, displayName = "DMD-Bluefire", modelFilePart = "_bluefire", viewModelFilePart = "" },
- [kMarineVariant.ghost] = { productId = kGhostProductId, displayName = "DMD-Ghost", modelFilePart = "_ghost", viewModelFilePart = "" },
- [kMarineVariant.rainbow] = { productId = kRainbowProductID, displayName = "DMD-Slick", modelFilePart = "_rainbow", viewModelFilePart = "" },
- [kMarineVariant.redeclipse] = { productId = kRedeclipseProductID, displayName = "DMD-Redfox", modelFilePart = "_redeclipse", viewModelFilePart = "" },
- [kMarineVariant.tundra] = { productId = kTundraArmorItemId, displayName = "Tundra", modelFilePart = "_tundra", viewModelFilePart = "" },
- [kMarineVariant.kodiak] = { productId = kKodiakArmorItemId, displayName = "Kodiak", modelFilePart = "_kodiak", viewModelFilePart = "" },
- [kMarineVariant.assault] = { productId = kAssaultArmorItemId, displayName = "Assault", modelFilePart = "_assault", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kMarineVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseExoSkins()
- local DMDVariants = { "camo", "catalyst", "explorer", "warmonger", "eclipse", "bluewater", "tundra", "kodiak" }
- local NumVannilaVariants = JoinTableWithEnum( kExoVariant, DMDVariants )
- self.AddOptionCheck("exoVariant", NumVannilaVariants )
- kCamoExoProductId = 49450
- kCatalystExoProductId = 49451
- kExplorerExoProductId = 49452
- kWarmongerExoProductId = 49453
- kEclipseExoProductId = 49454
- kBluewaterExoProductId = 49455
- kTundraExosuitItemId = 102
- kKodiakExosuitItemId = 202
- local kDmdVariantData =
- {
- [kExoVariant.camo] = { productId = kCamoExoProductId, displayName = "DMD-Camo", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.catalyst] = { productId = kCatalystExoProductId, displayName = "DMD-Catalyst", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.explorer] = { productId = kExplorerExoProductId, displayName = "DMD-Explorer", modelFilePart = "_2", viewModelFilePart = "" },
- [kExoVariant.warmonger] = { productId = kWarmongerExoProductId, displayName = "DMD-WarMonger", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.eclipse] = { productId = kEclipseExoProductId, displayName = "DMD-Eclipse", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.bluewater] = { productId = kBluewaterExoProductId, displayName = "DMD-Bluewater", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.tundra] = { productId = kTundraExosuitItemId, displayName = "Tundra", modelFilePart = "", viewModelFilePart = "" },
- [kExoVariant.kodiak] = { productId = kKodiakExosuitItemId, displayName = "Kodiak", modelFilePart = "", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kExoVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseSkulkSkins()
- local DMDVariants = { "classic","tron", "dread", "alien", "reaper", "kodiak", "shadow" }
- local NumVannilaVariants = JoinTableWithEnum( kSkulkVariant, DMDVariants )
- self.AddOptionCheck("skulkVariant", NumVannilaVariants )
- kTronProductId = 49301
- kskulkalienProductId = 49311
- kskulkdreadProductId = 49321
- kskulkclassicProductId = 49331
- kReaperSkulkItemId = 302
- kKodiakSkulkItemId = 205
- kShadowSkulkItemId = 403
- local kDmdVariantData =
- {
- [kSkulkVariant.classic] = { productId = kskulkclassicProductId, displayName = "DMD-Jungle", modelFilePart = "_classic", viewModelFilePart = "" },
- [kSkulkVariant.tron] = { productId = kTronProductId, displayName = "DMD-Recognizer", modelFilePart = "_tron", viewModelFilePart = "" },
- [kSkulkVariant.dread] = { productId = kskulkdreadProductId, displayName = "DMD-Tank", modelFilePart = "_dread", viewModelFilePart = "" },
- [kSkulkVariant.alien] = { productId = kskulkalienProductId, displayName = "DMD-Skeletor", modelFilePart = "_alien", viewModelFilePart = "" },
- [kSkulkVariant.reaper] = { productId = kReaperSkulkItemId, displayName = "reaper", modelFilePart = "_reaper", viewModelFilePart = "" },
- [kSkulkVariant.kodiak] = { productId = kKodiakSkulkItemId, displayName = "reaper", modelFilePart = "_kodiak", viewModelFilePart = "" },
- [kSkulkVariant.shadow] = { productId = kShadowSkulkItemId, displayName = "shadow", modelFilePart = "_shadow", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kSkulkVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseOnosSkins()
- local DMDVariants = { "reaper" }
- local NumVannilaVariants = JoinTableWithEnum( kReaperVariant, DMDVariants )
- self.AddOptionCheck("reaperVariant", NumVannilaVariants )
- kReaperOnosItemId=306
- local kDmdVariantData =
- {
- [kOnosVariant.reaper] = { productId = kReaperOnosItemId, displayName = "Reaper", modelFilePart = "_reaper", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kReaperVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseGorgeSkins()
- local DMDVariants = { "dread","purple","classic","alien", "reaper", "shadow" }
- local NumVannilaVariants = JoinTableWithEnum( kGorgeVariant, DMDVariants )
- self.AddOptionCheck("gorgeVariant", NumVannilaVariants )
- kgorgedreadProductId = 49322
- kgorgepurpleProductId = 49324
- kgorgeclassicProductId = 49332
- kgorgealienProductId = 49312
- kReaperGorgeItemId = 303
- kShadowGorgeItemId = 404
- local kDmdVariantData =
- {
- [kGorgeVariant.dread] = { productId = kgorgedreadProductId, displayName = "DMD-Tank", modelFilePart = "_dread", viewModelFilePart = "" },
- [kGorgeVariant.purple] = { productId = kgorgepurpleProductId, displayName = "DMD-Purple", modelFilePart = "_purple", viewModelFilePart = "" },
- [kGorgeVariant.classic] = { productId = kgorgeclassicProductId, displayName = "DMD-Jungle", modelFilePart = "_classic", viewModelFilePart = "" },
- [kGorgeVariant.alien] = { productId = kgorgealienProductId, displayName = "DMD-Skeletor", modelFilePart = "_alien", viewModelFilePart = "" },
- [kGorgeVariant.alien] = { productId = kReaperGorgeItemId, displayName = "Reaper", modelFilePart = "_reaper", viewModelFilePart = "" },
- [kGorgeVariant.alien] = { productId = kShadowGorgeItemId, displayName = "Shadow", modelFilePart = "_shadow", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kGorgeVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseFadeSkins()
- local DMDVariants = { "purple", "predator", "reaper" }
- local NumVannilaVariants = JoinTableWithEnum( kFadeVariant, DMDVariants )
- self.AddOptionCheck("fadeVariant", NumVannilaVariants )
- kfadepurpleProductId = 49420
- kfadepredatorProductId = 49421
- kReaperFadeItemId = 305
- local kDmdVariantData =
- {
- [kFadeVariant.purple] = { productId = kfadepurpleProductId, displayName = "DMD-Purpler", modelFilePart = "_purple", viewModelFilePart = "" },
- [kFadeVariant.predator] = { productId = kfadepredatorProductId, displayName = "DMD-Predator", modelFilePart = "_predator", viewModelFilePart = "" },
- [kFadeVariant.reaper] = { productId = kReaperFadeItemId, displayName = "Reaper", modelFilePart = "_reaper", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kFadeVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseShotgunSkins()
- local DMDVariants = { "tundra" }
- local NumVannilaVariants = JoinTableWithEnum( kShotgunVariant, DMDVariants )
- self.AddOptionCheck("shotgunVariant", NumVannilaVariants )
- kTundraShotgunItemId=104
- local kDmdVariantData =
- {
- [kShotgunVariant.tundra] = { productId = kTundraShotgunItemId, displayName = "Tundra", modelFilePart = "_tundra", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kshotgunVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseRifleSkins()
- local DMDVariants = { "tundra", "kodiak" }
- local NumVannilaVariants = JoinTableWithEnum( kLerkVariant, DMDVariants )
- self.AddOptionCheck("rifleVariant", NumVannilaVariants )
- kTundraRifleItemId = 103
- kKodiakRifleItemId = 203
- local kDmdVariantData =
- {
- [kRifleVariant.tundra] = { productId = klerkalienProductId, displayName = "Tundra", modelFilePart = "_tundra", viewModelFilePart = "" },
- [kRifleVariant.kodiak] = { productId = klerkdreadProductId, displayName = "Kodiak", modelFilePart = "_kodiak", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kRifleVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:InitialiseLerkSkins()
- local DMDVariants = { "alien", "dread", "purple", "classic", "reaper", "shadow" }
- local NumVannilaVariants = JoinTableWithEnum( kLerkVariant, DMDVariants )
- self.AddOptionCheck("lerkVariant", NumVannilaVariants )
- klerkalienProductId = 49313
- klerkdreadProductId = 49323
- klerkpurpleProductId = 49343
- klerkclassicProductId = 49333
- kReaperLerkItemId = 304
- kShadowLerkItemId = 405
- local kDmdVariantData =
- {
- [kLerkVariant.alien] = { productId = klerkalienProductId, displayName = "DMD-Skeletor", modelFilePart = "_alien", viewModelFilePart = "" },
- [kLerkVariant.dread] = { productId = klerkdreadProductId, displayName = "DMD-Tank", modelFilePart = "_dread", viewModelFilePart = "" },
- [kLerkVariant.purple] = { productId = klerkpurpleProductId, displayName = "DMD-Purple", modelFilePart = "_purple", viewModelFilePart = "" },
- [kLerkVariant.classic] = { productId = klerkclassicProductId, displayName = "DMD-Jungle", modelFilePart = "_classic", viewModelFilePart = "" },
- [kLerkVariant.reaper] = { productId = kReaperLerkItemId, displayName = "Reaper", modelFilePart = "_reaper", viewModelFilePart = "" },
- [kLerkVariant.shadow] = { productId = kShadowLerkItemId, displayName = "Shadow", modelFilePart = "_shadow", viewModelFilePart = "" }
- }
- JoinTwoTablesWithIds( kLerkVariantData, kDmdVariantData )
- end
- function DMDSkinHandler:IntialiseDLCIds()
- local DLCIds = {}
- local i = 1
- for _, variants in ipairs(VarianDataQueue) do
- for _, data in pairs(variants) do
- --some skins have mutliple ids so we have to treat all productId entries as table
- local ids = data.productId
- if type(ids) ~= "table" then
- ids = { ids }
- end
- for _, id in ipairs( ids ) do
- if not DLCIds[id] then
- DLCIds[i] = id
- DLCIds[id] = i
- i = i + 1
- end
- end
- end
- end
- self.DLCIds = DLCIds
- end
- function DMDSkinHandler:GetDLCIds()
- return self.DLCIds
- end
- function DMDSkinHandler:InitialiseShoulderPad()
- kDMDPadProductId = 49401
- kShoulderPad2ItemId[#kShoulderPad2ItemId + 1] = kDMDPadProductId
- kShoulderPadNames[#kShoulderPadNames + 1] = "DMD"
- --As usual ns2 has no real system model consistency so we have to work around by faking a table for the pads
- VarianDataQueue[#VarianDataQueue + 1] = {{productId = kDMDPadProductId}}
- end
- function DMDSkinHandler:InitialiseSkins()
- --Pad Stuff
- --Todo Exo and Shoulder Skins need art atlasing fixed
- --self:InitialiseShoulderPad()
- --self:InitialiseExoSkins()
- self:InitialiseFadeSkins()
- self:InitialiseGorgeSkins()
- self:InitialiseLerkSkins()
- self:InitialiseMarineSkins()
- self:InitialiseSkulkSkins()
- self:IntialiseDLCIds()
- end
- do
- DMDSkinHandler:InitialiseSkins()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement