-
Notifications
You must be signed in to change notification settings - Fork 8
/
weapons.php
174 lines (160 loc) · 7.12 KB
/
weapons.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<?php
// translator ready
// addnews ready
// mail ready
require_once("common.php");
require_once("lib/http.php");
require_once("lib/villagenav.php");
tlschema("weapon");
checkday();
$tradeinvalue = round(($session['user']['weaponvalue']*.75),0);
$basetext=array(
"title" => "MightyE's Weapons",
"desc" => array(
"`!MightyE `7stands behind a counter and appears to pay little attention to you as you enter, but you know from experience that he has his eye on every move you make.",
array("He may be a humble weapons merchant, but he still carries himself with the grace of a man who has used his weapons to kill mightier %s than you.`n`n",translate_inline($session['user']['sex']?"women":"men")),
"The massive hilt of a claymore protrudes above his shoulder; its gleam in the torch light not much brighter than the gleam off of `!MightyE's`7 bald forehead, kept shaved mostly as a strategic advantage, but in no small part because nature insisted that some level of baldness was necessary.`n`n",
"`!MightyE`7 finally nods to you, stroking his goatee and looking like he wished he could have an opportunity to use one of these weapons.",
),
"tradein" => array(
"`7You stroll up the counter and try your best to look like you know what most of these contraptions do.",
array("`!MightyE`7 looks at you and says, \"`#I'll give you `^%s`# trade-in value for your `5%s`#.",$tradeinvalue,$session['user']['weapon']),
"Just click on the weapon you wish to buy, what ever 'click' means`7,\" and looks utterly confused.",
"He stands there a few seconds, snapping his fingers and wondering if that is what is meant by \"click,\" before returning to his work: standing there and looking good.`n`n",
),
"nosuchweapon" => "`!MightyE`7 looks at you, confused for a second, then realizes that you've apparently taken one too many bonks on the head, and nods and smiles.",
"tryagain" => "Try again?",
"notenoughgold" => "Waiting until `!MightyE`7 looks away, you reach carefully for the `5%s`7, which you silently remove from the rack upon which it sits. Secure in your theft, you turn around and head for the door, swiftly, quietly, like a ninja, only to discover that upon reaching the door, the ominous `!MightyE`7 stands, blocking your exit. You execute a flying kick. Mid flight, you hear the \"SHING\" of a sword leaving its sheath.... your foot is gone. You land on your stump, and `!MightyE`7 stands in the doorway, claymore once again in its back holster, with no sign that it had been used, his arms folded menacingly across his burly chest. \"`#Perhaps you'd like to pay for that?`7\" is all he has to say as you collapse at his feet, lifeblood staining the planks under your remaining foot.`n`nYou wake up some time later, having been tossed unconscious into the street.",
"payweapon" => "`!MightyE`7 takes your `5%s`7 and promptly puts a price on it, setting it out for display with the rest of his weapons.`n`nIn return, he hands you a shiny new `5%s`7 which you swoosh around the room, nearly taking off `!MightyE`7's head, which he deftly ducks; you're not the first person to exuberantly try out a new weapon.",
);
$schemas = array(
"title"=>"weapon",
"desc"=>"weapon",
"tradein"=>"weapon",
"nosuchweapon"=>"weapon",
"tryagain"=>"weapon",
"notenoughgold"=>"weapon",
"payweapon"=>"weapon",
);
$basetext['schemas'] = $schemas;
$texts = modulehook("weaponstext",$basetext);
$schemas = $texts['schemas'];
tlschema($schemas['title']);
page_header($texts['title']);
output("`c`b`&".$texts['title']."`0`b`c");
tlschema();
$op = httpget("op");
if ($op==""){
tlschema($schemas['desc']);
if (is_array($texts['desc'])) {
foreach ($texts['desc'] as $description) {
output_notl(sprintf_translate($description));
}
} else {
output($texts['desc']);
}
tlschema();
$sql = "SELECT max(level) AS level FROM " . db_prefix("weapons") . " WHERE level<=".(int)$session['user']['dragonkills'];
$result = db_query($sql);
$row = db_fetch_assoc($result);
$sql = "SELECT * FROM " . db_prefix("weapons") . " WHERE level = ".(int)$row['level']." ORDER BY damage ASC";
$result = db_query($sql);
tlschema($schemas['tradein']);
if (is_array($texts['tradein'])) {
foreach ($texts['tradein'] as $description) {
output_notl(sprintf_translate($description));
}
} else {
output($texts['tradein']);
}
tlschema();
$wname=translate_inline("`bName`b");
$wdam=translate_inline("`bDamage`b");
$wcost=translate_inline("`bCost`b");
rawoutput("<table border='0' cellpadding='0'>");
rawoutput("<tr class='trhead'><td>");
output_notl($wname);
rawoutput("</td><td align='center'>");
output_notl($wdam);
rawoutput("</td><td align='right'>");
output_notl($wcost);
rawoutput("</td></tr>");
$i=0;
while($row = db_fetch_assoc($result)) {
$link = true;
$row = modulehook("modify-weapon", $row);
if (isset($row['skip']) && $row['skip'] === true) {
continue;
}
if (isset($row['unavailable']) && $row['unavailable'] == true) {
$link = false;
}
rawoutput("<tr class='".($i%2==1?"trlight":"trdark")."'><td>");
$color = "`)";
if ($row['value']<=($session['user']['gold']+$tradeinvalue)){
if ($link) {
$color = "`&";
rawoutput("<a href='weapons.php?op=buy&id={$row['weaponid']}'>");
} else {
$color = "`7";
}
output_notl("%s%s`0",$color,$row['weaponname']);
if ($link) {
rawoutput("</a>");
}
addnav("","weapons.php?op=buy&id={$row['weaponid']}");
}else{
output_notl("%s%s`0",$color,$row['weaponname']);
addnav("","weapons.php?op=buy&id={$row['weaponid']}");
}
rawoutput("</td><td align='center'>");
output_notl("%s%s`0",$color,$row['damage']);
rawoutput("</td><td align='right'>");
if (isset($row['alternatetext']) && $row['alternatetext'] > "") {
output("%s%s`0", $color, $row['alternatetext']);
} else {
output_notl("%s%s`0",$color,$row['value']);
}
rawoutput("</td></tr>");
++$i;
}
rawoutput("</table>");
villagenav();
}else if ($op=="buy"){
$id = httpget("id");
$sql = "SELECT * FROM " . db_prefix("weapons") . " WHERE weaponid='$id'";
$result = db_query($sql);
if (db_num_rows($result)==0){
tlschema($schemas['nosuchweapon']);
output($texts['nosuchweapon']);
tlschema();
tlschema($schemas['tryagain']);
addnav($texts['tryagain'],"weapons.php");
tlschema();
villagenav();
}else{
$row = db_fetch_assoc($result);
$row = modulehook("modify-weapon", $row);
if ($row['value']>($session['user']['gold']+$tradeinvalue)){
tlschema($schemas['notenoughgold']);
output($texts['notenoughgold'],$row['weaponname']);
tlschema();
villagenav();
}else{
tlschema($schemas['payweapon']);
output($texts['payweapon'],$session['user']['weapon'],$row['weaponname']);
tlschema();
debuglog("spent " . ($row['value']-$tradeinvalue) . " gold on the " . $row['weaponname'] . " weapon");
$session['user']['gold']-=$row['value'];
$session['user']['weapon'] = $row['weaponname'];
$session['user']['gold']+=$tradeinvalue;
$session['user']['attack']-=$session['user']['weapondmg'];
$session['user']['weapondmg'] = $row['damage'];
$session['user']['attack']+=$session['user']['weapondmg'];
$session['user']['weaponvalue'] = $row['value'];
villagenav();
}
}
}
page_footer();
?>