Here is a link to my try at porting SU's content into a pack for Hawkgirl (it's still rough, but hopefully it works!):
You must be registered to see the links
(If you're just looking for the script and not the images, I've also attached it here.)
In order to unlock Hawkgirl's device in an old save, open the console with Shift + O and enter the command:
Code:
Hawkgirl_quarterscontent = True
Sorry, I don't know any other way to get around this, as old defaults get saved and loaded.
OhWee this is probably a fairly rough port, as this is my first time working with Ren'Py. One thing that I didn't implement is the costume switcher - partly because it seemed a little intimidating, but also because I was kind of confused by how your example code treats nudity and outfits as separate dimensions. This seems to result in quite a bit of redundancy in Hawkgirl's case (as you can see from the duplicated images in the pack). I was also a bit confused as to how corruption was supposed to map over in this specific case. In each relevant scene, the script does increment the corruption level, but I decided to use separate counters for conversation checks instead. I also wasn't sure what to do with some of the constants/global variables, so perhaps you or someone else could take a look at what I did to see if it makes any sense or if I broke anything? In any case, I hope this helps!
It's worth noting that this is an
opinionated port of the dialogue. I went over it looking for typos and grammar issues at first, but ended up changing anything that seemed unidiomatic, non-native, overly repetitive, incongruent with previous dialogue, or sufficiently out-of-character. I also added a bit more custom dialogue to fill in a couple of gaps. I tried to match the emphasis (italics/bold) with what I saw in the other scripts. Perhaps this is subjective, but I think it's a definite improvement: let me know what you think.
I probably made a few more mistakes, so feel free to take a look at the code and fix things up. Extra pairs of eyes and hands can't hurt!
OK, so I'm looking over your code, and about the nekkid thing...
Did you upscale Hawkgirl's conversational sprites by 5%? Or some other value based on a height listed in the DCAU database, etc?
A few of the 'conventions' r.e. girlpacks are listed in post #5 of this thread:
https://f95zone.to/threads/renpy-su...munity-development-thread.144779/post-9852538
Nekkid is outfit69. There's a nuance here, as the 'masked' version would be 69 and the 'unmasked' version would be 69n, but as Hawkgirl doesn't wear a mask usually in SU (which is weird as she's often seen wearing a mask in the comics/animation) yeah...
So, while not critical for the body sprite, I probably would have labeled:
Hawkgirl_body_naked
as
Hawkgirl_body69
R.E. Corruption Level and 'conversation counts'.
This is covered in a couple of places on Page 1, but essentially there is Corruption and CorruptionLevel.
Corruption has a range of 30, with the idea being that initial conversations will raise the corruption level to 6. Level 6 is when the dancing begins. 12 is where the stripping happens, etc. etc..
With Hawkgirl, she doesn't have spanking scenes currently, so each time she dances, you'd add 2 to her corruption stat (8, 10, 12). And when she strips, you add another 3 (so 15).
Then, rather than using the 'dance_count' you'd just reference corruptionlevel, i.e. in the menu:
"Dance" if Hawkgirl_corruptionlevel >= 6:
jump Hawkgirl_dance
"Strip" if Hawkgirl_corruptionlevel >= 12:
jump Hawkgirl_strip
And reference Hawkgirl_corruption in the labels instead of dance_count or whatever.
Now, there is a nuance here. There's a 'new idea' that's been introduced into the cell scenes, that is allowing the player to have up to three interactions for certain activities. This is why the above menu items reference Hawkgirl_corruptionlevel and not Hawkgirl_corruption directly.
What corruptionlevel does is 'cap' which activity you will be allowed to do when interacting with a girl that day. so you could do up to three activities, as long as you don't 'progress' above the max allowed activitiy for that day.
Example:
Hawkgirl_corruption is 15, which would (not) allow wingjobs. Personally I would have loved to have seen wingjobs, but SR7 punted and just went straight to blowjobs... (Also, why not handjob?)
So Hawkgirl_corruptionlevel is set to 15 when you first enter her cell, which would 'unlock' wingjob. So you could choose any activity up to Wingjob.
There's a nuance here thanks to the (not) Wingjob thing. In the menu, you'd do:
"Wingjob" if Hawkgirl_corruptionlevel == 15 and Hawkgirl_corruption == 15
jump Hawkgirl_oral
"Blowjob" if Hawkgirl_corruptionlevel >= 15 and Hawkgirl_corruption >= 19
jump Hawkgirl_oral
Then award 4 corruption points for the first blowjob (sets corruption to 19), 1 corruption point each for the second and third, and of course 0 corruption points for subsequent blojobs...
I'd rather see a wingjob though, but yeah until someone makes art for a wingjob...
Anyways, back to your oral label. Again, rather than referencing oral_count, you just reference corruption level, i.e.:
if Hawkgirl_corruption == 15:
instead of Hawkgirl_oral_count (+4 corruption)
if Hawkgirl_corruption == 19:
for the second blowjob (+1 corruption)
and Hawkgirl_corruption == 20
for the third blowjob, (+1 corruption) and
if Hawkgirl_corruption >= 21
for the 4th and subsequent blowjobs, which do not increase corruption any further.
So back to Hawkgirl_interactions, if a player wanted to, he could have Hawkgirl do 3 blowjobs in one session (to get the 'rule of 3 out of the way), or he could 'mix things up' and say have her dance first, then strip, then do a blowjob).
Initial conversation still suck up 3 interaction points of course. That way you can't just blow through three conversations in one day. Later conversations can be tied to Hawkgirl_talk_day, so that you can 'lock out' additional conversations that day. This is a bridge that hasn't been crossed yet, but say if Hawkgirl has new information to share after giving a third blowjob or whatever, you'd do:
"Hawkgirl_max_chat += 1 (or whatever you need)
"Talk" if Hawkgirl_talk_day < day:
if Hawkgirl_chat >= Hawkgirl_max_chat
jump Hawkgirl_talk_nothing_else
else:
jump expression "Hawkgirl_talk" + str(Hawkgirl_chat)
Note that ANY activity should set Hawkgirl_talk_day = day, which could lock out the opportunity to talk to Hawkgirl that day if you decide to do something else first. I do not have a problem with that.
In Zatanna.rpy (for reference), note that there is NOT a separate action menu. This was done mainly to eliminate a 'click/step' to get to the sexy fun time, but note that "Talk" is at the top of the menu.
Also note that at the top of Zatanna_room, there's a bit of record keeping going on. To :
If Zatanna_talk_day < day:
$Zatanna_interactions = 0
$Zatanna_corruptionlevel = Zatanna_corruption
This is followed by:
If Zatanna_talk_day == day and Zatanna_interactions > 2:
(snip)
"You've already talked to Zatanna today.
so the idea here is that if Zatanna_interactions > 2, you get locked out of her room. Note that the initial conversations with Zatanna add 3 to interactions, but that later activities only add 1.
Zatanna_talk_day is still referenced to set up the 'first time room is entered' variable adjustments.
---
Now, as to how to 'unlock' Hawkgirl_quarterscontent = True, this would require a 'label after load' which I haven't introduced yet. So accessing the Renpy console (shift+ o), as you described, is how to handle that for now. Or just start a new game from the beginning. I could also add a check in script.rpy as part of the 'end of night' routine I suppose, but label after load only needs to be odne once... I'll probably make that a separate file though, so that people don't need to mess with script.rpy...
---
Anyways, that's my thoughts on your Hawkgirl.rpy coding. Hawkgirl_corruption is designed precisely to eliminate the need for sub-variables, but as I noted on page one of this thread, it requires 'fine tuning' the corruption rewards for activities so that you can 'hit' the goalposts. This is also why Hawkgirl_talk_day exists, it eliminates the need to have a 'True/False' switch that needs to be reset each day, as you can just check against the day.
Your way will work too, but I'm just trying to keep the variable counts to a minimum, consolidating a few things into 'master' stats.
One other note. Outfit0n, 1n, etc. are designed to be 'mostly nude' sprites. This came about because of Artemis and Batgirl having 'mostly naked' outfits in the Glamour Slam, where they essentially have their naughty bits uncovered but are still wearing masks, gloves, belts, etc.. Note that for Zatanna I created a few new body sprites for this state, and that Hawkgirl currently doesn't have 'mostly nude' sprites so for now what you did is fine. But if you were to say go into Photoshop and 'adjust' a few costumes (i.e. overlay the 'clothed' sprite over the nekkid sprite and then erase the bits covering her breasts and pussy...), then those would be assigned to the 'n' variants.
Hope this helps!