Class "EntityPlayer"⚓︎
这个类既包含新功能,也包含对现有功能的修改后的重新实现.
Class Diagram⚓︎
classDiagram
class Entity:::diagramCurrentPage
class EntityBomb
class EntityEffect
class EntityFamiliar
class EntityKnife
class EntityLaser
class EntityNPC
class EntityPickup
class EntityPlayer
class EntityProjectile
class EntitySlot
class EntityTear
Entity <|-- EntityBomb
Entity <|-- EntityEffect
Entity <|-- EntityFamiliar
Entity <|-- EntityKnife
Entity <|-- EntityLaser
Entity <|-- EntityNPC
Entity <|-- EntityPickup
Entity <|-- EntityPlayer
Entity <|-- EntityProjectile
Entity <|-- EntitySlot
Entity <|-- EntityTear
link Entity "https://wofsauge.github.io/IsaacDocs/rep/Entity.html" "Go to page for 'Entity' class"
link EntityBomb "https://wofsauge.github.io/IsaacDocs/rep/EntityBomb.html" "Go to page for 'EntityBomb' class"
link EntityEffect "https://wofsauge.github.io/IsaacDocs/rep/EntityEffect.html" "Go to page for 'EntityEffect' class"
link EntityFamiliar "https://wofsauge.github.io/IsaacDocs/rep/EntityFamiliar.html" "Go to page for 'EntityFamiliar' class"
link EntityKnife "https://wofsauge.github.io/IsaacDocs/rep/EntityKnife.html" "Go to page for 'EntityKnife' class"
link EntityLaser "EntityLaser.html" "Go to page for 'EntityLaser' class"
link EntityNPC "EntityNPC.html" "Go to page for 'EntityNPC' class"
link EntityPickup "EntityPickup.html" "Go to page for 'EntityPickup' class"
link EntityPlayer "EntityPlayer.html" "Go to page for 'EntityPlayer' class"
link EntityProjectile "https://wofsauge.github.io/IsaacDocs/rep/EntityProjectile.html" "Go to page for 'EntityProjectile' class"
link EntitySlot "EntitySlot.html" "Go to page for 'EntitySlot' class"
link EntityTear "https://wofsauge.github.io/IsaacDocs/rep/EntityTear.html" "Go to page for 'EntityTear' class"
Modified Functions⚓︎
AddCacheFlags ()⚓︎
void AddCacheFlags ( CacheFlag CacheFlag, boolean EvaluateItems = false )⚓︎
现在接受一个可选的布尔值,用于确定在添加缓存标志后是否应自动调用 EntityPlayer:EvaluateItems()。在大多数情况下,你可能希望这样做。
AddCollectibleEffect, ()⚓︎
void AddCollectibleEffect ( CollectibleType ctype, bool applycostume, int cooldown = vanillacd, bool additive = true )⚓︎
这是 TemporaryEffects:AddCollectibleEffect
的快捷方式,附带额外参数来处理冷却时间。additive
参数决定冷却时间是应添加到已有的冷却值上,还是应设置为该值。你可以结合 additive
使用负的冷却时间值,以减少已有的冷却时间.
AddNullItemEffect, ()⚓︎
void AddNullItemEffect ( int nullItemid, bool applycostume, int cooldown = vanillacd, bool additive = true )⚓︎
这是 TemporaryEffects:AddNullItemEffect
的快捷方式,附带额外参数来处理冷却时间。additive
参数决定冷却时间是应添加到已有的冷却值上,还是应设置为该值。你可以结合 additive
使用负的冷却时间值,以减少已有的冷却时间.
ClearDeadEyeCharge ()⚓︎
void ClearDeadEyeCharge ( boolean Force = false )⚓︎
现在接受一个 Force
参数,以强制重置充能,而不是仅通过概率来决定是否重置。
GetCollectibleNum ()⚓︎
int GetCollectibleNum ( CollectibleType Collectible, boolean OnlyCountTrueItems = false, bool IgnoreSpoof = false )⚓︎
现在接受一个 IgnoreSpoof
参数,该参数会忽略固有物品。
GetMultiShotParams ()⚓︎
MultiShotParams GetMultiShotParams ( WeaponType WeaponType )⚓︎
现在返回一个合适的 MultiShotParams
对象。
GetMultiShotPositionVelocity ()⚓︎
PosVel GetMultiShotPositionVelocity ( int LoopIndex, WeaponType WeaponType, Vector ShotDirection, float ShotSpeed, MultiShotParams Params )⚓︎
与原版函数相比,此实现进一步增强,若 LoopIndex 高于 MultiShotParams:GetNumTears() 则会抛出错误。此函数在 1.7.8 之后的某个时间从 API 中消失了。
GetPocketItem ()⚓︎
PocketItem GetPocketItem ( PillCardSlot Slot )⚓︎
获取指定口袋槽中的卡片/药丸/符文。现在返回一个合适的 PocketItem
对象。
HasCollectible ()⚓︎
boolean HasCollectible ( CollectibleType Collectible, boolean IgnoreModifiers = false, boolean IgnoreSpoof = false )⚓︎
现在接受一个 IgnoreSpoof
参数,该参数会忽略固有物品。
BabySkin⚓︎
BabySubType BabySkin⚓︎
与默认行为相同,但现在会返回正确的整数值而非用户数据.
Functions⚓︎
AddActiveCharge ()⚓︎
int AddActiveCharge ( int Charge, ActiveSlot Slot, boolean FlashHUD = true, boolean Overcharge = false, boolean Force = false )⚓︎
返回实际添加的充能数量,该数量可能会受到目标物品的最大充能值限制。
Info
FlashHUD
似乎是多余的。无论使用 true
还是 false
,充能条都会闪烁。
AddBoneOrbital ()⚓︎
void AddBoneOrbital ( Vector Position )⚓︎
AddCustomCacheTag ()⚓︎
void AddCustomCacheTag ( string OR {string, string, ...}, bool EvaluateItems = false )⚓︎
添加自定义缓存标签,以便在下一次运行 EvaluateItems 时进行评估(如果传递了可选布尔值,则立即进行评估)。有关自定义缓存的更多信息,请参阅 items.xml。
AddInnateCollectible ()⚓︎
void AddInnateCollectible ( CollectibleType Collectible, int Amount = 1 )⚓︎
Bug
目前此函数会直接修改 WispCollectiblesList 的内容,因此如果此列表在精灵初始化/删除时更新,或者玩家退出游戏,你添加的固有物品将不会被保存。
AddLeprosy ()⚓︎
void AddLeprosy ( )⚓︎
Info
目前此功能仍然限制最多生成三个跟班,若要更改此限制,需要进一步修改。
AddLocust ()⚓︎
void AddLocust ( CollectibleType Collectible, Vector Position )⚓︎
Supported Items
有一些物品会生成独特的蝗虫 - Fire Mind - Holy Light - Scorpio - Mutant Spider - 120 Volt - Breakfast (default) - Brimstone - Number One - The Inner Eye - The Common Cold - Jacob's Ladder - Blood of the Martyr - Halo of Flies - Spoon Bender - Ipecac - Cricket's Head
AddSmeltedTrinket ()⚓︎
boolean AddSmeltedTrinket ( TrinketType Trinket, boolean FirstTimePickingUp = true )⚓︎
直接将一个吞下的饰品添加到玩家的库存中。如果饰品成功添加,则返回 true
,否则返回 false
。
AddUrnSouls ()⚓︎
void AddUrnSouls ( int Count = 0 )⚓︎
BlockCollectible ()⚓︎
void BlockCollectible ( CollectibleType Collectible )⚓︎
阻止提供的 CollectibleType。这会使游戏认为你没有该物品,即使它在你的库存中。
CanAddCollectibleToInventory ()⚓︎
boolean CanAddCollectibleToInventory ( CollectibleType Collectible )⚓︎
CanCrushRocks ()⚓︎
boolean CanCrushRocks ( )⚓︎
Info
如果玩家拥有以下物品/效果/变身之一,则返回 true
。
- The Nail
- Thunder Thighs
- Leo
- Stompy
- Mega Mush
CanOverrideActiveItem ()⚓︎
boolean CanOverrideActiveItem ( ActiveSlot Slot )⚓︎
CanUsePill ()⚓︎
boolean CanUsePill ( PillEffect ID )⚓︎
根据某些条件(通常与生命值相关),确定玩家是否可以使用给定的药丸效果。
CheckFamiliarEx ()⚓︎
EntityFamiliar[] CheckFamiliarEx ( int FamiliarVariant Familiar, int TargetCount, RNG rng, ItemConfigItem SourceItemConfigItem = nil, int FamiliarSubType = -1 )⚓︎
CheckFamiliar 的一个版本,它会将该函数生成的所有跟班作为一个表返回。
ClearCollectibleAnim ()⚓︎
void ClearCollectibleAnim ( CollectibleType Collectible)⚓︎
ClearQueueItem ()⚓︎
void ClearQueueItem ( )⚓︎
DropCollectible ()⚓︎
void DropCollectible ( CollectibleType Collectible, EntityPickup ExistingPedestal = nil, boolean RemoveFromPlayerForm = false )⚓︎
如果设置了 ExistingPedestal
,则该基座中包含的收藏品将被替换为掉落的收藏品,而不是生成一个新的基座。
DropCollectibleByHistoryIndex ()⚓︎
EntityPickup DropCollectibleByHistoryIndex ( int Idx, EntityPickup ExistingPedestal = nil )⚓︎
如果设置了 ExistingPedestal
,则该基座中包含的收藏品将被替换为掉落的收藏品,而不是生成一个新的基座。
EnableWeaponType ()⚓︎
void EnableWeaponType ( WeaponType Weapon, boolean Set )⚓︎
FireBrimstoneBall ()⚓︎
EntityEffect FireBrimstoneBall ( Vector Position, Vector Velocity, Vector Offset = Vector.Zero )⚓︎
Info
如果玩家拥有科技 X,此函数还会发射一个 EntityLaser。激光将以硫磺火球效果为父对象,但不清楚该效果是否也会链接回激光。
GetActiveItemDesc ()⚓︎
ActiveItemDesc GetActiveItemDesc ( ActiveSlot Slot = ActiveSlot.SLOT_PRIMARY )⚓︎
GetActiveItemSlot ()⚓︎
ActiveSlot GetActiveItemSlot ( CollectibleType Collectible )⚓︎
GetActiveMaxCharge ()⚓︎
int GetActiveMaxCharge ( ActiveSlot Slot )⚓︎
GetActiveMinUsableCharge ()⚓︎
int GetActiveMinUsableCharge ( ActiveSlot Slot )⚓︎
GetActiveWeaponNumFired ()⚓︎
int GetActiveWeaponNumFired ( )⚓︎
GetBagOfCraftingContent ()⚓︎
BagOfCraftingPickup[] GetBagOfCraftingContent ( )⚓︎
GetBagOfCraftingOutput ()⚓︎
CollectibleType GetBagOfCraftingOutput ( )⚓︎
GetBagOfCraftingSlot ()⚓︎
BagOfCraftingPickup GetBagOfCraftingSlot ( int SlotID )⚓︎
获取给定 SlotID
中合成袋的当前内容。
GetBladderCharge ()⚓︎
int GetBladderCharge ( )⚓︎
返回玩家停止射击并为肾结石物品充能时的当前充能值。
GetBloodLustCounter ()⚓︎
int GetBloodLustCounter ( )⚓︎
GetBodyMoveDirection ()⚓︎
Vector GetBodyMoveDirection ( )⚓︎
GetBombPlaceDelay ()⚓︎
int GetBombPlaceDelay ( )⚓︎
默认炸弹放置延迟为 30 帧
。
GetCambionConceptionState ()⚓︎
int GetCambionConceptionState ( )⚓︎
返回玩家使用恶魔受胎物品受到伤害的次数。
GetCambionPregnancyLevel ()⚓︎
int GetCambionPregnancyLevel ( )⚓︎
对应恶魔受胎服装的当前可见状态(0 - 2)。
GetCollectiblesList ()⚓︎
table GetCollectiblesList ( )⚓︎
返回一个表,其中包含玩家拥有的每个收藏品的数量,不计算固有物品。
示例代码
这段代码打印玩家拥有的悲伤洋葱的数量
1 2 |
|
GetConceptionFamiliarFlags ()⚓︎
int GetConceptionFamiliarFlags ( )⚓︎
返回一个位掩码,对应由圣灵受胎 / 恶魔受胎生成的跟班。此位掩码提供的额外跟班在跟班缓存评估期间生成,但仅当玩家拥有这两个物品之一时才会生成.
GetCostumeLayerMap ()⚓︎
table GetCostumeLayerMap ( )⚓︎
返回玩家服装精灵层数据的表格,包含以下字段:
| Field | Type | Comment |
| :-- | :-- | :-- |
| costumeIndex | int | 该层活跃/可见服装的索引。若该层无服装,值为 -1
. |
| priority | int | 对应动画文件(anm2)的精灵层 ID。若该层无服装,值为 -1
. |
| layerID | int | 服装在 costumes2.xml
中列出的优先级。若该层无服装,值为 -1
|
| isBodyLayer | boolean | 若服装是身体服装则为 true
,否则(包括该层无服装时)为 false
. |
More Layer Map Info
返回表格的索引顺序与 PlayerSpriteLayer
对应。但由于 Lua 和 C++ 数组起始索引的差异,CostumeLayerMap
的索引需减 1 ,且其 costumeIndex
需加 1 才能获取准确信息
下方代码片段用于显示所有当前已占用的服装层,打印内容格式为:PlayerSpriteLayer - 层名称 - 物品名称/NullItemID - Anm2 文件路径
Example Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
GetCostumeSpriteDescs ()⚓︎
CostumeSpriteDesc[] GetCostumeSpriteDescs ( )⚓︎
返回一个 CostumeSpriteDesc 类型的表。
GetCustomCacheValue ()⚓︎
float GetCustomCacheValue ( string CustomCacheTag )⚓︎
返回指定自定义缓存标签的当前缓存值。如果提供的标签尚未评估,则默认返回 0
。
有关自定义缓存的更多信息,请参阅 items.xml。
GetD8DamageModifier ()⚓︎
int GetD8DamageModifier ( )⚓︎
GetD8FireDelayModifier ()⚓︎
int GetD8FireDelayModifier ( )⚓︎
GetD8RangeModifier ()⚓︎
int GetD8RangeModifier ( )⚓︎
GetD8SpeedModifier ()⚓︎
int GetD8SpeedModifier ( )⚓︎
GetDamageModifier ()⚓︎
int GetDamageModifier ( )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
该修饰符以固定伤害的形式应用于玩家。
“实验性治疗” 根据随机生成的伤害值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
GetDeadEyeCharge ()⚓︎
int GetDeadEyeCharge ( )⚓︎
GetDeathAnimName ()⚓︎
string GetDeathAnimName ( )⚓︎
返回玩家死亡动画的名称。
Return info
可能返回以下字符串:
- Death
- 常规死亡动画名称。
- LostDeath
- 当玩家扮演 “游魂”、处于 “Lost Curse” 状态、扮演 “遗骸之魂” 或处于 “堕化雅各之魂” 时。
GetEdenDamage ()⚓︎
float GetEdenDamage ( )⚓︎
返回玩家伊甸随机属性中伤害属性的偏移量。
GetEdenFireDelay ()⚓︎
float GetEdenFireDelay ( )⚓︎
返回玩家伊甸随机属性中射击延迟属性的偏移量。
GetEdenLuck ()⚓︎
float GetEdenLuck ( )⚓︎
返回玩家伊甸随机属性中幸运属性的偏移量。
GetEdenRange ()⚓︎
float GetEdenRange ( )⚓︎
返回玩家伊甸随机属性中射程属性的偏移量。
GetEdenShotSpeed ()⚓︎
float GetEdenShotSpeed ( )⚓︎
返回玩家伊甸随机属性中射击速度属性的偏移量。
GetEdenSpeed ()⚓︎
float GetEdenSpeed ( )⚓︎
返回玩家伊甸随机属性中移动速度属性的偏移量。
GetEnterPosition ()⚓︎
Vector GetEnterPosition ( )⚓︎
GetEntityConfigPlayer ()⚓︎
EntityConfigPlayer GetEntityConfigPlayer ( )⚓︎
GetEpiphoraCharge ()⚓︎
int GetEpiphoraCharge ( )⚓︎
GetEveSumptoriumCharge ()⚓︎
int GetEveSumptoriumCharge ( )⚓︎
返回 “堕化夏娃” 固有 “圣血吸管” 能力的当前充能值。
GetFireDelayModifier ()⚓︎
int GetFireDelayModifier ( )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家提供 0.5 * 修饰符
的固定每秒眼泪数。
“实验性治疗” 根据随机生成的射击延迟值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
GetFlippedForm ()⚓︎
EntityPlayer GetFlippedForm ( )⚓︎
返回当前角色的翻转形态(仅适用于 “堕化拉撒路”)。
否则返回 nil
。
GetFocusEntity ()⚓︎
Entity GetFocusEntity ( )⚓︎
返回活动相机用于确定相机焦点的实体。这可以是 标记 目标 EntityEffect 或武器实体。
如果这些都不存在,则返回 nil
。
GetFootprintColor ()⚓︎
KColor GetFootprintColor ( boolean LeftFootprint )⚓︎
GetGlitchBabySubType ()⚓︎
int GetGlitchBabySubType ( )⚓︎
GetGlyphOfBalanceDrop ()⚓︎
table GetGlyphOfBalanceDrop ( int Variant = -1, int SubType = -1 )⚓︎
返回一个表,其中包含可能掉落的 平衡符号 的变体和子类型。
GetGnawedLeafTimer ()⚓︎
int GetGnawedLeafTimer ( )⚓︎
GetGreedsGulletHearts ()⚓︎
int GetGreedsGulletHearts ( )⚓︎
GetHallowedGroundCountdown ()⚓︎
int GetHallowedGroundCountdown ( )⚓︎
返回玩家从 “圣地大便/伯列恒之星” 光环中保留属性的宽限期倒计时。
GetHeadDirectionLockTime ()⚓︎
int GetHeadDirectionLockTime ( )⚓︎
玩家头部应强制保持当前方向的时长。-1
(或更低)表示当前方向未被锁定。
GetHealthType ()⚓︎
HealthType GetHealthType ( )⚓︎
GetHeldEntity ()⚓︎
Entity GetHeldEntity ( )⚓︎
如果玩家当前没有手持实体,则返回 nil
。
返回玩家举在头顶的实体,例如可投掷的红色炸弹或 背摔!。
GetHeldSprite ()⚓︎
Sprite GetHeldSprite ( )⚓︎
获取玩家进行涉及将精灵举在头顶的动画时使用的 Sprite 对象,例如使用主动道具时。
GetHistory ()⚓︎
History GetHistory ( )⚓︎
GetImmaculateConceptionState ()⚓︎
int GetImmaculateConceptionState ( )⚓︎
返回玩家使用 “圣灵受胎” 道具收集到的红心数量。在生成跟班/魂心后重置为 0。
GetKeepersSackBonus ()⚓︎
int GetKeepersSackBonus ( )⚓︎
获取玩家持有 “店主的胯袋” 时花费的硬币数量。
GetLaserColor ()⚓︎
Color GetLaserColor ( )⚓︎
GetLuckModifier ()⚓︎
int GetLuckModifier ( )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
该修饰符直接添加到玩家的幸运属性上。
“实验性治疗” 根据随机生成的幸运值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
GetMaggySwingCooldown ()⚓︎
int GetMaggySwingCooldown ( )⚓︎
返回 “堕化抹大拉” 受到伤害后挥击攻击的冷却剩余帧数。如果玩家不是 “堕化抹大拉”,则返回 0
。
GetMarkedTarget ()⚓︎
EntityEffect GetMarkedTarget ( )⚓︎
返回代表 标记 道具目标的实体效果。
如果目标未显示在地面上,此函数返回 nil
。
GetMaxBladderCharge ()⚓︎
int GetMaxBladderCharge ( )⚓︎
返回玩家停止射击并为 “肾结石” 道具充能时的最大充能值。
GetMaxBombs ()⚓︎
int GetMaxBombs ( )⚓︎
返回玩家当前可持有的最大炸弹数量。
GetMaxCoins ()⚓︎
int GetMaxCoins ( )⚓︎
返回玩家当前可持有的最大硬币数量。
GetMaxKeys ()⚓︎
int GetMaxKeys ( )⚓︎
返回玩家当前可持有的最大钥匙数量。
GetMaxPeeBurstCooldown ()⚓︎
int GetMaxPeeBurstCooldown ( )⚓︎
返回 “肾结石” 道具的最大攻击持续时间。
GetMaxPocketItems ()⚓︎
int GetMaxPocketItems ( )⚓︎
GetMegaBlastDuration ()⚓︎
int GetMegaBlastDuration ( )⚓︎
GetMetronomeCollectibleID ()⚓︎
int GetMetronomeCollectibleID ( )⚓︎
GetMovingBoxContents ()⚓︎
EntitiesSaveStateVector GetMovingBoxContents ( )⚓︎
返回玩家通过 “移动箱” 道具存储的拾取物。
GetNextUrethraBlockFrame ()⚓︎
int GetNextUrethraBlockFrame ( )⚓︎
返回玩家停止射击并开始为 “肾结石” 道具充能的帧数。
GetPeeBurstCooldown ()⚓︎
int GetPeeBurstCooldown ( )⚓︎
返回 “肾结石” 道具的攻击持续时间。
GetPlayerFormCounter ()⚓︎
int GetPlayerFormCounter ( PlayerForm PlayerFormID )⚓︎
返回玩家与指定变身相关联的道具数量。
GetPlayerIndex ()⚓︎
int GetPlayerIndex ( )⚓︎
GetPonyCharge ()⚓︎
int GetPonyCharge ( )⚓︎
返回 “一匹小马” 或 “白色小马” 道具充能效果停用前的剩余帧数。
GetPurityState ()⚓︎
PurityState GetPurityState ( )⚓︎
返回 “纯洁” 道具效果的当前状态。如果玩家没有 “纯洁” 道具,则返回 PurityState.BLUE
。
GetRedStewBonusDuration ()⚓︎
int GetRedStewBonusDuration ( )⚓︎
返回 “红炖菜” 道具伤害加成效果的剩余帧数。
GetShotSpeedModifier ()⚓︎
int GetShotSpeedModifier ( )⚓︎
“实验性治疗” 根据随机生成的射击速度值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
为玩家的射击速度增加 0.2 * 修饰符
。
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
GetSmeltedTrinkets ()⚓︎
table GetSmeltedTrinkets ( )⚓︎
返回一个包含熔炼饰品及其对应数量的表。返回的表包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
goldenTrinketAmount | int | |
trinketAmount | int |
GetSpecialGridCollision ()⚓︎
int GetSpecialGridCollision ( Vector Position = self.Position )⚓︎
GetSpeedModifier ()⚓︎
int GetSpeedModifier ( )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家的移动速度增加 0.2 * 修饰符
。
“实验性治疗” 根据随机生成的移动速度值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
GetSpoofedCollectiblesList ()⚓︎
table[] GetSpoofedCollectiblesList ( )⚓︎
字段 | 类型 | 说明 |
---|---|---|
道具 ID | CollectibleType | |
追加数量 | int | |
是否被阻挡 | boolean |
GetTearDisplacement ()⚓︎
int GetTearDisplacement ( )⚓︎
返回玩家的眼泪偏移值,用于检查玩家从哪只眼睛射击。
Return info
1
右眼-1
左眼
GetTotalActiveCharge ()⚓︎
int GetTotalActiveCharge ( ActiveSlot Slot )⚓︎
GetUrnSouls ()⚓︎
int GetUrnSouls ( )⚓︎
GetVoidedCollectiblesList ()⚓︎
CollectibleType[] GetVoidedCollectiblesList ( )⚓︎
返回一个包含所有被 “虚空” 道具吞噬的主动道具 CollectibleTypes 的表。
GetWeapon ()⚓︎
Weapon GetWeapon ( int Slot )⚓︎
返回相应插槽中的武器对象,如果未找到武器则返回 nil
。插槽编号必须在 0
到 4
之间。
Info
武器插槽及其说明:
- 0
- 备用武器,如 “缺口斧” 和 “灵魂瓮”。
- 1
- 主武器。
- 2
- 额外武器。原版游戏中很少有这种情况,但模组可以填充此插槽。
- 3
- 额外武器。
- 4
- 额外武器。
始终检查是否为 nil
,即使是插槽 1
,因为它可以被模组通过 Isaac.DestroyWeapon() 删除。
GetWeaponModifiers ()⚓︎
int GetWeaponModifiers ( )⚓︎
返回一个 WeaponModifiers 类型的位掩码。
GetWildCardItem ()⚓︎
int GetWildCardItem ( )⚓︎
返回玩家最后使用的道具,再次使用 “万能卡” 时将激活该道具。
如果玩家使用了主动道具,则返回其 CollectibleType
。如果玩家使用了消耗品,则返回其变体。如果玩家使用了 “问号卡”,则返回 1
。如果玩家之前从未使用过主动道具,则返回 0
。
GetWildCardItemType ()⚓︎
PocketItemType GetWildCardItemType ( )⚓︎
返回玩家最后使用的道具类型,再次使用 “万能卡” 时将激活该道具。
如果玩家使用了消耗品(包括 “问号卡”),则返回 ItemType.ITEM_PASSIVE
。如果玩家之前从未使用过主动道具,则返回 255
。
GetWispCollectiblesList ()⚓︎
table GetWispCollectiblesList ( )⚓︎
返回一个与玩家拥有的道具幽灵对应的 CollectibleTypes 表。
HasChanceRevive ()⚓︎
boolean HasChanceRevive ( )⚓︎
如果玩家的额外生命计数上会显示 “?”,则返回 true(即玩家拥有 “嗝屁猫的项圈”,或在 REPENTOGON 的 自定义标签 items.xml 属性 中有 chancerevive
字符串的模组复活道具)。
HasGoldenTrinket ()⚓︎
boolean HasGoldenTrinket ( TrinketType Trinket )⚓︎
如果玩家拥有指定 TrinketType 的金色变体,则返回 true。
HasInstantDeathCurse ()⚓︎
boolean HasInstantDeathCurse ( )⚓︎
当玩家处于由下水道的白色火焰或 “游魂的魂石” 触发的 “游魂诅咒” 形态时(或在 “堕化雅各布” 的幽灵形态下被 “堕化以扫” 触摸时),返回 true。
HasPoisonImmunity ()⚓︎
boolean HasPoisonImmunity ( )⚓︎
IncrementPlayerFormCounter ()⚓︎
void IncrementPlayerFormCounter ( PlayerForm Form, int Count )⚓︎
增加或减少玩家向某一变身的计数器。Count
可以为负数,以减少 PlayerForm。
InitPostLevelInitStats ()⚓︎
void InitPostLevelInitStats ( )⚓︎
在使用 InitTwin
生成具有 “特殊” 眼泪的角色(如 “游魂”、“莉莉丝”、“阿撒兹勒” 等)后调用此函数,否则他们将不会拥有正确的眼泪类型。
InitTwin ()⚓︎
EntityPlayer InitTwin ( PlayerType PlayerType )⚓︎
初始化一个由玩家同一控制器控制的新玩家。
Bug
双胞胎玩家在保存并继续游戏时会与其主双胞胎不同步。这会在单人游戏中导致软锁,因为游戏会提示连接控制器。 我们已从 _Kilburn 处确认,这在原版角色中是硬编码处理的。我们需要为此添加一个解决方案。
IsCollectibleAnimFinished ()⚓︎
boolean IsCollectibleAnimFinished ( CollectibleType Collectible, string Animation )⚓︎
如果与道具关联的动画可见,则返回 true。
IsCollectibleBlocked ()⚓︎
boolean IsCollectibleBlocked ( CollectibleType Collectible )⚓︎
如果 CollectibleType 被阻挡,则返回 true。道具只能通过 BlockCollectible 函数阻挡。
IsCollectibleCostumeVisible ()⚓︎
boolean IsCollectibleCostumeVisible ( CollectibleType Collectible, int PlayerSpriteLayerID )⚓︎
如果与道具关联的服装可见,则返回 true
。
IsEntityValidTarget ()⚓︎
boolean IsEntityValidTarget ( Entity Entity )⚓︎
IsFootstepFrame ()⚓︎
boolean IsFootstepFrame ( int Foot = -1 )⚓︎
Info
-1
- 每 12 帧返回 true。0
- 每 24 帧返回 true。1
- 始终为 false。
IsHeadless ()⚓︎
boolean IsHeadless ( )⚓︎
如果玩家因 “断头台”、“侵体蜘蛛”、“剪刀” 和 “飞头攻击” 等道具而无头,则返回 true
。
IsHologram ()⚓︎
boolean IsHologram ( )⚓︎
如果玩家是拥有 “长子名分” 的 “堕化拉撒路” 的非激活形态,则返回 true
。
IsInvisible ()⚓︎
boolean IsInvisible ( )⚓︎
如果玩家拥有 “褪色的全家福/迷彩内裤” 效果,则返回 true
。
IsItemCostumeVisible ()⚓︎
boolean IsItemCostumeVisible ( ItemConfig_Item Item, int PlayerSpriteLayerID )⚓︎
boolean IsItemCostumeVisible ( ItemConfig_Item Item, int PlayerSpriteLayerName )⚓︎
IsLocalPlayer ()⚓︎
boolean IsLocalPlayer ( )⚓︎
用于在线游戏。如果是本地玩家,则返回 true
,否则返回 false
。
IsNullItemCostumeVisible ()⚓︎
boolean IsNullItemCostumeVisible ( int nullItem, int layerID = 0 )⚓︎
boolean IsNullItemCostumeVisible ( int nullItem, string layerName )⚓︎
IsPacifist ()⚓︎
boolean IsPacifist ( )⚓︎
IsUrethraBlocked ()⚓︎
boolean IsUrethraBlocked ( )⚓︎
当玩家因为 “肾结石” 道具充能而无法射击时,返回 true。
MorphToCoopGhost ()⚓︎
void MorphToCoopGhost ( )⚓︎
将玩家转变为合作幽灵。
PlayCollectibleAnim ()⚓︎
void PlayCollectibleAnim ( CollectibleType Collectible, boolean CheckBodyLayers, string AnimationName, int Frame = -1 )⚓︎
播放与提供的道具关联的动画。
PlayDelayedSFX ()⚓︎
void PlayDelayedSFX ( SoundEffect ID, int SoundDelay = 0, int FrameDelay = 2, float Volume = 1.0 )⚓︎
延迟播放音效。
RemoveCollectibleByHistoryIndex ()⚓︎
void RemoveCollectibleByHistoryIndex ( int Index )⚓︎
从玩家处移除与指定历史索引关联的道具。
RemovePocketItem ()⚓︎
void RemovePocketItem ( PillCardSlot Slot )⚓︎
RemovePoopSpell ()⚓︎
void RemovePoopSpell ( int Position = 0 )⚓︎
从指定队列位置移除便便法术,并将其后的所有法术向前移动以填充空位。最后一个位置将随机选择一个新法术填充。便便法术仅由 “堕化???” 使用。
RerollAllCollectibles ()⚓︎
void RerollAllCollectibles ( RNG rng, boolean includeActiveItems )⚓︎
重新随机玩家的所有道具。
ResetPlayer ()⚓︎
void ResetPlayer ( )⚓︎
Info
此函数由 “创世纪” 主动道具使用。
ReviveCoopGhost ()⚓︎
boolean ReviveCoopGhost ( )⚓︎
SalvageCollectible ()⚓︎
void SalvageCollectible ( EntityPickup Pickup, RNG rng = PickupDropRNG, ItemPoolType Pool = ItemPoolType.POOL_NULL)⚓︎
产生随机数量的各种拾取物,类似于 “堕化该隐” 的能力。
Info
此函数将移除提供的 EntityPickup。可以使用覆盖参数避免这种情况。
SetActiveVarData ()⚓︎
void SetActiveVarData ( int VarData, ActiveSlot Slot )⚓︎
SetBagOfCraftingContent ()⚓︎
void SetBagOfCraftingContent ( BagOfCraftingPickup[] ContentTable )⚓︎
将合成袋的内容设置为表中的内容。表必须使用有效的 BagOfCraftingPickup ID。表可以短于 8,此时剩余索引将设置为空。
SetBagOfCraftingOutput ()⚓︎
void SetBagOfCraftingOutput ( CollectibleType Collectible )⚓︎
将玩家合成袋的输出设置为指定道具。
SetBagOfCraftingSlot ()⚓︎
void SetBagOfCraftingSlot ( int SlotID, BagOfCraftingPickup PickupID )⚓︎
将玩家合成袋的指定插槽设置为指定拾取物。
SetBlackHeart ()⚓︎
void SetBlackHeart ( int BlackHeart )⚓︎
SetBladderCharge ()⚓︎
void SetBladderCharge ( int Charge )⚓︎
由 “肾结石” 道具使用。
Bug
如果在没有 “肾结石” 道具的情况下使用此函数,玩家的头部会变黑。
SetBloodLustCounter ()⚓︎
void SetBloodLustCounter ( int Counter )⚓︎
SetBombPlaceDelay ()⚓︎
void SetBombPlaceDelay ( int Delay )⚓︎
SetCambionConceptionState ()⚓︎
void SetCambionConceptionState ( int State )⚓︎
设置玩家使用 “恶魔受胎” 道具受到的伤害量。
请注意,游戏仅在玩家受到伤害且此计数器达到 15、30、60 或 90 时才会生成跟班。你不能直接使用此函数触发诞生。
SetCanShoot ()⚓︎
boolean SetCanShoot ( boolean CanShoot )⚓︎
立即禁用(或启用)玩家的射击能力。基础游戏主要在特殊挑战中使用此功能。
SetConceptionFamiliarFlags ()⚓︎
void SetConceptionFamiliarFlags ( ConceptionFamiliarFlag Flags )⚓︎
设置与 “恶魔受胎/圣灵受胎” 生成的跟班对应的位掩码。此位掩码提供的额外跟班在跟班缓存评估期间生成,但仅当玩家拥有这两个道具之一时才会生成。
SetControllerIndex ()⚓︎
void SetControllerIndex ( int Idx )⚓︎
更改玩家的控制器索引。
SetDamageModifier ()⚓︎
void SetDamageModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
该修饰符以固定伤害的形式应用于玩家。
“实验性治疗” 根据随机生成的伤害值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetEdenDamage ()⚓︎
void SetEdenDamage ( float Value )⚓︎
设置玩家伊甸随机属性中伤害属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEdenFireDelay ()⚓︎
void SetEdenFireDelay ( float Value )⚓︎
设置玩家伊甸随机属性中射击延迟属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEdenLuck ()⚓︎
void SetEdenLuck ( float Value )⚓︎
设置玩家伊甸随机属性中幸运属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEdenRange ()⚓︎
void SetEdenRange ( float Value )⚓︎
设置玩家伊甸随机属性中射程属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEdenShotSpeed ()⚓︎
void SetEdenShotSpeed ( float Value )⚓︎
设置玩家伊甸随机属性中射击速度属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEdenSpeed ()⚓︎
void SetEdenSpeed ( float Value )⚓︎
设置玩家伊甸随机属性中移动速度属性的偏移量。对非伊甸或堕化伊甸的玩家无效。
SetEveSumptoriumCharge ()⚓︎
void SetEveSumptoriumCharge ( int ChargeNum )⚓︎
设置 “堕化夏娃” 固有 “吸食器” 能力的当前充能值。
SetFireDelayModifier ()⚓︎
void SetFireDelayModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家提供 0.5 * 修饰符
的固定每秒眼泪数。
“实验性治疗” 根据随机生成的射击延迟值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetFootprintColor ()⚓︎
void SetFootprintColor ( KColor color, boolean RightFoot = false )⚓︎
设置玩家的脚印颜色。
Bug
此函数目前会导致游戏崩溃 - 将在未来更新中修复。
SetGnawedLeafTimer ()⚓︎
void SetGnawedLeafTimer ( int Timer )⚓︎
SetHallowedGroundCountdown ()⚓︎
void SetHallowedGroundCountdown ( int Countdown )⚓︎
设置玩家从 “圣地大便/伯列恒之星” 光环中保留属性的宽限期倒计时。
SetHeadDirection ()⚓︎
void SetHeadDirection ( Direction Direction, int Time, boolean Force = false )⚓︎
将玩家的头部动画锁定到指定的 Direction。Force
参数将覆盖现有的头部方向锁定,例如使用 “妈妈的刀” 时的锁定。
SetHeadDirectionLockTime ()⚓︎
void SetHeadDirectionLockTime ( int Time )⚓︎
设置玩家头部应强制保持当前方向的时长。
SetImmaculateConceptionState ()⚓︎
void SetImmaculateConceptionState ( int State )⚓︎
设置玩家使用 “圣灵受胎” 道具收集到的红心数量。
请注意,游戏仅在玩家拾取红心时检查是否生成跟班,因此你不能直接使用此函数触发该效果。
如果你设置的值大于 14,该值将自动上限为 14,这意味着下一次拾取红心将生成一个跟班。
SetItemState ()⚓︎
void SetItemState ( CollectibleType Collectible )⚓︎
将玩家的道具状态更改为指定道具。这通常用于玩家在激活前举在头顶的道具(如 “鲍勃的烂头”、“玻璃大炮”)。
SetKeepersSackBonus ()⚓︎
void SetKeepersSackBonus ( int Bonus )⚓︎
设置玩家 “店主的胯袋” 道具的当前硬币奖励。
SetLaserColor ()⚓︎
void SetLaserColor ( Color color )⚓︎
设置玩家的激光颜色。
SetLuckModifier ()⚓︎
void SetLuckModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
该修饰符直接添加到玩家的幸运属性上。
“实验性治疗” 根据随机生成的幸运值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetMaggySwingCooldown ()⚓︎
void SetMaggySwingCooldown ( int Cooldown )⚓︎
将 “堕化抹大拉” 挥击攻击的冷却时间设置为指定的帧数。
SetMaxBladderCharge ()⚓︎
void SetMaxBladderCharge ( int Charge )⚓︎
设置玩家停止射击并为 “肾结石” 道具充能时的最大充能值。
SetMegaBlastDuration ()⚓︎
void SetMegaBlastDuration ( int Duration )⚓︎
将 “超级喷射” 激光的持续时间设置为指定的帧数。如果激光尚未激活,将其持续时间设置为大于零的值将激活该效果。
Bug
如果 “超级喷射” 激光处于激活状态,并且你再次调用此函数并设置较低的持续时间,激光将在指定帧数过去后仍然存在,直到玩家离开房间。
SetNextUrethraBlockFrame ()⚓︎
void SetNextUrethraBlockFrame ( int Frame )⚓︎
设置玩家停止射击并开始为 “肾结石” 道具充能的帧数。
SetPonyCharge ()⚓︎
void SetPonyCharge ( int Time )⚓︎
将 “小黑马” 和 “小白马” 道具的充能效果持续时间设置为指定的帧数。
SetPoopSpell ()⚓︎
void SetPoopSpell ( int Slot, PoopSpellType PoopSpellType )⚓︎
将便便列表中的指定插槽设置为一种便便类型。这仅由 “堕化???” 使用。
SetPurityState ()⚓︎
void SetPurityState ( PurityState State )⚓︎
设置 “纯洁” 道具效果的当前状态。
SetRedStewBonusDuration ()⚓︎
void SetRedStewBonusDuration ( int Duration )⚓︎
将 红豆汤
道具的伤害加成持续时间设置为指定的帧数。将持续时间设置为大于 0 的值将激活该效果(如果尚未激活)。
SetShotSpeedModifier ()⚓︎
void SetShotSpeedModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家的射击速度增加 0.2 * 修饰符
。
“实验性治疗” 根据随机生成的射击速度值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetSpeedModifier ()⚓︎
void SetSpeedModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家的移动速度增加 0.2 * 修饰符
。
“实验性治疗” 根据随机生成的移动速度值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetTearPoisonDamage ()⚓︎
void SetTearPoisonDamage ( float Damage )⚓︎
SetTearRangeModifier ()⚓︎
void SetTearRangeModifier ( int Modifier )⚓︎
用于 “实验性治疗” 和 “虚空” 带来的属性提升。
为玩家的眼泪射程增加 2.5 * 修饰符
。
“实验性治疗” 根据随机生成的射程值增加 -1
、0
或 1
。“虚空” 可能会随机增加 1
。
SetUrethraBlock ()⚓︎
void SetUrethraBlock ( boolean Blocked )⚓︎
设置 “肾结石” 道具的眼泪狂轰滥炸攻击是否即将激活。如果玩家没有 “肾结石” 道具,该效果将立即激活。
Bug
将 Blocked
参数设置为 false
似乎没有任何效果。
SetWeapon ()⚓︎
void SetWeapon ( Weapon Weapon, int WeaponSlot )⚓︎
将指定 WeaponSlot
中的活动武器设置为指定武器。
Info
武器插槽及其说明:
- 0
- 备用武器,如 “缺口斧” 和 “灵魂瓮”。
- 1
- 主武器。
- 2
- 额外武器。原版游戏中很少有这种情况,但模组可以填充此插槽。
- 3
- 额外武器。
- 4
- 额外武器。
始终检查是否为 nil
,即使是插槽 1
,因为它可以被模组通过 Isaac.DestroyWeapon() 删除
ShootBlueCandle ()⚓︎
void ShootBlueCandle ( Vector Direction )⚓︎
使玩家从 “蜡烛” 道具发射蓝色火焰。
ShuffleCostumes ()⚓︎
void ShuffleCostumes ( int Seed = Random( ) )⚓︎
随机化当前的服装。
SpawnAquariusCreep ()⚓︎
EntityEffect SpawnAquariusCreep ( TearParams TearParams = self.TearParams)⚓︎
生成一个类似于 “宝瓶座” 产生的爬行效果,包括继承玩家的 TearParams
。支持传递自定义的 TearParams
。
Info
供参考,游戏通常是这样计算 TearParams
的:
player->GetTearHitParams(¶ms, WeaponType.WEAPON_TEARS, (*player->GetTearPoisonDamage() * 0.666f) / player->_damage, -(int)(-Isaac::Random(2) != 0) & 2 - 1, nil)
SpawnClot ()⚓︎
void SpawnClot ( Vector pos, boolean AllowPlayerDeath = false )⚓︎
作用类似于使用 “吸食器”,移除生命值并生成一个与移除的生命值类型相同的血块。如果设置了 AllowPlayerDeath
,即使移除的生命值会导致玩家死亡,也会生成一个血块。
SpawnSaturnusTears ()⚓︎
int SpawnSaturnusTears ( )⚓︎
生成一圈类似于 “土星” 道具的眼泪,围绕玩家旋转。
SwapForgottenForm ()⚓︎
void SwapForgottenForm ( boolean Force = false, boolean NoEffects = false)⚓︎
如果玩家是 “遗忘者/灵魂”,两者将交换形态。否则,此函数不执行任何操作。
Force
参数将强制交换,即使副玩家没有生命值,或者在房间/关卡过渡期间。NoEffects
参数将禁用从 “灵魂” 切换到 “遗忘者” 时的灰尘效果和白色渐变效果。
SyncConsumableCounts ()⚓︎
void SyncConsumableCounts ( EntityPlayer Player, int CollectibleFlags )⚓︎
Teleport ()⚓︎
void Teleport ( Vector Position, boolean DoEffects = true, boolean TeleportTwinPlayers = false )⚓︎
DoEffects
控制是否播放传送动画和音效。TeleportTwinPlayers
控制双胞胎玩家(如 “以扫”、拥有 “诞生之权” 的 “堕化拉撒路”)是否与该玩家一起传送。
将玩家传送到房间内的指定位置。
TriggerRoomClear ()⚓︎
void TriggerRoomClear ( )⚓︎
触发玩家身上类似于房间清理的效果(如为主动道具充能)。
TryAddToBagOfCrafting ()⚓︎
void TryAddToBagOfCrafting ( EntityPickup Pickup )⚓︎
尝试将指定的拾取物添加到玩家的合成袋中。
TryDecreaseGlowingHourglassUses ()⚓︎
void TryDecreaseGlowingHourglassUses ( int Uses, boolean ForceHourglass = false )⚓︎
尝试减少玩家拥有的 “发光沙漏” 道具的剩余使用次数。ForceHourglass
参数将立即移除所有充能并将 “发光沙漏” 变为普通沙漏形态。
Bug
无论你指定移除的数字有多大,Uses
仅减少 1。
TryFakeDeath ()⚓︎
boolean TryFakeDeath ( )⚓︎
在玩家当前位置生成一个玩家的副本,并播放死亡动画和音效。
TryForgottenThrow ()⚓︎
boolean TryForgottenThrow ( Vector Direction )⚓︎
如果玩家持有 “堕化遗骸”,他将朝指定方向被抛出。
TryPreventDeath ()⚓︎
boolean TryPreventDeath ( )⚓︎
成功时返回 true
,否则返回 false
。
根据角色的 HealthType,如果角色没有剩余的心之容器,则添加一个以防止死亡。
TryRemoveSmeltedTrinket ()⚓︎
void TryRemoveSmeltedTrinket ( TrinketType ID )⚓︎
尝试从玩家处移除指定的熔炼饰品。
UnblockCollectible ()⚓︎
void UnblockCollectible ( CollectibleType Collectible )⚓︎
解除通过 BlockCollectible 阻挡的 CollectibleType。
UpdateIsaacPregnancy ()⚓︎
void UpdateIsaacPregnancy ( boolean UpdateCambion )⚓︎
如果你想更新 “恶魔受胎” 服装,则设置为 true
,否则更新 “圣灵受胎” 服装。
VoidHasCollectible ()⚓︎
boolean VoidHasCollectible ( CollectibleType Collectible )⚓︎
如果指定的道具已被 “虚空” 道具吞噬,则返回 true。