Reputation system in BoA?

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Pages

AuthorTopic: Reputation system in BoA?
Warrior
Member # 6682
Profile #0
The previous Avernum games had a reputation system. Is this feature gone in the editor?
Thanks.

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Councilor
Member # 6600
Profile Homepage #1
Yes. If you want reputation in a scenario, you have to script it in yourself.

Dikiyoba.

Edit: Typo.

[ Thursday, June 01, 2006 14:31: Message edited by: Dikiyoba ]
Posts: 4346 | Registered: Friday, December 23 2005 08:00
Off With Their Heads
Member # 4045
Profile Homepage #2
It's really easy, though. Use an SDF to keep track of it. If you're really snazzy, give the party a special ability that allows them to check it. Make sure to use print_str to give status updates when the reputation changes, as the Avernum Trilogy did.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Law Bringer
Member # 4153
Profile Homepage #3
And to complete that old-school feeling, make the string blue with print_str_color(), like it was in A1-3.

--------------------
Gamble with Gaea, and she eats your dice.

I hate undead. I really, really, really, really hate undead. With a passion.
Posts: 4130 | Registered: Friday, March 26 2004 08:00
BANNED
Member # 4
Profile Homepage #4
There are a ton of things I would implement with any reputation system. For instance, for each "region" (a city and its outlying areas), I'd give a number of days before word of your actions in one region passes to another region, and maybe even an amount of time before word of your actions passes to the region itself.

Plus, I might actually add modifiers. For instance, a "violence" reputation that might make you unpopular with religious types. Or a "cruelty" modifier that will make you MORE popular with the particularly evil. But that depends on what you're aiming for.

--------------------
*
Posts: 6936 | Registered: Tuesday, September 18 2001 07:00
...b10010b...
Member # 869
Profile Homepage #5
quote:
Originally written by Keto-san:

Plus, I might actually add modifiers. For instance, a "violence" reputation that might make you unpopular with religious types. Or a "cruelty" modifier that will make you MORE popular with the particularly evil. But that depends on what you're aiming for.
In a scenario with a very heavy emphasis on politics and interpersonal interaction, I can think of at least three independent kinds of reputation that matter. One is your reputation for honesty (whether you can be trusted to keep your word and not manipulate others), one is your reputation for morality (what means you'll countenance to achieve your aims), and one is your reputation for competence (whether you've actually shown yourself to be capable of achieving anything).

Obviously, all of these will affect different people's opinion of you in different ways, and a high reputation isn't always better. For example, being known as a ruthless tyrant (low morality) will certainly make you some enemies, but it may also intimidate people into giving you assistance. Likewise, a potential rival might not want to ally with someone he judged to be too competent (too much of a threat), but he probably won't want a completely incompetent ally either. A reputation for honesty is generally a good thing, but telling the truth can make enemies too, and keeping a promise may prove to be more difficult than it appeared at the time you made it.

Are there any major categories of reputation that this threefold classification is missing? This is of more than academic significance for me, since I'm planning to make a scenario at some point (possibly for BoA, more probably for Pyg) in which the PC is a feudal lord.

[ Friday, June 02, 2006 00:32: Message edited by: Thuryl ]

--------------------
The Empire Always Loses: This Time For Sure!
Posts: 9973 | Registered: Saturday, March 30 2002 08:00
Shock Trooper
Member # 1249
Profile Homepage #6
I've recently thought about a reputation system for a scenario with two sides. In it there are two kinds of reputation: one describes which one of the different sides you support, and the other is some kind of a general respectability (or whichever is the right word for that), which is harder to gain but makes you more liked by everyone. The general reputation can negate the other reputation for the those who would otherwise dislike you.

The general reputation is gained mostly through side missions, and the other reputation is gained automatically by advancing plot to a certain direction.

(Or has someone already made something like this? I haven't played the newer BoA scenarios.)
Posts: 259 | Registered: Saturday, June 1 2002 07:00
Post Navel Trauma ^_^
Member # 67
Profile Homepage #7
Thuryl: You're missing a "social" reputation (things like politeness, and generally being nice to be around)

And it has to be scenario-specific, but I don't think you mentioned the "how much you like serviles" reputation.

--------------------
Barcoorah: I even did it to a big dorset ram.

New Mac BoE
Posts: 1798 | Registered: Thursday, October 4 2001 07:00
...b10010b...
Member # 869
Profile Homepage #8
Good points, Khoth. Etiquette and allegiances both obviously have to be important (especially allegiances -- a faction you've been fighting for half the game shouldn't be eager to help you, unless maybe you offer to stop beating them up if they do).

--------------------
The Empire Always Loses: This Time For Sure!
Posts: 9973 | Registered: Saturday, March 30 2002 08:00
Nuke and Pave
Member # 24
Profile Homepage #9
The honesty and morality reputations remind me of DnD allignments. Honesty is Lawful - Chaotic dimension and morality is Good - Evil dimension. I don't think I've seen the corresponding behaviors codified into the engine before, but it might work.

As for having 5 or more separate reputation types, unless you are going to make social interaction a major part of your scenario (and make the scenario sufficiently large), it's going to feel like an overkill. In a smaller scenario it might be easier to just keep track of how well-liked you are by each major character/faction.

--------------------
Be careful with a word, as you would with a sword,
For it too has the power to kill.
However well placed word, unlike a well placed sword,
Can also have the power to heal.
Posts: 2649 | Registered: Wednesday, October 3 2001 07:00
Warrior
Member # 6682
Profile #10
But if reputation is scripted ourselves, wouldn't it just be shown as comments on the text window? Can it be scripted so that it shows as a permanent stat on the character sheet just like the Avernum trilogy did?

BTW, these are all very good ideas for reputation. I plan on remaking some AD&D modules so I would probably need at least two different types of reputation taking into account the the morality and law axes of AD&D alignment rules.

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Lifecrafter
Member # 6193
Profile Homepage #11
It would only be message alerts in the text areas. Unless you make a special ability that, when used, gives you a dialog box telling your reputation (As Kelandon suggested I think.) I suppose you could get snazzy and have different NPC's tell you what your status is in different areas. (Ex. Ask a servant of the household what your servants think of you. Ask a merchant how your fame has been spreading etc.)

--------------------
Guaranteed to blow your mind.

Frostbite: Get It While It's...... Hot?
Posts: 900 | Registered: Monday, August 8 2005 07:00
Off With Their Heads
Member # 4045
Profile Homepage #12
quote:
Originally written by Lancer:

But if reputation is scripted ourselves, wouldn't it just be shown as comments on the text window?
Yes.
quote:
Can it be scripted so that it shows as a permanent stat on the character sheet just like the Avernum trilogy did?
No. Hence the need to create a special ability so that you can see your reputation whenever you want.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Warrior
Member # 6682
Profile #13
Thanks again!

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Warrior
Member # 6682
Profile #14
Running into another little problem..
In regards to treating reputation as a special ability.. How do you go about defining it as such?

I guess I am a little confused on how to use the custom ability calls...

This is what I have so far:

beginscenarioscript;

variables;
short i;
body;

beginstate LOAD_SCEN_STATE;
init_special_abil(1, "Reputation", 10);
break;

....

beginstate 10;
get_custom_abil_uses(who_used_custom_abil(), 1);
change_custom_abil_uses(who_used_custom_abil(),1,-1);
print_str("Your Reputation is");
append_number(i);
break;

Am I even on the right track?

-I am actually not too sure how to use the change_custom_abil_uses call.

-Secondly, I would imagine I need a way for "i" to increment as the party's deeds increases their reputation.

[ Friday, June 09, 2006 09:15: Message edited by: Lancer ]

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
BANNED
Member # 4
Profile Homepage #15
You don't have to fool around with text manipulation; all you need is print_big_str();

--------------------
*
Posts: 6936 | Registered: Tuesday, September 18 2001 07:00
Lifecrafter
Member # 6193
Profile Homepage #16
quote:
Originally written by Lancer:

get_custom_abil_uses(who_used_custom_abil(), 1);
change_custom_abil_uses(who_used_custom_abil(),1,-1);

The first line is unnecessary and should be removed, the second line should look like this,
change_custom_abil_uses(who_used_custom_abil(),1,1);
Otherwise once a character uses the ability once he won't be able to use it again.
And as TM said, just use print_big_str to print the flag you are using.

[ Friday, June 09, 2006 11:01: Message edited by: Lazarus. ]

--------------------
Guaranteed to blow your mind.

Frostbite: Get It While It's...... Hot?
Posts: 900 | Registered: Monday, August 8 2005 07:00
Warrior
Member # 6682
Profile #17
So the "1" in the third argument of the chnage_custom_abil_uses call means to give that special ability unlimited usage?

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Warrior
Member # 6682
Profile #18
Okay.. This is what I have now:

beginscenarioscript;

variables;
short i;
body;

beginstate LOAD_SCEN_STATE;
init_special_abil(1, "Reputation", 10);
break;

....

beginstate 10;
i=4;
change_custom_abil_uses(who_used_custom_abil,1,1);
print_big_str("Your Reputation is", i, "dude");
break;

------------------------------------------------

Unfortunately, I am still not getting a special ability icon to pop up for the PCs to utilize. Where do I go from here? Thanks.

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Lifecrafter
Member # 6193
Profile Homepage #19
beginscenarioscript;

variables;
short rep;
body;

beginstate LOAD_SCEN_STATE;
init_special_abil(1, "Reputation", 10);
change_custom_abil_uses(0,1,1);
change_custom_abil_uses(1,1,1);
change_custom_abil_uses(2,1,1);
change_custom_abil_uses(3,1,1);
break;

....

beginstate 10;
rep = get_flag(x,y); //This would be the flag you are using to keep track//
change_custom_abil_uses(who_used_custom_abil,1,1);
print_big_str("Your Reputation is", rep, "dude");
break;

That should work.

--------------------
Guaranteed to blow your mind.

Frostbite: Get It While It's...... Hot?
Posts: 900 | Registered: Monday, August 8 2005 07:00
Warrior
Member # 6682
Profile #20
I appreciate your help, Lazarus!

So then all I need to do is add the following statement everytime the PCs do something to increase (or decrease) their reputation:

get_flag(x,y) = get_flag(x,y) + z
//where z is the increase (or decrease) in rep due to the deed and x,y are the coordinates of the reputation SDF.

I am just a little confused about the syntax for the change_custom_abil_uses flag.. Why is it used in two circumstances (in beginstate and LOAD_SCEN state)?

Is it because in LOAD_SCEN the change_custom_abil_uses statements there are where the special abilities are actually defined for all PCs... Whereas the actual execution of the ability is in the beginstate?

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
...b10010b...
Member # 869
Profile Homepage #21
quote:
Originally written by Lancer:

I appreciate your help, Lazarus!

So then all I need to do is add the following statement everytime the PCs do something to increase (or decrease) their reputation:

get_flag(x,y) = get_flag(x,y) + z
//where z is the increase (or decrease) in rep due to the deed and x,y are the coordinates of the reputation SDF.

That's not how you modify a SDF. The correct syntax for what you want to do is:

inc_flag(x,y,z);

quote:
I am just a little confused about the syntax for the change_custom_abil_uses flag.. Why is it used in two circumstances (in beginstate and LOAD_SCEN state)?
It's called in the LOAD_SCEN_STATE to give you the ability in the first place. It's called when you use the ability in order to "recharge" your uses of it. (So every time you use it, you get an extra use of it, so you never run out.)

--------------------
The Empire Always Loses: This Time For Sure!
Posts: 9973 | Registered: Saturday, March 30 2002 08:00
Off With Their Heads
Member # 4045
Profile Homepage #22
The basic idea is this:

Characters have a set number of uses of any special ability at any given time. (That is, they can use them one time, two times, three times, whatever.) For custom special abilities, that number starts at zero.

You really ought to put the four change_custom_abil_uses calls in the START_SCEN_STATE, not the LOAD_SCEN_STATE, so that each character gets one use of the ability when the scenario begins. At that point, each character has one use.

When the special ability is used, the number of uses decreases by one. At that point, whoever used the ability has zero uses left (because he/she had only one use to begin with).

Then the state runs, and the change_custom_abil_uses in state 10 gets called. That gives the user one more use. At this point, all characters have one use again, so any of them can use the ability again.

Play with this for a while and it will make sense.

[ Friday, June 09, 2006 16:41: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Warrior
Member # 6682
Profile #23
Will do. Gracias again.

--------------------
Lancer
Posts: 73 | Registered: Friday, January 13 2006 08:00
Electric Sheep One
Member # 3431
Profile #24
One more kind of reputation might simply be degree of celebrity: how much common people seem to have heard of you, whether for good or ill or neither. Related to this, 'secrecy' could be another modifier like TM's 'cruelty'. Spectacular deeds in public might be known by everybody, but some people might be able to discover even deeds the player tried to conceal, so one might have violently contradictory reputations among peasants and police captains.

--------------------
We're not doing cool. We're doing pretty.
Posts: 3335 | Registered: Thursday, September 4 2003 07:00

Pages