├── .gitignore ├── .vs ├── VSWorkspaceState.json └── slnx.sqlite ├── Base └── Items │ ├── Enchantments │ ├── EridanusEnchantment.cs │ ├── EridanusEnchantment.png │ ├── EternityForce.cs │ ├── EternityForce.png │ ├── GaiaEnchantment.cs │ ├── GaiaEnchantment.png │ ├── NekomiEnchantment.cs │ ├── NekomiEnchantment.png │ ├── StyxEnchantment.cs │ ├── StyxEnchantment.png │ ├── TrueMutantEnchantment.cs │ └── TrueMutantEnchantment.png │ ├── OverloadPandora.cs │ ├── OverloadPandora.png │ ├── PandoraTwo.cs │ ├── PandoraTwo.png │ ├── PandorasBox.cs │ ├── PandorasBox.png │ ├── VoidSoul.cs │ ├── VoidSoul.png │ └── Weapons │ ├── ArchWizardWeapon.cs │ ├── BerserkerWeapon.cs │ ├── ColossusWeapon.cs │ ├── ConjuristWeapon.cs │ ├── FlightMasteryWeapon.cs │ ├── OlympianWeapon.cs │ ├── SniperWeapon.cs │ ├── SupersonicWeapon.cs │ ├── TrawlerWeapon.cs │ └── WorldShaperWeapon.cs ├── FargoDLCGlobalProjectile.cs ├── FargoDLCPlayer.cs ├── FargowiltasSoulsDLC.cs ├── FargowiltasSoulsDLC.csproj ├── FargowiltasSoulsDLC.sln ├── Localization └── zh-Hans.hjson ├── Properties └── launchSettings.json ├── build.txt ├── description.txt └── icon.png /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | [Ww][Ii][Nn]32/ 27 | [Aa][Rr][Mm]/ 28 | [Aa][Rr][Mm]64/ 29 | bld/ 30 | [Bb]in/ 31 | [Oo]bj/ 32 | [Ll]og/ 33 | [Ll]ogs/ 34 | 35 | # Visual Studio 2015/2017 cache/options directory 36 | .vs/ 37 | # Uncomment if you have tasks that create the project's static files in wwwroot 38 | #wwwroot/ 39 | 40 | # Visual Studio 2017 auto generated files 41 | Generated\ Files/ 42 | 43 | # MSTest test Results 44 | [Tt]est[Rr]esult*/ 45 | [Bb]uild[Ll]og.* 46 | 47 | # NUnit 48 | *.VisualState.xml 49 | TestResult.xml 50 | nunit-*.xml 51 | 52 | # Build Results of an ATL Project 53 | [Dd]ebugPS/ 54 | [Rr]eleasePS/ 55 | dlldata.c 56 | 57 | # Benchmark Results 58 | BenchmarkDotNet.Artifacts/ 59 | 60 | # .NET Core 61 | project.lock.json 62 | project.fragment.lock.json 63 | artifacts/ 64 | 65 | # ASP.NET Scaffolding 66 | ScaffoldingReadMe.txt 67 | 68 | # StyleCop 69 | StyleCopReport.xml 70 | 71 | # Files built by Visual Studio 72 | *_i.c 73 | *_p.c 74 | *_h.h 75 | *.ilk 76 | *.meta 77 | *.obj 78 | *.iobj 79 | *.pch 80 | *.pdb 81 | *.ipdb 82 | *.pgc 83 | *.pgd 84 | *.rsp 85 | *.sbr 86 | *.tlb 87 | *.tli 88 | *.tlh 89 | *.tmp 90 | *.tmp_proj 91 | *_wpftmp.csproj 92 | *.log 93 | *.vspscc 94 | *.vssscc 95 | .builds 96 | *.pidb 97 | *.svclog 98 | *.scc 99 | 100 | # Chutzpah Test files 101 | _Chutzpah* 102 | 103 | # Visual C++ cache files 104 | ipch/ 105 | *.aps 106 | *.ncb 107 | *.opendb 108 | *.opensdf 109 | *.sdf 110 | *.cachefile 111 | *.VC.db 112 | *.VC.VC.opendb 113 | 114 | # Visual Studio profiler 115 | *.psess 116 | *.vsp 117 | *.vspx 118 | *.sap 119 | 120 | # Visual Studio Trace Files 121 | *.e2e 122 | 123 | # TFS 2012 Local Workspace 124 | $tf/ 125 | 126 | # Guidance Automation Toolkit 127 | *.gpState 128 | 129 | # ReSharper is a .NET coding add-in 130 | _ReSharper*/ 131 | *.[Rr]e[Ss]harper 132 | *.DotSettings.user 133 | 134 | # TeamCity is a build add-in 135 | _TeamCity* 136 | 137 | # DotCover is a Code Coverage Tool 138 | *.dotCover 139 | 140 | # AxoCover is a Code Coverage Tool 141 | .axoCover/* 142 | !.axoCover/settings.json 143 | 144 | # Coverlet is a free, cross platform Code Coverage Tool 145 | coverage*.json 146 | coverage*.xml 147 | coverage*.info 148 | 149 | # Visual Studio code coverage results 150 | *.coverage 151 | *.coveragexml 152 | 153 | # NCrunch 154 | _NCrunch_* 155 | .*crunch*.local.xml 156 | nCrunchTemp_* 157 | 158 | # MightyMoose 159 | *.mm.* 160 | AutoTest.Net/ 161 | 162 | # Web workbench (sass) 163 | .sass-cache/ 164 | 165 | # Installshield output folder 166 | [Ee]xpress/ 167 | 168 | # DocProject is a documentation generator add-in 169 | DocProject/buildhelp/ 170 | DocProject/Help/*.HxT 171 | DocProject/Help/*.HxC 172 | DocProject/Help/*.hhc 173 | DocProject/Help/*.hhk 174 | DocProject/Help/*.hhp 175 | DocProject/Help/Html2 176 | DocProject/Help/html 177 | 178 | # Click-Once directory 179 | publish/ 180 | 181 | # Publish Web Output 182 | *.[Pp]ublish.xml 183 | *.azurePubxml 184 | # Note: Comment the next line if you want to checkin your web deploy settings, 185 | # but database connection strings (with potential passwords) will be unencrypted 186 | *.pubxml 187 | *.publishproj 188 | 189 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 190 | # checkin your Azure Web App publish settings, but sensitive information contained 191 | # in these scripts will be unencrypted 192 | PublishScripts/ 193 | 194 | # NuGet Packages 195 | *.nupkg 196 | # NuGet Symbol Packages 197 | *.snupkg 198 | # The packages folder can be ignored because of Package Restore 199 | **/[Pp]ackages/* 200 | # except build/, which is used as an MSBuild target. 201 | !**/[Pp]ackages/build/ 202 | # Uncomment if necessary however generally it will be regenerated when needed 203 | #!**/[Pp]ackages/repositories.config 204 | # NuGet v3's project.json files produces more ignorable files 205 | *.nuget.props 206 | *.nuget.targets 207 | 208 | # Microsoft Azure Build Output 209 | csx/ 210 | *.build.csdef 211 | 212 | # Microsoft Azure Emulator 213 | ecf/ 214 | rcf/ 215 | 216 | # Windows Store app package directories and files 217 | AppPackages/ 218 | BundleArtifacts/ 219 | Package.StoreAssociation.xml 220 | _pkginfo.txt 221 | *.appx 222 | *.appxbundle 223 | *.appxupload 224 | 225 | # Visual Studio cache files 226 | # files ending in .cache can be ignored 227 | *.[Cc]ache 228 | # but keep track of directories ending in .cache 229 | !?*.[Cc]ache/ 230 | 231 | # Others 232 | ClientBin/ 233 | ~$* 234 | *~ 235 | *.dbmdl 236 | *.dbproj.schemaview 237 | *.jfm 238 | *.pfx 239 | *.publishsettings 240 | orleans.codegen.cs 241 | 242 | # Including strong name files can present a security risk 243 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 244 | #*.snk 245 | 246 | # Since there are multiple workflows, uncomment next line to ignore bower_components 247 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 248 | #bower_components/ 249 | 250 | # RIA/Silverlight projects 251 | Generated_Code/ 252 | 253 | # Backup & report files from converting an old project file 254 | # to a newer Visual Studio version. Backup files are not needed, 255 | # because we have git ;-) 256 | _UpgradeReport_Files/ 257 | Backup*/ 258 | UpgradeLog*.XML 259 | UpgradeLog*.htm 260 | ServiceFabricBackup/ 261 | *.rptproj.bak 262 | 263 | # SQL Server files 264 | *.mdf 265 | *.ldf 266 | *.ndf 267 | 268 | # Business Intelligence projects 269 | *.rdl.data 270 | *.bim.layout 271 | *.bim_*.settings 272 | *.rptproj.rsuser 273 | *- [Bb]ackup.rdl 274 | *- [Bb]ackup ([0-9]).rdl 275 | *- [Bb]ackup ([0-9][0-9]).rdl 276 | 277 | # Microsoft Fakes 278 | FakesAssemblies/ 279 | 280 | # GhostDoc plugin setting file 281 | *.GhostDoc.xml 282 | 283 | # Node.js Tools for Visual Studio 284 | .ntvs_analysis.dat 285 | node_modules/ 286 | 287 | # Visual Studio 6 build log 288 | *.plg 289 | 290 | # Visual Studio 6 workspace options file 291 | *.opt 292 | 293 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 294 | *.vbw 295 | 296 | # Visual Studio LightSwitch build output 297 | **/*.HTMLClient/GeneratedArtifacts 298 | **/*.DesktopClient/GeneratedArtifacts 299 | **/*.DesktopClient/ModelManifest.xml 300 | **/*.Server/GeneratedArtifacts 301 | **/*.Server/ModelManifest.xml 302 | _Pvt_Extensions 303 | 304 | # Paket dependency manager 305 | .paket/paket.exe 306 | paket-files/ 307 | 308 | # FAKE - F# Make 309 | .fake/ 310 | 311 | # CodeRush personal settings 312 | .cr/personal 313 | 314 | # Python Tools for Visual Studio (PTVS) 315 | __pycache__/ 316 | *.pyc 317 | 318 | # Cake - Uncomment if you are using it 319 | # tools/** 320 | # !tools/packages.config 321 | 322 | # Tabs Studio 323 | *.tss 324 | 325 | # Telerik's JustMock configuration file 326 | *.jmconfig 327 | 328 | # BizTalk build output 329 | *.btp.cs 330 | *.btm.cs 331 | *.odx.cs 332 | *.xsd.cs 333 | 334 | # OpenCover UI analysis results 335 | OpenCover/ 336 | 337 | # Azure Stream Analytics local run output 338 | ASALocalRun/ 339 | 340 | # MSBuild Binary and Structured Log 341 | *.binlog 342 | 343 | # NVidia Nsight GPU debugger configuration file 344 | *.nvuser 345 | 346 | # MFractors (Xamarin productivity tool) working folder 347 | .mfractor/ 348 | 349 | # Local History for Visual Studio 350 | .localhistory/ 351 | 352 | # BeatPulse healthcheck temp database 353 | healthchecksdb 354 | 355 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 356 | MigrationBackup/ 357 | 358 | # Ionide (cross platform F# VS Code tools) working folder 359 | .ionide/ 360 | 361 | # Fody - auto-generated XML schema 362 | FodyWeavers.xsd 363 | -------------------------------------------------------------------------------- /.vs/VSWorkspaceState.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExpandedNodes": [ 3 | "", 4 | "\\Thorium", 5 | "\\Thorium\\Enchantments", 6 | "\\Thorium\\Forces", 7 | "\\Thorium\\Souls" 8 | ], 9 | "SelectedNode": "\\Thorium\\Forces\\SvartalfheimForce.cs", 10 | "PreviewInSolutionExplorer": false 11 | } -------------------------------------------------------------------------------- /.vs/slnx.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/.vs/slnx.sqlite -------------------------------------------------------------------------------- /Base/Items/Enchantments/EridanusEnchantment.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls.Items.Armor; 3 | using Microsoft.Xna.Framework; 4 | using System.Collections.Generic; 5 | using Terraria; 6 | using Terraria.ID; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class EridanusEnchantment : BaseEnchant 12 | { 13 | public override void SetStaticDefaults() 14 | { 15 | base.SetStaticDefaults(); 16 | 17 | DisplayName.SetDefault("Eridanus Enchantment"); 18 | } 19 | 20 | public override void SafeModifyTooltips(List tooltips) 21 | { 22 | base.SafeModifyTooltips(tooltips); 23 | 24 | Player player = Main.LocalPlayer; 25 | string tooltip = EridanusHat.getSetBonusString(player); 26 | string[] lines = tooltip.Split("\n"); 27 | 28 | foreach (string line in lines) 29 | { 30 | TooltipLine tooltipLine = new TooltipLine(Mod, "tooltip", line); 31 | tooltips.Add(tooltipLine); 32 | } 33 | } 34 | 35 | protected override Color nameColor => Color.Purple; 36 | public override string wizardEffect => ""; 37 | 38 | public override void SetDefaults() 39 | { 40 | base.SetDefaults(); 41 | 42 | Item.rare = ItemRarityID.Purple; 43 | Item.value = 150000; 44 | } 45 | 46 | public override void UpdateAccessory(Player player, bool hideVisual) 47 | { 48 | EridanusHat.EridanusSetBonus(player, Item); 49 | } 50 | 51 | public override void AddRecipes() 52 | { 53 | CreateRecipe() 54 | 55 | .AddIngredient(ModContent.ItemType()) 56 | .AddIngredient(ModContent.ItemType()) 57 | .AddIngredient(ModContent.ItemType()) 58 | 59 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 60 | .Register(); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/EridanusEnchantment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/EridanusEnchantment.png -------------------------------------------------------------------------------- /Base/Items/Enchantments/EternityForce.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls; 3 | using FargowiltasSouls.Items.Accessories.Forces; 4 | using FargowiltasSouls.Items.Materials; 5 | using Terraria.ModLoader; 6 | using Terraria; 7 | using Terraria.Localization; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class EternityForce : BaseForce 12 | { 13 | public static int[] Enchants => new int[] 14 | { 15 | ModContent.ItemType(), 16 | ModContent.ItemType(), 17 | ModContent.ItemType(), 18 | ModContent.ItemType(), 19 | ModContent.ItemType() 20 | }; 21 | 22 | public override void SetStaticDefaults() 23 | { 24 | base.SetStaticDefaults(); 25 | 26 | DisplayName.SetDefault("Force of Eternity"); 27 | 28 | string tooltip = 29 | $"[i:{ModContent.ItemType()}] [i:{ModContent.ItemType()}] [i:{ModContent.ItemType()}] [i:{ModContent.ItemType()}] [i:{ModContent.ItemType()}] \n" + 30 | $"Grants all effects of material Enchantments\n" + 31 | "'0.00001% of the Lumberjack's power'"; 32 | Tooltip.SetDefault(tooltip); 33 | string tooltip_zh = @"[i:{0}][i:{1}][i:{2}][i:{3}][i:{4}] 获得猫猫睡衣盔甲、盖亚盔甲、波江盔甲、冥河盔甲、真·突变盔甲的所有套装效果" + "\n" + "“伐木工0.00001%的力量”"; 34 | Tooltip.AddTranslation((int)GameCulture.CultureName.Chinese, string.Format(tooltip_zh, Enchants[0], Enchants[1], Enchants[2], Enchants[3], Enchants[4])); 35 | 36 | } 37 | 38 | public override void UpdateAccessory(Player player, bool hideVisual) 39 | { 40 | ModContent.GetModItem(ModContent.ItemType()).UpdateAccessory(player, hideVisual); 41 | ModContent.GetModItem(ModContent.ItemType()).UpdateAccessory(player, hideVisual); 42 | ModContent.GetModItem(ModContent.ItemType()).UpdateAccessory(player, hideVisual); 43 | ModContent.GetModItem(ModContent.ItemType()).UpdateAccessory(player, hideVisual); 44 | ModContent.GetModItem(ModContent.ItemType()).UpdateAccessory(player, hideVisual); 45 | } 46 | 47 | public override void AddRecipes() 48 | { 49 | Recipe recipe = CreateRecipe(); 50 | foreach (int ench in Enchants) 51 | recipe.AddIngredient(ench); 52 | 53 | recipe.AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")); 54 | recipe.Register(); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/EternityForce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/EternityForce.png -------------------------------------------------------------------------------- /Base/Items/Enchantments/GaiaEnchantment.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls.Items.Armor; 3 | using Microsoft.Xna.Framework; 4 | using System.Collections.Generic; 5 | using Terraria; 6 | using Terraria.ID; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class GaiaEnchantment : BaseEnchant 12 | { 13 | public override void SetStaticDefaults() 14 | { 15 | base.SetStaticDefaults(); 16 | 17 | DisplayName.SetDefault("Gaia Enchantment"); 18 | } 19 | 20 | public override void SafeModifyTooltips(List tooltips) 21 | { 22 | base.SafeModifyTooltips(tooltips); 23 | 24 | string tooltip = GaiaHelmet.getSetBonusString(); 25 | string[] lines = tooltip.Split("\n"); 26 | 27 | foreach (string line in lines) 28 | { 29 | TooltipLine tooltipLine = new TooltipLine(Mod, "tooltip", line); 30 | tooltips.Add(tooltipLine); 31 | } 32 | } 33 | 34 | protected override Color nameColor => Color.Green; 35 | public override string wizardEffect => ""; 36 | 37 | public override void SetDefaults() 38 | { 39 | base.SetDefaults(); 40 | 41 | Item.rare = ItemRarityID.Yellow; 42 | Item.value = 100000; 43 | } 44 | 45 | public override void UpdateAccessory(Player player, bool hideVisual) 46 | { 47 | GaiaHelmet.GaiaSetBonus(player); 48 | } 49 | 50 | public override void AddRecipes() 51 | { 52 | CreateRecipe() 53 | 54 | .AddIngredient(ModContent.ItemType()) 55 | .AddIngredient(ModContent.ItemType()) 56 | .AddIngredient(ModContent.ItemType()) 57 | 58 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 59 | .Register(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/GaiaEnchantment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/GaiaEnchantment.png -------------------------------------------------------------------------------- /Base/Items/Enchantments/NekomiEnchantment.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls.Items.Armor; 3 | using Microsoft.Xna.Framework; 4 | using System.Collections.Generic; 5 | using Terraria; 6 | using Terraria.ID; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class NekomiEnchantment : BaseEnchant 12 | { 13 | public override void SetStaticDefaults() 14 | { 15 | base.SetStaticDefaults(); 16 | 17 | DisplayName.SetDefault("Nekomi Enchantment"); 18 | } 19 | 20 | public override void SafeModifyTooltips(List tooltips) 21 | { 22 | base.SafeModifyTooltips(tooltips); 23 | 24 | string tooltip = NekomiHood.getSetBonusString(); 25 | string[] lines = tooltip.Split("\n"); 26 | 27 | foreach (string line in lines) 28 | { 29 | TooltipLine tooltipLine = new TooltipLine(Mod, "tooltip", line); 30 | tooltips.Add(tooltipLine); 31 | } 32 | } 33 | 34 | protected override Color nameColor => Color.Pink; 35 | public override string wizardEffect => ""; 36 | 37 | public override void SetDefaults() 38 | { 39 | base.SetDefaults(); 40 | 41 | Item.rare = ItemRarityID.LightRed; 42 | Item.value = 50000; 43 | } 44 | 45 | public override void UpdateAccessory(Player player, bool hideVisual) 46 | { 47 | NekomiHood.NekomiSetBonus(player, Item); 48 | } 49 | 50 | public override void AddRecipes() 51 | { 52 | CreateRecipe() 53 | 54 | .AddIngredient(ModContent.ItemType()) 55 | .AddIngredient(ModContent.ItemType()) 56 | .AddIngredient(ModContent.ItemType()) 57 | 58 | .AddTile(TileID.CrystalBall) 59 | .Register(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/NekomiEnchantment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/NekomiEnchantment.png -------------------------------------------------------------------------------- /Base/Items/Enchantments/StyxEnchantment.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls.Items.Armor; 3 | using Microsoft.Xna.Framework; 4 | using System.Collections.Generic; 5 | using Terraria; 6 | using Terraria.ID; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class StyxEnchantment : BaseEnchant 12 | { 13 | public override void SetStaticDefaults() 14 | { 15 | base.SetStaticDefaults(); 16 | 17 | DisplayName.SetDefault("Styx Enchantment"); 18 | } 19 | 20 | public override void SafeModifyTooltips(List tooltips) 21 | { 22 | base.SafeModifyTooltips(tooltips); 23 | 24 | string tooltip = StyxCrown.getSetBonusString(); 25 | string[] lines = tooltip.Split("\n"); 26 | 27 | foreach (string line in lines) 28 | { 29 | TooltipLine tooltipLine = new TooltipLine(Mod, "tooltip", line); 30 | tooltips.Add(tooltipLine); 31 | } 32 | } 33 | 34 | protected override Color nameColor => Color.Orange; 35 | public override string wizardEffect => ""; 36 | 37 | public override void SetDefaults() 38 | { 39 | base.SetDefaults(); 40 | 41 | Item.rare = ItemRarityID.Purple; 42 | Item.value = 250000; 43 | } 44 | 45 | public override void UpdateAccessory(Player player, bool hideVisual) 46 | { 47 | StyxCrown.StyxSetBonus(player, Item); 48 | } 49 | 50 | public override void AddRecipes() 51 | { 52 | CreateRecipe() 53 | 54 | .AddIngredient(ModContent.ItemType()) 55 | .AddIngredient(ModContent.ItemType()) 56 | .AddIngredient(ModContent.ItemType()) 57 | 58 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 59 | .Register(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/StyxEnchantment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/StyxEnchantment.png -------------------------------------------------------------------------------- /Base/Items/Enchantments/TrueMutantEnchantment.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Enchantments; 2 | using FargowiltasSouls.Items.Armor; 3 | using Microsoft.Xna.Framework; 4 | using System.Collections.Generic; 5 | using Terraria; 6 | using Terraria.ID; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC.Base.Items.Enchantments 10 | { 11 | public class TrueMutantEnchantment : BaseEnchant 12 | { 13 | public override void SetStaticDefaults() 14 | { 15 | base.SetStaticDefaults(); 16 | 17 | DisplayName.SetDefault("True Mutant Enchantment"); 18 | } 19 | 20 | public override void SafeModifyTooltips(List tooltips) 21 | { 22 | base.SafeModifyTooltips(tooltips); 23 | 24 | string tooltip = MutantMask.getSetBonusString(); 25 | string[] lines = tooltip.Split("\n"); 26 | 27 | foreach (string line in lines) 28 | { 29 | TooltipLine tooltipLine = new TooltipLine(Mod, "tooltip", line); 30 | tooltips.Add(tooltipLine); 31 | } 32 | } 33 | 34 | protected override Color nameColor => new Color(Main.DiscoR, 51, 255 - (int)(Main.DiscoR * 0.4)); 35 | public override string wizardEffect => ""; 36 | 37 | public override void SetDefaults() 38 | { 39 | base.SetDefaults(); 40 | 41 | Item.rare = ItemRarityID.Purple; 42 | Item.value = 500000; 43 | } 44 | 45 | public override void UpdateAccessory(Player player, bool hideVisual) 46 | { 47 | MutantMask.MutantSetBonus(player, Item); 48 | } 49 | 50 | public override void AddRecipes() 51 | { 52 | CreateRecipe() 53 | 54 | .AddIngredient(ModContent.ItemType()) 55 | .AddIngredient(ModContent.ItemType()) 56 | .AddIngredient(ModContent.ItemType()) 57 | 58 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 59 | .Register(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Base/Items/Enchantments/TrueMutantEnchantment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/Enchantments/TrueMutantEnchantment.png -------------------------------------------------------------------------------- /Base/Items/OverloadPandora.cs: -------------------------------------------------------------------------------- 1 | //using Microsoft.Xna.Framework; 2 | //using Terraria; 3 | //using Terraria.ID; 4 | //using Terraria.Localization; 5 | //using Terraria.ModLoader; 6 | 7 | //namespace Fargowiltas.Items.Summons.SwarmSummons 8 | //{ 9 | // public class OverloadPandora : ModItem 10 | // { 11 | // public override void SetStaticDefaults() 12 | // { 13 | // DisplayName.SetDefault("Pandora's Tesseract"); 14 | // Tooltip.SetDefault("The ultimate swarm"); 15 | // } 16 | 17 | // public override void SetDefaults() 18 | // { 19 | // Item.width = 20; 20 | // Item.height = 20; 21 | // Item.maxStack = 1; 22 | // Item.value = 1000; 23 | // Item.rare = 11; 24 | // Item.useAnimation = 30; 25 | // Item.useTime = 30; 26 | // Item.useStyle = 4; 27 | // Item.consumable = true; 28 | // } 29 | 30 | // //public override bool CanUseItem(Player player) 31 | // //{ 32 | // // return !Fargowiltas.SwarmActive && !Main.dayTime; 33 | // //} 34 | 35 | // //public override bool UseItem(Player player) 36 | // //{ 37 | // // Fargowiltas.SwarmActive = true; 38 | // // Fargowiltas.SwarmTotal = 500; 39 | // // Fargowiltas.SwarmKills = 0; 40 | // // Fargowiltas.SwarmSpawned = 40; 41 | 42 | // // for (int i = 0; i < Fargowiltas.SwarmSpawned; i++) 43 | // // { 44 | // // int boss = NPC.NewNPC((int)player.position.X + Main.rand.Next(-1000, 1000), (int)player.position.Y + Main.rand.Next(-1000, -400), FargoGlobalNPC.Bosses[Main.rand.Next(FargoGlobalNPC.Bosses.Length)]); 45 | // // Main.npc[boss].GetGlobalNPC().PandoraActive = true; 46 | // // } 47 | 48 | // // /*if (Main.netMode == 2) 49 | // // { 50 | // // NetMessage.BroadcastChatMessage(NetworkText.FromLiteral("The jungle beats as one!"), new Color(175, 75, 255)); 51 | // // } 52 | // // else 53 | // // { 54 | // // Main.NewText("The jungle beats as one!", 175, 75, 255); 55 | // // }*/ 56 | 57 | // // Main.PlaySound(15, (int)player.position.X, (int)player.position.Y, 0); 58 | // // return true; 59 | // //} 60 | 61 | // public override void AddRecipes() 62 | // { 63 | // ModRecipe recipe = new ModRecipe(mod); 64 | // recipe.AddIngredient(null, "OverloadSlimeCrown"); 65 | // recipe.AddIngredient(null, "OverloadEye"); 66 | // recipe.AddIngredient(null, "OverloadWorm"); 67 | // recipe.AddIngredient(null, "OverloadBrain"); 68 | // recipe.AddIngredient(null, "OverloadBee"); 69 | // recipe.AddIngredient(null, "OverloadSkele"); 70 | // recipe.AddIngredient(null, "OverloadDestroyer"); 71 | // recipe.AddIngredient(null, "OverloadTwins"); 72 | // recipe.AddIngredient(null, "OverloadPrime"); 73 | // recipe.AddIngredient(null, "OverloadPlant"); 74 | // recipe.AddIngredient(null, "OverloadGolem"); 75 | // recipe.AddIngredient(null, "OverloadFish"); 76 | // recipe.AddIngredient(null, "OverloadMoon"); 77 | // recipe.AddTile(TileID.DemonAltar); 78 | // recipe.SetResult(this); 79 | // recipe.AddRecipe(); 80 | // } 81 | // } 82 | //} -------------------------------------------------------------------------------- /Base/Items/OverloadPandora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/OverloadPandora.png -------------------------------------------------------------------------------- /Base/Items/PandoraTwo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Terraria; 4 | using Terraria.ID; 5 | using Terraria.ModLoader; 6 | using Terraria.DataStructures; 7 | 8 | namespace FargowiltasSoulsDLC.Base.Items 9 | { 10 | public class PandoraTwo : ModItem 11 | { 12 | private int[] projectiles = {15, 27, 45, 76, 77, 78, 88, 89, 95, 114, 116, 119, 120, 121, 122, 123, 124, 125, 126, 132, 156, 157, 172, 173, 189, 207, 13 | 225, 242, 253, 254, 261, 263, 270, 274, 278, 279, 280, 282, 283, 284, 285, 294, 295, 304, 306, 311, 321, 335, 336, 337, 338, 343, 356, 357, 399, 408, 409, 410, 14 | 424, 442, 444, 451, 461, 477, 478, 479, 483, 495, 496, 497, 502, 503, 510, 521, 523, 615, 617, 630, 636, 639, 659, 660, 661, 684, 700, 706, 710, 711, 712}; 15 | 16 | public override void SetStaticDefaults() 17 | { 18 | DisplayName.SetDefault("Pandora's Tome"); 19 | Tooltip.SetDefault("A true mess of projectiles"); 20 | 21 | //DisplayName.AddTranslation((int)GameCulture.CultureName.Chinese, "潘多拉之书"); 22 | //Tooltip.AddTranslation((int)GameCulture.CultureName.Chinese, "一大堆抛射物"); 23 | } 24 | 25 | public override void SetDefaults() 26 | { 27 | Item.damage = 121; 28 | Item.DamageType = DamageClass.Magic; 29 | Item.width = 24; 30 | Item.height = 28; 31 | Item.useTime = 5; 32 | Item.useAnimation = 10; 33 | Item.useStyle = ItemUseStyleID.Shoot; 34 | Item.noMelee = true; 35 | Item.knockBack = 2; 36 | Item.value = 1000; 37 | Item.rare = ItemRarityID.Red; 38 | Item.mana = 12; 39 | Item.UseSound = SoundID.Item21; 40 | Item.autoReuse = true; 41 | Item.shoot = ProjectileID.WoodenArrowFriendly; 42 | Item.shootSpeed = 18f; 43 | } 44 | 45 | public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback) 46 | { 47 | float num72 = Item.shootSpeed; 48 | int num73 = Item.damage; 49 | float num74 = Item.knockBack; 50 | num74 = player.GetWeaponKnockback(Item, num74); 51 | player.itemTime = Item.useTime; 52 | Vector2 vector2 = player.RotatedRelativePoint(player.MountedCenter); 53 | Vector2.UnitX.RotatedBy(player.fullRotation); 54 | float num78 = Main.mouseX + Main.screenPosition.X - vector2.X; 55 | float num79 = Main.mouseY + Main.screenPosition.Y - vector2.Y; 56 | if (player.gravDir == -1f) num79 = Main.screenPosition.Y + Main.screenHeight - Main.mouseY - vector2.Y; 57 | 58 | float num80 = (float)Math.Sqrt(num78 * num78 + num79 * num79); 59 | if (float.IsNaN(num78) && float.IsNaN(num79) || num78 == 0f && num79 == 0f) 60 | { 61 | num78 = player.direction; 62 | num79 = 0f; 63 | num80 = num72; 64 | } 65 | else 66 | { 67 | num80 = num72 / num80; 68 | } 69 | 70 | num78 *= num80; 71 | num79 *= num80; 72 | int num146 = 4; 73 | if (Main.rand.NextBool(2)) num146++; 74 | 75 | if (Main.rand.NextBool(4)) num146++; 76 | 77 | if (Main.rand.NextBool(8)) num146++; 78 | 79 | if (Main.rand.NextBool(16)) num146++; 80 | 81 | for (int num147 = 0; num147 < num146; num147++) 82 | { 83 | int r = projectiles[Main.rand.Next(projectiles.Length)]; 84 | 85 | float num148 = num78; 86 | float num149 = num79; 87 | float num150 = 0.05f * num147; 88 | num148 += Main.rand.Next(-35, 36) * num150; 89 | num149 += Main.rand.Next(-35, 36) * num150; 90 | num80 = (float)Math.Sqrt(num148 * num148 + num149 * num149); 91 | num80 = num72 / num80; 92 | num148 *= num80; 93 | num149 *= num80; 94 | float x4 = vector2.X; 95 | float y4 = vector2.Y; 96 | 97 | Projectile.NewProjectile(player.GetSource_ItemUse(Item), x4, y4, num148, num149, r, num73, num74, Main.myPlayer); 98 | } 99 | 100 | return false; 101 | } 102 | 103 | public override void AddRecipes() 104 | { 105 | CreateRecipe() 106 | .AddIngredient(null, "PandorasBox") 107 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 108 | .Register(); 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /Base/Items/PandoraTwo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/PandoraTwo.png -------------------------------------------------------------------------------- /Base/Items/PandorasBox.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Xna.Framework; 2 | using Terraria; 3 | using Terraria.ID; 4 | using Terraria.ModLoader; 5 | using Terraria.Audio; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items 8 | { 9 | public class PandorasBox : ModItem 10 | { 11 | public override void SetStaticDefaults() 12 | { 13 | DisplayName.SetDefault("Pandora's Box"); 14 | Tooltip.SetDefault("Summons something at random\n" + 15 | "Much friendlier options during the day"); 16 | 17 | //DisplayName.AddTranslation((int)GameCulture.CultureName.Chinese, "潘多拉之盒"); 18 | //Tooltip.AddTranslation((int)GameCulture.CultureName.Chinese, "随机召唤\n" + 19 | //"白天时使用是个更友好的选择"); 20 | } 21 | 22 | public override void SetDefaults() 23 | { 24 | Item.width = 20; 25 | Item.height = 20; 26 | Item.maxStack = 20; 27 | Item.value = 1000; 28 | Item.rare = ItemRarityID.Blue; 29 | Item.useAnimation = 30; 30 | Item.useTime = 30; 31 | Item.useStyle = ItemUseStyleID.HoldUp; 32 | Item.consumable = true; 33 | } 34 | 35 | public override bool? UseItem(Player player) 36 | { 37 | Tile centerTile = Framing.GetTileSafely(player.Center); 38 | 39 | //if (centerTile.type == ModLoader.GetMod("Fargowiltas").TileType("EchPaintingSheet") 40 | // && centerTile.wall == WallID.LihzahrdBrickUnsafe && Main.eclipse && Main.moonPhase == 0 41 | // && NPC.AnyNPCs(NPCID.DungeonGuardian) 42 | // && player.controlUp && player.controlDown && !player.controlLeft && !player.controlRight) 43 | //{ 44 | // Tile floorTile = Framing.GetTileSafely(new Vector2(player.Center.X, player.position.Y + player.height + 8)); 45 | // if (floorTile.type == TileID.LunarBrick) 46 | // { 47 | // int type = mod.NPCType("Echdeath"); 48 | // NPC.NewNPC((int)player.position.X + Main.rand.Next(-800, 800), (int)player.position.Y + Main.rand.Next(-1000, -250), type); 49 | // Main.PlaySound(SoundID.Roar, (int)player.position.X, (int)player.position.Y, 0); 50 | // return true; 51 | // } 52 | //} 53 | 54 | //if (centerTile.type == TileID.PlanteraBulb) //spawn guntera when in front of bulb 55 | //{ 56 | // int type = ModContent.NPCType(); 57 | // NPC.NewNPC((int)player.position.X + Main.rand.Next(-800, 800), (int)player.position.Y + Main.rand.Next(-1000, -250), type); 58 | // Main.PlaySound(SoundID.Roar, (int)player.position.X, (int)player.position.Y, 0); 59 | // return true; 60 | //} 61 | 62 | //if (centerTile.wall == WallID.Flesh) //spawn ceiling when in front of flesh wall and on luminite brick 63 | //{ 64 | // Tile floorTile = Framing.GetTileSafely(new Vector2(player.Center.X, player.position.Y + player.height + 8)); 65 | // if (floorTile.type == TileID.LunarBrick) 66 | // { 67 | // int type = ModContent.NPCType(); 68 | // NPC.NewNPC((int)player.position.X + Main.rand.Next(-800, 800), (int)player.position.Y + Main.rand.Next(-1000, -250), type); 69 | // Main.PlaySound(SoundID.Roar, (int)player.position.X, (int)player.position.Y, 0); 70 | // return true; 71 | // } 72 | //} 73 | 74 | int totalNPCs = NPCLoader.NPCCount; 75 | 76 | for (int i = 0; i < 5; i++) 77 | { 78 | NPC npc = new NPC(); 79 | npc.SetDefaults(Main.rand.Next(totalNPCs)); 80 | 81 | if ((!Main.hardMode && npc.boss) 82 | || (!NPC.downedGolemBoss && (npc.type == NPCID.DD2Betsy || npc.type == NPCID.MartianProbe)) 83 | || (!NPC.downedAncientCultist && (npc.type == NPCID.LunarTowerNebula || npc.type == NPCID.LunarTowerSolar || npc.type == NPCID.LunarTowerStardust || npc.type == NPCID.LunarTowerVortex))) 84 | { 85 | i--; 86 | continue; 87 | } 88 | 89 | if (Main.dayTime) 90 | { 91 | if (npc.lifeMax > 200 || npc.boss || npc.townNPC || npc.dontTakeDamage || npc.type == NPCID.BoundGoblin || npc.type == NPCID.BoundMechanic || npc.type == NPCID.BoundWizard || npc.type == NPCID.BartenderUnconscious || npc.type == NPCID.WebbedStylist) 92 | { 93 | i--; 94 | } 95 | else 96 | { 97 | NPC.NewNPC(player.GetSource_ItemUse(Item), (int)player.position.X + Main.rand.Next(-800, 800), (int)player.position.Y + Main.rand.Next(-1000, -250), npc.type); 98 | } 99 | } 100 | //night 101 | else 102 | { 103 | if (npc.townNPC || npc.dontTakeDamage || npc.type == NPCID.BoundGoblin || npc.type == NPCID.BoundMechanic || npc.type == NPCID.BoundWizard || npc.type == NPCID.BartenderUnconscious || npc.type == NPCID.WebbedStylist || npc.type == NPCID.LunarTowerNebula || npc.type == NPCID.LunarTowerSolar || npc.type == NPCID.LunarTowerStardust || npc.type == NPCID.LunarTowerVortex) 104 | { 105 | i--; 106 | } 107 | else 108 | { 109 | NPC.NewNPC(player.GetSource_ItemUse(Item), (int)player.position.X + Main.rand.Next(-800, 800), (int)player.position.Y + Main.rand.Next(-1000, -250), npc.type); 110 | } 111 | } 112 | } 113 | 114 | SoundEngine.PlaySound(SoundID.Roar, player.position); 115 | return true; 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /Base/Items/PandorasBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/PandorasBox.png -------------------------------------------------------------------------------- /Base/Items/VoidSoul.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Items.Accessories.Souls; 2 | using FargowiltasSouls; 3 | using Terraria; 4 | using Terraria.ID; 5 | using FargowiltasSouls.Toggler; 6 | using Terraria.ModLoader; 7 | 8 | namespace FargowiltasSoulsDLC.Base.Items 9 | { 10 | public class VoidSoul : BaseSoul 11 | { 12 | public override void SetStaticDefaults() 13 | { 14 | base.SetStaticDefaults(); 15 | 16 | DisplayName.SetDefault("Soul of the Void"); 17 | 18 | string tooltip = 19 | @"Summons SOMETHING"; 20 | Tooltip.SetDefault(tooltip); 21 | } 22 | 23 | public override void SetDefaults() 24 | { 25 | base.SetDefaults(); 26 | 27 | Item.rare = -12; 28 | } 29 | 30 | public override void UpdateAccessory(Player player, bool hideVisual) 31 | { 32 | FargoSoulsPlayer modPlayer = player.GetModPlayer(); 33 | modPlayer.VoidSoul = true; 34 | 35 | modPlayer.AddPet(player.GetToggleValue("PetDino"), hideVisual, BuffID.BabyDinosaur, ProjectileID.BabyDino); 36 | modPlayer.AddPet(player.GetToggleValue("PetEater"), hideVisual, BuffID.BabyEater, ProjectileID.BabyEater); 37 | modPlayer.AddPet(player.GetToggleValue("PetFaceMonster"), hideVisual, BuffID.BabyFaceMonster, ProjectileID.BabyFaceMonster); 38 | modPlayer.AddPet(player.GetToggleValue("PetGrinch"), hideVisual, BuffID.BabyGrinch, ProjectileID.BabyGrinch); 39 | modPlayer.AddPet(player.GetToggleValue("PetHornet"), hideVisual, BuffID.BabyHornet, ProjectileID.BabyHornet); 40 | modPlayer.AddPet(player.GetToggleValue("PetImp"), hideVisual, BuffID.BabyImp, ProjectileID.BabyImp); 41 | modPlayer.AddPet(player.GetToggleValue("PetPenguin"), hideVisual, BuffID.BabyPenguin, ProjectileID.Penguin); 42 | modPlayer.AddPet(player.GetToggleValue("PetPanda"), hideVisual, BuffID.BabyRedPanda, ProjectileID.BabyRedPanda); 43 | modPlayer.AddPet(player.GetToggleValue("PetDG"), hideVisual, BuffID.BabySkeletronHead, ProjectileID.BabySkeletronHead); 44 | modPlayer.AddPet(player.GetToggleValue("PetSnowman"), hideVisual, BuffID.BabySnowman, ProjectileID.BabySnowman); 45 | modPlayer.AddPet(player.GetToggleValue("PetShroom"), hideVisual, BuffID.BabyTruffle, ProjectileID.Truffle); 46 | modPlayer.AddPet(player.GetToggleValue("PetWerewolf"), hideVisual, BuffID.BabyWerewolf, ProjectileID.BabyWerewolf); 47 | modPlayer.AddPet(player.GetToggleValue("PetBernie"), hideVisual, BuffID.BerniePet, ProjectileID.BerniePet); 48 | modPlayer.AddPet(player.GetToggleValue("PetBlackCat"), hideVisual, BuffID.BlackCat, ProjectileID.BlackCat); 49 | //blue chicken 50 | //caveling 51 | modPlayer.AddPet(player.GetToggleValue("PetChester"), hideVisual, BuffID.ChesterPet, ProjectileID.ChesterPet); 52 | modPlayer.AddPet(player.GetToggleValue("PetCompanionCube"), hideVisual, BuffID.CompanionCube, ProjectileID.CompanionCube); 53 | modPlayer.AddPet(player.GetToggleValue("PetCursedSapling"), hideVisual, BuffID.CursedSapling, ProjectileID.CursedSapling); 54 | //dirt 55 | modPlayer.AddPet(player.GetToggleValue("PetKitten"), hideVisual, BuffID.DynamiteKitten, ProjectileID.DynamiteKitten); 56 | modPlayer.AddPet(player.GetToggleValue("PetEstee"), hideVisual, BuffID.UpbeatStar, ProjectileID.UpbeatStar); 57 | modPlayer.AddPet(player.GetToggleValue("PetEyeSpring"), hideVisual, BuffID.EyeballSpring, ProjectileID.EyeSpring); 58 | modPlayer.AddPet(player.GetToggleValue("PetFox"), hideVisual, BuffID.FennecFox, ProjectileID.FennecFox); 59 | modPlayer.AddPet(player.GetToggleValue("PetButterfly"), hideVisual, BuffID.GlitteryButterfly, ProjectileID.GlitteryButterfly); 60 | modPlayer.AddPet(player.GetToggleValue("PetGlommer"), hideVisual, BuffID.GlommerPet, ProjectileID.GlommerPet); 61 | modPlayer.AddPet(player.GetToggleValue("PetDragon"), hideVisual, BuffID.PetDD2Dragon, ProjectileID.DD2PetDragon); 62 | //junimo 63 | modPlayer.AddPet(player.GetToggleValue("PetHarpy"), hideVisual, BuffID.LilHarpy, ProjectileID.LilHarpy); 64 | modPlayer.AddPet(player.GetToggleValue("PetLizard"), hideVisual, BuffID.PetLizard, ProjectileID.PetLizard); 65 | modPlayer.AddPet(player.GetToggleValue("PetMinitaur"), hideVisual, BuffID.MiniMinotaur, ProjectileID.MiniMinotaur); 66 | modPlayer.AddPet(player.GetToggleValue("PetParrot"), hideVisual, BuffID.PetParrot, ProjectileID.Parrot); 67 | modPlayer.AddPet(player.GetToggleValue("PetPigman"), hideVisual, BuffID.PigPet, ProjectileID.PigPet); 68 | modPlayer.AddPet(player.GetToggleValue("PetPlantero"), hideVisual, BuffID.Plantero, ProjectileID.Plantero); 69 | modPlayer.AddPet(player.GetToggleValue("PetGato"), hideVisual, BuffID.PetDD2Gato, ProjectileID.DD2PetGato); 70 | modPlayer.AddPet(player.GetToggleValue("PetPup"), hideVisual, BuffID.Puppy, ProjectileID.Puppy); 71 | modPlayer.AddPet(player.GetToggleValue("PetSeed"), hideVisual, BuffID.PetSapling, ProjectileID.Sapling); 72 | modPlayer.AddPet(player.GetToggleValue("PetSpider"), hideVisual, BuffID.PetSpider, ProjectileID.Spider); 73 | modPlayer.AddPet(player.GetToggleValue("PetMimic"), hideVisual, BuffID.ShadowMimic, ProjectileID.ShadowMimic); 74 | modPlayer.AddPet(player.GetToggleValue("PetShark"), hideVisual, BuffID.SharkPup, ProjectileID.SharkPup); 75 | //spiffo 76 | modPlayer.AddPet(player.GetToggleValue("PetSquash"), hideVisual, BuffID.Squashling, ProjectileID.Squashling); 77 | modPlayer.AddPet(player.GetToggleValue("PetGlider"), hideVisual, BuffID.SugarGlider, ProjectileID.SugarGlider); 78 | modPlayer.AddPet(player.GetToggleValue("PetTiki"), hideVisual, BuffID.TikiSpirit, ProjectileID.TikiSpirit); 79 | modPlayer.AddPet(player.GetToggleValue("PetTurtle"), hideVisual, BuffID.PetTurtle, ProjectileID.Turtle); 80 | modPlayer.AddPet(player.GetToggleValue("PetVolt"), hideVisual, BuffID.VoltBunny, ProjectileID.VoltBunny); 81 | modPlayer.AddPet(player.GetToggleValue("PetZephyr"), hideVisual, BuffID.ZephyrFish, ProjectileID.ZephyrFish); 82 | 83 | modPlayer.AddPet(player.GetToggleValue("PetOrb"), hideVisual, BuffID.ShadowOrb, ProjectileID.ShadowOrb); 84 | modPlayer.AddPet(player.GetToggleValue("PetHeart"), hideVisual, BuffID.CrimsonHeart, ProjectileID.CrimsonHeart); 85 | modPlayer.AddPet(player.GetToggleValue("PetLantern"), hideVisual, BuffID.MagicLantern, ProjectileID.MagicLantern); 86 | modPlayer.AddPet(player.GetToggleValue("PetNavi"), hideVisual, BuffID.FairyBlue, ProjectileID.BlueFairy); 87 | modPlayer.AddPet(player.GetToggleValue("PetFlicker"), hideVisual, BuffID.PetDD2Ghost, ProjectileID.DD2PetGhost); 88 | modPlayer.AddPet(player.GetToggleValue("PetWisp"), hideVisual, BuffID.Wisp, ProjectileID.Wisp); 89 | modPlayer.AddPet(player.GetToggleValue("PetSuspEye"), hideVisual, BuffID.SuspiciousTentacle, ProjectileID.SuspiciousTentacle); 90 | 91 | modPlayer.AddPet(player.GetToggleValue("PetKS"), hideVisual, BuffID.KingSlimePet, ProjectileID.KingSlimePet); 92 | modPlayer.AddPet(player.GetToggleValue("PetEoC"), hideVisual, BuffID.EyeOfCthulhuPet, ProjectileID.EyeOfCthulhuPet); 93 | modPlayer.AddPet(player.GetToggleValue("PetEoW"), hideVisual, BuffID.EaterOfWorldsPet, ProjectileID.EaterOfWorldsPet); 94 | modPlayer.AddPet(player.GetToggleValue("PetBoC"), hideVisual, BuffID.BrainOfCthulhuPet, ProjectileID.BrainOfCthulhuPet); 95 | modPlayer.AddPet(player.GetToggleValue("PetDeer"), hideVisual, BuffID.DeerclopsPet, ProjectileID.DeerclopsPet); 96 | modPlayer.AddPet(player.GetToggleValue("PetQB"), hideVisual, BuffID.QueenBeePet, ProjectileID.QueenBeePet); 97 | modPlayer.AddPet(player.GetToggleValue("PetSkele"), hideVisual, BuffID.SkeletronPet, ProjectileID.SkeletronPet); 98 | modPlayer.AddPet(player.GetToggleValue("PetQS"), hideVisual, BuffID.QueenSlimePet, ProjectileID.QueenSlimePet); 99 | modPlayer.AddPet(player.GetToggleValue("PetDestroyer"), hideVisual, BuffID.DestroyerPet, ProjectileID.DestroyerPet); 100 | modPlayer.AddPet(player.GetToggleValue("PetTwins"), hideVisual, BuffID.TwinsPet, ProjectileID.TwinsPet); 101 | modPlayer.AddPet(player.GetToggleValue("PetSkelePrime"), hideVisual, BuffID.SkeletronPrimePet, ProjectileID.SkeletronPrimePet); 102 | modPlayer.AddPet(player.GetToggleValue("PetOgre"), hideVisual, BuffID.DD2OgrePet, ProjectileID.DD2OgrePet); 103 | modPlayer.AddPet(player.GetToggleValue("PetPlantera"), hideVisual, BuffID.PlanteraPet, ProjectileID.PlanteraPet); 104 | modPlayer.AddPet(player.GetToggleValue("PetPumpking"), hideVisual, BuffID.PumpkingPet, ProjectileID.PumpkingPet); 105 | modPlayer.AddPet(player.GetToggleValue("PetEverscream"), hideVisual, BuffID.EverscreamPet, ProjectileID.EverscreamPet); 106 | modPlayer.AddPet(player.GetToggleValue("PetIceQueen"), hideVisual, BuffID.IceQueenPet, ProjectileID.IceQueenPet); 107 | modPlayer.AddPet(player.GetToggleValue("PetDuke"), hideVisual, BuffID.DukeFishronPet, ProjectileID.DukeFishronPet); 108 | modPlayer.AddPet(player.GetToggleValue("PetGolem"), hideVisual, BuffID.GolemPet, ProjectileID.GolemPet); 109 | modPlayer.AddPet(player.GetToggleValue("PetEoL"), hideVisual, BuffID.FairyQueenPet, ProjectileID.FairyQueenPet); 110 | modPlayer.AddPet(player.GetToggleValue("PetBetsy"), hideVisual, BuffID.DD2BetsyPet, ProjectileID.DD2BetsyPet); 111 | modPlayer.AddPet(player.GetToggleValue("PetMartian"), hideVisual, BuffID.MartianPet, ProjectileID.MartianPet); 112 | modPlayer.AddPet(player.GetToggleValue("PetLC"), hideVisual, BuffID.LunaticCultistPet, ProjectileID.LunaticCultistPet); 113 | modPlayer.AddPet(player.GetToggleValue("PetML"), hideVisual, BuffID.MoonLordPet, ProjectileID.MoonLordPet); 114 | } 115 | 116 | public override void AddRecipes() 117 | { 118 | CreateRecipe() 119 | .AddIngredient(ItemID.AmberMosquito) 120 | .AddIngredient(ItemID.EatersBone) 121 | .AddIngredient(ItemID.BoneRattle) 122 | .AddIngredient(ItemID.BabyGrinchMischiefWhistle) 123 | .AddIngredient(ItemID.Nectar) 124 | .AddIngredient(ItemID.HellCake) 125 | .AddIngredient(ItemID.Fish) 126 | .AddIngredient(ItemID.BambooLeaf) 127 | .AddIngredient(ItemID.BoneKey) 128 | .AddIngredient(ItemID.ToySled) 129 | .AddIngredient(ItemID.StrangeGlowingMushroom) 130 | .AddIngredient(ItemID.FullMoonSqueakyToy) 131 | .AddIngredient(ItemID.BerniePetItem) 132 | .AddIngredient(ItemID.UnluckyYarn) 133 | .AddIngredient(ItemID.ChesterPetItem) 134 | .AddIngredient(ItemID.CompanionCube) 135 | .AddIngredient(ItemID.CursedSapling) 136 | .AddIngredient(ItemID.BallOfFuseWire) 137 | .AddIngredient(ItemID.CelestialWand) 138 | .AddIngredient(ItemID.EyeSpring) 139 | .AddIngredient(ItemID.ExoticEasternChewToy) 140 | .AddIngredient(ItemID.BedazzledNectar) 141 | .AddIngredient(ItemID.GlommerPetItem) 142 | .AddIngredient(ItemID.DD2PetDragon) 143 | .AddIngredient(ItemID.BirdieRattle) 144 | .AddIngredient(ItemID.LizardEgg) 145 | .AddIngredient(ItemID.TartarSauce) 146 | .AddIngredient(ItemID.ParrotCracker) 147 | .AddIngredient(ItemID.PigPetItem) 148 | .AddIngredient(ItemID.MudBud) 149 | .AddIngredient(ItemID.DD2PetGato) 150 | .AddIngredient(ItemID.DogWhistle) 151 | .AddIngredient(ItemID.Seedling) 152 | .AddIngredient(ItemID.SpiderEgg) 153 | .AddIngredient(ItemID.OrnateShadowKey) 154 | .AddIngredient(ItemID.SharkBait) 155 | .AddIngredient(ItemID.MagicalPumpkinSeed) 156 | .AddIngredient(ItemID.EucaluptusSap) 157 | .AddIngredient(ItemID.TikiTotem) 158 | .AddIngredient(ItemID.Seaweed) 159 | .AddIngredient(ItemID.LightningCarrot) 160 | .AddIngredient(ItemID.ZephyrFish) 161 | .AddIngredient(ItemID.ShadowOrb) 162 | .AddIngredient(ItemID.CrimsonHeart) 163 | .AddIngredient(ItemID.MagicLantern) 164 | .AddIngredient(ItemID.FairyBell) 165 | .AddIngredient(ItemID.DD2PetGhost) 166 | .AddIngredient(ItemID.WispinaBottle) 167 | .AddIngredient(ItemID.SuspiciousLookingTentacle) 168 | .AddIngredient(ItemID.KingSlimePetItem) 169 | .AddIngredient(ItemID.EyeOfCthulhuPetItem) 170 | .AddIngredient(ItemID.EaterOfWorldsBossBag) 171 | .AddIngredient(ItemID.BrainOfCthulhuPetItem) 172 | .AddIngredient(ItemID.DeerclopsPetItem) 173 | .AddIngredient(ItemID.QueenBeePetItem) 174 | .AddIngredient(ItemID.SkeletronPetItem) 175 | .AddIngredient(ItemID.QueenSlimePetItem) 176 | .AddIngredient(ItemID.DestroyerPetItem) 177 | .AddIngredient(ItemID.TwinsPetItem) 178 | .AddIngredient(ItemID.SkeletronPrimePetItem) 179 | .AddIngredient(ItemID.DD2OgrePetItem) 180 | .AddIngredient(ItemID.PlanteraPetItem) 181 | .AddIngredient(ItemID.PumpkingPetItem) 182 | .AddIngredient(ItemID.EverscreamPetItem) 183 | .AddIngredient(ItemID.IceQueenPetItem) 184 | .AddIngredient(ItemID.DukeFishronPetItem) 185 | .AddIngredient(ItemID.GolemPetItem) 186 | .AddIngredient(ItemID.FairyQueenPetItem) 187 | .AddIngredient(ItemID.DD2BetsyPetItem) 188 | .AddIngredient(ItemID.MartianPetItem) 189 | .AddIngredient(ItemID.LunaticCultistPetItem) 190 | .AddIngredient(ItemID.MoonLordPetItem) 191 | .AddTile(ModContent.Find("Fargowiltas", "CrucibleCosmosSheet")) 192 | .Register(); 193 | } 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /Base/Items/VoidSoul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/Base/Items/VoidSoul.png -------------------------------------------------------------------------------- /Base/Items/Weapons/ArchWizardWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class ArchWizardWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/BerserkerWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class BerserkerWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/ColossusWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class ColossusWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/ConjuristWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class ConjuristWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/FlightMasteryWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class FlightMasteryWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/OlympianWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class OlympianWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/SniperWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class SniperWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/SupersonicWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class SupersonicWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/TrawlerWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class TrawlerWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Base/Items/Weapons/WorldShaperWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FargowiltasSoulsDLC.Base.Items.Weapons 8 | { 9 | class WorldShaperWeapon 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /FargoDLCGlobalProjectile.cs: -------------------------------------------------------------------------------- 1 | using FargowiltasSouls.Toggler; 2 | using FargowiltasSouls; 3 | using Microsoft.Xna.Framework; 4 | using System; 5 | using System.Diagnostics.Metrics; 6 | using Terraria; 7 | using Terraria.ID; 8 | using Terraria.ModLoader; 9 | 10 | namespace FargowiltasSoulsDLC 11 | { 12 | class FargoDLCGlobalProjectile : GlobalProjectile 13 | { 14 | public override bool InstancePerEntity 15 | { 16 | get 17 | { 18 | return true; 19 | } 20 | } 21 | 22 | private void KillPet(Projectile projectile, Player player, int buff, bool toggle) 23 | { 24 | FargoSoulsPlayer modPlayer = player.GetModPlayer(); 25 | 26 | if (player.FindBuffIndex(buff) == -1) 27 | { 28 | if (player.dead || !toggle || !modPlayer.VoidSoul || !modPlayer.PetsActive) 29 | { 30 | projectile.Kill(); 31 | } 32 | } 33 | } 34 | 35 | public override void AI(Projectile projectile) 36 | { 37 | Player player = Main.player[projectile.owner]; 38 | 39 | switch (projectile.type) 40 | { 41 | #region pets 42 | 43 | case ProjectileID.BabyHornet: 44 | KillPet(projectile, player, BuffID.BabyHornet, player.GetToggleValue("PetHornet")); 45 | break; 46 | 47 | case ProjectileID.Sapling: 48 | KillPet(projectile, player, BuffID.PetSapling, player.GetToggleValue("PetSeed")); 49 | break; 50 | 51 | case ProjectileID.BabyFaceMonster: 52 | KillPet(projectile, player, BuffID.BabyFaceMonster, player.GetToggleValue("PetFaceMonster")); 53 | break; 54 | 55 | case ProjectileID.CrimsonHeart: 56 | KillPet(projectile, player, BuffID.CrimsonHeart, player.GetToggleValue("PetHeart")); 57 | break; 58 | 59 | case ProjectileID.MagicLantern: 60 | KillPet(projectile, player, BuffID.MagicLantern, player.GetToggleValue("PetLantern")); 61 | break; 62 | 63 | case ProjectileID.MiniMinotaur: 64 | KillPet(projectile, player, BuffID.MiniMinotaur, player.GetToggleValue("PetMinitaur")); 65 | break; 66 | 67 | case ProjectileID.BlackCat: 68 | KillPet(projectile, player, BuffID.BlackCat, player.GetToggleValue("PetBlackCat")); 69 | break; 70 | 71 | case ProjectileID.Wisp: 72 | KillPet(projectile, player, BuffID.Wisp, player.GetToggleValue("PetWisp")); 73 | break; 74 | 75 | case ProjectileID.CursedSapling: 76 | KillPet(projectile, player, BuffID.CursedSapling, player.GetToggleValue("PetCursedSapling")); 77 | break; 78 | 79 | case ProjectileID.EyeSpring: 80 | KillPet(projectile, player, BuffID.EyeballSpring, player.GetToggleValue("PetEyeSpring")); 81 | break; 82 | 83 | case ProjectileID.Turtle: 84 | KillPet(projectile, player, BuffID.PetTurtle, player.GetToggleValue("PetTurtle")); 85 | break; 86 | 87 | case ProjectileID.PetLizard: 88 | KillPet(projectile, player, BuffID.PetLizard, player.GetToggleValue("PetLizard")); 89 | break; 90 | 91 | case ProjectileID.Truffle: 92 | KillPet(projectile, player, BuffID.BabyTruffle, player.GetToggleValue("PetShroom")); 93 | break; 94 | 95 | case ProjectileID.Spider: 96 | KillPet(projectile, player, BuffID.PetSpider, player.GetToggleValue("PetSpider")); 97 | break; 98 | 99 | case ProjectileID.Squashling: 100 | KillPet(projectile, player, BuffID.Squashling, player.GetToggleValue("PetSquash")); 101 | break; 102 | 103 | case ProjectileID.BlueFairy: 104 | KillPet(projectile, player, BuffID.FairyBlue, player.GetToggleValue("PetNavi")); 105 | break; 106 | 107 | case ProjectileID.TikiSpirit: 108 | KillPet(projectile, player, BuffID.TikiSpirit, player.GetToggleValue("PetTiki")); 109 | break; 110 | 111 | case ProjectileID.Penguin: 112 | KillPet(projectile, player, BuffID.BabyPenguin, player.GetToggleValue("PetPenguin")); 113 | break; 114 | 115 | case ProjectileID.BabySnowman: 116 | KillPet(projectile, player, BuffID.BabySnowman, player.GetToggleValue("PetSnowman")); 117 | break; 118 | 119 | case ProjectileID.BabyGrinch: 120 | KillPet(projectile, player, BuffID.BabyGrinch, player.GetToggleValue("PetGrinch")); 121 | break; 122 | 123 | case ProjectileID.DD2PetGato: 124 | KillPet(projectile, player, BuffID.PetDD2Gato, player.GetToggleValue("PetGato")); 125 | break; 126 | 127 | case ProjectileID.Parrot: 128 | KillPet(projectile, player, BuffID.PetParrot, player.GetToggleValue("PetParrot")); 129 | break; 130 | 131 | case ProjectileID.Puppy: 132 | KillPet(projectile, player, BuffID.Puppy, player.GetToggleValue("PetPup")); 133 | break; 134 | 135 | case ProjectileID.CompanionCube: 136 | KillPet(projectile, player, BuffID.CompanionCube, player.GetToggleValue("PetCompanionCube")); 137 | break; 138 | 139 | case ProjectileID.DD2PetDragon: 140 | KillPet(projectile, player, BuffID.PetDD2Dragon, player.GetToggleValue("PetDragon")); 141 | break; 142 | 143 | case ProjectileID.BabySkeletronHead: 144 | KillPet(projectile, player, BuffID.BabySkeletronHead, player.GetToggleValue("PetDG")); 145 | break; 146 | 147 | case ProjectileID.BabyDino: 148 | KillPet(projectile, player, BuffID.BabyDinosaur, player.GetToggleValue("PetDino")); 149 | break; 150 | 151 | case ProjectileID.BabyEater: 152 | KillPet(projectile, player, BuffID.BabyEater, player.GetToggleValue("PetEater")); 153 | break; 154 | 155 | case ProjectileID.ShadowOrb: 156 | KillPet(projectile, player, BuffID.ShadowOrb, player.GetToggleValue("PetOrb")); 157 | break; 158 | 159 | case ProjectileID.SuspiciousTentacle: 160 | KillPet(projectile, player, BuffID.SuspiciousTentacle, player.GetToggleValue("PetSuspEye")); 161 | break; 162 | 163 | case ProjectileID.DD2PetGhost: 164 | KillPet(projectile, player, BuffID.PetDD2Ghost, player.GetToggleValue("PetFlicker")); 165 | break; 166 | 167 | case ProjectileID.ZephyrFish: 168 | KillPet(projectile, player, BuffID.ZephyrFish, player.GetToggleValue("PetZephyr")); 169 | break; 170 | 171 | case ProjectileID.SharkPup: 172 | KillPet(projectile, player, BuffID.SharkPup, player.GetToggleValue("PetShark")); 173 | break; 174 | 175 | case ProjectileID.DukeFishronPet: 176 | KillPet(projectile, player, BuffID.DukeFishronPet, player.GetToggleValue("PetDuke")); 177 | break; 178 | 179 | case ProjectileID.ChesterPet: 180 | KillPet(projectile, player, BuffID.ChesterPet, player.GetToggleValue("PetChester")); 181 | break; 182 | 183 | case ProjectileID.GolemPet: 184 | KillPet(projectile, player, BuffID.GolemPet, player.GetToggleValue("PetGolem")); 185 | break; 186 | 187 | case ProjectileID.LunaticCultistPet: 188 | KillPet(projectile, player, BuffID.LunaticCultistPet, player.GetToggleValue("PetLC")); 189 | break; 190 | 191 | case ProjectileID.DD2BetsyPet: 192 | KillPet(projectile, player, BuffID.DD2BetsyPet, player.GetToggleValue("PetBetsy")); 193 | break; 194 | 195 | case ProjectileID.DestroyerPet: 196 | KillPet(projectile, player, BuffID.DestroyerPet, player.GetToggleValue("PetDestroyer")); 197 | break; 198 | 199 | case ProjectileID.QueenBeePet: 200 | KillPet(projectile, player, BuffID.QueenBeePet, player.GetToggleValue("PetQB")); 201 | break; 202 | 203 | case ProjectileID.TwinsPet: 204 | KillPet(projectile, player, BuffID.TwinsPet, player.GetToggleValue("PetTwins")); 205 | break; 206 | 207 | case ProjectileID.PumpkingPet: 208 | KillPet(projectile, player, BuffID.PumpkingPet, player.GetToggleValue("PetPumpking")); 209 | break; 210 | 211 | case ProjectileID.FairyQueenPet: 212 | KillPet(projectile, player, BuffID.FairyQueenPet, player.GetToggleValue("PetEoL")); 213 | break; 214 | 215 | case ProjectileID.MoonLordPet: 216 | KillPet(projectile, player, BuffID.MoonLordPet, player.GetToggleValue("PetML")); 217 | break; 218 | 219 | case ProjectileID.SkeletronPet: 220 | KillPet(projectile, player, BuffID.SkeletronPet, player.GetToggleValue("PetSkele")); 221 | break; 222 | 223 | case ProjectileID.SkeletronPrimePet: 224 | KillPet(projectile, player, BuffID.SkeletronPrimePet, player.GetToggleValue("PetSkelePrime")); 225 | break; 226 | 227 | case ProjectileID.EyeOfCthulhuPet: 228 | KillPet(projectile, player, BuffID.EyeOfCthulhuPet, player.GetToggleValue("PetEoC")); 229 | break; 230 | 231 | case ProjectileID.EaterOfWorldsPet: 232 | KillPet(projectile, player, BuffID.EaterOfWorldsPet, player.GetToggleValue("PetEoW")); 233 | break; 234 | 235 | case ProjectileID.LilHarpy: 236 | KillPet(projectile, player, BuffID.LilHarpy, player.GetToggleValue("PetHarpy")); 237 | break; 238 | 239 | case ProjectileID.MartianPet: 240 | KillPet(projectile, player, BuffID.MartianPet, player.GetToggleValue("PetMartian")); 241 | break; 242 | 243 | case ProjectileID.DeerclopsPet: 244 | KillPet(projectile, player, BuffID.DeerclopsPet, player.GetToggleValue("PetDeer")); 245 | break; 246 | 247 | case ProjectileID.PlanteraPet: 248 | KillPet(projectile, player, BuffID.PlanteraPet, player.GetToggleValue("PetPlantera")); 249 | break; 250 | 251 | case ProjectileID.EverscreamPet: 252 | KillPet(projectile, player, BuffID.EverscreamPet, player.GetToggleValue("PetEverscream")); 253 | break; 254 | 255 | case ProjectileID.DD2OgrePet: 256 | KillPet(projectile, player, BuffID.DD2OgrePet, player.GetToggleValue("PetOgre")); 257 | break; 258 | 259 | case ProjectileID.GlitteryButterfly: 260 | KillPet(projectile, player, BuffID.GlitteryButterfly, player.GetToggleValue("PetButterfly")); 261 | break; 262 | 263 | case ProjectileID.QueenSlimePet: 264 | KillPet(projectile, player, BuffID.QueenSlimePet, player.GetToggleValue("PetQS")); 265 | break; 266 | 267 | case ProjectileID.IceQueenPet: 268 | KillPet(projectile, player, BuffID.IceQueenPet, player.GetToggleValue("PetIceQueen")); 269 | break; 270 | 271 | case ProjectileID.BrainOfCthulhuPet: 272 | KillPet(projectile, player, BuffID.BrainOfCthulhuPet, player.GetToggleValue("PetBoC")); 273 | break; 274 | 275 | case ProjectileID.SugarGlider: 276 | KillPet(projectile, player, BuffID.SugarGlider, player.GetToggleValue("PetGlider")); 277 | break; 278 | 279 | case ProjectileID.KingSlimePet: 280 | KillPet(projectile, player, BuffID.KingSlimePet, player.GetToggleValue("PetKS")); 281 | break; 282 | 283 | case ProjectileID.Plantero: 284 | KillPet(projectile, player, BuffID.Plantero, player.GetToggleValue("PetPlantero")); 285 | break; 286 | 287 | case ProjectileID.ShadowMimic: 288 | KillPet(projectile, player, BuffID.ShadowMimic, player.GetToggleValue("PetMimic")); 289 | break; 290 | 291 | case ProjectileID.VoltBunny: 292 | KillPet(projectile, player, BuffID.VoltBunny, player.GetToggleValue("PetVolt")); 293 | break; 294 | 295 | case ProjectileID.BabyRedPanda: 296 | KillPet(projectile, player, BuffID.BabyRedPanda, player.GetToggleValue("PetPanda")); 297 | break; 298 | 299 | case ProjectileID.FennecFox: 300 | KillPet(projectile, player, BuffID.FennecFox, player.GetToggleValue("PetFox")); 301 | break; 302 | 303 | case ProjectileID.DynamiteKitten: 304 | KillPet(projectile, player, BuffID.DynamiteKitten, player.GetToggleValue("PetKitten")); 305 | break; 306 | 307 | case ProjectileID.PigPet: 308 | KillPet(projectile, player, BuffID.PigPet, player.GetToggleValue("PetPigman")); 309 | break; 310 | 311 | case ProjectileID.BabyImp: 312 | KillPet(projectile, player, BuffID.BabyImp, player.GetToggleValue("PetImp")); 313 | break; 314 | 315 | case ProjectileID.BabyWerewolf: 316 | KillPet(projectile, player, BuffID.BabyWerewolf, player.GetToggleValue("PetWerewolf")); 317 | break; 318 | 319 | case ProjectileID.GlommerPet: 320 | KillPet(projectile, player, BuffID.GlommerPet, player.GetToggleValue("PetGlommer")); 321 | break; 322 | 323 | case ProjectileID.UpbeatStar: 324 | KillPet(projectile, player, BuffID.UpbeatStar, player.GetToggleValue("PetEstee")); 325 | break; 326 | 327 | #endregion 328 | 329 | default: 330 | break; 331 | } 332 | 333 | 334 | } 335 | } 336 | } 337 | -------------------------------------------------------------------------------- /FargoDLCPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Terraria; 7 | using Terraria.ModLoader; 8 | 9 | namespace FargowiltasSoulsDLC 10 | { 11 | public partial class FargoDLCPlayer : ModPlayer 12 | { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /FargowiltasSoulsDLC.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Terraria; 4 | using Terraria.ID; 5 | using Terraria.ModLoader; 6 | 7 | namespace FargowiltasSoulsDLC 8 | { 9 | public class FargowiltasSoulsDLC : Mod 10 | { 11 | internal static FargowiltasSoulsDLC Instance; 12 | 13 | public override void Load() 14 | { 15 | Instance = this; 16 | } 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /FargowiltasSoulsDLC.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | FargowiltasSoulsDLC 6 | net6.0 7 | AnyCPU 8 | latest 9 | 10 | 11 | 12 | 13 | 14 | 15 | ..\ModAssemblies\FargowiltasSouls_v1.4.0.9.dll 16 | 17 | 18 | -------------------------------------------------------------------------------- /FargowiltasSoulsDLC.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.4.33122.133 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FargowiltasSoulsDLC", "FargowiltasSoulsDLC.csproj", "{ACA12B4F-055A-4EAF-90E7-8890DD15EC0F}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {ACA12B4F-055A-4EAF-90E7-8890DD15EC0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {ACA12B4F-055A-4EAF-90E7-8890DD15EC0F}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {ACA12B4F-055A-4EAF-90E7-8890DD15EC0F}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {ACA12B4F-055A-4EAF-90E7-8890DD15EC0F}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {E84E210E-F509-48C9-AB18-E954F0FC2449} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /Localization/zh-Hans.hjson: -------------------------------------------------------------------------------- 1 | Mods:{ 2 | FargowiltasSoulsDLC:{ 3 | ItemName:{ 4 | //==Enchantments== 5 | NekomiEnchantment: 猫猫睡衣魔石 6 | GaiaEnchantment: 盖亚魔石 7 | EridanusEnchantment: 波江魔石 8 | StyxEnchantment: 冥河魔石 9 | TrueMutantEnchantment: 真·突变魔石 10 | //==Force== 11 | EternityForce: 永恒之力 12 | //==Misc== 13 | PandorasBox: 潘多拉之盒 14 | PandoraTwo: 潘多拉之巨著 15 | //==Soul 16 | VoidSoul: 虚空之魂 17 | } 18 | ItemTooltip:{ 19 | //==Misc== 20 | PandorasBox: 21 | ''' 22 | 随机召唤某些东西 23 | “在白天使用是个更好的选择” 24 | ''' 25 | PandoraTwo: 26 | ''' 27 | 真正的,一堆弹幕的一坨浆糊! 28 | ''' 29 | //==Souls== 30 | VoidSoul: 31 | ''' 32 | 召唤 某 些 东 西 33 | ''' 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Terraria": { 4 | "commandName": "Executable", 5 | "executablePath": "dotnet", 6 | "commandLineArgs": "$(tMLPath)", 7 | "workingDirectory": "$(tMLSteamPath)" 8 | }, 9 | "TerrariaServer": { 10 | "commandName": "Executable", 11 | "executablePath": "dotnet", 12 | "commandLineArgs": "$(tMLServerPath)", 13 | "workingDirectory": "$(tMLSteamPath)" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /build.txt: -------------------------------------------------------------------------------- 1 | displayName = Fargo's Soul Mod DLC 2 | author = Fargowilta and Terry N Muse 3 | version = 0.5 4 | modReferences = FargowiltasSouls@1.4.0.9 5 | buildIgnore = *.csproj, *.user, obj\*, bin\*, .vs\*, lib\*, .git\*, Folders to Port\* -------------------------------------------------------------------------------- /description.txt: -------------------------------------------------------------------------------- 1 | Fargo's Soul Mod DLC 2 | -This mod adds fun extras that go along with Fargo's Soul Mod 3 | -Fargo's Soul Mod is required for this mod to work 4 | 5 | NEW UPDATE V 0.5 6 | -First version on tmod 1.4 7 | -Added Pandora's Box and Pandora's Tome 8 | -Added Nekomi, Gaia, Eridanus, Styx, and True Mutant Enchantments 9 | -Added Force of Eternity 10 | -Moved Soul of the Void from Souls to here. Added every single missing pet (with toggle) 11 | 12 | 13 | Fargo魂石的DLC模组 14 | -本模组延续了Fargo的魂石模组,添加了一些额外的好玩东西 15 | -本模组运行需要Fargo的魂石模组 16 | 17 | 新更新 - V0.5 18 | -在1.4泰拉上的第一个版本 19 | -添加了潘多拉之盒和潘多拉之巨著 20 | -添加了猫猫睡衣、盖亚、波江、冥河以及真·突变魔石 21 | -添加了永恒之力 22 | -将魂石模组中的虚空之魂移动到了这里,并且加上了每一个宠物!(有开关) 23 | 24 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fargowilta/FargowiltasSoulsDLC/10d613d9c56fd4581d797fbf94279629d1ff3bcf/icon.png --------------------------------------------------------------------------------