Files
dsrc/sku.0/sys.server/compiled/game/script/terminal/terminal_city_mission.java
T

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;
}
}