Jump to content

[mod] [CK2] Dark World: Reborn - Updated 01MAY2024


Recommended Posts

2 hours ago, Kane184 said:

Hey, I was wondering if it would be possible to add an option to the alchemist which makes an enlargement of the balls possible. Should work similar to the options for breasts and penis. I tried it my self via copying the code from the penis event but somehow it won't work. The console says that the event does not exist. On the other hand I tried it also for enlargement of the ass which worked. 

 

1 hour ago, dewguru said:

At this time - since you're talking about traits that are not part of my mod, my answer would be no. I've too many other things that I plan on adding at this time.

 

46 minutes ago, Kane184 said:

Sorry, I thought the balls traits were also part of your mod

To my knowledge, balls are currently found in ALoHa, Noxbestia's Darkest Perversions, and Turtle's DW:ETOS.  The same goes for butt size.  And yes, I plan on making something to interface with Dark World's shopping for growing and shrinking any endowment.  When I do this, expect relatively higher prices for a "sure thing" but generally lower prices for a "take your chance" item.  If you have more questions, ask me in the Darkest Perversion forums.

Link to comment

Is there a way to disable things like Harley and some of the Disney related content? Love most of the mod, but those few things bother me. Love the Lilith, slavery system, and other added bits and pieces. I always use this mod for a while, then eventually stop playing with it, mostly due to Harley. :smile: 

Link to comment
22 minutes ago, AlyImagine said:

Is there a way to disable things like Harley and some of the Disney related content? Love most of the mod, but those few things bother me. Love the Lilith, slavery system, and other added bits and pieces. I always use this mod for a while, then eventually stop playing with it, mostly due to Harley. :smile: 

Well... From what I understand no you cant turn that off (unless they are controlled by one of the rules, maybe Fae content), but you can IGNORE them. The Wonderland events is the only one where you are FORCED to interact with it. (Either to pull Alice out of the hole or ignore her) Simply ignore her. As for Bell (beauty and the beast) once the pop up comes up saying you can visit her village.. don't.  If you don't choose to visit from the intrigue menu she never spawns as a character. 

 

And lastly for Harely: Ignore the court Jester decision. Or at least don't choose wanting a Harlequin and she will not spawn. 

Link to comment
7 hours ago, dewguru said:

Bah. Being able to have chance = myvar would be extremely useful.

 

I've another idea on how I can do what I want using modifiers that check the variable, but that's no where near as straightforward.

 

I was wanting the same ability and asked the same question.  My solution was a scripted effect.  Here is the one I use for pregnancy chance, broken down into 5% increments.  It is ugly, but it works.  Search for the text: log = "ROLL FOR PREGNANCY" for where the core of it starts.

Spoiler

nox_pregnancy_attempt = {
	#######################################################################################################
	# REQUIRED SCOPES:                                                                                    #
	#	MOTHER = event_target:noxMotherToBe (even if male)                                                #
	#	FATHER = event_target:noxSpermDonor (even if female)                                              #
	#-----------------------------------------------------------------------------------------------------#
	# NOTE: While this can be called directly, for the full trigger checks to be added, it should be      #
	#       called from one of the following scripted_effects:                                            #
	#           nox_impregnate_male_try                                                                   #
	#           nox_impregnate_female_try                                                                 #
	#-----------------------------------------------------------------------------------------------------#
	# POTENTIAL CHECKED FLAGS TO SET BEFORE USING:                                                        #
	#   set_character_flag = nox_instant_child                                                            #
	#   set_character_flag = supernatural_breeding_assistance                                             #
	#   set_character_flag = nox_secretly_impregnated                                                     #
	#######################################################################################################
	
	log = "nox_pregnancy_attempt scripted effect:"
	print_scope_effect = yes
	#this = { save_event_target_as = noxSpermDonor }
	#prev = { save_event_target_as = noxMotherToBe }
	
	event_target:noxMotherToBe = {
		export_to_variable = { which = noxFertilityBot value = fertility}
		export_to_variable = { which = noxPregBot value = fertility}
		export_to_variable = { which = noxFertilityTop value = fertility who = event_target:noxSpermDonor }
		log = "The initial chance of conception for the bottom only was: [noxMotherToBe.noxPregBot.GetValue]."
			
		# check for same sex (non-futa) or fertility <= 0 and present of supernatural_breeding_assistance
		if = {
			limit = {
				OR = {
					# 1 of the two is infertile
					OR = {
						event_target:noxSpermDonor = { fertility <= 0 }
						event_target:noxMotherToBe = { fertility <= 0 }
					}
					# the bottom is male
					event_target:noxMotherToBe = { is_female = no }

					# the top is a non-futa female
					event_target:noxSpermDonor = { nox_is_male_or_futa = no }
				}
				# either character having special fertility will override the problem 
				# (even if a not logial combinaiton happens, I can't test for _every_ possibility)
				event_target:noxSpermDonor = { nox_top_has_supernatural_fertility = no }
				event_target:noxMotherToBe = { nox_bottom_has_supernatural_fertility = no }
			}
			event_target:noxMotherToBe = { 
				#set_variable = { which = noxFertilityBot value = 0 }
				#set_variable = { which = noxFertilityTop value = 0 }
				#set_variable = { which = noxPregBot value = 0 }
			}
			log = "PREGNANCY NOT POSSIBLE"
		}
		else = {
			event_target:noxMotherToBe = {
				change_variable = { which = noxPregBot which = noxFertilityTop }
				multiply_variable = { which = noxPregBot value = 50 } # to get base pregnancy %chance
				log = "ROLL FOR PREGNANCY"
					
				# now process pregnancy chance
				# NOTE: there will always be a chance of failure (aka rolling a 1 on d20)
				log = "----------------"
				log = "The chance of conception fed into the if/else is: [noxMotherToBe.noxPregBot.GetValue]."
			
				if = {
					limit = { check_variable = { which = noxPregBot value >= 100 }}
					event_target:noxSpermDonor = { random = { chance = 99 spawn_child_or_pregnancy = yes }}
					log = "chance = 99"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 95 }}
					event_target:noxSpermDonor = { random = { chance = 95 spawn_child_or_pregnancy = yes }}
					log = "chance = 95"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 90 }}
					event_target:noxSpermDonor = { random = { chance = 90 spawn_child_or_pregnancy = yes }}
					log = "chance = 90"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 85 }}
					event_target:noxSpermDonor = { random = { chance = 85 spawn_child_or_pregnancy = yes }}
					log = "chance = 85"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 80 }}
					event_target:noxSpermDonor = { random = { chance = 80 spawn_child_or_pregnancy = yes }}
					log = "chance = 80"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 75 }}
					event_target:noxSpermDonor = { random = { chance = 75 spawn_child_or_pregnancy = yes }}
					log = "chance = 75"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 70 }}
					event_target:noxSpermDonor = { random = { chance = 70 spawn_child_or_pregnancy = yes }}
					log = "chance = 70"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 65 }}
					event_target:noxSpermDonor = { random = { chance = 65 spawn_child_or_pregnancy = yes }}
					log = "chance = 65"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 60 }}
					event_target:noxSpermDonor = { random = { chance = 60 spawn_child_or_pregnancy = yes }}
					log = "chance = 60"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 55 }}
					event_target:noxSpermDonor = { random = { chance = 55 spawn_child_or_pregnancy = yes }}
					log = "chance = 55"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 50 }}
					event_target:noxSpermDonor = { random = { chance = 50 spawn_child_or_pregnancy = yes }}
					log = "chance = 50"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 45 }}
					event_target:noxSpermDonor = { random = { chance = 45 spawn_child_or_pregnancy = yes }}
					log = "chance = 45"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 40 }}
					event_target:noxSpermDonor = { random = { chance = 40 spawn_child_or_pregnancy = yes }}
					log = "chance = 40"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 35 }}
					event_target:noxSpermDonor = { random = { chance = 35 spawn_child_or_pregnancy = yes }}
					log = "chance = 35"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 30 }}
					event_target:noxSpermDonor = { random = { chance = 30 spawn_child_or_pregnancy = yes }}
					log = "chance = 30"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 25 }}
					event_target:noxSpermDonor = { random = { chance = 25 spawn_child_or_pregnancy = yes }}
					log = "chance = 25"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 20 }}
					event_target:noxSpermDonor = { random = { chance = 20 spawn_child_or_pregnancy = yes }}
					log = "chance = 20"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 15 }}
					event_target:noxSpermDonor = { random = { chance = 15 spawn_child_or_pregnancy = yes }}
					log = "chance = 15"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 10 }}
					event_target:noxSpermDonor = { random = { chance = 10 spawn_child_or_pregnancy = yes }}
					log = "chance = 10"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 5 }}
					event_target:noxSpermDonor = { random = { chance = 5 spawn_child_or_pregnancy = yes }}
					log = "chance = 5"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value > 0 }}
					event_target:noxSpermDonor = { random = { chance = 1 spawn_child_or_pregnancy = yes }}
					log = "chance = 1"
				}		  
				else = {
					log = "chance = NONE"
				}
				
				#set_variable = { which = noxFertilityBot value = 0 }
				#set_variable = { which = noxFertilityTop value = 0 }
				#set_variable = { which = noxPregBot value = 0 }
			}
		}
	}	
}

 

 

Link to comment
20 minutes ago, Arbiter1742 said:

I've got a problem, I think. I've started a new game, and the "Go Shopping" intrigue doesn't work. It's lit up, it just does nothing when I click on it. I've got this mod and Toska's active. Is there a conflict somewhere?

My original code that hooked into the shopping event no longer worked and I don't know when Toska was last updated so I am guessing it is not compatible.  (I desperately needed to rework my code anyway, so this is added motivation to do that.  :smile: )

Link to comment
4 hours ago, AlyImagine said:

Is there a way to disable things like Harley and some of the Disney related content? Love most of the mod, but those few things bother me. Love the Lilith, slavery system, and other added bits and pieces. I always use this mod for a while, then eventually stop playing with it, mostly due to Harley. :smile: 

You know - if Harley is in your game - it's no one's fault but your own.

 

The only way that Harley enters the game is by seeking a jester and choosing the Harlequin option. So if you don't want Harley in the game - you can easily control your fate in that regards.

 

Edit: Some Fairy Tale items can be ignored by turning the Fae content off.

Link to comment
3 hours ago, noxbestia said:

I was wanting the same ability and asked the same question.  My solution was a scripted effect.  Here is the one I use for pregnancy chance, broken down into 5% increments.  It is ugly, but it works.  Search for the text: log = "ROLL FOR PREGNANCY" for where the core of it starts.

  Reveal hidden contents


nox_pregnancy_attempt = {
	#######################################################################################################
	# REQUIRED SCOPES:                                                                                    #
	#	MOTHER = event_target:noxMotherToBe (even if male)                                                #
	#	FATHER = event_target:noxSpermDonor (even if female)                                              #
	#-----------------------------------------------------------------------------------------------------#
	# NOTE: While this can be called directly, for the full trigger checks to be added, it should be      #
	#       called from one of the following scripted_effects:                                            #
	#           nox_impregnate_male_try                                                                   #
	#           nox_impregnate_female_try                                                                 #
	#-----------------------------------------------------------------------------------------------------#
	# POTENTIAL CHECKED FLAGS TO SET BEFORE USING:                                                        #
	#   set_character_flag = nox_instant_child                                                            #
	#   set_character_flag = supernatural_breeding_assistance                                             #
	#   set_character_flag = nox_secretly_impregnated                                                     #
	#######################################################################################################
	
	log = "nox_pregnancy_attempt scripted effect:"
	print_scope_effect = yes
	#this = { save_event_target_as = noxSpermDonor }
	#prev = { save_event_target_as = noxMotherToBe }
	
	event_target:noxMotherToBe = {
		export_to_variable = { which = noxFertilityBot value = fertility}
		export_to_variable = { which = noxPregBot value = fertility}
		export_to_variable = { which = noxFertilityTop value = fertility who = event_target:noxSpermDonor }
		log = "The initial chance of conception for the bottom only was: [noxMotherToBe.noxPregBot.GetValue]."
			
		# check for same sex (non-futa) or fertility <= 0 and present of supernatural_breeding_assistance
		if = {
			limit = {
				OR = {
					# 1 of the two is infertile
					OR = {
						event_target:noxSpermDonor = { fertility <= 0 }
						event_target:noxMotherToBe = { fertility <= 0 }
					}
					# the bottom is male
					event_target:noxMotherToBe = { is_female = no }

					# the top is a non-futa female
					event_target:noxSpermDonor = { nox_is_male_or_futa = no }
				}
				# either character having special fertility will override the problem 
				# (even if a not logial combinaiton happens, I can't test for _every_ possibility)
				event_target:noxSpermDonor = { nox_top_has_supernatural_fertility = no }
				event_target:noxMotherToBe = { nox_bottom_has_supernatural_fertility = no }
			}
			event_target:noxMotherToBe = { 
				#set_variable = { which = noxFertilityBot value = 0 }
				#set_variable = { which = noxFertilityTop value = 0 }
				#set_variable = { which = noxPregBot value = 0 }
			}
			log = "PREGNANCY NOT POSSIBLE"
		}
		else = {
			event_target:noxMotherToBe = {
				change_variable = { which = noxPregBot which = noxFertilityTop }
				multiply_variable = { which = noxPregBot value = 50 } # to get base pregnancy %chance
				log = "ROLL FOR PREGNANCY"
					
				# now process pregnancy chance
				# NOTE: there will always be a chance of failure (aka rolling a 1 on d20)
				log = "----------------"
				log = "The chance of conception fed into the if/else is: [noxMotherToBe.noxPregBot.GetValue]."
			
				if = {
					limit = { check_variable = { which = noxPregBot value >= 100 }}
					event_target:noxSpermDonor = { random = { chance = 99 spawn_child_or_pregnancy = yes }}
					log = "chance = 99"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 95 }}
					event_target:noxSpermDonor = { random = { chance = 95 spawn_child_or_pregnancy = yes }}
					log = "chance = 95"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 90 }}
					event_target:noxSpermDonor = { random = { chance = 90 spawn_child_or_pregnancy = yes }}
					log = "chance = 90"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 85 }}
					event_target:noxSpermDonor = { random = { chance = 85 spawn_child_or_pregnancy = yes }}
					log = "chance = 85"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 80 }}
					event_target:noxSpermDonor = { random = { chance = 80 spawn_child_or_pregnancy = yes }}
					log = "chance = 80"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 75 }}
					event_target:noxSpermDonor = { random = { chance = 75 spawn_child_or_pregnancy = yes }}
					log = "chance = 75"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 70 }}
					event_target:noxSpermDonor = { random = { chance = 70 spawn_child_or_pregnancy = yes }}
					log = "chance = 70"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 65 }}
					event_target:noxSpermDonor = { random = { chance = 65 spawn_child_or_pregnancy = yes }}
					log = "chance = 65"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 60 }}
					event_target:noxSpermDonor = { random = { chance = 60 spawn_child_or_pregnancy = yes }}
					log = "chance = 60"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 55 }}
					event_target:noxSpermDonor = { random = { chance = 55 spawn_child_or_pregnancy = yes }}
					log = "chance = 55"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 50 }}
					event_target:noxSpermDonor = { random = { chance = 50 spawn_child_or_pregnancy = yes }}
					log = "chance = 50"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 45 }}
					event_target:noxSpermDonor = { random = { chance = 45 spawn_child_or_pregnancy = yes }}
					log = "chance = 45"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 40 }}
					event_target:noxSpermDonor = { random = { chance = 40 spawn_child_or_pregnancy = yes }}
					log = "chance = 40"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 35 }}
					event_target:noxSpermDonor = { random = { chance = 35 spawn_child_or_pregnancy = yes }}
					log = "chance = 35"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 30 }}
					event_target:noxSpermDonor = { random = { chance = 30 spawn_child_or_pregnancy = yes }}
					log = "chance = 30"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 25 }}
					event_target:noxSpermDonor = { random = { chance = 25 spawn_child_or_pregnancy = yes }}
					log = "chance = 25"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 20 }}
					event_target:noxSpermDonor = { random = { chance = 20 spawn_child_or_pregnancy = yes }}
					log = "chance = 20"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 15 }}
					event_target:noxSpermDonor = { random = { chance = 15 spawn_child_or_pregnancy = yes }}
					log = "chance = 15"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 10 }}
					event_target:noxSpermDonor = { random = { chance = 10 spawn_child_or_pregnancy = yes }}
					log = "chance = 10"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value >= 5 }}
					event_target:noxSpermDonor = { random = { chance = 5 spawn_child_or_pregnancy = yes }}
					log = "chance = 5"
				}
				else_if = {
					limit = { check_variable = { which = noxPregBot value > 0 }}
					event_target:noxSpermDonor = { random = { chance = 1 spawn_child_or_pregnancy = yes }}
					log = "chance = 1"
				}		  
				else = {
					log = "chance = NONE"
				}
				
				#set_variable = { which = noxFertilityBot value = 0 }
				#set_variable = { which = noxFertilityTop value = 0 }
				#set_variable = { which = noxPregBot value = 0 }
			}
		}
	}	
}

 

 

Funny, I did largely the same thing, but by having the random chance being one, then I use modifiers of increments of 5 that look at the variable. It works, and it was also part of my redoing the pregnancy system. :smile:

 

Here is mine if you want to take a peek.

 

Spoiler

impregnate_check_standard = {
    # Standard means two characters can be scoped to
    # Expects event targets
    # event_target:new_dad - is the one with the cock doing the seeding (such as a male or a futa)
    # event_target:new_mom - is the one being seeded (a female)

    # First we check to even see if someone has a chance of getting pregnant
    if = {
        limit = {
            event_target:new_mom = {
                OR = {  # Woman can't be over 45+ unless they're immortal
                    NOT = { age = 45 }
                    trait = immortal
                }
                is_pregnant = no # Can't already be pregnant
                health = 3 # body healthy enough for child birth
                fertility = 0.01 # At least a 1% chance
            }
            event_target:new_dad = {
                fertility = 0.01 # At least a 1% chance
            }
        }

        # We get mom's fertility rating, and prep it for combining with dad.
        export_to_variable = { which = mom_fertility value = fertility who = event_target:new_mom }
        # We get dad's fertility rating, and prep it for combining with mom.
        export_to_variable = { which = dad_fertility value = fertility who = event_target:new_dad }
        #We use mom's rating to set the preggers_chance variable
        set_variable = { which = preggers_chance which = mom_fertility }
        # We then add dad's to the preggers_chance
        change_variable = { which = preggers_chance which = dad_fertility }
        # We divide by two to get a simple percentage
        divide_variable = { which = preggers_chance value = 2 }
        # Then we multiply it in order to give us something to use as our random chance rating
        multiply_variable = { which = preggers_chance value = 100 }

        # Now we determine if it's a 'normal' pregnancy versus a cuck one
        if = {
            limit = {
                event_target:new_mom = {
                    OR = {
                        AND = {
                            is_married = no
                            is_consort = no
                        }
                        AND = {
                            is_consort = yes
                            consort = { character = event_target:new_dad }
                        }
                        AND = {
                            is_married = yes
                            spouse = { character = event_target:new_dad }
                        }
                    }
                }
            }
            random = {
                chance = 1
                # The pregnancy happens
                event_target:new_mom = { impregnate = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
        #event_target:new_mom is consort/spouse of someone else than event_target:new_dad
        else = {
            random = {
                chance = 1
                event_target:new_mom = { impregnate_cuckoo = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
    }
    # And lastly Remove Virgin trait if it's present
    event_target:new_mom = { remove_virginity_trait = yes }
    event_target:new_dad = { remove_virginity_trait = yes }    
}

 

Link to comment
7 hours ago, dewguru said:

Funny, I did largely the same thing, but by having the random chance being one, then I use modifiers of increments of 5 that look at the variable. It works, and it was also part of my redoing the pregnancy system. :smile:

 

Here is mine if you want to take a peek.

 

  Reveal hidden contents

impregnate_check_standard = {
    # Standard means two characters can be scoped to
    # Expects event targets
    # event_target:new_dad - is the one with the cock doing the seeding (such as a male or a futa)
    # event_target:new_mom - is the one being seeded (a female)

    # First we check to even see if someone has a chance of getting pregnant
    if = {
        limit = {
            event_target:new_mom = {
                OR = {  # Woman can't be over 45+ unless they're immortal
                    NOT = { age = 45 }
                    trait = immortal
                }
                is_pregnant = no # Can't already be pregnant
                health = 3 # body healthy enough for child birth
                fertility = 0.01 # At least a 1% chance
            }
            event_target:new_dad = {
                fertility = 0.01 # At least a 1% chance
            }
        }

        # We get mom's fertility rating, and prep it for combining with dad.
        export_to_variable = { which = mom_fertility value = fertility who = event_target:new_mom }
        # We get dad's fertility rating, and prep it for combining with mom.
        export_to_variable = { which = dad_fertility value = fertility who = event_target:new_dad }
        #We use mom's rating to set the preggers_chance variable
        set_variable = { which = preggers_chance which = mom_fertility }
        # We then add dad's to the preggers_chance
        change_variable = { which = preggers_chance which = dad_fertility }
        # We divide by two to get a simple percentage
        divide_variable = { which = preggers_chance value = 2 }
        # Then we multiply it in order to give us something to use as our random chance rating
        multiply_variable = { which = preggers_chance value = 100 }

        # Now we determine if it's a 'normal' pregnancy versus a cuck one
        if = {
            limit = {
                event_target:new_mom = {
                    OR = {
                        AND = {
                            is_married = no
                            is_consort = no
                        }
                        AND = {
                            is_consort = yes
                            consort = { character = event_target:new_dad }
                        }
                        AND = {
                            is_married = yes
                            spouse = { character = event_target:new_dad }
                        }
                    }
                }
            }
            random = {
                chance = 1
                # The pregnancy happens
                event_target:new_mom = { impregnate = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
        #event_target:new_mom is consort/spouse of someone else than event_target:new_dad
        else = {
            random = {
                chance = 1
                event_target:new_mom = { impregnate_cuckoo = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
    }
    # And lastly Remove Virgin trait if it's present
    event_target:new_mom = { remove_virginity_trait = yes }
    event_target:new_dad = { remove_virginity_trait = yes }    
}

 

If I understand ngppgn correctly, you can just do

if = {

   limit = { random > preggers_chance }

   event_target:new_mom = { impregnate = event_target:new_dad }

}

instead of the whole random = {} section.

 

Link to comment
2 hours ago, ngppgn said:

Plus, you should probably use local variables so they aren't uselessly stored in the event receiver after the event chain is done (a local variable is a variable with name starting with "local_"

I didn't use local_ so I could track them with charinfo during testing. To ensure that changes in someone's fertility between sack dances was working. I was getting some really weird results from my early attempts. My intention is to switch it over prior to release, but I'll likely forget and get distracted.

 

2 hours ago, bjc4yw said:

If I understand ngppgn correctly, you can just do

if = {

   limit = { random > preggers_chance }

   event_target:new_mom = { impregnate = event_target:new_dad }

}

instead of the whole random = {} section.

 

I appreciate your reposting this. I have to admit after going back and re-reading what was written, I didn't process what was said. Probably because I was already processing my idea on how to get around the limitation. This would be much cleaner.

 

Thanks to ngppgn for the original idea, and to you bjc4yw for pointing it out after I overlooked its simplicity.

 

Edit: I will need to flip the greater than sign though, making it { random < preggers_chance } as having greater than would actually punish those with high fertility. For example, high fertility resulting in preggers_chance of 75, and you'd need to have a random higher than it in order to get pregnant would have the opposite effect of what's desired.

Link to comment
12 hours ago, dewguru said:

Funny, I did largely the same thing, but by having the random chance being one, then I use modifiers of increments of 5 that look at the variable. It works, and it was also part of my redoing the pregnancy system. :smile:

 

Here is mine if you want to take a peek.

 

  Hide contents

impregnate_check_standard = {
    # Standard means two characters can be scoped to
    # Expects event targets
    # event_target:new_dad - is the one with the cock doing the seeding (such as a male or a futa)
    # event_target:new_mom - is the one being seeded (a female)

    # First we check to even see if someone has a chance of getting pregnant
    if = {
        limit = {
            event_target:new_mom = {
                OR = {  # Woman can't be over 45+ unless they're immortal
                    NOT = { age = 45 }
                    trait = immortal
                }
                is_pregnant = no # Can't already be pregnant
                health = 3 # body healthy enough for child birth
                fertility = 0.01 # At least a 1% chance
            }
            event_target:new_dad = {
                fertility = 0.01 # At least a 1% chance
            }
        }

        # We get mom's fertility rating, and prep it for combining with dad.
        export_to_variable = { which = mom_fertility value = fertility who = event_target:new_mom }
        # We get dad's fertility rating, and prep it for combining with mom.
        export_to_variable = { which = dad_fertility value = fertility who = event_target:new_dad }
        #We use mom's rating to set the preggers_chance variable
        set_variable = { which = preggers_chance which = mom_fertility }
        # We then add dad's to the preggers_chance
        change_variable = { which = preggers_chance which = dad_fertility }
        # We divide by two to get a simple percentage
        divide_variable = { which = preggers_chance value = 2 }
        # Then we multiply it in order to give us something to use as our random chance rating
        multiply_variable = { which = preggers_chance value = 100 }

        # Now we determine if it's a 'normal' pregnancy versus a cuck one
        if = {
            limit = {
                event_target:new_mom = {
                    OR = {
                        AND = {
                            is_married = no
                            is_consort = no
                        }
                        AND = {
                            is_consort = yes
                            consort = { character = event_target:new_dad }
                        }
                        AND = {
                            is_married = yes
                            spouse = { character = event_target:new_dad }
                        }
                    }
                }
            }
            random = {
                chance = 1
                # The pregnancy happens
                event_target:new_mom = { impregnate = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
        #event_target:new_mom is consort/spouse of someone else than event_target:new_dad
        else = {
            random = {
                chance = 1
                event_target:new_mom = { impregnate_cuckoo = event_target:new_dad } # Scope gets impregnated by the value
                # Until we can directly assign a variable to the chance field, we'll do this ugly modifier trick
                modifier = {
                    factor = 5
                    check_variable = { which = preggers_chance value = 5}
                    NOT = { check_variable = { which = preggers_chance value = 10} }
                }
                modifier = {
                    factor = 10
                    check_variable = { which = preggers_chance value = 10}
                    NOT = { check_variable = { which = preggers_chance value = 15} }
                }
                modifier = {
                    factor = 15
                    check_variable = { which = preggers_chance value = 15}
                    NOT = { check_variable = { which = preggers_chance value = 20} }
                }
                modifier = {
                    factor = 20
                    check_variable = { which = preggers_chance value = 20}
                    NOT = { check_variable = { which = preggers_chance value = 25} }
                }
                modifier = {
                    factor = 25
                    check_variable = { which = preggers_chance value = 25}
                    NOT = { check_variable = { which = preggers_chance value = 30} }
                }
                modifier = {
                    factor = 30
                    check_variable = { which = preggers_chance value = 30}
                    NOT = { check_variable = { which = preggers_chance value = 35} }
                }
                modifier = {
                    factor = 35
                    check_variable = { which = preggers_chance value = 35}
                    NOT = { check_variable = { which = preggers_chance value = 40} }
                }
                modifier = {
                    factor = 40
                    check_variable = { which = preggers_chance value = 40}
                    NOT = { check_variable = { which = preggers_chance value = 45} }
                }
                modifier = {
                    factor = 45
                    check_variable = { which = preggers_chance value = 45}
                    NOT = { check_variable = { which = preggers_chance value = 50} }
                }
                modifier = {
                    factor = 50
                    check_variable = { which = preggers_chance value = 50}
                    NOT = { check_variable = { which = preggers_chance value = 55} }
                }
                modifier = {
                    factor = 55
                    check_variable = { which = preggers_chance value = 55}
                    NOT = { check_variable = { which = preggers_chance value = 60} }
                }
                modifier = {
                    factor = 60
                    check_variable = { which = preggers_chance value = 60}
                    NOT = { check_variable = { which = preggers_chance value = 65} }
                }
                modifier = {
                    factor = 65
                    check_variable = { which = preggers_chance value = 65}
                    NOT = { check_variable = { which = preggers_chance value = 70} }
                }
                modifier = {
                    factor = 70
                    check_variable = { which = preggers_chance value = 70}
                    NOT = { check_variable = { which = preggers_chance value = 75} }
                }
                modifier = {
                    factor = 75
                    check_variable = { which = preggers_chance value = 75}
                    NOT = { check_variable = { which = preggers_chance value = 80} }
                }
                modifier = {
                    factor = 80
                    check_variable = { which = preggers_chance value = 80}
                    NOT = { check_variable = { which = preggers_chance value = 85} }
                }
                modifier = {
                    factor = 85
                    check_variable = { which = preggers_chance value = 85}
                    NOT = { check_variable = { which = preggers_chance value = 90} }
                }
                modifier = {
                    factor = 90
                    check_variable = { which = preggers_chance value = 90}
                    NOT = { check_variable = { which = preggers_chance value = 95} }
                }
                modifier = {
                    factor = 95
                    check_variable = { which = preggers_chance value = 95}
                }
            }
        }
    }
    # And lastly Remove Virgin trait if it's present
    event_target:new_mom = { remove_virginity_trait = yes }
    event_target:new_dad = { remove_virginity_trait = yes }    
}

 

GMTA!  :smile:

 

One immediate difference in ours is that mine has to take into account my optional rules for multiple-pregnancies, as well as some other optional rules.  Also, mine doesn't automatically remove the virgin trait.  Oops!  (Gotta add that to my current bug list.)  I think we both have written much better pregnancy handlers that our original versions.

 

I have noticed that the CK2 dev team also use different methods of achieving the same thing.  I have seen a lot of their code start with a value of 1 and then modify it, and I am pretty sure I have used that method in a couple of places.

Link to comment
2 hours ago, dewguru said:

I didn't use local_ so I could track them with charinfo during testing. To ensure that changes in someone's fertility between sack dances was working. I was getting some really weird results from my early attempts. My intention is to switch it over prior to release, but I'll likely forget and get distracted.

 

I appreciate your reposting this. I have to admit after going back and re-reading what was written, I didn't process what was said. Probably because I was already processing my idea on how to get around the limitation. This would be much cleaner.

 

Thanks to ngppgn for the original idea, and to you bjc4yw for pointing it out after I overlooked its simplicity.

 

Edit: I will need to flip the greater than sign though, making it { random < preggers_chance } as having greater than would actually punish those with high fertility. For example, high fertility resulting in preggers_chance of 75, and you'd need to have a random higher than it in order to get pregnant would have the opposite effect of what's desired.

@ngppgn tried to explain the same thing to me and I didn't get it either.  Wow.  Looks like I need to clean mine up!  Thanks @bjc4yw for showing us this!

Link to comment
4 hours ago, ngppgn said:

Plus, you should probably use local variables so they aren't uselessly stored in the event receiver after the event chain is done (a local variable is a variable with name starting with "local_"

I didn't know about local_ either.  I just use the whole set value to 0 method.  Always looking to do things a better way.  Thanks again!

Link to comment
5 hours ago, Santr said:

Does DWR seed fantasy races in the game or do I need a sub-mod like Slavery Expanded to get them?

Last time I went though the code, they are only seeded by whatever campaign type you chose.  The old version of Dark World did seed all of them, so I expect the new one eventually will.  I am trying to write NDPA so that I only seed my own versions, but make it so that if you are also using DWR that it properly merges in my versions with @dewguru's originals.  Mostly this is jsut my Night Wolves and his werewolves, but it will also include Kitsune, Neko, Vampires, and the demonoids.  Not sure if I'll tie in to any of the others, but that mostly depends on what @dewguru does with them in the future.  I have to fight the urge to tie into everything.  ;) 

Link to comment

I'll have another release this month. Not certain exactly when, but I can say that it will NOT be save game friendly.

 

I'm also all over the place in what I've done so far, from fixing some decisions that weren't working - yet didn't get reported (at least that I noticed), to adding some events, to tweaking some existing things with improvements.

Link to comment

@dewguru How can I help prevent a big annoyance for you?

 

In addition to people reporting bugs for things that are part of a submod, there is a potentially more frustrating scenario that may start happening more often.  With NDPA, I actually override or disable some of your decisions and events.  This has the potential to cause a person to report a bug with one of your features when that bug is actually being caused by me.  I am open to any suggestions from you for things I can do to help make sure that you aren't wasting time chasing a bug that is in my code.

Link to comment

I spotted a couple shopping-related problems when playing as a merchant republic. First, you can only shop at the Exotic Emporium. The option to shop at the alchemist never appears. I build the alchemy building in both my capital city and in a castle I held in the same county just to be safe. I also built the wizard's tower and never saw a decision to visit it, but I haven't done that for a while so I don't know if it's supposed to be that way now.

 

Second, the books you get from the exotic emporium quickly become very annoying. You can own multiple copies of each one, and they're cheap enough that it's easy for NPCs to buy the full set. Since merchant republics have seniority succession, you end up inheriting the books from everyone who dies and quickly end up with many, many, many copies of each book.

Link to comment
1 hour ago, genericlogin said:

I spotted a couple shopping-related problems when playing as a merchant republic. First, you can only shop at the Exotic Emporium. The option to shop at the alchemist never appears. I build the alchemy building in both my capital city and in a castle I held in the same county just to be safe. I also built the wizard's tower and never saw a decision to visit it, but I haven't done that for a while so I don't know if it's supposed to be that way now.

 

Second, the books you get from the exotic emporium quickly become very annoying. You can own multiple copies of each one, and they're cheap enough that it's easy for NPCs to buy the full set. Since merchant republics have seniority succession, you end up inheriting the books from everyone who dies and quickly end up with many, many, many copies of each book.

I'll take a look at getting something Alchemist related that could be used by a Merchant Republic. I don't recall that one being raised before, but it's likely always been like that.

 

As for the Wizard's Tower, my guess is the capital_scope doesn't work for a Merchant Republic. I may have to adjust things. That could also take care of the Alchemist actually if I change it to the any_realm_province = {  any_province_holding = { } } method that I used for the Emporium.

 

I'll ponder something to do about the books. I'll further reduce how often the ai can shop. Right now it's an annual check. I'll tweak it to be once every three years as an interim adjustment.

Link to comment
5 hours ago, zia said:

@dewguru While buying artifacts form the exotic emporium I found that the lygurgus cup does not have a small image. So it shows as a red X in your inventory.

Cup.jpg

 

48 minutes ago, dewguru said:

I'll take a look at getting something Alchemist related that could be used by a Merchant Republic. I don't recall that one being raised before, but it's likely always been like that.

 

As for the Wizard's Tower, my guess is the capital_scope doesn't work for a Merchant Republic. I may have to adjust things. That could also take care of the Alchemist actually if I change it to the any_realm_province = {  any_province_holding = { } } method that I used for the Emporium.

 

I'll ponder something to do about the books. I'll further reduce how often the ai can shop. Right now it's an annual check. I'll tweak it to be once every three years as an interim adjustment.

Looks like Aladdin's Lamp is the same way. Missing the small picture so it shows as a red X. You have the small image in the gfx folder but you never added the small pictures to the interface file. With out it being in the interface file the game cant find it. 

 

Adding the following you for interface file should fix it (dw_artifacts):

Spoiler

    spriteType = {
        name = "GFX_lycurgus_cup_small"
        texturefile = "gfx\\interface\\artifacts\\cup_lycurgus_small.dds"
    }
    spriteType = {
        name = "GFX_derrynaflan_cup_small"
        texturefile = "gfx\\interface\\artifacts\\cup_derrynaflan_small.dds"
    }
    spriteType = {
        name = "GFX_genie_lamp_small"
        texturefile = "gfx\\interface\\artifacts\\lamp_genie_small.dds"
    }
 

 

Link to comment
4 hours ago, dewguru said:

I'll ponder something to do about the books. I'll further reduce how often the ai can shop. Right now it's an annual check. I'll tweak it to be once every three years as an interim adjustment.

 

Why not set "stacking = no" for the books? That way a character will only be able to have one copy of each, and inherited extras will be automatically destroyed.

Link to comment
52 minutes ago, genericlogin said:

 

Why not set "stacking = no" for the books? That way a character will only be able to have one copy of each, and inherited extras will be automatically destroyed.

Precisely correct.  Seems the simplest option.

The books are a fun addition though.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use