A couple tweaks.
This commit is contained in:
parent
b7d03a602d
commit
98012daf26
8 changed files with 118 additions and 88 deletions
|
|
@ -19,6 +19,15 @@ This is just a bit of *"future planning"* for stuff that I ***might*** add after
|
|||
- [Heretic] Manarock *("A delicacy for gods, but instantly deadly for mortals")*
|
||||
- [Heretic] Lithium - Volume One *(A work of art, one of the finest graphic novels)*
|
||||
- [Hexen] Rubber Duck *("Is this some kind of convoluted joke from those two?")*
|
||||
* **More achievements:**
|
||||
- [Doom] Heck No *(Instakill 10 Archviles)*
|
||||
- Kaboom *(Kill 30 enemies with planted Explodium Mags)*
|
||||
- OH YEAH *(Bust through 20 doors)*
|
||||
- [Doom] Goodbye Franchise *(Rescue Commander Keen)*
|
||||
- Pacifist *(Finish a map without killing anything)*
|
||||
- Untouchable *(Finish a map without taking damage)*
|
||||
- Under Pressure *(Break a crusher)*
|
||||
- The Longest Journey *(Walk a total of 1000km)*
|
||||
* ***(Maybe)* Fake livestream chat overlay, with dynamic reactions to all sorts of stuff**
|
||||
* **Replace all hitscan with *"light projectiles"***
|
||||
* **Leaning and a lot of other stuff involving ViewAngles and ViewPos**
|
||||
|
|
|
|||
151
achievements.lst
151
achievements.lst
|
|
@ -5,78 +5,79 @@
|
|||
# handling in zscript (usually for cases where this is dynamic, like
|
||||
# the "all collectibles" achievement)
|
||||
# hasformat: the TXT string has a %d in it to substitute for maxval
|
||||
abort,0,no
|
||||
acid,200,yes
|
||||
allcoll,-1,no
|
||||
allitems,30,yes
|
||||
allkills,30,yes
|
||||
allsecrets,30,yes
|
||||
anom,25,yes
|
||||
anone,0,no
|
||||
balls,10,yes
|
||||
barrier,25,yes
|
||||
bonk,300,yes
|
||||
bossdash,10,yes
|
||||
brake,30,yes
|
||||
bune,200,yes
|
||||
bustin,40,yes
|
||||
butts,100,yes
|
||||
cheat,0,no
|
||||
cliffyb,0,no
|
||||
clonk,0,no
|
||||
conga,15,yes
|
||||
#dab,100,yes
|
||||
#dakka,60,no
|
||||
dime,0,no
|
||||
dosh,1000000000,no
|
||||
everything,0,no
|
||||
ezkill,100,yes
|
||||
flight,2000,yes
|
||||
friend,30,yes
|
||||
fuel,400,yes
|
||||
#fuller,0,no
|
||||
gcsandwich,25,yes
|
||||
#gepgun,30,yes
|
||||
ghost,25,yes
|
||||
gib,1000,yes
|
||||
golden,24,yes
|
||||
gravity,25,yes
|
||||
#hnd,6,yes
|
||||
jump,100,yes
|
||||
lead,1500,yes
|
||||
#lightning,0,no
|
||||
ligma,0,no
|
||||
love,20,yes
|
||||
#mashiro,0,no
|
||||
mbf,0,no
|
||||
mega,1000000,no
|
||||
moth,50,yes
|
||||
nice,0,no
|
||||
oneguy,0,no
|
||||
onestanding,0,no
|
||||
oopsie,0,no
|
||||
par,30,yes
|
||||
parry,100,yes
|
||||
#pene,20,yes
|
||||
plush,20,yes
|
||||
rage,25,yes
|
||||
reflect,20,yes
|
||||
refresh,25,yes
|
||||
#roast,30,yes
|
||||
salt,0,no
|
||||
sanic,800,yes
|
||||
sekiro,0,no
|
||||
shame,0,no
|
||||
shock,30,yes
|
||||
slayer,40,yes
|
||||
slemg,50,yes
|
||||
sneeze,20,yes
|
||||
step,60,yes
|
||||
stomp,50,yes
|
||||
sunny,25,yes
|
||||
tele,0,no
|
||||
thicc,100,yes
|
||||
thruwall,25,yes
|
||||
wantdie,0,no
|
||||
wave,0,no
|
||||
yeet,0,no
|
||||
# gametype: the game this belongs to (any, doom, heretic, hexen, raven, etc.)
|
||||
abort,0,no,any
|
||||
acid,200,yes,any
|
||||
allcoll,-1,no,any
|
||||
allitems,30,yes,any
|
||||
allkills,30,yes,any
|
||||
allsecrets,30,yes,nothexen
|
||||
anom,25,yes,any
|
||||
anone,0,no,any
|
||||
balls,10,yes,any
|
||||
barrier,25,yes,doom
|
||||
bonk,300,yes,any
|
||||
bossdash,10,yes,any
|
||||
brake,30,yes,any
|
||||
bune,200,yes,any
|
||||
bustin,40,yes,any
|
||||
butts,100,yes,any
|
||||
cheat,0,no,any
|
||||
cliffyb,0,no,nothexen
|
||||
clonk,0,no,any
|
||||
conga,15,yes,any
|
||||
#dab,100,yes,any
|
||||
#dakka,60,no,any
|
||||
dime,0,no,any
|
||||
dosh,1000000000,no,any
|
||||
everything,0,no,any
|
||||
ezkill,100,yes,any
|
||||
flight,2000,yes,any
|
||||
friend,30,yes,any
|
||||
fuel,400,yes,any
|
||||
#fuller,0,no,any
|
||||
gcsandwich,25,yes,any
|
||||
#gepgun,30,yes,any
|
||||
ghost,25,yes,any
|
||||
gib,1000,yes,any
|
||||
golden,24,yes,any
|
||||
gravity,25,yes,raven
|
||||
#hnd,6,yes,any
|
||||
jump,100,yes,any
|
||||
lead,1500,yes,any
|
||||
#lightning,0,no,any
|
||||
ligma,0,no,any
|
||||
love,20,yes,any
|
||||
#mashiro,0,no,any
|
||||
mbf,0,no,doom
|
||||
mega,1000000,no,any
|
||||
moth,50,yes,any
|
||||
nice,0,no,any
|
||||
oneguy,0,no,any
|
||||
onestanding,0,no,any
|
||||
oopsie,0,no,any
|
||||
par,30,yes,nothexen
|
||||
parry,100,yes,any
|
||||
#pene,20,yes,any
|
||||
plush,20,yes,any
|
||||
rage,25,yes,any
|
||||
reflect,20,yes,any
|
||||
refresh,25,yes,any
|
||||
#roast,30,yes,any
|
||||
salt,0,no,any
|
||||
sanic,800,yes,any
|
||||
sekiro,0,no,any
|
||||
shame,0,no,any
|
||||
shock,30,yes,any
|
||||
slayer,40,yes,any
|
||||
slemg,50,yes,any
|
||||
sneeze,20,yes,any
|
||||
step,60,yes,any
|
||||
stomp,50,yes,any
|
||||
sunny,25,yes,any
|
||||
tele,0,no,any
|
||||
thicc,100,yes,any
|
||||
thruwall,25,yes,any
|
||||
wantdie,0,no,any
|
||||
wave,0,no,any
|
||||
yeet,0,no,doom
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r433 \cu(Wed 7 Apr 11:17:04 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r433 \cu(2021-04-07 11:17:04)\c-";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r435 \cu(Thu 8 Apr 15:57:28 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r435 \cu(2021-04-08 15:57:28)\c-";
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ extend Class SWWMHandler
|
|||
return false;
|
||||
}
|
||||
|
||||
private static bool ShouldSpawnGold()
|
||||
static bool ShouldSpawnGold()
|
||||
{
|
||||
int totalneeded = 0;
|
||||
// check "free space" in player inventories
|
||||
|
|
|
|||
|
|
@ -18,6 +18,10 @@ Class FroggyChair : Actor
|
|||
+NOBLOOD;
|
||||
+INTERPOLATEANGLES;
|
||||
+FORCEPAIN;
|
||||
+CANPASS;
|
||||
+NOBLOCKMONST;
|
||||
+MOVEWITHSECTOR;
|
||||
+SLIDESONWALLS;
|
||||
}
|
||||
private void BeginCarry( Actor carrier )
|
||||
{
|
||||
|
|
@ -728,12 +732,12 @@ Class Chancebox : Actor
|
|||
// no candidates? just burst into treats
|
||||
if ( Random[Chancebox](0,1) )
|
||||
{
|
||||
let a = Spawn(!Random[Chancebox](0,2)?"GoldShell":Random[Chancebox](0,1)?"GrilledCheeseSandwich":"YnykronAmmo",pos);
|
||||
let a = Spawn((!Random[Chancebox](0,2)&&SWWMUtility.ItemExists("Spreadgun"))?"GoldShell":(Random[Chancebox](0,1)&&SWWMUtility.ItemExists("Ynykron"))?"YnykronAmmo":"GrilledCheeseSandwich",pos);
|
||||
a.bDROPPED = false;
|
||||
a.bNOGRAVITY = false;
|
||||
a.vel.z = FRandom[Chancebox](2,4);
|
||||
}
|
||||
else if ( !Random[Chancebox](0,2) )
|
||||
else if ( !Random[Chancebox](0,2) && SWWMUtility.ItemExists("CandyGun") )
|
||||
{
|
||||
for ( int i=0; i<=6; i++ )
|
||||
{
|
||||
|
|
@ -744,7 +748,7 @@ Class Chancebox : Actor
|
|||
if ( i > 0 ) a.vel.xy = (cos(i*60),sin(i*60))*FRandom[Chancebox](1,2);
|
||||
}
|
||||
}
|
||||
else if ( !Random[Chancebox](0,2) )
|
||||
else if ( !Random[Chancebox](0,2) && SWWMUtility.ItemExists("SilverBullet") )
|
||||
{
|
||||
for ( int i=0; i<3; i++ )
|
||||
{
|
||||
|
|
@ -763,7 +767,7 @@ Class Chancebox : Actor
|
|||
a.vel.xy = (cos(i*60),sin(i*60))*FRandom[Chancebox](3,4);
|
||||
}
|
||||
}
|
||||
else if ( Random[Chancebox](0,1) )
|
||||
else if ( Random[Chancebox](0,1) && SWWMUtility.ItemExists("Hellblazer") )
|
||||
{
|
||||
let a = Spawn("HellblazerWarheads",pos);
|
||||
a.bDROPPED = false;
|
||||
|
|
@ -794,7 +798,7 @@ Class Chancebox : Actor
|
|||
a.vel.xy = (cos(i*45),sin(i*45))*FRandom[Chancebox](5,6);
|
||||
}
|
||||
}
|
||||
else if ( Random[Chancebox](0,1) )
|
||||
else if ( Random[Chancebox](0,1) && SWWMUtility.ItemExists("Spreadgun") )
|
||||
{
|
||||
let a = Spawn("BlackShell",pos);
|
||||
a.bDROPPED = false;
|
||||
|
|
@ -802,7 +806,7 @@ Class Chancebox : Actor
|
|||
a.vel.z = FRandom[Chancebox](2,4);
|
||||
for ( int i=0; i<3; i++ )
|
||||
{
|
||||
a = Spawn("BlueShell",pos);
|
||||
a = Spawn("WhiteShell",pos);
|
||||
a.bDROPPED = false;
|
||||
a.bNOGRAVITY = false;
|
||||
a.vel.z = FRandom[Chancebox](2,4);
|
||||
|
|
@ -810,7 +814,7 @@ Class Chancebox : Actor
|
|||
}
|
||||
for ( int i=0; i<8; i++ )
|
||||
{
|
||||
a = Spawn((i%2)?"WhiteShell":"PurpleShell",pos);
|
||||
a = Spawn((i%2)?"PurpleShell":"BlueShell",pos);
|
||||
a.bDROPPED = false;
|
||||
a.bNOGRAVITY = false;
|
||||
a.vel.z = FRandom[Chancebox](2,4);
|
||||
|
|
@ -827,13 +831,14 @@ Class Chancebox : Actor
|
|||
}
|
||||
else if ( Random[Chancebox](0,1) )
|
||||
{
|
||||
Class<Actor> which = Random[Chancebox](1,0)?"HealthNuggetItem":"ArmorNuggetItem";
|
||||
for ( int i=0; i<20; i++ )
|
||||
{
|
||||
let a = Spawn("HealthNuggetItem",pos);
|
||||
let a = Spawn(which,pos);
|
||||
a.bDROPPED = false;
|
||||
a.bNOGRAVITY = false;
|
||||
a.vel.z = FRandom[Chancebox](2,8);
|
||||
a.vel.xy = (cos(i*3.6),sin(i*3.6))*FRandom[Chancebox](1,8);
|
||||
a.vel.xy = (cos(i*18),sin(i*18))*FRandom[Chancebox](1,8);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -2308,6 +2308,10 @@ Class DemolitionistMenu : GenericMenu
|
|||
if ( !type ) continue;
|
||||
// no collectibles
|
||||
if ( type is 'SWWMCollectible' ) continue;
|
||||
// no barriers outside doom
|
||||
if ( !(gameinfo.gametype&GAME_DOOM) && (type is 'EBarrier') ) continue;
|
||||
// no gravity outside raven
|
||||
if ( !(gameinfo.gametype&GAME_RAVEN) && (type is 'GravitySuppressor') ) continue;
|
||||
// can't sell candygun spares
|
||||
if ( sub && (type is 'CandyGunSpares') ) continue;
|
||||
let cur = players[consoleplayer].mo.FindInventory(type);
|
||||
|
|
|
|||
|
|
@ -335,7 +335,12 @@ Class Demolitionist : PlayerPawn
|
|||
{
|
||||
let type = (class<Inventory>)(AllActorClasses[i]);
|
||||
if ( !type ) continue;
|
||||
if ( !(gameinfo.gametype&GAME_Hexen) && (type is 'AmmoFabricator') ) continue; // no fabricators before hexen
|
||||
// no fabricators before hexen
|
||||
if ( !(gameinfo.gametype&GAME_Hexen) && (type is 'AmmoFabricator') ) continue;
|
||||
// no barriers outside doom
|
||||
if ( !(gameinfo.gametype&GAME_DOOM) && (type is 'EBarrier') ) continue;
|
||||
// no gravity outside raven
|
||||
if ( !(gameinfo.gametype&GAME_RAVEN) && (type is 'GravitySuppressor') ) continue;
|
||||
// Don't give maxed items
|
||||
let owned = FindInventory(type);
|
||||
if ( owned && (owned.Amount >= owned.MaxAmount) ) continue;
|
||||
|
|
|
|||
|
|
@ -48,6 +48,12 @@ Class SWWMUtility
|
|||
continue;
|
||||
Array<String> ln;
|
||||
list[i].Split(ln,",",0);
|
||||
// game filtering
|
||||
if ( !(gameinfo.gametype&GAME_DOOM) && (ln[3] ~== "doom") ) continue;
|
||||
else if ( !(gameinfo.gametype&GAME_HERETIC) && (ln[3] ~== "heretic") ) continue;
|
||||
else if ( !(gameinfo.gametype&GAME_HEXEN) && (ln[3] ~== "hexen") ) continue;
|
||||
else if ( !(gameinfo.gametype&GAME_RAVEN) && (ln[3] ~== "raven") ) continue;
|
||||
else if ( !(gameinfo.gametype&(GAME_DOOM|GAME_HERETIC)) && (ln[3] ~== "nothexen") ) continue;
|
||||
let ac = new("SWWMAchievement");
|
||||
ac.basename = ln[0];
|
||||
ac.maxval = ln[1].ToInt();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue