871{
873 {
875 m_InputActionName = "EmoteGreeting";
880 m_HideItemInHands = false;
881 }
882}
883
885{
887 {
888 m_ID = EmoteConstants.ID_EMOTE_SOS;
889 m_InputActionName = "EmoteSOS";
890 m_StanceMaskAdditive = 0;
892 m_AdditiveCallbackUID = 0;
894 m_HideItemInHands = true;
895 }
896
898 {
900 }
901}
902
904{
906 {
907 m_ID = EmoteConstants.ID_EMOTE_HEART;
908 m_InputActionName = "EmoteHeart";
913 m_HideItemInHands = true;
914 }
915
917 {
919 }
920}
921
923{
925 {
926 m_ID = EmoteConstants.ID_EMOTE_TAUNT;
927 m_InputActionName = "EmoteTaunt";
932 m_HideItemInHands = false;
933 }
934}
935
937{
940 {
941 m_ID = EmoteConstants.ID_EMOTE_LYINGDOWN;
942 m_InputActionName = "EmoteLyingDown";
943 m_StanceMaskAdditive = 0;
945 m_AdditiveCallbackUID = 0;
947 m_HideItemInHands = true;
948 }
949
951 {
954 return false;
956 }
957}
958
960{
962 {
963 m_ID = EmoteConstants.ID_EMOTE_TAUNTKISS;
964 m_InputActionName = "EmoteTauntKiss";
969 m_HideItemInHands = false;
970 }
971}
972
974{
976 {
977 m_ID = EmoteConstants.ID_EMOTE_POINT;
978 m_InputActionName = "EmotePoint";
983 m_HideItemInHands = false;
984 }
985}
986
988{
990 {
991 m_ID = EmoteConstants.ID_EMOTE_TAUNTELBOW;
992 m_InputActionName = "EmoteTauntElbow";
994 m_StanceMaskFullbody = 0;
996 m_FullbodyCallbackUID = 0;
997 m_HideItemInHands = true;
998 }
999
1001 {
1003 }
1004}
1005
1007{
1009 {
1010 m_ID = EmoteConstants.ID_EMOTE_THUMB;
1011 m_InputActionName = "EmoteThumb";
1016 m_HideItemInHands = false;
1017 }
1018}
1019
1021{
1023 {
1024 m_ID = EmoteConstants.ID_EMOTE_THUMBDOWN;
1025 m_InputActionName = "EmoteThumbDown";
1030 m_HideItemInHands = false;
1031 }
1032}
1033
1035{
1037 {
1038 m_ID = EmoteConstants.ID_EMOTE_THROAT;
1039 m_InputActionName = "EmoteThroat";
1044 m_HideItemInHands = false;
1045 }
1046}
1047
1049{
1051 {
1052 m_ID = EmoteConstants.ID_EMOTE_DANCE;
1053 m_InputActionName = "EmoteDance";
1054 m_StanceMaskAdditive = 0;
1056 m_AdditiveCallbackUID = 0;
1058 m_HideItemInHands = true;
1059 }
1060
1062 {
1064 return false;
1065
1067 }
1068}
1069
1071{
1073 {
1074 m_ID = EmoteConstants.ID_EMOTE_SALUTE;
1075 m_InputActionName = "EmoteSalute";
1076 m_StanceMaskAdditive = 0;
1078 m_AdditiveCallbackUID = 0;
1080 m_HideItemInHands = true;
1081 }
1082
1084 {
1086 }
1087}
1088
1090{
1092 {
1093 m_ID = EmoteConstants.ID_EMOTE_TIMEOUT;
1094 m_InputActionName = "EmoteTimeout";
1099 m_HideItemInHands = true;
1100 }
1101
1103 {
1105 }
1106}
1107
1109{
1111 {
1112 m_ID = EmoteConstants.ID_EMOTE_DABBING;
1113
1115 m_StanceMaskFullbody = 0;
1117 m_FullbodyCallbackUID = 0;
1118 m_HideItemInHands = true;
1119 }
1120}
1121
1123{
1125 {
1126 m_ID = EmoteConstants.ID_EMOTE_FACEPALM;
1127 m_InputActionName = "EmoteFacepalm";
1129 m_StanceMaskFullbody = 0;
1131 m_FullbodyCallbackUID = 0;
1132 m_HideItemInHands = false;
1133 }
1134}
1135
1137{
1139 {
1140 m_ID = EmoteConstants.ID_EMOTE_CLAP;
1141 m_InputActionName = "EmoteClap";
1143 m_StanceMaskFullbody = 0;
1145 m_FullbodyCallbackUID = 0;
1146 m_HideItemInHands = true;
1147 }
1148
1150 {
1152 }
1153}
1154
1156{
1158 {
1159 m_ID = EmoteConstants.ID_EMOTE_SILENT;
1160 m_InputActionName = "EmoteSilent";
1165 m_HideItemInHands = false;
1166 }
1167}
1168
1170{
1172 {
1173 m_ID = EmoteConstants.ID_EMOTE_WATCHING;
1174 m_InputActionName = "EmoteWatching";
1179 m_HideItemInHands = false;
1180 }
1181}
1182
1184{
1186 {
1187 m_ID = EmoteConstants.ID_EMOTE_HOLD;
1188 m_InputActionName = "EmoteHold";
1193 m_HideItemInHands = false;
1194 }
1195}
1196
1198{
1200 {
1201 m_ID = EmoteConstants.ID_EMOTE_LISTENING;
1202 m_InputActionName = "EmoteListening";
1207 m_HideItemInHands = false;
1208 }
1209}
1210
1212{
1214 {
1215 m_ID = EmoteConstants.ID_EMOTE_POINTSELF;
1216 m_InputActionName = "EmotePointSelf";
1221 m_HideItemInHands = false;
1222 }
1223}
1224
1226{
1228 {
1229 m_ID = EmoteConstants.ID_EMOTE_LOOKATME;
1230 m_InputActionName = "EmoteLookAtMe";
1235 m_HideItemInHands = false;
1236 }
1237}
1238
1240{
1242 {
1243 m_ID = EmoteConstants.ID_EMOTE_TAUNTTHINK;
1244 m_InputActionName = "EmoteTauntThink";
1249 m_HideItemInHands = false;
1250 }
1251}
1252
1254{
1256 {
1257 m_ID = EmoteConstants.ID_EMOTE_MOVE;
1258 m_InputActionName = "EmoteMove";
1263 m_HideItemInHands = false;
1264 }
1265}
1266
1268{
1270 {
1271 m_ID = EmoteConstants.ID_EMOTE_DOWN;
1272 m_InputActionName = "EmoteGetDown";
1277 m_HideItemInHands = false;
1278 }
1279}
1280
1282{
1284 {
1285 m_ID = EmoteConstants.ID_EMOTE_COME;
1286 m_InputActionName = "EmoteCome";
1291 m_HideItemInHands = false;
1292 }
1293}
1294
1295
1297{
1299 {
1300 m_ID = EmoteConstants.ID_EMOTE_SURRENDER;
1301 m_InputActionName = "EmoteSurrender";
1302 m_HideItemInHands = false;
1303 }
1304
1306 {
1307 Transport transportEnt;
1308 return !
m_Player.PhysicsGetLinkedEntity() && !Class.CastTo(transportEnt,
m_Player.PhysicsGetFloorEntity());
1309 }
1310
1311 override bool DetermineOverride(out
int callback_ID, out
int stancemask, out
bool is_fullbody)
1312 {
1314 return true;
1315 }
1316
1317 override bool EmoteStartOverride(
typename callbacktype,
int id,
int mask,
bool fullbody)
1318 {
1319 bool surrendered =
m_Player.GetEmoteManager().m_IsSurrendered;
1320 if (!surrendered)
1321 {
1322 m_Player.GetEmoteManager().PlaySurrenderInOut(
true);
1323 }
1324 else
1325 {
1327 m_Player.GetItemInHands().DeleteSafe();
1328 }
1329
1330 return true;
1331 }
1332}
1333
1335{
1337 {
1338 m_ID = EmoteConstants.ID_EMOTE_CAMPFIRE;
1339 m_InputActionName = "EmoteCampfireSit";
1340 m_StanceMaskAdditive = 0;
1342 m_AdditiveCallbackUID = 0;
1344 m_HideItemInHands = true;
1345 }
1346
1348 {
1350 }
1351}
1352
1354{
1356 {
1357 m_ID = EmoteConstants.ID_EMOTE_SITA;
1358 m_InputActionName = "EmoteSitA";
1359 m_StanceMaskAdditive = 0;
1361 m_AdditiveCallbackUID = 0;
1363 m_HideItemInHands = false;
1364 }
1365}
1366
1368{
1370 {
1371 m_ID = EmoteConstants.ID_EMOTE_SITB;
1372 m_InputActionName = "EmoteSitB";
1373 m_StanceMaskAdditive = 0;
1375 m_AdditiveCallbackUID = 0;
1377 m_HideItemInHands = false;
1378 }
1379
1381 {
1383 }
1384}
1385
1387{
1389 {
1390 m_ID = EmoteConstants.ID_EMOTE_RPS;
1391 m_InputActionName = "EmoteRPSRandom";
1393 m_StanceMaskFullbody = 0;
1395 m_FullbodyCallbackUID = 0;
1396 m_HideItemInHands = false;
1397 }
1398}
1399
1401{
1403 {
1404 m_ID = EmoteConstants.ID_EMOTE_RPS_R;
1405 m_InputActionName = "EmoteRPSRock";
1407 m_StanceMaskFullbody = 0;
1409 m_FullbodyCallbackUID = 0;
1410 m_HideItemInHands = false;
1411 }
1412}
1413
1415{
1417 {
1418 m_ID = EmoteConstants.ID_EMOTE_RPS_P;
1419 m_InputActionName = "EmoteRPSPaper";
1421 m_StanceMaskFullbody = 0;
1423 m_FullbodyCallbackUID = 0;
1424 m_HideItemInHands = false;
1425 }
1426}
1427
1429{
1431 {
1432 m_ID = EmoteConstants.ID_EMOTE_RPS_S;
1433 m_InputActionName = "EmoteRPSScisors";
1435 m_StanceMaskFullbody = 0;
1437 m_FullbodyCallbackUID = 0;
1438 m_HideItemInHands = false;
1439 }
1440}
1441
1443{
1445 {
1446 m_ID = EmoteConstants.ID_EMOTE_NOD;
1447 m_InputActionName = "EmoteNod";
1452 m_HideItemInHands = false;
1453 }
1454}
1455
1457{
1459 {
1460 m_ID = EmoteConstants.ID_EMOTE_SHAKE;
1461 m_InputActionName = "EmoteShake";
1466 m_HideItemInHands = false;
1467 }
1468}
1469
1471{
1473 {
1474 m_ID = EmoteConstants.ID_EMOTE_SHRUG;
1475 m_InputActionName = "EmoteShrug";
1480 m_HideItemInHands = false;
1481 }
1482}
1483
1485{
1487 {
1488 m_ID = EmoteConstants.ID_EMOTE_SUICIDE;
1489 m_InputActionName = "EmoteSuicide";
1490 m_StanceMaskAdditive = 0;
1491 m_StanceMaskFullbody = 0;
1492 m_AdditiveCallbackUID = 0;
1493 m_FullbodyCallbackUID = 0;
1494 m_HideItemInHands = false;
1495 }
1496
1497 override bool DetermineOverride(out
int callback_ID, out
int stancemask, out
bool is_fullbody)
1498 {
1499 is_fullbody = true;
1500 callback_ID = -1;
1501 stancemask = 0;
1502 string suicideStr;
1504 weapon =
m_Player.GetItemInHands();
1505 if (weapon)
1506 {
1507 if (weapon.ConfigIsExisting("suicideAnim"))
1508 {
1509 suicideStr = weapon.ConfigGetString("suicideAnim");
1510 }
1511
1512 if (weapon.IsKindOf("Pistol_Base"))
1513 {
1516
1517 }
1518 else if (Weapon_Base.Cast(weapon))
1519 {
1522
1523 }
1524 else
1525 {
1526 switch (suicideStr)
1527 {
1528 case "onehanded":
1531 break;
1532
1533 case "fireaxe":
1536 break;
1537
1538 case "pitchfork":
1541 break;
1542
1543 case "sword":
1546 break;
1547
1548 case "spear":
1551 break;
1552
1553 case "woodaxe":
1556 break;
1557
1558 case "sickle":
1561 break;
1562
1563 case "hoe":
1566 break;
1567 }
1568 }
1569 }
1570 if (callback_ID > -1)
1571 {
1572 return true;
1573 }
1574 return false;
1575 }
1576
1578 {
1580
1581 if (!itemInHands.CanBeUsedForSuicide())
1582 {
1583 return false;
1584 }
1585
1586 return super.EmoteCondition(stancemask);
1587 }
1588
1590 {
1591 int state = callback.GetState();
1593 return false;
1594
1595 return super.CanBeCanceledNormally(callback);;
1596 }
1597
1599 {
1600 if (callback_ID > -1)
1601 {
1604 }
1605 }
1606
1608 {
1610 }
1611}
1612
1614{
1616 {
1617 m_ID = EmoteConstants.ID_EMOTE_VOMIT;
1618 m_InputActionName = "EmoteVomit";
1623 m_HideItemInHands = false;
1624 }
1625
1627 {
1629 }
1630
1631 override bool EmoteStartOverride(
typename callbacktype,
int id,
int mask,
bool fullbody)
1632 {
1634 {
1635 SymptomBase symptom =
m_Player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_VOMIT);
1636
1637 if ( symptom )
1638 {
1639 symptom.
SetDuration(Math.RandomIntInclusive(4,8));
1640 }
1641 }
1642
1643 m_Player.GetEmoteManager().SetEmoteLockState(
false);
1644
1645 return true;
1646 }
1647}
void DayZPlayerUtils()
cannot be instantiated
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
class EmoteWatching extends EmoteBase EmoteHold()
class EmoteLyingDown extends EmoteBase EmoteTauntKiss()
class EmoteClap extends EmoteBase EmoteSilent()
class EmoteShake extends EmoteBase EmoteShrug()
class EmoteListening extends EmoteBase EmotePointSelf()
class EmoteSitB extends EmoteBase EmoteRPSRandom()
class EmoteMove extends EmoteBase EmoteGetDown()
class EmoteRPSRock extends EmoteBase EmoteRPSPaper()
class EmoteHeart extends EmoteBase EmoteTaunt()
class EmoteSalute extends EmoteBase EmoteTimeout()
class EmoteRPSScisors extends EmoteBase EmoteNod()
class EmoteSuicide extends EmoteBase EmoteVomit()
class EmoteThroat extends EmoteBase EmoteDance()
class EmotePoint extends EmoteBase EmoteTauntElbow()
class EmoteGreeting extends EmoteBase EmoteSOS()
class EmoteLookAtMe extends EmoteBase EmoteTauntThink()
class EmoteThumb extends EmoteBase EmoteThumbDown()
class EmoteDabbing extends EmoteBase EmoteFacepalm()
class EmoteCampfireSit extends EmoteBase EmoteSitA()
class EmoteCome extends EmoteBase EmoteSurrender()
class GP5GasMask extends MaskBase ItemBase
void OverrideShootFromCamera(bool pState)
void SetSuicide(bool state)
bool CanBeCanceledNormally(notnull EmoteCB callback)
bool DetermineOverride(out int callback_ID, out int stancemask, out bool is_fullbody)
bool EmoteStartOverride(typename callbacktype, int id, int mask, bool fullbody)
bool EmoteCondition(int stancemask)
void OnBeforeStandardCallbackCreated(int callback_ID, int stancemask, bool is_fullbody)
void SetDuration(float duration)
DayZPlayerInstanceType
defined in C++
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
const int ID_EMOTE_GREETING
class HumanCommandLadder HumanCommandSwim()
class HumanAnimInterface HumanCommandActionCallback()