Added revoke citizenship

This commit is contained in:
Light2
2014-06-14 20:15:42 +02:00
parent 8148f398b7
commit 9fff30c9f2
2 changed files with 29 additions and 2 deletions
@@ -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:
@@ -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)