Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - sulusdacor

#1
Help / [solved]md2 mechwall null map error
January 04, 2018, 11:34:16 AM
trying to get the mechanical walls to work with b18 and they do, but still produce a null map error. i'm unsure why so maybe someone can help me there.

i assume it has sth to do with the genspawn line/section. but since the wall/embrasure spawns the map somehow gets used (which confuses me a lot XD). when i tried the public Map one it did not spawn at all. found the vanilla blueprint.TryReplaceWithSolidThing, which uses a bit similar code. the genspawn seems the same to me and the handling of the map variable too. so probably some lack of understanding sth there on my part and would be nice if someone could point that out to me, sicne i don't see it.

below log and code for all.

log (full output log as attachement):
Constructed TargetInfo with cell=(76, 0, 61) and a null map.
Verse.Log:Warning(String)
Verse.TargetInfo:.ctor(IntVec3, Map, Boolean)
MD2_mechwalls.Building_MechWall:DoDustPuff()
MD2_mechwalls.Building_MechWallExtended:ToggleStateOne()
MD2_mechwalls.Building_MechWallExtended:<GetGizmos>b__2()
Verse.Command_Action:ProcessInput(Event)
Verse.GizmoGridDrawer:DrawGizmoGrid(IEnumerable`1, Single, Gizmo&)
RimWorld.InspectGizmoGrid:DrawInspectGizmoGridFor(IEnumerable`1)
RimWorld.MainTabWindow_Inspect:DrawInspectGizmos()
RimWorld.InspectPaneUtility:ExtraOnGUI(IInspectPane)
RimWorld.MainTabWindow_Inspect:ExtraOnGUI()
Verse.WindowStack:WindowStackOnGUI()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:OnGUI()


code (full mod file as attachement, base just adds the research tab):
/*
* Created by SharpDevelop.
* User: sulusdacor
* Date: 31.12.2017
* Time: 22:06
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using RimWorld;
using System;
using UnityEngine;
using Verse;
using Verse.Sound;
using System.Collections.Generic;
using System.Runtime.CompilerServices;

namespace MD2_mechwalls
{
[DefOf]
public static class Keys
{
public static KeyBindingDef BuildingOnOffToggle
{
get
{
return Keys.Named("BuildingOnOffToggle");
}
}

public static KeyBindingDef ExtendMechWall
{
get
{
return Keys.Named("ExtendMechWall");
}
}

public static KeyBindingDef ExtendMechEmbrasure
{
get
{
return Keys.Named("ExtendMechEmbrasure");
}
}

public static KeyBindingDef RecessMechWall
{
get
{
return Keys.Named("RecessMechWall");
}
}

public static KeyBindingDef DeactivateDroid
{
get
{
return Keys.Named("DeactivateDroid");
}
}

public static KeyBindingDef FissureGeneratorChangeFissure
{
get
{
return Keys.Named("FissureGeneratorChangeFissure");
}
}

public static KeyBindingDef Named(string defName)
{
return DefDatabase<KeyBindingDef>.GetNamed(defName, true);
}
}

public class Building_MechWallRecessed : Building_MechWall
{
[CompilerGenerated]
private IEnumerable<Gizmo> FabricatedMethod9()
{
return base.GetGizmos();
}

public override IEnumerable<Gizmo> GetGizmos()
{
Command_Action command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateOne();
},
defaultDesc = Translator.Translate("MD2.MechWallExtendWallDesc"),
defaultLabel = Translator.Translate("MD2.MechWallExtendWallLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("ExtendMechWall"),
disabled = false,
groupKey = 313740010,
icon = Building_MechWall.ExtendIcon
};
yield return command_Action;
command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateTwo();
},
defaultDesc = Translator.Translate("MD2.MechWallOpenEmbrasureDesc"),
defaultLabel = Translator.Translate("MD2.MechWallOpenEmbrasureLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("ExtendMechEmbrasure"),
disabled = false,
groupKey = 313740011,
icon = Building_MechWall.EmbrasureIcon
};
yield return command_Action;
if (this.FabricatedMethod9() != null)
{
using (IEnumerator<Gizmo> enumerator = this.FabricatedMethod9().GetEnumerator())
{
while (enumerator.MoveNext())
{
Command command = (Command)enumerator.Current;
yield return command;
}
}
}
yield break;
}

public override void ToggleStateOne()
{
if (base.HasPower)
{
// IntVec3 position = base.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallExtended, this.Stuff);
thing.SetFactionDirect(base.Faction);
thing.HitPoints = this.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}

public override void ToggleStateTwo()
{
if (base.HasPower)
{
// IntVec3 position = base.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallEmbrasure, this.Stuff);
thing.SetFactionDirect(base.Faction);
thing.HitPoints = this.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}
}

public class Building_MechWallExtended : Building_MechWall
{
[CompilerGenerated]
private IEnumerable<Gizmo> FabricatedMethod9()
{
return base.GetGizmos();
}

public override IEnumerable<Gizmo> GetGizmos()
{
Command_Action command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateOne();
},
defaultDesc = Translator.Translate("MD2.MechWallRecessWallDesc"),
defaultLabel = Translator.Translate("MD2.MechWallRecessWallLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("RecessMechWall"),
disabled = false,
groupKey = 313740009,
icon = Building_MechWall.RecessIcon
};
yield return command_Action;
command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateTwo();
},
defaultDesc = Translator.Translate("MD2.MechWallOpenEmbrasureDesc"),
defaultLabel = Translator.Translate("MD2.MechWallOpenEmbrasureLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("ExtendMechEmbrasure"),
disabled = false,
groupKey = 313740010,
icon = Building_MechWall.EmbrasureIcon
};
yield return command_Action;
if (this.FabricatedMethod9() != null)
{
using (IEnumerator<Gizmo> enumerator = this.FabricatedMethod9().GetEnumerator())
{
while (enumerator.MoveNext())
{
Command command = (Command)enumerator.Current;
yield return command;
}
}
}
yield break;
}

public override void ToggleStateOne()
{
if (base.HasPower)
{
// IntVec3 position = base.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallRecessed, base.Stuff);
thing.SetFactionDirect(base.Faction);
thing.HitPoints = base.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}

public override void ToggleStateTwo()
{
if (base.HasPower)
{
// IntVec3 position = base.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallEmbrasure, base.Stuff);
thing.SetFactionDirect(base.Faction);
thing.HitPoints = base.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}
}

public class Building_MechWallEmbrasure : Building_MechWall
{
private IEnumerable<Gizmo> FabricatedMethod9
{
get
{
return base.GetGizmos();
}
}

public override IEnumerable<Gizmo> GetGizmos()
{
new List<Gizmo>();
Command_Action command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateOne();
},
defaultDesc = Translator.Translate("MD2.MechWallExtendWallDesc"),
defaultLabel = Translator.Translate("MD2.MechWallExtendWallLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("ExtendMechWall"),
disabled = false,
groupKey = 313740010,
icon = Building_MechWall.ExtendIcon
};
yield return command_Action;
command_Action = new Command_Action
{
action = delegate
{
this.ToggleStateTwo();
},
defaultDesc = Translator.Translate("MD2.MechWallRecessWallDesc"),
defaultLabel = Translator.Translate("MD2.MechWallRecessWallLable"),
activateSound = SoundDef.Named("Click"),
// hotKey = Keys.Named("RecessMechWall"),
disabled = false,
groupKey = 313740009,
icon = Building_MechWall.RecessIcon
};
yield return command_Action;
if (this.FabricatedMethod9 != null)
{
using (IEnumerator<Gizmo> enumerator = this.FabricatedMethod9.GetEnumerator())
{
while (enumerator.MoveNext())
{
Command command = (Command)enumerator.Current;
yield return command;
}
}
}
yield break;
}

public override void ToggleStateOne()
{
if (base.HasPower)
{
// IntVec3 position = this.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallExtended, base.Stuff);
thing.SetFactionDirect(Faction.OfPlayer);
thing.HitPoints = base.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}

public override void ToggleStateTwo()
{
if (base.HasPower)
{
// IntVec3 position = base.Position;
Thing thing = ThingMaker.MakeThing(Building_MechWall.MechWallRecessed, base.Stuff);
thing.SetFactionDirect(Faction.OfPlayer);
thing.HitPoints = base.HitPoints;
Map map = base.Map;
this.Destroy(0);
this.DoDustPuff();
GenSpawn.Spawn(thing, Position, map, Rotation);
}
}
}

[StaticConstructorOnStartup]
public abstract class Building_MechWall : Building
{
public static readonly Texture2D EmbrasureIcon = ContentFinder<Texture2D>.Get("UI/Icons/Metal", true);

public static readonly Texture2D ExtendIcon = ContentFinder<Texture2D>.Get("UI/Commands/DumpContentsUI", true);

public static readonly ThingDef MechWallEmbrasure = DefDatabase<ThingDef>.GetNamed("MD2MechEmbrasure", true);

public static readonly ThingDef MechWallExtended = DefDatabase<ThingDef>.GetNamed("MechWallExtended", true);

public static readonly ThingDef MechWallRecessed = DefDatabase<ThingDef>.GetNamed("MechWallRecessed", true);

public CompPowerTrader power;

public static readonly Texture2D RecessIcon = ContentFinder<Texture2D>.Get("UI/Commands/RecessWall", true);

private static readonly SoundDef sound = SoundDef.Named("ChunkRock_Drop");

public bool HasPower
{
get
{
return this.power != null && this.power.PowerOn;
}
}

public virtual void DoDustPuff()
{
MoteMaker.ThrowDustPuff(base.Position, Map, 1f);
SoundStarter.PlayOneShot(Building_MechWall.sound,new TargetInfo(base.Position, base.Map, false));
}

public override void SpawnSetup(Map map, bool respawningAfterLoad)
{
base.SpawnSetup(map, respawningAfterLoad);
this.power = base.GetComp<CompPowerTrader>();
}

public abstract void ToggleStateOne();

public abstract void ToggleStateTwo();
}
}


[attachment deleted by admin: too old]
#2
Releases / [1.0]Mods Revived - hope all works fine?
January 03, 2018, 07:02:21 AM
I did NOT create these Mods. These are simply updates to the current Rimworld Version.

This is just an attempt to update some mods that i liked very much in the past.

Mods so far:

Steamlist with the mods

Dropbox folder:
Current versions
Old versions

Modpack/License stuff etc:
Most of these got abandoned by the creators and got the permission to update use the content in the license section. If you are one of the creators and are not okay please let me know and i will remove it.

to clarify a bit, why this is not a "can you update pls":
(even tho the topic name is a bit misleading, my bad there  ::))

It's really just mods i liked in the past, where the people are either gone or i got the permission form the owner:

- for CTS i contacted the owner, my absolute favorite power mod hands down
- for MD2 mipen was not active for sometime and the mod is inactive for several alphas, mech walls and storage are very unique and add sth different in terms of building stupid defenses or adding storage for medieval runs that is not quantum storage.
- adaption refusal mod author was activly searching for someone to take it on and i love the mining option route it gives, had my eye on that some time and updated it a bit for myself usally in previous alphas
- shutdown all author theubie is inactive and i feel this is one of the essential QoL mods in my opinion that should be in the base game

This my sound selfish/harsh, but i hope you understand that i can not just update every mod anyone asks for - thats simply impossible. So have to pick stuff. That in the end comes down to what i like. With the few mods, thats what i did.

what i wrote on a specific mod request:
the author might be a bit burnedout form the game and needed change. which i can understand and was too in the past, but came back and have fun modding again. so maybe just be patient, people need a break from time to time. you not always super motivated.
maybe others pick up the mods. lots of stuff gets updated on the steamworkshop from what i have seen. show interest that you would love to see the mod updated. in the best case simply start modding yourself and get it done ;)

#3
ran into a bit of a problem with updating this to a17.

so far i was able to update the code from a16 to a17 and mostly all works fine except the takeblood recipe. the job does not even get started other then making the patient unconciess. after that i get an error (see attachment, rest of mod files at the end as dropbox download)

from the error i assume this requires a custom jobdriver with a17 for the takeblood recipe. not sure on that since i haven't really done anything with custom jobdrivers yet.
i would be happy if someone could explain me the error and why this is not working. since i'm a bit clueless on that. my assumption is that the game wants a jobdriver, since there are no surgery recipes with no ingredients and a product and it runs into a bit of a problem there, since i use the surgery recipe preset.

so can anyone either help me with the error?

either by explaining it to me so i can fix it myself or if that requires some major programming fixing it for me. not sure how complicated it is, depends really on the scope of the problem and i really only have very limited coding experience. i would prefer the first option tho ;)

thx for reading.

current progress:
mod:https: www.dropbox.com/s/8fgl1r9z2x676gc/CTS_a17_wip.7z?dl=0
source code:https: www.dropbox.com/s/eyamuceyn4b5t9x/CTS_a17_wip_source.7z?dl=0

PS: i was a bit unsure if this goes into wip or help subforum. so if i posted this in the wrong place,please be so kind to move it someone ;)

[attachment deleted by admin due to age]
#4
Unfinished / [B18][WIP] ocean biome stuff
January 17, 2017, 12:19:14 PM
Latest Version: https://github.com/sulusdacor/sd_ocean/releases

===================================

current problems with a17 like in a16:
- no traders via land
- no coast, sadly since the rivers need this too this means no rivers



Quoteedit: current latest version: https://www.dropbox.com/s/pspvr1mtwhifk7k/sd_ocean_a16_wip_temperatedone.7z?dl=0

Quoteedit2: notes for the temperate ocean biome here

just wanted to show my current progress on the ocean mod. since it kinda went a bit over board with direction and i spend way more time on it then i initialy planed ;D

download: https://www.dropbox.com/s/kwc6ir9cqeixc7l/sd_ocean_a16_wip_colddone.7z?dl=0
(pictures near the end)

the cold ocean biome is currently somewhat finished. the mod needs bridges to work (just for the terrain it adds). i suggest you use the fishindustry mod if you try it out.

the basic idea was to make the ocean biomes buildable and that you can travel them with caravans.

what the mod currently does:

- seperate the ocean tiles on the worl map into 3 regions: cold, temperate, hot (probably not save game compatible for that reason i assume, have not tried so your own risk)
- adds some cold ocean biome things to make it look and feel fitting (i hope, dont wanne spoil to much^^ )
(exact stuff at the end below pictures)

what i plan to do:
- add a bit more animals plants, aiming more for the temperate+hot biomes, feel the cold is okay a bit more barren
- add some sort of wreckage during map generation, that can be either deconstructed or otheriwse used for ressouces/survival
- add some biome specific things for the temperate and hot ocean. not sure what this would/could be yet. but something like the floating things in the cold on. so if you open up the map you know "yes this is that biome".

current "issues":
- there are no real coasts. the game checks for the ocean biome from vanilla. since this is basiclly gone. there are no coasts /beaches anymore
- i dsabled the enemy fraction bases, they dont seemed to do well when boxed in water
- the game sometimes fails to find a fitting starting spot. no real problem tho,since you can just restart the map if you dont like it/are boxed in or out
- when you caravan you might end up on a small island of shallow water (meaning no space to build and no way to move on). i have not tested caravans much, so yeah. but thats the hidden reason you need the bridges mod (and pontoon bridges) =)
- the ocena biomes spawn no shrines currently. had a problem with the genstep and did not make a custom one yet. since i felt it was not super needed.


so yeah, thx for reading/trying out the mod. maybe making suggestions. who knows ;)

pictures:



adds (in a bit more detail):
- plant algae:

added on map gen in cold ocean. i will use these for the other ones too probably. you can "grow" it. it's currently about the same as rice (bit mroe growtime 2.5 compared to 2.4 rice), but no rest, so grows if light. much more temperature resitant (0-55 optimal). can grow in nature outside (cold ocean biome) or in algae farm or in hydroponic basin.

- item/raw food algae goo

just the stuff you get when harvesting your algae. nothing special, just rawfood.

- building algaefarm:

like hydroponics, can only be build on shallow water. fertility is rich soil like (1.4). cost is atm 100 wood, just changed the tag on hydroponics. so yeah^^. is linkable building. uses linkflag 3. can only grow algae. you can place floor over it. needs research to be build.

- animal crab+crustcrwaler

just little crawlers. not much to say here. crustcrawler has toxicimmunity.

- stuff rocks:

added on map gen. you can mine these for steel. they give a bit less (25 compared to 35) then the vanilla steel veins.

- stuff driftwood:

added on map gen on ocean tiles. you can convert 1 driftwood to 10 woodlogs at the crafting spot. thats my try to counter the woodproblem on oceanic tiles a bit and it gives the crafting spot a bit of a purpose to use. (single+ bulk recipe)

- stuff ice floes:

added on map gen only in cold ocean biome. these are just for show and to give the biome a bit of a destinction to other ocean ones. you can destroy them, but you get nothing. i just dont wanted the player to have to build around nature stuff and so you have a way to expand you base without worries. you can not stand on them (the fact that they spawn in rare cases on top of each other caused a bit of a problem, thats why i removed this attempt). they do not melt (don't wanted the destert effect with the floes like it was with plalnts last alphas. can still happen if they get destroyed tho.

edit: forgot i added scurvy, which is a random hediff like heart attack. basicly a disease with agecurved hediff giver. so ranodm pawn can get it.
#5
Help / [solved] Exception from asynchronous event
January 10, 2017, 08:00:13 PM
Quoteedit: seems to be an error with the current map reroll mod. so kinda solved. i deleted the attachements for that reason.

currently getting a strange error (outputlog in attachement) when i load my mod with hugslib + mapreroll. this only comes if i reroll the first time. the map loads normal otherwise the first time, no erros, all looks fine and without these other mods it's error free every time i loaded. So i would like to fix this, since i assume people use these other mods. but i have no clue how, so would be nice if someone could explain the problem.

i assume it has something to do with my genstep code. but ijust used the vanilla code, with the change to watercoverage and some thingdef for my driftwood. so not sure. i feel like i miss some major problem here. so yeah, would be glad if someone could help.

source code:
/*
* Created by SharpDevelop.
* User: sulusdacor
* Date: 09.01.2017
* Time: 12:43
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Runtime.CompilerServices;

using UnityEngine;
using Verse;
using Verse.Noise;
using RimWorld;
using RimWorld.Planet;

namespace sd_ocean
{

// cold ocean biome worker

public class BiomeWorker_ocean_cold : BiomeWorker
{
public override float GetScore(Tile tile)
{
if (!tile.WaterCovered)
{
return -100f;
}
if (tile.temperature > 0f)
{
return 0f;
}
if (BiomeWorker_IceSheet.PermaIceScore(tile) > 23f) // using 23f here, cause the seaice biome has the -23f as adujstment
{
return 0f;
}
return -tile.temperature;
}
}

// mild biome worker

public class BiomeWorker_ocean_mild : BiomeWorker
{
public override float GetScore(Tile tile)
{
if (!tile.WaterCovered)
{
return -100f;
}
if (tile.temperature <= 0f || tile.temperature >=15f)
{
return 0f;
}
return tile.temperature;
}
}

// hot ocean biome worker

public class BiomeWorker_ocean_hot : BiomeWorker
{
public override float GetScore(Tile tile)
{
if (!tile.WaterCovered)
{
return -100f;
}
if (tile.temperature < 15f)
{
return 0f;
}
return tile.temperature;
}
}





// genstep chunks in ocean tile

public class GenStep_RockChunks_ocean : GenStep
{
private const float ThreshLooseRock = 0.55f;

private const float PlaceProbabilityPerCell = 0.006f;

private const float RubbleProbability = 0.5f;

private ModuleBase freqFactorNoise;

public override void Generate(Map map)
{
if (!map.TileInfo.WaterCovered) // just chganged that <----------------------------------------------
{
return;
}
this.freqFactorNoise = new Perlin(0.014999999664723873, 2.0, 0.5, 6, Rand.Range(0, 999999), QualityMode.Medium);
this.freqFactorNoise = new ScaleBias(1.0, 1.0, this.freqFactorNoise);
NoiseDebugUI.StoreNoiseRender(this.freqFactorNoise, "rock_chunks_freq_factor");
foreach (IntVec3 current in map.AllCells)
{
float num = 0.006f * this.freqFactorNoise.GetValue(current);
if (MapGenerator.Elevation[current] < 0.55f && Rand.Value < num)
{
this.GrowLowRockFormationFrom(current, map);
}
}
this.freqFactorNoise = null;
}

private void GrowLowRockFormationFrom(IntVec3 root, Map map)
{
ThingDef rockRubble = ThingDefOf.RockRubble;
ThingDef mineableThing = Find.World.NaturalRockTypesIn(map.Tile).RandomElement<ThingDef>().building.mineableThing;
Rot4 random = Rot4.Random;
IntVec3 intVec = root;
while (true)
{
Rot4 random2 = Rot4.Random;
if (!(random2 == random))
{
intVec += random2.FacingCell;
if (!intVec.InBounds(map) || intVec.GetEdifice(map) != null || intVec.GetFirstItem(map) != null)
{
break;
}
if (MapGenerator.Elevation[intVec] > 0.55f)
{
return;
}
if (!map.terrainGrid.TerrainAt(intVec).affordances.Contains(TerrainAffordance.Heavy))
{
return;
}
GenSpawn.Spawn(mineableThing, intVec, map);
IntVec3[] adjacentCellsAndInside = GenAdj.AdjacentCellsAndInside;
for (int i = 0; i < adjacentCellsAndInside.Length; i++)
{
IntVec3 b = adjacentCellsAndInside[i];
if (Rand.Value < 0.5f)
{
IntVec3 c = intVec + b;
if (c.InBounds(map))
{
bool flag = false;
List<Thing> thingList = c.GetThingList(map);
for (int j = 0; j < thingList.Count; j++)
{
Thing thing = thingList[j];
if (thing.def.category != ThingCategory.Plant && thing.def.category != ThingCategory.Item && thing.def.category != ThingCategory.Pawn)
{
flag = true;
break;
}
}
if (!flag)
{
FilthMaker.MakeFilth(c, map, rockRubble, 1);
}
}
}
}
}
}
}
}

// needed for drifwood genstep

[DefOf]
public static class ThingDefOf
{
public static ThingDef sd_ocean_driftwood;

public static ThingDef RockRubble;
}

// genstep driftwood in ocean tile

public class GenStep_driftwood_ocean : GenStep
{
private const float ThreshLoosedriftwood = 0.55f;

private const float PlaceProbabilityPerCell = 0.006f;

private const float RubbleProbability = 0.5f;

private ModuleBase freqFactorNoise;

public override void Generate(Map map)
{
if (!map.TileInfo.WaterCovered) // just chganged that <----------------------------------------------
{
return;
}
this.freqFactorNoise = new Perlin(0.014999999664723873, 2.0, 0.5, 6, Rand.Range(0, 999999), QualityMode.Medium);
this.freqFactorNoise = new ScaleBias(1.0, 1.0, this.freqFactorNoise);
NoiseDebugUI.StoreNoiseRender(this.freqFactorNoise, "rock_chunks_freq_factor");
foreach (IntVec3 current in map.AllCells)
{
float num = 0.006f * this.freqFactorNoise.GetValue(current);
if (MapGenerator.Elevation[current] < 0.55f && Rand.Value < num)
{
this.GrowDriftwoodFormationFrom(current, map);
}
}
this.freqFactorNoise = null;
}

private void GrowDriftwoodFormationFrom(IntVec3 root, Map map)
{
ThingDef rockRubble = ThingDefOf.RockRubble;
ThingDef driftwoodThing = ThingDefOf.sd_ocean_driftwood;
Rot4 random = Rot4.Random;
IntVec3 intVec = root;
while (true)
{
Rot4 random2 = Rot4.Random;
if (!(random2 == random))
{
intVec += random2.FacingCell;
if (!intVec.InBounds(map) || intVec.GetEdifice(map) != null || intVec.GetFirstItem(map) != null)
{
break;
}
if (MapGenerator.Elevation[intVec] > 0.55f)
{
return;
}
if (!map.terrainGrid.TerrainAt(intVec).affordances.Contains(TerrainAffordance.Heavy))
{
return;
}
GenSpawn.Spawn(driftwoodThing, intVec, map);
IntVec3[] adjacentCellsAndInside = GenAdj.AdjacentCellsAndInside;
for (int i = 0; i < adjacentCellsAndInside.Length; i++)
{
IntVec3 b = adjacentCellsAndInside[i];
if (Rand.Value < 0.5f)
{
IntVec3 c = intVec + b;
if (c.InBounds(map))
{
bool flag = false;
List<Thing> thingList = c.GetThingList(map);
for (int j = 0; j < thingList.Count; j++)
{
Thing thing = thingList[j];
if (thing.def.category != ThingCategory.Plant && thing.def.category != ThingCategory.Item && thing.def.category != ThingCategory.Pawn)
{
flag = true;
break;
}
}
if (!flag)
{
FilthMaker.MakeFilth(c, map, rockRubble, 1);
}
}
}
}
}
}
}
}



// genstep to scatter things on ocean tile

public class GenStep_ScatterThings_ocean : GenStep_Scatterer
{
private const int ClusterRadius = 4;

public ThingDef thingDef;

public ThingDef stuff;

public int clearSpaceSize;

public TerrainAffordance neededTerrainAffordance;

public int clusterSize = 1;

[Unsaved]
private IntVec3 clusterCenter;

[Unsaved]
private int leftInCluster;

public override void Generate(Map map)
{
if (!this.allowOnWater && !map.TileInfo.WaterCovered) // just changed this line <----------------------------------------------
{
return;
}
int count = base.CalculateFinalCount(map);
IntRange one;
if (this.thingDef.ingestible != null && this.thingDef.ingestible.IsMeal && this.thingDef.stackLimit <= 10)
{
one = IntRange.one;
}
else if (this.thingDef.stackLimit > 5)
{
one = new IntRange(Mathf.RoundToInt((float)this.thingDef.stackLimit * 0.5f), this.thingDef.stackLimit);
}
else
{
one = new IntRange(this.thingDef.stackLimit, this.thingDef.stackLimit);
}
List<int> list = GenStep_ScatterThings.CountDividedIntoStacks(count, one);
for (int i = 0; i < list.Count; i++)
{
IntVec3 intVec;
if (!this.TryFindScatterCell(map, out intVec))
{
return;
}
this.ScatterAt(intVec, map, list[i]);
this.usedSpots.Add(intVec);
}
this.usedSpots.Clear();
this.clusterCenter = IntVec3.Invalid;
this.leftInCluster = 0;
}

protected override bool TryFindScatterCell(Map map, out IntVec3 result)
{
if (this.clusterSize > 1)
{
if (this.leftInCluster <= 0)
{
if (!base.TryFindScatterCell(map, out this.clusterCenter))
{
Log.Error("Could not find cluster center to scatter " + this.thingDef);
}
this.leftInCluster = this.clusterSize;
}
this.leftInCluster--;
result = CellFinder.RandomClosewalkCellNear(this.clusterCenter, map, 4);
return result.IsValid;
}
return base.TryFindScatterCell(map, out result);
}

protected override void ScatterAt(IntVec3 loc, Map map, int stackCount = 1)
{
Rot4 rot = (!this.thingDef.rotatable) ? Rot4.North : Rot4.Random;
CellRect cellRect = GenAdj.OccupiedRect(loc, rot, this.thingDef.size);
if (!cellRect.InBounds(map))
{
Log.Warning(string.Concat(new object[]
{
"Failed to scatter ",
this.thingDef.defName,
" at ",
loc,
" due to being out of bounds."
}));
return;
}
CellRect.CellRectIterator iterator = cellRect.GetIterator();
while (!iterator.Done())
{
IntVec3 current = iterator.Current;

// Removed to hopefully get rid of the error

if (this.neededTerrainAffordance != TerrainAffordance.Undefined && !current.SupportsStructureType(map, this.neededTerrainAffordance))
{
Log.Warning(string.Concat(new object[]
{
"Failed to scatter ",
this.thingDef.defName,
" at ",
loc,
" due to missing terrain affordance."
}));
return;
}
iterator.MoveNext();
}
if (this.clearSpaceSize > 0)
{
foreach (IntVec3 current2 in GridShapeMaker.IrregularLump(loc, map, this.clearSpaceSize))
{
Thing edifice = current2.GetEdifice(map);
if (edifice != null)
{
edifice.Destroy(DestroyMode.Vanish);
}
}
}
Thing thing = ThingMaker.MakeThing(this.thingDef, this.stuff);
if (this.thingDef.Minifiable)
{
thing = thing.MakeMinified();
}
if (thing.def.category == ThingCategory.Item)
{
thing.stackCount = stackCount;
thing.SetForbidden(true, false);
Thing thing2;
GenPlace.TryPlaceThing(thing, loc, map, ThingPlaceMode.Near, out thing2, null);
if (this.nearPlayerStart && thing2 != null && thing2.def.category == ThingCategory.Item && TutorSystem.TutorialMode)
{
Find.TutorialState.AddStartingItem(thing2);
}
}
else
{
GenSpawn.Spawn(thing, loc, map, rot);
}
}

public static List<int> CountDividedIntoStacks(int count, IntRange stackSizeRange)
{
List<int> list = new List<int>();
while (count > 0)
{
int num = Mathf.Min(count, stackSizeRange.RandomInRange);
count -= num;
list.Add(num);
}
if (stackSizeRange.max > 2)
{
for (int i = 0; i < list.Count * 4; i++)
{
int num2 = Rand.RangeInclusive(0, list.Count - 1);
int num3 = Rand.RangeInclusive(0, list.Count - 1);
if (num2 != num3)
{
if (list[num2] > list[num3])
{
int num4 = (int)((float)(list[num2] - list[num3]) * Rand.Value);
List<int> list2;
List<int> expr_9B = list2 = list;
int num5;
int expr_9F = num5 = num2;
num5 = list2[num5];
expr_9B[expr_9F] = num5 - num4;
List<int> list3;
List<int> expr_B8 = list3 = list;
int expr_BD = num5 = num3;
num5 = list3[num5];
expr_B8[expr_BD] = num5 + num4;
}
}
}
}
return list;
}
}

}



posted the mod files in attachment if someone wants to test. the half finished biome using the gensteps is the ocean cold one.

thx for reading ;)
#6
Ideas / research tree fix
December 23, 2016, 09:10:49 AM
haven't found a topic with that so here we go...

in short: please fix the current disaster with the research tab.

maybe this is already in the works. not sure, then just delete/lock the topic.

in long: when playing the unstable prerelease of a16 i was really excited for the new research tab. it looked nice and i imagined could have been good for modding. the missing search function in the old list was something that always bugged me, when using mods. the tree seemed to mitigate this mess a bit, so i thought. i did not look into the code at this time. just read some comment there might be problem with it. so then a16 officialy released. i was/am updating my mods.in process looking at the research xml files added the new tag for x/y coordinates. checked ingame. it was meesed up. i thought, okay maybe i made a mistake/missunderstood the process how the research was added.retried etc. did this a few times. then gave in and looked in the forum. saw the reseve research tree lines topic, looked over other mods, saw some streamers. and i must say i'm not sure what to say.

the game lives through mods. people keep playing it, replaying it, coming back to it, buying it, couse of mods. it uses a lot of input/ideas from mods and integrates it into the main game. it's not the main factor, but it's certainly a big one. (dev mode research finish should not be the required mode of action/way to play the game)

what i thought the research tree would do:
in the current state i thought i could put in the location/postion. with that it would create columns, if one colum would be full (since you cant scroll up/down) it would make two. if two research projects have the same place it would move them in an extra column or one of them. i thought every x coordinate would create its own column. so 0.1 and 0.2 would result in the same columns as 1 and 2.

what i wish for:
some sort of search function. even with a tree, mods add a lot and you tend to search stuff and not find it. if the tree stays in the current state at least some sort of up/down scroll. in terms of looks: not the place project random if blocked, but some sort of column/table style they get moved in, which looks okay, even if you add more projects...

on a personal note:
i must say i was really excited to play the new alpha with mods, since most people are in the process of updating them (and are probably done or soon done when i'm finished updating my stuff). but with the research tree thing i would have to edit/adjust every mods xml i use to move/place the project. this seems like such a pain... plus i'm really debatting if it's even worth adding new stuff/mods with this mess. since i can not expect players to edit each research xml and therefor would not even want to use any mods myself.

so yeah, i'm looking forward to hopefully a soonish fix/solution for this. since it's a major flaw within the base game. i can certainly understand modders don't wanting to takle this for the reasons above. hope my topic is in the realm of this subforums rules. if not please remove/edit the lines. but it is/was something that bugged/disappointed me more and more when updating my mods for the alpha.

thx for reading, love the game (still ;) )

edit: some if it was kinda answered here now: https://ludeon.com/forums/index.php?topic=28467.msg287465#msg287465
#7
hey, maybe some one can help and knows what i mean/using it. i read a topic some time ago (last month i think) of some sort of mod manager/update tool. but i can't seem to find it with search and have not remebered much from it. but with the new alpha it came to my mind and i wanted to look into it.

what i remember:
it was some sort of third party tool mod manager/organizer for modders. so if you updated your mods you could assign some update message or/and picture(s). this would be shown to the people using your mods (if they use the tool too). the idea was that with the steam workshop most updates get unnoticed and this should be some workaround. the topic was a bit of a larger read and at the time i just skiped over it. so yeah i know it's not much to go one. but maybe i'm in luck. currently updating my stuff for a16 anyway. but thought about it and seemed like an option to look into for future updates on mods.

thx for reading ;)

have found it: hugsLib https://ludeon.com/forums/index.php?topic=28066.msg284401#msg284401
#8
hey,
was trying to get solarpanels with other poweroutput in the game. i got the power i wanted and all seems to work fine. the only problem is, that the bar which shows the power is to large. it tried the same code with the 1700 from vanilla and it looks just right. so not sure what the problem in the code is. was just copypasting the vanilla stuff basicly.

dll:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// ----------------------------------------------------------------------
// These are RimWorld-specific usings. Activate/Deactivate what you need:
// ----------------------------------------------------------------------
using UnityEngine;         // Always needed
//using VerseBase;         // Material/Graphics handling functions are found here
using Verse;               // RimWorld universal objects are here (like 'Building')
//using Verse.AI;          // Needed when you do something with the AI
//using Verse.Sound;       // Needed when you do something with Sound
//using Verse.Noise;       // Needed when you do something with Noises
using RimWorld;            // RimWorld specific functions are found here (like 'Building_Battery')
//using RimWorld.Planet;   // RimWorld specific functions for world creation
//using RimWorld.SquadAI;  // RimWorld specific functions for squad brains

namespace sd_power
{
[StaticConstructorOnStartup]
public class sd_power_CompAdvPowerPlantSolar : CompPowerPlantSolar
{
private const float FullSunPower = 3400f;

private const float NightPower = 0f;

private static readonly Vector2 BarSize = new Vector2(2.3f, 0.14f);

private static readonly Material PowerPlantSolarBarFilledMat = SolidColorMaterials.SimpleSolidColorMaterial(new Color(0.5f, 0.475f, 0.1f));

private static readonly Material PowerPlantSolarBarUnfilledMat = SolidColorMaterials.SimpleSolidColorMaterial(new Color(0.15f, 0.15f, 0.15f));

protected override float DesiredPowerOutput
{
get
{
return Mathf.Lerp(sd_power_CompAdvPowerPlantSolar.NightPower, sd_power_CompAdvPowerPlantSolar.FullSunPower, SkyManager.CurSkyGlow) * this.RoofedPowerOutputFactor;
}
}

private float RoofedPowerOutputFactor
{
get
{
int num = 0;
int num2 = 0;
foreach (IntVec3 current in this.parent.OccupiedRect())
{
num++;
if (Find.RoofGrid.Roofed(current))
{
num2++;
}
}
return (float)(num - num2) / (float)num;
}
}

public override void PostDraw()
{
base.PostDraw();
GenDraw.FillableBarRequest fillableBarRequest = default(GenDraw.FillableBarRequest);
fillableBarRequest.center = this.parent.DrawPos + Vector3.up * 0.1f;
fillableBarRequest.size = sd_power_CompAdvPowerPlantSolar.BarSize;
fillableBarRequest.fillPercent = (base.PowerOutput / sd_power_CompAdvPowerPlantSolar.FullSunPower) * 0.5f;
fillableBarRequest.filledMat = sd_power_CompAdvPowerPlantSolar.PowerPlantSolarBarFilledMat;
fillableBarRequest.unfilledMat = sd_power_CompAdvPowerPlantSolar.PowerPlantSolarBarUnfilledMat;
fillableBarRequest.margin = 0.15f;
Rot4 rotation = this.parent.Rotation;
rotation.Rotate(RotationDirection.Clockwise);
fillableBarRequest.rotation = rotation;
GenDraw.DrawFillableBar(fillableBarRequest);
}
}
}

xml:
<!--================================= adv solar =================================-->
 
  <ThingDef ParentName="BuildingBase">
    <defName>sd_advanced_solar_generator</defName>
    <label>advanced solar generator</label>
    <thingClass>Building</thingClass>
    <graphicData>
      <texPath>Things/Building/Power/SolarCollector</texPath>
      <graphicClass>Graphic_Single</graphicClass>
      <drawSize>(4,4)</drawSize>
      <damageData>
        <rect>(0,0.6,4,2.8)</rect>
      </damageData>
    </graphicData>
    <altitudeLayer>Building</altitudeLayer>
    <passability>PassThroughOnly</passability>
    <pathCost>70</pathCost>
    <fillPercent>0.5</fillPercent>
    <castEdgeShadows>true</castEdgeShadows>
    <statBases>
      <MaxHitPoints>500</MaxHitPoints>
      <WorkToMake>4000</WorkToMake>
      <Flammability>1.0</Flammability>
    </statBases>
    <tickerType>Normal</tickerType>
    <description>Produces electricity from sunlight. Does not work in the dark.</description>
    <size>(4,4)</size>
    <building>
      <ignoreNeedsPower>true</ignoreNeedsPower>
    </building>
    <costList>
      <Steel>100</Steel>
      <Component>3</Component>
    </costList>
    <comps>
      <li Class="CompProperties_Power">
        <compClass>sd_power.sd_power_CompAdvPowerPlantSolar</compClass>
        <basePowerConsumption>-1</basePowerConsumption>
        <transmitsPower>true</transmitsPower>
      </li>
      <li Class="CompProperties_Breakdownable"/>
    </comps>
    <terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
    <designationCategory>Power</designationCategory>
    <staticSunShadowHeight>0.20</staticSunShadowHeight>
    <constructEffect>ConstructMetal</constructEffect>
    <researchPrerequisites>
      <li>sd_adv_powergen_research_adv_solar</li>
    </researchPrerequisites>
  </ThingDef>


so yeah, was tryining around a bunch and don't seem to find what i did wrong and its driving me crazy^^. would appreciate some help if someone got a hint for me. thx for reading ;)

edit: forgot to mention the xml is just vanilla solar panel with other name and the comp i defined in the dll. nothing different there.
#9
Ideas / random stuff, mostly tweakery things
November 05, 2016, 01:05:12 PM
just some random thoughts on my part. love the game and keep up the good work. so hope i dont get to much into rambling. some things might already be suggested by other people, just my take on things. some things might already been fixed/tweaked in the upcoming alpha.

animals:

i currently feel there is no real need/benefit from keeping animals. in the early fighting were they have some strength it takes away alot of working power from your colony. pawns running over the map to try to tame one thing. having some starting animals helps early one, but i feel its more of a support thing. in later fights (mechs, bigger raids) you end up with gunfights most of the time. so an animals get shot down before it reaches the enemy (or badly wounded). you need to have a specific set up (walls,door system etc.) to use them to some effect in the later gameplay. so in the early game i currently feel the time of your pawns is better spend working other jobs and later on, for fighting the enemys are to weak in comparison to the enemys you face. which doesn't mean your enemies are to strong, i just find the animals are to weak.

the use in fighting usally makes all other non hauler animals useless. since for the most part of the game they do nothing for your colony, just eat your food. which is low at the start in most cases.

so for non fighting uses i usally try to have some muffalo's. i like how they look and their wool is great. but its more of a "nice to have" thing, other then a efffective animal. in general i feel the wool grow of the animals is way to slow. by the time i have enough animals to make some cloths with their wool. enough raids have droped dead to give me better/same level gear. or its so late in the game,that i dont need the cloth anymore. so i feel the effort/result of animals giving textiles to produce stuff does not really stand in any relation. the benefit comes usally to late in the game to make a difference.

so with animals producing stuff, i haven't tried around much. so not sure if thats already tweaked, compared to the older alphas.

another thing is i once tried to breed/have some megatheriums for fighting. bought some from a trader. they have a high taming difficulty. my tamer with 15+bionics ended up getting the 4 animals to obedience and 1 of them one piont in release. all that in 1 year. so i feel there need to be some tweaking to be done or other system for longer term tasks. to make rarer animals even possible to train/use.

possible solution(s) for animals:


for fighting a draft option would be nice (has been already suggestes from what i have seen). this would remove the animals not responding or responding to late in fights or when your colonist is drafted. the issus would be you could have your animals draftet basiclly forever, since they have no real mental break bar, just need to eat/sleep. and no please dont add a mental bar for animals, so they can break every time like colonists XD. an option would be they can only be drafted if their master is drafted. if he breaks/gets undrafted they would just wander away, do their thing.

for combat effectiveness i would like to have maybe a slight buff to animals you have trained for fighting (release). i would make sense that a wild dog would not be as strong as a dog my colonists trained. so just a buff to dps for 1 point and some health buff, would make them more durable in combat. it would on the other hand give the player an incentive to train the animals other stuff then obedience and hauling. this would make trained animals a bit more dangerous when they get mad. but there for the buff should not be to large.

for hauling i would either make all animals able to haul. since at the moment this is the only real use they have most of the time in the colony. or give the non haulers a real benefit to keep them over a hauling animals.

what i would love to see is some more benefits in specific roles. what i mean by that is, some animals would be really outstanding in combat (good dps, health), others would be good for animals products and others would be good nuzzlers (big joy/thought buff). there could be breeding animals too, which would duplicate like crazy. so having an animal would make them good in one of there 4 arfeas or severals. but in generals if an animals can't haul and fight. it would be good for producing or give a larger nuzzle buff. so there would be some benefit from keeping these, other then dead in your fridge^^. so this concept would mean, there are no "deadend" animals. which means every one would be good for something in another way. not sure if that is what you want. so i can totaly understand that the idea to have some animals giving no real positive upsides compared to others could be a thing in a game were failure is part of the process. just my thougth on the "roles" as they are.

for the taming i would love to see some kind of long term buff. what i mean by that is, that if an wild animals is being tamed for a longer period of time (could be 1 season or longer). after this initial period each taming attempt if failed will lower/increae the taming difficulty long term. for animals that would probably mean lowering the wilderniss. for example for 1 season i try to tame an elephant. i fail. after this one season each tame if fail again. there is an additional roll. if i suceed, the wilderness gets lowered by 1% permanent (just example numbers). when i then come back and try again, the animals would be easier to tame. if i fail again, i can roll again and make it easier (if i have a good tamer). so i would have a reasonable chance to tamer higher tier animals if i keep trying long enough. to dont make this frustrating (raising an "normal" animal to 99% wilderness), there should be a range this could be done (+/- 10% or 20% for example). so if you have reached to lowest possible chance with the rolls it can only stay or go up. the other thing is that this rolls should not be too difficult. was thinking abouth the values of what the hospitality mod uses when improving fraction relations. where if you have a reasonably social skill it is usally more in your favor. since you tamed already for an initial period your tamer will probably have that and the odds will be in your favor overall. so its not super frustrating for the player if the chances get lower and lower (can still happen).

prisoner/recruitment:

the prison breaks seem super strange. since it kills them for the most part. so would love to see some tweaking there. the other thing is that i feel like i dont have any control over if/when they happen as a player. haven't looked at the code, so not sure if i'm wrong here.

if your warden dies your chances to recruit are gone. since they lost their dear friend.

the recruitment seems more random then on other alphas before. what i mean by that a higher social skill seems to have lees impact. i felt like before having a 10+ social person would guarentee me most lkower chance prisoners in a reasonable amount of time. now its more of a coin toss.

having good mood on your prisoners seems not so much required. there is no real benefit for building a nice prison. mostly for the thing i mentioned above. recruitment feels more random.

possible solution(s) for prisoners/recruitment:

personally would like to have the prison breaks be a bit mood dependent. this would give the player a ebnefit from having a good prison. might still couse problems for a colony needing people and don't having a good prison yet. so should be some balance there, to not just have constant prison breaks in early game colonys.

which warden you use should make no difference. i assume the prisoners would be in my colony as such. that means there would be no random social chats to them if "bob" just died or "why they suddenly have a new warden". there would be hard interrogation and recruitment tactics at play to get them as part of my colony. so how would they know he just got shot by friendly fire? they should not get the social buff for the relation ship, since a new warden would have to build that. but not the insane debuff they have currently. mabe a "where is ..." thought with text "my warden just disappered i dont know were he is gone. i fear he might be dead.". but this should not be as bad as it currently is.

would like to see social skill and prisoner mood matter a bit more in terms of chance. i usally feel it makes not suche a big difference like in past alphas. and the social skills feels more like a tradeprice negotiation skill. just my impression. but there should be some benefit from having a 15 or 5 social person doing the wardening. and currently i dont feel this. maybe just my personal impression so.

for long term prisoners which are harder to recruit i would like to see some fail roll system. much like i suggested in the animal section. meaning if i have a prisoner for 1 season, he eats my food, takes time from my warden. there should be rolls after failing a recruitment to lower his prisoner recruitment difficulty. this should be in a certain range. so a 60ish difficulty person doesn't get a 99. and the chances should be in your favor, since i assume your wardens would be smooth talkers.

playerimpact/allowed microing:

this kinda concerns several smaller things. but hold a bigger question for me. which is: how much are you as a player allowed to interfere/micromanage your colonists?. what i mean by that currently i can tell my colonists what to wear. i can let them take drugs. i can forbid them to do stuff. i can give them a zone to be in. i can asign beds. so i n short i can do alot as players. if i "fail" to manage my colonists correctly, they respond by "breaking". means me losing control. you all know that. but this mechanic implies one thing. that i as a player can do all/control all parts of my colonits life to prevent losing control over them. thats how i understand it at least. maybe i'm wrong here in this assumption. then the other stuff might be not valid ;)

in the current alpha i can not control all. i know the the storyteller events are out of control, that not what i mean. i mean gamemechanics in place for your colonists, which break this system of "mange and you are rewarded by having control". i unsure if this is intended or just a thing of the current alpha state. maybe these get fixed or are alreadyy with the new alpha. but it seems for me more like a design thing of the mechanic.

the things i'm refering to are:

pyromanics:
you don't have any control over these pawns. they can "break" anytime. they can be happy, they can be sad. it doesn't matter. the break doesn't show you as a player,that you have "missmanaged" your colony. its just the pawn doing stuff for no reason. one reason why i dont take pyros in colonys anymore and see other people dong the same.

possible solution(s) for pyros:

this was suggested in a stream not my idea: have some kind of fire needs bar. the colonist will search for fires (torches, cremation, smelter, campfire) to look at and fill the bar. if not he breaks. you can provide these sources and fill the need.

another option with out the bar would be to let these pawns just take joy from fire. that means there are new joy activites for these pyros. they can only do these and they will only do these for joy. other non pyro pawns will not do these. they just stand infront of the fire source and gain joy. could be faster then normal people would gain joy by their joy sources. so you would have some benefit from having these pawns. but this would give the player the power to control this pawn.

social fights:
yes they pawn x hates pawn y, but would he care if he just did some drugs, had sex and drank a beer? or if the enemys are literally shooting at him,trying to kill his butt? i mean currently they can happen everywhere at anytime. i dont see happy pawns getting into these less often. maybe wrong here.

the other problem is that in the past with the "had a nice talk" buff, there was a reason to keep a common room for pawns to meet up to eat and have joy activitys. at the current state i feel having them meet up leads to more "being insulted by xy". so there is not e real benefit of keeping your people "together".

possible solution(s) for social fight:
as i wrote at the start just make them mood depended and not possible when drafted. a happy pawn will not care if he just got insulted. so this would mean you could actually give people bionics arms/scyther blaeds without the fear of just killing each other at random times for no reason.

another thing i would like to see is a incentive to let people eat/spent time in a room. maybe give them a positive thought when they eat at the same table. or if they do the same activity in a room. both doing joy in your rec room. they would gain a positive mood buff and/or relation ship boni. since they do the same thing and bond over this. don't know just a thought. problem with the last one would be you could "force" pawns in relationships. so not sure. but some sort of benefit from having a room to meet up would be good. could be something totaly different.

chemical interesst/drugs:
i know they are new and probably some tweaking to be done  already. but if you have a person with the drug trades. and a random raider/visitor died somewhere on the map and left some drugs and you didn't notice you person seems to break randomly. i haven't found that this is mood dependent. maybe wrong here. but i feel like the pyros they just randomly break. know where the drugs are. know that thee are even drugs on the map. i know as a player i could search the map and burn them. but for that i have to know they exist. if some enemys die's on retreat or a visitors dies somewhere you dont get a message like "drugs are droped by a corps". you will know when the person breaks. and there is no tool to show current "loot" on map.

i like that the trait has a use now. but like the pyros it is more a "do not take this person" trait. then a good feature with drawbacks and benefits.

possible solution(s) for chemical trait:
can think of two ways. either make a message pop up,when drugs are doped by raiders/visitors/traders when they die. or change the trait to be mood dependent. the third thing would be to change the trait a bit. there could be some higher/lower resitance to addiction or some mood buff for people with that trait, if they took drugs. there could be the option that they take more drugs for one dose, then a normal person. or they could have more drugs active before overdosing.

other random stuff:

corpse eating/what to eat:
as soon as they go hungry they bite in the first thing they see. could be raw food, could be a corpse... this is not so much in the theme form above. since you can provide food as a player to prevent this behaviour. but i feel i covers this a bit. since i have a menu for cloth, for drugs. why do we not have a meals/foods menu. we could check what they can eat and what not. (if done, please forbid corpses as a preset). they would just not touch these things, which are disabled. the order of finer meals first, them simple,then raw stuff would still be there. maybe add an option to change this. would be nice for managing. but i feel this eat whatever takes the player control away in a way. especially when your colonists get hungry getting your cook to make some meals ends up being a micromanaging nightmare. since the colony work comes to a standstill. since everyone rushes to the food and you can just draft them. so with a menu,they would still be grumpy. if there mood would be very bad,they would still break and go on a food binge. then there setting would be whatever and you would have to deal with a colonist eating all you got. so it would still be fair in that way. but you would not have to draft all/lock doors etc to get stuff done if on low food.

animal hunting: probably already aware of that. but if a colonist gets hunted by an animals you usally just know it,when he/she gets hit. meaning its to late. would like to see a message pop up and game slow down/stop if this happens. so you can save your colonists. another thing with animals hunting i noticed. (was playing with ck animal mod in jungle). if there is no smaller size animal around they just wait. in my cases there were larger animals on the map (elephants). the animals added by the mod had a way higher dps then the elphants and would have had no problem hunting them. but they kept waiting for my colonists to wander out of a door to hunt them or till a smaller animal would come on the map or raiders/visitors.

presets:
already posted this in the cheap suggestions. but the presets for meals should disable the meat for insects. medical use should be doctors only, that you dont have to disallow your medicine.  the drugs should be all disabled at the start. these can still be open if a player has the tutorial/learning helper thing turned on. to get the feedback and the effect if things go wrong get wasted. but for expierienced players this are tideous taskes. that you disable every time, every run and could be fixed super easy.

fleeing:assume this is already fixed in the new alpha. but enemys fleeing wrecks your base more then during there assult in larger raids.^^

doctoring/appareal: the getting up to change cloth thing is really anoying when treating people. but you probaly know that already.

so yeah, thanks for reading. as i said at the start great game love it. just some thought of mine about the current alpha.
#10
Ideas / endgame/game goal ideas
November 05, 2016, 10:25:38 AM
some other endgame goals. just some rough idea's on my part:

1. build some kind of monument (wonder of the world thing like) [wealth calculated game ending]:

for the tribal/low tech runs. the goal is to build a statue/monument etc to represent the greatness of your people. this would be an fixed object, with lots of work+ressouces. or could be just an area you specify,where you have to reach some very high amount of wealth inside this area. if your tribe reaches this you will be remembered by the Rimworld. would be a wealth determined game ending if this would be the end. another bit modified version could be. at the end, when you finished building, there could be envy from the other tribes/fractions on the map. they will try to destroy your glory. means you would have constant raids from all sides of the map and your tribe would die in glory, having build a great monument and will be remembered in history. (the finishing of the building could just set all others as hostile and increase the raid frequency by alot and difficluty therefor, but i like the constant raids more^^).

2. reach some kind of trade wealth [wealth calculated game ending]:

with the teasing of the caravans it seems to be a thing. the story would be a bit pawn backstory specific maybe. since you would be a washed up /failed trader determined to prove the Rimworlds wrong. you would have to reach a certain amount of silver earned by sales. with the earned silver you will by your way back to your old glory. when you have the money a ship would land coming for your trader to pick him up. if he dies you fail. maybe could be that if a family member is there these pawns would carry on. just a rough idea.

3. mining outpost/exploration [deep mine certain amount of rare metal]:

you are sent to explore this world for rare metals. (could be other resources found with the deep scanner.) here some of the ressouce in the deep mines would be rare metals you have to search for. depending on the difficulty these could be spread around the map or near one spot. you goal would be to deep mine these material. each week (or season) a mining transporter would come by to pick your materials up. would work like a trade beacon spot. it just gets beamed up. you would have to mine a certain amount then your mission would be finished and your team would be sent home. there could be some difficulty increae the further you get to the end (more raids or events in general maybe).

4. conquer/diplomat expedition [kill all or make all fractions friendly ends]:

send by an army as a spy your task is to prepare this rimworld for the assult of your troops. this means you will have to either wipe out (if with the new alpha 16 its possible to attack other bases this could be a thing) or make friends with all fractions. if your task is done, the map would be swamed with your trops landing and you win. this scenario would probably require some tweaking with the release prisoners for reputation and the ability to befriend all fractions. so that you can not just make a fraction friendly after the first big raid. and woud probaly require some kind of interaction option like hospitality to gain rep with the more neutral fraction.

#11
moved this here: https://ludeon.com/forums/index.php?topic=38010

CTS - Complete Tech Solutions




further updates in new topic: https://ludeon.com/forums/index.php?topic=38010



I did not create this mod!

This is just an update of the original CTS mod. the description and all content is taken from there. thanks to the original creator of the mod kexici.


Description:

New high tech power source. (All animated.)
New high tech medical resource.

Add:
POWER SOURCE
Small plasma generator (need charge first - its basic from clutter by mrofra )
- need charge first ( -1000W) after you get 100% free energy :D (+1000W)
- but beware : dont interupt the charge proces - > start from begining :D  and its a loooong time
Big plasma generator (need charge first)
- need charge first ( -10000W) after you get 100% free energy :D (+10000W)
- but beware : dont interupt the charge proces - > start from begining :D  and its a loooong time
Plasma fueled generator ( idea from Glitter Tech)
- work for Uranium  (full tank = 10 = 1 season = 5000W)
- must be build outdoor (nobody want smoking reactor in bedroom) ( maybe Tony Stark :D )

MEDICAL SOURCE
Hi-tech hospital bed
Advanced medicine laboratory (now you can craft all medicines)
Advanced vital monitors
2 new medicines - Bandages (cheap, made from cloth, can be make in tailoring bench)
                         - Nano-tech medicine (better then glliterworld)
1 new operation - TAKE BLOOD :D (use blood bags to make medicine)


Author
kexici

credits for super ideas for code or graphics to mrofa and his Clutter mod

updated by erdelf and sulusdacor

Thx to theubie to use his designator code from his Shutdown All Mod


Download

further updates in new topic: https://ludeon.com/forums/index.php?topic=38010

Steamworkshop: https://steamcommunity.com/sharedfiles/filedetails/?id=792364419

Dropbox: https://www.dropbox.com/s/kxfeobbwq5qogzt/CTS_b18.7z?dl=0

source code for modders: https://www.dropbox.com/s/pehfb9efvuj2svl/CTS_b18_source.7z?dl=0

Version for previous Rimworld versions can be found in my dropbox folder with older mods: https://www.dropbox.com/sh/zicyfuehl0aeta2/AADHVYYYU8yhJ2yUWttwnf1ma?dl=0

Compatibility Patches

further updates in new topic: https://ludeon.com/forums/index.php?topic=38010

CTS+vanilla: adds the adv vitals monitor from CTS to all beds in vanilla
CTS+vanilla: https://www.dropbox.com/s/c6wmzjzzk0h98a8/CTS_b18_patch_vanilla.7z?dl=0

CTS+more furniture: adds the linkable stuff in more furniture to the adv hospital bed form CTS
CTS+more furniture: https://www.dropbox.com/s/m6swumtp03nte4p/CTS_b18_patch_morefurniture.7z?dl=0

CTS+[sd]goodnight: adds the adv vitals monitor from CTS to all beds in goodnight
CTS+[sd]goodnight: https://www.dropbox.com/s/0cns6r7um46rs3v/CTS_b18_patch_goodnight.7z?dl=0

CTS+[sd]medicaddons: adds the linkabel stuff form medic adoosn to the adv hospital bed form CTS
CTS+[sd]medicaddons: https://www.dropbox.com/s/8zcm60l5l08lqot/CTS_b18_patch_medicaddons.7z?dl=0

CTS+RIMkea: adds the adv vitals monitor from CTS to all beds in RIMkea
CTS+RIMkea: https://www.dropbox.com/s/2vqf8fdm6rw6869/CTS_b18_patch_RIMkea.7z?dl=0

CTS+[T]MoreBeds: adds the adv vitals monitor from CTS to all beds in MoreBeds (works with both versions)
CTS+[T]MoreBeds: https://www.dropbox.com/s/7s2b81jh6xo22ey/CTS_b18_patch_T_MoreBeds.7z?dl=0


How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Permission:
Free for all with small credits ;)

Changelog
changelog for mod "CTS - Complete Tech Solutions"

- 10/11/2016

- added minifieable furniture tag to power sources, made the big plamsa gen + geoplasma rotatable

- 19/11/2016

- make powergenerators passthroughonly with pathcost 150
- removed blocklight from bigplasmagenerator

- 20/11/2016

- added designator for takeblood in orders menue
- added heatpusher to plasma geothermal

- 05/01/2016

- updated to a16
- updated hediff xml tag comp
- added research def abstract base, requirement hitech bench + multianalyzer was missing
- research position x=17-19, with y=1 and y=2 (2 only for x=17+18)
- added mass to bloodbag (0.25), nanotechmed (0,5) (didnt change the medical potency)
- moved abstract in own xmls
- added trade tag "furniture" to medical equipment
- added new Roomidentifier property to adv hospital bed
- added mass medicine lab (75), adv vital monitor (30), adv hospital bed (65)
- set ai chill destination to false on adv vitals monitor
- adv vitals monitor: set medicaltend+immunity gain speed to double normal vital monitor values on adv one
- adv hospital bed: set medical tend to 0.20 (double vanilla value), immunity gain stayed at 1.3
set bed heal per day to 16 (12 is vanilla hospital bed)
- plasma big gen, set mass to 1250, added ai chill destination to false xml tag line
- plasma gen, set mass to 500, added ai chill destination to false xml tag line
- plasma geothermal gen, set mass to 750, added ai chill destination to false xml tag line

- 13/01/2017

- fixed the worktomake bug in thingdefs to new xml tag worktobuild
- updated the dll file to a16
- added prisoner take blood acceptance to designator, removed the multiple billstack check (couldn't get it to work)
- added own recipe class to make take blood always sucessfull, the medicine 5 skillrequirement is still there. so should be okay

- 05/06/2017

- update to a17

- 06/06/2017

- code updates to changes in core code in a17
- added sellprice factor to buildingbase

- 09/06/2017

- changed deteoration from 10 to 4 (similar other vanilla natural bodyparts)
- updated the thingdef_item xmls for base (added ticker never) and blood (natural bodypart,haulable,tradetag)

- 10/06/2017

- added ingredient medicine to bloodtakerecipe
- added url to forum topic in about file

- 13/06/2017

- added bloodtake designator over patchoperations to order menue to fix a conflict wiht the mod stuffed floors

- 29/12/2017

- update to b18
- code update for recipe, bill missing, added sound for designator, sicne message and sound were split in b18
- added disease severity to abstract for hediff disease
- made extra reseach tab, since mod adds 5 projects
- <Defs> for others stuff like researchprojectdefs
- fixed case sensitive xml tags
- added <prioritizeSustains>true</prioritizeSustains> to workgiver for make medicine
- removed ignore needs power xml tag
- added adv components to stuff:
all medical stuff= 20 comp to 5 comp and 4 adv comp
plasma geo same as above
big plasma= 30 to 10 and for 20 comp same as above
small plasma= 3 comp to 1 adv (didnt wanted to make more then 4 res to build and only 21 wealth incr)
- recipe nano medicine ingredients, replaced 4 components with 1 adv component


moved this here: https://ludeon.com/forums/index.php?topic=38010
#12
hey,
i am currently working on updating the CTS - Complete tech solutions(link to original topic) mod for a15. the xml stuff is working fine as far as i tested. im stuck on the dll files. since i have no real clue what i'm doing in c sharp 99,99% of the time. i was wondering if someone would be so kind to join me in my update quest =)

my current progress: https://www.dropbox.com/s/kzylgp6gp3h8gmz/CTS%20current%20progress.7z?dl=0
(the original mod thread has the source code for the old assemblies. if you wanne use these.)

What i did so far:

As said i got rid off all the xml erros, by updating the files. further i did mostly "cosmetic" stuff for the xml filestructure:
- added CTS_ infront of all xmls names
- added the CTS for all defnames
- moved textures in a own CTS folder
- made adv vitals monitor icon smaller, to not overlap if you have 2 rows of furniture when using mods
- added abstract for adv hospital bed, to have linkable facilities section at the top of the file, added in comment form there currently linkable facility defs for people to enable if they use the other mod.

(Did the CTS to name mostly to better identify the thing the mods add, for potential errors/conflicts with other mods.)

The non-cosmetic changes i did:
- removed the medicine recipe, since this is in the base game currently (currently just "blurred out" in comment section code still in the xml)
- made the advanced medical bed linkable to the vitalsmonitor (seemed logical, sicne it can link to any bed)
- made the medical lab minifiable
- made the medical buildings selectable

Was not planning on overriding the vanilla beds, since i imagined that the adv vitals monitor somewhat needs a special electric connection/interface,which the beds provides. but was just my thought, the upside to this is that the mods stays a bit more compatible to other mods overriding vanilla beds.

Hope i did not the forget aynthing. was messing around with the dll files, but felt like i got nowhere really. so here i am. feel free to join.

thx for reading and taking the time ;)
#13
Help / build/place on water [solved]
October 25, 2016, 06:18:14 PM
so what i wanted to do is make some kind of bride(thingdef building) and/or terraindef which can be placed on water. the optimal solution would be that it could be placed anywhere. so you can build a walkway from water into land.

was looking over the mods,that use some sort of placement on water and thought this would be possible with a placeworker only. since most of them used some sort of water only type thing, i started with the place on water only. my current placeworker was:
public class PlaceWorker_OnWater : PlaceWorker
{
public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot)
{
TerrainDef named = DefDatabase<TerrainDef>.GetNamed("Mud", true);
TerrainDef named2 = DefDatabase<TerrainDef>.GetNamed("WaterShallow", true);
TerrainDef named3 = DefDatabase<TerrainDef>.GetNamed("WaterDeep", true);
if (Find.TerrainGrid.TerrainAt(loc) == named
    || Find.TerrainGrid.TerrainAt(loc) == named2
    || Find.TerrainGrid.TerrainAt(loc) == named3)
{
return AcceptanceReport.WasAccepted;
}
return new AcceptanceReport("Must be placed on water.");
}

with this version i got the report line on land placing, but on the waterterrain i got "This terrain cannot support this".
when i switched out the last new acceptanceReport... for the AcceptanceReport.WasAccepted line. i could place my buildingdef and terraindef both on all landtiles, where you could normaly place stuff. so basiclly one half of what i wanted. granted not the one i wanted this to make for in the first place^^.

so my thought process from this point, was that the water tiles are somewhat locked from the game side for where you can build. but could not find there place where you enable them for building. was looking in the core game assemblies, but dont really know where there. so i probaly looked in the wrong places. or do i need to make a new building class for this and placeworkers dont really work for this kind of thing? can i enable the watertiles for construction somehow? kind of cluess myself.

would really appreciate some help/directions where to look. total coding newbie so please be gentle ;)

the file is in the attachement. currently has two placeworkers. was playing around with the one from fishindustry, so dont wonder. work in progress.

[attachment deleted by admin due to age]
#14
Mods / [mod idea] vegetation grow events/mechanics
October 25, 2016, 07:05:56 AM
short version: conter measures agains desertification

long version:
Quotecurently nearly every map ends up looking like a desert after a few years. with the shorter toxic fallout it is not as bad as it used to be. but alpha beavers, fires, poisen ships  and animals eating the gras. so i would wish for some event/mechanics to counter this process. so that i still notice other then the temperature, which biome i'm on.

some suggestions:

- anti toxic fallout event:

basiclly a counter to the toxic fallout from vanilla. just an event thats makes all vegatation grow faster on the map (will affect your crops too, so really all). this would last a few days and so make the deserted maps green again after these days. could be like a bioresearch facility exploded and it released the compound they were working on.

- anti poison ship:

so we talking meteor crash or crazy researcher ship crash. could yield a surviver with research background here for the player. much like the poision ship its invisible radius will increase. this radius increases plant grow by a lot. so it wold make the area green. to add an incentive for the player to get rid of it. there could be a ridiculus plant grow (like forest density, ck animal plant pack). so the vegetation would make walking for your colonists a pain. or it could spawn some man easting plant. poison plants (knock out gas in area?). it could just add some sort of guard fraction, which are strong. their patrol radius would increase with the grow radius. so the player would be in danger. or if there is no incentive to destroy it the radius could just be fixed at a certain poirt so it just adds a green spot on the map, where plants grow faster.

- animal with some sort of spores enter the map:

was strangly thinking about pokemon bisasam like animal. it has some sort of spore storage on the back. when it moves around it "loses" these and makes new plants. the mechanic could be like the ice/fire elemental animals in hardcore sk (dont know which mod it was, just saw them in the pack). where the animal leaves a trail. so our spore-animal would leave a fertile trail. where plants grow faster for a short duration. no permanant richt soil thing, just to make the map green. another option for the mechanic, would be that the animal drops random in a radius around it some spores, these grow a bit faster up to the "adult" state. so you would have some visible green stuff on the map pretty quick. not just baby plants. thrid option would be to make it drop special palnts, which increase grow rate around them in a fixed radius.


so yeah, would love to see some kind of countermeasure there implemented into the base game. thx for reading and taking the time.

PS: postet a link to that in the mod forum, maybe someone wants to pick this idea up as a mod.

posted it in the suggestion forum already, but maybe someone wants to pick this up as a mod.  currently doing other stuff and haven't done any vegeatation stuff + some of the ideas would need coding. not really super qualified for this at this moment. so the idea would sit in my "to do list" for quite a long time, before i would try myself at this.

so yeah feel free to use it.
#15
curently nearly every map ends up looking like a desert after a few years. with the shorter toxic fallout it is not as bad as it used to be. but alpha beavers, fires, poisen ships  and animals eating the gras. so i would wish for some event/mechanics to counter this process. so that i still notice other then the temperature, which biome i'm on.

some suggestions:

- anti toxic fallout event:

basiclly a counter to the toxic fallout from vanilla. just an event thats makes all vegatation grow faster on the map (will affect your crops too, so really all). this would last a few days and so make the deserted maps green again after these days. could be like a bioresearch facility exploded and it released the compound they were working on.

- anti poison ship:

so we talking meteor crash or crazy researcher ship crash. could yield a surviver with research background here for the player. much like the poision ship its invisible radius will increase. this radius increases plant grow by a lot. so it wold make the area green. to add an incentive for the player to get rid of it. there could be a ridiculus plant grow (like forest density, ck animal plant pack). so the vegetation would make walking for your colonists a pain. or it could spawn some man easting plant. poison plants (knock out gas in area?). it could just add some sort of guard fraction, which are strong. their patrol radius would increase with the grow radius. so the player would be in danger. or if there is no incentive to destroy it the radius could just be fixed at a certain poirt so it just adds a green spot on the map, where plants grow faster.

- animal with some sort of spores enter the map:

was strangly thinking about pokemon bisasam like animal. it has some sort of spore storage on the back. when it moves around it "loses" these and makes new plants. the mechanic could be like the ice/fire elemental animals in hardcore sk (dont know which mod it was, just saw them in the pack). where the animal leaves a trail. so our spore-animal would leave a fertile trail. where plants grow faster for a short duration. no permanant richt soil thing, just to make the map green. another option for the mechanic, would be that the animal drops random in a radius around it some spores, these grow a bit faster up to the "adult" state. so you would have some visible green stuff on the map pretty quick. not just baby plants. thrid option would be to make it drop special palnts, which increase grow rate around them in a fixed radius.


so yeah, would love to see some kind of countermeasure there implemented into the base game. thx for reading and taking the time.

PS: postet a link to that in the mod forum, maybe someone wants to pick this idea up as a mod.
#16
Releases / [1.0] sd Mods - mostly stuff
September 20, 2016, 08:43:31 AM
[sd] - Mods

Topic with all my mod, downloadlinks, short description, short changelog and so on.

My current Mods so far:

Steamworkshop list with all my mods

Dropbox folders:
Current versions
Old versions

GitHub: https://github.com/sulusdacor

All of my Mod Preview pictures use the Rimworld font from Marnador, thx for making that and giving us the option to use it in our mods.

Modpack/License stuff etc:
My mods can be used by anyone for any purpose as long as it's free and there's proper attribution - mod name, author's name.

#17
Outdated / [A15] Furniture - goodnight
September 15, 2016, 09:11:09 AM
made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

goodnight



made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

Description:
Your colony got the booze, but lacks places to snooze, fear not =)
   
   - adds some additional beds
   - all beds can be used like the vanilla beds
   - needs research before you can build them, 3 research projects (medieval, industrial, spacer)
   - adds 3 medieval beds, 2 industrial beds, 2 spacer beds
   - beds are all double beds, except the prisoner one
   

Sub Topic
you can change the color of the medieval+ industrial beds depending on the fabric/leather you use. the prisoner bed changes color depending on the stone/wood/metal used to build. spacer beds can't be changed colorwise. pictures for different colors of the beds can be found on the steamworkshop link.

the rest effectiveness of the beds is a bit higher then vanilla with each tier (1,1 - 1,2 -1,3). that should reflect the need to research them (with the best bed in legendary quality your colonists will still need around 6hours of sleep). tried to balance out the costs a bit too. will probably need some tweaks there. the last tier of bed hast slightly increased immunity gain (1,2 compared to the 1,144 of the vanilla hospital beds). it needs glitterworld medizine to be build to balance this out.

Author
sulusdacor

Download
Steamworkshop: http://steamcommunity.com/sharedfiles/filedetails/?id=763943290
Dropbox:
A15c version: https://www.dropbox.com/s/6gjyksxs0a868jn/sd_goodnight_a15c.7z?dl=0

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Changelog
-
#18
Help / language file for about/name/description in modlist
September 15, 2016, 04:07:33 AM
heyho,
was trying to get some translation in for one of my mods and ran into this issue. Is there a way to get a translation for the about file, which would show up if you activate your mod ingame in your list. at the moment it shows my english name+description, which is fine for me, but i can see people not finding mods this way. I know i could make another about file in the language i want and simply offer a second download link, but this kinda defeats the purpose of the Definject files. so yeah,any ideas?
#19
Outdated / [A15] Furniture - round tables
September 10, 2016, 02:56:21 PM
made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

round tables



made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

Description:
tired of living on the edge? want things to go round? this will (most definitly not) be the solution^^
   
adds three round tables to the game in different sizes (1x1,2x2,3x3). dont needs research to be build.
   
stats from the middle and big one are same as the vanilla tables (short/long). small round table has slightly reduced stats compared to the short vanilla tables.
   

Sub Topic
the small table costs 30 stuff and has 80 hitpoints. beauty(8->6) and work(1500->1000) is reduced compared to the vanilla table. all tables can be used like the normal ones and can be minified.

Author
sulusdacor

Download
Steamworkshop: http://steamcommunity.com/sharedfiles/filedetails/?id=761403726
Dropbox:
A15c version: https://www.dropbox.com/s/26kgoo2owwik9r1/sd_roundtable_a15c.7z?dl=0

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Changelog
- 17/09/2016 - added german language file
#20
Outdated / [A15] Furniture - chicken nest
September 09, 2016, 02:19:45 PM
made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

chickennest



made a thread for all my mods: https://ludeon.com/forums/index.php?topic=26276.0

pls use that for future feedback and stuff ;)

Description:
adds a nest for small animals to the game. made out of hay, same stats as the animal sleeping box. don't needs research to build.

Sub Topic
the mod just adds another item like the small animal box. you can still build the normal box. the chicken nest is not restricted to chickens only. it can be used by other small animals too,like the normal box. it includes 2 chicken nests with different textures, one darker and one brighter. picture for the brighter one can be found on the steamworkshop link. just another texture to make your base/farm look nice ;)

Author
sulusdacor

Download
Steamworkshop: http://steamcommunity.com/sharedfiles/filedetails/?id=760708576
Dropbox:
A15c version: https://www.dropbox.com/s/jegeu2mfhu9ckxg/sd_chickennest_a15c.7z?dl=0

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Changelog
- 12/09/2016 - added my first brighter graphic as a secound option to the mod, you now have 2 chicken nests in different colors to build, picture on steamworkshoplink, updated description
- 16/09/2016 - added german language file