コード例 #1
0
ファイル: bullets.py プロジェクト: Grimrukh/soulstruct
        ),
        FieldDisplayInfo(
            "isIgnoreSfxIfHitWater:1",
            "IgnoreVFXOnWaterHit",
            True,
            bool,
            "If True, hit VFX are not produced if the bullet impacts water.",
        ),
        FieldDisplayInfo(
            "isIgnoreMoveStateIfHitWater:1",
            "IgnoreStateTransitionOnWaterHit",
            True,
            bool,
            "Unclear effect, but True for knives/arrows/bolts and False otherwise.",
        ),
        FieldDisplayInfo(
            "isHitDarkForceMagic:1",
            "CanBeDeflectedByBeastRoar",
            True,
            bool,
            "If True, this bullet will impact the Beast Roar deflection effect.",
        ),
        FieldDisplayInfo("isInheritEffectToChild:1", "ChildrenInheritEffect",
                         True, bool, ""),
        FieldDisplayInfo("isInheritSpeedToChild:1", "ChildrenInheritSpeed",
                         True, bool, ""),
        FieldDisplayInfo("pad[3]", "Pad3", False, pad_field(3),
                         "Null padding."),
    ],
}
コード例 #2
0
 None,
 "fields": [
     FieldDisplayInfo("variationId", "VariationID", True, int,
                      ""),  # TODO: connect to model/TAE somehow.
     FieldDisplayInfo(
         "behaviorJudgeId",
         "BehaviorJudgeID",
         True,
         int,
         "This is the ID specified by TAE events that trigger behaviors.",
     ),
     FieldDisplayInfo("ezStateBehaviorType_old", "EzstateBehaviorType",
                      False, int, "Unused remnant from Demon's Souls."),
     FieldDisplayInfo("refType", "ReferenceType", True, BEHAVIOR_REF_TYPE,
                      "Is the reference ID below an Attack or Bullet ID?"),
     FieldDisplayInfo("pad0[2]", "Pad1", False, pad_field(2),
                      "Null padding."),
     DynamicBehaviorRef("refId", "refType"),
     FieldDisplayInfo("sfxVariationId", "VFXVariationID", True, int,
                      "Visual effect ID."),
     FieldDisplayInfo("stamina", "StaminaCost", True, int,
                      "Stamina cost of behavior."),
     FieldDisplayInfo("mp", "DurabilityCost", True, int,
                      "Weapon/shield durability cost of behavior."),
     FieldDisplayInfo(
         "category",
         "Category",
         True,
         BEHAVIOR_CATEGORY,
         "Determines compatibility with special effects that affect certain types of attacks. Set to 'Basic' "
         "for thrown goods and 'No Category' otherwise.",
コード例 #3
0
         "sources of invincibility such as TAE or events).",
     ),
     FieldDisplayInfo("atkPow_forSfxSe", "AttackPowerForEffects", True, int,
                      ""),
     FieldDisplayInfo("atkDir_forSfxSe", "AttackDirectionForEffects", True,
                      int, "Name might be wrong."),
     FieldDisplayInfo("opposeTarget:1", "AffectsEnemies", True, bool, ""),
     FieldDisplayInfo("friendlyTarget:1", "AffectsAllies", True, bool, ""),
     FieldDisplayInfo("selfTarget:1", "AffectsSelf", True, bool, ""),
     FieldDisplayInfo("isChargeAtk:1", "IsChargeAttack", True, bool, ""),
     FieldDisplayInfo("isShareHitList:1", "SharesHitList", True, bool, ""),
     FieldDisplayInfo("isCheckObjPenetration:1", "CollidesWithObjects",
                      True, bool, "Value might be inverted."),
     FieldDisplayInfo("pad:2", "Pad", False, bit_pad_field(2),
                      "Null padding."),
     FieldDisplayInfo("pad2", "Pad", False, pad_field(2), "Null padding."),
     FieldDisplayInfo("regainableSlotId", "RegainableSlotID", True, int,
                      ""),
     FieldDisplayInfo("deathcauseId", "DeathCauseID", True, int, ""),
     FieldDisplayInfo("decalId1", "DecalID1", True, int, ""),
     FieldDisplayInfo("decalId2", "DecalID2", True, int, ""),
     FieldDisplayInfo("appearAiSoundId", "AppearAISoundID", True, int, ""),
     FieldDisplayInfo("hitAiSoundId", "HitAISoundID", True, int, ""),
     FieldDisplayInfo("wepRegainHpScale", "WeaponRegainHPScale", True, int,
                      ""),
     FieldDisplayInfo("atkRegainHp", "AttackRegainHP", True, int, ""),
     FieldDisplayInfo("regainableTimeScale", "RegainTimeScale", True, int,
                      ""),
     FieldDisplayInfo("regainableHpRateScale", "RegainHPRateScale", True,
                      int, ""),
 ],
コード例 #4
0
ファイル: characters.py プロジェクト: Grimrukh/soulstruct
 FieldDisplayInfo("gestureId5", "Gesture6", True, int,
                  "Sixth equipped gesture."),
 FieldDisplayInfo("gestureId6", "Gesture7", True, int,
                  "Seventh equipped gesture."),
 FieldDisplayInfo("npcPlayerType", "CharacterType", True, NPC_TYPE,
                  "Type of human NPC."),
 FieldDisplayInfo("npcPlayerDrawType", "DrawType", True, NPC_DRAW_TYPE,
                  "Draw type of human NPC."),
 FieldDisplayInfo("npcPlayerSex", "Gender", True, CHARACTER_INIT_SEX,
                  "Character gender."),
 FieldDisplayInfo("vowType:4", "Covenant", True, CHRINIT_VOW_TYPE,
                  "Character covenant."),
 FieldDisplayInfo("pad:4", "Pad0", False, bit_pad_field(4),
                  "Null padding."),
 FieldDisplayInfo("voiceType", "VoiceType", True, int, "Voice type."),
 FieldDisplayInfo("pad0[1]", "Pad0.", True, pad_field(1),
                  "Null padding."),
 FieldDisplayInfo("equip_Wep_Right_GenId", "RightHandWeapon1GenID",
                  True, int, ""),
 FieldDisplayInfo("equip_Subwep_Right_GenId", "RightHandWeapon2GenID",
                  True, int, ""),
 FieldDisplayInfo("equip_Wep_Left_GenId", "LeftHandWeapon1GenID", True,
                  int, ""),
 FieldDisplayInfo("equip_Subwep_Left_GenId", "LeftHandWeapon2GenID",
                  True, int, ""),
 FieldDisplayInfo("equip_Helm_GenId", "HeadArmorGenID", True, int, ""),
 FieldDisplayInfo("equip_Armer_GenId", "BodyArmorGenID", True, int, ""),
 FieldDisplayInfo("equip_Gaunt_GenId", "HandsArmorGenID", True, int,
                  ""),
 FieldDisplayInfo("equip_Leg_GenId", "LegsArmorGenID", True, int, ""),
 FieldDisplayInfo("equip_Wep_Body_GenId", "BodyWeaponGenID", True, int,
コード例 #5
0
ファイル: bullets.py プロジェクト: garyttierney/soulstruct
            "isHitForceMagic:1",
            "CanBeDeflectedByMagic",
            True,
            bool,
            "If True, this bullet will impact appropriate Force-type magic (e.g. arrows, bolts, knives).",
        ),
        FieldDisplayInfo(
            "isIgnoreSfxIfHitWater:1",
            "IgnoreVFXOnWaterHit",
            True,
            bool,
            "If True, hit VFX are not produced if the bullet impacts water.",
        ),
        FieldDisplayInfo(
            "isIgnoreMoveStateIfHitWater:1",
            "IgnoreStateTransitionOnWaterHit",
            True,
            bool,
            "Unclear effect, but True for knives/arrows/bolts and False otherwise.",
        ),
        FieldDisplayInfo(
            "isHitDarkForceMagic:1",
            "CanBeDeflectedBySilverPendant",
            True,
            bool,
            "If True, this bullet will impact the Silver Pendant shield effect. True only for dark sorceries.",
        ),
        FieldDisplayInfo("pad[3]", "Pad3", False, pad_field(3), "Null padding."),
    ],
}
コード例 #6
0
ファイル: shops.py プロジェクト: garyttierney/soulstruct
        ),
        FieldDisplayInfo(
            "eventFlag",
            "QuantityFlag",
            True,
            Flag,
            "Flag value that holds the count of this item that have been sold already.",
        ),
        FieldDisplayInfo("qwcId", "QWCID", False, int,
                         "Unused world tendency condition."),
        FieldDisplayInfo(
            "sellQuantity",
            "InitialQuantity",
            True,
            int,
            "Quantity of this item initially available to be sold. Set to -1 for infinite quantity.",
        ),
        FieldDisplayInfo(
            "shopType",
            "ShopMenuType",
            True,
            SHOP_LINEUP_SHOPTYPE,
            "Determines if this is a standard shop menu or the spell attunement menu.",
        ),
        FieldDisplayInfo("equipType", "ItemType", True, SHOP_LINEUP_EQUIPTYPE,
                         "Type of item listed in menu."),
        FieldDisplayInfo("pad_0[8]", "Pad1", False, pad_field(8),
                         "Null padding."),
    ],
}
コード例 #7
0
            "CanNavigateDoors",
            True,
            bool,
            "If True, this NPC can go through doors (but not necessarily open closed doors).",
        ),
        FieldDisplayInfo(
            "enableNaviFlg_InSideWall:1",
            "CanNavigateInsideWalls",
            True,
            bool,
            "If True, this NPC can go through walls (i.e. ignores navmesh walls).",
        ),
        FieldDisplayInfo(
            "enableNaviFlg_reserve0:2",
            "UnusedNavmeshCheckX2",
            False,
            bool,
            "Two unused bytes reserved for other navmesh checks. No effect.",
        ),
        FieldDisplayInfo(
            "enableNaviFlg_reserve1[3]",
            "UnusedNavmeshCheckX3",
            False,
            bool,
            "Three unused bytes reserved for other navmesh checks. No effect.",
        ),
        FieldDisplayInfo("pad0[12]", "Pad0", False, pad_field(12),
                         "Null padding."),
    ],
}
コード例 #8
0
            "unused Escape Death miracle in vanilla game.",
        ),
        FieldDisplayInfo(
            "enable_black:1",
            "UseableByBlackPhantoms",
            True,
            bool,
            "Determines if this spell can be cast by Black Phantoms (invaders). Only disabled for Homeward and "
            "the unused Escape Death miracle in vanilla game.",
        ),
        FieldDisplayInfo(
            "disableOffline:1",
            "DisabledOffline",
            False,
            bool,
            "If True, this spell cannot be cast without a network connection. Always False.",
        ),
        FieldDisplayInfo(
            "castResonanceMagic:1",
            "CreateResonanceRing",
            True,
            bool,
            "If True, using this spell will create a resonance ring to help players in other worlds.",
        ),
        FieldDisplayInfo("pad_1:6", "Pad1", False, bit_pad_field(6),
                         "Null padding."),
        FieldDisplayInfo("pad[2]", "Pad2", False, pad_field(2),
                         "Null padding."),
    ],
}
コード例 #9
0
                         "If True, this object can move."),
        FieldDisplayInfo("pad_1:5", "Pad1", False, bit_pad_field(5),
                         "Null padding."),
        # TODO: LOD type.
        FieldDisplayInfo("defaultLodParamId", "DefaultLOD", True, int,
                         "Default LOD (level of default) parameter."),
        FieldDisplayInfo(
            "breakSfxId",
            "DestructionSoundEffect",
            True,
            SFXSound,
            "Sound effect played upon destruction. (Set to -1 to use default value, which is apparently 80.)",
        ),
        FieldDisplayInfo("navimeshFlag", "NavmeshFlag", True,
                         OBJECT_NAVIMESH_FLAG, ""),
        FieldDisplayInfo("pad_2[1]", "Pad", False, pad_field(1),
                         "Null padding."),
        FieldDisplayInfo("paintRenderTargetSize", "PaintRenderTargetSize",
                         True, int, ""),
        FieldDisplayInfo("breakAiSoundId", "BreakAISoundID", True, int,
                         ""),  # TODO: AI Sound param type
        FieldDisplayInfo("pad_3[8]", "Pad", False, pad_field(8),
                         "Null padding."),
    ],
}

OBJ_ACT_PARAM_ST = {
    "paramdef_name":
    "OBJ_ACT_PARAM_ST",
    "file_name":
    "ObjActParam",
コード例 #10
0
        FieldDisplayInfo("speffectId_forAtk", "AttackSpecialEffectID", True,
                         SpecialEffectParam, ""),
    ],
}

GEM_GEN_PARAM_ST = {
    "paramdef_name":
    "GEM_GEN_PARAM_ST",
    "file_name":
    "GemGenParam",
    "nickname":
    "GemGenerators",
    "fields": [
        FieldDisplayInfo("isUnique:1", "IsUnique", True,
                         EQUIP_GEN_PARAM_BOOL32, ""),
        FieldDisplayInfo("pad_0[4]", "Pad", False, pad_field(4), ""),
        FieldDisplayInfo("gemNameIdOffset", "GemNameIDOffset", True, int, ""),
        FieldDisplayInfo("disableSlotRateModify:1", "DisableSlotModifyRate",
                         True, EQUIP_GEN_PARAM_BOOL32, ""),
        FieldDisplayInfo("slotTypeRateA", "SlotTypeRateA", True, float, ""),
        FieldDisplayInfo("slotTypeRateB", "SlotTypeRateB", True, float, ""),
        FieldDisplayInfo("slotTypeRateC", "SlotTypeRateC", True, float, ""),
        FieldDisplayInfo("slotTypeRateD", "SlotTypeRateD", True, float, ""),
        FieldDisplayInfo("slotTypeRateE", "SlotTypeRateE", True, float, ""),
        FieldDisplayInfo("slotTypeRateF", "SlotTypeRateF", True, float, ""),
        FieldDisplayInfo("gemRankDoping", "GemRankDoping", True, int, ""),
        FieldDisplayInfo("pad_1[3]", "Pad", False, pad_field(3), ""),
        FieldDisplayInfo("gemeffectGenParamType_0", "GemEffectGenParamType0",
                         True, GEMEFFECT_GEN_PT, ""),
        FieldDisplayInfo("gemeffectGenParam_0", "GemEffectGenParam0", True,
                         int, ""),
コード例 #11
0
        FieldDisplayInfo("goalAction_ToDisappear", "DisappearGoalAction", True,
                         int, ""),
        FieldDisplayInfo("disableLocalSteering", "DisableLocalSteering", True,
                         int, ""),
        FieldDisplayInfo("actTypeOnFailedPath", "ActTypeOnFailedPath", True,
                         int, ""),
        FieldDisplayInfo("interestCategory", "InterestCategory", True, int,
                         ""),
        FieldDisplayInfo("goalAction_ToInterest", "InterestGoalAction", True,
                         int, ""),
        FieldDisplayInfo("goalID_ToInterest", "InterestGoalID", True, int, ""),
        FieldDisplayInfo("changeStateAction_ToInterest",
                         "ChangeStateActionToInterest", True, int, ""),
        FieldDisplayInfo("changeStateAction_ToNormal",
                         "ChangeStateActionToNormal", True, int, ""),
        FieldDisplayInfo("pad[6]", "Pad0", False, pad_field(12),
                         "Null padding."),
    ],
}

AI_SOUND_PARAM_ST = {
    "paramdef_name":
    "AI_SOUND_PARAM_ST",
    "file_name":
    "AiSoundParam",
    "nickname":
    "AISounds",
    "fields": [
        FieldDisplayInfo("radius", "", True, float, ""),
        FieldDisplayInfo("lifeFrame", "", True, float, ""),
        FieldDisplayInfo("bSpEffectEnable", "", True, int, ""),
コード例 #12
0
ファイル: spells.py プロジェクト: Grimrukh/soulstruct
 FieldDisplayInfo(
     "spEffectCategory",
     "SpecialEffectCategory",
     True,
     SP_EFFECT_SPCATEGORY,
     "Determines what type of special effects affect the stats of this spell. (Vanilla game uses 3 for "
     "sorceries and pyromancies, and 4 for miracles.)",
 ),
 FieldDisplayInfo(
     "refType",
     "AnimationType",
     True,
     MAGIC_MOTION_TYPE,
     "Basic animation type when casting spell. The Visual Effect Variation field further refines it.",
 ),
 FieldDisplayInfo("pad", "Pad", False, pad_field(1), ""),
 FieldDisplayInfo(
     "opmeMenuType",
     "MenuActivated",
     True,
     GOODS_OPEN_MENU,
     "Menu activated (if any) when spell is cast. Only used by Homeward (Yes/No Dialog).",
 ),
 FieldDisplayInfo(
     "hasSpEffectType",
     "HasSpecialEffectType",
     False,
     int,
     "Determines 'the state change that needs to replace the spell ID'. Never used.",
 ),
 FieldDisplayInfo(
コード例 #13
0
        FieldDisplayInfo("bodyScaleAbdomen", "AbdomenScale", True, int, "Multiplier applied to abdomen size."),
        FieldDisplayInfo("bodyScaleArm", "ArmScale", True, int, "Multiplier applied to arm size."),
        FieldDisplayInfo("bodyScaleLeg", "LegScale", True, int, "Multiplier applied to leg size."),
        FieldDisplayInfo("gestureId0", "Gesture1", True, int, "First equipped gesture."),
        FieldDisplayInfo("gestureId1", "Gesture2", True, int, "Second equipped gesture."),
        FieldDisplayInfo("gestureId2", "Gesture3", True, int, "Third equipped gesture."),
        FieldDisplayInfo("gestureId3", "Gesture4", True, int, "Fourth equipped gesture."),
        FieldDisplayInfo("gestureId4", "Gesture5", True, int, "Fifth equipped gesture."),
        FieldDisplayInfo("gestureId5", "Gesture6", True, int, "Sixth equipped gesture."),
        FieldDisplayInfo("gestureId6", "Gesture7", True, int, "Seventh equipped gesture."),
        FieldDisplayInfo("npcPlayerType", "CharacterType", True, NPC_TYPE, "Type of human NPC."),
        FieldDisplayInfo("npcPlayerDrawType", "DrawType", True, NPC_DRAW_TYPE, "Draw type of human NPC."),
        FieldDisplayInfo("npcPlayerSex", "Gender", True, CHARACTER_INIT_SEX, "Character gender."),
        FieldDisplayInfo("vowType:4", "Covenant", True, CHRINIT_VOW_TYPE, "Character covenant."),
        FieldDisplayInfo("pad:4", "Pad0", False, bit_pad_field(4), "Null padding."),
        FieldDisplayInfo("pad0[10]", "Pad1", False, pad_field(10), "Null padding."),
    ],
}

NPC_PARAM_ST = {
    "paramdef_name": "NPC_PARAM_ST",
    "file_name": "NpcParam",
    "nickname": "Characters",
    "fields": [
        FieldDisplayInfo(
            "behaviorVariationId",
            "BehaviorVariationID",
            True,
            int,
            "Multiplied by 1000 and added to non-player behavior lookups (hitboxes, bullets) triggered by TAE.",
        ),
コード例 #14
0
ファイル: attacks.py プロジェクト: garyttierney/soulstruct
        FieldDisplayInfo(
            "isGhostAtk:1",
            "IsAttackByGhost",
            True,
            bool,
            "Flags if this is an attack of a ghost, which presumably disables wall collision, etc.",
        ),
        FieldDisplayInfo(
            "isDisableNoDamage:1",
            "IgnoreInvincibilityFrames",
            True,
            bool,
            "If True, this attack will ignore invincibility frames from rolling or backstepping (but not other "
            "sources of invincibility such as TAE or events).",
        ),
        FieldDisplayInfo("pad[1]", "Pad1", False, pad_field(1),
                         "Null padding."),
    ],
}

THROW_INFO_BANK = {
    "paramdef_name":
    "THROW_INFO_BANK",
    "file_name":
    "ThrowParam",
    "nickname":
    "Throws",
    "fields": [
        FieldDisplayInfo("AtkChrId", "AttackingCharacterModel", True, int,
                         "Model ID of attacking character."),
        FieldDisplayInfo("DefChrId", "DefendingCharacterModel", True, int,
コード例 #15
0
            "Good that must be possessed for item to be listed. Used to control appearance of spells in "
            "attunement menu.",
        ),
        FieldDisplayInfo(
            "eventFlag",
            "QuantityFlag",
            True,
            Flag,
            "Flag value that holds the count of this item that have been sold already.",
        ),
        FieldDisplayInfo("qwcId", "QWCID", False, int, "Unused world tendency condition."),
        FieldDisplayInfo(
            "sellQuantity",
            "InitialQuantity",
            True,
            int,
            "Quantity of this item initially available to be sold. Set to -1 for infinite quantity.",
        ),
        FieldDisplayInfo(
            "shopType",
            "ShopMenuType",
            True,
            SHOP_LINEUP_SHOPTYPE,
            "Determines if this is a standard shop menu or the spell attunement menu.",
        ),
        FieldDisplayInfo("equipType", "ItemType", True, SHOP_LINEUP_EQUIPTYPE, "Type of item listed in menu."),
        FieldDisplayInfo("value_SAN", "ValueSAN", True, int, ""),
        FieldDisplayInfo("pad_0[6]", "Pad", False, pad_field(6), ""),
    ],
}
コード例 #16
0
        ),
        FieldDisplayInfo(
            "vowType14:1",
            "AffectsCovenant14",
            False,
            bool,
            "Determines if this special effect will affect characters in unused covenant.",
        ),
        FieldDisplayInfo(
            "vowType15:1",
            "AffectsCovenant15",
            False,
            bool,
            "Determines if this special effect will affect characters in unused covenant.",
        ),
        FieldDisplayInfo("pad1[11]", "Pad2", False, pad_field(11),
                         "Null padding."),
    ],
}

SP_EFFECT_VFX_PARAM_ST = {
    "paramdef_name":
    "SP_EFFECT_VFX_PARAM_ST",
    "file_name":
    "SpEffectVfxParam",
    "nickname":
    "SpecialEffectVisuals",
    "fields": [
        FieldDisplayInfo("effectType", "EffectType", True,
                         SP_EFFECT_VFX_EFFECT_TYPE,
                         "Type of effect. Enum not yet mapped."),
コード例 #17
0
ファイル: chalices.py プロジェクト: Grimrukh/soulstruct
    "fields": [
        FieldDisplayInfo("subFeatureNameId", "SubFeatureNameID", True, int,
                         ""),
        FieldDisplayInfo("requiredMaterialId", "RequiredMaterialID", True, int,
                         ""),
        FieldDisplayInfo("subFeatureId_1", "SubFeatureID1", True, int, ""),
        FieldDisplayInfo("subFeatureId_2", "SubFeatureID2", True, int, ""),
        FieldDisplayInfo("subFeatureId_3", "SubFeatureID3", True, int, ""),
        FieldDisplayInfo("subFeatureId_4", "SubFeatureID4", True, int, ""),
        FieldDisplayInfo("subFeatureId_5", "SubFeatureID5", True, int, ""),
        FieldDisplayInfo("subFeatureId_6", "SubFeatureID6", True, int, ""),
        FieldDisplayInfo("subFeatureId_7", "SubFeatureID7", True, int, ""),
        FieldDisplayInfo("subFeatureId_8", "SubFeatureID8", True, int, ""),
        FieldDisplayInfo("subFeatureId_9", "SubFeatureID9", True, int, ""),
        FieldDisplayInfo("subFeatureId_10", "SubFeatureID10", True, int, ""),
        FieldDisplayInfo("pad_0[2]", "Pad", False, pad_field(2), ""),
        FieldDisplayInfo("rate_1", "Rate1", True, float, ""),
        FieldDisplayInfo("rate_2", "Rate2", True, float, ""),
        FieldDisplayInfo("rate_3", "Rate3", True, float, ""),
        FieldDisplayInfo("rate_4", "Rate4", True, float, ""),
        FieldDisplayInfo("rate_5", "Rate5", True, float, ""),
        FieldDisplayInfo("rate_6", "Rate6", True, float, ""),
        FieldDisplayInfo("rate_7", "Rate7", True, float, ""),
        FieldDisplayInfo("rate_8", "Rate8", True, float, ""),
        FieldDisplayInfo("rate_9", "Rate9", True, float, ""),
        FieldDisplayInfo("rate_10", "Rate10", True, float, ""),
    ]
}

HOLYGRAIL_EX_PARAM_ST = {
    "paramdef_name":
コード例 #18
0
ファイル: lighting.py プロジェクト: garyttierney/soulstruct
        ),
        FieldDisplayInfo(
            "envSpc_2",
            "SpecularLightTextureID2",
            False,
            int,
            "Changing this has drastic effects on the specular ambient light.",
        ),
        FieldDisplayInfo(
            "envSpc_3",
            "SpecularLightTextureID3",
            False,
            int,
            "Changing this has drastic effects on the specular ambient light.",
        ),
        FieldDisplayInfo("pad[2]", "Pad1", False, pad_field(2),
                         "Null padding."),
    ],
}

LIGHT_SCATTERING_BANK = {
    "paramdef_name":
    "LIGHT_SCATTERING_BANK",
    "file_name":
    "LightScatteringBank",
    "nickname":
    "ScatteredLight",
    "fields": [
        FieldDisplayInfo("sunRotX", "LightRotationX", True, int,
                         "Rotation (X-axis) of scattering light source."),
        FieldDisplayInfo("sunRotY", "LightRotationY", True, int,
コード例 #19
0
ファイル: behaviors.py プロジェクト: Grimrukh/soulstruct
 "fields": [
     FieldDisplayInfo("variationId", "VariationID", True, int, ""),  # TODO: connect to model/TAE somehow.
     FieldDisplayInfo(
         "behaviorJudgeId",
         "BehaviorJudgeID",
         True,
         int,
         "This is the ID specified by TAE events that trigger behaviors.",
     ),
     FieldDisplayInfo(
         "ezStateBehaviorType_old", "EzstateBehaviorType", False, int, "Unused remnant from Demon's Souls."
     ),
     FieldDisplayInfo(
         "refType", "ReferenceType", True, BEHAVIOR_REF_TYPE, "Is the reference ID below an Attack or Bullet ID?"
     ),
     FieldDisplayInfo("pad0[2]", "Pad1", False, pad_field(2), "Null padding."),
     DynamicBehaviorRef("refId", "refType"),
     FieldDisplayInfo("sfxVariationId", "VFXVariationID", True, int, "Visual effect ID."),
     FieldDisplayInfo("stamina", "StaminaCost", True, int, "Stamina cost of behavior."),
     FieldDisplayInfo("mp", "DurabilityCost", True, int, "Weapon/shield durability cost of behavior."),
     FieldDisplayInfo(
         "category",
         "Category",
         True,
         BEHAVIOR_CATEGORY,
         "Determines compatibility with special effects that affect certain types of attacks. Set to 'Basic' "
         "for thrown goods and 'No Category' otherwise.",
     ),
     FieldDisplayInfo("heroPoint", "HumanityCost", False, int, "Humanity cost of behavior. Never used."),
     FieldDisplayInfo("pad1[2]", "Pad2", False, pad_field(2), "Null padding."),
 ],
コード例 #20
0
ファイル: misc.py プロジェクト: garyttierney/soulstruct
        FieldDisplayInfo(
            "chrLockRangeMaxRadius",
            "MaxDistanceFromCharacter",
            True,
            float,
            "Maximum distance ('radius') of camera from character in meters. Default value is 15; only other "
            "value used is 7.",
        ),
        FieldDisplayInfo(
            "camFovY",
            "VerticalFieldOfView",
            True,
            float,
            "Vertical field of view of camera in degrees. Default value is 43. Never goes above 48 (Lost Izalith).",
        ),
        FieldDisplayInfo("pad[8]", "Pad1", False, pad_field(8),
                         "Null padding."),
    ],
}

TALK_PARAM_ST = {
    "paramdef_name":
    "TALK_PARAM_ST",
    "file_name":
    "TalkParam",
    "nickname":
    "Dialogue",
    "fields": [
        FieldDisplayInfo("msgId", "SubtitleText", True, Subtitle,
                         "Text ID for dialogue subtitle."),
        FieldDisplayInfo("voiceId", "VoiceSound", True, VoiceSound,
コード例 #21
0
            "If True, this weapon can hit ghosts without a Transient Curse active.",
        ),
        FieldDisplayInfo("baseChangeCategory:6", "BaseChangeCategory", False,
                         int, "Never used. Likely Demon's Souls junk."),
        FieldDisplayInfo("isDragonSlayer:1", "IsDragonSlayer", True, bool, ""),
        FieldDisplayInfo(
            "isDeposit:1",
            "CanBeStored",
            True,
            bool,
            "If True, this weapon can be stored in the Bottomless Box. Always True for rings.",
        ),
        FieldDisplayInfo(
            "disableMultiDropShare:1",
            "DisableMultiplayerShare",
            False,
            bool,
            "If True, this weapon cannot be given to other players by dropping it. Always False in vanilla.",
        ),
        FieldDisplayInfo("pad_0[1]", "Pad2", False, pad_field(1),
                         "Null padding."),
        FieldDisplayInfo(
            "oldSortId", "OldSortIndex", False, int,
            "Sorting index for an obsolete build of the game. No effect."),
        FieldDisplayInfo("levelSyncCorrectID", "LevelSyncCorrectID", False,
                         int, "Level sync ID for DSR."),
        FieldDisplayInfo("pad_1[6]", "Pad3", False, pad_field(6),
                         "Null padding."),
    ],
}