Skip to content

Commit 6c4b91f

Browse files
committed
v2.9: fishing hook + Crimson/Mining Armor tweaks
1 parent 2550268 commit 6c4b91f

File tree

8 files changed

+125
-19
lines changed

8 files changed

+125
-19
lines changed

Config.cs

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,15 @@ public static class Config
9696

9797
public static bool PharaohSetTweak = true;
9898
const string PharaohSetTweakKey = "PharaohSetTweak";
99+
100+
public static bool CrimsonArmorTweak = true;
101+
const string CrimsonArmorTweakKey = "CrimsonArmorTweak";
102+
103+
public static bool UndeadMinerTweak = true;
104+
const string UndeadMinerTweakKey = "UndeadMinerDrop";
105+
106+
public static bool FishingPoleTweak = true;
107+
const string FishingPoleTweakKey = "FishingPoleTweaks";
99108

100109
public static void Load()
101110
{
@@ -149,6 +158,9 @@ public static void SetDefaults()
149158
VikingHelmetTweak = true;
150159
CactusArmorTweak = true;
151160
PharaohSetTweak = true;
161+
CrimsonArmorTweak = true;
162+
UndeadMinerTweak = true;
163+
FishingPoleTweak = true;
152164
}
153165

154166
public static bool ReadConfig()
@@ -182,6 +194,9 @@ public static bool ReadConfig()
182194
Settings.Get(WhoopieCushionTweakKey, ref WhoopieCushionTweak);
183195
Settings.Get(CoinsTweakKey, ref CoinsTweak);
184196
Settings.Get(PharaohSetTweakKey, ref PharaohSetTweak);
197+
Settings.Get(CrimsonArmorTweakKey, ref CrimsonArmorTweak);
198+
Settings.Get(UndeadMinerTweakKey, ref UndeadMinerTweak);
199+
Settings.Get(FishingPoleTweakKey, ref FishingPoleTweak);
185200
return true;
186201
}
187202
return false;
@@ -216,6 +231,9 @@ public static void SaveConfig()
216231
Settings.Put(MolotovTweakKey, MolotovCraft);
217232
Settings.Put(WhoopieCushionTweakKey, WhoopieCushionTweak);
218233
Settings.Put(CoinsTweakKey, CoinsTweak);
234+
Settings.Put(CrimsonArmorTweakKey, CrimsonArmorTweak);
235+
Settings.Put(UndeadMinerTweakKey, UndeadMinerTweak);
236+
Settings.Put(FishingPoleTweakKey, FishingPoleTweak);
219237
Settings.Save();
220238
}
221239

@@ -250,6 +268,8 @@ public static void LoadFKConfig()
250268
setting.AddBool(CactusArmorTweakKey, "Cactus Armor Tweaks", false);
251269
setting.AddComment("Changes Pharaoh's vanity set to Summoner armor", commentScale);
252270
setting.AddBool(PharaohSetTweakKey, "Pharaoh Set Tweaks*", false);
271+
setting.AddComment("Crimson Armor now only increases melee damage instead of all damage", commentScale);
272+
setting.AddBool(CrimsonArmorTweakKey, "Crimson Set Tweaks*", false);
253273
setting.AddComment("Rebalances a few hammers/hamaxes", commentScale);
254274
setting.AddBool(HammerTweaksKey, "Hammer Tweaks*", false);
255275
setting.AddBool(NightsEdgeAutoswingKey, "Night's Edge Autoswing*", true);
@@ -261,13 +281,18 @@ public static void LoadFKConfig()
261281
setting.AddBool(SkullTweakKey, "Skull Flip", true);
262282
setting.AddComment("+1 defense", commentScale);
263283
setting.AddBool(FishBowlTweakKey, "Fish Bowl Tweaks*", false);
284+
setting.AddComment("Undead Miners drop Mining Armor a lot more often and are detected by Lifeform Analyzer", commentScale);
285+
setting.AddBool(UndeadMinerTweakKey, "Undead Miner Drops", false);
286+
setting.AddComment("Sitting Duck Fishing Pole is Hardmode only and the Mechanic's Rod is sold more often\n" +
287+
"If Miscellania is installed, the Mechanic's Rod will also be sold more often. (disable in that mod's config)", commentScale);
288+
setting.AddBool(FishingPoleTweakKey, "Fishing Pole Tweaks", false);
264289
setting.AddComment("Renames items such as Sandstone Brick to Sand Brick", commentScale);
265290
setting.AddBool(SandstoneRenameKey, "Rename Sandstone Items**", true);
266291
setting.AddComment("Renames the Cobalt Shield to Guardian's Shield", commentScale);
267292
setting.AddBool(CobaltShieldRenameKey, "Rename Cobalt Shield**", true);
268293
setting.AddComment("Bone Block Walls craft back into Bones**, Bone Blocks drop raw Bones when mined", commentScale);
269294
setting.AddBool(BoneBlockFixKey, "Bone Block Fix", false);
270-
setting.AddComment("Gold critters drop 1 Gold when killed (as opposed to 5 Gold when sold)", commentScale);
295+
setting.AddComment("Gold critters drop 1 Gold when killed (still sell for 5 Gold when sold)", commentScale);
271296
setting.AddBool(GoldCritterDropTweakKey, "Gold Critters Drop Coins", false);
272297
setting.AddFloat(ExtractSpeedMultiplierKey, "Extractinator Speed Multiplier", 0f, 5f, false);
273298
setting.AddBool(FavoriteTooltipRemoveKey, "Remove \"Favorite Item\" Tooltips", true);
@@ -311,6 +336,9 @@ public static void UpdateFKConfig()
311336
setting.Get(PharaohSetTweakKey, ref PharaohSetTweak);
312337
setting.Get(WhoopieCushionTweakKey, ref WhoopieCushionTweak);
313338
setting.Get(CoinsTweakKey, ref CoinsTweak);
339+
setting.Get(CrimsonArmorTweakKey, ref CrimsonArmorTweak);
340+
setting.Get(UndeadMinerTweakKey, ref UndeadMinerTweak);
341+
setting.Get(FishingPoleTweakKey, ref FishingPoleTweak);
314342
}
315343
}
316344

@@ -341,7 +369,10 @@ public override void NetSend(BinaryWriter writer)
341369
);
342370
writer.Write((byte)data);
343371
data = new BitsByte(
344-
EskimoArmorDropTweak
372+
EskimoArmorDropTweak,
373+
CrimsonArmorTweak,
374+
UndeadMinerTweak,
375+
FishingPoleTweak
345376
);
346377
writer.Write((byte)data);
347378
writer.Write(ExtractSpeedMultiplier);
@@ -363,7 +394,7 @@ public override void NetReceive(BinaryReader reader)
363394
TrueSwordsAutoswing = data[6];
364395
SwatHelmetTweak = data[7];
365396

366-
data = (BitsByte)reader.ReadByte();
397+
data = reader.ReadByte();
367398
FishBowlTweak = data[0];
368399
BoneBlockFix = data[1];
369400
GoldCritterDropTweak = data[2];
@@ -373,8 +404,11 @@ public override void NetReceive(BinaryReader reader)
373404
MeteorArmorDefenseTweak = data[6];
374405
CactusArmorTweak = data[7];
375406

376-
data = (BitsByte)reader.ReadByte();
407+
data = reader.ReadByte();
377408
EskimoArmorDropTweak = data[0];
409+
CrimsonArmorTweak = data[1];
410+
UndeadMinerTweak = data[2];
411+
FishingPoleTweak = data[3];
378412

379413
ExtractSpeedMultiplier = reader.ReadSingle();
380414
JestersArrowCraft = reader.ReadInt16();

ItemTweaks.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,18 @@ public override void UpdateEquip(Item item, Player player)
206206
if(Config.PharaohSetTweak)
207207
player.minionDamage += 0.05f;
208208
return;
209+
case ItemID.CrimsonHelmet:
210+
case ItemID.CrimsonScalemail:
211+
case ItemID.CrimsonGreaves:
212+
if(Config.CrimsonArmorTweak)
213+
{
214+
player.meleeDamage += 0.02f;
215+
player.magicDamage -= 0.02f;
216+
player.rangedDamage -= 0.02f;
217+
player.minionDamage -= 0.02f;
218+
player.thrownDamage -= 0.02f;
219+
}
220+
return;
209221
}
210222
}
211223

LangTweaks.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,15 @@ public static class LangTweaks
1313
{
1414
public static void EditNames(LanguageManager manager)
1515
{
16-
//var bindFlags = BindingFlags.Instance | BindingFlags.NonPublic;
17-
//var textValueMethod = typeof(LocalizedText).GetMethod("SetValue", bindFlags);
18-
1916
if(Config.CobaltShieldRename)
2017
{
2118
Lang.GetItemName(ItemID.CobaltShield).Override = Language.GetText("Mods.VanillaTweaks.ItemName.CobaltShield");
22-
//textValueMethod.Invoke(Lang.GetItemName(ItemID.CobaltShield), new object[]{ Language.GetTextValue("Mods.GoldensMisc.ItemName.CobaltShield") });
2319
}
2420
if(Config.SandstoneRename && manager.ActiveCulture != GameCulture.Russian)
2521
{
2622
Lang.GetItemName(ItemID.SandstoneBrick).Override = Language.GetText("Mods.VanillaTweaks.ItemName.SandstoneBrick");
2723
Lang.GetItemName(ItemID.SandstoneBrickWall).Override = Language.GetText("Mods.VanillaTweaks.ItemName.SandstoneBrickWall");
2824
Lang.GetItemName(ItemID.SandstoneSlab).Override = Language.GetText("Mods.VanillaTweaks.ItemName.SandstoneSlab");
29-
//textValueMethod.Invoke(Lang.GetItemName(ItemID.SandstoneBrick), new object[]{ Language.GetTextValue("Mods.GoldensMisc.ItemName.SandstoneBrick") });
30-
//textValueMethod.Invoke(Lang.GetItemName(ItemID.SandstoneBrickWall), new object[]{ Language.GetTextValue("Mods.GoldensMisc.ItemName.SandstoneBrickWall") });
31-
//textValueMethod.Invoke(Lang.GetItemName(ItemID.SandstoneSlab), new object[]{ Language.GetTextValue("Mods.GoldensMisc.ItemName.SandstoneSlab") });
3225
if(VanillaTweaks.MiscellaniaLoaded)
3326
{
3427
int type = ModLoader.GetMod("GoldensMisc").ItemType("SandstoneSlabWall");
@@ -74,6 +67,12 @@ public static void EditTooltips(LanguageManager manager)
7467
tooltips[ItemID.PharaohsMask] = ItemTooltip.FromLanguageKey("Mods.VanillaTweaks.ItemTooltip.Pharaoh");
7568
tooltips[ItemID.PharaohsRobe] = ItemTooltip.FromLanguageKey("Mods.VanillaTweaks.ItemTooltip.Pharaoh");
7669
}
70+
if(Config.CrimsonArmorTweak)
71+
{
72+
tooltips[ItemID.CrimsonHelmet] = ItemTooltip.FromLanguageKey("Mods.VanillaTweaks.ItemTooltip.Crimson");
73+
tooltips[ItemID.CrimsonScalemail] = ItemTooltip.FromLanguageKey("Mods.VanillaTweaks.ItemTooltip.Crimson");
74+
tooltips[ItemID.CrimsonGreaves] = ItemTooltip.FromLanguageKey("Mods.VanillaTweaks.ItemTooltip.Crimson");
75+
}
7776
}
7877
}
7978
}

Localization/en-US.lang

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ ItemTooltip.SwatHelmet=15% increased ranged damage\n10% increased ranged critica
33
MiscellaniaTooltip.SwatHelmet=15% increased ranged damage\n10% increased ranged critical strike chance\nProvides a set bonus when worn with the Reinforced Vest
44
ItemTooltip.Eskimo=Allows touching cold water without freezing
55
ItemTooltip.Pharaoh=Increases minion damage by 5%
6+
ItemTooltip.Crimson=4% increased melee damage
67

78
ArmorSet.Obsidian=10% increased movement speed
89
ArmorSet.Gladiator=15% increased critical strike chance

Localization/ru-RU.lang

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ ItemTooltip.SwatHelmet=Увеличивает урон в дальнем бою
33
MiscellaniaTooltip.SwatHelmet=Увеличивает урон в дальнем бою на 15%\nУвеличивает шанс крит. удара в дальнем бою на 10%\nПри сочетании с Бронежилетом даёт бонус комплекта
44
ItemTooltip.Eskimo=Повзоляет прикасаться к холодной воде, не замерзая
55
ItemTooltip.Pharaoh=Увеличивает урон питомцев на 5%
6+
ItemTooltip.Crimson=Увеличивает урон в ближнем бою на 4%
67

78
ArmorSet.Obsidian=Увеличивает скорость движения на 10%
89
ArmorSet.Gladiator=Увеличивает шанс крит. удара на 15%

NPCTweaks.cs

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ namespace VanillaTweaks
88
{
99
public class NPCTweaks : GlobalNPC
1010
{
11+
public override void SetDefaults(NPC npc)
12+
{
13+
switch(npc.type)
14+
{
15+
case NPCID.UndeadMiner:
16+
if(Config.UndeadMinerTweak)
17+
npc.rarity = 1;
18+
break;
19+
}
20+
}
21+
1122
public override void NPCLoot(NPC npc)
1223
{
1324
switch(npc.type)
@@ -22,15 +33,63 @@ public override void NPCLoot(NPC npc)
2233
case NPCID.GoldWorm:
2334
if(Config.GoldCritterDropTweak)
2435
Item.NewItem((int)npc.position.X, (int)npc.position.Y, npc.width, npc.height, ItemID.GoldCoin, 2);
25-
return;
36+
break;
2637
case NPCID.ZombieEskimo:
2738
case NPCID.ArmedZombieEskimo:
28-
if(Config.EskimoArmorDropTweak)
39+
if(Config.EskimoArmorDropTweak && Main.rand.Next(Main.expertMode ? 5 : 10) == 0)
40+
Item.NewItem(npc.Hitbox, Utils.SelectRandom(Main.rand, ItemID.EskimoHood, ItemID.EskimoCoat, ItemID.EskimoPants));
41+
break;
42+
case NPCID.UndeadMiner:
43+
if(Config.UndeadMinerTweak && Main.rand.Next(Main.expertMode ? 2 : 3) == 0)
44+
Item.NewItem(npc.Hitbox, Utils.SelectRandom(Main.rand, ItemID.MiningHelmet, ItemID.MiningShirt, ItemID.MiningPants));
45+
break;
46+
}
47+
}
48+
49+
public override void SetupTravelShop(int[] shop, ref int nextSlot)
50+
{
51+
if(Config.FishingPoleTweak && !Main.hardMode)
52+
{
53+
for(int i = 0; i < shop.Length; i++)
54+
{
55+
if(shop[i] == ItemID.SittingDucksFishingRod)
56+
{
57+
for(int j = i + 1; j < shop.Length; j++)
58+
{
59+
shop[j - 1] = shop[j];
60+
}
61+
shop[shop.Length - 1] = 0;
62+
nextSlot--;
63+
}
64+
}
65+
}
66+
}
67+
68+
public override void SetupShop(int type, Chest shop, ref int nextSlot)
69+
{
70+
switch(type)
71+
{
72+
case NPCID.Mechanic:
73+
if(Config.FishingPoleTweak && Main.hardMode && Main.moonPhase < 3 && NPC.AnyNPCs(NPCID.Angler))
2974
{
30-
if(Main.rand.Next(Main.expertMode ? 5 : 10) == 0)
31-
Item.NewItem(npc.Hitbox, Utils.SelectRandom(Main.rand, ItemID.EskimoHood, ItemID.EskimoCoat, ItemID.EskimoPants));
75+
bool mechRodFound = false;
76+
77+
for(int i = 0; i < shop.item.Length; i++)
78+
{
79+
if(shop.item[i] != null && shop.item[i].type == ItemID.MechanicsRod)
80+
{
81+
mechRodFound = true;
82+
break;
83+
}
84+
}
85+
86+
if(!mechRodFound)
87+
{
88+
shop.item[nextSlot].SetDefaults(ItemID.MechanicsRod);
89+
nextSlot++;
90+
}
3291
}
33-
return;
92+
break;
3493
}
3594
}
3695
}

VanillaTweaks.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
<Reference Include="System.Xml.Linq">
4747
<RequiredTargetFramework>3.5</RequiredTargetFramework>
4848
</Reference>
49-
<Reference Include="tModLoader">
50-
<HintPath>..\..\..\..\..\..\..\Yurik\Steam\SteamApps\common\Terraria\tModLoader.exe</HintPath>
49+
<Reference Include="Terraria">
50+
<HintPath>..\..\..\..\Steam\SteamApps\common\Terraria\Terraria.exe</HintPath>
5151
</Reference>
5252
</ItemGroup>
5353
<ItemGroup>

build.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
displayName = Vanilla Tweaks
22
author = goldenapple
3-
version = 2.8
3+
version = 2.9
44
homepage = http://forums.terraria.org/index.php?threads/vanilla-tweaks-a-mod-with-no-content.37443/
55
hideCode = false
66
includeSource = true

0 commit comments

Comments
 (0)