Skip to content

topless tattoo#3

Open
picobyte wants to merge 14 commits intoaika092:masterfrom
picobyte:master
Open

topless tattoo#3
picobyte wants to merge 14 commits intoaika092:masterfrom
picobyte:master

Conversation

@picobyte
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Owner

@aika092 aika092 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi picobyte, thank you for being the first fan to make a pull request! Good idea to base it on existing content so that it's easier for your first submission. I like the concept and your implementation was nearly perfect, just a few things I'd like you to change. Also in the future I would like this to be expanded to include all chest covering clothing and not just bras. If you struggle to do this yourself then no problem it'll only take me 5 minutes, but I thought you might want to try it yourself first.

Definition: yourself is fighting against no-bra:
if topless permanent fetish is 1 or there is a worn topless tattoo or the humiliation of the player >= 35000:
let C be a random worn bra;
if C is bra and C is not no protection, decide yes;
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no protection is a property of crotch covering, whereas we want to use fully exposing here (this is one of the values of the clothing-cleavage property). So this line 30 should read

if C is bra and C is not fully exposing, decide yes;

if the player is fighting against no-bra:
if braless reminder <= 0:
let C be a random worn bra;
if C is bra, say "[bold type]You [one of][or]still [stopping]feel terrible wearing your [printed name of C][bold type]! [one of][if there is a worn topless tattoo]Your heart aches and you[else]You[end if] want to free your [BreastDesc]. It's lowers your awareness and consumes your thought.[or][stopping][roman type][line break]";
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct English would be "It lowers your awareness and consumes your thoughts".

if the player is fighting against no-bra, say "You feel very uncomfortable wearing this, [if there is a worn topless tattoo]the tattooed eye in your chest aches[else]because you know they want to see your [BreastDesc][end if].".
This is the bra can't be summoned with braless fetish rule:
if summoning is 1 and (topless permanent fetish is 1 or the class of the player is faerie):
unless wearing-target is no protection, rule fails.
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again due to us looking at chest covering clothing and not crotch covering clothing, line 44 should read

unless wearing-target is fully exposing, rule fails.

@picobyte
Copy link
Copy Markdown
Contributor Author

Thanks for your review. The ben wa balls patch compiles but gives an err on description. Can you still exclude it, or should I send a new pull request?

Copy link
Copy Markdown
Owner

@aika092 aika092 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommended a better way to make it handle all breast covering clothing.

I can't see what would be causing errors with the ben wa balls code. I will have to test it myself some time soon.

decide on figure of ben wa balls.

To say ClothingDesc of (C - ben wa balls):
say "Two balls [if the item described is cursed and the curse-ID of the item described is sure]of plastic on a string. One pops out from time to time, embarassingly, but the other won't come out due to its curse[otherwise]made of metal[end if][if the item described is worn]. Their turning, when you move, slowly builds your arousal.[otherwise].[end if]".
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't want to use item described here ideally, you want to use C. If you copied this from another item please tell me which one as that should be changed too. If ClothingDesc was ever called by any other means other than accessing the description of the item, it would behave incorrectly.

topless permanent fetish is a number that varies. topless permanent fetish is 0.
Definition: yourself is fighting against topless:
if topless permanent fetish is 1 or there is a worn topless tattoo or the humiliation of the player >= 35000:
let C be a random worn bra;
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a pretty good implementation but personally I want to do it differently and also take into account some other things.

I would do it like this:

Definition: yourself is fighting against topless: if topless permanent fetish is 1 or there is a worn topless tattoo or the humiliation of the player >= 35000: repeat with C running through worn breast covering clothing: if C is actually dense and C is top-in-place and C is not fully exposing and C is nipple covering, decide yes; decide no.

I haven't tested that code to make sure all the terms are correct but you get the idea. Also I think with the use of nipple covering, the not fully exposing becomes redundant. But we can keep it in just in case.

Anyway, we now also need to change the "braless reminder" to make sure that it always warns the players that their breasts are covered. We can do that with changing line 40 to let C be a random worn actually dense top-in-place nipple covering clothing; and the start of line 41 to if C is clothing.

I think it should also work to change line 44 to Report wearing actually dense nipple covering clothing:

if the player is fighting against topless, say "You feel very uncomfortable wearing this, [if there is a worn topless tattoo]the tattooed eye in your chest aches[else]because you know they want to see your [BreastDesc][end if].".
This is the bra can't be summoned with braless fetish rule:
if summoning is 1 and (topless permanent fetish is 1 or the class of the player is faerie):
unless wearing-target is fully exposing, rule fails.
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to allow players to wear clothing that obeys the rules or can be top-displaced. So I think we should change this to something like unless wearing-target is fully exposing or wearing-target is see-through or wearing-target is not not-top-displacable or wearing-target is nipple exposing, rule fails.

picobyte added 5 commits November 23, 2017 19:52
argument instead.

If this patch touches too many files for merge, maybe you want to fix it
using the sed script.

egrep -liR "items? described" Trap\ Quest.inform/Inform/Extensions/ |
while read f; do
sed -i -r '/^To say [A-Za-z_]+Desc of \([A-Za-z_]+ - .*\):$/{
  :a
  N
  /\n[^\t]/b;
  :b
  s/^(To say [A-Za-z_]+Desc of \(([A-Za-z_]+) - .*)( the| an?)? items? described /\1 \2 /
  tb
  ba
}' "$f"
done


Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
egrep -liR "the class of the player is (a )?" Trap\ Quest.inform/Inform/Extensions/ | while read f; do
sed -i -r 's/the class of the player is (not )?(an? |the )/the player is \1\2/g' "$f"
sed -i -r 's/the class of the player is (not )? ([aeouiAEOUI])/the player is \1an \2/g' "$f"
sed -i -r 's/the class of the player is (not )?/the player is \1a /g' "$f"
done


Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Copy link
Copy Markdown
Owner

@aika092 aika092 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit doesn't work - I assumed you did this because I changed if the class of the player is sissy to if the player is a sissy. This is because sissy is no longer a class in the same way as the rest. The others still require the original phrasing.

Please revert this commit and then I can merge your pull request 😄

@aika092
Copy link
Copy Markdown
Owner

aika092 commented Nov 30, 2017

I'm very impressed with your regex skills!!! Thanks for making all those changes to the ClothingDesc functions.

picobyte added 6 commits December 1, 2017 18:30
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
compile test

Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
@picobyte
Copy link
Copy Markdown
Contributor Author

picobyte commented Dec 2, 2017

Thanks, for particular required changes we could make github issues or a TODO file.

Yes I also found out as well the 5b54b3c patch was wrong. Seems like my testing was not working due to extensions stored outside the trapquest source directory. Was already wondering why I couldn't get the topless tattoo to work.

Of interest may also be the bed posts and skippy ball. And it looks like the bladder wasn't really working beyond a point.

Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
@picobyte
Copy link
Copy Markdown
Contributor Author

picobyte commented Dec 3, 2017

The skippy ball was designed to have a few events, affected by glue, zeroG, poletraps and by the aeromancer, but somehow hooks don't seem to trigger. I can purloin the skippy, drop it and do the same with the aeromancer or glue, but glue-stuck and aeromancer skippy targeting don't seem to occur..

Copy link
Copy Markdown
Owner

@aika092 aika092 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Firstly I've made some review comments that will help the game compile and work properly with the skippy ball.

On the subject of the Skippy Ball as a whole, it's an interesting idea it would be better if possible if you made that into a completely separate branch and pull request. I think it's about 20 times as complex and large a project as the other things you have done. Just some of the complex issues we'll need to look at are:

How does each monster attack someone on a skippy ball?
How does each monster engage sex with someone on a skippy ball?
Can the player open containers while on a skippy ball? What about pick up items on the ground? How is each trap, especially those with dexterity reflex checks, affected by the skippy ball?
What automatic actions are not possible while on a skippy ball?
All the code that checks if the player is prone or upright (stance = 0 and stance = 1) which until now have always been able to use the assumption that if it's not one it is certainly the other - we need to check all these and see which ones will break in weird ways now that there's a stance = 2 possibility.
And there's much more to consider too...

@@ -0,0 +1,84 @@
Skippy Ball by Sex Toys begins here.
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skippy Ball is defined as being in the Sex Toys folder both here and in story.ni but is actually held in the Trap Quest.inform/Inform/Extensions/Objects/ folder which is causing your code to fail to compile.


The skippy ball is a kind of rideable vehicle. It is portable and pushable between rooms. The carrying capacity is always 1. A skippy dildo is a kind of dong. It is scenery. It is part of every skippy ball. There is 1 skippy ball. The text-shortcut of golden phallus is "skpb". Understand "skippy" as the skippy ball.

Understand the command "bounce" as "walk" when the player is on a skippy ball. Understand the command "jump" as "walk" when the player is on a skippy ball.
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Causes the following compile errors:
You wrote 'Understand the command "bounce" as "walk" when the player is on a skippy ball'  : but 'understand the command ... as ...' is not allowed to have a '... when ...' clause, for the moment at any rate.
`

You wrote 'Understand the command "jump" as "walk" when the player is on a skippy ball'  : again, 'understand the command ... as ...' is not allowed to have a '... when ...' clause.`

Personally I think these extra commands are rather unnecessary as most people move just by typing north and so on but if we want these we can do this:

Understand "bounce [direction]" as going when the player is on a skippy ball. Understand "jump [direction]" as going when the player is on a skippy ball.

Check entering a skippy ball:
if the player is staggering, say "You[']re bound to fall over with the size of your belly." instead;
if there are worn heels, say "You cannot use the skippy bally when you're wearing heels." instead;
if the player is ankle bound say "You[']re wearing ankle cuffs!" instead;
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comma missing; this needs to be if the player is ankle bound, say "You[']re wearing ankle cuffs!" instead;

if there are worn heels, say "You cannot use the skippy bally when you're wearing heels." instead;
if the player is ankle bound say "You[']re wearing ankle cuffs!" instead;

After entering the skippy ball (called S):
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whenever possible it is better to use Report rather than After.

This is because After clauses are checked every single action regardless of whether it's the correct action, slowing down the game.

After entering the skippy ball (called S):
if a skippy dildo (called D) is part of the S:
if the size of D > 0:
if the vagina is at least partially exposed:
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at least partially exposed is about whether or not the body part is visible, not about whether it's available. If there's see-through clothing covering vagina, it will still be at least partially exposed. I think what you want is if the player is not pussy protected but also that's only half the problem because what if the player has something in there already? So in fact we also need to check if vagina is not actually occupied. Inserting things is a real annoying thing!

In reality I think what we really want here is to have some extra lines in the Check entering a skippy ball function:

if a skippy dildo is part of the noun: if (the player is female and the player is pussy protected) or the player is ass protected, say "You can't because there is clothing in the way, preventing the dildo[if the player is female]s[end if] from entering you." instead; if there is an actually occupied fuckhole, say "You can't because there is already something in your [random actually occupied fuckhole]." instead.

say "You [one of]get into the bed and [or]continue to [stopping]relax on the comfortable mattress.".

HotelBedBoring is a kind of hotel bed. There are 2 HotelBedBoring.
HotelBedHalfPosted is a kind of hotel bed. The description is "A bed with four posts. Two high headboard posts and two footboard posts[if the sex addiction of the player > 9] exactly the right height[end if].".
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea with the hotel beds is that until they are slept in for the first time they all have the same description when they are examined, so that the player doesn't know what effect they are about to trigger. Replacing the boring hotel beds with these breaks that mechanic, as now there's a way to determine which bed is which without sleeping on it. I'm not sure I'm happy about that.

Copy link
Copy Markdown
Contributor Author

@picobyte picobyte Dec 3, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. We can then either extend it to each of the 4 hotel beds, save it for a different kind of bed, or just leave it the way it was. Which is fine for me as well.

Signed-off-by: picobyte <PiC.o0.o.BytE@gmail.com>
@picobyte
Copy link
Copy Markdown
Contributor Author

picobyte commented Dec 3, 2017

I have split this in separate branches, which I hope will make it easier to merge.

topless_addiction: up to 364191 + cherry-pick of commit 553531
some_janitoring: up to 409b0f (== topless_addiction) + cherry-picks 364191 and c03232
and some changes all from previous commits - bedpost was removed.

The remainder is changes required for the skippy ball, I'll address the issues you mentioned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants