I've run into a problem where clicking "explore?" makes you take 2 steps at a time. Or when the steps reset for the day, you might start out with 2 or 4 steps upon clicking the page. This is what I have (not including the css):
PHP Code:
class Explorearea1View extends View{
public function index(){
$mysidia = Registry::get("mysidia");
$document = $this->document;
$document->setTitle("Forest Path");
$today = date("d"); //Day of the month
$profile = $mysidia->user->getprofile();
$favpet = new OwnedAdoptable($profile->getFavpetID());
$name = $favpet->getName();
$coatiChance = rand(1,100);
$boarChance = rand(1,100);
$stepstaken = $mysidia->user->exploretimes;
// Reset explore counter if the last recorded exploration was on a different day than today:
$reset = $mysidia->user->lastday != $today;
// Allow user to explore if they are under the limit or if reset condition is true.
if ($mysidia->user->exploretimes <= 40 || $reset) {
// Update the last day that they explored to today
$mysidia->db->update("users", array("lastday" => $today), "username = '{$mysidia->user->username}'");
// If $reset condition was true, reset the count to 1, otherwise increment the existing count.
$updatedExploreTimes = $reset ? 1 : $mysidia->user->exploretimes + 1;
//$ExploreTimesFix = $mysidia->user->exploretimes - 1;
$mysidia->db->update("users", array("exploretimes" => ($updatedExploreTimes)), "username = '{$mysidia->user->username}'");
//$mysidia->db->update("users", array("exploretimes" => ($ExploreTimesFix)), "username = '{$mysidia->user->username}'");
$document->add(new Comment("<div class = 'scene'><img src='http://orig08.deviantart.net/ccf7/f/2017/038/9/8/forestexplore_by_hoafan-day972y.png' style='width:50%;height:50%;'></div>"));
$document->add(new Comment("<b>Steps: {$stepstaken} / 40</b>"));
// This part gives a coati swirl to the user!
if($mysidia->input->post("coati")){
if($coatiChance >= 70) {
$species = "Coati Swirl";
$document->add(new Comment("The Coati doesn't want to follow, but it gives {$name} an egg instead! It can be found in your pantry"));
$newadopt = new StockAdopt($species);
$newadopt->append($mysidia->user->username);}
elseif($coatiChance < 70) {$document->add(new Comment("The coati quickly scurries off; startled by {$name}. Better luck next time!"));}
}
// This part gives a boarBQ to the user!
if($mysidia->input->post("boarBQ")){
if($boarChance >= 80) {
$species = "BoarBQ";
$document->add(new Comment("{$name} somehow finds a way to calm its temper, and it gives them an egg! It can be found in your pantry"));
$newadopt = new StockAdopt($species);
$newadopt->append($mysidia->user->username);
}
elseif($boarChance < 80) {$document->add(new Comment("{$name} runs for their life as the boar charges with sharp tusks!"));}
}
//This is where exploration starts!
if ($mysidia->user->exploretimes <= 40) {
$random = rand(1,100);
if($random > 1 && $random < 20){
$species = "Coati Swirl";
//adopt's image!
$document->add(new Comment("<div class = 'adopt'><img src='http://orig07.deviantart.net/b589/f/2017/070/8/c/csadult_by_hoafan-db1zf6y.png'></div>"));
$document->add(new Comment("Woah there! Is that a {$species}? Maybe {$name} can convince it to follow?"));
$CoatiForm = new FormBuilder("coatiform", "", "post");
$CoatiForm->buildButton("Try your luck", "coati", "submit");
$document->add($CoatiForm);
}
if($random >= 21 && $random <= 30){
$document->add(new Comment("{$name} finds absolutely nothing."));
}
if($random >= 41 && $random <= 60){
$document->add(new Comment("{$name} accidentally tripped over a rock, but they seem okay."));
}
if($random >= 61 && $random <= 70){
$species = "Boar BQ";
$document->add(new Comment("<div class = 'adopt'><img src='http://orig02.deviantart.net/4e8b/f/2017/077/c/e/bbqadult_by_hoafan-db2qlpt.png'></div>"));
$document->add(new Comment("Look out, it's a {$species}! It doesn't look too friendly..."));
$BoarForm = new FormBuilder("boarform", "", "post");
$BoarForm->buildButton("Try your luck", "boarBQ", "submit");
$document->add($BoarForm);
}
if($random >= 71 && $random <= 75){
$species = "Spaniel Flan";
//$newadopt = new StockAdopt($species);
//$newadopt->append($mysidia->user->username);
$document->add(new Comment("{$name} can hear birds chirping."));
}
if($random >= 91 && $random <= 99){
$amount = rand(1,5);
$mysidia->user->changecash($amount);
$document->add(new Comment("Oh look! {$name} found $ {$amount}!"));
}
if($random == 100){
$species = "Spaniel Flan";
//$newadopt = new StockAdopt($species);
//$newadopt->append($mysidia->user->username);
$document->add(new Comment("{$name} sees something dart past in the bushes. It was too fast to recognize."));
}
else{
$document->add(new Comment("<a href='/explorearea1'>Explore?</a>", FALSE));
}
}
else{
$document->add(new Comment("It seems that {$name} explored too much today, why don't you let them rest?", FALSE));
}
}
}
}
"ExploreTimesFix" was a remedy I tried to use to counter the 2-steps thing by just removing 1 step, but it just ended up subtracting 2 steps instead of adding 2, which fixed nothing if not make it worse than it was, so I commented it out.
There's also the occasional moment where no dialogue will appear besides the "explore?" link; and running out of steps will show the user a blank page. (Not a white page, but just a blank page with no words or pictures)