12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # music_performances
- !! Constants used
- !! Song type:
- SONG = 1
- INSTRUMENTAL = 2
- VOCAL = 3
- !! Genres:
- POP = 0
- BLUES = 1
- ROCK = 2
- CLASSICAL = 3
- GRUNGE = 4
- COUNTRY = 5
- FOLK = 6
- DISCO = 7
- FUNK = 8
- !! Set lists
- if $ARGS[0] = 'add_new_set':
- i = ml_setlist["index"]
- $ml_setlist["<<i>>-code"] = "SL-<<i>>"
- $ml_setlist["<<i>>-name"] = $ARGS[1]
- ml_setlist["<<i>>-length"] = ARGS[2]
- ml_setlist["<<i>>-quality"] = 0
- ml_setlist["<<i>>-practice_level"] = 0
- ml_setlist["<<i>>-last_practice_day"] = 0
- ml_setlist["index"] += 1
- end
- !! Songwriting and composition
- !! ml_song_written["1-writing_skill"] = 0
- !! Lyrics: int; skill used: songwrit (new skill, Russian class improves it, plus practice and study)
- !! Music: int; skill used: instrmusic (covers melody and harmony)
- if $ARGS[0] = 'add_new_song':
- i = ml_song_written_written["index"]
- $ml_song_written['<<i>>-code'] = "S-<<i>>"
- $ml_song_written['<i>>-title'] = $ARGS[1]
- ml_song_written["<<i>>-type"] = ARGS[2]
- ml_song_written["<<i>>-genre"] = ROCK
- ml_song_written["<<i>>-lyrics"] = 0
- ml_song_written["<<i>>-music"] = 0
- ml_song_written["<<i>>-lyrics_work_count"] = 0
- ml_song_written_written["index"] += i
- end
- if $ARGS[0] = 'write_lyrics':
- !! base: pcs_songwrit
- !! mod: thirst, hunger, sleep, pain, drunk, drugs, exhaustion
- ml_song_written["1-lyrics"] += ( (pcs_songwrit - modifiers) * ml_genre_knowledge[ml_song_written["1-genre"]] * rand(0,130) )/100/ml_song_written["1-lyrics_work_count"]
- max_lyrics = (pcs_songwrit * ml_genre_knowledge[ml_song_written["1-genre"]] * 130)/100
- if ml_song_written["1-lyrics"] > max_lyrics: ml_song_written["1-lyrics"] = max_lyrics
- !! should there be a diminishing return? A limit, based on skill? Max: pcs_songwrit * 1.3 * ml_genred_knowledge?
- ml_song_written["1-lyrics_work_count"] += 1
- end
- if $ARGS[0] = 'write_music':
- !! base: pcs_songwrit
- !! mod: thirst, hunger, sleep, pain, drunk, drugs, exhaustion
- if ml_song_written["1-type"] = VOCAL:
- skill = (pcs_vokal + pcs_songwrit) / 2
- else:
- skill = (pcs_instrmusic + pcs_songwrit) / 2
- end
- ml_song_written["1-music"] += ( (skill - modifiers) * ml_genre_knowledge[ml_song_written["1-genre"]] * rand(0,130) )/100/ml_song_written["1-music_work_count"]
- max_music = (skill * ml_genre_knowledge[ml_song_written["1-genre"]] * 130)/100
- if ml_song_written["1-music"] > max_music: ml_song_written["1-lyrics"] = max_music
- ml_song_written["1-music_work_count"] += 1
- end
- if $ARGS[0] = 'rewrite_lyrics':
- ml_song_written["1-lyrics_work_count"] = 0
- ml_song_written["1-lyrics"] = 0
- gs 'music_performances', 'write_lyrics'
- end
- if $ARGS[0] = 'rewrite_music':
- ml_song_written["1-music_work_count"] = 0
- ml_song_written["1-music"] = 0
- gs 'music_performances', 'write_music'
- end
- --- music_performances ---------------------------------
|