//Please use mob or src (not usr) in these procs. This way they can be called in the same fashion as procs. /client/verb/wiki(query as text) set name = "wiki" set desc = "Type what you want to know about. This will open the wiki in your web browser. Type nothing to go to the main page." set hidden = 1 var/wikiurl = CONFIG_GET(string/wikiurl) if(wikiurl) if(query) var/output = wikiurl + "/index.php?title=Special%3ASearch&profile=default&search=" + query src << link(output) else if (query != null) src << link(wikiurl) else to_chat(src, "The wiki URL is not set in the server configuration.") return /client/verb/forum() set name = "forum" set desc = "Visit the forum." set hidden = 1 var/forumurl = CONFIG_GET(string/forumurl) if(forumurl) if(alert("This will open the forum in your browser. Are you sure?",,"Yes","No")!="Yes") return src << link(forumurl) else to_chat(src, "The forum URL is not set in the server configuration.") return /client/verb/rules() set name = "rules" set desc = "Show Server Rules." set hidden = 1 var/rulesurl = CONFIG_GET(string/rulesurl) if(rulesurl) if(alert("This will open the rules in your browser. Are you sure?",,"Yes","No")!="Yes") return src << link(rulesurl) else to_chat(src, "The rules URL is not set in the server configuration.") return /client/verb/github() set name = "github" set desc = "Visit Github" set hidden = 1 var/githuburl = CONFIG_GET(string/githuburl) if(githuburl) if(alert("This will open the Github repository in your browser. Are you sure?",,"Yes","No")!="Yes") return src << link(githuburl) else to_chat(src, "The Github URL is not set in the server configuration.") return /client/verb/reportissue() set name = "report-issue" set desc = "Report an issue" set hidden = 1 var/githuburl = CONFIG_GET(string/githuburl) if(githuburl) var/message = "This will open the Github issue reporter in your browser. Are you sure?" if(GLOB.revdata.testmerge.len) message += "
The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:
" message += GLOB.revdata.GetTestMergeInfo(FALSE) if(tgalert(src, message, "Report Issue","Yes","No")!="Yes") return var/static/issue_template = file2text(".github/ISSUE_TEMPLATE.md") var/servername = CONFIG_GET(string/servername) var/url_params = "Reporting client version: [byond_version]\n\n[issue_template]" if(GLOB.round_id || servername) url_params = "Issue reported from [GLOB.round_id ? " Round ID: [GLOB.round_id][servername ? " ([servername])" : ""]" : servername]\n\n[url_params]" DIRECT_OUTPUT(src, link("[githuburl]/issues/new?body=[url_encode(url_params)]")) else to_chat(src, "The Github URL is not set in the server configuration.") return /client/verb/hotkeys_help() set name = "hotkeys-help" set category = "OOC" var/adminhotkeys = {" Admin: \tF3 = asay \tF5 = Aghost (admin-ghost) \tF6 = player-panel \tF7 = Buildmode \tF8 = Invisimin \tCtrl+F8 = Stealthmin "} mob.hotkey_help() if(holder) to_chat(src, adminhotkeys) /client/verb/changelog() set name = "Changelog" set category = "OOC" var/datum/asset/changelog = get_asset_datum(/datum/asset/simple/changelog) changelog.send(src) src << browse('html/changelog.html', "window=changes;size=675x650") if(prefs.lastchangelog != GLOB.changelog_hash) prefs.lastchangelog = GLOB.changelog_hash prefs.save_preferences() winset(src, "infowindow.changelog", "font-style=;") /mob/proc/hotkey_help() var/hotkey_mode = {" Hotkey-Mode: (hotkey-mode must be on) \tTAB = toggle hotkey-mode \ta = left \ts = down \td = right \tw = up \tq = drop \te = equip \tr = throw \tm = me \tt = say \to = OOC \tb = resist \th = stop pulling \tx = swap-hand \tz = activate held object (or y) \tShift+e = Put held item into belt(or belt slot) or take out most recent item added. \tShift+b = Put held item into backpack(or back slot) or take out most recent item added. \tf = cycle-intents-left \tg = cycle-intents-right \t1 = help-intent \t2 = disarm-intent \t3 = grab-intent \t4 = harm-intent \tNumpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth) \tAlt(HOLD) = Alter movement intent "} var/other = {" Any-Mode: (hotkey doesn't need to be on) \tCtrl+a = left \tCtrl+s = down \tCtrl+d = right \tCtrl+w = up \tCtrl+q = drop \tCtrl+e = equip \tCtrl+r = throw \tCtrl+b = resist \tCtrl+h = stop pulling \tCtrl+o = OOC \tCtrl+x = swap-hand \tCtrl+z = activate held object (or Ctrl+y) \tCtrl+f = cycle-intents-left \tCtrl+g = cycle-intents-right \tCtrl+1 = help-intent \tCtrl+2 = disarm-intent \tCtrl+3 = grab-intent \tCtrl+4 = harm-intent \tCtrl+'+/-' OR \tShift+Mousewheel = Ghost zoom in/out \tDEL = stop pulling \tINS = cycle-intents-right \tHOME = drop \tPGUP = swap-hand \tPGDN = activate held object \tEND = throw \tCtrl+Numpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth) "} to_chat(src, hotkey_mode) to_chat(src, other) /mob/living/silicon/robot/hotkey_help() //h = talk-wheel has a nonsense tag in it because \th is an escape sequence in BYOND. var/hotkey_mode = {" Hotkey-Mode: (hotkey-mode must be on) \tTAB = toggle hotkey-mode \ta = left \ts = down \td = right \tw = up \tq = unequip active module \th = stop pulling \tm = me \tt = say \to = OOC \tx = cycle active modules \tb = resist \tz = activate held object (or y) \tf = cycle-intents-left \tg = cycle-intents-right \t1 = activate module 1 \t2 = activate module 2 \t3 = activate module 3 \t4 = toggle intents "} var/other = {" Any-Mode: (hotkey doesn't need to be on) \tCtrl+a = left \tCtrl+s = down \tCtrl+d = right \tCtrl+w = up \tCtrl+q = unequip active module \tCtrl+x = cycle active modules \tCtrl+b = resist \tCtrl+h = stop pulling \tCtrl+o = OOC \tCtrl+z = activate held object (or Ctrl+y) \tCtrl+f = cycle-intents-left \tCtrl+g = cycle-intents-right \tCtrl+1 = activate module 1 \tCtrl+2 = activate module 2 \tCtrl+3 = activate module 3 \tCtrl+4 = toggle intents \tDEL = stop pulling \tINS = toggle intents \tPGUP = cycle active modules \tPGDN = activate held object "} to_chat(src, hotkey_mode) to_chat(src, other)