Room Terrains

From Dyrdex.com
Jump to navigation Jump to search

SMAUG sets room terrain by number, which is exactly what MSDP reports as well. Those number to terrain mappings are explained in | Herne's SMAUG Building Guide


1...Inside        (Weather doesn't show)
2...City
3...Field
4...Forest
5...Hills
6...Swimming      (Herne says "Water_swim: PC needs aqua_breath/fly/float or boat)
7...Water         (Herne says "Water_noswim: PC needs aqua_breath/fly/float or boat)
8...Underwater
9...Air
10..Desert
11..Unknown
12..OceanFloor    (PC needs aqua_breath. Can dig here)
13..Underground   (Can dig here)
14..Lava
15..Swamp


I'm not really sure on the difference between 6 and 7, they're both 'watery', both seem to have the same requirements.


If you're running tintin++ you can also just nab the function below and call it anytime you want to know the room terrain by doing something like:

#SHOWME @GetRoomTerrain{$msdp_info[ROOM_TERRAIN]}

Or:

#ALIAS {terrain} {#SHOWME @GetRoomTerrain{$msdp_info[ROOM_TERRAIN]}}


#FUNCTION {GetRoomTerrain} 
       {
       #VAR terrain {};
       #SWITCH {"$msdp_info[ROOM_TERRAIN]"} 
               {
               #CASE {"0"} {#var terrain Inside};
               #CASE {"1"} {#var terrain City};
               #CASE {"2"} {#var terrain Field};
               #CASE {"3"} {#var terrain Forest};
               #CASE {"4"} {#var terrain Hills};
               #CASE {"5"} {#var terrain Mountains};
               #CASE {"6"} {#var terrain Swimming};
               #CASE {"7"} {#var terrain Water};
               #CASE {"8"} {#var terrain Underwater};
               #CASE {"9"} {#var terrain Air};
               #CASE {"10"} {#var terrain Desert};
               #CASE {"11"} {#var terrain Unknown};
               #CASE {"12"} {#var terrain Seafloor};
               #CASE {"13"} {#var terrain Underground};
               #CASE {"14"} {#var terrain Lava};
               #CASE {"15"} {#var terrain Swamp};
               #DEFAULT {#var terrain NONE};
               };
       #RETURN {$terrain};