One particularly hungry hedgehog

Moonlight shimmered on the surface of the ring pool. Knothole was quiet, and most of it's inhabitants were asleep. Except one particularly restless hedgehog.</p> <p>One particularly hungry hedgehog.</p> <p>Sonic was in search of food. More specifically a chili dog. He'd found the chili, but there was no trace of bread anywhere. Sonic put the small plastic container down on a table and began to look in the cupboards above the main pantry, trying to keep as quiet as possible, knowing that Rosie sometimes kept cutlery in here.</p> <p>Suddenly he heard a sound behind him. Closing the cupboard door, Sonic listened intently for the source of the noise. Nothing but silence. Assuming that it was just his imagination, Sonic shrugged and continued foraging for food.</p> <p>Something grabbed Sonic by the throat and threw him to the other end of the room. His instincts kicked in, and he landed feet first on the wall, preventing him from smashing his head in.</p> <p>He saw a dark figure in a crouched position, preparing to strike. The dark made it impossible to identify it, but Sonic knew one thing for sure.</p> <p>It definitely wasn't friendly.</p> <p>With a growl, the figure leapt at Sonic, only to come into contact with his fist.</p> <p>'Ow!'</p> <p>Sonic froze. He recognized that voice.</p> <p>'Sally?' </p> <p>'Sonic?'</p> <p>The figure switched on a flashlight and shone it into Sonic's face. He covered his eyes from the glare. 'What the hell are you doing out here?' She asked.</p> <p>'Looking for a chili-' Sonic never finished the sentence.</p> <p>'Again?' Sally put the flashlight down and banged her fist on the floor. Picking it up again, she stood up. 'Is that all you ever think about?</p> <p>'Jeez Sal. Do you hafta be so paranoid?' Sonic rubbed his head.</p> <p>'Did you have to hit so hard?' She countered.</p> <p>'I'm sorry. Where did I hit?' Sonic reached out a hand.</p> <p>'Don't touch me!' Sally turned and walked out of the kitchen into the mess hall, Sonic closely following her.</p> <p>'What happened, Sal? Get up on the wrong side of the cot or something?' He asked concernedly.</p> <p>'Nothing's wrong! Quit following me!' Sally snapped at him as she turned around. Sonic was stunned by her reply, but like his stubborn self, refused to budge. He stood his ground and began tapping his foot, crossing his arms. 'What's the matter with you? I said move!' Sonic twitched at the prospect of directly disobeying the rightful ruler of Mobius, but defiantly remained in that pose.</p> <p>'I'm not moving `til you tell me what's wrong.' Sonic said matter-of-factly.</p> <p>Sally gave in. 'All <em>right.'</em> She sort of growled. 'Sit down.' She said. Sonic took a seat on the nearest bench, Sally sitting beside him. She produced an oil lamp from her backpack, lit it and put it down on the table.</p> <p>'Well?' Sonic said. Sally sighed and spoke.</p> <p>'Frankly, I think we're doomed.'</p> <p>Sonic was shocked. </p> <p>"Now see here! What d'ya mean by that?' Sonic was serious. Sally had never been like this before.</p> <p>'Face it. Robotnik's got the upper hand. He's got thousands of robots at his disposal, while we've got a handful of Freedom Fighters fighting for a cause that we lost so long ago. Hell, we're losing soldiers day after day.' She banged her hand on the table and ran the other through her disheveled hair. 'You know what I'd like to happen right now?' She asked in a tone that inflected that the question needn't be answered. 'I'd like just one week where we don't have at least one freedom fighter roboticized. Is that so much to ask?</p> <p>'We're fading. Dying. Fighting a battle that we can't possibly win. And what's the point of me leading a group of innocent young people to their deaths, either by blasters or the roboticizer?' She said, burying her head in her hands. The faintest semblance of a sob choked out of her voice. 'What's the point?'</p> <p>'Now don't talk like that. We've still got plenty of fighters left.' Sonic told her, placing his hand on her shoulder.</p> <p>'Yes, but for how long?' Her head snapped up. 'Sooner or later Robotnik's going to discover us, then Knothole will be dust faster than you can run to the ring pool and back. Don't you see?' She held her hands out in a desperate gesture. 'Robotnik doesn't want to conquer Mobius. He wants to annihilate it. Then he'll move on to another planet, and destroy that one too. He's not going to let a handful of rebels stop him. It's hopeless.' Sally put her head back in her hands.</p> <p>'Not if we fight, Sally.' He took her hands in his, wiping the one tear from her cheek. 'Not if we all fight.' They looked into each other's eyes for what seemed like forever before Sonic made his move.</p> <p>'We can beat Robotnik, Sally. With Bunnie's strength.'</p> <p>Sonic's face moved closer towards Sally's.</p> <p>'Rotor's genius.'</p> <p>Sally moved closer as well.</p> <p>'Dulcy's flight.'</p> <p>Closer.</p> <p>'My speed.'</p> <p>Closer.</p> <p>'Your leadership.'</p> <p>Closer.</p> <p>'Charm...'</p> <p>Closer.</p> <p>'Beauty...'</p> <p>Contact.</p> <p>Sally put her arms around him as the moments grew longer. Reluctantly, they came up for air.</p> <p>'I love you Sonic.' She said in a low tone, wishing her tears away.</p> <p>'Love you too, Sal.' He said, holding her close to him</p> <p>'Love to see how many Academy Awards <em>this</em> scene will get!' A voice yelled from behind the mess hall door. Whirling around, they saw Rotor with a video camera in his hand, with what seemed to be the entire Freedom Fighter clan.</p> <p>'Sally, how could have you done such a thing?' Antoine piped up from behind Rotor.</p> <p>'Sally mah girl, I knew you liked Sonic, but not this much!' Bunnie said.</p> <p>This was followed by side-splitting laughter from the whole group.</p> <p>'Go on, Sal! Kiss him one more time!' Dulcy said, the dragon's head poking in through the window. Sally happily obliged, pulling Sonic to her in a kiss that was more passion than anything else.</p> <p>'Yuck!' Sonic, how could you?' Tails stuck his tongue out.</p> <p>'Hey, who called the kid?' Sonic broke off from Sally.</p> <p>'Don'tcha worry 'bout a thang, Sugarhog.' Bunnie said. 'Just keep kissing 'er!'</p> </body> </html><fido> </div> </div><div style='height:5px'></div> <script> function review_init() { if(XUNAME) { $('#review_name').hide(); $('#review_postbutton').html('Post Review as ' + XUNAME); $('.login_items').hide(); $('#alert_subs').show(); } else { $('#review_name').show(); //$('#review_name').html("<input type=text name='name' placeholder='Name:'>"); $('.login_items').show(); $('#alert_subs').hide(); } } //call back function login_success_default() { //$('#name_login').html(render_login(XUNAME)); //focus on review $('#review_review').focus(); //you have now logged in xtoast("You have logged-in as "+XUNAME+'.'); //close all open dialogs //$('#please_login').modal('hide'); } function login_success() { login_success_default(); review_init(); } function self_login(target) { xwindow('https://www.fanfiction.net/api/login_state_proxy.php?src=popup&target='+target,450,450); } function post_q() { if(!XUNAME) { please_login(); return; } if($('#q_follow_author').prop('checked') == 0 && $('#q_follow_story').prop('checked') == 0 && $('#q_fav_author').prop('checked') == 0 && $('#q_fav_story').prop('checked') ==0) { xtoast('Please select at least one follow or favorite action'); return; } $('#q_working').toggle(); $.post('/api/ajax_subs.php', { storyid: storyid, userid: userid, authoralert: $('#q_follow_author').prop('checked') ? 1 : 0, storyalert: $('#q_follow_story').prop('checked') ? 1 : 0, favstory: $('#q_fav_story').prop('checked') ? 1 : 0, favauthor: $('#q_fav_author').prop('checked') ? 1 : 0 }, function(data) { //console.log(data); //alert(data); if(data.error) { $('#q_working').toggle(); xtoast("We are unable to process your request due to an network error. Please try again later."); } else { xtoast("We have successfully processed the following:" + data.payload_data,3500); $('#q_working').toggle(); $('#follow_area').modal('hide'); } }, 'json' ).error(function() { xtoast("We are unable to process your request due to an network error. Please try again later."); $('#q_working').toggle(); }); } function please_login() { xtoast("Please login or signup to access this feature."); } function post_review() { var review = $('#review_review').val(); var name = $('#review_name_value') ? $('#review_name_value').val() : ''; //make sure we don't submit default if(review == '') { xtoast("Please type up your review for this story."); return; } $('#review_postbutton').html("Posting. Please wait..."); $('#review_postbutton').prop('disabled',true); $.post('/api/ajax_review.php', { storyid: storyid, storytextid: storytextid, chapter: chapter, authoralert: $('#review_authoralert').prop('checked') ? 1 : 0, storyalert: $('#review_storyalert').prop('checked') ? 1 : 0, favstory: $('#review_favstory').prop('checked') ? 1 : 0, favauthor: $('#review_favauthor').prop('checked') ? 1 : 0, name: name, review: review }, function(data) { //console.log(data); //alert(data); if(data.error) { $('#review_postbutton').html('Post Review as'+XUNAME); $('#review_postbutton').prop('disabled', false); xtoast("We are unable to post your review due to the following reason:<br><br>" + data.error_msg); } else { xtoast("The author would like to thank you for your continued support. Your review has been posted.",3500); review_success(); } }, 'json' ).error(function() { xtoast("We are unable to process your review due to an network error. Please try again later."); $('#review_postbutton').html("Post Review as"+XUNAME); $('#review_postbutton').prop('disabled', false); }); } function review_success() { $('#review').hide(); $('#review_success').show(); //must clear textarea of auto-save would save old data $('#review_review').val(''); if(!$.storage) { $.storage = new $.store(); //console.log('new storage'); } $.storage.del('review:253744:1'); //console.log('del review:253744:1'); } function review_failure() { } $().ready(function() { review_init(); }); </script> <div id='review_success' style='display:none;width:500px;height:100px;clear:both;margin-right:auto;margin-left:auto;'> The author would like to thank you for your continued support. Your review has been posted. </div> <div id=review> <table border=0 padding=0 cellspacing=0 style='width:100%;'> <!-- min-width:500px;max-width:975px;clear:both;margin-right:auto;margin-left:auto;--> <tr> <td width=336 valign=top> <!-- startz --> <ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-8698054525611092" data-ad-slot="8107878760"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> <!-- endz --> </td> <td width=10></td> <td valign=top> <div style='width:100%;max-width:700px;'> <table style='width:100%;'> <tr> <td colspan=2> <div id=review_name style=''> <!-- min-width:500px;max-width:975px; style='padding:0.5em;width:98%;' --> <input class='input-block-level' style='max-width:700px' type=text name='name' id='review_name_value' maxlength=16 placeholder="Name:" > <div style='height:4px'></div> </div> <textarea class='input-block-level' style='max-width:700px' rows=10 placeholder="Type your review here..." name=review id=review_review></textarea> </td> </tr> <tr> <td style='vertical-align:middle;'> <div id='alert_subs' class='hide xcontrast_txt'> Favorite : Story <input style='margin:-2px 0 0 0' type=checkbox name=favstory id=review_favstory> Author <input style='margin:-2px 0 0 0' type=checkbox name=favauthor id=review_favauthor> &#160; Follow : Story <input style='margin:-2px 0 0 0' type=checkbox name=storyalert id=review_storyalert> Author <input style='margin:-2px 0 0 0' type=checkbox name=authoralert id=review_authoralert> </div> </td> <td align=right> <!-- Split button --> <div class='btn-group xreset-left'> <button type='button' class='btn icon-edit-1' onClick='post_review();' id=review_postbutton>Post Review</button> <button type='button' class='btn dropdown-toggle login_items' data-toggle='dropdown'> <span class='sr-only '>As</span> <span class='caret '></span> </button> <ul class='dropdown-menu' role='menu'> <li><a href='#' onclick="self_login('self');" class=xdrop_login>FanFiction</a></li> <li><a href='#' onclick="self_login('sister');" class=xdrop_login>FictionPress</a></li> <li><a href='#' onclick="self_login('google');" lass=xdrop_login>Google</a></li> <li><a href='#' onclick="self_login('facebook');" class=xdrop_login>Facebook</a></li> <li><a href='#' onclick="self_login('twitter');" class=xdrop_login>Twitter</a></li> <li><a href='#' onclick="self_login('amazon');" class=xdrop_login>Amazon</a></li> </ul> </div> </td> </tr> </table> </div> </td> </tr> </table> </div> <!-- <div id='please_login' class='modal hide fade'></div> --> <script src='//ff74.b-cdn.net/static/scripts/jquery.jstore_01_09_2012.js'></script> <script> $().ready(function(){ if(!$.storage) { $.storage = new $.store(); //init } var t_read = $.storage.get('review:253744:1'); if(t_read && t_read.length > 0 ) { //alert('recovered data' + t_read); var temp = $('textarea#review_review').val(); //NO SPACES .replace(/^\s+|\s+$/g,'') if(!temp || temp.length == 0 || temp == "Type your comments here.") { //alert('set good'); $('textarea#review_review').val(t_read); //console.log('got'+t_read); } } else { //alert('no data'); } var rTimer = setInterval(saveReview, 2000); //every 2s function saveReview() { var temp = $('textarea#review_review').val(); //make sure we don't save spaces .replace(/^\s+|\s+$/g,''); if(temp && temp.length > 0 && temp != "Type your comments here.") { $.storage.set('review:253744:1', temp); //console.log('set'+temp); } } }); </script> <div style='height:15px'></div> <div align=center class=lc-wrapper><div class=lc> <FORM name=myselect onsubmit='return false;'><TABLE style='min-width;400px;margin-left:auto;margin-right:auto;' cellpadding=4> <TR> <TD> <script> var storyid = 253744; var userid = 43975; var storytextid = storytextid=314204; var chapter = 1; var title = 'Contact'; var logind = 'https://www.fanfiction.net'; function select_drop(sel_value) { var t; if (sel_value == 'abuse') { t = xwindow(logind+'/report.php?chapter='+chapter+'&storyid='+storyid+'&title='+title,560,510); } else if (sel_value == 'c2') { t = xwindow(logind+'/c2_addstory.php?action=add&storyid='+storyid,560,470); } } </SCRIPT> <div class='btn-group ' id='story_actions'> <div class='btn-group dropup'align=left> <button class='btn dropdown-toggle' data-toggle='dropdown'> <span >Actions</span> <span class='caret'></span> </button> <ul class='dropdown-menu' > <li><a onclick="select_drop('c2')">Add to Community</a></li> <li><a onclick="select_drop('abuse')">Report Abuse</a></li> </ul> </div> </div> <div class='btn-group ' id='share_providers'> <div class='btn-group dropup'align=left> <button class='btn dropdown-toggle' data-toggle='dropdown'> <span class='icon-share'> Share</span> </button> <ul class='dropdown-menu' > <li><a href='//plus.google.com/share?url=https%3A%2F%2Fwww.fanfiction.net%2Fs%2F253744%2F1%2F' target=_new>Google+</a></li> <li><a href='//twitter.com/home?status=Reading+story%3A+https%3A%2F%2Fwww.fanfiction.net%2Fs%2F253744%2F1%2F' target=_new>Twitter</a></li> <li><a href='//www.tumblr.com/share/link?url=https%3A%2F%2Fwww.fanfiction.net%2Fs%2F253744%2F1%2F' target=_new>Tumblr</a></li> <li><a href='//www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.fanfiction.net%2Fs%2F253744%2F1%2F' target=_new>Facebook</a></li> </ul> </div> </div> <button class='btn icon-heart' type=button onClick='$("#follow_area").modal();'> Follow/Favorite</button> <style> label input[type=checkbox]{ position: relative; vertical-align: middle; bottom: -5px; } </style> <div class='modal fade hide' id=follow_area> <div class='modal-body'> <center> <table style='padding:6px;color:black !important;'> <tr><td valign=top> + Follow <hr> <label class='checkbox'> <input type='checkbox' id=q_follow_story> Story </label> <label class='checkbox'> <input type='checkbox' id=q_follow_author> Writer </label> </td> <td width=20></td> <td valign=top> + Favorite <hr> <label class='checkbox'> <input type='checkbox' id=q_fav_story> Story </label> <label class='checkbox'> <input type='checkbox' id=q_fav_author> Writer </label> </td> </tr> </table> </center> </div> <div class='modal-footer'> <span class='btn pull-left' data-dismiss='modal'>Close</span> <span id='q_working' class='hide'>Working...&nbsp;&nbsp;</span> <span class='btn btn-primary' onClick='post_q();'>Save</span> </div> </div> </TD> </TR> </TABLE></form> </div></div> <div style='height:5px'></div></div></div></div><div id=p_footer class=maxwidth style='clear:all;padding:1em 0 1em 0;'><div style='text-align:center'><a href='/support/'>Help</a> . <a href='/cookies/'>Cookies</a> . <a href='/privacy/'>Privacy</a> . <a href='/tos/'>Terms of Service</a> . <a href='#top'>Top</a></div><div style='height:10px'></div><div style='text-align:center'><a href='//www.twitter.com/fictionpress'><span class='icon-twitter-3' style='color:rgb(104, 100, 100);font-size:18px;height:20px;width:20px;'></span></a></div><div style='height:15px'></div></div> <script> $(function() { $('img.lazy').lazyload({ //skip_invisible : false }); }); </script> <style> .hv_center { bottom: 0px; position: fixed; left: 0; right: 0; height: 55px; background-color: #363636; color: #e4e4e4; /* IE 10 */ display:-ms-flexbox; -ms-flex-pack:center; -ms-flex-align:center; /* FF */ display:-moz-box; -moz-box-pack:center; -moz-box-align:center; /* Safari, Opera, and Chrome */ display:-webkit-box; -webkit-box-pack:center; -webkit-box-align:center; } #cookie_notice { font-size: 0.9em; } #cookie_notice a:link, #cookie_notice a:hover, #cookie_notice a:active, #cookie_notice a:visited { color: #e4e4e4; text-decoration: underline; } </style> <script> var _cookie_policy = 'cookies'; //cookie functions function _sCookieGet(cookieName) { var theCookie=""+document.cookie; var ind=theCookie.indexOf(cookieName); if (ind==-1 || cookieName=="") return false; var ind1=theCookie.indexOf(';',ind); if (ind1==-1) ind1=theCookie.length; return unescape(theCookie.substring(ind+cookieName.length+1,ind1)); }; function _sCookieSet(NameOfCookie, value, expirehours, path, domain) { if(!path) path = "/"; var ExpireDate = new Date (); ExpireDate.setTime(ExpireDate.getTime() + (expirehours * 3600 * 1000)); document.cookie = NameOfCookie + "=" + escape(value) + (!expirehours ? "" : "; expires=" + ExpireDate.toGMTString()) + "; path="+path+";" +(!domain ? "" : "domain=" + domain + ";"); }; function _cookieAccept() { _sCookieSet(_cookie_policy,'yes',365 * 24,'/'); document.getElementById('cookie_notice').style.display = 'none'; } var c = _sCookieGet(_cookie_policy) if(c != "yes") { document.write("<div id='cookie_notice' class='hv_center'>" + " <div style='padding-left:50px;padding-right:50px'>" + " <table>" + " <tr>" + " <td> We use cookies. By using our services, you acknowledge that you have read and accept our <a href='/cookies/'>Cookies</a> & <a href='/privacy/'>Privacy</a> Policies.</td>" + " <td><div style='border:1px whitesmoke solid;padding:5px;margin-left:10px;cursor: pointer;' onClick='_cookieAccept()'>Accept</div></td>" + " </tr>" + " </table>" + " </div>" + "</div>"); } </script> </body></html>