Skip to content

Commit

Permalink
Merged PR 545: Merge 617_building_types to master
Browse files Browse the repository at this point in the history
Related work items: #617
  • Loading branch information
Allen B. Cummings committed Jul 25, 2019
1 parent fe28501 commit 6a91475
Show file tree
Hide file tree
Showing 35 changed files with 382 additions and 83 deletions.
265 changes: 218 additions & 47 deletions dictionaries/domains/buildings.h
Expand Up @@ -6,63 +6,234 @@
#define buildings_h

protected mapping BuildingBlueprints = ([
"stable":([
"type": "war",
"stables": ([
"class": "military floorplan",
"description": "",
"effects": ([
]),
"upgrades": ([
]),
"colors": ([
"default":([
"3-bit": "\x1b[0;31m",
"8-bit": "\x1b[0;38;5;9m",
"24-bit": "\x1b[0;38;2;200;0;0m"
]),
]),
"icon":([
"ascii": "",
"unicode": "",
]),
"experience modifier": 1.1,
"default units": ([
"knight": 5,
"henchman": 1,
"light cavalry": 15,
"heavy cavalry": 5,
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 200,
"structure": 300,
]),
"barracks":([
"type": "war",

"barracks": ([
"class": "military floorplan",
"description": "",
"effects": ([
"experience modifier": 1.1,
"default units": ([
"men-at-arms": 10,
"henchman": 1,
"swordsman": 25,
"axeman": 15,
"spearman": 15,
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 200,
"structure": 300,
]),

"quartermaster": ([
"class": "military floorplan",
"description": "",
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
]),
"upgrades": ([
"effects": ([
"well-equipped":([
"trait": "/lib/instances/unit-traits/well-equipped",
"applies to category": "fighters"
])
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
"weapon smithing": (["type":"skill", "value": 5]),
"armorer": (["type":"skill", "value": 5]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),

"training ground": ([
"class": "military floorplan",
"description": "",
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
"knight": 5,
]),
"colors": ([
"default":([
"3-bit": "\x1b[0;31m",
"8-bit": "\x1b[0;38;5;9m",
"24-bit": "\x1b[0;38;2;200;0;0m"
"effects": ([
"well-trained":([
"trait": "/lib/instances/unit-traits/well-trained",
"applies to category": "fighters"
])
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),

"archery range": ([
"class": "military floorplan",
"description": "",
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
"archer": 50,
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),

"crossbowman's range": ([
"class": "military floorplan",
"description": "",
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
"crossbowman": 50,
]),
"building prerequisites": ([
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),

"phaedra outpost": ([
"class": "military floorplan",
"description": "",
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
"phaedra": 25,
]),
"building prerequisites": ([
"phaedra":(["type":"trait", "value" : ({
"/lib/instances/traits/personas/fighter/phaedra-captain.c",
"/lib/instances/traits/personas/fighter/phaedra-major.c",
"/lib/instances/traits/personas/fighter/phaedra-lieutenant-colonel.c",
"/lib/instances/traits/personas/fighter/phaedra-colonel.c",
"/lib/instances/traits/personas/fighter/phaedra-general.c", })
]),
]),
"icon":([
"ascii": "",
"unicode": "",
]),
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),
"quartermaster":([
"type": "war",

"aegis guard outpost": ([
"class": "military floorplan",
"description": "",
"effects": ([
]),
"upgrades": ([
]),
"colors": ([
"default":([
"3-bit": "\x1b[0;31m",
"8-bit": "\x1b[0;38;5;9m",
"24-bit": "\x1b[0;38;2;200;0;0m"
"experience modifier": 1.1,
"default units": ([
"henchman": 1,
"aegis guard": 10,
]),
"building prerequisites": ([
"phaedra":(["type":"trait", "value": ({
"/lib/instances/traits/personas/fighter/aegis.c", })
]),
]),
"icon":([
"ascii": "",
"unicode": "",
]),
"stonemasonry": (["type":"skill", "value": 5]),
"carpentry": (["type":"skill", "value": 5]),
"wood crafting": (["type":"skill", "value": 5]),
"engineering": (["type":"skill", "value": 5]),
"sewing": (["type":"skill", "value": 2]),
]),
"building materials": ([
"stone": 100,
"wood": 150,
"metal": 15,
"textile": 5,
]),
"added duration": 300,
"structure": 300,
]),

"forge":([
"type": "crafting",
"description": "",
Expand Down
2 changes: 1 addition & 1 deletion environment/features/baseFeature.c
Expand Up @@ -8,4 +8,4 @@ inherit "/lib/environment/environmentalElement.c";
public string Type()
{
return "feature";
}
}
18 changes: 18 additions & 0 deletions instances/traits/personas/fighters/aegis.c
@@ -0,0 +1,18 @@
//*****************************************************************************
// Copyright (c) 2019 - Allen Cummings, RealmsMUD, All rights reserved. See
// the accompanying LICENSE file for details.
//*****************************************************************************
inherit "/lib/modules/traits/baseTrait.c";

/////////////////////////////////////////////////////////////////////////////
public void reset(int arg)
{
if (!arg)
{
addSpecification("type", "persona");
addSpecification("name", "aegis guardsman");
addSpecification("description", "You are a member of the Aegis Guard.");
addSpecification("root", "fighter persona");
"baseTrait"::reset(arg);
}
}
18 changes: 18 additions & 0 deletions instances/traits/personas/fighters/phaedra-captain.c
@@ -0,0 +1,18 @@
//*****************************************************************************
// Copyright (c) 2019 - Allen Cummings, RealmsMUD, All rights reserved. See
// the accompanying LICENSE file for details.
//*****************************************************************************
inherit "/lib/modules/traits/baseTrait.c";

/////////////////////////////////////////////////////////////////////////////
public void reset(int arg)
{
if (!arg)
{
addSpecification("type", "persona");
addSpecification("name", "phaedra captain");
addSpecification("description", "You are a captain in the Phaedra.");
addSpecification("root", "fighter persona");
"baseTrait"::reset(arg);
}
}
18 changes: 18 additions & 0 deletions instances/traits/personas/fighters/phaedra-colonel.c
@@ -0,0 +1,18 @@
//*****************************************************************************
// Copyright (c) 2019 - Allen Cummings, RealmsMUD, All rights reserved. See
// the accompanying LICENSE file for details.
//*****************************************************************************
inherit "/lib/modules/traits/baseTrait.c";

/////////////////////////////////////////////////////////////////////////////
public void reset(int arg)
{
if (!arg)
{
addSpecification("type", "persona");
addSpecification("name", "phaedra colonel");
addSpecification("description", "You are a colonel in the Phaedra.");
addSpecification("root", "fighter persona");
"baseTrait"::reset(arg);
}
}
18 changes: 18 additions & 0 deletions instances/traits/personas/fighters/phaedra-first-lieutenant.c
@@ -0,0 +1,18 @@
//*****************************************************************************
// Copyright (c) 2019 - Allen Cummings, RealmsMUD, All rights reserved. See
// the accompanying LICENSE file for details.
//*****************************************************************************
inherit "/lib/modules/traits/baseTrait.c";

/////////////////////////////////////////////////////////////////////////////
public void reset(int arg)
{
if (!arg)
{
addSpecification("type", "persona");
addSpecification("name", "phaedra first lieutenant");
addSpecification("description", "You are a first lieutenant in the Phaedra.");
addSpecification("root", "fighter persona");
"baseTrait"::reset(arg);
}
}
18 changes: 18 additions & 0 deletions instances/traits/personas/fighters/phaedra-general.c
@@ -0,0 +1,18 @@
//*****************************************************************************
// Copyright (c) 2019 - Allen Cummings, RealmsMUD, All rights reserved. See
// the accompanying LICENSE file for details.
//*****************************************************************************
inherit "/lib/modules/traits/baseTrait.c";

/////////////////////////////////////////////////////////////////////////////
public void reset(int arg)
{
if (!arg)
{
addSpecification("type", "persona");
addSpecification("name", "phaedra general");
addSpecification("description", "You are a general in the Phaedra.");
addSpecification("root", "fighter persona");
"baseTrait"::reset(arg);
}
}

0 comments on commit 6a91475

Please sign in to comment.