Пример #1
0
        // Function from file: say.dm
        public virtual string lang_treat(dynamic speaker = null, int message_langs = 0, dynamic raw_message = null, dynamic spans = null)
        {
            Ent_Dynamic AM  = null;
            Ent_Dynamic AM2 = null;


            if ((this.languages & message_langs) != 0)
            {
                AM = ((Ent_Dynamic)speaker).GetSource();

                if (AM != null)
                {
                    if (AM.verb_say != speaker.verb_say || AM.verb_ask != speaker.verb_ask || AM.verb_exclaim != speaker.verb_exclaim || AM.verb_yell != speaker.verb_yell)
                    {
                        return(((Ent_Dynamic)speaker).say_quote(raw_message, spans));
                    }
                    return(AM.say_quote(raw_message, spans));
                }
                else
                {
                    return(((Ent_Dynamic)speaker).say_quote(raw_message, spans));
                }
            }
            else if ((message_langs & 1) != 0)
            {
                AM2 = ((Ent_Dynamic)speaker).GetSource();

                if (AM2 != null)
                {
                    return(AM2.say_quote(GlobalFuncs.stars(raw_message), spans));
                }
                else
                {
                    return(((Ent_Dynamic)speaker).say_quote(GlobalFuncs.stars(raw_message), spans));
                }
            }
            else if ((message_langs & 2) != 0)
            {
                return("chimpers.");
            }
            else if ((message_langs & 4) != 0)
            {
                return("hisses.");
            }
            else if ((message_langs & 8) != 0)
            {
                return("beeps rapidly.");
            }
            else if ((message_langs & 32) != 0)
            {
                return("chitters.");
            }
            else
            {
                return("makes a strange sound.");
            }
            return(null);
        }