673f367f7df1c

673f367f7ed12
2 Guests are here.
 

Topic: SS2 Coloured Laser Rapiers All-in-One Read 19940 times  

673f367f7fe6fsarge945

673f367f7fed6
°DML

Coloured Laser Rapiers All-in-One
A mod by Sarge945

This mod adds coloured variants of the Laser Rapier, adding Yellow, White, Red, Purple, Orange, Green and Black variants. All of the rapiers are available in-game all at once, and can show up alongside each other as well as the original Blue variants.

A glowing psi sword is also available as a standalone companion mod.

This mod is highly inspired by the original mod, and uses the assets from it.

Main Features:
  • Rapier colours are randomised in-game! No need to use individual colour versions, you can have them all at once!
  • Choose from one of two versions, Cyclable or Hackable
    • Cyclable lets you change rapier colours freely via right click
    • Hackable lets you change rapier colours via hacking (Skill 4 required, 10 nanites per hack)
  • Rapiers will emit a glow (which will pulse slightly) in their respective colour.
  • The black version does not glow at all.
  • Compatible with SCP, RSD, SecMod and most other mods
  • When using a mod that adds rapiers to Cyborg Assassins, the rapier colours will be randomised
    • Compatible with Secmod and the Assassin Rapier module for Scary Monsters 1.03.
    • Assassins from Secmod will have the correct blue colour for their blue rapier variants, rather than the bright blue introduced in Secmod.
    • This mod by itself does not add rapiers to assassins!
  • Adjustable rarity settings in user.cfg, including completely disabling various colours or making them more/less likely to spawn (see the docs folder for info on how to adjust this).

Configuration:
To configure the mod, add the following lines to user.cfg in your base game folder, modifying weights as necessary:
Code: [Select]
rapier_chance_blue 1
rapier_chance_red 1
rapier_chance_green 1
rapier_chance_purple 1
rapier_chance_orange 1
rapier_chance_yellow 1
rapier_chance_white 0.5
rapier_chance_black 0.5

rapier_chance_assassin_blue 1
rapier_chance_assassin_red 1
rapier_chance_assassin_green 1
rapier_chance_assassin_purple 1
rapier_chance_assassin_orange 1
rapier_chance_assassin_yellow 1
rapier_chance_assassin_white 0.5
rapier_chance_assassin_black 1.5

https://www.youtube.com/watch?v=YXeg8Isx2RY

You can discuss this mod, provide feedback, and talk about my other mods here

Changelog:
v1.06:
- Values are now set using user.cfg, rather than by editing the squirrel file
    - Updated the documentation as necessary
- Fixed bug where the "Cycle" version was allowing cycling to colours which had been disabled (chance of zero)

v1.05:
- Now allows rerolling!
- Now split into 2 versions: Hackable and Cyclable
   - Hackable version requires hacking the rapier in order to reroll, requires Hack 4, 10 nanites per attempt
   - Cycle version simply cycles through the available colours on right click

v1.04:
- No longer in beta! After thorough testing by multiple people, this is now ready to go!
- Removed print statements that were part of the beta version. This should pollute ss2.log a lot less.
- Slightly modified purple rapier glow to fit the rapier colour better.
- Glow brightness values are now controlled via constants at the top of the script, for easier editing by others.

v1.04 BETA 4:
- Removed Scripted Object replacements to ensure compatibility with both Secmod and SS2-RSD, since the latter replaces and changes objects via script, including rapiers.
    - Took a different approach to ensure rapiers in the maps are replaced.
- Fixed borked Black assassin rapier model

v1.04 BETA 3:
- Added DML edits to recreate all in-map rapiers in the vanilla game and SCP. Not Secmod compatible currently.

v1.04 BETA 2:
- Updated the Assassin Rapier models to use the same textures as the standard ones, rather than an identical copy.
    - The Blue variant now uses the standard BLUE.PCX and TURQ.PCX files from vanilla

v1.04 BETA:
- Completely changed the way assassin rapiers work. It should now be perfectly consistent
    - Assassins will now roll a rapier colour once, and apply it to every rapier they generate, including loot
    - Assassin rapier rarity can now be set the same way that regular rapier rarity can be

v1.03:
- Minor changes to the code for legibility, added more documentation comments in the squirrel file for people who wish to tweak the mod.
- Added Secmod assassin support.
- If assassins are forced to use a rapier colour, it will also affect rapiers they drop on death.


v1.02:
- Slightly brightened the White variant of the texture as it was too dark around the edges, making the rapier look like a thin white stick (world model only).
- Fixed extremely stupid bug introduced in v1.01 involving wrong rapier colours when transitioning levels.
- Updated assassin rapier textures to ensure consistency with the standard ones, including the overly-bright blue texture (caused by GIF palette issues in the Secmod model).
    - Assassin rapiers should now look identical to their standard counterparts
    - Load after Secmod and Scary Monsters, as they both include the same blue assassin rapier model

v1.01:
- Added support for the upcoming v1.03 version of Scary Monsters Assassin Rapiers Addon
    - Assassins will no longer hold rapiers incorrectly
    - Due to the way Scary Monsters works, the assassins generate a new Rapier every time they attack. This means the colours continually change.
        - Added a new setting to combat this, assassinForceColor at the top of the squirrel file. I personally recommend setting this to black (index 7) since it looks great on stealthy ninjas.
    - Includes a missing texture bluegrad.gif, which fixes the purple Jorge texture on blue assassin rapiers.
- Fixed issues with level loading corrupting rapier glows (fixed for real in v1.02)

Credits:
IonosFear for the original mod, and for the rapier textures which I am using from those original mods. Secmod for the assassin rapier models, which I had to copy from secmod to make compatible.

Special thanks to @Deu sex for testing.

Additional Note
The mod comes in 2 versions - cyclable and hackable. Please use only one version.

Updated versions of the old mod are also here for posterity, Their only difference from the original versions is they update the glow colours added by Secmod and SCP to match the chosen rapier colour. They have no randomisation, and work exactly the same way as the original mod. It is highly recommended that you use the All-in-One version instead. Do not use any of the individual colour versions if using the All-in-One version, it has them already included.
« Last Edit: 24. August 2024, 17:58:25 by sarge945 »
Acknowledged by: RoSoDude

673f367f802b2voodoo47

673f367f80308
quick look at the dml;
DML1

+ObjProp -24 "LightColor" //Electro Shock
{
    "hue" 0.98 //red
}
would probably go with
DML1

ObjProp -24 "LightColor" //Electro Shock red
{
    "hue" 0.98
}
omitting the + means it will only edit the value if it exists, which is exactly what you want to do here. also, not liking the comment right next to the hue value, even though it's probably ok (and note, one extra empty line at the end of the dml, it's recommended for a reason I quite cannot remember right now). anyway, this is extreme nitpicking, but if you are getting into this, might as well acquire the proper habits as soon as possible..

673f367f803e6sarge945

673f367f80438
The reason I have a comment at the end of each line is because in my master copy, I have all the different color changes in the brackets right after each other, and I just delete the invalid lines for each mod version.

I could remove the comments at the end of the hue lines, but they seem to be harmless?

I guess I could put the comment on the line above the actual hue
« Last Edit: 27. March 2022, 14:37:43 by sarge945 »

673f367f804f0sarge945

673f367f80544
I have reuploaded new versions with the feedback. I don't think it makes any real difference, but it's worth being technically correct.

EDIT: I just checked, these also seem to work with Secmod's rapier glow
« Last Edit: 27. March 2022, 15:05:27 by sarge945 »

673f367f805d8voodoo47

673f367f80623
yes, if the value is there, the dml will work. you can limit this via fingerprinting if you want.

673f367f806b8sarge945

673f367f80703
I actually like that it's universally compatible, so I probably won't fingerprint.

673f367f807f9sarge945

673f367f8084d
Here is an additional file that will make the psi sword also glow, which I literally threw together in 5 minutes. Use at your own risk. It's been thoroughly tested, ie, I ran around in earth.mis for a few minutes after using the ubermensch command and summoning a psi amp.

I don't really like it though, I would prefer to change it to a more teal or aqua colour, but because the way dark handles colours is wack, I can't just increase the Green component.
« Last Edit: 26. July 2022, 19:46:08 by Moderator »

673f367f80986Deu sex

673f367f80a2a
I can finally be Mace Windu, thanks!

673f367f80c22Deu sex

673f367f80c7c
try the green lazer rapier with those parameters (or any other color with only hue being different):

DML1

ObjProp -24 "LightColor" //Electro Shock
{
    //green
    "hue" 0.40
    "saturation" 0.9
}

+ObjProp -24 "SelfLit" //Electro Shock
{
    "" 250
}

+ObjProp -24 "SelfLitRad" //Electro Shock
{
    "" 30
}

You will need to summon the electro shock again to see the difference though.
With the red variant in dark corridors it feels like you're darth vader in that rogue one scene haha.

The idea came to me from the flashlight aug mod, where there was a SelfLitRad property, by the way in the flashlight aug script multiplying the lightRad value by 10 for the _lightObj and commenting the player glow lines makes the flashlight have a really cool fake global illumination to it, it's really cool you should try it!
« Last Edit: 04. May 2022, 09:11:40 by Deu sex »

673f367f80f8dsarge945

673f367f80fdf
Deu sex
Are you suggesting I should update the mod? What actual changes do your suggestions make? Can you give a side-by-side comparison?

I might consider updating it

Also, unrelated, that chromatic aberration on the HUD makes me want to commit war crimes, but to each their own I guess.
« Last Edit: 04. May 2022, 14:17:46 by sarge945 »

673f367f811e8Deu sex

673f367f81237
haha the CA is just a reshade shader I can toggle on or off, I like it precisely because it's horrible, it's like the grunt R grade implant surgery wasn't completely finished and Polito just wanted to get the guy ready as soon as possible with little care nor consideration, and the implants for augmented vision/reality aren't completely tuned or something, feels very corporate greed and roleplay in the setting haha.

As for the rapier, try it for yourself really, it's easy to change, you just have to summon a new rapier to see the change though.
I can take screenshots but it won't convey the benefits of the changes as well.

Hold on for the update though, I might have something pretty cool in the works...

EDIT: yep, try this one out for the red rapier:

DML1

ObjProp -24 "LightColor" //Electro Shock
{
    //red
    "hue" 0.98
    "saturation" 0.9
}

+ObjProp -24 "SelfLitRad" //Electro Shock
{
    "" 30
}

+ObjProp -24 "AnimLight" //Electro Shock
{
    "Mode" "slide smoothly"
    "min brightness" 320
    "max brightness" 400
    "millisecs to brighten" 1400
    "millisecs to dim" 1000
    "Dynamic Light" true
}

of course you'll need to summon a new one with summon_obj electro shock
other more brighter natural colors like green might need slightly less min and max brightness, 260 and 300 seems better for green, 160 and 280 for the vanilla blue.

as RoSoDude stated to me, the SelfLitRad and AnimLight properies can be their own thing though, it's independant to color so updating the mod is probably not mandatory to have this effect, unless you really dig it of course
« Last Edit: 09. May 2022, 08:58:01 by Deu sex »

673f367f81301Deu sex

673f367f81357
Damn, I'm not sure why but by just playing the game, when you stumble on a new rapier it doesn't have the new radius and all, it only works by invoking it, not sure why :( (apparently it needs editing the objects in the levels directly)
« Last Edit: 06. May 2022, 03:36:52 by Deu sex »

673f367f81406sarge945

673f367f81460
Did you install the mod after entering those decks for the first time?

Editing the original items shouldn't be too bad, there's only a handful in the game
« Last Edit: 06. May 2022, 07:12:48 by sarge945 »

673f367f815eaDeu sex

673f367f8169d
I installed the mod before starting an entire new game. Also the color change works, your mod works, it's just my modification that doesn't, but it does work on laser rapiers that I can find on cyborg assassins with the assassins rapier minimod hehe

also for the psi sword try those!

//Add Dynamic Light
+ObjProp "PsiSword" "SelfLitRad"
{
   "" 30
}

+ObjProp "PsiSword" "LightColor"
{
   "hue" 0.66
   "saturation" 0.80
}

+ObjProp "PsiSword" "AnimLight"
{
    "Mode" "slide smoothly"
    "min brightness" 120
    "max brightness" 150
    "millisecs to brighten" 700
    "millisecs to dim" 500
    "Dynamic Light" true
}
« Last Edit: 07. May 2022, 03:43:17 by Deu sex »

673f367f8177fsarge945

673f367f817cd
I still don't understand why it wouldn't work for pre-placed rapiers. Maybe someone like @voodoo47 knows?

673f367f81a0eDeu sex

673f367f81a67
sarge945
RoSoDude mentionned to me that it was something along the lines of object properties being binded in the map data or something. Or maybe it's just SCP secret sauce.

673f367f81b1asarge945

673f367f81b6b
well maybe the best way to do it is to strip the dynamic light properties from the base object, create a new MetaProperty, and apply it dynamically to the base object as well as every instance in every map.

673f367f81c5bvoodoo47

673f367f81ca9
some props are inherited from the archetypes by the concretes, other ones are not. dynamic light is not, that means a small bit of NVscripting is required to "deploy" the prop onto existing concretes upon level start. lemme get the code for you;

Code: [Select]
//drop SelfLit onto rapiers already placed in levels
ObjProp -24 "Scripts"
{
"Script 0" NVRemovePropertyTrap
}
+ObjProp -24 "ObjList"
{
"" NVRemovePropertyTrapOn="BeginScript"; NVRemovePropertyTrapProp="SelfLit"; NVRemovePropertyTrapReAdd=1; NVRemovePropertyTrapCount=1;
}
AnimLight and LightColor should get inherited. //just noticed, any reason you are using SelfLitRad instead of SelfLit?
« Last Edit: 09. May 2022, 08:39:57 by voodoo47 »

673f367f81dfbDeu sex

673f367f81e49
I'm using SelfLitRad to change the radius because I was unable to change it both with just SelfLit (no radius property) or with AnimLight (which has a radius property but doesn't seem to work with DynamicLight set to true).

I took your script many thanks, I can't verify that it works by entering the level for the first time, but loading a save at recreation deck and going back to engineering to the place were the rapier was, sadly no change to radius or brightness and no anim light, this is how it looks now:

Code: [Select]
//drop SelfLit onto rapiers already placed in levels
ObjProp -24 "Scripts"
{
"Script 0" NVRemovePropertyTrap
}
+ObjProp -24 "ObjList"
{
"" NVRemovePropertyTrapOn="BeginScript"; NVRemovePropertyTrapProp="SelfLit"; NVRemovePropertyTrapReAdd=1; NVRemovePropertyTrapCount=1;
}

+ObjProp -24 "SelfLitRad" //Electro Shock
{
    "" 30
}

+ObjProp -24 "AnimLight" //Electro Shock
{
    "Mode" "slide smoothly"
    "min brightness" 160
    "max brightness" 180
    "millisecs to brighten" 1400
    "millisecs to dim" 1000
    "Dynamic Light" true
}
« Last Edit: 09. May 2022, 09:15:40 by Deu sex »

673f367f82148sarge945

673f367f8219b
some props are inherited from the archetypes by the concretes, other ones are not. dynamic light is not, that means a small bit of NVscripting is required to "deploy" the prop onto existing concretes upon level start. lemme get the code for you;

Code: [Select]
//drop SelfLit onto rapiers already placed in levels
ObjProp -24 "Scripts"
{
"Script 0" NVRemovePropertyTrap
}
+ObjProp -24 "ObjList"
{
"" NVRemovePropertyTrapOn="BeginScript"; NVRemovePropertyTrapProp="SelfLit"; NVRemovePropertyTrapReAdd=1; NVRemovePropertyTrapCount=1;
}
AnimLight and LightColor should get inherited. //just noticed, any reason you are using SelfLitRad instead of SelfLit?

Thank you for the magic runewords to make the mod work. You truly are a holy scholar of the righteous path!

Actually seriously though, could I use something similar for my camera mod?
« Last Edit: 09. May 2022, 09:51:54 by sarge945 »

673f367f8226dvoodoo47

673f367f822c0
I have to admit I'm not quite sure which radius is set by SelfLitRad, but giving an object a dynamic light is done by giving it SelfLit, and setting its value which is the radius. AnimLight is only necessary if you need additional effects, like flickering.

SCP already does dynamic light rapiers, so all you have to do is check, and do that, no need to reinvent the wheel.

673f367f8237dDeu sex

673f367f823d6
Yeah I'm using AnimLight because I wanted to give the rapier a subtle and slow but still visible wave of energy, and since AnimLight with dynamiclight set to true already has it's own dynamic light, I figured I just delete the SelfLit property. However I still needed SelfLitRad to extend the radius of the AnimLight

673f367f82624GuyFawkesGaming

673f367f82675
Deu sex Think you can do one for SCP vanilla blue rapiers? Additional effects are always fun to try out, but I don't really need colors.

673f367f8287fDeu sex

673f367f828da
GuyFawkesGaming
Take a colored one, remove the icon sprite, remove the self lit property in the script and replace it by :

Code: [Select]
+ObjProp -24 "SelfLitRad" //Electro Shock
{
    "" 30
}

+ObjProp -24 "AnimLight" //Electro Shock
{
    "Mode" "slide smoothly"
    "min brightness" 160
    "max brightness" 180
    "millisecs to brighten" 1400
    "millisecs to dim" 1000
    "Dynamic Light" true
}

That's exactly what I did :) you will need to invoke a new one though.

Also sorry voodoo the script you gave to me doesn't seem to help :/

Your name:
This box must be left blank:

Replicator restrictions are in place for the good of whom?:
2 Guests are here.
yes (overwrite).
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
673f367f82eb8