I want observer to be invisible, only after research.
I dont know how to write the plugin to tell the game to give invisibilty to observer [purple part]
//Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
UpgradesSc->currentLevel[unit->playerId][UpgradeId::SensorArray] != 0){
unit->isCloaked++;
}//Observer need upgrade 56 for cloak
None.
Responsible for my own happiness? I can't even be responsible for my own breakfast
I want observer to be invisible, only after research.
I dont know how to write the plugin to tell the game to give invisibilty to observer [purple part]
//Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
UpgradesSc->currentLevel[unit->playerId][UpgradeId::SensorArray] != 0){
unit->isCloaked++;
}//Observer need upgrade 56 for cloak
Try setting its secondary order, like this:
unit->secondaryOrderId = OrderId::Cloak;
Thanks Voyager!people how do you figure it out? [guess I'm just stupid
)
=====
this works
//Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
UpgradesSc->currentLevel[unit->playerId][UpgradeId::SensorArray] != 0){
unit->secondaryOrderId = OrderId::Cloak;
}//Observer need upgrade 56 for cloak
this dont
//Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
UpgradesBw->currentLevel[unit->playerId][UpgradeId::UnusedUpgrade56] != 0){
unit->secondaryOrderId = OrderId::Cloak;
}//Observer need upgrade 56 for cloak
=====
well, I would like Observer to be invisible with separate upgrade from vision extend, but whatever. Maybe its even better? less complicated, and single upgrade is more valuable (vision upgrades in SC are usually useless).
I set everything with buttons good in Firegraft for unusedUpgrade 56 (I do it 2x from scratch).
I can click upgrade in observatory in game, but Observers stay visible (its not the case with Sensor Array-upgrade).
Maybe the unused-upgrades, dont like me, but probably I missing something, with adding new upgrades.
None.
Responsible for my own happiness? I can't even be responsible for my own breakfast
This is just something I've done before.
//Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
UpgradesBw->currentLevel[unit->playerId][UpgradeId::UnusedUpgrade56] != 0){
unit->secondaryOrderId = OrderId::Cloak;
}//Observer need upgrade 56 for cloak
This doesn't work because the indexing of the UpgradesBw array starts again from zero. You would need to do this:
UpgradesBw->currentLevel[unit->playerId][UpgradeId::UnusedUpgrade56 - UpgradeId::UnusedUpgrade46] != 0
However, it is easier to use the helper function getUpgradeLevel():
if(unit->id == UnitId::ProtossObserver &&
scbw::getUpgradeLevel(unit->playerId, UpgradeId::UnusedUpgrade56) > 0){
unit->secondaryOrderId = OrderId::Cloak;
}
Post has been edited 1 time(s), last time on Nov 13 2018, 12:47 pm by Voyager7456.
Thank You,
SOLVED
in file
game_hook.cpp put in
bool next frame section
//Voyager7456 - Observer need upgrade 56 for cloak
if(unit->id == UnitId::ProtossObserver &&
scbw::getUpgradeLevel(unit->playerId, UpgradeId::UnusedUpgrade56) > 0){
unit->secondaryOrderId = OrderId::Cloak;
}//Voyager7456 - Observer need upgrade 56 for cloak
} //Loop through all visible units in the game - end
Post has been edited 1 time(s), last time on Nov 13 2018, 9:45 pm by Lagi.
None.