Initial commit
This commit is contained in:
241
lotgd-web/lotgd/modules/outhouse.php
Executable file
241
lotgd-web/lotgd/modules/outhouse.php
Executable file
@ -0,0 +1,241 @@
|
||||
<?php
|
||||
//addnews ready
|
||||
// mail ready
|
||||
// translator ready
|
||||
/**
|
||||
* Version: 0.6
|
||||
* Date: July 31, 2003
|
||||
* Author: John J. Collins
|
||||
* Email: collinsj@yahoo.com
|
||||
*
|
||||
* Purpose: Provide a fun module to Legend of the Green Dragon
|
||||
* Program Flow: The player can choose to use the Private or Public Toilet.
|
||||
* It costs Gold to use the Private Toilet. The Public Toilet is free. After
|
||||
* using one of the toilet's, the play can was their hands or return. If
|
||||
* they choose to wash their hands, there is a chance that they can get
|
||||
* their gold back. If they don't choose to wash their hands, there is a
|
||||
* chance that they will lose some gold. If they loose gold there is an
|
||||
* entry added to the daily news.
|
||||
*/
|
||||
/**
|
||||
* Modifications:
|
||||
* Date: Mar 3, 2004
|
||||
* Author: Eric Stevens aka MightyE
|
||||
* Email: logd -at- mightye -dot- org
|
||||
*
|
||||
* Mods: Reflowed to sit in moduling system.
|
||||
*/
|
||||
|
||||
require_once("lib/http.php");
|
||||
|
||||
function outhouse_getmoduleinfo(){
|
||||
$info = array(
|
||||
"name"=>"Gnomish Outhouse",
|
||||
"author"=>"John Collins",
|
||||
"version"=>"2.0",
|
||||
"category"=>"Forest",
|
||||
"download"=>"core_module",
|
||||
"prefs"=>array(
|
||||
"Gnomish Outhouse User Preferences,title",
|
||||
"usedouthouse"=>"Used Outhouse Today,bool|0"
|
||||
),
|
||||
"settings"=>array(
|
||||
"Gnomish Outhouse Settings,title",
|
||||
"cost"=>"Cost to use the private outhouse,range,1,20,1|5",
|
||||
"goldinhand"=>"How much gold must user have in hand before they can lose money,range,0,10,1|1",
|
||||
"giveback"=>"How much gold to give back if the player is rewarded for washing their hands,range,0,20,1|3",
|
||||
"takeback"=>"How much gold to take if the user is punished for not washing their hands,range,0,20,1|1",
|
||||
"goodmusthit"=>"Percent of time you get your money back if you wash,range,0,100,1|60",
|
||||
"badmusthit"=>"Percent of time you lose money if you don't wash,range,0,100,1|50",
|
||||
"givegempercent"=>"Percent chance of getting a gem if you wash,range,0,100,1|25",
|
||||
"giveturnchance"=>"Percent chance of a free forest fight if you wash,range,0,100,1|0"
|
||||
)
|
||||
);
|
||||
return $info;
|
||||
}
|
||||
|
||||
function outhouse_install(){
|
||||
global $session;
|
||||
debug("Adding Hooks");
|
||||
module_addhook("forest");
|
||||
module_addhook("newday");
|
||||
|
||||
$sql = "DESCRIBE " . db_prefix("accounts");
|
||||
$result = db_query($sql);
|
||||
while ($row = db_fetch_assoc($result)){
|
||||
if ($row['Field']=="usedouthouse"){
|
||||
$sql = "SELECT usedouthouse,acctid FROM " . db_prefix("accounts") . " WHERE usedouthouse>0";
|
||||
$result1 = db_query($sql);
|
||||
debug("Migrating outhouse usage.`n");
|
||||
while ($row1 = db_fetch_assoc($result1)){
|
||||
$sql = "INSERT INTO " . db_prefix("module_userprefs") . " (modulename,setting,userid,value) VALUES ('outhouse','usedouthouse',{$row1['acctid']},{$row1['usedouthouse']})";
|
||||
db_query($sql);
|
||||
}//end while
|
||||
debug("Dropping usedouthouse column from the user table.`n");
|
||||
$sql = "ALTER TABLE " . db_prefix("accounts") . " DROP usedouthouse";
|
||||
db_query($sql);
|
||||
//drop it from the user's session too.
|
||||
unset($session['user']['usedouthouse']);
|
||||
}//end if
|
||||
}//end while
|
||||
return true;
|
||||
}
|
||||
|
||||
function outhouse_uninstall(){
|
||||
output("Uninstalling this module.`n");
|
||||
return true;
|
||||
}
|
||||
|
||||
function outhouse_dohook($hookname, $args){
|
||||
if ($hookname=="forest"){
|
||||
addnav("O?The Outhouse","runmodule.php?module=outhouse");
|
||||
}elseif ($hookname=="newday"){
|
||||
set_module_pref("usedouthouse",0);
|
||||
}
|
||||
return $args;
|
||||
}
|
||||
|
||||
function outhouse_run(){
|
||||
global $session;
|
||||
$cost = get_module_setting("cost");
|
||||
$goldinhand = get_module_setting("goldinhand");
|
||||
$giveback = get_module_setting("giveback");
|
||||
$takeback = get_module_setting("takeback");
|
||||
$goodmusthit = get_module_setting("goodmusthit");
|
||||
$badmusthit = get_module_setting("badmusthit");
|
||||
$givegempercent = get_module_setting("givegempercent");
|
||||
$giveturnchance= get_module_setting("giveturnchance");
|
||||
$returnto = get_module_setting("returnto");
|
||||
// Does the player have enough gold to use the Private Toilet?
|
||||
if ($session['user']['gold'] >= $cost)
|
||||
$canpay = true;
|
||||
|
||||
$op = httpget('op');
|
||||
if ($op == "pay"){
|
||||
if (!$canpay) {
|
||||
page_header("Private Toilet");
|
||||
output("`7You reach into your pocket and find that your gold has vanished!");
|
||||
output("Dejected, you return to the forest.");
|
||||
require_once("lib/forest.php");
|
||||
forest(true);
|
||||
page_footer();
|
||||
}
|
||||
|
||||
page_header("Private Toilet");
|
||||
//$session['user']['usedouthouse'] = 1;
|
||||
set_module_pref("usedouthouse",1);
|
||||
output("`7You pay your %s gold to the Toilet Gnome for the privilege of using the paid outhouse.`n", $cost);
|
||||
output("This is the cleanest outhouse in the land!`n");
|
||||
output("The Toilet Paper Gnome tells you if you need anything, just ask.`n");
|
||||
if ($session['user']['sex']) {
|
||||
output("She politely turns her back to you and finishes cleaning the wash stand.`n");
|
||||
} else {
|
||||
output("He politely turns his back to you and finishes cleaning the wash stand.`n");
|
||||
}
|
||||
$session['user']['gold'] -= $cost;
|
||||
debuglog("spent $cost gold to use the outhouse");
|
||||
addnav("Wash your hands", "runmodule.php?module=outhouse&op=washpay");
|
||||
addnav("Leave", "runmodule.php?module=outhouse&op=nowash");
|
||||
}elseif ($op == "free"){
|
||||
page_header("Public Toilet!");
|
||||
set_module_pref("usedouthouse",1);
|
||||
output("`2The smell is so strong your eyes tear up and your nose hair curls!`n");
|
||||
output("After blowing his nose with it, the Toilet Paper Gnome gives you 1 sheet of single-ply TP to use.`n");
|
||||
output("After looking at the stuff covering his hands, you think you might not want to use it.`n`n");
|
||||
output("While %s over the big hole in the middle of the room with the TP Gnome observing you closely, you almost slip in.`n", translate_inline($session['user']['sex']?"squatting":"standing"));
|
||||
output("You go ahead and take care of business as fast as you can; you can only hold your breath so long.`n");
|
||||
addnav("Wash your hands", "runmodule.php?module=outhouse&op=washfree");
|
||||
addnav("Leave", "runmodule.php?module=outhouse&op=nowash");
|
||||
}elseif ($op == "washpay"|| $op == "washfree"){
|
||||
page_header("Wash Stand");
|
||||
output("`2Washing your hands is always a good thing. You tidy up, straighten your %s in your reflection in the water, and head on your way.`0`n", $session['user']['armor']);
|
||||
$goodhabits = e_rand(1, 100);
|
||||
if ($goodhabits <= $goodmusthit && $op=="washpay"){
|
||||
output("`^The Wash Room Fairy blesses you!`n");
|
||||
output("`7You receive `^%s`7 gold for being sanitary and clean!`0`n", $giveback);
|
||||
$session['user']['gold'] += $giveback;
|
||||
debuglog("got $giveback gold in the outhouse for washing");
|
||||
$givegemtemp = e_rand(1, 100);
|
||||
if ($givegemtemp <= $givegempercent){
|
||||
$session['user']['gems']++;
|
||||
debuglog("gained 1 gem in the outhouse");
|
||||
output("`&Aren't you the lucky one to find a `%gem`& there by the doorway!`0`n");
|
||||
}
|
||||
$giveturntemp = e_rand(1, 100);
|
||||
if ($giveturntemp <= $giveturnchance) {
|
||||
$session['user']['turns']++;
|
||||
output("`&You gained a turn!`0`n");
|
||||
}
|
||||
}elseif ($goodhabits <= $goodmusthit && $op == "washfree"){
|
||||
if (e_rand(1, 3)==1) {
|
||||
output("`&You notice a small bag containing `^%s`7 gold that someone left by the washstand.`0", $giveback);
|
||||
$session['user']['gold'] += $giveback;
|
||||
debuglog("got $giveback gold in the outhouse for washing");
|
||||
}
|
||||
}
|
||||
$args = array(
|
||||
'soberval'=>0.9,
|
||||
'sobermsg'=>"`&Leaving the outhouse, you feel a little more sober.`n",
|
||||
'schema'=>"module-outhouse",
|
||||
);
|
||||
modulehook("soberup", $args);
|
||||
require_once("lib/forest.php");
|
||||
forest(true);
|
||||
}elseif (($op == "nowash")){
|
||||
page_header("Stinky Hands");
|
||||
output("`2Your hands are soiled and real stinky!`n");
|
||||
output("Didn't your mother teach you any better?`n");
|
||||
$takeaway = e_rand(1, 100);
|
||||
if ($takeaway >= $badmusthit){
|
||||
if ($session['user']['gold'] >= $goldinhand){
|
||||
$session['user']['gold'] -= $takeback;
|
||||
debuglog("lost $takeback gold in the outhouse for not washing");
|
||||
output("`nThe Toilet Paper Gnome has thrown you to the slimy, filthy floor and extracted `\$%s gold`2 %s from you due to your slovenliness!`n", $takeback, translate_inline($takeback ==1?"piece":"pieces"));
|
||||
}
|
||||
output("Aren't you glad an embarrassing moment like this isn't in the news?`n");
|
||||
if ($session['user']['sex']) {
|
||||
$msg = "`2Always cool, %s`2 was seen walking around with a long string of toilet paper stuck to her foot.`n";
|
||||
} else {
|
||||
$msg = "`2Always cool, %s`2 was seen walking around with a long string of toilet paper stuck to his foot.`n";
|
||||
}
|
||||
addnews($msg, $session['user']['name']);
|
||||
}
|
||||
require_once("lib/forest.php");
|
||||
forest(true);
|
||||
}else{
|
||||
page_header("The Outhouses");
|
||||
output("`2The nearby village has two outhouses, which it keeps way out here in the forest because of the warding effect of their smell on creatures.`n`n");
|
||||
if (get_module_pref("usedouthouse")==0){
|
||||
output("In typical caste style, there is a privileged outhouse, and an underprivileged outhouse.");
|
||||
output("The choice is yours!`0`n`n");
|
||||
addnav("Toilets");
|
||||
if ($canpay){
|
||||
addnav(array("Private Toilet: (%s gold)", $cost),
|
||||
"runmodule.php?module=outhouse&op=pay");
|
||||
}else{
|
||||
output("`2The Private Toilet costs `^%s`2 gold.", $cost);
|
||||
output("Looks like you are going to have to hold it or use the Public Toilet!");
|
||||
}
|
||||
addnav("Public Toilet: (free)", "runmodule.php?module=outhouse&op=free");
|
||||
addnav("Hold it", "forest.php");
|
||||
}else{
|
||||
switch(e_rand(1,3)){
|
||||
case 1:
|
||||
output("The Outhouses are closed for repairs.`n");
|
||||
output("You will have to hold it till tomorrow!");
|
||||
break;
|
||||
case 2:
|
||||
output("As you draw close to the Outhouses, you realize that you simply don't think you can bear the smell of another visit to the Outhouses today.");
|
||||
break;
|
||||
case 3:
|
||||
output("You really don't have anything left to relieve today!");
|
||||
break;
|
||||
}
|
||||
output("`n`n`7You return to the forest.`0");
|
||||
require_once("lib/forest.php");
|
||||
forest(true);
|
||||
}
|
||||
}
|
||||
page_footer();
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user