Memorial: Difference between revisions
From CC Wiki
Jump to navigationJump to search
Petthepetra (talk | contribs) (first draft) |
Petthepetra (talk | contribs) (more detail) |
||
Line 1: | Line 1: | ||
[[File:Memorial.png|thumb|The Memorial object as it appears in Celeste Classic]] | ''also known as "message" in the codebase''[[File:Memorial.png|thumb|The Memorial object as it appears in Celeste Classic]] | ||
The Memorial is an object first introduced in [[Celeste Classic]] that displays text when the player stands in front of it. | The Memorial is an object first introduced in [[Celeste Classic]] that displays text when the player stands in front of it. | ||
While the text of the memorial can be modified, in the original game it reads as follows:<blockquote>-- celeste mountain -- | |||
this memorial to those | |||
perished on the climb</blockquote> | |||
== Technical info == | |||
The text of the memorial is stored within the string variable <code>this.text</code>, which is initialized and parsed during the draw function. Any hash characters are converted into line breaks. | |||
The object iterates through the string at a rate of 0.5 chars/frame, playing sfx 35 once a new character is reached. | |||
== Original code == | |||
<pre> | |||
message={ | |||
tile=86, | |||
last=0, | |||
draw=function(this) | |||
this.text="-- celeste mountain --#this memorial to those# perished on the climb" | |||
if this.check(player,4,0) then | |||
if this.index<#this.text then | |||
this.index+=0.5 | |||
if this.index>=this.last+1 then | |||
this.last+=1 | |||
sfx(35) | |||
end | |||
end | |||
this.off={x=8,y=96} | |||
for i=1,this.index do | |||
if sub(this.text,i,i)~="#" then | |||
rectfill(this.off.x-2,this.off.y-2,this.off.x+7,this.off.y+6 ,7) | |||
print(sub(this.text,i,i),this.off.x,this.off.y,0) | |||
this.off.x+=5 | |||
else | |||
this.off.x=8 | |||
this.off.y+=7 | |||
end | |||
end | |||
else | |||
this.index=0 | |||
this.last=0 | |||
end | |||
end | |||
} | |||
add(types,message) | |||
</pre> | |||
[[Category:Mechanics]] | [[Category:Mechanics]] |
Revision as of 22:43, 5 January 2024
also known as "message" in the codebase
The Memorial is an object first introduced in Celeste Classic that displays text when the player stands in front of it.
While the text of the memorial can be modified, in the original game it reads as follows:
-- celeste mountain --
this memorial to those
perished on the climb
Technical info
The text of the memorial is stored within the string variable this.text
, which is initialized and parsed during the draw function. Any hash characters are converted into line breaks.
The object iterates through the string at a rate of 0.5 chars/frame, playing sfx 35 once a new character is reached.
Original code
message={ tile=86, last=0, draw=function(this) this.text="-- celeste mountain --#this memorial to those# perished on the climb" if this.check(player,4,0) then if this.index<#this.text then this.index+=0.5 if this.index>=this.last+1 then this.last+=1 sfx(35) end end this.off={x=8,y=96} for i=1,this.index do if sub(this.text,i,i)~="#" then rectfill(this.off.x-2,this.off.y-2,this.off.x+7,this.off.y+6 ,7) print(sub(this.text,i,i),this.off.x,this.off.y,0) this.off.x+=5 else this.off.x=8 this.off.y+=7 end end else this.index=0 this.last=0 end end } add(types,message)