Browse Source

crap

tags/1.6
Marrub 3 years ago
parent
commit
6ddb8af12d
72 changed files with 627 additions and 393 deletions
  1. BIN
      pk7/acs/lithmain.bin
  2. +0
    -5
      pk7/lscripts/1_Marine/Marine.dec
  3. +0
    -5
      pk7/lscripts/2_CyberMage/CyberMage.dec
  4. +0
    -1
      pk7/lscripts/Effects.dec
  5. +0
    -77
      pk7/lscripts/Effects/BulletPuff.dec
  6. +0
    -3
      pk7/lscripts/Projectiles.dec
  7. +0
    -29
      pk7/lscripts/Projectiles/700Bullet.dec
  8. +0
    -44
      pk7/lscripts/Projectiles/RifleBullet.dec
  9. +0
    -28
      pk7/lscripts/Projectiles/SniperBullet.dec
  10. +0
    -8
      pk7/lzscript/3_Informant/Informant.zsc
  11. +28
    -0
      pk7/lzscript/4_Wanderer/Wanderer.zsc
  12. +28
    -0
      pk7/lzscript/5_Assassin/Assassin.zsc
  13. +4
    -19
      pk7/lzscript/6_DarkLord/DarkLord.zsc
  14. +1
    -0
      pk7/lzscript/6_DarkLord/Weapons/3_4Bore.zsc
  15. +1
    -0
      pk7/lzscript/6_DarkLord/Weapons/3_ShrapnelGun.zsc
  16. +4
    -2
      pk7/lzscript/6_DarkLord/Weapons/4_Minigun.zsc
  17. +52
    -0
      pk7/lzscript/6_DarkLord/Weapons/6_FatMac.zsc
  18. +1
    -0
      pk7/lzscript/6_DarkLord/Weapons/7_FortuneGun.zsc
  19. +28
    -0
      pk7/lzscript/7_Thoth/Thoth.zsc
  20. +7
    -0
      pk7/lzscript/Constants.zsc
  21. +4
    -0
      pk7/lzscript/Effects.zsc
  22. +83
    -0
      pk7/lzscript/Effects/BulletPuff.zsc
  23. +0
    -0
      pk7/lzscript/Effects/ItemSprite.zsc
  24. +2
    -1
      pk7/lzscript/Headers/lith_pdata.h
  25. +4
    -0
      pk7/lzscript/Headers/lith_weapons.h
  26. +0
    -0
      pk7/lzscript/Items.zsc
  27. +30
    -0
      pk7/lzscript/Player.zsc
  28. +6
    -0
      pk7/lzscript/Playsim.zsc
  29. +0
    -0
      pk7/lzscript/Playsim/Cyberspace.zsc
  30. +22
    -3
      pk7/lzscript/Playsim/Events.zsc
  31. +3
    -3
      pk7/lzscript/Playsim/PauseManager.zsc
  32. +14
    -0
      pk7/lzscript/Playsim/Server.zsc
  33. +12
    -0
      pk7/lzscript/Playsim/Server/Input.zsc
  34. +22
    -0
      pk7/lzscript/Playsim/Server/Player.zsc
  35. +17
    -0
      pk7/lzscript/Playsim/Server/Sprites.zsc
  36. +6
    -0
      pk7/lzscript/Projectiles.zsc
  37. +32
    -0
      pk7/lzscript/Projectiles/700Bullet.zsc
  38. +0
    -0
      pk7/lzscript/Projectiles/DarkMatter.zsc
  39. +50
    -0
      pk7/lzscript/Projectiles/RifleBullet.zsc
  40. +31
    -0
      pk7/lzscript/Projectiles/SniperBullet.zsc
  41. +0
    -49
      pk7/lzscript/Server.zsc
  42. +0
    -0
      pk7/lzscript/Weapons.zsc
  43. BIN
      pk7/sounds/APISFIR1.flac
  44. BIN
      pk7/sounds/APISFIR2.flac
  45. BIN
      pk7/sounds/APISFIR3.flac
  46. BIN
      pk7/sounds/APISFIR4.flac
  47. BIN
      pk7/sounds/JPISRCLO.flac
  48. BIN
      pk7/sounds/JPISRIN.flac
  49. BIN
      pk7/sounds/JPISROPE.flac
  50. BIN
      pk7/sounds/TPISFIRE.ogg
  51. BIN
      pk7/sounds/TROKFIR1.flac
  52. BIN
      pk7/sounds/TROKFIR2.flac
  53. BIN
      pk7/sounds/TROKFIR3.flac
  54. BIN
      pk7/sounds/XPISFIR2.flac
  55. BIN
      pk7/sounds/XPISFIRE.flac
  56. BIN
      pk7/sounds/XSSGCHAR.flac
  57. +7
    -25
      pk7/zscript.zsc
  58. +5
    -3
      source/Headers/lith_common.h
  59. +2
    -1
      source/Headers/lith_pdata.h
  60. +4
    -0
      source/Headers/lith_weapons.h
  61. +1
    -1
      source/Main/g_textbox.c
  62. +4
    -4
      source/Main/p_cbi.c
  63. +18
    -1
      source/Main/p_data.c
  64. +11
    -19
      source/Main/p_player.c
  65. +5
    -5
      source/Main/p_upgrades.c
  66. +23
    -17
      source/Main/p_weaponinfo.c
  67. +2
    -2
      source/Main/p_weapons.c
  68. +9
    -3
      source/Main/u_magic.c
  69. +1
    -3
      source/Main/w_decorate.c
  70. +1
    -0
      source/Main/w_world.c
  71. +38
    -30
      source/Weapons.txt
  72. +4
    -2
      wepc.rb

BIN
pk7/acs/lithmain.bin View File


+ 0
- 5
pk7/lscripts/1_Marine/Marine.dec View File

@@ -16,11 +16,6 @@ actor Lith_RocketBooster : PowerFlight
-INVENTORY.HUBPOWER
}

actor Lith_ItemSpriteM : Lith_ItemSprite
{
VisibleToPlayerClass "Lith_MarinePlayer"
}

actor Lith_MWeapon : Lith_Weapon
{
Inventory.RestrictedTo "Lith_MarinePlayer"


+ 0
- 5
pk7/lscripts/2_CyberMage/CyberMage.dec View File

@@ -17,11 +17,6 @@ actor Lith_StealthSystem : PowerInvisibility
Powerup.Mode "Opaque"
}

actor Lith_ItemSpriteC : Lith_ItemSprite
{
VisibleToPlayerClass "Lith_CyberMagePlayer"
}

actor Lith_CWeapon : Lith_Weapon
{
Inventory.RestrictedTo "Lith_CyberMagePlayer"


+ 0
- 1
pk7/lscripts/Effects.dec View File

@@ -1,4 +1,3 @@
#include "lscripts/Effects/BulletPuff.dec"
#include "lscripts/Effects/GunSmoke.dec"
#include "lscripts/Effects/Magazine.dec"
#include "lscripts/Effects/Rain.dec"


+ 0
- 77
pk7/lscripts/Effects/BulletPuff.dec View File

@@ -1,77 +0,0 @@
// Taken from Psychic with permission.
actor Lith_PuffSmoke
{
Radius 1
Height 1
RenderStyle Add
Alpha 0.3
Scale 0.4
+NOGRAVITY
+NOBLOCKMAP
+FLOORCLIP
+FORCEXYBILLBOARD
States
{
Spawn:
SMK5 ABCDEFGHIJKLMNOP 1
stop
}
}
actor Lith_BulletPuff replaces BulletPuff
{
RenderStyle "Add"
DamageType "Lith_Bullets"
Species "Lith_Player"
Alpha 0.9
+NOGRAVITY
+NOBLOCKMAP
+FLOORCLIP
+NOEXTREMEDEATH
+FORCEXYBILLBOARD
+PUFFGETSOWNER
+MTHRUSPECIES
-ALLOWPARTICLES
States
{
explod:
MISL B 0 A_SetScale(0.3)
MISL B 0 A_PlaySound("explosion")
MISL B 8 bright A_Explode
MISL C 6 bright
MISL D 4 bright
stop
Spawn:
XPUF Q 0
XPUF Q 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_TorgueMode, true), "explod")
XPUF Q 0 A_SpawnItemEx("Lith_PuffSmoke", 0, 0, 4.0 + 0.1 * random(-10, 10))
XPUF Q 0 A_Jump(256, "PuffNormal", "PuffMirrored")
PuffNormal:
XPUF Q 0 A_Jump(32, "PuffNormalAlt")
XPUF QRSTU 1 bright
PuffNormalEnd:
XPUF FGH 1 bright
stop
PuffNormalAlt:
XPUF A 0 A_PlaySound("effects/puff/ricochet")
XPUF ABCDE 1 bright
goto PuffNormalEnd
PuffMirrored:
XPUF V 0 A_Jump(32, "PuffMirroredAlt")
XPUF VWXYZ 1 bright
PuffMirroredEnd:
XPUF NOP 1 bright
stop
PuffMirroredAlt:
XPUF I 0 A_PlaySound("effects/puff/ricochet")
XPUF IJKLM 1 bright
goto PuffMirroredEnd
}
}
// EOF

+ 0
- 3
pk7/lscripts/Projectiles.dec View File

@@ -2,9 +2,6 @@
#include "lscripts/Projectiles/ShotgunTrail.dec"
#include "lscripts/Projectiles/Gauss.dec"
#include "lscripts/Projectiles/PoisonBullet.dec"
#include "lscripts/Projectiles/RifleBullet.dec"
#include "lscripts/Projectiles/SniperBullet.dec"
#include "lscripts/Projectiles/700Bullet.dec"
#include "lscripts/Projectiles/MiniMissile.dec"
#include "lscripts/Projectiles/Rocket.dec"
#include "lscripts/Projectiles/HomingRocket.dec"


+ 0
- 29
pk7/lscripts/Projectiles/700Bullet.dec View File

@@ -1,29 +0,0 @@
actor Lith_700Bullet : Lith_BulletPuff
{
Mass 10
Scale 1.5
DamageType "Lith_Bullets"
Species "Lith_Player"

+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
+NOEXTREMEDEATH
+PAINLESS

states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(10, 32, 0)
TNT1 AAA 0 A_SpawnItemEx("Lith_PuffSmoke", frandom(-3,3), frandom(-3,3), frandom(1,5) + 0.1 * random(-10, 10))
goto Super::Spawn
XDeath:
TNT1 A 0
TNT1 A 0 A_Explode(25, 128, 0)
stop
}
}

// EOF

+ 0
- 44
pk7/lscripts/Projectiles/RifleBullet.dec View File

@@ -1,44 +0,0 @@
actor Lith_RifleBullet : Lith_BulletPuff
{
Mass 9999
DamageType "Lith_Bullets"
Species "Lith_Player"
+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
states
{
Crash:
TNT1 A 0
TNT1 A 0 A_Explode(7, 32, 0)
TNT1 A 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_7777777, true), "CrashMarathon")
goto Super::Spawn
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(7, 32, 0)
TNT1 A 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_7777777, true), "SpawnMarathon")
goto Super::Spawn
XDeath:
TNT1 A 0
TNT1 A 0 A_JumpIf(!CallACS("LPData", pdata_upgrade, UPGR_7777777, true), 2)
TNT1 A 0 A_PlaySound("marathon/hit", 6)
TNT1 A 0 A_Explode(7, 32, 0)
stop
CrashMarathon: TNT1 A 0 A_PlaySound("marathon/hitwall", 6) goto MarathonPuff
SpawnMarathon: TNT1 A 0 A_PlaySound("marathon/hitsolid", 6) goto MarathonPuff
MarathonPuff:
TNT1 A 0 A_SetScale(0.5)
TNT1 A 0 A_SetTranslucent(1, 1)
MPUF ABCDEFG 2 bright
stop
}
}

actor Lith_RifleBulletPainless : Lith_RifleBullet
{
+PAINLESS
}


+ 0
- 28
pk7/lscripts/Projectiles/SniperBullet.dec View File

@@ -1,28 +0,0 @@
actor Lith_SniperBullet : Lith_BulletPuff
{
Mass 20
DamageType "Lith_Bullets"
Species "Lith_Player"
+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
+FORCEPAIN
+NOEXTREMEDEATH
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(25, 128, 0)
goto Super::Spawn
XDeath:
TNT1 A 0
TNT1 A 0 A_Explode(25, 128, 0)
stop
}
}
// EOF

+ 0
- 8
pk7/lzscript/3_Informant/Informant.zsc View File

@@ -53,14 +53,6 @@ class Lith_InvulnStep : PowerInvulnerable
}
}

class Lith_ItemSpriteI : Lith_ItemSprite
{
default
{
VisibleToPlayerClass "Lith_InformantPlayer";
}
}

class Lith_IWeapon : Lith_Weapon
{
default


+ 28
- 0
pk7/lzscript/4_Wanderer/Wanderer.zsc View File

@@ -0,0 +1,28 @@
class Lith_WandererPlayer : Lith_Player
{
default
{
Player.DisplayName "Wanderer";
Player.SoundClass "wanderer";
Player.Portrait "lgfx/Portraits/Wanderer.png";
Tag "Wanderer";
}
}

class Lith_ItemSpriteW : Lith_ItemSprite
{
default
{
VisibleToPlayerClass "Lith_WandererPlayer";
}
}

class Lith_WWeapon : Lith_Weapon
{
default
{
Inventory.RestrictedTo "Lith_WandererPlayer";
}
}

// EOF

+ 28
- 0
pk7/lzscript/5_Assassin/Assassin.zsc View File

@@ -0,0 +1,28 @@
class Lith_AssassinPlayer : Lith_Player
{
default
{
Player.DisplayName "Assassin";
Player.SoundClass "assassin";
Player.Portrait "lgfx/Portraits/Assassin.png";
Tag "Assassin";
}
}

class Lith_ItemSpriteA : Lith_ItemSprite
{
default
{
VisibleToPlayerClass "Lith_AssassinPlayer";
}
}

class Lith_AWeapon : Lith_Weapon
{
default
{
Inventory.RestrictedTo "Lith_AssassinPlayer";
}
}

// EOF

+ 4
- 19
pk7/lzscript/6_DarkLord/DarkLord.zsc View File

@@ -11,19 +11,10 @@ class Lith_DarkLordPlayer : Lith_Player
Player.AttackZOffset 17;
Player.MaxHealth 125;
Health 125;
DamageFactor 0.777;
Tag "DarkLord";
}
}

class Lith_ItemSpriteD : Lith_ItemSprite
{
default
{
VisibleToPlayerClass "Lith_DarkLordPlayer";
}
}

class Lith_DWeapon : Lith_Weapon
{
default
@@ -32,17 +23,11 @@ class Lith_DWeapon : Lith_Weapon
}
}

class Lith_FatMac : Lith_DWeapon
{
default
{
Tag "$LITH_TXT_INFO_SHORT_FatMac";
Weapon.SlotNumber 5;
Weapon.SlotPriority 1;
}
}

#include "lzscript/6_DarkLord/Weapons/2_700Express.zsc"
#include "lzscript/6_DarkLord/Weapons/3_4Bore.zsc"
#include "lzscript/6_DarkLord/Weapons/3_ShrapnelGun.zsc"
#include "lzscript/6_DarkLord/Weapons/4_Minigun.zsc"
#include "lzscript/6_DarkLord/Weapons/6_FatMac.zsc"
#include "lzscript/6_DarkLord/Weapons/7_FortuneGun.zsc"

// EOF

+ 1
- 0
pk7/lzscript/6_DarkLord/Weapons/3_4Bore.zsc View File

@@ -0,0 +1 @@

+ 1
- 0
pk7/lzscript/6_DarkLord/Weapons/3_ShrapnelGun.zsc View File

@@ -0,0 +1 @@

+ 4
- 2
pk7/lzscript/6_DarkLord/Weapons/4_Minigun.zsc View File

@@ -24,9 +24,11 @@ class Lith_Minigun : Lith_DWeapon

if(owner.player.buttons & (BT_ATTACK|BT_ALTATTACK) && !lith_reloading)
{
lith_windup += 0.3/TICRATE;
lith_windup += 0.5/TICRATE;
if(lith_windup > 1) lith_windup = 1;

owner.A_AlertMonsters(256);

if(!lith_sndstate) {
owner.A_PlaySound("weapons/minigun/up", CHAN_7, 1, true);
lith_sndstate++;
@@ -43,7 +45,7 @@ class Lith_Minigun : Lith_DWeapon

if(lith_windup)
{
lith_windup -= 0.2/TICRATE;
lith_windup -= 0.7/TICRATE;

if(lith_windup < 0) {
lith_windup = lith_sndstate = 0;


+ 52
- 0
pk7/lzscript/6_DarkLord/Weapons/6_FatMac.zsc View File

@@ -0,0 +1,52 @@
class Lith_FatMac : Lith_DWeapon
{
default
{
Tag "$LITH_TXT_INFO_SHORT_FatMac";
Weapon.SlotNumber 6;
Weapon.SlotPriority 1;
+WEAPON.NOAUTOFIRE;
}

states(actor)
{
SpawnPickup:
TNT1 A 0 A_SpawnItemEx("Lith_RocketLauncherPickup", 0,0,0, 0,0,0, 0, Lith_PF);
stop;
}

states(weapon)
{
Ready:
IONG A 1 A_WeaponReady(CallACS("Lith_GetWRF"));
loop;

Deselect:
IONG AAA 0 A_Lower;
IONG A 1;
loop;
Select:
IONG AAA 0 A_Raise;
IONG A 1;
loop;

Fire:
TNT1 A 0 A_GunFlash("DummyFlash");
TNT1 A 0 A_FireBullets(0, 0, -1, 280, "Lith_700Bullet", FBF_NORANDOM);
TNT1 A 0 A_PlaySound("weapons/700e/fire", CHAN_WEAPON);
IONG B 1 bright offset(0, 50);
IONG C 1 bright offset(0, 46);
IONG A 1 offset(0, 43);
IONG A 1 offset(0, 40);
IONG A 1 offset(0, 39);
IONG A 1 offset(0, 38);
IONG A 1 offset(0, 36);
IONG A 2 offset(0, 34);
IONG A 2 offset(0, 33);
IONG A 1 offset(0, 32);
IONG A 1;
goto Ready;
}
}

// EOF

+ 1
- 0
pk7/lzscript/6_DarkLord/Weapons/7_FortuneGun.zsc View File

@@ -0,0 +1 @@

+ 28
- 0
pk7/lzscript/7_Thoth/Thoth.zsc View File

@@ -0,0 +1,28 @@
class Lith_ThothPlayer : Lith_Player
{
default
{
Player.DisplayName "Thoth";
Player.SoundClass "thoth";
Player.Portrait "lgfx/Portraits/Thoth.png";
Tag "Thoth";
}
}

class Lith_ItemSpriteT : Lith_ItemSprite
{
default
{
VisibleToPlayerClass "Lith_ThothPlayer";
}
}

class Lith_TWeapon : Lith_Weapon
{
default
{
Inventory.RestrictedTo "Lith_ThothPlayer";
}
}

// EOF

pk7/lzscript/ASCII.zsc → pk7/lzscript/Constants.zsc View File

@@ -1,3 +1,10 @@
#include "lzscript/Headers/lith_weapons.h"
#include "lzscript/Headers/lith_pdata.h"
#include "lzscript/Headers/lith_wdata.h"
#include "lzscript/Headers/lith_lognames.h"
#include "lzscript/Headers/lith_upgradenames.h"
#include "lzscript/Headers/lith_scorenums.h"

enum Lith_ASCII
{
Ch_NUL, // null

+ 4
- 0
pk7/lzscript/Effects.zsc View File

@@ -0,0 +1,4 @@
#include "lzscript/Effects/BulletPuff.zsc"
#include "lzscript/Effects/ItemSprite.zsc"

// EOF

+ 83
- 0
pk7/lzscript/Effects/BulletPuff.zsc View File

@@ -0,0 +1,83 @@
// Taken from Psychic with permission.
class Lith_PuffSmoke : Actor
{
default
{
Radius 1;
Height 1;
RenderStyle "Add";
Alpha 0.3;
Scale 0.4;
+NOGRAVITY
+NOBLOCKMAP
+FLOORCLIP
+FORCEXYBILLBOARD
}
states
{
Spawn:
SMK5 ABCDEFGHIJKLMNOP 1;
stop;
}
}
class Lith_BulletPuff : Actor replaces BulletPuff
{
default
{
RenderStyle "Add";
DamageType "Lith_Bullets";
Species "Lith_Player";
Alpha 0.9;
+NOGRAVITY
+NOBLOCKMAP
+FLOORCLIP
+NOEXTREMEDEATH
+FORCEXYBILLBOARD
+PUFFGETSOWNER
+MTHRUSPECIES
-ALLOWPARTICLES
}
states
{
explod:
MISL B 0 A_SetScale(0.3);
MISL B 0 A_PlaySound("explosion");
MISL B 8 bright A_Explode;
MISL C 6 bright;
MISL D 4 bright;
stop;
Spawn:
XPUF Q 0;
XPUF Q 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_TorgueMode, true), "explod");
XPUF Q 0 A_SpawnItemEx("Lith_PuffSmoke", 0, 0, 4.0 + 0.1 * random(-10, 10));
XPUF Q 0 A_Jump(256, "PuffNormal", "PuffMirrored");
PuffNormal:
XPUF Q 0 A_Jump(32, "PuffNormalAlt");
XPUF QRSTU 1 bright;
PuffNormalEnd:
XPUF FGH 1 bright;
stop;
PuffNormalAlt:
XPUF A 0 A_PlaySound("effects/puff/ricochet");
XPUF ABCDE 1 bright;
goto PuffNormalEnd;
PuffMirrored:
XPUF V 0 A_Jump(32, "PuffMirroredAlt");
XPUF VWXYZ 1 bright;
PuffMirroredEnd:
XPUF NOP 1 bright;
stop;
PuffMirroredAlt:
XPUF I 0 A_PlaySound("effects/puff/ricochet");
XPUF IJKLM 1 bright;
goto PuffMirroredEnd;
}
}
// EOF

pk7/lzscript/ItemSprite.zsc → pk7/lzscript/Effects/ItemSprite.zsc View File


+ 2
- 1
pk7/lzscript/Headers/lith_pdata.h View File

@@ -10,7 +10,8 @@ enum Lith_PData
pdata_hassigil,
pdata_weaponzoom,
pdata_recoil,
pdata_pclass
pdata_pclass,
pdata_semifrozen,
};

enum Lith_PClass


+ 4
- 0
pk7/lzscript/Headers/lith_weapons.h View File

@@ -39,8 +39,12 @@ enum Lith_WeaponNum
weapon_c_starshot,
weapon_c_cercle,
weapon_d_700e,
weapon_d_4bore,
weapon_d_launcher,
weapon_d_minigun,
weapon_d_rocket,
weapon_d_fatmac,
weapon_d_railgun,
weapon_wings,

weapon_max_lith,


pk7/lzscript/Pickup.zsc → pk7/lzscript/Items.zsc View File


pk7/lzscript/PlayerPawn.zsc → pk7/lzscript/Player.zsc View File

@@ -21,6 +21,30 @@ class Lith_Player : DoomPlayer
viewbob = lith_vbob;
}

override void PlayerThink()
{
if(CallACS("LPData", pdata_semifrozen))
{
UserCmd cmd = player.cmd;
cmd.pitch = cmd.yaw = cmd.roll = 0;
player.turnticks = 0;
}

Super.PlayerThink();
}

// TODO: fix this
override void Tick()
{
if(CallACS("LPData", pdata_semifrozen))
{
A_SetAngle(angle, SPF_INTERPOLATE);
A_SetPitch(pitch, SPF_INTERPOLATE);
}

Super.Tick();
}

default
{
Lith_Player.ViewBob 1;
@@ -62,4 +86,10 @@ class Lith_Player : DoomPlayer
}
}

#include "lzscript/3_Informant/Informant.zsc"
#include "lzscript/4_Wanderer/Wanderer.zsc"
#include "lzscript/5_Assassin/Assassin.zsc"
#include "lzscript/6_DarkLord/DarkLord.zsc"
#include "lzscript/7_Thoth/Thoth.zsc"

// EOF

+ 6
- 0
pk7/lzscript/Playsim.zsc View File

@@ -0,0 +1,6 @@
#include "lzscript/Playsim/Server.zsc"
#include "lzscript/Playsim/PauseManager.zsc"
#include "lzscript/Playsim/Cyberspace.zsc"
#include "lzscript/Playsim/Events.zsc"

// EOF

pk7/lzscript/Cyberspace.zsc → pk7/lzscript/Playsim/Cyberspace.zsc View File


pk7/lzscript/Events.zsc → pk7/lzscript/Playsim/Events.zsc View File

@@ -1,9 +1,22 @@
class Lith_Events : StaticEventHandler
{
/*
Lith_Cyberspace lith_cs;
override void WorldTick()
{
lith_cs.rotateView(2);
lith_cs.renderFrame();
}
*/
override void WorldLoaded(WorldEvent evt)
{
if(!evt.IsReopen)
Actor.Spawn("Lith_Server");
{
Actor.Spawn("Lith_HERMES");
// lith_cs = Lith_Cyberspace.Create();
}
}
override void WorldThingSpawned(WorldEvent evt)
@@ -15,7 +28,7 @@ class Lith_Events : StaticEventHandler
override bool InputProcess(InputEvent evt)
{
let sv = Lith_Server.Instance();
let sv = Lith_HERMES.Instance();
if(sv && sv.lith_grabInput[consoleplayer] &&
evt.Type == InputEvent.Type_KeyDown && evt.keyString)
{
@@ -31,7 +44,13 @@ class Lith_Events : StaticEventHandler
if(evt.name == "Lith_Key")
CallACS("Lith_KeyDown", evt.player, evt.args[0]);
}
/*
override void RenderOverlay(RenderEvent evt)
{
if(lith_cs) lith_cs.render();
}
*/
}
// EOF

pk7/lzscript/PauseManager.zsc → pk7/lzscript/Playsim/PauseManager.zsc View File

@@ -4,7 +4,7 @@ class Lith_PauseManager play
{
level.frozen = on;
let sv = Lith_Server.Instance();
let sv = Lith_HERMES.Instance();
if(sv) sv.lith_paused = on;
for(int i = 0; i < MAXPLAYERS; i++)
@@ -24,14 +24,14 @@ class Lith_PauseManager play
static bool GetPaused()
{
let sv = Lith_Server.Instance();
let sv = Lith_HERMES.Instance();
if(sv) return sv.lith_paused;
return false;
}
static void PauseTick(int player)
{
let sv = Lith_Server.Instance();
let sv = Lith_HERMES.Instance();
if(sv && sv.lith_paused && playeringame[player] && players[player].psprites)
players[player].psprites.tics = -1;
}

+ 14
- 0
pk7/lzscript/Playsim/Server.zsc View File

@@ -0,0 +1,14 @@
// HERMES: Horribly Explicit and Rudimentary Methods for Extended Scripting
class Lith_HERMES : Actor
{
bool lith_paused;
static clearscope Lith_HERMES Instance()
{return Lith_HERMES(ThinkerIterator.Create("Lith_HERMES").Next());}
}
#include "lzscript/Playsim/Server/Player.zsc"
#include "lzscript/Playsim/Server/Input.zsc"
#include "lzscript/Playsim/Server/Sprites.zsc"
// EOF

+ 12
- 0
pk7/lzscript/Playsim/Server/Input.zsc View File

@@ -0,0 +1,12 @@
extend class Lith_HERMES
{
bool lith_grabInput[MAXPLAYERS];

static void SetInput(int pnum, bool on)
{
let sv = Instance();
if(sv) sv.lith_grabInput[pnum % MAXPLAYERS] = on;
}
}

// EOF

+ 22
- 0
pk7/lzscript/Playsim/Server/Player.zsc View File

@@ -0,0 +1,22 @@
extend class Lith_HERMES
{
static int GetMaxAmmo(int pnum, string cname)
{
if(!playeringame[pnum] || players[pnum].mo == null) return 0;
let p = players[pnum].mo;
let wep = Lith_Weapon(p.inv.findInventory(cname));
if(wep) return wep.lith_max;
return 0;
}

static int GetCurAmmo(int pnum, string cname)
{
if(!playeringame[pnum] || players[pnum].mo == null) return 0;
let p = players[pnum].mo;
let wep = Lith_Weapon(p.inv.findInventory(cname));
if(wep) return wep.lith_fired;
return 0;
}
}

// EOF

+ 17
- 0
pk7/lzscript/Playsim/Server/Sprites.zsc View File

@@ -0,0 +1,17 @@
extend class Lith_HERMES
{
states
{
SetSpriteIndices:
WUPG A 0;
CUPG A 0;
SPEL A 0;
ARM1 A 0;
WRDP A 0;
IOBJ A 0;
LWEP A 0;
FDLI A 0;
}
}

// EOF

+ 6
- 0
pk7/lzscript/Projectiles.zsc View File

@@ -0,0 +1,6 @@
#include "lzscript/Projectiles/700Bullet.zsc"
#include "lzscript/Projectiles/RifleBullet.zsc"
#include "lzscript/Projectiles/SniperBullet.zsc"
#include "lzscript/Projectiles/DarkMatter.zsc"

// EOF

+ 32
- 0
pk7/lzscript/Projectiles/700Bullet.zsc View File

@@ -0,0 +1,32 @@
class Lith_700Bullet : Lith_BulletPuff
{
default
{
Mass 10;
Scale 1.5;
DamageType "Lith_Bullets";
Species "Lith_Player";

+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
+NOEXTREMEDEATH
+PAINLESS
}

states
{
Spawn:
TNT1 A 0;
TNT1 A 0 A_Explode(10, 32, 0);
TNT1 AAA 0 A_SpawnItemEx("Lith_PuffSmoke", frandom(-3,3), frandom(-3,3), frandom(1,5) + 0.1 * random(-10, 10));
goto Super::Spawn;
XDeath:
TNT1 A 0;
TNT1 A 0 A_Explode(25, 128, 0);
stop;
}
}

// EOF

pk7/lzscript/DarkMatter.zsc → pk7/lzscript/Projectiles/DarkMatter.zsc View File


+ 50
- 0
pk7/lzscript/Projectiles/RifleBullet.zsc View File

@@ -0,0 +1,50 @@
class Lith_RifleBullet : Lith_BulletPuff
{
default
{
Mass 9999;
DamageType "Lith_Bullets";
Species "Lith_Player";
+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
}
states
{
Crash:
TNT1 A 0;
TNT1 A 0 A_Explode(7, 32, 0);
TNT1 A 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_7777777, true), "CrashMarathon");
goto Super::Spawn;
Spawn:
TNT1 A 0;
TNT1 A 0 A_Explode(7, 32, 0);
TNT1 A 0 A_JumpIf(CallACS("LPData", pdata_upgrade, UPGR_7777777, true), "SpawnMarathon");
goto Super::Spawn;
XDeath:
TNT1 A 0;
TNT1 A 0 A_JumpIf(!CallACS("LPData", pdata_upgrade, UPGR_7777777, true), 2);
TNT1 A 0 A_PlaySound("marathon/hit", 6);
TNT1 A 0 A_Explode(7, 32, 0);
stop;
CrashMarathon: TNT1 A 0 A_PlaySound("marathon/hitwall", 6); goto MarathonPuff;
SpawnMarathon: TNT1 A 0 A_PlaySound("marathon/hitsolid", 6); goto MarathonPuff;
MarathonPuff:
TNT1 A 0 A_SetScale(0.5);
TNT1 A 0 A_SetTranslucent(1, 1);
MPUF ABCDEFG 2 bright;
stop;
}
}

class Lith_RifleBulletPainless : Lith_RifleBullet
{
default
{
+PAINLESS
}
}


+ 31
- 0
pk7/lzscript/Projectiles/SniperBullet.zsc View File

@@ -0,0 +1,31 @@
class Lith_SniperBullet : Lith_BulletPuff
{
default
{
Mass 20;
DamageType "Lith_Bullets";
Species "Lith_Player";
+MTHRUSPECIES
+FORCERADIUSDMG
+PUFFONACTORS
+PUFFGETSOWNER
+FORCEPAIN
+NOEXTREMEDEATH
}
states
{
Spawn:
TNT1 A 0;
TNT1 A 0 A_Explode(25, 128, 0);
goto Super::Spawn;
XDeath:
TNT1 A 0;
TNT1 A 0 A_Explode(25, 128, 0);
stop;
}
}
// EOF

+ 0
- 49
pk7/lzscript/Server.zsc View File

@@ -1,49 +0,0 @@
class Lith_Server : Actor
{
bool lith_grabInput[MAXPLAYERS];
bool lith_paused;
static void SetInput(int pnum, bool on)
{
let sv = Instance();
if(sv) sv.lith_grabInput[pnum % MAXPLAYERS] = on;
}
static int GetMaxAmmo(int pnum, string cname)
{
if(!playeringame[pnum] || players[pnum].mo == null) return 0;
let p = players[pnum].mo;
let wep = Lith_Weapon(p.inv.findInventory(cname));
if(wep) return wep.lith_max;
return 0;
}
static int GetCurAmmo(int pnum, string cname)
{
if(!playeringame[pnum] || players[pnum].mo == null) return 0;
let p = players[pnum].mo;
let wep = Lith_Weapon(p.inv.findInventory(cname));
if(wep) return wep.lith_fired;
return 0;
}
static clearscope Lith_Server Instance()
{
return Lith_Server(ThinkerIterator.Create("Lith_Server").Next());
}
states
{
SetSpriteIndices:
WUPG A 0;
CUPG A 0;
SPEL A 0;
ARM1 A 0;
WRDP A 0;
IOBJ A 0;
LWEP A 0;
FDLI A 0;
}
}
// EOF

pk7/lzscript/WeaponBase.zsc → pk7/lzscript/Weapons.zsc View File


BIN
pk7/sounds/APISFIR1.flac View File


BIN
pk7/sounds/APISFIR2.flac View File


BIN
pk7/sounds/APISFIR3.flac View File


BIN
pk7/sounds/APISFIR4.flac View File


BIN
pk7/sounds/JPISRCLO.flac View File


BIN
pk7/sounds/JPISRIN.flac View File


BIN
pk7/sounds/JPISROPE.flac View File


BIN
pk7/sounds/TPISFIRE.ogg View File


BIN
pk7/sounds/TROKFIR1.flac View File


BIN
pk7/sounds/TROKFIR2.flac View File


BIN
pk7/sounds/TROKFIR3.flac View File


BIN
pk7/sounds/XPISFIR2.flac View File


BIN
pk7/sounds/XPISFIRE.flac View File


BIN
pk7/sounds/XSSGCHAR.flac View File


+ 7
- 25
pk7/zscript.zsc View File

@@ -1,29 +1,11 @@
version "3.2"
// Headers
#include "lzscript/Headers/lith_weapons.h"
#include "lzscript/Headers/lith_pdata.h"
#include "lzscript/Headers/lith_wdata.h"
#include "lzscript/Headers/lith_lognames.h"
#include "lzscript/Headers/lith_upgradenames.h"
#include "lzscript/Headers/lith_scorenums.h"
// Constants
#include "lzscript/ASCII.zsc"
// Classes
#include "lzscript/Pickup.zsc"
#include "lzscript/WeaponBase.zsc"
#include "lzscript/PlayerPawn.zsc"
#include "lzscript/ItemSprite.zsc"
#include "lzscript/Server.zsc"
#include "lzscript/PauseManager.zsc"
#include "lzscript/Cyberspace.zsc"
#include "lzscript/Events.zsc"
#include "lzscript/DarkMatter.zsc"
// Player Classes
#include "lzscript/3_Informant/Informant.zsc"
#include "lzscript/6_DarkLord/DarkLord.zsc"
#include "lzscript/Constants.zsc"
#include "lzscript/Playsim.zsc"
#include "lzscript/Effects.zsc"
#include "lzscript/Projectiles.zsc"
#include "lzscript/Items.zsc"
#include "lzscript/Weapons.zsc"
#include "lzscript/Player.zsc"
// EOF

+ 5
- 3
source/Headers/lith_common.h View File

@@ -43,9 +43,11 @@
#define TickerT(t, on, off) ((ACS_Timer() % 35) < (t) ? (on) : (off))
#define Ticker(on, off) (TickerT(17, on, off))

#define Lith_ScriptCall ACS_ScriptCall
#define Lith_ScriptCallFixed ACS_ScriptCallFixed
#define Lith_ScriptCallString ACS_ScriptCallString
#define HERMES(...) ACS_ScriptCall("Lith_HERMES", __VA_ARGS__)

#define Lith_PausableTick() \
do ACS_Delay(1); \
while(ACS_ScriptCall("Lith_PauseManager", "GetPaused"))

#define HudMessageLog(...) \
( \


+ 2
- 1
source/Headers/lith_pdata.h View File

@@ -9,7 +9,8 @@ enum // Lith_PData
pdata_hassigil,
pdata_weaponzoom,
pdata_recoil,
pdata_pclass
pdata_pclass,
pdata_semifrozen,
};

enum // Lith_PClass


+ 4
- 0
source/Headers/lith_weapons.h View File

@@ -38,8 +38,12 @@ enum // Lith_WeaponNum
weapon_c_starshot,
weapon_c_cercle,
weapon_d_700e,
weapon_d_4bore,
weapon_d_launcher,
weapon_d_minigun,
weapon_d_rocket,
weapon_d_fatmac,
weapon_d_railgun,
weapon_wings,

weapon_max_lith,


+ 1
- 1
source/Main/g_textbox.c View File

@@ -16,7 +16,7 @@ gui_txtbox_state_t *Lith_GUI_TextBox_Impl(gui_state_t *g, id_t id, gui_txtbox_ar

bool hot = g->hot == id;
if(hot)
Lith_ScriptCall("Lith_Server", "SetInput", a->pnum, true);
HERMES("SetInput", a->pnum, true);

if(*a->inbuf)
ACS_LocalAmbientSound("player/cbi/keypress", 30);


+ 4
- 4
source/Main/p_cbi.c View File

@@ -45,8 +45,8 @@ static void CBITab_Marine(gui_state_t *g, player_t *p)

InfoStart;

Info("Performance: %i\CbPr", world.cbiperf);
Info("In use: %i\CbPr", p->cbi.pruse);
Info("Performance: %i\CbPerf", world.cbiperf);
Info("In use: %i\CbPerf", p->cbi.pruse);
Info("RAM: %iTiB", ram);

InfoSep;
@@ -73,8 +73,8 @@ static void CBITab_CyberMage(gui_state_t *g, player_t *p)

InfoStart;

Info("Performance: 34\CbPr");
Info("In use: %i\CbPr", p->cbi.pruse);
Info("Performance: 34\CbPerf");
Info("In use: %i\CbPerf", p->cbi.pruse);
Info("RAM: 19TiB");

InfoSep;


+ 18
- 1
source/Main/p_data.c View File

@@ -187,7 +187,7 @@ void Lith_PlayerUpdateData(player_t *p)
int const warpflags = WARPF_NOCHECKPOSITION | WARPF_MOVEPTR |
WARPF_WARPINTERPOLATION | WARPF_COPYINTERPOLATION | WARPF_COPYPITCH;

Lith_ScriptCall("Lith_Server", "SetInput", p->num, false);
HERMES("SetInput", p->num, false);

ACS_Warp(p->cameratid, 4, 0, ACS_GetActorViewHeight(0), 0, warpflags);
ACS_Warp(p->weathertid, 4, 0, ACS_GetActorViewHeight(0), 0, warpflags);
@@ -438,6 +438,23 @@ void Lith_ResetPlayer(player_t *p)
}
}

//
// Lith_PlayerUpdateStats
//
void Lith_PlayerUpdateStats(player_t *p)
{
fixed boost = 1 + p->jumpboost;

if(p->frozen != p->old.frozen)
ACS_SetPlayerProperty(0, p->frozen > 0, PROP_TOTALLYFROZEN);

if(p->speedmul != p->old.speedmul)
ACS_SetActorPropertyFixed(0, APROP_Speed, 0.7 + p->speedmul);

if(p->jumpboost != p->old.jumpboost)
ACS_SetActorPropertyFixed(0, APROP_JumpZ, p->jumpheight * boost);
}

// Static Functions ----------------------------------------------------------|

//


+ 11
- 19
source/Main/p_player.c View File

@@ -256,12 +256,13 @@ void Lith_PlayerCloseGUI(player_t *p)
{
if(p->activegui != GUI_NONE)
{
if(world.pauseinmenus) {
Lith_ScriptCall("Lith_PauseManager", "SetPaused", false);
if(world.pauseinmenus)
{
ACS_ScriptCall("Lith_PauseManager", "SetPaused", false);
Lith_ForPlayer() p->frozen--;
} else {
p->frozen--;
}
else
p->frozen--;

ACS_LocalAmbientSound(Lith_GUISounds[p->activegui].off, 127);
p->activegui = GUI_NONE;
@@ -276,12 +277,13 @@ void Lith_PlayerUseGUI(player_t *p, guiname_t type)
if(p->dead) return;
if(p->activegui == GUI_NONE)
{
if(world.pauseinmenus) {
Lith_ScriptCall("Lith_PauseManager", "SetPaused", true);
if(world.pauseinmenus)
{
ACS_ScriptCall("Lith_PauseManager", "SetPaused", true);
Lith_ForPlayer() p->frozen++;
} else {
p->frozen++;
}
else
p->frozen++;

ACS_LocalAmbientSound(Lith_GUISounds[type].on, 127);
p->activegui = type;
@@ -439,7 +441,7 @@ static void Lith_PlayerRunScripts(player_t *p)
Lith_PlayerUpdateStats(p); // Update engine info

if(world.pauseinmenus)
Lith_ScriptCall("Lith_PauseManager", "PauseTick", ACS_PlayerNumber());
ACS_ScriptCall("Lith_PauseManager", "PauseTick", ACS_PlayerNumber());
}

// Rendering
@@ -519,15 +521,5 @@ static void Lith_PlayerPreStats(player_t *p)
if(p->z != p->old.z) p->unitstravelled += abs(p->z - p->old.z);
}

//
// Lith_PlayerUpdateStats
//
void Lith_PlayerUpdateStats(player_t *p)
{
if(p->frozen != p->old.frozen) ACS_SetPlayerProperty(0, p->frozen > 0, PROP_TOTALLYFROZEN);
if(p->speedmul != p->old.speedmul) ACS_SetActorPropertyFixed(0, APROP_Speed, 0.7 + p->speedmul);
if(p->jumpboost != p->old.jumpboost) ACS_SetActorPropertyFixed(0, APROP_JumpZ, p->jumpheight * (1 + p->jumpboost));
}

// EOF


+ 5
- 5
source/Main/p_upgrades.c View File

@@ -18,7 +18,7 @@

#define Req(arg) .requires = arg
static upgradeinfo_t UpgrInfoBase[UPGR_BASE_MAX] = {
// {{"Name-------", "BIP---------", Cost---}, pcl_name, UC_Cat-, Pr, Score, [Group], [Requirements]},
// {{"Name-------", "BIP---------", Cost---}, pcl_name, UC_Cat-, Perf, Score, [Group], [Requirements]},
{{"HeadsUpDisp", "HeadsUpDisp", 0 }, pcl_marine | pcl_mods, UC_Body, 1, -0.05, UG_HUD},
{{"HeadsUpDis2", "HeadsUpDisp", 0 }, pcl_cybermage, UC_Body, 1, -0.05, UG_HUD},
{{"HeadsUpDis3", "HeadsUpDisp", 0 }, pcl_missioners | pcl_intruders, UC_Body, 1, -0.05, UG_HUD},
@@ -318,7 +318,7 @@ void Lith_PlayerReinitUpgrades(player_t *p)
//
void Lith_PlayerUpdateUpgrades(player_t *p)
{
if(Lith_ScriptCall("Lith_PauseManager", "GetPaused"))
if(ACS_ScriptCall("Lith_PauseManager", "GetPaused"))
return;

ForUpgrade(upgr)
@@ -522,11 +522,11 @@ static void GUIUpgradeRequirements(gui_state_t *g, player_t *p, upgrade_t *upgr)
bool over = upgr->info->perf + p->cbi.pruse > world.cbiperf;

if(upgr->active)
HudMessageF("CBIFONT", "Disabling saves \Cn%i\CbPr\C-.", upgr->info->perf);
HudMessageF("CBIFONT", "Disabling saves \Cn%i\CbPerf\C-.", upgr->info->perf);
else if(over)
HudMessageF("CBIFONT", "Activating requires \Ca%i\CbPr\C-.", upgr->info->perf);
HudMessageF("CBIFONT", "Activating requires \Ca%i\CbPerf\C-.", upgr->info->perf);
else
HudMessageF("CBIFONT", "Activating will take \Cj%i\CbPr\C-.", upgr->info->perf);
HudMessageF("CBIFONT", "Activating will use \Cj%i\CbPerf\C-.", upgr->info->perf);

HudMessagePlain(g->hid--, 111.1, 200 + y + 0.2, TICSECOND);
y -= 10;


+ 23
- 17
source/Main/p_weaponinfo.c View File

@@ -4,6 +4,8 @@

// Extern Objects ------------------------------------------------------------|

#define Placeholder1 "MMMMHMHMMMHMMM"
#define Placeholder2 "YOUSONOFABITCH"
#define A(a) "Lith_" a "Ammo"
#define M(a) "Lith_" a "ShotsFired"
#define P(a) "weapons/" a "/pickup"
@@ -26,7 +28,7 @@ weaponinfo_t const weaponinfo[weapon_max] = {
{1, pcl_outcasts, N("ChargeFist"), P("cfist"), AT_None},
{5, pcl_outcasts, N("MissileLauncher"), P("missile"), AT_AMag, A("Rocket"), M("Missile")},
{6, pcl_outcasts, N("PlasmaDiffuser"), P("plasdiff"), AT_Ammo, A("Plasma")},
{1, pcl_marine, N("Fist"), "MMMMHMHMMMHMMM", AT_None},
{1, pcl_marine, N("Fist"), Placeholder1, AT_None},
{2, pcl_marine, N("Pistol"), P("pistol"), AT_NMag, M("Pistol")},
{2, pcl_marine, N("Revolver"), P("revolver"), AT_NMag, M("Revolver")},
{3, pcl_marine, N("Shotgun"), P("shotgun"), AT_None},
@@ -37,7 +39,7 @@ weaponinfo_t const weaponinfo[weapon_max] = {
{5, pcl_marine, N("GrenadeLauncher"), P("rocket"), AT_Ammo, A("Rocket")},
{6, pcl_marine, N("PlasmaRifle"), P("plasma"), AT_Ammo, A("Plasma")},
{7, pcl_marine, N("BFG9000"), P("cannon"), AT_Ammo, A("Cannon")},
{1, pcl_cybermage, N("CFist"), "YOUSONOFABITCH", AT_None},
{1, pcl_cybermage, N("CFist"), Placeholder2, AT_None},
{2, pcl_cybermage, N("Mateba"), P("mateba"), AT_NMag, M("Mateba")},
{3, pcl_cybermage, N("ShockRifle"), P("erifle"), AT_NMag, M("ShockRifle")},
{3, pcl_cybermage, N("SPAS"), P("cshotgun"), AT_AMag, A("Shell"), M("SPAS")},
@@ -45,16 +47,20 @@ weaponinfo_t const weaponinfo[weapon_max] = {
{5, pcl_cybermage, N("IonRifle"), P("ionrifle"), AT_AMag, A("Rocket"), M("IonRifle")},
{6, pcl_cybermage, N("CPlasmaRifle"), P("plasma"), AT_Ammo, A("Plasma")},
{7, pcl_cybermage, N("StarDestroyer"), P("shipgun"), AT_Ammo, A("Cannon")},
{0, pcl_cybermage, N("Blade"), "MMMMHMHMMMHMMM", AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Delear"), "MMMMHMHMMMHMMM", AT_AMag, "Lith_Mana", M("Delear"), F(wf_magic)},
{0, pcl_cybermage, N("Feuer"), "MMMMHMHMMMHMMM", AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Rend"), "MMMMHMHMMMHMMM", AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Hulgyon"), "MMMMHMHMMMHMMM", AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("StarShot"), "MMMMHMHMMMHMMM", AT_AMag, "Lith_Mana", M("StarShot"), F(wf_magic)},
{0, pcl_cybermage, N("Cercle"), "MMMMHMHMMMHMMM", AT_Ammo, "Lith_Mana", F(wf_magic)},
{2, pcl_darklord, N("700Express"), "YOUSONOFABITCH", AT_ZMag},
{4, pcl_darklord, N("Minigun"), "YOUSONOFABITCH", AT_ZMag},
{5, pcl_darklord, N("FatMac"), "YOUSONOFABITCH", AT_Ammo, A("Rocket")},
{0, pcl_cybermage, N("Blade"), Placeholder1, AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Delear"), Placeholder1, AT_AMag, "Lith_Mana", M("Delear"), F(wf_magic)},
{0, pcl_cybermage, N("Feuer"), Placeholder1, AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Rend"), Placeholder1, AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("Hulgyon"), Placeholder1, AT_Ammo, "Lith_Mana", F(wf_magic)},
{0, pcl_cybermage, N("StarShot"), Placeholder1, AT_AMag, "Lith_Mana", M("StarShot"), F(wf_magic)},
{0, pcl_cybermage, N("Cercle"), Placeholder1, AT_Ammo, "Lith_Mana", F(wf_magic)},
{2, pcl_darklord, N("700Express"), Placeholder2, AT_ZMag},
{3, pcl_darklord, N("4Bore"), Placeholder2, AT_None},
{3, pcl_darklord, N("ShrapnelGun"), Placeholder2, AT_None},
{4, pcl_darklord, N("Minigun"), Placeholder2, AT_ZMag},
{5, pcl_darklord, N("DualRocket"), Placeholder2, AT_Ammo, A("Rocket")},
{6, pcl_darklord, N("FatMac"), Placeholder2, AT_Ammo, A("Plasma")},
{7, pcl_darklord, N("FortuneGun"), Placeholder2, AT_None},
{0, pcl_any, N("WingsOfDeath"), "MMMMHMHMMMHMMM", AT_None},

FDClass("Plut")
@@ -101,12 +107,12 @@ int Lith_WeaponFromName(player_t *p, int name)
case wepnam_fist: return weapon_fist;
case wepnam_chainsaw: return weapon_fist;
case wepnam_pistol: return weapon_d_700e;
case wepnam_shotgun: return weapon_fist;
case wepnam_supershotgun: return weapon_fist;
case wepnam_shotgun: return weapon_d_4bore;
case wepnam_supershotgun: return weapon_d_launcher;
case wepnam_chaingun: return weapon_d_minigun;
case wepnam_rocketlauncher: return weapon_d_fatmac;
case wepnam_plasmarifle: return weapon_fist;
case wepnam_bfg9000: return weapon_fist;
case wepnam_rocketlauncher: return weapon_d_rocket;
case wepnam_plasmarifle: return weapon_d_fatmac;
case wepnam_bfg9000: return weapon_d_railgun;
}

case pcl_fdoomer:


+ 2
- 2
source/Main/p_weapons.c View File

@@ -238,8 +238,8 @@ void Lith_PlayerPreWeapons(player_t *p)
{
if(wep->ammotype & AT_NMag) {
if(wep->ammotype & AT_ZScr) {
wep->magmax = ACS_ScriptCall("Lith_Server", "GetMaxAmmo", p->num, wep->info->classname);
wep->magcur = ACS_ScriptCall("Lith_Server", "GetCurAmmo", p->num, wep->info->classname);
wep->magmax = HERMES("GetMaxAmmo", p->num, wep->info->classname);
wep->magcur = HERMES("GetCurAmmo", p->num, wep->info->classname);
} else {
wep->magmax = ACS_GetMaxInventory(0, wep->magclass);
wep->magcur = ACS_CheckInventory ( wep->magclass);


+ 9
- 3
source/Main/u_magic.c View File

@@ -52,6 +52,7 @@ static void UpdateMagicUI(player_t *p, upgrade_t *upgr)
DrawSpritePlain("lgfx/UI/MagicSelectBack.png", g->hid--, 0.1, 0.1, TICSECOND);

bool any = false;

for(int i = 0; i < countof(minf); i++)
{
struct magic_info const *m = &minf[i];
@@ -74,6 +75,7 @@ static void UpdateMagicUI(player_t *p, upgrade_t *upgr)
};

__str name = Language("LITH_TXT_INFO_SHORT_%S", m->name);

if(Lith_GUI_Button_FId(g, i + 1, name, m->x, m->y, .preset = &pre))
GiveMagic(m);
}
@@ -103,24 +105,28 @@ void Lith_SetMagicUI(bool on)
{
withplayer(LocalPlayer)
{
while(p->dead) ACS_Delay(1);
if(p->dead) return;

upgrade_t *upgr = p->getUpgr(UPGR_Magic);

if(on && !p->indialogue)
{
p->indialogue = UData.ui = true;
p->semifrozen++;

UData.gst.gfxprefix = "lgfx/UI/";
UData.gst.cx = 320/2;
UData.gst.cy = 240/2;

Lith_GUI_Init(&UData.gst, 0);
}
else if(!on && UData.ui)
{
if(UData.gst.hot)
GiveMagic(&minf[UData.gst.hot - 1]);
if(UData.gst.hot) GiveMagic(&minf[UData.gst.hot - 1]);
p->indialogue = UData.ui = false;
p->semifrozen--;

UData.gst = (gui_state_t){};
}
}


+ 1
- 3
source/Main/w_decorate.c View File

@@ -263,9 +263,7 @@ void Lith_PoisonFXTicker()
{
for(int i = 0; i < 17; i++)
{
do
ACS_Delay(1);
while(Lith_ScriptCall("Lith_PauseManager", "GetPaused"));
Lith_PausableTick();

if(ACS_CheckInventory("Lith_PoisonFXReset"))
{


+ 1
- 0
source/Main/w_world.c View File

@@ -204,6 +204,7 @@ int LPData(int info, int permutation, bool target)
case pdata_weaponzoom: return bitsk(p->getCVarK("lith_weapons_zoomfactor"));
case pdata_recoil: return bitsk(p->getCVarK("lith_weapons_recoil"));
case pdata_pclass: return p->pclass;
case pdata_semifrozen: return p->semifrozen > 0;
}

return 0;


+ 38
- 30
source/Weapons.txt View File

@@ -1,48 +1,56 @@
Weapons to be processed into C files. Colon denotes a pclass group.
Left brace denotes a weapon. Semicolon denotes a pickup group.
Percent denotes flags. Any other text is ignored by the parser.

:outcasts
{cfist 1 ChargeFist P("cfist") None
{missile 5 MissileLauncher P("missile") AMag A("Rocket") M("Missile")
{plasmadiff 6 PlasmaDiffuser P("plasdiff") Ammo A("Plasma")

:marine
{fist 1 Fist "MMMMHMHMMMHMMM" None
{pistol 2 Pistol P("pistol") NMag M("Pistol")
{revolver 2 Revolver P("revolver") NMag M("Revolver")
{shotgun 3 Shotgun P("shotgun") None
{lazshotgun 3 LazShotgun P("lshotgun") None
{ssg 3 SuperShotgun P("ssg") Ammo A("Shell")
{rifle 4 CombatRifle P("rifle") NMag M("Rifle")
{sniper 4 SniperRifle P("sniper") NMag M("Sniper")
{launcher 5 GrenadeLauncher P("rocket") Ammo A("Rocket")
{plasma 6 PlasmaRifle P("plasma") Ammo A("Plasma")
{bfg 7 BFG9000 P("cannon") Ammo A("Cannon")
{fist 1 Fist Placeholder1 None
{pistol 2 Pistol P("pistol") NMag M("Pistol")
{revolver 2 Revolver P("revolver") NMag M("Revolver")
{shotgun 3 Shotgun P("shotgun") None
{lazshotgun 3 LazShotgun P("lshotgun") None
{ssg 3 SuperShotgun P("ssg") Ammo A("Shell")
{rifle 4 CombatRifle P("rifle") NMag M("Rifle")
{sniper 4 SniperRifle P("sniper") NMag M("Sniper")
{launcher 5 GrenadeLauncher P("rocket") Ammo A("Rocket")
{plasma 6 PlasmaRifle P("plasma") Ammo A("Plasma")
{bfg 7 BFG9000 P("cannon") Ammo A("Cannon")
;fist cfist pistol shotgun ssg rifle launcher plasma bfg

:cybermage
{c_fist 1 CFist "YOUSONOFABITCH" None
{c_mateba 2 Mateba P("mateba") NMag M("Mateba")
{c_rifle 3 ShockRifle P("erifle") NMag M("ShockRifle")
{c_spas 3 SPAS P("cshotgun") AMag A("Shell") M("SPAS")
{c_smg 4 SMG P("smg") NMag M("SMG")
{c_sniper 5 IonRifle P("ionrifle") AMag A("Rocket") M("IonRifle")
{c_plasma 6 CPlasmaRifle P("plasma") Ammo A("Plasma")
{c_shipgun 7 StarDestroyer P("shipgun") Ammo A("Cannon")
{c_fist 1 CFist Placeholder2 None
{c_mateba 2 Mateba P("mateba") NMag M("Mateba")
{c_rifle 3 ShockRifle P("erifle") NMag M("ShockRifle")
{c_spas 3 SPAS P("cshotgun") AMag A("Shell") M("SPAS")
{c_smg 4 SMG P("smg") NMag M("SMG")
{c_sniper 5 IonRifle P("ionrifle") AMag A("Rocket") M("IonRifle")
{c_plasma 6 CPlasmaRifle P("plasma") Ammo A("Plasma")
{c_shipgun 7 StarDestroyer P("shipgun") Ammo A("Cannon")
;c_fist cfist c_mateba c_rifle c_spas c_smg c_sniper c_plasma c_shipgun

%wf_magic
{c_blade 0 Blade "MMMMHMHMMMHMMM" Ammo "Lith_Mana"
{c_delear 0 Delear "MMMMHMHMMMHMMM" AMag "Lith_Mana" M("Delear")
{c_fire 0 Feuer "MMMMHMHMMMHMMM" Ammo "Lith_Mana"
{c_rend 0 Rend "MMMMHMHMMMHMMM" Ammo "Lith_Mana"
{c_hulgyon 0 Hulgyon "MMMMHMHMMMHMMM" Ammo "Lith_Mana"
{c_starshot 0 StarShot "MMMMHMHMMMHMMM" AMag "Lith_Mana" M("StarShot")
{c_cercle 0 Cercle "MMMMHMHMMMHMMM" Ammo "Lith_Mana"
{c_blade 0 Blade Placeholder1 Ammo "Lith_Mana"
{c_delear 0 Delear Placeholder1 AMag "Lith_Mana" M("Delear")
{c_fire 0 Feuer Placeholder1 Ammo "Lith_Mana"
{c_rend 0 Rend Placeholder1 Ammo "Lith_Mana"
{c_hulgyon 0 Hulgyon Placeholder1 Ammo "Lith_Mana"
{c_starshot 0 StarShot Placeholder1 AMag "Lith_Mana" M("StarShot")
{c_cercle 0 Cercle Placeholder1 Ammo "Lith_Mana"
%

:darklord
{d_700e 2 700Express "YOUSONOFABITCH" ZMag
{d_minigun 4 Minigun "YOUSONOFABITCH" ZMag
{d_fatmac 5 FatMac "YOUSONOFABITCH" Ammo A("Rocket")
;fist fist d_700e fist fist d_minigun d_fatmac fist fist
{d_700e 2 700Express Placeholder2 ZMag
{d_4bore 3 4Bore Placeholder2 None
{d_launcher 3 ShrapnelGun Placeholder2 None
{d_minigun 4 Minigun Placeholder2 ZMag
{d_rocket 5 DualRocket Placeholder2 Ammo A("Rocket")
{d_fatmac 6 FatMac Placeholder2 Ammo A("Plasma")
{d_railgun 7 FortuneGun Placeholder2 None
;fist fist d_700e d_4bore d_launcher d_minigun d_rocket d_fatmac d_railgun

:any
{wings 0 WingsOfDeath "MMMMHMHMMMHMMM" None


+ 4
- 2
wepc.rb View File

@@ -72,6 +72,8 @@ def outSource fp, weps, wepn

// Extern Objects ------------------------------------------------------------|

#define Placeholder1 "MMMMHMHMMMHMMM"
#define Placeholder2 "YOUSONOFABITCH"
#define A(a) "Lith_" a "Ammo"
#define M(a) "Lith_" a "ShotsFired"
#define P(a) "weapons/" a "/pickup"
@@ -176,8 +178,8 @@ class LithWep
end

def procFile ifp, ofh, ofc
pcl = "pcl_any"
wf = ""
pcl = "pcl_any"
wf = ""
weps = []
wepn = {}



Loading…
Cancel
Save