Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
change_pirate_trait_modifier
change_skill_modifier
Anyone have any sample code to get these to work correctly? Would like to see this: donating money to a pirate, also increases their skill by 1, or sends them to a school. And no, we don't want to manually send them to school, we want to automate the most terrible part of the game.
For example, this code increases the seamanship by three points for every pirates:
action change_skill_modifier{skill: "seam"; amount: 3;}
rule pick_random_event
{
frequency month;
conditions
{
always_true;
}
actions
{
action create_message_dialog
{
title: "A Random Event has Occured.";
body: "Pick a random event to occur:";
pictureID: OVERLAY_PIC_LITERATE;
option1_label: "Shipwreak of Prisoners";
option1_detail: "Add 2-10 prisoners.";
option1_rule: "AddPrisoners";
option2_label: "Shipwreak of Pirates";
option2_detail: "Add 2-10 pirates.";
option2_rule: "AddPirates";
option3_label: "Add a Skilled Farmer";
option3_detail: "Add a skilled farmer.";
option3_rule: "AddFarmer";
option4_label: "Add a Skilled Wench";
option4_detail: "Add a skilled wench.";
option4_rule: "AddWench";
option5_label: "More...";
option5_detail: "More...";
option5_rule: "pick_random_event_page_2";
option6_label: "None.";
option6_detail: "None, thank you.";
}
}
}
rule pick_random_event_page_2
{
frequency invokation;
conditions
{
always_true;
}
actions
{
action create_message_dialog
{
title: "A Random Event has Occured.";
body: "Pick a random event to occur:";
pictureID: OVERLAY_PIC_LITERATE;
option1_label: "Add a Skilled Miner";
option1_detail: "Add a skilled miner.";
option1_rule: "AddMiner";
option2_label: "Add a Skilled Server";
option2_detail: "Add a skilled server.";
option2_rule: "AddServer";
option3_label: "Add a Skilled Lumberjack";
option3_detail: "Add a skilled lumberjack.";
option3_rule: "AddLumberjack";
option4_label: "Add a Skilled Blacksmith";
option4_detail: "Add a skilled blacksmith.";
option4_rule: "AddBlacksmith";
option5_label: "More...";
option5_detail: "More...";
option5_rule: "pick_random_event_page_3";
option6_label: "None.";
option6_detail: "None, thank you.";
}
}
}
rule pick_random_event_page_3
{
frequency invokation;
conditions
{
always_true;
}
actions
{
action create_message_dialog
{
title: "A Random Event has Occured.";
body: "Pick a random event to occur:";
pictureID: OVERLAY_PIC_LITERATE;
option1_label: "Add a Skilled distiller";
option1_detail: "Add a skilled distiller.";
option1_rule: "AddDistiller";
option2_label: "Add a Skilled tobacconist";
option2_detail: "Add a skilled tobacconist.";
option2_rule: "AddTobacconist";
option3_label: "Add a Skilled engineer";
option3_detail: "Add a skilled engineer.";
option3_rule: "AddEngineer";
option4_label: "Add a Skilled gunsmith";
option4_detail: "Add a skilled gunsmith.";
option4_rule: "AddGunsmith";
option5_label: "Add a Skilled Priest";
option5_detail: "Add a skilled priest.";
option5_rule: "AddPriest";
option6_label: "None.";
option6_detail: "None, thank you.";
}
}
}
rule AddDistiller
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "sdis"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddTobacconist
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "stob"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddGunsmith
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "sgun"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddEngineer
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "seng"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddPriest
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "spri"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddBlacksmith
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "ssmi"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddServer
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "sser"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddLumberjack
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 2); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "slum"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddPrisoners
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(2, 10); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_unskilled { amount: num_prisoners; species: "ugen"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddPirates
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_pirates"; value: random_number(2, 10); }
action assert_string { name: "nation_name"; value: random_nationality; }
action add_pirates { amount: num_pirates; species: "crew"; nationality: nation_name; }
action retract { name: "num_pirates"; }
action retract { name: "nation_name"; }
}
}
rule AddFarmer
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 3); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "sfar"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddWench
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 3); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "spro"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule AddMiner
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action assert_int { name: "num_prisoners"; value: random_number(1, 3); }
action assert_string { name: "nation_name"; value: random_nationality; }
action create_message_dialog
{
title: "/text/dial/scen/pris/titl";
body: pattern_string("/text/dial/scen/pris/mess", nation_name, num_prisoners);
artType: "illu";
pictureID: "pris";
}
action add_skilled { amount: num_prisoners; species: "smin"; nationality: nation_name; }
action retract { name: "num_prisoners"; }
action retract { name: "nation_name"; }
}
}
rule pick_pirate_skill_to_increase
{
frequency month;
//inactive;
conditions
{
always_true;
}
actions
{
action create_message_dialog
{
title: "Pick A Skill to Increase";
body: "Choose a skill to increase:";
pictureID: OVERLAY_PIC_LITERATE;
option1_label: "Swordsmanship";
option1_detail: "Increases swordmanship for each pirate.";
option1_rule: "change_skill_modifier_swordsmanship";
option2_label: "Marksmanship";
option2_detail: "Increases Marksmanship for each pirate.";
option2_rule: "change_skill_modifier_marksmanship";
option3_label: "Gunnery";
option3_detail: "Increases gunnery for each pirate.";
option3_rule: "change_skill_modifier_gunnery";
option4_label: "Navigation";
option4_detail: "Increases Navigation for each pirate.";
option4_rule: "change_skill_modifier_navigation";
option5_label: "Seamanship";
option5_detail: "Increases Seamanship, courage and leadership for each pirate.";
//, notoriety and loyality
option5_rule: "change_skill_modifier_seamanship";
option6_label: "None.";
option6_detail: "None, thank you.";
}
}
}
rule change_skill_modifier_seamanship
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action change_pirate_trait_modifier { trait: TRAIT_COURAGE; amount: 1; }
action change_pirate_trait_modifier { trait: TRAIT_LEADERSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: TRAIT_NOTORIETY; amount: 1; }
//action change_pirate_trait_modifier { trait: TRAIT_LOYALTY; amount: 1; }
action change_skill_modifier { skill: SKILL_SEAMANSHIP; amount: 1; }
}
}
rule change_skill_modifier_gunnery
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action change_skill_modifier { skill: SKILL_GUNNERY; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_MARKSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_GUNNERY; amount: 1; }
}
}
rule change_skill_modifier_marksmanship
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action change_skill_modifier { skill: SKILL_MARKSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_MARKSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_MARKSMANSHIP; amount: 1; }
}
}
rule change_skill_modifier_swordsmanship
{ frequency invokation;
conditions
{
always_true;
}
actions
{
action change_skill_modifier { skill: SKILL_SWORDSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_MARKSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_SWORDSMANSHIP; amount: 1; }
}
}
rule change_skill_modifier_navigation
{ frequency invokation;
conditions
{
always_true;
}
actions
{
//action change_pirate_trait_modifier { trait: SKILL_MARKSMANSHIP; amount: 1; }
//action change_pirate_trait_modifier { trait: SKILL_NAVIGATION; amount: 1; }
action change_skill_modifier { skill: SKILL_NAVIGATION; amount: 1; }
}
}
You can add random_nationality directly on nationality parameter without asserting a variable.