public override void cast(Map map, Unit u) { SG_Undead theDead = (SG_Undead)u.location.soc; foreach (SocialGroup sg in map.socialGroups) { if (sg is Society) { if (theDead.getRel(sg).state != DipRel.dipState.war) { map.declareWar(theDead, sg); } } } double amount = 1; Evidence e2 = new Evidence(map.turn); e2.pointsTo = u; e2.weight = amount; u.location.evidence.Add(e2); u.location.map.world.prefabStore.popImgMsg(u.getName() + " calls upon the dead to rise up, and begin their war against life.", u.location.map.world.wordStore.lookup("ABILITY_DOCTOR_WAR_AGAINST_LIFE")); }
public override void cast(Map map, Hex hex) { base.cast(map, hex); if (!castable(map, hex)) { return; } foreach (Location l in hex.location.getNeighbours()) { if (l.soc != null && (l.soc is SG_Fishmen)) { if (l.soc.getRel(hex.location.soc).state == DipRel.dipState.war) { continue; } map.declareWar(l.soc, hex.location.soc); l.soc.threat_mult = map.param.dark_evilThreatMult; l.soc.setName("Deep Ones"); map.world.prefabStore.popImgMsg( "The Deep Ones rise from the ocean and begin war on " + hex.location.soc.getName() + ". They are now revealed to the world.", map.world.wordStore.lookup("ABILITY_FISHMAN_WAR")); } } }
public override void cast(Map map, Hex hex) { base.cast(map, hex); if (!castable(map, hex)) { return; } foreach (Location l in hex.location.getNeighbours()) { if (l.soc != null && (l.soc is SG_UnholyFlesh)) { if (l.soc.getRel(hex.location.soc).state == DipRel.dipState.war) { continue; } map.declareWar(l.soc, hex.location.soc); SG_UnholyFlesh flesh = (SG_UnholyFlesh)l.soc; flesh.warState = SG_UnholyFlesh.warStates.ATTACK; map.world.prefabStore.popImgMsg( "The unholy flesh suddenly turns hostile, and begins its attack on " + hex.location.soc.getName(), map.world.wordStore.lookup("UNHOLY_FLESH_ATTACK")); } } }