©LightNovelPub
Ascension of the Sylvan Cosmos-Chapter 406. Conversations On All Sides.
Chapter 406 - 406. Conversations On All Sides.
The news about spread far and wide like a forest fire. It even crossed the ocean and reached the ears of top-level people on the continent. In the capital of the Celestial Lotus Empire, a gargantuan city that surrounded a mountain-sized white and pink lotus, a Sylvan with uncommon brown eyes and hair was looking at a document. Usually, Sylvans had colorful hair and eye colors, so having comparatively normal colors and close to human standards was considered unusual.
Still, that didn't reduce her beauty. The average beauty of Sylvans was, after all, relatively high. The reason was that facial features would be developed toward a female's perfected standard due to being a race of only female-like bodies.
This woman was Galia's most influential superior. She had sleek and naturally wavy brown hair, her strength having reached the .
"Ho~." After a soft exclamation of interest and placing down the scroll, the woman laughed faintly. "I sent little Galia thinking that she would have an easy time over there, but I greatly miscalculated that young World Tree's potential."
She tapped the table thoughtfully, her eyes glancing toward the colossal Lotus in the middle of the city. "What do you think, Lady Lotus? Should we send one to make sure no accidents occur?"
A voice as vast as the sky and profound as the ocean reached her, echoing in the room with incredible strength. "No. There is no need for that."
The woman blinked twice, confused. "Why not? She has the potential to grow tremendously."
"To grow beyond myself." Answered the Celestial Lotus without hesitation. "I've not yet become old enough to eagerly feed a World Tree that might surpass me in the future."
The powerful Sylvan laughed. "But you are old enough to let her grow by herself."
"... Indeed. Azure, Verdant, and I have already accepted that our strengths are too evenly matched. Whoever takes the first step will be the one to perish. Moreover, the Fifth Energy Cycle feels so far away."
The Sylvan sighed. "Indeed. The Fifth Energy Cycle is the benchmark that separates all creatures. Even World Trees can be stuck and never be able to evolve."
Her eyes analyzed the Celestial Lotus, and a mostly hidden information interface appeared.
***
Name: Celestial Lotus
Race: World Tree
Level: 99
Aether Mana Cores: ?????/?????
Phoer Body Cores: ????/????
Anima Energy Cores: ????/????
***
The woman's eyes flashed. 'Five unknown numbers? So, her Aether Mana Cores are over 10 thousand...'
The Celestial Lotus' voice reached her with a confused tone. "Why analyze me? You should already know that you can't see anything."
The woman blinked and smiled. "Well, I can guess some things from it. Regardless, have you heard what I spoke about in the last meeting? Little Galia thinks that we are being too laid back in our approach. The rest of the powers are preparing to eliminate us because they fear our control over Sylvans and other resources."
"Naive thinking." The Celestial Lotus stated. "That sapling doesn't have the ability to see beyond certain points. Tianlian Liu Shu's analysis is too superficial, which is normal since her information network is limited. Naeris, don't take everything that happens in the Wild Continent too seriously. Even if it ultimately falls into the Nexus' hands, it won't affect us much. The level and tier difference between continents is absolute. It's not something that can be pushed unless several generations pass."
Naeris leaned back on her chair and muttered. "Well, I guess you are right. Still, Lady Lotus, don't you think that the Nexus' insistence is a bit strange? The Wild Continent is located south, somewhat separated from most of the landmass here up North. Still, that separation is both a disadvantage and an advantage. As difficult as it is for them to reach us, reaching them is equally complicated. If the Nexus dominates the Wild Continent, taking back control would need too many resources."
She added. "We now have a very promising seedling that might take control over it. This would make us the third Global Power dominating more than one continent."
"You are too hasty." The Celestial Lotus spoke calmly. "Tianlian Liu Shu's growth is indeed fast. However, it will soon slow down. She is just a C Rank World Tree. Even if her potential is great, becoming powerful enough to dominate a Continent is not something she can do. Wait a century to see how things develop—"
"A century?" Naeris shook her head. "I'll wait two decades. Lady Lotus, let me continue paying attention. I feel that there might be a big surprise soon."
"If something really happens in twenty years, I'll listen to your words."
Naeris chuckled. "Lady Lotus, aren't you worried that the cities and World Trees in the will be overrun like the Covenant's?"
Celestial Lotus commented. "They are important. However, they are not essential. The thing that would sting us if we lost were the World Trees that had grown there. From what I know, there is a B- Rank World Tree, right?"
Naeris nodded. "Indeed..." Then, she smiled. "Well, that's enough for now. Sorry for disturbing your meditation, Lady Lotus."
"Hm." Celestial Lotus' presence retreated after the simple answer, leaving Naeris with her own thoughts.
In the , the forces of the Nexus were gathered on the recently conquered Covenant territory. Among all of them, two women sent from the main continent caught the eye of many. Evangeline glanced around the room and laughed, the tone ridiculing to the extreme. "She is not a threat! I am exaggerating! What can a World Tree do in ten years?... Those were your words, right?"
Vaelin, a human man leading one of the largest forces, spoke with a cold face. "Evangeline. If you've come here from our homeland just to mock us, I suggest you return to wherever you came from. You are not needed."
Evangeline laughed. "I am not needed. Of course. That's why I was almost threatened to come here and, well, do this." She snapped her fingers.
A woman started convulsing without any indications, and her limbs began twisting at strange angles. Foam and blood pooled in her throat and mouth, spilling out with gargling noises.
Twenty seconds later, the woman lay dead on the ground. Vaelin's face changed several times before he shouted at her. "Evangeline! Explain yourself!"
Evangeline's playful demeanor completely disappeared as she became cold and murderous. "You arrogant and miserable people are still underestimating the biggest threat to our plans that has appeared in centuries!"
BANG!
Evangeline slapped the table, and she snarled. "I don't care if you hate me with your guts because my mother was a World Tree! I don't even care what you think of my daughter. However, how dare you ignore the safety of the Nexus Void's victory?! It is slipping through your fingers, and instead of trying to clutch it and see what's causing it, you are all ignoring it and calling it an accident! Useless! All of you!"
Evangeline's burst came off as a surprise to almost everyone. The woman had always been impassive, cold, and sporting a smile that was there only to charm people into her deadly trap.
Vaelin looked at her coldly and spoke. "You are saying that you understood that Tianlian Liu Shu was going to grow into the threat that she is today? Even if you did, how? Tianlian Liu Shu is a C Rank World Tree. She was naturally superior to her birth area and surroundings. However, when playing with real powerhouses, she is nothing but an ant!"
Evangeline glared at Vaelin. "An ant!? You call her an ant!? What did ants do to this continent not that long ago!? What did ants do to the Azure Rose Confederation's secondary continent when they ignored them?! Liu Shu is an ant, of course she is. However, she is the freakish Humanoid Ant Queen."
Both of them were about to fight it out when another man's voice spread in the area. "Okay. Enough."
Vaelin looked at the man coldly. "Garrik, even if you are the strongest here, you have no right to preside over this meeting."
Garrik smiled mockingly. "Oh, then, do you have it? You've been taking the lead quite confidently after losing over 5000 ."
"That was Marlius' idiocy! If his brain was working at 10% capacity, he wouldn't have been stupid enough to fall to his death!" Vaelin looked around with contempt. "A bunch of cowards, scared of a being that can't even move! As long as we have the long-range support artillery, there is nothing to fear."
Garrik sighed. "You really want to use such a tactical secret to deal with a small World Tree. How about we reveal that when we face one of the Big Three World Trees?"
Vaelin looked at the extremely muscular man as if he were stupid. "Do you think that these weapons work on Continental Spanning World Trees? Their roots would discover us before we can even start discussing where to place them! The artillery we have has around 20 kilometers of effective range. It's well within the root range of the World Trees. Still, as long as we protect them on floating platforms, they can function twenty-four hours a day and deliver strikes that can heavily damage the World Tree. Branches above, our opponent is a stationary target!" novelbuddy.cσ๓
Evangeline shook her head once more. "Vaelin, they might have worked with the Covenant World Trees. But Tianlian Liu Shu is stronger. Now that she has reached the , we need a real army."
"Enough." Vaelin interrupted her and looked at Garrik. "Even if we want to face that stupid World Tree, we have the Wall Forest in the middle. If we get involved in a beast-tide, we might as well say goodbye to our entire army—"
BANG!
"Urgent news!"
The doors swung open with a loud sound, and a human entered the room. Garrik nodded at him. "Go ahead."
The man nodded quickly and took a deep breath so that he could read without getting tangled. "Two massive Energy Waves have been spotted coming from World Tree Tianlian Liu Shu. The first one has been confirmed as the effects. The title does the following..." </p><p> After the messenger told the effects, everyone in the room was silent. The messenger continued. "The second energy wave came from Liu Shu herself. To have unlocked such a title, something extraordinary must've occurred to her. Her strength is now unfathomable." </p><p> Evangeline laughed without any joy. "Great! Simply marvelous. What I wanted to hear the most occurred, but I am not happy at all." She smiled with mockery and disgust toward Vaelin. "Satisfied? Or should we wait a bit more so that she becomes stronger? How about, I don't know, three or four more titles of that level before we truly give our all?" </p><p> Jolie talked for the first time, her tone cold and unsympathetic. "Disregarding World Trees to this extent is beyond arrogance or pitiful pride. It's stupidity. You've crossed a line that makes others notice how limited your mind is... Not to mention, you were the one who sent back the letter to inform us about Liu Shu to the mainland. Aren't you acting stupid to argue against what you informed them about? We were pushed here together with many others because of that!" </p><p> Evangeline sighed and stood up, looking at the other silent participants. "If we take over the western part of the Continent, this will become an easier war strategically. At the end of the day, it would be a fight between the West and East sides of the <Wall Forest>. However, if you give Tianlian Liu Shu more time, she will become strong enough to cripple our strength."</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-405" 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="406"><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: '406' }, 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:'942e44ea5a335848',t:'MTc0Nzc2OTY0My4wMDAwMDA='};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":"942e44ea5a335848","version":"2025.4.0-1-g37f21b1","r":1,"token":"3dfd337b6d8847e985544a8c990b61b1","serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}}}' crossorigin="anonymous"></script>