RPG in City/저장소/전투 구현: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Senouis
잔글 (이상한 편집)
imported>Bd3076
잔글 (판 1개를 가져왔습니다: libertygame file upload)
 
(사용자 2명의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{#vardefine:prepage|RPG in City/집}}
{{#vardefine:레벨|{{:RPG in City/DB/{{#username:}}|레벨}}}}
{{#vardefine:체력|{{:RPG in City/DB/{{#username:}}|체력}}}}{{#vardefine:경험치|{{:RPG in City/DB/{{#username:}}|exp}}}}{{#vardefine:경험치 최대|{{:RPG in City/DB/{{#username:}}|maxexp}}}}{{#vardefine:돈|{{:RPG in City/DB/{{#username:}}|돈}}}}{{#vardefine:직업|{{:RPG in City/DB/{{#username:}}|직업}}}}{{#vardefine:무기|{{:RPG in City/DB/{{#username:}}|무기}}}}{{#vardefine:잼|{{:RPG in City/DB/{{#username:}}|잼}}}}{{#vardefine:배쨈|{{:RPG in City/DB/{{#username:}}|배쨈}}}}{{#vardefine:드립커피|{{:RPG in City/DB/{{#username:}}|드립커피}}}}{{#vardefine:코렁탕|{{:RPG in City/DB/{{#username:}}|코렁탕}}}}{{#vardefine:알보칠|{{:RPG in City/DB/{{#username:}}|알보칠}}}}{{#vardefine:위키백과공|{{:RPG in City/DB/{{#username:}}|위키백과공}}}}{{#vardefine:화강석버터구이|{{:RPG in City/DB/{{#username:}}|화강석버터구이}}}}{{#vardefine:추가체력}}{{#vardefine:적체력|50}}{{#vardefine:적데미지}}{{#vardefine:적공격력|5}}{{#vardefine:적방어력|5}}
반달러가 맞은편에 있다.
{{#switch: {{CGI}}
|0=
{{#vardefine:적데미지|0}}
{{#vardefine:추가체력|0}}
{{RPG in City 정보}}
{{RPG in City 정보}}
적의 체력={{#var:적체력}}


무엇을 할까?
{{#ifexpr:{{CGI}}<1000
|
불쌍하군.


{{CGI|1|공격|page=RPG_in_City/저장소/전투_구현}}
{{주석|너는 죽었다.|혹시 치트를 걸려고 했더라도 너도 죽었다}}


{{CGI|2|패스|page=RPG_in_City/저장소/전투_구현}}
GAME OVER


|1=
{{#ifexpr:{{#var:적체력}}<={{#var:적데미지}}
|반달러가 쓰러졌다!


이제 정보를 세이브하자!
[[../|처음으로]]
|너의 차례다!


주의! 다음의 정보 양식를 복사하고 세이브 버튼을 누른후 붙여넣고 저장하는 것 이외의 그 어떤 짓도 하지 마시오!
현재 너의 체력 = {{#expr:trunc(({{CGI}} mod 10000000)/1000)}}


체력이나 아이템 소모등이 맘에 안들면 세이브를 포기해도 되지만 대신 경험치가 저장되지 않는다!
현재 너의 잼 = {{#expr:trunc({{CGI}}/10000000)}}
----
<nowiki>{{#switch:{{{1}}}
|최근페이지=</nowiki>{{#}}<nowiki>
|레벨=</nowiki>{{}}<nowiki>
|체력=</nowiki>{{{2}}}<nowiki>
|exp=</nowiki>{{{2}}}<nowiki>
|돈=</nowiki>{{:RPG in City/DB/{{USERNAME}}}}<nowiki>
|직업=</nowiki>{{{2}}}<nowiki>
|무기=</nowiki>{{{2}}}<nowiki>
|잼=</nowiki>{{{2}}}<nowiki><!-- Health Portion -->
|배쨈=</nowiki>{{{2}}}<nowiki>
|드립커피=</nowiki>{{{2}}}<nowiki>
|코렁탕=</nowiki>{{{2}}}<nowiki>
|알보칠=</nowiki>{{{2}}}<nowiki>
|화강석버터구이=</nowiki>{{{2}}}<nowiki>
|위백퍼즐공=</nowiki>{{{2}}}<nowiki>
|#default=
{{RPG in City 정보}}
정보 저장 완료!!!
[[{{:RPG in City/DB/{{#username:}}|최근페이지}}|돌아가기]]
}}</nowiki>
----
[{{fullurl:RPG in City/DB/{{#username:}}|action=edit&editintro=편집하다_딴데_새지_말고_붙여넣은_내용_함부로_고치지_말_것!}} 세이브하러 가기]
|{{#ifexpr:{{#var:체력}}<={{#var:추가체력}}
|
#REDIRECT [[RPG in City/죽음]]
|
반달러가 반달썰기를 사용했다!


{{#vardefine:추가체력|{{#expr:{{#var:추가체력}}+{{#var:적공격력}}-({{#var:레벨}}*3)}}}}
현재 적의 체력 = {{#expr:{{CGI}} mod 1000}}


체력={{#var:체력}}-{{#var:추가체력}}
무엇을 할까?


너는 공격을 했다.
* {{CGI여기로|{{#expr:{{CGI}}-75}}|{{FULLPAGENAME}}/적의 공격|공격!}}


{{#vardefine:적데미지|{{#expr:{{#var:적데미지}}+({{#var:레벨}}*3)-{{#var:적방어력}}}}}}
* {{#ifexpr:(trunc({{CGI}}/10000000))<=0|'''잼이 ㅇ벗다'''|{{CGI여기로|{{#expr:{{CGI}}+(-10000000+200000)}}|{{FULLPAGENAME}}/잼|잼 먹기}}}}


다음으로 무엇을 할까?
}}


{{CGI|1|공격|page=RPG_in_City/저장소/전투_구현}}
설명 :


{{CGI|2|패스|page=RPG_in_City/저장소/전투_구현}}
CGI의 자릿수에 정보를 부여했습니다.
}}
 
|2=
<!-- 흠, 여기를 발견하다니, 이런 일에 익숙한가보군. -->
}}
{{#ifeq:{{USERNAME}}|Senouis|
}}
뒤에서부터 첫 세자리 숫자는 적의 체력, 다음 네자리는 사용자의 체력, 다음 한자리는 잼 수
예) 10245586 : 잼 한개, 체력이 245, 적은 586
|}}

2020년 3월 14일 (토) 17:14 기준 최신판

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_pushFightInfo(targetUri, Mhp, Ehp, Jam, PJam, BanBomb, Etype, Elevel, Turn) {
		targetUri.extend({mhp:Mhp, ehp:Ehp, j:Jam, bj:PJam, bb:BanBomb, etype:Etype, elevel:Elevel, 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 attackPower = Math.round(Math.random() * jsonfile.레벨*3) + jsonfile.무기;
		/* 액션 처리 메서드 */
        function RiC_Action(actionElemId, uriValue, actionText) {
        	var itemAction = document.getElementById(actionElemId);
			var itemActionUri = uriValue;
			if (itemAction) {
	            var itemActionLink = document.createElement("a");
	            itemActionLink.href = itemActionUri.toString();
	            itemActionLink.innerHTML=actionText;
	            itemAction.appendChild(itemActionLink);
	        }
        }
        RiC_Action("RPGinCity-attackEnemy", RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, (queryparams.ehp - attackPower) >= 0?queryparams.ehp - attackPower : 0, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2), "그냥 공격!");
        RiC_Action("RPGinCity-useJam", RPGinCity_pushFightInfo(nextPhaseUri.clone(), jsonfile.체력, queryparams.ehp, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2), "잼으로 회복!");
        RiC_Action("RPGinCity-usePJ", RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, queryparams.ehp > 20 ? queryparams.ehp - 20 : 0, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2), "배쨈 열기!");
		RiC_Action("RPGinCity-useBanbomb", RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp, queryparams.ehp/2, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 2), "차단폭탄!");
		//방어 페이즈
		RiC_Action("RPGinCity-Block", 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), "방어");
		RiC_Action("RPGinCity-FailRunning", RPGinCity_pushFightInfo(nextPhaseUri.clone(), mhp - Math.round(Math.random() * queryparams.elevel), queryparams.ehp, queryparams.j, queryparams.bj, queryparams.bb, queryparams.etype, queryparams.elevel, 1), "도망치자!");
		
		var RunFromEnemy = document.getElementById("RPGinCity-RunFromEnemy");
		var MustKill = document.getElementById("mustKill");
		if (RunFromEnemy && !MustKill)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);
상태 레벨 :
체력 :
경험치 :
잼 :
배쨈 :
폭탄 :
돈 :
무기 레벨:

문의 :

토론방으로


불쌍하군.

너는 죽었다.혹시 치트를 걸려고 했더라도 너도 죽었다

GAME OVER


처음으로

설명 :

CGI의 자릿수에 정보를 부여했습니다.