<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.skycorp.global/index.php?action=history&amp;feed=atom&amp;title=Modding%3AMapScene</id>
	<title>Modding:MapScene - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.skycorp.global/index.php?action=history&amp;feed=atom&amp;title=Modding%3AMapScene"/>
	<link rel="alternate" type="text/html" href="http://wiki.skycorp.global/index.php?title=Modding:MapScene&amp;action=history"/>
	<updated>2026-04-25T17:00:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>http://wiki.skycorp.global/index.php?title=Modding:MapScene&amp;diff=1252&amp;oldid=prev</id>
		<title>SkyCorp: MapScene now available to modders</title>
		<link rel="alternate" type="text/html" href="http://wiki.skycorp.global/index.php?title=Modding:MapScene&amp;diff=1252&amp;oldid=prev"/>
		<updated>2026-02-23T20:16:10Z</updated>

		<summary type="html">&lt;p&gt;MapScene now available to modders&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Map Scene is the view of the game that is seen when moving from room to room.  Currently, it also houses a number of movement and action related logic functions that are not map specific (for those see the [[Modding:Map|Map]] class).&lt;br /&gt;
&lt;br /&gt;
==Static Methods==&lt;br /&gt;
&lt;br /&gt;
===static MapScene getInstance()===&lt;br /&gt;
Get the instance of the MapScene class.&lt;br /&gt;
==Public Methods==&lt;br /&gt;
&lt;br /&gt;
===void setCurrentRoomID(string mapName, int newRoom)===&lt;br /&gt;
Sets room player is currently in.  No text / transition is shown to player, this is essentially an &amp;#039;instant&amp;#039; warp with no further logic checks performed.&lt;br /&gt;
&lt;br /&gt;
=== void teleportToRespawn() ===&lt;br /&gt;
Teleport player to a good respawn position (generally after they have died).  The exact location is dependent on the player&amp;#039;s form and other restrictions (map-specific respawn logic will be respected, if available).&lt;br /&gt;
&lt;br /&gt;
=== bool teleportToMapSpecificRespawnIfAny() ===&lt;br /&gt;
Not typically called -- usually you would call teleportToRespawn() instead as there are also fallbacks to teleport the player to other locations.  However, if you want to &amp;#039;&amp;#039;only&amp;#039;&amp;#039; use map specific logic, and otherwise not move the player, this function is good.&lt;br /&gt;
&lt;br /&gt;
=== bool isInPublicOverworldRoom() ===&lt;br /&gt;
Checks if room player is currently in is in view of public (ex: public parts of Mulberry township, near guard outposts, etc)&lt;br /&gt;
&lt;br /&gt;
=== void tickGame() ===&lt;br /&gt;
Essentially this performs one &amp;#039;turn&amp;#039; of the game world -- all subsystem calculations will be called and player/monster states updated, etc.  This will give monster a chance to attack the player, etc.&lt;br /&gt;
&lt;br /&gt;
=== bool getInCombatCurrently() ===&lt;br /&gt;
Is player in combat currently (is there another mob in this room in ATTACK mode?&lt;br /&gt;
&lt;br /&gt;
=== void readyForNextTurn() ===&lt;br /&gt;
This function &amp;#039;resets&amp;#039; the map scene, such that the next time the map scene is shown, it will count as a new turn.  If the player spent a long time in a submenu (ex: made an action that would take a notable amount of time, then it makes sense the world should update in the intervening time.  This will give monster a chance to attack the player, etc. when the map scene is shown again.&lt;br /&gt;
&lt;br /&gt;
=== [[Modding:Entity|Entity]] getPlayerAttacker() ===&lt;br /&gt;
Find a monster that is currently attacking the player (must be in same room).  Nil if none.&lt;br /&gt;
&lt;br /&gt;
[[Category:LUA Class Reference]]&lt;/div&gt;</summary>
		<author><name>SkyCorp</name></author>
	</entry>
</feed>