Fix the SuperTransport body type to be SUPER HEAVY, not HEAVY.
Try harder not to have them be on top of each other (only in MultiPlayer games). Fix explosion type. Fix damage calculations when they are on the ground. Try to better balance the Super Transport, hitpoints now at 500, Armor types changed to 35 & 20 and make weapon MG1-VTOL instead of MG3-VTOL.master
parent
d5428b94e4
commit
e3279f6d03
|
@ -317,7 +317,7 @@ SK-Mantis-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6
|
|||
SK-Retre-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6
|
||||
SK-Retal-VTOL-Scourge,Missile-VTOL-AT,NULL,NULL,6
|
||||
SK-Retre-VTOL-Plasmite,Bomb5-VTOL-Plasmite,NULL,NULL,6
|
||||
SuperTransport,MG3-VTOL,NULL,NULL,5
|
||||
SuperTransport,MG1-VTOL,NULL,NULL,5
|
||||
SK-Veng-Hover-Seraph,Missile-MdArt,NULL,NULL,6
|
||||
Dragon-Hover-SeraphGauss,Missile-MdArt,RailGun3Mk1,NULL,6
|
||||
ZNULLDESIGN,ZNULLWEAPON,ZNULLWEAPON,ZNULLWEAPON,0
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Body key,Unused,Size,Build power,Build points,Weight,Body points,Body model,Unused,Weapon slots,Engine power,AFRK,AFRH,AREK,AREH,ALEK,ALEH,ARIK,ARIH,ATOK,ATOH,ABOK,ABOH,Flame model,Designable
|
||||
ZNULLBODY,Level All,LIGHT,0,0,0,0,MIBNKBOD.PIE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
TransporterBody,Level All,MEDIUM,325,637,250,200,drcytran.pie,100,1,2000,20,9,20,9,20,9,20,9,20,9,20,9,0,0
|
||||
SuperTransportBody,Level All,HEAVY,500,625,1850,1000,drtrans.pie,100,1,7525,40,40,40,40,40,40,40,40,40,40,40,40,0,0
|
||||
SuperTransportBody,Level All,SUPER HEAVY,500,625,1850,500,drtrans.pie,100,1,7525,34,20,34,20,34,20,34,20,34,20,34,20,0,0
|
||||
Superbody,Level All,HEAVY,10,10,2700,9000,DRHBOD11.PIE,500,1,40000,999,999,999,999,999,999,999,999,999,999,999,999,0,0
|
||||
FireBody,Level One,LIGHT,4,75,3000,200,EXFIRE.PIE,50,1,4000,4,1,4,1,4,1,4,1,4,1,4,1,0,0
|
||||
CybRotMgGrd,Level All,LIGHT,21,75,150,200,cybd_std.pie,100,1,600,12,6,12,6,12,6,12,6,12,6,12,6,0,0
|
||||
|
|
|
@ -83,7 +83,7 @@ struct DROID_ACTION_DATA
|
|||
psDroid->sMove.Status == MOVESHUFFLE)
|
||||
|
||||
/** Radius for search when looking for VTOL landing position */
|
||||
static const int vtolLandingRadius = 23;
|
||||
static const int vtolLandingRadius = 43;
|
||||
|
||||
/**
|
||||
* @typedef tileMatchFunction
|
||||
|
|
|
@ -161,8 +161,8 @@ int32_t droidDamage(DROID *psDroid, unsigned damage, WEAPON_CLASS weaponClass, W
|
|||
|
||||
CHECK_DROID(psDroid);
|
||||
|
||||
// VTOLs on the ground take triple damage
|
||||
if (isVtolDroid(psDroid) && psDroid->sMove.Status == MOVEINACTIVE)
|
||||
// VTOLs (and transporters in MP) on the ground take triple damage
|
||||
if (isVtolDroid(psDroid) || ((psDroid->droidType == DROID_TRANSPORTER || psDroid->droidType == DROID_SUPERTRANSPORTER) && bMultiPlayer) && (psDroid->sMove.Status == MOVEINACTIVE))
|
||||
{
|
||||
damage *= 3;
|
||||
}
|
||||
|
@ -539,7 +539,14 @@ static void removeDroidFX(DROID *psDel, unsigned impactTime)
|
|||
pos.x = psDel->pos.x;
|
||||
pos.z = psDel->pos.y;
|
||||
pos.y = psDel->pos.z;
|
||||
addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime);
|
||||
if (psDel->droidType == DROID_SUPERTRANSPORTER)
|
||||
{
|
||||
addEffect(&pos, EFFECT_EXPLOSION, EXPLOSION_TYPE_LARGE, false, NULL, 0, impactTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime);
|
||||
}
|
||||
audio_PlayStaticTrack( psDel->pos.x, psDel->pos.y, ID_SOUND_EXPLOSION );
|
||||
}
|
||||
}
|
||||
|
|
12
src/move.cpp
12
src/move.cpp
|
@ -1123,7 +1123,8 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy)
|
|||
{
|
||||
if (((DROID *)psObj)->droidType == DROID_TRANSPORTER || ((DROID *)psObj)->droidType == DROID_SUPERTRANSPORTER)
|
||||
{
|
||||
// ignore transporters
|
||||
// ignore transporters in campaign
|
||||
if (!bMultiPlayer)
|
||||
continue;
|
||||
}
|
||||
if (!bLegs && ((DROID *)psObj)->droidType == DROID_PERSON)
|
||||
|
@ -1883,10 +1884,15 @@ static void moveUpdateVtolModel(DROID *psDroid, SDWORD speed, uint16_t direction
|
|||
|
||||
moveGetDroidPosDiffs( psDroid, &dx, &dy );
|
||||
|
||||
/* set slide blocking tile for map edge */
|
||||
if ( psDroid->droidType != DROID_TRANSPORTER && psDroid->droidType != DROID_SUPERTRANSPORTER)
|
||||
// set slide blocking tile for map edge
|
||||
// and in MP, try not to have transports cluster together as much
|
||||
if (((psDroid->droidType != DROID_TRANSPORTER && psDroid->droidType != DROID_SUPERTRANSPORTER))|| bMultiPlayer)
|
||||
{
|
||||
moveCalcBlockingSlide(psDroid, &dx, &dy, direction, &slideDir);
|
||||
if (bMultiPlayer)
|
||||
{
|
||||
moveCalcDroidSlide(psDroid, &dx, &dy);
|
||||
}
|
||||
}
|
||||
|
||||
moveUpdateDroidPos( psDroid, dx, dy );
|
||||
|
|
Loading…
Reference in New Issue