-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Startup, Add LockDef handling via Preprocessor, Light updates to …
…Paladin and Demoness
- Loading branch information
1 parent
1c641e3
commit 73231e5
Showing
13 changed files
with
248 additions
and
56 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
resources/assets/zscript/actors/hxdd/hexen2/players/_shared.zs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
class HX2PlayerHead : PlayerChunk { | ||
vector3 avelocity; | ||
|
||
Default { | ||
Radius 4; | ||
Height 4; | ||
Gravity 0.25; | ||
+NOBLOCKMAP | ||
+DROPOFF | ||
+CANNOTPUSH | ||
+SKYEXPLODE | ||
+NOBLOCKMONST | ||
+NOSKIN | ||
} | ||
States { | ||
Spawn: | ||
HX2H A 1 A_CheckFloor("Hit"); | ||
Loop; | ||
Hit: | ||
HX2H A 16 A_CheckPlayerDone; | ||
Stop; | ||
} | ||
|
||
override void BeginPlay() { | ||
self.avelocity = LemonUtil.GetRandVector3((-6.25, -6.25, -6.25), (6.25, 6.25, 6.25)); | ||
} | ||
|
||
override void Tick() { | ||
Super.Tick(); | ||
|
||
self.angle += self.avelocity.x; | ||
self.pitch += self.avelocity.y; | ||
self.roll += self.avelocity.z; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
resources/assets/zscript/actors/hxdd/hexen2/weapons/succubusacidrune.zs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
resources/assets/zscript/actors/hxdd/hexen2/weapons/succubusfirestorm.zs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
resources/assets/zscript/actors/hxdd/hexen2/weapons/succubustempeststaff.zs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
// Demoness Weapon: Temptest Staff | ||
// https://github.com/videogamepreservation/hexen2/blob/master/H2MP/hcode/lightwp.hc | ||
|
||
class SWeapTempestStaff: SuccubusWeapon { | ||
bool lastPoweredState; | ||
|
||
Default { | ||
+BLOODSPLATTER; | ||
+FLOATBOB; | ||
|
||
Weapon.SelectionOrder 1000; | ||
Weapon.AmmoType1 "Mana1"; | ||
Weapon.AmmoType2 "Mana2"; | ||
Weapon.AmmoUse1 1; | ||
Weapon.AmmoUse2 1; | ||
Weapon.AmmoGive 150; | ||
Weapon.KickBack 150; | ||
//Weapon.YAdjust 10; | ||
Obituary "$OB_MPSWEAPTEMPESTSTAFF"; | ||
Tag "$TAG_SWEAPTEMPESTSTAFF"; | ||
} | ||
|
||
States { | ||
Spawn: | ||
PKUP A -1; | ||
Stop; | ||
/* | ||
Select: | ||
500A A 0 A_Select; | ||
Loop; | ||
Deselect: | ||
500A A 0 A_Deselect; | ||
Loop; | ||
Select_Normal: | ||
FSSN KJIHGFEDCBA 2 Offset(0, 32); | ||
TNT1 A 0 A_Raise(100); | ||
Goto Ready; | ||
Select_Power: | ||
FSSP ABCDEFGHIJK 2 Offset(0, 32); | ||
TNT1 A 0 A_Raise(100); | ||
Goto Ready_Power; | ||
Deselect_Normal: | ||
FSIA A 0; | ||
FSSN ABCDEFGHIJK 2; | ||
TNT1 A 0 A_Lower(100); | ||
Loop; | ||
Deselect_Power: | ||
FSIC A 0; | ||
FSSP KJIHGFEDCBA 2; | ||
TNT1 A 0 A_Lower(100); | ||
Loop; | ||
Ready: | ||
FSIA ABCDEFGHIJKLMNOPQRSTUVWX 2 A_FireStormReady; | ||
FSIA Y 2 A_FireStormReady(true); | ||
Loop; | ||
*/ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
#include "zscript/events/hxdd/worldhandler.zs" | ||
#include "zscript/events/hxdd/worldhandler.zs" | ||
#include "zscript/events/hxdd/postprocessor.zs" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
Class HXDDLevelCompatibility : LevelPostProcessor { | ||
// ref: https://github.com/jekyllgrim/Beautiful-Doom/blob/53974b963c5f85c904808e7069a6b2d91bb5dd00/Z_BDoom/bd_events.zc#L66 | ||
int GetLineLockNumber(Line l) { | ||
if ( !l.locknumber ) { | ||
// check the special | ||
switch ( l.special ) { | ||
case FS_Execute: | ||
return l.Args[2]; | ||
break; | ||
case Door_LockedRaise: | ||
case Door_Animated: | ||
return l.Args[3]; | ||
break; | ||
case ACS_LockedExecute: | ||
case ACS_LockedExecuteDoor: | ||
case Generic_Door: | ||
return l.Args[4]; | ||
break; | ||
} | ||
} | ||
return l.locknumber; | ||
} | ||
|
||
protected void Apply(Name checksum, String mapname) { | ||
// HXDD Mode only modifies 6 keys, so we should be looking for those keys in lines | ||
if (LemonUtil.CVAR_GetBool("HXDD_USE_KEYDEF_MODE", true)) { | ||
int gameMode = LemonUtil.GetOptionGameMode(); | ||
int offset = 0; | ||
if (gameMode == GAME_Heretic) { | ||
offset = 1000; | ||
} else if (gameMode == GAME_Hexen) { | ||
offset = 2000; | ||
} | ||
for (int i = 0; i < Level.lines.Size(); i++) { | ||
Line l = Level.lines[i]; | ||
int locknum = GetLineLockNumber(l); | ||
if (locknum > 0) { | ||
Array<int> args; | ||
args.Resize(l.Args.Size()); | ||
for (int i = 0; i < l.Args.Size(); i++) { | ||
args[i] = l.Args[i]; | ||
} | ||
if ( !l.locknumber ) { | ||
// check the special | ||
int key; | ||
switch ( l.special ) { | ||
case FS_Execute: | ||
key = args[2] - 128; | ||
if (key > 0 && key < 4) { | ||
args[2] = key + offset; | ||
} | ||
break; | ||
case Door_LockedRaise: | ||
case Door_Animated: | ||
key = args[3] - 128; | ||
if (key > 0 && key < 4) { | ||
args[3] = key + offset; | ||
} | ||
break; | ||
case ACS_LockedExecute: | ||
case ACS_LockedExecuteDoor: | ||
case Generic_Door: | ||
key = args[4] - 128; | ||
if (key > 0 && key < 4) { | ||
args[4] = key + offset; | ||
} | ||
break; | ||
} | ||
} | ||
SetLineSpecial(i, l.special, args[0], args[1], args[2], args[3], args[4]); | ||
} | ||
} | ||
} | ||
} | ||
} |