135 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
// addnews ready
 | 
						|
// translator ready
 | 
						|
// mail ready
 | 
						|
require_once("common.php");
 | 
						|
require_once("lib/forest.php");
 | 
						|
require_once("lib/http.php");
 | 
						|
require_once("lib/villagenav.php");
 | 
						|
 | 
						|
tlschema("healer");
 | 
						|
 | 
						|
$config = unserialize($session['user']['donationconfig']);
 | 
						|
 | 
						|
$return = httpget("return");
 | 
						|
$returnline = $return>""?"&return=$return":"";
 | 
						|
 | 
						|
page_header("Healer's Hut");
 | 
						|
output("`#`b`cHealer's Hut`c`b`n");
 | 
						|
 | 
						|
$cost = log($session['user']['level']) * (($session['user']['maxhitpoints']-$session['user']['hitpoints']) + 10);
 | 
						|
$result=modulehook("healmultiply",array("alterpct"=>1.0));
 | 
						|
$cost*=$result['alterpct'];
 | 
						|
$cost = round($cost,0);
 | 
						|
 | 
						|
$op = httpget('op');
 | 
						|
if ($op==""){
 | 
						|
  	checkday();
 | 
						|
	output("`3You duck into the small smoke-filled grass hut.");
 | 
						|
	output("The pungent aroma makes you cough, attracting the attention of a grizzled old person that does a remarkable job of reminding you of a rock, which probably explains why you didn't notice them until now.");
 | 
						|
	output("Couldn't be your failure as a warrior.");
 | 
						|
	output("Nope, definitely not.`n`n");
 | 
						|
	if ($session['user']['hitpoints'] < $session['user']['maxhitpoints']){
 | 
						|
		output("\"`6See you, I do.  Before you did see me, I think, hmm?`3\" the old thing remarks.");
 | 
						|
		output("\"`6Know you, I do; healing you seek.  Willing to heal am I, but only if willing to pay are you.`3\"`n`n");
 | 
						|
		output("\"`5Uh, um.  How much?`3\" you ask, ready to be rid of the smelly old thing.`n`n");
 | 
						|
		output("The old being thumps your ribs with a gnarly staff.  \"`6For you... `$`b%s`b`6 gold pieces for a complete heal!!`3\" it says as it bends over and pulls a clay vial from behind a pile of skulls sitting in the corner.", $cost);
 | 
						|
		output("The view of the thing bending over to remove the vial almost does enough mental damage to require a larger potion.");
 | 
						|
		output("\"`6I also have some, erm... 'bargain' potions available,`3\" it says as it gestures at a pile of dusty, cracked vials.");
 | 
						|
		output("\"`6They'll heal a certain percent of your `idamage`i.`3\"");
 | 
						|
	}elseif($session['user']['hitpoints'] == $session['user']['maxhitpoints']){
 | 
						|
		output("`3The old creature grunts as it looks your way. \"`6Need a potion, you do not.  Wonder why you bother me, I do.`3\" says the hideous thing.");
 | 
						|
		output("The aroma of its breath makes you wish you hadn't come in here in the first place.  You think you had best leave.");
 | 
						|
	}else{
 | 
						|
		output("`3The old creature glances at you, then in a `^whirlwind of movement`3 that catches you completely off guard, brings its gnarled staff squarely in contact with the back of your head.");
 | 
						|
		output("You gasp as you collapse to the ground.`n`n");
 | 
						|
		output("Slowly you open your eyes and realize the beast is emptying the last drops of a clay vial down your throat.`n`n");
 | 
						|
		output("\"`6No charge for that potion.`3\" is all it has to say.");
 | 
						|
		output("You feel a strong urge to leave as quickly as you can.");
 | 
						|
		$session['user']['hitpoints'] = $session['user']['maxhitpoints'];
 | 
						|
	}
 | 
						|
}elseif ($op=="buy"){
 | 
						|
	$pct = httpget('pct');
 | 
						|
	$newcost=round($pct*$cost/100,0);
 | 
						|
	if ($session['user']['gold']>=$newcost){
 | 
						|
		$session['user']['gold']-=$newcost;
 | 
						|
		debuglog("spent gold on healing",false,false,"healing",$newcost);
 | 
						|
		$diff = round(($session['user']['maxhitpoints']-$session['user']['hitpoints'])*$pct/100,0);
 | 
						|
		$session['user']['hitpoints'] += $diff;
 | 
						|
		output("`3With a grimace, you up-end the potion the creature hands you, and despite the foul flavor, you feel a warmth spreading through your veins as your muscles knit back together.");
 | 
						|
		if($newcost){
 | 
						|
			output("`3With a grimace, you up-end the potion the creature hands you, and despite the foul flavor, you feel a warmth spreading through your veins as your muscles knit back together.");
 | 
						|
			output("Staggering some, you hand it your gold and are ready to be out of here.");
 | 
						|
		}else{
 | 
						|
			output("`3With a grimace, you up-end the potion the creature hands you, and despite the foul flavor, you feel a warmth spreading through your veins.");
 | 
						|
			output("Staggering some you are ready to be out of here.");
 | 
						|
		}
 | 
						|
		if($diff == 1) {
 | 
						|
			output("`n`n`#You have been healed for one point!", $diff);
 | 
						|
		} else {
 | 
						|
			output("`n`n`#You have been healed for %s points!", $diff);
 | 
						|
		}
 | 
						|
	}else{
 | 
						|
		output("`3The old creature pierces you with a gaze hard and cruel.");
 | 
						|
		output("Your lightning quick reflexes enable you to dodge the blow from its gnarled staff.");
 | 
						|
		output("Perhaps you should get some more money before you attempt to engage in local commerce.`n`n");
 | 
						|
		output("You recall that the creature had asked for `b`\$%s`3`b gold.", $newcost);
 | 
						|
	}
 | 
						|
}elseif ($op=="companion"){
 | 
						|
	$compcost = httpget('compcost');
 | 
						|
	
 | 
						|
	if($session['user']['gold'] < $compcost){
 | 
						|
		output("`3The old creature pierces you with a gaze hard and cruel.`n");
 | 
						|
		output("Your lightning quick reflexes enable you to dodge the blow from its gnarled staff.`n");
 | 
						|
		output("Perhaps you should get some more money before you attempt to engage in local commerce.`n`n");
 | 
						|
		output("You recall that the creature had asked for `b`\$%s`3`b gold.", $compcost);
 | 
						|
	}else{
 | 
						|
		$name = stripslashes(rawurldecode(httpget('name')));
 | 
						|
		$session['user']['gold'] -= $compcost;
 | 
						|
		$companions[$name]['hitpoints'] = $companions[$name]['maxhitpoints'];
 | 
						|
		output("`3With a grimace, %s`3 up-ends the potion from the creature.`n", $companions[$name]['name']);
 | 
						|
		output("Muscles knit back together, cuts close and bruises fade. %s`3 is ready to battle once again!`n", $companions[$name]['name']);
 | 
						|
		output("You hand the creature your gold and are ready to be out of here.");
 | 
						|
	}
 | 
						|
}
 | 
						|
$playerheal = false;
 | 
						|
if($session['user']['hitpoints'] < $session['user']['maxhitpoints']){
 | 
						|
	$playerheal = true;
 | 
						|
	addnav("Potions");
 | 
						|
	addnav("`^Complete Healing`0","healer.php?op=buy&pct=100$returnline");
 | 
						|
	for ($i=90;$i>0;$i-=10){
 | 
						|
		addnav(array("%s%% - %s gold", $i, round($cost*$i/100,0)),"healer.php?op=buy&pct=$i$returnline");
 | 
						|
	}
 | 
						|
	modulehook('potion');
 | 
						|
}
 | 
						|
addnav("`bHeal Companions`b");
 | 
						|
$compheal = false;
 | 
						|
foreach($companions as $name => $companion){
 | 
						|
	if(isset($companion['cannotbehealed']) && $companion['cannotbehealed'] == true){
 | 
						|
	}else{
 | 
						|
		$points = $companion['maxhitpoints'] - $companion['hitpoints'];
 | 
						|
		if($points > 0){
 | 
						|
			$compcost = round(log($session['user']['level']+1) * ($points + 10)*1.33);
 | 
						|
			addnav(array("%s`0 (`^%s Gold`0)", $companion['name'], $compcost), "healer.php?op=companion&name=".rawurlencode($name)."&compcost=$compcost$returnline");
 | 
						|
			$compheal = true;
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
tlschema("nav");
 | 
						|
addnav("`bReturn`b");
 | 
						|
if ($return==""){
 | 
						|
	if($playerheal || $compheal){
 | 
						|
		addnav("F?Back to the Forest", "forest.php");
 | 
						|
		villagenav();
 | 
						|
	}else{
 | 
						|
		forest(true);
 | 
						|
	}
 | 
						|
}elseif ($return=="village.php"){
 | 
						|
	villagenav();
 | 
						|
}else{
 | 
						|
	addnav("R?Return whence you came",$return);
 | 
						|
}
 | 
						|
tlschema();
 | 
						|
output_notl("`0");
 | 
						|
page_footer();
 | 
						|
?>
 |