GithubHelp home page GithubHelp logo

fictitiousfrode / aif Goto Github PK

View Code? Open in Web Editor NEW
16.0 6.0 8.0 1.03 MB

AIF Framework for Inform 7

License: GNU General Public License v2.0

Inform 7 100.00%
interactive-fiction aif inform-7 conversation

aif's People

Contributors

allisonedwards avatar fictitiousfrode avatar klatayrganter avatar vblm12 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

aif's Issues

Covering list of garments

Your template proposes that, when you examine a bodypart covered by garments, you provide a covered description that lists all the covering garments of the bodypart. But if the garment is hidden, I do not see why it would appear since you cannot see or examine it individually. Should it only be showing the topmost garment?

The covered description of ACTOR's vagina is "ACTOR has [short description], covered by [the concealing vision of ACTOR's vagina]."

To decide which list of garments is concealing vision of (G - a garment): Let concealers be a list of garments; If G is not worn by someone: Decide on concealers; Let clothing be the list of opaque garments worn by the holder of G; If G is listed in clothing, remove G from clothing; [We don't want to let G block itself] Sort clothing in reverse clothing layer order; Repeat with A running through the cover areas of G: Repeat with cloth running through clothing: [Only consider opaque garments with a higher clothing layer] If clothing layer of cloth is greater than clothing layer of G: If A is listed in the modified cover areas of cloth: [Take shifted/ripped into account] Add cloth to concealers, if absent; Decide on concealers;

I would like, when I type "x breasts" and I have put a bra and a shirt (being defined as opaque) on the actor, to only get :

Actor's breasts are great. They are covered by a shirt.

Right now, I am getting :

Actor's breasts are great. They are covered by a shirt, a bra.

'x his/her' shortcut does not work on parts of every person.

Here's a minimal test case:

"Test Adventure" by "vblm"

Include Erotic Story Actions by Fictitious Frode.

The test subject is a man. The player is the test subject.

A head is a part of every person.

The Test Chamber is a room.

The Scientist is a woman in the Test Chamber.

Test me with "x her head./x the scientist's head."

Version number build failure

I'm getting this build failure from the include. Looks like inform is expecting 6 digits in the second part of the version number. Adding an extra number allowed it to build.

Problem. You wrote 'Version 2/16122 of Erotic Storytelling by Fictitious Frode' : but a version number must have the form N/DDDDDD, as in the example '2/040426' for release 2 made on 26 April 2004. (The DDDDDD part is optional, so '3' is a legal version number too. N must be between 1 and 999: in particular, there is no version 0.)

Blocking but shiftable?

I want to be able to shift clothing under shifted clothing, while still not being able to remove the lower layer of clothing if they are blocked. For example, a pair of pants and a pair of boxers, both lowerable.
I was able to accomplish this (though I haven't thoroughly tested) by changing the can be shifted decision to use the modified cover areas list instead of the blocked cover areas list AND adding a check for the cloth to be shifted.

To decide whether (G - a garment) can be shifted:
	If G is not worn by someone:
		Decide yes;[Technically, no; but we don't want to stop that here.]
	Let cover be the shifting revealed cover areas of G;
	Let clothing be the list of garments worn by the holder of G;
	If G is listed in clothing, remove G from clothing; [We don't want to let G block itself]
	Sort clothing in reverse clothing layer order;
	Repeat with A running through cover:
		Repeat with cloth running through clothing:
			If clothing layer of cloth is greater than clothing layer of G:
				If A is listed in the modified cover areas of cloth:
					If cloth is unshifted, decide no;
	Decide yes;

Lasting penetrations

The actions in Erotic Story Actions are concluding; ie they don't leave any lasting impressions. This could be improved upon by having lasting penetrations.

Shiftable garments

The Garment extension should at some point be extended to allow the commands "open" "lift" "shift" to allow partial access to the covered body parts. This must be done together with creating a way for garments to block actions as well. which is currently not done.

Arousal

Add support for arousal, as is usual for TADS-style simulation framework.

Garments in 6L38

Another compile error in Garments:

In Book 2 - Actions, Part 2.5 - Looking under in the extension Garments by Fictitious Frode:

Problem. You wrote 'If something (called the underwear) underlies the noun, say "[We] [peek] at [the underwear]. Yup, still there." (A)' : but lettered responses can only be used in named rules, not in any of the other contexts in which quoted text can appear.


Problem. You wrote 'Otherwise say "Just [us] in there." (B)' : again, lettered responses can only be used in named rules

Simple conversations example broken on 6M62

Using Simple Conversations Version 2/170401 on Inform 6M62

To even get it to compile I have to change:
Adam's dialogue is the Table of Adam's Dialogue.
To say:
The dialogue of Adam is the Table of Adam's Dialogue.
(Is this a removed syntax? Or just a syntax difference between properties, values, relations, etc?)

Then to make the chest open I have to specify that the chest is openable.

At this point it mostly works, but the initial cue in the table doesn't. If I add the second cue by talking about stone then that works, so something about the initial table might be wrong? It all seems tabbed properly, so I don't think it's that.
I ran the example by starting a blank project, and clicking the blue button to copy it out of the documentation.

Ropework

Implement generic rope, for use with KSA.
Chapter 10.6 deals with ropes, and example 228 - Otranto shows a bugged example.

Touchable is used instead of can be touched

Several action checks use the attribute touchable (used to determine validity for touch action) instead of the phrase can be touched (used to check if clothing allows access).

Discovered on the pinching reachability rule, probably applies to the others as well. Check all instances of touchable.

Grouped list of parts in description

When we examine an actor, if some body parts are grouped, we get a list that is not very nice to display.

You also note that she has ACTOR's head, ACTOR's eyes...

I would rather see the list of short descriptions of said head, eyes, etc...

In your extension, maybe you could replace at line 1741 :
Add "[short description of part]" to the grouped body part descriptions;

Stripping yields weird results

Let say ACTOR is Julie.
Julie wears clothes.
Consent is granted for all 4 conditions provided in the template.
The room decency is set to indecent.
When the following order is given :

strip Julie
You take off all your clothes and are now completely naked.

Although the history seems to say otherwise, Julie is indeed indicated as fully naked afterwards. She does not carry her clothes as the player has them all.

Now back to Julie wearing a bra. The order

remove Julie's bra
Gives a weird result.
Which do you mean, Julie's head, Julie's hair, Julie's eyes, Julie's mouth, Julie's feet, Julie's legs, Julie's hands, Julie's ass, Julie's vagina, or Julie's breasts?

I do not understand what could be missing...

Examples aren't conforming to I7 standards

Extension examples aren't allowed in-line commenting the same way that codebook examples are. All examples must be rewritten to have all the text first and code last.

Consent in 6L38

The Consent extension fails to compile with the following error:

In Part 1 - Consent Rules in the extension Consent by Fictitious Frode:

Problem. The sentence 'Dummy-consenting-action is consensual' appears to say two things are the same - I am reading 'Dummy-consenting-action' and 'consensual' as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that 'Aeschylus is Euripides'. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance 'Underworld is a lighted room' says that something called Underworld exists and that it is a 'room', which is a kind I know about, combined with a property called 'lighted' which I also know about.

Fucking it with action is not compatible with 'for x turns' syntax

The syntax for triggering on action repetition only catches the number of times and not the number of consecutive turns for the fucking it with action.

Most likely cause is the fucking redirect rule, as well as the assfucking and titfucking implicit actions.

Testcase:

Include Erotic Storytelling by Fictitious Frode.
Use consensual persuasion.
Test Lab is a room. The decency threshold is indecent.

The nameless avatar is a man. The player is the nameless avatar.
Alice is a woman in Test Lab.

An ass is a part of every person. A penis is a part of every man.

Consent for doing something to Alice: Give consent.
Consent for doing something to something enclosed by Alice: Give consent.

After fucking Alice's ass with your penis for more than one turn, say "This is printed when the previous action was assfucking Alice."
After fucking Alice's ass with your penis for more than one time, say "This is printed when Alice has been assfucked at some prior turn."

Test me with "assfuck alice / g / z / assfuck alice"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.