[1.1] Giddy-up!

Started by Roolo, December 01, 2017, 04:46:29 AM

Previous topic - Next topic

Roolo

Another bug fix update.

Giddy-up! Core -> v18.7.3
- Pawns dying or getting downed while walking to a pawn they are mounting no longer cause errors
- Animals no longer wait to be mounted by Pawns that have a mental break
- Updated Russian and Chinese translations

Giddy-up! Ride and Roll -> v18.1.3
- Pawns no longer attempt to auto mount animals when they have a mental break
- Fixed some minor errors related to job reservations
- Added Russian translations (by Garr Incorporated)
- Added Simplified + Traditional Chinese translations (by LingLuo and Biscuit)

Madman666

Damn, I sure missed a lot! So we can now use mounts to do long-distance mining jobs and the like on big maps! Noooice. Thanks for all your hard work:)

kubolek01

This is one of the most useful mods of all... the only problem is that mounts fall slower than their riders of all ;)
Eat lead, walking pile of silver! (greedy Player)
I...I can't do it. Leave it alive, please!(inner soul)
It lives 200 years to end up as a jacket?!(realists mind)
If I would go to vacation in off-Earth, even fictional place, I'd choose Nibel.

Canute

Together with the Horse mod (8 m/s) it is a nice addition for any none extreme biomes.

Jernfalk

Quote from: Canute on March 18, 2018, 05:51:06 PM
Together with the Horse mod (8 m/s) it is a nice addition for any none extreme biomes.

I'm glad you appretiate it =D

s44yuritch

My researcher decided to ride right into the lab, and then the riding bear stood there waiting for the job to complete. Which the job, being a research, took quite a lot of time to do. Might be a bug, should rideable animals wait for long jobs like research? The animal seems to be excluded from all other animal activities for the time.

Roolo

Thanks for the kind words!

Quote from: s44yuritch on March 19, 2018, 07:18:07 PM
My researcher decided to ride right into the lab, and then the riding bear stood there waiting for the job to complete. Which the job, being a research, took quite a lot of time to do. Might be a bug, should rideable animals wait for long jobs like research? The animal seems to be excluded from all other animal activities for the time.
You can prevent this by placing a no riding area, combined with an mount drop spot (see first page for description). This prevents the researcher for riding into the lab in the first place, and when it parks the mount before entering, the mount will be freed from its duties immediately.

But apart from that it would still be a good idea if animals don't wait when the rider has a research job, since as you pointed out, that's likely to take a long time to complete and likely to be inside the base, so expect that to be polished in the next update. In general it's hard to determine how long the animal should wait. For instance mining can also take very long, but at this case you definitely want the animal to wait for the rider, especially when the deposit is far away from the base. Just for clearness, the animal does stop waiting in any case after a predetermined amount of time. I think I'll also make this time configurable in the mod options.

WalkingProblem

Hey Roloo,

I realised you made a mistake in your patching "reference".

I managed to patch it without error already:

<?xml version="1.0" encoding="utf-8" ?>

<Patch>

<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemAgriculture"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--agriculture ; Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemMining"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemPharma"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemTechnologies"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>




<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemMilitary"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemTradings"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



</Patch>


If you see the codes above, you dun need to repeat the patch twice.

Cheers!

Roolo

Quote from: Walking Problem on March 20, 2018, 01:10:14 PM
Hey Roloo,

I realised you made a mistake in your patching "reference".

I managed to patch it without error already:

<?xml version="1.0" encoding="utf-8" ?>

<Patch>

<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemAgriculture"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--agriculture ; Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemMining"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemPharma"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemTechnologies"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>




<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemMilitary"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemTradings"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>



</Patch>


If you see the codes above, you dun need to repeat the patch twice.

Cheers!

Cool, I wasn't aware of PatchOperationAddModExtension, that's a lot more neat. I'll adjust it in the reference. By the way, I'm not sure if you want to have the same settings for the different factions in the XML snipped you just showed eventually, but if you do, you can further shorten the xml by using the xpath or operator so you could make it:

<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>*/FactionDef[ defName = "WalkblemAgriculture" or defName = "WalkblemMining" or defName = "WalkblemPharma" or defName="WalkblemTechnologies" or defName = "WalkblemMilitary" or defName = "WalkblemTradings"]</xpath>
<value>
<li Class="GiddyUpCore.FactionRestrictionsPatch">
<mountChance>100</mountChance>
<wildAnimalWeight></wildAnimalWeight> <!--agriculture ; Weights can have any integer value, and the relative fraction to the other weight will determine the change a type of animal spawns-->
<nonWildAnimalWeight>100</nonWildAnimalWeight> <!-- setting this to 0 ensures no default domestic animals are spawned -->
<allowedWildAnimalsCSV></allowedWildAnimalsCSV> <!--Use a csv with animal DefNames-->
<allowedNonWildAnimalsCSV>WalkblemCar,WalkblemBike</allowedNonWildAnimalsCSV> <!-- only making this empty will imply no restrictions at all, so make sure nonWildAnimalWeight is 0 if you don't want any domestic animals-->
</li>
</value>
</li>
</operations>
</Operation>


This only works for factions for which you want the same configuration of course.

Ser Kitteh

Dear Rollo,

Two things:
1. Constant updates are great! You're awesome. God bless.
2. Your numbering of different patches however means that I need to delete my old mod folder and copypaste in the new one. And while this isn't that troubling (Steam workshop is a bit unstable for me), it is a bit of an extra step that could be done more elegantly.
2b. I would also, if possible, request you have the drop down setting feature available for all your mods. Not only would this help with the clutter because most users have 2000000 mods installed, it would also be good for the UI.

Keep up the good work, buddy.

PS: Charging cavalry when?

Roolo

Quote from: Ser Kitteh on March 21, 2018, 03:47:49 AM
Dear Rollo,

Two things:
1. Constant updates are great! You're awesome. God bless.
2. Your numbering of different patches however means that I need to delete my old mod folder and copypaste in the new one. And while this isn't that troubling (Steam workshop is a bit unstable for me), it is a bit of an extra step that could be done more elegantly.
2b. I would also, if possible, request you have the drop down setting feature available for all your mods. Not only would this help with the clutter because most users have 2000000 mods installed, it would also be good for the UI.

Keep up the good work, buddy.

PS: Charging cavalry when?

Thanks again :)

2. Hmm don't think I have much control over the folder names. GitHub appends the version name to the zip name automatically. Or did you mean something else?
2b. Not sure what you mean here. Do you mean that the mod settings should be hidden behind a button? So that you only see the mod settings after clicking a tab for instance? The term drop down confuses me a bit.

And you'll have to wait a while for charging cavalry. There's still a lot of polishing to do for Ride and Roll, and when I'm done with that I'll work on a non-Giddy-up! mod I want to create. So maybe after that's released I'll look into charging and other mounted animal skills. No promises though.






Mehni

Hey Roolo. Thanks for the enjoyable mod. I encountered a slight bug.

A hostile tribal came to my base riding a muffalo. I downed him, and his muffalo. The muffalo lots faction allegiance upon getting downed, so I saved it and now I'll try and tame it.

Its owner, whose currently locked up in my jail, keeps trying to get up and mount the wild muffalo outside. He can't ofcourse, because he's locked in jail.

https://gist.github.com/HugsLibRecordKeeper/6f7ec4105f47776d251dc38c5b881ba2

Lemme know if you need the savefile too.

WalkingProblem

Yeah, I somehow gave the same settings to every faction.

But still its a good way to keep things easy to read and adjust (if i ever want to adjust) in the future~

Roolo

Quote from: Mehni on March 21, 2018, 02:10:52 PM
Hey Roolo. Thanks for the enjoyable mod. I encountered a slight bug.

A hostile tribal came to my base riding a muffalo. I downed him, and his muffalo. The muffalo lots faction allegiance upon getting downed, so I saved it and now I'll try and tame it.

Its owner, whose currently locked up in my jail, keeps trying to get up and mount the wild muffalo outside. He can't ofcourse, because he's locked in jail.

https://gist.github.com/HugsLibRecordKeeper/6f7ec4105f47776d251dc38c5b881ba2

Lemme know if you need the savefile too.

Thanks for reporting! I think I can easily reproduce this, so I don't thing I'll need your save. Definitely an interesting problem :)

Canute

I just got a vision that these prisoner use the default escape script and dig through his prisoner wall's to reach his muffalo !
"Don't put wall's between me and my Muffalo" is is shouting. :-)