Ver Fonte

The location that will hold the different song and setlist related code

netuttki há 7 meses atrás
pai
commit
6c0e0b9d95
1 ficheiros alterados com 88 adições e 0 exclusões
  1. 88 0
      locations/music_performances.qsrc

+ 88 - 0
locations/music_performances.qsrc

@@ -0,0 +1,88 @@
+# 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  ---------------------------------