I forgot to change back experiments

and added a int check for PickupItems on some commoner spawns to pick up items dropped by a player
This commit is contained in:
EpicValor
2023-09-12 22:09:04 -05:00
parent 24b959be8b
commit 05ea8fc1ca
42 changed files with 2448 additions and 1244 deletions

View File

@@ -1587,19 +1587,22 @@ location sp_RandomLocation(object oNearest, int iRandArea)
void sp_PerformActions(object oNearest, object oCurrent) {
if (GetLocalInt(oNearest, "PickupItems"))
{
object oPickup = GetNearestObject(OBJECT_TYPE_ITEM, oNearest);
object oCurrent = GetNearestCreatureToLocation(CREATURE_TYPE_PLAYER_CHAR, FALSE, GetLocation(oPickup), 1, CREATURE_TYPE_IS_ALIVE, TRUE);
if (GetDistanceBetweenLocations(GetLocation(oPickup),
GetLocation(oCurrent)) < 30.0)
{
if (GetLocalInt(oCurrent, "PickupItems"))
{
object oPickup = GetNearestObject(OBJECT_TYPE_ITEM, oCurrent);
if (GetDistanceBetweenLocations(GetLocation(oCurrent),
GetLocation(oPickup)) < 8.0)
{
object oCurrent = GetNearestCreatureToLocation(CREATURE_TYPE_PLAYER_CHAR, FALSE, GetLocation(oPickup), 1, CREATURE_TYPE_IS_ALIVE, TRUE);
AssignCommand(oCurrent, ClearAllActions());
AssignCommand(oCurrent, ActionForceMoveToObject(oPickup, FALSE, 1.0f, 10.0f));
AssignCommand(oCurrent, ActionPickUpItem(oPickup));
AssignCommand(oCurrent, SpeakString("Ooo, a piece of candy!"));
AssignCommand(oCurrent, ClearAllActions());
AssignCommand(oCurrent, ActionForceMoveToObject(oPickup, FALSE, 5.0f, 10.0f));
AssignCommand(oCurrent, ActionForceMoveToObject(oPickup, FALSE, 1.0f, 10.0f));
AssignCommand(oCurrent, ActionPickUpItem(oPickup));
AssignCommand(oCurrent, ActionSpeakString("Ooh, a piece of candy!"));
}
}
}
// Debug
if (iDebug == 3) {
sp_Debug("sp_PerformActions");

View File

@@ -1,7 +1,7 @@
int P_MAX_ITEMS = 8; // Max number of things to respawn. This should be less
// expensive than an array, though less pretty.
int P_TIMER_MAX = 60; // number of rounds to wait before checking to refill.
int P_TIMER_MAX = 600; // number of rounds to wait before checking to refill.
void DoOnce();

View File

@@ -1,30 +1,41 @@
#include "x0_i0_anims"
void main()
{
object oPC = OBJECT_SELF;
object oClient = GetLastSpeaker();
ClearAllActions();
AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_VICTORY2));
DelayCommand(3.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_TALK_LAUGHING, 2.0, 2.0)));
DelayCommand(3.1, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(5.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(5.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(6.2, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(6.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_WORSHIP, 2.0, 2.0)));
DelayCommand(8.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_MID, 6.0, 3.0)));
DelayCommand(11.7, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(11.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_STEAL)));
DelayCommand(12.6, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(12.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(13.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(8.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 0.1, 0.9)));
DelayCommand(9.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_MID, 0.1, 0.9)));
DelayCommand(10.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 0.1, 0.9)));
DelayCommand(11.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 0.1, 0.9)));
DelayCommand(12.7, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(12.7, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_STEAL)));
DelayCommand(13.6, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(13.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(14.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_SPASM, 1.0, 3.0)));
DelayCommand(17.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, -1.0, 3.0)));
DelayCommand(20.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(20.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(21.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(21.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(22.1, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(22.2, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_BOW)));
DelayCommand(31.2, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_GREETING)));
DelayCommand(14.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(14.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(15.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_SPASM, 1.0, 3.0)));
DelayCommand(18.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, -1.0, 3.0)));
DelayCommand(21.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(21.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(22.1, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_DUCK)));
DelayCommand(22.6, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_DODGE_SIDE)));
DelayCommand(23.1, AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LAUGH)));
DelayCommand(23.2, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_BOW)));
DelayCommand(32.2, AssignCommand(oPC, ActionPlayAnimation( ANIMATION_FIREFORGET_GREETING)));
}

View File

@@ -37,8 +37,8 @@ const int EVENT_USER_DEFINED_POSTSPAWN = 1511;
#include "x2_inc_switches"
void main()
{
SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
//SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
//SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);
string sTag;
object oNPC;
// User defined OnSpawn event requested?