public static ShipUpgradeDetail GetMajorAbilityDetail(MajorAbilityType majorAbilityUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.MajorAbility; switch (majorAbilityUpgrade) { case MajorAbilityType.Smokescreen: upgradeDetail.m_UpgradeName = "Smokescreen"; upgradeDetail.GumpCollectionId = "SmokescreenShipMajorAbilityUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Pacifies creatures hit for 10 seconds", ShipUpgradeDetail.UpgradeEffectType.MajorAbility)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetEpicAbilityDetail(EpicAbilityType epicAbilityUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.MajorAbility; switch (epicAbilityUpgrade) { case EpicAbilityType.Hellfire: upgradeDetail.m_UpgradeName = "Hellfire"; upgradeDetail.GumpCollectionId = "HellfireShipEpicAbilityUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Unleashes a damaging barrage of fire that", ShipUpgradeDetail.UpgradeEffectType.EpicAbility)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("continues to burn for 30 seconds, damaging targets", ShipUpgradeDetail.UpgradeEffectType.EpicAbility)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetCharmDetail(CharmType charmUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.Banner; switch (charmUpgrade) { case CharmType.BarrelOfLimes: upgradeDetail.m_UpgradeName = "Barrel of Limes"; upgradeDetail.GumpCollectionId = "BarrelOfLimesShipCharmUpgrade"; upgradeDetail.CrewDamageMeleeDamageDealt = .10; upgradeDetail.CrewDamageMeleeDamageReceived = .10; upgradeDetail.CrewHealingReceived = .25; break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetMinorAbilityDetail(MinorAbilityType minorAbilityUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.MinorAbility; switch (minorAbilityUpgrade) { case MinorAbilityType.ExpediteRepairs: upgradeDetail.m_UpgradeName = "Expedite Repairs"; upgradeDetail.GumpCollectionId = "ExpediteRepairsShipMinorAbilityUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("+25% Repair Effectiveness for 30 seconds", ShipUpgradeDetail.UpgradeEffectType.MinorAbility)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetBannerDetail(BannerType bannerUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.Banner; switch (bannerUpgrade) { case BannerType.Corsairs: upgradeDetail.m_UpgradeName = "Corsairs"; upgradeDetail.GumpCollectionId = "CorsairsShipBannerUpgrade"; upgradeDetail.BoardingChance = .10; upgradeDetail.DoubloonsEarnedFromEnemyCrew = .10; break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetOutfittingDetail(OutfittingType outfittingUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.Outfitting; switch (outfittingUpgrade) { case OutfittingType.Hunter: upgradeDetail.m_UpgradeName = "Hunter"; upgradeDetail.GumpCollectionId = "HunterShipOutfittingUpgrade"; upgradeDetail.ForwardSpeed = .10; upgradeDetail.DriftSpeed = .10; upgradeDetail.MinorAbilityCooldown = .20; break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetCannonMetalDetail(CannonMetalType cannonMetalUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.CannonMetal; switch (cannonMetalUpgrade) { case CannonMetalType.Bloodstone: upgradeDetail.m_UpgradeName = "Bloodstone"; upgradeDetail.GumpCollectionId = "BloodstoneShipCannonMetalUpgrade"; upgradeDetail.CannonMetalHue = 2117; upgradeDetail.CannonMetalTextHue = 2116; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Changes the color of the ship's cannons (Hue 2117)", ShipUpgradeDetail.UpgradeEffectType.CannonMetal)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public static ShipUpgradeDetail GetPaintDetail(PaintType paintUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.Paint; switch (paintUpgrade) { case PaintType.DarkGrey: upgradeDetail.m_UpgradeName = "Dark Grey"; upgradeDetail.GumpCollectionId = "DarkGreyShipPaintUpgrade"; upgradeDetail.PaintHue = 1105; upgradeDetail.PaintTextHue = 1105; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Changes the color of the ship (Hue 1105)", ShipUpgradeDetail.UpgradeEffectType.Paint)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }
public override void OnResponse(NetState sender, RelayInfo info) { if (m_Player == null) { return; } if (m_Player.Deleted) { return; } if (m_Player.Backpack == null) { return; } if (m_ShipUpgradeGumpObject == null) { return; } bool closeGump = true; BaseShip ship = m_ShipUpgradeGumpObject.m_Ship; BaseShipDeed shipDeed = m_ShipUpgradeGumpObject.m_ShipDeed; ShipUpgradeDeed shipUpgradeDeed = m_ShipUpgradeGumpObject.m_ShipUpgradeDeed; ShipStatsProfile shipStatsProfile = ShipUniqueness.GetShipStatsProfile(shipDeed, ship, true, true); ShipUpgradeDetail upgradeDetail = null; bool replaceExistingUpgrade = false; #region Upgrade Type switch (m_ShipUpgradeGumpObject.m_UpgradeType) { case ShipUpgrades.UpgradeType.Theme: if (ship != null) { if (ship.m_ThemeUpgrade != ShipUpgrades.ThemeType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_ThemeUpgrade != ShipUpgrades.ThemeType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetThemeDetail(m_ShipUpgradeGumpObject.m_Theme); break; case ShipUpgrades.UpgradeType.Paint: if (ship != null) { if (ship.m_PaintUpgrade != ShipUpgrades.PaintType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_PaintUpgrade != ShipUpgrades.PaintType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetPaintDetail(m_ShipUpgradeGumpObject.m_Paint); break; case ShipUpgrades.UpgradeType.CannonMetal: if (ship != null) { if (ship.m_CannonMetalUpgrade != ShipUpgrades.CannonMetalType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_CannonMetalUpgrade != ShipUpgrades.CannonMetalType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetCannonMetalDetail(m_ShipUpgradeGumpObject.m_CannonMetal); break; case ShipUpgrades.UpgradeType.Outfitting: if (ship != null) { if (ship.m_OutfittingUpgrade != ShipUpgrades.OutfittingType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_OutfittingUpgrade != ShipUpgrades.OutfittingType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetOutfittingDetail(m_ShipUpgradeGumpObject.m_Outfitting); break; case ShipUpgrades.UpgradeType.Banner: if (ship != null) { if (ship.m_BannerUpgrade != ShipUpgrades.BannerType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_BannerUpgrade != ShipUpgrades.BannerType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetBannerDetail(m_ShipUpgradeGumpObject.m_Banner); break; case ShipUpgrades.UpgradeType.Charm: if (ship != null) { if (ship.m_CharmUpgrade != ShipUpgrades.CharmType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_CharmUpgrade != ShipUpgrades.CharmType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetCharmDetail(m_ShipUpgradeGumpObject.m_Charm); break; case ShipUpgrades.UpgradeType.MinorAbility: if (ship != null) { if (ship.m_MinorAbilityUpgrade != ShipUpgrades.MinorAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_MinorAbilityUpgrade != ShipUpgrades.MinorAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetMinorAbilityDetail(m_ShipUpgradeGumpObject.m_MinorAbility); break; case ShipUpgrades.UpgradeType.MajorAbility: if (ship != null) { if (ship.m_MajorAbilityUpgrade != ShipUpgrades.MajorAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_MajorAbilityUpgrade != ShipUpgrades.MajorAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetMajorAbilityDetail(m_ShipUpgradeGumpObject.m_MajorAbility); break; case ShipUpgrades.UpgradeType.EpicAbility: if (ship != null) { if (ship.m_EpicAbilityUpgrade != ShipUpgrades.EpicAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_EpicAbilityUpgrade != ShipUpgrades.EpicAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetEpicAbilityDetail(m_ShipUpgradeGumpObject.m_EpicAbility); break; } #endregion if (upgradeDetail == null) { return; } switch (info.ButtonID) { //Guide case 1: closeGump = false; break; //Install case 2: switch (m_ShipUpgradeGumpObject.m_UpgradeDisplayMode) { case UpgradeDisplayMode.DeedUse: if (shipUpgradeDeed == null) { m_Player.SendMessage("That deed is no longer accessible."); } else if (shipUpgradeDeed.Deleted) { m_Player.SendMessage("That deed is no longer accessible."); } else if (!shipUpgradeDeed.IsChildOf(m_Player.Backpack)) { m_Player.SendMessage("That deed is no longer accessible."); } else { m_Player.SendMessage("Which ship do you wish to install this upgrade into?"); m_Player.Target = new ShipUpgradeTarget(m_Player, m_ShipUpgradeGumpObject); return; } break; case UpgradeDisplayMode.DeedAttemptInstall: if (shipUpgradeDeed == null) { m_Player.SendMessage("That upgrade deed is no longer accessible."); } else if (shipUpgradeDeed.Deleted) { m_Player.SendMessage("That upgrade deed is no longer accessible."); } else if (!shipUpgradeDeed.IsChildOf(m_Player.Backpack)) { m_Player.SendMessage("That upgrade deed is no longer accessible."); } else if (shipDeed == null) { m_Player.SendMessage("That ship token is no longer accessible."); } else if (shipDeed.Deleted) { m_Player.SendMessage("That ship token is no longer accessible."); } else if (!shipDeed.IsChildOf(m_Player.Backpack)) { m_Player.SendMessage("That ship token is no longer accessible."); } else { int doubloonBaseCost = ShipUniqueness.GetShipUpgradeBaseDoubloonCost(upgradeDetail.m_UpgradeType); double doubloonMultiplier = shipStatsProfile.UpgradeDoubloonMultiplier; int doubloonAdjustedCost = (int)(Math.Round((double)doubloonBaseCost * (double)doubloonMultiplier)); if (replaceExistingUpgrade) { doubloonAdjustedCost = 0; } int doubloonBalance = Banker.GetUniqueCurrencyBalance(m_Player, typeof(Doubloon)); if (doubloonBalance >= doubloonAdjustedCost) { if (doubloonAdjustedCost > 0) { Banker.WithdrawUniqueCurrency(m_Player, typeof(Doubloon), doubloonAdjustedCost, true); } switch (upgradeDetail.m_UpgradeType) { case ShipUpgrades.UpgradeType.Theme: shipDeed.m_ThemeUpgrade = shipUpgradeDeed.m_ThemeUpgrade; break; case ShipUpgrades.UpgradeType.Paint: shipDeed.m_PaintUpgrade = shipUpgradeDeed.m_PaintUpgrade; break; case ShipUpgrades.UpgradeType.CannonMetal: shipDeed.m_CannonMetalUpgrade = shipUpgradeDeed.m_CannonMetalUpgrade; break; case ShipUpgrades.UpgradeType.Outfitting: shipDeed.m_OutfittingUpgrade = shipUpgradeDeed.m_OutfittingUpgrade; break; case ShipUpgrades.UpgradeType.Banner: shipDeed.m_BannerUpgrade = shipUpgradeDeed.m_BannerUpgrade; break; case ShipUpgrades.UpgradeType.Charm: shipDeed.m_CharmUpgrade = shipUpgradeDeed.m_CharmUpgrade; break; case ShipUpgrades.UpgradeType.MinorAbility: shipDeed.m_MinorAbilityUpgrade = shipUpgradeDeed.m_MinorAbilityUpgrade; break; case ShipUpgrades.UpgradeType.MajorAbility: shipDeed.m_MajorAbilityUpgrade = shipUpgradeDeed.m_MajorAbilityUpgrade; break; case ShipUpgrades.UpgradeType.EpicAbility: shipDeed.m_EpicAbilityUpgrade = shipUpgradeDeed.m_EpicAbilityUpgrade; break; } if (m_Player.HasGump(typeof(ShipGump))) { m_Player.CloseGump(typeof(ShipGump)); } ShipGumpObject shipGumpObject = new ShipGumpObject(m_Player, null, shipDeed); shipGumpObject.m_ShipPage = ShipGump.ShipPageType.Upgrades; m_Player.SendGump(new ShipGump(m_Player, shipGumpObject)); if (replaceExistingUpgrade) { m_Player.SendMessage("You place an upgrade onto your ship, overriding the existing one."); } else { m_Player.SendMessage("You place an upgrade onto your ship."); } m_Player.SendSound(0x23D); m_ShipUpgradeGumpObject.m_ShipUpgradeDeed.Delete(); return; } else { m_Player.SendMessage("You do not have the neccessary " + doubloonAdjustedCost.ToString() + " doubloons in your bank box to install this upgrade."); } } break; case UpgradeDisplayMode.InstalledOnShip: break; } closeGump = false; break; } if (!closeGump) { m_Player.CloseGump(typeof(ShipUpgradeGump)); m_Player.SendGump(new ShipUpgradeGump(m_Player, m_ShipUpgradeGumpObject)); } else { m_Player.SendSound(CloseGumpSound); } }
public ShipUpgradeGump(PlayerMobile player, ShipUpgradeGumpObject shipUpgradeGumpObject) : base(325, 150) { m_Player = player; m_ShipUpgradeGumpObject = shipUpgradeGumpObject; if (m_Player == null) { return; } if (m_Player.Deleted) { return; } if (m_ShipUpgradeGumpObject == null) { return; } BaseShip ship = m_ShipUpgradeGumpObject.m_Ship; BaseShipDeed shipDeed = m_ShipUpgradeGumpObject.m_ShipDeed; ShipStatsProfile shipStatsProfile = ShipUniqueness.GetShipStatsProfile(shipDeed, ship, true, true); int startX = 0; int startY = 0; #region Background AddImage(275, 9, 103); AddImage(275, 106, 103); AddImage(275, 149, 103); AddImage(145, 9, 103); AddImage(145, 106, 103); AddImage(146, 149, 103); AddImage(10, 148, 103); AddImage(10, 9, 103); AddImage(10, 106, 103); AddImage(20, 108, 3604, 2052); AddImage(145, 109, 3604, 2052); AddImage(20, 19, 3604, 2052); AddImage(140, 19, 3604, 2052); AddImage(236, 18, 3604, 2052); AddImage(280, 18, 3604, 2052); AddImage(236, 109, 3604, 2052); AddImage(280, 109, 3604, 2052); AddImage(33, 68, 2328); AddItem(82, 173, 2539); #endregion ShipUpgradeDetail upgradeDetail = null; bool replaceExistingUpgrade = false; #region Upgrade Type switch (m_ShipUpgradeGumpObject.m_UpgradeType) { case ShipUpgrades.UpgradeType.Theme: if (ship != null) { if (ship.m_ThemeUpgrade != ShipUpgrades.ThemeType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_ThemeUpgrade != ShipUpgrades.ThemeType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetThemeDetail(m_ShipUpgradeGumpObject.m_Theme); break; case ShipUpgrades.UpgradeType.Paint: if (ship != null) { if (ship.m_PaintUpgrade != ShipUpgrades.PaintType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_PaintUpgrade != ShipUpgrades.PaintType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetPaintDetail(m_ShipUpgradeGumpObject.m_Paint); break; case ShipUpgrades.UpgradeType.CannonMetal: if (ship != null) { if (ship.m_CannonMetalUpgrade != ShipUpgrades.CannonMetalType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_CannonMetalUpgrade != ShipUpgrades.CannonMetalType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetCannonMetalDetail(m_ShipUpgradeGumpObject.m_CannonMetal); break; case ShipUpgrades.UpgradeType.Outfitting: if (ship != null) { if (ship.m_OutfittingUpgrade != ShipUpgrades.OutfittingType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_OutfittingUpgrade != ShipUpgrades.OutfittingType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetOutfittingDetail(m_ShipUpgradeGumpObject.m_Outfitting); break; case ShipUpgrades.UpgradeType.Banner: if (ship != null) { if (ship.m_BannerUpgrade != ShipUpgrades.BannerType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_BannerUpgrade != ShipUpgrades.BannerType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetBannerDetail(m_ShipUpgradeGumpObject.m_Banner); break; case ShipUpgrades.UpgradeType.Charm: if (ship != null) { if (ship.m_CharmUpgrade != ShipUpgrades.CharmType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_CharmUpgrade != ShipUpgrades.CharmType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetCharmDetail(m_ShipUpgradeGumpObject.m_Charm); break; case ShipUpgrades.UpgradeType.MinorAbility: if (ship != null) { if (ship.m_MinorAbilityUpgrade != ShipUpgrades.MinorAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_MinorAbilityUpgrade != ShipUpgrades.MinorAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetMinorAbilityDetail(m_ShipUpgradeGumpObject.m_MinorAbility); break; case ShipUpgrades.UpgradeType.MajorAbility: if (ship != null) { if (ship.m_MajorAbilityUpgrade != ShipUpgrades.MajorAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_MajorAbilityUpgrade != ShipUpgrades.MajorAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetMajorAbilityDetail(m_ShipUpgradeGumpObject.m_MajorAbility); break; case ShipUpgrades.UpgradeType.EpicAbility: if (ship != null) { if (ship.m_EpicAbilityUpgrade != ShipUpgrades.EpicAbilityType.None) { replaceExistingUpgrade = true; } } if (shipDeed != null) { if (shipDeed.m_EpicAbilityUpgrade != ShipUpgrades.EpicAbilityType.None) { replaceExistingUpgrade = true; } } upgradeDetail = ShipUpgrades.GetEpicAbilityDetail(m_ShipUpgradeGumpObject.m_EpicAbility); break; } #endregion if (upgradeDetail == null) { return; } int doubloonBaseCost = ShipUniqueness.GetShipUpgradeBaseDoubloonCost(upgradeDetail.m_UpgradeType); AddLabel(143, 20, 149, "Ship Outfitting Upgrade"); AddLabel(Utility.CenteredTextOffset(210, upgradeDetail.m_UpgradeName), 40, WhiteTextHue, upgradeDetail.m_UpgradeName); AddLabel(26, 170, 149, "Base Cost:"); AddLabel(114, 170, WhiteTextHue, doubloonBaseCost.ToString()); double doubloonMultiplier = shipStatsProfile.UpgradeDoubloonMultiplier; if (m_ShipUpgradeGumpObject.m_UpgradeDisplayMode == UpgradeDisplayMode.DeedAttemptInstall || m_ShipUpgradeGumpObject.m_UpgradeDisplayMode == UpgradeDisplayMode.InstalledOnShip) { if (replaceExistingUpgrade && m_ShipUpgradeGumpObject.m_UpgradeDisplayMode == UpgradeDisplayMode.DeedAttemptInstall) { AddLabel(26, 190, 149, "Will Replace Existing Upgrade"); AddLabel(213, 190, 2550, "(at no cost)"); } else { AddLabel(26, 190, 149, "Ship Type Multiplier:"); AddLabel(151, 190, WhiteTextHue, Utility.CreateDecimalString(doubloonMultiplier, 1) + "x"); } int doubloonAdjustedCost = (int)(Math.Round((double)doubloonBaseCost * (double)doubloonMultiplier)); if (replaceExistingUpgrade && m_ShipUpgradeGumpObject.m_UpgradeDisplayMode == UpgradeDisplayMode.DeedAttemptInstall) { doubloonAdjustedCost = 0; } AddLabel(26, 210, 149, "Adjusted Cost:"); AddItem(112, 213, 2539); AddLabel(143, 210, 63, doubloonAdjustedCost.ToString()); } startY = 65; int rowSpacing = 20; for (int a = 0; a < upgradeDetail.m_SpecialEffects.Count; a++) { KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType> descriptionLine = upgradeDetail.m_SpecialEffects[a]; AddLabel(125, startY, upgradeDetail.GetHue(descriptionLine.Value), descriptionLine.Key); startY += rowSpacing; } int offsetX = -32; int offsetY = -22; AddGumpCollection(GumpCollections.GetGumpCollection(upgradeDetail.GumpCollectionId, -1), offsetX + 33, offsetY + 68); //Guide AddButton(6, 7, 2094, 2095, 0, GumpButtonType.Reply, 0); AddLabel(1, -2, 149, "Guide"); switch (m_ShipUpgradeGumpObject.m_UpgradeDisplayMode) { case UpgradeDisplayMode.DeedUse: AddLabel(250, 209, 63, "Select Target Ship"); AddButton(372, 206, 2151, 2151, 2, GumpButtonType.Reply, 0); break; case UpgradeDisplayMode.DeedAttemptInstall: AddLabel(211, 209, 63, "Confirm Ship Installation"); AddButton(372, 206, 2151, 2151, 2, GumpButtonType.Reply, 0); break; case UpgradeDisplayMode.InstalledOnShip: break; } }
public static ShipUpgradeDetail GetThemeDetail(ThemeType themeUpgrade) { ShipUpgradeDetail upgradeDetail = new ShipUpgradeDetail(); upgradeDetail.m_UpgradeType = UpgradeType.Theme; switch (themeUpgrade) { case ThemeType.Navy: upgradeDetail.m_UpgradeName = "Navy"; upgradeDetail.GumpCollectionId = "NavyShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of navy-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Pirate: upgradeDetail.m_UpgradeName = "Pirate"; upgradeDetail.GumpCollectionId = "PirateShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of pirate-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Orc: upgradeDetail.m_UpgradeName = "Orc"; upgradeDetail.GumpCollectionId = "OrcShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of orc-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Undead: upgradeDetail.m_UpgradeName = "Undead"; upgradeDetail.GumpCollectionId = "UndeadShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of undead-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Treasure: upgradeDetail.m_UpgradeName = "Treasure"; upgradeDetail.GumpCollectionId = "TreasureShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of treasure-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Derelict: upgradeDetail.m_UpgradeName = "Derelict"; upgradeDetail.GumpCollectionId = "DerelictShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of derelict-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Merchant: upgradeDetail.m_UpgradeName = "Merchant"; upgradeDetail.GumpCollectionId = "MerchantShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of merchant-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Daemonic: upgradeDetail.m_UpgradeName = "Daemonic"; upgradeDetail.GumpCollectionId = "DaemonicShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of daemonic-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Eldritch: upgradeDetail.m_UpgradeName = "Eldritch"; upgradeDetail.GumpCollectionId = "EldritchShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of eldritch-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; case ThemeType.Massacre: upgradeDetail.m_UpgradeName = "Massacre"; upgradeDetail.GumpCollectionId = "MassacreShipThemeUpgrade"; upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("Adds a variety of massacre-themed decorations", ShipUpgradeDetail.UpgradeEffectType.Theme)); upgradeDetail.m_SpecialEffects.Add(new KeyValuePair <string, ShipUpgradeDetail.UpgradeEffectType>("to your ship.", ShipUpgradeDetail.UpgradeEffectType.Theme)); break; } if (upgradeDetail.m_UpgradeName == "") { return(null); } else { return(upgradeDetail); } }