actor Lith_ManaPickupTrail { Scale 0.4 RenderStyle "Add" +NOTIMEFREEZE +NOINTERACTION states { Spawn: BLLT Q 0 bright A_SetScale(scalex * 0.9) BLLT Q 1 bright A_FadeOut(0.05) loop } } actor Lith_ManaPickup : CustomInventory { RenderStyle "Add" Radius 4 Height 4 Scale 0.8 Inventory.PickupSound "player/pickup/mana" Inventory.PickupMessage "" +INVENTORY.ALWAYSPICKUP +INVENTORY.NOSCREENFLASH +NOGRAVITY +NOCLIP +SEEKERMISSILE var int user_deathwait; states { Spawn: BLLT Q 0 BLLT Q 0 Thing_SetTranslation(0, 42470 + random(0, 7)) BLLT Q 0 A_SetScale(scalex*frandom(0.5,1)) BLLT Q 0 ThrustThingZ(0, 16, 0, 1) BLLT Q 0 A_SetUserVar(user_deathwait, 35 * 15) SpawnLoop: BLLT Q 0 A_JumpIf(user_deathwait == 0, "Death") BLLT Q 0 A_SetUserVar(user_deathwait, user_deathwait - 1) BLLT Q 0 A_ChangeVelocity(14, 14, velz*0.9, CVF_REPLACE) BLLT Q 0 A_SpawnItemEx("Lith_ManaPickupTrail", 0,0,0, 0,0,0, 0, SXF_TRANSFERTRANSLATION) BLLT Q 0 A_JumpIfTargetInLOS("Spawn1") goto Spawn2 Spawn1: BLLT Q 0 A_SeekerMissile(360, 40, SMF_PRECISE|SMF_CURSPEED) Spawn2: BLLT Q 1 bright goto SpawnLoop Death: BLLT Q 1 bright A_FadeOut wait Pickup: BLLT Q 0 A_GiveInventory("Lith_MagicAmmo", random(5, 10)) stop } } actor Lith_Clip : Lith_ScoreItem replaces Clip { Inventory.PickupSound "player/pickup/scoresmall" states { Spawn: SCOR A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_Clip) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_clip) goto Super::Pickup } } actor Lith_ClipBox : Lith_ScoreItem replaces ClipBox { Inventory.PickupSound "player/pickup/scorebig" states { Spawn: SCOR B -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_ClipBox) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_clipbox) goto Super::Pickup } } actor Lith_Shell : Lith_ScoreItem replaces Shell { Inventory.PickupSound "player/pickup/shells" states { Spawn: SHEL A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_Shell) TNT1 A 0 A_GiveInventory("Lith_ShellAmmo", AmmoAmt_Shell) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_shell) goto Super::Pickup } } actor Lith_ShellBox : Lith_ScoreItem replaces ShellBox { Inventory.PickupSound "player/pickup/shellb" states { Spawn: SBOX A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_ShellBox) TNT1 A 0 A_GiveInventory("Lith_ShellAmmo", AmmoAmt_ShellBox) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_shellbox) goto Super::Pickup } } actor Lith_RocketAmmoPickup : Lith_ScoreItem replaces RocketAmmo { Inventory.PickupSound "player/pickup/rockets" states { Spawn: ROCK A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_Rocket) TNT1 A 0 A_GiveInventory("Lith_RocketAmmo", AmmoAmt_Rocket) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_rocket) goto Super::Pickup } } actor Lith_RocketBox : Lith_ScoreItem replaces RocketBox { Inventory.PickupSound "player/pickup/rocketb" states { Spawn: BROK A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_RocketBox) TNT1 A 0 A_GiveInventory("Lith_RocketAmmo", AmmoAmt_RocketBox) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_rocketbox) goto Super::Pickup } } actor Lith_Cell : Lith_ScoreItem replaces Cell { Inventory.PickupSound "player/pickup/cells" states { Spawn: CELL A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_Cell) TNT1 A 0 A_GiveInventory("Lith_PlasmaAmmo", AmmoAmt_Cell) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_cell) goto Super::Pickup } } actor Lith_CellPack : Lith_ScoreItem replaces CellPack { Inventory.PickupSound "player/pickup/cellb" states { Spawn: CELP A -1 stop Pickup: TNT1 A 0 A_GiveInventory("Lith_ScoreCount", Score_CellPack) TNT1 A 0 A_GiveInventory("Lith_PlasmaAmmo", AmmoAmt_CellPack) TNT1 A 0 A_GiveInventory("Lith_CannonAmmo", AmmoAmt_CannonPack) TNT1 A 0 ACS_NamedExecuteAlways("Lith_LogName", 0, msg_cellbox) goto Super::Pickup } } // EOF