Add TargetBot research; make it fully operational
parent
5b2f3111b6
commit
5b2b632de3
|
@ -432,6 +432,7 @@ void InitializeEventTypeTexts()
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYrr] = "EVENT_OBJECT_FACTORYrr";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYrr] = "EVENT_OBJECT_FACTORYrr";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYrs] = "EVENT_OBJECT_FACTORYrs";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYrs] = "EVENT_OBJECT_FACTORYrs";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYsa] = "EVENT_OBJECT_FACTORYsa";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYsa] = "EVENT_OBJECT_FACTORYsa";
|
||||||
|
EVENT_TYPE_TEXT[EVENT_OBJECT_FACTORYtg] = "EVENT_OBJECT_FACTORYtg";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_SEARCH] = "EVENT_OBJECT_SEARCH";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_SEARCH] = "EVENT_OBJECT_SEARCH";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_TERRAFORM] = "EVENT_OBJECT_TERRAFORM";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_TERRAFORM] = "EVENT_OBJECT_TERRAFORM";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_FIRE] = "EVENT_OBJECT_FIRE";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_FIRE] = "EVENT_OBJECT_FIRE";
|
||||||
|
@ -527,8 +528,9 @@ void InitializeEventTypeTexts()
|
||||||
EVENT_TYPE_TEXT[EVENT_CODE_BATTLE_START] = "EVENT_CODE_BATTLE_START";
|
EVENT_TYPE_TEXT[EVENT_CODE_BATTLE_START] = "EVENT_CODE_BATTLE_START";
|
||||||
EVENT_TYPE_TEXT[EVENT_CODE_BATTLE_SPECTATOR] = "EVENT_CODE_BATTLE_SPECTATOR";
|
EVENT_TYPE_TEXT[EVENT_CODE_BATTLE_SPECTATOR] = "EVENT_CODE_BATTLE_SPECTATOR";
|
||||||
|
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_RBUILDER] = "EVENT_OBJECT_RBUILDER";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_RBUILDER] = "EVENT_OBJECT_RBUILDER";
|
||||||
EVENT_TYPE_TEXT[EVENT_OBJECT_BUILD] = "EVENT_OBJECT_BUILD";
|
EVENT_TYPE_TEXT[EVENT_OBJECT_BUILD] = "EVENT_OBJECT_BUILD";
|
||||||
|
EVENT_TYPE_TEXT[EVENT_OBJECT_RTARGET] = "EVENT_OBJECT_RTARGET";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string ParseEventType(EventType eventType)
|
std::string ParseEventType(EventType eventType)
|
||||||
|
|
|
@ -496,6 +496,7 @@ enum EventType
|
||||||
EVENT_OBJECT_FACTORYtb = 1102,
|
EVENT_OBJECT_FACTORYtb = 1102,
|
||||||
EVENT_OBJECT_FACTORYfb = 1103,
|
EVENT_OBJECT_FACTORYfb = 1103,
|
||||||
EVENT_OBJECT_FACTORYib = 1104,
|
EVENT_OBJECT_FACTORYib = 1104,
|
||||||
|
EVENT_OBJECT_FACTORYtg = 1105,
|
||||||
EVENT_OBJECT_SEARCH = 1200,
|
EVENT_OBJECT_SEARCH = 1200,
|
||||||
EVENT_OBJECT_TERRAFORM = 1201,
|
EVENT_OBJECT_TERRAFORM = 1201,
|
||||||
EVENT_OBJECT_FIRE = 1202,
|
EVENT_OBJECT_FIRE = 1202,
|
||||||
|
@ -600,6 +601,7 @@ enum EventType
|
||||||
|
|
||||||
EVENT_OBJECT_RBUILDER = 2300,
|
EVENT_OBJECT_RBUILDER = 2300,
|
||||||
EVENT_OBJECT_BUILD = 2301,
|
EVENT_OBJECT_BUILD = 2301,
|
||||||
|
EVENT_OBJECT_RTARGET = 2302,
|
||||||
|
|
||||||
//! Maximum value of standard events
|
//! Maximum value of standard events
|
||||||
EVENT_STD_MAX,
|
EVENT_STD_MAX,
|
||||||
|
|
|
@ -366,6 +366,7 @@ void InitializeRestext()
|
||||||
stringsEvent[EVENT_OBJECT_FACTORYrr] = TR("Build a recycler");
|
stringsEvent[EVENT_OBJECT_FACTORYrr] = TR("Build a recycler");
|
||||||
stringsEvent[EVENT_OBJECT_FACTORYrs] = TR("Build a shielder");
|
stringsEvent[EVENT_OBJECT_FACTORYrs] = TR("Build a shielder");
|
||||||
stringsEvent[EVENT_OBJECT_FACTORYsa] = TR("Build a subber");
|
stringsEvent[EVENT_OBJECT_FACTORYsa] = TR("Build a subber");
|
||||||
|
stringsEvent[EVENT_OBJECT_FACTORYtg] = TR("Build a target bot");
|
||||||
stringsEvent[EVENT_OBJECT_RTANK] = TR("Run research program for tracked bots");
|
stringsEvent[EVENT_OBJECT_RTANK] = TR("Run research program for tracked bots");
|
||||||
stringsEvent[EVENT_OBJECT_RFLY] = TR("Run research program for winged bots");
|
stringsEvent[EVENT_OBJECT_RFLY] = TR("Run research program for winged bots");
|
||||||
stringsEvent[EVENT_OBJECT_RTHUMP] = TR("Run research program for thumper");
|
stringsEvent[EVENT_OBJECT_RTHUMP] = TR("Run research program for thumper");
|
||||||
|
@ -377,6 +378,7 @@ void InitializeRestext()
|
||||||
stringsEvent[EVENT_OBJECT_RiPAW] = TR("Run research program for legged bots");
|
stringsEvent[EVENT_OBJECT_RiPAW] = TR("Run research program for legged bots");
|
||||||
stringsEvent[EVENT_OBJECT_RiGUN] = TR("Run research program for orga shooter");
|
stringsEvent[EVENT_OBJECT_RiGUN] = TR("Run research program for orga shooter");
|
||||||
stringsEvent[EVENT_OBJECT_RBUILDER] = TR("Run research program for builder");
|
stringsEvent[EVENT_OBJECT_RBUILDER] = TR("Run research program for builder");
|
||||||
|
stringsEvent[EVENT_OBJECT_RTARGET] = TR("Run research program for target bot");
|
||||||
stringsEvent[EVENT_OBJECT_RESET] = TR("Return to start");
|
stringsEvent[EVENT_OBJECT_RESET] = TR("Return to start");
|
||||||
stringsEvent[EVENT_OBJECT_SEARCH] = TR("Sniff (\\key action;)");
|
stringsEvent[EVENT_OBJECT_SEARCH] = TR("Sniff (\\key action;)");
|
||||||
stringsEvent[EVENT_OBJECT_TERRAFORM] = TR("Thump (\\key action;)");
|
stringsEvent[EVENT_OBJECT_TERRAFORM] = TR("Thump (\\key action;)");
|
||||||
|
@ -626,7 +628,7 @@ void InitializeRestext()
|
||||||
stringsErr[ERR_BASE_DLOCK] = TR("Doors blocked by a robot or another object");
|
stringsErr[ERR_BASE_DLOCK] = TR("Doors blocked by a robot or another object");
|
||||||
stringsErr[ERR_BASE_DHUMAN] = TR("You must get on the spaceship to take off");
|
stringsErr[ERR_BASE_DHUMAN] = TR("You must get on the spaceship to take off");
|
||||||
stringsErr[ERR_LABO_NULL] = TR("Nothing to analyze");
|
stringsErr[ERR_LABO_NULL] = TR("Nothing to analyze");
|
||||||
stringsErr[ERR_LABO_BAD] = TR("Analyzes only organic matter");
|
stringsErr[ERR_LABO_BAD] = TR("Inappropriate sample");
|
||||||
stringsErr[ERR_LABO_ALREADY] = TR("Analysis already performed");
|
stringsErr[ERR_LABO_ALREADY] = TR("Analysis already performed");
|
||||||
stringsErr[ERR_NUCLEAR_EMPTY] = TR("No uranium to transform");
|
stringsErr[ERR_NUCLEAR_EMPTY] = TR("No uranium to transform");
|
||||||
stringsErr[ERR_NUCLEAR_BAD] = TR("Transforms only uranium");
|
stringsErr[ERR_NUCLEAR_BAD] = TR("Transforms only uranium");
|
||||||
|
|
|
@ -916,6 +916,7 @@ int CLevelParserParam::ToResearchFlag(std::string value)
|
||||||
if (value == "SUBBER" ) return RESEARCH_SUBM;
|
if (value == "SUBBER" ) return RESEARCH_SUBM;
|
||||||
if (value == "SNIFFER" ) return RESEARCH_SNIFFER;
|
if (value == "SNIFFER" ) return RESEARCH_SNIFFER;
|
||||||
if (value == "BUILDER" ) return RESEARCH_BUILDER;
|
if (value == "BUILDER" ) return RESEARCH_BUILDER;
|
||||||
|
if (value == "TARGET" ) return RESEARCH_TARGET;
|
||||||
return Cast<int>(value, "researchflag");
|
return Cast<int>(value, "researchflag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,5 +39,6 @@ enum ResearchType
|
||||||
RESEARCH_RECYCLER = (1<<10), //! < recycler
|
RESEARCH_RECYCLER = (1<<10), //! < recycler
|
||||||
RESEARCH_SUBM = (1<<11), //! < submarine
|
RESEARCH_SUBM = (1<<11), //! < submarine
|
||||||
RESEARCH_SNIFFER = (1<<12), //! < sniffer
|
RESEARCH_SNIFFER = (1<<12), //! < sniffer
|
||||||
RESEARCH_BUILDER = (1<<13) //! < builder
|
RESEARCH_BUILDER = (1<<13), //! < builder
|
||||||
|
RESEARCH_TARGET = (1<<14) //! < target bot
|
||||||
};
|
};
|
||||||
|
|
|
@ -5741,6 +5741,7 @@ Error CRobotMain::CanFactoryError(ObjectType type, int team)
|
||||||
if (type == OBJECT_MOBILErr && !IsResearchDone(RESEARCH_RECYCLER, team)) return ERR_BUILD_RESEARCH;
|
if (type == OBJECT_MOBILErr && !IsResearchDone(RESEARCH_RECYCLER, team)) return ERR_BUILD_RESEARCH;
|
||||||
if (type == OBJECT_MOBILErs && !IsResearchDone(RESEARCH_SHIELD, team)) return ERR_BUILD_RESEARCH;
|
if (type == OBJECT_MOBILErs && !IsResearchDone(RESEARCH_SHIELD, team)) return ERR_BUILD_RESEARCH;
|
||||||
if (type == OBJECT_MOBILEsa && !IsResearchDone(RESEARCH_SUBM, team)) return ERR_BUILD_DISABLED; // Can be only researched manually in Scene file
|
if (type == OBJECT_MOBILEsa && !IsResearchDone(RESEARCH_SUBM, team)) return ERR_BUILD_DISABLED; // Can be only researched manually in Scene file
|
||||||
|
if (type == OBJECT_MOBILEtg && !IsResearchDone(RESEARCH_TARGET, team)) return ERR_BUILD_RESEARCH;
|
||||||
|
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -195,6 +195,7 @@ ObjectType ObjectTypeFromFactoryButton(EventType eventType)
|
||||||
if ( eventType == EVENT_OBJECT_FACTORYrr ) return OBJECT_MOBILErr;
|
if ( eventType == EVENT_OBJECT_FACTORYrr ) return OBJECT_MOBILErr;
|
||||||
if ( eventType == EVENT_OBJECT_FACTORYrs ) return OBJECT_MOBILErs;
|
if ( eventType == EVENT_OBJECT_FACTORYrs ) return OBJECT_MOBILErs;
|
||||||
if ( eventType == EVENT_OBJECT_FACTORYsa ) return OBJECT_MOBILEsa;
|
if ( eventType == EVENT_OBJECT_FACTORYsa ) return OBJECT_MOBILEsa;
|
||||||
|
if ( eventType == EVENT_OBJECT_FACTORYtg ) return OBJECT_MOBILEtg;
|
||||||
|
|
||||||
return OBJECT_NULL;
|
return OBJECT_NULL;
|
||||||
}
|
}
|
||||||
|
@ -798,6 +799,8 @@ bool CAutoFactory::CreateInterface(bool bSelect)
|
||||||
pos.x = ox+sx*0.0f;
|
pos.x = ox+sx*0.0f;
|
||||||
pos.y = oy+sy*2.7f;
|
pos.y = oy+sy*2.7f;
|
||||||
pw->CreateButton(pos, dim, 128+21, EVENT_OBJECT_FACTORYsa);
|
pw->CreateButton(pos, dim, 128+21, EVENT_OBJECT_FACTORYsa);
|
||||||
|
pos.x += dim.x;
|
||||||
|
pw->CreateButton(pos, dim, 128+45, EVENT_OBJECT_FACTORYtg);
|
||||||
}
|
}
|
||||||
|
|
||||||
pos.x = ox+sx*0.0f;
|
pos.x = ox+sx*0.0f;
|
||||||
|
@ -847,6 +850,7 @@ void CAutoFactory::UpdateInterface()
|
||||||
UpdateButton(pw, EVENT_OBJECT_FACTORYrr, m_bBusy);
|
UpdateButton(pw, EVENT_OBJECT_FACTORYrr, m_bBusy);
|
||||||
UpdateButton(pw, EVENT_OBJECT_FACTORYrs, m_bBusy);
|
UpdateButton(pw, EVENT_OBJECT_FACTORYrs, m_bBusy);
|
||||||
UpdateButton(pw, EVENT_OBJECT_FACTORYsa, m_bBusy);
|
UpdateButton(pw, EVENT_OBJECT_FACTORYsa, m_bBusy);
|
||||||
|
UpdateButton(pw, EVENT_OBJECT_FACTORYtg, m_bBusy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Updates the status of one interface button.
|
// Updates the status of one interface button.
|
||||||
|
|
|
@ -136,7 +136,11 @@ Error CAutoLabo::StartAction(int param)
|
||||||
{
|
{
|
||||||
return ERR_LABO_NULL;
|
return ERR_LABO_NULL;
|
||||||
}
|
}
|
||||||
if ( power->GetType() != OBJECT_BULLET )
|
if ( m_research != RESEARCH_TARGET && power->GetType() != OBJECT_BULLET )
|
||||||
|
{
|
||||||
|
return ERR_LABO_BAD;
|
||||||
|
}
|
||||||
|
if ( m_research == RESEARCH_TARGET && power->GetType() != OBJECT_TNT )
|
||||||
{
|
{
|
||||||
return ERR_LABO_BAD;
|
return ERR_LABO_BAD;
|
||||||
}
|
}
|
||||||
|
@ -177,6 +181,7 @@ bool CAutoLabo::EventProcess(const Event &event)
|
||||||
if ( m_object->GetSelect() ) // center selected?
|
if ( m_object->GetSelect() ) // center selected?
|
||||||
{
|
{
|
||||||
Error err = ERR_UNKNOWN;
|
Error err = ERR_UNKNOWN;
|
||||||
|
if ( event.type == EVENT_OBJECT_RTARGET ) err = StartAction(RESEARCH_TARGET);
|
||||||
if ( event.type == EVENT_OBJECT_RiPAW ) err = StartAction(RESEARCH_iPAW);
|
if ( event.type == EVENT_OBJECT_RiPAW ) err = StartAction(RESEARCH_iPAW);
|
||||||
if ( event.type == EVENT_OBJECT_RiGUN ) err = StartAction(RESEARCH_iGUN);
|
if ( event.type == EVENT_OBJECT_RiGUN ) err = StartAction(RESEARCH_iGUN);
|
||||||
|
|
||||||
|
@ -455,7 +460,7 @@ Error CAutoLabo::GetError()
|
||||||
CObject* obj = m_object->GetPower();
|
CObject* obj = m_object->GetPower();
|
||||||
if (obj == nullptr) return ERR_LABO_NULL;
|
if (obj == nullptr) return ERR_LABO_NULL;
|
||||||
ObjectType type = obj->GetType();
|
ObjectType type = obj->GetType();
|
||||||
if ( type != OBJECT_BULLET ) return ERR_LABO_BAD;
|
if ( type != OBJECT_BULLET && type != OBJECT_TNT ) return ERR_LABO_BAD;
|
||||||
|
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
}
|
}
|
||||||
|
@ -484,6 +489,10 @@ bool CAutoLabo::CreateInterface(bool bSelect)
|
||||||
sy = 33.0f/480.0f;
|
sy = 33.0f/480.0f;
|
||||||
if( !m_object->GetTrainer() )
|
if( !m_object->GetTrainer() )
|
||||||
{
|
{
|
||||||
|
pos.x = ox+sx*6.0f;
|
||||||
|
pos.y = oy+sy*0.5f;
|
||||||
|
pw->CreateButton(pos, dim, 192+8, EVENT_OBJECT_RTARGET);
|
||||||
|
|
||||||
pos.x = ox+sx*7.0f;
|
pos.x = ox+sx*7.0f;
|
||||||
pos.y = oy+sy*0.5f;
|
pos.y = oy+sy*0.5f;
|
||||||
pw->CreateButton(pos, dim, 64+45, EVENT_OBJECT_RiPAW);
|
pw->CreateButton(pos, dim, 64+45, EVENT_OBJECT_RiPAW);
|
||||||
|
@ -517,14 +526,17 @@ void CAutoLabo::UpdateInterface()
|
||||||
pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
|
pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
|
||||||
if ( pw == nullptr ) return;
|
if ( pw == nullptr ) return;
|
||||||
|
|
||||||
DeadInterface(pw, EVENT_OBJECT_RiPAW, m_main->IsResearchEnabled(RESEARCH_iPAW));
|
DeadInterface(pw, EVENT_OBJECT_RTARGET, m_main->IsResearchEnabled(RESEARCH_TARGET));
|
||||||
DeadInterface(pw, EVENT_OBJECT_RiGUN, m_main->IsResearchEnabled(RESEARCH_iGUN));
|
DeadInterface(pw, EVENT_OBJECT_RiPAW, m_main->IsResearchEnabled(RESEARCH_iPAW));
|
||||||
|
DeadInterface(pw, EVENT_OBJECT_RiGUN, m_main->IsResearchEnabled(RESEARCH_iGUN));
|
||||||
|
|
||||||
|
OkayButton(pw, EVENT_OBJECT_RTARGET);
|
||||||
OkayButton(pw, EVENT_OBJECT_RiPAW);
|
OkayButton(pw, EVENT_OBJECT_RiPAW);
|
||||||
OkayButton(pw, EVENT_OBJECT_RiGUN);
|
OkayButton(pw, EVENT_OBJECT_RiGUN);
|
||||||
|
|
||||||
VisibleInterface(pw, EVENT_OBJECT_RiPAW, !m_bBusy);
|
VisibleInterface(pw, EVENT_OBJECT_RTARGET, !m_bBusy);
|
||||||
VisibleInterface(pw, EVENT_OBJECT_RiGUN, !m_bBusy);
|
VisibleInterface(pw, EVENT_OBJECT_RiPAW, !m_bBusy);
|
||||||
|
VisibleInterface(pw, EVENT_OBJECT_RiGUN, !m_bBusy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Indicates the research conducted for a button.
|
// Indicates the research conducted for a button.
|
||||||
|
@ -544,8 +556,9 @@ void CAutoLabo::OkayButton(Ui::CWindow *pw, EventType event)
|
||||||
|
|
||||||
bool CAutoLabo::TestResearch(EventType event)
|
bool CAutoLabo::TestResearch(EventType event)
|
||||||
{
|
{
|
||||||
if ( event == EVENT_OBJECT_RiPAW ) return m_main->IsResearchDone(RESEARCH_iPAW, m_object->GetTeam());
|
if ( event == EVENT_OBJECT_RTARGET ) return m_main->IsResearchDone(RESEARCH_TARGET, m_object->GetTeam());
|
||||||
if ( event == EVENT_OBJECT_RiGUN ) return m_main->IsResearchDone(RESEARCH_iGUN, m_object->GetTeam());
|
if ( event == EVENT_OBJECT_RiPAW ) return m_main->IsResearchDone(RESEARCH_iPAW, m_object->GetTeam());
|
||||||
|
if ( event == EVENT_OBJECT_RiGUN ) return m_main->IsResearchDone(RESEARCH_iGUN, m_object->GetTeam());
|
||||||
|
|
||||||
return m_main;
|
return m_main;
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,6 +278,7 @@ CObject* CAutoPowerStation::SearchVehicle()
|
||||||
type != OBJECT_MOBILEtt &&
|
type != OBJECT_MOBILEtt &&
|
||||||
type != OBJECT_MOBILEwt &&
|
type != OBJECT_MOBILEwt &&
|
||||||
type != OBJECT_MOBILEit &&
|
type != OBJECT_MOBILEit &&
|
||||||
|
type != OBJECT_MOBILEtg &&
|
||||||
type != OBJECT_MOBILEdr ) continue;
|
type != OBJECT_MOBILEdr ) continue;
|
||||||
|
|
||||||
Math::Vector oPos = obj->GetPosition();
|
Math::Vector oPos = obj->GetPosition();
|
||||||
|
|
|
@ -360,6 +360,7 @@ bool CMotionToto::EventFrame(const Event &event)
|
||||||
type == OBJECT_MOBILEtt ||
|
type == OBJECT_MOBILEtt ||
|
||||||
type == OBJECT_MOBILEft ||
|
type == OBJECT_MOBILEft ||
|
||||||
type == OBJECT_MOBILEit ||
|
type == OBJECT_MOBILEit ||
|
||||||
|
type == OBJECT_MOBILEtg ||
|
||||||
type == OBJECT_MOBILEdr ) ) // vehicle?
|
type == OBJECT_MOBILEdr ) ) // vehicle?
|
||||||
{
|
{
|
||||||
m_clownTime += event.rTime;
|
m_clownTime += event.rTime;
|
||||||
|
|
|
@ -890,6 +890,7 @@ void COldObject::SetType(ObjectType type)
|
||||||
m_type == OBJECT_MOBILEtt ||
|
m_type == OBJECT_MOBILEtt ||
|
||||||
m_type == OBJECT_MOBILEwt ||
|
m_type == OBJECT_MOBILEwt ||
|
||||||
m_type == OBJECT_MOBILEit ||
|
m_type == OBJECT_MOBILEit ||
|
||||||
|
m_type == OBJECT_MOBILEtg ||
|
||||||
m_type == OBJECT_MOBILEdr ||
|
m_type == OBJECT_MOBILEdr ||
|
||||||
m_type == OBJECT_APOLLO2 ||
|
m_type == OBJECT_APOLLO2 ||
|
||||||
m_type == OBJECT_BASE ||
|
m_type == OBJECT_BASE ||
|
||||||
|
@ -3254,6 +3255,7 @@ float COldObject::GetLightningHitProbability()
|
||||||
m_type == OBJECT_MOBILEtt ||
|
m_type == OBJECT_MOBILEtt ||
|
||||||
m_type == OBJECT_MOBILEwt ||
|
m_type == OBJECT_MOBILEwt ||
|
||||||
m_type == OBJECT_MOBILEit ||
|
m_type == OBJECT_MOBILEit ||
|
||||||
|
m_type == OBJECT_MOBILEtg ||
|
||||||
m_type == OBJECT_MOBILEdr ) // robot?
|
m_type == OBJECT_MOBILEdr ) // robot?
|
||||||
{
|
{
|
||||||
return 0.5f;
|
return 0.5f;
|
||||||
|
@ -3267,8 +3269,7 @@ bool COldObject::IsSelectableByDefault(ObjectType type)
|
||||||
type == OBJECT_ANT ||
|
type == OBJECT_ANT ||
|
||||||
type == OBJECT_SPIDER ||
|
type == OBJECT_SPIDER ||
|
||||||
type == OBJECT_BEE ||
|
type == OBJECT_BEE ||
|
||||||
type == OBJECT_WORM ||
|
type == OBJECT_WORM )
|
||||||
type == OBJECT_MOBILEtg )
|
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3311,6 +3311,7 @@ void CScriptFunctions::Init()
|
||||||
CBotProgram::DefineNum("ResearchSubber", RESEARCH_SUBM);
|
CBotProgram::DefineNum("ResearchSubber", RESEARCH_SUBM);
|
||||||
CBotProgram::DefineNum("ResearchSniffer", RESEARCH_SNIFFER);
|
CBotProgram::DefineNum("ResearchSniffer", RESEARCH_SNIFFER);
|
||||||
CBotProgram::DefineNum("ResearchBuilder", RESEARCH_BUILDER);
|
CBotProgram::DefineNum("ResearchBuilder", RESEARCH_BUILDER);
|
||||||
|
CBotProgram::DefineNum("ResearchTarget", RESEARCH_TARGET);
|
||||||
|
|
||||||
CBotProgram::DefineNum("PolskiPortalColobota", 1337);
|
CBotProgram::DefineNum("PolskiPortalColobota", 1337);
|
||||||
|
|
||||||
|
|
|
@ -238,6 +238,7 @@ int CMainShort::GetShortcutIcon(ObjectType type)
|
||||||
case OBJECT_MOBILEtt: icon = 5; break;
|
case OBJECT_MOBILEtt: icon = 5; break;
|
||||||
case OBJECT_MOBILEwt: icon = 30; break;
|
case OBJECT_MOBILEwt: icon = 30; break;
|
||||||
case OBJECT_MOBILEit: icon = 7; break;
|
case OBJECT_MOBILEit: icon = 7; break;
|
||||||
|
case OBJECT_MOBILEtg: icon = 45; break;
|
||||||
case OBJECT_MOBILEdr: icon = 48; break;
|
case OBJECT_MOBILEdr: icon = 48; break;
|
||||||
case OBJECT_APOLLO2: icon = 49; break;
|
case OBJECT_APOLLO2: icon = 49; break;
|
||||||
default: return -1;
|
default: return -1;
|
||||||
|
|
Loading…
Reference in New Issue