mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-08-01 01:15:59 -04:00
104 lines
3.8 KiB
Java
104 lines
3.8 KiB
Java
package script.terminal;
|
|
|
|
import script.*;
|
|
import script.base_class.*;
|
|
import script.combat_engine.*;
|
|
import java.util.Arrays;
|
|
import java.util.Hashtable;
|
|
import java.util.Vector;
|
|
import script.base_script;
|
|
|
|
import script.library.city;
|
|
import script.library.player_structure;
|
|
|
|
public class terminal_city_mission extends script.base_script
|
|
{
|
|
public terminal_city_mission()
|
|
{
|
|
}
|
|
public static final string_id SID_MT_REMOVE = new string_id("city/city", "mt_remove");
|
|
public static final string_id SID_MT_REMOVED = new string_id("city/city", "mt_removed");
|
|
public int OnInitialize(obj_id self) throws InterruptedException
|
|
{
|
|
city.validateSpecialStructure(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnDestroy(obj_id self) throws InterruptedException
|
|
{
|
|
city.removeMissionTerminal(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int requestDestroy(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
destroyObject(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnObjectMenuRequest(obj_id self, obj_id player, menu_info mi) throws InterruptedException
|
|
{
|
|
int city_id = city.checkMayorCity(player, false);
|
|
if (city_id == 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
mi.addRootMenu(menu_info_types.SERVER_MENU1, SID_MT_REMOVE);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnObjectMenuSelect(obj_id self, obj_id player, int item) throws InterruptedException
|
|
{
|
|
int city_id = city.checkMayorCity(player, false);
|
|
if (city_id == 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (item == menu_info_types.SERVER_MENU1)
|
|
{
|
|
sendSystemMessage(player, SID_MT_REMOVED);
|
|
destroyObject(self);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int handleUnloadedCityStructureReportData(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
obj_id player = params.getObjId("player");
|
|
obj_id city_terminal = params.getObjId("city_terminal");
|
|
int city_id = params.getInt("city_id");
|
|
if (!isIdValid(player) || !isIdValid(city_terminal))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!city.isNormalStructure(city_id, self))
|
|
{
|
|
location structureLocation = getLocation(self);
|
|
String structureName = localize(getNameStringId(self));
|
|
dictionary dict = new dictionary();
|
|
dict.put("player", player);
|
|
dict.put("city_id", city_id);
|
|
dict.put("city_terminal", city_terminal);
|
|
dict.put("unloadedStructureId", self);
|
|
dict.put("unloadedStructureName", structureName);
|
|
dict.put("unloadedStructureLocation", structureLocation);
|
|
messageTo(city_terminal, "RecievedUnloadedStructureResponse", dict, 0.0f, false);
|
|
}
|
|
else if (player_structure.isCivic(self))
|
|
{
|
|
location structureLocation = getLocation(self);
|
|
float cond = ((float)player_structure.getStructureCondition(self)) / ((float)player_structure.getMaxCondition(self));
|
|
int outcond = (int)(cond * 100);
|
|
String structureName = getEncodedName(self) + " (Condition : " + outcond + "%)";
|
|
dictionary dict = new dictionary();
|
|
dict.put("player", player);
|
|
dict.put("city_id", city_id);
|
|
dict.put("city_terminal", city_terminal);
|
|
dict.put("unloadedStructureId", self);
|
|
dict.put("unloadedStructureName", structureName);
|
|
dict.put("unloadedStructureLocation", structureLocation);
|
|
messageTo(city_terminal, "RecievedUnloadedStructureResponse", dict, 0.0f, false);
|
|
}
|
|
else
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
}
|