mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 17:52:36 +00:00
## About The Pull Request Adds skirt variants of the lawyer's galaxy suits. Dyeing lawyer suitskirts will now create galaxy suitskirts instead of normal galaxy suits.   Bundled with the tooling I created to assemble these sprites, and the input DMIs as examples. Tool only creates right to left scrolling, other directions can be achieved by suitably rotating/flipping the inputs, and then transforming the output back to the intended direction. ## Why It's Good For The Game Allows skirt-wearers to participate in the sick ass suits, and prevents skirts from magically turning into trousers. Tooling could prove useful in future for other spriters who want to make scrolling animations. ## Changelog 🆑 add: Added skirt variants of the galaxy suits /🆑
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
/// Collect user input for the scroll and feed it to Assemble()
|
|
/mob/verb/Create_Scroll()
|
|
|
|
//Background to construct the scrolling image from
|
|
var/background_dmi = input("Pick background DMI:", "Icon") as null|icon
|
|
|
|
//Is background a DMI?
|
|
if(!(isfile(background_dmi) && (copytext("[background_dmi]",-4) == ".dmi")))
|
|
world << "\red Bad background DMI file '[background_dmi]'"
|
|
return
|
|
|
|
|
|
//Icon to apply the scrolling animation to
|
|
var/foreground_dmi = input("Pick foreground DMI:", "Icon") as null|icon
|
|
|
|
//Is foreground a DMI?
|
|
if(!(isfile(foreground_dmi) && (copytext("[foreground_dmi]",-4) == ".dmi")))
|
|
world << "\red Bad foreground DMI file '[foreground_dmi]'"
|
|
return
|
|
|
|
|
|
//Mask icon to define the area of the background to use
|
|
var/mask_dmi = input("Pick mask DMI:", "Icon") as null|icon
|
|
|
|
//Is mask a DMI?
|
|
if(!(isfile(mask_dmi) && (copytext("[mask_dmi]",-4) == ".dmi")))
|
|
world << "\red Bad mask DMI file '[mask_dmi]'"
|
|
return
|
|
|
|
|
|
//Number of frames
|
|
var/frames = input("Number of frames:", "Number") as null|num
|
|
|
|
//Is frames an int?
|
|
if(!isnum(frames))
|
|
world << "\red Bad frames number '[frames]'"
|
|
return
|
|
else
|
|
if(round(frames) != frames)
|
|
world << "\red Non-integer frames number '[frames]'"
|
|
return
|
|
|
|
|
|
//Duration of each frame
|
|
var/duration = input("Frame duration:", "Number") as null|num
|
|
|
|
//Is duration a number?
|
|
if(!isnum(duration))
|
|
world << "\red Bad frame duration '[duration]'"
|
|
return
|
|
|
|
|
|
//Inputs look good, proceed
|
|
Assemble(background_dmi, foreground_dmi, mask_dmi, frames, duration)
|