public Mozam_Throw() { this.NameKey = "Hop-up: Throw Away Joke"; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { PickupObjectDatabase.GetByEncounterName("Mozambique").PickupObjectId }; this.OptionalItemIDs = new List <int> { 500, // hip holdster }; this.OptionalGunIDs = new List <int> { PickupObjectDatabase.GetByEncounterName("Jk-47").PickupObjectId, 126, // shotbow 8, // bow 31, // klobbe }; this.IgnoreLichEyeBullets = false; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.ThrownGunDamage, StatModifier.ModifyMethod.ADDITIVE, 20f), }; this.bonusSynergies = new List <CustomSynergyType>(); }
public flurry_of_blows() { this.NameKey = "Flurry rush"; this.MandatoryGunIDs = new List <int> { PickupObjectDatabase.GetByEncounterName("Hail 2 U").PickupObjectId }; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { }; this.OptionalItemIDs = new List <int> { ETGMod.Databases.Items["Jar of Stardust"].PickupObjectId, ETGMod.Databases.Items["Fate's Blessing"].PickupObjectId }; this.IgnoreLichEyeBullets = false; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.ADDITIVE, 8f), StatModifier.Create(PlayerStats.StatType.Damage, StatModifier.ModifyMethod.ADDITIVE, -.7f), StatModifier.Create(PlayerStats.StatType.DamageToBosses, StatModifier.ModifyMethod.ADDITIVE, -.7f), StatModifier.Create(PlayerStats.StatType.AdditionalClipCapacityMultiplier, StatModifier.ModifyMethod.ADDITIVE, 8f), StatModifier.Create(PlayerStats.StatType.AdditionalGunCapacity, StatModifier.ModifyMethod.ADDITIVE, 1f), }; this.bonusSynergies = new List <CustomSynergyType>(); }
private void ProcessInfinilichStatus(PlayerController player, bool forceDisable = false) { bool flag = player && PlayerHasActiveSynergy(player, "Master of Gungeon") && !forceDisable; if (flag && !this.m_transformed) { this.m_lastPlayer = player; if (player) { this.m_transformed = true; if (Minimap.Instance != null) { Minimap.Instance.RevealAllRooms(true); } player.OnNewFloorLoaded += RevealAllRooms; player.carriedConsumables.InfiniteKeys = true; player.OverrideAnimationLibrary = this.replacementLibrary; player.SetOverrideShader(ShaderCache.Acquire(player.LocalShaderName)); if (player.characterIdentity == PlayableCharacters.Eevee) { player.GetComponent <CharacterAnimationRandomizer>().AddOverrideAnimLibrary(this.replacementLibrary); } player.ChangeHandsToCustomType(this.replacementHandSprite.Collection, this.replacementHandSprite.spriteId); StatModifier mod1 = StatModifier.Create(PlayerStats.StatType.AdditionalItemCapacity, StatModifier.ModifyMethod.ADDITIVE, 1); player.ownerlessStatModifiers.Add(mod1); this.synergyModifiers.Add(mod1); player.stats.RecalculateStats(player, false, false); } } else if (this.m_transformed && !flag) { if (this.m_lastPlayer) { this.m_lastPlayer.OnNewFloorLoaded -= RevealAllRooms; this.m_lastPlayer.carriedConsumables.InfiniteKeys = false; this.m_lastPlayer.OverrideAnimationLibrary = null; this.m_lastPlayer.ClearOverrideShader(); if (this.m_lastPlayer.characterIdentity == PlayableCharacters.Eevee) { this.m_lastPlayer.GetComponent <CharacterAnimationRandomizer>().RemoveOverrideAnimLibrary(this.replacementLibrary); } this.m_lastPlayer.RevertHandsToBaseType(); foreach (StatModifier mod in this.synergyModifiers) { this.m_lastPlayer.ownerlessStatModifiers.Remove(mod); } this.synergyModifiers.Clear(); this.m_lastPlayer.stats.RecalculateStats(this.m_lastPlayer, false, false); this.m_lastPlayer = null; } this.m_transformed = false; } }
public split() { this.NameKey = "Split personality"; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { ETGMod.Databases.Items["Bad company"].PickupObjectId, 187 }; this.IgnoreLichEyeBullets = true; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.GlobalPriceMultiplier, StatModifier.ModifyMethod.ADDITIVE, -.1f), StatModifier.Create(PlayerStats.StatType.MoneyMultiplierFromEnemies, StatModifier.ModifyMethod.ADDITIVE, 2f) }; this.bonusSynergies = new List <CustomSynergyType>(); }
public Super_Duper_Fly() { this.NameKey = "Super Duper Fly"; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { ETGMod.Databases.Items["Fly Friend"].PickupObjectId, ETGMod.Databases.Items["Super Fly"].PickupObjectId, }; this.IgnoreLichEyeBullets = true; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.Coolness, StatModifier.ModifyMethod.ADDITIVE, 4f), StatModifier.Create(PlayerStats.StatType.Accuracy, StatModifier.ModifyMethod.ADDITIVE, .2f), }; this.bonusSynergies = new List <CustomSynergyType>(); }
public the_World_revolving() { this.NameKey = "Chaos Chaos CHAOS!"; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { ETGMod.Databases.Items["Chamber of Chambers"].PickupObjectId, ETGMod.Databases.Items["Speedy Chamber"].PickupObjectId }; this.IgnoreLichEyeBullets = true; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.ReloadSpeed, StatModifier.ModifyMethod.ADDITIVE, -3f), StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.ADDITIVE, .5f) }; this.bonusSynergies = new List <CustomSynergyType>(); }
public Daft_Punk() { this.NameKey = "Harder! Better! Faster! Stronger!"; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { ETGMod.Databases.Items["Daft"].PickupObjectId, ETGMod.Databases.Items["Punk"].PickupObjectId }; this.IgnoreLichEyeBullets = true; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.MovementSpeed, StatModifier.ModifyMethod.ADDITIVE, 2f), StatModifier.Create(PlayerStats.StatType.KnockbackMultiplier, StatModifier.ModifyMethod.ADDITIVE, .3f), StatModifier.Create(PlayerStats.StatType.Damage, StatModifier.ModifyMethod.ADDITIVE, .4f), StatModifier.Create(PlayerStats.StatType.Accuracy, StatModifier.ModifyMethod.ADDITIVE, -.2f), StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.ADDITIVE, .2f) }; this.bonusSynergies = new List <CustomSynergyType>(); }
public GoldenSpinSyn() { this.NameKey = "Golden Cylinder"; this.MandatoryGunIDs = new List <int> { ETGMod.Databases.Items["Incremental"].PickupObjectId }; this.OptionalItemIDs = new List <int> { 270, 69 }; this.ActiveWhenGunUnequipped = false; this.statModifiers = new List <StatModifier> { StatModifier.Create(PlayerStats.StatType.AdditionalClipCapacityMultiplier, StatModifier.ModifyMethod.MULTIPLICATIVE, .366666f) }; this.IgnoreLichEyeBullets = false; this.bonusSynergies = new List <CustomSynergyType>(); }
public tomislav() { this.NameKey = "Tomislav"; this.MandatoryGunIDs = new List <int> { 84 }; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { ETGMod.Databases.Items["Sandvich"].PickupObjectId, }; this.IgnoreLichEyeBullets = true; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.KnockbackMultiplier, StatModifier.ModifyMethod.ADDITIVE, -.80f), StatModifier.Create(PlayerStats.StatType.Accuracy, StatModifier.ModifyMethod.ADDITIVE, -.80f), StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.ADDITIVE, -.1f), }; this.bonusSynergies = new List <CustomSynergyType>(); }
public KvotheKingKillerSyn() { NameKey = "Kvothe, Kingkiller"; this.MandatoryItemIDs = new List <int> { ETGMod.Databases.Items["Sympathy Bullets"].PickupObjectId, }; MandatoryGunIDs = new List <int> { 506 }; IgnoreLichEyeBullets = false; NumberObjectsRequired = 2; this.statModifiers = new List <StatModifier> { StatModifier.Create(PlayerStats.StatType.Accuracy, StatModifier.ModifyMethod.MULTIPLICATIVE, .5f), StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.MULTIPLICATIVE, 1.25f), StatModifier.Create(PlayerStats.StatType.DamageToBosses, StatModifier.ModifyMethod.MULTIPLICATIVE, 1.5f), StatModifier.Create(PlayerStats.StatType.RangeMultiplier, StatModifier.ModifyMethod.MULTIPLICATIVE, 5), }; this.bonusSynergies = new List <CustomSynergyType>(); ActiveWhenGunUnequipped = false; }
public lich() { this.NameKey = "Whole again"; this.MandatoryGunIDs = new List <int> { PickupObjectDatabase.GetByEncounterName("lich's trigger hand").PickupObjectId }; this.MandatoryItemIDs = new List <int> //Look in the items ID map in the gungeon code for the ids. { 213, }; this.OptionalItemIDs = new List <int> { }; this.IgnoreLichEyeBullets = false; this.statModifiers = new List <StatModifier>(0) { StatModifier.Create(PlayerStats.StatType.ReloadSpeed, StatModifier.ModifyMethod.ADDITIVE, -.3f), StatModifier.Create(PlayerStats.StatType.RateOfFire, StatModifier.ModifyMethod.ADDITIVE, .2f), }; this.bonusSynergies = new List <CustomSynergyType>(); }
private void Update() { if (Dungeon.IsGenerating || GameManager.Instance.IsLoadingLevel) { return; } for (int i = 0; i < GameManager.Instance.AllPlayers.Length; i++) { PlayerController playerController = GameManager.Instance.AllPlayers[i]; float num = this.Radius; bool hasStat = this.statModifiers.ContainsKey(playerController); if (playerController && Vector2.Distance(playerController.CenterPosition, base.transform.position.XY()) < num) { if (!hasStat) { StatModifier mod = StatModifier.Create(PlayerStats.StatType.ReloadSpeed, StatModifier.ModifyMethod.ADDITIVE, -1000f); playerController.ownerlessStatModifiers.Add(mod); playerController.stats.RecalculateStats(playerController, true, false); this.statModifiers.Add(playerController, mod); } } else if (playerController) { if (hasStat) { StatModifier mod = this.statModifiers[playerController]; if (playerController.ownerlessStatModifiers.Contains(mod)) { playerController.ownerlessStatModifiers.Remove(mod); playerController.stats.RecalculateStats(playerController, true, false); } this.statModifiers.Remove(playerController); } } } }