So I wanted to be a parasite...

All development conversation and discussion takes place here

Moderator: Moderator

Post Reply
Message
Author
Earwicker
Higher
Posts: 58
Joined: Mon Mar 18, 2013 5:20 pm

So I wanted to be a parasite...

#1 Post by Earwicker »

Hi. I'm fairly new to ToME (a few weeks), and totally new to Lua (although I've been a professional programmer - mostly C & Java - for about 15 years.)

At the moment I'm trying to create small addons - new races, classes, talents, that sort of stuff - to get an idea of how ToME works. And I've got an idea for a new race, but I don't know if it's feasible at all.

Suppose you're a parasite (a no-class race, like the Runic Golem), with the unique ability to 'mark' a creature (only one at a time) you want to be your future host. When you kill said creature, instead of dying it gets a partial heal and status cure, and you take full control of it... while your former host crumbles and drops all its equipment. You gain your new host's stats, talents, abilities, etc. while losing the former's, except -of course- you retain your racial (parasitic) powers and your stats increases, as well as prodigies (and maybe a few other things.)

After a while (the duration of which could depend on another racial talent), your new body would start to decay and you'll have to find a new host.

So this parasitic race would have no real body to speak of - but I suppose you could start as a parasited ghoul in the Blighted Ruins. Not only is it thematic - since a festering, rotting corpse that's just been tinkered with by a careless necromancer is probably the most likely place where a germ or virus could mutate enough to gain sentience :lol: - but the Cloak of Deception would be of great help to hide your true self from prying eyes, since (assuming that's possible) I think inheriting the hosts' faction as well as their other attributes could be really really fun (just think about infiltrating Zigur even though one of your former selves was an archmage, or having the Master's surviving minions bow to you as you take control of him.)

So, what do you think? Feasible, or not?

By the way (on a more general note), is there a simple way to 'inherit' functions such as levelup() (/mod/class/Actor.lua) at the race/class level? The best I can do at the moment is to use a custom levelup() that's used by everyone, with a truckload of if statements I'd feel much better without.

catwhowalksbyhimself
Wyrmic
Posts: 249
Joined: Sun Aug 15, 2004 1:19 am
Location: Plainville, CT

Re: So I wanted to be a parasite...

#2 Post by catwhowalksbyhimself »

The sounds similar to the Possessor, a class from ToME 2 that DG may bring into ToME 4 at some point.
"I am the cat that walks by himself. All ways are alike to me."
--Rudyard Kipling, "The Cat That Walked By Himself"

nate
Wyrmic
Posts: 261
Joined: Fri Jan 18, 2013 8:35 am

Re: So I wanted to be a parasite...

#3 Post by nate »

It's feasible in at least one sense-- that you could do that.

From a balance perspective, you've got a problem where basically no NPCs come close to PCs in terms of how many talents they have-- except for bosses and rares, which can have some pretty crazy combos. But ToME is balanced to just about the point where you can complete the game on Roguelike without even having a class. Just barely.

Lua's a great language in that you can do anything with a function that you can do with any other variable. Not sure exactly what you're talking about doing, but you can certainly say "if x then self.levelup = myLevelUp end"; you can even do "local myLevelup = function(base) return function(self) base(self); otherStuff(self); end; end; if x then self.levelup = myLevelUp(self.levelup) end" which would make a unique instance of myLevelUp for each critter you attached it to, one that called any preexisting levelup() before doing its own thing. With that, all you have to do is figure out when to replace the function.
Proud father of Fx4fx and Chronometer add-ons; proud mother of Fated add-on

Earwicker
Higher
Posts: 58
Joined: Mon Mar 18, 2013 5:20 pm

Re: So I wanted to be a parasite...

#4 Post by Earwicker »

catwhowalksbyhimself wrote:The sounds similar to the Possessor, a class from ToME 2 that DG may bring into ToME 4 at some point.
Oh well. Not the first time I've got a brilliant idea another zillion people stumbled upon before. :lol:
nate wrote:From a balance perspective, you've got a problem where basically no NPCs come close to PCs in terms of how many talents they have-- except for bosses and rares, which can have some pretty crazy combos.
Yep, I thought about that - but as long as it's not PvP, this kind of balance problems are more than OK in my view. I just call them 'challenges to overcome'. :wink:

Thanks a lot for the levelup() tips btw.

Parcae2
Uruivellas
Posts: 709
Joined: Sat Jan 14, 2012 12:02 am

Re: So I wanted to be a parasite...

#5 Post by Parcae2 »

Just popping in to say that, as someone who has been waiting for Possessor for quite a while, I would love it if you made this class.

Earwicker
Higher
Posts: 58
Joined: Mon Mar 18, 2013 5:20 pm

Re: So I wanted to be a parasite...

#6 Post by Earwicker »

Parcae2 wrote:Just popping in to say that, as someone who has been waiting for Possessor for quite a while, I would love it if you made this class.
Then I have good news for you, I'm working on it already. And also bad news, as I'm afraid it'll take quite some time.

At the moment, my Parasite class has no 'body' of its own (starts as classless ghoul in the Blighted Ruins), uses WIL and CUN as its main stats, equilibrium as its main resource (although that will probably change), and a racial talent tree that
  • 1) -passive- extends the longevity of its hosts;
    2) -passive- increases the host's resistances to nature and blight;
    3) -passive- makes the host exsude spores when seriously hit (chance proportional to the damage received/remaining health ratio), these spores affect a few random contiguous tiles around for a few turns, and force a confusion check to anyone but the host, plus a bindness check at raw talent level 3, plus a rotting disease check at level 5. The number of tiles affected and the duration of the effect also depend on level.
    4) -activated- supercharge the host for a few turns (stats, powers, saves and a regen boost), but the host will start to deteriorate at a rapid rate once the effect ends.
There's also an innate talent (like, say, the Chronomancer's Spacetime Tuning) which purpose is to mark a creature for 'hosting'. This is a resource-free sustain so only one creature can be targeted, but it can be deactivated and retargeted at any moment.

There's also 3 other trees that are just barely implemented. Think about spreading diseases, taints, and mind control (my favourite in the latter being 'Treason': fail your save, change your loyalty to a random faction - I can't wait to test that one on large crowds.)

Every new host will last X hours of game time, then every turn there will be a 1% chance that decay occurs, then a cumulative 1% chance per turn that the decaying condition worsens (cumulative here means that a failed check makes the 1% a 2%, then a 3%, and so on.) Each failed check will decreases your life regen by 1, so you still can last a while while the decaying factor remains low, but if you let it snowball too far you'd be in serious trouble.

Although I've already written quite a bit of code, I haven't been able to really test any of it, yet. The main problem I have at the moment is 'dolling out' hosts. Maybe I missed it, but it seems nothing has been done in the main code to handle equipment slots for non-player critters. And I just can't allow to, say, let snake hosts to use swords or boots (although a small snake could probably use about a dozen rings - and a worm mass a dozen hundreds rings :lol: )

In the meantime, I'm open to suggestions.

Suslik
Spiderkin
Posts: 481
Joined: Wed Aug 22, 2012 4:41 pm

Re: So I wanted to be a parasite...

#7 Post by Suslik »

> Yep, I thought about that - but as long as it's not PvP, this kind of balance problems are more than OK in my view.
It I'm afraid it's not ok from most other players' point of view. Reason is that Tome has very ambitious(it means instead of +3% str per ability like some RPGS have you can travel in time), but yet overall difficulty for most classes is tried really hard to be made roughly the same. And there are a lot of different areas specifically dangerous for some classes, still DG makes his best to keep it overall comparable chronomancers and bulwarks with their completely different playstyles. Additions you suggest can be fun to play as an option, maybe as in-game quest(imagine you lost your body and trying to find it again), or maybe an addon for enthusiasts, but making it another stock class would require balancing it really, really hard.

Sirrocco
Sher'Tul
Posts: 1059
Joined: Fri Apr 23, 2010 4:56 am

Re: So I wanted to be a parasite...

#8 Post by Sirrocco »

This is a cool idea in a number of ways, but as described, it inherently involves a critical and decaying resource - much like Hate, except vastly more important. The thing we notice with Hate is that people will want to visit towns, and they'll want to travel on the overland map, and they'll occasionally want to revisit dungeons they've been in before, and while there, they'll want to take their time. If you decide that corpse decay means that you lose all your stuff and become effectively incapable of fighting and/or die, you've made the character near-unplayable. In order for a class to be workable, it has to be able to rest for an indefinite period of time, come back to a dungeon of appropriate level, and reboot its resource economy relatively simply. (mind you, this can add danger - taking on an adventurer party as a doomed when you've let your hate decay is a whole lot more likley to get you killed than doing so with a full tank. It just has to be *feasible*).

Additionally, if the skills of the player are in any way dependent on the skills of the host, and you include the extra rare skills in this, you've suddenly made things far easier for any Insane players out there. I do not believe this is what you want..

Zireael
Archmage
Posts: 449
Joined: Tue Jun 18, 2013 7:24 pm

Re: So I wanted to be a parasite...

#9 Post by Zireael »

I absolutely love the idea.
Maybe I missed it, but it seems nothing has been done in the main code to handle equipment slots for non-player critters.
NPCs have all slots so that they can drop all manner of stuff.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: So I wanted to be a parasite...

#10 Post by Doctornull »

This is a very cool idea.

Suggestions:

-> Initially limit the body-stealing to Humanoids. There are plenty of these in the game, and doing this avoids the body-slot issues, until you get those worked out.

-> Look at the Cursed / Predator tree, specifically the Mimic talent. Might give you some ideas on how to steal stats from kills.

-> Instead of slowly decaying the body over time, just say NO HEALING EVER. Healmod goes to Mana regeneration instead, and when you're out of Life, you suffer Mana damage (and you die at 0 Life / 0 Mana). Killing a Humanoid gives you stats and Life, so you're a bit like a Cursed.

-> You could have messages about which parts of your kills you steal / ingest / integrate, and the stat bonus effect those parts have. MMMMMM DELICIOUS BRAAAAAAAAINS.
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: So I wanted to be a parasite...

#11 Post by HousePet »

Many npcs don't have the equipment slots set, you need to enable them if you want to use them.
My feedback meter decays into coding. Give me feedback and I make mods.

Nagyhal
Wyrmic
Posts: 282
Joined: Tue Feb 15, 2011 12:01 am

Re: So I wanted to be a parasite...

#12 Post by Nagyhal »

No criticisms, as I hardly think you're going to code this and say "Well, I designed and coded this fully-featured class but I'm sorry because you can't actually get through levels with it."

I humbly request for the race's physical form to be some kind of sci-fi thriller crustacean monstrosity.

Abilities would include: Chestbursting, Facehugging and Gestate Larvae.

And I'd really love to see a number of telepathy trees so there is the option to again to become some kind of true sci-fi thriller symbiont horror.

Do hope you can get back in the flow with the coding.

Mewtarthio
Uruivellas
Posts: 717
Joined: Mon Jul 16, 2012 6:03 pm

Re: So I wanted to be a parasite...

#13 Post by Mewtarthio »

Zireael wrote:NPCs have all slots so that they can drop all manner of stuff.
Randelites get all slots so they can equip whatever their class needs.

Post Reply