Skip to content

Commit

Permalink
Seduction changes
Browse files Browse the repository at this point in the history
  • Loading branch information
zijistark committed Dec 23, 2014
1 parent 0c7aba4 commit 872d405
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 52 deletions.
19 changes: 14 additions & 5 deletions EMF/EMF_changelog.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
EMF 3.02 [BETA]
Seduction nerfs:
AI less likely to pick the seduction focus if craven
If AI has at least one lover, it must be lustful to pick the seduction focus
If AI has at least two lovers, it will never pick the seduction focus (or cancel it as soon as cancellation is allowed)

Seduction:
Optimization of the seduction focus's CPU overhead (reduced the amount of conditions that need to be constantly evaluated by any given AI considering other AIs for seduction)
If the target is chaste, you cannot seduce them if they're married or already have a lover
AI will not seduce zealous, non-pagan married women-- thanks to cybrxkhan's STOP (Stop The Orgy, Please!) mini-mod for this idea in particular (the rest of STOP's rules are now covered by EMF too, though with some differences)
AI is now interested in targets that have the *cough* 'Well-Endowed' (fertile) trait from VIET (worth half as much as Attractive targets); if target has both traits, the weighting stacks additively
AI won't pick the seduction _focus_ if craven
If AI already has at least one lover, it must be lustful to pick the seduction _focus_
If AI has at least 3 lovers, it will never pick the seduction _focus_ (and cancel it once cancellation is allowed, if already picked)
AI base rate of seduction reduced by approx. 3-fold
Unless AI is lustful, they will not seduce anyone if they already have a lover
AI will never seduce if they become infirm after focus selection
AI will not seduce targets that are celibate, eunuchs, or infirm
AI will not seduce if the target has a negative VIET congenital trait that makes them unattractive (e.g., wrymouth); vanilla already does this for its relevant negative congenital traits
AI will be 1/3 as interested in seducing any given target for each additional lover that they already have (multiplicative stacking)
Focus can be changed once every 4 years rather than 5 now
Various minor defines tweaks
FIX: Rebel leaders should now be able to raise levies of fellow revolters
Expand Down
18 changes: 14 additions & 4 deletions EMF/common/objectives/00_focuses.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,20 @@ focus_seduction = {
is_playable = yes
is_adult = yes
NOT = { trait = incapable }
or = {
ai = no
not = {
and = {
is_female = yes
age = 40
}
num_of_lovers = 5
trait = infirm
trait = inbred
trait = imbecile
trait = craven
}
}
}

allow = {
Expand Down Expand Up @@ -195,10 +209,6 @@ focus_seduction = {
trait = lustful
num_of_lovers = 1
}
modifier = {
factor = 0.2
trait = craven
}
# EMF modifiers (end)

modifier = {
Expand Down
131 changes: 88 additions & 43 deletions EMF/decisions/way_of_life_decisions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,32 +53,45 @@ targetted_decisions = {
NOT = { has_any_opinion_modifier = opinion_seducing }
OR = {
ai = no
AND = {
OR = {
and = {
# AI qualifications
or = {
is_female = no
AND = {
and = {
trait = homosexual
OR = {
or = {
is_married = yes
is_consort = yes
}
}
trait = lustful
or = {
trait = lustful
has_lover = no
}
any_spouse = {
trait = homosexual
}
any_consort = {
trait = homosexual
}
}
is_ill = no
NOT = { trait = eunuch }
NOT = { trait = infirm }
NOT = { trait = inbred }
NOT = { trait = imbecile }
NOT = { trait = chaste }
NOT = { trait = shy }
NOT = { num_of_lovers = 5 }
not = {
is_ill = yes
is_pregnant = yes
and = {
is_female = yes
age = 40
}
num_of_lovers = 5
}
not = {
trait = celibate
trait = eunuch
trait = infirm
trait = chaste
trait = shy
trait = craven
}
}
}
}
Expand All @@ -102,7 +115,6 @@ targetted_decisions = {
NOT = { mother_even_if_dead = { is_child_of = ROOT } }
NOT = { father_even_if_dead = { is_child_of = ROOT } }
}

OR = {
AND = {
FROM = { NOT = { trait = homosexual } }
Expand All @@ -115,9 +127,42 @@ targetted_decisions = {
same_sex = FROM
}
}
or = {
FROM = { ai = no }
not = {
trait = infirm
trait = inbred
trait = imbecile
trait = ugly
trait = dwarf
trait = clubfooted
trait = harelip
trait = hunchback
trait = wrymouth
num_of_lovers = 3
is_ill = yes
is_pregnant = yes
and = {
is_female = yes
age = 40
}
and = {
trait = zealous
is_female = yes
not = { religion_group = pagan_group }
}
}
}
}

allow = {
or = {
not = { trait = chaste }
and = {
is_married = no
has_lover = no
}
}
NOT = { trait = celibate }
NOT = { FROM = { trait = celibate } }
religion_group = FROM
Expand Down Expand Up @@ -190,16 +235,7 @@ targetted_decisions = {
ai_will_do = {
factor = 1 # 1 = 100% chance every month (for each allowed target!)
modifier = {
factor = 0.05
}
modifier = {
factor = 0
is_female = yes
age = 40
}
modifier = {
factor = 0
num_of_lovers = 3
factor = 0.015
}

modifier = {
Expand All @@ -214,6 +250,18 @@ targetted_decisions = {
}
}

modifier = {
factor = 0.333
FROM = { num_of_lovers = 2 }
}
modifier = {
factor = 0.333
FROM = { num_of_lovers = 3 }
}
modifier = {
factor = 0.333
FROM = { num_of_lovers = 4 }
}
modifier = {
factor = 0.25
num_of_lovers = 1
Expand All @@ -222,21 +270,7 @@ targetted_decisions = {
factor = 0.25
num_of_lovers = 2
}
modifier = {
factor = 0
OR = {
trait = ugly
trait = dwarf
trait = inbred
trait = imbecile
trait = clubfooted
trait = harelip
trait = hunchback
trait = eunuch
is_ill = yes
is_pregnant = yes
}
}

modifier = {
factor = 0.25
is_close_relative = FROM
Expand All @@ -248,10 +282,6 @@ targetted_decisions = {
}
}

modifier = {
factor = 2
trait = gregarious
}
modifier = {
factor = 5 # A more interesting quarry
OR = {
Expand All @@ -266,9 +296,24 @@ targetted_decisions = {
}
}

modifier = {
factor = 2
trait = gregarious
}
modifier = {
factor = 15
trait = fair
trait = fertile
}
modifier = {
factor = 10
trait = fair
not = { trait = fertile }
}
modifier = {
factor = 5
trait = fertile
not = { trait = fair }
}
}
}
Expand Down

0 comments on commit 872d405

Please sign in to comment.