Merge branch 'master' of github.com:FacialTurd/The-Powder-Toy
This commit is contained in:
commit
cab667001d
4
README
4
README
@ -1,4 +1,4 @@
|
||||
The Powder Toy - March 2013
|
||||
The Powder Toy - May 2013
|
||||
|
||||
Get the latest version here: http://powdertoy.co.uk/Download.html
|
||||
|
||||
@ -23,11 +23,13 @@ Catelite
|
||||
Bryan Hoyle
|
||||
Nathan Cousins
|
||||
jacksonmj
|
||||
Felix Wallin
|
||||
Lieuwe Mosch
|
||||
Anthony Boot
|
||||
Matthew Miller
|
||||
MaksProg
|
||||
jacob1
|
||||
mniip
|
||||
|
||||
|
||||
Instructions:
|
||||
|
@ -9,18 +9,18 @@ static const char *introTextData =
|
||||
"Shift+drag will create straight lines of particles.\n"
|
||||
"Ctrl+drag will result in filled rectangles.\n"
|
||||
"Ctrl+Shift+click will flood-fill a closed area.\n"
|
||||
"Ctrl+Z will act as Undo.\n"
|
||||
"Use the mouse scroll wheel, or '[' and ']', to change the tool size for particles.\n"
|
||||
"Middle click or Alt+Click to \"sample\" the particles.\n"
|
||||
"Ctrl+Z will act as Undo.\n"
|
||||
"\n\boUse 'Z' for a zoom tool. Click to make the drawable zoom window stay around. Use the wheel to change the zoom strength\n"
|
||||
"The spacebar can be used to pause physics.\n"
|
||||
"Use 'S' to save parts of the window as 'stamps'.\n"
|
||||
"'L' will load the most recent stamp, 'K' shows a library of stamps you saved.\n"
|
||||
"Use the mouse scroll wheel to change the tool size for particles.\n"
|
||||
"The spacebar can be used to pause physics.\n"
|
||||
"'P' will take a screenshot and save it into the current directory.\n"
|
||||
"\n"
|
||||
"Contributors: \bgStanislaw K Skowronek (\brhttp://powder.unaligned.org\bg, \bbirc.unaligned.org #wtf\bg),\n"
|
||||
"Contributors: \bgStanislaw K Skowronek (Designed the original Powder Toy),\n"
|
||||
"\bgSimon Robertshaw, Skresanov Savely, cracker64, Catelite, Bryan Hoyle, Nathan Cousins, jacksonmj,\n"
|
||||
"\bgLieuwe Mosch, Anthony Boot, Matthew \"me4502\", MaksProg, jacob1\n"
|
||||
"\bgFelix Wallin, Lieuwe Mosch, Anthony Boot, Matthew \"me4502\", MaksProg, jacob1, mniip\n"
|
||||
"\n"
|
||||
"\bgTo use online features such as saving, you need to register at: \brhttp://powdertoy.co.uk/Register.html\n"
|
||||
"\n"
|
||||
|
@ -53,10 +53,6 @@ Atom XA_CLIPBOARD, XA_TARGETS;
|
||||
|
||||
char *clipboardText = NULL;
|
||||
|
||||
#ifdef WIN
|
||||
extern "C" IMAGE_DOS_HEADER __ImageBase;
|
||||
#endif
|
||||
|
||||
int desktopWidth = 1280, desktopHeight = 1024;
|
||||
|
||||
SDL_Surface * sdl_scrn;
|
||||
@ -276,8 +272,11 @@ int SDLOpen()
|
||||
exit(-1);
|
||||
}
|
||||
HWND WindowHandle = SysInfo.window;
|
||||
HICON hIconSmall = (HICON)LoadImage(reinterpret_cast<HMODULE>(&__ImageBase), MAKEINTRESOURCE(101), IMAGE_ICON, 16, 16, LR_SHARED);
|
||||
HICON hIconBig = (HICON)LoadImage(reinterpret_cast<HMODULE>(&__ImageBase), MAKEINTRESOURCE(101), IMAGE_ICON, 32, 32, LR_SHARED);
|
||||
|
||||
// Use GetModuleHandle to get the Exe HMODULE/HINSTANCE
|
||||
HMODULE hModExe = GetModuleHandle(NULL);
|
||||
HICON hIconSmall = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(101), IMAGE_ICON, 16, 16, LR_SHARED);
|
||||
HICON hIconBig = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(101), IMAGE_ICON, 32, 32, LR_SHARED);
|
||||
SendMessage(WindowHandle, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall);
|
||||
SendMessage(WindowHandle, WM_SETICON, ICON_BIG, (LPARAM)hIconBig);
|
||||
#elif defined(LIN)
|
||||
@ -543,6 +542,87 @@ int GetModifiers()
|
||||
return SDL_GetModState();
|
||||
}
|
||||
|
||||
#ifdef WIN
|
||||
|
||||
// Returns true if the loaded position was set
|
||||
// Returns false if something went wrong: SDL_GetWMInfo failed or the loaded position was invalid
|
||||
bool LoadWindowPosition(int scale)
|
||||
{
|
||||
SDL_SysWMinfo sysInfo;
|
||||
SDL_VERSION(&sysInfo.version);
|
||||
if (SDL_GetWMInfo(&sysInfo) > 0)
|
||||
{
|
||||
int windowW = (XRES + BARSIZE) * scale;
|
||||
int windowH = (YRES + MENUSIZE) * scale;
|
||||
|
||||
int savedWindowX = Client::Ref().GetPrefInteger("WindowX", INT_MAX);
|
||||
int savedWindowY = Client::Ref().GetPrefInteger("WindowY", INT_MAX);
|
||||
|
||||
// Center the window on the primary desktop by default
|
||||
int newWindowX = (desktopWidth - windowW) / 2;
|
||||
int newWindowY = (desktopHeight - windowH) / 2;
|
||||
|
||||
bool success = false;
|
||||
|
||||
if (savedWindowX != INT_MAX && savedWindowY != INT_MAX)
|
||||
{
|
||||
POINT windowPoints[] = {
|
||||
{savedWindowX, savedWindowY}, // Top-left
|
||||
{savedWindowX + windowW, savedWindowY + windowH} // Bottom-right
|
||||
};
|
||||
|
||||
MONITORINFO monitor;
|
||||
monitor.cbSize = sizeof(monitor);
|
||||
if (GetMonitorInfo(MonitorFromPoint(windowPoints[0], MONITOR_DEFAULTTONEAREST), &monitor) != 0)
|
||||
{
|
||||
// Only use the saved window position if it lies inside the visible screen
|
||||
if (PtInRect(&monitor.rcMonitor, windowPoints[0]) && PtInRect(&monitor.rcMonitor, windowPoints[1]))
|
||||
{
|
||||
newWindowX = savedWindowX;
|
||||
newWindowY = savedWindowY;
|
||||
|
||||
success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Center the window on the nearest monitor
|
||||
newWindowX = monitor.rcMonitor.left + (monitor.rcMonitor.right - monitor.rcMonitor.left - windowW) / 2;
|
||||
newWindowY = monitor.rcMonitor.top + (monitor.rcMonitor.bottom - monitor.rcMonitor.top - windowH) / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetWindowPos(sysInfo.window, 0, newWindowX, newWindowY, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER);
|
||||
|
||||
// True if we didn't use the default, i.e. the position was valid
|
||||
return success;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Returns true if the window position was saved
|
||||
bool SaveWindowPosition()
|
||||
{
|
||||
SDL_SysWMinfo sysInfo;
|
||||
SDL_VERSION(&sysInfo.version);
|
||||
if (SDL_GetWMInfo(&sysInfo) > 0)
|
||||
{
|
||||
WINDOWPLACEMENT placement;
|
||||
placement.length = sizeof(placement);
|
||||
GetWindowPlacement(sysInfo.window, &placement);
|
||||
|
||||
Client::Ref().SetPref("WindowX", placement.rcNormalPosition.left);
|
||||
Client::Ref().SetPref("WindowY", placement.rcNormalPosition.top);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
currentWidth = XRES+BARSIZE;
|
||||
@ -602,7 +682,11 @@ int main(int argc, char * argv[])
|
||||
tempScale = 1;
|
||||
|
||||
int sdlStatus = SDLOpen();
|
||||
#ifdef WIN
|
||||
LoadWindowPosition(tempScale);
|
||||
#endif
|
||||
sdl_scrn = SDLSetScreen(tempScale, tempFullscreen);
|
||||
|
||||
#ifdef OGLI
|
||||
SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
|
||||
//glScaled(2.0f, 2.0f, 1.0f);
|
||||
@ -734,6 +818,10 @@ int main(int argc, char * argv[])
|
||||
|
||||
EngineProcess();
|
||||
|
||||
#ifdef WIN
|
||||
SaveWindowPosition();
|
||||
#endif
|
||||
|
||||
ui::Engine::Ref().CloseWindow();
|
||||
delete gameController;
|
||||
delete ui::Engine::Ref().g;
|
||||
|
@ -514,7 +514,7 @@ int luacon_keyevent(int key, int modifier, int event)
|
||||
callret = lua_pcall(l, 4, 1, 0);
|
||||
if (callret)
|
||||
{
|
||||
if (!strcmp(luaL_optstring(l, -1, ""), "Error: Script not responding"))
|
||||
if (!strcmp(luacon_geterror(), "Error: Script not responding"))
|
||||
{
|
||||
ui::Engine::Ref().LastTick(clock());
|
||||
for(j=i;j<=c-1;j++)
|
||||
@ -566,7 +566,7 @@ int luacon_mouseevent(int mx, int my, int mb, int event, int mouse_wheel)
|
||||
callret = lua_pcall(l, 5, 1, 0);
|
||||
if (callret)
|
||||
{
|
||||
if (!strcmp(luaL_optstring(l, -1, ""), "Error: Script not responding"))
|
||||
if (!strcmp(luacon_geterror(), "Error: Script not responding"))
|
||||
{
|
||||
ui::Engine::Ref().LastTick(clock());
|
||||
for(j=i;j<=c-1;j++)
|
||||
@ -579,7 +579,7 @@ int luacon_mouseevent(int mx, int my, int mb, int event, int mouse_wheel)
|
||||
c--;
|
||||
i--;
|
||||
}
|
||||
luacon_ci->Log(CommandInterface::LogError, luaL_optstring(l, -1, ""));
|
||||
luacon_ci->Log(CommandInterface::LogError, luacon_geterror());
|
||||
lua_pop(l, 1);
|
||||
}
|
||||
else
|
||||
@ -627,7 +627,7 @@ int luacon_step(int mx, int my, std::string selectl, std::string selectr, std::s
|
||||
callret = lua_pcall(l, 0, 0, 0);
|
||||
if (callret)
|
||||
{
|
||||
if (!strcmp(luaL_optstring(l, -1, ""), "Error: Script not responding"))
|
||||
if (!strcmp(luacon_geterror(), "Error: Script not responding"))
|
||||
{
|
||||
ui::Engine::Ref().LastTick(clock());
|
||||
for(j=i;j<=c-1;j++)
|
||||
@ -640,7 +640,7 @@ int luacon_step(int mx, int my, std::string selectl, std::string selectr, std::s
|
||||
c--;
|
||||
i--;
|
||||
}
|
||||
luacon_ci->Log(CommandInterface::LogError, luaL_optstring(l, -1, ""));
|
||||
luacon_ci->Log(CommandInterface::LogError, luacon_geterror());
|
||||
lua_pop(l, 1);
|
||||
}
|
||||
}
|
||||
@ -664,12 +664,32 @@ void luacon_hook(lua_State * l, lua_Debug * ar)
|
||||
}
|
||||
}
|
||||
|
||||
char *luacon_geterror(){
|
||||
char *error = (char*)lua_tostring(luacon_ci->l, -1);
|
||||
if(error==NULL || !error[0]){
|
||||
error = "failed to execute";
|
||||
int luaL_tostring (lua_State *L, int n) {
|
||||
luaL_checkany(L, n);
|
||||
switch (lua_type(L, n)) {
|
||||
case LUA_TNUMBER:
|
||||
lua_pushstring(L, lua_tostring(L, n));
|
||||
break;
|
||||
case LUA_TSTRING:
|
||||
lua_pushvalue(L, n);
|
||||
break;
|
||||
case LUA_TBOOLEAN:
|
||||
lua_pushstring(L, (lua_toboolean(L, n) ? "true" : "false"));
|
||||
break;
|
||||
case LUA_TNIL:
|
||||
lua_pushliteral(L, "nil");
|
||||
break;
|
||||
default:
|
||||
lua_pushfstring(L, "%s: %p", luaL_typename(L, n), lua_topointer(L, n));
|
||||
break;
|
||||
}
|
||||
return error;
|
||||
return 1;
|
||||
}
|
||||
char *luacon_geterror(){
|
||||
luaL_tostring(luacon_ci->l, -1);
|
||||
char* err = (char*)luaL_optstring(luacon_ci->l, -1, "failed to execute");
|
||||
lua_pop(luacon_ci->l, 1);
|
||||
return err;
|
||||
}
|
||||
/*void luacon_close(){
|
||||
lua_close(l);
|
||||
@ -776,7 +796,7 @@ int luacon_graphicsReplacement(GRAPHICS_FUNC_ARGS, int i)
|
||||
callret = lua_pcall(luacon_ci->l, 4, 10, 0);
|
||||
if (callret)
|
||||
{
|
||||
luacon_ci->Log(CommandInterface::LogError, luaL_optstring(luacon_ci->l, -1, ""));
|
||||
luacon_ci->Log(CommandInterface::LogError, luacon_geterror());
|
||||
lua_pop(luacon_ci->l, 1);
|
||||
}
|
||||
else
|
||||
@ -923,27 +943,6 @@ int luatpt_setconsole(lua_State* l)
|
||||
luacon_controller->HideConsole();
|
||||
return 0;
|
||||
}
|
||||
static int luaL_tostring (lua_State *L, int n) {
|
||||
luaL_checkany(L, n);
|
||||
switch (lua_type(L, n)) {
|
||||
case LUA_TNUMBER:
|
||||
lua_pushstring(L, lua_tostring(L, n));
|
||||
break;
|
||||
case LUA_TSTRING:
|
||||
lua_pushvalue(L, n);
|
||||
break;
|
||||
case LUA_TBOOLEAN:
|
||||
lua_pushstring(L, (lua_toboolean(L, n) ? "true" : "false"));
|
||||
break;
|
||||
case LUA_TNIL:
|
||||
lua_pushliteral(L, "nil");
|
||||
break;
|
||||
default:
|
||||
lua_pushfstring(L, "%s: %p", luaL_typename(L, n), lua_topointer(L, n));
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
int luatpt_log(lua_State* l)
|
||||
{
|
||||
int args = lua_gettop(l);
|
||||
@ -958,7 +957,11 @@ int luatpt_log(lua_State* l)
|
||||
lua_pop(l, 2);
|
||||
}
|
||||
if((*luacon_currentCommand))
|
||||
(*luacon_lastError) = text;
|
||||
{
|
||||
if(luacon_lastError->length())
|
||||
*luacon_lastError += "; ";
|
||||
*luacon_lastError += text;
|
||||
}
|
||||
else
|
||||
luacon_ci->Log(CommandInterface::LogNotice, text.c_str());
|
||||
return 0;
|
||||
|
@ -9,6 +9,7 @@ extern Graphics * luacon_g;
|
||||
extern Renderer * luacon_ren;
|
||||
|
||||
extern bool *luacon_currentCommand;
|
||||
extern int luaL_tostring(lua_State* l, int n);
|
||||
extern std::string *luacon_lastError;
|
||||
|
||||
extern int *lua_el_func, *lua_el_mode, *lua_gr_func;
|
||||
|
@ -57,6 +57,7 @@ Renderer * luacon_ren;
|
||||
|
||||
bool *luacon_currentCommand;
|
||||
std::string *luacon_lastError;
|
||||
std::string lastCode;
|
||||
|
||||
int *lua_el_func, *lua_el_mode, *lua_gr_func;
|
||||
|
||||
@ -178,6 +179,8 @@ LuaScriptInterface::LuaScriptInterface(GameController * c, GameModel * m):
|
||||
luacon_currentCommand = ¤tCommand;
|
||||
luacon_lastError = &lastError;
|
||||
|
||||
lastCode = "";
|
||||
|
||||
//Replace print function with our screen logging thingy
|
||||
lua_pushcfunction(l, luatpt_log);
|
||||
lua_setglobal(l, "print");
|
||||
@ -2119,14 +2122,53 @@ int LuaScriptInterface::Command(std::string command)
|
||||
}
|
||||
else
|
||||
{
|
||||
int ret;
|
||||
int level = lua_gettop(l), ret;
|
||||
std::string text = "";
|
||||
lastError = "";
|
||||
currentCommand = true;
|
||||
if(lastCode.length())
|
||||
lastCode += "\n";
|
||||
lastCode += command;
|
||||
std::string tmp = "return " + lastCode;
|
||||
ui::Engine::Ref().LastTick(clock());
|
||||
if((ret = luaL_dostring(l, command.c_str())))
|
||||
luaL_loadbuffer(l, tmp.c_str(), tmp.length(), "@console");
|
||||
if(lua_type(l, -1) != LUA_TFUNCTION)
|
||||
{
|
||||
lua_pop(l, 1);
|
||||
luaL_loadbuffer(l, lastCode.c_str(), lastCode.length(), "@console");
|
||||
}
|
||||
if(lua_type(l, -1) != LUA_TFUNCTION)
|
||||
{
|
||||
lastError = luacon_geterror();
|
||||
//Log(LogError, lastError);
|
||||
if(std::string(lastError).find("near '<eof>'")!=-1) //the idea stolen from lua-5.1.5/lua.c
|
||||
lastError = "...";
|
||||
else
|
||||
lastCode = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
lastCode = "";
|
||||
ret = lua_pcall(l, 0, LUA_MULTRET, 0);
|
||||
if(ret)
|
||||
lastError = luacon_geterror();
|
||||
else
|
||||
{
|
||||
for(level++;level<=lua_gettop(l);level++)
|
||||
{
|
||||
luaL_tostring(l, level);
|
||||
if(text.length())
|
||||
text += ", " + std::string(luaL_optstring(l, -1, ""));
|
||||
else
|
||||
text = std::string(luaL_optstring(l, -1, ""));
|
||||
lua_pop(l, 1);
|
||||
}
|
||||
if(text.length())
|
||||
if(lastError.length())
|
||||
lastError += "; " + text;
|
||||
else
|
||||
lastError = text;
|
||||
|
||||
}
|
||||
}
|
||||
currentCommand = false;
|
||||
return ret;
|
||||
|
@ -137,7 +137,7 @@ int TPTScriptInterface::parseNumber(char * stringData)
|
||||
if(cc >= '0' && cc <= '9')
|
||||
currentNumber += cc - '0';
|
||||
else if(cc >= 'a' && cc <= 'f')
|
||||
currentNumber += (cc - 'A') + 10;
|
||||
currentNumber += (cc - 'a') + 10;
|
||||
else if(cc >= 'A' && cc <= 'F')
|
||||
currentNumber += (cc - 'A') + 10;
|
||||
else
|
||||
|
@ -249,23 +249,26 @@ void ServerSaveActivity::Exit()
|
||||
void ServerSaveActivity::ShowRules()
|
||||
{
|
||||
const char *rules =
|
||||
"These are the rules you should follow when uploading saves. They may change at any time as new problems arise, and how each rule is handled changes depending on the situation.\n"
|
||||
"These are the rules you should follow when uploading saves to avoid having them deleted or otherwise hidden from public view. If you fail to follow them, don't be surprised if your saves get lousy votes, unpublished, or removed from the front page should they make it there. They may change at any time as new problems arise, and how each rule is handled changes depending on the situation.\n"
|
||||
"\n"
|
||||
"\bt1. No image plotting.\bw If you use a program to draw out pixels from an image outside of TPT without drawing it by hand, then don't be surprised when it gets deleted and you get banned.\n"
|
||||
"\bt2. No self voting.\bw This means making more than one account, and then using that account to vote on any save multiple times. We can see this stuff, and people get banned for doing this. Don't do it.\n"
|
||||
"\bt3. No hate saves.\bw This means things like shooting Jews or killing Beiber, these will not be allowed.\n"
|
||||
"\bt4. No penis drawings.\bw Or any other explicit or non-explicit sex please. We like to think this is a game that kids can play, don't post anything too inappropriate for children.\n"
|
||||
"\bt5. Don't ask people to vote.\bw If your stuff is awesome, you shouldn't have to beg for popularity to make it so. People tend to downvote when they see a lot of vote begging anyway.\n"
|
||||
"\bt1. No image plotting.\bw If you use a program to draw out pixels from an image outside of TPT without drawing it by hand, don't be surprised when it gets deleted and you get banned.\n"
|
||||
"\bt2. No self voting.\bw This means making more than one account, and then using that account to vote on any save multiple times. We can see this stuff, and people get banned for doing it. Don't do it.\n"
|
||||
"\bt3. No hate saves.\bw This means things like shooting Jews or killing Beiber; these will not be allowed.\n"
|
||||
"\bt4. No penis drawings.\bw Or any other explicit or non-explicit sex please. We like to think this is a game that kids can play with their family around, don't post anything too inappropriate.\n"
|
||||
"\bt5. Don't ask people to vote.\bw If your stuff is awesome, you shouldn't have to beg for popularity to get votes. People tend to downvote when they see vote begging anyway.\n"
|
||||
"- This includes vote signs in the game, drawings of vote arrows, and comments on the save telling people to vote up.\n"
|
||||
"- Gimmicks for getting votes like '100 votes and I'll make a better version' are similarly frowned upon.\n"
|
||||
"\bt6. Keep the number of logos and signs to a minimum.\bw They not only slow the game down, but it makes saves unappealing for people to use. \n"
|
||||
"\bt6. Keep the number of logos and signs to a minimum.\bw They not only slow the game down, but it can also make saves unappealing for people to use. \n"
|
||||
"- Please do not make fake update or similar update signs either.\n"
|
||||
"\bt7. Please don't swear excessively.\bw Saves containing excessive swearing or rude language will be unpublished. Don't make rude or offensive comments either.\n"
|
||||
"\bt8. Don't make text only saves.\bw Saves are much better when they actually use some of the features in the game. Text only saves will be removed from the front page if they should get there.\n"
|
||||
"- This also relates to art on the front page. Art saves that rely only on the deco layer are generally removed. Other art using elements may stay longer if they are more impressive.\n"
|
||||
"\bt9. Don't claim other's work as your own.\bw If you didn't make it, don't resave it for yourself. You can fav. a save if you want to see it later instead of publishing a copy.\n"
|
||||
"- This doesn't mean you can't modify or improve saves, building on the works of others in encouraged. If you give credit to the original author, it is usually ok to do resave unless the author specifically prohibits it.\n"
|
||||
"\bt8. Don't make text only saves.\bw Saves are much better when they actually use some of the features in the game. Text only saves will be removed from the front page should they ever get there.\n"
|
||||
"- Also, element suggestion saves will be removed from the front page. It's recommended you make a thread on the forum instead so you can get actual criticism from other users and devs.\n"
|
||||
"- This is also related to art on the front page. Art saves that only rely on the deco layer are generally removed. Art using elements may stay longer if it's more impressive.\n"
|
||||
"\bt9. Don't claim others' work as your own.\bw If you didn't make it, don't resave it for yourself. You can fav. a save instead of publishing a copy if you want to see it later.\n"
|
||||
"- This doesn't mean you can't modify or improve saves; building on the works of others in encouraged. If you give credit to the original author, it is usually OK to resave unless the author specifically prohibits it.\n"
|
||||
"\bt10. Do not make laggy saves.\bw If a save is so laggy that it crashes the game for some people, it's just really annoying. Saves that do make it to the front page that purposely lag the game will be demoted.\n"
|
||||
"\n"
|
||||
"You can report a save breaking any one of these rules, the moderators are busy in real life too and don't always have the time to search through all the saves for these kinds of things. If reporting a copied save, just give the id of the original, but if not an id isn't needed.";
|
||||
"You can report a save breaking any one of these rules, as the moderators are busy in real life too and don't always have the time to search through all saves for these kinds of things. If reporting a copied save, just give the ID of the original, but if not an ID isn't needed.";
|
||||
|
||||
new InformationMessage("Save Uploading Rules", rules, true);
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ Element_116::Element_116()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Shared velocity test";
|
||||
Description = "A failed shared velocity test.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART;
|
||||
|
@ -28,7 +28,7 @@ Element_ACEL::Element_ACEL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Accelerator";
|
||||
Description = "Accelerator, speeds up nearby elements.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_AMTR::Element_AMTR()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Anti-Matter, Destroys a majority of particles";
|
||||
Description = "Anti-Matter, destroys a majority of particles.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_PART;
|
||||
|
@ -28,7 +28,7 @@ Element_ARAY::Element_ARAY()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Ray Emitter. Rays create points when they collide";
|
||||
Description = "Ray Emitter. Rays create points when they collide.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_BANG::Element_BANG()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Explosive.";
|
||||
Description = "TNT, explodes all at once.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_BGLA::Element_BGLA()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 150;
|
||||
Description = "Broken Glass, Heavy particles. Meltable. Bagels.";
|
||||
Description = "Broken Glass, heavy particles formed when glass breaks under pressure. Meltable. Bagels.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART | PROP_HOT_GLOW;
|
||||
|
@ -28,7 +28,7 @@ Element_BIZR::Element_BIZR()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Bizarre... contradicts the normal state changes.";
|
||||
Description = "Bizarre... contradicts the normal state changes. Paints other elements with its deco color.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_BIZRG::Element_BIZRG()
|
||||
|
||||
Temperature = R_TEMP-200.0f+273.15f;
|
||||
HeatConduct = 42;
|
||||
Description = "Bizarre gas";
|
||||
Description = "Bizarre gas.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS;
|
||||
|
@ -28,7 +28,7 @@ Element_BIZRS::Element_BIZRS()
|
||||
|
||||
Temperature = R_TEMP+300.0f+273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Bizarre solid";
|
||||
Description = "Bizarre solid.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_BOMB::Element_BOMB()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Bomb.";
|
||||
Description = "Bomb. Explodes and destroys all surrounding particles when it touches something.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC|PROP_SPARKSETTLE;
|
||||
|
@ -28,7 +28,7 @@ Element_BRAY::Element_BRAY()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Ray Point. Rays create points when they collide";
|
||||
Description = "Ray Point. Rays create points when they collide.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
@ -28,7 +28,7 @@ Element_BTRY::Element_BTRY()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Solid. Generates Electricity.";
|
||||
Description = "Solid. Generates infinite electricity.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_C5::Element_C5()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Cold explosive";
|
||||
Description = "Cold explosive, set off by anything cold.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_CAUS::Element_CAUS()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Caustic Gas, acts like Acid";
|
||||
Description = "Caustic Gas, acts like ACID.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS|PROP_DEADLY;
|
||||
|
@ -28,7 +28,7 @@ Element_CBNW::Element_CBNW()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Carbonated water. Conducts electricity. Freezes. Extinguishes fires.";
|
||||
Description = "Carbonated water. Slowly releases CO2.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_CO2::Element_CO2()
|
||||
|
||||
Temperature = R_TEMP+273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Carbon Dioxide";
|
||||
Description = "Carbon Dioxide. Heavy gas, drifts downwards. Carbonates water and turns to dry ice when cold.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS;
|
||||
|
@ -28,7 +28,7 @@ Element_COAL::Element_COAL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 200;
|
||||
Description = "Solid. Burns slowly.";
|
||||
Description = "Coal, Burns very slowly. Gets red when hot.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_CRAY::Element_CRAY()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Particle Ray Emitter. Creates a beam of particles set by ctype, range is set by tmp";
|
||||
Description = "Particle Ray Emitter. Creates a beam of particles set by its ctype, range is set by tmp.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_DCEL::Element_DCEL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Decelerator";
|
||||
Description = "Decelerator, slows down nearby elements.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_DESL::Element_DESL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 42;
|
||||
Description = "Liquid. Explodes under high pressure and temperatures";
|
||||
Description = "Liquid diesel. Explodes under high pressure and temperatures.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_DEST::Element_DEST()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 150;
|
||||
Description = "More destructive Bomb.";
|
||||
Description = "More destructive Bomb, can break through virtually anything.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_DMG::Element_DMG()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "DMG.";
|
||||
Description = "Generates damaging pressure and breaks elements it hits.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC|PROP_SPARKSETTLE;
|
||||
|
@ -28,7 +28,7 @@ Element_DRIC::Element_DRIC()
|
||||
|
||||
Temperature = 172.65f;
|
||||
HeatConduct = 2;
|
||||
Description = "Dry Ice.";
|
||||
Description = "Dry Ice, formed when CO2 is cooled.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_DTEC::Element_DTEC()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Creates a spark when something with its ctype is nearby";
|
||||
Description = "Detector, creates a spark when something with its ctype is nearby.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_ELEC::Element_ELEC()
|
||||
|
||||
Temperature = R_TEMP+200.0f+273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Electrons";
|
||||
Description = "Electrons. Sparks electronics, reacts with NEUT and WATR.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_EMP::Element_EMP()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 121;
|
||||
Description = "Breaks activated electronics.";
|
||||
Description = "Electromagnetic pulse. Breaks activated electronics.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_EXOT::Element_EXOT()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 250;
|
||||
Description = "Exotic matter. Explodes with excess exposure to electrons.";
|
||||
Description = "Exotic matter. Explodes with excess exposure to electrons. Has many other odd reactions.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_FIGH::Element_FIGH()
|
||||
|
||||
Temperature = R_TEMP+14.6f+273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Fighter. Tries to kill stickmen.";
|
||||
Description = "Fighter. Tries to kill stickmen. You must first give it an element to kill him with.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = 0;
|
||||
|
@ -32,7 +32,7 @@ Element_FIRW::Element_FIRW()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Fireworks!";
|
||||
Description = "Fireworks! Colorful, set off by fire";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_FOG::Element_FOG()
|
||||
|
||||
Temperature = 243.15f;
|
||||
HeatConduct = 100;
|
||||
Description = "Not quite Steam";
|
||||
Description = "Fog, created when an electric current is passed through RIME.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_FRAY::Element_FRAY()
|
||||
|
||||
Temperature = 20.0f+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Force Emitter. Push or pull objects based on temp value, use like ARAY";
|
||||
Description = "Force Emitter. Pushes or pulls objects based on its temp value, use like ARAY.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_FRME::Element_FRME()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Frame, can be used with pistons to push many particles";
|
||||
Description = "Frame, can be used with pistons to push many particles.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_FSEP::Element_FSEP()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Fuse Powder. See FUSE.";
|
||||
Description = "Fuse Powder. Burns slowly like FUSE.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART;
|
||||
|
@ -28,7 +28,7 @@ Element_FUSE::Element_FUSE()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 200;
|
||||
Description = "Solid. Burns slowly. Ignites at somewhat high temperatures and electricity.";
|
||||
Description = "Burns slowly. Ignites at somewhat high temperatures or with electricity.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_FWRK::Element_FWRK()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 100;
|
||||
Description = "First fireworks made, activated by heat/neutrons.";
|
||||
Description = "Original version of fireworks, activated by heat/neutrons.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_GAS::Element_GAS()
|
||||
|
||||
Temperature = R_TEMP+2.0f +273.15f;
|
||||
HeatConduct = 42;
|
||||
Description = "Gas. Diffuses. Flammable. Liquefies under pressure.";
|
||||
Description = "Diffuses quickly and flammable. Liquefies into OIL under pressure.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS | PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_GBMB::Element_GBMB()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Sticks to first object it touches then produces strong gravity push.";
|
||||
Description = "Gravity bomb. Sticks to the first object it touches then produces a strong gravity push.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_GEL::Element_GEL()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Gel. A liquid with variable viscosity and heat conductivity";
|
||||
Description = "Gel. A liquid with variable viscosity and heat conductivity.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_LIFE_DEC|PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_GLAS::Element_GLAS()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 150;
|
||||
Description = "Solid. Meltable. Shatters under pressure";
|
||||
Description = "Glass. Meltable. Shatters under pressure, and refracts photons.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPASS | PROP_HOT_GLOW | PROP_SPARKSETTLE;
|
||||
|
@ -28,7 +28,7 @@ Element_GLOW::Element_GLOW()
|
||||
|
||||
Temperature = R_TEMP+20.0f+273.15f;
|
||||
HeatConduct = 44;
|
||||
Description = "Glow, Glows under pressure";
|
||||
Description = "Glow, Glows under pressure.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_LIFE_DEC;
|
||||
|
@ -32,7 +32,7 @@ Element_GOLD::Element_GOLD()
|
||||
Description = "Corrosion resistant metal, will reverse corrosion of iron";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_HOT_GLOW|PROP_LIFE_DEC;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_HOT_GLOW|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
@ -44,7 +44,7 @@ Element_GOLD::Element_GOLD()
|
||||
HighTemperatureTransition = PT_LAVA;
|
||||
|
||||
Update = &Element_GOLD::update;
|
||||
|
||||
Graphics = &Element_GOLD::graphics;
|
||||
}
|
||||
|
||||
//#TPT-Directive ElementHeader Element_GOLD static int update(UPDATE_FUNC_ARGS)
|
||||
@ -85,8 +85,23 @@ int Element_GOLD::update(UPDATE_FUNC_ARGS)
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((sim->photons[y][x]&0xFF) == PT_NEUT)
|
||||
{
|
||||
if (!(rand()%7))
|
||||
{
|
||||
sim->kill_part(sim->photons[y][x]>>8);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//#TPT-Directive ElementHeader Element_GOLD static int graphics(GRAPHICS_FUNC_ARGS)
|
||||
int Element_GOLD::graphics(GRAPHICS_FUNC_ARGS)
|
||||
{
|
||||
*colr += rand()%10-5;
|
||||
*colg += rand()%10-5;
|
||||
*colb += rand()%10-5;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Element_GOLD::~Element_GOLD() {}
|
||||
|
@ -28,7 +28,7 @@ Element_GOO::Element_GOO()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 75;
|
||||
Description = "Solid. Deforms and disappears under pressure.";
|
||||
Description = "Deforms and disappears under pressure.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_GPMP::Element_GPMP()
|
||||
|
||||
Temperature = 0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Changes gravity to its temp when activated. (use HEAT/COOL).";
|
||||
Description = "Gravity pump. Changes gravity to its temp when activated. (use HEAT/COOL)";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_GUNP::Element_GUNP()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 97;
|
||||
Description = "Light dust. Explosive.";
|
||||
Description = "Gunpowder. Light dust, explosive.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART;
|
||||
|
@ -28,7 +28,7 @@ Element_H2::Element_H2()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Combines with O2 to make WATR";
|
||||
Description = "Hydrogen. Combusts with OXYG to make WATR. Undergoes fusion at high temperature and pressure";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS;
|
||||
|
@ -28,7 +28,7 @@ Element_HSWC::Element_HSWC()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Heat switch. Conducts Heat only when activated";
|
||||
Description = "Heat switch. Conducts heat only when activated.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_ICEI::Element_ICEI()
|
||||
|
||||
Temperature = R_TEMP-50.0f+273.15f;
|
||||
HeatConduct = 46;
|
||||
Description = "Solid. Freezes water. Crushes under pressure. Cools down air.";
|
||||
Description = "Crushes under pressure. Cools down air.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_IGNT::Element_IGNT()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Ignition cord.";
|
||||
Description = "Ignition cord. Burns slowly with fire and sparks.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE | PROP_SPARKSETTLE | PROP_LIFE_KILL;
|
||||
|
@ -28,7 +28,7 @@ Element_INSL::Element_INSL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Insulator, does not conduct heat or electricity.";
|
||||
Description = "Insulator, does not conduct heat and blocks electricity.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_INVIS::Element_INVIS()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 164;
|
||||
Description = "Invisible to everything while under pressure.";
|
||||
Description = "Invisible to particles while under pressure.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_IRON::Element_IRON()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Rusts with salt, can be used for electrolysis of WATR";
|
||||
Description = "Rusts with salt, can be used for electrolysis of WATR.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
@ -28,7 +28,7 @@ Element_ISOZ::Element_ISOZ()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Radioactive liquid";
|
||||
Description = "Radioactive liquid. Decays into photons when touching PHOT or under negative pressure.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_ISZS::Element_ISZS()
|
||||
|
||||
Temperature = 140.00f;
|
||||
HeatConduct = 251;
|
||||
Description = "Solid form of ISOZ, slowly decays.";
|
||||
Description = "Solid form of ISOZ, slowly decays into PHOT.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_LAVA::Element_LAVA()
|
||||
|
||||
Temperature = R_TEMP+1500.0f+273.15f;
|
||||
HeatConduct = 60;
|
||||
Description = "Heavy liquid. Ignites flammable materials. Solidifies when cold.";
|
||||
Description = "Molten lava. Ignites flammable materials. Generated when metals and other materials melt, solidifies when cold.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_LIFE_DEC;
|
||||
|
@ -29,7 +29,7 @@ Element_LIGH::Element_LIGH()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "More realistic lightning. Set pen size to set the size of the lightning.";
|
||||
Description = "Lightning. Change the brush size to set the size of the lightning.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_LNTG::Element_LNTG()
|
||||
|
||||
Temperature = 70.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Liquid Nitrogen. Very cold.";
|
||||
Description = "Liquid Nitrogen. Very cold, disappears whenever it touches anything warmer.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_LO2::Element_LO2()
|
||||
|
||||
Temperature = 80.0f;
|
||||
HeatConduct = 70;
|
||||
Description = "Liquid Oxygen. Very cold. Reacts with fire";
|
||||
Description = "Liquid Oxygen. Very cold. Reacts with fire.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_METL::Element_METL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Solid. Conducts electricity. Meltable.";
|
||||
Description = "The basic conductor, meltable and breaks under pressure.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
@ -28,7 +28,7 @@ Element_MWAX::Element_MWAX()
|
||||
|
||||
Temperature = R_TEMP+28.0f+273.15f;
|
||||
HeatConduct = 44;
|
||||
Description = "Liquid Wax.";
|
||||
Description = "Liquid Wax. Hardens into WAX at 45 degrees.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_NBHL::Element_NBHL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 186;
|
||||
Description = "Black hole (Requires newtonian gravity)";
|
||||
Description = "Black hole, sucks in particles using gravity. (Requires Newtonian gravity)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_NBLE::Element_NBLE()
|
||||
|
||||
Temperature = R_TEMP+2.0f +273.15f;
|
||||
HeatConduct = 106;
|
||||
Description = "Noble Gas. Diffuses. Conductive. Ionizes into plasma when introduced to electricity";
|
||||
Description = "Noble Gas. Diffuses and conductive. Ionizes into plasma when introduced to electricity.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_NITR::Element_NITR()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 50;
|
||||
Description = "Liquid. Pressure sensitive explosive.";
|
||||
Description = "Nitroglycerin. Pressure sensitive explosive. Mix with CLST to make TNT.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_NTCT::Element_NTCT()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Semi-conductor. Only conducts electricity when hot (More than 100C)";
|
||||
Description = "Semi-conductor. Only conducts electricity when hot. (More than 100C)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_NWHL::Element_NWHL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 186;
|
||||
Description = "White hole (Requires newtonian gravity)";
|
||||
Description = "White hole, pushes away other particles with gravity. (Requires Newtonian gravity)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_O2::Element_O2()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Gas. Ignites easily.";
|
||||
Description = "Oxygen gas. Ignites easily.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_GAS;
|
||||
|
@ -28,7 +28,7 @@ Element_OIL::Element_OIL()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 42;
|
||||
Description = "Liquid. Flammable.";
|
||||
Description = "Flammable, turns into GAS at low pressure or high temperature. Can be formed with NEUT and NITR.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID | PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_PBCN::Element_PBCN()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Powered breakable clone";
|
||||
Description = "Powered breakable clone.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PCLN::Element_PCLN()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Solid. When activated, duplicates any particles it touches.";
|
||||
Description = "Powered clone. When activated, duplicates any particles it touches.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PHOT::Element_PHOT()
|
||||
|
||||
Temperature = R_TEMP+900.0f+273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Photons. Travel in straight lines.";
|
||||
Description = "Photons. Refracts through glass, scattered by quartz, and color-changed by different elements. Ignites flammable materials.";
|
||||
|
||||
State = ST_GAS;
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_PIPE::Element_PIPE()
|
||||
|
||||
Temperature = 273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Moves elements around, read FAQ on website for help.";
|
||||
Description = "PIPE, moves particles around. Once the BRCK generates, erase some for the exit. Then the PIPE generates and is useable.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_PLEX::Element_PLEX()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Solid. Pressure sensitive explosive.";
|
||||
Description = "Solid pressure sensitive explosive.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE;
|
||||
|
@ -28,7 +28,7 @@ Element_PRTI::Element_PRTI()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Portal IN. Things go in here, now with channels (same as WIFI)";
|
||||
Description = "Portal IN. Things go in here, now with temperature dependent channels (same as WIFI)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PRTO::Element_PRTO()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Portal OUT. Things come out here, now with channels (same as WIFI)";
|
||||
Description = "Portal OUT. Things come out here, now with temperature dependent channels (same as WIFI)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PSTE::Element_PSTE()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Colloid, Hardens under pressure";
|
||||
Description = "Colloid, Hardens under pressure.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID;
|
||||
|
@ -28,7 +28,7 @@ Element_PSTN::Element_PSTN()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Piston, extends and pushes particles";
|
||||
Description = "Piston, extends and pushes particles.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PSTS::Element_PSTS()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Solid form of PSTE, temporary";
|
||||
Description = "Solid form of PSTE.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PTCT::Element_PTCT()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Semi-conductor. Only conducts electricity when cold (Less than 100C)";
|
||||
Description = "Semi-conductor. Only conducts electricity when cold. (Less than 100C)";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_PUMP::Element_PUMP()
|
||||
|
||||
Temperature = 273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Changes pressure to its temp when activated. (use HEAT/COOL).";
|
||||
Description = "Pressure pump. Changes pressure to its temp when activated. (use HEAT/COOL).";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_PVOD::Element_PVOD()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 251;
|
||||
Description = "Solid. When activated, destroys entering particles";
|
||||
Description = "Powered VOID. When activated, destroys entering particles.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_RBDM::Element_RBDM()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 240;
|
||||
Description = "Rubidium, explosive, especially on contact with water, low melting point";
|
||||
Description = "Rubidium. Explosive, especially on contact with water. Low melting point.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_REPL::Element_REPL()
|
||||
|
||||
Temperature = 20.0f+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Repel or attract particles based on temp value.";
|
||||
Description = "Repels or attracts particles based on its temp value.";
|
||||
|
||||
State = ST_NONE;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_RIME::Element_RIME()
|
||||
|
||||
Temperature = 243.15f;
|
||||
HeatConduct = 100;
|
||||
Description = "Not quite Ice";
|
||||
Description = "Solid, created when steam cools rapidly and goes through sublimation.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
@ -28,7 +28,7 @@ Element_SAND::Element_SAND()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 150;
|
||||
Description = "Sand, Heavy particles. Meltable.";
|
||||
Description = "Sand, Heavy particles. Melts into glass.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART;
|
||||
|
@ -28,7 +28,7 @@ Element_SHLD1::Element_SHLD1()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Shield, spark it to grow";
|
||||
Description = "Shield, spark it to grow.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SHLD2::Element_SHLD2()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Shield lvl 2";
|
||||
Description = "Shield lvl 2.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SHLD3::Element_SHLD3()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Shield lvl 3";
|
||||
Description = "Shield lvl 3.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SHLD4::Element_SHLD4()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "Shield lvl 4";
|
||||
Description = "Shield lvl 4.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SING::Element_SING()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 70;
|
||||
Description = "Singularity";
|
||||
Description = "Singularity. Creates huge amounts of negative pressure and destroys everything.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SMKE::Element_SMKE()
|
||||
|
||||
Temperature = R_TEMP+320.0f+273.15f;
|
||||
HeatConduct = 88;
|
||||
Description = "Smoke";
|
||||
Description = "Smoke, created by fire.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SNOW::Element_SNOW()
|
||||
|
||||
Temperature = R_TEMP-30.0f+273.15f;
|
||||
HeatConduct = 46;
|
||||
Description = "Light particles.";
|
||||
Description = "Light particles. Created when ICE breaks under pressure.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
@ -28,7 +28,7 @@ Element_SOAP::Element_SOAP()
|
||||
|
||||
Temperature = R_TEMP-2.0f +273.15f;
|
||||
HeatConduct = 29;
|
||||
Description = "Soap. Creates bubbles.";
|
||||
Description = "Soap. Creates bubbles. Washes off deco color.";
|
||||
|
||||
State = ST_LIQUID;
|
||||
Properties = TYPE_LIQUID|PROP_NEUTPENETRATE|PROP_LIFE_DEC;
|
||||
|
@ -28,7 +28,7 @@ Element_SPAWN::Element_SPAWN()
|
||||
|
||||
Temperature = R_TEMP+0.0f +273.15f;
|
||||
HeatConduct = 0;
|
||||
Description = "STKM spawn point";
|
||||
Description = "STKM spawn point.";
|
||||
|
||||
State = ST_SOLID;
|
||||
Properties = TYPE_SOLID;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user