Beispiel #1
0
        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"));
        }
Beispiel #2
0
        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"));
                }
            }
        }
Beispiel #3
0
        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"));
                }
            }
        }