RPG in City/백괴카통라킹순환고속도로/시작: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
잔글편집 요약 없음
(선택지 수정)
2번째 줄: 2번째 줄:


너는 백괴카통라킹순환고속도로의 시작점에 왔다. 이곳은 보카통이 쪽명의 서부 구역구 침공 지원을 위해 도시 외곽을 따라 몰래 건설한 불법 도로다.
너는 백괴카통라킹순환고속도로의 시작점에 왔다. 이곳은 보카통이 쪽명의 서부 구역구 침공 지원을 위해 도시 외곽을 따라 몰래 건설한 불법 도로다.
{{대화|너|음, 이 도로 끝자락에 라킹시티를 본따 만든 보카통의 요새가 있다고 했지.}}
보카통의 해괴한 취미인 설정놀음이 이 도로에 전개되어 있어서, 나들목 이름부터 백괴스러울 것이다.


어차피 반달러들이 날뛰고 있기도 하고, 내버려두면 도시가 다시 위험에 빠질 수 있기 때문에 당신은 의뢰를 수행하기로 결심했다.
어차피 반달러들이 날뛰고 있기도 하고, 내버려두면 도시가 다시 위험에 빠질 수 있기 때문에 당신은 의뢰를 수행하기로 결심했다.


== 선택 ==
== 선택 ==
 
<choose>
{{여기로|../계속갑니다|계속가기}}
<option weight='2'>
{{여기로|RPG in City/백괴카통라킹순환고속도로/계속갑니다|라킹시티 방향으로 이동}}
</option>
<option>
{{RPG in City 여기로|256|33|RPG in City/백괴카통라킹순환고속도로/계속갑니다/전투|라킹시티 방향으로 이동}}
</option>
<option>
{{RPG in City 여기로|234|34|RPG in City/백괴카통라킹순환고속도로/계속갑니다/전투|라킹시티 방향으로 이동}}
</option>
</choose>


{{여기로|RPG in City/서부 구역구|돌아가기}}
{{여기로|RPG in City/서부 구역구|돌아가기}}
{{RPG in City 정보 끝}}
{{RPG in City 정보 끝}}

2023년 12월 3일 (일) 15:36 판

function RPGinCity(){
	var usernameStr = mw.user.getName();
	var currentpage = mw.config.get("wgPageName");
	var pagenode = currentpage.split('/');
	console.log("사용자:"+ usernameStr + "/RPG_in_City.json");
	if (pagenode[0] !== "RPG_in_City"){
		if (currentpage !== "사용자:"+ usernameStr + "/RPG_in_City.json") {
			console.log("Current page is "+ currentpage +", not playing RPG in City");
			return;
		}
	}
	var fullbasepagename = "";
	for (var node = 0 ; node < pagenode.length - 2; node++){
		fullbasepagename = fullbasepagename + pagenode[node] + "/";
	}
	fullbasepagename = fullbasepagename + pagenode[pagenode.length - 2];
	console.log(fullbasepagename);
	
	/*
	function RPGinCity_Title() {
		var startbuttondiv = document.getElementById("RPGinCityStart");
		var loadbuttondiv =  document.getElementById("RPGinCityLoad");
		if (startbuttondiv !== null && loadbuttondiv !== null){
			if (usernameStr === null) {
				startbuttondiv.innerHTML = "<p>로그인이 필요합니다</p>";
			} else {
				var UserDBTitle = new mw.Title("사용자:"+usernameStr+"/RPG in City.json");
				startbuttondiv.innerHTML = "<p><big><a href=\""+mw.util.getUrl(UserDBTitle.toText(),{action: 'edit', preload : '틀:RPG_in_City_DB_양식', summary:'생성'})+ "\">시작하기</a></big></p>";
				loadbuttondiv.innerHTML = "<p><big><a href=\""+mw.util.getUrl(UserDBTitle.toText())+ "\">계속하기</a></big></p>";
	
			}
		}
	}
	*/
    /*
	function RPGinCity_GoToCheckpoint () {
		var JSONDatalist = document.getElementsByClassName("mw-json-value");
		if (currentpage === ("사용자:"+usernameStr+"/RPG_in_City.json") && JSONDatalist.length !== 0) {
			var MWContent = document.getElementById("mw-content-text"); 
			var 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_pushFightInfo(targetUri, Mhp, Ehp, Jam, PJam, BanBomb, Etype, Elevel, Turn) {
		targetUri.extend({mhp:Mhp});
		targetUri.extend({ehp:Ehp});
		targetUri.extend({j:Jam});
		targetUri.extend({bj:PJam});
		targetUri.extend({bb:BanBomb});
		targetUri.extend({etype:Etype});
		targetUri.extend({elevel:Elevel});
		targetUri.extend({turn:Turn});
		return targetUri;
	}
	
	function RPGinCity_HandleBattle(jsonfile) {
		var Battlelink = new mw.Uri(window.location.href);
		console.log("building battle phase...");
		var queryparams = Battlelink.query;
		// 이제 필요한 값을 구해 화면에 표시한다.
		// 플레이어 체력부터...
		var mhp = 0;
		var playerhealth = document.getElementById("RPGinCity-playerhealth");
		if (isNaN(queryparams.mhp)) {
			mhp = jsonfile.체력;
		} else {
			mhp = queryparams.mhp; // mhp는 이전 문서의 값을 받는다.
		}
		playerhealth.innerText = mhp;
		//적의 레벨
		var enemylevel = document.getElementById("RPGinCity-enemylevel");
		enemylevel.innerText = queryparams.elevel; // elevel는 항상 undefined이 아니다.
		//적의 체력
		var enemyhealth = document.getElementById("RPGinCity-enemyhealth");
		enemyhealth.innerText = queryparams.ehp; // ep는 항상 undefined이 아니다.
		//공격 페이즈
		var nextPhaseUri = new mw.Uri("https://libertyga.me/index.php?title="+currentpage);
        console.log("nextPhaseUri is "+nextPhaseUri);
		var attackEnemy = document.getElementById("RPGinCity-attackEnemy");
		var attackPower = Math.round(Math.random() * jsonfile.레벨*3) + jsonfile.무기;
		var attackEnemyUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, (queryparams.ehp - attackPower) >= 0?queryparams.ehp - attackPower : 0, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2);
        console.log(attackEnemyUri.toString());
		if (attackEnemy !== undefined && attackEnemy !== null){
            var attackEnemyLink = document.createElement("a");
            attackEnemyLink.href = attackEnemyUri.toString();
            attackEnemyLink.innerHTML="그냥 공격!";
            attackEnemy.appendChild(attackEnemyLink);
        }
		var useJam = document.getElementById("RPGinCity-useJam");
		var useJamUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), jsonfile.체력, queryparams.ehp, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2);
		if (useJam !== undefined && useJam !== null) {
            var useJamLink = document.createElement("a");
            useJamLink.href = useJamUri.toString();
            useJamLink.innerHTML="잼으로 회복!";
            useJam.appendChild(useJamLink);
        }
		var usePJ = document.getElementById("RPGinCity-usePJ");
		var usePJUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, queryparams.ehp > 20 ? queryparams.ehp - 20 : 0, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2);
		if (usePJ !== undefined && usePJ !== null) {
            var usePJLink = document.createElement("a");
            usePJLink.href = usePJUri.toString();
            usePJLink.innerHTML="배쨈 열기!";
            usePJ.appendChild(usePJLink);
        }
		var useBanbomb = document.getElementById("RPGinCity-useBanbomb");
		var useBanbombUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, queryparams.ehp/2, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2);
		if (useBanbomb !== undefined && useBanbomb !== null) {
            var useBanbombLink = document.createElement("a");
            useBanbombLink.href = useBanbombUri.toString();
            useBanbombLink.innerHTML="차단폭탄!";
            useBanbomb.appendChild(useBanbombLink);
        }
		//방어 페이즈
		var Blocking = document.getElementById("RPGinCity-Block");
		var BlockingUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp- Math.round(Math.random() * queryparams.elevel * 0.75), queryparams.ehp , queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 1);
		if (Blocking !== undefined && Blocking !== null) {
            var BlockingLink = document.createElement("a");
            BlockingLink.href = BlockingUri.toString();
            BlockingLink.innerHTML="방어";
            Blocking.appendChild(BlockingLink);
        }
		var FailRunning = document.getElementById("RPGinCity-FailRunning");
		var FailRunningUri = RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp - Math.round(Math.random() * queryparams.elevel), queryparams.ehp, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 1);
        console.log(FailRunningUri.toString());
		if (FailRunning !== undefined && FailRunning !== null) {
            var FailRunningLink = document.createElement("a");
            FailRunningLink.href = FailRunningUri.toString();
            FailRunningLink.innerHTML="도망치자!";
            FailRunning.appendChild(FailRunningLink);
        }
		var RunFromEnemy = document.getElementById("RPGinCity-RunFromEnemy");
		var MustKill = document.getElementById("mustKill");
		if (RunFromEnemy !== undefined && RunFromEnemy !== null && (MustKill === undefined || MustKill === null))RunFromEnemy.style.visibility = "visible";
	}
	
	function RPGinCity_SaveHandle(saveGameHandle) {
		var api = new mw.Api();
		var Templink = new mw.Uri(window.location.href);
		var queryparams = Templink.query;
		switch (saveGameHandle.innerText){
			case "서브퀘스트완료":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.추가1 = 0;
                    jsondata.경험치 = jsondata.경험치 + 100;
					jsondata.최근페이지 = fullbasepagename;
					return {text: JSON.stringify(jsondata), summary: "서브퀘스트완료"};
				}
				).then(function () {
				    alert( '퀘스트 수행 완료!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "서브퀘스트수행":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					var questID = document.getElementById("RPGinCity-questID");
					if (questID !== undefined && questID !== null){
						jsondata.추가1 = parseInt(questID.innerText);
						jsondata.최근페이지 = fullbasepagename;
					}
					return {text: JSON.stringify(jsondata), summary: "서브퀘스트수행"};
				}
				).then(function () {
				    alert( '수락 완료!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "메인퀘스트수행":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					var mainQuestPoint = document.getElementById("mainQuestPoint");
					if (mainQuestPoint !== undefined && mainQuestPoint !== null) jsondata.최근페이지 = mainQuestPoint.innerText;
					var questID = document.getElementById("questID");
					if (questID !== undefined && questID !== null)jsondata.추가2 = parseInt(questID.innerText);
					return {text: JSON.stringify(jsondata), summary: "메인퀘스트수행"};
				}
				).then(function () {
				    alert( '완료!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "동부요금지불":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.돈 -= 500*1;
					jsondata.추가2 = 5*1; // force to parse it a number
					jsondata.최근페이지 = "RPG in City/만남의 광장";
					return {text: JSON.stringify(jsondata), summary: "동부요금지불"};
				}
				).then(function () {
				    alert( '지불 완료!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "전투승리":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.체력 = parseInt(queryparams.mhp);
					jsondata.경험치 += queryparams.elevel*4;
					jsondata.돈 += queryparams.elevel*5;
					jsondata.최근페이지 = currentpage.substring(0, currentpage.length-3);
					return {text: JSON.stringify(jsondata), summary: "전투승리"};
				}
				).then(function () {
				    alert( '승리!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "레벨업":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.레벨 += (jsondata.경험치 - jsondata.경험치 % 128)/128;
					jsondata.경험치 = jsondata.경험치 % 128;
					return {text: JSON.stringify(jsondata), summary: "레벨업"};
				}
				).then(function () {
				    alert( '저장 완료!' );
				    if (currentpage !== "RPG in City/레벨 업")document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "회복":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.체력 = jsondata.레벨 * 16;
					return {text: JSON.stringify(jsondata), summary: "회복"};
				}
				).then(function () {
				    alert( '체력이 완전히 회복되었습니다!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "결제":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.잼 += queryparams.j*1;
					jsondata.배쨈 += queryparams.bj*1;
					jsondata.차단폭탄 += queryparams.bb*1;
					jsondata.무기 += queryparams.weapon*1;
					jsondata.돈 -= 50* queryparams.j + 75*queryparams.bj + 150*queryparams.bb + 1000 * queryparams.weapon;
					jsondata.최근페이지 = currentpage.substring(0, currentpage.length-3);
					return {text: JSON.stringify(jsondata), summary: "결제"};
				}
				).then(function () {
				    alert( '결제 완료!' );
				    document.getElementById("RPGinCity-searchphase").style.display = "block";
				});
				break;
			case "카통라킹폭탄지급":
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
                    jsondata.차단폭탄 = jsondata.차단폭탄 + 1;
					jsondata.최근페이지 = fullbasepagename;
					return {text: JSON.stringify(jsondata), summary: "폭탄지급"};
				}
				).then(function () {
				    alert( '폭탄 지급 완료!' );
				});
				break;
			default:
				new mw.Api().edit("사용자:"+usernameStr+"/RPG_in_City.json", function (revision) {
					var jsondata = JSON.parse(revision.content);
					jsondata.최근페이지 = fullbasepagename;
					return {text: JSON.stringify(jsondata), summary: "폭탄지급"};
				}
				).then(function () {
				    alert( '저장 완료!' );
				});
				break;
		}
	}
	
	function RPGinCity_HandleStore(jsondata, storeNumber) {
		var i = storeNumber;
		var Jam = document.getElementsByClassName("RPGinCity-JamAmount")[i];
		if (Jam !== undefined && Jam !== null && Jam.innerText === "") Jam.innerText = "0";
		var PearJam = document.getElementsByClassName("RPGinCity-PearJamAmount")[i];
		if (PearJam !== undefined && PearJam !== null && PearJam.innerText === "") PearJam.innerText = "0";
		var BB = document.getElementsByClassName("RPGinCity-BanBombAmount")[i];
		if (BB !== undefined && BB !== null && BB.innerText === "") BB.innerText = "0";
		var WeaponLevelUp = document.getElementsByClassName("RPGinCity-WeaponLevelUp")[i];
		if (WeaponLevelUp !== undefined && WeaponLevelUp !== null && WeaponLevelUp.innerText === "") WeaponLevelUp.innerText = "0";
		var BuyButton = document.getElementsByClassName("RPGinCity-BuyButton")[i];
		if (BuyButton !== undefined && BuyButton !== null) {
			if (50 * parseInt(Jam.innerText) + 75 * parseInt(PearJam.innerText) + 150* parseInt(BB.innerText) + 1000*parseInt(WeaponLevelUp.innerText) > jsondata.돈) {
				BuyButton.innerText = "돈이 부족하다. 나가서 돈을 구해오자.";
			}
			BuyButton.style.visibility = "visible";
		}
	}
	
	function RPGinCity_Callback_fetchUserInformation(jsonfile) {
		// 정보 틀 관련
		var playerinfo = document.getElementsByClassName("RPGinCity-Playerinfo");
		var LevelUpButton = document.getElementById("RPGinCity-LevelUp");
		if ( playerinfo !== undefined && playerinfo !== null && playerinfo.length > 0)  {
			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 (LevelUpButton !== undefined && LevelUpButton !== null && jsonfile.경험치 > 128 && jsonfile.레벨 + jsonfile.경험치 /128 <= 50) {
                var levelup = document.createElement("a");
                levelup.href = "https://libertyga.me/index.php?title=RPG_in_City/레벨_업&lastgamepage=" + currentpage;
                levelup.innerHTML = "레벨업하기";
				LevelUpButton.appendChild(levelup);
			}
		}
		// RPG in City/집 쉬기 기능
		var RestingInHouse = document.getElementById("RPGinCity-House");
		if (RestingInHouse !== undefined && RestingInHouse != null) {
			if (jsonfile.체력 < jsonfile.레벨 * 16){
                document.getElementById("RPGinCity-needRest").innerHTML = "너는 한숨 자고 개운한 마음으로 이곳을 나가려고 한다.\n";
                var resting = document.createElement("a");
                resting.href = "https://libertyga.me/index.php?title="+currentpage+"/회복";
                resting.innerHTML = "\n쉬기";
				RestingInHouse.appendChild(resting);
			} else {
                RestingInHouse.innerHTML = "너는 몸 상태가 좋아 여기에 머물지 않기로 결정했다.";
            }
			RestingInHouse.style.visibility = "visible";
		}
		// RPG in City 전투 관련 스크립트
		var inBattle = document.getElementById("RPGinCity-Fight");
		if (inBattle !== undefined && inBattle !== null){ 
			RPGinCity_HandleBattle(jsonfile);
		} // 전투 틀 처리 완료
		// 일반적인 상점(문서 내에 단 한 개 존재) 처리
		var storeHandle = document.getElementById("RiCStore");
		if (storeHandle !== undefined && storeHandle !== null){
			RPGinCity_HandleStore(jsonfile, 0);
		}
		//동부2구역구 - 중부구역구 이동 가능 여부 처리
		var DowntownRoadOpen = document.getElementById("DowntownRoad");
		if (DowntownRoadOpen !== undefined && DowntownRoadOpen !== null) {
			if (jsonfile.추가2 < 60) {
				DowntownRoadOpen.innerText = "이런!!! 다운타운 로드는 반달로 인해 막혀있다.";
			}
			DowntownRoadOpen.style.visibility = "visible";
		}
		//남부 1구역구 메인퀘스트
		var south1st = document.getElementById("south1st");
		if (south1st !== undefined && south1st !== null) {
			var displaypart;
			if (jsonfile.추가2 < 10){
				displaypart = document.getElementById("beforeBossfight");
				displaypart.style.display = "block";
			} else {
				displaypart = document.getElementById("afterBossfight");
				displaypart.style.display = "block";
			}
		}
		//중부구역구
		var toWest = document.getElementById("toWest");
		if (toWest !== undefined && toWest !== null) {
			if (jsonfile.추가2 < 25) {
				toWest.innerText = "서부 구역구 방향으로 가기 - <중부 구역구가 파괴된 시점에서 서부 구역구를 분리하는 장벽은 강력한 반달러들로 인해 봉쇄 상태를 유지하고 있다>";
			}
			toWest.style.visibility = "visible";
		}
		var toCentralOffice = document.getElementById("toCentralOffice");
		if (toCentralOffice !== undefined && toCentralOffice !== null) {
			if (jsonfile.추가2 < 40) {
				toCentralOffice.innerText = "시청으로 들어가기 - < 시청에 들어갈 방법을 찾아야 한다 >";
			}
			toCentralOffice.style.visibility = "visible";
		}
		var peacefulCentral = document.getElementById("peacefulCentral");
		var dangerousCentral = document.getElementById("dangerousCentral");
		if (peacefulCentral !== undefined && peacefulCentral !== null && dangerousCentral !== undefined && dangerousCentral !== null) {
			if (jsonfile.추가2 >= 70) {
				peacefulCentral.style.visibility = "visible";
			} else {
				dangerousCentral.style.visibility = "visible";
			}
		}
		// 중부 구역구 대피소 퀘스트
		var rescuePeregirl = document.getElementsByClassName("rescuePeregirl");
		if (rescuePeregirl !== undefined && rescuePeregirl !== null && rescuePeregirl.length > 0) {
			if (jsonfile.추가2 < 15) {
				rescuePeregirl[1].remove();
				rescuePeregirl[0].style.display = "block";
			} else if (jsonfile.추가2 === 20) {
				rescuePeregirl[0].remove();
				rescuePeregirl[0].style.display = "block";
			} else {
				rescuePeregirl[0].remove();
				rescuePeregirl[0].remove();
				rescuePeregirl[0].style.display = "block";
			}
		}
		var meetPeregirl = document.getElementsByClassName("meetPeregirl");
		if (meetPeregirl !== undefined && meetPeregirl !== null && meetPeregirl.length > 0) {
			if (jsonfile.추가2 < 20) {
				meetPeregirl[0].style.display = "block";
			} else {
				meetPeregirl[0].remove();
				meetPeregirl[0].style.display = "block";
			}
		}
		//남부 1구역구 상점, 문서 구조상 좀 구현이 복잡하여 분리한다.
		var south1stStore = document.getElementsByClassName("south1stStore");
		if (south1stStore !== undefined && south1stStore !== null && south1stStore.length > 0) {
			if (jsonfile.추가2 < 10) {
				south1stStore[0].style.display = "block";
				RPGinCity_HandleStore(jsonfile, 0);
			} else {
				south1stStore[1].style.display = "block";
				RPGinCity_HandleStore(jsonfile, 1);
			}
		}
		//시청 안의 산토끼 몰매 맞고 가나요~
		var cityOffice = document.getElementsByClassName("cityOffice");
		if (cityOffice !== undefined && cityOffice !== null && cityOffice.length > 0) {
			if (jsonfile.추가2 < 70) {
				cityOffice[0].style.display = "block";
			} else {
				cityOffice[1].style.display = "block";
			}
		}
		var cityOfficeInternal = document.getElementsByClassName("cityOfficeInternal");
		if (cityOfficeInternal !== undefined && cityOfficeInternal !== null && cityOfficeInternal.length > 0) {
			if (jsonfile.추가2 >= 65) {
				cityOfficeInternal[0].style.display = "block";
			} else {
				cityOfficeInternal[1].style.display = "block";
			}
		}
		var cityOffice3F = document.getElementsByClassName("cityOffice3F");
		if (cityOffice3F !== undefined && cityOffice3F !== null && cityOffice3F.length > 0) {
			if (jsonfile.추가2 >= 65) {
				cityOffice3F[0].style.display = "block";
			} else {
				cityOffice3F[1].style.display = "block";
			}
		}
		var mayorRoom = document.getElementsByClassName("mayorRoom");
		if (mayorRoom !== undefined && mayorRoom !== null && mayorRoom.length > 0) {
			if (jsonfile.추가2 >= 70) {
				mayorRoom[0].style.display = "block";
			} else {
				mayorRoom[1].style.display = "block";
			}
		}
		// 서브 퀘스트 관련
		var subQuestContent = document.getElementById("SubQuestContent");
		var parentNode;
		if (subQuestContent !== undefined && subQuestContent !== null){
			parentNode = subQuestContent.parentElement;
		}
		if (parentNode !== undefined && parentNode !== null && subQuestContent !== undefined && subQuestContent !== null) {
			if (jsonfile.추가1 !== 0) {
				parentNode.removeChild( subQuestContent );
			} else {
				subQuestContent.style.display = "block";
			}
		}
		var subQuestEnd = document.getElementById("SubQuestEnd");
		if (parentNode !== undefined && parentNode !== null &&subQuestEnd !== undefined && subQuestEnd !== null) {
			if (jsonfile.추가1 !== 1) {
				parentNode.removeChild( subQuestEnd );
			} else {
				subQuestEnd.style.display = "block";
			}
		}
		var subQuestNotEnd = document.getElementsByClassName("SubQuestNotEnd");
		if (parentNode !== undefined && parentNode !== null && subQuestNotEnd !== undefined && subQuestNotEnd !== null) {
			if (jsonfile.추가1 < 2) {
				parentNode.removeChild( subQuestNotEnd[0] );
			} else {
				subQuestNotEnd[0].style.display = "block";
			}
		}
		// 자동 세이브 처리 - 가장 마지막에 와야 하는 것
		var saveGameHandle = document.getElementById("RPGinCity-saveGame");
		if (saveGameHandle !== undefined && saveGameHandle !== null) {
			console.log("Saving...");
			RPGinCity_SaveHandle(saveGameHandle);
		}
	}
	
	
	// ----------------------------------------------------Main------------------------------------------------------------
	
	// RPGinCity_Title();
	
	// 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
		var api = new mw.Api();
		console.log("fetching player info...");
		fetch("https://libertyga.me/index.php?title="+"사용자:"+usernameStr+"/RPG_in_City.json"+"&action=raw")
			.then(function(response) {
				if (!response.ok) {
			        // make the promise be rejected if we didn't get a 2xx response
			        throw new Error("Not 2xx response", {cause: response});
			    }
				return response.json();
			})
			.then(function(response) {
				var parsedata = response;
				RPGinCity_Callback_fetchUserInformation(parsedata);
			}
			)
			.catch(function(e){
				console.log(e);
				document.getElementById("RPGinCityLoad").style.display = "none";
			});
	// }
}
$(RPGinCity);
상태 레벨 :
체력 :
경험치 :
잼 :
배쨈 :
폭탄 :
돈 :
무기 레벨:

문의 :

토론방으로


너는 백괴카통라킹순환고속도로의 시작점에 왔다. 이곳은 보카통이 쪽명의 서부 구역구 침공 지원을 위해 도시 외곽을 따라 몰래 건설한 불법 도로다.

 : “음, 이 도로 끝자락에 라킹시티를 본따 만든 보카통의 요새가 있다고 했지.”

보카통의 해괴한 취미인 설정놀음이 이 도로에 전개되어 있어서, 나들목 이름부터 백괴스러울 것이다.

어차피 반달러들이 날뛰고 있기도 하고, 내버려두면 도시가 다시 위험에 빠질 수 있기 때문에 당신은 의뢰를 수행하기로 결심했다.

선택

라킹시티 방향으로 이동 


돌아가기