Make Vault buildable

pyro-refactor
Fiftytwo 2020-08-08 20:51:56 +02:00
parent b9305dfd45
commit 56c99e741e
16 changed files with 55 additions and 31 deletions

View File

@ -769,7 +769,7 @@ msgstr ""
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "" msgstr ""
msgid "Build a destroyer" msgid "Build a vault"
msgstr "" msgstr ""
msgid "Show if the ground is flat" msgid "Show if the ground is flat"

View File

@ -200,9 +200,6 @@ msgstr "Postavit obrannou věž"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Postavit vrtnou věž" msgstr "Postavit vrtnou věž"
msgid "Build a destroyer"
msgstr "Postavit drtič"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Postavit komunikační stanici" msgstr "Postavit komunikační stanici"
@ -275,6 +272,9 @@ msgstr "Vyrobit pásový kanón"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Vyrobit pásový detektor" msgstr "Vyrobit pásový detektor"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1936,3 +1936,6 @@ msgstr "colobot.info"
msgid "epsitec.com" msgid "epsitec.com"
msgstr "epsitec.com" msgstr "epsitec.com"
#~ msgid "Build a destroyer"
#~ msgstr "Postavit drtič"

View File

@ -201,9 +201,6 @@ msgstr "Baut einen Geschützturm"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Baut einen Bohrturm" msgstr "Baut einen Bohrturm"
msgid "Build a destroyer"
msgstr "Baue einen Zerstörer"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Baut einen Infoserver" msgstr "Baut einen Infoserver"
@ -276,6 +273,9 @@ msgstr "Baut einen Kettenshooter"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Baut einen Kettenschnüffler" msgstr "Baut einen Kettenschnüffler"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1967,6 +1967,9 @@ msgstr "epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "3D-Geräusche\\Orten der Geräusche im Raum" #~ msgstr "3D-Geräusche\\Orten der Geräusche im Raum"
#~ msgid "Build a destroyer"
#~ msgstr "Baue einen Zerstörer"
#~ msgid "Building too close" #~ msgid "Building too close"
#~ msgstr "Gebäude zu nahe" #~ msgstr "Gebäude zu nahe"

View File

@ -203,9 +203,6 @@ msgstr "Construire une tour"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Construire un derrick" msgstr "Construire un derrick"
msgid "Build a destroyer"
msgstr "Construire un destructeur"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Construire une station relais" msgstr "Construire une station relais"
@ -278,6 +275,9 @@ msgstr "Fabriquer un tireur à chenilles"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Fabriquer un renifleur à chenilles" msgstr "Fabriquer un renifleur à chenilles"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1966,6 +1966,9 @@ msgstr "epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace" #~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace"
#~ msgid "Build a destroyer"
#~ msgstr "Construire un destructeur"
#~ msgid "Building too close" #~ msgid "Building too close"
#~ msgstr "Bâtiment trop proche" #~ msgstr "Bâtiment trop proche"

View File

@ -199,9 +199,6 @@ msgstr "Zbuduj wieżę obronną"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Zbuduj kopalnię" msgstr "Zbuduj kopalnię"
msgid "Build a destroyer"
msgstr "Zbuduj niszczarkę"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Zbuduj stację przekaźnikową" msgstr "Zbuduj stację przekaźnikową"
@ -274,6 +271,9 @@ msgstr "Zbuduj działo na gąsienicach"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Zbuduj szperacz na gąsienicach" msgstr "Zbuduj szperacz na gąsienicach"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1945,6 +1945,9 @@ msgstr "epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków" #~ msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków"
#~ msgid "Build a destroyer"
#~ msgstr "Zbuduj niszczarkę"
#~ msgid "Building too close" #~ msgid "Building too close"
#~ msgstr "Budynek za blisko" #~ msgstr "Budynek za blisko"

View File

@ -197,9 +197,6 @@ msgstr "Construir uma torre de defesa"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Construir um extrator" msgstr "Construir um extrator"
msgid "Build a destroyer"
msgstr "Construir um destruidor"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Construir um posto de troca" msgstr "Construir um posto de troca"
@ -272,6 +269,9 @@ msgstr "Construir um atirador com esteiras"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Construir um farejador com esteiras" msgstr "Construir um farejador com esteiras"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1964,6 +1964,9 @@ msgstr "epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace" #~ msgstr "Bruitages 3D\\Positionnement sonore dans l'espace"
#~ msgid "Build a destroyer"
#~ msgstr "Construir um destruidor"
#~ msgid "Building too close" #~ msgid "Building too close"
#~ msgstr "Bâtiment trop proche" #~ msgstr "Bâtiment trop proche"

View File

@ -200,9 +200,6 @@ msgstr "Построить защитную башню"
msgid "Build a derrick" msgid "Build a derrick"
msgstr "Построить буровую вышку" msgstr "Построить буровую вышку"
msgid "Build a destroyer"
msgstr "Построить уничтожитель"
msgid "Build a exchange post" msgid "Build a exchange post"
msgstr "Построить пост по обмену сообщениями" msgstr "Построить пост по обмену сообщениями"
@ -275,6 +272,9 @@ msgstr "Собрать гусеничного стрелка"
msgid "Build a tracked sniffer" msgid "Build a tracked sniffer"
msgstr "Собрать гусеничного искателя" msgstr "Собрать гусеничного искателя"
msgid "Build a vault"
msgstr ""
msgid "Build a wheeled builder" msgid "Build a wheeled builder"
msgstr "" msgstr ""
@ -1980,6 +1980,9 @@ msgstr "epsitec.com"
#~ msgid "3D sound\\3D positioning of the sound" #~ msgid "3D sound\\3D positioning of the sound"
#~ msgstr "3D-звук\\Стерео звук" #~ msgstr "3D-звук\\Стерео звук"
#~ msgid "Build a destroyer"
#~ msgstr "Построить уничтожитель"
#~ msgid "Building too close" #~ msgid "Building too close"
#~ msgstr "Здание слишком близко" #~ msgstr "Здание слишком близко"

View File

@ -410,7 +410,7 @@ void InitializeEventTypeTexts()
EVENT_TYPE_TEXT[EVENT_OBJECT_BNUCLEAR] = "EVENT_OBJECT_BNUCLEAR"; EVENT_TYPE_TEXT[EVENT_OBJECT_BNUCLEAR] = "EVENT_OBJECT_BNUCLEAR";
EVENT_TYPE_TEXT[EVENT_OBJECT_BPARA] = "EVENT_OBJECT_BPARA"; EVENT_TYPE_TEXT[EVENT_OBJECT_BPARA] = "EVENT_OBJECT_BPARA";
EVENT_TYPE_TEXT[EVENT_OBJECT_BINFO] = "EVENT_OBJECT_BINFO"; EVENT_TYPE_TEXT[EVENT_OBJECT_BINFO] = "EVENT_OBJECT_BINFO";
EVENT_TYPE_TEXT[EVENT_OBJECT_BDESTROYER] = "EVENT_OBJECT_BDESTROYER"; EVENT_TYPE_TEXT[EVENT_OBJECT_BSAFE] = "EVENT_OBJECT_BSAFE";
EVENT_TYPE_TEXT[EVENT_OBJECT_GFLAT] = "EVENT_OBJECT_GFLAT"; EVENT_TYPE_TEXT[EVENT_OBJECT_GFLAT] = "EVENT_OBJECT_GFLAT";
EVENT_TYPE_TEXT[EVENT_OBJECT_FCREATE] = "EVENT_OBJECT_FCREATE"; EVENT_TYPE_TEXT[EVENT_OBJECT_FCREATE] = "EVENT_OBJECT_FCREATE";
EVENT_TYPE_TEXT[EVENT_OBJECT_FDELETE] = "EVENT_OBJECT_FDELETE"; EVENT_TYPE_TEXT[EVENT_OBJECT_FDELETE] = "EVENT_OBJECT_FDELETE";

View File

@ -474,7 +474,7 @@ enum EventType
EVENT_OBJECT_BNUCLEAR = 1060, EVENT_OBJECT_BNUCLEAR = 1060,
EVENT_OBJECT_BPARA = 1061, EVENT_OBJECT_BPARA = 1061,
EVENT_OBJECT_BINFO = 1062, EVENT_OBJECT_BINFO = 1062,
EVENT_OBJECT_BDESTROYER = 1063, EVENT_OBJECT_BSAFE = 1063,
EVENT_OBJECT_GFLAT = 1070, EVENT_OBJECT_GFLAT = 1070,
EVENT_OBJECT_FCREATE = 1071, EVENT_OBJECT_FCREATE = 1071,
EVENT_OBJECT_FDELETE = 1072, EVENT_OBJECT_FDELETE = 1072,

View File

@ -347,7 +347,7 @@ void InitializeRestext()
stringsEvent[EVENT_OBJECT_BNUCLEAR] = TR("Build a nuclear power plant"); stringsEvent[EVENT_OBJECT_BNUCLEAR] = TR("Build a nuclear power plant");
stringsEvent[EVENT_OBJECT_BPARA] = TR("Build a lightning conductor"); stringsEvent[EVENT_OBJECT_BPARA] = TR("Build a lightning conductor");
stringsEvent[EVENT_OBJECT_BINFO] = TR("Build a exchange post"); stringsEvent[EVENT_OBJECT_BINFO] = TR("Build a exchange post");
stringsEvent[EVENT_OBJECT_BDESTROYER] = TR("Build a destroyer"); stringsEvent[EVENT_OBJECT_BSAFE] = TR("Build a vault");
stringsEvent[EVENT_OBJECT_GFLAT] = TR("Show if the ground is flat"); stringsEvent[EVENT_OBJECT_GFLAT] = TR("Show if the ground is flat");
stringsEvent[EVENT_OBJECT_FCREATE] = TR("Plant a flag"); stringsEvent[EVENT_OBJECT_FCREATE] = TR("Plant a flag");
stringsEvent[EVENT_OBJECT_FDELETE] = TR("Remove a flag"); stringsEvent[EVENT_OBJECT_FDELETE] = TR("Remove a flag");

View File

@ -41,7 +41,8 @@ enum BuildType
BUILD_LABO = (1<<10), //! < AutoLab BUILD_LABO = (1<<10), //! < AutoLab
BUILD_PARA = (1<<11), //! < PowerCaptor BUILD_PARA = (1<<11), //! < PowerCaptor
BUILD_INFO = (1<<12), //! < ExchangePost BUILD_INFO = (1<<12), //! < ExchangePost
BUILD_DESTROYER = (1<<13), //! < Destroyer BUILD_SAFE = (1<<13), //! < Vault
BUILD_DESTROYER = (1<<14), //! < Destroyer
BUILD_GFLAT = (1<<16), //! < checking flat ground BUILD_GFLAT = (1<<16), //! < checking flat ground
BUILD_FLAG = (1<<17) //! < putting / removing flags BUILD_FLAG = (1<<17) //! < putting / removing flags
}; };

View File

@ -885,6 +885,7 @@ int CLevelParserParam::ToBuildFlag(std::string value)
if (value == "AutoLab" ) return BUILD_LABO; if (value == "AutoLab" ) return BUILD_LABO;
if (value == "PowerCaptor" ) return BUILD_PARA; if (value == "PowerCaptor" ) return BUILD_PARA;
if (value == "ExchangePost" ) return BUILD_INFO; if (value == "ExchangePost" ) return BUILD_INFO;
if (value == "Vault" ) return BUILD_SAFE;
if (value == "Destroyer" ) return BUILD_DESTROYER; if (value == "Destroyer" ) return BUILD_DESTROYER;
if (value == "FlatGround" ) return BUILD_GFLAT; if (value == "FlatGround" ) return BUILD_GFLAT;
if (value == "Flag" ) return BUILD_FLAG; if (value == "Flag" ) return BUILD_FLAG;

View File

@ -5887,6 +5887,7 @@ bool CRobotMain::IsBuildingEnabled(ObjectType type)
if(type == OBJECT_NUCLEAR) return IsBuildingEnabled(BUILD_NUCLEAR); if(type == OBJECT_NUCLEAR) return IsBuildingEnabled(BUILD_NUCLEAR);
if(type == OBJECT_INFO) return IsBuildingEnabled(BUILD_INFO); if(type == OBJECT_INFO) return IsBuildingEnabled(BUILD_INFO);
if(type == OBJECT_PARA) return IsBuildingEnabled(BUILD_PARA); if(type == OBJECT_PARA) return IsBuildingEnabled(BUILD_PARA);
if(type == OBJECT_SAFE) return IsBuildingEnabled(BUILD_SAFE);
if(type == OBJECT_DESTROYER) return IsBuildingEnabled(BUILD_DESTROYER); if(type == OBJECT_DESTROYER) return IsBuildingEnabled(BUILD_DESTROYER);
return false; return false;

View File

@ -111,6 +111,7 @@ void CTaskBuild::CreateBuilding(Math::Vector pos, float angle, bool trainer)
if ( m_type == OBJECT_NUCLEAR ) m_buildingHeight = 40.0f; if ( m_type == OBJECT_NUCLEAR ) m_buildingHeight = 40.0f;
if ( m_type == OBJECT_PARA ) m_buildingHeight = 68.0f; if ( m_type == OBJECT_PARA ) m_buildingHeight = 68.0f;
if ( m_type == OBJECT_INFO ) m_buildingHeight = 19.0f; if ( m_type == OBJECT_INFO ) m_buildingHeight = 19.0f;
if ( m_type == OBJECT_SAFE ) m_buildingHeight = 16.0f;
if ( m_type == OBJECT_DESTROYER) m_buildingHeight = 35.0f; if ( m_type == OBJECT_DESTROYER) m_buildingHeight = 35.0f;
if ( m_type == OBJECT_HUSTON ) m_buildingHeight = 45.0f; if ( m_type == OBJECT_HUSTON ) m_buildingHeight = 45.0f;
m_buildingHeight *= 0.25f; m_buildingHeight *= 0.25f;
@ -682,6 +683,7 @@ Error CTaskBuild::FlatFloor()
if ( m_type == OBJECT_NUCLEAR ) radius = 20.0f; if ( m_type == OBJECT_NUCLEAR ) radius = 20.0f;
if ( m_type == OBJECT_PARA ) radius = 20.0f; if ( m_type == OBJECT_PARA ) radius = 20.0f;
if ( m_type == OBJECT_INFO ) radius = 5.0f; if ( m_type == OBJECT_INFO ) radius = 5.0f;
if ( m_type == OBJECT_SAFE ) radius = 20.0f;
if ( m_type == OBJECT_DESTROYER) radius = 20.0f; if ( m_type == OBJECT_DESTROYER) radius = 20.0f;
//if ( radius == 0.0f ) return ERR_UNKNOWN; //if ( radius == 0.0f ) return ERR_UNKNOWN;

View File

@ -3369,6 +3369,7 @@ void CScriptFunctions::Init()
CBotProgram::DefineNum("BuildAutoLab", BUILD_LABO); CBotProgram::DefineNum("BuildAutoLab", BUILD_LABO);
CBotProgram::DefineNum("BuildPowerCaptor", BUILD_PARA); CBotProgram::DefineNum("BuildPowerCaptor", BUILD_PARA);
CBotProgram::DefineNum("BuildExchangePost", BUILD_INFO); CBotProgram::DefineNum("BuildExchangePost", BUILD_INFO);
CBotProgram::DefineNum("BuildVault", BUILD_SAFE);
CBotProgram::DefineNum("BuildDestroyer", BUILD_DESTROYER); CBotProgram::DefineNum("BuildDestroyer", BUILD_DESTROYER);
CBotProgram::DefineNum("FlatGround", BUILD_GFLAT); CBotProgram::DefineNum("FlatGround", BUILD_GFLAT);
CBotProgram::DefineNum("UseFlags", BUILD_FLAG); CBotProgram::DefineNum("UseFlags", BUILD_FLAG);

View File

@ -536,9 +536,9 @@ bool CObjectInterface::EventProcess(const Event &event)
{ {
err = m_taskExecutor->StartTaskBuild(OBJECT_INFO); err = m_taskExecutor->StartTaskBuild(OBJECT_INFO);
} }
if ( action == EVENT_OBJECT_BDESTROYER ) if ( action == EVENT_OBJECT_BSAFE )
{ {
err = m_taskExecutor->StartTaskBuild(OBJECT_DESTROYER); err = m_taskExecutor->StartTaskBuild(OBJECT_SAFE);
} }
if ( action == EVENT_OBJECT_GFLAT ) if ( action == EVENT_OBJECT_GFLAT )
@ -1065,8 +1065,8 @@ bool CObjectInterface::CreateInterface(bool bSelect)
pos.x = ox+sx*5.4f; pos.x = ox+sx*5.4f;
pos.y = oy+sy*0.1f; pos.y = oy+sy*0.1f;
pw->CreateButton(pos, ddim, 128+41, EVENT_OBJECT_BDESTROYER); pw->CreateButton(pos, ddim, 128+47, EVENT_OBJECT_BSAFE);
DeadInterface(pw, EVENT_OBJECT_BDESTROYER, m_main->CanBuild(OBJECT_DESTROYER, m_object->GetTeam())); DeadInterface(pw, EVENT_OBJECT_BSAFE, m_main->CanBuild(OBJECT_SAFE, m_object->GetTeam()));
if ( m_main->IsBuildingEnabled(BUILD_GFLAT) ) if ( m_main->IsBuildingEnabled(BUILD_GFLAT) )
{ {
@ -1520,8 +1520,8 @@ bool CObjectInterface::CreateInterface(bool bSelect)
DeadInterface(pw, EVENT_OBJECT_BPARA, m_main->CanBuild(OBJECT_PARA, m_object->GetTeam())); DeadInterface(pw, EVENT_OBJECT_BPARA, m_main->CanBuild(OBJECT_PARA, m_object->GetTeam()));
pos.x = ox+sx*5.4f; pos.x = ox+sx*5.4f;
pw->CreateButton(pos, ddim, 128+41, EVENT_OBJECT_BDESTROYER); pw->CreateButton(pos, ddim, 128+47, EVENT_OBJECT_BSAFE);
DeadInterface(pw, EVENT_OBJECT_BDESTROYER, m_main->CanBuild(OBJECT_DESTROYER, m_object->GetTeam())); DeadInterface(pw, EVENT_OBJECT_BSAFE, m_main->CanBuild(OBJECT_SAFE, m_object->GetTeam()));
if ( m_main->IsBuildingEnabled(BUILD_GFLAT) ) if ( m_main->IsBuildingEnabled(BUILD_GFLAT) )
{ {
@ -1823,7 +1823,7 @@ void CObjectInterface::UpdateInterface()
EnableInterface(pw, EVENT_OBJECT_BNUCLEAR, bEnable); EnableInterface(pw, EVENT_OBJECT_BNUCLEAR, bEnable);
EnableInterface(pw, EVENT_OBJECT_BPARA, bEnable); EnableInterface(pw, EVENT_OBJECT_BPARA, bEnable);
EnableInterface(pw, EVENT_OBJECT_BINFO, bEnable); EnableInterface(pw, EVENT_OBJECT_BINFO, bEnable);
EnableInterface(pw, EVENT_OBJECT_BDESTROYER,bEnable); EnableInterface(pw, EVENT_OBJECT_BSAFE, bEnable);
} }
if ( type == OBJECT_HUMAN || // can create flags? if ( type == OBJECT_HUMAN || // can create flags?
@ -1900,7 +1900,7 @@ void CObjectInterface::UpdateInterface()
pb->SetState(STATE_VISIBLE, m_buildInterface); pb->SetState(STATE_VISIBLE, m_buildInterface);
pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BPARA)); pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BPARA));
pb->SetState(STATE_VISIBLE, m_buildInterface); pb->SetState(STATE_VISIBLE, m_buildInterface);
pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BDESTROYER)); pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BSAFE));
pb->SetState(STATE_VISIBLE, m_buildInterface); pb->SetState(STATE_VISIBLE, m_buildInterface);
pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BINFO)); pb = static_cast< CButton* >(pw->SearchControl(EVENT_OBJECT_BINFO));
pb->SetState(STATE_VISIBLE, m_buildInterface); pb->SetState(STATE_VISIBLE, m_buildInterface);