Pickups
A complete rework of the pickup system, coded from the ground up! These pickups feature hundreds of fixes and a lot of new features, making these pickups your new go-to pickups for all your future projects! See MPickup below to understand which variables are in all the classes below.
MPickup
Notable differences:
Shading enabled by default (change bUnlit=true if you want the original look)
Removed auto-generation of AI nodes when building the map (pickups are no longer AI nodes)
No pickups have bBounceIntoPlace=true by default
Variables:
InventoryTypes - The inventory types to modify when picked up
iNumItems - The amount of items to grant the pawn who picked up the pickup. Only modify the Min variable if you want the amount of items to be a set amount. If you modify both the Min and Max variables, it will be assumed you want the pickup to grant a random amount of items
PickupSounds - The random sound to play when the pickup is picked up
fPickupSoundVolume - The volume the pickup sound should play at
bRotating - If true, the pickup will automatically rotate in accordance with the variable RotationRate
fTimeTillFadeOutBegins - If fFadeOutTime is not equal to 0.0, how long should it take in seconds before beginning a fade out
fFadeOutTime - If not equal to 0.0, how long should it take in seconds for the pickup to fade out once collected
bScalePickupSizeWithDistance - If true, the pickup will be scaled with the current player's camera distance from the pickup
bFadeWithDistance - If true, the pickup will fade its opacity according to how far away the current player's camera is from the pickup
fVisibilityRadius - How far should the current player's camera be able to see the pickup from? This is only be relevant if bScalePickupSizeWithDistance=true
bDestroyAfterFadeOut - If true, the pickup will be destroyed once it fades out, making it a 1-time use
bInvalidTouchIfDead - If true, the pickup cannot be picked up if the pawn touching the pickup is dead
bInvalidTouchIfTraceFail - If true, the pickup cannot be picked up if the pawn fails to have a clear line between itself and the pickup. Setting this to false allows the pickup to potentially be collected through walls
bPickupOnUnTouchInstead - If true, a pickup can only be collected once untouched, instead of once touched
bCanBePickedUpWhileBouncing - If true, the pickup can be picked up while it is in the process of bouncing
bAnyPawnCanPickup - If true, any pawn can pickup the pickup
bOtherPawnsCanStealPickup - If true and if bAnyPawnCanPickup=true, other pawns can pickup a pickup without giving it to the current player's inventory
PawnClassForPickup - If bAnyPawnCanPickup=true, what class must the pawn be in order to pickup the pickup
RandSkins - If provided any skins, a random skin will be selected from this array and will apply that material to itself as a skin. This allows you to randomize the textures the pickup will render with in-game
fSpawnChance - The chance of the pickup spawning in-game. If it was set to a value of 0.5, the pickup would only appear in-game 50% of the time
fRespawnTime - If higher than 0.0, how long will it take in seconds before the pickup respawns
bUseLivesSystem - If true and if fRespawnTime is higher than 0.0, the amount of times the pickup will be able to respawn will be capped
iRespawnLives - If fRespawnTime is higher than 0.0 and if bUseLivesSystem=true, how many times can the pickup respawn
bBounceIntoPlace - If true, the pickup will fall and bounce against the ground into place, before it finalizes its position
BounceSounds - If bBounceInPlace=true, what random sound should play each time the pickup bumps a surface
fBounceDropoffMultiplier - If bBounceInPlace=true, how much should the velocity drop off each time the pickup bounces? Lower multipliers equal quicker dropoffs, and anything above 1.0 will result in the pickup gaining velocity instead (not recommended)
fBounceIntoPlaceTimeout - If bBounceInPlace=true, how long must the pickup sit in place (not moving) in seconds before the pickup is officially not bouncing
fBounceSoundRadius - The radius at which the bounce sound can be heard
fDespawnDelay - How long should it take in seconds before the pickup officially despawns (assuming it will no longer respawn)? When the pickup despawns, all emitters will also be destroyed instantly, so it's a good idea to have a few seconds of despawn delay so that the emitters can play out
bSpawnWithRandomRotation - If true, the pickup will spawn with a random rotation value
bForceNoFade - If true, if the pickup is set to fade, it will not fade. This is good to set to pickups which have a texture that does not properly fade
bRunPickupLogic - If true, custom pickup logic will be ran when picked up
AmbientEmitterClass - The emitter class to use for the emitter while it is idle
vPickupEmitterClass - The emitter class to use for the emitter when it is picked up
RespawnEmitterClass - The emitter class to use for the emitter when it respawns
vAmbientEmitterOffset - The offset to apply to the ambient emitter
vPickupEmitterOffset - The offset to apply to the pickup emitter
vRespawnEmitterOffset - The offset to apply to the respawn emitter
MCoin
Notable differences:
None
Variables
None
MCoinStack
Notable differences:
None
Variables
None
MEnergyBar
Notable differences:
Pawns cannot stand on this
Added specific event to the pickup
Variables
fHealAmount - The amount to heal the pawn
bHealAmountIsHealPercent - If true, fHealAmount will be treated as a percentage of a heal amount instead
bScaleHealAmountWithShamrocks - If true, fHealAmount will scale with the amount of shamrocks the current player has
bDontTakeKnockback - If true, the pawn will not take knockback (if fHealAmount is negative)
bBypassHealthCap - If true, bypasses the health cap when modifying the pawn's health
bPlayBumpline - If true, the pawn will play a bumpline when the pickup is collected
MEnergyKeg
Notable differences:
Extension of MEnergyBar
Plays a bumpline when touched
Added specific event to the pickup
Variables
bDoNotFullHeal - If true, the MEnergyKeg will instead act like an MEnergyBar
MMicePotionStrong
Notable differences:
Added specific event to the pickup
Changed pickup sound to unused pickup sound
Variables
None
MMicePotionWeak
Notable differences:
Added specific event to the pickup
Changed pickup sound to unused pickup sound
Variables
None
MMoneyBag
Notable differences:
No longer uses weighted randomness, and instead grants between 10-100 coins by default
Fixed collision size being in-accurate
Variables
None
MPixiePotionStrong
Notable differences:
Added specific event to the pickup
Changed pickup sound to unused pickup sound
Variables
None
MPixiePotionWeak
Notable differences:
Added specific event to the pickup
Changed pickup sound to unused pickup sound
Variables
None
MPotion1SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion2SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion3SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion4SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion5SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion6SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion7SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion8SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotion9SH
Notable differences:
Corrected potion model
Added unused pickup sound
Added specific event to the pickup
Variables
None
MPotionBottle
Notable differences:
Corrected potion model
Added unused pickup sound
Added automatic rotation
Added specific event to the pickup
Variables
None
MPotionHEA
Notable differences:
None
Variables
None
MShamrock
Notable differences:
None
Variables
bBypassHealthCap - If true, bypasses the health cap when modifying the pawn's health
bPlayBumpline - If true, the pawn will play a bumpline when the pickup is collected
bHealPawn - If false, picking up the shamrock will only add to the pawn's maximum health
MShrekPoster1SH
Notable differences:
Changed pickup sound to be more fitting
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster2SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster3SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster4SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster5SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster6SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster7SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster8SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster9SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster10SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster11SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MShrekPoster12SH
Notable differences:
Changed pickup sound to be more fitting
Fixed poster scaling with distance when it should not
Poster skin now accurately renders in the editor
Variables
sPosterTexture - What texture to render on the screen when the poster is picked up
bDoNotFreezePlayer - If true, the player will not be frozen in place upon collecting the third poster
MStrengthPotion
Notable differences:
Added specific event to the pickup
Changed pickup sound to unused pickup sound
Variables
None