DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnFinishProgressServer()

override void ActionUnrestrainTarget::OnFinishProgressServer ( ActionData action_data)
inlineprivate

См. определение в файле ActionUnrestrainTarget.c строка 107

108 {
109 PlayerBase player_target = PlayerBase.Cast(action_data.m_Target.GetObject());
110 PlayerBase player_source = PlayerBase.Cast(action_data.m_Player);
111
112 if (CanReceiveAction(action_data.m_Target) && player_target.IsRestrained())
113 {
114 EntityAI unrestraining_tool = action_data.m_MainItem;
115 EntityAI restraining_item = player_target.GetItemInHands();
116
117 player_target.SetRestrained(false);
118
119
120 //Damage applied to tool
121 CachedObjectsArrays.ARRAY_STRING.Clear();
122
123 restraining_item.ConfigGetTextArray( "CanBeUnrestrainedBy", CachedObjectsArrays.ARRAY_STRING );
124 restraining_item.ConfigGetFloatArray( "CanBeUnrestrainedByDMG", CachedObjectsArrays.ARRAY_FLOAT );
125
126 string item_in_hands_name = unrestraining_tool.GetType();
127 float damageToTool = 0;
128
129 for(int i = 0; i < CachedObjectsArrays.ARRAY_STRING.Count(); i++)
130 {
131 string class_name = CachedObjectsArrays.ARRAY_STRING.Get(i);
132 if( GetGame().IsKindOf(item_in_hands_name, class_name) )
133 {
134 damageToTool = CachedObjectsArrays.ARRAY_FLOAT.Get(i/2);
135 break;
136 }
137 }
138
139 MiscGameplayFunctions.DealAbsoluteDmg(action_data.m_MainItem, damageToTool);
140 //---------------------------
141
142 MiscGameplayFunctions.TransformRestrainItem(restraining_item, unrestraining_tool, player_source, player_target);
143 }
144 }
class LogManager EntityAI
class OptionSelectorMultistate extends OptionSelector class_name
bool CanReceiveAction(ActionTarget target)
Определения ActionBase.c:793
proto native CGame GetGame()

Перекрестные ссылки ActionData, CachedObjectsArrays::ARRAY_FLOAT, CachedObjectsArrays::ARRAY_STRING, ActionBase::CanReceiveAction(), class_name и GetGame().