Mithion / ArsMagica2

Ars Magica 2 Bug Tracker
127 stars 186 forks source link

[Suggestion] Mage bag #1381

Open ChilledDayz opened 8 years ago

ChilledDayz commented 8 years ago

Something I think AM2 is lacking in is extra storage while mining. So here's my idea, how about adding a mage bag that has a built in flicker habitat that can be white listed to empty your inventory of all your valuable ores. The bag could be enchanted with soulbound so if you die whilst mining you get to keep it. If it's possible to make the bag place able then we could add a crystal that can empty the bag into your flicker storage system when you get home. Possibly even restock your bag with potions or mana cakes automatically. I think this could be a great mechanic to add to AM2.

irkedIsaac commented 8 years ago

Technically there's already a magical way of storing your items, by way of the Rift. Put Buff Power modifiers on it and you've got yourself an entire double chest to work with, at the cast of a spell.

ChilledDayz commented 8 years ago

Yeah I know that Rift does this but I think it would be great to be able to use the flicker transport system which currently won't work with Rift

jjtParadox commented 8 years ago

Hmm that's an idea... flickers working with a rift would be pretty cool. Just how would it be implemented...

Mithion commented 8 years ago

I have an idea for that.

A block that looks similar to an empty flicker habitat (without the crystal). The player walks up and casts a rift spell on it. Instead of opening the normal rift, a miniature version of the rift opens inside the block where the flicker crystal would normally go. Then, as long as the player remains in a certain radius of the block (say 64 blocks in any direction, something relatively generous), it has realtime access to the rift storage (for an etherium cost). The link could be visualized with a retextured version of the mana link effect.

A flicker habitat upgrade could perhaps increase the range of the link.

The level of rift access could be set to the same as the spell, so players could for example auto-sort only the first couple rows of their rift, while leaving the rest. Depending on the flicker crystals used, it could also be used to replenish the rift to a certain point. The player would be able to open additional rifts without breaking the link, so it could be a good way to set up an auto-refilling inventory using the spell and block.

The link could be broken by applying (or removing, depending on implementation) a redstone current to the block or by cutting the supply of etherium (either by running out or stopping the flow with redstone on a conduit), if the player logs out, or if the player moves too far away. The color of the link particles could be used as a visual indicator for distance.

From a technical perspective, this could be accomplished by making the IInventory of the new block a simple wrapper that keeps a reference to the current player (for distance tracking) as well as the RiftStorage instance for said player. From there, as long as those are set, then the wrapper methods from IInventory simply access that instead of an internal inventory. If the references are not there (no link), then they simply return intelligent defaults.

Thoughts?

ChilledDayz commented 8 years ago

I don't know the technical side but from a player perspective that sounds like a great way to implement it

irkedIsaac commented 8 years ago

64 blocks seems like a pretty small range for something like that. An alternative idea would be to have it based on player-loaded chunks. To prevent people from abusing this, the link would be bound specifically to the player who placed the block. The link is severed when the player unloads the block. That would at least make it viable for big mining trips or short-term adventuring.

Mithion commented 8 years ago

it isn't meant to work during a mining trip - you go on your trip, fill the rift, then when you go back, you link the rift and it auto empties...or whatever you set it up to do.

irkedIsaac commented 8 years ago

Ahh. Sorry, I misread :u Sometimes I do a dumb

ChilledDayz commented 8 years ago

Yeah @Mithion that's the idea I had, but I didn't know if Rift would work with flickers. The fact it's possible is great. I've always liked the Rift spell it way better than a bag. :-)

jjtParadox commented 8 years ago

I like that idea, and it probably could be something to add for the next major feature release.

ChilledDayz commented 8 years ago

It'll be great to see a new feature added in the next release. But it's great to see just how many bugs have been fixed as from my experience with the dev version it runs great.

Mithion commented 8 years ago

This...actually makes me want to work on AM2. It's been so long since I got to add something new to the mod instead of just bug fixes and trying to keep up to Mojang's updates.

I might very well add it.

ChilledDayz commented 8 years ago

That would be awesome, I've just finished watching your Am2 dev streams on YouTube very interesting to see how things are done. I imagine bug fixes being very tedious.

jjtParadox commented 8 years ago

Yeah some bugs leave you staring at your computer going "WHY IS THIS HAPPENING" for long periods of time :stuck_out_tongue_winking_eye:

Some bugs are awesome to fix, especially if you've come up with a good solution, but it is hard work that can certainly burn someone out.

That's why I think open sourcing AM2 is one of the best things for this mod, as it lets people not just speculate about bugfixes and features, but actually implement and fix things themselves. That's certainly why I started contributing to this (I wanted to fix boss animations, so I made #1241) :smiley:

ChilledDayz commented 8 years ago

So glad Mithion made it open source, when I first heard he was moving on and no longer developing am2 I was so disappointed. But founding out that it was being developed here on github made me a very happy man. I just introduced my 9 year old daughter to am2 today, the smile on her face as she shot her first zombie with the fire spell was priceless.

ChilledDayz commented 8 years ago

Whilst talking about the flickers would it be possible to allow flickers to use the new Rift block that your suggesting to travel other Rift blocks. Say I have a rift block at my farm and one in my Base within the 64 block radius. Could the flickers open the rift jump to my Base rift and empty it's stuff and then return to the farm. This is probably a big ask, but I thought I'd suggest it as be cool to make larger transport systems.

jjtParadox commented 8 years ago

That's a really interesting idea... I'm personally not extremely familiar with the flicker code, so I can't offer any insight as to how hard or easy that would be to do, but it probably isn't impossible :smiley:

Mithion commented 8 years ago

No point...that's what gateways are for.

jjtParadox commented 8 years ago

Right forgot those exist.

ChilledDayz commented 8 years ago

Do flickers travel though gateways or do you mean that I could to move the items?

Mithion commented 8 years ago

You can go through the gateways with the items - flickers have a limited range, though it can be extended with upgrade habitats to be quite large.

ChilledDayz commented 8 years ago

Ah okay it was just an idea. I've been playing around with the flickers a lot and was just seeing if long distance item transport would be possible. What your saying makes a lot of sense simple and works :-)

Mithion commented 8 years ago

:)

Either way, it isn't related to this specific suggestion - further discussion on the issue if desired should be in a separate post here.