P2PowerupPickup
Intermediate between the engine's Pickups and Postal 2's Pickup classes. All pickups in Postal 2 are subclassed from P2PowerupPickup.
Properties
Main
- float AmountToAdd
- How much of this stuff to add to inventory.
- bool bPersistent
- Whether this pickup will persist
- bool bForTransferOnly
- Used when things have been taken from the dude on a level startup (such as getting put in jail). If this is true, then anything taken from the dude that matches this class type (like ShotgunWeapon) will go where this one is. If you enter a level without having things taken from you, these pickups are destroyed by the GameInfo.
- bool bDestroyAfterTransfer
- If bForTransferOnly is true, and this is true, then when the dude comes through and finds this item, it's removed from his inventory, but then not put back (this pickup is deleted)
- bool bRecordAfterPickup
- Independent (possibly) of bPeristent, this defaults to true, meaning when a level designer places this, and a pawn comes across it and picks it up, it's rememebered that it's been picked up. If a pawn drops an item and makes a pickup, it's turned off, so dropped items are re-recorded after pickup
- bool bAllowMovement
- If true, the pickup can be moved around, usually by taking damage, such as the dude kicking it around or something.
- bool bStartTainted
- If true, the pickup is set as tainted. If a food item is tainted, it will provide only 1 health when eaten by the player. If a bystander eats a tainted food item, they will puke.
- bool bAutoActivateOnce
- if bAutoActivate should turn off after they drop the pickup. Makes it so only the versions made by level designers are auto activated. This only works correctly in single player mode. Any other player that comes across a thing dropped by another player won't have that thing properly AutoActivate on pickup for that other player.
Example: the newspaper has it default to true, but the one in the Jail is set to false because you've already gotten it, and we don't want it spinning up when you grab it out of the evidence room.
Internal
- bool bUseForErrands
- whether or not to use this for the errands, to check for completion
- int Tainted
- been pissed on or something.
- bool bEdible
- Food or medkit
- bool bBreaksWindows
- If it's heavy enough to break windows. Most things are
- bool bBounced
- if it's bounced yet or not
- DesiredThingMarker? DesireMarker
- Marker that tells the pawns around me who care, that this powerup is here and looking desireable. If the class is null, this doesn't get set.
- class<DesiredThingMarker?> DesireMarkerClass
- Class of the DesireMarker.
- string AnimalClassString
- Special variables to attract animals
- class<AnimalPawn?> MyAnimalClass
- Special variables to attract animals
- Sound BounceSound
- Noise to make as you hit the ground
- bool bNoBotPickup
- If true, we don't want the bots/morons to pick this up during MP play
- Controller DropperController
- Controller who dropped me
Useful Functions
- Taint()
- Sets tainted to 1. Other pickups might want to do something special here.
- TransferStateBack(P2PowerupInv? maker)
- Copy over important things from your maker, such as whether you've been tainted or not.
Known Subclasses
P2PowerupPickup +- CatPickup +- CrackPickup +- MultiPickup +- OwnedPickup?