purplekirby54

DatKooby
Member
Joined
Dec 10, 2016
Messages
21
Reaction score
4
First Language
English/Spanish
Primarily Uses
RMMV
Hello, all! I've got an interesting idea for my game that I've been developing over the course of like 4 years.

Whenever my buddies and I do RPG nights, we have a choice - use our characters skills to beat the **** out of each other, or talk your way out of conflict. Either way, you get EXP, but I wanted to see if it were possible to make something like this in MV.

For now, all I can find on the subject is being able to make characters have a pre-chat fight.

What I have currently, as my idea, is have 3 skills, Talk, Bargain, and Intimidate (each having varying results per enemy), but I cannot get them to do what I want, that being, speak with an opponent to have something (or nothing, depending on the enemy) happen.

Would anyone like to help out with this? I'm thinking it would require some common event usage.
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
45,533
Reaction score
16,419
First Language
English
Primarily Uses
RMMV
You can add cut scenes to your battles by using the troops tab - you would need to set the conditions and span, but you can use most of the event commands that are available in regular map events - particularly the text, choices, conditional branches and actor/battler stats / EXP. It'd be a lot of work as you're setting it up for every troop and might want to do different things depending on the troop, but what you're after can certainly be done.
 

purplekirby54

DatKooby
Member
Joined
Dec 10, 2016
Messages
21
Reaction score
4
First Language
English/Spanish
Primarily Uses
RMMV
Well, therein lies the problem: I'm not looking for adding cutscenes, that I know how to do.

Let's say this for instance:

Actor 1 has two skill trees: Attack and Talk
Attack has your usual stuff, like dual strike, etc.
Talk would have some skills in it, like Intimidate, Bargain, and Convince that would do something different depending on the enemy they were used on.

For now, the skills do nothing, as they does no damage, nor does it trigger an event in battle.

Does that somewhat make sense, or should I make a mockup of what I'm trying to do?
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
45,533
Reaction score
16,419
First Language
English
Primarily Uses
RMMV
It seems you'd want to make Talk a new skill type (under the Types tab). Then create the individual skills (Intimidate, Bargain, Convince, etc) and make sure their skill type is set to Talk.

If the skills are not doing any damage or inflicting states, you'll probably want to attach common events to each one so you can perform some more complicated logic.
 

purplekirby54

DatKooby
Member
Joined
Dec 10, 2016
Messages
21
Reaction score
4
First Language
English/Spanish
Primarily Uses
RMMV
Okay - as stated, I had the skills & tree made up. It's just the common eventing I'm having trouble with. Usually, I would use conditional branches, but in this scenario, conditional branches wouldn't work for what I'm trying to accomplish.

Brief idea #2:
4 characters are in the active party
Each one can use the "talk" skill, which links to the common event
Ideally, the common event should be able to 1: Check who used the skill and 2: check which enemy is being spoken with, and then 3: do what the scenario would call for (like recruit an enemy, convince them that what they're doing is wrong, or intimidate them to run away)
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
45,533
Reaction score
16,419
First Language
English
Primarily Uses
RMMV
Yep. You can do that.

BattleManager.actor() will give you the actor object who used the skill (assuming the skills are only usable by actors). So you can use Control Variables to put BattleManager.actor().actorId() into the variable (via the Script box), then use conditional branches to make it do different things depending on which actor used the skill.

BattleManager._targets[] is an array of all targets of the skill. If your skill targets only one enemy, it would be BattleManager._targets[0]. You can then use BattleManager._targets[0].index() if you want to work with enemy #1, #2, #3 as you placed them into the troop order, or BattleManager._targets[0].enemyId() if you want to see what kind of enemy you're dealing with (from the enemies tab). So you can use Control Variables to put the index or enemy id into the variable (via the Script box), then use conditional branches to make it do different things depending on who the enemy is.

It could get pretty complex if you have a party of 15 and your troop has 7 different enemies - that's a lot of conditional branches.

If one actor can do certain things with the Talk skill but another actor can do different things with the same skill, I'd create two skills called Talk and assign one to one actor and the other to the other actor, and give them different common events. That means your common event wouldn't have to have a series of conditions based on who used the skill, as you know that THAT Talk skill can only be used by Actor 1.
 

purplekirby54

DatKooby
Member
Joined
Dec 10, 2016
Messages
21
Reaction score
4
First Language
English/Spanish
Primarily Uses
RMMV
Hmm. I like the idea of this, but where do I find BattleManager.actor() and BattleManager._targets[] ?
 

Frogboy

I'm not weak to fire
Veteran
Joined
Apr 19, 2016
Messages
1,834
Reaction score
2,404
First Language
English
Primarily Uses
RMMZ
I made a plugin that you might want to take a look at. It adds new HP stats to both the actors and enemies. This isn't really what you asking for but what you could do is set up extra HP for non physical attributes. One of these HPs could be called Hostility or Composure or something and represent the enemy's demeanor and willingness to fight. You could have a Fear themed HP that Intimidate damages.

My Health plugin enables a lot of interesting game play options and can be customized to make some unique battle systems. It's probably worth a look.
 

Latest Threads

Latest Posts

Latest Profile Posts

One of these days, I will have no more errors.
The tutorial streak is going on, learn something about cave edits today!
(And possibly in a few days even more, stay tuned ;) )
Something is working in my game, and I have no idea how or why. It wasn't working yesterday. But it is now.
So we're just gonna...move on, and never, EVER, touch that passive again, lest it break.
did anyone see my topic today?
Getting sidetracked on the idea of a matching game. Some experimental designs:

matching game experiments.png

Forum statistics

Threads
129,911
Messages
1,206,186
Members
171,102
Latest member
Zeomak
Top