Valheim

File information

Last updated

Original upload

Created by

WackyMole

Uploaded by

wackymolez

Virus scan

Safe to use

Tags for this mod

About this mod

Allows you to limit the amount of portals per character by restricting access to teleporting construction material. Crystal and Key economy.
Increase PVP and multiply cooperation by making portals a scarce resource.

Requirements
Permissions and credits
Changelogs
# RareMagicPortal

Tired of portals being the end all, be all of Valheim?<br>
You don't want to unnecessarily restrict which items can be teleported or not?<br>
Do you want to see more PVP or more cooperation between your buddies and their bases?<br>
Do you want more colors on your portals or more freedom or restrictions?<br>
Well, I've a mod for you!


### Main Feature:
* Magical Portal Fluid
  * Added 1 extra required item to the Portal building recipe
  * Controlling the distribution of fluid = Controlling the amount of portals can be built in the world
  * Increasing portals' scarcity and value on a multiplayer server

* Crystal and Key Economy
  * v2.0 adds 6 Crystals and 6 Keys, color-tiered:Red, Green, Blue, Purple, Tan and Gold/Master.
    * Crystals will be **consumed** upon entering the portal
    * Keys to be **possessed** before entering the portal
      * > *Simulate the economy progression from spending and upgrade to long-holding possession*
  * Allows you to make special portal for:
    * Special access portal by team members only
    * Special toll charges for custom locations/bosses portal
  * Helps your server build a more interactive economy in Valheim

* Restrict Additional Items
  * You can Restrict Wood or Stone or any other item
  * Editing IsTeleportable with wackysDatabase is better, but you can do it here

 * Portal Drink
  * Allows you to teleport anywhere with anything on you.
  * Bypasses normal inventory checks - should be rare

* Portal Colors
  * If you just want to see different Portal Colors, this mod is great for that.
Video of Rainbow Colors Mode


#### How to Get Crystals/Keys/Fluid in your World
Added Drop Config for Fluid,Drink and Crystals -
By Default Fluid drops from Elder - 100% chance for 1-2 drops.
The Crystals/Keys/Fluid are mostly meant for Multiplayer Worlds<br>
The Admins can add them to the world in several different ways. <br>
Drop That mod : https://valheim.thunderstore.io/package/ASharpPen/Drop_That/ <br>
Sell That mod : https://valheim.thunderstore.io/package/ASharpPen/Sell_That/ <br>
Better Trader: https://valheim.thunderstore.io/package/OdinPlus/Better_Trader_Remake/ <br>
CLLC: https://valheim.thunderstore.io/package/Smoothbrain/CreatureLevelAndLootControl/ <br>
KG's Marketplace https://valheim.thunderstore.io/package/KGvalheim/Marketplace_And_Server_NPCs_Revamped/ <br>
KnarrTheTrader https://valheim.thunderstore.io/package/OdinPlus/KnarrTheTrader/  <br>
Make it a Bounty Reward in EpicLoot <br>
Server rewards for completing objectives, like in KG marketplace mod for bounties,  <br>
https://valheim.thunderstore.io/package/NewHaven/Server_Rewards/ Server rewards, but I don't recommend

### Portal Colors
* Portal Colors - You can manually edit or cyle through colors with "LeftControl-E" as Admin or Owner with EnableCrystal off

    With TargetPortalMod users will see"^" with a number this is the internal value - this is normal, If you remove TargetPortal mod you might have to rename portals to get them to connect

    All Portal Colors can be focred to Use Gold Crystal and Gold Key with USE_GOLD_AS_PORTAL_MASTER

 
 * > Yellow Portal -With EnableCrystals- Yellow Portal, Yellow Key  - Value 1
 * > Red Portal  -With EnableCrystals- Red Crystal, Red Key,  - Value 2
 * > Green Portal  -With EnableCrystals- Green Crystal, Green Key  - Value 3
 * > Blue Portal  -With EnableCrystals- Blue Crystal, Blue Key - Value 4
 * > Purple Portal  -With EnableCrystals- Purple Crystal, Purple Key - Value 5
 * > Tan Portal  -With EnableCrystals- Tan Crystal, Tan Key, - Value 6
 * > Cyan Portal  -With EnableCrystals- Cyan Crystal, Cyan Key, - Value 7
 * > Orange Portal  -With EnableCrystals- Orange Crystal, Orange Key, - Value 8
 * > White Portal -With EnableCrystals-  White Crystal, White Key - Value 20
 * > Black Portal -With EnableCrystals- Black Crystal, Black Key  - Value 21
 * > Gold Portal  -With EnableCrystals-  PortalCrystalMaster (Gold) Crystal, Gold Key - Value 22
 


* Portal Drink



 * Allows you do drink a potion and be able to Teleport Anything for a configurable amount of time. (Turns Any Portal White with base color behind)

YML files are synced on creation to the rest of the clients. Server always override client files on sync, except on finding a new portal or changing Portal color.


## Prefab IDs:
  * PortalMagicFluid
  * PortalCrystalMaster
  * PortalCrystalRed
  * PortalCrystalGreen
  * PortalCrystalBlue
  * PortalCrystalPurple
  * PortalCrystalTan
  * PortalCrystalYellow
  * PortalCrystalCyan
  * PortalCrystalOrange
  * PortalCrystalWhite
  * PortalCrystalBlack

  * PortalKeyGold
  * PortalKeyRed
  * PortalKeyGreen
  * PortalKeyBlue
  * PortalKeyPurple
  * PortalKeyTan
  * PortalKeyYellow
  * PortalKeyCyan
  * PortalKeyOrange
  * PortalKeyWhite
  * PortalKeyBlack

  * PortalDrink

## Configuration Options:
### RareMagicPortal.cfg
  * [1.General]
    * Force Server Config:
      * > Enable/Disable ServerSync enforcement
    * YML Logs
      * > Useful for seeing what a Portal Requirements are: Default: True

  * [2.PortalFluid]
    * EnablePortalFluid:
      * > Enable/Disable Portal Fluid to be loaded and used in game: 2.1.1 Default false
    * PortalMagicFluidSpawn:
      * > Default spawning 3 fluids upon *NEW CHARACTER* created into the world/server
    * PortalFluidValue: Value at trader - 0 means won't sale
    * portalmagicfluid.DropsFrom.Add("gd_king", 1f, 1, 2); // Elder drop 100% 1-2 portalFluids
      * [Drops for Fluid,Drink and Crystals can be configured in Bepinex Manager, but recommend manually editing]
    * "gd_king", 1f, 1, 2); // Elder drop 100% 1-2 portalFluids for example

  * [3.Portal Config"]
    * CraftingStation_Requirement = $piece_workbench
      * > Default required workbench
    * Level_of_CraftingStation_Req:
      * > Default required lvl 1 of workbench
    * OnlyCreatorCanDeconstruct:
      * > Allow/Disallow ONLY creator of the portal can demolish/destroy the portal
    * Portal_Health:
      * > Configure the HP of portal = 400
    * OnlyCreatorCanChange:
      * > Allow/Disallow ONLY creator of the portal can rename the portal tag
    * Portal_D_Restrict:
      * > Additional Items to Restrict by Default.
      * > For Example you can add - Wood,Stone - And those items will restricted
    * Modifier key for toggle = LeftControl
      * > Default Shortcut for admin and !EnabledCrystal && owner color cycling
      * > If Crystals and Keys is disabled than the owner can change coloring.
      * > Shortcut is LeftControl + E on hovering
    * Force Portal Animation
      * > False
      * > Forces Portal Animation for Target Portal Mod, is not synced and only config only applies if mod is loaded
    * ConfigMaxWeight
       * > Makes it so any player weight above this amount can not teleport.
       * > Default is 0. Which disables checks
       * > Will apply checks to all portals

  * [4.Portal Crystals]
    * Enable Portal Crystals and Keys = false
      * > Enable/Disable Crystals and Keys to be loaded and used in game - This controls all usage and restrictions
    * Crystal_Consume_Default:
      * > Default required 1 crystal for each portal
    * Portal_Crystal_Color_Default:
      * > Default required RED crystal for TP consumption
      * > Options include Yellow,Red,Green,Blue,Purple,Tan,Cyan,Orange,White,Black,Gold,none,None - None makes portals free passage by default
    * USE_GOLD_AS_PORTAL_MASTER = true
      * > Will Set Gold to always be true on regular colors - Making Gold Key the Master Key
      * > If you turn this off, you have to cycle through ALL Portals to get rid of Gold setting
    * UseTopLeftMessage
       * >  false, In case a mod is interfering with Center Messages for Portal tags, display on TopLeft instead.

  * [5.Portal Drink]
    * Portal_drink_timer = 120 : Seconds that PortalDrink lasts

  * [6.Biome Colors]
    * Force Biome Colors for Default
      * > Overrides CrystalKeyDefaultColor and sets UNCHANGED portals to their BiomeColor
    * BiomeRepColors
      * > Biome Colors "Meadows:Tan,BlackForest:Blue,Swamp:Green,Mountain:Black,Plains:Orange,Mistlands:Purple,DeepNorth:Cyan,AshLands:Red,Ocean:Blue", "Biomes and their related Colors. - No spaces
    
  * [7.Colors]
     * Enabled Colors
        * > Any color not in list will not cycle through, reboot required
     * Free Passage Color
        * > Won't collect toll crystal or use key - Only 1 can be selected
        * > Recommend none
     * Admin only Color
        * > Only Admins can pass through this portal, - inventory checks still applied
        * > Recommended none
     * TelePortAnythingColor
        * > This color portal will allow anyone to come through, free of cost and free of inventory checks
        * > It might be bugged
        * > recommend none
     * Portal Drink Color
        * > Color to let the player know that PortalDrink is active on them. - Rainbow mode alternates every second
        * > Rainbow or White recommended
        * > Doesn't change underlying color requirements
  * [8.CrystalSelector]
    * > Set Item usage for different colors - Defaults are entered but you can use JewelCrafting gems
    * > CrystalMaster is Gold, -fyi
    * > JC has around 7 type of base colors, currently RMP has 11. - JC has 5 base type of gems. $jc_shattered_color_crystal, $jc_uncut_color_stone, $jc_color_socket, $jc_adv_color_socket, $jc_perfect_color_socket
    * > You could use combination crystal names if you want to be very very restrictive. name has to be the ItemDrop.shared.m_name


     

### YML (config/Portal_Names/*.yml)
  * > *The mod will auto generate default data into each yml named after your current world **upon getting close to ANY portal.***
```
  Demo_Portal_Name:
    Portal_Crystal_Cost:
      Red: 1
      Green: 0
      Blue: 0
      Purple: 0
      Tan: 0
      Gold: 1
    Portal_Key:
      Red: true
      Green: false
      Blue: false
      Purple: false
      Tan: false
      Gold: true
    Free_Passage: false  - No Crystal or Key requirement
    TeleportAnything: false  - Portal allows you to Teleport Anything
    AdditionalProhibitItems: -- Additional items restricted at this portal or [Stone, Wood]
    - Stone
    - Wood
    BiomeColor: skip - this doesn't do anything - does update though
    SpecialMode: 0  - nothing
    AllowedUsers: [] - Only the players in this list will be allowed to go here - manual add only
    Admin_only_Access: false -- Only admins

```

## Compatibility:
* WayShrine by Azumatt
  * https://www.nexusmods.com/valheim/mods/1298
  * https://valheim.thunderstore.io/package/Azumatt/Wayshrine/
* TargetPortal by Smoothbrain


  * https://valheim.thunderstore.io/package/Smoothbrain/TargetPortal/
  * This a recommended mod, it has good compatibility with RMP.

  * BiomeColorForce is a tricky for TargetPortal - so Icons will have ^(num)(1-22) next to the name on map. This is to let the mod know what color the icon is for later use
  * Warning - Removing TargetPortal mod with ForcedBiomes, might make Portals unable to connect with each other. You might have to deconstruct and rebuild them or change names. - Debug Logs should show Portal Real name

  *  Most of the other mods.

## Author's Note:
* Mod was produced with the hope that multiplayer servers will require more teamwork or more PVP to capture the scarce resource.
* Other mods can allow the resources to be bought at the trader for high prices, gambled on or become rare drops from bosses.
* If you are using *ServerCharacters*,
  * It is suggested to set the starting quantity amount to 0 for dedicated server and let ServerCharacters mod handle the first time spawn in amounts.
  * > https://valheim.thunderstore.io/package/Smoothbrain/ServerCharacters/

Feedback

Wacky Git https://github.com/Wacky-Mole/RareMagicPortal

For questions or suggestions please join discord channel: [Odin Plus Team](https://discord.gg/odinplus)

It has been a lot of fun making this mod, if you need help find Odin's Server

Support me at https://www.buymeacoffee.com/WackyMole



## Credits:
* Thank you to OdinPlus Team for some useful information.
* Zeall for readme update
* GraveBear for Icon Update
* Some code from https://github.com/redseiko/ComfyMods/tree/main/ColorfulPortals
* Assets from https://assetstore.unity.com/packages/3d/props/interior/free-alchemy-and-magic-pack-142991
* crystal assets from https://assetstore.unity.com/packages/3d/environments/fantasy/translucent-crystals-106274