Skip to content

Commit 7f17d08

Browse files
IngramzTrivve
authored andcommitted
Promod LIVE V2.12 release
1 parent bcef57d commit 7f17d08

26 files changed

Lines changed: 361 additions & 332 deletions

compile.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
@echo off
1010

11-
SET mod_name=promodlive211
11+
SET mod_name=promodlive212
1212
SET work_directory=%~dp0
1313
cd %work_directory%
1414

compile_fastfile.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ copy mod.csv ..\..\zone_source /Y
2424
cd ..\..\bin
2525
linker_pc.exe -language english -compress -cleanup mod -verbose
2626

27-
cd ..\mods\promodlive211
27+
cd ..\mods\promodlive212
2828
copy ..\..\zone\english\mod.ff
2929

3030
pause

maps/mp/_destructible.gsc

Lines changed: 52 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -221,20 +221,20 @@ setup_destructibles()
221221
if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "health" ] ) )
222222
self.destructible_parts[ i ].v[ "health" ] = level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "health" ];
223223

224-
if ( !i )
225-
continue;
226-
227-
modelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "modelName" ];
228-
tagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "tagName" ];
229-
230-
stateIndex = 1;
231-
while ( isDefined( level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ] ) )
224+
if ( i )
232225
{
233-
stateTagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ].v[ "tagName" ];
234-
stateModelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ].v[ "modelName" ];
235-
if ( isDefined( stateTagName ) && stateTagName != tagName )
236-
self hideapart( stateTagName );
237-
stateIndex++;
226+
modelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "modelName" ];
227+
tagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ 0 ].v[ "tagName" ];
228+
229+
stateIndex = 1;
230+
while ( isDefined( level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ] ) )
231+
{
232+
stateTagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ].v[ "tagName" ];
233+
stateModelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ stateIndex ].v[ "modelName" ];
234+
if ( isDefined( stateTagName ) && stateTagName != tagName )
235+
self hidepart( stateTagName );
236+
stateIndex++;
237+
}
238238
}
239239
}
240240
}
@@ -387,19 +387,19 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta
387387

388388
if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ] ) )
389389
{
390-
if ( !partIndex )
390+
if ( partIndex )
391391
{
392-
newModel = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "modelName" ];
393-
self setModel( newModel );
394-
}
395-
else
396-
{
397-
self hideapart( tagName );
392+
self hidepart( tagName );
398393
modelName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "modelName" ];
399394
tagName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "tagName" ];
400395

401396
if ( isdefined( modelName ) && isdefined( tagName ) )
402-
self showapart( tagName );
397+
self showpart( tagName );
398+
}
399+
else
400+
{
401+
newModel = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "modelName" ];
402+
self setModel( newModel );
403403
}
404404
}
405405

@@ -489,6 +489,7 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta
489489
return;
490490

491491
updateHealthValue = true;
492+
wait 0.05;
492493
}
493494
}
494495

@@ -512,15 +513,15 @@ destructible_splash_damage( damage, point, direction_vec, attacker, damageType )
512513
{
513514
modelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "modelName" ];
514515

515-
if ( !i )
516+
if ( i )
516517
{
517-
d = distance( point, self.origin );
518-
tagName = undefined;
518+
tagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "tagName" ];
519+
d = distance( point, self getTagOrigin( tagName ) );
519520
}
520521
else
521522
{
522-
tagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "tagName" ];
523-
d = distance( point, self getTagOrigin( tagName ) );
523+
tagName = undefined;
524+
d = distance( point, self.origin );
524525
}
525526

526527
if ( ( !isdefined( closestPartDist ) ) || ( d < closestPartDist ) )
@@ -554,22 +555,14 @@ destructible_splash_damage( damage, point, direction_vec, attacker, damageType )
554555
isValidSoundCause( soundCauseVar, partIndex, stateIndex, soundIndex, damageType )
555556
{
556557
soundCause = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ soundCauseVar ][ soundIndex ];
557-
if ( !isdefined( soundCause ) || soundCause == damageType )
558-
return true;
559-
560-
return false;
558+
559+
return !isdefined( soundCause ) || soundCause == damageType;
561560
}
562561

563562
isValidDamageCause( partIndex, stateIndex, damageType )
564563
{
565564
validType = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "validDamageCause" ];
566-
if ( !isdefined( damageType ) || !isdefined( validType ) )
567-
return true;
568-
569-
if ( ( validType == "no_melee" ) && damageType == "melee" || damageType == "impact" )
570-
return false;
571-
572-
return true;
565+
return !isdefined( damageType ) || !isdefined( validType ) || (validType != "no_melee" || damageType != "melee") && damageType != "impact";
573566
}
574567

575568
getDamageType( type )
@@ -628,35 +621,35 @@ health_drain( amount, interval, partIndex, modelName, tagName )
628621

629622
explode( partIndex, force_min, force_max, range, mindamage, maxdamage )
630623
{
631-
if ( isdefined( self.exploded ) )
632-
return;
624+
if ( !isdefined( self.exploded ) )
625+
{
626+
self.exploded = true;
633627

634-
self.exploded = true;
628+
if(self.classname == "script_vehicle")
629+
self notify ("death");
635630

636-
if(self.classname == "script_vehicle")
637-
self notify ("death");
631+
wait 0.05;
638632

639-
wait 0.05;
633+
tagName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ self.destructible_parts[ partIndex ].v[ "currentState" ] ].v[ "tagName" ];
634+
if ( isdefined( tagName ) )
635+
explosionOrigin = self getTagOrigin( tagName );
636+
else
637+
explosionOrigin = self.origin;
640638

641-
tagName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ self.destructible_parts[ partIndex ].v[ "currentState" ] ].v[ "tagName" ];
642-
if ( isdefined( tagName ) )
643-
explosionOrigin = self getTagOrigin( tagName );
644-
else
645-
explosionOrigin = self.origin;
639+
self notify( "damage", maxdamage, self, ( 0, 0, 0 ), explosionOrigin, "MOD_EXPLOSIVE", "", "" );
646640

647-
self notify( "damage", maxdamage, self, ( 0, 0, 0 ), explosionOrigin, "MOD_EXPLOSIVE", "", "" );
648-
649-
waittillframeend;
641+
waittillframeend;
650642

651-
self notify( "stop_taking_damage" );
652-
wait 0.05;
643+
self notify( "stop_taking_damage" );
644+
wait 0.05;
653645

654-
if ( !isDefined( self.damageOwner ) )
655-
self radiusDamage( explosionOrigin + ( 0, 0, 80 ), range, maxdamage, mindamage );
656-
else
657-
{
658-
self radiusDamage( explosionOrigin + ( 0, 0, 80 ), range, maxdamage, mindamage, self.damageOwner );
659-
self.damageOwner notify ( "destroyed_car" );
646+
if ( isDefined( self.damageOwner ) )
647+
{
648+
self radiusDamage( explosionOrigin + ( 0, 0, 80 ), range, maxdamage, mindamage, self.damageOwner );
649+
self.damageOwner notify ( "destroyed_car" );
650+
}
651+
else
652+
self radiusDamage( explosionOrigin + ( 0, 0, 80 ), range, maxdamage, mindamage );
660653
}
661654
}
662655

@@ -697,14 +690,4 @@ string( num )
697690
deleteEnt( ent )
698691
{
699692
ent delete();
700-
}
701-
702-
hideapart( tagName )
703-
{
704-
self hidepart( tagName );
705-
}
706-
707-
showapart( tagName )
708-
{
709-
self showpart( tagName );
710693
}

0 commit comments

Comments
 (0)