1. For issues you find with the Switch and Console releases, please follow this link and give as much detail as possible. This is the speediest way to get info to Pipeworks and get a hotfix in the works.
    Dismiss Notice
  2. For issues you find with the Mobile 1.3 update, please follow this link and give as much detail as possible. This is the speediest way to get info to DR Studios to look at your issue. Also, some troubleshooting hints here.
    Dismiss Notice

PC Terraria: Prepare To Die Edition

Discussion in 'Released' started by Faestus, Sep 28, 2014.

  1. Faestus

    Faestus Terrarian

    If you're like me, you think Terraria is way to easy, that bosses deal too little damage and that monsters become really obsolete later on, and don't pose much of a threat anyway!
    Well fear not, because I have the solution!

    Terraria: Prepare To Die Edition
    What this mod does is simple:
    • All non-Boss Monsters will now now have randomly assigned Attack Damage, Life, Defense and Knockback Resistance.
    • Monsters will have their total stats multiplied by a percentage, which is divided into two ratings: attack rating and defense rating
    • The higher the defense rating of a monster, the lower it's attack rating will be
    • Monster stats are multiplied by the attack and defense rating
    • The attack rating affects knockback and damage, and the defense rating affects Life and Defense
    • The scale of the monsters depends on the Defense and Offense rating combined
    • All monsters will have base stats, and their attacks or defenses cannot go to 0
    • Bosses After hardmode have double melee damage
    Known "issues":
    • Green Slimes are not affected by stat changes.
    • However the Eater of the Worlds is
    • Certain summons/minions are also affected by these changes. This includes: Brain Minions, Queen Bee's Bees, Wall of Flesh minions.
    Other than that, the game should be compatible with other mods. Enjoy!

    Download:
    !! PLEASE READ !! - Installation
    -tAPI version is for tAPI 1.2.2 version of Terraria.
    -If you want if you want to play the latest version (1.2.4.1), download the executable and place it in your Terraria folder (don't replace original).

    Original Edition
    -Monsters Attack and Defense Rating combined cannot go bellow 75% and above 300%
    -This means you will encounter monsters with between 75% of their original stats and 300%
    -Exe: http://www.mediafire.com/download/jjmkjeajp32r1cd/Terraria.PTD.o.exe
    -tAPI: http://www.mediafire.com/download/59pa4jcva67ib4o/Original.tapi

    Easy Edition
    -Monsters Attack and Defense Rating combined cannot go bellow 50% and above 200%
    -Exe: http://www.mediafire.com/download/yjdge8s2dtghan2/Terraria.PTD.e.exe
    -tAPI: http://www.mediafire.com/download/t6a2psh2nq6ky8d/easy.tapi

    Insane Edition
    -Monsters Attack and Defense Rating combined cannot go bellow 1% and above 999%
    -Exe: http://www.mediafire.com/download/9k55545egq9ccr4/Terraria.PTD.i.exe
    -tAPI: http://www.mediafire.com/download/fsynb876vymf568/Insane.tapi
     
  2. Yoraiz0r

    Yoraiz0r Lead Developer Re-Logic

    A nice, simple mod that is sure to spice up things!

    However I must mention, tAPI supports mod options & automatic syncing of those from servers to clients, you can pack all three editions as 1 pack with the mod option to choose the difficulty~ (or even make it work with the built in sliders so players can adjust it to their liking!)
     
  3. MegaSDMGShark

    MegaSDMGShark Plantera

    This sounds like a really awesome mod, I'll try it out!
     
  4. Faestus

    Faestus Terrarian

    Is there a place I can read more on that?
     
    Yoraiz0r likes this.
  5. Yoraiz0r

    Yoraiz0r Lead Developer Re-Logic

    Now that I think about it, not really, so I'll give a quick example...

    1. Start by making a "ModOptions.json" file in your mod's root folder (near modinfo.json)
    2. In it, start a JsonData array called "options", and open its brackets
    3. The "options" array takes jsondatas with numerous properties such as
    • "name" - string, the internal name of your mod option
    • "displayName" - string, the display name in the mod options menu
    • "type" - string, here you you can only use the following strings: "String", "Integer", "Float", "Keybinding", "List", "Boolean", "Dynamic". (which determine the type of the option)
    • "notify" - bool, this determines if your mod would get a hook call for 'option changed' when starting up the mod
    • "notifyOnChange" - bool, this determines if your mod would get a hook call for 'option changed' when changing the option
    • "sync" - bool, determines if servers override the client's value when the client joins
    • "default" - here you just type a value of your option's type which will be the starting value.
    Here's a rough example of an option in one of my mods (I didn't ever release)
    Code:
    {
      "options":
      [
      {
      "name": "wireMenu",
      "displayName": "Rewire HUD",
      "type": "Keybinding",
      "notify": true,
      "notifyOnChange": true,
           "sync": false,
           "default": "C"
      }
      ]
    }
    
    After that we're moving to CS stuff, so make / open your MBase.cs (modbase) and add the following hook to it
    Code:
         public override void OptionChanged(Option option)
         {
         }
    
    • This hook lets you check which option in your mod gets changed assuming notify / notifyOnChange are true
    • I suggest you put them both to true, and whenever your mod option changes , adjust a value that flicks the difficulty up or down as you wish
    (here's an example related to my json example)
    Code:
         public override void OptionChanged(Option option)
         {
           if (option.name == "wireMenu")
             wireMenuKey = (Keys)option.Value;
         }
    
    This is basically it , you can use any option type you wish and experiment with it, I think using an integer or list option would be best for your mod.

    (including an example from another mod for reference)
    Code:
    {
      "options": [
      {
      "name": "selectedColor",
      "displayName": "Character Aura",
      "type": "List",
      "notify": true,
      "sync": true,
      "list": [
      "White",
      "Green",
      "Yellow",
      "Red",
      "Blue"
      ]
      }
      ]
    }
    
    +
    Code:
         public override void OptionChanged(Option option)
         {
           if (option.name == "selectedColor")
           {
           string col = (string)option.Value;
           switch (col)
           {
             case "White":
          
             .............you get the idea
    

    Good luck & Happy modding!
     
  6. Jfreak9

    Jfreak9 Terrarian

    Sometimes I think to myself. I would like to make a mod, Something that was either useful or just an add on that would be fun. But then I see what you post Yoraiz0r. I'm 26 and with no coding experience. Its like a foreign language. Where do you even begin haha
     
  7. Sapharan

    Sapharan Golem

    I will try this one out. It'll be fun to play for sure.
     
  8. Youfad

    Youfad Skeletron Prime

    Seems cool!
     
  9. Drdragonfly

    Drdragonfly Skeletron

    This looks like it would be awesome to try out for some extra challenge.
    I think it would be interesting to add a variation of the amount of money dropped according to how much stronger or weaker an enemy is. You could also consider adding a feature which makes it so that stronger enemies have a higher chance of dropping rare items. Example: Skeleton Commando with 200% original stats has 10% chance of dropping the rocket launcher instead of 5%.
    I have no idea of how difficult it would be to implement these, but I'm sure that if you have any trouble you can ask around.
     
  10. Faestus

    Faestus Terrarian

    When I started, I had 0 experience too. I just started modding a game and learn on my own. No tutorials until I started making games in Flash...
    Isn't that what "Monster.value" does?
     
  11. Yoraiz0r

    Yoraiz0r Lead Developer Re-Logic

    For money drop, yup!
    You can modify it with 'public override bool PreNPCLoot() { return true; }'.

    For the actual item drops, I'm afraid you're out of luck unless you want to make it call NPC Loot twice for a total double chance...
    The drop randoms are hardcoded =P
     
    Drdragonfly likes this.
  12. Drdragonfly

    Drdragonfly Skeletron

    The only thing I know is that value is a float which tells you how much an enemy drops or alternatively how much an item would be sold for by an NPC.
    So if you had:
    value = 12345678f;
    Then that enemy would drop 12 Platinum Coins, 34 Gold Coins, 56 Silver Coins and 78 Copper Coins.
     
  13. Kami

    Kami Terrarian

    Loved it! I gonna try right now, and hey, what about some sugestions?

    "Normal" Suggestions
    Note: I think you can make this things with buffs upon respawn

    *When you die, you cannot recover health from potions, nurse, etc (5 Minutes Pre-Hardmode) 10 minutes (Post-Hardmode).
    *When you die, you lose you recovering rate for 1 Minutes (Pre-Hardmode) 3 minutes(Post-Hardmode).
    *When you die, you lose 20 mana permantently (Pre-Hardmode) 40 (Post-Hardmode).
    *When you die FROM FALL DAMAGE, you lose 50% of your movespeed and jump height. 10 Minutes.
    *When you die DROWNING, you lose 50% of your defense. 10 Minutes.

    Insane Sugestions

    *Double the spawn rate of ores/trees, but also double the time needed for mine/cut down trees.
    *The mobs should have increased drop rates, based on their "Level".
    *Npcs need better houses, with more furniture, etc.
    *Make the Grappling Hook harder to get!
    *When you die, you lose ALL of your coins.

    If you like, later i can post some more suggestions :)
    For a better and hardcore terraria!
     
  14. zimberzimber

    zimberzimber Terrarian

    So basically it only changes the stats of monsters? can be solved by kiting, and that isn't hard in Terraria.
    What you should do (if you can) is make the mobs smarter or have new attack patterns rather then just buffing their stats.

    But still, you did a pretty good job there, and the mod is great if you don't want the game to be too challenging! ^^
     
  15. Faestus

    Faestus Terrarian

    If I want to make a float/int, can I set the max value one can modify?
     
  16. Yoraiz0r

    Yoraiz0r Lead Developer Re-Logic

    yup , you can add a "minimum": something, and a "maximum": something, in your option and these would be the limits.
    Also , for floats there's "step": something, which controls how much up or down the value goes per ticking in the options menu , and "precision": something, which you can use to set the amount of fractional digits displayed in the options menu for that option.

    so to speak of an example...
    Code:
    "minimum": 0,
    "maximum": 5.5,
    "step": 0.25,
    "precision": 2,
    
     
  17. Taproot

    Taproot Terrarian

    Really can't get this mod to work. I am putting the exe file in the steam terraria folder, launching the game from steam but the mobs are just regular vanilla mobs. Am I putting it in the wrong spot ?
     
    Last edited: Oct 18, 2014
  18. Cool you've got Yorai in the discussion.
     
  19. Windy-Sama

    Windy-Sama Terrarian

    Can you give some screenshots? :D
     
  20. Psykaitic

    Psykaitic Terrarian

    *gets pummeled by Smough's hammer*

    DAMNIT!

    That reference aside , awesome work!

    Terraria with a touch of souls. All that's needed now is monsters teleporting behind you and stabbing you to death , spamming spells (Bloody WotG) and the ever-so obvious "YOU DIED" message.