Skip to content

Commit

Permalink
v1.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
SmokyCinnamon committed Aug 3, 2021
1 parent c66d013 commit a4dc02f
Show file tree
Hide file tree
Showing 55 changed files with 1,196 additions and 757 deletions.
19 changes: 19 additions & 0 deletions ghost/master/changelog.txt
@@ -1,3 +1,22 @@
!!!IMPORTANT: IF YOU WERRE ON V1.2.1 OR BELOW, GO TO PAGE 3 OF PASHA'S MENU AND CLICK "YOU WANT TO TALK TO HIM". TYPE "variablefix" (CASE SENSETIVE) IN THE DIALOGUE BOX. THIS WILL HELP YOU. !!!

v1.2.2
> dialogue added
> made the relationship system even weirder. ...Have fun I guess???
> updated the communication feature. i hate this
> speaking of which that means i moved code around and i also hate that
> rebalanced the boot dialogue to accomodate for **more dialogue**
> fixed season getting and took out the code i left in aitalk
> optimizing code 2: electric boogaloo; aka i cant read shit but! dont have to scroll!
> made pasha's menu ~paginated~! i hope this isn't an inconvinience?
> this means i moved more code around. see above for my opinions on that.
> zi if you're reading this i said in my code and i will say it again: i love u
> so halfway through gettiing this update finally fucking FINISHED my computer died and i lost practically all of my work. i am not upset about this. i dont know why you would think that. this is not me being upset about this.
> this part of the changelog was the ENTIRE FUCKING LENGTH of the rest of the changelog
> i had COOL FORMATTING like how im typing right now
> aitalk now has pools. i did not fix the brackets yet. probability might still be fucked.
> yeah thats it. there was a lot in creepymode, a lot of things got optimized, and even more general dialogue had been added! aaaaand all nuked. sorry :/

v1.2.1 -- aaaaaaaa
> fixed some menu option formatting not being right, like when Pasha asks you if you want to see the changelog
> fixed the hourchange being the wrong thing. ...Don't ask me how it even worked beforehand. (i do want to test that though lol)
Expand Down
6 changes: 3 additions & 3 deletions ghost/master/goals.md
@@ -1,11 +1,11 @@
~~functioning parser, leading to~~
spookmode
~~spookmode~~
surfaces (?)
~~functioning counter~~ (as good as it can be, so...)
relationship system (close to being done already)
~~minigame of somekind (possibly hanfman)~~
* relationship needs dialogue
* items need to be better implemented
* aitalk dialogue mostly
* menus (?)
~~* envelopes for menus~~
~~menus (?)~~
~~envelopes for menus~~
756 changes: 271 additions & 485 deletions ghost/master/pm_aitalk.dic

Large diffs are not rendered by default.

29 changes: 20 additions & 9 deletions ghost/master/pm_anchor.dic
Expand Up @@ -23,8 +23,12 @@ OnTranslate
_talk = REPLACE(_talk, "\s[600]", "\s[600]%(isix)")
_talk = REPLACE(_talk, "\s[60]", "\s[60]%(hesdead)")
_talk = REPLACE(_talk, "Anchor 1", "\_a[anchor1]that\_a")
_talk = REPLACE(_talk, "Anchor 2", "\_a[anchor2]Anchor 2\_a")
_talk = REPLACE(_talk, "Anchor 3", "\_a[anchor3]Anchor 3\_a")
_talk = REPLACE(_talk, "anLina", "\_a[anchor2]Lina\_a")
_talk = REPLACE(_talk, "anJora", "\_a[anchor3]Jora\_a")
_talk = REPLACE(_talk, "anValya", "\_a[anchor4]Valya\_a")
_talk = REPLACE(_talk, "anPasha", "\_a[anchor5]Pasha\_a")
_talk = REPLACE(_talk, "anVanya", "\_a[anchor6]Vanya\_a")
_talk = REPLACE(_talk, "anVadik", "\_a[anchor7]Vadik\_a")

{
"%(_talk)"
Expand All @@ -51,19 +55,26 @@ OnAnchorSelect
else //if it's NOT a web address
{
case reference0 //case is a unique thing I've only really seen here in anchor.dic, and as far as I can tell it sets up reference0 for evaluation to see if matches any of the below criteria, which are all tagged with when. I wouldn't mess with much of this stuff unless you have a better grasp of this kind of thing than I do, haha. You can add as many things here as you want to set up above as long as you follow the basic format.
//Friendys = (0,0,0,0,0,0) vadik, vanya, pasha, valya, jora, lina
{
when "anchor1" //if the link is this value
{
"\1\s[18]Huh?\w2 Oh, just whatever happened to his wrist. You can see the bandage, right? \0\s[9]Yup, just tell %(username) about everything that's ever happened to me.\w4 Go right ahead.\e"
}
when "anchor2" //if the link is this value
{
"\0\s[0]This dialogue is for when Anchor 2 is clicked.\e"
}
when "anchor2"
{Friendys[6] = 1}
when "anchor3" //if the link is this value
{
"\1\s[10]This dialogue is for when Anchor 3 is clicked.\e"
}
{Friendys[5] = 1}
when "anchor4"
{Friendys[4] = 1}
when "anchor5"
{Friendys[3] = 1}
when "anchor6"
{Friendys[2] = 1}
when "anchor7"
{Friendys[1] = 1}
when "anchor8"
{Friendys[0] = 1}
}
}
}
127 changes: 92 additions & 35 deletions ghost/master/pm_bootend.dic

Large diffs are not rendered by default.

77 changes: 65 additions & 12 deletions ghost/master/pm_commu.dic
@@ -1,6 +1,52 @@
//---------------------------Communication--------------------------

//I'm going to level with you, I don't really get a lot of what's going on in this .dic file. I'm pretty sure it's related to having ghosts talk to each other, or acknowledge each other's presence in some way, but I don't really know. If someone else knows more about this than I do, I'd love to hear about it, but for now, leave it all alone except for a few lines near the bottom.
// listen -- whatever is happening in this file is black magic. that being said, reconstructing it isn't *entirely* difficult, unless you already put a million ghosts in there (which is not these two. yet.) copy/pasting essentially from zar's guide because... h

OnStartTalking
{ _AlreadyTalked = 1 //setting flag. i put this in a local variable just because... it makes sense?
if ghostexcount > 0
{ _num = RAND(ghostexcount); _randghost = "%(ghostexlist[_num])"
// this is... checking if the ghosts around are above 0 and then choosing one randomly from that list to talk to?
--
case _randghost
{
when "CheeryBot" //zar says known ghosts -- add as many as needed. idk how that works, but trial and error...?
{
res_reference0 = "CheeryBot" //this is also setting a flag but... What the Fuck
"\0\s[0]Oh hey\w2, finally someone who can actually *be* Vanya\w2's support group\w2.\w6\1\s[19]I have never been his support group please stop that.\w6\0\s[8]Sure you aren\w2't\w2.\w4\e"
}
when "Temmie"
{
res_reference0 = "Temmie"
"\0\s[8]Is that a cat...?\w4\e"
}
when "Vanya and Vadik"
{
res_reference0 = "Vanya and Vadik"
"\0\s[0]Hi Vadik!!! When did you get here?!\w4 \1\s[10]Like, seriously. But hey, my two favorite people! How's it going?\w4\e"
}
when "Azura"
{
res_reference0 = "Azura"
"\1\s[10]Who're you?\w3 What's up with wings?\w3\0\s[0]\f[height,8]\f[italic,true]The\f[italic,false] wings\w2, Misha\w2.\f[height,false]\w4\e"
}
when "RYS-0825" //? why is this s's name?
{
res_reference0 = "RYS-0825"
"\1\s[10]You're a... skeleton...?\w6\0\s[0]\f[height,10](That's... the least weird thing going on here, Mishka.)\f[height,normal]\w4\e"
}
others
{
res_reference0 = _randghost //setting the flag to whatever ghost it picked
"\1\s[10]Hi, %(_randghost).\w4\e"
}
}}
else //no ghosts
{
"\1\s[10]I can't talk to someone who's not there...\e"
}
}


OnCommunicate
Expand All @@ -17,22 +63,18 @@ OnCommunicate
}
}

ReplyToUser
{
TalkToUser
}
ReplyToUser; {TalkToUser}


//Again, I just have to guess at what's going on here since I've never really seen this in action. I think what's going on here is that there is a limited functionality for having ghosts communicate with each other, but I don't really know how you'd set it up or even see it happen. I believe ReplyToGhost would be in response to something the other ghost is saying, but I'm not sure. I wouldn't really mess very much with this - you may even just want to blank out the dialogue entirely. I've never personally seen it come up. I may experiment with this later and see if I can figure out more about it, but for now I wouldn't worry too much.

ReplyToGhost
{
//res_reference0 = reference0 ?
res_reference0 = reference0 //?
if reference0 == "Azura"
{
res_reference0 = reference0
{
//"\1\s[10]Who're you?\w3 What's up with wings?\w3\0\s[0]\f[height,8]\f[italic,true]The\f[italic,false] wings\w2, Misha\w2.\f[height,false]\e"
//"\1\s[10]Your name's Azura, huh?\w4\0\s[0]Isn\w2't that a type of blue\w2.\w2.\w2.\w2?\e"
//"\1\s[10]Hey 'Zura.\w4\0\s[0]...Mishka\w2, you don\w2't know her yet\w2.\e"
"\0\s[4]Mmn\w2.\w3.\w3.\w6\1\s[10]What's wrong?\w4\0\s[3]...\f[height,8]she's looking at me\w2.\w2.\w2.\f[height,false]\e"
Expand All @@ -49,23 +91,34 @@ ReplyToGhost
{
res_reference0 = reference0
{
"\0\s[0]Hi Vadik!!! When did you get here?!\w4 \1\s[10]Like, seriously. But hey, my two favorite people! How's it going?\e"
"\1\s[16]So we're all stuck here together...\e"
}
}
elseif reference0 == "CheeryBot"
{
res_reference0 = reference0
res_reference0 = ""
{
"\0\s[0]Oh hey\w2, finally someone who can actually *be* Vanya\w2's support group\w2.\w6\1\s[10]I have never been his support group please stop that.\w6\0\s[0]Sure you aren\w2't\w2.\e"
"\1\s[10]I'm more surprised that cheery would have gotten dialogue for us, than anything.\e"
//"\0\s[0]Oh hey\w2, finally someone who can actually *be* Vanya\w2's support group\w2.\w6\1\s[19]I have never been his support group please stop that.\w6\0\s[8]Sure you aren\w2't\w2.\e"
}
}
elseif reference0 == "Temmie"
{
res_reference0 = ""
"\0\s[0]Can I pet you...?\e"
}
else
{
res_reference0 = reference0
{
if _AlreadyTalked == 0
{ _AlreadyTalked = 1; res_reference0 = reference0; "\1\s[10]Hm? Want something, %(res_reference0)?\e"
}
else { _AlreadyTalked = 0; res_reference0 = ""
"\1\s[10]\w6... guess that's all.\e"
}
/*{
//"\0\s[0]%(res_reference0).\w8\1\s[10]Odd thing to say.\e"

"\1\s[10]Hi, %(res_reference0).\e"
}
}*/
}
}
81 changes: 81 additions & 0 deletions ghost/master/pm_etc.dic
Expand Up @@ -5,7 +5,23 @@
//I will reiterate that you should be editing these in Notepad++, and in particular, you should set the Language to C (or Java I guess) to properly highlight all the text. It will make things A LOT EASIER for you, trust me! It will also help you keep track of your brackets in case you forget some. If you click on a line with a bracket in Notepad++, it should highlight where the other bracket ends, or turn purple if there's no finishing bracket (which you should definitely fix!)
//It will also highlight my commented lines in green, so you'll know where they are. Any line beginning with // is a commented line that the code will not read. It's just for your reference!

Pool
{
_output = IARRAY
if TOINT(_argv[1]) //If the check that was sent in is true
{
_targetarray = IARRAY
EVAL("_targetarray = %(_argv[0])") //Get the dialogues within the pool that was requested
foreach _targetarray; _dialogue
{
_output ,= _dialogue //Add each dialogue to the output array
}
}
_output
}

//this isnt technically a disclaimer (yet) but it *is* important.
//not fucking rewording it this time. if i get my files back i'll merge the two.
OnDisclaimer
{
"\1\s[16]\b2\_qHey, question? This is important.\nCan you mess with these for me a second?\nRemember: you can change this in Pasha's config menu later.\0\s[9]\b2\n"
Expand Down Expand Up @@ -700,4 +716,69 @@ OnCreepyText
}

"%(_display)"
}

//rss search function for the cnadle lighting + havdalah times!!
//i love you zi
//so, technically i believe this would still fall under the no work rule if you tried to open them...? there's not much i can do other than direct the user to some other ghost. just leave a note saying about when they'll be back, or something.
//geonameid=000000
//620214 belarus my beloved
//zip=00000
OnSearchShabbat
{
"\![execute,rss-get,https://www.hebcal.com/shabbat?cfg=r&geonameid=4619800&b=18&M=on&lg=s&pubDate=0,--async=OnGetShabbat,--file=shabbat.txt,--timeout=2000]"
}

OnGetShabbat
{
//shabbat[0] will be the candle lighting time, formatted as ##:##
//shabbat[1] will be the Havdalah time, formatted as ##:##

shabbat = IARRAY //Clears the shabbat array so we start with a clean slate

_i = FOPEN('var/shabbat.txt','r') //Opens the file from the rss-get so we can read it
--
_buff = ""
for _buff = FREAD('var/shabbat.txt'); _buff != -1; _buff = FREAD('var/shabbat.txt') //This loop reads each line of the file until it reaches the end. _buff is the current line of the file
{
if RE_SEARCH(_buff,'<title>Candle lighting: ((\d?\d):(\d\d))pm') //Regex search for the candle lighting time
{
shabbat[0] = RE_GETSTR[1] //Sets
against[0] = RE_GETSTR[2] //second section
against[1] = RE_GETSTR[3] //third
}
if RE_SEARCH(_buff,'<title>Havdalah: ((\d?\d):(\d\d))pm') //Regex search for the Havdalah time
{
shabbat[1] = RE_GETSTR[1]
against[2] = RE_GETSTR[2]
against[3] = RE_GETSTR[3]
}
}
--
_i = FCLOSE('var/shabbat.txt') //Closes the file since we're done
--
if shabbat == IARRAY //If the array is still empty, something must have gone wrong
{
"\_qCouldn't read file.\x"
}
else //If the search was successful - You can put whatever you want in the display, or skip the display altogether
//i need this part -- specifically to check agaisnt it. basically if your clock is anytime in between the candle lighting and havdalah, they won't show up. for hanukkah the time is just like... when the candles are lit. not sure if they'd be fine to show up then...? maybe.
// . . .
//hour returns in 24h time. (?? or is it 12 they're confusing somehow). but... hm. if the minute is the same...
//againsthour = shabbat[0] + 12
//no... i need the minutes, don't i...? how do...
//if i set the second part as, say, againstminute, i can just check like: if hour >= againsthour && minute >= agaisntminute
{
"\_q\b[2]Result:\n\nCandle lighting: %(shabbat[0])pm\nHavdalah: %(shabbat[1])pm\ncurrent time: %hour:%minute\w8\w8\![*]\q[raise,OnAgainstMath]\x"
}
}
OnAgainstMath
{
if against[0] != TOINT(against[0]); {against[0] = TOINT(against[0])}; else {}
if against[1] != TOINT(against[1]); {against[1] = TOINT(against[1])}; else {}
if against[2] != TOINT(against[2]); {against[2] = TOINT(against[2])}; else {}
if against[3] != TOINT(against[3]); {against[3] = TOINT(against[3])}; else {}
--
against[0] += 12; against[2] += 12
"%(against)\x"
}

0 comments on commit a4dc02f

Please sign in to comment.