모듈:SimMD5: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Gustmd7410
잔글편집 요약 없음
백괴게임>Gustmd7410
편집 요약 없음
10번째 줄: 10번째 줄:
for index = 1, 12, 2 do
for index = 1, 12, 2 do
local value = tonumber('0x' .. string.sub(hash, index, index + 1)) / 2.55
local value = tonumber('0x' .. string.sub(hash, index, index + 1)) / 2.55
if (index == 11) then value = value * 3 end
if (index == 9) then value = value * 3 end
value = math.floor(value + 0.5)
value = math.floor(value + 0.5)
if (index == 1) then stat.attack = value
if (index == 1) then stat.attack = value
elseif (index == 3) then stat.quick = value
elseif (index == 3) then stat.defense = value
elseif (index == 5) then stat.defense = value
elseif (index == 5) then stat.hit = value
elseif (index == 7) then stat.hit = value
elseif (index == 7) then stat.luck = value
elseif (index == 9) then stat.luck = value
elseif (index == 9) then stat.HP = value
elseif (index == 11) then stat.HP = value
elseif (index == 11) then stat.quick = value
end
end
end
end

2018년 7월 15일 (일) 19:51 판


모듈 설명문서[보기] [편집] [역사] [새로 고침]

마법의 MD-5 시뮬레이터 등에서 사용되는 스탯 계산 모듈입니다.

MIT 허가서로 배포됩니다.


--나무위키:MD5 배틀 문서의 내용을 바탕으로 제작되었습니다.

local p = {}
	
	function p.stat (frame)
		local hash = mw.hash.hashValue('md5', frame.args[1])
		local data = frame.args[2] or 'json'
		
		local stat = {}
		for index = 1, 12, 2 do
			local value = tonumber('0x' .. string.sub(hash, index, index + 1)) / 2.55
			if (index == 9) then value = value * 3 end
			value = math.floor(value + 0.5)
			
			if (index == 1) then stat.attack = value
				elseif (index == 3) then stat.defense = value
				elseif (index == 5) then stat.hit = value
				elseif (index == 7) then stat.luck = value
				elseif (index == 9) then stat.HP = value
				elseif (index == 11) then stat.quick = value
			end
		end
		
		stat.JSON = mw.text.jsonEncode(stat)
		
		return stat[data]
	end
	
return p