Page 1 of 1

New features for actor conditions

Posted: Mon Sep 16, 2013 12:51 pm
by Zukero
I'm working on a quest, and there are some things I'd love to do with Actor Conditions, that are not possible with the current codebase & content editor. I'll list those ideas below. Please tell me what you think of them.

- Looking at the ActorStatsController & StatsModifierTraits classes, it seems that it may not be that hard to implement actor conditions inflicting other actor conditions (mimic the weapons' "On Kill" effects in the Actor Conditions' "Every Round (6s)" effect). I could see other uses, like a weapon or armour having a 5% chance to give you a condition that gives yoou an AP boost for the next (few) round(s).

- The Actor Conditions effects are either permanent, every round, or every full round. I'd like to be able to give effect on every hit and/or kill too. It seemed like more code work than previous point, but not that long/hard to achieve.

- This one seems even harder to implement, and I could do without it if the previous two get done, but I think it could be really fun : make Actors (NPCs & the Player) able to inflict effects (including actor conditions) when hit and/or killed. For example, you hit an enemy, you have a chance to get poisoned; you kill another, it heals you (that guy is made of bonemeal); or a weapon/skill that inflicts 1 damage to every NPC that hits you (auto-revenge !).

I could code the first one myself I think (at least for the game code, not the content editor), but I tried setting up Android Studio on my machine (Win 7 64, old Core i3, 4 GB RAM), but the emulator takes AGES to start AT (more than 15 minutes, sometimes 30), and I couldn't even start a new game in the launched instance of AT (stuck in the "loading resources..." dialog forever, left it run several hours), so I have no way to debug it. Anyway, I'm more looking for feedback on those ideas than help on dev environment setup :P

Re: New features for actor conditions

Posted: Wed Sep 18, 2013 2:28 pm
by Zukero
:!: WARNING : The first part of this post could belong to the "developers" forum, but as it's really related to this thread, I'll just post it here.

Right, I managed to get the emulator running the game "so-so", by using the x86 system image, instead of the ARM one.
Now, I have a correct understanding of how the AT code works, and some at-least-basic understanding of the android development tools/process. I have to admit the AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES variable helped speed up my investigations a LOT !

Actually, I now think that my last proposition would be the easiest to implement, and that I can do the code for it rather fast (between one day and one week, depending on the free time I have), but it involves adding fields to the Actor datamodel (so impacts on the parsers, need update to ContentEditor afterwards, which I don't think I can do yet).

:arrow: -- Enough with the highly technical stuff :ugeek:

Before I get to code it, I'd like some feedback on this idea (actor conditions allowing revenge-effects, by letting the target of an attack trigger effects when hit or killed) from players, and possibly devs. Would you like me to get it done ?

Re: New features for actor conditions

Posted: Fri Sep 20, 2013 7:51 am
by positive
Zukero wrote: - Looking at the ActorStatsController & StatsModifierTraits classes, it seems that it may not be that hard to implement actor conditions inflicting other actor conditions (mimic the weapons' "On Kill" effects in the Actor Conditions' "Every Round (6s)" effect). I could see other uses, like a weapon or armour having a 5% chance to give you a condition that gives yoou an AP boost for the next (few) round(s).
It sounds a bit complicated for me (not to implement, but to count with it while playing), and rebalancing the conditions, or weapons would be also necessary.
Zukero wrote: - The Actor Conditions effects are either permanent, every round, or every full round. I'd like to be able to give effect on every hit and/or kill too. It seemed like more code work than previous point, but not that long/hard to achieve.
Zukero wrote: - This one seems even harder to implement, and I could do without it if the previous two get done, but I think it could be really fun : make Actors (NPCs & the Player) able to inflict effects (including actor conditions) when hit and/or killed. For example, you hit an enemy, you have a chance to get poisoned; you kill another, it heals you (that guy is made of bonemeal); or a weapon/skill that inflicts 1 damage to every NPC that hits you (auto-revenge !).
These could be interesting, but should be used only in rare cases (at few special monsters).

Re: New features for actor conditions

Posted: Mon Sep 23, 2013 3:38 pm
by Durf
I am no coder, but I like the concept more generally. I can imagine several interesting options for these additional actor conditions. For instance, some creatures should really cause a bit of damage on being hit, such as the snow creatures causing cold damage (perhaps lasting several rounds), and the lava creatures causing fire damage on hit. Additionally, this might be an interesting mechanism to apply disease or "pestilence" effects, as when attacking a lich or some new creature that inflicts pestilence effects otherwise (maybe the carrion crawlers?). The new slime creatures could also have an acid splash effect on hit, as it would seem realistic to expect them to splash when smacked hard with a sword or large object (would it be even harder to code for particular weapon type when triggering these effects -- such as a mace causing a greater splash than a sword?).

Re: New features for actor conditions

Posted: Fri Jun 06, 2014 10:54 am
by Moerit
Just want to ask, cause this thread is related to "fungi panic":
Whats the current state of work?

Re: New features for actor conditions

Posted: Fri Jun 06, 2014 11:23 am
by Zukero
Actually, this is what started my take on writing a scripting engine for AT.
Details about it and its current state are there: http://andorstrail.com/viewtopic.php?f=6&t=4342
It's working well, but far from feature complete, as there are many hooks with the game engine that are not implemented yet.
I haven't had time to go back to it since I took more responsibilities in the project, but I'd definitely love to get it completed someday, in a not too distant future (v0.8 or v0.9 I hope).