Horse Poopy oh yes

Got any custom JavaScript additions/tweaks you think other people would like to see? Post 'em here!
Post Reply
dragon slayer
UOX3 Guru
Posts: 776
Joined: Thu Dec 21, 2006 7:37 am
Has thanked: 4 times
Been thanked: 26 times

Horse Poopy oh yes

Post by dragon slayer »

Fixed doPoop thanks to xuri for pointing that out.

Oh yes thats right i did make horses crap all over your shards haha. I'm working on all kinds of other npcs efects as well.

Code: Select all

[horsedung]
{
name=horse dung
id=0x0F3B
decay=1
movable=2
color=0x08f
}
horsedung.js
var searchAmount = 5;
var searchInterval = 2500;
var searchRange = 8;
var searchTimer = 7500;
var startSearchEmote = "*lifts its tail*";
var endSearchEmote = "*grins*";

function inRange( pCharacter, objInRange )
{
   if( objInRange.isChar )
   {
      var iTime = GetCurrentClock();
      var initSearchTime = pCharacter.GetTag( "initSearchTime" );
      if(( initSearchTime != null && initSearchTime != 0 ) && ((( iTime - initSearchTime ) < searchTimer ) && !( initSearchTime > iTime )))
         return;
      else if((( iTime - initSearchTime ) > searchTimer ) || initSearchTime > iTime )
      {
         pCharacter.SetTag( "initSearchTime", iTime );
         if( startSearchEmote )
            pCharacter.EmoteMessage( startSearchEmote );
         pCharacter.StartTimer( searchInterval, 1, true );
      }
   }
}

function doPoop( mChar, npcHorse )
{
   var dice;
   dice = RollDice(1,20,0);

   if (dice < 6)
   {
     var itemMade = CreateDFNItem( npcHorse.socket, npcHorse, "horsedung", 1, "ITEM", false );  
     return;
   }
   if (dice < 11)
   {
     var itemMade = CreateDFNItem( npcHorse.socket, npcHorse, "horsedung", 1, "ITEM", false );  
     return;
   }
   if (dice < 16)
   {
     var itemMade = CreateDFNItem( npcHorse.socket, npcHorse, "horsedung", 1, "ITEM", false );  
     return;
   }
     var itemMade = CreateDFNItem( npcHorse.socket, npcHorse, "horsedung", 1, "ITEM", false );  
}

function onTimer( srcChar, timerID )
{
   if( timerID == 1 )
   { //Search for nearby people before pooping
      if( i < searchAmount )
      {
         AreaCharacterFunction( "searchForPeople", srcChar, searchRange );
         srcChar.StartTimer( searchInterval, 1, true );
         i++;
      }
      else
      {
         i = 0;
         if( endSearchEmote )
            srcChar.EmoteMessage( endSearchEmote );
      }
   }
}

function searchForPeople( srcChar, trgChar, pSock )
{
   if( trgChar.serial != srcChar.serial )
   {
         doPoop( trgChar, srcChar );
   }
}
Post Reply