사용자:Senouis/RPGinCity.js

리버티게임, 모두가 만들어가는 자유로운 게임
< 사용자:Senouis
imported>Senouis님의 2020년 12월 2일 (수) 13:19 판 (RPG in City 여기로 틀 대응 시작)

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
let usernameStr = mw.user.getName();
let currentpage = mw.config.get("wgPageName");
console.log(currentpage);


function RPGinCity_Title() {
	let startbuttondiv = document.getElementById("RPGinCityStart");
	if (startbuttondiv !== null){
		if (usernameStr === null) {
			startbuttondiv.innerHTML = "<p>로그인이 필요합니다</p>";
		} else {
			let UserDBTitle = new mw.Title("사용자:"+usernameStr+"/RPG in City.json", 2);
			if (UserDBTitle.exists === true){
				startbuttondiv.innerHTML = "<p><big><a href=\""+mw.util.getUrl(UserDBTitle.toText())+ "\">계속하기</a></big></p>";
			} else { 
				startbuttondiv.innerHTML = "<p><big><a href=\""+mw.util.getUrl(UserDBTitle.toText(),{action: 'edit', preload : '틀:RPG_in_City_DB_양식', summary:'생성'})+ "\">새 데이터 만들기</a></big></p>";
			}
		}
	}
}

function RPGinCity_GoToCheckpoint () {
	let JSONDatalist = document.getElementsByClassName("mw-json-value");
	if (currentpage === ("사용자:"+usernameStr+"/RPG_in_City.json") && JSONDatalist.length !== 0) {
		let MWContent = document.getElementById("mw-content-text"); 
		let GotoLink= document.createElement("a");
		GotoLink.href = mw.util.getUrl((JSONDatalist[0].innerText.substring(1, JSONDatalist[0].innerText.length-1)));
		console.log(GotoLink.href);
		GotoLink.innerText = "게임 계속하기";
		MWContent.appendChild(GotoLink);
	}
}

function RPGinCity_Callback_fetchUserInformation(jsonfile) {
	let playerinfo = document.getElementsByClassName("Playerinfo");
	let LevelUpButton = document.getElementById("LevelUp");
	playerinfo[0].innerText = jsonfile.레벨;
	playerinfo[1].innerText = jsonfile.체력;
	playerinfo[2].innerText = jsonfile.경험치;
	playerinfo[3].innerText = jsonfile.;
	playerinfo[4].innerText = jsonfile.배쨈;
	playerinfo[5].innerText = jsonfile.차단폭탄;
	playerinfo[6].innerText = jsonfile.;
	playerinfo[7].innerText = jsonfile.무기;
	if (jsonfile.경험치 > 128 && jsonfile.레벨 + jsonfile.경험치 /128 <= 50) {
		LevelUpButton.innerHTML = "<a href= \"https://libertygame.miraheze.org/wiki/RPG_in_City/레벨_업\">레벨 업!</a>";
	}
	// RPG in City/집 쉬기 기능
	let RestingInHouse = document.getElementById("House");
	if (RestingInHouse !== undefined && jsonfile.체력 < jsonfile.레벨 * 16){
		RestingInHouse.innerText = "너는 한숨 자고 개운한 마음으로 집을 나가려고 한다.\n[[/회복|쉬기]]";
	}
	let GetReadyToBattle = document.getElementById("BattleLink");
	if (GetReadyToBattle !== undefined) {
		BattleLink.innerText.replace("&ThisWillChange", "&mhp="+jsonfile.체력+"&j="+jsonfile.+"&bj="+jsonfile.배쨈+"&bb"+jsonfile.차단폭탄);
	}
}
// ----------------------------------------------------Main------------------------------------------------------------
if (currentpage === "RPG in City") {
	RPGinCity_Title();
}
else if (currentpage === "사용자:"+usernameStr+"/RPG in City.json"){
	RPGinCity_GoToCheckpoint();
}
else if (currentpage.substring(0,11) == "RPG_in_City") { // in game but not in title screen
	console.log("fetching player info...");
	fetch("https://libertygame.miraheze.org/w/index.php?title="+"사용자:"+usernameStr+"/RPG_in_City.json"+"&action=raw")
		.then(response => response.json())
		.then(response => RPGinCity_Callback_fetchUserInformation(response));
}