@@ @@ DarrienSpace Installer, Version 1 @@ This is part 8. There is at least one other section after this one. @@ Please do the previous sections in order before executing this one. @@ No editing of this file should be necessary for PennMUSH @@ @@ I haven't tested this on Tiny, though. @@ @@ It also shouldn't be necessary to pre-create objects @@ @@ @@ @set me=Quiet @@ Okay, now for something that currently, will need to be modified heavily @@ to work on your MUSH. It's the 'Ugnaught' of Ship construction, and is @@ intended to make creating ships easy. NOTE: The documentation for updating @@ this code should be done, and notes here somewhere. I'll remove this NOTE when @@ I feel happier with this. @@ @@ NOTE: This object is still being completed on SW1. I wouldn't even be doing @@ the decompile if people weren't so damn impatient!! @@ &DATA_MASTERPARENT Master Ugnaught=#7529 &FUN_ADD-WEAPONSIZES Master Ugnaught=[add(%0,val(extract(get(v(data_weapondb)/type_%1),8,1,|)))] &FUN_CAN-ADD-WEAPON-MILITARY Master Ugnaught=[setq(6,setdiff(get(v(data_builddb)/[grep(v(data_builddb),*_stat,[before(name(%q1),%b--)])]_weapons),%q3))] &DATA_SHIPPARENT Master Ugnaught=#7529 &FUN_CAN-ADD-WEAPON Master Ugnaught=[setq(4,squish(iter(lattr(%q1/weapon_*),after(grep(v(data_weapondb),TYPE_*,[extract(get(%q1/##),1,1,|)]|),TYPE_))))][setq(3,fold(fun_add-weaponsizes,%q4,0))][switch(lt(0,extract(get(%q1/stat_stats),11,1,|)),1,[u(fun_can-add-weapon-military)],[u(fun_can-add-weapon-normal)])] &DATA_ADDITIONS Master Ugnaught=WEAPON &ADESCRIBE Master Ugnaught=@Pemit %#=START/HELP for help in using him. &FUN_CAN-ADD Master Ugnaught=[setq(1,switch(isdbref(last(first(%0,=))),1,last(first(%0,=)),get(v(data_shipdb)/trans_[last(first(%0,=))])))][t(member(v(data_additions),setr(0,first(after(%0,=)))))][isdbref(%q1)][or(nearby(me,%q1),u(fun_isdocked))][t(u(fun_can-add-%q0,%q1,last(%0,=)))][hasattr(me,DATA_CANUPGRADE)] &DO_START_ADD Master Ugnaught=@pemit %1=[switch(u(fun_can-add,%0),0*, Error: '%q0' isn't something that can be added. Check START/HELP for help.,10*, Error: '[last(first(%0,=))]' doesn't appear to be a valid ship DBREF or Transponder.,110*, Error: The ship is not within range of this facility.,1110*, Error: There is a problem with that particular type of upgrade. The error is:%r%q8%r,11110, Error: This facility is incapable of performing upgrades.,11111, Adding task to queue...[switch(words(lattr(me/task*)),0,%rThe task can be completed immediately.,%rThere are other tasks ahead of this one. Complete those tasks%, or cancel them. Check START/HELP for details.)][u(fun_pre-final-%q0)])] &DO_START_HELP2 Master Ugnaught=@pemit %1=%r[u(help_header,UPGRADE)]%rThe command is: START/UPGRADE =,