#music_actions if $ARGS[0] = 'start': !! Everywhere ml_time_left = ml_performance['max_perform_minutes']-ml_performance['performed_minutes'] !! Will move but too many changes for a if ml_activities['enabled'] = 0 and (ml_guitar['hasguitar'] or vokal_lvl > 5): ml_activities['enabled'] = 1 end if alko > 5 and ml_activities['enabled'] = 1: 'You are too drunk to stream or record music without messing up or throwing up into your guitar.' !! $location_type = ''public_outdoors'' means parks, streets. Some event types can be placed in these locations : playing music, recording music - e.g in front of !! the library, or at the church, etc. elseif ($location_type = 'private' or ($location_type = 'public_outdoors' and sunWeather = 1 and temper > 15)) and ml_no_music = 0 and ml_activities['enabled'] = 1: if hour < 8: 'It''s too early to do anything noisy like playing the guitar or singing.' elseif hour > 22: 'It''s too late to do anything noisy like playing the guitar or singing.' else if ml_settings['its_me'] = 1: if ml_guitar['hasguitar'] = 1 and (ml_guitar['carried'] = 1 or $ml_guitar['location'] = $loc): pl '
' else pl '
' end else act 'Available musical activities': gs 'music_actions', 'available_actions' end end if ml_guitar['hasguitar'] = 1 and $location_type = 'private': gs 'music_actions', 'put_down_pick_up' end end if $ARGS[0] = 'available_actions': cla ml_time_left = ml_performance['max_perform_minutes']-ml_performance['performed_minutes'] if $location_type = 'public_outdoors': !! In public, Sveta is never alone gs 'music_actions', 'not_alone' !! Clear out accidentally stuck $access if Sveta is outdoors. killvar 'access' end if $access = '': gs 'internet_mobile', 'get_access' !! $location_type = ''private'' = these are usually homes. ''indoors'' usually an office, shop or an NPC''s home. Same for ''public_indoors'' For those locations !! anything music related should be part of a storyline/quest, or some prewritten scene, like in the room of Anushka gs 'music_actions', 'play_something' gs 'music_actions', 'practice_guitar' if $location_type = 'public_outdoors': gs 'music_actions', 'busking' gs 'music_actions', 'record_music' !! if this is done outdoors, any editing, mixing must be done at home. So 'Record and edit' is not available outdoors. !! Although more accurate would be to check whether Sveta is at home or not, and if she is not home then that option won''t be available. if $access ! 'denied': gs 'music_actions', 'stream_music' gs 'music_actions', 'set_up_account' !! gs 'music_actions', 'upload_music' gs 'music_actions', 'delete_music' end act 'Finish': gs 'music_actions', 'finish' end if $ARGS[0] = 'put_down_pick_up': if ml_guitar['carried'] = 1: act 'Place the guitar next to your desk': ml_guitar['carried'] = 0 $ml_guitar['location'] = $loc gt $loc, $loc_arg end elseif $ml_guitar['location'] = $loc: act 'Pick up the guitar': ml_guitar['carried'] = 1 $ml_guitar['location'] = 'carried' gt $loc, $loc_arg end end end if $ARGS[0] = 'play_something': if ml_guitar['hasguitar'] = 1 and (ml_guitar['carried'] = 1 or $ml_guitar['location'] = $loc): if ml_not_alone = 0 or will_cost = 0: !! TODO: This should be a new screen with some video or image or something act 'Play something on the guitar (10 minutes)': *clr & cla pcs_mood += 10 minut += 10 gs 'stat' '
> src="images/pc/activities/music/guitarpractice_1.jpg">
' 'You pick up your guitar and start to play some songs you know, just for your own entertainment.' 'You hum along to the tune, relaxing into the music and enjoying it. When you look up, 10 minutes has passed and you are in a much better mood.' act 'Finish': gs 'music_actions', 'finish' end elseif will_cost <= pcs_willpwr: act 'Play something on the guitar (10 minutes) (<> Willpower - you are not alone)': *clr & cla inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' pcs_mood += 5 minut += 10 gs 'stat' '
> src="images/pc/activities/music/guitarpractice_1.jpg">
' 'You pick up your guitar and start to play some songs you know, just for your own entertainment.' 'You hum along to the tune, relaxing into the music and enjoying it. When you look up, 10 minutes has passed and you are in a much better mood.' act 'Finish': gs 'music_actions', 'finish' end else act 'Play something on the guitar (<> Willpower - you are not alone)': '
You feel too embarrassed to pick up your guitar in front of people' end end if ml_not_alone = 0 or will_cost = 0: act 'Sing something (10 minutes)': *clr & cla pcs_mood += 10 minut += 10 gs 'stat' 'You hum a few notes to warm up your throat and start to some some songs you know, just for your own entertainment.' 'You sway and move your head to keep the tempo, relaxing into the music and enjoying it. When you look up, 10 minutes has passed and you are in a much better mood.' act 'Finish': gs 'music_actions', 'finish' end elseif will_cost <= pcs_willpwr: act 'Sing something (10 minutes) (<> Willpower - you are not alone)': *clr & cla inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' !! TODO: This should be a new screen with some video or image or something pcs_mood += 5 minut += 10 gs 'stat' 'You hum a few notes to warm up your throat and start to some some songs you know, just for your own entertainment.' 'You sway and move your head to keep the tempo, relaxing into the music and enjoying it. When you look up, 10 minutes has passed and you are in a much better mood.' act 'Finish': gs 'music_actions', 'finish' end else act 'Sing something (<> Willpower - you are not alone)': '
You feel too embarrassed to sing in front of people' end end !! NOTE: Having a guitar really matters here if $ARGS[0] = 'practice_guitar': if ml_guitar['hasguitar'] = 1 and (ml_guitar['carried'] = 1 or $ml_guitar['location'] = $loc) and (ml_guitar['chordbook'] = 1 or ml_guitarlesson['lessoncount'] > 0): if ml_time_left < 15: act 'Practice guitar (You are too tired)': '
You have played so much today that your brain and hands are too tired to practice any more.' elseif ml_not_alone ! 0 and will_cost ! 0: if will_cost <= pcs_willpwr: act 'Practice guitar (15 minutes) (<> Willpower - you are not alone)': inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' gt 'music_bedroomPractice', 'guitar' end else act 'Practice guitar (<> Willpower - you are not alone)': '
You feel too embarrassed to pick up your guitar in front of people' end else act 'Practice guitar (15 minutes)': gt 'music_bedroomPractice', 'guitar' end end end if $ARGS[0] = 'busking': *nl 'With the weather being pleasant and sunny, there are groups of people moving around the streets. You could play some music, practice performing songs and maybe make some money too.' if ml_performance['max_perform_minutes'] < 60: act 'Start busking (You are not able to play for an hour yet.)': '
You don''t have the endurance yet to play for an hour.' elseif ml_time_left < 60: act 'Start busking (You are too tired)': '
You have played so much today, that your brain and hands are too tired to play a whole stream.' elseif will_cost ! 0: if will_cost <= pcs_willpwr: act 'Start busking (60 minutes) (<> Willpower)': inhib_exp += rand(1,3) gs 'willpower', 'pay', 'self' gs 'stat' gs 'music_buskingevents', 'busking' end else act 'Start busking (<> Willpower)': '
You don''t feel comfortable enough to play in front of people right now.' end else act 'Start busking (60 minutes)': gs 'music_buskingevents', 'busking' end end if $ARGS[0] = 'stream_music': !! Streaming music !! NOTE: The check for guitar is done in the 'live_stream', without a guitar Sveta will sing if ml_online['account'] = 0: act 'Live stream (No online account)': '
You will have to set up an online account first to stream.' elseif $access = 'denied': act 'Live stream (No internet access)': '
You have no internet access.' elseif ml_streaming['lastday'] = daystart: act 'Live stream (Already streamed today)': '
You already streamed today.' elseif ml_not_alone = 1 and $location_type = 'private' : act 'Live stream (You are not alone, can''t stream right now)': '
You are not alone in the room, which makes starting a stream impossible until they leave.' elseif ml_performance['max_perform_minutes'] < 60: act 'Live stream (You are not able to play for an hour yet.)': '
You don''t have the endurance yet to play for an hour.' elseif ml_time_left < 60: act 'Live stream (You are too tired)': '
You have played so much today, that your brain and hands are too tired to play a whole stream.' else gs 'music_actions', 'willpower_cost' if will_cost = 0: act 'Live stream (60 minutes)': gt 'music_onlinemusic', 'live_stream' elseif will_cost <= pcs_willpwr: act 'Live stream (60 minutes) (<> Willpower)': inhib_exp += rand(1,3) gs 'willpower', 'pay', 'self' gs 'stat' gt 'music_onlinemusic', 'live_stream' end else act 'Live stream (<> Willpower)': '
You don''t have enough willpower to use this action.' end end end !! TODO: This needs to be split, editing can happen after the music was recorded. And it can happen to music recorded with a phone too. !! 1. Record with a computer !! 2. Edit video/music !! 3. Mix if there are several recording - this will need some better recroded music management, but something simple, no one wants to !! click a hundred times to do something. Boring. !! 4. Computer based recording is removed for now, some changes are needed if $ARGS[0] = 'record_music': !! Recording music if ml_performance['max_perform_minutes'] < 30: act 'Record a song (You are not able to play for half an hour yet.)': '
You don''t have the endurance yet to play for half an hour continuously.' elseif ml_time_left < 30: act 'Record a song (You are too tired)': '
You have played so much today, that your brain and hands are too tired to record anything right now.' else gs 'music_actions', 'willpower_cost' if will_cost = 0: act 'Record a song with your phone (30 minutes)': gt 'music_onlinemusic', 'record_song' elseif will_cost <= pcs_willpwr: act 'Record a song with your phone (30 minutes) (<> Willpower' + iif(ml_not_alone, ' - you are not alone)', ')'): inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' gt 'music_onlinemusic', 'record_song' end else act 'Record a song (<> Willpower - you are not alone)': '
You don''t feel comfortable recording in front of other people right now.' end end end !! TODO: Split from recording music, editing is a separate thing if $ARGS[0] = 'edit_recording': if mc_inventory['tech_computer'] = 1 and mc_inventory['tech_webcam'] = 1 and ml_studio['scarlet-3rd-gen'] = 1: act 'Edit a song (<> Willpower)': inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' gt 'music_onlinemusic', 'recordAndEditSong' end end end !! TODO: How to differentiate between guitar based and vocal sets? It is possible to rehearse just the singing part of a set, but obviously has to !! practice the guitar parts too. if $ARGS[0] = 'rehearse_sets': if ml_performance['performed_minutes'] < ml_performance['max_perform_minutes']: if ml_not_alone = 0 or will_cost = 0: act 'Rehearse your sets (30 minutes)': gt 'music_bedroompractice', 'rehearse' elseif will_cost <= pcs_willpwr: act 'Rehearse your sets (30 minutes) (<> Willpower)': inhib_exp += rand(1,2) gs 'willpower', 'pay', 'self' gs 'stat' gt 'music_bedroompractice', 'rehearse' end else act 'Rehearse your sets (30 minutes) (<> Willpower)': '
You don''t have enough willpower to use this action.' end end end if $ARGS[0] = 'set_up_account': if ml_online['account'] = 0 and subscription[$access['subscription']] > 0: act 'Set up an online music account (0:30)': gt 'music_onlinemusic', 'set_up_account' end end if $ARGS[0] = 'upload_music': !!Uploading recorded music if there are any not uploaded yet if ml_uploadablemusic > 0 and subscription[$access['subscription']] > 0 and ml_online['account'] = 1: if will_cost = 0: act 'Upload music': gt 'music_onlinemusic', 'uploadallmusic' elseif will_cost <= pcs_willpwr: act 'Upload music (<> Willpower)': gt 'music_onlinemusic', 'uploadmusic' else act 'Upload music (<> Willpower)': '
You don''t have enough willpower to use this action.' end end end if $ARGS[0] = 'delete_music': if ml_uploadablemusic > 0: act 'Delete old recordings': gt 'music_onlinemusic', 'deleteoldmusic' end end !! This is called from the actual location where all the info is present to decide whether someone else is around or not. if $ARGS[0] = 'not_alone': ml_not_alone = 1 gs 'music_actions', 'willpower_cost' end !! This is called from the actual location where all the info is present to decide whether something actively blocking anything music related. !! FOr example a drunken husband, or if Sveta and Anya hate each other, or any other temporary block if $ARGS[0] = 'no_music': ml_no_music = 1 end !! TODO: Will modify to ask all three (''easy'', ''medium'' and ''hard'') because local (friends, family), public (strangers) and global (online) !! will have different inhibition thresholds !! IMPORTANT: I always try to add a check for skills, but the will_cost already includes Sveta''s performance ability! if $ARGS[0] = 'willpower_cost': killvar 'will_cost' if pcs_inhib < 30: if pcs_inhib < 10: $diff = 'hard' elseif pcs_inhib < 20: $diff = 'medium' else $diff = 'easy' end gs 'willpower', 'skill', 'self', 'pcs_perform', $diff end end if $ARGS[0] = 'clear_restrictions': killvar 'will_cost' killvar 'ml_not_alone' killvar 'ml_no_music' end if $ARGS[0] = 'finish': killvar 'will_cost' killvar 'ml_not_alone' killvar 'ml_no_music' killvar 'ml_time_left' gt $loc, $loc_arg end --- music_actions ---------------------------------