4.10 support update (unfinished and untested).

This commit is contained in:
Mari the Deer 2022-12-05 02:10:56 +01:00
commit 8e952f412f
80 changed files with 2343 additions and 2356 deletions

View file

@ -37,6 +37,51 @@ extend Class SWWMHandler
}
}
override void InterfaceProcess( ConsoleEvent e )
{
if ( e.IsManual ) return;
if ( e.Name ~== "swwmsetdialogue" )
SWWMDialogues.StartSeq(e.Args[0]);
else if ( e.Name.Left(11) ~== "swwmkeyget." )
{
let bar = SWWMStatusBar(StatusBar);
if ( !bar || (bar.CPlayer != players[e.Args[0]]) ) return;
String kname = e.Name.Mid(11);
Class<Key> k = kname;
if ( k )
{
let kg = new("KeyGet");
kg.got = k;
kg.flashtime = gametic+25;
bar.keyflash.Push(kg);
}
}
else if ( e.Name.Left(15) ~== "swwmwpntooltip." )
{
let bar = SWWMStatusBar(StatusBar);
if ( !bar ) return;
String wname = e.Name.Mid(15);
Class<SWWMWeapon> w = wname;
if ( w )
{
let tt = new("SWWMWeaponTooltip").Init(w);
bool appended = false;
for ( SWWMWeaponTooltip t=bar.ctip; t; t=t.next )
{
if ( t.next ) continue;
appended = true;
t.next = tt;
break;
}
if ( !appended )
{
bar.ctip = tt;
bar.AttachMessage(tt,-2910);
}
}
}
}
override void NetworkProcess( ConsoleEvent e )
{
if ( e.Name ~== "swwmgesture" )
@ -343,18 +388,18 @@ extend Class SWWMHandler
// if it's an ammo, check the largest unit givable
if ( i is 'Ammo' )
{
for ( int i=0; i<AllActorClasses.Size(); i++ )
foreach ( cls:AllActorClasses )
{
let a = (Class<Ammo>)(AllActorClasses[i]);
let a = (Class<Ammo>)(cls);
if ( !a || (a.GetParentClass() != item) || (GetDefaultByType(a).Amount < amt) ) continue;
amt = GetDefaultByType(a).Amount;
}
}
if ( i is 'MagAmmo' )
{
for ( int i=0; i<AllActorClasses.Size(); i++ )
foreach ( cls:AllActorClasses )
{
let a = (Class<MagAmmo>)(AllActorClasses[i]);
let a = (Class<MagAmmo>)(cls);
if ( !a || (a.GetParentClass() != item) || (GetDefaultByType(a).Amount < amt) ) continue;
amt = GetDefaultByType(a).Amount;
}
@ -457,8 +502,6 @@ extend Class SWWMHandler
}
else if ( e.Name ~== "swwmccstart" )
gdat.ccstartonce = true;
else if ( e.Name ~== "swwmcclilith" )
gdat.cclilithonce = true;
// cheats go here
else CheatEvent(e);
}