if unit is flying i can simply adjust speed with:
unit->flingyTopSpeed = 1707;
unit->flingyAcceleration = 107;
unit->flingyTurnSpeed = 40;
but how to change speed if unit using Iscript (modify "walk" parameter)?
Post has been edited 1 time(s), last time on Aug 26 2019, 7:22 am by Lagi.
None.
Allow me to give you a better understanding of Flingy and Iscript.
Virtually all air units use Flingy control. The "top speed", "acceleration", "halt distance", and "turn radius" properties are what give them smooth/realistic flight movement. Most ground units use Iscript, which ignores the 4 properties mentioned earlier.
The stuff in Iscript is more "hardcoded" than Flingy data. As a mapper, messing with Iscript is not an option, so to change movement speed of ground units, I switch their control to Flingy. It is wise to give such units very low Turn Radius and Halt Distance, otherwise they will behave oddly (unless you like them to moonwalk or spin at ridiculous speeds).
It's much simpler to change the movement speed of units using iscript. Open PyICE, load your iscript.bin, and change the value of the 'move' commands in the unit's walking animation.
Ohhh, this was posted in the "Modding Assistance" category, so Pr0nogo is correct on this one.
thanks,
I make a bug: I make morph zergling into infested terran, and now he has upgraded speed with Metabolic boost researched.
thing is I need to change unit speed with upgrade. When upgrade research, unit need to has speed X.
Can i somehow replace Iscprit using GTPT?
None.
Unit speed through upgrades can be controlled through GPTP, go to apply_upgrade_flags and edit the code there.
thanks it solves my issue
==============
when have mod of morph from zergling into infested terran and scourge. the infested terran and scourge gain speed upgrade with Metabolic boost.
to prevent scourge from gaining speed boost i add in game hook.cpp :
//stop Scourge upgr speed when zergling speed research
if(unit->id == UnitId::scourge &&
scbw::getUpgradeLevel(unit->playerId, UpgradeId::MetabolicBoost) > 0){
unit->flingyTopSpeed = 1707;
unit->flingyAcceleration = 107;
unit->flingyTurnSpeed = 40;
}
//stop Scourge upgr speed when zergling speed research
to prevent infested terran from gaining speed boost i add in apply_upgrade_flags.cpp:
bSpeedUpgrade = UpgradesSc->currentLevel[unit->playerId][ScUpgrade::PneumatizedCarapace];
else
if(unit->id == UnitId::ZergZergling) {
bSpeedUpgrade = UpgradesSc->currentLevel[unit->playerId][ScUpgrade::MetabolicBoost];
bCooldownUpgrade = UpgradesSc->currentLevel[unit->playerId][ScUpgrade::AdrenalGlands];
}
else
if(unit->id == UnitId::Hero_DevouringOne) {
bSpeedUpgrade = 1;
bCooldownUpgrade = 1;
}
else
if(unit->id == UnitId::ZergInfestedTerran) {
bSpeedUpgrade = 1;
}
else
if(unit->id == UnitId::ZergHydralisk)
bSpeedUpgrade = UpgradesSc->currentLevel[unit->playerId][ScUpgrade::MuscularAugments];
else
if(unit->id == Uni
this make infested terran be constant speed upgraded (then i decrease walk time in Iscript from 6 to 4), cause setting bSpeedUpgrade = 0; value didnt prevent speed increase.
Post has been edited 1 time(s), last time on Aug 26 2019, 7:21 am by Lagi.
None.