Все находки Citadel
Источники
https://github.com/SteamDatabase/GameTracking-Dota2/commit/b90bdaac95b25f818b07362e06588525002ca20b
https://github.com/SteamDatabase/GameTracking-Dota2/commit/a1b5ccaf2d39bb9c51f789833faa38db2d3eeab2
Игровой мир
Сменяемость времени суток
m_fTimeOfDay
Вода
Раньше её не было на Source 2, есть возможность менять направление течения, плотность, глубину, "выталкиваемость" объектов, размен всплесков и прочее
water waterStart
waterDepth flWaterDepth
D_CHEAP_WATER D_WATER_FADE D_WRITE_WATER_FOG_TO_DEST_ALPHA
m_flFluidDensity
Multiply water drag for buoyancy phys_buoyancy_drag_multiplier trigger_buoyancy CTriggerBuoyancy
Water Splash Size m_nSplashSize
NormalWaterLayer WaterBlendLayer
renderWater bRenderWaterReflections
previewWaterFlow water_flow_map_texture
Кастомизируемый тип травы
GrassObject WorldRenderer/GrassDilateColors WorldRenderer/GrassNoHalfTexel WorldRenderer/GrassQuadSize
Ветер
Можно менять силу, направление, виды и зависимость от времени суток
FeNodeWindBase_t m_DynNodeWindBases m_flWindDrag
WindDir WindStrengthFreq
CEnvWindShared
C_EnvWindShared C_EnvWindShared::WindAveEvent_t C_EnvWindShared::WindVariationEvent_t
max_wind min_wind
wind_amount_day wind_amount_night wind_angle
Осадки и видимо погода
PrecipitationType_t
CPrecipitationVData scripts/precipitation.vdata
OPRECIPITATIONBLOCKER
Precipitation
m_szParticlePrecipitationEffect
Миникарта и отметки
EMiniMapMarkerType_t
Способности и предметы
Подробнее об этом будет ниже в разделе NPC
EAbilitySlots_t
CPlayerSlot
m_hAbility
Рейтрейсинг / RTX
-rtx (параметр запуска)
MainRtx
RTX Raytracing Shader shaders/vfx/vrad3_rtx.ini
Сражение
Виды урона
От пуль, взрывов, огня и прочего
DamageTypes_t
dmg.bullets dmg.club dmg.explosive dmg.fire
Пробитие и критический урон
m_nPenetrate m_nOutmaneuverCrit
Множитель урона в зависимости от места попадания: руки, грудь, голова, ноги, живот и прочее
DamageOptions
GetPrimaryStatDamageMultiplier
m_flArmDamageMultiplier m_flChestDamageMultiplier m_flHeadDamageMultiplier m_flLegDamageMultiplier m_flPhysicsForceDamage m_flStomachDamageMultiplier
Урон, когда два NPC атакуют друг друга
Damage Dealt (in the case of NPC vs NPC damage, medium skill is used)
Вторичная атака (скорее всего игроком на правую кнопку мыши)
AE_WPN_SECONDARYATTACK
Доп. броня / урон
extra_armor extra_damage
Физический урон (когда на кого-то упадёт ящик, к примеру)
Physics Force Damage If specified, the damage used to compute physics forces. Otherwise normal damage is used.
Виды взрывов
Может меняться радиус, тип, урон, задержка и прочее
BaseExplosionTypes_t
explosion_behavior explosion_buildup explosion_delay explosion_type explosive_damage explosive_radius
EXPLOSION_TYPE_COUNT EXPLOSION_TYPE_CUSTOM EXPLOSION_TYPE_NONE EXPLOSION_TYPE_DEFAULT EXPLOSION_TYPE_GRENADE EXPLOSION_TYPE_SHRAPNEL
Electrical EXPLOSION_TYPE_ELECTRICAL EXPLOSION_TYPE_EMP
Explosive Barrel EXPLOSION_TYPE_EXPLOSIVEBARREL
Fireworks EXPLOSION_TYPE_FIREWORKS
Flashbang EXPLOSION_TYPE_FLASHBANG
Gascan EXPLOSION_TYPE_GASCAN
Gas Cylinder EXPLOSION_TYPE_GASCYLINDER
Ice EXPLOSION_TYPE_ICE
Molotov EXPLOSION_TYPE_MOLOTOV
Smoke Grenade EXPLOSION_TYPE_SMOKEGRENADE
Tripmine EXPLOSION_TYPE_TRIPMINE
Амуниция
Типы амуниции
CAmmoDefTypedI
AmmoIndex_t AmmoFlags_t AmmoTypeInfo_t
Primary Ammo Type m_nPrimaryAmmoType
Secondary Ammo Type m_nSecondaryAmmoType
Script_GetAmmoType Script_SetAmmoType
Размеры обойм
Clip Size
Primary Clip Size Primary Initial Clip (-1 means use clip size)
Secondary Clip Size Secondary Initial Clip (-1 means use clip size)
Параметры баллистики
Bullet Mass Bullet Speed
Сколько можно выстрелить до перезарядки
How many bullets this gun can fire before it reloads (0 if no clip) How many secondary bullets this gun can fire before it reloads (0 if no clip)
Название оружия, которое выдаётся конкретным NPC
Weapon Entity Name The name of the weapon entity to spawn for this NPC weapon.
Эффекты от выстрелов
Muzzle Flash Particle Effect to actually fire into the world from this weapon
Tracer Particle Effect when firing this weapon
Вьюмодел оружия
CBaseViewModel CBasePlayerWeaponVData
Автовыбор оружия
This value used to determine this weapon's importance in autoselection
Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)
Какие-то другие штуки
FIELD_AMMO_INDEX
AMMO_FLAG_MAX AMMO_FORCE_DROP_IF_CARRIED
Звуки
Стрельба и пустая обойма
m_aShootSounds m_bPlayedEmptyClipSound
Типы звуков
SOUND_BULLET_IMPACT SOUND_COMBAT SOUND_CONTEXT_ALLIES_ONLY SOUND_CONTEXT_COMBINE_ONLY SOUND_CONTEXT_DANGER_APPROACH SOUND_CONTEXT_EXCLUDE_COMBINE SOUND_CONTEXT_EXPLOSION SOUND_CONTEXT_GUNFIRE SOUND_CONTEXT_PANIC_NPCS SOUND_CONTEXT_REACT_TO_SOURCE SOUND_DANGER SOUND_GLASS_BREAK SOUND_MOVE_AWAY SOUND_NONE SOUND_PHYSICS_DANGER SOUND_PHYSICS_OBJECT SOUND_PLAYER SOUND_PLAYER_VEHICLE SOUND_THUMPER SOUND_WORLD
Неигровые персонажи / NPC
У ботов / NPC в игре зачем-то предусмотрена система настроений
Type of mood
Layers for this mood
Mood Type MoodAnimationLayer_t MoodAnimation_t MoodType_t
eMoodType_Body eMoodType_Head
m_nMoodType
@PointClass base(ChoreoEvent) = mood : "Mood Event" MoodName( string ) : "Mood" MoodParam( string ) : "Animgraph Parameter"
Mood event on actor w/ no AnimGraph..
CMoodVData
27CSchemaUtlVectorManipulatorI10CUtlVectorI15MoodAnimation_t10CUtlMemoryIS1_iEES1_E 27CSchemaUtlVectorManipulatorI10CUtlVectorI20MoodAnimationLayer_t10CUtlMemoryIS1_iEES1_E
Эта система настроений тесно связана с анимациями и поведением, боты могут вас слушать и что-то отвечать
Слушает
Active When Listening m_bActiveListening Sets the mood's animation buckets to be active when the character is listening
Говорит
Active When Talking m_bActiveTalking Sets the mood's animation buckets to be active when the character is talking
Time from the end of the mood when an animation cannot play Time from the start of the mood before an animation can start Time before the next animation can start
List of animations to choose from Multiplier of the animation duration Name of the animation Name of the layer Weight of the animation, higher numbers get picked more
Model to get the animation list from m_sModelName
Intensity of the animation m_flIntensity
Next Animation Start m_flNextStart
m_layerAnimations m_animationLayers
Fade In Time m_flFadeIn Fade in time of the animation
Fade Out Time m_flFadeOut Fade out time of the animation
Duration Scale m_flDurationScale
Duration scale as ints m_bScaleWithInts
When scaling an animation, grab the scale value as in int. Used for gestures/postures to control number of looping sections
У ботов, которых вы можете брать под контроль есть слоты для способностей и предметов, которые вы можете включать / выключать или полностью убирать
subclass_name( vdata_choice:scripts/npc_units.vdata ) : "Unit Name" : "" : "Name of the NPC Unit."
input GiveAbility(string) : "Gives the NPC an ability of the specified name (see npc_abilities.vdata)."
input EnableAbility( string ) : "Enables an ability on the NPC" input DisableAbility( string ) : "Disables an ability on the NPC" input RemoveAbility( string ) : "Removes an ability to the NPC"
item_1( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Item Or Ability Subclass 1" : "" : "Subclass of item or ability to attach in slot 1." item_2( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Item Or Ability Subclass 2" : "" : "Subclass of item or ability to attach in slot 2." item_3( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Item Or Ability Subclass 3" : "" : "Subclass of item or ability to attach in slot 3." item_4( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Item Or Ability Subclass 4" : "" : "Subclass of item or ability to attach in slot 4." primary_linked_ability_1( vdata_choice:scripts/npc_abilities.vdata ) : "Primary Linked Ability 1" : "" : "(Optional) Subclass of primary ability to link to 1st ability to add." primary_linked_ability_2( vdata_choice:scripts/npc_abilities.vdata ) : "Primary Linked Ability 2" : "" : "(Optional) Subclass of primary ability to link to 2nd ability to add." primary_linked_ability_3( vdata_choice:scripts/npc_abilities.vdata ) : "Primary Linked Ability 3" : "" : "(Optional) Subclass of primary ability to link to 3rd ability to add." primary_linked_ability_4( vdata_choice:scripts/npc_abilities.vdata ) : "Primary Linked Ability 4" : "" : "(Optional) Subclass of primary ability to link to 4th ability to add." ability_remove_1( vdata_choice:scripts/npc_abilities.vdata ) : "Ability Subclass To Remove 1" : "" : "Subclass of 1st ability to remove." ability_remove_2( vdata_choice:scripts/npc_abilities.vdata ) : "Ability Subclass To Remove 2" : "" : "Subclass of 2nd ability to remove." ability_remove_3( vdata_choice:scripts/npc_abilities.vdata ) : "Ability Subclass To Remove 3" : "" : "Subclass of 3rd ability to remove." ability_remove_4( vdata_choice:scripts/npc_abilities.vdata ) : "Ability Subclass To Remove 4" : "" : "Subclass of 4th ability to remove."
m_iszEntity( vdata_choice:scripts/npc_units.vdata ) : "Target NPC" m_iszAbilityName( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Ability Subclass to Perform" : "" : "Subclass of the ability that target NPC(s) should perform against the Ability Target."
Штуки связанные с передвижением / преодолением препятствий
EMantlePhase EMantleType
ELeapState_t ELeapPhase
EHurdleType
Огромный скрипт, отвечающий за то, как неигровые персонажи могут вести себя в различных ситуациях. Кого они могут атаковать, какие способности использовать, как передвигаться во время боя и многое другое
//------------------------------------------------------------------------- // // NPC Scripting Entities // //------------------------------------------------------------------------- @BaseClass base(Targetname, Parentname) color(255 0 255) sphere(m_flRadius) = BaseScripted [ m_iszEntity(target_destination) : "Target NPC" : : "The name or class name (such as 'npc_zombie') of an NPC to use for this script." m_iszIdle(sequence) : "Pre Action Idle Animation" : "" : "The name of the sequence (such as 'idle01') or activity (such as 'ACT_IDLE') to play before the action animation if the NPC must wait for the script to be triggered. Use 'Start on Spawn' flag or MoveToPosition input to play this idle animation." m_iszEntry(sequence) : "Entry Animation" : "" : "The name of the sequence (such as 'reload02') or activity (such as 'ACT_RELOAD') to play when the sequence starts, before transitioning to play the main action sequence." m_iszPlay(sequence) : "Action Animation" : "" : "The name of the main sequence (such as 'reload02') or activity (such as 'ACT_RELOAD') to play." m_iszPostIdle(sequence) : "Post Action Idle Animation" : "" : "The name of the sequence (such as 'idle01') or activity (such as 'ACT_IDLE') to play after the action animation." m_iszCustomMove(sequence) : "Custom Move Animation" : "" : "Used in conjunction with the 'Custom movement' setting for the 'Move to Position' property, specifies the sequence (such as 'crouch_run01') or activity (such as 'ACT_RUN') to use while moving to the scripted position." sync_group(string) : "Synchronization Group" : : "If set, identifier used to match other scripted sequences to synchronze with (alternative to name-based sync)" m_bLoopActionSequence(boolean) : "Loop Action Animation?" : 0 m_bSynchPostIdles(boolean) : "Synch Post Idles?" : 0 m_bAllowCustomInterruptConditions(boolean) : "Allow custom interrupt conditions to be set." : 0 conflict_response(choices) : "Script Conflict Response" : 0 : "What to do if this scripted sequence begins and the actor is already executing a scripted sequence." = [ 0 : "Enqueue" 1 : "Interrupt" ] m_nGroundIKPreference(choices) : "Ground IK Preference" : 0 : "If this NPC has ground IK; whether we disable it for the playthrough of the sequence or not." = [ 0 : "No change" 1 : "Disable for this sequence" ] m_flRadius(integer) : "Search Radius (0=everywhere)" : 0 : "Radius to search within for an NPC to use. 0 searches everywhere." m_flRepeat(integer) : "Repeat Rate ms" : 0 m_fMoveTo(Choices) : "Move to Position" : 1 = [ 0 : "No" 1 : "Walk" 2 : "Run" 3 : "Custom movement" 4 : "Instantaneous" 5 : "No - Turn to Face" ] m_iszNextScript(target_destination) : "Next Script" : : "The name of the script to run immediately after this script completes. The NPC will not return to AI between the two scripts." m_bIgnoreGravity(boolean) : "Ignore Gravity on NPC during script" : 0 : "If this is set to 'Yes', the NPC will not be subject to gravity while playing this script." m_bDisableNPCCollisions(boolean) : "Disable NPC collisions during script" : 0 : "Useful for when NPCs playing scripts must interpenetrate while riding on trains, elevators, etc. This only disables collisions between the NPCs in the script and must be enabled on BOTH scripted_sequences." m_bKeepAnimgraphLockedPost(boolean) : "Keep Animgraph Locked after script" : 0 : "If set, the animgraph will remain locked in the Direct Playback node after this sequence finishes. This is only useful if you have a 'Next Script' set, and you don't want the animgraph to return to Idle during the transition. Note that the 'Next Script' cannot require the NPC to animate/move to it, because the NPC will be unable to move while in the Direct Playback node. In that case, or if you have no 'Next Script' set, selecting this will simply cause the NPC to freeze after it finishes the sequence." // Inputs input BeginSequence(void) : "Summons an NPC to act out the scripted sequence." input MoveToPosition(void) : "Summons an NPC to the script location. They will play their scripted idle (or ACT_IDLE if none is specified) until BeginSequence is triggered." input CancelSequence(void) : "Stops the scripted sequence. If fired after a sequence starts, this input will not take effect until the NPC finishes playing the scripted action animation." input SetActionSequence(string) : "Sets the name of the action sequence that will play when the action sequence plays. Can be used for branching sequences." // Outputs output OnBeginSequence(void) : "Fires when the scripted sequence begins playing." output OnActionStartOrLoop(void) : "Fires when the action animation begins playing and each time it loops." output OnEndSequence(void) : "Fires when the action animation completes." output OnCancelSequence(void) : "Fires when the sequence is cancelled." output OnCancelFailedSequence(void) : "Fires when the sequence is cancelled without ever playing (OnCancelSequence will also fire)." output OnScriptEvent01(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent02(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent03(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent04(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent05(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent06(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent07(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." output OnScriptEvent08(void) : "Fires when an AE_SCRIPT_EVENT_FIREEVENT anim event occurs while playing the script." ] @PointClass base(Targetname, Parentname) tags( AI ) iconsprite("editor/info_target.vmat") tags( Choreo ) = scripted_target : "Scripted Target" [ StartDisabled(boolean) : "Start Disabled" : 1 m_iszEntity(npcclass) : "Target NPC" m_flRadius(integer) : "Search Radius (0=everywhere)" : 0 : "Radius to search within for an NPC to use. 0 searches everywhere." MoveSpeed(integer) : "Move Speed" : 5 // How quickly should target move between scripted targets PauseDuration(integer) : "Pause Duration" : 0 // How long should target pause at scripted target EffectDuration(integer) : "Effect Duration" : 2 // How long should any associated effect last target(target_destination) : "Next Target" // Next scripted target // Inputs input Enable(void) : "Enable this entity" input Disable(void) : "Disable this entity" // Outputs output AtTarget(void) : "Fires when NPC reaches this target" output LeaveTarget(void) : "Fires when NPC leaves this target" ] @PointClass base(BaseScripted, DXLevelChoice) editormodel("models/editor/scripted_sequence.vmdl") tags( Choreo ) sphere(m_flRadius) sequenceList( entity, "m_iszEntity" ) = scripted_sequence : "Grabs an NPC and makes them play a specified set of animations. The NPC can be told to move to the scripted sequence position or can "+ "be told to play the script wherever they currently are. "+ "Multiple scripted sequences of the same name (or sync group, if specified) will frame-synchronize in the action animation once all the actors have moved to position. "+ "This allows tight interaction between actors (one actor grabbing another, hitting them, etc.) The flow is as follows:<br><br>"+ "1) Move to position using the specified movement animation. If 'Move to Position' is set to NONE, skip to step 2.<br>"+ "2) If forced to wait for another actor to move to position, play the pre-action idle animation, otherwise skip to step 3. If there is no pre-action idle specified, ACT_IDLE is used.<br>"+ "3) Fire the OnBeginSequence output.<br>"+ "4) Play the action animation. If no action animation is specified, skip to step 5.<br>"+ "5) Play the post-action idle animation. If none is specified, skip to step 6. If the 'Loop in Post Idle' spawnflag is set, keep playing the post-action idle until the script is cancelled. If no post-action idle animation is specified, ACT_IDLE is used.<br>"+ "6) Fire the OnEndSequence output.<br>"+ "7) If a next script to play is specified, hand the NPC to the next script and repeat this process for that script.<br><br>"+ "The MoveToPosition input runs steps 1 and 2, then waits while playing the pre-action idle animation until the BeginSequence input is received.<br><br>"+ "If the sequence has motion extraction in it, set the 'Don't Teleport NPC On End' spawnflag." [ spawnflags(Flags) = [ 4 : "Repeatable" : 0 8 : "Leave Corpse (if not, fade)" : 0 16 : "Start on Spawn" : 0 32: "No Interruptions" : 0 64: "Override AI" : 0 128: "Don't Teleport NPC On End" : 0 256: "Loop in Post Idle" : 0 512: "Priority Script" : 0 2048: "Hide Debug Complaints" : 0 4096: "Allow other NPC actors to continue after this NPC actor's death" : 0 ] onplayerdeath(choices) : "On player death" : 0 : "What this entity should do if the player dies." = [ 0 : "Do Nothing" 1 : "Cancel Script and return to AI" ] onnpcdeath(choices) : "On NPC actor death" : 0 : "What the NPC performing this script should do if it dies." = [ 0 : "LEGACY - Use old settings" 1 : "Ragdoll immediately" 2 : "Perform a death animation" ] prevent_update_yaw_on_finish(choices) : "Prevent Yaw Update on Finish" : 0 : "By default, when finishing the sequence, the NPC has its ideal yaw updated to maintain the current forward facing. This allows you to prevent that if you want to return to the facing prior to starting the sequence." = [ 0 : "No" 1 : "Yes" ] ensure_on_navmesh_on_finish(choices) : "Ensure on Nav Mesh on Finish" : 1 : "When finishing the sequence, if the NPC uses the navmesh, ensure the NPC is on a valid location on the navmesh." = [ 0 : "No" 1 : "Yes" ] ] @PointClass base(Targetname) tags( Choreo ) color(255 0 255) iconsprite("editor/ai_scripted_moveto") = ai_scripted_moveto : "Forces an NPC to move to a specified destination entity." [ m_iszNPC(target_destination) : "Target NPC(s)" : : "The name or classname of an NPC to use. If multiple NPCs are found, all of them will be told to move to the Target Destination." m_iszTarget(target_destination) : "Target Destination" : "" : "The entity that marks the destination of this move-to." resilient(choices) : "Reacquire after break" : 1 : "If set , once the NPC returns to idling, it'll resume the move-to until reaching the destination, even if it previously broke out of the schedule due to the Interruptability choices." = [ 0 : "No" 1 : "Yes" ] shouldsetenemy(choices) : "Set Enemy To Target" : 0 : "If the target destination is an NPC or player, setting this to 'Yes' will also give commanded NPCs memory of the target, and cause them to set their enemy to it. Note that if there's another NPC that's a better enemy, commanded NPCs will flip to the better enemy on their next think." = [ 0 : "No" 1 : "Yes" ] switchidletoalert(choices) : "Switch To Alert State if Idle" : 0 : "If the commanded NPC(s) is in Idle state, switch them to Alert state." = [ 0 : "No" 1 : "Yes" ] interruptability(choices) : "Interruptability" : 0 : "Sets what kind of events can interrupt an NPC that's performing this move to. Note that when set to 'Everything', NPCs can be easily interrupted by small things like physics impact sounds, or distant combat sounds." = [ 0 : "Everything that usually interrupts AI" 3 : "Direct Combat (Seeing enemies, taking damage, etc)" 1 : "Only Taking Damage" 2 : "Nothing" ] // Inputs input StartMoveTo(void) : "Starts all target NPC(s) moving to the target destination." input StopMoveTo(void) : "Stops all target NPCs that are performing this move to." // Outputs output OnFailedToPerform(string) : "Fired when we fail to command any target NPC(s) to move to the destination. This occurs if no target NPCs could be found, or if they were found but were in a state that couldn't be broken out of to perform the movement." ] @PointClass base(Targetname) tags( Choreo ) color(255 0 255) iconsprite("editor/aiscripted_schedule") = ai_scripted_abilityusage : "Forces an NPC to perform an ability at a specified target." [ m_iszNPC(target_destination) : "Target NPC(s)" : "" : "The name or classname of an NPC to use. If multiple NPCs are found, all of them will be told to perform the ability at the Ability Target." m_iszAbilityName( vdata_choice:scripts/misc.vdata&scripts/npc_abilities.vdata ) : "Ability to Perform" : "" : "Name of the ability that target NPC(s) should perform against the Ability Target." m_iszTarget(target_destination) : "Ability Target" : "" : "The entity that marks the target of the ability." m_nAbilityTargetBodyLoc(choices) : "Target Body Location" : 3 : "The body location on the Ability Target entity that the ability should target." = [ 0 : "Eyes" 1 : "Muzzle" 2 : "Abs Origin" 3 : "Randomized around Body Center" 4 : "Head" ] m_nAbilityTargetOrigin(choices) : "Target Origin" : 0 : "The method by which we determine the origin of the entity that the Ability will target. The Target Body Location is then used as a local offset on top of this origin. Predicated Abs Origin uses the current velocity of the target to anticipate where they'll be 0.5s in the future. Last Known/Seen position only really applies to enemies that the performing NPC has lost sight of." = [ 0 : "Current Abs Origin" 1 : "Predicted Abs Origin" 2 : "Last Known Position" 3 : "Last Seen Position" ] resilient(choices) : "Force Completion" : 1 : "If set, if the NPC was unable to perform the ability when first asked, it'll attempt to run a schedule to resolve whatever issue prevented it. Once that's completed, it'll try again to perform the ability." = [ 0 : "No" 1 : "Yes" ] shouldsetenemy(choices) : "Set Enemy To Target" : 0 : "If the target destination is an NPC or player, setting this to 'Yes' will also give commanded NPCs memory of the target, and cause them to set their enemy to it. Note that if there's another NPC that's a better enemy, commanded NPCs will flip to the better enemy on their next think." = [ 0 : "No" 1 : "Yes" ] switchidletoalert(choices) : "Switch To Alert State if Idle" : 0 : "If the Target NPC(s) is in Idle state, switch them to Alert state." = [ 0 : "No" 1 : "Yes" ] // Inputs input PerformAbility(void) : "Tells all target NPC(s) to perform the ability." input AbortAbilityPerformance(void) : "Tells all target NPC(s) to abort performing the ability, if they're in the process of doing it." // Outputs output OnFailedToPerform(string) : "Fired when we fail to command any target NPC(s) to perform the ability. This occurs if no target NPCs could be found, or if they were found but were in a state that couldn't be broken out of to perform the ability." ]
Система демок
// citadel DemoSimpleEncoders_t { m_Name = "EAbilitySlots_t"}, DemoSimpleEncoders_t { m_Name = "ECoatingType_t"}, DemoSimpleEncoders_t { m_Name = "ELeapState_t"}, DemoSimpleEncoders_t { m_Name = "EHurdleType"}, DemoSimpleEncoders_t { m_Name = "ELeapPhase"}, DemoSimpleEncoders_t { m_Name = "EMantlePhase"}, DemoSimpleEncoders_t { m_Name = "EMantleType"}, DemoSimpleEncoders_t { m_Name = "EGameState"}, DemoSimpleEncoders_t { m_Name = "ENextAttackDelayReason_t"}, DemoSimpleEncoders_t { m_Name = "ECameraFollowMode_t"}, DemoSimpleEncoders_t { m_Name = "EPlayerPlayState"}, DemoSimpleEncoders_t { m_Name = "ELookupType"}, DemoSimpleEncoders_t { m_Name = "Class_T"}, DemoSimpleEncoders_t { m_Name = "EMiniMapMarkerType_t"},
Прочие штуки
Add node is missing a child. Will use t-pose by default
Anim Clip Item
Clip Data Clip Data Manager
CStepsRemainingMetricEvaluator
Attempt to detect when the foot is on a stair and will stop it from tilting to reach the next step Attempt to detect when the foot is partially hanging off a ledge and stop it tilting to reach the bottom
CForceFacingCondition CForceFacingConditionUpdater
Force Facing Condition
Is Force Facing Enabled Is Force Facing Enabled %s %s
Move:m_bForceFacing
N10Reflection6Detail11CClassInfoTI21CForceFacingConditionEE
CCitadelModifierHandleTyped<
CRangeFloat
CResourceNameTyped
I cannot be refracted through refracting objects like water
CEmbeddedSubclass
CFootstepTableHandle
FindFirstAreaInDirection (for ladders) does not yet support nav hulls. Can be added when needed.