Can't remember what I just changed, oh well.
This commit is contained in:
parent
91c07679d6
commit
191a9a5bb9
8 changed files with 49 additions and 23 deletions
|
|
@ -443,8 +443,9 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
- ????: A Sidhe thief infiltrates the mansion of one of D'Sparil's old
|
||||
associates, stealing the Heart of D'Sparil and putting an end to the plans
|
||||
for resurrecting him. The mansion is sold off, most of its valuables,
|
||||
including the corporeal remains of the serpent rider, being passed around,
|
||||
until being eventually acquired by the "Cult of the Viridescent Lord".
|
||||
including the corporeal remains of the serpent rider, passed around among
|
||||
several parties, until being eventually acquired by the "Cult of the
|
||||
Viridescent Lord".
|
||||
|
||||
- ????: The three heroes who defeated Korax are called into the Winter Nexus,
|
||||
they gather the four elemental gems and defeat the "Viridescent Lord". A
|
||||
|
|
|
|||
|
|
@ -15,11 +15,10 @@ after the first release.
|
|||
- Per-monster kill tracker in stats tab
|
||||
- Music player with a selection of Saya's favourite tracks
|
||||
- Pong minigame
|
||||
* Actually make a fancy titlemap
|
||||
* Mod trailer
|
||||
* Additional HUD stuff
|
||||
- Minimap with radar like in SWWM Z
|
||||
* Character and item images for the library
|
||||
* Full Mashiro model for Lämp easter egg
|
||||
* Option to hear other players' voice lines
|
||||
* Localization
|
||||
- Spanish
|
||||
- Japanese???
|
||||
* Japanese Localization???
|
||||
|
|
|
|||
|
|
@ -158,9 +158,6 @@ on replaced item, may also come in bundles:
|
|||
rare drop from boss monsters, and as a rare spawn for chaos/banishment
|
||||
devices in Heretic and Hexen.
|
||||
|
||||
The two first standard types will also pop up in Hammerspace Embiggeners and
|
||||
Ammo Fabricators.
|
||||
|
||||
### Wallbuster (slot 4), replaces SSG, Ethereal Crossbow, Frost Shards
|
||||
|
||||
A ludicrously overkill weapon, courtesy of the always-overkill Blackmann Arms.
|
||||
|
|
|
|||
|
|
@ -767,10 +767,11 @@ Class YnykronAmmo : Ammo
|
|||
|
||||
Class AmmoFabricator : Inventory abstract
|
||||
{
|
||||
int budget, pertype;
|
||||
int budget, pertype, maxunitprice;
|
||||
|
||||
Property Budget : budget;
|
||||
Property PerType : pertype;
|
||||
Property MaxUnitPrice : maxunitprice;
|
||||
|
||||
override Inventory CreateCopy( Actor other )
|
||||
{
|
||||
|
|
@ -786,10 +787,10 @@ Class AmmoFabricator : Inventory abstract
|
|||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
{
|
||||
let a = (Class<Ammo>)(AllActorClasses[i]);
|
||||
// only direct descendants of ammo with a set price below our budget
|
||||
// only direct descendants of ammo with a set price below our max unit price
|
||||
if ( !a || (a.GetParentClass() != 'Ammo') ) continue;
|
||||
let def = GetDefaultByType(a);
|
||||
if ( !(def.Stamina) || (def.Stamina > budget) ) continue;
|
||||
if ( !(def.Stamina) || (def.Stamina > maxunitprice) ) continue;
|
||||
available.Push(a);
|
||||
}
|
||||
// start from lowest to highest needed until we fill the inventory or run out of budget
|
||||
|
|
@ -873,8 +874,9 @@ Class FabricatorTier1 : AmmoFabricator
|
|||
Inventory.Icon "graphics/HUD/Icons/I_Fabricator1.png";
|
||||
Inventory.PickupMessage "$T_FABRICATOR1";
|
||||
Inventory.MaxAmount 30;
|
||||
AmmoFabricator.Budget 2000;
|
||||
AmmoFabricator.Budget 5000;
|
||||
AmmoFabricator.PerType 2;
|
||||
AmmoFabricator.MaxUnitPrice 2500;
|
||||
Stamina 3000;
|
||||
}
|
||||
}
|
||||
|
|
@ -888,6 +890,7 @@ Class FabricatorTier2 : AmmoFabricator
|
|||
Inventory.MaxAmount 20;
|
||||
AmmoFabricator.Budget 15000;
|
||||
AmmoFabricator.PerType 4;
|
||||
AmmoFabricator.MaxUnitPrice 10000;
|
||||
Stamina 12000;
|
||||
}
|
||||
}
|
||||
|
|
@ -899,8 +902,9 @@ Class FabricatorTier3 : AmmoFabricator
|
|||
Inventory.Icon "graphics/HUD/Icons/I_Fabricator3.png";
|
||||
Inventory.PickupMessage "$T_FABRICATOR3";
|
||||
Inventory.MaxAmount 10;
|
||||
AmmoFabricator.Budget 100000;
|
||||
AmmoFabricator.Budget 120000;
|
||||
AmmoFabricator.PerType 8;
|
||||
AmmoFabricator.MaxUnitPrice 80000;
|
||||
Stamina 150000;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1876,7 +1876,24 @@ Class SWWMHandler : EventHandler
|
|||
}
|
||||
else if ( e.Replacee is 'CWeaponPiece2' ) e.Replacement = 'CandyGun';
|
||||
else if ( e.Replacee is 'MWeaponPiece1' ) e.Replacement = 'Ynykron';
|
||||
else if ( (e.Replacee == 'Clip') || (e.Replacee == 'GoldWandAmmo') || (e.Replacee == 'GoldWandHefty') || (e.Replacee is 'ArtiPoisonBag') )
|
||||
else if ( e.Replacee is 'ArtiPoisonBag' )
|
||||
{
|
||||
switch( Random[Replacement](0,6) )
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
e.Replacement = redpool[!Random[Replacement](0,2)];
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
e.Replacement = greenpool[!Random[Replacement](0,2)];
|
||||
break;
|
||||
default:
|
||||
e.Replacement = 'SWWMNothing';
|
||||
}
|
||||
}
|
||||
else if ( (e.Replacee == 'Clip') || (e.Replacee == 'GoldWandAmmo') || (e.Replacee == 'GoldWandHefty') )
|
||||
{
|
||||
switch( Random[Replacement](0,6) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -247,6 +247,7 @@ Class Demolitionist : PlayerPawn
|
|||
Super.PostBeginPlay();
|
||||
mystats = SWWMStats.Find(player);
|
||||
oldpos = pos;
|
||||
lastground = true;
|
||||
}
|
||||
void A_Dash()
|
||||
{
|
||||
|
|
@ -549,14 +550,14 @@ Class Demolitionist : PlayerPawn
|
|||
guideangle *= .9;
|
||||
guidepitch *= .9;
|
||||
guideroll *= .9;
|
||||
if ( player.onground ) lastgroundtic = gametic;
|
||||
// anchor to ground when going down steps
|
||||
if ( !player.onground && !bFly && !bFlyCheat && (waterlevel < 2) && (abs(pos.z-floorz) <= maxdropoffheight) && (player.jumptics == 0) && (vel.z < 0) )
|
||||
{
|
||||
ssup = max(0,(pos.z-floorz));
|
||||
SetOrigin(Vec2OffsetZ(0,0,floorz),true);
|
||||
player.onground = true;
|
||||
lastground = player.onground = true;
|
||||
}
|
||||
if ( player.onground ) lastgroundtic = gametic;
|
||||
if ( !(player.cheats & CF_PREDICTING) && !(player.cmd.forwardmove|player.cmd.sidemove) )
|
||||
PlayIdle();
|
||||
Vector3 dodge = (0,0,0), x, y, z;
|
||||
|
|
|
|||
|
|
@ -1289,7 +1289,7 @@ Class Spreadgun : SWWMWeapon
|
|||
next = ridx;
|
||||
break;
|
||||
}
|
||||
if ( rev && (invoker.nextammo == types[next]) )
|
||||
if ( rev && ((invoker.nextammo == types[next]) || (CountInv(invoker.nextammo) <= 0)) )
|
||||
{
|
||||
A_SwitchAmmoType(false); // recheck forward
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Class SWWMTitleStuff : EventHandler
|
||||
{
|
||||
transient ui TextureID tex[2];
|
||||
transient ui TextureID tex[3];
|
||||
transient ui Font TewiFont;
|
||||
|
||||
override void WorldTick()
|
||||
|
|
@ -15,12 +15,19 @@ Class SWWMTitleStuff : EventHandler
|
|||
if ( gamestate != GS_TITLELEVEL ) return;
|
||||
if ( !tex[0] ) tex[0] = TexMan.CheckForTexture("graphics/UnSXLogo.png",TexMan.Type_Any);
|
||||
if ( !tex[1] ) tex[1] = TexMan.CheckForTexture("graphics/SWWMGZLogo.png",TexMan.Type_Any);
|
||||
if ( !tex[2] ) tex[2] = TexMan.CheckForTexture("graphics/tempbg.png",TexMan.Type_Any);
|
||||
if ( !TewiFont ) TewiFont = Font.GetFont('TewiShadedInverse');
|
||||
Screen.Dim("Black",clamp(1.-((level.maptime+e.FracTic)/Thinker.TICRATE)*.1,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
double ar = Screen.GetAspectRatio();
|
||||
Vector2 tsize = TexMan.GetScaledSize(tex[0]);
|
||||
Vector2 tsize = TexMan.GetScaledSize(tex[2]);
|
||||
double sar = tsize.x/tsize.y;
|
||||
Vector2 vsize;
|
||||
if ( sar < ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else if ( sar > ar ) vsize = (tsize.y*ar,tsize.y);
|
||||
else vsize = tsize;
|
||||
Screen.DrawTexture(tex[2],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(192,0,0,0));
|
||||
Screen.Dim("Black",clamp(1.-((level.maptime+e.FracTic)/Thinker.TICRATE)*.05,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
tsize = TexMan.GetScaledSize(tex[0]);
|
||||
sar = tsize.x/tsize.y;
|
||||
if ( sar > ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else if ( sar < ar ) vsize = (tsize.y*ar,tsize.y);
|
||||
else vsize = tsize;
|
||||
|
|
@ -30,11 +37,11 @@ Class SWWMTitleStuff : EventHandler
|
|||
String str = "presents";
|
||||
alf = clamp(((level.maptime+e.FracTic)/Thinker.TICRATE)-10,0.,1.);
|
||||
alf *= 1.-clamp(((level.maptime+e.FracTic)/Thinker.TICRATE)-16,0.,1.);
|
||||
Screen.DrawText(TewiFont,Font.CR_WHITE,(160-TewiFont.StringWidth(str))/2,(100-TewiFont.GetHeight())/2,str,DTA_VirtualWidth,160,DTA_VirtualHeight,100,DTA_Alpha,alf);
|
||||
Screen.DrawText(TewiFont,Font.CR_WHITE,(320-TewiFont.StringWidth(str))/2,(200-TewiFont.GetHeight())/2,str,DTA_VirtualWidth,320,DTA_VirtualHeight,200,DTA_Alpha,alf);
|
||||
str = "a mod by \cxMarisa Kirisame";
|
||||
alf = clamp(((level.maptime+e.FracTic)/Thinker.TICRATE)-18,0.,1.);
|
||||
alf *= 1.-clamp(((level.maptime+e.FracTic)/Thinker.TICRATE)-24,0.,1.);
|
||||
Screen.DrawText(TewiFont,Font.CR_WHITE,(160-TewiFont.StringWidth(str))/2,(100-TewiFont.GetHeight())/2,str,DTA_VirtualWidth,160,DTA_VirtualHeight,100,DTA_Alpha,alf);
|
||||
Screen.DrawText(TewiFont,Font.CR_WHITE,(320-TewiFont.StringWidth(str))/2,(200-TewiFont.GetHeight())/2,str,DTA_VirtualWidth,320,DTA_VirtualHeight,200,DTA_Alpha,alf);
|
||||
tsize = TexMan.GetScaledSize(tex[1]);
|
||||
sar = tsize.x/tsize.y;
|
||||
if ( sar > ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue