From 3fdc36c7b7a3466e8daabdef8045fe1fc3fa6447 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Mon, 23 May 2022 16:35:29 +0800 Subject: [PATCH 1/8] Update CrossMod.cs --- CrossMod.cs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/CrossMod.cs b/CrossMod.cs index 2a49c64e..f0e60dff 100644 --- a/CrossMod.cs +++ b/CrossMod.cs @@ -520,18 +520,12 @@ public static object[] CombatPetReceiveCrossModData(BinaryReader reader) public static void HookBuffToItemCrossMod(int BuffType, params int[] ItemTypes) { const int MODIFYCONFIGS = 0; - const int HOOKBUFFTOITEM = 9; + const int HOOKBUFFTOITEM = 11; const int HOOKBUFFCONSTS = 17; const int DISPLAYOVERRIDE = 1; if (ModLoader.TryGetMod("SummonersShine", out Mod summonersShine)) { - if(ItemTypes.Length == 1) - { - int ItemType = ItemTypes[0]; - summonersShine.Call(MODIFYCONFIGS, HOOKBUFFTOITEM, BuffType, ItemType); - } - else - summonersShine.Call(HOOKBUFFCONSTS, BuffType, DISPLAYOVERRIDE, (int i) => ItemTypes); + summonersShine.Call(MODIFYCONFIGS, HOOKBUFFTOITEM, BuffType, ItemTypes); } } From 27b617951db68c71bc145eacc96230b948ba9f3d Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:09:46 +0800 Subject: [PATCH 2/8] Update GoldenRogueSquire.cs --- .../Squires/GoldenRogueSquire/GoldenRogueSquire.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Projectiles/Squires/GoldenRogueSquire/GoldenRogueSquire.cs b/Projectiles/Squires/GoldenRogueSquire/GoldenRogueSquire.cs index 391744f6..acaa6eaf 100644 --- a/Projectiles/Squires/GoldenRogueSquire/GoldenRogueSquire.cs +++ b/Projectiles/Squires/GoldenRogueSquire/GoldenRogueSquire.cs @@ -32,6 +32,13 @@ public override void SetStaticDefaults() DisplayName.SetDefault("Golden Rogue Crest"); Tooltip.SetDefault("Summons a squire\nA golden rogue squire will fight for you!\nClick and hold to guide its attacks"); } + + public override void ApplyCrossModChanges() + { + CrossMod.SummonersShineMinionPowerCollection minionCollection = new CrossMod.SummonersShineMinionPowerCollection(); + minionCollection.AddMinionPower(20); + CrossMod.BakeSummonersShineMinionPower_NoHooks(Item.type, minionCollection); + } public override void SetDefaults() { @@ -96,7 +103,7 @@ public override void ModifyHitNPC(NPC target, ref int damage, ref float knockbac { // manually bypass defense // this may not be wholly correct - int defenseBypass = 20; + int defenseBypass = (int)CrossMod.ApplyCrossModScaling(20f, Projectile, 0); int defense = Math.Min(target.defense, defenseBypass); damage += defense / 2; } From 9c0227f46ec5cfe8a855565b980a7ead36550430 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:12:43 +0800 Subject: [PATCH 3/8] Update en-US.hjson --- Localization/en-US.hjson | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Localization/en-US.hjson b/Localization/en-US.hjson index 0f33832d..06b412fd 100644 --- a/Localization/en-US.hjson +++ b/Localization/en-US.hjson @@ -4,27 +4,31 @@ Mods: { SummonSpecial: { AdamantiteSquireMinionItem: ''' - While jousting, the Adamantite Squire deals {1}x damage! + {1}x jousting damage ''' AncientCobaltSquireMinionItem: ''' - Magic Shotblast travels {1}% distance + {1}% Magic Shotblast distance ''' ArmoredBoneSquireMinionItem: ''' - Spawns wisps at a {1}% rate + {1}% wisp spawn rate ''' BoneSquireMinionItem: ''' - Flail length is {1} blocks + {1} blocks Flail length ''' CrimsonSquireMinionItem: ''' - Ichor Flask's Ichor lasts {1} seconds + {1} second Ichor Flask's Ichor duration ''' DemonSquireMinionItem: ''' - Special Ability Imp Fireballs have {1}% velocity + {1}% assistant fireball velocity + ''' + GoldenRogueSquireMinionItem: + ''' + {1} cloud of knives armor piercing ''' } } From 7470098e1c382ce3b4d76b57f70e6275d7c0d341 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:14:24 +0800 Subject: [PATCH 4/8] Update en-US.hjson --- Localization/en-US.hjson | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/Localization/en-US.hjson b/Localization/en-US.hjson index 06b412fd..6458c7d0 100644 --- a/Localization/en-US.hjson +++ b/Localization/en-US.hjson @@ -1,7 +1,37 @@ Mods: { AmuletOfManyMinions: { - SummonSpecial: { + AdamantiteSquireMinionItem: + ''' + While jousting, the Adamantite Squire deals {1}x damage! + ''' + AncientCobaltSquireMinionItem: + ''' + Magic Shotblast travels {1}% distance + ''' + ArmoredBoneSquireMinionItem: + ''' + Spawns wisps at a {1}% rate + ''' + BoneSquireMinionItem: + ''' + Flail length is {1} blocks + ''' + CrimsonSquireMinionItem: + ''' + Ichor Flask's Ichor lasts {1} seconds + ''' + DemonSquireMinionItem: + ''' + Special Ability Imp Fireballs have {1}% velocity + ''' + GoldenRogueSquireMinionItem: + ''' + Cloud of Knives pierce {1} armor + ''' + } + + SummonSpecialCompressed: { AdamantiteSquireMinionItem: ''' {1}x jousting damage @@ -16,7 +46,7 @@ Mods: { ''' BoneSquireMinionItem: ''' - {1} blocks Flail length + {1} blocks flail length ''' CrimsonSquireMinionItem: ''' @@ -24,11 +54,11 @@ Mods: { ''' DemonSquireMinionItem: ''' - {1}% assistant fireball velocity + {1}% Imp Assistants fireball velocity ''' GoldenRogueSquireMinionItem: ''' - {1} cloud of knives armor piercing + {1} Cloud of Knives armor piercing ''' } } From 4facc06158cb296576ea63edb89793dd3c167600 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:18:41 +0800 Subject: [PATCH 5/8] Update GuideSquire.cs --- Projectiles/Squires/GuideSquire/GuideSquire.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Projectiles/Squires/GuideSquire/GuideSquire.cs b/Projectiles/Squires/GuideSquire/GuideSquire.cs index 9acf7b4e..a6e92932 100644 --- a/Projectiles/Squires/GuideSquire/GuideSquire.cs +++ b/Projectiles/Squires/GuideSquire/GuideSquire.cs @@ -29,6 +29,13 @@ public override void SetStaticDefaults() DisplayName.SetDefault("Guide Friendship Bracelet"); Tooltip.SetDefault("Summons a squire\nClick and hold to guide its attacks!\n'Maybe you're not such a terrible person...'"); } + + public override void ApplyCrossModChanges() + { + CrossMod.SummonersShineMinionPowerCollection minionCollection = new CrossMod.SummonersShineMinionPowerCollection(); + minionCollection.AddMinionPower(3); + CrossMod.BakeSummonersShineMinionPower_NoHooks(Item.type, minionCollection); + } public override void SetDefaults() { @@ -105,7 +112,7 @@ public override void OnHitNPC(NPC target, int damage, float knockback, bool crit { if (Main.rand.NextBool(3)) { - target.AddBuff(BuffID.OnFire, 180); + target.AddBuff(BuffID.OnFire, (int)CrossMod.ApplyCrossModScaling(180, Projectile, 0)); } } } From eda76249434788328cec4ebc45cb6c54f0e2bc73 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:23:40 +0800 Subject: [PATCH 6/8] Update MushroomSquire.cs --- Projectiles/Squires/MushroomSquire/MushroomSquire.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Projectiles/Squires/MushroomSquire/MushroomSquire.cs b/Projectiles/Squires/MushroomSquire/MushroomSquire.cs index 82369551..2a36ff47 100644 --- a/Projectiles/Squires/MushroomSquire/MushroomSquire.cs +++ b/Projectiles/Squires/MushroomSquire/MushroomSquire.cs @@ -31,6 +31,13 @@ public override void SetStaticDefaults() DisplayName.SetDefault("Crest of the Forest"); Tooltip.SetDefault("Summons a squire\nA mushroom squire will fight for you!\nClick and hold to guide its attacks"); } + + public override void ApplyCrossModChanges() + { + CrossMod.SummonersShineMinionPowerCollection minionCollection = new CrossMod.SummonersShineMinionPowerCollection(); + minionCollection.AddMinionPower(100); + CrossMod.BakeSummonersShineMinionPower_NoHooks(Item.type, minionCollection); + } public override void SetDefaults() { @@ -67,7 +74,7 @@ public override void SetDefaults() Projectile.penetrate = 1; Projectile.width = 12; Projectile.height = 12; - Projectile.timeLeft = TimeToLive; + Projectile.timeLeft = CrossMod.ApplyCrossModScaling(TimeToLive, Projectile, 0); Projectile.friendly = true; Projectile.tileCollide = true; //Projectile.minion = true; //TODO 1.4 @@ -77,7 +84,7 @@ public override void SetDefaults() public override void AI() { base.AI(); - if(Projectile.timeLeft < TimeLeftToStartFalling && Projectile.velocity.Y < 16) + if(Projectile.timeLeft < CrossMod.ApplyCrossModScaling(TimeLeftToStartFalling, Projectile, 0) && Projectile.velocity.Y < 16) { Projectile.velocity.Y += 0.5f; Projectile.velocity.X *= 0.99f; From 6564925d1bd1d97b76eec495629c57ed1ed87ab4 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:30:08 +0800 Subject: [PATCH 7/8] Update PottedPal.cs --- Projectiles/Squires/PottedPal/PottedPal.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Projectiles/Squires/PottedPal/PottedPal.cs b/Projectiles/Squires/PottedPal/PottedPal.cs index 2bef4ea6..92ae350c 100644 --- a/Projectiles/Squires/PottedPal/PottedPal.cs +++ b/Projectiles/Squires/PottedPal/PottedPal.cs @@ -36,6 +36,13 @@ public override void SetStaticDefaults() DisplayName.SetDefault("Potted Pal"); Tooltip.SetDefault("Summons a squire\nA friendly plant will fight for you!\nClick and hold to guide its attacks"); } + + public override void ApplyCrossModChanges() + { + CrossMod.SummonersShineMinionPowerCollection minionCollection = new CrossMod.SummonersShineMinionPowerCollection(); + minionCollection.AddMinionPower(25); + CrossMod.BakeSummonersShineMinionPower_NoHooks(Item.type, minionCollection); + } public override void SetDefaults() { @@ -153,8 +160,10 @@ public override Vector2 IdleBehavior() public override Vector2? FindTarget() { - if(GetClosestEnemyToPosition(Projectile.Center, 400f, true) is NPC targetNPC && - Vector2.DistanceSquared(targetNPC.Center, spawnPos) < 600 * 600) + float maxDist = CrossMod.ApplyCrossModScaling(600, Projectile, 0) + float findRange = CrossMod.ApplyCrossModScaling(400, Projectile, 0) + if(GetClosestEnemyToPosition(Projectile.Center, findRange, true) is NPC targetNPC && + Vector2.DistanceSquared(targetNPC.Center, spawnPos) < maxDist * maxDist) { return targetNPC.Center - Projectile.Center; } else From 68ad831c64a8802d035b74b7b032b66cc2658a47 Mon Sep 17 00:00:00 2001 From: Ouroel <68769795+Ouroel@users.noreply.github.com> Date: Tue, 24 May 2022 19:35:17 +0800 Subject: [PATCH 8/8] Update en-US.hjson --- Localization/en-US.hjson | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Localization/en-US.hjson b/Localization/en-US.hjson index 6458c7d0..b948debb 100644 --- a/Localization/en-US.hjson +++ b/Localization/en-US.hjson @@ -29,6 +29,10 @@ Mods: { ''' Cloud of Knives pierce {1} armor ''' + GuideSquireMinionItem: + ''' + Fire arrows have {1} second duration + ''' } SummonSpecialCompressed: { @@ -50,7 +54,7 @@ Mods: { ''' CrimsonSquireMinionItem: ''' - {1} second Ichor Flask's Ichor duration + {1} second Ichor Flask Ichor duration ''' DemonSquireMinionItem: ''' @@ -60,6 +64,18 @@ Mods: { ''' {1} Cloud of Knives armor piercing ''' + GuideSquireMinionItem: + ''' + {1} second arrow fire duration + ''' + MushroomSquireMinionItem: + ''' + {1}% special ability mushroom travel distance + ''' + PottedPalMinionItem: + ''' + {1} Potted Pal Jr. reach length + ''' } } }