// Function from file: shadowling_abilities.dm
        public override bool cast(dynamic targets = null, dynamic thearea = null, dynamic user = null)
        {
            thearea = thearea ?? Task13.User;

            dynamic           T  = null;
            Mob_Living_Carbon M  = null;
            Mob_Living_Carbon M2 = null;


            if (!this.shadowling_check(thearea))
            {
                this.revert_cast();
                return(false);
            }
            this.targetsDrained = 0;
            this.nearbyTargets  = new ByTable();

            foreach (dynamic _b in Lang13.Enumerate(targets))
            {
                T = _b;


                foreach (dynamic _a in Lang13.Enumerate(T.contents, typeof(Mob_Living_Carbon)))
                {
                    M = _a;


                    if (M == thearea)
                    {
                        continue;
                    }
                    this.targetsDrained++;
                    this.nearbyTargets.Add(M);
                }
            }

            if (!(this.targetsDrained != 0))
            {
                this.revert_cast();
                thearea.WriteMsg("<span class='warning'>There were no nearby humans for you to drain.</span>");
                return(false);
            }

            foreach (dynamic _c in Lang13.Enumerate(this.nearbyTargets, typeof(Mob_Living_Carbon)))
            {
                M2 = _c;

                ((Mob_Living)thearea).heal_organ_damage(10, 10);
                ((Mob_Living)thearea).adjustToxLoss(-10);
                ((Mob_Living)thearea).adjustOxyLoss(-10);
                ((Mob_Living)thearea).adjustStaminaLoss(-20);
                ((Mob)thearea).AdjustWeakened(-1);
                ((Mob)thearea).AdjustStunned(-1);
                M2.adjustOxyLoss(20);
                M2.adjustStaminaLoss(20);
                M2.WriteMsg("<span class='boldannounce'>You feel a wave of exhaustion and a curious draining sensation directed towards " + Task13.User + "!</span>");
            }
            thearea.WriteMsg("<span class='shadowling'>You draw life from those around you to heal your wounds.</span>");
            return(false);
        }