Difference between revisions of "Script: Shipclaim"

From Ultima Online: The Second Age
Jump to: navigation, search
(Created page with " <span style="color:#0000FF">inherits</span> shipstuff; <span style="color:#0000FF">trigger</span> objectloaded { <span style="color:#0000FF">if</span> (hasScript|...")
 
 
Line 56: Line 56:
 
     <span style="color:#0000FF">return</span> (0x01);
 
     <span style="color:#0000FF">return</span> (0x01);
 
   }
 
   }
   <span style="color:#0000FF">int</span> Q527 = [[teleport|<span style="color:#FF0000;font-weight:bold">teleport</span>]](Q5AO, place);
+
   <span style="color:#0000FF">int</span> Q527 = [[Engine Function:_teleport|<span style="color:#FF0000;font-weight:bold">teleport</span>]](Q5AO, place);
 
   [[Engine Function:_deleteObject|<span style="color:#FF0000;font-weight:bold">deleteObject</span>]](this);
 
   [[Engine Function:_deleteObject|<span style="color:#FF0000;font-weight:bold">deleteObject</span>]](this);
 
   <span style="color:#0000FF">return</span> (0x01);
 
   <span style="color:#0000FF">return</span> (0x01);

Latest revision as of 08:16, 19 October 2018

inherits shipstuff;
trigger objectloaded
{
  if (hasScript(this, "spellbook"))
  {
    detachScript(this, "spellbook");
  }
  return (0x01);
}
trigger targetloc
{
  if (!isInMap(place))
  {
    return (0x00);
  }
  if (hasObjVar(this, "claimloc"))
  {
    loc claimloc = getObjVar(this, "claimloc");
    if (getDistanceInTiles(place, claimloc) > 0x64)
    {
      barkTo(user, user, "You are too far away from the location at which the ship was docked.");
      return (0x01);
    }
  }
  int Q5SR = 0x00;
  if (getDistanceInTiles(place, getLocation(user)) > 0x06)
  {
    barkTo(user, user, "That location is too far away.");
    return (0x01);
  }
  if (!hasObjVar(this, "myshiptype"))
  {
    Q5SR = 0x00;
  }
  else
  {
    Q5SR = getObjVar(this, "myshiptype");
  }
  obj Q5AO = NULL();
  if (hasObjVar(this, "shipobj"))
  {
    Q5AO = getObjVar(this, "shipobj");
  }
  Q5NG = 0x00 - 0x05;
  int Q5NC = 0x00 - 0x01;
  if (Q5AO != NULL())
  {
    Q5NC = canMultiExistAt(Q5AO, place, Q43W);
  }
  if (Q5NC <= 0x00)
  {
    string Q58D = Q592(Q5NG, "ship", "water");
    barkTo(user, user, Q58D);
    return (0x01);
  }
  int Q527 = teleport(Q5AO, place);
  deleteObject(this);
  return (0x01);
}
trigger use
{
  int Q5SR;
  if (!hasObjVar(this, "myshiptype"))
  {
    Q5SR = 0x00;
  }
  else
  {
    Q5SR = getObjVar(this, "myshiptype");
  }
  int multi = Q5SS(Q5SR, 0x00);
  barkTo(user, user, "Where do you wish to place the ship?");
  targetlocmulti(user, this, multi, 0x00, 0x00, 0x00);
  return (0x00);
}
trigger creation
{
  int Q5AU = 0x00;
  if (!hasObjVar(this, "myshiptype"))
  {
    setObjVar(this, "myshiptype", Q5AU);
  }
  else
  {
    Q5AU = getObjVar(this, "myshiptype");
  }
  setObjVar(this, "mybasevalue", Q5S0(Q5AU));
  setObjVar(this, "fakeCont", 0x01);
  return (0x01);
}
trigger give
{
  return (0x00);
}
trigger decay
{
  return (0x00);
}
trigger shop
{
  obj Q5AO = NULL();
  if (hasObjVar(this, "shipobj"))
  {
    Q5AO = getObjVar(this, "shipobj");
  }
  if (isValid(Q5AO))
  {
    deleteObject(Q5AO);
  }
  return (0x01);
}