モジュール:サンドボックス/リンゴ

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:サンドボックス/リンゴ/doc 』 から呼び出されています。
エンペディア中毒の簡易診断モジュール。YNとあるものはyes/noで、NUMとあるものは非負整数値。YNHは、「すでに」はyes、「なりたい」は「hope」、「いいえ」はno。コピペ用:

{{#invoke:サンドボックス/リンゴ|score
|最近編集したかYN
|最近新規記事を書いたかYN
|1週間当たり編集NUM
|1週間当たり作成NUM
|1日あたりウォッチ
|禁断症状YN
|1週間あたり日記回数NUM
|1週間当たり連想ゲームNUM
|エンバンク口座開設YN
|エンバンク残金NUM
|管理者依頼経験YN
|通常依頼経験YN
|通常依頼に答えた数NUM
|管理者YNH
|ビューロクラットYNH
|スタッフかYN
|最上位スタッフかYN
|好きな特定ウィキ(wpyp)数NUM
|好きな特定ウィキ(ucp,usp,chaku,nicodic)数NUM
|ミヤコ様を知らないかYN 注意:知っていたらno!
|ウィキペたん好きYN
|ひよこ陛下好きYN
|ウィキペディアは堅苦しいYN
|エンペディアは過疎YN
|なんで利用者少ないのか理解不能YN 理解不能ならyes
|Webの中ではNo.1かYN
|すべてのものの中でNo.1かYN
}}
local p = {}
local yesno = require("モジュール:Yesno")
function p.score(frame)
	local myscore = 0
	
	-- Writing Articles
	local editcount = yesno(frame.args[1], false)
	local newedits = yesno(frame.args[2], false)
	local weekedits = tonumber(frame.args[3])
	local weeknews = tonumber(frame.args[4])
	local watches = tonumber(frame.args[5])
	local ifstopped = yesno(frame.args[6], false)
	
	-- Writing Articles Score
	if editcount then
		myscore=myscore+1
	end
	if newedits then
		myscore=myscore+5
	end
	if weekedits >= 1 then
		myscore=myscore+1
	end
	if weekedits/7 >= 1 then
		myscore=myscore+3
	end
	if weekedits/7 >= 5 then
		myscore=myscore+5
	end
	if weekedits/7 >= 10 then
		myscore=myscore+10
	end
	if weekedits/7 >= 100 then
		myscore=myscore+100
	end
	if weekedits/7 >= 1000 then
		myscore=myscore+1000
	end
	if weeknews >= 1 then
		myscore=myscore+2
	end
	if weeknews/7 >= 1 then
		myscore=myscore+5
	end
	if weeknews/7 >= 5 then
		myscore=myscore+10
	end
	if weeknews/7 >= 10 then
		myscore=myscore+50
	end
	if weeknews/7 >= 100 then
		myscore=myscore+1000
	end
	if watches >= 1 then
		myscore=myscore+5
	end
	if watches >= 5 then
		myscore=myscore+20
	end
	if ifstopped then
		myscore=myscore+30
	end
	
	-- Rest
	local diary = tonumber(frame.args[7])
	local renso = tonumber(frame.args[8])
	local enmoney = yesno(frame.args[9], false)
	local enbank = tonumber(frame.args[10])
	
	-- Rest Score
	if diary>=1 then
		myscore=myscore+1
	end
	if diary/7>=1 then
		myscore=myscore+5
	end
	if renso>=1 then
		myscore=myscore+1
	end
	if renso/7>=1 then
		myscore=myscore+5
	end
	if renso/7==2 then
		myscore=myscore+10
	end
	if enmoney then
		myscore=myscore+5
	end
	if enbank>=10 then
		myscore=myscore+5
	end
	if enbank>=50 then
		myscore=myscore+10
	end
	if enbank>=100 then
		myscore=myscore+30
	end
	if enbank>=1000 then
		myscore=myscore+300
	end
	-- Manage the Wiki
	local askraa = yesno(frame.args[11], false)
	local askreq = yesno(frame.args[12], false)
	local doreq = tonumber(frame.args[13])
	local admin = frame.args[14]
	local bc = frame.args[15]
	local staff = yesno(frame.args[16], false)
	local topstaff = yesno(frame.args[17], false)
	-- Manage the Wiki Score
	if askraa then
		myscore=myscore+5
	end
	if askreq then
		myscore=myscore+5
	end
	myscore=myscore+doreq*3
	if yesno(admin, false) then
		myscore=myscore+40
	elseif admin=="hope" then
		myscore=myscore+10
	end
	if yesno(bc, false) then
		myscore=myscore+40
	elseif bc=="hope" then
		myscore=myscore+10
	end
	if staff then
		myscore=myscore+100
	end
	if topstaff then
		myscore=myscore+50
	end
	-- Other Websites
	local likewpyp = tonumber(frame.args[18])
	local likeucpusp = tonumber(frame.args[19])
	local nomiyako = yesno(frame.args[20], true)
	local wptan = yesno(frame.args[21], false)
	local hiyoko = yesno(frame.args[22], false)
	local wpnotgood = yesno(frame.args[23], false)
	-- Other Websites Score
	myscore=myscore-likewpyp*10
	myscore=myscore-likeucpusp*5
	if nomiyako then
		myscore=myscore-20
	end
	if wptan then
		myscore=myscore-50
	end
	if hiyoko then
		myscore=myscore-50
	end
	if wpnotgood then
		myscore=myscore+5
	end
	-- Last
	local rural = yesno(frame.args[24], false)
	local whyfew = yesno(frame.args[25], false)
	local nowebelse = yesno(frame.args[26], false)
	local noelse = yesno(frame.args[27], false)
	-- Last  Score
	if rural then
		myscore=myscore-25
	end
	if whyfew then
		myscore=myscore+10
	end
	if nowebelse then
		myscore=myscore+25
	end
	if noelse then
		myscore=myscore+50
	end
	
	return myscore
end

function p.msg(frame)
	point = tonumber(frame.args[1])
	if point<=-200 then
		return "急性エンペディア中毒と言うより、他サイトの慢性中毒です。"
	elseif point<=-1 then
		return "急性エンペディア中毒です。"
	elseif point<=49 then
		return "是非エンペディアを編集しましょう。"
	elseif point<=100 then
		return "問題無しです。"
	elseif point<=200 then
		return "慢性中毒予備軍です。"
	elseif point<=300 then
		return "慢性エンペディア中毒です。"
	elseif point<=400 then
		return "管理者に立候補しましょう。"
	elseif point<=500 then
		return "ビューロクラットを目指そう!"
	elseif point<=600 then
		return "スタッフに任命されるよう頑張ろう!"
	elseif point<=700 then
		return "もう後戻り不可能です。"
	elseif point<=800 then
		return "社会復帰は出来ないかもしれません。"
	elseif point<=900 then
		return "必ずエンペディアの歴史に残ります。"
	elseif point<=1000 then
		return "あなたはエンペディアの王者です。"
	else
		return "エンペディアからもう離れられません。離れたらなんらかの症状が出るでしょう。"
	end
end

return p