You got a compiler and know how to use it (Code::Blocks works OK for me), all you gotta do is change the print_msg. (#4 in the below example.)
Example: line 936 or so of iuse.cpp. Let’s say you drink a beast mutagen?
g->add_msg_if_player(p, _(“Your heart races and you see blood for a moment.”));
1 2 3 4 5
-
This tells iuse to check in game.cpp. Needed so it knows where to stick the message. Otherwise, the compiler goes “WTF? I don’t know what you want me to do!” and stops.
-
Actual action: stick in a message, if whatever triggered this code is the player. (Spoiler: it is. NPCs won’t be drinking mutagen for a while.)
-
I presume this is similar syntax to 1. Leave it in and things don’t break.
-
Here’s the actual text. The opening and closing parens & quotes are mandatory and tell the compiler that you want the text they enclose printed, not parsed as some weird syntax & commands it’s never heard of. Couple things to know: don’t just hit enter/return for a new line. Instead, type (without the quotes) “\n” and then either space or hit enter. Likewise, if you want to use “quote marks” you need to put in a slash first, like so: " . Otherwise the compiler will think those quotes represent the end of your text, and chances are a “WTF?” will follow.
-
Close all parens and use a semicolon to indicate you’re done with that line. Missing parens are a great way to cause bugs; they happen to everyone. (Especially me.
…but that one was deliberate. Hoping this helps. 