Template:Story: Difference between revisions

1,764 bytes added ,  22 days ago
m
no edit summary
(new page; WIP)
 
mNo edit summary
 
(25 intermediate revisions by the same user not shown)
Line 1:
<includeonly><templatestyles src="MomoTalkstory/style.css" /><div class="momotalkstory-container">
<table class="momotalkstory-table">
<div class="momotalk-top"><span class="momotalk-logo-text">MomoTalk</span><span class="momotalk-close">✕</span></div>
<table class="momotalk-table">
{{#fornumargs: index | value
|{{#switch:{{#var: value}}
|sensei=<tr {{#if:{{{ group{{#var:index}}|}}}|class="momotalkstory-student-option-{{{ group{{#var:index}} | }}}-{{{ option{{#var:index}} }}}"}}><td></td><td><div class="momotalkstory-sensei-line-container"><div class{{=}}"momotalkstory-sensei-line">{{{ text{{#var:index}} }}}</div></div></td></tr>
|student-text=<tr {{#if:{{{ group{{#var:index}}|}}}|class="momotalkstory-student-option-{{{ group{{#var:index}} | }}}-{{{ option{{#var:index}} }}}"}}>{{#if: {{{ profilespine{{#var:index}}| }}} | <td class{{=}}"momotalkstory-profile-picture">[[File:{{Story/Portrait|{{{ profileportrait{{#var:index}}| }}}.png|58px]]{{{ sequence{{#var:index}} }}}}}</td> | <td></td> }}<!--
--><td>{{#if: {{{ name{{#var:index}}| }}} | <div class{{=}}"momotalkstory-student-name">{{{ name{{#var:index}}| }}}<span class{{=}}"story-student-affiliation">{{{ affiliation{{#var:index}} | }}}</span></div> |}} <div class{{=}}"momotalkstory-student-line-container"><div class{{=}}"momotalkstory-student-line">{{{ text{{#var:index}} }}}</div></div></td></tr>
|replyno-speaker=<tr><td></td><td><div {{#if:{{{ group{{#var:index}}|}}}|idclass="momotalkstory-senseistudent-option-group-{{{ group{{#var:index}} | }}}"-{{{ option{{#var:index}} class="momotalk-reply-container}}}"}}><div class="momotalk-reply-header"td>Reply</div><hrtd><!--
--><td><div class{{#loop:option_i | 1 | 4 |=}}"story-student-name">???<span class{{#if:=}}"story-student-affiliation">{{{ optionaffiliation{{#var:index}}_{{#var:option_i}} | }}}</span></div><div | class{{=}}"story-student-line-container"><div class{{=}}"momotalkstory-replystudent-optionline">{{{ optiontext{{#var:index}}_{{#var:option_i}} }}}</div> | }} }}<!--/div></td></tr>
|reply=<tr><td></td><td><div {{#if:{{{ group{{#var:index}}|}}}|id="story-sensei-option-group-{{{ group{{#var:index}} | }}}"}} class="story-reply-container"><div class="story-reply-header">Reply</div><hr><!--
-->{{#loop:option_i | 1 | 4 | {{#if:{{{ option{{#var:index}}_{{#var:option_i}} | }}} | <div class="story-reply-option">{{{ option{{#var:index}}_{{#var:option_i}} }}}</div> | }} }}<!--
--></div></td></tr>
|relationshipbackground=<tr><td></td><td><div class{{=}}"momotalkstory-relationshipbackground-storyimage-container"><div class="momotalk-relationship-story-header">Relationship Event</div><hr><div class="momotalk-relationship-story-option">To [[File:{{{ namebackground{{#var:index}} }}}'s Relationship Story</div>.jpg|class=story-background-image]]</div></td></tr>
|student-imagebgm=<tr><td></td><td><div class="story-bgm-container">{{#if: audio|src={{{ profilebgm{{#var:index}}| }}}.ogg|name=BGM: {{{ name{{#var:index}} | <td{{{ classbgm{{=#var:index}}"momotalk-profile-picture">[[File }}} }}}|group=BGM|loop=true|volume={{#expr: 0.25 * {{{ profilevolume{{#var:index}} | 1 }}}.png|58px]]}} }}</tddiv> | </td></tdtr> }}<!--
|bgm-stop=<tr><td></td><td>{{audio/pause|group=BGM|name=BGM stops}}</td></tr>
--><td>{{#if: {{{ name{{#var:index}}| }}} | <div class{{=}}"momotalk-student-name">{{{ name{{#var:index}}| }}}</div> |}} <div class{{=}}"momotalk-student-line-container">[[File:{{{ file{{#var:index}} }}}.png|class=momotalk-image]]</div></td></tr>
|info=<tr><td></td><td><div class="story-info-container">{{{ text{{#var:index}} }}} {{#if:{{{ sound{{#var:index}} | }}} | [[File:{{{ sound{{#var:index}} }}}.wav|30px]] | }} </div></td></tr>
|sound=<tr><td></td><td>{{Audio/small|src={{{ sound{{#var:index}} }}}.wav|name=Sound effect: {{{ name{{#var:index}} |}}}}}</td></tr>
|screen=<tr><td></td><td>{{{ content{{#var:index}} }}}</td></tr>
}}
}}
</table>
</div></includeonly><noinclude>WIPTODO:
#BGM
#*Keep updating [[Template:Audio]]
#Background
#*Memorial lobby currently unavailable. https://github.com/respectZ/blue-archive-viewer
#Emoticon
#*Figure out what to do with them. Some (e.g. twinkle, anxiety) will require putting together an emoticon from png images. They also have different sizes which will make it difficult to fit into text.
#Portrait/spine
#*Handle scenes with multiple spines (e.g. I've got Hoshino! Now if she'd just wake up!). They should only have one portrait but multiple spines.
#*Create sprite sheets for portraits. Use lazyloading on full spines in case the user wants to see them (also updates file usage on the file). Alternatively, just use JS to add them if the user requests full spines: lazyloading may not work in MW.
#*Handle unavailable portraits (use placeholder/wait for esheep)
#*Click portrait to toggle that spine.
#*Click a button to show all spine for those who are interested; other buttons to toggle different things (BGM, cutscenes, etc.)
#Handle more scripts
#*Shake is good; movement maybe?
#*<code>#na;</code> sometimes has a speaker; done?
#Mobile/small screen compatibility check. Character affiliation might be too long to fit.
</noinclude>