[1.0] A RimWorld of Magic

Started by Torann, November 24, 2017, 11:17:05 PM

Previous topic - Next topic

Canute

QuoteMore in-line with the mod design and what you're asking for might be single-use items (spell scrolls, reagents, etc) or even more powerful items with inherent abilities.
Nice idea, but that could be very overpowered at the combat. When every pawn could use AE spells.

I think the crafting process will need mana + resources (magicite,jade,magic paper (wood+cloth+silver/gold) and the use later just consume the item.
Then they use these scrolls and don't got magic weakness during the combat.


Torann

Quote from: Canute on November 30, 2018, 03:32:11 AM
QuoteMore in-line with the mod design and what you're asking for might be single-use items (spell scrolls, reagents, etc) or even more powerful items with inherent abilities.
Nice idea, but that could be very overpowered at the combat. When every pawn could use AE spells.

I think the crafting process will need mana + resources (magicite,jade,magic paper (wood+cloth+silver/gold) and the use later just consume the item.
Then they use these scrolls and don't got magic weakness during the combat.
It could be overpowered, but when you think about it, the doomsday launcher, orbital bombardment, and other single use items are essentially the same thing.  They have a large cost/quest reward - limited availability.  If I were to implement something like that, then those spell-scrolls would have similar drawbacks, perhaps not as costly but also not as strong.  Repeated use items would be both costly and have a long cooldown on top of being marginal compared to actual class abilities.  I would also pick what those abilities carefully.

crusader2010

I just tried to cure the Flu, with a druid, from one of my animals (it's a Groundrunner, from one of the animal mods). Had 1 point in Effective Treatment (to never fail) and 2 points in Disease Knowledge.

The Flu didn't get cured and a message popped up that "You cannot cure a diseases of this type".

Is this supposed to happen?
My mod pack: {A13} Mod Mega Pack

Torann

Well it looks like there's a difference between Flu and Animal_Flu, but an easy thing to fix.

henk

There's an idea that's been rattling in my head regarding magical pawns, and I thought it could use some feedback.

The concept revolves around the idea of magical circles, meditation and research. With basic enchanting researched (or a new early-tier research), pawns could build a magical circle, which can be used for magical research, like the hi-tech research bench and multi-analyser. In addition, rituals and meditation can be done in the circle.

If Rimworld modding allows it, having research that require magic circles would be great. Even better if you can make new structures that link to the circle, like multi-analyzers and tool cabinets. Power pylons could improve crafting speed, meditation results and magical research speed.

Rituals would involve crafting or expensive spells. For example, enchanting gear, high level summons or resurrection could only be done inside a magic circle. When not otherwise used, magic capable pawns can use the magic circles to meditate, with some random effects. Most importantly, magically gifted pawns could meditate and get a promotion inspiration to a single, random magical class. If the player is happy with that pawn upgrading to that particular class, they can order the pawn to do the ritual at the magic circle to upgrade them to that class; if they don't want that class, they just ignore the inspiration and wait for the pawn to get a new promotion inspiration (which would cancel the previous one, if it's still active). I feel this would be a more interesting way to upgrade pawns than buying books, especially for poor colonies. Other magic circle inspirations could include gaining class experience, gaining mana or a mana regeneration inspiration, filling the need bars or gaining research points in some magical research; you could also have researches that cannot be researched (have an impossible to research prerequisite) that can only be gained with magic circle meditation.

Torann

#1175
Quote from: henk on December 01, 2018, 08:51:19 PM
The concept revolves around the idea of magical circles, meditation and research.
This concept has been on my design doc for a bit, but I haven't added many details.  It's one of those 'magical building' ideas that I've been working towards, with the addition of the magic work type and underlying work-givers and capacities.

To be effective, I think the magic circle should really be an early game option, but has appropriate drawbacks as well.  Also, the idea of "magic circle" has some connotations like "what does it take to make a magic circle."  From your description, I'm not quite sure if it's single use, or would involve multiple pawns to perform rituals.  In my opinion, maybe it should be both, or maybe two separate circles, a ritual circle and a meditation circle.  Ideally, I think I'd like to have a single circle, that circle has a "bills" menu like any other workbench, but you order different rituals and then, depending on the ritual, the number of pawns, reagents, etc vary.  That's a lot of complexity though, and would require me to figure out how to have multiple pawns perform work on a single bench.

The rituals themselves are endless in possibility, as long as the cost is appropriate, the circle would be a pretty effective method of implementing a powerful spell.  Summon mighty guardians, cure the sick, resurrect the dead, grant boons to pawns, casting colony wide buffs or protection spells, prevent food from rotting... long list of things.  Even using the Ritual circle as a means to gain additional rituals.  I like the idea of the magic inspirations, but it would have to be done in a way that it doesn't destroy the need for an economy.

Another concept I'm toying with, and I think is closer to implementation, is the psychic projection chamber.  Magic pawns could enter this chamber and perform a variety of functions.  All functions would be automatic and would occur without player interaction.  Obviously, the magic pawn would be unavailable until their time in the chamber ended.

To list a few things that could be done inside the chamber: break a pawn out of mental states - the better relationship the mage in the chamber has with the mental pawn, the more likely this would occur; the opposite would also be true though, if the two pawns hated each other, it could result in the equivalent of an insult or similar event.

Deter raids - raids may be completely prevented, or reduced in strength for various reasons
Prevent, reduce, and combat weather events (cold snap, heat wave) - if the event can't be prevented entirely, then it can be reduced in severity or duration
Attract caravans - friendly caravans will be more likely to appear
Prevent a disease or blight or reduce how much it affects

In general, the chamber would allow certain events to be less threatening.  Each mage type would be better at preventing certain events, for example a druid would be better at preventing disease, but less capable at preventing a heat wave. An Arcane mage may be better at causing a raiding party to get lost.

There's more room for growth in the category.  I think before either gets implemented, there needs to be a "balance" update that will introduce new challenges to help balance out these types of capabilities.

crusader2010

#1176
One thing I would caution about: adding too many "worktables". For example, I already use over 130 mods that I simply cannot play without (vanilla is too lackluster in my opinion). Having even 10-20 more workbenches becomes a huge hassle since there is no focus on implementing a priority for workbenches that use the same job type (e.g. Craft something at the crafting spot before going to the machining table and before going to the second machining table? Nope, can't do that - you have to get more pawns and make them craft - but then, you end up with 90% of your pawns being crafters simply because there are so many workbenches related to that..).

In other words, I would try to not add more workbenches, nor job types (there are too many already).
My mod pack: {A13} Mod Mega Pack

henk

You can have one magic circle, which can be improved with one or more pylon slots to specialize them. That way, you have a single work table, a few misc items and lots of possibilities.

What I really want to see is a more involved way to upgrade magically gifted pawns to advanced classes early in the game, when you can't afford thousands of silvers for a single spellbook.

Canute

Another idea for magic circle,
sacrifice animals/humanoids for Mana,XP,Buff.
No i don't want start another cult mod, just a simple tool to gain some extra Mana without Mana potions.
Depend on the sacrificed mass he is geting the amount of mana.

crusader2010

#1179
Another error (probably harmless):


Tried to destroy already-destroyed thing Projectile_Poison745793
Verse.Log:Error(String, Boolean)
Verse.Thing:Destroy(DestroyMode)
Verse.ThingWithComps:Destroy(DestroyMode)
TorannMagic.Projectile_Poison:Destroy(DestroyMode)
TorannMagic.Projectile_Poison:Impact(Thing)
AbilityUser.Projectile_AbilityBase:ImpactSomething()
AbilityUser.Projectile_AbilityBase:Tick()
TorannMagic.Projectile_Poison:Tick()
Verse.TickList:Tick_Patch2(Object)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


Occurred after casting Poison on a Scyther with 2 points in "weakened limbs". Not sure if it occurred after killing the Scyther or before.

And another error (no idea what triggered it):

Got ThingsListAt out of bounds: (-1, 0, 119)
Verse.Log:Error(String, Boolean)
Verse.Log:ErrorOnce(String, Int32, Boolean)
Verse.ThingGrid:ThingsListAt(IntVec3)
Verse.GridsUtility:GetThingList(IntVec3, Map)
TorannMagic.HediffComp_Hate:AbsorbProjectiles()
TorannMagic.HediffComp_Hate:CompPostTick(Single&)
Verse.HediffWithComps:PostTick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick_Patch2(Object)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
My mod pack: {A13} Mod Mega Pack

Skeletti

one or two ideas.

A new tab at the bottom of the UI to get a quick view for classes lvl, gifted, unused skill points and maybe 1-2 checkboxes for automatic use, like for mentoring or techno bits.

Maybe even an additional room/furniture for mentoring.  So for example without this research/furniture only 50% can be taught, so only half the level of the teacher but with the things just 100% can be taught.

PS: probably known, but the summoner, explicitly his minnions, are reseted when loading. Funnily enough they are there after the load (pause), but as soon as you finish the pause they dissolve instantly.

PPS: great mod :)

TheJinx

Like the idea of some msgic furniture but I feel like another box would be a bit overkill especially for those who already run 20 other mods with UI

henk

Why not magic recreation then? Magic chess for wizards only!

Torann

Quote from: Skeletti on December 04, 2018, 03:07:14 AM
PS: probably known, but the summoner, explicitly his minnions, are reseted when loading. Funnily enough they are there after the load (pause), but as soon as you finish the pause they dissolve instantly.
Didn't know that, thanks for the report.

Holvr

Beware! This post will be LONG, and there's no "spoiler" tag to make it collapsible, so I had to break it down into two posts (due to the limit of 20.000 characters... yes, it's that long). Please bear with me or scroll right over.

I have two classes to propose (I've put them on the steampage already, but then I realised that not everyone is using steam, and some users here might have valuable insight).



Chronomancer

Foreword: This is basically the most "metagaming" class I can come up with. For the most part, it's designed to fuck with core game mechanics, rather than the in-game environment, entities etc. What do I mean by that? Just read the spells below, and especially the master "Time Regression".


Description: Chronomancers are treading the unstable paths of time, exposing themselves to time paradox and even existing in multiple timelines, thus they experience time vastly different than other pawns. Time wizards, as they're often called, bend and twist the very fabric of reality, freely swapping that which was with that which will be, although they do so at a great cost, as they become less and less attached to the natural flow of time as their power increases.


Passive: A random chance a few times per day, that the Chronomancer will have their attack, casting, movement, and work speed (independently) slowed or hastened, and a random chance that they'll gain a good chunk of experience in the skill they're doing at the moment (because premonition from the future) or lose a chunk (because they've reverted to the state of knowledge from before). If the Chronomancer is researching, the same can happen to the research progress bar – it can either gain a chunk of progress, or lose it. The same principle would apply to their need gains – if they eat, sleep or doing joy, they can either fill it faster or lose some. They can also randomly blink forward or backwards when they're walking towards a destination, or they can summon an item to themselves, because they went forward in time and already got it (so basically involuntary autocast blink and summon with added shenanigans of blinking in the wrong direction).
All the above would become more frequent and more severe as the Chronomancer grow in power.


Spells:


Time Warp: Makes the day longer. If the Chronomancer is also a "night owl", makes the night longer instead.

Dunno how to do it the easiest way, so the pawns and the world (like plants growing for longer during that time) would still benefit from it. Maybe something along the lines of "for the duration, stop the decay of pawns' needs, and every time an hour passes, revert the clock 1 hour back, do it X times, and then resume normal time"?


Recall: Single target spell that reverts one pawn, building, structure or basically anything to the state it was in a few seconds ago (including, but not limited to, restoring that destroyed door or turret, or even bringing back that unfortunate colonist back from the dead IF you're quick enough to reactively cast it!).
Possible upgrades would include increasing the time window that can be reverted (let's say it starts with 3 seconds, and can be upgraded to 5-6 seconds), and the target radius (1st upgrade bumps from single target to a 5-tile cross [like vanilla molotov targetting] and 2nd one bumps it to a 3x3 square).

This, however, would most likely require you to implement some weird time-tracking of the whole game, since I don't think that vanilla Rimworld "knows" what was where and in what shape X seconds ago, so the spell idea might be completely unfeasible (like half this class, honestly).
If that's the case, then maybe the spell could be cast pre-emptively on a target pawn, building or structure, and it'd "remember" where it was and in what shape, and the target of the spell would receive a "recall" ability button that when pressed, would recall it back in time.


Tempus Fugit: Makes all the colonists much faster in terms of both movement and attack/casting speed, and does the exact opposite to the rest of the entire map (most likely to a raid). Either that or maybe make it targeted AoE spell, and everything inside AoE is hastened, while everything outside is slowed, so same thing, but tougher to use due to actual positioning and aiming, rather than "fire and forget".


And now the ultimate fuckery spell. This spell is solely designed for the "commitment mode" of play and shouldn't be accessible otherwise (is it even possible for a spell to only show up when the commitment mode is on? If so, maybe use Tempus Fugit for the gamemode that allows saving).

(Master) Time Regression: Simply reloads the latest autosave.

If at all possible to implement, Torann, would it also be possible implement it in such a way that everything reloads except for the Chronomancer? I'm no modder at all, but maybe it'd be possible to force the game to take a "snapshot" (like the washed-down version of the Recall above) of the casting Chronomancer, all their wounds ("They saved the colony, but not themselves..."), equipment (yes, they could bring items from the future to the past!), mood etc. Then reload the game, and apply the stored info to the Chronomancer, so basically everything is reverted, except for them? If doable, should have a HUMONGOUS cooldown and side effects, solely due to its abuse potential (buy or steal something ultra-expensive from a caravan, give it to the Chrono and cast away, here you go, got the item, and both your wallet and the caravan are fine).