From 9fff30c9f211c8f981efcceeccd6596344831a1d Mon Sep 17 00:00:00 2001 From: Light2 Date: Sat, 14 Jun 2014 20:15:42 +0200 Subject: [PATCH] Added revoke citizenship --- .../terminal/city_maintenance_terminal.py | 30 +++++++++++++++++-- src/services/playercities/PlayerCity.java | 1 + 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/scripts/radial/terminal/city_maintenance_terminal.py b/scripts/radial/terminal/city_maintenance_terminal.py index 3c31e5cb..15127db5 100644 --- a/scripts/radial/terminal/city_maintenance_terminal.py +++ b/scripts/radial/terminal/city_maintenance_terminal.py @@ -37,7 +37,6 @@ def createRadial(core, owner, target, radials): radials.add(RadialOptions(2, 232, 0, 'Deduct 10 citizens')) if city.getMayorID() != owner.getObjectID(): - print 'here' return radials.add(RadialOptions(0, 216, 0, '@city/city:city_management')) @@ -130,7 +129,34 @@ def handleSelection(core, owner, target, option): if owner is not None: handleManageMilitia(core, owner, target, option) return - + if option == 230: + if owner is not None: + handleRevokeCitizenship(core, owner, target, option) + return + +def handleRevokeCitizenship(core, owner, target, option): + playerCity = core.playerCityService.getPlayerCity(owner) + if not playerCity or not playerCity.isCitizen(owner.getObjectID()) or playerCity.getMayorID() == owner.getObjectID(): + return + window = core.suiService.createMessageBox(2, 'revoke_cit_t', 'revoke_cit_d', owner, None, 0) + returnList = Vector() + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, revokeCitizenship) + core.suiService.openSUIWindow(suiWindow) + return + +def revokeCitizenship(owner, window, eventType, returnList): + core = main.NGECore.getInstance() + playerCity = core.playerCityService.getPlayerCity(owner) + if not playerCity or not playerCity.isCitizen(owner.getObjectID()) or playerCity.getMayorID() == owner.getObjectID(): + return + playerCity.removeCitizen(owner.getObjectID()) + owner.getPlayerObject().setHome('') + owner.getPlayerObject().setCitizenship(0) + owner.setAttachment('residentCity', None) + owner.sendSystemMessage('You have successfully revoked your citizenship.', 0) + owner.sendSystemMessage('@city/city:revoke_citizenship_warning', 0) + return + def handleManageMilitia(core, owner, target, option): playerCity = core.playerCityService.getPlayerCity(owner) if not playerCity: diff --git a/src/services/playercities/PlayerCity.java b/src/services/playercities/PlayerCity.java index b8b1a858..6accb583 100644 --- a/src/services/playercities/PlayerCity.java +++ b/src/services/playercities/PlayerCity.java @@ -628,6 +628,7 @@ public class PlayerCity implements Serializable { public void removeCitizen(long citizen, boolean sendMail) { citizens.remove(citizen); + removeMilitia(citizen); NGECore core = NGECore.getInstance(); CreatureObject citizenObject = core.objectService.getObject(citizen) == null ? core.objectService.getCreatureFromDB(citizen) : (CreatureObject) core.objectService.getObject(citizen); if(citizenObject == null)