From 5466aa2af1cff3b8445820f438842eb2f90e85cd Mon Sep 17 00:00:00 2001 From: AL-Kateb Date: Sun, 31 Dec 2017 18:19:05 +0000 Subject: [PATCH] NPC button no longer appears if combined resources are not enough --- .gitignore | 2 +- GameEngine/Village.php | 3 +- Templates/Build/12_upgrades.tpl | 5 ++- Templates/Build/13_upgrades.tpl | 5 ++- Templates/Build/19_train.tpl | 5 ++- Templates/Build/20_2.tpl | 5 ++- Templates/Build/20_3.tpl | 6 +++- Templates/Build/20_4.tpl | 8 +++-- Templates/Build/21.tpl | 6 +++- Templates/Build/22_1.tpl | 5 ++- Templates/Build/22_2.tpl | 6 +++- Templates/Build/22_3.tpl | 4 ++- Templates/Build/22_4.tpl | 4 ++- Templates/Build/22_5.tpl | 4 ++- Templates/Build/24_1.tpl | 8 +++-- Templates/Build/25_train.tpl | 5 ++- Templates/Build/26_train.tpl | 6 +++- Templates/Build/29_train.tpl | 6 +++- Templates/Build/30_train.tpl | 6 +++- Templates/Build/37_revive.tpl | 8 +++-- Templates/Build/37_train.tpl | 63 ++++++++++++++++++++++++--------- Templates/Build/42_train.tpl | 6 +++- Templates/Build/upgrade.tpl | 13 ++++--- Templates/Build/wwupgrade.tpl | 4 ++- Templates/text.tpl | 44 +++++++++++------------ install/process.php | 0 26 files changed, 169 insertions(+), 68 deletions(-) mode change 100755 => 100644 install/process.php diff --git a/.gitignore b/.gitignore index 4966c73b..09f43e87 100644 --- a/.gitignore +++ b/.gitignore @@ -35,4 +35,4 @@ GameEngine/Admin/Mods/constant_format.tpl # These 2 files change frequently on the server but not in the repository code. Templates/text.tpl -var/log/access.log \ No newline at end of file +var/log/access.log diff --git a/GameEngine/Village.php b/GameEngine/Village.php index c53b430b..c200c133 100755 --- a/GameEngine/Village.php +++ b/GameEngine/Village.php @@ -19,7 +19,7 @@ class Village { public $type; public $coor = array(); - public $awood,$aclay,$airon,$acrop,$pop,$maxstore,$maxcrop; + public $awood,$aclay,$airon,$acrop,$pop,$maxstore,$maxcrop,$atotal; public $wid,$vname,$capital,$natar,$master; public $resarray = array(); public $unitarray,$techarray,$unitall,$researching,$abarray = array(); @@ -103,6 +103,7 @@ class Village { $this->aclay = $this->infoarray['clay']; $this->airon = $this->infoarray['iron']; $this->acrop = $this->infoarray['crop']; + $this->atotal = (int)($this->awood + $this->aclay + $this->airon + $this->acrop); $this->pop = $this->infoarray['pop']; $this->maxstore = $this->infoarray['maxstore']; $this->maxcrop = $this->infoarray['maxcrop']; diff --git a/Templates/Build/12_upgrades.tpl b/Templates/Build/12_upgrades.tpl index aa0f1a03..3ff26ef2 100644 --- a/Templates/Build/12_upgrades.tpl +++ b/Templates/Build/12_upgrades.tpl @@ -20,7 +20,10 @@ if($abdata['b'.$j] != 20) { echo "
\"Lumber\"".${'ab'.$i}[$abdata['b'.$j]+1]['wood']."|\"Clay\"".${'ab'.$i}[$abdata['b'.$j]+1]['clay']."|\"Iron\"".${'ab'.$i}[$abdata['b'.$j]+1]['iron']."|\"Crop\"".${'ab'.$i}[$abdata['b'.$j]+1]['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'ab'.$i}[$abdata['b'.$j]+1]['time']*($bid12[$building->getTypeLevel(12)]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'ab'.$i}[$abdata['b'.$j]+1]['wood'] + ${'ab'.$i}[$abdata['b'.$j]+1]['clay'] + ${'ab'.$i}[$abdata['b'.$j]+1]['iron'] + ${'ab'.$i}[$abdata['b'.$j]+1]['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } } diff --git a/Templates/Build/13_upgrades.tpl b/Templates/Build/13_upgrades.tpl index 5c60122a..3bc9ddbc 100644 --- a/Templates/Build/13_upgrades.tpl +++ b/Templates/Build/13_upgrades.tpl @@ -20,7 +20,10 @@ if($abdata['a'.$j] != 20) { echo "
\"Lumber\"".${'ab'.$i}[$abdata['a'.$j]+1]['wood']."|\"Clay\"".${'ab'.$i}[$abdata['a'.$j]+1]['clay']."|\"Iron\"".${'ab'.$i}[$abdata['a'.$j]+1]['iron']."|\"Crop\"".${'ab'.$i}[$abdata['a'.$j]+1]['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'ab'.$i}[$abdata['a'.$j]+1]['time']*($bid13[$building->getTypeLevel(13)]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'ab'.$i}['wood'] + ${'ab'.$i}['clay'] + ${'ab'.$i}['iron'] + ${'ab'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } } diff --git a/Templates/Build/19_train.tpl b/Templates/Build/19_train.tpl index 820680e6..f1325271 100644 --- a/Templates/Build/19_train.tpl +++ b/Templates/Build/19_train.tpl @@ -40,7 +40,10 @@ $dur=round(${'u'.$i}['time'] * ($bid19[$village->resarray['f'.$id]]['attri'] / 1 } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; -if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo "
diff --git a/Templates/Build/20_2.tpl b/Templates/Build/20_2.tpl index a4fdf479..7e177b9b 100644 --- a/Templates/Build/20_2.tpl +++ b/Templates/Build/20_2.tpl @@ -36,7 +36,10 @@ for($i=15;$i<=16;$i++) { } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo "
diff --git a/Templates/Build/20_3.tpl b/Templates/Build/20_3.tpl index 73356c25..24a401d2 100644 --- a/Templates/Build/20_3.tpl +++ b/Templates/Build/20_3.tpl @@ -36,7 +36,11 @@ for($i=23;$i<=26;$i++) { } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo " diff --git a/Templates/Build/20_4.tpl b/Templates/Build/20_4.tpl index 9a082ba8..592ec204 100644 --- a/Templates/Build/20_4.tpl +++ b/Templates/Build/20_4.tpl @@ -36,9 +36,13 @@ for($i=35;$i<=36;$i++) { } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; - } + } echo " diff --git a/Templates/Build/21.tpl b/Templates/Build/21.tpl index bb84ad7e..42ec2fd9 100644 --- a/Templates/Build/21.tpl +++ b/Templates/Build/21.tpl @@ -66,7 +66,11 @@ } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo " diff --git a/Templates/Build/22_1.tpl b/Templates/Build/22_1.tpl index f20f0c93..50d0fd3c 100644 --- a/Templates/Build/22_1.tpl +++ b/Templates/Build/22_1.tpl @@ -17,7 +17,10 @@ for($i=2;$i<=9;$i++) {
\"Lumber\"".${'r'.$i}['wood']."|\"Clay\"".${'r'.$i}['clay']."|\"Iron\"".${'r'.$i}['iron']."|\"Crop\"".${'r'.$i}['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'r'.$i}['time'] * ($bid22[$village->resarray['f'.$id]]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'r'.$i}['wood'] + ${'r'.$i}['clay'] + ${'r'.$i}['iron'] + ${'r'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if(${'r'.$i}['wood'] > $village->maxstore || ${'r'.$i}['clay'] > $village->maxstore || ${'r'.$i}['iron'] > $village->maxstore) { diff --git a/Templates/Build/22_2.tpl b/Templates/Build/22_2.tpl index 24e5840a..c40ae2fc 100644 --- a/Templates/Build/22_2.tpl +++ b/Templates/Build/22_2.tpl @@ -17,7 +17,11 @@ for($i=12;$i<=19;$i++) {
\"Lumber\"".${'r'.$i}['wood']."|\"Clay\"".${'r'.$i}['clay']."|\"Iron\"".${'r'.$i}['iron']."|\"Crop\"".${'r'.$i}['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'r'.$i}['time'] * ($bid22[$village->resarray['f'.$id]]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'r'.$i}['wood'] + ${'r'.$i}['clay'] + ${'r'.$i}['iron'] + ${'r'.$i}['crop']); + echo "Total required is $total_required and total available is " . $village->atotal; + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if(${'r'.$i}['wood'] > $village->maxstore || ${'r'.$i}['clay'] > $village->maxstore || ${'r'.$i}['iron'] > $village->maxstore) { diff --git a/Templates/Build/22_3.tpl b/Templates/Build/22_3.tpl index dfc03210..6b1f568a 100644 --- a/Templates/Build/22_3.tpl +++ b/Templates/Build/22_3.tpl @@ -17,7 +17,9 @@ for($i=22;$i<=29;$i++) {
\"Lumber\"".${'r'.$i}['wood']."|\"Clay\"".${'r'.$i}['clay']."|\"Iron\"".${'r'.$i}['iron']."|\"Crop\"".${'r'.$i}['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'r'.$i}['time'] * ($bid22[$village->resarray['f'.$id]]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'r'.$i}['wood'] + ${'r'.$i}['clay'] + ${'r'.$i}['iron'] + ${'r'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if(${'r'.$i}['wood'] > $village->maxstore || ${'r'.$i}['clay'] > $village->maxstore || ${'r'.$i}['iron'] > $village->maxstore) { diff --git a/Templates/Build/22_4.tpl b/Templates/Build/22_4.tpl index ef1b3ae5..37940bdc 100644 --- a/Templates/Build/22_4.tpl +++ b/Templates/Build/22_4.tpl @@ -17,7 +17,9 @@ for($i=32;$i<=39;$i++) {
\"Lumber\"".${'r'.$i}['wood']."|\"Clay\"".${'r'.$i}['clay']."|\"Iron\"".${'r'.$i}['iron']."|\"Crop\"".${'r'.$i}['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'r'.$i}['time'] * ($bid22[$village->resarray['f'.$id]]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'r'.$i}['wood'] + ${'r'.$i}['clay'] + ${'r'.$i}['iron'] + ${'r'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if(${'r'.$i}['wood'] > $village->maxstore || ${'r'.$i}['clay'] > $village->maxstore || ${'r'.$i}['iron'] > $village->maxstore) { diff --git a/Templates/Build/22_5.tpl b/Templates/Build/22_5.tpl index c8575b5d..b3768776 100644 --- a/Templates/Build/22_5.tpl +++ b/Templates/Build/22_5.tpl @@ -17,7 +17,9 @@ for($i=42;$i<=49;$i++) {
\"Lumber\"".${'r'.$i}['wood']."|\"Clay\"".${'r'.$i}['clay']."|\"Iron\"".${'r'.$i}['iron']."|\"Crop\"".${'r'.$i}['crop']."|\"duration\""; echo $generator->getTimeFormat(round(${'r'.$i}['time'] * ($bid22[$village->resarray['f'.$id]]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(${'r'.$i}['wood'] + ${'r'.$i}['clay'] + ${'r'.$i}['iron'] + ${'r'.$i}['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if(${'r'.$i}['wood'] > $village->maxstore || ${'r'.$i}['clay'] > $village->maxstore || ${'r'.$i}['iron'] > $village->maxstore) { diff --git a/Templates/Build/24_1.tpl b/Templates/Build/24_1.tpl index b7962621..972d7e26 100644 --- a/Templates/Build/24_1.tpl +++ b/Templates/Build/24_1.tpl @@ -16,7 +16,9 @@ echo "
".$cel[$i]['name']." (".$cel[$i]['attri']." ".CULTURE_POINTS.")
\"Lumber\"".$cel[$i]['wood']."|\"Clay\"".$cel[$i]['clay']."|\"Iron\"".$cel[$i]['iron']."|\"Crop\"".$cel[$i]['crop']."|\"duration\""; echo $generator->getTimeFormat(round($cel[$i]['time'] * ($bid24[$building->getTypeLevel(24)]['attri'] / 100)/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($cel[$i]['wood'] + $cel[$i]['clay'] + $cel[$i]['iron'] + $cel[$i]['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if($inuse > $time){ @@ -47,7 +49,9 @@
\"Lumber\"29700|\"Clay\"33250|\"Iron\"32000|\"Crop\"6700|\"duration\""; echo $generator->getTimeFormat(round($gc[$level]/SPEED)); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)(29700 + 33250 + 32000 + 6700); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } if($inuse > $time){ diff --git a/Templates/Build/25_train.tpl b/Templates/Build/25_train.tpl index 98823170..e5656254 100644 --- a/Templates/Build/25_train.tpl +++ b/Templates/Build/25_train.tpl @@ -66,7 +66,10 @@ $dur=round(${'u'.$i}['time'] * ($bid25[$village->resarray['f'.$id]]['attri'] / 1 } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 0) { +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } echo " diff --git a/Templates/Build/26_train.tpl b/Templates/Build/26_train.tpl index 7b27b18d..7a5107db 100644 --- a/Templates/Build/26_train.tpl +++ b/Templates/Build/26_train.tpl @@ -66,7 +66,11 @@ $dur=round(${'u'.$i}['time'] * ($bid26[$village->resarray['f'.$id]]['attri'] / 1 } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) > 1) { + +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } echo " diff --git a/Templates/Build/29_train.tpl b/Templates/Build/29_train.tpl index 5a4e58ca..9f9312d0 100644 --- a/Templates/Build/29_train.tpl +++ b/Templates/Build/29_train.tpl @@ -39,7 +39,11 @@ $dur=round(${'u'.$i}['time'] * ($bid29[$village->resarray['f'.$id]]['attri'] / 1 } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; -if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo "
diff --git a/Templates/Build/30_train.tpl b/Templates/Build/30_train.tpl index 14defb8f..70b9a335 100644 --- a/Templates/Build/30_train.tpl +++ b/Templates/Build/30_train.tpl @@ -39,7 +39,11 @@ $dur=round(${'u'.$i}['time'] * ($bid30[$village->resarray['f'.$id]]['attri'] * ( } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; -if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo "
diff --git a/Templates/Build/37_revive.tpl b/Templates/Build/37_revive.tpl index fd9c8d1c..d87324df 100644 --- a/Templates/Build/37_revive.tpl +++ b/Templates/Build/37_revive.tpl @@ -133,7 +133,9 @@ Duration userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($wood + $clay + $iron + $crop); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } ?> @@ -169,7 +171,9 @@ Duration userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($wood + $clay + $iron + $crop); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } ?> diff --git a/Templates/Build/37_train.tpl b/Templates/Build/37_train.tpl index 7c2c34bb..e1a81d1f 100644 --- a/Templates/Build/37_train.tpl +++ b/Templates/Build/37_train.tpl @@ -64,7 +64,10 @@ if($session->tribe == 1) { \"Crop6| \"Duration\""; $output.=$generator->getTimeFormat(round($u1['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u1['wood'] + $u1['clay'] + $u1['iron'] + $u1['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } $output.=" @@ -101,7 +104,9 @@ if($session->tribe == 1) { \"Duration\""; $output.=$generator->getTimeFormat(round($u2['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u2['wood'] + $u2['clay'] + $u2['iron'] + $u2['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -139,7 +144,9 @@ if($session->tribe == 1) { $output.= $generator->getTimeFormat(round($u3['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u3['wood'] + $u3['clay'] + $u3['iron'] + $u3['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -175,7 +182,9 @@ if($session->tribe == 1) { \"Duration\"". $generator->getTimeFormat(round($u5['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u5['wood'] + $u5['clay'] + $u5['iron'] + $u5['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -212,7 +221,9 @@ if($session->tribe == 1) { \"Duration\"". $generator->getTimeFormat(round($u6['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u6['wood'] + $u6['clay'] + $u6['iron'] + $u6['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -252,7 +263,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u11['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u11['wood'] + $u11['clay'] + $u11['iron'] + $u11['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -289,8 +302,10 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u12['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { - $output .= "|\"NPC"; + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u12['wood'] + $u12['clay'] + $u12['iron'] + $u12['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { + $output .= "|\"NPC"; } $output .= " @@ -328,7 +343,9 @@ $output.=" $generator->getTimeFormat(round($u13['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u13['wood'] + $u13['clay'] + $u13['iron'] + $u13['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -365,7 +382,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u15['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u15['wood'] + $u15['clay'] + $u15['iron'] + $u15['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -403,7 +422,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u16['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u16['wood'] + $u16['clay'] + $u16['iron'] + $u16['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -443,7 +464,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u21['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u21['wood'] + $u21['clay'] + $u21['iron'] + $u21['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -480,7 +503,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u22['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u22['wood'] + $u22['clay'] + $u22['iron'] + $u22['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -518,7 +543,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u24['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u24['wood'] + $u24['clay'] + $u24['iron'] + $u24['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -555,7 +582,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u25['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u25['wood'] + $u25['clay'] + $u25['iron'] + $u25['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } @@ -593,7 +622,9 @@ $output.=" \"Duration\"". $generator->getTimeFormat(round($u26['time'] / SPEED * $artefact_bonus2 / $artefact_bonus)*3); - if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($u26['wood'] + $u26['clay'] + $u26['iron'] + $u26['crop']); + if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { $output .= "|\"NPC"; } diff --git a/Templates/Build/42_train.tpl b/Templates/Build/42_train.tpl index e59a61b8..500aeab7 100644 --- a/Templates/Build/42_train.tpl +++ b/Templates/Build/42_train.tpl @@ -38,7 +38,11 @@ $dur=round(${'u'.$i}['time'] * ($bid42[$village->resarray['f'.$id]]['attri'] / 1 } $dur=$generator->getTimeFormat($dur); echo ($dur=="0:00:00")? "0:00:01":$dur; -if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { + +//-- If available resources combined are not enough, remove NPC button +$total_required = (int)(${'u'.$i}['wood'] + ${'u'.$i}['clay'] + ${'u'.$i}['iron'] + ${'u'.$i}['crop']); + +if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $village->atotal >= $total_required) { echo "|maxUnitPlus($i))."&r2=".((${'u'.$i}['clay'])*$technology->maxUnitPlus($i))."&r3=".((${'u'.$i}['iron'])*$technology->maxUnitPlus($i))."&r4=".((${'u'.$i}['crop'])*$technology->maxUnitPlus($i))."\" title=\"NPC trade\">\"NPC"; } echo " diff --git a/Templates/Build/upgrade.tpl b/Templates/Build/upgrade.tpl index 5a1e963c..1b6a1e07 100644 --- a/Templates/Build/upgrade.tpl +++ b/Templates/Build/upgrade.tpl @@ -1,4 +1,5 @@ resarray['f'.$id.'t']; $bindicate = $building->canBuild($id,$bid); if($bindicate == 1) { @@ -17,15 +18,19 @@ if($bindicate == 1) { if ($master == 1 && $loopsame == 1) { $loopsame = 0; } - + //-- If available resources combined are not enough, remove NPC button $uprequire = $building->resourceRequired($id,$village->resarray['f'.$id.'t'],1+$loopsame+$doublebuild+$master); $mastertime = $uprequire['time']; ?> +awood + $village->aclay + $village->airon + $village->acrop); +$total_required = (int)($uprequire['wood'] + $uprequire['clay'] + $uprequire['iron'] + $uprequire['crop']); +?>

resarray['f'.$id]+1+$loopsame+$doublebuild+$master; ?>:
Lumber | Clay | Iron | Crop | Crop consumption | durationgetTimeFormat($uprequire['time']); -if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) { - echo "|\"NPC"; - } ?>
+if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1 && $total_available >= $total_required) { + echo "| \"NPC"; +} ?>
".WORKERS_ALREADY_WORK.""; diff --git a/Templates/Build/wwupgrade.tpl b/Templates/Build/wwupgrade.tpl index fffd6aa7..c03a012b 100644 --- a/Templates/Build/wwupgrade.tpl +++ b/Templates/Build/wwupgrade.tpl @@ -37,7 +37,9 @@ if ( $building->allowWwUpgrade() ) { title="Crop consumption"/> | durationgetTimeFormat( $uprequire['time'] ); - if ( $session->userinfo['gold'] >= 3 && $building->getTypeLevel( 17 ) >= 1 ) { + //-- If available resources combined are not enough, remove NPC button + $total_required = (int)($uprequire['wood'] + $uprequire['clay'] + $uprequire['iron'] + $uprequire['crop']); + if ( $session->userinfo['gold'] >= 3 && $building->getTypeLevel( 17 ) >= 1 && $village->atotal >= $total_required) { echo "|\"NPC"; } ?>
', $txt); diff --git a/install/process.php b/install/process.php old mode 100755 new mode 100644