mirror of
https://bitbucket.org/seefoe/dsrc.git
synced 2026-07-31 01:15:55 -04:00
73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
/**********************************************************************
|
|
* Title: e3_housing
|
|
* Description: Player script that enables the creation of deeds and placement of houses.
|
|
**********************************************************************/
|
|
|
|
|
|
/***** INCLUDES ********************************************************/
|
|
include library.player_structure;
|
|
|
|
/***** TRIGGERS ********************************************************/
|
|
trigger OnSpeaking(string text)
|
|
{
|
|
// Deed creation
|
|
obj_id deed = obj_id.NULL_ID;
|
|
obj_id inv = getObjectInSlot(self, "inventory");
|
|
if (inv == null)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Player inventory is null.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if (text == "tatooine small")
|
|
deed = createObjectOverloaded("object/tangible/deed/player_house_deed/tatooine_house_small_deed.iff", inv);
|
|
|
|
else if (text == "naboo medium")
|
|
deed = createObjectOverloaded("object/tangible/deed/player_house_deed/naboo_house_medium_deed.iff", inv);
|
|
|
|
else if (text == "corellia large")
|
|
deed = createObjectOverloaded("object/tangible/deed/player_house_deed/corellia_house_large_deed.iff", inv);
|
|
|
|
else if (text == "tatooine guild")
|
|
deed = createObjectOverloaded("object/tangible/deed/guild_deed/tatooine_guild_style_02_deed.iff", inv);
|
|
|
|
if (isIdValid(deed))
|
|
{
|
|
setObjVar(deed, player_structure.VAR_DEED_BUILDTIME, 15);
|
|
removeObjVar(deed, player_structure.VAR_DEED_SCENE);
|
|
sendSystemMessageTestingOnly(self, deed + " created.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Structure destruction
|
|
if (text.startsWith("destroy"))
|
|
{
|
|
location loc = getLocation(self);
|
|
obj_id[] objects = getObjectsInRange(loc, 30.0f);
|
|
for (int i = 0; i < objects.length; i++)
|
|
{
|
|
if (player_structure.isBuilding(objects[i]) || player_structure.isInstallation(objects[i]))
|
|
{
|
|
if (player_structure.getStructureOwnerObjId(objects[i]) == self)
|
|
{
|
|
player_structure.destroyStructure(objects[i]);
|
|
sendSystemMessageTestingOnly(self, objects[i] + " destroyed.");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (text.startsWith("damagestructure"))
|
|
{
|
|
obj_id target = getLookAtTarget(self);
|
|
if (target != null)
|
|
{
|
|
player_structure.damageStructure(target, 100);
|
|
debugSpeakMsg(self, "Structure damaged.");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|