Ascension of the Sylvan Cosmos-Chapter 407. Three Months Later.
Chapter 407 - 407. Three Months Later.
Liu Shu woke up from digesting the gains from the two . It had been a relatively short time since then, around 3 months. After she woke up, Liu Shu stretched her roots and wiggled her branches. 'Ugh~, so comfortable. I feel as if I've taken a big burden off my shoulders...'
As she expanded her root net, Liu Shu started to feel a strain since she had covered several thousand kilometers with it. Nevertheless, after the , that strain completely disappeared. 'Wah~, so refreshing. I feel as if I can NOM much more terrain with my root net!'
Liu Shu expanded her senses, and she chuckled. "Oho~, I already control everything on the East side of the Continent! So nice~. I guess I should cross the Wall Forest and go into the Celestial Lotus Empire's territory."
Before that, she checked the I-CARE network. "Hello, big sisters and little sisters!"
Prarya laughed and answered the fastest. "Oho~, our sleeping beauty has woken up? A bit more, and we might've started getting ideas of attacking you in your sleep and tickling your roots~."
Liu Shu harrumphed. "Bad, big sister! If you tickle me, I'll tickle you back!"
Liu Shu felt a gentle tickling feeling on her roots in Prarya's domain and heard her smug and playful voice. "Oh, really~? Are you sure you can resist this?"
"Hahahaha! S-Sister! Stop! Wah! It tickles! Stoooppp!"
The other World Trees joined the fun, and suddenly, Liu Shu began laughing without control as all the World Trees and Life Trees began tickling her.
"Oh no! Hahahah! Help! Mom! Helpp! Hahahahaha!"
People in the Golden Sap City looked as their World Tree began twisting slightly, her branches waving around, not knowing what to do with them. Some were slightly concerned, but seeing the smiling expression on the giant World Tree's face, all of them stopped worrying.
Tree laughed a bit and spoke softly. "Okay, children. Stop it already. We need to inform Liu Shu, right?"
The World Trees and Life Trees slowly stopped their mischievous attack. Fortuna spoke smilingly. "How was your sleep, Liu Shu? Do you feel better?"
Liu Shu answered, her voice still tingling with a hint of laughter. "Yeah! I have increased my Tier twice!"
Snow and many others were surprised. "Oh? How did you do that, Little Liu Shu?"
Unlike normal creatures, the World Trees and Life Trees knew that Liu Shu hated being worshiped, so everyone treated her like their little sister. After all, age-wise, Liu Shu was a little baby compared to most of them.
Only the World Tree in the Blooming Aether Swamp and a few scattered Life Trees were younger than Liu Shu.
Liu Shu answered happily. "I don't know! After I unlocked the new title, I !"
Lakeborn spoke softly. "New Title... It is very strong. We were surprised when we were affected by it."
Prarya agreed. "Indeed. It shows why our Little Liu Shu is our domain lord~."
"Domain Lord..." Liu Shu muttered. "It sounds... Powerful! Hehehe."
Snow spoke softly. "Liu Shu, while you were asleep, the Nexus seemed to have started moving again. During the last three months, they've been attacking both the Azure Rose Confederation's and the Celestial Lotus Empire's territory."
The Savage Land World Trees had been informed about world matters during the last months, so now they were all on the same page. Naturally, they chose Snow as their representative, and it was she who talked to Liu Shu in all their stead.
Liu Shu exclaimed. "Wah! Why is that? Weren't they still stabilizing their new territories?"
Fortuna coughed. "It happened right after you unlocked the , so... I think it is partly because of you. They are feeling pressure." </p><p> Prarya laughed. "Who wouldn't? With Little Liu Shu growing at her pace, everyone becomes scared silly each time she does something." </p><p> Liu Shu harrumphed. "I don't want to scare anyone..." </p><p> Fortuna chuckled. "You've already reached over 2000 meters tall, so even if you don't want to, you will scare everyone. Hahaha." </p><p> Snow asked, surprised. "Wait. Over 2000? My roots have yet to cross the Blooming Aether Swamp, so I can't see her figure yet." </p><p> Even other big sisters in the south talked. "Wow. Little Liu Shu, what kind of earth are you eating to grow so tall?" </p><p> "I am envious... I am Level 74 and still at 1200 meters..." </p><p> "Right? I am only 1300 meters tall." </p><p> Snow sighed. "Even I, who am the tallest of our sisters, am only 1450 meters tall. Little Liu Shu is just Level 58 and already so tall. I can't imagine how tall she will become once she reaches our Level." </p><p> "Well, big sisters, I'll go and see what to do~. Tangle with you later!" Then, she blinked and muttered. "Speaking of which... How many Experience Points have I accumulated? I haven't expended any for almost 2 years already." </p><p> Accumulated Experience: 974,009 </p><p> "Wow~. I almost have a million points! Level Up! Level Up!" </p><p> [Level Up!] x2 </p><p> [Aether +8, Physique +10, Anima +9, Willpower +11, Destiny +100] x2 </p><p> [Accessory Level Up!] x2 </p><p> [Aether +157, Physique +157, Anima +157, Willpower +157, Aether Mana Shards +16241, Phoer Body Shards +16241, Anima Energy Shards +16241] x2 </p><p> [<First Energy Cycle> Upgraded! Receiving stats!] </p> <div style="margin-top: 0px; margin-bottom: 10px; text-align: center;"> <div id="pf-1556-1"><script>window.pubfuturetag = window.pubfuturetag || [];window.pubfuturetag.push({unit: "62910880adf4e30027560830", id: "pf-1556-1"})</script></div> </div><p> [Aether +225, Physique +300, Anima +225, Willpower +300] </p><p> [<First Energy Cycle> Upgraded! Unlocking Potential!] </p><p> [Aether Resonance +9%, Physique Refinement +12%, Anima Affinity +9%] </p><p> [You've reached <Level 60>!] </p><p> "Hehe, great! Now, how much experience do I need for the next Level Up?] </p><p> Level: 60 [0/501,630] </p><p> Liu Shu's roots froze. "Half a million!?' </p><p> Liu Shu looked at her passive daily earnings of Experience Points, which were a lot compared to others. "I earn... 452 Experience Points daily. So, doing the math... I need 1,110 days to Level Up again. Over three years..." Liu Shu was dazed. "Woah... No wonder people take a lot of time to Level Up at higher levels. I earn a lot of passive Experience Points. So, hunting other high-level creatures is a much faster way to earn points." </p><p> Liu Shu sighed and focused her eyes on her Avatar. "... Eh?" </p><p> Her Avatar opened her eyes and then looked down. "Woah! My belly is big! Did I eat something bad?" She slowly stood up and almost lost her balance. "Ugh, so heavy." </p><p> Grabbing her protruding stomach with both her hands, Liu Shu revised the information in her mind and finally realized what was wrong with her Avatar. "Oh! I am pregnant!" Liu Shu giggled happily and looked at her big belly. "Hehehe~, a little baby is growing! I wonder what I will give birth to this time around? The other times, my belly didn't get this big!" </p><p> Sadly, she couldn't magically look into her belly, so every time she became pregnant, it was something to feel anticipation towards, making her hum happily. Still, as she caressed her big belly, Liu Shu sat slowly and leaned against the Core Room's walls. "Ha... Tired. Lazy. Ugh." </p><p> The <Avatar> body became completely limp from lack of energy from nourishing the baby. "I should call the Sylvans... I want them to pamper me..." </p><p> And, well, it didn't take long before she sent them the message, and they arrived. The four of them opened the Petal Door and smiled. Tempestria chuckled. "Did you... call... Eh?" </p><p> Their smiles froze when they saw their pretty girl's protruding belly. Liu Shu extended her arms and said spoiledly. "Hug..." </p><p> Verdantia reacted first and quickly approached, giving her a caring hug. "L-Liu'er, are you okay?" </p><p> Her face was sweating, knowing that once they were out of the <Core Room>, she was going to receive quite a beating from everyone. 'Ah... Impulses coming back to bite me in the roots! Accountability is frightening, I don't want it!' </p><p> She was both overjoyed to see Liu Shu like this and also a bit frightened. 'I am not ready to have Sylvan babies!' </p><p> Of course, they didn't know that Liu Shu always became slightly bloated when giving birth to the children she had already given birth to. Moreover, if it were a Sylvan baby, Liu Shu would not have shown such a large belly after only three months. A Sylvan's gestation period was longer than a human's! </p><p> Liu Shu rubbed her face against Verdantia's ample bosom. "I feel... Tired. This baby is taking more energy than usual from my <Avatar>..." </p><p> Cinderielle, Tempestria, and Harmonixia approached, surrounding the little girl between their arms and pampering her. Cinderielle smiled softly. "Do you need anything from us, love? Tell us, okay? You are carrying a precious child, after all." </p><p> Liu Shu yawned. "I need nothing~. I just need love, hugs, and pampering!" </p><p> The four of them felt their hearts melting with love. 'She is so cute~.' </p><p> For the next two hours, the four Sylvans pampered their beautiful World Tree, asking about her real body and hearing Liu Shu babble away. Her gorgeous, gentle, and innocent voice was a true treat for the ears. </p><p> After a little while, Verdantia spoke to Liu Shu. "Love, I've placed Elu in a prison cell. How do you want to deal with her?" </p><p> Liu Shu was half-asleep in Verdantia's arms, sniffing her scent pleasantly. Hearing her words, Liu Shu looked up dazedly and asked in a groggy voice. "Who is Elu?" </p><p> The four Sylvans almost choked to death. 'The woman who made you throw a tantrum! Can we remember important names, please!?' </p><p> Verdantia's lips twitched as she answered. "She is the woman who flirted with me." </p><p> Liu Shu's sleepy amethyst eyes regained light, and she frowned. "That stupid plant? I don't know what to do with it! Can't we kill her and be done with it?" </p><p> Tempestria passed her hand through Liu Shu's silky hair and spoke. "Love, come here." Liu Shu turned her head and crawled into her arms, nestling herself like a baby. Tempestria gently cradled her and kissed her nose. "Love, you must understand that Verdantia, Cinderielle, Harmonixia, and I are very attractive Sylvans. There will be inevitable cases of people falling in love with us, even when we are clearly your lovers." </p><p> Liu Shu nodded and asked. "You four are very pretty, so it is normal. What's wrong with that? Just kill everyone who attempts it. Eventually, no one will dare fall in love with you." </p> <div style="margin-top: 0px; margin-bottom: 10px; text-align: center;"> <div id="pf-878-1"><script>window.pubfuturetag = window.pubfuturetag || [];window.pubfuturetag.push({unit: "618befb240ce5b0028261626", id: "pf-878-1"})</script></div> </div> <p> Tempestria smiled. "Yes. But no one will dare speak with us as well." </p><p> Confused, the Avatar raised her head. "Why? You are all so pretty!" </p><p> Harmonixia laughed. "You are so cute, Lian'er." </p><p> Tempestria clarified while Liu Shu smiled happily at the compliment. "People will be fearful that their words will be considered flirting. Therefore, they will not speak to us. I am not against killing everyone who makes you uncomfortable. However, if you do that, we won't be able to become leading figures in your domain. Therefore, how about a light punishment instead? Big enough for people not to dare, but soft enough for people not to be scared. Like an annoying punishment." </p><p> Liu Shu blinked. "One hundred years of imprisonment?" </p><p> The four Sylvans choked on their own saliva. "Cough, cough. That's a bit harsher than annoying..." </p><p> Liu Shu hummed. "How about... working in the barn for a hundred years?" </p><p> "Let's forget about the hundred years." Cinderielle smiled wryly. </p><p> Harmonixia commented. "That's quite a good one, though. The amount of time is the only problem. So, how about a month working in the barn? If you are innocent, you will be somewhat annoyed. However, it is not something that will end your life or career. If you are guilty and a repeat offender, everyone will know you are trying to flirt with us, and we can up the punishment." </p><p> Verdantia and the others nodded. "Indeed. It's decided then." </p><p> Tempestria commented. "We need to tell Flor and the others that Liu Shu is about to give birth to a relatively strong child, though. What do you think it is, Liu Shu?" </p><p> Not hearing an answer, Tempestria looked down and saw Liu Shu's sleeping face. Her heart almost exploded from the cuteness. 'Ah... Pregnant Liu Shu is so cute!'</p></div> <!--bidgear--> <script async data-cfasync="false" src="https://platform.pubadx.one/pubadx-ad.js" type="text/javascript"></script> <div style="margin-top: 10px; margin-bottom: 0px; text-align: center;"> <div id="bg-ssp-10016"> <script data-cfasync="false"> var adx_id_10016 = document.getElementById('bg-ssp-10016'); adx_id_10016.id = 'bg-ssp-10016-' + Math.floor(Math.random() * Date.now()); window.pubadxtag = window.pubadxtag || []; window.pubadxtag.push({zoneid: 10016, id: adx_id_10016.id, wu: window.location.href}) </script> </div> </div> <!--bidgear end--> <!--<div style="margin-top: 0px; margin-bottom: 0px; text-align: center;">--> <!--<div id="pf-1448-1"><script>window.pubfuturetag = window.pubfuturetag || [];window.pubfuturetag.push({unit: "6282088417d0810027b05464", id: "pf-1448-1"})</script></div>--> <!--</div>--> </div> <div class="chapter-end"></div> <ul class="ul-list7"> <li> <a href="/novel/ascension-of-the-sylvan-cosmos/chapter-406" id="prev_url" title="Read Privious Chapter"><span class="glyphicon glyphicon-chevron-left"></span>Prev Chapter</a> </li> <li> <a href="javascript:;" class="a1"><span class="glyphicon glyphicon-list-alt"></span></a> <div class="catalog"> <select onchange="location.href=options[selectedIndex].value"> </select> </div> </li> <li class="next"> <a href="/novel/ascension-of-the-sylvan-cosmos" id="next_url">Next Chapter<span class="glyphicon glyphicon-chevron-right"></span></a> </li> </ul> <div class="text-center" style="text-align:center"> <a href="javascript:;" class="library set-case" data-articleid="6075" data-chapterid="407"><span class="glyphicon glyphicon-plus"></span> Add to Library</a> <a href="javascript:;" class="showcomment"><span class="glyphicon glyphicon-comment"></span> <span id="total-tomm2">0</span> Comments</a> </div> <p class="tips">Use arrow keys (or A / D) to PREV/NEXT chapter</p> <div id="e-comments" class="m-newest3" style="display: none;margin-bottom: 1em"> <div class="m-newest3"> <div class="g-tit"> <h3 class="tit" style="text-align:left;margin: 0;"><span class="text-align: left; glyphicon glyphicon-comment"></span> Comments</h3> </div> <div class="flex-col" style="gap: 8px;padding: 1em"> <div class="flex-col comment-box" style="align-items: end;gap: 8px;"> <!-- Edit box --> <textarea placeholder="Share your thoughts." class="e-edit comm-inp" id = 'comm-text' rows="5"></textarea> <!-- Submit Button --> <button type="button" class="e-show-more comm-btn comment-submit"><span class="glyphicon glyphicon-circle-arrow-up"></span> Submit</button> </div> <!-- Best and Newest --> <div class="flex-row justify-end color2" style="gap: 8px;align-items: stretch;"> <div class="flex-row f16" style="flex-grow: 1;font-weight: bold;align-items: center;"> <span><span id="total-tomm">0</span> Comments</span> </div> <div class="flex-row e-label order-box" data-sort="best" style="align-items: center;">Best</div> <div class="flex-row e-label order-box selected" data-sort="newest" style="align-items: center;">Newest</div> </div> <div class="flex-col e-comment-list align-center" style="gap: 1em"> <div class="comment-list w100"> </div> <button type="button" class="e-show-more f14 pointer load-comment"> <span class="glyphicon glyphicon-plus-sign load-icon"></span> <span class="btn-text">Load More Comments</span> </button> </div> </div> </div> <script> let page = 1; let articleid = 6075; let chapterid = 0; $(function(){ $('body').on("click",".reply-btn",function(){ if($(this).parent().parent().find(".flex-col").is(":visible")){ $(this).parent().parent().find(".flex-col").hide(200) }else{ $(this).parent().parent().find(".flex-col").show(200) } }) if(localStorage.comment_cache){ $('#comm-text').val(localStorage.comment_cache); } let defContent = '<span class="glyphicon glyphicon-circle-arrow-up"></span> Submit'; let comment_submit = false; $('body').on('click','.comment-submit',function(){ if(comment_submit){ return } $(this).html('<span class="glyphicon glyphicon-refresh spin"></span> Sending...'); let that = $(this); comment_submit = true; submitComm(this,function(){ comment_submit = false; that.html(defContent); }); }) function submitComm(e,after){ var pid = 0; var ppid = 0; let content = ''; let pUserUid = 0; if($(e).is('.child')){ pid = $(e).attr('data-pid')*1; if(pid == 0) { alert('pid is empty!') if(after != null) { after() } return } ppid = $(e).attr('data-ppid')*1; if(ppid == 0) { alert('ppid is empty!') if(after != null) { after() } return } content = $(e).parent().find('.comm-text').val(); }else{ content = $('#comm-text').val(); } pUserUid = $(e).attr('data-puserid')*1; if(pUserUid == 0) { alert('puserId is empty!') if(after != null) { after() } return } if(content == '') { alert('comment is empty!') if(after != null) { after() } return } localStorage.comment_cache = content; let that = $(e); $.ajax({ type: "post", url: '/api/comments.php', async:true, data: { pid:pid, ppid:ppid, p_user_uid:pUserUid, action:'add', articleid:articleid, chapterid:chapterid, content:content }, xhrFields: { withCredentials: true }, crossDomain: true, dataType: "json", success: function(res) { if(res.code == 403) { window.location.replace('/login'); return } if (res.code == 0) { $('#comm-text').val(''); getList(true); }else{ alert(res.msg) } if(after != null) { after() } localStorage.comment_cache = ''; }, error: function(){ if(after != null) { after() } localStorage.comment_cache = ''; } }) } let agree_ing = false; $('.comment-list').on('click','.agree-click',function(){ if(agree_ing){ return } agree_ing = true; let commid = $(this).attr('data-commid'); if(commid <= 0) { alert('commid is empty!') agree_ing = false; return } let articleid = $(this).attr('data-articleid'); if(articleid <= 0) { alert('articleid is empty!') agree_ing = false; return } let isOn = true; let action = 'addArgee'; if($(this).find('.glyphicon').is('.glyphicon-heart')) { isOn = false; action = 'delArgee'; } let that = $(this); $.ajax({ type: "post", url: '/api/comments.php', data: { action:action, commid:commid, articleid:articleid }, xhrFields: { withCredentials: true }, crossDomain: true, dataType: "json", success: function(res) { if(res.code == 403) { window.location.replace('/login'); return } if (res.code == 0) { if(isOn){ that.find('.glyphicon').addClass('glyphicon-heart') that.find('.glyphicon').removeClass('glyphicon-thumbs-up') that.find('.argee_num').html(that.find('.argee_num').html()*1 + 1) }else{ that.find('.glyphicon').addClass('glyphicon-thumbs-up') that.find('.glyphicon').removeClass('glyphicon-heart') that.find('.argee_num').html(that.find('.argee_num').html()*1 - 1) } }else{ alert(res.msg) } agree_ing = false; }, error: function(){ agree_ing = false; } }) }) $('.comment-list').on('click','#delbut',function(){ var res = confirm('Do you want to remove this comment?'); if (!res) { return } if($(this).is('.run_ing')){ return } $(this).addClass('run_ing'); let commid = $(this).attr('data-commid'); if(commid <= 0) { alert('commid is empty!') return } let articleid = $(this).attr('data-articleid'); if(articleid <= 0) { alert('articleid is empty!') return } let that = $(this); $.ajax({ type: "post", url: '/api/comments.php', data: { action:'del', commid:commid, articleid:articleid }, xhrFields: { withCredentials: true }, crossDomain: true, dataType: "json", success: function(res) { that.removeClass('run_ing'); if(res.code == 403) { window.location.replace('/login'); return } if (res.code == 0) { getList(true); }else{ alert(res.msg) } }, error: function(){ that.removeClass('run_ing'); } }) }) let orderIng = false; $('.order-box').click(function(){ if(orderIng){ return } orderIng = true let boxs = document.querySelectorAll('.order-box') for(const box of boxs) { if (box === this) { box.classList.add('selected') }else { box.classList.remove('selected') } } let od = $(this).attr('data-sort'); this.classList.add('selected'); getList(true,od); orderIng = false; }) $('.vcode').click(function(){ $('.vcode').attr('src',"/api/vcode.php?t="+Math.random()); }) $('.load-comment').click(function(){ if($(this).hasClass('btn-loading') || $(this).hasClass('loaded-all')) { return; } getList(); }) let firstLoad = false; $('.showcomment').click(function(){ let container = document.querySelector('#e-comments') if(!container)return; if (container.style.display === "none") { if(!firstLoad) { firstLoad = true getList(); } container.style.display = ""; } else { container.style.display = "none"; } }) getcount(); }) function getcount() { $.ajax({ type: "post", url: '/api/comments.php', data: { action:'count', articleid:articleid, chapterid:chapterid, }, xhrFields: { withCredentials: true }, crossDomain: true, dataType: "json", success: function(res) { if(res.code == 403) { window.location.replace('/login'); return; } if (res.code == 0) { $('#total-tomm').html(res.data.total); $('#total-tomm2').html(res.data.total); } else { alert(res.msg); $btnText.text('Load More Comments'); } }, error: function(){ } }); } function getList(reLoad, order) { var $btn = $('.load-comment'); var $btnText = $btn.find('.btn-text'); if(reLoad !== true) { $btn.addClass('btn-loading').prop('disabled', true); $btn.find('.load-icon').removeClass('glyphicon-plus-sign').addClass('glyphicon-refresh spin'); $btnText.text('Loading...'); } if(reLoad === true){ page = 1; } $.ajax({ type: "post", url: '/api/comments.php', data: { action:'list', articleid:articleid, chapterid:chapterid, order:order, page:page }, xhrFields: { withCredentials: true }, crossDomain: true, dataType: "json", success: function(res) { $btn.removeClass('btn-loading').prop('disabled', false); $btn.find('.load-icon').removeClass('glyphicon-refresh spin').addClass('glyphicon-plus-sign'); if(res.code == 403) { window.location.replace('/login'); return; } if (res.code == 0) { page++; if(reLoad === true){ $('.comment-list').html(''); } res.data.data_list.forEach(function(v,i){ let con = getCommLi({ uid:v.user_info.uid, userName:v.user_info.nickname, headPic:v.user_info.picture, content:v.content, addTime:v.created_at, agree:v.agree, myAagree:v.my_agree, atricleid:v.article_id, commid:v.id, child:v.child, }); $('.comment-list').append(con); }); // 新增判断:如果总评论数不超过一页数量,或者已经加载完且只有一页 if(res.data.total <= res.data.data_list.length || (res.data.is_end && page <= 2)) { $btn.hide(); // 直接隐藏整个按钮 } else if(res.data.is_end) { $btn.show() .find('.load-icon').removeClass('glyphicon-plus-sign').addClass('glyphicon-ok'); $btnText.text('All Comments Loaded'); $btn.addClass('loaded-all'); } else { $btn.show() .find('.load-icon').removeClass('glyphicon-ok').addClass('glyphicon-plus-sign'); $btnText.text('Load More Comments'); $btn.removeClass('loaded-all'); } $('#total-tomm').html(res.data.total); $('#total-tomm2').html(res.data.total); } else { alert(res.msg); $btnText.text('Load More Comments'); } }, error: function(){ $btn.removeClass('btn-loading').prop('disabled', false) .find('.load-icon').removeClass('glyphicon-refresh spin').addClass('glyphicon-plus-sign'); $btn.find('.btn-text').text('Load More Comments'); alert('Failed to load comments. Please try again.'); } }); } function getCommLi(opt){ let uid = opt['uid']; let child = opt['child']; let userName = opt['userName']; let headPic = opt['headPic']; let content = opt['content']; let addTime = opt['addTime']; let agree = opt['agree']; let myAagree = opt['myAagree']; let articleId = opt['atricleid']; let commId = opt['commid']; let nowUid = 0; let agOn = ' <span class="glyphicon glyphicon-thumbs-up"></span>'; if(myAagree){ agOn = '<span class="glyphicon glyphicon-heart"></span>'; } let del = `<button class="e-reply flex-center color3 delate" id="delbut" data-articleid="`+articleId+`" data-commid="`+commId+`"><span class="glyphicon glyphicon-trash" style="top: 0"></span></button>`; if(uid != nowUid) { del = ''; } let showAll = `<button class="e-show-more-re" id="showButton" onclick="showMoreReplies(this)"><span class="glyphicon glyphicon-eye-open"></span> Show More Replies</button> <button class="e-show-more-re" style="display:none;" id="showButton" onclick="showMoreReplies(this)"><span class="glyphicon glyphicon-eye-close"></span> Close Replies</button>` if(child == null || child.length <= 1) { showAll = ''; } let childHtml = ''; if (child != null && child.length >0) { child.forEach(function(v,i){ var childAgOn = ' <span class="glyphicon glyphicon-thumbs-up"></span>'; if(v.my_agree){ childAgOn = '<span class="glyphicon glyphicon-heart"></span>'; } var attr = 'id="reply-item" style="display: none;"'; if (i == 0) { attr = ''; } let childDel = `<button class="e-reply flex-center color3 delate" id="delbut" data-articleid="`+v.article_id+`" data-commid="`+v.id+`"> <span class="glyphicon glyphicon-trash" style="top: 0"></span> </button>`; if(v.user_info.uid != nowUid) { childDel = ''; } childHtml += ` <div class="flex-row e-comment-item" `+attr+`> <img class="e-avatar" src="`+v.user_info.picture+`" alt=""> <div class="flex-col" style="flex-grow: 1;gap: 8px;"> <div class="flex-row justify-between e-username"> <span class="color1" style="flex-shrink: 1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"> <span style="flex-shrink: 1">`+v.user_info.nickname+`</span> <span style="flex-shrink: 1" class="color3 glyphicon glyphicon-share-alt"></span> <span style="flex-shrink: 1" class="color3">`+v.p_user_info.nickname+`</span> </span> <div class="color2 f14 main-color-hs agree-click" data-articleid="`+v.article_id+`" data-commid="`+v.id+`"> `+childAgOn+` <span class="argee_num">`+v.agree+`</span> </div> </div> <div class="e-comment">`+v.content+`</div> <div class="flex-row justify-between"> <div class="color3 f14">`+v.created_at+`</div> `+childDel+` <div style="flex-grow: 1"></div> <button class="e-reply reply-btn" onclick="if (!window.__cfRLUnblockHandlers) return false; switchDisplayNone(this)"> <span class="glyphicon glyphicon-comment"></span> Reply </button> </div> <div class="flex-col" style="align-items: end; gap: 8px; display: none;"> <textarea placeholder="Share your thoughts." class="e-edit comm-text" rows="5"></textarea> <button class="e-show-more comment-submit child" data-puserid="`+v.user_info.uid +`" data-pid="`+v.id +`" data-ppid="`+v.ppid +`"><span class="glyphicon glyphicon-circle-arrow-up"></span> Submit</button> </div> </div> </div>`; }) } if(childHtml != '') { childHtml += showAll; } let commHtml = `<div class="flex-col e-border-bottom w100"> <div class="flex-row e-comment-item w100"> <img class="e-avatar" src="`+headPic+`" alt=""> <div class="flex-col" style="flex-grow: 1;gap: 8px;width:calc(100% - 48px"> <!-- 用户名 and 点赞 --> <div class="flex-row justify-between e-username"> <span class="color1">`+userName+`</span> <div class="color2 f14 main-color-hs agree-click" data-articleid="`+articleId+`" data-commid="`+commId+`"> `+agOn+` <span class="argee_num">`+agree+`</span> </div> </div> <div class="e-comment w100">`+content+`</div> <div class="flex-row justify-between"> <div class="color3 f14">`+addTime+`</div> `+del+` <div style="flex-grow: 1"></div> <button class="e-reply reply-btn" onclick="if (!window.__cfRLUnblockHandlers) return false; switchDisplayNone(this)"> <span class="glyphicon glyphicon-comment"></span> Reply </button> </div> <!-- textarea --> <div class="flex-col" style="align-items: end; gap: 8px; display: none;"> <textarea placeholder="Share your thoughts." class="e-edit comm-text" rows="5"></textarea> <button class="e-show-more comment-submit child" data-puserid="`+uid +`" data-pid="`+commId +`" data-ppid="`+commId +`"><span class="glyphicon glyphicon-circle-arrow-up"></span> Submit</button> </div> </div> </div> <div class="flex-col" style="padding-left: 1em;"> `+childHtml +` </div> </div>`; return commHtml; } function showMoreReplies(element) { let parent = element.parentElement; if (!parent) return; parent.querySelectorAll("& > #reply-item").forEach((item, index) => { if (item.style.display === "none") { item.style.display = ""; } else { item.style.display = "none"; } }); parent.querySelectorAll("& > #showButton").forEach((item, index) => { if (item.style.display === "none") { item.style.display = ""; } else { item.style.display = "none"; } }); } </script> </div> </div> </div> <!-- Floating Button --> <div class="float-container flex-row align-center speak-float-btn" style="display:none;"> <button class="control-btn flex-center glyphicon glyphicon-play speak-switch-fl" style="top: 0;vertical-align: baseline;"> </button> <button class="control-btn flex-center glyphicon glyphicon-stop speak-close-fl" style="top: 0;vertical-align: baseline;"> </button> </div> <a href="javascript:;" id="goTop"> <span class="glyphicon glyphicon-circle-arrow-up"></span> </a> </div> <script src="/static/novelbuddy/js/reader.js?v=1.25"></script> <script src="/static/novelbuddy/js/jquery.cookie.min.js"></script> <script src="/static/novelbuddy/js/speak.js?v=1.0.72"></script> <script src="/static/novelbuddy/js/bookcase.js?v=1.1.3"></script> <script> $('.ul-list7 li .a1').click(function() { $(this).stop().hide().siblings('.catalog').stop().show(); $.ajax({ type: "post", url: "/api/chapterlist.php", data: { aid: '6075', acode: 'ascension-of-the-sylvan-cosmos', cid: '407' }, success: function(data) { $('.catalog > select').html(data.html) }, dataType: "json" }) }); </script> <script> $(function() { // Define a configuration object const bookCaseConf = { attrArticleid:'data-articleid', attrChapterid:'data-chapterid', parentSelecter:'body', selecter:'.set-case', selectedClass:'.on', delUrl:'/api/delbookcase.php', addUrl:'/api/addbookcase.php', delCallback: function(e) { let htmlContent = `<span class="glyphicon glyphicon-plus"></span> Add to Library`; e.removeClass('on'); e.html(htmlContent); }, addCallback: function(e){ let htmlContent = `<span class="glyphicon glyphicon-ok"></span> In Library`; e.addClass('on'); e.html(htmlContent); }, } let bookCase = new BookCase(bookCaseConf) }) </script> <script> document.onkeydown = (event) => { // input or textarea if (event.target.nodeName === 'TEXTAREA' || event.target.nodeName === 'INPUT') return; if (event.keyCode == 65 || event.keyCode==37) window.location = document.querySelector('#prev_url').attributes.href.value; if (event.keyCode == 68 || event.keyCode==39) window.location = document.querySelector('#next_url').attributes.href.value; if (event.keyCode == 13) window.location = '/novel/ascension-of-the-sylvan-cosmos'; } </script> <div class="footer"> <div class="wp"> <div class="ll"> <a href="/home" title="Free Web Novel">novelbuddy.Com</a><br>Read Books Online & Free Novels Online </div> <div class="rr"> <a href="/contact" title="Contact us">Contact</a> - <a href="/sitemap.xml" title="Sitemap" target="_blank">Sitemap</a> <br><a href="/privacypolicy" title="Privacy Policy"> Privacy Policy</a> & <a href="/termsofuse" title="Terms of use"> Terms of use</a> </div> </div> </div> <!-- log in --> <div id="login" class="e-login-wrapper flex-row justify-center align-center" style="z-index: 1000;position: fixed;left: 0;top: 0;right: 0;bottom: 0;display: none"> <div class="flex-col e-login-container"> <div onclick="loginPopups()" class="flex-row color1 justify-end" style="position: absolute;top: 5%;right: 5%"> <span class="glyphicon glyphicon-remove" style="cursor: pointer;"></span> </div> <div class="flex-row color1 f24">Welcome to novelbuddy</div> <div class="color2" style="text-align: center;font-size: 16px;">Create or log into your account to access terrific novels and protect your data.</div> <div class="e-login-button" style="position:relative;"> <img style="position: absolute" src="/static/novelbuddy/images/Google.png" alt=""> <a href="/login"><div>Log in with Google</div></a> </div> <div style="text-align: center;"> <span class="color2">Don’t Have an account? Click above to create an account.</span> <!--<a href="#" style="color: var(--main-color)">Sign up with your email address.</a>--> </div> <div> <a href="/termsofuse" style="color: var(--main-color)">Terms of Service</a> <span>/</span> <a href="/privacypolicy" style="color: var(--main-color)">Privacy Policy</a> </div> </div> </div> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-1Z2JMDX1K4"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-1Z2JMDX1K4'); </script><script> // Login pop-up window function loginPopups() { let login = document.querySelector('#login') if (login.style.display !== 'none') login.style.display = 'none' else login.style.display = '' } </script> </body></html><div id="pf-1553-1"><script>window.pubfuturetag = window.pubfuturetag || [];window.pubfuturetag.push({unit: "6290aaf14b78ab002735e567", id: "pf-1553-1"})</script></div> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'94365cc0ff503610',t:'MTc0Nzg1NDUwNS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"94365cc0ff503610","version":"2025.4.0-1-g37f21b1","r":1,"token":"3dfd337b6d8847e985544a8c990b61b1","serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}}}' crossorigin="anonymous"></script>