Objectify all the people. Then tell the player about it.

Sup?

So what I want to do is check out body parts and the player can have looks but NPC’s can have looks, too.

I want to be able to check out people and have them react to how the player looks.

Not just looks, there’s several stats the player gets - so don’t just focus on looks. But let’s use that for the main issue to tackle.

[code]Looks are a kind of value. The looks are pretty, plain, and ugly.

A face is a kind of thing. A face is part of every person. The description of a face is usually “[if the noun is pretty][regarding the noun][They’re] pretty.[otherwise if the noun is plain][regarding the noun][They’re] okay.[otherwise if the noun is ugly][regarding the noun][They have] a nice personality.[otherwise][regarding the noun][They’re] forgettable.[end if]”

Definition: a person is other if it is not the player.

Definition: a thing is selfish if it is part of the player and the player can see an other person.

Instead of examining a selfish face:
say “That’s… That’s… What the hell do you think you’re doing?”

Does the player mean doing something when the noun is a selfish face or the second noun is a selfish face: it is very unlikely. [/code]

but that gives me this:

and here’s all the things I want. … for now.

[code]Gender is a kind of value. The genders are masculine, feminine, and unknown. Understand “boy” or “male” or “man” or “M” as masculine. Understand “girl” or “female” or “woman” or “F” as feminine.

A person has a gender. The gender of the player is unknown.

Height is a kind of value. The heights are tall, average height, and short.

Looks are a kind of value. The looks are pretty, plain, and ugly.

Build is a kind of value. The builds are wide, average build and narrow.

Endowment is a kind of value. The endowments are large, common and small.

Hairlength is a kind of value. The hairlengths are bald, short hair, and long hair.

Haircolor is a kind of value. The haircolors are Red, Blond, Black, White, Brown, Ginger, Pink, Punk, Rainbow, and Grey.

Strength is a kind of value. The strengths are strong and weak.

Age is a number that varies.[/code]

The gender thing is working perfectly but the rest… well, can’t seem to get it flying.

Any/all help will be appreciated.

Well, first off, you’ll want “Every face has looks” in there. :wink:

But your adaptive text isn’t working the way you want, beacuse the noun… is not the character, but the character’s face, so it always returns “it” instead of “him” or “her”.

I’m having some fun dabbling with it and will be posting shortly. In the meantime, I would also like to point out that you declared four responses for only three values of looks, is that intentional?

EDIT - Huh. I know sometimes Inform acts like a programming language, but other times it just seems to read my mind. “Holder of the noun”, first thing I tried, works beautifully.

EDIT 2 - Well, there you go. This is what you want.

A face is a kind of thing. A face is part of every person. Every face has looks. The description of a face is usually "[if the noun is pretty][regarding the holder of the noun][They're] pretty.[otherwise if the noun is plain][regarding the holder of the noun][They're] okay.[otherwise if the noun is ugly][regarding the holder of the noun][They] [have] a nice personality.[otherwise][regarding the noun][They're] forgettable.[end if]"

[rant]Are you planning on showing these variables in people’s “examine” responses? Like, “This is John, your neighbour. He’s tall. He’s forgettable. He’s red-haired. He’s endowed.” Reads kinda awkward, and even if you put it in a list form (“This is John, your neighbour. He’s tall, forgettable, red-haired and endowed”) it’s more like a grocery shopping list.

Just thinking aloud, and curious. I suppose you could have a regular description, and then create a new action, say, “CONSIDER”. Then when you >CONSIDER JOHN you could get that result, a list of his attributes.[/rant]

EDIT 3 - As for all the rest, you associate them similarly. Every person has an age, and sort of thing.

so to make it default it would go “A looks is usually plain.” ? or “Looks are usually plain.” ?

And yes, there will be a special thing to check out people.

What I wanna do is [spoiler]get past a guard who only lets blonde women with large breasts by. Women with blonde hair and large breasts get in. other women can use dye and stuffing to get by. men… well there’ll be a mop they can repurpose and some dude going “MY CABBAGES!!!”. something like that. Unless I reconsider.

okay there’s a gun too that people can use to zap the fucker but hey. i want multiple ways of going at it. think of it as me trying to outdo mass effect.[/spoiler]

I’m starting to feel guilty for all the help I’m getting here.

[rant=This may no longer be relevant]I also found I had to tweak your gender thing. You’ll find it familiar, I’m sure… I’ve added two understand lines and “Every person has a gender.”

Currently gender doesn’t seem to be attributed to anyone… but maybe you didn’t notice it because Inform already deals with gender a lot internally. But if you want to take care of it yourself, here’s the few adjustments you have to make.

[code]Gender is a kind of value. Every person has a gender. The genders are masculine, feminine, and unknown. Understand “boy” or “male” or “man” or “M” as masculine. Understand “girl” or “female” or “woman” or “F” as feminine.

Understand the gender property as describing a man when the gender is masculine.
Understand the gender property as describing a woman when the gender is feminine.[/code]

But, ah, Inform relies on a lot of internal assumptions regarding gender, which is also why I’m able to do those last two lines. Are you planning on having sex changes during the game?[/rant]

EDIT to reply to your more current post: Ah, not quite; it’s not the LOOKS that are usually plain, but people’s FACES. You’ll in fact want “A face is usually plain.”

As to the situation you’re describing in your spoiler, that’s a bit of a relief. You won’t have to go over Inform’s built-in gender assumptions, then.

EDIT 2 - Doh. I totally missed you going “A person has a gender”. Sorry about that. But the understand lines should still remain.

Of course, you could always just “Understand “boy/m” as a man” and “Understand “girl/feminine” as a woman”. Depending on what you want to do, and since there are no sex changes involved, you might not need your framework for dealing with gender. It might be quite redundant.

well i got most of it to work but not enough to use - how do i phrase it?

Target is a man in inn bedroom. He is guilty. Target's face is pretty. "this dude is just a walking target."

How do i get him to have the “pretty” quality?

Okay let’s not dance around this, i got interested with this:

[code]“Clueless”

The murderer is a person that varies.

When play begins:
now the murderer is a random person who is not the player.

The Billiards Room is a room. Colonel Mustard and Professor Plum are men in the Billiards Room. Miss Scarlet and Mrs White are women in the Billiards Room.

Instead of examining the murderer:
say “[The noun] certainly looks fiendish!”

Test me with “x mustard / x plum / x scarlet / x white”.
[/code]

I want to put people in the game, and one of them will be a criminal, and you can get a Warrant for the arrest of an unknown person - but you have a description. So you’re checking around for people as a subquest, and when you find the right one, you zap them. and if you zap the wrong one - or worse, KILL the wrong one … game over, man. game over.

Exactly the way you did - Target’s face is pretty. What problems is that giving you?

Mind you, I’m not sure it wouldn’t be better to specifically say “The description of Target is” so and so. Matter of taste. I don’t like giving Inform room to assume the wrong thing, especially with some definitions between my description and the creation of the object.

i compiles but it gives this:

and also this:

[code]>x target
He is
*** Run-time problem P10: Since Target is not allowed the property “looks”, it is against the rules to try to use it.

.

[/code]

the code behind it is

[code]Inn Bedroom is a room.

Target is a man in inn bedroom. He is guilty. Target’s face is pretty. “this dude is just a walking target.”

Instead of examining Target, say “He is [looks].”
[/code]

Your problem is “He is [looks].”

Remember, “looks” is only a kind of value associated with something. And that something is not TARGET; it’s his FACE, which you’ve taken pains to declare as something separate. You’ll want “He is [looks of Target’s face].” instead.

Also, I don’t think you want an instead rule there, because that means your description won’t run. The player will always see “He is pretty”, and never “This dude is just a walking target”. Here’s an alternate construct to give you a few ideas:

After examining a person: say "You take a look at [regarding the item described][their] face. [if face is pretty][regarding the item described][They're] pretty.[otherwise if face is plain][regarding the item described][They're] okay.[otherwise if face is ugly][regarding the the item described][They] [have] a nice personality.[otherwise][regarding the item described][They're] forgettable.[end if]".

This will run AFTER your description. You could lump all the customizations you’ve got for each character in this fashion, theoretically.

EDIT - Altered the code to fit matt w’s very good suggestion below, you should definitely do as he says.

I think the problem is here:

Instead of examining Target, say "He is [looks]."

You haven’t said looks of what. It looks (ahem) like Inform is somehow glomming onto Target as the things whose looks property it’s (ahem) looking for, and Target doesn’t have a looks–it’s Target’s face that has a looks–so Inform is throwing an error. Try changing that to “[looks of Target’s face]” and see if that works.

By the way, in the description property it’s probably best to have “[the item described]” rather than “[the noun]”. “The item described” is something you can use in properties to pick out the things whose property you’re talking about; the noun is the direct object of the current action. It happens that you only ever use the description when examining something, so the noun always is the thing whose description you’re talking about, but using “the item described” can help you avoid buggy errors. As a general rule if you’re declaring a property you want the item described, if you’re writing an action rule you’re likely to want the noun.

i’m trying that, now i’m trying to say that “pretty” means “pretty” for women but “handsome” for men and I can’t make that distinction.

it’s not After examining a person: say "You take a look at [regarding the item described][their] face. [if face is pretty][regarding the item described][They're] [if the item described is male]handsome[otherwise if the item described is female]pretty[end if].[otherwise if face is plain][regarding the item described][They're] okay.[otherwise if face is ugly][regarding the the item described][They] [have] a nice personality.[otherwise][regarding the item described][They're] forgettable.[end if]".

:c

I think you’ve arrived at the level of complexity where it’s time to take a step back and ask yourself: do I really need this added complexity?

I mean, why not simply describe Target’s face as handsome instead of pretty? Have a fourth type of “looks”, even though the first two are synonimous?

Therein lies the issue - if there’s four options, two of them are synonyms, that’s gonna cause problems when the player is building their own character.

I would also suggest that men can be pretty. But the problem here is that you can’t nest conditionals in text substitutions. The solution might be to write a customized say phrase, like this:

[code]After examining a person: say “You take a look at [regarding the noun][their] face. [attractiveness report of the noun]”

To say attractiveness report of (model - a person):
if the model incorporates a pretty face:
if the model is male:
say “[They’re] handsome.”;
otherwise if the model is female:
say “[They’re] pretty.”;
otherwise:
say “[They’re] attractive.”; [note: could be a gender-neutral term that would save you this headache]
otherwise if the model incorporates a plain face:
say “[They’re] okay.”;
[etc.][/code]

This might mess up the line spacing so be careful there.

I made it “the model incorporates a pretty face” because if you just write “if face is pretty” I think it might evaluate to “if a face is pretty”–which is going to come out true whenever any face is pretty. Not sure what’ll happen there. Maybe “If a pretty face is part of the model” would also work.

(By the way, you overcorrected from my last comment–since this is a rule applying to an action, an “after examining,” rather than a property of a person, you want “noun” rather than “item described.”)

shouldn’t that second one be “is female” ?

Thank you, matt w. Your “incorporates” is the key to what I’ve been fiddling with:

After examining a person (called the actor): say "You take a look at [regarding the item described][their] face. "; if the actor incorporates a pretty face: say "[regarding the item described][They're] [if the item described is feminine]pretty.[otherwise]handsome."; otherwise: say "[if face is plain][regarding the item described][They're] okay.[otherwise if face is ugly][regarding the the item described][They] [have] a nice personality.[otherwise][regarding the item described][They're] forgettable.[end if]".

And thank you for your correction as well.

WesLesley, if you don’t want you, you don’t have to show the player there are four options - you can just show them three. Or have them choose the gender first, and then hide one of the options.

But anyway, with the above and the below you should be able to do what you want.

[code]A face is a kind of thing. A face is part of every person. Every face has looks. A face is usually plain. The description of a face is usually “[describe_a_face][run paragraph on]”.

To say describe_a_face:
if the item described is pretty:
say “[regarding the holder of the item described][They’re] [if the holder of the item described is feminine]pretty.[otherwise]handsome.”;
otherwise:
say “[if the item described is plain][regarding the holder of the item described][They’re] okay.[otherwise if the item described is ugly][regarding the holder of the noun][They] [have] a nice personality.[otherwise][regarding the item described][They’re] forgettable.[end if]”.[/code]

Also, I’m taking the liberty of using “feminine” and “masculine” to keep up with your own gender definitions.

EDIT - BTW, speaking about genders, I think adding the following two sentences would make it easier for you:

A man is usually masculine. A woman is usually feminine.

Now it is!

this is all in line with my idea that structure can create anything easily ^^

should “look at DUDE’s face” work? or is it best to go with “inspect DUDE” ?

(where DUDE is the name of the NPC in question)

actually if i could just use a form, maybe that would be even better. like stats.

(Any advice on printing tables? or it that not for show, just for the source?)

so for looks i could go [attractiveness report of the noun] like mentioned earlier, in the shape of

We’re getting into subjective ground here, but as a player I wouldn’t have any issues with a report like that. At least it’s honest about what it is, instead of trying to make it into prose and ending up being awkward or transparently a way to avoid a list, or both.

“look at NPC’s face” will always work, by default. I’d encourage you to include a “consider NPC” (or “inspect NPC”, or whatever you want) as well, because it makes a lot more sense.

This is more an issue of design. For instance, there’s something else you can do: show the “stats” in list form (as per your example) after you examine someone, and give the player an option to toggle these “stats on examine” on or off.

The tables are for source use, but your example shows that you already know how to display the text in a similar fashion