I've included two scripts here. I use one as the shortcut/translation to the other.
This script will take the all the specified internal/external wounds/scars from the given PC, doing up to the given number of transfers at once.
%1 = The target (person) whose wounds you're taking. You need to have an initial empathic link.
%2 = Max number of wounds to take at one time, up to 9.
%3, ... %n = The list of locations. You'll need quotes around parts with multiple parts to the name, or join them with underscores or dots (e.g., eyes).
Example: This will take all of FuIru's wounds from the head, neck, left arm, chest, abdomen and back, doing up to 5 transfers at a time.
.take FuIru 5 head neck "left arm" chest abdomen back or .take FuIru 5 head neck left.arm chest abdomen back
You'll want to have a good Refresh or such on you if you're taking many wounds at once.
Don't give a value greater than 9 for the max wounds parameter. I don't test for it, and so it isn't handled.
If you incur roundtime during the transfers, you run the risk of the script missing some of the transfer completion messages. Either restart the script, or enter "You sense that" until it starts going again. Similarly, collapsing and thereby losing the transfers will also mess it up; in that case, your best bet is to restart, or take them manually until it kicks off again.
Don't over-heal. This will simply take each wound QUICKly. It's very simple, in that it has no protections against you taking more than you can chew. Don't die :)
If the patient has any pet bleeders, you'll need to leave out that body part, and take the internal and scars manually. Again, it's a simple script.
#http://www.elanthipedia.com/wiki/User:FuIru/Scripts/Take_%28script%29 #initial release: 2010-2-27 if_3 goto start exit start: setvariable SimulWounds %2 counter set 0 setvariable Targ %1 shift shift Woundloop1: setvariable Type ext wound setvariable Goto WoundLoop2 goto wound%SimulWounds WoundLoop2: setvariable Type int wound setvariable Goto WoundLoop3 goto wound%SimulWounds WoundLoop3: setvariable Type ext scar setvariable Goto WoundLoop4 goto wound%SimulWounds WoundLoop4: setvariable Type int scar setvariable Goto Shift goto wound%SimulWounds wound9: if_9 put take %Targ quick %9 %Type if_9 counter add 1 wound8: if_8 put take %Targ quick %8 %Type if_8 counter add 1 wound7: if_7 put take %Targ quick %7 %Type if_7 counter add 1 wound6: if_6 put take %Targ quick %6 %Type if_6 counter add 1 wound5: if_5 put take %Targ quick %5 %Type if_5 counter add 1 wound4: if_4 put take %Targ quick %4 %Type if_4 counter add 1 wound3: if_3 put take %Targ quick %3 %Type if_3 counter add 1 wound2: if_2 put take %Targ quick %2 %Type if_2 counter add 1 wound1: if_1 put take %Targ quick %1 %Type if_1 counter add 1 setvariable NumWounds %c #Now wait for all those wounds to heal WaitLoop: match wait%c You sense that match quit overwhelmed matchwait wait9: wait8: wait7: wait6: wait5: wait4: wait3: wait2: counter subtract 1 goto WaitLoop wait1: wait0: counter set 0 put touch %Targ goto %Goto Shift: counter set %NumWounds ShiftLoop: shift goto shift%c shift9: shift8: shift7: shift6: shift5: shift4: shift3: shift2: counter subtract 1 goto ShiftLoop shift1: shift0: counter set 0 if_1 put touch %Targ if_1 goto WoundLoop1 quit:
This script makes it a bit easier to use take, as it will take a list of abbreviated body parts, and call Take with the actual values. Other than abbreviated body parts, the arguments to t are the same as to Take.
If you change the name of Take, be sure to change the script call in this one.
Body parts expected by t are h, n, c, a, b, re, le, rl, ll, rh, lh, ra, la, s, t
Example: .t FuIru 5 h n la c a b
#http://www.elanthipedia.com/wiki/User:FuIru/Scripts/Take_%28script%29 #initial release: 2010-2-27 if_3 goto start exit start: setvariable cmd .take %1 %2 shift loop: shift if_1 goto %1 put %cmd h: head: setvariable cmd %cmd head goto loop n: setvariable cmd %cmd neck goto loop c: setvariable cmd %cmd chest goto loop a: setvariable cmd %cmd abdomen goto loop b: setvariable cmd %cmd back goto loop re: setvariable cmd %cmd right_eye goto loop ra: setvariable cmd %cmd right_arm goto loop rh: setvariable cmd %cmd right_hand goto loop rl: setvariable cmd %cmd right_leg goto loop le: setvariable cmd %cmd left_eye goto loop la: setvariable cmd %cmd left_arm goto loop lh: setvariable cmd %cmd left_hand goto loop ll: setvariable cmd %cmd left_leg goto loop s: setvariable cmd %cmd skin goto loop t: setvariable cmd %cmd tail goto loop labelError setvariable cmd %cmd %1 goto loop