本文整理汇总了C++中cMovieStudioManager类的典型用法代码示例。如果您正苦于以下问题:C++ cMovieStudioManager类的具体用法?C++ cMovieStudioManager怎么用?C++ cMovieStudioManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了cMovieStudioManager类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: init
void cScreenMovieMaker::init()
{
g_CurrentScreen = SCREEN_CREATEMOVIE;
if(!g_InitWin)
return;
Focused();
g_InitWin = false;
// clear the lists
ClearListBox(sceneslist_id);
//get a list of all the column names, so we can find which data goes in that column
vector<string> columnNames;
m_ListBoxes[sceneslist_id]->GetColumnNames(columnNames);
int numColumns = columnNames.size();
string* Data = new string[numColumns];
// Add scene to list
for(int i=0; i<g_Studios.GetNumScenes(); i++)
{
sMovieScene* scene = g_Studios.GetScene(i);
//if (selected_girl == gir)
// selection = i;
unsigned int item_color = COLOR_BLUE;
scene->OutputSceneRow(Data, columnNames);
AddToListBox(sceneslist_id, i, Data, numColumns, item_color);
}
delete [] Data;
lastNum = -1;
g_InitWin = false;
}
开发者ID:Jenocke,项目名称:test,代码行数:34,代码来源:cScreenMovieMaker.cpp
示例2: if
/*
* return next girl in the sorted list
*/
sGirl *cScreenGirlDetails::get_next_girl()
{
sGirl *next_girl = 0;
g_LogFile.write("Where is the girl??");
if (g_Clinic.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the Clinic");
next_girl = g_Clinic.GetGirl(0, g_Clinic.GetGirlPos(0, selected_girl) + 1);
}
else if (g_Studios.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the Studio");
next_girl = g_Studios.GetGirl(0, g_Studios.GetGirlPos(0, selected_girl) + 1);
}
else if (g_Arena.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the Arena");
next_girl = g_Arena.GetGirl(0, g_Arena.GetGirlPos(0, selected_girl) + 1);
}
else if (g_Centre.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the Centre");
next_girl = g_Centre.GetGirl(0, g_Centre.GetGirlPos(0, selected_girl) + 1);
}
else if (g_House.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the House");
next_girl = g_House.GetGirl(0, g_House.GetGirlPos(0, selected_girl) + 1);
}
else if (g_Farm.GetGirlsCurrentBrothel(selected_girl) != -1)
{
g_LogFile.write("She is in the Farm");
next_girl = g_Farm.GetGirl(0, g_Farm.GetGirlPos(0, selected_girl) + 1);
}
else
{
if (selected_girl->m_DayJob == JOB_INDUNGEON)
{
g_LogFile.write("She is in the Dungeon");
next_girl = g_Brothels.GetDungeon()->GetGirl(g_Brothels.GetDungeon()->GetGirlPos(selected_girl) + 1)->m_Girl;
}
else
{
g_LogFile.write("She is in a Brothel");
next_girl = g_Brothels.GetGirl(g_CurrBrothel, g_Brothels.GetGirlPos(g_CurrBrothel, selected_girl) + 1);
}
}
return next_girl;
}
开发者ID:diamondialis,项目名称:crazys-wm-mod,代码行数:55,代码来源:cScreenGirlDetails.cpp
示例3: check_events
void cScreenMovieMaker::check_events()
{
// no events means we can go home
if(g_InterfaceEvents.GetNumEvents() == 0)
return;
// if it's the back button, pop the window off the stack and we're done
if(g_InterfaceEvents.CheckButton(back_id)) {
g_InitWin = true;
g_WinManager.Pop();
return;
}
// if it's the back button, pop the window off the stack and we're done
if(g_InterfaceEvents.CheckButton(releasemovie_id)) {
g_InitWin = true;
g_WinManager.Pop();
g_Studios.ReleaseCurrentMovie();
return;
}
}
开发者ID:Jenocke,项目名称:test,代码行数:19,代码来源:cScreenMovieMaker.cpp
示例4: check_studio
void cScreenTown::check_studio(int StudioNum)
{ // player clicked on one of the brothels
if (g_Studios.GetNumBrothels() == StudioNum)
{ // player doesn't own this Studio... can he buy it?
static_brothel_data *bck = studio_data + StudioNum;
locale syslocale("");
stringstream ss;
ss.imbue(syslocale);
if (!g_Gold.afford(bck->price) || g_Gangs.GetNumBusinessExtorted() < bck->business)
{ // can't buy it
ss << gettext("This building costs ") << bck->price << gettext(" gold and you need to control at least ") << bck->business << gettext(" businesses.");
if (!g_Gold.afford(bck->price))
ss << "\n" << gettext("You need ") << (bck->price - g_Gold.ival()) << gettext(" more gold to afford it.");
if (g_Gangs.GetNumBusinessExtorted() < bck->business)
ss << "\n" << gettext("You need to control ") << (bck->business - g_Gangs.GetNumBusinessExtorted()) << gettext(" more businesses.");
g_MessageQue.AddToQue(ss.str(), 0);
}
else
{ // can buy it
ss << gettext("Do you wish to purchase this building for ") << bck->price << gettext(" gold? It has ") << bck->rooms << gettext(" rooms.");
g_MessageQue.AddToQue(ss.str(), 2);
g_ChoiceManager.CreateChoiceBox(224, 112, 352, 384, 0, 2, 32, 8);
g_ChoiceManager.AddChoice(0, gettext("Buy It"), 0);
g_ChoiceManager.AddChoice(0, gettext("Don't Buy It"), 1);
g_ChoiceManager.SetActive(0);
BuyStudio = StudioNum;
}
}
else
{ // player owns this brothel... go to it
g_Building = BUILDING_STUDIO;
g_CurrStudio = StudioNum;
g_WinManager.push("Movie Screen");
}
}
开发者ID:belroshir,项目名称:crazys-wm-mod,代码行数:36,代码来源:cScreenTown.cpp
示例5: WorkFilmAnal
// `J` Job Movie Studio - Actress
bool cJobManager::WorkFilmAnal(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
// No film crew.. then go home // `J` this will be taken care of in building flow, leaving it in for now
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 || g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0)
{
girl->m_Events.AddMessage("There was no crew to film the scene, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false;
}
stringstream ss;
string girlName = girl->m_Realname;
int wages = 50;
int enjoy = 0;
int finalqual = 0;
int jobperformance = 0;
g_Girls.UnequipCombat(girl); // not for actress (yet)
ss << girlName << " worked as an actress filming anal scenes.\n\n";
int roll = g_Dice.d100();
if (roll <= 10 && (g_Girls.DisobeyCheck(girl, ACTION_WORKMOVIE, brothel) || g_Girls.DisobeyCheck(girl, ACTION_SEX, brothel)))
{
ss << "She refused to do anal on film today.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
else if (roll <= 10) { enjoy -= g_Dice % 3 + 1; ss << "She didn't like having a cock up her ass today.\n\n"; }
else if (roll >= 90) { enjoy += g_Dice % 3 + 1; ss << "She loved having her ass pounded today.\n\n"; }
else /* */{ enjoy += g_Dice % 2; ss << "She had a pleasant day letting her co-star slip his cock into her butt.\n\n";
}
jobperformance = enjoy * 2;
if (g_Girls.CheckVirginity(girl))
{
jobperformance += 20;
ss << "She is a virgin.\n";
}
// remaining modifiers are in the AddScene function --PP
finalqual = g_Studios.AddScene(girl, SKILL_ANAL, jobperformance);
ss << "Her scene is valued at: " << finalqual << " gold.";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_ANAL, Day0Night1);
// work out the pay between the house and the girl
if (girl->is_slave() && !cfg.initial.slave_pay_outofpocket())
{
wages = 0; // You own her so you don't have to pay her.
}
else
{
wages += finalqual * 2;
}
girl->m_Pay = wages;
// Improve stats
int xp = 10, skill = 3;
if (g_Girls.HasTrait(girl, "Quick Learner")) { skill += 1; xp += 3; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { skill -= 1; xp -= 3; }
g_Girls.UpdateStat(girl, STAT_EXP, xp);
g_Girls.UpdateSkill(girl, SKILL_PERFORMANCE, g_Dice%skill);
g_Girls.UpdateSkill(girl, SKILL_ANAL, g_Dice%skill + 1);
g_Girls.UpdateEnjoyment(girl, ACTION_SEX, enjoy);
g_Girls.UpdateEnjoyment(girl, ACTION_WORKMOVIE, enjoy);
//gain
g_Girls.PossiblyGainNewTrait(girl, "Fake Orgasm Expert", 50, ACTION_SEX, "She has become quite the faker.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Slut", 80, ACTION_SEX, girlName + " has turned into quite a slut.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Porn Star", 80, ACTION_WORKMOVIE, "She has performed in enough sex scenes that she has become a well known Porn Star.", Day0Night1);
//lose
return false;
}
开发者ID:DagothRa,项目名称:crazys-wm-mod,代码行数:79,代码来源:WorkFilmAnal.cpp
示例6: WorkFilmAction
// Job Movie Studio - // nice Job - Action Scene
//This film will use her combat and magic skills, and will be more popular if she's hot.
bool cJobManager::WorkFilmAction(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
//Taken care of in building flow, leaving it in for robustness
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 || g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0)
{
girl->m_Events.AddMessage("There was no crew to film the scene, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false;
}
stringstream ss;
string girlName = girl->m_Realname;
int wages = 50;
int tips = 0;
int enjoy = 0;
int bonus = 0;
double jobperformance = JP_FilmAction(girl, false);
//g_Girls.UnequipCombat(girl); // not for actress (yet)
ss << girlName;
int roll = g_Dice.d100();
if (roll <= 10 && g_Girls.DisobeyCheck(girl, ACTION_WORKMOVIE, brothel))
{
ss << " refused to shoot an action scenes today.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
else if (g_Girls.GetStat(girl, STAT_TIREDNESS) > 75)
{
ss << " was too tired to take part in an action scene.\n\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
else ss << " worked as an actress in an action scene.\n\n";
//JOB
ss << girlName;
int OPTIONS = 3; //Right now this number of options applies for all levels of job
if (jobperformance >= 350)
{
ss << " made an outstanding action scene,";
AddStory(&ss);
ss << " It will definitely win her some fans.";
g_Girls.UpdateStat(girl, STAT_FAME, 3);
bonus = 12;
}
else if (jobperformance >= 245)
{
ss << " made a great action scene,";
AddStory(&ss);
ss << " It should win her some fans.";
g_Girls.UpdateStat(girl, STAT_FAME, 2);
bonus = 6;
}
else if (jobperformance >= 185)
{
ss << " made a fairly good action scene,";
AddStory(&ss);
ss << " Her fans will enjoy it.";
bonus = 4;
g_Girls.UpdateStat(girl, STAT_FAME, 1);
}
else if (jobperformance >= 145)
{
ss << " made an uninspired action scene,";
AddStory(&ss);
ss << " Her diehard fans might enjoy it.";
bonus = 2;
}
else if (jobperformance >= 100)
{
ss << " made a weak action scene,";
AddStory(&ss);
bonus = 1;
ss << "\nThe CamerMage advised " << girlName << " how to improve her performance";
if (g_Dice.percent(40))
{
ss << " and her scene got a little better after this.";
bonus++;
}
else
{
ss << ", but she wouldn't listen.";
}
}
else
{
ss << " made an awful action scene,";
AddStory(&ss);
ss << " Even her fans will hate it.";
g_Girls.UpdateStat(girl, STAT_FAME, -1);
}
ss << "\n";
//Enjoyed? If she performed well, she'd should have enjoyed it.
//.........这里部分代码省略.........
开发者ID:mjsmagalhaes,项目名称:crazys-wm-mod,代码行数:101,代码来源:WorkFilmAction.cpp
示例7: check_events
void cScreenGirlDetails::check_events()
{
// no events means we can go home
if (g_InterfaceEvents.GetNumEvents() == 0) return;
// if it's the back button, pop the window off the stack and we're done
if (g_InterfaceEvents.CheckButton(back_id))
{
g_InitWin = true;
g_WinManager.Pop();
return;
}
if (g_InterfaceEvents.CheckSlider(houseperc_id))
{
g_Girls.SetStat(selected_girl, STAT_HOUSE, SliderValue(houseperc_id));
ss.str("");
ss << gettext("House Percentage: ") << SliderValue(houseperc_id) << gettext("%");
EditTextItem(ss.str(), housepercval_id);
// Rebelliousness might have changed, so update details
if (DetailLevel == 0)
{
string detail = g_Girls.GetDetailsString(selected_girl);
EditTextItem(detail, girldesc_id);
}
return;
}
if (g_InterfaceEvents.CheckButton(more_id))
{
if (DetailLevel == 0) { DetailLevel = 1; EditTextItem(g_Girls.GetMoreDetailsString(selected_girl), girldesc_id); }
else if (DetailLevel == 1) { DetailLevel = 2; EditTextItem(g_Girls.GetThirdDetailsString(selected_girl), girldesc_id); }
else { DetailLevel = 0; EditTextItem(g_Girls.GetDetailsString(selected_girl), girldesc_id); }
}
if (g_InterfaceEvents.CheckButton(day_id))
{
DisableButton(day_id, true);
DisableButton(night_id, false);
g_InitWin = true;
Day0Night1 = SHIFT_DAY;
}
if (g_InterfaceEvents.CheckButton(night_id))
{
DisableButton(day_id, false);
DisableButton(night_id, true);
g_InitWin = true;
Day0Night1 = SHIFT_NIGHT;
}
if (g_InterfaceEvents.CheckCheckbox(antipreg_id))
{
selected_girl->m_UseAntiPreg = (IsCheckboxOn(antipreg_id));
}
if (g_InterfaceEvents.CheckListbox(traitlist_id))
{
int selection = GetLastSelectedItemFromList(traitlist_id);
if (selection != -1)
EditTextItem(selected_girl->m_Traits[selection]->m_Desc, traitdesc_id);
else
EditTextItem("", traitdesc_id);
}
if (g_InterfaceEvents.CheckListbox(jobtypelist_id))
{
SetJob = true;
RefreshJobList();
}
if (g_InterfaceEvents.CheckListbox(joblist_id))
{
bool fulltime = g_CTRLDown;
int selection = GetSelectedItemFromList(joblist_id);
if (selection != -1)
{
int old_job = (Day0Night1 ? selected_girl->m_NightJob : selected_girl->m_DayJob);
// handle special job requirements and assign - if HandleSpecialJobs returns true, the job assignment was modified or cancelled
if (g_Brothels.m_JobManager.HandleSpecialJobs(g_CurrBrothel, selected_girl, selection, old_job, Day0Night1, fulltime))
{
selection = (Day0Night1 ? selected_girl->m_NightJob : selected_girl->m_DayJob);
SetSelectedItemInList(joblist_id, selection, false);
}
// refresh job worker counts for former job and current job
if (old_job != selection)
{
SetSelectedItemText(joblist_id, old_job, g_Brothels.m_JobManager.JobDescriptionCount(old_job, g_CurrBrothel, Day0Night1));
SetSelectedItemText(joblist_id, selection, g_Brothels.m_JobManager.JobDescriptionCount(selection, g_CurrBrothel, Day0Night1));
}
RefreshJobList();
}
}
if (g_InterfaceEvents.CheckButton(inventory_id))
{
if (selected_girl)
{
if (GirlDead(selected_girl)) return;
g_InitWin = true;
g_AllTogle = true;
g_WinManager.push("Item Management");
return;
}
}
if (g_InterfaceEvents.CheckButton(gallery_id))
{
g_WinManager.push("Gallery");
//.........这里部分代码省略.........
开发者ID:diamondialis,项目名称:crazys-wm-mod,代码行数:101,代码来源:cScreenGirlDetails.cpp
示例8: WorkFilmBeast
// `J` Job Movie Studio - Actress
bool cJobManager::WorkFilmBeast(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
// No film crew.. then go home // `J` this will be taken care of in building flow, leaving it in for now
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 || g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0)
{
girl->m_Events.AddMessage("There was no crew to film the scene, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false;
}
cConfig cfg;
stringstream ss;
string girlName = girl->m_Realname;
int wages = 50;
int enjoy = 0;
int jobperformance = 0;
g_Girls.UnequipCombat(girl); // not for actress (yet)
ss << girlName << " worked as an actress filming scenes with beasts.\n\n";
int roll = g_Dice.d100();
if (roll <= 10 && g_Girls.DisobeyCheck(girl, ACTION_WORKMOVIE, brothel))
{
ss << "She refused to fuck any beasts on film today.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
else if (roll <= 10) { enjoy -= g_Dice % 3 + 1; ss << "She didn't enjoy letting the creature fuck her.\n\n"; }
else if (roll >= 90) { enjoy += g_Dice % 3 + 1; ss << "She loved the feel of the creature on top of her.\n\n"; }
else /* */{ enjoy += g_Dice % 2; ss << "She didn't do much else today.\n\n"; }
jobperformance = enjoy * 2;
if (g_Girls.CheckVirginity(girl))
{
g_Girls.LoseVirginity(girl); // `J` updated for trait/status
jobperformance += 50;
ss << "She is no longer a virgin.\n";
}
// remaining modifiers are in the AddScene function --PP
int finalqual = g_Studios.AddScene(girl, SKILL_BEASTIALITY, jobperformance);
ss << "Her scene is valued at: " << finalqual << " gold.\n";
// mod: added check for number of beasts owned; otherwise, fake beasts could somehow inseminate the girl
if (g_Brothels.GetNumBeasts() > 0)
{
if (!girl->calc_insemination(g_Brothels.GetPlayer(), false, 1.0))
g_MessageQue.AddToQue(girl->m_Realname + " has gotten inseminated", 0);
}
girl->m_Events.AddMessage(ss.str(), IMGTYPE_BEAST, Day0Night1);
// work out the pay between the house and the girl
if (girl->is_slave() && !cfg.initial.slave_pay_outofpocket())
{
wages = 0; // You own her so you don't have to pay her.
}
else
{
wages += finalqual * 2;
}
girl->m_Pay = wages;
// Improve stats
int xp = 10, skill = 3;
if (g_Girls.HasTrait(girl, "Quick Learner")) { skill += 1; xp += 3; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { skill -= 1; xp -= 3; }
g_Girls.UpdateStat(girl, STAT_EXP, xp);
g_Girls.UpdateSkill(girl, SKILL_PERFORMANCE, g_Dice%skill);
g_Girls.UpdateSkill(girl, SKILL_BEASTIALITY, g_Dice%skill + 1);
g_Girls.UpdateEnjoyment(girl, ACTION_SEX, enjoy);
g_Girls.UpdateEnjoyment(girl, ACTION_WORKMOVIE, enjoy);
g_Girls.PossiblyGainNewTrait(girl, "Fake Orgasm Expert", 50, ACTION_SEX, "She has become quite the faker.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Porn Star", 80, ACTION_WORKMOVIE, "She has performed in enough sex scenes that she has become a well known Porn Star.", Day0Night1);
return false;
}
开发者ID:taukita,项目名称:crazys-wm-mod,代码行数:81,代码来源:WorkFilmBeast.cpp
示例9: WorkFilmStagehand
// `J` Job Movie Studio - Crew - job_is_cleaning
bool cJobManager::WorkFilmStagehand(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
stringstream ss; string girlName = girl->m_Realname; ss << girlName;
int roll_a = g_Dice.d100(), roll_b = g_Dice.d100(), roll_c = g_Dice.d100();
if (roll_a <= 50 && (g_Girls.DisobeyCheck(girl, ACTION_WORKMOVIE, brothel) || g_Girls.DisobeyCheck(girl, ACTION_WORKCLEANING, brothel)))
{
ss << " refused to work as a stagehand today.";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
ss << " worked as a stagehand.\n\n";
cConfig cfg;
g_Girls.UnequipCombat(girl); // not for studio crew
int wages = 50;
int enjoyc = 0, enjoym = 0;
bool filming = true;
bool playtime = false;
int imagetype = IMGTYPE_PROFILE;
// `J` - jobperformance and CleanAmt need to be worked out specially for this job.
int jobperformance = 0;
int CleanAmt = ((g_Girls.GetSkill(girl, SKILL_SERVICE) / 10) + 5) * 5;
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 ||
g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0 ||
g_Studios.Num_Actress(0) < 1)
{
ss << "There were no scenes being filmed, so she just cleaned the set.\n\n";
filming = false;
CleanAmt *= 2;
imagetype = IMGTYPE_MAID;
}
if (g_Girls.HasTrait(girl, "Director")) { CleanAmt -= 10; jobperformance += 15; }
if (g_Girls.HasTrait(girl, "Actress")) { CleanAmt += 0; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Porn Star")) { CleanAmt += 0; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Flight")) { CleanAmt += 20; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Maid")) { CleanAmt += 20; jobperformance += 2; }
if (g_Girls.HasTrait(girl, "Powerful Magic")) { CleanAmt += 10; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Strong Magic")) { CleanAmt += 5; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Handyman")) { CleanAmt += 5; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Waitress")) { CleanAmt += 5; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Agile")) { CleanAmt += 5; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Fleet of Foot")) { CleanAmt += 2; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Strong")) { CleanAmt += 5; jobperformance += 10; }
if (g_Girls.HasTrait(girl, "Assassin")) { CleanAmt += 1; jobperformance += 1; }
if (g_Girls.HasTrait(girl, "Psychic")) { CleanAmt += 2; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Manly")) { CleanAmt += 1; jobperformance += 1; }
if (g_Girls.HasTrait(girl, "Tomboy")) { CleanAmt += 2; jobperformance += 2; }
if (g_Girls.HasTrait(girl, "Optimist")) { CleanAmt += 1; jobperformance += 1; }
if (g_Girls.HasTrait(girl, "Sharp-Eyed")) { CleanAmt += 1; jobperformance += 5; }
if (g_Girls.HasTrait(girl, "Giant")) { CleanAmt += 2; jobperformance += 2; }
if (g_Girls.HasTrait(girl, "Prehensile Tail")) { CleanAmt += 3; jobperformance += 3; }
if (g_Girls.HasTrait(girl, "Blind")) { CleanAmt -= 20; jobperformance -= 20; }
if (g_Girls.HasTrait(girl, "Queen")) { CleanAmt -= 20; jobperformance -= 10; }
if (g_Girls.HasTrait(girl, "Princess")) { CleanAmt -= 10; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Mind Fucked")) { CleanAmt -= 10; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Bimbo")) { CleanAmt -= 5; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Retarded")) { CleanAmt -= 5; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Smoker")) { CleanAmt -= 1; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Clumsy")) { CleanAmt -= 5; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Delicate")) { CleanAmt -= 1; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Elegant")) { CleanAmt -= 5; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Malformed")) { CleanAmt -= 1; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Massive Melons")) { CleanAmt -= 1; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Abnormally Large Boobs")) { CleanAmt -= 3; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Titanic Tits")) { CleanAmt -= 5; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Broken Will")) { CleanAmt -= 5; jobperformance -= 10; }
if (g_Girls.HasTrait(girl, "Pessimist")) { CleanAmt -= 1; jobperformance -= 1; }
if (g_Girls.HasTrait(girl, "Meek")) { CleanAmt -= 2; jobperformance -= 2; }
if (g_Girls.HasTrait(girl, "Nervous")) { CleanAmt -= 2; jobperformance -= 3; }
if (g_Girls.HasTrait(girl, "Dependant")) { CleanAmt -= 5; jobperformance -= 5; }
if (g_Girls.HasTrait(girl, "Bad Eyesight")) { CleanAmt -= 5; jobperformance -= 5; }
if (roll_a <= 10)
{
enjoyc -= g_Dice % 3 + 1; if (filming) enjoym -= g_Dice % 3 + 1;
CleanAmt = int(CleanAmt * 0.8);
ss << "She did not like working in the studio today.";
}
else if (roll_a >= 90)
{
enjoyc += g_Dice % 3 + 1; if (filming) enjoym += g_Dice % 3 + 1;
CleanAmt = int(CleanAmt * 1.1);
ss << "She had a great time working today.";
}
else
{
enjoyc += max(0, g_Dice % 3 - 1); if (filming) enjoym += max(0, g_Dice % 3 - 1);
ss << "Otherwise, the shift passed uneventfully.";
}
jobperformance += enjoyc + enjoym;
//.........这里部分代码省略.........
开发者ID:taukita,项目名称:crazys-wm-mod,代码行数:101,代码来源:WorkFilmStagehand.cpp
示例10: init
void cScreenTown::init()
{
if (BuyClinic != -1)
{
(g_ChoiceManager.GetChoice(0) == 0 ? GetClinic = true : BuyClinic = -1);
g_ChoiceManager.Free();
}
if (GetClinic)
{
static_brothel_data *bpt = clinic_data + BuyClinic;
g_Gold.brothel_cost(bpt->price);
g_Clinic.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Clinic.SetName(0, gettext("Clinic"));
GetClinic = false;
BuyClinic = -1;
}
if (BuyCentre != -1)
{
(g_ChoiceManager.GetChoice(0) == 0 ? GetCentre = true : BuyCentre = -1);
g_ChoiceManager.Free();
}
if (GetCentre)
{
static_brothel_data *bpt = centre_data + BuyCentre;
g_Gold.brothel_cost(bpt->price);
g_Centre.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Centre.SetName(0, gettext("Centre"));
GetCentre = false;
BuyCentre = -1;
}
if (BuyArena != -1)
{
(g_ChoiceManager.GetChoice(0) == 0 ? GetArena = true : BuyArena = -1);
g_ChoiceManager.Free();
}
if (GetArena)
{
static_brothel_data *bpt = arena_data + BuyArena;
g_Gold.brothel_cost(bpt->price);
g_Arena.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Arena.SetName(0, gettext("Arena"));
GetArena = false;
BuyArena = -1;
}
if (BuyStudio != -1)
{
(g_ChoiceManager.GetChoice(0) == 0 ? GetStudio = true : BuyStudio = -1);
g_ChoiceManager.Free();
}
if (GetStudio)
{
static_brothel_data *bpt = studio_data + BuyStudio;
g_Gold.brothel_cost(bpt->price);
g_Studios.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Studios.SetName(0, gettext("Studio"));
GetStudio = false;
BuyStudio = -1;
}
if (BuyFarm != -1)
{
(g_ChoiceManager.GetChoice(0) == 0 ? GetFarm = true : BuyFarm = -1);
g_ChoiceManager.Free();
}
if (GetFarm)
{
static_brothel_data *bpt = farm_data + BuyFarm;
g_Gold.brothel_cost(bpt->price);
g_Farm.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Farm.SetName(0, gettext("Farm"));
GetFarm = false;
BuyFarm = -1;
}
if (GetName)
{
if (g_ReturnText != "")
{
if (g_Brothels.GetObjective() && g_Brothels.GetObjective()->m_Objective == OBJECTIVE_GETNEXTBROTHEL)
g_Brothels.PassObjective();
static_brothel_data *bpt = brothel_data + BuyBrothel;
g_Gold.brothel_cost(bpt->price);
g_Brothels.NewBrothel(bpt->rooms, bpt->maxrooms);
g_Brothels.SetName(g_Brothels.GetNumBrothels() - 1, g_ReturnText);
g_InitWin = true;
}
GetName = false;
BuyBrothel = -1;
}
if (BuyBrothel != -1)
{
if (g_ChoiceManager.GetChoice(0) == 0)
{
g_MessageQue.AddToQue("Enter a name for your new brothel.", 0);
GetName = true;
g_InitWin = true;
g_WinManager.Push(GetString, &g_GetString);
}
else BuyBrothel = -1;
g_ChoiceManager.Free();
//.........这里部分代码省略.........
开发者ID:belroshir,项目名称:crazys-wm-mod,代码行数:101,代码来源:cScreenTown.cpp
示例11: WorkFilmBondage
// `J` Job Movie Studio - Actress
bool cJobManager::WorkFilmBondage(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
// No film crew.. then go home // `J` this will be taken care of in building flow, leaving it in for now
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 || g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0)
{
girl->m_Events.AddMessage("There was no crew to film the scene, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false;
}
stringstream ss;
string girlName = girl->m_Realname;
int wages = 50;
int enjoy = 0;
int jobperformance = 0;
g_Girls.UnequipCombat(girl); // not for actress (yet)
ss << girlName << " worked as an actress filming BDSM scenes.\n\n";
int roll = g_Dice.d100();
if (roll <= 10 && g_Girls.DisobeyCheck(girl, ACTION_WORKMOVIE, brothel))
{
ss << "She refused to get beaten on film today.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
return true;
}
else if (roll <= 10) { enjoy -= g_Dice % 3 + 1; ss << "She did not enjoy getting tied up and hurt today.\n\n"; }
else if (roll >= 90) { enjoy += g_Dice % 3 + 1; ss << "She had a great time getting spanked and whipped.\n\n"; }
else /* */{ enjoy += g_Dice % 2; ss << "She had just another day in the dungeon.\n\n"; }
jobperformance = enjoy * 2;
if (g_Girls.CheckVirginity(girl))
{
g_Girls.LoseVirginity(girl); // `J` updated for trait/status
jobperformance += 50;
ss << "She is no longer a virgin.\n";
}
sCustomer* Cust = new sCustomer; g_Customers.GetCustomer(Cust, brothel); Cust->m_Amount = 1;
if (Cust->m_IsWoman) // FemDom
{
jobperformance += 20;
/* */if (girl->has_trait("Lesbian")) jobperformance += 20;
else if (girl->has_trait("Straight")) jobperformance -= 20;
}
else
{
if (!girl->calc_pregnancy(Cust, false, 0.75))
g_MessageQue.AddToQue(girl->m_Realname + " has gotten pregnant", 0);
/* */if (girl->has_trait("Lesbian")) jobperformance -= 10;
else if (girl->has_trait("Straight")) jobperformance += 10;
}
// remaining modifiers are in the AddScene function --PP
int finalqual = g_Studios.AddScene(girl, SKILL_BDSM, jobperformance);
ss << "Her scene is valued at: " << finalqual << " gold.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_BDSM, Day0Night1);
// work out the pay between the house and the girl
if (girl->is_slave() && !cfg.initial.slave_pay_outofpocket())
{
wages = 0; // You own her so you don't have to pay her.
}
else
{
wages += finalqual * 2;
}
girl->m_Pay = wages;
// Improve stats
int xp = 10, skill = 3;
if (g_Girls.HasTrait(girl, "Quick Learner")) { skill += 1; xp += 3; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { skill -= 1; xp -= 3; }
g_Girls.UpdateStat(girl, STAT_EXP, xp);
g_Girls.UpdateSkill(girl, SKILL_PERFORMANCE, g_Dice%skill);
g_Girls.UpdateSkill(girl, SKILL_BDSM, g_Dice%skill + 1);
g_Girls.UpdateEnjoyment(girl, ACTION_SEX, enjoy);
g_Girls.UpdateEnjoyment(girl, ACTION_WORKMOVIE, enjoy);
//gain
g_Girls.PossiblyGainNewTrait(girl, "Fake Orgasm Expert", 50, ACTION_SEX, "She has become quite the faker.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Masochist", 65, ACTION_SEX, girlName + " has turned into a Masochist from filming so many BDSM scenes.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Slut", 80, ACTION_SEX, girlName + " has turned into quite a slut.", Day0Night1);
g_Girls.PossiblyGainNewTrait(girl, "Porn Star", 80, ACTION_WORKMOVIE, "She has performed in enough sex scenes that she has become a well known Porn Star.", Day0Night1);
//lose
delete Cust;
return false;
}
开发者ID:diamondialis,项目名称:crazys-wm-mod,代码行数:93,代码来源:WorkFilmBondage.cpp
示例12: WorkCrystalPurifier
// `J` Job Movie Studio - Crew
bool cJobManager::WorkCrystalPurifier(sGirl* girl, sBrothel* brothel, bool Day0Night1, string& summary)
{
int actiontype = ACTION_WORKMOVIE;
bool SkipDisobey = (summary == "SkipDisobey");
stringstream ss; string girlName = girl->m_Realname;
// No film crew.. then go home // `J` this will be taken care of in building flow, leaving it in for now
if (g_Studios.GetNumGirlsOnJob(0, JOB_CAMERAMAGE, SHIFT_NIGHT) == 0 || g_Studios.GetNumGirlsOnJob(0, JOB_CRYSTALPURIFIER, SHIFT_NIGHT) == 0)
{
girl->m_Events.AddMessage("There was no crew to film the scene, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false; // not refusing
}
else if (g_Studios.Num_Actress(0) < 1)
{
girl->m_Events.AddMessage("There were no actresses to film, so she took the day off", IMGTYPE_PROFILE, EVENT_NOWORK);
return false; // not refusing
}
// `J` added this to allow the Director to assign someone to this job without making it permanent
if (girl->m_DayJob == JOB_FILMFREETIME) // the director sets the old job to dayjob when changing night job
{
ss << girlName << " was assigned to work as a crystal purifier";
}
else
{
ss << "The Director assigned " << girlName << "to edit the scenes for the week";
}
g_Girls.UnequipCombat(girl); // not for studio crew
int roll = g_Dice.d100();
if (!SkipDisobey) // `J` skip the disobey check because it has already been done in the building flow
{
if (roll <= 10 && g_Girls.DisobeyCheck(girl, actiontype, brothel))
{
if (girl->m_DayJob == JOB_FILMFREETIME)
{
ss << " but she refused to work.";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_NOWORK);
}
else
{
ss << " but " << girlName;
if (g_Studios.is_Actress_Job(girl->m_DayJob)) ss << " wanted to be part of the action instead of just watching it.\n";
else if (girl->m_DayJob == JOB_PROMOTER) ss << " preferred to sell the movies rather than edit them.\n";
else if (girl->m_DayJob == JOB_FLUFFER) ss << " wanted to see the action live instead of watching it afterwards.\n";
else if (girl->m_DayJob == JOB_STAGEHAND) ss << " wanted to clean instead of editing scenes.\n";
else if (girl->m_DayJob == JOB_CAMERAMAGE) ss << " preferred to film the scenes rather than edit them.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_BACKTOWORK);
}
return true;
}
}
ss << ".\n\n";
int wages = 50;
int enjoy = 0;
if (roll <= 10)
{
enjoy -= g_Dice % 3 + 1;
ss << "She did not like working in the studio today.\n\n";
}
else if (roll >= 90)
{
enjoy += g_Dice % 3 + 1;
ss << "She had a great time working today.\n\n";
}
else
{
enjoy += g_Dice % 2;
ss << "Otherwise, the shift passed uneventfully.\n\n";
}
double jobperformance = JP_CrystalPurifier(girl, false);
jobperformance += enjoy * 2;
// slave girls not being paid for a job that normally you would pay directly for do less work
if ((girl->is_slave() && !cfg.initial.slave_pay_outofpocket()))
{
jobperformance *= 0.9;
wages = 0;
}
else // work out the pay between the house and the girl
{
// `J` zzzzzz - need to change pay so it better reflects how well she edited the films
wages += 20;
int roll_max = girl->spirit() + girl->intelligence();
roll_max /= 4;
wages += 10 + g_Dice%roll_max;
}
/* */if (jobperformance > 0) ss << "She helped improve the scene " << (int)jobperformance << "% with her production skills. \n";
else if (jobperformance < 0) ss << "She did a bad job today, she reduced the scene quality " << (int)jobperformance << "% with her poor performance. \n";
else /* */ ss << "She did not really help the scene quality.\n";
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, Day0Night1);
g_Studios.m_PurifierQaulity += (int)jobperformance;
girl->m_Pay = wages;
//.........这里部分代码省略.........
开发者ID:DagothRa,项目名称:crazys-wm-mod,代码行数:101,代码来源:WorkCrystalPurifier.cpp
注:本文中的cMovieStudioManager类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论