|
@@ -1,69 +1,272 @@
|
|
|
-# music_actions
|
|
|
+#music_actions
|
|
|
|
|
|
-if ARGS[0] = 'start':
|
|
|
+if $ARGS[0] = 'start':
|
|
|
+ if ml_not_alone = 0: gs 'music_actions', 'willpower_cost'
|
|
|
|
|
|
- cla
|
|
|
+ !! $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
|
|
|
+ if $location_type = 'private' and ml_no_music = 0:
|
|
|
+ gs 'music_actions', 'put_down_pick_up'
|
|
|
+ if hour > 8 and hour < 22 and alko < 5:
|
|
|
+ gs 'music_actions', 'play_something'
|
|
|
+ gs 'music_actions', 'practice_guitar'
|
|
|
+ if pcs_perform > 35 and (instrmusic_lvl >15 or vokal_lvl > 15): gs 'music_actions', 'rehearse_sets'
|
|
|
+ !! TODO: Find some way to remove this type of check from the music_action location, and keep them in the
|
|
|
+ !! original location.
|
|
|
+ !! Maybe a gs that sets a 'can record/stream' flag.
|
|
|
+ if ml_not_alone = 0 :
|
|
|
+ if internet > 0 and ml_online['account'] = 1 and ml_streaming['lastday'] ! daystart: gs 'music_actions', 'stream_music'
|
|
|
+ gs 'music_actions', 'record_music'
|
|
|
+ end
|
|
|
+ end
|
|
|
+ !! $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 = 'public_outdoors' and sunWeather = 1 and temper > 15 and alko < 5 and ml_no_music = 0:
|
|
|
+ !! TODO: What can be done publicly? I think streaming with a phone and recording music would fit here. Also just playing something on the guitar, but not busking.
|
|
|
+ !! They will need some tweaking in the descriptions and photos, videos.
|
|
|
+ !! Doing things outdoors takes a bit more willpower if inhibition/confidence is not high enough yet, but adds extra exp for that, and also improves
|
|
|
+ !! the mood of Sveta.
|
|
|
+ !! Need to check for the weather, if it's raining, freezing, etc. nothing can be done outside (at least for now.)
|
|
|
+ gs 'music_actions', 'play_something'
|
|
|
+ gs 'music_actions', 'practice_guitar'
|
|
|
+ gs 'music_actions', 'rehearse_gig'
|
|
|
+ if internet > 0 and ml_online['account'] = 1 and ml_streaming['lastday'] ! daystart: gs 'music_actions', 'stream_music'
|
|
|
+
|
|
|
+ !! if this is done outdoors, any editing, mixing must be dones 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.
|
|
|
+ gs 'music_actions', 'record_music'
|
|
|
+ end
|
|
|
|
|
|
- if $location_type = 'private':
|
|
|
+ gs 'music_actions', 'set_up_account'
|
|
|
+ gs 'music_actions', 'upload_music'
|
|
|
+ gs 'music_actions', 'delete_music'
|
|
|
+
|
|
|
+ killvar 'ml_willcost'
|
|
|
+ killvar 'ml_not_alone'
|
|
|
+ killvar 'ml_no_music'
|
|
|
+end
|
|
|
|
|
|
- if ml_guitar['carried'] = 1:
|
|
|
- act 'Place the guitar next to your desk':
|
|
|
- ml_guitar['carried'] = 0
|
|
|
- ml_guitar['location'] = $ARGS[0]
|
|
|
+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 ml_willcost = 0:
|
|
|
+ !! TODO: This should be a new screen with some video or image or something
|
|
|
+ act 'Play something on the guitar':
|
|
|
+ pcs_mood += 10
|
|
|
+ minut += 10
|
|
|
+ gs 'stat'
|
|
|
+ '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': gt $loc, $loc_arg
|
|
|
end
|
|
|
- elseif ml_guitar['location'] = $ARGS[0]:
|
|
|
- act 'Pick up the guitar':
|
|
|
- ml_guitar['carried'] = 1
|
|
|
- ml_guitar['location'] = 'carried'
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Play something on the guitar (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,2)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ pcs_mood += 5
|
|
|
+ minut += 10
|
|
|
+ gs 'stat'
|
|
|
+ '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': gt $loc, $loc_arg
|
|
|
end
|
|
|
+ else
|
|
|
+ act 'Practice guitar (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You feel too embarrassed to pick up your guitar in front of people</font>'
|
|
|
end
|
|
|
- if $ARGS[0] = 'sitr':
|
|
|
- gt 'sitr'
|
|
|
+ end
|
|
|
+ if ml_not_alone = 0 or ml_willcost = 0:
|
|
|
+ act 'Sing something':
|
|
|
+ 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 had to keep the temp, 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': gt $loc, $loc_arg
|
|
|
+ end
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Sing something (<<will_cost>> Willpower)':
|
|
|
+ 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 had to keep the temp, 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': gt $loc, $loc_arg
|
|
|
+ end
|
|
|
+ else
|
|
|
+ act 'Sing something (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You feel too embarrassed to sing in front of people</font>'
|
|
|
+ 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) and (ml_performance['performed_minutes'] < ml_performance['max_perform_minutes'] ):
|
|
|
+ !! This is already checked at the beginning.
|
|
|
+ if ml_not_alone = 0 or ml_willcost = 0:
|
|
|
+ act 'Practice guitar': gt 'music_bedroomPractice', 'guitar'
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Practice guitar (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,2)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ gt 'music_bedroomPractice', 'guitar'
|
|
|
+ end
|
|
|
else
|
|
|
- gt ARGS[0], 'start'
|
|
|
- end
|
|
|
+ act 'Practice guitar (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You feel too embarrassed to pick up your guitar in front of people</font>'
|
|
|
+ end
|
|
|
end
|
|
|
+end
|
|
|
|
|
|
- if ml_guitar['carried'] = 1:
|
|
|
- act 'Play something on the guitar (10 minutes)':
|
|
|
- pcs_mood += 10
|
|
|
- minut += 10
|
|
|
- gs 'stat'
|
|
|
- 'You pick up your guitar and start to play some songs you know, just for your own entertainment.'
|
|
|
- 'You hum along the tune, relaxing into the music, just enjoying it. When you look up a quarter of an hour passed and you are in a much better mood.'
|
|
|
- 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 ml_willcost = 0:
|
|
|
+ act 'Live stream (30 minutes)': gt 'music_bedroompractice', 'rehearse'
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Rehearse your sets (30 minutes) (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,2)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ gt 'music_bedroompractice', 'rehearse'
|
|
|
+ end
|
|
|
+ else
|
|
|
+ act 'Rehearse your sets (30 minutes) (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
|
|
|
+
|
|
|
+if $ARGS[0] = 'stream_music':
|
|
|
+ !! Streaming music
|
|
|
+ !! NOTE: The check for guitar is done in the 'liveStream', without a guitar Sveta will sing
|
|
|
+ !! TODO: Some other checks to be added maybe, if she is not
|
|
|
+ if ml_performance['performed_minutes'] < ml_performance['max_perform_minutes'] and ml_performance['max_perform_minutes'] >= 15:
|
|
|
+ ml_streamtime = min((ml_performance['max_perform_minutes']-ml_performance['performed_minutes']), 60)
|
|
|
+ if ml_willcost = 0:
|
|
|
+ act 'Live stream (<<ml_streamtime>> minutes)': gt 'music_onlinemusic', 'liveStream'
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Live stream (<<ml_streamtime>> minutes) (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,3)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ gt 'music_onlinemusic', 'liveStream'
|
|
|
+ end
|
|
|
+ else
|
|
|
+ act 'Live stream (<<ml_streamtime>> minutes) (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
+ 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.
|
|
|
+if $ARGS[0] = 'record_music':
|
|
|
+ !! Recording music
|
|
|
+ if ml_performance['performed_minutes'] < ml_performance['max_perform_minutes']:
|
|
|
+ if ml_willcost = 0:
|
|
|
+ act 'Record a song with your phone': gt 'music_onlinemusic', 'recordSong'
|
|
|
+ if komp = 1 and webcamera = 1 and ml_studio['scarlet-3rd-gen'] = 1:
|
|
|
+ act 'Record and edit a song': gt 'music_onlinemusic', 'recordAndEditSong'
|
|
|
+ end
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Record a song with your phone (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,2)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ gt 'music_onlinemusic', 'recordSong'
|
|
|
+ end
|
|
|
+ if komp = 1 and webcamera = 1 and ml_studio['scarlet-3rd-gen'] = 1:
|
|
|
+ act 'Record and edit a song (<<will_cost>> Willpower)':
|
|
|
+ inhib_exp += rand(1,2)
|
|
|
+ gs 'willpower', 'pay', 'self'
|
|
|
+ gs 'stat'
|
|
|
+ gt 'music_onlinemusic', 'recordAndEditSong'
|
|
|
+ end
|
|
|
+ end
|
|
|
+ else
|
|
|
+ act 'Record a song (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
+ act 'Record and edit a song (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+
|
|
|
+if $ARGS[0] = 'set_up_account':
|
|
|
if ml_online['account'] = 0 and internet > 0:
|
|
|
act 'Set up an online music account (0:30)': gt 'music_onlinemusic', 'setupAccount'
|
|
|
end
|
|
|
+end
|
|
|
|
|
|
+if $RGS[0] = 'upload_music':
|
|
|
!!Uploading recorded music if there are any not uploaded yet
|
|
|
if ml_uploadablemusic > 0 and internet > 0 and ml_online['account'] = 1:
|
|
|
- if pcs_inhib < 30:
|
|
|
- if pcs_inhib < 10:
|
|
|
- $diff = 'hard'
|
|
|
- elseif pcs_inhib < 20:
|
|
|
- $diff = 'medium'
|
|
|
- else
|
|
|
- $diff = 'easy'
|
|
|
- end
|
|
|
- gs 'willpower', 'skill', 'self', $diff
|
|
|
-
|
|
|
- will_cost = (will_cost * 2) - (pcs_perform)
|
|
|
- if will_cost <= pcs_willpwr:
|
|
|
- act 'Upload music (<<will_cost>> Willpower)': gt 'music_onlinemusic', 'uploadmusic'
|
|
|
- else
|
|
|
- act 'Upload music (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
- end
|
|
|
+ if ml_willcost = 0:
|
|
|
+ act 'Upload music': gt 'music_onlinemusic', 'uploadallmusic'
|
|
|
+ elseif ml_willcost <= pcs_willpwr:
|
|
|
+ act 'Upload music (<<will_cost>> Willpower)': gt 'music_onlinemusic', 'uploadmusic'
|
|
|
+ else
|
|
|
+ act 'Upload music (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
|
|
|
end
|
|
|
- act 'Upload music': gt 'music_onlinemusic', 'uploadallmusic'
|
|
|
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 ml_willcost already includes Sveta''s performance ability!
|
|
|
+if $ARGS[0] = 'willpower_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', $diff
|
|
|
+ ml_willcost = (will_cost * 3) - (pcs_perform)
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
--- music_actions ---------------------------------
|